/* V48 · Pulido visual: portada, valores flotantes y flujo editorial */
:root{--azul:#070d3f;--azul2:#111b58;--dorado:#b69a69;--marfil:#faf9f6;--texto:#344052}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
/* Evita que el cotizador y el contenido se mezclen */
.page-index .hero.v32-hero.v27-hero-video{position:relative;min-height:700px}
.page-index .azul-home{position:relative;z-index:5;background:#fff}
.page-index .home-rewards{display:none!important}
.page-index .professional-banner-wrap.legacy-duplicate{display:none!important}
/* Menú siempre separado y profesional */
.mobile-menu{z-index:10020!important}
.mobile-menu-overlay{z-index:10010!important}
.menu-button{z-index:10030!important}
.mobile-menu a{display:block!important;text-decoration:none!important;white-space:normal!important}
/* Bienvenida debajo del cotizador */
.v48-welcome{padding:90px 22px 78px;background:linear-gradient(180deg,#fff,#fafafa);text-align:center}
.v48-frame{max-width:1220px;margin:0 auto}
.v48-ornaments{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;margin-bottom:22px}
.v48-ornaments .line{height:2px;background:linear-gradient(90deg,transparent,var(--azul),transparent)}
.v48-emblem{font-size:42px;color:var(--azul);line-height:1}
.v48-kicker{display:block;color:var(--dorado);font-size:12px;letter-spacing:5px;font-weight:700;margin-bottom:12px}
.v48-welcome h2,.v48-offers h2{margin:0;color:var(--azul);font-size:clamp(44px,6vw,82px);line-height:.95;font-weight:800;letter-spacing:-2px}
.v48-welcome h3{margin:18px 0 34px;color:var(--dorado);font-size:clamp(18px,2.2vw,31px);font-weight:400;letter-spacing:1px}
.v48-welcome p{max-width:1120px;margin:0 auto;color:#566171;font-size:clamp(16px,1.5vw,21px);line-height:1.72}
.v48-welcome strong{color:#263752}
/* Valores: composición editorial como referencia */
.v48-values{padding:86px 22px;background:var(--marfil)}
.v48-values-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.05fr);background:#fff;box-shadow:0 18px 55px rgba(8,13,63,.10)}
.v48-values-copy{padding:62px 58px 48px}
.v48-values-copy h2{font-size:clamp(42px,5vw,74px);color:var(--azul);margin:0 0 34px;font-weight:800;letter-spacing:-1px}
.v48-value-list{display:grid;gap:24px}
.v48-value-row{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start;border-bottom:1px solid #e9e4dc;padding-bottom:20px}
.v48-value-row:last-child{border-bottom:0}
.v48-value-icon{width:48px;height:48px;border:1px solid var(--dorado);border-radius:50%;display:grid;place-items:center;color:var(--azul);font-size:20px;font-weight:700}
.v48-value-row b{display:block;color:#7f6b4d;font-size:14px;letter-spacing:1px;margin-bottom:7px}
.v48-value-row p{margin:0;color:#596270;line-height:1.6;font-size:16px}
.v48-values-media{min-height:640px;background:url('../habitaciones/habitacion_6_1.jpg') center/cover no-repeat;position:relative}
.v48-values-media:after{content:'HOTELES AZUL IXTAPA';position:absolute;inset:auto 0 0;padding:22px;background:linear-gradient(transparent,rgba(0,0,51,.82));color:#fff;font-size:11px;letter-spacing:3px}
/* Ofertas */
.v48-offers{padding:92px 22px 100px;text-align:center;background:#fff}
.v48-offers h2{font-size:clamp(40px,5vw,70px);max-width:900px;margin:0 auto 20px}
.v48-offers .subtitle{max-width:950px;margin:0 auto 45px;color:#657080;font-size:18px;line-height:1.65}
.v48-offer-cards{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;text-align:left}
.v48-offer-card{min-height:420px;position:relative;overflow:hidden;background:var(--azul);box-shadow:0 16px 45px rgba(0,0,51,.16)}
.v48-offer-card .media{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .5s}
.v48-offer-card:hover .media{transform:scale(1.04)}
.v48-offer-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,30,.88))}
.v48-offer-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px;color:#fff}
.v48-offer-copy h3{font-size:32px;margin:8px 0 10px}
.v48-offer-copy p{margin:0 0 18px;line-height:1.55;color:#eef1f7}
.v48-offer-copy a{display:inline-block;border:1px solid rgba(255,255,255,.7);padding:12px 18px;color:#fff!important;text-decoration:none!important;font-size:11px;letter-spacing:1.4px}
/* Banner flotante de valores */
.azul-values-popup{position:fixed!important;right:24px!important;bottom:24px!important;top:auto!important;left:auto!important;width:min(420px,calc(100vw - 32px))!important;max-height:calc(100vh - 48px);overflow:auto;background:#fff!important;border:1px solid rgba(182,154,105,.65)!important;border-radius:0!important;box-shadow:0 25px 70px rgba(0,0,35,.35)!important;transform:translateY(30px)!important;opacity:0!important;visibility:hidden!important;z-index:99999!important}
.azul-values-popup.show{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;transition:opacity .35s,transform .35s!important}
.azul-values-popup-head{position:relative;background:var(--azul)!important;padding:22px 54px 20px 24px!important;color:#fff!important}
.azul-values-popup-head small{color:#c9b080!important;letter-spacing:2px!important}.azul-values-popup-head h3{color:#fff!important;margin:5px 0 0!important;font-size:26px!important}
.azul-values-popup-close{position:absolute!important;right:13px!important;top:13px!important;width:34px!important;height:34px!important;border:1px solid rgba(255,255,255,.55)!important;background:transparent!important;color:#fff!important;font-size:25px!important;line-height:1!important;border-radius:0!important;cursor:pointer!important}
.azul-values-popup-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;padding:0!important}
.azul-values-popup-item{padding:18px!important;border-right:1px solid #ece8e0!important;border-bottom:1px solid #ece8e0!important;background:#fff!important}
.azul-values-popup-item:nth-child(even){border-right:0!important}.azul-values-popup-icon{color:var(--dorado)!important;font-size:22px!important;margin-bottom:7px!important}.azul-values-popup-item strong{font-size:10px!important;letter-spacing:1px!important;color:var(--azul)!important}.azul-values-popup-item p{font-size:11px!important;line-height:1.45!important;color:#687180!important;margin:7px 0 0!important}
.azul-values-popup-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:16px 20px!important;background:#f7f4ef!important;font-size:11px!important;color:#5b6471!important}.azul-values-popup-footer a{color:var(--azul)!important;text-decoration:none!important;font-weight:700!important;white-space:nowrap}
@media(max-width:760px){
 .page-index .hero.v32-hero.v27-hero-video{min-height:820px!important;height:820px!important}
 .v48-welcome{padding:62px 18px}.v48-ornaments{gap:12px}.v48-emblem{font-size:30px}.v48-kicker{font-size:10px;letter-spacing:3px}.v48-welcome h2{letter-spacing:-1px}.v48-welcome h3{font-size:17px;margin-bottom:25px}.v48-welcome p{font-size:15px}
 .v48-values{padding:54px 14px}.v48-values-grid{grid-template-columns:1fr}.v48-values-copy{padding:42px 24px}.v48-values-copy h2{font-size:42px}.v48-values-media{min-height:320px;order:-1}.v48-value-row{grid-template-columns:46px 1fr}.v48-value-icon{width:40px;height:40px}
 .v48-offers{padding:62px 16px}.v48-offer-cards{grid-template-columns:1fr}.v48-offer-card{min-height:360px}
 .azul-values-popup{right:12px!important;bottom:12px!important;width:calc(100vw - 24px)!important;max-height:72vh}.azul-values-popup-grid{grid-template-columns:1fr 1fr!important}.azul-values-popup-item{padding:13px!important}.azul-values-popup-head h3{font-size:22px!important}.azul-values-popup-footer span{display:none!important}
}
