/*
 Theme Name:   MW 25 Child
 Theme URI:    https://tusitio.com
 Description:  Child theme base para Twenty Twenty-Five con ajustes de seguridad, SEO social, rendimiento y FSE.
 Author:       Mr. Mapache
 Template:     twentytwentyfive
 Version:      1.0
*/

/* --- Tus estilos globales van aquí abajo --- */

/* Ejemplo: ajustes básicos de layout, clases utilitarias, etc. */
/* Nada gigante, mantenlo ligero y semántico */




.is-open {
  display: block;
}

header {
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}



/* Tema Hotel Casablanca Durango – base UI */
:root{
  --radius:12px;
  --shadow:0 12px 30px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
a{color:var(--wp--preset--color--fg-brand);text-decoration:none}
a:hover{opacity:.9}

h1,
h2{
  font-family:'EB Garamond','EB Garamond',serif;
  font-weight:600;
  letter-spacing:-.01em;
}

/* Layout helpers */
.container{width:min(1120px, 92%);margin-inline:auto}
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);
  overflow:hidden;transition:transform .25s ease, box-shadow .25s ease
}
.card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.16)}

/* Motion (reduce para accesibilidad) */
@media (prefers-reduced-motion: no-preference){
  .fade-in{opacity:0;transform:translateY(8px);animation:up .5s ease .05s both}
  @keyframes up{to{opacity:1;transform:translateY(0)}}
}

/* Badges + chips */
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;background:var(--wp--preset--color--gl-brand);color:#3b2f17;font-weight:600}

