/* ---- 00_base.css ---- */
/* ==========================================================================
   Sardell Group · sg.css · 00_base (arquitecto). NO EDITAR desde otros agentes:
   anadir css/10_xxx.css y reconstruir con construir.py.
   Todo lleva prefijo sg-. Nada de selectores globales por etiqueta.
   ========================================================================== */
:root{
  --sg-night:#100d0b;--sg-night-2:#1a1612;--sg-ivory:#f4eee2;--sg-paper:#fbf8f2;
  --sg-ink:#1c1a17;--sg-mute:#6b6357;--sg-sand:#c9a878;--sg-sand-deep:#a88752;
  --sg-green:#1e3a2f;--sg-line:rgba(28,26,23,.14);--sg-line-dark:rgba(244,238,226,.18);
  --sg-serif:"Fraunces",Georgia,serif;--sg-sans:"Inter",-apple-system,"Segoe UI",sans-serif;
  --sg-h:72px;--sg-max:1240px;--sg-gutter:clamp(20px,4vw,48px);
  --sg-ease:cubic-bezier(.16,1,.3,1);--sg-ease-io:cubic-bezier(.65,0,.35,1);
}
@media (max-width:899px){:root{--sg-h:60px}}
html{scroll-padding-top:calc(var(--sg-h) + 12px)}

/* ---------- utilidades ---------- */
.sg-wrap{box-sizing:border-box;width:100%;max-width:calc(var(--sg-max) + 2*var(--sg-gutter));margin-left:auto;margin-right:auto;padding-left:var(--sg-gutter);padding-right:var(--sg-gutter)}
.sg-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sg-skip{position:fixed;left:12px;top:-60px;z-index:1100;background:var(--sg-sand);color:var(--sg-night);font:600 13px/1 var(--sg-sans);padding:12px 16px;text-decoration:none;transition:top .2s}
.sg-skip:focus{top:12px}
.sg-label{display:inline-block;font:600 11px/1.4 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-sand-deep)}
.sg-dark .sg-label,.sg-label--sand{color:var(--sg-sand)}
.sg-num{font:400 12px/1 var(--sg-sans);letter-spacing:.12em;color:var(--sg-sand);font-variant-numeric:tabular-nums}
.sg-rule{display:block;height:1px;border:0;margin:0;background:var(--sg-line)}
.sg-dark .sg-rule{background:var(--sg-line-dark)}
.sg-title{font-family:var(--sg-serif);font-weight:300;line-height:1.04;letter-spacing:-.015em;margin:0}
.sg-title em,.sg-title i{font-style:italic;font-weight:300;color:var(--sg-sand)}
.sg-text{font:400 16.5px/1.6 var(--sg-sans);max-width:62ch}
.sg-dark{background:var(--sg-night);color:var(--sg-ivory)}
.sg-caption{display:block;margin-top:12px;font:400 12px/1.5 var(--sg-sans);letter-spacing:.04em;color:var(--sg-mute)}
.sg-dark .sg-caption{color:rgba(244,238,226,.62)}

