/* cabanas.css - BEM interna, reemplaza framer-motion y Tailwind del c¨®digo original */
.cabanas-hero{position:relative;height:52vh;min-height:380px;overflow:hidden;display:grid;place-items:center}
.cabanas-hero__media{position:absolute;inset:0;will-change:transform}
.cabanas-hero__image{width:100%;height:120%;object-fit:cover;transform:translateY(-6%)}
.cabanas-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.55))}
.cabanas-hero__content{position:relative;z-index:1;text-align:center;color:#fff;max-width:820px;padding:0 1.5rem}
.cabanas-hero__kicker{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;opacity:.9;display:block;margin-bottom:.6rem}
.cabanas-hero__title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;line-height:1.1;margin:0 0 .6rem;letter-spacing:-.02em}
.cabanas-hero__desc{opacity:.92;max-width:56ch;margin:auto}

.cabanas-page{padding:2.5rem 0 4rem;background:#faf7f4}
.cabanas-page__container{max-width:1200px;margin:auto;padding:0 1.5rem}
.cabanas-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.8rem;padding:1rem;background:#fff;border:1px solid #e8e2da;border-radius:12px}
.cabanas-toolbar__info p{margin:0;font-size:.9rem;color:#6b6b6b}
.cabanas-toolbar__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#6b6b6b;margin-right:.5rem}
.cabanas-toolbar__select{padding:.55rem .8rem;border:1px solid #e8e2da;border-radius:999px;background:#fff;font-size:.9rem}

.cabanas__grid{display:grid;gap:1.4rem}
.cabana-detail{display:grid;background:#fff;border:1px solid #e8e2da;border-radius:16px;overflow:hidden}
@media(min-width:860px){.cabana-detail{grid-template-columns:1.15fr 1fr}.cabana-detail--wide{grid-template-columns:1.3fr 1fr}}
.cabana-detail__media{position:relative;overflow:hidden;background:#eee}
.cabana-detail__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block;transition:transform .5s}
.cabana-detail:hover img{transform:scale(1.03)}
.cabana-detail__badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);padding:.35rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}
.cabana-detail__media--placeholder{display:grid;place-items:center;min-height:280px;color:#8a8a8a;font-size:.9rem;padding:1rem;text-align:center}
.cabana-detail__body{padding:1.3rem 1.25rem;display:flex;flex-direction:column}
.cabana-detail__name{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#6b6b6b;margin:0 0 .25rem}
.cabana-detail__claim{font-size:1.28rem;line-height:1.2;font-weight:500;margin:0 0 .55rem;letter-spacing:-.01em}
.cabana-detail__text{font-size:.95rem;color:#3a3a3a;margin:0 0 .9rem}
.cabana-detail__features{list-style:none;padding:0;margin:0 0 1.1rem;display:grid;gap:.35rem;font-size:.88rem;color:#4a4a4a}
.cabana-detail__features li::before{content:"¡¤ ";font-weight:700}
.cabana-detail__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #f0ece6;padding-top:.9rem}
.cabana-detail__price{font-size:1.4rem;font-weight:700}.cabana-detail__price small{font-size:.85rem;font-weight:400;color:#6b6b6b}
.cabanas-info{margin-top:2.6rem;background:#fff;border:1px solid #e8e2da;border-radius:12px;padding:1.3rem 1.2rem}
.cabanas-info h2{font-size:1.15rem;margin:0 0 .6rem}.cabanas-info ul{margin:0;padding-left:1.1rem;color:#3d3d3d;font-size:.93rem}.cabanas-info li{margin:.4rem 0}

/* ===== FUSION CON LocationDetail ===== */
.cabanas-detail-grid{display:grid;gap:2.2rem;margin-top:1rem}
.cabana-detail.is-detail{background:#fff;border:1px solid #e8e2da;border-radius:18px;overflow:hidden}
.cabana-detail__layout{display:grid}
@media(min-width:1020px){.cabana-detail__layout{grid-template-columns:1.6fr .9fr}}
.cabana-detail__main{padding:0 0 1.2rem}
.cabana-detail__gallery{position:relative;overflow:hidden;background:#efe9e2;height:46vh;min-height:320px}
.gallery__track{display:flex;height:100%;transition:transform .45s ease;will-change:transform}
.gallery__track img{width:100%;flex:0 0 100%;object-fit:cover}
.gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;font-size:22px;display:grid;place-items:center;cursor:pointer}
.gallery__nav--prev{left:12px}.gallery__nav--next{right:12px}
.gallery__dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.gallery__dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.45)}.gallery__dots button.is-active{background:#fff}
.gallery__counter{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.45);color:#fff;font-size:.72rem;padding:.25rem .55rem;border-radius:999px;backdrop-filter:blur(6px)}
.cabana-detail__head{padding:1.2rem 1.25rem .2rem}
.cabana-detail__name{font-size:1.55rem;font-weight:600;letter-spacing:-.01em;margin:.2rem 0 .2rem}
.cabana-detail__meta{font-size:.78rem;color:#6b6b6b;display:flex;gap:.6rem;flex-wrap:wrap}
.cabana-detail__claim{font-size:1.05rem;color:#2b2b2b;margin:.2rem 0 .5rem}
.cabana-detail__desc{color:#4a4a4a;font-size:.95rem;margin:0}
.cabana-detail__cards{display:grid;gap:1rem;padding:1rem 1.25rem}
.detail-card{border:1px solid #f0ece6;border-radius:12px;padding:1rem 1.05rem;background:#faf7f4}
.detail-card h3{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#6b6b6b;margin:0 0 .7rem}
.amenities{display:grid;gap:.8rem}@media(min-width:600px){.amenities{grid-template-columns:1fr 1fr}}
.amenity strong{display:block;font-size:.92rem}.amenity span{font-size:.84rem;color:#6b6b6b}
.included{margin:0;padding-left:1rem;display:grid;gap:.35rem;font-size:.92rem}
.mini-reviews{display:grid;gap:.6rem} .mini-reviews blockquote{margin:0;padding:.7rem .8rem;background:#fff;border-left:3px solid #1a4d3a;border-radius:6px;font-size:.9rem;color:#333}
.cabana-detail__booking{padding:1rem;background:#fbf9f7;border-left:1px solid #efe9e2}
@media(max-width:1019px){.cabana-detail__booking{border-left:0;border-top:1px solid #efe9e2}}
.booking-box{position:sticky;top:88px;background:#fff;border:1px solid #e8e2da;border-radius:14px;padding:1.1rem}
.booking-box__price{margin-bottom:1rem}.booking-box__price span{font-size:1.8rem;font-weight:700}.booking-box__price small{color:#6b6b6b}.booking-box__rating{font-size:.8rem;color:#6b6b6b;margin-top:.15rem}
.booking-box__form label{font-size:.82rem;display:block;margin:.6rem 0 .2rem}.booking-box__form select,.booking-box__form input{width:100%;padding:.6rem .7rem;border:1px solid #e0d9d1;border-radius:10px;font-size:.9rem;background:#fff}
.booking-box__dates{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.booking-box__summary{text-align:center;font-size:.82rem;color:#6b6b6b;margin:.7rem 0;min-height:1.2em}
.btn--full{width:100%}.booking-box__note{font-size:.72rem;color:#8a8a8a;text-align:center;margin-top:.6rem}


/* ===== FIX OVERRIDE - evita colisi¨®n con main.css home (12 cols) ===== */
.cabanas-page .cabanas__grid,
#cabanasGrid.cabanas__grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:1.6rem !important;
}
@media(min-width:760px){
  .cabanas-page .cabanas__grid,
  #cabanasGrid.cabanas__grid{grid-template-columns:1fr !important;}
}
@media(min-width:1020px){
  .cabanas-page .cabanas__grid,
  #cabanasGrid.cabanas__grid{grid-template-columns:1fr !important;}
}