/* --- CUSTOM THEMATIC VARIABLES (LIGHT THEME) --- */
:root {
  /* Site Theme Colors based on Minty fresh active joint support look */
  --bv-bg-base: #F4F8F6;       /* Mint cream background */
  --bv-bg-surface: #FFFFFF;    /* Pure solid white */
  --bv-ink-deep: #16362D;      /* Deep dark forest green for top clarity & WCAG AA contrast */
  --bv-ink-body: #3C524B;      /* Sophisticated medium body text */
  --bv-accent-core: #1EA896;   /* Active clinical teal accent */
  --bv-accent-hover: #157E70;  /* Darker teal for interaction loops */
  --bv-accent-warm: #E65F2B;   /* Beautiful energetic orange for badges, CTA highlights */
  --bv-accent-muted: #E2ECE8;  /* Light mint wash for subtle borders or plates */

  /* Typography */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Poppins', sans-serif;

  /* Form & Border Attributes: SOFT theme (12-20px) */
  --bv-radius-soft: 16px;
  --bv-radius-inner: 10px;

  /* Shadows: RAISED theme (subtle, standard high-quality elevation) */
  --bv-shadow-elevation: 0 4px 14px rgba(22, 54, 45, 0.06);
  --bv-shadow-highlight: 0 8px 24px rgba(230, 95, 43, 0.25);

  /* Layout */
  --bv-container-max: 1200px;
}

/* --- BASE STYLING --- */
body.bv-body-canvas {
  background-color: var(--bv-bg-base);
  color: var(--bv-ink-body);
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Container limits applied only to core content width */
.bv-outer-canvas {
  max-width: var(--bv-container-max);
  width: 100%;
}

/* Decorative background pattern (discrete abstract SVG) */
body.bv-body-canvas::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 650px;
  background-image: radial-gradient(circle at 10% 20%, rgba(30, 168, 150, 0.05) 0%, transparent 40%),
                    radial-gradient(circle at 90% 80%, rgba(230, 95, 43, 0.03) 0%, transparent 50%);
  pointer-events: none;
  z-index: -1;
}

/* --- HEADER --- */
.bv-top-masthead {
  background-color: var(--bv-bg-surface);
  border-bottom: 1px solid var(--bv-accent-muted);
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 2px 8px rgba(22, 54, 45, 0.02);
}

.bv-brand-symbol {
  color: var(--bv-accent-core);
  width: 28px;
  height: 28px;
}

.bv-brand-identity {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--bv-ink-deep);
  letter-spacing: -0.5px;
}

.bv-aesthetic-vector {
  color: var(--bv-accent-core);
}

/* --- PRODUCT & OFFER CURTAIN --- */
.bv-offer-curtain {
  z-index: 10;
}

.bv-frame-outer {
  background-color: var(--bv-bg-surface);
  border-radius: var(--bv-radius-soft);
  box-shadow: var(--bv-shadow-elevation);
  border: 1px solid var(--bv-accent-muted);
}

.bv-main-product-img {
  filter: drop-shadow(0 10px 20px rgba(22, 54, 45, 0.12));
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bv-frame-outer:hover .bv-main-product-img {
  transform: scale(1.02);
}

/* Typography styles matching Montserrat uppercase preset choice */
.bv-caption-main {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.85rem;
  line-height: 1.25;
  color: var(--bv-ink-deep);
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .bv-caption-main {
    font-size: 2.35rem;
  }
}

.bv-badge-label {
  background-color: var(--bv-accent-muted);
  color: var(--bv-ink-deep);
  border-radius: 999px;
  border: 1px solid rgba(30, 168, 150, 0.2);
}

.bv-deck-neutral {
  background-color: var(--bv-bg-surface);
  border-radius: var(--bv-radius-soft);
  box-shadow: var(--bv-shadow-elevation);
  border-left: 5px solid var(--bv-accent-core);
}

.bv-para-highlight {
  font-size: 1.15rem;
  color: var(--bv-ink-deep);
  line-height: 1.5;
}

.bv-para-normal {
  color: var(--bv-ink-body);
  line-height: 1.6;
}

/* Custom bullet list */
.bv-bullet-graphic {
  color: var(--bv-accent-core);
}

.bv-lead-concept {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--bv-ink-deep);
}