/* Header + navegación responsiva */
.site-header{position:sticky;top:0;z-index:80;background:#fff; background: #234C53; box-shadow:0 8px 24px rgba(0,0,0,.08);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:72px;}
.site-branding{display:flex;align-items:center;gap:1rem;}
.site-branding .site-description{margin:0;font-size:.85rem;color:var(--wp--preset--color--g-400,#606060);}

.nav-toggle{color: white;
  display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.55rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s;}
.nav-toggle:hover,.nav-toggle:focus-visible{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.3);}
.nav-toggle__icon{position:relative;display:block;width:18px;height:2px;background:currentColor;transition:transform .25s,background .25s;}
.nav-toggle__icon::before,
.nav-toggle__icon::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .25s,top .25s;}
.nav-toggle__icon::before{top:-6px;}
.nav-toggle__icon::after{top:6px;}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon{background:transparent;}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before{top:0;transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::after{top:0;transform:rotate(-45deg);}

.primary-nav{position:fixed;top:62px;left:0;right:0;background:#244C53;padding:2rem 1.5rem;transform:translateY(-110%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .2s ease;max-height:calc(100vh - 72px);overflow-y:auto;}
body.nav-open .primary-nav{transform:translateY(0);opacity:1;visibility:visible;}
.menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;font-weight:600;font-size:1.05rem; color: white;}
.menu a{color:inherit;text-decoration:none;text-transform: uppercase; font-weight: 300; letter-spacing: .1rem; font-size: 13px;}
.menu a:hover,.menu a:focus{color:var(--wp--preset--color--fg-brand,#86B2BA);}
.menu .sub-menu{padding-left:1.2rem;border-left:2px solid rgba(0,0,0,.05);gap:.75rem;}


@media (min-width:960px){
  .nav-toggle{display:none;}
  .primary-nav{position:static;transform:none;opacity:1;visibility:visible;padding:0;background:transparent;max-height:none;overflow:visible;}
  .menu{flex-direction:row;align-items:center;gap:1.5rem;font-size:.95rem;font-weight:500;}
  .menu .sub-menu{position:absolute;left:0;top:100%;padding:.75rem 1.25rem;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.12);border-radius:12px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease;}
  .menu li{position:relative;}
  .menu li:hover>.sub-menu,
  .menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
  .menu .sub-menu{flex-direction:column;border-left:0;}
}

body.nav-open{overflow:hidden;}

/* Hero genérico */
.hero{padding:4.5rem 0 2.5rem}
.hero h1{font-size:clamp(2rem,3.5vw,3rem);line-height:1.1;margin:.2em 0}

/* Cards de habitación */
.room-card .media{aspect-ratio:16/9;overflow:hidden}
.room-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.room-card:hover .media img{transform:scale(1.04)}
.room-meta{display:flex;flex-wrap:wrap;gap:.5rem}
.room-meta .chip{padding:.25rem .5rem;background:var(--wp--preset--color--pp-bg);border:1px solid var(--wp--preset--color--pp-ink);border-radius:999px;font-size:.85rem}

/* Responsive */
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}



.rooms-groups .room-cardv2__tag{color: white;}

.room-cardv2__tag[data-tipo="PA"] {
  background-color: #86B2BA;
}
.room-cardv2__tag[data-tipo="P+"] {
  background-color: #DDA1B2;
}
.room-cardv2__tag[data-tipo="Es"] {
  background-color: #D9C7AD;
}

.home-room-card__badge[data-tipo="PA"] {
  background-color: #86B2BA;
}
.home-room-card__badge[data-tipo="P+"] {
  background-color: #DDA1B2;
}
.home-room-card__badge[data-tipo="Es"] {
  background-color: #D9C7AD;
}


.hero-habitaciones{
  background: var(--wp--preset--color--bg,#f5f5f5);
  padding: 4rem 1.5rem 2rem;
  text-align:center;
}
.hero-habitaciones .inner{max-width:56rem;margin:0 auto;}
.rooms-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1.5rem;
  padding:2rem 1.5rem 4rem;
}
.room-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 25px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
}
.room-card__media{
  display:block;
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}
.room-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.room-card__badge{
  position:absolute;
  top:1rem;
  left:1rem;
  background:rgba(0,0,0,.6);
  color:#fff;
  padding:.35rem .75rem;
  border-radius:999px;
  font-size:.7rem;
}
.room-card__body{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.65rem;}
.room-card__meta{display:flex;gap:.5rem;flex-wrap:wrap;}
.chip{
  background:rgba(134,178,186,.15);
  border:1px solid rgba(134,178,186,.4);
  padding:.25rem .6rem;
  border-radius:999px;
  font-size:.7rem;
}
.room-card__price{margin:0;font-size:.9rem;}
.btn.btn-sm{
  display:inline-flex;
  gap:.25rem;
  background:var(--wp--preset--color--brand,#86B2BA);
  color:#fff;
  padding:.4rem .9rem;
  border-radius:10px;
  font-weight:600;
  font-size:.8rem;
  width:max-content;
}



.room-single__hero{
  position:relative;
  min-height:280px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}
.room-single__hero .overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%, rgba(0,0,0,.65) 90%);
}
.room-single__head{
  position:relative;
  padding:3rem 1.5rem 2.5rem;
  color:#fff;
}
.room-single__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;}
.room-single__body{
  display:grid;
  grid-template-columns: minmax(0,1.4fr) 360px;
  gap:2rem;
  padding:2.5rem 1.5rem 3.5rem;
}
.room-single__main h2{margin-top:0;}
.room-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem;}
.room-gallery__item img{width:100%;display:block;border-radius:14px;}
.room-single__aside{display:flex;flex-direction:column;gap:1.25rem;}
.card{
  background:#fff;
  border-radius:16px;
  padding:1rem 1.25rem 1.25rem;
  box-shadow:0 12px 28px rgba(0,0,0,.04);
}
.card.sticky{position:sticky;top:90px;}
.price-strong{font-size:1.6rem;margin:.25rem 0 .75rem;font-weight:700;}
.muted{color:#6b6f72;font-size:.75rem;}
.w-full{width:100%;}
.amen-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;}
.amen-list li i{margin-right:.35rem;}
@media (max-width:992px){
  .room-single__body{grid-template-columns:1fr;}
  .card.sticky{position:static;}
}





.room-hero{
  position:relative;
  min-height:260px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}
.room-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.1) 0%, rgba(0,0,0,.7) 85%);
}
.room-hero__content{
  position:relative;
  text-align: center;
  padding:3.5rem 1.5rem 2.5rem;
  color:#fff;
  max-width:62rem;
}
.room-hero__eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;margin-bottom:.4rem;opacity:.85;}
.room-hero__title{font-size:clamp(2.4rem,4vw,3.4rem);margin:0 0 .4rem;font-weight:500;}
.room-hero__lede{max-width:34rem;font-size:.95rem;opacity:.95; margin: 0 auto;}

