/* Shared homepage slider; scoped so the original Slider helper is unaffected. */
.slider-ai { --slider-ai-accent: var(--bs-primary, #fe696a); --slider-ai-height: 560px; position: relative; container-type: inline-size; width: 100%; height: var(--slider-ai-height); min-width: 0; overflow: hidden; border-radius: 10px; background: #20252c; color: #fff; }
.theme4 .slider-ai { --slider-ai-accent: var(--t4-brand); --slider-ai-height: var(--t4-hero-height, 560px); }
.theme4 .t4-slider { align-self: start; }
.slider-ai .slider-ai-viewport { width: 100%; height: 100%; overflow: hidden; }
.slider-ai .swiper-wrapper { align-items: stretch; }
.slider-ai .slider-ai-viewport .slider-ai-slide { position: relative; display: flex; align-items: center; min-height: 0; height: 100%; isolation: isolate; background: #e8e9eb; overflow: hidden; }
.slider-ai .slider-ai-media { position: absolute; inset: 0; z-index: 0; display: block; }
/* Keep banner text and products in proportion at every viewport width. */
.slider-ai .slider-ai-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.slider-ai .slider-ai-caption { position: absolute; bottom: 110px; left: 24px; right: 24px; max-height: 128px; overflow: auto; padding: 12px 16px; background: #131a22dc; border-radius: 8px; overflow-wrap: anywhere; }
/* Description slides keep text and the original-size product image separate. */
.slider-ai .slider-ai-viewport .has-description { background: linear-gradient(120deg,#171d25,#303944); }
.slider-ai .slider-ai-viewport .has-description { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: 24px; padding: 76px 28px 36px; }
.slider-ai .has-description .slider-ai-media { position: relative; inset: auto; grid-column: 2; grid-row: 1; width: 100%; height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; }
.slider-ai .has-description .slider-ai-media img { width: 100%; height: 100%; min-height: 0; object-fit: contain; border-radius: 8px; }
.slider-ai .has-description .slider-ai-caption { position: relative; inset: auto; grid-column: 1; grid-row: 1; max-height: 100%; min-height: 0; padding: 12px 0; background: transparent; border-radius: 0; display: flex; flex-direction: column; justify-content: safe center; align-items: flex-start; }
.slider-ai .has-description .slider-ai-caption .slider-ai-cta { position: static; flex-shrink: 0; margin-top: 24px; }
.slider-ai .slider-ai-caption h2 { color: #fff !important; font-family: "Segoe UI",Arial,sans-serif; font-size: clamp(24px,4.5cqi,34px); font-weight: 750; line-height: 1.12; letter-spacing: -.035em; margin: 0 0 6px; text-wrap: balance; }
.slider-ai .slider-ai-eyebrow { color: #fff; font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .08em; margin: 0 0 6px; padding-left: 10px; border-left: 3px solid var(--slider-ai-accent); }
.slider-ai .slider-ai-description { color: #edf0f4; font-size: clamp(13px,1.7cqi,16px); line-height: 1.4; margin: 0 0 4px; }
.slider-ai .slider-ai-cta { position: absolute; z-index: 2; bottom: 38px; left: 38px; display: inline-flex; align-items: center; gap: 24px; pointer-events: auto; margin: 0; padding: 12px 22px; border-radius: 6px; font-size: 14px; font-weight: 600; }
/* Fade slides overlap: an invisible CTA must never intercept the active slide's click. */
.slider-ai .slider-ai-slide[aria-hidden="true"] a { pointer-events: none; }
.slider-ai .slider-ai-controls { position: absolute; top: 12px; right: 12px; max-width: calc(100% - 24px); z-index: 4; display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 24px; background: #151a22a6; color: #fff; }
.slider-ai .slider-ai-counter { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.slider-ai .slider-ai-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.slider-ai .swiper-pagination-bullet { display: block; border: 0; border-radius: 3px; width: 19px; height: 4px; margin: 5px 0 !important; opacity: 1; background: #ffffff70; cursor: pointer; }
.slider-ai .swiper-pagination-bullet-active { width: 30px; background: var(--slider-ai-accent); }
.slider-ai .slider-ai-arrow,.slider-ai .slider-ai-pause { flex-shrink: 0; border: 1px solid #ffffff60; background: #161b2473; color: #fff; min-width: 34px; min-height: 34px; border-radius: 50%; font-size: 25px; line-height: 1; }
.slider-ai .slider-ai-pause { font-size: 11px; border-radius: 18px; padding: 8px 10px; }
.slider-ai button:hover { background: var(--slider-ai-accent); }
.slider-ai a:focus-visible,.slider-ai button:focus-visible,.slider-ai [tabindex]:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.slider-ai .slider-ai-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; z-index: 4; background: #ffffff20; }
.slider-ai .slider-ai-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: var(--slider-ai-accent); }
.slider-ai [hidden] { display: none !important; }
/* A missing third-party slider script still leaves the first slide usable. */
.slider-ai:not([data-slider-ai-ready]) .slider-ai-slide:not(:first-child) { display: none; }
.slider-ai:not([data-slider-ai-ready]) .slider-ai-controls,.slider-ai:not([data-slider-ai-ready]) .slider-ai-progress { display: none; }
@media (max-width:767px) {
    .slider-ai { --slider-ai-height: 500px; }
    .theme4 .slider-ai { --slider-ai-height: 500px; }
    .slider-ai .slider-ai-caption { left: 16px; right: 16px; padding: 10px 12px; }
    .slider-ai .slider-ai-caption h2 { font-size: clamp(25px,6cqi,34px); }
    .slider-ai .slider-ai-eyebrow { font-size: 11px; }
    .slider-ai .slider-ai-controls { right: 10px; gap: 7px; top: 10px; }
    .slider-ai .slider-ai-pagination { gap: 4px; }
    .slider-ai .swiper-pagination-bullet { width: 10px; }
    .slider-ai .swiper-pagination-bullet-active { width: 18px; }
    .slider-ai .slider-ai-cta { font-size: 13px; padding: 10px 16px; }
}
@media (prefers-reduced-motion:reduce) {
    .slider-ai * { scroll-behavior: auto; }
}
@container (max-width: 600px) {
    .slider-ai .slider-ai-viewport .has-description { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) minmax(0, 1.3fr); padding: 64px 20px 16px; gap: 12px; }
    .slider-ai .has-description .slider-ai-caption { grid-column: 1; grid-row: 1; inset: auto; padding: 0; width: 100%; }
    .slider-ai .has-description .slider-ai-media { grid-column: 1; grid-row: 2; inset: auto; }
    .slider-ai .has-description .slider-ai-caption h2 { font-size: clamp(18px, 4cqi, 25px); }
    .slider-ai .has-description .slider-ai-caption .slider-ai-cta { margin-top: 10px; padding: 8px 14px; }
}
