/*
 Theme Name:   bestdentists.ae Child
 Theme URI:    https://bestdentists.ae
 Description:  Child theme for bestdentists.ae — UAE's Dental Authority
 Author:       bestdentists.ae
 Template:     generatepress
 Version:      1.0.0
*/

/* ═══════════════════════════════════════════════════
   BRAND TOKENS — bestdentists.ae v1.0
   ═══════════════════════════════════════════════════ */
:root {
  /* Navy Primary */
  --navy-950: #050B18;
  --navy-900: #080F22;
  --navy-800: #0D1A3A;
  --navy-700: #122252;
  --navy-600: #1A2E6B;
  --navy-500: #253C84;
  --navy-400: #3B53A0;
  --navy-300: #6477BC;
  --navy-200: #9EAAD8;
  --navy-100: #C8D0EC;
  --navy-50:  #EDF0F8;

  /* Amber / Award Gold */
  --amber-900: #2E1800;
  --amber-700: #8A4800;
  --amber-600: #B86000;
  --amber-500: #D97B0A;
  --amber-400: #F0A030;
  --amber-300: #F5BE68;
  --amber-200: #FAD99A;
  --amber-100: #FDF0D5;
  --amber-50:  #FFFBF0;

  /* Champagne */
  --champ-500: #C8A96E;
  --champ-400: #D4BE8C;
  --champ-300: #E0D2AA;
  --champ-100: #F5EED8;

  /* Slate Neutrals */
  --slate-900: #0E1117;
  --slate-800: #1C2232;
  --slate-700: #2E3650;
  --slate-600: #4A5270;
  --slate-500: #6B7494;
  --slate-400: #939CB8;
  --slate-300: #BCC2D4;
  --slate-200: #DAE0EE;
  --slate-100: #EEF1F8;
  --slate-50:  #F7F8FC;
  --white:     #FAFBFF;

  /* Semantic */
  --bg-page:    #F7F8FC;
  --bg-card:    #FAFBFF;
  --bg-dark:    #080F22;
  --bg-section: #EEF1F8;

  /* Typography */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui:      'Syne', system-ui, sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  /* Radius */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 32px;

  /* Shadows */
  --sh-sm:   0 2px 8px rgba(8,15,34,.08);
  --sh-md:   0 8px 32px rgba(8,15,34,.12);
  --sh-lg:   0 24px 64px rgba(8,15,34,.18);
  --sh-gold: 0 8px 32px rgba(217,123,10,.25);
}

/* ═══════════════════════════════════════════════════
   BASE TYPOGRAPHY
   ═══════════════════════════════════════════════════ */
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-ui);
  background: var(--bg-page);
  color: var(--slate-800);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--navy-800);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -.01em;
}

h1 { font-size: clamp(2.2rem, 4.5vw, 3.8rem); margin-bottom: 1rem; }
h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); margin-bottom: .75rem; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.7rem); margin-bottom: .5rem; }
h4 { font-size: 1.1rem; font-family: var(--font-ui); font-weight: 700; }

p { margin-bottom: 1.25rem; color: var(--slate-600); line-height: 1.75; }
a { color: var(--navy-500); text-decoration: none; transition: color .2s; }
a:hover { color: var(--amber-500); }
strong { color: var(--slate-800); font-weight: 700; }

/* ═══════════════════════════════════════════════════
   HEADER & NAVIGATION
   ═══════════════════════════════════════════════════ */
.site-header {
  background: rgba(5,11,24,.97) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(240,160,48,.1);
  position: sticky;
  top: 0;
  z-index: 100;
}

.site-header .header-inner {
  padding: 0 2rem;
  min-height: 60px;
  display: flex;
  align-items: center;
}

/* Logo — stars + wordmark via CSS */
.site-branding .site-title,
p.site-title { margin: 0 !important; }

.site-branding .site-title a::before,
p.site-title a::before {
  content: '★★★';
  display: block;
  font-size: .45rem;
  color: var(--amber-400);
  letter-spacing: .12em;
  text-align: center;
  line-height: 1;
  margin-bottom: 2px;
}

.site-branding .site-title a,
.site-title a {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: -.01em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.site-description { display: none !important; }

/* Nav links */
.main-nav a,
.nav-primary a,
.main-navigation a,
#site-navigation a {
  font-family: var(--font-ui) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.75) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .4rem .85rem !important;
  transition: color .2s;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
#site-navigation .current-menu-item > a {
  color: var(--amber-300) !important;
}

