/* ── Premium footer v4.0 ── */
.site-footer {
  background: #02050b;
  color: rgba(255,255,255,.62);
  padding: 52px clamp(20px,5vw,74px) 24px;
}
.footer-inner {
  width: min(1160px,100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr .8fr;
  gap: 36px;
}
.footer-col--brand { }
.footer-brand-link {
  display: flex; gap: 14px; align-items: center; text-decoration: none;
  color: #fff; margin-bottom: 14px;
}
.footer-brand-link img { width: 48px; height: 48px; border-radius: 50%; }
.footer-brand-link strong { display: block; font-weight: 700; font-size: 15px; }
.footer-brand-link small  { display: block; font-size: 11px; color: var(--gold,#f0c46c); letter-spacing:.1em; text-transform:uppercase; margin-top:2px; }
.footer-tagline { font-size: 13px; line-height: 1.65; color: rgba(255,255,255,.5); margin-bottom: 18px; }

.footer-social { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-social-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 99px; font-size: 12px; font-weight: 600;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.80); text-decoration: none; transition: .18s ease;
}
.footer-social-btn:hover { background: rgba(255,255,255,.12); color: #fff; }
.footer-social-btn--wa { background: rgba(37,211,102,.12); border-color: rgba(37,211,102,.25); color: #25d366; }
.footer-social-btn--wa:hover { background: rgba(37,211,102,.18); }

.footer-title { color: var(--gold,#f0c46c); letter-spacing:.15em; text-transform:uppercase; font-size:11px; font-weight:700; margin-bottom:14px; }
.footer-links { display: flex; flex-direction: column; gap: 9px; }
.footer-links a { font-size: 13px; color: rgba(255,255,255,.62); transition: color .15s; }
.footer-links a:hover { color: #fff; }
.footer-use { margin-top: 16px; }
.footer-use p { font-size: 11.5px; line-height: 1.65; color: rgba(255,255,255,.38); }

.footer-bottom {
  width: min(1160px,100%); margin: 32px auto 0;
  padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08);
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 12px; color: rgba(255,255,255,.38);
}
.footer-bottom .credit strong { color: var(--gold,#f0c46c); }

@media (max-width:1040px) {
  .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width:640px) {
  .footer-inner { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; gap: 6px; }
}


/* ── v3.2.1 expanded footer + menu fixes ───────────────────── */
.footer-inner--expanded {
  grid-template-columns: 1.45fr .78fr .82fr .9fr .8fr 1.08fr;
  align-items: start;
}
.footer-col--contact { grid-column: 1 / 3; margin-top: -14px; }
.footer-social--icons a {
  width: 34px; height: 34px; border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; text-decoration: none;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.78); font-weight: 800;
}
.footer-news-form { display: grid; gap: 10px; margin-top: 12px; }
.footer-news-form input {
  width: 100%; min-height: 44px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.035);
  color: #fff; padding: 0 14px; font: inherit; outline: none;
}
.footer-news-form input:focus { border-color: rgba(240,196,108,.45); }
.footer-news-form button {
  min-height: 44px; border: 0; border-radius: 14px;
  background: linear-gradient(135deg,var(--gold,#f0c46c),#d79b35);
  color: #101624; font-weight: 900; cursor: pointer;
}
@media (max-width:1180px) { .footer-inner--expanded { grid-template-columns: 1.2fr 1fr 1fr; } .footer-col--contact { grid-column: auto; margin-top: 0; } }
@media (max-width:760px) { .footer-inner--expanded { grid-template-columns: 1fr; } }

/* =========================================================
   DAV FOOTER — INFORMATION COLUMN REPAIR
   Fixes wrapped/misaligned Information links
   ========================================================= */

.dav-footer,
.dav-footer * {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.dav-footer__grid {
  align-items: flex-start !important;
}

.dav-footer__col,
.dav-footer__info {
  min-width: 150px !important;
}

.dav-footer__col h4,
.dav-footer__info h4 {
  display: block !important;
  margin: 0 0 14px !important;
  color: #f2b33d !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.dav-footer__col a,
.dav-footer__info a {
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: rgba(255,255,255,0.68) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.dav-footer__col a:hover,
.dav-footer__info a:hover {
  color: #f2b33d !important;
}

/* Desktop footer spacing */
@media (min-width: 900px) {
  .dav-footer__grid {
    grid-template-columns:
      minmax(230px, 1.25fr)
      minmax(120px, .7fr)
      minmax(150px, .8fr)
      minmax(150px, .8fr)
      minmax(140px, .75fr)
      minmax(200px, 1fr) !important;
    column-gap: clamp(34px, 4vw, 70px) !important;
  }

  .dav-footer__info {
    min-width: 170px !important;
  }
}

/* Mobile footer: allow neat wrapping only on small screens */
@media (max-width: 700px) {
  .dav-footer__col a,
  .dav-footer__info a {
    width: auto !important;
    white-space: normal !important;
  }

  .dav-footer__grid {
    gap: 28px !important;
  }
}

/* =========================================================
   DAV SOCIAL / STREAMING DOCK — HARD SIZE FIX
   Prevents huge icons when logged out or cached
   ========================================================= */

.dav-social-dock,
.dav-social-dock * {
  box-sizing: border-box !important;
}

.dav-social-dock {
  position: fixed !important;
  right: 18px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 9996 !important;

  width: 48px !important;
  max-width: 48px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 9px !important;

  pointer-events: auto !important;
}

.admin-bar .dav-social-dock {
  top: calc(50% + 16px) !important;
}

.dav-social-dock__links {
  width: 48px !important;
  max-width: 48px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 9px !important;

  overflow: visible !important;
}

.dav-social-link,
.dav-social-dock-toggle {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;

  padding: 0 !important;
  margin: 0 !important;

  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;

  background:
    radial-gradient(circle at 35% 22%, rgba(255,255,255,.18), transparent 36%),
    linear-gradient(145deg, rgba(13,18,32,.96), rgba(4,7,16,.98)) !important;

  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.38),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;

  overflow: hidden !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.dav-social-link img,
.dav-social-link svg,
.dav-social-dock img,
.dav-social-dock svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;

  display: block !important;
  object-fit: contain !important;
  flex: none !important;
}

.dav-social-link span {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1 !important;
}

.dav-social-dock-toggle {
  background: linear-gradient(135deg, #ffe9a8, #f2b33d) !important;
  color: #07101f !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

/* Collapsed state: only show the + button */
.dav-social-dock.is-collapsed .dav-social-dock__links {
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Hidden when scrolling down */
.dav-social-dock.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(24px, -50%) scale(.96) !important;
}

/* Mobile: keep away from player + WhatsApp */
@media (max-width: 768px) {
  .dav-social-dock {
    right: 12px !important;
    top: 42% !important;
    width: 44px !important;
    max-width: 44px !important;
  }

  .dav-social-dock__links {
    width: 44px !important;
    max-width: 44px !important;
    gap: 8px !important;
  }

  .dav-social-link,
  .dav-social-dock-toggle {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
  }

  .dav-social-link img,
  .dav-social-link svg,
  .dav-social-dock img,
  .dav-social-dock svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
  }
}

/* Hide dock on checkout/account pages */
body.woocommerce-checkout .dav-social-dock,
body.woocommerce-cart .dav-social-dock,
body.woocommerce-account .dav-social-dock,
body.pmpro-checkout .dav-social-dock,
body.pmpro-account .dav-social-dock {
  display: none !important;
}