/* --- CUSTOM COLOR PALETTE & STYLES FOR BONIVITA --- */

:root {
  /* LIGHT Theme Config Styles */
  --bo-bg: #FAF9F5;              /* Cream / Natural Warm Background */
  --bo-surface: #FFFFFF;         /* Solid White Card Surface */
  --bo-tone: #079287;            /* Active Emerald/Teal Primary Accent */
  --bo-tone-hover: #057a70;      /* Darker Teal on Hover */
  --bo-ink: #111827;             /* Dark Charcoal / Deep Gray Slate for contrast */
  --bo-ink-muted: #4B5563;       /* Balanced Gray for readable body text */
  --bo-border: #E5E7EB;          /* Light border line */
  --bo-accent: #EAB308;          /* Amber accent for stars/highlights */
  --bo-gradient: linear-gradient(135deg, #079287 0%, #057a70 100%);
  
  /* Layout & Width Configs */
  --bo-max-width: 1180px;        /* [container-width] configured dynamically between 960px-1380px */
  
  /* Rounded Corners - Soft layout config (12-20px) */
  --bo-radius: 16px;             
  
  /* Shadow Depth - Raised layout config (standard raised depth) */
  --bo-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.05), 0 1px 3px 0 rgba(0, 0, 0, 0.03);

  /* Font Configs */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Poppins', sans-serif;
}

/* Base structural setups ensuring min viewport height constraints */
.bo-app-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Custom class representing Container-width boundaries avoiding restricted '.container' class names */
.bo-container-box {
  width: 100%;
  max-width: var(--bo-max-width);
}

/* Preset A structural split setups (Sticky Image Gallery vs Scrolling details) */
.bo-split-holder {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .bo-split-holder {
    flex-direction: row;
    align-items: flex-start;
  }
  
  .bo-left-sticky {
    width: 40%;
    position: -webkit-sticky;
    position: sticky;
    top: 2rem;
    align-self: flex-start;
  }

  .bo-right-scroll {
    width: 60%;
    padding-left: 1.5rem;
  }
}

/* Custom Features Row Style (Separate component Preset A) */
.bo-benefit-row {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bo-benefit-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 20px -3px rgba(0, 0, 0, 0.08);
}

.bo-icon-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Responsive grid for Customer Feedback (Testimonials Grid Preset A) */
.bo-grid-two-col {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .bo-grid-two-col {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* UI details styling */
.bo-avatar-initials {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

/* CTA hover animation rules */
.bo-action-anchor {
  transition: transform 0.2s ease, filter 0.2s ease;
}

.bo-action-anchor:hover {
  transform: translateY(-1px);
  filter: brightness(1.05) drop-shadow(0 6px 10px rgba(7, 146, 135, 0.35));
}

.bo-action-anchor:active {
  transform: translateY(1px);
}

/* Abstract decorations visibility configuration */
@media (max-width: 1023px) {
  .bo-abstract-deco {
    display: none !important;
  }
}