/* =========================================================
   DCBC static site additions
   (icons, video, marquee, forms, small fixes)
   ========================================================= */

/* ---------- Page width guard ---------- */
html, body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }

/* ---------- Icons (replace the old theme icon font) ---------- */
[class*=gamico-icon-]:before,
.ekit-wid-con .icon::before,
.elementor-widget .icon::before {
  content: "" !important;
  font-family: inherit !important;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
  vertical-align: -0.125em;
}
.gamico-icon-arrow-top-right { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='square'%3E%3Cpath d='M6 18L18 6M8 6h10v10'/%3E%3C/svg%3E"); }
.gamico-icon-bars { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E"); }
.gamico-icon-times { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E"); }
.gamico-icon-quote { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21v-7.5C3 8 5.6 4.6 10.2 3l.8 1.7C8.2 6 6.9 8 6.8 11H10v10H3zm11 0v-7.5C14 8 16.6 4.6 21.2 3l.8 1.7c-2.8 1.3-4.1 3.3-4.2 6.3H21v10h-7z'/%3E%3C/svg%3E"); }
.gamico-icon-office { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='black' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M10 60V14l22-10v56M32 22h20v38M4 60h56M16 20h10M16 28h10M16 36h10M16 44h10M38 30h8M38 38h8M38 46h8M17 60v-8h8v8'/%3E%3C/svg%3E"); }
.icon-down-arrow1 { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.icon-up-arrow { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E"); }

/* ---------- Entrance animations ---------- */
.elementor-invisible { visibility: hidden; }
@media (prefers-reduced-motion: reduce) {
  .elementor-invisible { visibility: visible !important; }
  .animated { animation: none !important; }
  .dcbc-marquee-track { animation: none !important; }
}

/* ---------- Hero background video ---------- */
.dcbc-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

/* ---------- Social links marquee (footer band) ---------- */
.dcbc-marquee { overflow: hidden; width: 100%; position: relative; z-index: 1; }
.dcbc-marquee-track {
  display: flex;
  align-items: center;
  gap: 120px;
  width: max-content;
  animation: dcbc-marquee 22s linear infinite;
}
.dcbc-marquee:hover .dcbc-marquee-track { animation-play-state: paused; }
.dcbc-marquee-item { flex: 0 0 auto; }
.dcbc-marquee-item a { display: block; }
@keyframes dcbc-marquee { to { transform: translateX(-50%); } }
@media (max-width: 767px) { .dcbc-marquee-track { gap: 60px; } }

/* ---------- WhatsApp floating button ---------- */
a.dcbc-wa { display: block; text-decoration: none; }

/* ---------- Back to top ---------- */
.scrollup { cursor: pointer; }

/* ---------- Forms ---------- */
.dcbc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dcbc-form-msg { margin-top: 16px; font-size: 14px; line-height: 1.5; }
.dcbc-form-msg.ok { color: #0a8f5a; }
.dcbc-form-msg.err { color: #d63638; }
.dcbc-form.is-sending input[type=submit] { opacity: .6; pointer-events: none; }

/* ---------- At DCBC service videos ---------- */
.dcbc-lazy-video { background: #000; }

/* ---------- FAQ accordion (collapse) ---------- */
.elementskit-accordion .collapse:not(.show) { display: none; }
.elementskit-accordion .collapse.show { display: block; }

/* ---------- Hero: keep headline readable over bright fire frames ---------- */
.elementor-element-f1f7d5a > .e-con-inner > .elementor-background-video-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.3) 60%, rgba(0,0,0,.15) 100%);
  pointer-events: none;
}