/* ---------- botones ---------- */
.sg-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:1px solid currentColor;border-radius:2px;background:transparent;color:inherit;font:600 12px/1 var(--sg-sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .35s var(--sg-ease),color .35s var(--sg-ease),border-color .35s var(--sg-ease)}
.sg-btn--solid{background:var(--sg-sand);border-color:var(--sg-sand);color:var(--sg-night)}
.sg-btn--solid:hover{background:#d8bb8f;border-color:#d8bb8f}
.sg-btn--line:hover{background:rgba(201,168,120,.12)}
.sg-btn--ink{background:var(--sg-night);border-color:var(--sg-night);color:var(--sg-ivory)}
.sg-arrow{display:inline-block;transition:transform .5s var(--sg-ease)}
a:hover>.sg-arrow,.sg-btn:hover .sg-arrow{transform:translateX(5px)}
.sg-header a:focus-visible,.sg-header button:focus-visible,.sg-menu a:focus-visible,.sg-footer a:focus-visible,.sg-btn:focus-visible,.sg-datebar :focus-visible,.sg-dock :focus-visible,.sg-visor button:focus-visible{outline:2px solid var(--sg-sand);outline-offset:3px}

/* ---------- logo ---------- */
.sg-logo{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none;line-height:1}
.sg-emblem{display:block;width:34px;height:auto;flex:none}
.sg-emblem .g{fill:var(--sg-sand)}
.sg-emblem .sq{fill:var(--sg-night)}
.sg-logo__word{font:400 25px/1 var(--sg-serif);letter-spacing:-.01em}

/* ---------- encabezado ---------- */
.sg-header,.sg-header *,.sg-menu,.sg-menu *,.sg-footer,.sg-footer *{box-sizing:border-box}
.sg-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:var(--sg-h);margin:0;padding:0;color:var(--sg-ink);background:rgba(251,248,242,.94);border-bottom:1px solid var(--sg-line);font-family:var(--sg-sans);transition:background-color .45s var(--sg-ease),border-color .45s var(--sg-ease),color .45s var(--sg-ease)}
@supports (backdrop-filter:blur(1px)){.sg-header{background:rgba(251,248,242,.82);-webkit-backdrop-filter:saturate(1.2) blur(14px);backdrop-filter:saturate(1.2) blur(14px)}}
body[data-sg-hero="dark"] .sg-header:not(.is-scrolled){background:transparent;border-bottom-color:transparent;color:var(--sg-ivory);-webkit-backdrop-filter:none;backdrop-filter:none}
body[data-sg-hero="dark"] .sg-header:not(.is-scrolled)::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(10,8,6,.55),rgba(10,8,6,0))}
html.sg-menu-open .sg-header{background:transparent!important;border-bottom-color:transparent!important;color:var(--sg-ivory)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.sg-menu-open .sg-header::before{display:none}
.sg-header__in{display:flex;align-items:center;gap:28px;height:100%;max-width:calc(var(--sg-max) + 2*var(--sg-gutter));margin:0 auto;padding:0 var(--sg-gutter)}
.sg-header .sg-logo{margin-right:auto}
.sg-nav{display:flex;align-items:center;gap:30px;margin:0;padding:0}
.sg-nav a,.sg-header__end a.sg-lang{position:relative;display:inline-block;padding:6px 0;color:inherit;font:500 12px/1 var(--sg-sans);letter-spacing:.13em;text-transform:uppercase;text-decoration:none;opacity:.88;transition:opacity .3s}
.sg-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--sg-sand);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--sg-ease)}
.sg-nav a:hover,.sg-nav a[aria-current="page"]{opacity:1}
.sg-nav a:hover::after,.sg-nav a[aria-current="page"]::after{transform:scaleX(1)}
.sg-header__end{display:flex;align-items:center;gap:22px}
.sg-header__end a.sg-lang{padding-left:22px;border-left:1px solid currentColor;border-left-color:rgba(127,120,108,.45)}
.sg-header .sg-header__cta{min-height:40px;padding:0 18px;font-size:11.5px}
body[data-sg-hero="dark"] .sg-header:not(.is-scrolled) .sg-header__cta{background:transparent;color:var(--sg-ivory);border-color:rgba(244,238,226,.55)}
body[data-sg-hero="dark"] .sg-header:not(.is-scrolled) .sg-header__cta:hover{background:var(--sg-sand);border-color:var(--sg-sand);color:var(--sg-night)}
.sg-hspace{display:block;height:var(--sg-h)}
body[data-sg-hero="dark"] .sg-hspace{display:none}
.sg-burger{display:none;position:relative;width:44px;height:44px;margin:0 -10px 0 0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.sg-burger span{position:absolute;left:11px;right:11px;height:1px;background:currentColor;transition:transform .45s var(--sg-ease),top .45s var(--sg-ease)}
.sg-burger span:nth-child(1){top:18px}
.sg-burger span:nth-child(2){top:25px}
.sg-burger[aria-expanded="true"] span:nth-child(1){top:21.5px;transform:rotate(45deg)}
.sg-burger[aria-expanded="true"] span:nth-child(2){top:21.5px;transform:rotate(-45deg)}
.sg-menu-fallback{display:none;color:inherit;font:600 11px/1 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
@media (max-width:1023px){
  .sg-nav,.sg-header__end a.sg-lang{display:none}
  html.sg-js .sg-burger{display:block}
  html:not(.sg-js) .sg-menu-fallback{display:inline-block}
}
@media (max-width:639px){
  .sg-header .sg-header__cta{display:none}
  .sg-emblem{width:30px}
  .sg-logo__word{font-size:22px}
  .sg-header__in{gap:16px}
}

/* ---------- menu de telefono (pantalla completa) ---------- */
.sg-menu{position:fixed;z-index:999;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--sg-h) + 28px) var(--sg-gutter) calc(28px + env(safe-area-inset-bottom));background:var(--sg-night);color:var(--sg-ivory);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .45s var(--sg-ease),visibility 0s linear .45s}
.sg-menu[hidden]{display:none}
.sg-menu.is-open{opacity:1;visibility:visible;transition:opacity .45s var(--sg-ease),visibility 0s}
.sg-menu__nav{display:flex;flex-direction:column;margin:0;padding:0}
.sg-menu__nav a{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--sg-line-dark);color:var(--sg-ivory);text-decoration:none;transform:translateY(10px);opacity:0;transition:transform .6s var(--sg-ease),opacity .6s var(--sg-ease)}
.sg-menu.is-open .sg-menu__nav a{transform:none;opacity:1}
.sg-menu.is-open .sg-menu__nav a:nth-child(2){transition-delay:.04s}.sg-menu.is-open .sg-menu__nav a:nth-child(3){transition-delay:.08s}.sg-menu.is-open .sg-menu__nav a:nth-child(4){transition-delay:.12s}.sg-menu.is-open .sg-menu__nav a:nth-child(5){transition-delay:.16s}.sg-menu.is-open .sg-menu__nav a:nth-child(6){transition-delay:.2s}
.sg-menu__n{flex:none;width:26px;font:400 11px/1 var(--sg-sans);letter-spacing:.12em;color:var(--sg-sand);font-variant-numeric:tabular-nums}
.sg-menu__t{font:300 clamp(30px,8.4vw,44px)/1.1 var(--sg-serif);letter-spacing:-.015em}
.sg-menu__nav a[aria-current="page"] .sg-menu__t{font-style:italic;color:var(--sg-sand)}
.sg-menu__foot{display:flex;flex-direction:column;gap:14px;margin-top:36px;padding-top:22px;border-top:1px solid var(--sg-line-dark)}
.sg-menu__foot a{color:rgba(244,238,226,.82);font:400 15px/1.3 var(--sg-sans);text-decoration:none}
.sg-menu__foot a.sg-btn{justify-content:center;color:var(--sg-night);font:600 12px/1 var(--sg-sans)}
.sg-menu__foot .sg-menu__lang{font:600 11px/1 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-sand)}
html.sg-menu-open,html.sg-menu-open body,html.sg-lock,html.sg-lock body{overflow:hidden!important}

