@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap');

/*
   AZUL IXTAPA — V44 HOME
   Visual redesign based on the supplied reference screenshots.
   This file is intentionally additive: reservation/payment JavaScript, IDs,
   forms, photos, videos and existing page destinations remain untouched.
*/
:root{
  --azul:#050536;
  --azul-deep:#020228;
  --azul-soft:#11114a;
  --oro:#b88a3b;
  --oro-light:#d3b06a;
  --crema:#f2f1f3;
  --gris:#6d6d72;
  --line:#dedde2;
  --white:#fff;
}

html{scroll-behavior:smooth;background:#fff}
body.page-index{margin:0;background:#fff;color:#29292e;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
body.page-index *{box-sizing:border-box}
body.page-index img{max-width:100%}

/* ---------- HEADER: logo first, centered at the very top ---------- */
.page-index .topbar{display:none!important}
.page-index .header{
  position:absolute!important;top:0!important;left:0!important;right:0!important;width:100%!important;
  height:154px!important;min-height:154px!important;padding:8px 28px 0!important;
  display:grid!important;grid-template-rows:72px 70px!important;grid-template-columns:1fr!important;
  align-items:start!important;justify-items:center!important;z-index:3000!important;
  background:linear-gradient(180deg,rgba(5,5,54,.94) 0%,rgba(5,5,54,.82) 66%,rgba(5,5,54,.10) 100%)!important;
  border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}
.page-index .header .brand-logo{
  grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:64px!important;margin:0!important;padding:0!important;position:relative!important;
}
.page-index .header .brand-logo .official-header-logo{
  display:block!important;width:116px!important;height:54px!important;max-width:180px!important;max-height:60px!important;
  object-fit:contain!important;filter:none!important;
}
.page-index .header .navigation{
  grid-row:2!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;max-width:1500px!important;height:62px!important;gap:24px!important;margin:0!important;
  flex-wrap:nowrap!important;
}
.page-index .header .navigation a{
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:42px!important;padding:0!important;color:#fff!important;background:transparent!important;
  text-decoration:none!important;font-family:Arial,Helvetica,sans-serif!important;font-size:10px!important;
  font-weight:600!important;letter-spacing:1.35px!important;white-space:nowrap!important;text-shadow:0 1px 7px rgba(0,0,0,.45)!important;
}
.page-index .header .navigation a:not(.reserve-top)::after{
  content:""!important;position:absolute!important;left:0!important;right:0!important;bottom:1px!important;
  height:2px!important;background:var(--oro-light)!important;transform:scaleX(0)!important;transform-origin:center!important;transition:transform .25s ease!important;
}
.page-index .header .navigation a:not(.reserve-top):hover::after,
.page-index .header .navigation a:not(.reserve-top):focus-visible::after{transform:scaleX(1)!important}
.page-index .header .navigation a:hover{color:#fff!important;opacity:1!important}
.page-index .header .navigation .reserve-top{
  min-width:154px!important;height:42px!important;padding:0 20px!important;border:1px solid #fff!important;
  background:transparent!important;color:#fff!important;font-size:10px!important;letter-spacing:1.5px!important;
  box-shadow:none!important;transition:background .25s ease,color .25s ease,border-color .25s ease!important;
}
.page-index .header .navigation .reserve-top:hover{background:#fff!important;color:var(--azul)!important;border-color:#fff!important}
.page-index .header .menu-button{
  display:none!important;position:absolute!important;right:20px!important;top:18px!important;width:42px!important;height:42px!important;
  padding:7px!important;border:0!important;background:transparent!important;color:#fff!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;
}
.page-index .header .menu-button span{display:block!important;width:29px!important;height:2px!important;background:#fff!important;border-radius:0!important;transition:transform .2s,opacity .2s!important}

/* Mobile header: centered logo at top, formal controls below/alongside */
@media(max-width:900px){
  .page-index .header{height:108px!important;min-height:108px!important;padding:5px 16px 0!important;grid-template-rows:60px 45px!important;background:rgba(5,5,54,.97)!important}
  .page-index .header .brand-logo{height:56px!important}
  .page-index .header .brand-logo .official-header-logo{width:104px!important;height:48px!important}
  .page-index .header .navigation{display:none!important}
  .page-index .header .menu-button{display:flex!important;top:14px!important;right:15px!important}
}

/* ---------- MOBILE DRAWER: never browser-blue, never under the header ---------- */
.page-index .mobile-menu-overlay{z-index:3998!important;background:rgba(0,0,20,.58)!important;backdrop-filter:blur(2px)!important}
.page-index .mobile-menu{
  top:0!important;right:0!important;width:min(390px,92vw)!important;height:100vh!important;max-height:100vh!important;
  padding:112px 28px 34px!important;background:var(--azul)!important;z-index:3999!important;
  box-shadow:-18px 0 50px rgba(0,0,0,.28)!important;transform:translateX(105%)!important;
}
.page-index .mobile-menu.open{transform:translateX(0)!important}
.page-index .mobile-menu a,
.page-index .mobile-menu a:visited{
  display:flex!important;align-items:center!important;min-height:50px!important;padding:13px 2px!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;color:#fff!important;background:transparent!important;
  text-decoration:none!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important;font-weight:600!important;
  letter-spacing:1.35px!important;line-height:1.35!important;
}
.page-index .mobile-menu a:hover,.page-index .mobile-menu a:focus-visible{color:var(--oro-light)!important;background:rgba(255,255,255,.04)!important}
.page-index .mobile-menu .mobile-reserve{justify-content:center!important;margin-top:18px!important;border:1px solid #fff!important;background:#fff!important;color:var(--azul)!important}

/* ---------- HERO ---------- */
.page-index .hero.v27-hero-video,
.page-index .hero.v32-hero.v27-hero-video{
  position:relative!important;height:min(780px,100vh)!important;min-height:650px!important;overflow:hidden!important;
  display:block!important;background:#07073a!important;
}
.page-index .hero-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0!important}
.page-index .hero-video-shade{
  position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;
  background:linear-gradient(180deg,rgba(3,3,35,.72) 0%,rgba(3,3,35,.18) 27%,rgba(3,3,35,.06) 55%,rgba(3,3,35,.66) 100%)!important;
}
.page-index .hero-reference-copy{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-40%)!important;
  width:min(92%,1050px)!important;z-index:8!important;text-align:center!important;color:#fff!important;
  text-shadow:0 3px 18px rgba(0,0,0,.55)!important;
}
.page-index .hero-reference-kicker{font-size:11px!important;letter-spacing:5px!important;font-weight:600!important;margin-bottom:14px!important}
.page-index .hero-reference-copy h1{
  margin:0!important;font-family:'Oswald','Arial Narrow',Arial,Helvetica,sans-serif!important;font-stretch:condensed!important;
  font-size:clamp(42px,6.2vw,86px)!important;line-height:.94!important;font-weight:800!important;letter-spacing:-1.2px!important;
}
.page-index .hero-reference-title{
  max-width:920px!important;margin:18px auto 0!important;font-family:'Oswald','Arial Narrow',Arial,Helvetica,sans-serif!important;
  font-size:clamp(18px,2.1vw,32px)!important;line-height:1.12!important;font-weight:700!important;letter-spacing:.5px!important;
}
.page-index .hero-reference-location{margin-top:17px!important;font-size:clamp(13px,1.4vw,20px)!important;letter-spacing:3px!important;font-weight:500!important}
.page-index .hero-reference-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-top:28px!important;
  min-width:205px!important;height:54px!important;padding:0 25px!important;border:1px solid #fff!important;background:#fff!important;color:var(--azul)!important;
  text-decoration:none!important;font-size:11px!important;font-weight:500!important;letter-spacing:1.7px!important;
  box-shadow:0 8px 26px rgba(0,0,0,.18)!important;transition:transform .25s,background .25s,color .25s!important;
}
.page-index .hero-reference-button:hover{transform:translateY(-2px)!important;background:transparent!important;color:#fff!important}

/* ---------- COTIZADOR: premium panel, functional controls untouched ---------- */
.page-index .booking-wrapper{position:absolute!important;left:50%!important;bottom:20px!important;top:auto!important;right:auto!important;transform:translateX(-50%)!important;width:min(1160px,92%)!important;max-width:none!important;margin:0!important;padding:0!important;z-index:20!important}
.page-index .booking{
  width:100%!important;padding:16px 18px 18px!important;background:rgba(255,255,255,.94)!important;
  border:0!important;border-top:3px solid var(--oro)!important;border-radius:0!important;box-shadow:0 18px 55px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
}
.page-index .booking-title{padding:0 0 12px!important;margin:0!important;background:transparent!important;color:var(--azul)!important;text-align:left!important;border-radius:0!important;font-size:19px!important;font-weight:600!important;letter-spacing:.4px!important}
.page-index .booking-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr)) auto!important;gap:9px!important;padding:0!important}
.page-index .booking-field{min-width:0!important;background:#fff!important;border:1px solid #d9d9dd!important;border-radius:0!important;padding:8px 9px 7px!important}
.page-index .booking-field label{display:block!important;margin:0 0 5px!important;color:#5f6065!important;font-size:8px!important;font-weight:700!important;letter-spacing:1px!important;text-transform:uppercase!important}
.page-index .booking-field input,.page-index .booking-field select{width:100%!important;height:35px!important;padding:0 5px!important;border:0!important;outline:0!important;background:#fff!important;color:#222!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important}
.page-index .booking-field input:focus,.page-index .booking-field select:focus{box-shadow:0 0 0 2px rgba(184,138,59,.18)!important}
.page-index .booking-button{height:52px!important;align-self:stretch!important;padding:0 20px!important;border:0!important;border-radius:0!important;background:var(--azul)!important;color:#fff!important;font-size:10px!important;font-weight:700!important;letter-spacing:1.5px!important;box-shadow:none!important;transition:background .25s,transform .25s!important}
.page-index .booking-button:hover{background:var(--oro)!important;transform:none!important}
.page-index #resultado-cotizacion{color:var(--azul)!important}

/* ---------- HOMEPAGE SECTIONS: one consistent visual system ---------- */
.page-index .azul-home{background:#fff!important}
.page-index .home-rewards{
  min-height:88px!important;padding:20px 6%!important;background:var(--azul)!important;color:#fff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:45px!important;text-align:left!important;
}
.page-index .home-rewards .reward-copy{max-width:800px!important}
.page-index .eyebrow,.page-index .home-rewards .eyebrow{color:var(--oro-light)!important;font-size:9px!important;font-weight:700!important;letter-spacing:2.8px!important;text-transform:uppercase!important}
.page-index .home-rewards h3{margin:3px 0!important;color:#fff!important;font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;font-size:24px!important;font-weight:700!important;letter-spacing:.2px!important}
.page-index .home-rewards p{margin:0!important;color:rgba(255,255,255,.76)!important;font-size:11px!important;line-height:1.6!important}
.page-index .home-rewards a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 18px!important;border:1px solid rgba(255,255,255,.65)!important;color:#fff!important;text-decoration:none!important;background:transparent!important;font-size:9px!important;letter-spacing:1.4px!important;font-weight:700!important}
.page-index .home-rewards a:hover{background:#fff!important;color:var(--azul)!important}

.page-index .home-block{padding:96px 5%!important;background:#fff!important}
.page-index .home-block-inner{width:min(1180px,100%)!important;margin:auto!important}
.page-index .home-heading{max-width:820px!important;margin:0 auto 46px!important;text-align:center!important}
.page-index .home-heading h2,
.page-index .home-welcome-copy h2,
.page-index .home-dog-copy h2,
.page-index .home-event-copy h2{
  margin:10px 0 17px!important;color:var(--azul)!important;font-family:'Oswald','Arial Narrow',Arial,Helvetica,sans-serif!important;
  font-stretch:condensed!important;font-weight:800!important;letter-spacing:-.5px!important;line-height:1!important;
}
.page-index .home-heading h2{font-size:clamp(38px,5vw,64px)!important;text-transform:uppercase!important}
.page-index .home-heading p{margin:0!important;color:#74757a!important;font-size:13px!important;line-height:1.85!important}

/* Welcome */
.page-index .home-welcome{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:510px!important;box-shadow:0 14px 40px rgba(0,0,0,.06)!important}
.page-index .home-welcome-copy{padding:70px 8%!important;background:#f1f0f2!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.page-index .home-welcome-copy h2{font-size:clamp(44px,4.8vw,66px)!important;text-transform:uppercase!important}
.page-index .home-welcome-copy p{margin:0!important;color:#707176!important;font-size:14px!important;line-height:1.95!important;max-width:560px!important}
.page-index .home-welcome-media{min-height:510px!important;background:url('../habitaciones/habitacion_7_3.jpg') center/cover no-repeat!important}

/* Formal links/buttons — eliminates browser-blue links throughout the home */
.page-index a:not(.mobile-reserve),
.page-index a:not(.mobile-reserve):visited{color:inherit}
.page-index .home-link,
.page-index .azul-outline-btn,
.page-index .gold-btn,
.page-index .offer-card a,
.page-index .home-card-body a,
.page-index .hotel-home-card a,
.page-index .home-event-copy a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:flex-start!important;
  min-height:40px!important;margin-top:20px!important;padding:0 18px!important;border:1px solid var(--azul)!important;
  border-bottom:1px solid var(--azul)!important;background:#fff!important;color:var(--azul)!important;text-decoration:none!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.35px!important;
  transition:background .22s,color .22s,border-color .22s,transform .22s!important;
}
.page-index .home-link:hover,
.page-index .azul-outline-btn:hover,
.page-index .gold-btn:hover,
.page-index .home-card-body a:hover{background:var(--azul)!important;color:#fff!important;border-color:var(--azul)!important;transform:translateY(-1px)!important}

/* Values */
.page-index .home-values{background:#eeeef1!important}
.page-index .home-values-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;border:1px solid #d9d9de!important;background:#fff!important}
.page-index .home-value{min-height:250px!important;padding:36px 25px!important;background:#fff!important;border-right:1px solid #d9d9de!important;text-align:center!important}
.page-index .home-value:last-child{border-right:0!important}
.page-index .home-value .icon{width:54px!important;height:54px!important;margin:0 auto 18px!important;border:1px solid var(--oro)!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:var(--oro)!important;font-size:12px!important;font-weight:700!important}
.page-index .home-value h3{margin:0 0 10px!important;color:var(--azul)!important;font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;font-size:24px!important;font-weight:800!important;text-transform:uppercase!important}
.page-index .home-value p{margin:0!important;color:#74757a!important;font-size:11px!important;line-height:1.8!important}
.page-index .home-value .home-link{margin-left:auto!important;margin-right:auto!important}

/* Offers */
.page-index #ofertas-home{background:#fff!important}
.page-index .home-cards{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:24px!important}
.page-index .home-card{overflow:hidden!important;background:#fff!important;border:1px solid #dddde2!important;border-radius:0!important;box-shadow:0 12px 35px rgba(0,0,0,.07)!important}
.page-index .home-card-media{height:315px!important;background-size:cover!important;background-position:center!important}
.page-index .home-card-body{padding:30px 32px 34px!important}
.page-index .home-card-body h3{margin:8px 0 12px!important;color:var(--azul)!important;font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;font-size:34px!important;font-weight:800!important;line-height:1!important;text-transform:uppercase!important}
.page-index .home-card-body p{margin:0!important;color:#717278!important;font-size:12px!important;line-height:1.85!important}

/* Hotels */
.page-index .home-hotels{background:#fff!important}
.page-index .home-hotels-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:24px!important}
.page-index .hotel-home-card{position:relative!important;min-height:510px!important;overflow:hidden!important;background:var(--azul)!important;border-radius:0!important}
.page-index .hotel-home-card .photo{position:absolute!important;inset:0!important;background-size:cover!important;background-position:center!important;transition:transform .65s ease!important}
.page-index .hotel-home-card .veil{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(5,5,54,.03) 30%,rgba(5,5,54,.88) 100%)!important}
.page-index .hotel-home-card .content{position:absolute!important;left:36px!important;right:36px!important;bottom:34px!important;color:#fff!important}
.page-index .hotel-home-card .content .eyebrow{color:#fff!important}
.page-index .hotel-home-card h3{margin:8px 0 10px!important;color:#fff!important;font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;font-size:37px!important;font-weight:800!important;line-height:.98!important;text-transform:uppercase!important}
.page-index .hotel-home-card p{margin:0!important;color:rgba(255,255,255,.82)!important;font-size:12px!important;line-height:1.8!important}
.page-index .hotel-home-card a{background:transparent!important;color:#fff!important;border-color:#fff!important;border-bottom-color:#fff!important}
.page-index .hotel-home-card a:hover{background:#fff!important;color:var(--azul)!important}
.page-index .hotel-home-card:hover .photo{transform:scale(1.035)!important}

/* Dog friendly — reference-like split block */
.page-index .home-dog{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:560px!important;background:#ededf0!important;color:var(--azul)!important}
.page-index .home-dog-media{min-height:560px!important;background:url('../habitaciones/habitacion_5_1.jpg') center/cover no-repeat!important;order:0!important}
.page-index .home-dog-copy{padding:80px 9%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:#ededf0!important}
.page-index .home-dog-copy h2{font-size:clamp(43px,5vw,68px)!important;text-transform:uppercase!important}
.page-index .home-dog-copy p{margin:0!important;color:#707176!important;font-size:14px!important;line-height:1.9!important;max-width:620px!important}

/* Weddings / conventions */
.page-index .home-events{padding:96px 5%!important;background:#f5f4f5!important}
.page-index .home-events-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}
.page-index .home-event-card{min-height:480px!important;position:relative!important;overflow:hidden!important;background:var(--azul)!important}
.page-index .home-event-card .photo{position:absolute!important;inset:0!important;background-size:cover!important;background-position:center!important;transition:transform .65s ease!important}
.page-index .home-event-card .veil{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(5,5,54,.08) 25%,rgba(5,5,54,.90) 100%)!important}
.page-index .home-event-copy{position:absolute!important;left:34px!important;right:34px!important;bottom:32px!important;color:#fff!important}
.page-index .home-event-copy .eyebrow{color:#fff!important}
.page-index .home-event-copy h2{color:#fff!important;font-size:42px!important;text-transform:uppercase!important}
.page-index .home-event-copy p{margin:0!important;color:rgba(255,255,255,.82)!important;font-size:12px!important;line-height:1.8!important}
.page-index .home-event-copy a{background:transparent!important;color:#fff!important;border-color:#fff!important;border-bottom-color:#fff!important}
.page-index .home-event-copy a:hover{background:#fff!important;color:var(--azul)!important}
.page-index .home-event-card:hover .photo{transform:scale(1.035)!important}

/* Recognition */
.page-index .home-recognitions{padding:96px 5% 105px!important;background:#fff!important}
.page-index .home-recognitions .home-heading{margin-bottom:28px!important}
.page-index .home-recognitions .home-heading h2{margin-bottom:10px!important}
.page-index .home-recognition-image{display:block!important;width:min(850px,96%)!important;height:auto!important;max-height:430px!important;object-fit:contain!important;margin:0 auto!important}

/* Functional additions below the reference-style marketing area */
.page-index .mi-reserva-section,
.page-index .reserva-section{background:#f0eff2!important;padding:90px 5%!important}
.page-index .mi-reserva-card,
.page-index .reserva-form-card{width:min(980px,100%)!important;margin:0 auto!important;background:#fff!important;border:1px solid #dddde2!important;border-radius:0!important;box-shadow:0 15px 45px rgba(0,0,0,.08)!important;padding:50px!important}
.page-index .mi-reserva-card h2,
.page-index .reserva-form-card h2{font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;color:var(--azul)!important;font-size:42px!important;font-weight:800!important;text-transform:uppercase!important}
.page-index .mi-reserva-card p,
.page-index .reserva-form-card>p{color:#707176!important;line-height:1.8!important}
.page-index .mi-reserva-form label,
.page-index .reserva-form label{display:block!important;color:#55565b!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.2px!important;text-transform:uppercase!important;margin-bottom:6px!important}
.page-index .mi-reserva-form input,
.page-index .reserva-form input,
.page-index .reserva-form textarea{width:100%!important;border:1px solid #d8d8dc!important;border-radius:0!important;background:#fff!important;color:#222!important;padding:12px!important;outline:0!important}
.page-index .mi-reserva-form input:focus,
.page-index .reserva-form input:focus,
.page-index .reserva-form textarea:focus{border-color:var(--oro)!important;box-shadow:0 0 0 2px rgba(184,138,59,.12)!important}
.page-index .mi-reserva-form button,
.page-index .reserva-form button{min-height:46px!important;padding:0 24px!important;border:0!important;border-radius:0!important;background:var(--azul)!important;color:#fff!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.5px!important}
.page-index .mi-reserva-form button:hover,
.page-index .reserva-form button:hover{background:var(--oro)!important}

/* All remaining legacy/detail sections: if they are ever displayed, keep their links professional. */
.page-index #servicios,
.page-index #experiencias-extra,
.page-index #eventos,
.page-index #bodas,
.page-index #spa,
.page-index #sostenibilidad,
.page-index #restaurantes,
.page-index #fotos,
.page-index #mapa{color:#29292e!important}
.page-index #servicios a,
.page-index #experiencias-extra a,
.page-index #eventos a,
.page-index #bodas a,
.page-index #spa a,
.page-index #sostenibilidad a,
.page-index #restaurantes a,
.page-index #fotos a,
.page-index #mapa a{color:var(--azul)!important;text-decoration:none!important}

/* Footer */
.page-index .azul-footer{background:var(--azul)!important;color:#fff!important;padding:78px 5% 28px!important;border:0!important}
.page-index .azul-footer a,
.page-index .azul-footer a:visited{color:#fff!important;text-decoration:none!important}
.page-index .azul-footer a:hover{color:var(--oro-light)!important}
.page-index .azul-footer-brand{text-align:center!important}
.page-index .azul-footer-brand img{width:120px!important;max-height:65px!important;object-fit:contain!important}
.page-index .azul-social-title{margin:25px 0 18px!important;color:#fff!important;font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;font-size:25px!important;font-weight:800!important;letter-spacing:1px!important}
.page-index .azul-socials{display:flex!important;justify-content:center!important;gap:14px!important}
.page-index .azul-socials a{display:grid!important;place-items:center!important;width:50px!important;height:50px!important;border:1px solid #fff!important;border-radius:50%!important;font-size:19px!important}
.page-index .azul-footer-columns{max-width:1100px!important;margin:62px auto 50px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:40px!important;text-align:center!important}
.page-index .azul-footer-column h3{margin:0 0 20px!important;color:#fff!important;font-family:'Oswald','Arial Narrow',Arial,sans-serif!important;font-size:18px!important;font-weight:800!important;letter-spacing:1.3px!important}
.page-index .azul-footer-column a,.page-index .azul-footer-column p{display:block!important;margin:0 0 11px!important;color:rgba(255,255,255,.88)!important;font-size:12px!important;line-height:1.5!important}
.page-index .azul-footer-bottom{padding-top:25px!important;border-top:1px solid rgba(255,255,255,.16)!important;display:flex!important;justify-content:space-between!important;gap:20px!important;color:rgba(255,255,255,.7)!important;font-size:9px!important;letter-spacing:1px!important}

/* Cookie control keeps its existing behavior but matches the new visual language. */
.page-index .cookie-consent{z-index:5000!important}
.page-index .cookie-consent-title{font-family:'Oswald','Arial Narrow',Arial,sans-serif!important}

/* Hide old duplicate marketing blocks only; dedicated pages remain untouched. */
.page-index .professional-banner-wrap.legacy-duplicate{display:none!important}
.page-index > .official-intro,
.page-index > .offers-section,
.page-index > .featured-hotel,
.page-index > .experience-showcase,
.page-index > .recognitions-section{display:none!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
  .page-index .header .navigation{gap:14px!important}
  .page-index .header .navigation a{font-size:8.5px!important;letter-spacing:1px!important}
  .page-index .header .navigation .reserve-top{min-width:135px!important}
  .page-index .booking-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-index .booking-button{grid-column:span 3!important}
  .page-index .home-values-grid{grid-template-columns:repeat(2,1fr)!important}
  .page-index .home-value:nth-child(2){border-right:0!important}
  .page-index .home-value:nth-child(-n+2){border-bottom:1px solid #d9d9de!important}
  .page-index .azul-footer-columns{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:900px){
  .page-index .hero.v27-hero-video,.page-index .hero.v32-hero.v27-hero-video{height:760px!important;min-height:700px!important}
  .page-index .hero-reference-copy{top:39%!important;transform:translate(-50%,-30%)!important}
  .page-index .hero-reference-copy h1{font-size:clamp(39px,9vw,66px)!important}
  .page-index .hero-reference-title{font-size:clamp(17px,3.7vw,27px)!important}
  .page-index .booking-wrapper{bottom:12px!important;width:94%!important}
  .page-index .home-rewards{flex-direction:column!important;gap:14px!important;text-align:center!important}
  .page-index .home-welcome,.page-index .home-dog,.page-index .home-hotels-grid,.page-index .home-cards,.page-index .home-events-grid{grid-template-columns:1fr!important}
  .page-index .home-welcome-media,.page-index .home-dog-media{min-height:340px!important;order:-1!important}
  .page-index .home-welcome-copy,.page-index .home-dog-copy{padding:58px 28px!important}
  .page-index .home-events{padding:70px 20px!important}
}
@media(max-width:600px){
  .page-index .header{height:104px!important;min-height:104px!important}
  .page-index .hero.v27-hero-video,.page-index .hero.v32-hero.v27-hero-video{height:770px!important;min-height:700px!important}
  .page-index .hero-reference-copy{top:31%!important;width:92%!important}
  .page-index .hero-reference-kicker{font-size:9px!important;letter-spacing:3px!important}
  .page-index .hero-reference-copy h1{font-size:43px!important;line-height:.95!important}
  .page-index .hero-reference-title{font-size:19px!important;line-height:1.1!important}
  .page-index .hero-reference-location{font-size:12px!important;letter-spacing:2px!important}
  .page-index .hero-reference-button{height:50px!important;min-width:190px!important;margin-top:23px!important}
  .page-index .booking-wrapper{position:absolute!important;bottom:10px!important;width:94%!important}
  .page-index .booking{padding:13px!important}
  .page-index .booking-title{font-size:18px!important;text-align:center!important}
  .page-index .booking-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .page-index .booking-button{grid-column:1/-1!important;height:44px!important}
  .page-index .booking-field{padding:7px!important}
  .page-index .booking-field input,.page-index .booking-field select{height:34px!important;font-size:10px!important}
  .page-index .home-block{padding:68px 18px!important}
  .page-index .home-heading{margin-bottom:34px!important}
  .page-index .home-heading h2{font-size:39px!important}
  .page-index .home-welcome-media,.page-index .home-dog-media{min-height:290px!important}
  .page-index .home-welcome-copy,.page-index .home-dog-copy{padding:48px 24px!important}
  .page-index .home-welcome-copy h2,.page-index .home-dog-copy h2{font-size:41px!important}
  .page-index .home-values-grid{grid-template-columns:1fr!important}
  .page-index .home-value{border-right:0!important;border-bottom:1px solid #d9d9de!important}
  .page-index .home-value:last-child{border-bottom:0!important}
  .page-index .home-card-media{height:245px!important}
  .page-index .home-card-body h3{font-size:29px!important}
  .page-index .hotel-home-card{min-height:430px!important}
  .page-index .hotel-home-card h3{font-size:31px!important}
  .page-index .home-event-card{min-height:410px!important}
  .page-index .home-event-copy h2{font-size:33px!important}
  .page-index .home-recognitions{padding:68px 18px 80px!important}
  .page-index .mi-reserva-section,.page-index .reserva-section{padding:65px 18px!important}
  .page-index .mi-reserva-card,.page-index .reserva-form-card{padding:30px 22px!important}
  .page-index .mi-reserva-card h2,.page-index .reserva-form-card h2{font-size:35px!important}
  .page-index .azul-footer{padding:65px 20px 25px!important}
  .page-index .azul-footer-columns{grid-template-columns:1fr!important;gap:30px!important;margin:48px auto 40px!important}
  .page-index .azul-footer-bottom{flex-direction:column!important;text-align:center!important;align-items:center!important}
}
@media(max-width:430px){
  .page-index .booking-grid{grid-template-columns:1fr!important}
  .page-index .booking-button{grid-column:auto!important}
}

@media(prefers-reduced-motion:reduce){
  .page-index *, .page-index *::before, .page-index *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* Shared polish for the secondary pages when this stylesheet is linked there. */
body:not(.page-index) .topbar{background:var(--azul)!important;color:#fff!important}
body:not(.page-index) .header{position:relative!important;top:0!important;background:var(--azul)!important;color:#fff!important;min-height:122px!important;padding:8px 24px 12px!important;display:grid!important;grid-template-rows:62px 45px!important;justify-items:center!important;align-items:start!important}
body:not(.page-index) .header .brand-logo{grid-row:1!important;width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;height:56px!important}
body:not(.page-index) .header .brand-logo img{width:112px!important;max-height:50px!important;object-fit:contain!important}
body:not(.page-index) .header .navigation{grid-row:2!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:20px!important;width:100%!important}
body:not(.page-index) .header .navigation a,body:not(.page-index) .header .navigation a:visited{color:#fff!important;text-decoration:none!important;font-family:Arial,Helvetica,sans-serif!important;font-size:9px!important;letter-spacing:1.15px!important;font-weight:600!important}
body:not(.page-index) .header .navigation .reserve-top{border:1px solid #fff!important;background:transparent!important;color:#fff!important;padding:10px 16px!important}
body:not(.page-index) .subnav-local{background:#fff!important;border-bottom:1px solid #ddd!important;display:flex!important;justify-content:center!important;gap:24px!important;padding:14px 20px!important;box-shadow:0 3px 12px rgba(0,0,0,.05)!important}
body:not(.page-index) .subnav-local a,body:not(.page-index) .subnav-local a:visited{color:var(--azul)!important;text-decoration:none!important;font-size:9px!important;font-weight:700!important;letter-spacing:1.2px!important}
body:not(.page-index) .subnav-local a:hover{color:var(--oro)!important}
body:not(.page-index) .page-hero{background:var(--azul)!important;color:#fff!important}
body:not(.page-index) .page-hero a,body:not(.page-index) .local-page a{color:var(--azul)!important;text-decoration:none!important}
body:not(.page-index) .local-page a{border-bottom:1px solid var(--oro)!important}
@media(max-width:760px){
 body:not(.page-index) .header{height:78px!important;min-height:78px!important;display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;padding:5px 16px!important}
 body:not(.page-index) .header .brand-logo{height:62px!important;width:auto!important}
 body:not(.page-index) .header .brand-logo img{width:104px!important}
 body:not(.page-index) .header .navigation{display:none!important}
 body:not(.page-index) .header .menu-button{display:flex!important;position:absolute!important;right:15px!important;top:18px!important}
 body:not(.page-index) .subnav-local{justify-content:flex-start!important;overflow-x:auto!important;white-space:nowrap!important;gap:18px!important;padding:12px 16px!important}
}


/* V45 — navegación y enlaces normalizados para evitar enlaces azules por defecto */
a, a:visited { color: inherit; }
.azul-link-fix { color: inherit; text-decoration: none; }
.azul-link-fix:hover { color: var(--oro, #b88a3b); text-decoration: none; }
.navigation a, .mobile-menu a { color:#fff !important; text-decoration:none !important; }
.navigation a:hover, .navigation a:focus, .mobile-menu a:hover, .mobile-menu a:focus {
  color:var(--oro-light,#d3b06a) !important;
}
.navigation .reserve-top { color:#fff !important; }
footer a, .footer a { color:rgba(255,255,255,.82) !important; text-decoration:none !important; }
footer a:hover, .footer a:hover { color:#fff !important; text-decoration:underline !important; }

/* Consistencia visual de enlaces dentro de secciones y subsecciones */
.home-block a:not(.btn):not(.button),
.azul-official-pages a:not(.btn):not(.button),
.featured-hotel a:not(.btn):not(.button),
.official-intro a:not(.btn):not(.button),
.contact-strip a:not(.btn):not(.button) {
  text-decoration:none;
}

/* Evita URLs visibles o estilo de enlace azul en contenido importado */
section a[href^="http"] { color:inherit; }
section a[href^="http"]:hover { color:var(--oro,#b88a3b); }

/* Mejor jerarquía para la portada inspirada en la web oficial */
#principal .home-copy, #principal .section-copy { max-width: 900px; }
.home-values .value-card, .home-values article { min-height: 100%; }
@media (max-width: 900px){
  .navigation a { font-size: .72rem; }
}