/* Dropdown */
.main-navigation .sub-menu {
  background: rgba(8,15,34,.98) !important;
  border: 1px solid rgba(240,160,48,.12);
  border-radius: var(--r-md);
  box-shadow: 0 16px 48px rgba(0,0,0,.5);
  min-width: 200px;
}
.main-navigation .sub-menu a {
  text-transform: none !important;
  font-size: .82rem !important;
  border-bottom: 1px solid rgba(240,160,48,.06);
}

/* Mobile toggle */
.menu-toggle, button.menu-toggle {
  background: transparent !important;
  border: 1.5px solid rgba(240,160,48,.3) !important;
  color: var(--amber-300) !important;
  border-radius: var(--r-sm);
}

/* ═══════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════ */
.bd-hero {
  background: var(--bg-dark);
  padding: 6rem 2rem 7rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Grid texture */
.bd-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(240,160,48,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,160,48,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}

/* Radial glow */
.bd-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 50% 0%, rgba(217,123,10,.12) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 80% 60%, rgba(37,60,132,.25) 0%, transparent 55%);
  pointer-events: none;
}

.bd-hero > * { position: relative; z-index: 1; }

.bd-hero-eyebrow {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--amber-400);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
}
.bd-hero-eyebrow::before { content: '✦'; font-size: .55rem; }
.bd-hero-eyebrow::after  { content: '✦'; font-size: .55rem; }

.bd-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.05;
  max-width: 820px;
  margin: 0 auto 1.25rem;
  letter-spacing: -.02em;
}
.bd-hero h1 em {
  font-style: italic;
  color: var(--amber-300);
}

.bd-hero-sub {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: var(--navy-200);
  max-width: 560px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.bd-hero-stats {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-bottom: 3rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  flex-wrap: wrap;
}

.bd-stat-num {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--amber-300);
  display: block;
  line-height: 1;
}
.bd-stat-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--slate-500);
  margin-top: .3rem;
}

/* ═══════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════ */
.bd-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.75rem;
  border-radius: var(--r-sm);
  font-family: var(--font-ui);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
  border: none;
}

.bd-btn-primary {
  background: var(--navy-700);
  color: var(--white) !important;
  box-shadow: 0 4px 16px rgba(8,15,34,.25);
}
.bd-btn-primary:hover {
  background: var(--navy-600);
  color: var(--white) !important;
  transform: translateY(-1px);
  box-shadow: var(--sh-md);
}

.bd-btn-amber {
  background: linear-gradient(135deg, var(--amber-600), var(--amber-500));
  color: var(--white) !important;
  box-shadow: var(--sh-gold);
}
.bd-btn-amber:hover {
  background: linear-gradient(135deg, var(--amber-500), var(--amber-400));
  color: var(--white) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 40px rgba(217,123,10,.35);
}

.bd-btn-outline {
  background: transparent;
  color: var(--navy-600) !important;
  border: 1.5px solid var(--navy-300);
}
.bd-btn-outline:hover {
  background: var(--navy-50);
  border-color: var(--navy-500);
  color: var(--navy-700) !important;
}

.bd-btn-ghost {
  background: rgba(255,255,255,.08);
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
}
.bd-btn-ghost:hover {
  background: rgba(255,255,255,.15);
  color: var(--white) !important;
}

.bd-btn-group {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

/* ═══════════════════════════════════════════════════
   SECTIONS
   ═══════════════════════════════════════════════════ */
.bd-section { padding: 5rem 2rem; }
.bd-section-alt { background: var(--bg-section); }
.bd-section-dark { background: var(--bg-dark); }
.bd-section-dark h2, .bd-section-dark h3 { color: var(--white); }
.bd-section-dark p { color: var(--navy-200); }

.bd-container {
  max-width: 1160px;
  margin: 0 auto;
}

.bd-section-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber-600);
  margin-bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  padding: .25rem .8rem .25rem .6rem;
  border-radius: 100px;
}
.bd-section-label::before {
  content: '★';
  font-size: .6rem;
  color: var(--amber-500);
}

/* ═══════════════════════════════════════════════════
   RANKING CARDS
   ═══════════════════════════════════════════════════ */
.bd-rank-card {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  transition: box-shadow .2s, transform .2s;
  position: relative;
}
.bd-rank-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--amber-600), var(--amber-400));
}
.bd-rank-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-3px);
}