/* ---------- pie ---------- */
.sg-footer{position:relative;margin:0;padding:84px 0 30px;border-top:1px solid var(--sg-line-dark);background:var(--sg-night);color:rgba(244,238,226,.74);font:400 14px/1.6 var(--sg-sans);text-align:left}
.sg-footer a{color:inherit;text-decoration:none;transition:color .3s}
.sg-footer a:hover{color:var(--sg-sand)}
.sg-footer__top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--sg-line-dark)}
.sg-footer .sg-logo{color:var(--sg-ivory)}
.sg-footer .sg-emblem{width:40px}
.sg-footer .sg-logo__word{font-size:30px}
.sg-footer__line{max-width:44ch;margin:0;font:300 clamp(18px,2vw,22px)/1.4 var(--sg-serif);color:var(--sg-ivory)}
.sg-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:46px 0 52px}
.sg-footer__h{margin:0 0 16px;font:600 11px/1.4 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-sand)}
.sg-footer ul{list-style:none;margin:0;padding:0}
.sg-footer li{margin:0 0 9px;padding:0}
.sg-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:22px;border-top:1px solid var(--sg-line-dark);font-size:12px;letter-spacing:.04em;color:rgba(244,238,226,.55)}
.sg-footer__base nav{display:flex;gap:22px}
@media (max-width:899px){
  .sg-footer{padding:64px 0 calc(28px + env(safe-area-inset-bottom))}
  .sg-footer__top{flex-direction:column;align-items:flex-start;gap:22px}
  .sg-footer__grid{grid-template-columns:1fr 1fr;gap:34px 24px}
}

/* ---------- aparicion suave ---------- */
html.sg-js .sg-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--sg-ease),transform .6s var(--sg-ease);transition-delay:var(--sg-d,0ms);animation:sg-failsafe 0s linear 3.5s forwards}
html.sg-js .sg-reveal.sg-in{opacity:1;transform:none;animation:none}
@keyframes sg-failsafe{to{opacity:1;transform:none}}
@keyframes sg-zoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.sg-zoom{animation:sg-zoom 18s ease-in-out infinite alternate;transform-origin:50% 50%;will-change:transform}

/* ---------- marco (ventana enmarcada, fotos) ---------- */
.sg-frame{position:relative;display:block;padding:10px}
.sg-frame::before{content:"";position:absolute;inset:0;border:1px solid rgba(201,168,120,.5);pointer-events:none}
.sg-frame::after{content:"";position:absolute;inset:-5px;pointer-events:none;background:
  linear-gradient(var(--sg-sand),var(--sg-sand)) left top/18px 1px no-repeat,linear-gradient(var(--sg-sand),var(--sg-sand)) left top/1px 18px no-repeat,
  linear-gradient(var(--sg-sand),var(--sg-sand)) right top/18px 1px no-repeat,linear-gradient(var(--sg-sand),var(--sg-sand)) right top/1px 18px no-repeat,
  linear-gradient(var(--sg-sand),var(--sg-sand)) left bottom/18px 1px no-repeat,linear-gradient(var(--sg-sand),var(--sg-sand)) left bottom/1px 18px no-repeat,
  linear-gradient(var(--sg-sand),var(--sg-sand)) right bottom/18px 1px no-repeat,linear-gradient(var(--sg-sand),var(--sg-sand)) right bottom/1px 18px no-repeat}
.sg-frame>img,.sg-frame>video,.sg-frame>picture{display:block;width:100%;height:auto}

/* ---------- etiquetas ---------- */
.sg-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid currentColor;border-radius:2px;font:600 10.5px/1 var(--sg-sans);letter-spacing:.14em;text-transform:uppercase}
.sg-tag--sand{border-color:rgba(201,168,120,.6);color:var(--sg-sand)}