.room-gallery-strip{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  gap:2.1rem;
  margin-top:3rem;
  margin-bottom:2.5rem;
}
.room-gallery-strip__main{
  border-radius:22px;
  overflow:hidden;
  position:relative;
  min-height:190px;
  box-shadow:0 24px 50px rgba(0,0,0,.18);
  outline:1px solid rgba(255,255,255,.35);
  outline-offset:-1px;
}
.room-gallery-strip__main::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 -60px 90px rgba(0,0,0,.22);
  pointer-events:none;
  opacity:.2;
}
.room-gallery-strip__main-link{display:block;height:100%;}
.room-gallery-strip__main img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.room-gallery-strip__badge{
  position:absolute;left:1.4rem;bottom:1.3rem;
  background:rgba(0,0,0,.58);
  color:#fff;
  padding:.8rem 1.1rem;
  border-radius:14px;
  font-size:.82rem;
  display:flex;
  flex-direction:column;
  gap:.1rem;
  box-shadow:0 14px 28px rgba(0,0,0,.28);
}
.badge-category{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.62rem;
  opacity:.85;
  margin-bottom:.05rem;
}
.badge-title{
  font-weight:700;
  font-size:1.05rem;
}
.room-gallery-strip__thumbs{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:.9rem;
}
.room-gallery-strip__thumbs a{display:block;height:100%;}
.room-gallery-strip__thumbs .thumb{
  border-radius:18px;
  overflow:hidden;
  background:#d9d9d9;
  min-height:120px;
  box-shadow:0 16px 30px rgba(0,0,0,.12);
  position:relative;
}
.room-gallery-strip__thumbs .thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.05);
}
.thumb.thumb--more{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  display:block;
  box-shadow:0 16px 30px rgba(0,0,0,.18);
}
.thumb.thumb--more img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.thumb-more__overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%, rgba(0,0,0,.75) 100%);
  text-align:center;
  letter-spacing:.08em;
  text-transform:uppercase;
  gap:.25rem;
}
.thumb-more__count{
  font-size:2.2rem;
  font-weight:700;
  letter-spacing:.05em;
}
.thumb-more__label{
  font-size:.95rem;
  font-weight:600;
}
.thumb.thumb--hidden{display:none;}
.thumb.placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#5b5b5b;
  font-weight:600;
}

/* Información rápida */
.room-quick-info{
  padding:0;
  margin-bottom:0;
}
.quick-info-grid{
  display:flex;
  flex-wrap:wrap;
  gap:1.4rem;
  justify-content:flex-start;
}
.quick-info-item{
  background:#bfdae1;
  border-radius:20px;
  width:min(190px, 100%);
  min-height:150px;
  padding:1.25rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:.75rem;
  color:#0f4149;
  font-weight:600;
  box-shadow:0 14px 28px rgba(0,0,0,.08);
}
.quick-info-item i{
  font-size:1.75rem;
  color:#0f4149;
}
.quick-info-item span{ font-size: 13px;}
.room-quick-note{
  margin: 0;
  padding: 1rem 1.25rem;
  background: #f0f6f7;
  border-left: none;
  border-radius: 14px;
  color: #2f5055;
  font-weight: 500;
  line-height: 1.6;
  font-size: 13px;
}

.room-layout{
  display:grid;
  grid-template-columns: minmax(0,1.5fr) 360px;
  gap:2rem;
  margin-bottom:4rem;
}
.room-layout__left{display:flex;flex-direction:column;gap:1.75rem;}
.room-features{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}
.room-feature{
  flex:1 1 180px;
  background:#e3eff0;
  border-radius:14px;
  padding:.75rem .9rem;
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}
.room-feature__icon i{font-size:1.6rem;line-height:1;}
.room-feature__title{margin:0 0 .15rem;font-weight:600;}
.room-feature__desc{margin:0;font-size:.7rem;opacity:.75;}

.room-desc h2{margin:0;}
.room-desc__text{line-height:1.7;font-size:1.05rem;color:#546166;display:grid;gap:1rem;}
.room-desc__text p{margin:0;}
.room-desc__fallback{line-height:1.7;font-size:1.05rem;color:#546166;}

.room-amenities-blocks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1.25rem;
}
.amen-block{
  background:#fff;
  border-radius:16px;
  padding:1rem 1.25rem 1.25rem;
  box-shadow:0 8px 25px rgba(0,0,0,.03);
}
.amen-block h3{margin-top:0;margin-bottom:.65rem;font-size:1rem;}
.amen-block ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;}
.amen-block li{display:flex;gap:.4rem;align-items:flex-start;font-size:.85rem;}
.amen-block li i{margin-top:.05rem;}

