/**
 * Cookie Consent – Dr. Gath Brand Override
 * Overrides PrivacyPolicies.com default styles to match gold/dark luxury design.
 */

/* ── Main banner dialog ───────────────────────────────────────────────── */
#cc_dialog.cc_dialog {
  background: linear-gradient(135deg, #1f1c1a 0%, #2a2623 100%) !important;
  border: none !important;
  box-shadow: 0 -4px 30px rgba(0, 0, 0, .35) !important;
  font-family: 'Albert Sans', system-ui, -apple-system, sans-serif !important;
  color: #e8e4de !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Position as bottom bar (not top) for less intrusive feel */
#cc_dialog.cc_dialog {
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  position: fixed !important;
  z-index: 2147483640 !important;
}

/* Gold accent line at top of banner */
#cc_dialog .cc_dialog_inner {
  border-top: 2px solid #d4af71 !important;
  padding: 20px 24px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 16px !important;
}

@media (min-width: 768px) {
  #cc_dialog .cc_dialog_inner {
    padding: 20px 40px !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
  }
}

/* ── Headline ─────────────────────────────────────────────────────────── */
#cc_dialog .cc_dialog_headline {
  color: #d4af71 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  line-height: 1.3 !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  #cc_dialog .cc_dialog_headline {
    width: auto !important;
    white-space: nowrap !important;
    margin: 0 !important;
    font-size: 1.05rem !important;
  }
}

/* ── Body text ────────────────────────────────────────────────────────── */
#cc_dialog .cc_dialog_text_inner {
  margin: 0 !important;
  padding: 0 !important;
}

#cc_dialog .cc_dialog_text {
  color: #a8a29e !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
}

#cc_dialog .cc_dialog_text a {
  color: #d4af71 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

#cc_dialog .cc_dialog_text a:hover {
  color: #e7d5b2 !important;
}

/* ── Buttons container ────────────────────────────────────────────────── */
#cc_dialog .cc_b_inner {
  display: flex !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  width: 100% !important;
}

@media (min-width: 768px) {
  #cc_dialog .cc_b_inner {
    width: auto !important;
    margin-left: auto !important;
  }
}

/* ── Accept button (primary gold) ─────────────────────────────────────── */
#cc_dialog .cc_b_ok {
  background: linear-gradient(135deg, #d4af71 0%, #c49b5a 100%) !important;
  color: #1f1c1a !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 10px 22px !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  transition: filter 0.15s, transform 0.1s !important;
  box-shadow: 0 2px 8px rgba(212, 175, 113, 0.25) !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

#cc_dialog .cc_b_ok:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(212, 175, 113, 0.35) !important;
}

#cc_dialog .cc_b_ok:active {
  transform: scale(0.97) !important;
}

#cc_dialog .cc_b_ok:focus-visible {
  outline: 2px solid #d4af71 !important;
  outline-offset: 3px !important;
}

/* ── Settings / reject button (outline) ───────────────────────────────── */
#cc_dialog .cc_b_cp {
  background: transparent !important;
  color: #e8e4de !important;
  border: 1.5px solid rgba(212, 175, 113, 0.4) !important;
  border-radius: 9999px !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  white-space: nowrap !important;
  transition: border-color 0.15s, color 0.15s, background 0.15s !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}

#cc_dialog .cc_b_cp:hover {
  border-color: #d4af71 !important;
  color: #d4af71 !important;
  background: rgba(212, 175, 113, 0.08) !important;
}

#cc_dialog .cc_b_cp:focus-visible {
  outline: 2px solid #d4af71 !important;
  outline-offset: 3px !important;
}

/* ── Preferences overlay ─────────────────────────────────────────────── */
#cookie-consent-preferences-centre {
  background: rgba(0, 0, 0, 0.6) !important;
}

/* ── Preferences panel container ─────────────────────────────────────── */
#cookie-consent-preferences-centre .cc_cp_container {
  background: #2a2623 !important;
  border: 1px solid rgba(212, 175, 113, 0.15) !important;
  border-radius: 16px !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .3) !important;
  color: #e8e4de !important;
}

/* ── Preferences header ──────────────────────────────────────────────── */
#cookie-consent-preferences-centre .cc_cp_head {
  background: linear-gradient(135deg, #1f1c1a 0%, #2a2623 100%) !important;
  border-bottom: 1px solid rgba(212, 175, 113, 0.2) !important;
  border-radius: 16px 16px 0 0 !important;
  color: #d4af71 !important;
  font-weight: 700 !important;
}

#cookie-consent-preferences-centre .cc_cp_head_title_site_title {
  color: #a8a29e !important;
  font-size: 0.85rem !important;
}

#cookie-consent-preferences-centre .cc_cp_head_title_pcenter_title {
  color: #d4af71 !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
}

