/* Core 3.1.2: HERO remains image-controlled; visible non-HERO sections alternate. */
html:not([data-core31-hero-ready]) .hero-media { background-image: none !important; }
html[data-core31-hero-ready] .hero-media.core31-multi { background-image: none !important; }
.hero-media.core31-multi { isolation:isolate; }
.core31-slide { position:absolute; inset:0; background-size:cover; background-position:center 32%; opacity:0; transition:opacity 900ms ease; }
.core31-slide.is-active { opacity:1; }
.core31-dots { position:absolute; bottom:clamp(40px,7vw,82px); right:var(--pad,32px); z-index:5; display:flex; gap:10px; }
.core31-dot {width:10px; height:10px; padding:0; border:1px solid #fff; background:transparent; border-radius:50%; cursor:pointer; }
.core31-dot[aria-current="true"] {background:#fff;}
/* The CSS selector uses DOM order calculated after DISPLAY.home_order. */
main > section.section[data-core31-section-tone="odd"] { background:var(--core31-background-odd,var(--paper)) !important; }
main > section.section[data-core31-section-tone="even"] { background:var(--core31-background-even,var(--paper)) !important; }
/* Detail pages do not have a .hero. Never apply this rule to CMS/admin pages. */
html[data-core31-detail-background="ready"] body { background:var(--core31-background-detail,var(--paper)) !important; background-attachment:fixed !important; }
@media(prefers-reduced-motion:reduce) { .core31-slide { transition:none; } }

/* CORE31_TEXT_V3: only when the corresponding SITE key is configured.
   HERO, navigation and buttons keep their existing text palettes. */
html[data-core31-text-odd="set"] main > section.section[data-core31-section-tone="odd"],
html[data-core31-text-odd="set"] main > section.section[data-core31-section-tone="odd"] :is(h1,h2,h3,h4,h5,h6,p,li,small,blockquote,.section-title,.section-heading,.section-lead) { color:var(--core31-text-odd) !important; }
html[data-core31-text-even="set"] main > section.section[data-core31-section-tone="even"],
html[data-core31-text-even="set"] main > section.section[data-core31-section-tone="even"] :is(h1,h2,h3,h4,h5,h6,p,li,small,blockquote,.section-title,.section-heading,.section-lead) { color:var(--core31-text-even) !important; }
html[data-core31-detail-text="set"] body,
html[data-core31-detail-text="set"] main :is(h1,h2,h3,h4,h5,h6,p,li,small,blockquote,.detail-title,.page-title) { color:var(--core31-text-detail) !important; }
