/* Section spacing fixes — section-bottom margin vs next-section top padding. */

/* AI hero: 100px bottom gap (next section has pt:0). */
html body[class].page-template-page-ai #ajax-content-wrap .ai-hero-section {
    margin-bottom: 100px !important;
}

/* Preserve AI hero gap once scroll-expand state kicks in. */
html body[class].is-scrolled.page-template-page-ai #ajax-content-wrap .ai-hero-section {
    margin-bottom: 100px !important;
}

html body[class].page-template-page-bootcamp #ajax-content-wrap .boot-hero,
html body[class].is-scrolled.page-template-page-bootcamp #ajax-content-wrap .boot-hero,
html body[class].sl-splash-reveal.page-template-page-bootcamp #ajax-content-wrap .boot-hero {
    margin-bottom: 0 !important;
}

@media (min-width: 769px) {
    html body[class].page-template-page-bootcamp #ajax-content-wrap .boot-programs-inner,
    html body[class].is-scrolled.page-template-page-bootcamp #ajax-content-wrap .boot-programs-inner,
    html body[class].sl-splash-reveal.page-template-page-bootcamp #ajax-content-wrap .boot-programs-inner {
        padding-top: 72px !important;
    }
}

/* Bootcamp internal spacing: programs owns its bottom padding, why → cta uses 60px. */
html body[class].page-template-page-bootcamp #ajax-content-wrap .boot-programs-section,
html body[class].is-scrolled.page-template-page-bootcamp #ajax-content-wrap .boot-programs-section,
html body[class].sl-splash-reveal.page-template-page-bootcamp #ajax-content-wrap .boot-programs-section {
    margin-bottom: 0 !important;
}
html body[class].page-template-page-bootcamp #ajax-content-wrap .boot-why-section {
    margin-bottom: 60px !important;
}

/* Consulting: kill white islands so wrapper lavender runs continuous, keep divider. */
html body[class].page-template-page-consulting #ajax-content-wrap :is(.con-stats-section, .con-help-section) {
    background: transparent !important;
}

html body[class].page-template-page-consulting #ajax-content-wrap .con-stats-section,
html body[class].page-template-page-consulting #ajax-content-wrap .con-blog-section {
    border-top: 0 !important;
    border-bottom: 1px solid #e7e4ec !important;
}

html body[class].page-template-page-consulting #ajax-content-wrap .con-help-section {
    border-top: 0 !important;
    border-bottom: 0 !important;
}

html body[class].page-template-page-consulting #ajax-content-wrap .con-stats-section {
    margin-bottom: 100px !important;
}

/* Bootcamp hero photos: restore visual-relative coordinates. */
html body[class].page-template-page-bootcamp #ajax-content-wrap .boot-hero-photo-left {
    left: 0 !important;
    top: 62px !important;
    transform: none !important;
}
html body[class].page-template-page-bootcamp #ajax-content-wrap .boot-hero-photo-right {
    left: 315px !important;
    top: 0 !important;
    transform: none !important;
}

/* Product-family pages use flex order; restore the shared feed orders. */
body:is(
    .page-template-page-product,
    .page-template-page-web,
    .page-template-page-design,
    .page-template-page-mobile
) .sl-feed--case  { order: 4; }
body:is(
    .page-template-page-product,
    .page-template-page-web,
    .page-template-page-design,
    .page-template-page-mobile
) .sl-feed--post  { order: 6; }
body:is(
    .page-template-page-product,
    .page-template-page-web,
    .page-template-page-design,
    .page-template-page-mobile
) .sl-feed--event { order: 7; }

/* Teams /teams/ — region cards (positions) and toggle visibility. */

/* Card-1 — United States (top-left, white). */
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-card-1,
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-card-1.is-open {
    left: -36px !important;
    top: 94px !important;
    right: auto !important;
    bottom: auto !important;
    width: 224px !important;
}

/* Card-2 — Eastern Europe (right, teal, open/featured). */
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-card-2,
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-card-2.is-open {
    left: 296px !important;
    top: 60px !important;
    right: auto !important;
    bottom: auto !important;
    width: 340px !important;
}

/* Card-3 — Latin America (lower-left, white). */
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-card-3,
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-card-3.is-open {
    left: 19px !important;
    top: 302px !important;
    right: auto !important;
    bottom: auto !important;
    width: 224px !important;
}

/* Toggle (+/−) inline text — restore visibility. */
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-toggle {
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Keep ::before disabled so the symbol isn't doubled. */
html body[class].page-template-page-teams #ajax-content-wrap .teams-region-toggle::before {
    content: none !important;
}
