/* =====================================================================
   Blue Oasis — phone layouts (max-width 767px) for every site page that
   uses includes/header.php. Desktop and tablet are untouched.

   Type scale   h1 31 · h2 25 · h3 18 · card title 15 · body 14 · card 13 · label 10.5
   Spacing      section 44px · gutters 16px · card padding 14px · gaps 10-12px
   Patterns     ROWS     feature/benefit cards → icon-left compact rows
                TILES    short items → two-up tiles
                STATS    numbers → one tight row (2×2 when labels are long)
                SLIDER   image cards, tiers, testimonials → swipe, next card peeks
                STEPS    processes and schedules → slim timeline
                LIST     journal → thumbnail list
   ===================================================================== */

@media (max-width: 767px) {

/* ---------------------------------------------------------------- base */
html, body { max-width: 100%; overflow-x: hidden; overflow-x: clip; }
#bo-main { font-size: 14px; line-height: 1.6; }
#bo-main img, #bo-main video, #bo-main iframe { max-width: 100%; }
#bo-main input, #bo-main select, #bo-main textarea { font-size: 16px !important; }
#bo-main .container { padding-left: 16px !important; padding-right: 16px !important; }

#bo-main > section, #bo-main > div > section, #bo-main > section > section {
    padding-top: 44px !important; padding-bottom: 44px !important;
}
#bo-main h1 { font-size: 31px !important; line-height: 1.1 !important; letter-spacing: -0.01em; margin-bottom: 12px !important; }
#bo-main h2 { font-size: 25px !important; line-height: 1.16 !important; margin-bottom: 10px !important; }
#bo-main h3 { font-size: 18px !important; line-height: 1.25 !important; }
#bo-main h4 { font-size: 15.5px !important; line-height: 1.3 !important; }
#bo-main h5 { font-size: 14px !important; }
#bo-main p, #bo-main li { font-size: 14px; line-height: 1.6; }

/* Section heads: eyebrow, title, one short intro */
#bo-main .section-header, #bo-main [class*="section-head"], #bo-main .benefits-header, #bo-main .programs-header,
#bo-main .testimonials-header, #bo-main .features-header, #bo-main .library-header, #bo-main .comparison-header,
#bo-main .faq-header, #bo-main .priority-header, #bo-main .process-header, #bo-main .locations-header,
#bo-main .team-header, #bo-main .impact-header, #bo-main .j-grid-header {
    margin-bottom: 20px !important; max-width: none !important;
}
#bo-main .section-header p, #bo-main [class*="section-head"] p, #bo-main [class$="-header"] > p,
#bo-main .section-subtitle { font-size: 14px !important; line-height: 1.55 !important; margin-top: 6px !important; margin-bottom: 0 !important; }
#bo-main .section-badge, #bo-main [class*="section-label"], #bo-main .j-badge, #bo-main .contact-badge, #bo-main .equine-badge,
#bo-main .corporate-badge, #bo-main .plan-badge, #bo-main .popular-badge, #bo-main .animal-badge, #bo-main .dining-badge,
#bo-main .hero-badge-tech, #bo-main [class$="-hero"] [class*="badge"] {
    font-size: 10.5px !important; letter-spacing: 0.16em !important; padding: 6px 12px !important; margin-bottom: 12px !important; gap: 6px !important;
}

/* Buttons: one clear size */
#bo-main .btn-primary, #bo-main .btn-outline, #bo-main .btn-orange, #bo-main .btn-green, #bo-main .btn-secondary,
#bo-main [class$="-btn"], #bo-main [class*="-btn "], #bo-main .tier-btn, #bo-main .session-btn {
    font-size: 12.5px !important; letter-spacing: 0.06em !important; padding: 12px 20px !important; min-height: 44px; gap: 8px !important;
}
#bo-main [class*="buttons"], #bo-main [class*="cta-group"], #bo-main .hero-buttons { gap: 8px !important; flex-wrap: wrap; }

/* ---------------------------------------------------------------- heroes */
#bo-main .animal-hero, #bo-main .j-hero, #bo-main .biofeedback-hero, #bo-main .contact-hero, #bo-main .corporate-hero,
#bo-main .plan-hero, #bo-main .dining-hero, #bo-main .equine-hero, #bo-main .profile-hero, #bo-main .coaches-hero,
#bo-main .story-hero, #bo-main .ad-hero, #bo-main .cw-hero, #bo-main .fc-hero, #bo-main .hr-hero, #bo-main .hk-hero,
#bo-main .gy-hero, #bo-main .retreats-hero, #bo-main .sanc-hero, #bo-main .vip-app-hero, #bo-main .vip-hero,
#bo-main .wear-hero, #bo-main .wa-hero, #bo-main .workshops-hero {
    min-height: 0 !important; height: auto !important; padding: 92px 0 34px !important; align-items: flex-end;
}
#bo-main [class$="-hero"] h1 { font-size: 32px !important; }
#bo-main [class$="-hero"] p, #bo-main [class*="hero-desc"], #bo-main .animal-description, #bo-main .dining-description {
    font-size: 14.5px !important; line-height: 1.6 !important; margin-bottom: 18px !important; max-width: none !important;
}
#bo-main .animal-hero-content, #bo-main .dining-hero-content { position: relative !important; padding: 0 16px !important; top: auto !important; transform: none !important; }
#bo-main .animal-hero-image, #bo-main .dining-hero-image { position: absolute; inset: 0; height: 100%; }
#bo-main .hero-grid { display: block !important; padding: 0 16px !important; }
/* decorative visuals that only cost space on a phone */
#bo-main .tech-visual, #bo-main .plan-card-3d, #bo-main .plan-features-preview { display: none !important; }
/* hero feature ticks */
#bo-main .animal-features, #bo-main .dining-features, #bo-main .tech-features-list { gap: 6px !important; margin-bottom: 18px !important; }
#bo-main .animal-feature, #bo-main .dining-feature, #bo-main .tech-feature-item { font-size: 13px !important; }