.bd-rank-num {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--amber-400);
  line-height: .9;
  flex-shrink: 0;
}
.bd-rank-stars {
  color: var(--amber-400);
  font-size: .85rem;
  letter-spacing: .08em;
}
.bd-rank-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .6rem;
}
.bd-rank-tag {
  font-size: .66rem;
  font-weight: 600;
  padding: .2rem .5rem;
  background: var(--navy-50);
  color: var(--navy-600);
  border-radius: var(--r-xs);
}

/* ═══════════════════════════════════════════════════
   GENERAL CARDS
   ═══════════════════════════════════════════════════ */
.bd-card {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-md);
  padding: 2rem;
  box-shadow: var(--sh-sm);
  transition: box-shadow .2s, transform .2s;
}
.bd-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}
.bd-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1.5rem;
}
.bd-card-icon {
  width: 48px; height: 48px;
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
}

/* ═══════════════════════════════════════════════════
   BADGES
   ═══════════════════════════════════════════════════ */
.bd-badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .28rem .75rem;
  border-radius: 100px;
  font-family: var(--font-ui);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.bd-badge-award   { background: var(--amber-100); color: var(--amber-700); border: 1px solid var(--amber-200); }
.bd-badge-navy    { background: var(--navy-50);   color: var(--navy-600);  border: 1px solid var(--navy-100); }
.bd-badge-dark    { background: var(--navy-800);  color: var(--amber-300); }
.bd-badge-verified { background: var(--champ-100); color: var(--amber-700); border: 1px solid var(--champ-300); }

/* ═══════════════════════════════════════════════════
   REVIEW CHIPS
   ═══════════════════════════════════════════════════ */
.bd-review {
  background: var(--navy-900);
  border-radius: var(--r-lg);
  padding: 1.5rem;
  color: var(--white);
}
.bd-review-stars { color: var(--amber-400); font-size: .9rem; letter-spacing: .06em; margin-bottom: .75rem; }
.bd-review-text {
  font-family: var(--font-display);
  font-size: 1rem;
  font-style: italic;
  color: var(--navy-100);
  line-height: 1.6;
  margin-bottom: .75rem;
}
.bd-review-author { font-size: .75rem; font-weight: 700; color: var(--amber-300); letter-spacing: .04em; }
.bd-review-loc { font-size: .68rem; color: var(--slate-500); margin-top: .1rem; }

/* ═══════════════════════════════════════════════════
   PRICE TABLE
   ═══════════════════════════════════════════════════ */
.bd-price-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: var(--sh-sm);
}
.bd-price-table th {
  background: var(--navy-800);
  color: var(--white);
  font-family: var(--font-ui);
  font-weight: 600;
  padding: .9rem 1.25rem;
  text-align: left;
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.bd-price-table td {
  padding: .85rem 1.25rem;
  border-bottom: 1px solid var(--slate-100);
  color: var(--slate-600);
}
.bd-price-table tr:nth-child(even) td { background: var(--bg-section); }
.bd-price-table td:last-child { color: var(--amber-600); font-weight: 700; }

/* ═══════════════════════════════════════════════════
   STEPS
   ═══════════════════════════════════════════════════ */
.bd-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  counter-reset: step;
}
.bd-step {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-left: 3px solid var(--amber-400);
  border-radius: var(--r-md);
  padding: 2rem;
  text-align: center;
}
.bd-step::before {
  counter-increment: step;
  content: counter(step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--amber-600), var(--amber-400));
  color: var(--white);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 auto 1.25rem;
  box-shadow: var(--sh-gold);
}

/* ═══════════════════════════════════════════════════
   FAQ ACCORDION
   ═══════════════════════════════════════════════════ */
.bd-faq {
  border: 1px solid var(--slate-200);
  border-radius: var(--r-md);
  background: var(--bg-card);
  overflow: hidden;
}
.bd-faq details {
  border-bottom: 1px solid var(--slate-100);
  padding: 1.25rem 1.5rem;
}
.bd-faq details:last-child { border-bottom: none; }
.bd-faq summary {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: .95rem;
  color: var(--navy-800);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.bd-faq summary::after { content: '+'; font-size: 1.4rem; color: var(--amber-500); }
.bd-faq details[open] summary::after { content: '−'; }
.bd-faq details p { margin-top: 1rem; color: var(--slate-600); }

/* ═══════════════════════════════════════════════════
   TRUST BAR
   ═══════════════════════════════════════════════════ */
.bd-trust-bar {
  background: var(--navy-900);
  padding: 1.25rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
  border-top: 1px solid rgba(240,160,48,.08);
}
.bd-trust-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--navy-200);
  font-size: .8rem;
  font-weight: 500;
  font-family: var(--font-ui);
}
.bd-trust-item .icon { color: var(--amber-400); }

