/*
Theme Name:   Kadence Child — VoiceDoctor.net
Theme URI:    https://voicedoctor.net
Description:  VoiceDoctor.net child theme. Overrides Kadence footer with the full custom footer design.
Author:       James P. Thomas, MD
Author URI:   https://voicedoctor.net
Template:     kadence
Version:      1.0.0
Text Domain:  kadence-child
*/

/* ════════════════════════════════════════════════════════════
   VOICEDOCTOR HEADER / NAV
   These rules mirror what was in WordPress Additional CSS so
   they are version-controlled here and survive theme changes.
════════════════════════════════════════════════════════════ */

#masthead,
.site-header,
.kadence-sticky-header,
.header-row-wrap {
  background-color: #0C0D0E !important;
  border-bottom: 1px solid rgba(184,137,42,0.2) !important;
}

.site-header .primary-menu-container a,
.site-header .kadence-nav > li > a {
  color: rgba(255,255,255,0.60) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}

.site-header .primary-menu-container a:hover,
.site-header .kadence-nav > li > a:hover {
  color: rgba(255,255,255,0.95) !important;
}

.site-header .primary-menu-container .current-menu-item > a,
.site-header .kadence-nav > li.current-menu-item > a {
  color: #D4007A !important;
  border-bottom: 2px solid #D4007A !important;
}

.site-header .site-title a,
.site-header .site-branding .site-title {
  font-family: 'Cormorant Garant', Georgia, serif !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}

/* ════════════════════════════════════════════════════════════
   VOICEDOCTOR FOOTER
   Background: #06070A  |  Gold: #B8892A  |  Pink: #D4007A
   Fonts: Cormorant Garant (display), Lora (body), DM Mono (mono)
════════════════════════════════════════════════════════════ */

/* Remove any Kadence default footer padding/margin */
.site-footer,
#colophon {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

/* ── FOOTER SHELL ── */
.vd-footer {
  background: #06070A;
  padding: 64px 56px 48px;
  border-top: 1px solid rgba(184,137,42,0.35);
  font-family: 'DM Mono', monospace;
  -webkit-font-smoothing: antialiased;
}

/* ── TOP 3-COLUMN GRID ── */
.vd-footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1.4fr;
  gap: 56px;
  align-items: start;
  padding-bottom: 48px;
}

/* ── BRAND COLUMN ── */
.vd-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vd-footer-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.vd-footer-logo-wave {
  width: 28px;
  height: 18px;
  flex-shrink: 0;
}

.vd-footer-wordmark {
  font-family: 'Cormorant Garant', Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.01em;
  line-height: 1;
}

.vd-footer-wordmark .vd-accent {
  color: #B8892A;
}

.vd-footer-tagline {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.50);
  padding-left: 38px;
}

.vd-footer-location {
  padding-left: 38px;
  margin-top: 6px;
}

.vd-footer-location p {
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.60);
  line-height: 2;
  margin: 0;
}

/* ── NAV COLUMN ── */
.vd-footer-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.vd-footer-nav-label {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #B8892A;
  margin-bottom: 10px;
}

.vd-footer-nav a {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  line-height: 2.4;
  transition: color 0.2s ease;
  border: none;
  box-shadow: none;
}

.vd-footer-nav a:hover {
  color: rgba(255,255,255,0.96);
  text-decoration: none;
  border: none;
}

.vd-footer-nav a::before {
  content: '—';
  margin-right: 8px;
  color: rgba(184,137,42,0.65);
  font-size: 9px;
}

/* ── CONTACT COLUMN ── */
.vd-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.vd-footer-contact-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vd-footer-contact-label {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #B8892A;
  margin-bottom: 4px;
}

.vd-footer-contact-text {
  font-family: 'Lora', Georgia, serif;
  font-size: 13px;
  font-style: italic;
  color: rgba(255,255,255,0.72);
  line-height: 1.7;
  margin: 0;
}

.vd-footer-email-link {
  display: inline-block;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  color: #D4007A;
  text-decoration: none;
  border-bottom: 1px solid rgba(212,0,122,0.4);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}

.vd-footer-email-link:hover {
  color: #e8008c;
  border-color: #D4007A;
  text-decoration: none;
}