/* --------------------------------------------------------------- STATS */
#bo-main .what-is-stats, #bo-main .roi-stats, #bo-main .community-stats, #bo-main .chef-stats, #bo-main .profile-stats,
#bo-main .coaches-stats, #bo-main .featured-stats, #bo-main .impact-stats, #bo-main .cw-roi-stats, #bo-main .fc-stat-banner,
#bo-main .hr-stat-banner, #bo-main .results-grid, #bo-main .gmed-stats, #bo-main .corporate-stats, #bo-main .cw-stats-row,
#bo-main .fc-stats-row, #bo-main .hr-stats-row, #bo-main .hk-stats-row, #bo-main .gy-stats-row, #bo-main .workshops-stats,
#bo-main .wa-stats, #bo-main .wear-hero-stat {
    display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; margin-top: 16px !important;
    flex-wrap: nowrap !important;
}
#bo-main .roi-stats, #bo-main .cw-roi-stats, #bo-main .fc-stat-banner, #bo-main .hr-stat-banner, #bo-main .results-grid,
#bo-main .what-is-stats, #bo-main .impact-stats { grid-template-columns: 1fr 1fr !important; }
#bo-main .what-is-stat, #bo-main .roi-stat, #bo-main .community-stat, #bo-main .chef-stat, #bo-main .profile-stat,
#bo-main .coaches-stat, #bo-main .featured-stat, #bo-main .impact-stat, #bo-main .cw-roi-stat, #bo-main .fc-sb-card,
#bo-main .hr-sb-card, #bo-main .result-card, #bo-main .gmed-stat, #bo-main .corporate-stat, #bo-main .cw-stat, #bo-main .fc-stat,
#bo-main .hr-stat, #bo-main .hk-stat, #bo-main .gy-stat, #bo-main .workshops-stat, #bo-main .wa-stats > *, #bo-main .wear-hero-stat > * {
    padding: 12px 8px !important; border-radius: 12px !important; text-align: center !important; min-width: 0 !important;
    background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(255, 255, 255, 0.07); margin: 0 !important;
}
#bo-main [class*="stat-number"], #bo-main [class*="stat-num"], #bo-main [class*="stat-value"], #bo-main .fc-sb-num, #bo-main .hr-sb-num,
#bo-main .result-percentage, #bo-main .gmed-stat .num, #bo-main .cw-stat-number, #bo-main .wa-stats b, #bo-main .wear-hero-stat b {
    font-size: 22px !important; line-height: 1.1 !important; margin-bottom: 4px !important;
}
#bo-main [class*="stat-label"], #bo-main .fc-sb-label, #bo-main .hr-sb-label, #bo-main .result-label, #bo-main .gmed-stat .lbl {
    font-size: 10.5px !important; line-height: 1.3 !important; letter-spacing: 0.04em !important;
}
#bo-main .result-bar { margin-top: 8px !important; height: 4px !important; }

/* ---------------------------------------------------------------- ROWS */
#bo-main .benefits-grid, #bo-main .benefits-grid-tech, #bo-main .features-grid, #bo-main .priority-grid, #bo-main .philosophy-grid,
#bo-main .values-grid, #bo-main .specialties-grid, #bo-main .cw-grid-3:has(> .cw-card), #bo-main .fc-grid-3:has(> .fc-card),
#bo-main .hr-grid-3:has(> .hr-card), #bo-main .hk-grid-3:has(> .hk-card), #bo-main .gy-grid-3:has(> .gy-card), #bo-main .wear-features,
#bo-main .wear-data-grid, #bo-main .tech-features, #bo-main .about-benefits, #bo-main .philosophy-principles,
#bo-main .sanc-coming-grid, #bo-main .cw-cost-grid {
    display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important;
}
#bo-main .benefit-card, #bo-main .benefit-card-tech, #bo-main .feature-card, #bo-main .priority-card, #bo-main .philosophy-card,
#bo-main .value-card, #bo-main .specialty-card, #bo-main .cw-card, #bo-main .fc-card, #bo-main .hr-card, #bo-main .hk-card,
#bo-main .gy-card, #bo-main .wear-feat, #bo-main .sanc-cs-card, #bo-main .cw-cost-card {
    display: grid !important; grid-template-columns: 42px 1fr; column-gap: 12px; row-gap: 2px; align-items: start; align-content: start;
    text-align: left !important; padding: 14px !important; border-radius: 14px !important; min-height: 0 !important; height: auto !important;
}
#bo-main .benefit-card > :first-child, #bo-main .benefit-card-tech > :first-child, #bo-main .feature-card > :first-child,
#bo-main .priority-card > :first-child, #bo-main .philosophy-card > :first-child, #bo-main .value-card > :first-child,
#bo-main .specialty-card > :first-child, #bo-main .cw-card > :first-child, #bo-main .fc-card > :first-child, #bo-main .hr-card > :first-child,
#bo-main .hk-card > :first-child, #bo-main .gy-card > :first-child, #bo-main .wear-feat > :first-child, #bo-main .sanc-cs-card > :first-child,
#bo-main .cw-cost-card > :first-child {
    grid-column: 1; grid-row: 1 / span 4; width: 42px !important; height: 42px !important; margin: 0 !important;
    border-radius: 12px !important; font-size: 17px !important; display: inline-flex !important; align-items: center; justify-content: center;
}
#bo-main .specialty-card > svg:first-child, #bo-main .sanc-cs-card > i:first-child { padding: 10px; background: rgba(255, 255, 255, 0.05); }
#bo-main .benefit-card svg, #bo-main .benefit-card-tech svg, #bo-main .feature-card svg, #bo-main .priority-card svg,
#bo-main .philosophy-card svg, #bo-main .value-card svg { width: 20px !important; height: 20px !important; }
#bo-main .benefit-card > :not(:first-child), #bo-main .benefit-card-tech > :not(:first-child), #bo-main .feature-card > :not(:first-child),
#bo-main .priority-card > :not(:first-child), #bo-main .philosophy-card > :not(:first-child), #bo-main .value-card > :not(:first-child),
#bo-main .specialty-card > :not(:first-child), #bo-main .cw-card > :not(:first-child), #bo-main .fc-card > :not(:first-child),
#bo-main .hr-card > :not(:first-child), #bo-main .hk-card > :not(:first-child), #bo-main .gy-card > :not(:first-child),
#bo-main .wear-feat > :not(:first-child), #bo-main .sanc-cs-card > :not(:first-child), #bo-main .cw-cost-card > :not(:first-child) {
    grid-column: 2; margin: 0 !important; text-align: left !important;
}
#bo-main .benefit-card h3, #bo-main .benefit-card h4, #bo-main .benefit-card-tech h3, #bo-main .feature-card h4, #bo-main .priority-card h4,
#bo-main .philosophy-card h4, #bo-main .value-card h4, #bo-main .specialty-card h4, #bo-main .cw-card h4, #bo-main .fc-card h4,
#bo-main .hr-card h4, #bo-main .hk-card h4, #bo-main .gy-card h4, #bo-main .wear-feat h4, #bo-main .sanc-cs-card h4, #bo-main .cw-cost-card h4 {
    font-size: 15.5px !important; line-height: 1.3 !important; margin: 1px 0 3px !important;
}
#bo-main .benefit-card p, #bo-main .benefit-card-tech p, #bo-main .feature-card p, #bo-main .priority-card p, #bo-main .philosophy-card p,
#bo-main .value-card p, #bo-main .specialty-card p, #bo-main .cw-card p, #bo-main .fc-card p, #bo-main .hr-card p, #bo-main .hk-card p,
#bo-main .gy-card p, #bo-main .wear-feat p, #bo-main .sanc-cs-card p, #bo-main .cw-cost-card p {
    font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important;
}
#bo-main .cw-cost-stat { font-size: 20px !important; line-height: 1.1 !important; }
/* already-horizontal rows: just tighten */
#bo-main .metric-card { flex-direction: column !important; align-items: flex-start !important; }
#bo-main .metric-card, #bo-main .wear-data-card, #bo-main .tech-feature, #bo-main .about-benefit, #bo-main .philosophy-principle {
    gap: 12px !important; padding: 14px !important; border-radius: 14px !important; text-align: left !important;
}
#bo-main .metric-icon, #bo-main .wear-data-card .d-icon, #bo-main .about-benefit-icon, #bo-main .philosophy-principle-icon, #bo-main .tech-feature-check {
    width: 40px !important; height: 40px !important; flex: 0 0 40px !important; border-radius: 12px !important;
}
#bo-main .metric-card h3, #bo-main .wear-data-card h4, #bo-main .tech-feature h4, #bo-main .about-benefit h4, #bo-main .philosophy-principle h4 { font-size: 15px !important; margin: 0 0 3px !important; }
#bo-main .metric-card p, #bo-main .wear-data-card p, #bo-main .tech-feature p, #bo-main .about-benefit p, #bo-main .philosophy-principle p { font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important; }
#bo-main .metric-range { margin-top: 8px !important; gap: 6px !important; }
#bo-main .metric-range-value { font-size: 15px !important; }

