/* Estilos compartidos de los carruseles y galerías. */
.spirit-slider{position:relative}
.spirit-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--gold) var(--cream);gap:18px;padding-bottom:12px}
.spirit-slide{position:relative;flex:0 0 100%;min-height:460px;scroll-snap-align:start;display:flex;align-items:end;overflow:hidden;background:linear-gradient(180deg,#07143638,#071436eb),var(--slide-image) center/cover no-repeat, var(--navy);color:white}
.spirit-slide:after{content:'';position:absolute;inset:12px;border:1px solid #e6cb8699;pointer-events:none}
.spirit-info{padding:clamp(30px,5vw,65px);position:relative;z-index:1}
.spirit-info span{font:600 .7rem var(--head);letter-spacing:.18em;color:var(--gold-l)}
.spirit-info h2{font-size:clamp(2.2rem,4.5vw,3.8rem);margin:12px 0}
.spirit-info p{max-width:550px;color:#fff;opacity:.9;transition:transform .3s,opacity .3s}
.spirit-slide:hover p,.spirit-slide:focus-within p{opacity:1;transform:translateY(-4px)}
.spirit-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px}
.spirit-controls button{width:48px;height:48px;border:1px solid var(--gold);background:var(--navy);color:white;font-size:1.4rem;cursor:pointer}
.spirit-controls button:hover{background:var(--wine)}
.spirit-counter{font:600 .75rem var(--head);letter-spacing:.1em;color:var(--navy)}
@media(max-width:600px){.spirit-slide{min-height:390px}}

/* Tipografía del título dentro de cada diapositiva. */
.spirit-info h3{font-size:clamp(2.2rem,4.5vw,3.8rem);margin:12px 0;color:#fff}
.spirit-controls button:disabled{opacity:.4;cursor:not-allowed}
/* Galería asociada al elemento seleccionado del carrusel. */
.spirit-gallery{padding:32px 0 0}
.spirit-gallery h3{font-size:2rem;color:var(--navy)}
.spirit-gallery>p{color:var(--muted);margin:8px 0 22px}
.spirit-gallery-group h4{font:600 .85rem var(--head);color:var(--wine);margin-bottom:14px}
.spirit-gallery-group[hidden]{display:none}
.spirit-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.spirit-gallery-grid figure{background:#fff;border:1px solid #e9dfcb}
.spirit-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.spirit-gallery-grid figcaption{padding:9px 12px;color:var(--muted);font-size:.8rem}
@media(max-width:620px){.spirit-gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.spirit-gallery-grid{grid-template-columns:1fr}}

/* Transición cruzada: la galería anterior se desvanece mientras aparece la nueva. */
.spirit-gallery-stack{display:grid;position:relative}
.spirit-gallery-stack .spirit-gallery-group{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .45s ease,transform .45s ease,visibility 0s linear .45s}
.spirit-gallery-stack .spirit-gallery-group.is-active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .45s ease,transform .45s ease,visibility 0s}
@media(prefers-reduced-motion:reduce){.spirit-gallery-stack .spirit-gallery-group,.spirit-gallery-stack .spirit-gallery-group.is-active{transition:none;transform:none}}
