/* ATA Properties · Activa tu activo — estilos globales */
@font-face{font-family:'Noto Serif Display';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Noto Serif Display';font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-300-italic.woff2) format('woff2')}
@font-face{font-family:'Noto Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Noto Serif Display';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/noto-serif-display-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/jost-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jost-latin-500-normal.woff2) format('woff2')}

:root{--cream:#F3EBE0;--dark:#2A1A10;--gutter:max(64px,calc((100vw - 1312px)/2))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);font-family:'Jost',sans-serif;color:var(--dark);overflow-x:hidden}
a{color:var(--dark);text-decoration:none}
a:hover{color:#6B5646}
img{max-width:100%}
.sf{font-family:'Noto Serif Display',Georgia,serif;font-weight:400;letter-spacing:-0.01em}
.ey{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:0.28em;text-transform:uppercase;font-weight:400}
input,select,textarea,button{font-family:'Jost',sans-serif}
input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible,label:focus-within{outline:2px solid #8A7260;outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.hp{display:none!important}

/* Página: ocupa todo el ancho, el contenido respeta el margen lateral */
.page{display:flex;flex-direction:column;min-height:100vh;position:relative}
.page>[style*="64px"]{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
.page section[id]{scroll-margin-top:24px}

/* Cabecera */
.site-header{position:sticky;top:0;z-index:50;background:var(--cream)}
.menu-toggle{display:none;width:44px;height:44px;border:none;background:transparent;align-items:center;justify-content:center;cursor:pointer;padding:0}
.site-header nav a[aria-current="page"]{padding-bottom:6px;border-bottom:1px solid var(--dark)}

/* Botón WhatsApp fijo */
.wa-float{position:fixed!important;right:28px;bottom:28px;z-index:60;display:flex;align-items:center;gap:12px;padding:14px 22px 14px 16px;background:var(--dark);color:var(--cream)!important;border-radius:999px;box-shadow:0 8px 24px rgba(42,26,16,.3)}
.wa-float span{color:var(--cream)}
.wa-float:hover{background:#3A2718}

/* Formularios */
form [type=submit]:disabled{opacity:.6;cursor:wait}
.file-name{display:block;font-size:13px;color:#2A1A10;margin-top:4px;font-weight:400}
label.has-file{border-style:solid!important;background:#FBF7F1!important}
.form-note{font-size:13px;color:#6B5646;margin:0}

/* Carrusel */
.carousel{scrollbar-width:thin;scroll-behavior:smooth}

/* Banner de cookies */
.ck{position:fixed;left:24px;bottom:24px;z-index:80;width:min(460px,calc(100vw - 32px));padding:24px;background:#FBF7F1;border:1px solid #E3D6C4;box-shadow:0 12px 32px rgba(42,26,16,.18);display:flex;flex-direction:column;gap:16px;color:var(--dark)}
.ck[hidden]{display:none}
.ck p{margin:0;font-size:14px;line-height:1.6;font-weight:300;color:#4A3628}
.ck a{text-decoration:underline}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap}
.ck-btn{flex:1 1 auto;height:44px;padding:0 16px;border:1px solid var(--dark);background:transparent;color:var(--dark);border-radius:999px;cursor:pointer}
.ck-btn.primary{background:var(--dark);color:var(--cream)}
.ck-opt{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-top:1px solid #E3D6C4;font-size:14px;font-weight:300;line-height:1.5}
.ck-opt strong{font-weight:500;display:block}
.ck-opt input{width:20px;height:20px;accent-color:var(--dark);flex-shrink:0;margin-top:2px}

/* ---------- Pantallas medianas ---------- */
@media (max-width:1180px){
  :root{--gutter:40px}
  .site-header nav{gap:22px!important}
  [style*="grid-template-columns: repeat(5"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page [style*="gap: 96px"]{gap:56px!important}
  .hero-abs .hero-copy{width:min(720px,calc(100% - 80px))!important}
}
@media (max-width:1000px){
  .site-header nav,.site-header>a.ey{display:none!important}
  .menu-toggle{display:flex}
  .site-header.open nav{display:flex!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0!important;background:var(--cream);border-bottom:1px solid #DDD0BF;padding:8px var(--gutter) 20px}
  .site-header.open nav a{padding:14px 0;width:100%;border-bottom:1px solid #E3D6C4!important}
  [style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="grid-template-columns: repeat(5"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ---------- Móvil ---------- */
@media (max-width:760px){
  :root{--gutter:20px}
  .page>*:not([style*="64px"]){padding-left:0;padding-right:0}
  .ey{font-size:11px;letter-spacing:.22em}
  /* rejillas a una columna salvo las marcadas */
  .page [style*="grid-template-columns"]:not(.g-keep):not(.g-2):not(.gallery){grid-template-columns:minmax(0,1fr)!important}
  .page .g-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page [style*="grid-column: 2 / 4"]{grid-column:auto!important}
  .page [style*="grid-row: 1 / 3"]{grid-row:auto!important}
  .page [style*="border-left: 1px solid"]{border-left:none!important;padding-left:0!important}
  .page [style*="border-right: 1px solid"]{border-right:none!important;padding-right:0!important}
  /* espacios */
  .page [style*="gap: 96px"],.page [style*="gap: 80px"],.page [style*="gap: 64px"]{gap:36px!important}
  .page [style*="gap: 56px"],.page [style*="gap: 48px"]{gap:28px!important}
  .page>section[style*="padding: 128px"],.page>section[style*="padding: 112px"]{padding-top:64px!important;padding-bottom:64px!important}
  .page>section[style*="0 64px 128px"],.page>section[style*="0 64px 112px"],.page>section[style*="0 64px 96px"]{padding-bottom:56px!important}
  .page>section[style*="padding: 72px"],.page>section[style*="padding: 80px"]{padding-top:48px!important;padding-bottom:48px!important}
  .page [style*="padding: 56px"],.page [style*="padding: 64px"],.page [style*="padding: 72px 64px"],.page [style*="padding: 48px"]:not(section){padding:28px 20px!important}
  .page [style*="padding: 40px"]:not(section){padding:24px 20px!important}
  .page section>div[style*="padding: 80px 64px"],.page section>div[style*="padding: 72px 64px"]{padding:48px var(--gutter)!important}
  /* alturas fijas */
  .page>section[style*="height:"]{height:auto!important}
  .page img[style*="height: 4"],.page img[style*="height: 5"],.page img[style*="height: 6"],.page img[style*="height: 7"],.page img[style*="height: 8"],.page img[style*="height: 9"]{height:300px!important}
  .page img[style*="width: 2"],.page img[style*="width: 3"]{width:100%!important}
  /* tipografía */
  .page h1.sf{font-size:clamp(38px,12vw,58px)!important;line-height:1.04!important}
  .page h2.sf{font-size:clamp(32px,8.6vw,42px)!important;line-height:1.06!important}
  .page .sf[style*="font-size: 76px"],.page .sf[style*="font-size: 72px"],.page .sf[style*="font-size: 64px"],.page .sf[style*="font-size: 56px"]{font-size:44px!important}
  .page .sf[style*="font-size: 48px"],.page .sf[style*="font-size: 44px"]{font-size:32px!important}
  .page p[style*="font-size: 20px"],.page p[style*="font-size: 19px"]{font-size:17px!important}
  /* botones en fila → apilados */
  .page div[style*="display: flex; gap: 12px"]:has(> a.ey){flex-direction:column;align-items:stretch!important}
  .page div[style*="display: flex; gap: 12px"]>a.ey{text-align:center}
  /* cabecera */
  .site-header{height:64px!important;padding:0 20px!important}
  .site-header img{height:24px!important}
  /* WhatsApp: botón redondo */
  .wa-float{right:16px;bottom:16px;width:56px;height:56px;padding:0;justify-content:center}
  .wa-float span{display:none}
  /* hero con foto de fondo */
  .hero-abs{height:auto!important;min-height:560px}
  .hero-abs .hero-copy{position:relative!important;left:auto!important;top:auto!important;width:auto!important;padding:56px 20px!important}
  .hero-abs .hero-overlay{background:rgba(42,26,16,.62)!important}
  .hero-abs .hero-copy div[style*="width: 520px"]{width:100%!important}
  /* galería ficha */
  .gallery{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:6px!important}
  .gallery img{height:74px!important}
  .gallery img:first-child{grid-column:1 / -1;height:260px!important}
  .gallery button{bottom:92px!important;right:12px!important}
  /* reserva: resumen arriba */
  aside[style*="sticky"]{position:static!important;order:-1}
  /* carrusel */
  .carousel>a{flex-basis:84vw!important}
  .carousel{margin-right:calc(var(--gutter) * -1)!important}
  /* pie */
  footer[style*="padding: 80px 64px 48px"]{padding:48px 20px 32px!important}
  footer img{width:220px!important}
  footer[style*="justify-content: space-between; align-items: flex-start"]{flex-direction:column;gap:16px}
  /* legales */
  main[style*="width: 760px"]{width:auto!important;padding:48px 20px 72px!important}
  /* cookies */
  .ck{left:12px;bottom:84px;width:calc(100vw - 24px);padding:20px}
  .ck-btn{padding:0 10px}
}
@media (max-width:420px){
  .page .g-keep[style*="repeat(3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page .g-keep label.ey{font-size:10px!important;letter-spacing:.12em!important}
}
@media (max-width:760px){
  .page div[style*="justify-content: space-between; align-items: flex-end"]{flex-direction:column;align-items:flex-start!important;gap:16px}
  .page div[style*="justify-content: space-between; align-items: flex-end"]>p{max-width:none!important}
}
@media (max-width:760px){
  .hero-abs>img{height:100%!important}
  .carousel div[style*="justify-content: space-between; align-items: baseline"]{flex-wrap:wrap;gap:8px}
}
fieldset{min-width:0}
@media (max-width:760px){
  .page div[style*="display: flex; gap: 10px"]:has(> label.chip){flex-wrap:wrap}
  aside div[style*="justify-content: space-between"]{flex-wrap:wrap;gap:4px 12px}
  .page span.sf[style*="font-size: 36px"],.page span.sf[style*="font-size: 30px"]{white-space:nowrap}
}
@media (max-width:760px){
  aside[style*="sticky"]{order:0}
  [data-page="reserva"] aside[style*="sticky"]{order:-1}
  .page .sf:not(h1):not(h2)[style*="font-size: 120px"],.page .sf:not(h1):not(h2)[style*="font-size: 104px"],.page .sf:not(h1):not(h2)[style*="font-size: 96px"],.page .sf:not(h1):not(h2)[style*="font-size: 88px"]{font-size:64px!important;line-height:1!important}
  .page div[style*="justify-content: space-between; align-items: center; gap: 48px"]{flex-direction:column;align-items:flex-start!important;gap:24px!important}
}
@media (max-width:760px){
  .page>section>div[style*=" 64px"]{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
  .page>section>div[style*="padding: 96px 64px"],.page>section>div[style*="padding: 80px 64px"],.page>section>div[style*="padding: 72px 64px"]{padding-top:48px!important;padding-bottom:48px!important}
}
.carousel{margin-right:calc(var(--gutter) * -1)!important;padding-right:var(--gutter)!important}
main[style*="width: 760px"]{max-width:100%}
main table{display:block;overflow-x:auto;max-width:100%}
@media (max-width:1000px){
  .page>section[style*="display: grid"]:not(.g-2):not([style*="repeat(3"]):not([style*="repeat(4"]){grid-template-columns:minmax(0,1fr)!important}
  .page>section.g-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page>section[style*="display: grid"]>img{max-height:520px}
  aside[style*="sticky"]{position:static!important}
}
@media (max-width:760px){
  main[style*="width: 760px"] h1.sf{font-size:40px!important}
}
@media (max-width:1000px){
  .page>section[style*="height:"]:not(.hero-abs){height:auto!important}
  .page>section[style*="display: grid"]>img[style*="height: 5"],.page>section[style*="display: grid"]>img[style*="height: 6"],.page>section[style*="display: grid"]>img[style*="height: 7"]{height:420px!important}
}
@media (max-width:760px){.hide-mobile{display:none!important}}