.bv-sub-narrative {
  color: var(--bv-ink-body);
  font-size: 0.95rem;
}

/* Guarantee Badge: Left-aligned layout */
.bv-trust-panel {
  background-color: var(--bv-bg-surface);
  border: 1px dashed var(--bv-accent-core);
  border-radius: var(--bv-radius-soft);
}

.bv-trust-icon {
  color: var(--bv-accent-core);
}

.bv-trust-statement {
  color: var(--bv-ink-deep);
}

/* Checkout / Price Display: Badge preset (accentuated card background) */
.bv-checkout-zone {
  background-color: var(--bv-bg-surface);
  border-radius: var(--bv-radius-soft);
  border: 2px solid var(--bv-accent-muted);
  box-shadow: var(--bv-shadow-elevation);
}

.bv-price-label {
  color: var(--bv-ink-body);
}

.bv-badge-cost {
  background-color: var(--bv-accent-warm);
  color: var(--bv-bg-surface);
  border-radius: var(--bv-radius-inner);
  box-shadow: var(--bv-shadow-highlight);
}

.bv-price-num {
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1;
}

/* CTA Trigger Button */
.bv-trigger-btn {
  background: var(--bv-accent-core);
  color: var(--bv-bg-surface);
  border-radius: var(--bv-radius-soft);
  box-shadow: 0 4px 15px rgba(30, 168, 150, 0.3);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  text-transform: uppercase;
  font-family: var(--font-display);
  letter-spacing: 0.5px;
}

.bv-trigger-btn:hover {
  background: var(--bv-accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(21, 126, 112, 0.4);
}

.bv-trigger-btn:active {
  transform: translateY(1px);
}

/* --- FEATURES SECTION --- */
.bv-feature-track {
  background-color: var(--bv-bg-surface);
  border-top: 1px solid var(--bv-accent-muted);
  border-bottom: 1px solid var(--bv-accent-muted);
}

.bv-section-header {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.85rem;
  color: var(--bv-ink-deep);
  line-height: 1.3;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .bv-section-header {
    font-size: 2.15rem;
  }
}

.bv-feature-strip {
  background-color: var(--bv-bg-base);
  border-radius: var(--bv-radius-soft);
  border: 1px solid var(--bv-accent-muted);
  transition: transform 0.3s ease;
}

.bv-feature-strip:hover {
  transform: translateY(-3px);
}

.bv-circle-avatar {
  background-color: var(--bv-accent-core);
  color: var(--bv-bg-surface);
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(30, 168, 150, 0.15);
}

.bv-feature-strip-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--bv-ink-deep);
}

/* --- FEEDBACK / TESTIMONIALS SECTION --- */
.bv-feedback-carousel {
  background-color: var(--bv-bg-base);
}

.bv-feedback-card {
  background-color: var(--bv-bg-surface);
  border-radius: var(--bv-radius-soft);
  border-top: 4px solid var(--bv-accent-core);
  box-shadow: var(--bv-shadow-elevation);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bv-feedback-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(22, 54, 45, 0.08);
}

.bv-avatar-initials {
  background-color: var(--bv-accent-muted);
  color: var(--bv-ink-deep);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--bv-accent-core);
}

.bv-client-name {
  color: var(--bv-ink-deep);
  font-size: 0.95rem;
}

.bv-client-loc {
  color: var(--bv-accent-core);
}

/* --- FOOTER --- */
.bv-bottom-anchor {
  background-color: var(--bv-ink-deep);
  color: rgba(255, 255, 255, 0.75);
}

.bv-foot-symbol {
  color: var(--bv-accent-core);
  width: 24px;
  height: 24px;
}

.bv-foot-brand {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.35rem;
  color: var(--bv-bg-surface);
}

.bv-foot-link {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.bv-foot-link:hover {
  color: var(--bv-accent-core);
  text-decoration: underline;
}

.bv-divider {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bv-foot-disclaimer {
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.6;
}

.bv-foot-copyright {
  color: rgba(255, 255, 255, 0.4);
}