/* --------------------------------------------------------------- TILES */
#bo-main .dietary-grid, #bo-main .farm-features, #bo-main .categories-grid, #bo-main .vip-app-benefits-grid, #bo-main .contact-info-grid,
#bo-main .library-grid, #bo-main .process-grid:has(> .process-card) {
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important;
}
#bo-main .dietary-card, #bo-main .farm-feature, #bo-main .category-card, #bo-main .vip-app-ben, #bo-main .info-card, #bo-main .library-item {
    padding: 14px 12px !important; border-radius: 14px !important; min-height: 0 !important; text-align: left !important;
}
#bo-main .dietary-icon, #bo-main .farm-feature-icon, #bo-main .category-icon, #bo-main .info-icon {
    width: 36px !important; height: 36px !important; border-radius: 10px !important; margin: 0 0 10px !important;
}
#bo-main .dietary-card h3, #bo-main .farm-feature h4, #bo-main .category-card h3, #bo-main .vip-app-ben h4, #bo-main .info-card h4, #bo-main .library-item h5 {
    font-size: 14.5px !important; margin: 0 0 3px !important;
}
#bo-main .dietary-card p, #bo-main .farm-feature p, #bo-main .category-card p, #bo-main .vip-app-ben p, #bo-main .info-card p,
#bo-main .info-card a, #bo-main .library-item span { font-size: 12.5px !important; line-height: 1.45 !important; margin: 0 !important; word-break: break-word; }
#bo-main .vip-app-ben .ben-emoji { font-size: 24px !important; margin-bottom: 6px !important; display: block; }
#bo-main .library-thumb { height: 92px !important; border-radius: 10px !important; margin-bottom: 8px !important; }