/* Language selector dropdown */
#cookie-consent-preferences-centre .cc_cp_head_lang_selector select {
  background: #1f1c1a !important;
  color: #e8e4de !important;
  border: 1px solid rgba(212, 175, 113, 0.3) !important;
  border-radius: 8px !important;
  padding: 4px 8px !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
}

/* ── Content area (tabs + body) ──────────────────────────────────────── */
#cookie-consent-preferences-centre .cc_cp_content {
  background: #2a2623 !important;
}

/* Tab menu items (left sidebar) */
#cookie-consent-preferences-centre .cc_cp_m_menu {
  background: #251f1d !important;
  border-right: 1px solid rgba(212, 175, 113, 0.1) !important;
}

#cookie-consent-preferences-centre .cc-cp-body-tabs-item {
  border-bottom: 1px solid rgba(212, 175, 113, 0.08) !important;
}

#cookie-consent-preferences-centre .cc-cp-body-tabs-item-link {
  color: #a8a29e !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  transition: color 0.15s, background 0.15s !important;
}

#cookie-consent-preferences-centre .cc-cp-body-tabs-item-link:hover,
#cookie-consent-preferences-centre .cc-cp-body-tabs-item.cc_active .cc-cp-body-tabs-item-link,
#cookie-consent-preferences-centre .cc-cp-body-tabs-item-link[aria-selected="true"] {
  color: #d4af71 !important;
  background: rgba(212, 175, 113, 0.08) !important;
}

/* Content entry (right panel) */
#cookie-consent-preferences-centre .cc_cp_m_content {
  background: #2a2623 !important;
  color: #e8e4de !important;
}

#cookie-consent-preferences-centre .cc_cp_m_content_entry {
  color: #e8e4de !important;
}

#cookie-consent-preferences-centre .cc_cp_m_content_entry_title {
  color: #e8e4de !important;
  font-weight: 600 !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
}

#cookie-consent-preferences-centre .cc_cp_m_content p,
#cookie-consent-preferences-centre .cc_cp_m_content span {
  color: #a8a29e !important;
}

/* Checkbox / toggle switches */
#cookie-consent-preferences-centre .checkbox_cookie_consent {
  accent-color: #d4af71 !important;
}

#cookie-consent-preferences-centre .checkbox_cookie_consent:checked {
  background-color: #d4af71 !important;
  border-color: #d4af71 !important;
}

#cookie-consent-preferences-centre .div_checkbox_cookie_consent label {
  color: #e8e4de !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
}

/* Style the toggle switch created by the library */
#cookie-consent-preferences-centre .cc_css_reboot input[type="checkbox"] {
  accent-color: #d4af71 !important;
}

#cookie-consent-preferences-centre .cc_css_reboot input[type="checkbox"]:checked {
  background-color: #d4af71 !important;
  border-color: #c49b5a !important;
}

/* ── Footer (powered-by + save button) ───────────────────────────────── */
#cookie-consent-preferences-centre .cc_cp_footer {
  background: #1f1c1a !important;
  border-top: 1px solid rgba(212, 175, 113, 0.15) !important;
  border-radius: 0 0 16px 16px !important;
}

#cookie-consent-preferences-centre .cc_cp_f_powered_by {
  color: #6b6560 !important;
  font-size: 0.75rem !important;
}

#cookie-consent-preferences-centre .cc_cp_f_powered_by a {
  color: #a8a29e !important;
}

#cookie-consent-preferences-centre .cc_cp_f_save button {
  background: linear-gradient(135deg, #d4af71 0%, #c49b5a 100%) !important;
  color: #1f1c1a !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  padding: 10px 28px !important;
  cursor: pointer !important;
  transition: filter 0.15s, transform 0.1s !important;
  box-shadow: 0 2px 8px rgba(212, 175, 113, 0.25) !important;
}

#cookie-consent-preferences-centre .cc_cp_f_save button:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-1px) !important;
}

/* ── All links inside preferences panel ──────────────────────────────── */
#cookie-consent-preferences-centre a {
  color: #d4af71 !important;
}

#cookie-consent-preferences-centre a:hover {
  color: #e7d5b2 !important;
}

/* ── Mobile refinements ───────────────────────────────────────────────── */
@media (max-width: 480px) {
  #cc_dialog .cc_dialog_inner {
    padding: 16px !important;
    gap: 12px !important;
  }

  #cc_dialog .cc_dialog_headline {
    font-size: 0.95rem !important;
  }

  #cc_dialog .cc_dialog_text {
    font-size: 0.78rem !important;
  }

  #cc_dialog .cc_b_ok,
  #cc_dialog .cc_b_cp {
    padding: 9px 16px !important;
    font-size: 0.8rem !important;
    flex: 1 !important;
    text-align: center !important;
  }
}

/* ── Ensure banner doesn't overlap BFSG accessibility button ──────────── */
#acc-btn {
  transition: bottom 0.3s !important;
}