/* ═══════════════════════════════════════════════════
   CALLOUTS
   ═══════════════════════════════════════════════════ */
.bd-callout {
  background: var(--navy-50);
  border-left: 4px solid var(--navy-400);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}
.bd-callout-award {
  background: var(--amber-50);
  border-left-color: var(--amber-500);
}
.bd-callout-award strong:first-child::before { content: '★ '; color: var(--amber-500); }

/* ═══════════════════════════════════════════════════
   FULL-WIDTH LAYOUT — remove GP boxing
   ═══════════════════════════════════════════════════ */

/* Remove GP's white container box */
.one-container .container,
.one-container .site.container,
.site.grid-container.container {
  background: transparent !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Remove GP grid-container max-width */
body .grid-container,
.grid-container,
.site.grid-container,
.grid-container.grid-parent {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Full-width site main */
.content-area,
.site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* article wrapper: zero padding so sections go edge to edge */
.inside-article,
.entry-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Constrain inline content (p, ul, h2 etc) outside of bd-* sections */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > h2,
.entry-content > h3,
.entry-content > table,
.entry-content > blockquote {
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 4vw, 3rem);
  padding-right: clamp(1rem, 4vw, 3rem);
}

/* bd-* section children: centre their content */
.bd-section,
.bd-card-grid,
.bd-steps,
.bd-faq,
.bd-rank-card,
.bd-review-chips,
.bd-callout,
.bd-price-table {
  max-width: 1160px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 4vw, 3rem);
  padding-right: clamp(1rem, 4vw, 3rem);
}

/* Sections that should bleed full width */
.bd-hero,
.bd-trust-bar {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Remove GP inside-header excess padding */
.inside-header.grid-container {
  max-width: var(--max-nav-w, 1160px) !important;
  margin: 0 auto !important;
  padding: 0 clamp(1rem, 4vw, 2rem) !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
}

/* ═══════════════════════════════════════════════════
   HEADING COLOURS — context-aware (no blanket !important)
   ═══════════════════════════════════════════════════ */

/* Default headings on light backgrounds */
h1, h2, h3, h4, h5, h6 {
  color: var(--navy-800);
  font-family: var(--font-display);
}

/* Dark-section headings must be white */
.bd-hero h1, .bd-hero h2, .bd-hero h3,
.bd-hero h4, .bd-hero h5, .bd-hero h6 { color: var(--white) !important; }

.bd-section-dark h1, .bd-section-dark h2,
.bd-section-dark h3, .bd-section-dark h4 { color: var(--white) !important; }

.bd-review h2, .bd-review h3,
.bd-review-chips h2, .bd-review-chips h3 { color: var(--white) !important; }

/* Entry content headings (light bg) */
.entry-content h2 {
  margin-top: 2.5rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--amber-100);
  color: var(--navy-800);
}
.entry-content h3 { margin-top: 2rem; color: var(--navy-700); }
.entry-content ul, .entry-content ol { margin: 0 0 1.25rem 1.5rem; color: var(--slate-600); }
.entry-content li { margin-bottom: .4rem; }

/* Paragraphs */
p { line-height: 1.7; color: var(--slate-600); font-size: 16px; font-family: var(--font-ui); }

/* Dark sections: paragraphs */
.bd-hero p, .bd-hero-sub { color: var(--navy-200) !important; }
.bd-section-dark p { color: var(--navy-200) !important; }
.bd-trust-item { color: var(--navy-200) !important; }
.bd-review-text { color: var(--navy-100) !important; }

/* Links */
a { text-decoration: none; color: var(--navy-500); }
a:hover { color: var(--amber-500); }

/* ═══════════════════════════════════════════════════
   GP OVERRIDES — nav, header, footer colours
   ═══════════════════════════════════════════════════ */
.main-title a, .main-title a:hover {
  color: #FFFFFF !important;
  font-family: var(--font-display);
  text-decoration: none;
}

#masthead, .site-header { background-color: var(--navy-950) !important; }

.main-navigation, .main-navigation ul ul { background-color: var(--navy-950) !important; }

.main-navigation .main-nav ul li a,
.main-navigation .main-nav ul > li > a,
.main-navigation .menu-bar-items,
.main-navigation .menu-toggle,
#masthead .main-navigation a { color: #FFFFFF !important; }

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul > li > a:hover { color: var(--amber-300) !important; }