/* -------------------------------------------------------------- SLIDER */
#bo-main .animals-grid, #bo-main .session-types, #bo-main .locations-grid, #bo-main .corporate-programs .programs-grid,
#bo-main .equine-programs .programs-grid, #bo-main .testimonials-grid, #bo-main .cw-test-grid, #bo-main .fc-test-grid,
#bo-main .hr-test-grid, #bo-main .hk-test-grid, #bo-main .gy-test-grid, #bo-main .testimonials-carousel, #bo-main .menu-grid,
#bo-main .experience-grid, #bo-main .tiers-grid, #bo-main .cw-grid-3:has(> .cw-tier-card), #bo-main .fc-grid-3:has(> .fc-tier-card),
#bo-main .hr-grid-3:has(> .hr-tier-card), #bo-main .hk-grid-3:has(> .hk-tier-card), #bo-main .gy-grid-3:has(> .gy-tier-card),
#bo-main .retreat-types-grid, #bo-main .accommodations-grid, #bo-main .pricing-grid, #bo-main .workshops-grid, #bo-main .ad-prices,
#bo-main .related-grid, #bo-main .venue-gallery, #bo-main .cw-grid-3:has(> .cw-expert-card), #bo-main .fc-grid-3:has(> .fc-expert-card),
#bo-main .hk-trail-grid, #bo-main .programs-section .programs-grid, #bo-main .ad-path, #bo-main .instructors-grid, #bo-main .metrics-grid {
    display: flex !important; flex-wrap: nowrap !important; gap: 12px !important; overflow-x: auto !important; overflow-y: hidden;
    overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding: 0 16px; -webkit-overflow-scrolling: touch;
    margin: 0 -16px !important; padding: 16px 16px 6px !important; scrollbar-width: none; grid-template-columns: none !important;
    max-width: none !important; width: auto !important; animation: none !important;
}
#bo-main .animals-grid::-webkit-scrollbar, #bo-main .session-types::-webkit-scrollbar, #bo-main .locations-grid::-webkit-scrollbar,
#bo-main .programs-grid::-webkit-scrollbar, #bo-main [class*="test-grid"]::-webkit-scrollbar, #bo-main .testimonials-grid::-webkit-scrollbar,
#bo-main .testimonials-carousel::-webkit-scrollbar, #bo-main .menu-grid::-webkit-scrollbar, #bo-main .experience-grid::-webkit-scrollbar,
#bo-main .tiers-grid::-webkit-scrollbar, #bo-main [class*="grid-3"]::-webkit-scrollbar, #bo-main .retreat-types-grid::-webkit-scrollbar,
#bo-main .accommodations-grid::-webkit-scrollbar, #bo-main .pricing-grid::-webkit-scrollbar, #bo-main .workshops-grid::-webkit-scrollbar,
#bo-main .ad-prices::-webkit-scrollbar, #bo-main .related-grid::-webkit-scrollbar, #bo-main .venue-gallery::-webkit-scrollbar,
#bo-main .hk-trail-grid::-webkit-scrollbar, #bo-main .ad-path::-webkit-scrollbar, #bo-main .instructors-grid::-webkit-scrollbar, #bo-main .metrics-grid::-webkit-scrollbar { display: none; }
#bo-main .animals-grid > *, #bo-main .session-types > *, #bo-main .locations-grid > *, #bo-main .corporate-programs .programs-grid > *,
#bo-main .equine-programs .programs-grid > *, #bo-main .testimonials-grid > *, #bo-main .cw-test-grid > *, #bo-main .fc-test-grid > *,
#bo-main .hr-test-grid > *, #bo-main .hk-test-grid > *, #bo-main .gy-test-grid > *, #bo-main .testimonials-carousel > *, #bo-main .menu-grid > *,
#bo-main .experience-grid > *, #bo-main .tiers-grid > *, #bo-main .cw-grid-3:has(> .cw-tier-card) > *, #bo-main .fc-grid-3:has(> .fc-tier-card) > *,
#bo-main .hr-grid-3:has(> .hr-tier-card) > *, #bo-main .hk-grid-3:has(> .hk-tier-card) > *, #bo-main .gy-grid-3:has(> .gy-tier-card) > *,
#bo-main .retreat-types-grid > *, #bo-main .accommodations-grid > *, #bo-main .pricing-grid > *, #bo-main .workshops-grid > *,
#bo-main .ad-prices > *, #bo-main .related-grid > *, #bo-main .venue-gallery > *, #bo-main .cw-grid-3:has(> .cw-expert-card) > *,
#bo-main .fc-grid-3:has(> .fc-expert-card) > *, #bo-main .hk-trail-grid > *, #bo-main .programs-section .programs-grid > *, #bo-main .ad-path > *, #bo-main .metrics-grid > * {
    flex: 0 0 84% !important; max-width: 84% !important; width: 84% !important; scroll-snap-align: start; margin: 0 !important;
    transform: none !important; min-height: 0 !important;
}
#bo-main .instructors-grid > * { flex: 0 0 62% !important; max-width: 62% !important; scroll-snap-align: start; margin: 0 !important; }
#bo-main .venue-gallery > * { flex-basis: 78% !important; height: 200px !important; }
#bo-main .related-grid > * { flex-basis: 60% !important; max-width: 60% !important; }
/* slider card internals */
#bo-main .animal-image, #bo-main .location-image, #bo-main .program-image, #bo-main .menu-item-image, #bo-main .experience-image,
#bo-main .retreat-type-image, #bo-main .accommodation-image, #bo-main .workshop-image, #bo-main .related-image {
    height: 168px !important; min-height: 0 !important;
}
#bo-main .animal-content, #bo-main .location-content, #bo-main .program-content, #bo-main .menu-item-content, #bo-main .experience-content,
#bo-main .retreat-type-content, #bo-main .accommodation-content, #bo-main .workshop-content, #bo-main .session-content, #bo-main .related-info {
    padding: 14px !important;
}
#bo-main .session-header { padding: 16px 14px 10px !important; }
#bo-main .animal-name, #bo-main .retreat-type-title, #bo-main .accommodation-title, #bo-main .workshop-title, #bo-main .experience-title,
#bo-main .menu-item-name, #bo-main .session-name, #bo-main .program-content h3, #bo-main .location-content h4,
#bo-main [class$="-tier-card"] h3, #bo-main .tier-name, #bo-main .pricing-name, #bo-main .ad-price h3, #bo-main [class$="-expert-card"] h3,
#bo-main .hk-trail-card h4 { font-size: 19px !important; line-height: 1.2 !important; margin-bottom: 6px !important; }
#bo-main .animals-grid p, #bo-main .session-types p, #bo-main .locations-grid p, #bo-main .programs-grid p, #bo-main .menu-grid p,
#bo-main .experience-grid p, #bo-main .tiers-grid .tier-description, #bo-main [class$="-tier-card"] > p, #bo-main .retreat-types-grid p,
#bo-main .accommodations-grid p, #bo-main .pricing-grid p, #bo-main .workshops-grid p, #bo-main .ad-prices p, #bo-main [class$="-expert-card"] p,
#bo-main .hk-trail-card p, #bo-main .ad-path p { font-size: 13px !important; line-height: 1.55 !important; margin-bottom: 10px !important; }
#bo-main .animals-grid li, #bo-main .session-types li, #bo-main .locations-grid li, #bo-main .programs-grid li, #bo-main .tiers-grid li,
#bo-main [class$="-tier-card"] li, #bo-main .retreat-types-grid li, #bo-main .pricing-grid li, #bo-main .ad-prices li {
    font-size: 13px !important; line-height: 1.45 !important; padding-top: 5px !important; padding-bottom: 5px !important; gap: 8px !important;
}
#bo-main [class$="-tier-card"], #bo-main .tier-card, #bo-main .pricing-card, #bo-main .ad-price, #bo-main [class$="-expert-card"],
#bo-main .hk-trail-card, #bo-main .ad-path > * { padding: 18px 16px !important; border-radius: 16px !important; }
#bo-main .tier-price, #bo-main .pricing-price, #bo-main .session-price, #bo-main .retreat-type-price, #bo-main .accommodation-price {
    font-size: 28px !important; line-height: 1.1 !important; margin: 6px 0 10px !important;
}
#bo-main .tier-price span, #bo-main .pricing-price span, #bo-main .session-price span { font-size: 12px !important; }
#bo-main [class$="-tier-features"], #bo-main .tier-features, #bo-main .pricing-features, #bo-main .session-features,
#bo-main .retreat-type-features, #bo-main .program-features { margin: 8px 0 14px !important; }
#bo-main [class$="-tier-btn"], #bo-main .tier-btn, #bo-main .session-btn, #bo-main .ad-btn { width: 100%; justify-content: center; }
/* testimonials */
#bo-main .testimonial-card, #bo-main .testimonial-card-large, #bo-main .equine-testimonial, #bo-main [class$="-test-card"] {
    padding: 18px 16px !important; border-radius: 16px !important;
}
#bo-main .testimonial-card p, #bo-main .testimonial-card-large p, #bo-main .equine-testimonial p, #bo-main [class$="-test-card"] > p,
#bo-main .testimonial-text, #bo-main .testimonial-text-large { font-size: 14px !important; line-height: 1.6 !important; margin-bottom: 14px !important; }
#bo-main .testimonial-quote { font-size: 30px !important; height: auto !important; margin-bottom: 4px !important; line-height: 1 !important; }
#bo-main .testimonial-author h4, #bo-main .testimonial-author h5, #bo-main [class$="-test-info"] h5, #bo-main .testimonial-info-large h4 { font-size: 14px !important; margin: 0 !important; }
#bo-main .testimonial-author span, #bo-main .testimonial-author p, #bo-main [class$="-test-info"] span { font-size: 12px !important; }
#bo-main .testimonial-avatar, #bo-main [class$="-test-avatar"], #bo-main .testimonial-avatar-large { width: 38px !important; height: 38px !important; flex: 0 0 38px !important; }
#bo-main .testimonials-marquee { gap: 12px !important; }
#bo-main .testimonials-marquee .testimonial-card { width: 280px !important; }

