/* Cards, pills, grid utilidades */
.section{ padding:clamp(48px, 8vw, 92px) 0; background:linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,.02) 100%) }
.section-title{ font-size:var(--fz-h2); margin:0 0 .4rem; line-height:1.2 }
.section-lead{ color:var(--ac-muted); max-width:65ch; margin:0 0 1.6rem }

.grid{ display:grid; gap:clamp(16px, 2vw, 24px); grid-template-columns:repeat(12, 1fr) }
.span-4{ grid-column:span 4 } .span-6{ grid-column:span 6 } .span-12{ grid-column:span 12 }
@media (max-width:900px){ .span-4,.span-6{ grid-column:span 6 } }
@media (max-width:640px){ .span-4,.span-6{ grid-column:span 12 } }

.card{ background:#121314; border:1px solid #1e1f21; border-radius:var(--radius); padding:20px; transition:transform .2s ease, border-color .2s ease }
.card:hover{ transform:translateY(-3px); border-color:#2b2c2f }
.card h3{ margin:.2rem 0 .4rem; font-size:1.2rem }
.price{ color:var(--ac-gold); font-weight:700 }
.card__img{ border-radius:12px; aspect-ratio:16/9; object-fit:cover; border:1px solid #1f2022 }

/* Pills */
.pills{ list-style:none; padding:0; margin:1rem 0 0; display:flex; flex-wrap:wrap; gap:.6rem; color:#cfcfcf }
.pills li{ border:1px solid #2b2b2b; border-radius:999px; padding:.38rem .7rem; font-size:.92rem }

/* Reveal on view */
.reveal{ opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .5s ease }
.reveal.in{ opacity:1; transform:none }

/* CTA centrado + botón XL para el estilo “Book now” */
.cta{ display:flex; gap:.8rem; margin:1.2rem 0 1.1rem; flex-wrap:wrap }
.cta--center{ justify-content:center }
.btn--xl{ padding:1rem 1.6rem; font-size:1.05rem; text-transform:uppercase; letter-spacing:.03em }