/* Remove sidebar entirely */
.widget-area, .sidebar, aside.sidebar,
#right-sidebar, .inside-right-sidebar { display: none !important; }

/* Hide comments */
#comments, .comments-area, .comment-respond,
.comment-navigation { display: none !important; }

/* Hide GP footer credit link */
.site-info a[href*="generatepress"],
.site-info a[href*="wordpress.org"],
.generated-by-gp, .gp-footer-link { display: none !important; }

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
#mastfoot, .site-footer, .site-info {
  background: var(--navy-950) !important;
  color: var(--navy-300) !important;
}
.site-info { padding: 1.25rem 2rem !important; font-size: .82rem; }
.site-info a { color: var(--amber-300) !important; }
.site-info a:hover { color: var(--white) !important; }

/* ═══════════════════════════════════════════════════
   TABLES
   ═══════════════════════════════════════════════════ */
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
table th { background: var(--navy-800); color: var(--white); padding: .8rem 1rem; text-align: left; }
table td { padding: .75rem 1rem; border-bottom: 1px solid var(--slate-100); color: var(--slate-600); }
table tr:nth-child(even) td { background: var(--bg-section); }

/* ═══════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .bd-hero { padding: 3.5rem 1.25rem 4rem; }
  .bd-hero-stats { gap: 1.5rem; }
  .bd-section { padding: 3rem 1.25rem; }
  .bd-trust-bar { gap: 1.25rem; }
  .bd-btn-group { flex-direction: column; align-items: stretch; text-align: center; }
  .main-navigation ul li a, #site-navigation a { min-height: 44px; }
  body { font-size: 15px; }
}
@media (max-width: 480px) {
  .bd-hero h1 { font-size: 2.2rem !important; }
  .bd-stat-num { font-size: 1.8rem; }
}

/* ═══════════════════════════════════════════════════
   LOGO SIZE FIX + MISSING CLASS DEFINITIONS v2.0
   ═══════════════════════════════════════════════════ */

/* Constrain custom logo */
.custom-logo-link img.custom-logo {
  max-height: 40px !important;
  width: auto !important;
  height: auto !important;
}

/* Or hide image logo and use CSS text logo */
.site-header .custom-logo-link {
  display: none !important;
}

/* ── MISSING HOMEPAGE CLASSES ── */
.bd-hero-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--amber-400);
  background: rgba(240,160,48,.1);
  border: 1px solid rgba(240,160,48,.2);
  padding: .4rem 1.2rem;
  border-radius: 100px;
  margin-bottom: 2rem;
}

.bd-hero-title { /* inherits from .bd-hero h1 */ }
.bd-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: var(--navy-200) !important;
  max-width: 560px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.bd-hero-content {
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.bd-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.bd-hero-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}

.bd-stat-item { text-align: center; }
.bd-stat-number {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--amber-300);
  display: block;
  line-height: 1;
}

.bd-text-gold { color: var(--amber-300) !important; }

.bd-btn-lg { padding: 1rem 2.25rem !important; font-size: 1rem !important; }
.bd-btn-navy {
  background: var(--navy-700);
  color: var(--white) !important;
  box-shadow: 0 4px 16px rgba(8,15,34,.25);
}
.bd-btn-navy:hover {
  background: var(--navy-600);
  color: var(--white) !important;
}

/* Section headers */
.bd-section-header { text-align: center; margin-bottom: 3rem; }
.bd-section-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber-600);
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  padding: .25rem .8rem;
  border-radius: 100px;
  margin-bottom: 1rem;
}
.bd-tag-gold {
  color: var(--amber-400) !important;
  background: rgba(240,160,48,.1) !important;
  border-color: rgba(240,160,48,.2) !important;
}
.bd-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: .75rem;
}
.bd-section-subtitle {
  color: var(--slate-600);
  font-size: 1.05rem;
  max-width: 600px;
  margin: 0 auto;
}

/* Card extras */
.bd-card-grid-3 { grid-template-columns: repeat(3, 1fr) !important; }
.bd-card-grid-4 { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 900px) {
  .bd-card-grid-3, .bd-card-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .bd-card-grid-3, .bd-card-grid-4 { grid-template-columns: 1fr !important; }
}