/* Slider dots (added by assets/js/mobile-ui.js) */
.m-dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
.m-dots button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 6px; background: rgba(255, 255, 255, 0.25); transition: width .3s, background .3s; cursor: pointer; }
.m-dots button.is-on { width: 20px; background: #2E86DE; }

/* --------------------------------------------------------------- STEPS */
#bo-main .process-grid:has(> .process-step), #bo-main .process-steps, #bo-main .cw-timeline-grid, #bo-main .fc-protocol-grid,
#bo-main .hr-protocol-grid, #bo-main .gy-session-grid, #bo-main .ad-day, #bo-main .wear-steps {
    display: flex !important; flex-direction: column !important; gap: 8px !important; position: relative; padding-left: 22px !important;
}
#bo-main .process-grid:has(> .process-step)::before, #bo-main .process-steps::before, #bo-main .cw-timeline-grid::before,
#bo-main .fc-protocol-grid::before, #bo-main .hr-protocol-grid::before, #bo-main .gy-session-grid::before, #bo-main .ad-day::before,
#bo-main .wear-steps::before {
    content: ''; position: absolute; left: 6px; top: 10px; bottom: 10px; width: 2px; border-radius: 2px;
    background: linear-gradient(to bottom, rgba(46, 134, 222, 0.8), rgba(0, 217, 192, 0.25));
}
#bo-main .process-grid > .process-step, #bo-main .process-steps > .process-step, #bo-main .cw-time-card, #bo-main .fc-protocol-card,
#bo-main .hr-protocol-card, #bo-main .gy-session-card, #bo-main .ad-step, #bo-main .wear-step {
    position: relative; padding: 12px 14px !important; border-radius: 14px !important; text-align: left !important; min-height: 0 !important;
}
#bo-main .process-grid > .process-step::before, #bo-main .process-steps > .process-step::before, #bo-main .cw-time-card::before,
#bo-main .fc-protocol-card::before, #bo-main .hr-protocol-card::before, #bo-main .gy-session-card::before, #bo-main .ad-step::before,
#bo-main .wear-step::before {
    content: ''; position: absolute; left: -21px; top: 18px; width: 10px; height: 10px; border-radius: 50%;
    background: #0b0f16; border: 2px solid #2E86DE; box-shadow: 0 0 0 3px rgba(46, 134, 222, 0.15);
}
#bo-main .process-step .process-icon, #bo-main .process-step-number, #bo-main .wear-step-num {
    width: 30px !important; height: 30px !important; font-size: 13px !important; margin: 0 0 8px !important; border-radius: 9px !important;
}
#bo-main .process-step .process-icon svg { width: 16px !important; height: 16px !important; }
#bo-main .process-step h3, #bo-main .cw-time-card h4, #bo-main .fc-protocol-card h4, #bo-main .hr-protocol-card h4,
#bo-main .gy-session-card h4, #bo-main .ad-step h4, #bo-main .wear-step h4 { font-size: 15.5px !important; margin: 2px 0 4px !important; }
#bo-main .process-step p, #bo-main .cw-time-card p, #bo-main .fc-protocol-card p, #bo-main .hr-protocol-card p, #bo-main .gy-session-card p,
#bo-main .ad-step p, #bo-main .wear-step p { font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important; }
#bo-main .cw-time-month, #bo-main .fc-protocol-time, #bo-main .hr-protocol-step, #bo-main .gy-session-time, #bo-main .ad-step .t {
    font-size: 10.5px !important; letter-spacing: 0.12em !important; margin-bottom: 2px !important;
}
#bo-main .wear-step { display: grid !important; grid-template-columns: 30px 1fr; gap: 10px !important; }
/* equine process tiles */
#bo-main .process-card { padding: 14px 12px !important; border-radius: 14px !important; text-align: left !important; }
#bo-main .process-card .process-number { width: 24px !important; height: 24px !important; font-size: 11px !important; top: 10px !important; right: 10px !important; left: auto !important; }
#bo-main .process-card .process-icon { width: 36px !important; height: 36px !important; margin: 0 0 8px !important; }
#bo-main .process-card h4 { font-size: 14.5px !important; margin-bottom: 3px !important; }
#bo-main .process-card p { font-size: 12.5px !important; line-height: 1.45 !important; }

/* -------------------------------------------------------- two-column blocks → stacked */
#bo-main .about-grid, #bo-main .what-is-grid, #bo-main .philosophy-section .philosophy-grid, #bo-main .farm-grid, #bo-main .chef-grid,
#bo-main .community-grid, #bo-main .venue-grid, #bo-main .coaching-grid, #bo-main .roi-grid, #bo-main .tech-showcase,
#bo-main .equine-about-grid, #bo-main .contact-grid, #bo-main .profile-grid, #bo-main [class$="-2col"], #bo-main .featured-coach-grid,
#bo-main .results-content, #bo-main .cta-wrapper, #bo-main .j-featured-grid {
    display: flex !important; flex-direction: column !important; gap: 18px !important;
}
#bo-main .about-visual img, #bo-main .what-is-visual img, #bo-main .philosophy-visual img, #bo-main .farm-visual img, #bo-main .chef-visual img,
#bo-main .community-visual img, #bo-main .coaching-visual img, #bo-main .tech-showcase-image img, #bo-main .equine-about-visual img,
#bo-main [class*="-visual"] > img, #bo-main .featured-coach-image img {
    height: 220px !important; width: 100% !important; object-fit: cover; border-radius: 16px !important;
}
#bo-main .about-visual, #bo-main .what-is-visual, #bo-main .philosophy-visual, #bo-main .farm-visual, #bo-main .chef-visual,
#bo-main .community-visual, #bo-main .coaching-visual, #bo-main .equine-about-visual, #bo-main .featured-coach-image {
    height: auto !important; min-height: 0 !important; order: -1;
}
#bo-main .hr-visual img, #bo-main .gy-visual img, #bo-main .hk-visual img, #bo-main .fc-visual img, #bo-main .cw-visual img { height: 220px !important; }
#bo-main [class*="-feature-list"] li, #bo-main .hr-feature-list li, #bo-main .gy-feature-list li { padding: 8px 0 !important; gap: 10px !important; }
#bo-main [class*="-feature-list"] strong { font-size: 14.5px !important; }
#bo-main [class*="-feature-list"] span { font-size: 13px !important; line-height: 1.5 !important; }

/* ---------------------------------------------------------------- FAQ */
#bo-main .faq-grid, #bo-main .faq-grid-new { display: flex !important; flex-direction: column !important; gap: 8px !important; }
#bo-main .faq-item, #bo-main .faq-card, #bo-main [class$="-faq-item"] { border-radius: 12px !important; margin: 0 !important; }
#bo-main .faq-question, #bo-main [class$="-faq-q"], #bo-main .faq-card summary, #bo-main .faq-card > button {
    font-size: 14px !important; padding: 14px !important; gap: 10px !important; line-height: 1.4 !important;
}
#bo-main .faq-question h4, #bo-main [class$="-faq-q"] h4, #bo-main .faq-question span { font-size: 14px !important; line-height: 1.4 !important; }
#bo-main .faq-answer, #bo-main .faq-answer-content, #bo-main [class$="-faq-a"], #bo-main .faq-card p { font-size: 13px !important; line-height: 1.6 !important; }