.vd-footer-email-link[data-protected] {
  color: rgba(255,255,255,0.20);
  border-color: transparent;
  cursor: default;
  pointer-events: none;
}

/* ── BOOK BLOCK ── */
.vd-footer-book {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid rgba(184,137,42,0.25);
  padding-top: 20px;
}

.vd-footer-book-title {
  font-family: 'Cormorant Garant', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 14px;
  color: rgba(255,255,255,0.80);
  line-height: 1.4;
  margin: 0;
}

.vd-footer-book-sub {
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.52);
  margin: 0;
}

.vd-footer-book-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #B8892A;
  text-decoration: none;
  margin-top: 4px;
  transition: gap 0.2s;
  border: none;
}

.vd-footer-book-link:hover {
  gap: 10px;
  text-decoration: none;
  color: #B8892A;
  border: none;
}

.vd-footer-book-link::after {
  content: '→';
}

/* ── GOLD DIVIDER ── */
.vd-footer-divider {
  border: none;
  border-top: 1px solid rgba(184,137,42,0.35);
  margin: 0;
}

/* ── LEGAL STRIP ── */
.vd-footer-legal {
  padding-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 48px;
  align-items: start;
}

.vd-footer-legal-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.vd-footer-legal-block.vd-full-width {
  grid-column: 1 / -1;
}

.vd-footer-legal-label {
  font-family: 'DM Mono', monospace;
  font-size: 7.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #B8892A;
}

.vd-footer-legal-text {
  font-family: 'DM Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.52);
  line-height: 1.9;
  margin: 0;
}

.vd-footer-legal-text a {
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.30);
  transition: color 0.2s;
}

.vd-footer-legal-text a:hover {
  color: rgba(255,255,255,0.95);
  text-decoration: none;
}

/* ── BOTTOM BAR ── */
.vd-footer-bottom {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.04);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.vd-footer-copyright {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.40);
  margin: 0;
}

.vd-footer-policy-links {
  display: flex;
  gap: 20px;
}

.vd-footer-policy-links a {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  transition: color 0.2s;
  border: none;
}

.vd-footer-policy-links a:hover {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  border: none;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .vd-footer {
    padding: 48px 24px 36px;
  }
  .vd-footer-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .vd-footer-legal {
    grid-template-columns: 1fr;
  }
  .vd-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ════════════════════════════════════════════════════════════
   MOBILE NAVIGATION
   Kadence's hamburger uses var(--global-palette5) — a dark gray
   that vanishes against our #0C0D0E header. These rules use the
   exact class names Kadence generates to make everything visible.
════════════════════════════════════════════════════════════ */

/* ── Hamburger open button ── */
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus {
  color: #ffffff !important;
}

.mobile-toggle-open-container .menu-toggle-open:hover,
.mobile-toggle-open-container .menu-toggle-open:focus-visible {
  color: rgba(255,255,255,0.75) !important;
}

.mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon {
  color: #ffffff !important;
}

/* ── Mobile drawer panel ── */
#mobile-drawer {
  background: #0C0D0E !important;
  border-left: 1px solid rgba(184,137,42,0.25) !important;
}

/* Close (X) button inside the drawer header */
#mobile-drawer .drawer-header .drawer-toggle {
  color: rgba(255,255,255,0.75) !important;
}

#mobile-drawer .drawer-header .drawer-toggle:hover {
  color: #ffffff !important;
}

/* Drawer header area */
#mobile-drawer .drawer-header {
  border-bottom: 1px solid rgba(184,137,42,0.25) !important;
  background: #0C0D0E !important;
}

/* ── Mobile nav links ── */
.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
  color: rgba(255,255,255,0.75) !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(184,137,42,0.18) !important;
}

.mobile-navigation ul li > a:hover {
  color: #ffffff !important;
  background: rgba(184,137,42,0.08) !important;
}

/* Active page link */
.mobile-navigation ul li.current-menu-item > a,
.mobile-navigation ul li.current-menu-item.menu-item-has-children > .drawer-nav-drop-wrap {
  color: #D4007A !important;
}

/* Sub-menu expand button */
.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button {
  color: rgba(255,255,255,0.60) !important;
  border-left: 1px solid rgba(184,137,42,0.18) !important;
}

.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap button:hover {
  color: #ffffff !important;
}