.room-layout__right{display:flex;flex-direction:column;gap:1.25rem;}
.booking-card{
  background:#fff;
  border-radius:18px;
  padding:1.25rem 1.25rem 1.5rem;
  box-shadow:0 14px 32px rgba(0,0,0,.05);
}
.booking-card__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin:0;color:#677;}
.booking-card__price{font-size:1.8rem;margin:0 0 .25rem;font-weight:700;color:#005a5b;}
.booking-card__meta{margin:0 0 .95rem;font-size:.8rem;color:#555;}
.booking-card__actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;cursor:pointer;border:none;text-decoration:none;}
.btn-primary{background:#86B2BA;color:#fff;padding:.55rem 1rem;border-radius:10px;font-weight:600; font-size: 22px;}
.btn-secondary{background:rgba(134,178,186,.12);color:#1f4c54;padding:.45rem 1rem;border-radius:10px;font-weight:500; font-size: 18px;}
.booking-card__link{font-size:.7rem;color:#2d6b6f;text-decoration:underline;}

.amenities-side{
  background:#fff;
  border-radius:18px;
  padding:1.25rem 1.25rem 1.5rem;
  box-shadow:0 14px 32px rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
  gap:1.1rem;
}
.amenities-side__title{
  margin:0;
  font-size:1.05rem;
  font-weight:600;
  color:#2c6f78;
}
.amenities-side__grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.4rem;
}
.amenities-side__item{
  display:flex;
  align-items:center;
  gap:.75rem;
  font-size:.9rem;
  color:#5a6166;
}
.amenities-side__icon{
  width:37px;
  height:37px;
  border-radius:12px;
  background:rgba(217,161,178,.16);
  color:#d58fa6;
  display:flex;
  align-items:center;
  justify-content:center;
}
.amenities-side__icon i{font-size:1.35rem;}
.amenities-side__label{line-height:1.35;}

.chip{
  background:rgba(0,0,0,.25);
  color:#fff;
  padding:.25rem .7rem;
  border-radius:999px;
  font-size:.7rem;
}
.chip--cat{background:#fff;color:#000;font-weight:600;}

@media(max-width:1024px){
  .room-layout{grid-template-columns:1fr;}
  .room-layout__right{order:-1;}
  .room-gallery-strip{grid-template-columns:1fr;}
}

@media(max-width:640px){
  .amenities-side__grid{grid-template-columns:1fr;}
  .quick-info-grid{justify-content:center;}
  .quick-info-item{width:100%;max-width:260px;}
}

/* Footer */
.site-footer{
  background:#6c8a8f;
  background: #6c8a8f url('assets/footer_bg.jpg') center/cover no-repeat;
  color:#f4f6f7;
  margin-top:0;
  font-size:.9rem;
}
.footer-main{
  padding:4.5rem 0 3.5rem;
}
.footer-main__inner{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  grid-template-columns:minmax(0,2fr) minmax(0,2fr);
  gap:3rem;
}
.footer-brand{display:flex;flex-direction:column;gap:1.5rem;max-width:480px;}
.footer-brand__logo .custom-logo{max-width:240px;height:auto;}
.footer-brand__title{font-size:1.8rem;font-weight:700;color:#fff;text-decoration:none;}
.footer-brand__copy{margin:0;line-height:1.6;opacity:.92;}
.footer-brand__actions{display:flex;flex-wrap:wrap;gap:1rem;}
.footer-btn{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;padding:.65rem 1.25rem;border-radius:14px;text-decoration:none;transition:opacity .2s ease;}
.footer-btn i{font-size:1.2rem;}
.footer-btn--ghost{background: #86B2BA; color: #fff;}
.footer-btn--solid{background:#d6b077;color:#4b3209;}
.footer-btn:hover{opacity:.85;}

.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;}
.footer-column__title{margin:0 0 1rem;font-size:1.05rem;font-weight:600;color:#e8d8b8;text-transform:uppercase;letter-spacing:.08em;}
.footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-weight:500;letter-spacing:.04em;text-transform:capitalize;}
.footer-menu a{color:#fff;text-decoration:none;}
.footer-menu a:hover{opacity:.75;}

.footer-column--contacto .footer-menu{gap:.35rem;text-transform:none;letter-spacing:0;font-weight:400;}
.footer-contact{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;}
.footer-contact a{color:#fff;text-decoration:none;}
.footer-contact strong{display:block;color:#f7e8c9;font-weight:600;margin-bottom:.1rem;}

.footer-social{display:flex;gap:1rem;}
.footer-social a{color:#f4f6f7;font-size:1.3rem;display:inline-flex;}
.footer-social a:hover{opacity:.75;}

.footer-bottom{background:#2d5257;padding:1.1rem 0;}
.footer-bottom__inner{text-align:center;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.footer-bottom__inner a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);}
.footer-bottom__inner a:hover{opacity:.8;}

@media(max-width:900px){
  .footer-main__inner{grid-template-columns:1fr;}
  .footer-links{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
  .footer-brand{max-width:none;}
}

/* Archive Habitaciones */
.rooms-hero{
  position:relative;
  min-height:320px;
  background:url('assets/habitaciones_head_bg.jpg') center/cover no-repeat #4b6b71;
  color:#fff;
  display:flex;
  align-items:flex-end;
}
.rooms-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,44,49,.55) 0%, rgba(8,44,49,.85) 100%);}
.rooms-hero__content{position:relative;padding:4.5rem 1.5rem 3.5rem;text-align:center;max-width:720px;margin:0 auto;}
.rooms-hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin-bottom:.6rem;display:block;opacity:.85;}
.rooms-hero__title{font-size:clamp(2.8rem,5vw,4rem);margin:0 0 .65rem;font-weight:500;}
.rooms-hero__lede{margin:0;font-size:1rem;opacity:.9;}

.rooms-lead{background:#fff5ed;padding:2.5rem 0;text-align:center;}
.rooms-lead__copy{margin: 0; font-size: 1.8rem; font-style: normal; color: #c08b5e; letter-spacing: 0; font-family: 'EB Garamond', 'EB Garamond', serif; font-weight: 400;}





.rooms-groups{
  padding:3rem 1.5rem 4.5rem;
  display:grid;
  gap:3rem 2.5rem;
}
.rooms-section__title{text-align:center;font-size:2rem;margin-bottom:0;color:#638E94;font-weight:600;letter-spacing:0;}

.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;}
.room-cardv2{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.14);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;}
.room-cardv2:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.2);}
.room-cardv2__media{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;}
.room-cardv2__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.room-cardv2:hover .room-cardv2__media img{transform:scale(1.04);}
.room-cardv2__badge{position:absolute;top:1rem;left:1rem;background:rgba(0,0,0,.6);color:#fff;padding:.4rem .75rem;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;}
.room-cardv2__tag{position:absolute;bottom:1rem;left:1rem;background:#f1d4b7;color:#704c23;padding:.35rem .75rem;border-radius:12px;font-weight:700;font-size:.85rem;}

.room-cardv2__body{padding:1.75rem 1.75rem 1.9rem;display:flex;flex-direction:column;gap:1.1rem;}
.room-cardv2__header{display:grid;justify-content:space-between;align-items:flex-start;gap:1rem;  box-shadow: none;grid-template-columns: 1fr 99px;}
.room-cardv2__title{margin:0;font-size:18px;color:#638E94;}
.room-cardv2__btn{background:#d6b077;color:#fff; font-size:13px;text-decoration:none;font-weight:600;padding:.55rem 1.2rem;border-radius:12px;letter-spacing:.05em;border:none;display:inline-flex;align-items:center;gap:.4rem;}
.room-cardv2__btn:hover{opacity:.85;}
.room-cardv2__excerpt{margin:0;color:#5f6568;line-height:1.55;}

.room-cardv2__specs{
  display:flex;
  gap:1.2rem;
  flex-wrap:wrap;
  color:#d18687;
  font-weight:600;
  letter-spacing:.05em;
}
.room-cardv2__specs span{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:inherit;
  font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size: 14px;
  letter-spacing: 0;
}
.room-cardv2__specs i{
  font-size:1.3rem;
  color:inherit;
}
.page-hero__description{font-size: 18px;}
.room-cardv2__amenities{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem;}
.room-cardv2__amenities li{font-size:.85rem;color:#8e9a9d;border-bottom:1px solid rgba(211, 143, 135, .3);padding-bottom:.15rem;}
.room-cardv2__amenities--pipe{
  list-style:none;
  display:block;
  padding:0;
  margin:0;
  color:#86B2BA;
  font-weight:400;
  letter-spacing:.0;
  font-size:.9rem;
}

.room-cardv2__price{margin:0;font-weight:700;color:#3d676e;font-size:1.1rem;}

@media(max-width:640px){
  .rooms-hero__title{font-size:2.4rem;}
  .room-cardv2__btn{width:100%;justify-content:center;}
}

@media(min-width:1024px){
  .rooms-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }
  .rooms-groups .rooms-section:nth-child(n+3){
    grid-column:1 / -1;
  }
}

/* Página genérica con hero */
.page-hero{
  position:relative;
  min-height:260px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,44,49,.55) 0%, rgba(8,44,49,.85) 100%);}
.page-hero__content{position:relative;text-align:center;padding:3.5rem 1.5rem;max-width:720px;}
.page-hero__title{margin:0 0 .75rem;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:500;letter-spacing:.05em;}
.page-hero__subtitle{margin:0;font-size:1rem;opacity:.9;line-height:1.6;}
.page-content{padding:3rem 1.5rem 4rem;}
.page-content__inner{max-width:820px;margin:0 auto;color:#425056;line-height:1.75;font-size:1.05rem;}
.page-content__inner h2,
.page-content__inner h3,
.page-content__inner h4{color:#2f5055;font-weight:500;margin-top:2.5rem;}
.page-content__inner h2{color: #638E94; font-weight: 400; font-size:1.7rem;}
.page-content__inner p{margin-bottom:1.4rem;}
.page-content__inner ul{list-style:disc;padding-left:1.5rem;margin-bottom:1.4rem;}
.page-content__inner a{color:#86B2BA;text-decoration:underline;}

/* Ajustes galería Gutenberg */
.wp-block-gallery.is-layout-flex{
  display:grid;
  gap:1.2rem;
}
.wp-block-gallery.columns-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.wp-block-gallery.columns-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.wp-block-gallery.columns-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.wp-block-gallery.columns-5{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.wp-block-gallery .wp-block-image{
  width: 100%!important;
  margin:0;
  position:relative;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}
.wp-block-gallery .wp-block-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:640px){
  .wp-block-gallery.is-layout-flex{grid-template-columns:1fr;}
  .primary-nav{height:100vh; max-height:100vh;}
}


/* ==========================================================
   Portada (front-page.php)
   ========================================================== */
.front-page{
  display:flex;
  flex-direction:column;
  gap:0;
  background:#f9f7f3;
}

.home-hero{
  position:relative;
  min-height:76vh;
  color:#fff;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.home-hero__media{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#0a2428;
}
.home-hero__media iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:120%;
  height:120%;
  transform:translate(-50%, -50%);
  pointer-events:none;
  border:0;
}
.home-hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,44,49,.55) 0%, rgba(8,44,49,.85) 100%);
}
.home-hero__content{
  position:relative;
  padding:6rem 1.5rem 5rem;
  text-align:center;
  max-width:60rem;
}
.home-hero__eyebrow{
  font-family:'EB Garamond','EB Garamond',serif;
  font-size:1.5rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0;
}
.home-hero__title{
  font-size:clamp(2.8rem,6vw,4.75rem);
  line-height:1;
  margin:0;
  font-weight: 500;
}
.home-hero__description{
  font-size:clamp(1.1rem,2.4vw,1.5rem);
  margin:0 auto;
  max-width:40rem;
}
.home-hero__cta{
  margin-top:2.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem 2.5rem;
  justify-content:center;
  align-items:center;
}
.home-hero__btn{
  font-size:1rem;
  letter-spacing:.08em;
  padding:.75rem 2.4rem;
  border-radius:999px;
  text-transform:uppercase;
}
.home-hero__highlights{
  display:flex;
  gap:1.75rem;
  flex-wrap:wrap;
}
.home-hero__highlight{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.9rem;
  font-size: 13px;
}
.home-hero__highlight i{
  font-size:2rem;
}

.home-intro{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:3rem;
  align-items:center;
  padding:4.5rem 0;
}
.home-intro__text h2{
  font-size:clamp(2rem,3vw,2.6rem);
  margin-bottom:1rem;
  font-weight: 500;
}
.home-intro__text p{
  font-size:1.05rem;
  color:#354048;
  line-height:1.7;
}
.home-intro__media figure{
  margin:0;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(30,45,52,.18);
}
.home-intro__media img{
  width:100%;
  display:block;
  object-fit:cover;
}
.cintillo{
    text-wrap-mode: nowrap;
    font-size: 12px;
    overflow: hidden;
    color: #86B2BA;
    padding: 30px 0;}
.home-parallax{
  position:relative;
  padding:6rem 1.5rem;
  margin:0;
  color:#fff;
  text-align:center;
  background-image:url('assets/parallax_bg.jpg');
  background-size:cover;
  background-position:center;
  background-attachment:scroll;
}
.home-parallax::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,44,49,.6) 0%, rgba(8,44,49,.85) 100%);
}
.home-parallax__overlay{
  position:relative;
  max-width:60rem;
  margin:0 auto;
}
.home-parallax__overlay h2{
  font-size:clamp(1.2rem,4vw,2.4rem);
  margin-bottom:.8rem;
  font-weight: 500;
}
.home-parallax__overlay p{
  font-size:clamp(1rem,2vw,1.35rem);
  margin:0;
}

.home-rooms{
  padding:2rem 0 5rem;
  display:flex;
  flex-direction:column;
  gap:2.5rem;
}
.home-rooms__head{
  display:flex;
  justify-content:space-between;
  align-items: anchor-center;
  gap:2rem;
  flex-wrap:wrap;
}
.home-rooms__head h2{
  font-size:clamp(2.2rem,3vw,3rem);
  margin-bottom:.35rem;
  font-weight: 500;
}
.home-rooms__head p{
  max-width:32rem;
  margin:0;
  font-size: 22px;
  color:#4d5a61;
}

.home-rooms__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2rem;
}
.home-room-card{
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 40px rgba(30,45,52,.12);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.home-room-card__media{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
}
.home-room-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.home-room-card__media:hover img{
  transform:scale(1.05);
}
.home-room-card__badge{
  position:absolute;
  top:1rem;
  left:1rem;
  background:rgba(10,36,40,.82);
  color:#fff;
  padding:.4rem .8rem;
  border-radius:999px;
  font-weight:600;
  letter-spacing:.06em;
  font-size:.9rem;
}
.home-room-card__body{
  padding:1.75rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  flex:1;
}
.home-room-card__title{
  font-size:1.5rem;
  margin:0;
      color: #638E94;
}
.home-room-card__description{
  margin:0;
  color:#4b555c;
  font-size: 18px;
}
.home-room-card__meta{
  display:flex;
  flex-wrap:wrap;
  font-size: 14px;
  gap:.75rem 1.25rem;
  padding:0;
  margin:0;
  list-style:none;
  color:#d18687;
  font-weight:600;
}
.home-room-card__meta i{
  margin-right:.35rem;
  font-size:1.1rem;
}
.home-room-card .btn{
  align-self:flex-start;
}
.home-rooms__fallback{
  text-align:center;
  margin:0;
  color:#56636a;
}

.home-feature{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2.5rem;
  align-items:center;
  padding:0 0 4rem;
}
.home-feature__content{
  background:#12373d;
  color:#fff;
  padding:3rem;
  border-radius:14px;
  box-shadow:0 18px 45px rgba(18,55,61,.18);
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.home-feature--salon .home-feature__content{
  background:#b8914e;
}
.home-feature__eyebrow{
  font-family:'EB Garamond','EB Garamond',serif;
  font-size:1.2rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.home-feature__title{
  font-size:clamp(2rem,3vw,2.7rem);
  margin:0;
  font-weight: 400;
}
.home-feature__content p{
  margin:0;
  line-height:1.7;
  font-size: 18px;
}
.home-feature__media{
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(15,38,45,.18);
}
.home-feature__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.btn-gold{
  background:#d6b077;
  color:#fff;
  font-size: 16px;
  padding:.6rem 1.35rem;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;
  transition:opacity .2s ease;
}
.btn-gold:hover{opacity:.9;}
.btn-ghost{
  background:#d6b077;
  color: #fff;
  padding:.55rem 1.25rem;
  font-size: 14px;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;
  transition:opacity .2s ease;
}
.btn-ghost:hover{opacity:.85;}

@media (max-width:1024px){
  .home-intro,
  .home-rooms__grid,
  .home-feature{
    grid-template-columns:1fr;
  }
  .home-feature{
    gap:1rem;
  }
  .home-feature__media{
    order:-1;
  }
  .home-room-card__body{
    gap:.85rem;
  }
}

@media (max-width:768px){
  .home-hero{
    min-height:70vh;
  }
  .home-intro{
    padding:3.5rem 0;
    gap:2rem;
  }
  .home-parallax{
    padding:4.5rem 1.5rem;
  }
  .home-rooms{
    padding:0rem 0 4rem;
  }
  .home-room-card__media{
    aspect-ratio:16/11;
  }
  .home-feature__content{
    padding:2.5rem;
  }
}

@media (max-width:600px){
  .home-hero__cta{
    flex-direction:column;
    gap:1.25rem;
  }
  .home-hero__highlights{
    width:100%;
    justify-content:center;
  }
  .home-hero__highlight{
    justify-content:center;
  }
  .home-hero__media iframe{
    width:140%;
    height:140%;
            width: 310%;
  }
  .home-rooms__head{
    flex-direction:column;
    align-items:flex-start;
  }
  .home-room-card__meta{
    flex-direction:column;
    gap:.5rem;
  }
  .home-feature__content{
    border-radius:20px;
  }
  .home-feature__media{
    border-radius:14px;
  }
}

@media (min-width:960px){
  .home-parallax{
    background-attachment:fixed;
  }
}

.home-reviews{
  padding:2rem 0 0rem;
  background:#e7f2f3;
  overflow:hidden;
}
.home-reviews__title{
  text-align:center;
  margin:0;
  font-size:clamp(2rem,3vw,3rem);
  color:#53767d;
  font-weight: 500;
}
.home-reviews__scroller{
  overflow:hidden;
}
.home-reviews__track{
  display:flex;
  gap:2rem;
  padding:40px 0 60px;
  width:max-content;
  animation:home-reviews-marquee 55s linear infinite;
}
.home-review-card{
  position: relative;
  flex:0 0 320px;
  background:#fff;
  border-radius:28px;
  box-shadow:0 18px 40px rgba(27,52,60,.14);
  padding:1.5rem 2rem 1.5rem;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.home-review-card__stars{
  display:flex;
  gap:.2rem;
  color:#d6b077;
  font-size:1.2rem;
}
.home-review-card__title{
  font-size:1.35rem;
  margin:0;
  color:#64707a;
  line-height:1.4;
}
.home-review-card__text{
  margin:0;
  color:#49545c;
  line-height:1.7;
  font-size:.95rem;
}
.home-review-card__badge{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:.3rem;
  font-weight:500;
  letter-spacing:.05em;
  text-transform:capitalize;
  color:#5d6a73;
  font-size:.85rem;
  position: absolute;
    right: 30px;
    top: 25px;
}
.home-review-card__badge img{
  width:18px;
  height:auto;
  object-fit:contain;
  display:block;
}
.home-review-card__author{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:.65rem;
  font-weight:600;
  color:#2e4045;
}
.home-review-card__author img{
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid rgba(214,176,119,.8);
}
.home-review-card__author span{    font-size: 16px;}

.home-reviews__track:hover{
  animation-play-state:paused;
}

@keyframes home-reviews-marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

@media (max-width:768px){
  .home-review-card{
    flex:0 0 260px;
    padding:1.9rem 1.7rem;
  }
  .home-reviews__track{
    gap:1.5rem;
  }
}
.site-header .reservebuton{}
.site-header .reservebuton a{background: #C8AF8A; padding: 10px 14px; border-radius: 8px;}
.site-header .reservebuton a:hover{color: #fff;}

.home-whatsapp h2{font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.home-whatsapp{
  position:relative;
  margin-top:0;
  background:url('assets/home_whats_parallax_bg.jpg') center/cover no-repeat #b49362;
  color:#fff;
  padding:4rem 0 0;
}
.home-whatsapp::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(107,79,39,.68);
}
.home-whatsapp__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:center;
  gap:3rem;
  grid-template-areas: "bloque1 bloque2";
}
.home-whatsapp__media{
  justify-self:center;    grid-area: bloque1;
}
.home-whatsapp__media img{
  max-width:min(340px,70vw);
  height:auto;
  display:block;
}
.home-whatsapp__content{
  grid-area: bloque2;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  max-width:26rem;
}
.home-whatsapp__content h2{
  margin:0;
  font-size:clamp(2rem,3vw,2.7rem);
  font-weight:600;
}
.home-whatsapp__content p{
  margin:0;
  font-size:1.1rem;
  line-height:1.7;
  color:rgba(255,255,255,.92);
}
.btn-whatsapp{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:#25d366;
  color:#fff;
  padding:.65rem 1.6rem;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.06em;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 12px 24px rgba(18,123,54,.25);
      font-size: 22px;
    width: fit-content;
    font-weight: 400;
}
.btn-whatsapp:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 32px rgba(18,123,54,.3);
}
.btn-whatsapp i{
  font-size:1.3rem;
}

@media (max-width:900px){
  .home-whatsapp__inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:2.5rem;
    grid-template-columns: 1fr;
    grid-template-areas:
        "bloque2"
        "bloque1";
  }
  .home-whatsapp__content{
    margin:0 auto;
  }
  .home-whatsapp__media img{
    max-width:min(280px,80vw);
  }
}