/* ---------------------------------------------------------------- CTA */
#bo-main .animal-cta, #bo-main .biofeedback-cta, #bo-main .corporate-cta, #bo-main .plan-cta, #bo-main .dining-cta, #bo-main .equine-cta,
#bo-main .profile-cta, #bo-main .coaches-cta, #bo-main .ad-final, #bo-main .cw-cta, #bo-main .fc-cta, #bo-main .hr-cta, #bo-main .hk-cta,
#bo-main .gy-cta, #bo-main .retreat-cta, #bo-main .sanc-cta, #bo-main .vip-cta, #bo-main .wear-cta, #bo-main .workshops-cta, #bo-main .j-newsletter {
    padding-top: 40px !important; padding-bottom: 40px !important; min-height: 0 !important;
}
#bo-main [class$="-cta"] h2, #bo-main .ad-final h2, #bo-main .j-newsletter h2 { font-size: 24px !important; }
#bo-main [class$="-cta"] p, #bo-main .ad-final p, #bo-main .j-newsletter p { font-size: 14px !important; margin-bottom: 16px !important; }

/* --------------------------------------------------------------- COACHES */
#bo-main .coaches-grid, #bo-main .team-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
#bo-main .coach-card { border-radius: 14px !important; min-height: 0 !important; }
#bo-main .coach-image { height: 176px !important; }
#bo-main .coach-specialties, #bo-main .coach-bio, #bo-main .coach-rating { display: none !important; }
#bo-main .coach-info { padding: 10px 10px 12px !important; }
#bo-main .coach-name { font-size: 16px !important; margin-bottom: 2px !important; }
#bo-main .coach-title { font-size: 11.5px !important; line-height: 1.35 !important; margin-bottom: 8px !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#bo-main .coach-footer { padding: 0 !important; border: 0 !important; margin: 0 !important; }
#bo-main .coach-link { font-size: 12px !important; }
#bo-main .team-card { padding: 0 !important; }
#bo-main .team-image { width: 100% !important; height: 180px !important; margin: 0 0 8px !important; border-radius: 12px !important; }
#bo-main .team-card h4 { font-size: 15px !important; margin-bottom: 2px !important; }
#bo-main .team-card span { font-size: 10.5px !important; letter-spacing: 0.06em !important; line-height: 1.35; display: block; }
#bo-main .instructor-bio, #bo-main .instructor-specialties { display: none !important; }
#bo-main .instructor-card { padding: 14px !important; }
#bo-main .instructor-avatar { width: 84px !important; height: 84px !important; margin: 0 auto 10px !important; }
#bo-main .instructor-name { font-size: 15px !important; }
#bo-main .instructor-role { font-size: 12px !important; }
#bo-main .coaches-filter { padding: 12px 0 0 !important; }
#bo-main .filter-buttons, #bo-main .coaches-filter-buttons, #bo-main .j-cats, #bo-main .menu-categories, #bo-main .schedule-tabs {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 8px !important; margin: 0 -16px 14px !important; padding: 2px 16px 6px !important;
    scrollbar-width: none; justify-content: flex-start !important;
}
#bo-main .filter-buttons > *, #bo-main .coaches-filter-buttons > *, #bo-main .j-cats > *, #bo-main .menu-categories > *, #bo-main .schedule-tabs > * {
    flex: 0 0 auto !important; white-space: nowrap; font-size: 12.5px !important; padding: 8px 14px !important;
}

/* founders (Our Story) */
#bo-main .founders-grid { gap: 10px !important; margin-bottom: 28px !important; }
#bo-main .founder-card { grid-template-columns: 72px 1fr !important; padding: 14px !important; gap: 12px !important; }
#bo-main .founder-card img { width: 72px !important; height: 86px !important; }
#bo-main .founder-card p { font-size: 13px !important; }

/* --------------------------------------------------------------- JOURNAL */
#bo-main .j-grid { display: flex !important; flex-direction: column !important; gap: 10px !important; }
#bo-main .j-card {
    display: grid !important; grid-template-columns: 104px 1fr; gap: 12px; align-items: center;
    padding: 8px !important; border-radius: 14px !important; min-height: 0 !important;
}
#bo-main .j-card-img { height: 96px !important; width: 104px !important; border-radius: 10px !important; overflow: hidden; }
#bo-main .j-card-img img { height: 100% !important; width: 100% !important; object-fit: cover; }
#bo-main .j-card-body { padding: 0 6px 0 0 !important; }
#bo-main .j-card-body p { display: none !important; }
#bo-main .j-card-cat { font-size: 9.5px !important; padding: 3px 8px !important; margin-bottom: 5px !important; }
#bo-main .j-card-body h4 { font-size: 14.5px !important; line-height: 1.3 !important; margin: 0 0 4px !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#bo-main .j-card-meta { font-size: 11px !important; gap: 8px !important; }
#bo-main .j-featured-grid img, #bo-main .j-featured img { height: 200px !important; border-radius: 14px !important; }
#bo-main .j-featured h2 { font-size: 22px !important; }
#bo-main .j-filter { padding: 6px 0 !important; }
#bo-main .j-filter-inner { display: flex !important; flex-direction: column !important; gap: 10px !important; }
#bo-main .j-search input { padding: 11px 14px 11px 38px !important; }

/* --------------------------------------------------------------- page specifics */
/* Sanctuaries */
#bo-main .sanc-locations { gap: 14px !important; }
#bo-main .sanc-loc { display: block !important; border-radius: 16px !important; overflow: hidden; }
#bo-main .sanc-loc-img { height: 190px !important; min-height: 0 !important; }
#bo-main .sanc-loc-content { padding: 16px !important; }
#bo-main .sanc-loc-content h3 { font-size: 22px !important; }
#bo-main .loc-features { gap: 6px !important; flex-wrap: wrap; }
#bo-main .loc-features li { font-size: 12px !important; padding: 5px 10px !important; }
#bo-main .loc-contact { flex-direction: column; gap: 4px !important; }
#bo-main .loc-contact span { font-size: 12px !important; }
/* Story timeline */
#bo-main .timeline-item { gap: 12px !important; margin-bottom: 28px !important; padding-left: 0 !important; }
#bo-main .timeline-year { font-size: 30px !important; }
#bo-main .timeline-content h3 { font-size: 20px !important; }
#bo-main .timeline-visual img { height: 190px !important; border-radius: 14px !important; }
/* VIP experience: slim left timeline, no illustration boxes */
#bo-main .experience-timeline { padding-left: 24px; }
#bo-main .experience-timeline::before { left: 7px !important; transform: none !important; }
#bo-main .experience-item { display: block !important; margin-bottom: 10px !important; padding: 12px 14px !important; border-radius: 14px;
    background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07); }
