/* ============================================================
   Boaz Build FSE Theme — main.css
   Updated: 2026-06-11 — Essential Live Pass
   ============================================================ */

/* ── Custom Properties ────────────────────────────────────── */
:root {
  --bb-navy:       #07111F;
  --bb-deep:       #0B1120;
  --bb-ink:        #1E293B;
  --bb-gold:       #C8A96A;
  --bb-gold2:      #E6C987;
  --bb-cream:      #F8F5EC;
  --bb-slate:      #64748B;
  --bb-muted:      #94A3B8;
  --bb-light:      #CBD5E1;
  --bb-line:       rgba(200,169,106,.22);
  --bb-shadow:     0 24px 70px rgba(2,6,23,.16);
  --bb-font-head:  'Space Grotesk', Syne, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bb-font-body:  'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --bb-header-h:   80px;
}

/* ── Reset / Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html  { scroll-behavior: smooth; }
body  {
  margin: 0;
  font-family: var(--bb-font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--bb-ink);
  background: #F8FAFC;
  overflow-x: hidden;
}
a  { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }
.bb-site-main  { overflow: hidden; }
.bb-container  { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
}

/* ── Heading typography ───────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
  font-family: var(--bb-font-head);
  color: #0F172A;
  margin: 0 0 .5em;
}
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

/* ── FSE Header ───────────────────────────────────────────── */
.bb-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7,17,31,.92);
  border-bottom: 1px solid rgba(200,169,106,.16);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  margin: 0 !important;
}
.admin-bar .bb-site-header { top: 32px; }

.bb-header-inner {
  width: min(1180px, calc(100% - 48px));
  min-height: var(--bb-header-h);
  margin-inline: auto;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px;
  flex-wrap: nowrap !important;
}

/* Brand */
.bb-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  min-width: max-content;
  margin: 0 !important;
  text-decoration: none;
}
.bb-brand-logo {
  width: 52px !important; height: 52px !important;
  margin: 0 !important;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(200,169,106,.22);
  flex-shrink: 0;
}
.bb-brand-logo img {
  width: 52px !important; height: 52px !important;
  object-fit: cover;
}
.bb-brand-copy { margin: 0 !important; gap: 0 !important; }
.bb-brand-copy p { margin: 0 !important; line-height: 1.05; }
.bb-brand-name strong {
  font-family: var(--bb-font-head);
  font-size: 21px;
  color: #fff;
  letter-spacing: .01em;
  font-weight: 700;
}
.bb-brand-tagline {
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--bb-gold2);
  margin-top: 4px !important;
}

/* Nav */
.bb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
}
.bb-header-nav .wp-block-navigation__container {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  flex-direction: row !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bb-header-nav a {
  color: rgba(248,245,236,.84) !important;
  font-size: 14px;
  font-weight: 700;
  transition: color .2s;
}
.bb-header-nav a:hover { color: var(--bb-gold2) !important; }

/* Header CTA */
.bb-header-actions { margin: 0 !important; }
.bb-header-cta .wp-block-button__link,
.bb-btn-primary .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--bb-gold), var(--bb-gold2)) !important;
  color: #111827 !important;
  font-weight: 800;
  font-size: 14px;
  padding: 12px 20px;
  box-shadow: 0 10px 28px rgba(200,169,106,.22);
  transition: transform .25s, box-shadow .25s;
  white-space: nowrap;
}
.bb-header-cta .wp-block-button__link:hover,
.bb-btn-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(200,169,106,.34);
}

/* Mobile hamburger */
.wp-block-navigation__responsive-container-open {
  color: #fff !important;
  border: 1px solid rgba(200,169,106,.28);
  border-radius: 12px;
  padding: 8px !important;
}
.wp-block-navigation__responsive-container.is-menu-open {
  background: #07111F !important;
  color: #fff !important;
  padding: 28px !important;
  z-index: 9999;
}
.wp-block-navigation__responsive-container.is-menu-open a {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* ── Hero ─────────────────────────────────────────────────── */
.boaz-home-premium { overflow: hidden; }

.bb-hero {
  min-height: calc(100dvh - var(--bb-header-h));
  padding: 80px 0 70px;
  background:
    radial-gradient(ellipse at 75% 15%, rgba(200,169,106,.28), transparent 35%),
    radial-gradient(ellipse at 25% 85%, rgba(11,17,32,.9), transparent 55%),
    linear-gradient(140deg, #07111F 0%, #0B1120 55%, #111827 100%);
  color: var(--bb-cream);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

/* hero background shimmer */
.bb-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 60% 40%, rgba(200,169,106,.06) 0%, transparent 60%),
    radial-gradient(circle at 20% 60%, rgba(14,165,233,.04) 0%, transparent 50%);
  pointer-events: none;
}

/* hero grid */
.bb-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr) !important;
  gap: 60px !important;
  align-items: center !important;
  position: relative;
  z-index: 1;
}