.bd-card-link { display: block; text-decoration: none !important; color: inherit !important; }
.bd-card-title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: .5rem;
}
.bd-card-text {
  font-size: .9rem;
  color: var(--slate-600);
  line-height: 1.6;
  margin-bottom: .75rem;
}
.bd-card-arrow {
  font-family: var(--font-ui);
  font-size: .85rem;
  font-weight: 700;
  color: var(--amber-500);
  display: inline-block;
  margin-top: .5rem;
}
.bd-card-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber-600);
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  padding: .2rem .6rem;
  border-radius: 100px;
  margin-bottom: .75rem;
}

.bd-card-dark {
  background: rgba(13,26,58,.6) !important;
  border-color: rgba(240,160,48,.1) !important;
}
.bd-card-dark .bd-card-title { color: var(--white) !important; }
.bd-card-dark .bd-card-text { color: var(--navy-200) !important; }
.bd-card-dark .bd-card-icon {
  background: rgba(240,160,48,.1) !important;
  border-color: rgba(240,160,48,.15) !important;
}

/* Steps extras */
.bd-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--amber-600), var(--amber-400));
  color: var(--white);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 auto 1.25rem;
  box-shadow: var(--sh-gold);
}
.bd-step-title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: .5rem;
}
.bd-step-text { font-size: .9rem; color: var(--slate-600); line-height: 1.6; }

/* Navy section */
.bd-section-navy {
  background: var(--bg-dark) !important;
}
.bd-section-navy h2, .bd-section-navy h3 { color: var(--white) !important; }
.bd-section-navy p { color: var(--navy-200) !important; }

/* Inquiry */
.bd-inquiry-grid, .bd-partner-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 768px) {
  .bd-inquiry-grid, .bd-partner-inner { grid-template-columns: 1fr; }
}

.bd-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem 0;
}
.bd-checklist li {
  padding: .5rem 0 .5rem 1.75rem;
  position: relative;
  color: var(--slate-800);
  font-size: .95rem;
}
.bd-checklist li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #16a34a;
  font-weight: 700;
}

.bd-disclaimer-bar {
  font-size: .78rem;
  color: var(--slate-500);
  background: var(--bg-section);
  padding: 1rem 1.25rem;
  border-radius: var(--r-sm);
  margin-top: 2rem;
  line-height: 1.6;
}

.bd-form-card {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-lg);
  padding: 2rem;
  box-shadow: var(--sh-md);
}
.bd-form-title {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: 1rem;
}

.bd-partner-benefits { margin-top: 1.5rem; }
.bd-benefit-item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .6rem 0;
  font-size: .9rem;
  color: var(--slate-800);
  line-height: 1.5;
}
.bd-benefit-check { color: #16a34a; font-weight: 700; flex-shrink: 0; }

.bd-trust-icon { color: var(--amber-400); font-weight: 700; }
.bd-trust-items {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}

/* CF7 form styling */
.bd-form-card .wpcf7 input[type=text],
.bd-form-card .wpcf7 input[type=email],
.bd-form-card .wpcf7 input[type=tel],
.bd-form-card .wpcf7 select,
.bd-form-card .wpcf7 textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1.5px solid var(--slate-200);
  border-radius: var(--r-sm);
  font-family: var(--font-ui);
  font-size: .9rem;
  background: var(--white);
  color: var(--slate-800);
  transition: border-color .2s;
}
.bd-form-card .wpcf7 input:focus,
.bd-form-card .wpcf7 textarea:focus {
  outline: none;
  border-color: var(--amber-400);
  box-shadow: 0 0 0 3px rgba(240,160,48,.1);
}
.bd-form-card .wpcf7 input[type=submit] {
  background: linear-gradient(135deg, var(--amber-600), var(--amber-500));
  color: var(--white);
  border: none;
  padding: .85rem 2rem;
  border-radius: var(--r-sm);
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  width: 100%;
  transition: all .2s;
}
.bd-form-card .wpcf7 input[type=submit]:hover {
  box-shadow: var(--sh-gold);
  transform: translateY(-1px);
}

/* Reveal animations */
.bd-reveal {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity .6s ease, transform .6s ease;
}
.bd-reveal.bd-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.bd-reveal-delay-1 { transition-delay: .1s; }
.bd-reveal-delay-2 { transition-delay: .2s; }
.bd-reveal-delay-3 { transition-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
  .bd-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Services nav grid fix */
.bd-services-nav div[style*='grid-template'] { display: grid !important; }


/* Hide GP page title on homepage */
.page-id-1139 .entry-title,
.page-id-1139 .entry-header,
.home .entry-title,
.home .entry-header { display: none !important; }

/* Fix reveal — make visible by default for non-JS and scrolled elements */
.bd-reveal { opacity: 1; transform: none; }