/* ---------- barra de fechas (escritorio, dentro del hero) ---------- */
.sg-datebar,.sg-datebar *,.sg-dock,.sg-dock *{box-sizing:border-box}
.sg-datebar{display:none}
@media (min-width:900px){
  html.sg-js .sg-datebar{display:flex;align-items:stretch;width:100%;max-width:760px;margin:26px 0 0;border:1px solid rgba(244,238,226,.26);border-radius:2px;background:rgba(16,13,11,.5);color:var(--sg-ivory);font-family:var(--sg-sans)}
  @supports (backdrop-filter:blur(1px)){html.sg-js .sg-datebar{background:rgba(16,13,11,.36);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
}
.sg-field{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;flex:1 1 0;margin:0;padding:11px 18px;border-right:1px solid rgba(244,238,226,.18)}
.sg-field span{font:600 11px/1 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-sand)}
.sg-field input,.sg-field select{width:100%;min-width:0;height:24px;margin:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;color:var(--sg-ivory);font:400 15px/1.2 var(--sg-sans);color-scheme:dark;-webkit-appearance:none;appearance:none}
.sg-field select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 9px) 55%,calc(100% - 5px) 55%;background-size:4px 4px;background-repeat:no-repeat;padding-right:16px}
.sg-field select option{color:var(--sg-ink);background:var(--sg-paper)}
.sg-field input::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer}
.sg-field--guests{flex:0 0 120px}
.sg-datebar .sg-datebar__go{flex:none;min-height:0;margin:0;padding:0 24px;border:0;border-radius:0 1px 1px 0}

/* ---------- barra fija de telefono ---------- */
.sg-dock{display:none}
@media (max-width:899px){
  .sg-dock{display:block;position:fixed;z-index:900;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(16,13,11,.97);border-top:1px solid var(--sg-line-dark);color:var(--sg-ivory);font-family:var(--sg-sans)}
  body.sg-has-dock,body:has(.sg-dock){padding-bottom:0!important}
  body.sg-has-dock .sg-footer,body:has(.sg-dock) .sg-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  body.sg-has-dock .mobile-cta,body.sg-has-dock .mbar,body.sg-has-dock #mobileCta,body.sg-has-dock .mobile-cta-bar,
  body:has(.sg-dock) .mobile-cta,body:has(.sg-dock) .mbar,body:has(.sg-dock) #mobileCta,body:has(.sg-dock) .mobile-cta-bar{display:none!important}
  html.sg-menu-open .sg-dock{display:none}
}
.sg-dock__row{display:flex;gap:10px;align-items:stretch}
.sg-dock__toggle{display:none;flex:1 1 auto;min-width:0;min-height:46px;margin:0;padding:0 14px;border:1px solid var(--sg-line-dark);border-radius:2px;background:transparent;color:var(--sg-ivory);text-align:left;cursor:pointer;font:400 13.5px/1.2 var(--sg-sans)}
.sg-dock__toggle small{display:block;margin-bottom:3px;font:600 11px/1 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-sand)}
.sg-dock__toggle b{display:block;overflow:hidden;font-weight:400;white-space:nowrap;text-overflow:ellipsis}
html.sg-js .sg-dock__toggle{display:block}
.sg-dock .sg-dock__go{flex:1 1 auto;padding:0 16px}
html.sg-js .sg-dock .sg-dock__go{flex:0 0 auto}
.sg-dock__panel{display:grid;grid-template-columns:1fr 1fr 78px;margin:0 0 10px;border:1px solid var(--sg-line-dark);border-radius:2px}
.sg-dock__panel[hidden]{display:none}
.sg-dock__panel .sg-field{padding:9px 10px}
.sg-dock__panel .sg-field:last-child{border-right:0}
.sg-dock__panel .sg-field input,.sg-dock__panel .sg-field select{font-size:16px}

/* ---------- visor simple (galerias sin visor propio) ---------- */
.sg-visor{position:fixed;z-index:1200;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(12,10,8,.97);color:var(--sg-ivory);opacity:0;visibility:hidden;transition:opacity .35s var(--sg-ease),visibility 0s linear .35s;font-family:var(--sg-sans)}
.sg-visor.is-open{opacity:1;visibility:visible;transition:opacity .35s var(--sg-ease),visibility 0s}
.sg-visor__img{display:block;max-width:min(92vw,1600px);max-height:84vh;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.sg-visor button{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--sg-line-dark);border-radius:50%;background:rgba(16,13,11,.4);color:var(--sg-ivory);font:300 22px/1 var(--sg-sans);cursor:pointer;transition:border-color .3s,background-color .3s}
.sg-visor button:hover{border-color:var(--sg-sand);background:rgba(201,168,120,.12)}
.sg-visor__close{top:18px;right:18px}
.sg-visor__prev{left:18px;top:50%;margin-top:-24px}
.sg-visor__next{right:18px;top:50%;margin-top:-24px}
.sg-visor__count{position:absolute;left:0;right:0;bottom:22px;text-align:center;font:500 11.5px/1 var(--sg-sans);letter-spacing:.2em;color:rgba(244,238,226,.75);font-variant-numeric:tabular-nums;pointer-events:none}
.sg-visor__cap{position:absolute;left:24px;right:24px;bottom:44px;text-align:center;font:300 14px/1.4 var(--sg-serif);color:rgba(244,238,226,.8)}
@media (max-width:640px){.sg-visor__prev,.sg-visor__next{top:auto;bottom:12px;margin:0}.sg-visor__count{bottom:30px}.sg-visor__cap{bottom:76px}}

/* ---------- barras viejas que sobran ---------- */
#stickyCTA,[data-sg-oculta]{display:none!important}