/* kicker / label */
.bb-kicker, .bb-section-label {
  display: inline-flex;
  width: auto;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(200,169,106,.28);
  background: rgba(200,169,106,.1);
  color: var(--bb-ink);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 12px !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
  margin: 0 0 18px;
}
.bb-hero .bb-kicker,
.bb-inner-hero .bb-section-label,
.bb-dark .bb-section-label { color: var(--bb-gold2); }

/* hero h1 */
.bb-hero h1,
.bb-hero .wp-block-heading,
.bb-inner-hero h1 {
  font-family: var(--bb-font-head);
  font-size: clamp(44px, 7vw, 92px);
  line-height: 1.03;
  letter-spacing: -.045em;
  font-weight: 700;
  margin: 0 0 22px;
  color: #fff;
  max-width: 800px;
}

/* section h2 */
.bb-section h2,
.bb-section .wp-block-heading,
.bb-dark h2,
.bb-final-cta h2 {
  font-family: var(--bb-font-head);
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 700;
  margin: 0 0 18px;
  color: #0F172A;
  max-width: 880px;
}
.bb-dark h2, .bb-final-cta h2 { color: #fff; }

/* hero paragraph */
.bb-hero p,
.bb-inner-hero p { color: #D8E2EF; }
.bb-lead, .bb-section-intro {
  font-size: 18px;
  line-height: 1.75;
  max-width: 680px;
}
.bb-section p {
  font-size: 16.5px;
  line-height: 1.75;
  color: #475569;
}
/* Ensure no pale text on white */
.bb-section:not(.bb-dark) p { color: #334155; }

/* hero actions */
.bb-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 28px 0 0 !important;
}

/* outline button */
.bb-btn-outline .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 800;
  font-size: 14px;
  transition: transform .25s, box-shadow .25s;
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(248,245,236,.28);
  color: #fff !important;
}
.bb-section .bb-btn-outline .wp-block-button__link {
  background: #fff !important;
  border-color: #D7DCE4;
  color: #0F172A !important;
}
.bb-btn-outline .wp-block-button__link:hover { transform: translateY(-2px); }

/* trust / brand lines */
.bb-trust-line { font-weight: 800; color: #DBEAFE; font-size: 14px; margin-top: 22px !important; }
.bb-brand-line  { color: var(--bb-gold2); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; font-weight: 800; margin-top: 6px !important; }

/* ── Hero Visual — Premium Animated Widget ────────────────── */
.bb-hero-visual-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Animated SVG / CSS card widget */
.bb-hero-device {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  animation: bbFloat 6s ease-in-out infinite;
}
.bb-hero-device-inner {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(200,169,106,.28);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(2,6,23,.45), 0 0 0 1px rgba(200,169,106,.12);
  padding: 0;
}

/* Browser chrome bar */
.bb-hero-device-bar {
  background: rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(200,169,106,.15);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bb-hero-device-dots { display: flex; gap: 6px; }
.bb-hero-device-dots span {
  width: 10px; height: 10px;
  border-radius: 50%;
  display: block;
}
.bb-hero-device-dots span:nth-child(1) { background: #FF6058; }
.bb-hero-device-dots span:nth-child(2) { background: #FFBD2E; }
.bb-hero-device-dots span:nth-child(3) { background: #28CA42; }
.bb-hero-device-url {
  flex: 1;
  background: rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 5px 12px;
  font-size: 11px;
  color: rgba(200,210,225,.6);
  font-family: monospace;
  letter-spacing: .02em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Device body / mock site sections */
.bb-hero-device-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Mock hero block */
.bb-mock-hero-block {
  background: linear-gradient(135deg, rgba(200,169,106,.14), rgba(7,17,31,.6));
  border: 1px solid rgba(200,169,106,.2);
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bb-mock-heading {
  height: 10px; border-radius: 6px;
  background: linear-gradient(90deg, #E6C987, rgba(230,201,135,.3));
  animation: bbShimmer 2.2s ease-in-out infinite;
}
.bb-mock-heading.wide  { width: 85%; }
.bb-mock-heading.mid   { width: 65%; }
.bb-mock-heading.short { width: 45%; height: 7px; background: rgba(200,169,106,.4); }
.bb-mock-para {
  height: 6px; border-radius: 4px;
  background: rgba(200,210,225,.18);
  animation: bbShimmer 2.4s ease-in-out infinite;
}
.bb-mock-para:nth-child(2) { width: 90%; animation-delay: .15s; }
.bb-mock-para:nth-child(3) { width: 75%; animation-delay: .3s; }
.bb-mock-para:nth-child(4) { width: 82%; animation-delay: .45s; }

.bb-mock-btn-row { display: flex; gap: 8px; margin-top: 4px; }
.bb-mock-btn {
  height: 28px; border-radius: 999px;
  background: linear-gradient(135deg, var(--bb-gold), var(--bb-gold2));
  width: 90px;
  animation: bbPulseGold 3s ease-in-out infinite;
}
.bb-mock-btn.ghost {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  animation: none;
  width: 80px;
}

/* Mock cards row */
.bb-mock-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bb-mock-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(200,169,106,.14);
  border-radius: 10px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.bb-mock-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: rgba(200,169,106,.22);
}
.bb-mock-card .bb-mock-heading { width: 75%; height: 7px; }
.bb-mock-card .bb-mock-para    { width: 90%; }
.bb-mock-card .bb-mock-para:last-child { width: 65%; }

/* Mock stats row */
.bb-mock-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.bb-mock-stat {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(200,169,106,.1);
  border-radius: 8px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.bb-mock-stat-num {
  height: 14px; width: 36px; border-radius: 4px;
  background: linear-gradient(90deg, var(--bb-gold), var(--bb-gold2));
  animation: bbShimmer 2.6s ease-in-out infinite;
}
.bb-mock-stat-label { height: 5px; width: 28px; border-radius: 3px; background: rgba(200,210,225,.18); }

/* Floating badges */
.bb-hero-badges {
  position: absolute;
  bottom: -18px;
  left: -18px;
  right: -18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  z-index: 3;
}
.bb-hero-badge {
  background: rgba(7,17,31,.94);
  border: 1px solid rgba(200,169,106,.26);
  border-radius: 999px;
  padding: 7px 13px;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
  letter-spacing: .02em;
}
.bb-hero-badge:nth-child(1) { animation: bbBadgeFloat 5s ease-in-out infinite; }
.bb-hero-badge:nth-child(2) { animation: bbBadgeFloat 5s ease-in-out infinite .8s; }
.bb-hero-badge:nth-child(3) { animation: bbBadgeFloat 5s ease-in-out infinite 1.6s; }
.bb-hero-badge:nth-child(4) { animation: bbBadgeFloat 5s ease-in-out infinite 2.4s; }

/* ── Keyframes ────────────────────────────────────────────── */
@keyframes bbFloat {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-12px); }
}
@keyframes bbBadgeFloat {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-5px); }
}
@keyframes bbShimmer {
  0%, 100% { opacity: .5; }
  50%       { opacity: 1; }
}
@keyframes bbPulseGold {
  0%, 100% { box-shadow: 0 0 0 0 rgba(200,169,106,.0); }
  50%       { box-shadow: 0 0 0 6px rgba(200,169,106,.2); }
}
@keyframes bbFadeUp {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0);    }
}
@keyframes bbFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Hero entrance animations */
.bb-hero-anim-1 { animation: bbFadeUp .7s ease both; animation-delay: .1s; }
.bb-hero-anim-2 { animation: bbFadeUp .7s ease both; animation-delay: .25s; }
.bb-hero-anim-3 { animation: bbFadeUp .7s ease both; animation-delay: .4s; }
.bb-hero-anim-4 { animation: bbFadeUp .7s ease both; animation-delay: .55s; }
.bb-hero-anim-5 { animation: bbFadeIn .9s ease both; animation-delay: .65s; }

/* ── Service strip ────────────────────────────────────────── */
.bb-service-strip {
  display: flex !important;
  gap: 10px;
  overflow-x: auto;
  padding: 14px max(24px, calc((100vw - 1180px) / 2));
  background: #fff;
  border-block: 1px solid #E8ECF0;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.bb-service-strip::-webkit-scrollbar { display: none; }
.bb-service-strip p {
  margin: 0 !important;
  white-space: nowrap;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  border-radius: 999px;
  padding: 8px 14px;
  color: #334155;
  font-weight: 800;
  font-size: 13px;
}

/* ── Sections ─────────────────────────────────────────────── */
.bb-section { padding: 92px 0; }
.bb-section:nth-of-type(even) { background: #fff; }

/* ── Cards ────────────────────────────────────────────────── */
.bb-card-grid  { display: grid !important; gap: 22px; }
.bb-three      { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bb-two        { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bb-four       { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bb-services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.bb-card {
  position: relative;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 26px;
  padding: 28px;
  box-shadow: 0 14px 40px rgba(15,23,42,.06);
  transition: transform .35s, box-shadow .35s, border-color .35s;
}
.bb-card::before {
  content: '';
  position: absolute;
  left: 28px; right: 28px;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--bb-gold), transparent);
}
.bb-card:hover {
  transform: translateY(-7px);
  border-color: rgba(200,169,106,.45);
  box-shadow: 0 28px 60px rgba(15,23,42,.12);
}
.bb-icon {
  width: 46px; height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  margin: 0 !important;
  background: rgba(200,169,106,.14);
  color: #8a6a26;
  font-weight: 900;
  font-size: 14px;
}
.bb-card h3 {
  font-family: var(--bb-font-head);
  font-size: 20px;
  margin: 16px 0 8px;
  color: #0F172A;
  font-weight: 700;
}
.bb-card p:not(.bb-icon) {
  font-size: 15px;
  color: #475569;
  margin: 0;
}

/* ── Split sections ───────────────────────────────────────── */
.bb-split {
  display: grid !important;
  grid-template-columns: 1fr .95fr !important;
  gap: 56px !important;
  align-items: center !important;
}

/* ── Values badges ────────────────────────────────────────── */
.bb-values {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px;
  margin-top: 24px;
}
.bb-values p {
  margin: 0 !important;
  background: #0F172A;
  color: #fff !important;
  border: 1px solid var(--bb-line);
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 800;
  font-size: 14px;
}

/* ── Dark sections ────────────────────────────────────────── */
.bb-dark {
  background: linear-gradient(135deg, #07111F, #0B1120);
  color: #fff;
}
.bb-dark h2, .bb-dark .bb-card h3 { color: #fff; }
.bb-dark p   { color: #CBD5E1; }
.bb-dark .bb-section-intro { color: #A0B3C8; }
.bb-dark .bb-card {
  background: rgba(255,255,255,.055);
  border-color: rgba(200,169,106,.18);
}
.bb-dark .bb-card p:not(.bb-icon) { color: #CBD5E1; }
.bb-dark .bb-card:hover { background: rgba(255,255,255,.09); }

/* ── Inner page hero ──────────────────────────────────────── */
.bb-inner-hero {
  padding: 86px 0;
  background: linear-gradient(135deg, #07111F, #0B1120);
  color: #fff;
}

/* ── Note block ───────────────────────────────────────────── */
.bb-note {
  background: rgba(200,169,106,.1);
  border: 1px solid rgba(200,169,106,.22);
  border-radius: 16px;
  padding: 16px 20px;
  color: #4A3A1A !important;
  font-weight: 700;
  font-size: 15px;
}

/* ── Final CTA ────────────────────────────────────────────── */
.bb-final-cta {
  padding: 86px 0;
  background: #F8FAFC;
  text-align: center;
}
.bb-final-cta .bb-container {
  border-radius: 34px;
  padding: 64px;
  background:
    radial-gradient(circle at 85% 20%, rgba(200,169,106,.22), transparent 32%),
    linear-gradient(135deg, #07111F, #0B1120);
  color: #fff;
  box-shadow: var(--bb-shadow);
}
.bb-final-cta h2    { color: #fff; margin-inline: auto; }
.bb-final-cta p     { color: #CBD5E1; margin-inline: auto; max-width: 700px; }
.bb-final-cta .bb-actions { justify-content: center; }

/* ── Image blocks ─────────────────────────────────────────── */
.bb-hero-image, .bb-rounded-image {
  position: relative;
  margin: 0 !important;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--bb-shadow);
  border: 1px solid rgba(200,169,106,.24);
}
.bb-hero-image img, .bb-rounded-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}

/* ── Floating tags (old hero image) ───────────────────────── */
.bb-floating-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px;
  margin-top: -42px !important;
  position: relative;
  z-index: 2;
  padding-inline: 18px;
}
.bb-floating-tags p {
  margin: 0 !important;
  background: rgba(7,17,31,.92);
  color: #fff !important;
  border: 1px solid rgba(200,169,106,.22);
  border-radius: 999px;
  padding: 9px 13px;
  font-weight: 800;
  font-size: 12px;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

/* ── Scroll reveal ────────────────────────────────────────── */
.bb-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease, transform .75s ease;
}
.bb-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* ── FSE Footer ───────────────────────────────────────────── */
.bb-site-footer {
  background: #07111F;
  color: #DBEAFE;
  padding: 64px 0 24px;
  margin: 0 !important;
}
.bb-footer-grid {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1.25fr !important;
  gap: 36px !important;
  align-items: start;
}
.bb-footer-logo-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
}
.bb-footer-logo,
.bb-footer-logo img {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px;
  object-fit: cover;
  flex-shrink: 0;
}
.bb-footer-logo-row p { margin: 0 !important; }
.bb-footer-logo-row strong {
  font-family: var(--bb-font-head);
  font-size: 21px;
  color: #fff;
  font-weight: 700;
}
.bb-footer-logo-row span,
.bb-footer-tagline { color: var(--bb-gold2) !important; }
.bb-footer-brand p  {
  color: #94A3B8;
  line-height: 1.7;
  font-size: 14px;
}

.bb-footer-col { display: flex; flex-direction: column; gap: 11px; }
.bb-footer-col h3 {
  font-family: var(--bb-font-head);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 8px;
}
.bb-footer-col a,
.bb-footer-col li {
  color: #94A3B8 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
.bb-footer-col a:hover { color: var(--bb-gold2) !important; }
.bb-footer-list {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bb-footer-nav .wp-block-navigation__container {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  align-items: flex-start !important;
}

/* Social icons */
.bb-social-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.bb-social-links .wp-social-link {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(200,169,106,.18);
  border-radius: 999px;
  transition: background .2s, transform .2s;
}
.bb-social-links .wp-social-link:hover {
  background: rgba(200,169,106,.2) !important;
  transform: translateY(-2px);
}
.bb-social-links .wp-social-link a { padding: 9px !important; }

/* Footer bottom bar */
.bb-footer-bottom {
  width: min(1180px, calc(100% - 48px));
  margin: 34px auto 0 !important;
  padding-top: 22px;
  border-top: 1px solid rgba(200,169,106,.15);
  display: flex !important;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  color: #64748B;
}
.bb-footer-bottom p {
  margin: 0 !important;
  color: #64748B;
  font-size: 13px;
}

/* ── Responsive — 1100px ──────────────────────────────────── */
@media (max-width: 1100px) {
  .bb-header-inner {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .bb-header-nav { order: 3; width: 100%; justify-content: center; }
  .bb-hero-grid,
  .bb-split      { grid-template-columns: 1fr !important; }
  .bb-hero-grid  { gap: 48px !important; }
  .bb-four       { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-services-grid,
  .bb-three      { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-footer-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ── Responsive — 782px (mobile) ─────────────────────────── */
@media (max-width: 782px) {
  :root { --bb-header-h: 64px; }
  .admin-bar .bb-site-header { top: 46px; }

  .bb-header-inner,
  .bb-container,
  .bb-footer-grid,
  .bb-footer-bottom {
    width: calc(100% - 32px);
  }
  .bb-header-inner {
    min-height: auto;
    padding: 12px 0;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }
  .bb-brand-tagline { display: none; }
  .bb-header-actions { display: none !important; }

  /* Hero full-screen mobile */
  .bb-hero {
    min-height: calc(100dvh - var(--bb-header-h));
    padding: 52px 0 80px;
    align-items: flex-start;
  }
  .bb-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .bb-hero h1,
  .bb-hero .wp-block-heading {
    font-size: clamp(36px, 11vw, 52px);
  }
  .bb-hero-device { max-width: 100%; }
  .bb-hero-badges { display: none; }

  .bb-section h2,
  .bb-section .wp-block-heading,
  .bb-final-cta h2 {
    font-size: clamp(28px, 9vw, 44px);
  }

  .bb-section     { padding: 64px 0; }
  .bb-inner-hero  { padding: 58px 0; }

  .bb-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .bb-btn-primary .wp-block-button__link,
  .bb-btn-outline .wp-block-button__link {
    width: 100%;
    justify-content: center;
    padding: 15px 20px;
  }

  .bb-card-grid,
  .bb-services-grid,
  .bb-three,
  .bb-two,
  .bb-four {
    grid-template-columns: 1fr !important;
  }

  .bb-footer-grid        { grid-template-columns: 1fr !important; text-align: center; }
  .bb-footer-logo-row    { justify-content: center; }
  .bb-footer-nav .wp-block-navigation__container { align-items: center !important; }
  .bb-social-links       { justify-content: center !important; }
  .bb-footer-bottom      { justify-content: center; text-align: center; }
  .bb-footer-list        { align-items: center; }

  .bb-service-strip {
    padding-left: 16px;
    padding-right: 16px;
  }
  .bb-final-cta .bb-container { padding: 38px 22px; }
}

/* ── Responsive — 430px (large phone) ────────────────────── */
@media (max-width: 430px) {
  .bb-hero h1,
  .bb-hero .wp-block-heading {
    font-size: clamp(34px, 10.5vw, 46px);
  }
  .bb-hero-device-body  { padding: 14px; }
  .bb-mock-cards        { grid-template-columns: 1fr; }
  .bb-hero-device-bar   { padding: 10px 12px; }
}

/* ── 5-up grid (process timeline) ─────────────────────────── */
.bb-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { .bb-five { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 782px)  { .bb-five { grid-template-columns: 1fr; } }

/* ── Process step card ────────────────────────────────────── */
.bb-step { text-align: left; }
.bb-step-num {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bb-gold), var(--bb-gold2));
  color: #111827; font-weight: 900; font-family: var(--bb-font-head);
  margin-bottom: 14px;
}

/* ── Sticky/lockable header — hide on scroll ──────────────── */
.bb-site-header { transition: transform .35s ease; }
.bb-site-header.bb-nav-hidden { transform: translateY(-100%); }
.bb-nav-lock-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(200,169,106,.32);
  background: rgba(255,255,255,.06);
  color: var(--bb-gold2);
  cursor: pointer;
  margin-left: 10px;
  flex-shrink: 0;
  font-size: 15px;
  transition: background .2s, transform .2s;
}
.bb-nav-lock-toggle:hover { background: rgba(200,169,106,.18); transform: translateY(-1px); }
.bb-nav-lock-toggle[aria-pressed="true"] { background: rgba(200,169,106,.28); color: #fff; }
@media (max-width: 782px) { .bb-nav-lock-toggle { display: none; } }

/* ── Custom cursor (desktop, mouse-only) ──────────────────── */
.bb-cursor-dot, .bb-cursor-ring {
  position: fixed; top: 0; left: 0;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
  will-change: transform;
}
.bb-cursor-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--bb-gold);
}
.bb-cursor-ring {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(200,169,106,.55);
  transition: width .25s, height .25s, border-color .25s, background .25s;
}
.bb-cursor-ring.is-active {
  width: 56px; height: 56px;
  background: rgba(200,169,106,.12);
  border-color: var(--bb-gold);
}
body.bb-has-custom-cursor, body.bb-has-custom-cursor a, body.bb-has-custom-cursor button { cursor: none; }

/* ── Pricing table ─────────────────────────────────────────── */
.bb-pricing-card {
  position: relative;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 26px;
  padding: 36px 28px;
  box-shadow: 0 14px 40px rgba(15,23,42,.06);
  display: flex; flex-direction: column; gap: 14px;
  transition: transform .35s, box-shadow .35s, border-color .35s;
}
.bb-pricing-card:hover { transform: translateY(-7px); box-shadow: 0 28px 60px rgba(15,23,42,.12); }
.bb-pricing-card.bb-featured { border-color: var(--bb-gold); box-shadow: 0 20px 50px rgba(200,169,106,.22); }
.bb-pricing-badge {
  position: absolute; top: -13px; right: 28px;
  background: linear-gradient(135deg, var(--bb-gold), var(--bb-gold2));
  color: #111827; font-weight: 800; font-size: 12px;
  padding: 6px 14px; border-radius: 999px;
}
.bb-pricing-name { font-family: var(--bb-font-head); font-size: 22px; font-weight: 700; margin: 0; }
.bb-pricing-price { font-family: var(--bb-font-head); font-size: 38px; font-weight: 700; color: #0F172A; margin: 0; }
.bb-pricing-price span { font-size: 14px; font-weight: 600; color: #64748B; }
.bb-pricing-delivery {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 800; color: #8a6a26;
  background: rgba(200,169,106,.12); border-radius: 999px; padding: 6px 12px; width: fit-content;
}
.bb-pricing-features { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bb-pricing-features li { font-size: 14.5px; color: #334155; padding-left: 26px; position: relative; }
.bb-pricing-features li::before {
  content: "\2713"; position: absolute; left: 0; top: 0;
  width: 18px; height: 18px; border-radius: 50%;
  background: rgba(200,169,106,.18); color: #8a6a26;
  font-size: 11px; display: flex; align-items: center; justify-content: center;
}

/* ── Testimonial card ─────────────────────────────────────── */
.bb-testimonial-card {
  background: #fff; border: 1px solid #E2E8F0; border-radius: 26px;
  padding: 28px; box-shadow: 0 14px 40px rgba(15,23,42,.06);
  display: flex; flex-direction: column; gap: 14px;
}
.bb-testimonial-stars { color: var(--bb-gold); font-size: 15px; letter-spacing: 2px; }
.bb-testimonial-quote { font-size: 15.5px; color: #334155; line-height: 1.7; margin: 0; }
.bb-testimonial-author { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.bb-testimonial-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--bb-gold), var(--bb-gold2));
  display: flex; align-items: center; justify-content: center;
  color: #111827; font-weight: 800; font-family: var(--bb-font-head); flex-shrink: 0;
}
.bb-testimonial-name { font-weight: 800; font-size: 14px; color: #0F172A; margin: 0; }
.bb-testimonial-role { font-size: 12.5px; color: #64748B; margin: 0; }

/* ── FAQ accordion ─────────────────────────────────────────── */
.bb-faq-item {
  border: 1px solid #E2E8F0; border-radius: 18px;
  background: #fff; margin-bottom: 12px; overflow: hidden;
}
.bb-faq-question {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; text-align: left; background: none; border: none; cursor: pointer;
  padding: 18px 22px; font-family: var(--bb-font-head); font-size: 16.5px; font-weight: 700; color: #0F172A;
}
.bb-faq-icon { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: rgba(200,169,106,.14); color: #8a6a26; display: flex; align-items: center; justify-content: center; font-weight: 900; transition: transform .3s; }
.bb-faq-item.is-open .bb-faq-icon { transform: rotate(45deg); }
.bb-faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.bb-faq-answer > p { padding: 0 22px 20px; margin: 0; }
.bb-faq-answer-inner { padding: 0 22px 20px; color: #475569; font-size: 15px; line-height: 1.7; }

/* ── Blog card ──────────────────────────────────────────────── */
.bb-blog-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 22px; overflow: hidden; box-shadow: 0 14px 40px rgba(15,23,42,.06); transition: transform .35s, box-shadow .35s; }
.bb-blog-card:hover { transform: translateY(-6px); box-shadow: 0 24px 54px rgba(15,23,42,.12); }
.bb-blog-card-img { aspect-ratio: 16/10; overflow: hidden; }
.bb-blog-card-img img { width: 100%; height: 100%; object-fit: cover; }
.bb-blog-card-body { padding: 22px; }
.bb-blog-cat { display: inline-block; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #8a6a26; background: rgba(200,169,106,.12); border-radius: 999px; padding: 5px 12px; margin-bottom: 12px; }
.bb-blog-card h3 { font-size: 18px; margin: 0 0 8px; }
.bb-blog-card p { font-size: 14.5px; color: #64748B; }

/* ── Portfolio hover-reveal grid ──────────────────────────────── */
.bb-portfolio-card { position: relative; border-radius: 22px; overflow: hidden; box-shadow: 0 14px 40px rgba(15,23,42,.08); }
.bb-portfolio-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .5s ease; }
.bb-portfolio-overlay {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 22px; background: linear-gradient(180deg, transparent 30%, rgba(7,17,31,.92) 100%);
  opacity: 0; transition: opacity .35s ease;
}
.bb-portfolio-card:hover img { transform: scale(1.06); }
.bb-portfolio-card:hover .bb-portfolio-overlay { opacity: 1; }
@media (hover: none) { .bb-portfolio-overlay { opacity: 1; background: linear-gradient(180deg, transparent 45%, rgba(7,17,31,.88) 100%); } }
.bb-portfolio-overlay .bb-blog-cat { background: rgba(200,169,106,.22); color: #fff; }
.bb-portfolio-overlay h3 { color: #fff; margin: 6px 0 4px; font-size: 18px; }
.bb-portfolio-overlay p { color: #CBD5E1; font-size: 13.5px; margin: 0; }

/* ── Forms ────────────────────────────────────────────────────── */
.bb-form-wrap { background: #fff; border: 1px solid #E2E8F0; border-radius: 26px; padding: 36px; box-shadow: 0 14px 40px rgba(15,23,42,.06); }
.bb-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 600px) { .bb-form-row { grid-template-columns: 1fr; } }
.bb-field label, .fluentform .ff-el-input--label label { font-weight: 800; font-size: 13.5px; color: #0F172A; display: block; margin-bottom: 6px; }
.bb-field input, .bb-field select, .bb-field textarea,
.fluentform input[type=text], .fluentform input[type=email], .fluentform input[type=tel], .fluentform select, .fluentform textarea {
  width: 100%; border: 1.5px solid #E2E8F0; border-radius: 12px; padding: 12px 14px; font-size: 15px; font-family: var(--bb-font-body);
  transition: border-color .2s, box-shadow .2s;
}
.bb-field input:focus, .bb-field select:focus, .bb-field textarea:focus,
.fluentform input:focus, .fluentform select:focus, .fluentform textarea:focus {
  outline: none; border-color: var(--bb-gold); box-shadow: 0 0 0 3px rgba(200,169,106,.18);
}
.bb-checkbox-group, .bb-radio-group { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 600px) { .bb-checkbox-group, .bb-radio-group { grid-template-columns: 1fr; } }
.bb-checkbox-group label, .bb-radio-group label {
  display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 600; color: #334155;
  border: 1.5px solid #E2E8F0; border-radius: 12px; padding: 11px 14px; cursor: pointer; transition: border-color .2s, background .2s;
}
.bb-checkbox-group label:hover, .bb-radio-group label:hover { border-color: rgba(200,169,106,.5); background: rgba(200,169,106,.05); }
.bb-form-submit { border-radius: 999px; background: linear-gradient(135deg, var(--bb-gold), var(--bb-gold2)); color: #111827 !important; font-weight: 800; border: none; padding: 14px 30px; font-size: 15px; cursor: pointer; transition: transform .25s, box-shadow .25s; }
.bb-form-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(200,169,106,.34); }

/* ── Reduced motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .bb-hero-device,
  .bb-hero-badge,
  .bb-mock-heading,
  .bb-mock-para,
  .bb-mock-btn,
  .bb-mock-stat-num,
  .bb-hero-anim-1,
  .bb-hero-anim-2,
  .bb-hero-anim-3,
  .bb-hero-anim-4,
  .bb-hero-anim-5 {
    animation: none !important;
  }
  .bb-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .bb-card:hover { transform: none; }
}

/* Fluent Forms brand override */
.bb-form-wrap .fluentform { font-family: var(--bb-font-body); }
.bb-form-wrap .ff-el-form-control,
.bb-form-wrap select.ff-el-form-control,
.bb-form-wrap textarea.ff-el-form-control {
  border: 1.5px solid #E2E8F0 !important; border-radius: 12px !important;
  padding: 12px 16px !important; font-size: 15px !important; background:#fff !important;
  transition: border-color .2s, box-shadow .2s;
}
.bb-form-wrap .ff-el-form-control:focus {
  border-color: #C8A96A !important; box-shadow: 0 0 0 3px rgba(200,169,106,.18) !important; outline: none !important;
}
.bb-form-wrap .ff-el-input--label, .bb-form-wrap label {
  font-weight: 700 !important; color: #0F172A !important; font-size: 14px !important; margin-bottom: 6px !important;
}
.bb-form-wrap .ff-el-form-check-label { font-weight: 500 !important; color: #334155 !important; }
.bb-form-wrap .ff-btn-submit, .bb-form-wrap button[type="submit"] {
  background: linear-gradient(135deg,#C8A96A,#E6C987) !important; color: #111827 !important;
  font-weight: 800 !important; border: none !important; border-radius: 999px !important;
  padding: 14px 30px !important; font-size: 15px !important; cursor: pointer; transition: transform .2s;
}
.bb-form-wrap .ff-btn-submit:hover, .bb-form-wrap button[type="submit"]:hover { transform: translateY(-2px); }
.bb-form-wrap .ff-el-group { margin-bottom: 20px !important; }
.bb-form-wrap .ff_msg_success { border-radius: 14px !important; }