#bo-main .experience-dot { left: -22px !important; top: 16px !important; transform: none !important; width: 12px !important; height: 12px !important; border-width: 2px !important; box-shadow: 0 0 0 3px rgba(46, 134, 222, 0.25) !important; }
#bo-main .experience-visual { display: none !important; }
#bo-main .experience-number { font-size: 11px !important; letter-spacing: 0.16em; color: #4A9FF5 !important; margin: 0 0 2px !important; font-family: 'Poppins', sans-serif !important; }
#bo-main .experience-number::before { content: 'STEP '; }
#bo-main .experience-content h3 { font-size: 16px !important; margin: 0 0 4px !important; }
#bo-main .experience-content p { font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important; }
/* Comparison table */
#bo-main .comparison-table { overflow-x: auto; margin: 0 -16px; padding: 0 16px; }
#bo-main .comparison-row { min-width: 520px; }
#bo-main .comparison-cell { font-size: 12.5px !important; padding: 10px 8px !important; }
/* Programme quotes */
#bo-main [class$="-quote"] { padding-top: 32px !important; padding-bottom: 32px !important; }
#bo-main [class$="-quote"] blockquote, #bo-main [class$="-quote"] p { font-size: 19px !important; line-height: 1.4 !important; }
/* Workshops calendar */
#bo-main .calendar-grid { gap: 3px !important; }
#bo-main .calendar-day, #bo-main .calendar-day-header { font-size: 11px !important; padding: 6px 0 !important; min-height: 0 !important; }
/* Contact form */
#bo-main .form-container, #bo-main .map-container { padding: 18px 16px !important; border-radius: 16px !important; }
#bo-main .form-row { grid-template-columns: 1fr !important; gap: 10px !important; }
#bo-main .form-group label { font-size: 12px !important; }
#bo-main .map-container iframe { height: 240px !important; }
/* Mentor profile */
#bo-main .profile-header { gap: 14px !important; }
#bo-main .profile-avatar { width: 84px !important; height: 84px !important; }
#bo-main .profile-tags { gap: 6px !important; }
#bo-main .profile-tag { font-size: 11px !important; padding: 5px 10px !important; }
#bo-main .profile-hero-image img { opacity: 0.16 !important; }
#bo-main .sidebar-card { padding: 16px !important; border-radius: 16px !important; }
#bo-main .credential-item { padding: 10px 12px !important; gap: 10px !important; }
#bo-main .session-type { padding: 12px !important; }
/* APEX species: compact grid */
#bo-main .ad-species { grid-template-columns: repeat(4, 1fr) !important; gap: 8px !important; }
#bo-main .ad-sp b { font-size: 10.5px !important; }
#bo-main .ad-list li { gap: 10px !important; padding: 10px 0 !important; }
#bo-main .ad-list strong { font-size: 15px !important; }
#bo-main .ad-list span { font-size: 13px !important; }
/* VIP application form */
#bo-main .vip-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
#bo-main .vip-input { padding: 12px 14px !important; }
#bo-main .vip-contact-row { flex-direction: column !important; gap: 8px !important; }
/* Partnership banner */
#bo-main .partnership-banner { padding: 18px 0 !important; }
#bo-main .partnership-content { flex-direction: column; gap: 10px !important; text-align: center; }
#bo-main .partnership-text { font-size: 12.5px !important; }

/* Our Coaches: featured founder */
#bo-main .featured-coach-image { width: 100% !important; max-width: none !important; height: 300px !important; border-radius: 18px !important; overflow: hidden; position: relative; }
#bo-main .featured-coach-image img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 25%; }
#bo-main .featured-badge { top: 12px !important; left: 12px !important; font-size: 10.5px !important; padding: 6px 12px !important; }
#bo-main .featured-credentials { gap: 8px !important; }
#bo-main .featured-credential { padding: 10px 12px !important; font-size: 13px !important; }

/* Chat teaser bubble stays out of the way on phones */
.boai-teaser { display: none !important; }
}

/* Site footer on phones and tablets: everything centred */
@media (max-width: 1023px) {
    .site-footer .footer-waves { height: 40px !important; }
    .site-footer .footer-content { padding: 30px 0 18px !important; }
    .site-footer .footer-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 26px 16px !important; text-align: center !important; justify-items: center; }
    .site-footer .footer-brand, .site-footer .footer-column:last-child { grid-column: 1 / -1; }
    .site-footer .footer-brand { display: flex; flex-direction: column; align-items: center; }
    .site-footer .footer-brand img { height: 26px !important; width: auto; margin: 0 auto; }
    .site-footer .footer-tagline { font-size: 13px !important; margin: 8px auto 12px !important; max-width: 320px; }
    .site-footer .footer-social { justify-content: center !important; }
    .site-footer .footer-column { width: 100%; }
    .site-footer .footer-column h4 { font: 600 13px/1.3 'General Sans', 'Poppins', sans-serif !important; letter-spacing: 0.14em !important; text-transform: uppercase; color: #fff !important; margin-bottom: 12px !important; }
    .site-footer .footer-column h4::after { left: 50% !important; transform: translateX(-50%); }
    .site-footer .footer-column ul { padding: 0; }
    .site-footer .footer-column li { margin-bottom: 7px !important; justify-content: center !important; }
    .site-footer .footer-column a, .site-footer .footer-contact li, .site-footer .footer-contact span { font-size: 13px !important; justify-content: center !important; }
    .site-footer .footer-contact { display: grid !important; gap: 8px !important; justify-items: center; }
    .site-footer .footer-contact li { display: flex !important; align-items: center; gap: 8px; text-align: center; }
    .site-footer .footer-bottom { padding-top: 14px !important; margin-top: 18px !important; gap: 8px !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }
    .site-footer .footer-legal { flex-wrap: wrap; justify-content: center !important; gap: 4px 14px !important; }
    .site-footer .footer-legal a, .site-footer .footer-bottom p { font-size: 11.5px !important; }
}

/* Anything a script hides (filters, tabs) stays hidden: phone layouts must never force it back */
@media (max-width: 767px) { #bo-main [style*="display: none"], #bo-main [style*="display:none"], #bo-main [hidden] { display: none !important; } }

/* ---------------------------------------------------------------------
   Numbers: statistics, prices and counters use a clean lining sans,
   never Cormorant's old-style figures (they look like "5k+" in a script).
   --------------------------------------------------------------------- */
#bo-main :is([class*="stat-number"], [class*="stat-num"], [class*="stat-value"], .fc-sb-num, .hr-sb-num, .result-percentage,
    .gmed-stat .num, .cw-stat-number, .cw-roi-stat-num, .cw-cost-stat, .coach-facts b, .profile-stat-number, .impact-stat-number,
    .community-stat-number, .chef-stat-value, .coaches-stat-number, .featured-stat-number, .what-is-stat-value, .roi-stat-number,
    .tier-price, .pricing-price, .session-price, .retreat-type-price, .accommodation-price, .plan-price, .menu-item-price,
    .session-type-price, .timeline-year, .ad-price .n, .workshop-price, .experience-number) {
    font-family: 'General Sans', 'Poppins', sans-serif !important;
    font-variant-numeric: lining-nums tabular-nums;
    letter-spacing: -0.01em;
}
#bo-main :is(h1, h2, h3, h4, .section-title) { font-variant-numeric: lining-nums; }

/* Back-to-top: phones already have the chat button; don't stack another over content */
@media (max-width: 767px) { .back-to-top { display: none !important; } }

/* =====================================================================
   Phone pass 3 — fixes from the owner's screenshots
   ===================================================================== */