/* ---------- movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html.sg-js .sg-reveal{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  .sg-zoom{animation:none!important}
  .sg-header,.sg-menu,.sg-menu__nav a,.sg-nav a::after,.sg-visor,.sg-arrow{transition:none!important}
}

/* ---- 10_a.css ---- */
/* 10_a · FAMILIA A (css en linea). Solo paginas selladas por adaptadores/a_familia.py y a_vivero.py. */
body[data-sg-v="a_ficha"]{--night:#100d0b;--brass:#a88752;--brass-soft:#c9a878;--palm:#1e3a2f}
body[data-sg-v="a_ficha"] .eyebrow{font-size:11px;letter-spacing:.16em}
body[data-sg-v="a_ficha"] .hero h1{letter-spacing:-.015em;line-height:1.04}
/* el visor y el preloader de cada ficha deben quedar sobre el encabezado fijo (z 1000) */
body[data-sg-v="a_ficha"] .lb{z-index:1150}
body[data-sg-v="a_ficha"] .pre{z-index:1100}
/* botones de la ficha con la geometria comun (regla fina, esquinas de 2px, arena) */
body[data-sg-v="a_ficha"] .btn-solid,body[data-sg-v="a_ficha"] .price-chip,body[data-sg-v="a_ficha"] .wa-pill{border-radius:2px}
body[data-sg-v="a_ficha"] .btn-solid{background:var(--sg-sand);color:var(--sg-night)}
body[data-sg-v="a_ficha"] .btn-solid:hover{background:#d8bb8f}
/* en escritorio la barra de fechas sustituye al boton "Check dates" del hero (no dos llamadas iguales) */
@media (min-width:900px){html.sg-js body[data-sg-v="a_ficha"] .hero-row:has(+.sg-datebar) .btn-solid{display:none}}
body[data-sg-v="a_ficha"] .hero .sg-datebar{opacity:0;animation:sg-a-in 1s ease 1.15s forwards}
@keyframes sg-a-in{to{opacity:1}}
/* la marca "scroll" del hero choca con la barra de fechas (escritorio) y con los botones (telefono) */
body[data-sg-v="a_ficha"] .hero:has(.sg-datebar) .scroll-cue{display:none}
@media (max-width:899px){body[data-sg-v="a_ficha"] .scroll-cue{display:none}}
/* barra movil vieja que se queda (editoriales, vista-lagos): colores comunes */
body[data-sg-v="a_ficha"] .mbar{background:rgba(16,13,11,.97)}
body[data-sg-v="a_ficha"] .mbar .wa-pill{background:var(--sg-sand);color:var(--sg-night);box-shadow:none}
@media (max-width:899px){body:has(.sg-dock) .wa-float{display:none!important}}
/* venta: el pie viejo era footer por etiqueta */
body[data-sg-v="a_venta"] .sg-footer{margin:0;font-size:14px}
/* gracias: logo con emblema dentro de header.top */
body[data-sg-v="a_gracias"] .top .sg-logo{gap:11px;color:var(--ivory)}
/* vivero minimo: reglas por etiqueta header/footer de la pagina */
body[data-sg-v="a_vivero"] .sg-header,body[data-sg-v="a_vivero"] .sg-footer{max-width:none}
body[data-sg-v="a_vivero"] .sg-header{display:block}
body[data-sg-v="a_vivero"] main h1{font-family:var(--sg-serif);font-weight:300;letter-spacing:-.015em}
body[data-sg-v="a_vivero"] .gallery img{cursor:zoom-in}

/* ---- 20_b.css ---- */
/* Familia B (resto de variantes), G (lt-*) y venta dinamica. Agente FAMILIA B. Solo paginas transformadas. */
/* property-intro (holiday-hr*, punta-aguila): hero claro */
body[data-sg-v^="b_"] .property-intro h1{font-family:var(--sg-serif);font-weight:300;letter-spacing:-.015em;line-height:1.04}
body[data-sg-v^="b_"] .property-intro .sg-datebar{background:var(--sg-paper);color:var(--sg-ink);border-color:var(--sg-line);-webkit-backdrop-filter:none;backdrop-filter:none}
body[data-sg-v^="b_"] .property-intro .sg-field{border-color:var(--sg-line)}
body[data-sg-v^="b_"] .property-intro .sg-field span{color:var(--sg-sand-deep)}
body[data-sg-v^="b_"] .property-intro .sg-field input,body[data-sg-v^="b_"] .property-intro .sg-field select{color:var(--sg-ink);color-scheme:light}
.sg-b-pi{margin-top:28px}.sg-b-pi__in{overflow:hidden}
.sg-b-pi__in img{margin:0!important;animation:sg-zoom 18s ease-in-out infinite alternate}
body[data-sg-v] .holiday-filters button{font:500 13px/1 var(--sg-sans)}
/* largo plazo */
body[data-sg-v="b_lt"] .price small{display:inline-block;line-height:1.5}
body[data-sg-v="b_lt"] .panel{top:calc(var(--sg-h) + 24px)}
/* venta dinamica (el placeholder salia siempre: .photo-placeholder{display:grid} ganaba a [hidden]) */
body[data-sg-v="b_venta"] .photo-placeholder[hidden]{display:none}
body[data-sg-v="b_venta"] .confirmation .kicker{color:var(--sg-sand)}
body[data-sg-v="b_venta"]{--green-2:var(--sg-night)}
body[data-sg-v="b_venta"] :is(.status,.crm-id,.facts li,.button){border-radius:2px}
@media (prefers-reduced-motion:reduce){.sg-b-pi__in img{animation:none}}

/* ---- 20_familia_b.css ---- */
/* Familia B (rental-listing.css). Creado por el arquitecto para RL-N; lo amplia el agente de la familia B.
   Solo paginas de la familia B (sello b_*); tipografia del hero tambien en a_ficha (integrador). */
body[data-sg-v^="b_"]{--night:#100d0b;--ivory:#fbf8f2;--gold:#c9a878;--ink:#1c1a17;--muted:#6b6357;--palm:#1e3a2f}
body[data-sg-v^="b_"] .hero>img{animation:sg-zoom 18s ease-in-out infinite alternate;transform-origin:50% 60%}
:is(body[data-sg-v^="b_"],body[data-sg-v="a_ficha"]) .hero h1{font-weight:300;letter-spacing:-.015em;line-height:1.04}
:is(body[data-sg-v^="b_"],body[data-sg-v="a_ficha"]) .eyebrow{font-weight:600;font-size:11px;letter-spacing:.16em}
:is(body[data-sg-v^="b_"],body[data-sg-v="a_ficha"]) .hero .eyebrow{color:#e6cfa6}
body[data-sg-v^="b_"] .hero-copy{padding-top:calc(var(--sg-h) + 110px)}
body[data-sg-v^="b_"] .gallery-grid img{transition:transform .9s var(--sg-ease)}
@media (max-width:899px){body[data-sg-v^="b_"] .hero-copy{padding-top:calc(var(--sg-h) + 80px)}}
@media (prefers-reduced-motion:reduce){body[data-sg-v^="b_"] .hero>img{animation:none}}

/* ---- 30_c.css ---- */
/* C y D: body.sg-c (c_estilo), body.sg-d (d_lead) */
.sg-c{--font-display:var(--sg-serif);--accent:#a88752;--accent-hover:#8f7243;--text:#1c1a17;--text-primary:#1c1a17;--text-secondary:#4f4a42;--bg-secondary:#f6f1e7;font-size:15px;padding-bottom:0!important}
.sg-c :is(.blog-hero h1,.seo-hero h1,.blog-content h2,.content-section h2,.properties-strip h2,.holiday-es h2,.thank-you h1,.cta-inline h3,.cta-box h3,.quick-facts h3,.restaurant h3,.course-card h3,.airport-card h3,.venue-card h3,.sample-itinerary h3,.package-card h3,.holiday-info h3,.activity-num,.stat-item .number),.sg-c [style*=Cormorant]{font-family:var(--sg-serif)!important;letter-spacing:-.015em}.sg-c [style*=Cormorant]{font-weight:300!important}
.sg-c :is(.blog-hero,.seo-hero){padding-top:calc(var(--sg-h) + 88px)}
.sg-c :is(.blog-hero,.seo-hero) h1,.sg-c :is(.content-section,.properties-strip,.sg-c-read) h2{font-weight:300;line-height:1.08}
.sg-c :is(.blog-hero .meta,.seo-hero .sub){font:600 11px/1.6 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:#e6cfa6}
.sg-c .btn{border-radius:2px;font:600 12px/1 var(--sg-sans);letter-spacing:.14em;text-transform:uppercase;padding:16px 24px}
.sg-c :is(.btn-primary,.btn[style*="25D366"]){background:var(--sg-sand)!important;border-color:var(--sg-sand)!important;color:var(--sg-night)!important}
.sg-c :is(.cta-box,.cta-inline,.quick-facts,.next-steps){border-radius:2px;border:1px solid var(--sg-line);background:var(--sg-paper)}
.sg-c .property-card img{transition:transform .7s}.sg-c .property-card:hover img{transform:scale(1.035)}
.sg-c .sg-c-read{box-sizing:content-box;max-width:62ch;font-size:17px;padding-left:var(--sg-gutter);padding-right:var(--sg-gutter)}
.sg-c .sg-c-read :is(p,li){line-height:1.7;color:#3d3830}
.sg-c .sg-c-read h2{font-size:clamp(27px,3vw,34px);margin:48px 0 16px}
.sg-c .breadcrumb{box-sizing:content-box;max-width:calc(62ch * 1.3);padding-left:var(--sg-gutter)!important;padding-right:var(--sg-gutter)!important;font-size:13px!important}
.sg-c .whatsapp-float{background:var(--sg-night);border:1px solid rgba(201,168,120,.6);box-shadow:0 8px 24px rgba(16,13,11,.25);animation:none}
.sg-c :is(.whatsapp-float,.mobile-cta-wa) svg{fill:var(--sg-sand)}.sg-c .btn svg{fill:currentColor}.sg-c .thank-you .check{background:var(--sg-green)}
.sg-c .mobile-cta-bar{background:var(--sg-night);border-top:1px solid var(--sg-line-dark)}
.sg-c .mobile-cta-bar a{border-radius:2px;font:600 11.5px/1 var(--sg-sans);letter-spacing:.14em;text-transform:uppercase}
.sg-c .mobile-cta-wa{background:none;border:1px solid var(--sg-line-dark);color:var(--sg-ivory)}
.sg-c .mobile-cta-book{background:var(--sg-sand);color:var(--sg-night)}
@media (max-width:768px){body.sg-c:has(#mobileCta:not([data-sg-oculta])) .sg-footer{padding-bottom:110px}body.sg-c:has(#mobileCta,.sg-dock) .whatsapp-float{display:none}}
.sg-c .seo-hero .sg-datebar{margin:30px auto 0;text-align:left}
.sg-c-gal img{cursor:zoom-in}
.sg-d{--brass:#a88752;--brass-2:#c9a878}
.sg-d[data-sg-hero=dark] .lead-main{min-height:100vh}
.sg-d[data-sg-hero=dark] .lead-layout{padding-top:calc(var(--sg-h) + 56px)}
.sg-d .lead-copy{top:calc(var(--sg-h) + 24px)}
.sg-d .lead-copy h1{font-weight:300;letter-spacing:-.03em}
html.sg-menu-open .mobile-cta-bar{display:none!important}

/* ---- 40_portada.css ---- */
/* Portada y propietarios (agente PORTADA): base de body.sg-pg. El resto va en linea desde portada/portada.css.
   Los reseteos van dentro de :where() para no ganarle en especificidad a los componentes. */
.sg-pg{margin:0;background:var(--sg-paper);color:var(--sg-ink);font:400 16.5px/1.6 var(--sg-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
:where(.sg-pg main) *,:where(.sg-pg main) *::before,:where(.sg-pg main) *::after{box-sizing:border-box}
:where(.sg-pg main) img{display:block;max-width:100%;height:auto}
:where(.sg-pg main) a{color:inherit;text-decoration:none}
:where(.sg-pg main) :where(h1,h2,h3,p,ul,ol,figure,dl,dd){margin:0}
:where(.sg-pg main) :where(ul,ol){padding:0;list-style:none}

/* ---- 50_hz.css ---- */
/* 50_hz · privacy (h_privacy) y 404 (z404). Integrador. Solo paginas selladas. */
body[data-sg-v="h_privacy"]{max-width:none;margin:0;padding:0}
body[data-sg-v="h_privacy"] .sg-h-legal{max-width:720px;margin:0 auto;padding:calc(var(--sg-h) + 56px) var(--sg-gutter) 88px}
body[data-sg-v="h_privacy"] .sg-h-legal h1{font:300 clamp(2.2rem,5vw,3.4rem)/1.04 var(--sg-serif);letter-spacing:-.015em;margin:0 0 10px}
body[data-sg-v="h_privacy"] .sg-h-legal h2{font:600 11px/1.4 var(--sg-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-sand-deep);margin:40px 0 8px}
body[data-sg-v="h_privacy"] .sg-h-legal p{font-size:16px;line-height:1.6}
body[data-sg-v="h_privacy"] .sg-footer p,body[data-sg-v="h_privacy"] .sg-footer h2{font-size:inherit}
body[data-sg-v="z404"]{display:block;place-items:normal;padding:0;background:var(--sg-night)}
body[data-sg-v="z404"] main.card{margin:calc(var(--sg-h) + 10vh) auto 12vh;width:calc(100% - 2*var(--sg-gutter));border-color:var(--sg-line-dark);background:var(--sg-night-2)}
body[data-sg-v="z404"] main.card h1{font:300 clamp(3rem,9vw,6rem)/1 var(--sg-serif);letter-spacing:-.015em}
body[data-sg-v="z404"] main.card .mark{color:var(--sg-sand);font:600 11px/1.2 var(--sg-sans);letter-spacing:.16em}
body[data-sg-v="z404"] main.card a{border-color:var(--sg-sand);border-radius:2px}
/* encabezado (integrador): en espanol, entre 1024 y 1279 px el menu partia en dos lineas */
.sg-nav a{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){.sg-nav{gap:18px}.sg-nav a,.sg-header__end a.sg-lang{letter-spacing:.08em;font-size:11.5px}.sg-header__in{gap:20px}}

/* ---- 60_correcciones.css ---- */
/* 60_correcciones · corrector final (10-nov-2026). Hallazgos de los revisores visual, funcional y marca-SEO.
   Solo css; ningun formulario ni script de captacion. Cada bloque dice que arregla. */
/* visor viejo de las fichas B (#lightbox, z 100) debajo del encabezado (1000) y del dock (900) */
#lightbox.lightbox{z-index:1300}
body:has(#lightbox.open) :is(.sg-header,.sg-dock,.sg-skip){visibility:hidden}
/* encabezado al bajar: casi opaco (sobre franjas noche y el pie se veia gris sucio) */
.sg-header{background:rgba(251,248,242,.96)}
/* menu de escritorio en espanol entre 1024 y 1199 px: mas aire */
@media (min-width:1024px) and (max-width:1199px){.sg-nav{gap:14px}.sg-nav a,.sg-header__end a.sg-lang{letter-spacing:.06em;font-size:11px}.sg-header__in,.sg-header__end{gap:16px}.sg-header__end a.sg-lang{padding-left:14px}.sg-header .sg-header__cta{padding:0 14px;font-size:11px;letter-spacing:.1em}}
/* fichas A: velo del hero mas firme para que el titular y la etiqueta se lean sobre fotos claras */
body[data-sg-v="a_ficha"] .hero-veil{background:linear-gradient(90deg,rgba(8,9,11,.62) 0,rgba(8,9,11,.3) 50%,rgba(8,9,11,0) 85%),linear-gradient(to top,rgba(8,9,11,.92) 0,rgba(8,9,11,.3) 50%,rgba(8,9,11,.42) 100%)}
@media (max-width:899px){body[data-sg-v="a_ficha"] .hero-veil{background:linear-gradient(to top,rgba(8,9,11,.94) 0,rgba(8,9,11,.74) 45%,rgba(8,9,11,.56) 72%,rgba(8,9,11,.45) 100%)}}
body[data-sg-v="a_ficha"] .hero :is(h1,.hero-kicker){text-shadow:0 1px 14px rgba(0,0,0,.45)}
/* fichas A: bloque de reserva mas ancho que la pantalla del telefono */
@media (max-width:900px){body[data-sg-v="a_ficha"] .booking .wrap{grid-template-columns:minmax(0,1fr)}body[data-sg-v="a_ficha"] .booking .wrap>*{min-width:0}body[data-sg-v="a_ficha"] .booking :is(input,textarea,select){max-width:100%;min-width:0}body[data-sg-v="a_ficha"] .booking .bform .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-sg-v="a_ficha"] .booking .bform .two>*{min-width:0}}
@media (max-width:560px){body[data-sg-v="a_ficha"] .booking .bform{padding:28px 20px}}
/* borde izquierdo del contenido = borde del logo (var(--sg-gutter) y var(--sg-max)) */
body[data-sg-v^="b_"] .wrap,body:is([data-sg-v="a_ficha"],[data-sg-v="a_empresa"]) .wrap,.sg-d :is(.lead-shell,.sale-shell),body:is([data-sg-v="a_venta"],[data-sg-v="b_venta"]) .shell{box-sizing:border-box;width:100%;max-width:calc(var(--sg-max) + 2*var(--sg-gutter));margin-left:auto;margin-right:auto;padding-left:var(--sg-gutter);padding-right:var(--sg-gutter)}
body[data-sg-v^="b_"] .hero-copy>:not(.sg-datebar){max-width:880px}
/* fichas B: en escritorio la barra de fechas sustituye a la pildora de WhatsApp del hero; botones con la geometria comun */
@media (min-width:900px){html.sg-js body[data-sg-v^="b_"] .hero-actions:has(+.sg-datebar) a.wa[href*="wa.me"]{display:none}}
body[data-sg-v^="b_"] :is(.hero,.property-intro) :is(.wa,.ghost,.rate-chip){border-radius:2px}
body[data-sg-v^="b_"] :is(.hero,.property-intro) :is(.wa,.ghost){font:600 12px/1 var(--sg-sans);letter-spacing:.14em;padding:15px 22px}
body[data-sg-v^="b_"] .property-intro,body[data-sg-v^="b_"] .property-intro h1{color:var(--sg-ink)}
/* ventas (fija y dinamica): hero noche bajo el encabezado transparente */
body[data-sg-hero="dark"]:is([data-sg-v="a_venta"],[data-sg-v="b_venta"]) .property-hero{padding-top:calc(82px + var(--sg-h))}
@media (max-width:560px){body[data-sg-hero="dark"]:is([data-sg-v="a_venta"],[data-sg-v="b_venta"]) .property-hero{padding-top:calc(58px + var(--sg-h))}}
/* visor nuevo opaco (dejaba ver la pagina detras en el telefono) */
.sg-visor{background:var(--sg-night)}
/* barra movil vieja de vista-lagos: misma letra y tono que el dock */
body[data-sg-v="a_ficha"] .mbar{background:var(--sg-night);border-top-color:var(--sg-line-dark);font-family:var(--sg-sans)}
body[data-sg-v="a_ficha"] .mbar .wa-pill{font-weight:600;letter-spacing:.14em}
/* familia C: tarjetas en angulo recto y titulos ligeros */
.sg-c :is(.course-card,.sample-itinerary,.package-card,.airport-card,.venue-card,.restaurant,.event-card,.info-card,.ls-item){border-radius:2px}
.sg-c :is(.course-card,.package-card,.airport-card,.venue-card,.restaurant,.event-card,.info-card) h3{font-weight:400}
/* sin JS, los bloques .reveal propios de las fichas no deben quedar invisibles */
html:not(.sg-js) .reveal{opacity:1!important;transform:none!important}
/* preloader propio ya oculto: que no tape los clics del encabezado */
body[data-sg-v] .pre.off{pointer-events:none}
/* ---- auditoria 11-nov-2026: campos de 16px en iPhone (#113) y zonas tactiles (#117) ---- */
@media (max-width:899px){.sg-field input,.sg-field select{font-size:16px}body[data-sg-v="a_ficha"] .bform :is(input,textarea){font-size:16px}.sg-menu__foot .sg-menu__lang,.sg-menu__foot a:not(.sg-btn){display:block;padding:12px 0}.sg-footer li a{display:inline-block;padding:10px 0}}
