/* V47 — professional responsive repair for all secondary pages */
:root{--v47-azul:#070735;--v47-oro:#b59663;--v47-text:#24242a;--v47-paper:#fff;--v47-soft:#f6f4ef}
html,body{max-width:100%;overflow-x:hidden}
body{background:#fff;color:var(--v47-text)}
a{color:inherit;text-decoration:none}

/* Prevent the mobile menu from ever entering the normal document flow. */
.mobile-menu-overlay{display:none!important;position:fixed!important;inset:0!important;background:rgba(0,0,0,.56)!important;z-index:9000!important;opacity:0;transition:opacity .25s ease}
.mobile-menu-overlay.open{display:block!important;opacity:1!important}
.mobile-menu{display:none!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(86vw,370px)!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:88px 26px 28px!important;background:var(--v47-azul)!important;z-index:9001!important;overflow-y:auto!important;transform:translateX(105%)!important;transition:transform .28s cubic-bezier(.2,.7,.2,1)!important;box-shadow:-18px 0 45px rgba(0,0,0,.3)!important}
.mobile-menu.open{display:block!important;transform:translateX(0)!important}
.mobile-menu a,.mobile-menu a:visited{display:block!important;color:#fff!important;text-decoration:none!important;padding:15px 2px!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.15)!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:1.2px!important;line-height:1.35!important;white-space:normal!important}
.mobile-menu a:hover,.mobile-menu a:focus{color:#dfc18c!important}
.mobile-menu .mobile-reserve{margin-top:18px!important;text-align:center!important;background:#fff!important;color:var(--v47-azul)!important;border:0!important;padding:15px!important}
body.mobile-menu-open{overflow:hidden!important}

/* Desktop internal header */
body:not(.page-index) .topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:34px!important;padding:0 5%!important;background:var(--v47-azul)!important;color:#fff!important}
body:not(.page-index) .header{position:relative!important;top:auto!important;left:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:132px!important;height:auto!important;padding:12px 4% 15px!important;background:var(--v47-azul)!important;border-bottom:1px solid rgba(255,255,255,.14)!important;z-index:100!important}
body:not(.page-index) .header .brand-logo{position:relative!important;top:auto!important;left:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:56px!important;margin:0 0 10px!important}
body:not(.page-index) .header .brand-logo img{display:block!important;width:118px!important;max-width:118px!important;height:auto!important;max-height:54px!important}
body:not(.page-index) .header .navigation{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;width:100%!important;gap:10px 20px!important;margin:0!important;padding:0!important}
body:not(.page-index) .header .navigation a{display:inline-flex!important;align-items:center!important;color:#fff!important;text-decoration:none!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.05px!important;line-height:1.2!important;padding:7px 0!important;white-space:nowrap!important}
body:not(.page-index) .header .navigation a:hover{color:#dfc18c!important}
body:not(.page-index) .header .navigation .reserve-top{padding:10px 16px!important;border:1px solid rgba(255,255,255,.75)!important;background:transparent!important;color:#fff!important}
.menu-button{display:none!important;border:1px solid rgba(255,255,255,.55)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;border-radius:0!important;width:48px!important;height:48px!important;font-size:0!important;cursor:pointer!important}
.menu-button::before{content:'☰';font-size:22px!important;line-height:1!important}
.menu-button span{display:none!important}

/* Secondary page hero and content */
.page-hero{position:relative!important;isolation:isolate!important;min-height:430px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:105px 8% 82px!important;background:linear-gradient(135deg,#06062f,#12145c)!important;text-align:center!important;color:#fff!important}
.page-hero h1{max-width:920px!important;margin:12px auto!important;font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(42px,5.4vw,72px)!important;line-height:1.04!important;font-weight:400!important;color:#fff!important}
.page-hero p{max-width:780px!important;margin:14px auto 0!important;font-size:14px!important;line-height:1.8!important;color:rgba(255,255,255,.84)!important}
.eyebrow{color:#d5b675!important;letter-spacing:3px!important}
.local-page{max-width:1280px!important;margin:0 auto!important;padding:82px 5%!important}
.local-page>h2{text-align:center!important;margin-bottom:14px!important}
.local-page>p{max-width:820px!important;margin:0 auto 38px!important;text-align:center!important}
.local-page a{border-bottom:none!important}
.gold-cta{background:var(--v47-oro)!important;color:#fff!important;text-decoration:none!important;border:0!important}
.local-footer{background:var(--v47-azul)!important;color:#fff!important}

/* Full content added to the home page */
.v47-home-info{background:#fff;color:var(--v47-text)}
.v47-home-section{padding:86px 6%;max-width:1400px;margin:auto}
.v47-home-intro{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.v47-home-intro img{width:100%;min-height:390px;object-fit:cover}
.v47-kicker{display:block;color:var(--v47-oro);font-size:10px;font-weight:800;letter-spacing:3px;margin-bottom:15px}
.v47-home-section h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4.2vw,58px);font-weight:400;line-height:1.08;color:var(--v47-azul);margin:0 0 18px}
.v47-home-section h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:400;color:var(--v47-azul)}
.v47-home-section p{font-size:15px;line-height:1.85;color:#5f6068}
.v47-values{background:var(--v47-soft)}
.v47-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dedad2;margin-top:35px}
.v47-value{background:#fff;padding:34px 26px;min-height:230px}.v47-value b{display:block;font-size:12px;letter-spacing:1.6px;color:var(--v47-azul);margin-bottom:12px}.v47-value span{font-size:13px;line-height:1.7;color:#686970}
.v47-hotel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:35px}.v47-hotel{background:#fff;border:1px solid #e7e3dc;overflow:hidden}.v47-hotel img{display:block;width:100%;height:330px;object-fit:cover}.v47-hotel-copy{padding:28px}.v47-price{font-family:'Playfair Display',Georgia,serif;font-size:30px;color:var(--v47-azul)}
.v47-dog{background:var(--v47-azul);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.v47-dog .copy{padding:80px 9%}.v47-dog h2{color:#fff}.v47-dog p{color:rgba(255,255,255,.8)}.v47-dog img{width:100%;height:100%;min-height:470px;object-fit:cover}
.v47-two-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.v47-feature{position:relative;min-height:460px;overflow:hidden;background:#111}.v47-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}.v47-feature .copy{position:absolute;left:0;right:0;bottom:0;padding:44px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}.v47-feature h3{color:#fff;margin:0 0 10px}.v47-feature p{color:rgba(255,255,255,.86);margin:0}.v47-rewards{background:linear-gradient(90deg,rgba(5,5,54,.82),rgba(5,5,54,.35)),url('https://www.azulixtapa.com/media/uploads/cms/group-friends-beach.webp?q=pr:sharp/rs:fill/w:1920/h:900/f:webp') center/cover;color:#fff;text-align:center;max-width:none;padding:120px 8%}.v47-rewards h2{color:#fff}.v47-rewards p{color:rgba(255,255,255,.88);max-width:700px;margin:0 auto}.v47-btn{display:inline-block;margin-top:25px;padding:14px 25px;background:var(--v47-oro);color:#fff!important;font-size:10px;font-weight:800;letter-spacing:1.5px;text-decoration:none!important}

@media(max-width:900px){
 body:not(.page-index) .topbar{display:none!important}
 body:not(.page-index) .header{position:relative!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;min-height:78px!important;height:78px!important;padding:0 20px!important;background:var(--v47-azul)!important}
 body:not(.page-index) .header .brand-logo{height:auto!important;margin:0!important}.header .brand-logo img,body:not(.page-index) .header .brand-logo img{width:98px!important;max-width:98px!important;max-height:48px!important}
 body:not(.page-index) .header .navigation{display:none!important}
 .menu-button,body:not(.page-index) .header .menu-button{display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;right:18px!important;top:15px!important;z-index:9100!important}
 .page-hero{min-height:380px!important;padding:70px 24px 60px!important}.page-hero h1{font-size:48px!important}.page-hero p{font-size:13px!important}
 .local-page{padding:58px 22px!important}
 .v47-home-intro,.v47-dog,.v47-two-grid{grid-template-columns:1fr}.v47-home-intro img{min-height:280px;order:-1}.v47-values-grid,.v47-hotel-grid{grid-template-columns:1fr}.v47-dog .copy{padding:68px 24px}.v47-dog img{min-height:330px}.v47-home-section{padding:65px 22px}.v47-rewards{padding:90px 24px}
}
