/* Web de un particular: la casa es la protagonista. Letra propia, foto a toda página y ninguna pieza de portal. */
@font-face{font-family:"Young Serif";src:url(/assets/fonts/young-serif.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--salt:#eef3f2;--basalt:#1b2a2e;--foreground:#1b2a2e;--line:#d8e1e0;--muted:#586a6e;--radius:10px}
body.mode-host{font-family:"Instrument Sans",system-ui,sans-serif;color:var(--basalt);background:#fff;font-size:17px;line-height:1.6}
.mode-host .font-display,.mode-host h1,.mode-host h2,.mode-host h3,.mode-host .site-logo,.mode-host .prose h2{font-family:"Young Serif",Georgia,serif;font-weight:400;letter-spacing:-.005em}
.mode-host .btn{border-radius:8px;font-size:.95rem}
.mode-host .btn-sm{font-size:.85rem}
.mode-host :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.mode-host [id]{scroll-margin-top:96px}

.mode-host .eyebrow{text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--muted);font-weight:600}
.hs .stay-side{grid-template-columns:minmax(0,1fr)}
.hs .stay-dates input{min-width:0}

/* Cabecera */
.mode-host .site-header{background:#fff;backdrop-filter:none}
.mode-host .site-nav a{font-size:.94rem}
.mode-host.has-overlay .site-header{position:fixed;left:0;right:0;background:transparent;border-color:transparent;transition:background .2s}
.mode-host.has-overlay:not(.is-scrolled) .site-logo,.mode-host.has-overlay:not(.is-scrolled) .site-nav>a:not(.btn),.mode-host.has-overlay:not(.is-scrolled) .lang-switch a{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.mode-host.has-overlay:not(.is-scrolled) .nav-toggle{background:rgba(255,255,255,.92)}
.mode-host.is-scrolled .site-header{background:#fff;border-color:var(--line)}

/* Portada de un alojamiento */
.hs-hero{position:relative;height:clamp(520px,88svh,820px);display:flex;align-items:flex-end;background:var(--ink);overflow:hidden}
.hs-hero.is-plain{height:auto;padding:9rem 0 3rem}
.hs-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hs-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,30,.42) 0,rgba(10,25,30,0) 24%,rgba(10,25,30,0) 44%,rgba(10,25,30,.72) 100%)}
.hs-hero-text{position:relative;z-index:1;padding-bottom:3.2rem;color:#fff;width:100%}
.hs-hero h1{text-shadow:0 1px 22px rgba(10,25,30,.4);color:#fff;font-size:clamp(2.5rem,6.4vw,5.4rem);line-height:1.03;max-width:17ch;margin:0}
.hs-hero-sub{font-size:clamp(1.05rem,1.7vw,1.3rem);margin:.9rem 0 0;max-width:46ch;color:#fff}
.hs-hero-btn{margin-top:1.5rem;padding:.9rem 1.7rem;font-size:1rem}
.hs-ledge{border-bottom:1px solid var(--line)}
.hs-ledge-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 2rem;padding-top:1.1rem;padding-bottom:1.1rem}
.hs-facts{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;list-style:none;margin:0;padding:0}
.hs-facts li{display:flex;align-items:center;gap:.4rem;font-weight:500}
.hs-where{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;color:var(--muted)}
.hs-strip{padding:.5rem 0 0}
.hs-strip-track{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.hs-shot{flex:0 0 clamp(270px,34vw,540px);aspect-ratio:3/2;border:0;padding:0;background:var(--salt);cursor:zoom-in;scroll-snap-align:start}
.hs-shot img{width:100%;height:100%;object-fit:cover;display:block}
.hs-body{padding-top:1.4rem;padding-bottom:5rem}
.hs .stay-main>section,.hs .stay-main>div>section{margin-top:3.2rem}
.hs .stay-main>section:first-child{margin-top:1.6rem}
.hs .stay-main h2,.hs .property-map-section h2{font-size:1.75rem;color:var(--ink);line-height:1.2}
.hs-prose{max-width:66ch;font-size:1.06rem;line-height:1.72;margin-top:.8rem}
.hs .stay-amenities{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.hs .stay-widget,.hs .stay-contact{border-radius:12px;box-shadow:none;border-color:var(--line)}
.hs .stay-widget{border:2px solid var(--ink)}
.hs .stay-from strong{font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:1.9rem}
.hs .stay-days .d{border-radius:6px}
.hs-host{display:flex;gap:1.2rem;align-items:flex-start;background:var(--salt);border-radius:12px;padding:1.5rem}
.hs-host-mark{flex:0 0 58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Young Serif",Georgia,serif;font-size:1.5rem}
.hs-host p{margin:.4rem 0 0}
.hs-other{background:var(--salt);padding:3rem 0}
.hs-other-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2.5rem;align-items:center}
.hs-other img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block}
.hs-other-q{color:var(--muted);margin:0}
.hs-other h2{font-size:1.9rem;color:var(--ink);margin:.3rem 0}
.hs-other .btn{margin-top:.8rem}
.hs-empty{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.6rem}
.hs-empty h1{font-size:3rem;color:var(--ink);margin:0}

/* Portada de dos alojamientos */
.hd-split{position:relative;display:flex;height:clamp(560px,90svh,860px);background:var(--ink)}
.hd-split h1{position:absolute;z-index:2;left:max(1.25rem,calc((100vw - 1200px)/2));top:112px;margin:0;color:#fff;font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.1;max-width:19ch;text-shadow:0 2px 18px rgba(0,0,0,.5);pointer-events:none}
.hd-panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;display:flex;align-items:flex-end;color:#fff;transition:flex-grow .45s ease}
.hd-panel+.hd-panel{border-left:3px solid #fff}
.hd-panel:hover,.hd-panel:focus-visible{flex-grow:1.35}
.hd-panel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hd-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,30,.5) 0,rgba(10,25,30,0) 40%,rgba(10,25,30,.05) 52%,rgba(10,25,30,.78) 100%)}
.hd-panel-text{position:relative;z-index:1;display:flex;flex-direction:column;gap:.15rem;padding:2rem 2.2rem}
.hd-panel-text strong{font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.1;max-width:18ch}
.hd-panel-price{font-weight:600;font-size:1.1rem;margin-top:.3rem}
.hd-check{background:var(--salt);padding:3.2rem 0}
.hd-check h2,.hd-each h2,.hd-end h2{font-size:2rem;color:var(--ink);margin:0;line-height:1.15}
.hd-dates{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:.6rem;align-items:end;margin-top:1.2rem;max-width:780px}
.hd-dates label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;font-weight:600}
.hd-dates input{min-height:46px;border:1px solid #b9c7c6;border-radius:8px;padding:.5rem;font:inherit;background:#fff;width:100%}
.hd-dates .btn{min-height:46px}
.hd-table-wrap{margin-top:1.6rem;background:#fff;border-radius:12px;padding:.4rem 1.4rem 1rem}
.hd-table{width:100%;border-collapse:collapse;table-layout:fixed}
.hd-table th,.hd-table td{padding:.75rem .6rem;text-align:left;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}
.hd-table thead th{font-family:"Young Serif",Georgia,serif;font-size:1.15rem;line-height:1.25}
.hd-table thead a{color:var(--ink)}
.hd-table tbody th{color:var(--muted);width:24%}
.hd-table tr:last-child td{border-bottom:0}
.hd-avail td{font-weight:700}.is-free{color:#14703f}.is-busy{color:#a12a1f}
.hd-each{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:3rem;align-items:center;padding-top:4.5rem}
.hd-each.is-flip .hd-each-text{order:2}
.hd-each h2 a{color:inherit}
.hd-each-text>p{margin:.8rem 0}
.hd-each-text>.hs-facts{margin:1rem 0}
.hd-amen{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;list-style:none;padding:0;margin:0 0 1.3rem;color:var(--muted)}
.hd-each-photos{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.hd-each-photos img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:6px}
.hd-each-photos img:first-child{grid-column:1/3;aspect-ratio:16/9}
.hd-end{padding-top:4.5rem;padding-bottom:5rem;display:grid;gap:2.5rem}

/* Pie */
.hs-footer{background:var(--ink);color:#fff;padding:3rem 0 1.5rem;margin-top:0}
.hs-footer-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.hs-footer .site-logo{color:#fff;font-size:1.5rem;margin:0 0 .3rem}
.hs-footer p{margin:0;color:rgba(255,255,255,.75)}
.hs-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.hs-footer a{color:rgba(255,255,255,.85)}
.hs-footer-end{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18);font-size:.85rem;color:rgba(255,255,255,.65)}

@media(max-width:940px){
  .mode-host .site-nav{display:none}
  .hs-body{padding-bottom:6rem}
}
@media(max-width:760px){
  body.mode-host{font-size:16px}
  .hs-hero{height:clamp(460px,76svh,640px)}
  .hs-hero-text{padding-bottom:2rem}
  .hs-ledge-in{flex-direction:column;align-items:flex-start}
  .hs-other-in,.hd-each,.hs-footer-in{grid-template-columns:1fr;gap:1.4rem}
  .hd-split{flex-direction:column;height:auto}
  .hd-split h1{top:92px;right:1.25rem}
  .hd-panel{flex:none;height:52svh;min-height:340px}
  .hd-panel:first-of-type{height:64svh}
  .hd-panel+.hd-panel{border-left:0;border-top:3px solid #fff}
  .hd-panel-text{padding:1.3rem 1.25rem}
  .hd-dates{grid-template-columns:1fr 1fr}
  .hd-dates .btn{grid-column:1/3}
  .hd-table-wrap{padding:.2rem .7rem .7rem}
  .hd-table th,.hd-table td{padding:.6rem .35rem;font-size:.92rem}
  .hd-table thead th{font-size:1rem}
  .hd-each{padding-top:3rem}
  .hd-each.is-flip .hd-each-text{order:0}
}
@media(prefers-reduced-motion:reduce){.hd-panel{transition:none}.mode-host .site-header{transition:none}}