@media (max-width: 767px) {
/* Cards inside sideways sliders never pass a vertical scroll trigger: always visible */
#bo-main :is(.animals-grid, .session-types, .locations-grid, .programs-grid, .testimonials-grid, .menu-grid, .experience-grid, .tiers-grid,
    [class*="grid-3"], .retreat-types-grid, .accommodations-grid, .pricing-grid, .workshops-grid, .ad-prices, .related-grid, .venue-gallery,
    .hk-trail-grid, .ad-path, .instructors-grid, .metrics-grid) > * { opacity: 1 !important; visibility: visible !important; }
#bo-main :is(.animals-grid, .session-types, .locations-grid, .programs-grid, .testimonials-grid, .menu-grid, .experience-grid, .tiers-grid,
    [class*="grid-3"], .retreat-types-grid, .accommodations-grid, .pricing-grid, .workshops-grid, .ad-prices, .related-grid, .venue-gallery,
    .hk-trail-grid, .ad-path, .instructors-grid, .metrics-grid) :is(.stagger-item, [class*="reveal-"]) { opacity: 1 !important; transform: none !important; }

/* Chip rows: chips size to their text */
#bo-main :is(.filter-buttons, .coaches-filter-buttons, .j-cats, .menu-categories, .schedule-tabs, .menu-nav-list) > * {
    width: auto !important; min-width: 0 !important; flex: 0 0 auto !important; display: inline-flex !important; align-items: center;
    height: 36px; padding: 0 14px !important; font-size: 12.5px !important; border-radius: 999px !important;
}
#bo-main .menu-nav-list { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 8px !important; margin: 0 -16px !important; padding: 2px 16px 8px !important; scrollbar-width: none; list-style: none; }
#bo-main .menu-nav { padding: 10px 0 !important; position: sticky; top: 56px; z-index: 5; background: rgba(5, 7, 11, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }

/* Menus (Dining highlights + full menu): app-style list rows — thumbnail, name, short note, price */
#bo-main .menu-grid:has(> .menu-item) { display: flex !important; flex-direction: column !important; gap: 10px !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
#bo-main .menu-grid > .menu-item, #bo-main .menu-grid > .menu-item-card {
    display: grid !important; grid-template-columns: 88px 1fr; gap: 12px; align-items: center; padding: 10px !important; border-radius: 16px !important;
    flex: none !important; width: auto !important; max-width: none !important; min-height: 0 !important; transform: none !important;
}
#bo-main .menu-grid:has(> .menu-item-card) { display: flex !important; flex-direction: column !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; gap: 10px !important; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-image { width: 88px !important; height: 88px !important; border-radius: 12px !important; overflow: hidden; position: relative; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-badge { top: 6px !important; left: 6px !important; font-size: 8.5px !important; padding: 3px 6px !important; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-content { padding: 0 4px 0 0 !important; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) :is(h3, h4, .menu-item-name) { font-size: 15px !important; line-height: 1.25 !important; margin: 0 0 3px !important; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) p { font-size: 12.5px !important; line-height: 1.45 !important; margin: 0 0 6px !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-header { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) :is(.menu-item-price, .price) { font-size: 15px !important; font-weight: 600; white-space: nowrap; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-tags { gap: 4px !important; margin: 0 !important; }
#bo-main .menu-grid > :is(.menu-item, .menu-item-card) .menu-item-tag { font-size: 10px !important; padding: 2px 7px !important; }
#bo-main .menu-section { padding-top: 28px !important; padding-bottom: 12px !important; }
#bo-main .menu-section-header { margin-bottom: 14px !important; text-align: left !important; }
#bo-main .menu-section-header h2 { font-size: 22px !important; margin-bottom: 2px !important; }
#bo-main .menu-section-header p { font-size: 13px !important; }

/* Our Story timeline: rail on the left, content clear of it */
#bo-main .timeline { padding-left: 0 !important; }
#bo-main .timeline::before { left: 7px !important; width: 2px !important; }
#bo-main .timeline-item { display: flex !important; flex-direction: column !important; padding-left: 28px !important; gap: 12px !important; margin-bottom: 30px !important; position: relative; }
#bo-main .timeline-dot { left: 1px !important; top: 6px !important; width: 14px !important; height: 14px !important; transform: none !important; }
#bo-main .timeline-visual { height: 190px !important; width: 100% !important; order: 2; }
#bo-main .timeline-content { order: 1; text-align: left !important; }

/* Coach hero buttons: one line each */
.coach-btn { white-space: nowrap; font-size: 13px !important; gap: 7px !important; }
.coach-btn i { font-size: 17px !important; }
/* Coach session types: name + price on one line, note below */
#bo-main .session-type { display: grid !important; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: start !important; padding: 12px 14px !important; }
#bo-main .session-type-info h4 { font-size: 14.5px !important; margin: 0 !important; }
#bo-main .session-type-info span { font-size: 12.5px !important; }
#bo-main .session-type-price { font-size: 16px !important; align-self: center; }

/* Article author line */
#bo-main :is(.article-author, .author-info, [class*="author-meta"]) :is(img) { width: 34px !important; height: 34px !important; }
#bo-main :is(.article-author-name, .author-name, [class*="author"] strong) { font-size: 14.5px !important; }

/* Online Tribe hero: one main button, two quiet ones side by side */
#bo-main .plan-cta-group { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; }
#bo-main .plan-cta-group > :first-child { grid-column: 1 / -1; justify-content: center; }
#bo-main .plan-cta-group > * { justify-content: center; padding: 11px 12px !important; font-size: 12px !important; min-height: 42px; }
#bo-main .plan-price { font-size: 44px !important; margin: 4px 0 10px !important; }
/* Community block: centred */
#bo-main .community-content { text-align: center; display: flex; flex-direction: column; align-items: center; }
#bo-main .community-content > p { max-width: 340px; }
#bo-main .community-stats { width: 100%; }
#bo-main .community-visual img { max-height: 210px; object-fit: cover; }

/* APEX hero: compact */
#bo-main .ad-hero h1 { font-size: 30px !important; }
#bo-main .ad-hero p { font-size: 14px !important; }
#bo-main .ad-badge { font-size: 10px !important; letter-spacing: .1em !important; padding: 6px 10px !important; line-height: 1.4; }
#bo-main .ad-cta { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; }
#bo-main .ad-cta .ad-btn { padding: 11px 10px !important; font-size: 12px !important; min-height: 42px; justify-content: center; }
#bo-main .ad-facts { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 8px !important; margin-top: 18px !important; }
#bo-main .ad-fact { padding: 10px 6px !important; border-radius: 12px; text-align: center; background: rgba(0, 0, 0, .35); border: 1px solid rgba(255, 255, 255, .1); }
#bo-main .ad-fact b { font-size: 22px !important; display: block; font-family: 'General Sans', 'Poppins', sans-serif !important; }
#bo-main .ad-fact span { font-size: 10px !important; letter-spacing: .04em !important; line-height: 1.3; display: block; }
}
