/*
Theme Name: Bustos Home · Oceanfront
Theme URI: https://bustohome.wininnovacion.link/
Author: Win Innovación
Description: Alojamiento editorial y gestión de reservas compatible con Flat Theme Manager 3.9.2.
Version: 1.0.0
Text Domain: bustos-home
Requires PHP: 8.0
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Instrument+Serif:ital@0;1&family=Inter:ital,wght@0,300;0,400;0,500;1,400&display=swap');

:root{--ink:#181818;--paper:#fff;--sand:#a3927c;--muted:#666660;--line:#deded8;--pale:#f4f3ef;--content-width:1280px;--section-space:100px;--body-size:16px;--gallery-gap:20px;--section-margin:0px;--gutter:48px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,Helvetica,sans-serif;font-size:var(--body-size);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,summary{touch-action:manipulation}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--sand);outline-offset:5px}
.wrap{width:min(var(--content-width),calc(100% - 2*var(--gutter)));margin-inline:auto}
.section{padding-block:var(--section-space);margin-block:var(--section-margin)}
h1,h2,h3,.bh-h1,.bh-h2,.bh-h3{font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1.12;letter-spacing:-.035em}
h1,.bh-h1{font-size:clamp(48px,5.3vw,76px);margin:20px 0}
h2,.bh-h2{font-size:clamp(32px,3.35vw,46px);margin:22px 0}
h3,.bh-h3{font-size:clamp(23px,2.2vw,30px);margin:16px 0}
h1 em,h2 em,h3 em,.bh-h1 em,.bh-h2 em,.bh-h3 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic;font-size:1.12em;letter-spacing:-.025em}
p{font-family:'Inter',sans-serif;font-size:17px;font-weight:300;line-height:1.8;margin:0 0 24px}
.bh-p{font-weight:300}
p:last-child{margin-bottom:0}
.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:500;line-height:1.6;display:block}
.eyebrow .bh-span{font-size:inherit}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--ink);color:#fff;padding:13px 23px;border:1px solid var(--ink);border-radius:7px;font-size:14px;font-weight:400;line-height:1.5;transition:background .25s,color .25s,transform .25s}
.button:hover{background:#363636;transform:translateY(-2px)}
.button-light{background:#fff;color:var(--ink);border-color:#fff}
.button-light:hover{background:#ecebe7}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--ink);border-radius:7px;padding:10px 20px;font-size:14px;line-height:1.5;transition:background .25s,color .25s}
.text-link:hover{background:var(--ink);color:#fff}
.skip-link{position:fixed;z-index:1000;top:0;left:15px;padding:12px;background:var(--paper);transform:translateY(-120%)}
.skip-link:focus{transform:none}
.site-header{height:88px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid transparent;transition:background .3s,color .3s,height .3s}
.site-header.over-hero{position:absolute;inset:0 0 auto;color:#fff;background:transparent}
.site-header.over-hero.scrolled{position:fixed;background:var(--paper);color:var(--ink);height:82px;border-color:var(--line)}
.brand{display:flex;flex-direction:column;line-height:1;flex-shrink:0}
.brand .bh-span{font-size:27px;font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
.brand small{font-size:8px;letter-spacing:.18em;margin-top:10px}
.nav-list{display:flex;list-style:none;gap:30px;margin:0;padding:0;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;text-transform:uppercase;letter-spacing:.14em}
.nav-list a{display:block;padding:10px 0;position:relative}
.nav-list a:after{content:'';position:absolute;left:0;bottom:4px;width:0;height:1px;background:currentColor;transition:width .25s}
.nav-list a:hover:after,.current-menu-item a:after{width:100%}
.bh-header-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.bh-header-language{display:flex;align-items:center;font:300 13px/1.5 'Inter',sans-serif}.bh-header-language:empty{display:none}.bh-header-language select{width:auto;max-width:120px;padding:6px 18px 6px 6px;border:1px solid currentColor;border-radius:4px;color:inherit;font:300 12px/1.5 'Inter',sans-serif}.bh-header-language select option{color:var(--ink);background:#fff}@media(max-width:800px){.bh-header-actions{gap:12px}}@media(max-width:520px){.bh-header-actions{gap:8px}.bh-header-language select{max-width:62px;font-size:11px;padding-inline:2px}.bh-header-language img{width:20px;height:auto;max-width:20px}.site-header .bh-header-actions .header-reserve{font-size:12px;letter-spacing:.08em}}
.header-reserve{padding:8px 19px;gap:20px;background:transparent;color:inherit}
.site-header .header-reserve{font-family:'Inter',sans-serif;font-size:14px;font-weight:300;letter-spacing:.14em;text-transform:uppercase}
.site-header .header-reserve:hover{background:var(--pale);color:var(--ink);border-color:var(--sand);transform:none}.site-header.over-hero:not(.scrolled) .header-reserve:hover{background:#ffffff1a;color:#fff;border-color:#fff}

@media(max-width:520px){.header-reserve>span[aria-hidden='true']{display:none}}
.over-hero:not(.scrolled) .header-reserve{border-color:#ffffffb3;background:transparent;color:#fff}
.menu-toggle{display:none;border:0;background:none;color:inherit}
body.home main{display:grid;grid-template-columns:minmax(0,1fr)}
body.home main>.hero,body.home main>.booking-strip{grid-row:1;grid-column:1}
.hero{height:max(780px,100svh);position:relative;color:#fff;display:flex;align-items:flex-end;padding:140px 0 255px}
.hero-photo{position:absolute;inset:0;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10101078 0%,#10101035 60%,#10101020),linear-gradient(0deg,#10101070,transparent 75%)}
.hero-content{position:relative;width:min(var(--content-width),calc(100% - 2*var(--gutter)));margin:0 auto}
.hero h1{max-width:800px;margin-top:15px;margin-bottom:22px}
.hero p{font-size:18px;line-height:1.65;color:#ffffffed;max-width:650px;margin-bottom:18px}
.hero-content>.button{background:transparent;border:0;border-radius:0;padding:0;color:#fff;gap:22px;font-size:14px;text-decoration:underline;text-underline-offset:5px;min-height:36px}
.hero-content>.button:hover{background:transparent;transform:none}
.hero-bottom{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:flex-end;font-size:10px;letter-spacing:.08em}
.hero-bottom>span{display:none}
.booking-strip{align-self:end;position:relative;z-index:2;padding:10px;width:min(760px,calc(100% - 2*var(--gutter)));margin:0 0 80px max(var(--gutter),calc((100% - var(--content-width))/2));border:0;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 8px 35px #00000012}
.booking-strip>div{display:none}
.booking-strip form{display:grid;grid-template-columns:1fr 1fr .85fr auto;gap:0;align-items:center}
label{font-size:12px;letter-spacing:0;display:block}
input,select,textarea{width:100%;min-width:0;padding:11px 0;background:transparent;border:0;border-bottom:1px solid #999993;color:var(--ink);font-size:15px;border-radius:0}
input[type=date]{max-width:100%}
.booking-strip label{padding:0 18px;border-right:1px solid var(--line);color:var(--muted);line-height:1.5}
.booking-strip input,.booking-strip select{padding:3px 0 0;border:0;font-size:15px;color:var(--ink);line-height:1.5}
.booking-strip .button{padding:13px 17px;margin-left:12px;white-space:nowrap;font-size:13px;gap:14px;min-height:50px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}
.split>*{min-width:0}
.editorial p{max-width:510px;color:#212121;font-size:16px;line-height:1.6;text-align:justify}
.editorial>div.bh-p{max-width:510px;margin-bottom:24px}
.editorial>.eyebrow,.section-heading .eyebrow{display:none}
.image-frame{margin:0}
.image-frame img{width:100%;height:530px;object-fit:cover;border-radius:10px}
.image-frame figcaption{font-size:12px;color:var(--muted);margin-top:13px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 0 80px;text-align:center}
.facts>div{border-right:1px solid var(--line)}
.facts>div:last-child{border:0}
.facts strong{font:300 46px/1.1 'DM Sans',Arial,sans-serif;letter-spacing:-.04em}
.facts strong span{font:15px 'DM Sans',Arial,sans-serif;margin-left:6px}
.facts p{font-size:13px;letter-spacing:0;margin-top:12px;color:var(--muted)}
.pale{background:var(--pale)}
.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:36px}
.section-heading h2{margin-top:0;margin-bottom:0}
.section-heading .text-link{flex-shrink:0}
.spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.space-card{min-width:0}
.space-card>div{overflow:hidden;border-radius:10px;margin-bottom:18px}
.space-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .65s}
.space-card:hover img{transform:scale(1.025)}
.space-card>span{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.space-card h3{font-size:23px;font-weight:400;line-height:1.3;letter-spacing:-.025em;margin:9px 0 0}
.closing{text-align:center;background:var(--ink);color:var(--paper)}
.closing h2{max-width:700px;margin:24px auto 32px}
.closing .button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.closing .button-light:hover{background:#ecebe7;border-color:#ecebe7;color:var(--ink)}
.site-footer{--muted:#626059;--line:#dedbd3;padding:68px 32px 25px;background:#f7f5f0;color:var(--ink);border-top:1px solid var(--line)}
.footer-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,.8fr);gap:40px;padding-bottom:65px;align-items:start}.footer-top>div{min-width:0}
.footer-brand{display:inline-flex;flex-direction:column;font:700 27px/1 'DM Sans',Arial,sans-serif;letter-spacing:-.035em}
.footer-brand::after{content:'GIJÓN · ASTURIAS';font:400 8px/1 'DM Sans',Arial,sans-serif;letter-spacing:.18em;margin-top:10px}
@media(max-width:800px){.footer-brand{font-size:23px}}
@media(max-width:520px){.footer-brand{font-size:19px}.footer-brand::after{font-size:7px;letter-spacing:.12em}}
@media(max-width:350px){.footer-brand{font-size:16px}}
.footer-top p{font-size:14px;margin-top:18px;color:var(--muted)}
.footer-top a:not(.footer-brand){font-size:14px}
.footer-nav{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:var(--muted);text-align:center}.bh-footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;font:300 12px/1.6 'Inter',sans-serif}.bh-footer-legal a:hover,.bh-footer-copyright a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom .bh-footer-copyright{margin:0;font:300 12px/1.8 'Inter',sans-serif}.bh-footer-copyright a{color:var(--ink)}.bh-footer-license{display:block;margin-top:12px;font:300 11px/1.5 'Inter',sans-serif;color:var(--muted)}.bh-legal-content p,.bh-legal-content ul{font-family:'Inter',sans-serif;font-size:16px;font-weight:300;line-height:1.6;text-align:justify;margin:0 0 24px}.bh-legal-content ul{padding-left:24px}.bh-legal-content ul li{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:inherit}.bh-legal-content a{text-decoration:underline;text-underline-offset:4px}
.page-hero{padding:70px 0 48px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(44px,4.8vw,68px);margin:16px 0 22px}
.page-hero p{color:var(--muted);font-size:18px;max-width:780px}
.page-content{padding-block:65px 95px}
.page-content .split{gap:65px;margin-bottom:70px}
.page-content h2{font-size:40px}
.page-content .image-frame img{height:470px}
.amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:35px 0 65px;border-top:1px solid var(--line)}
.amenities>div{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:16px;align-content:start;padding:25px 20px 25px 0;border-bottom:1px solid var(--line);font-size:16px}
.amenities>div::before{content:'';grid-column:1;grid-row:1/3;align-self:start;width:28px;height:28px;margin-top:2px;background:var(--sand);-webkit-mask:var(--amenity-icon) center/contain no-repeat;mask:var(--amenity-icon) center/contain no-repeat}
.amenities small{display:block;grid-column:2;color:var(--muted);font-size:13px;margin-top:5px}
.amenities>div:nth-child(1){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%208.5a16%2016%200%200%201%2020%200M5.5%2012a10.5%2010.5%200%200%201%2013%200M9%2015.5a5%205%200%200%201%206%200%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2219%22%20r%3D%22.9%22%20fill%3D%22black%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(2){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203v7a3%203%200%200%200%206%200V3M8%203v18M17%203v18M17%203c4%203%204%208%200%209%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(3){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%225%22%20rx%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M5%209v5M19%209v5%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%2218%22%20height%3D%225%22%20rx%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M7%207h10M7%2017h10%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(4){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%222.5%22%20width%3D%2218%22%20height%3D%2219%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%207h18M6%204.8h.01M9%204.8h.01%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2214%22%20r%3D%224.8%22%2F%3E%3Cpath%20d%3D%22M7.5%2014c1.5-2%203%20.8%204.5%200s3-2%204.5%200%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(5){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012h18M4%2012v3a5%205%200%200%200%205%205h6a5%205%200%200%200%205-5v-3M6%2020v2M18%2020v2M5%2012V5a2%202%200%200%201%204%200v1M9%206h3%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(6){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%224%22%2F%3E%3Cpath%20d%3D%22M10%2017V7h3a3%203%200%200%201%200%206h-3%22%2F%3E%3C%2Fsvg%3E")}
@media(max-width:520px){.amenities>div{grid-template-columns:24px minmax(0,1fr);column-gap:10px}.amenities>div::before{width:23px;height:23px}}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gallery-gap)}
.gallery-grid a{display:block;overflow:hidden;border-radius:10px}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.gallery-grid a:hover img{transform:scale(1.025)}
body.bh-lightbox-open{overflow:hidden}
.lightbox{position:fixed;inset:0;margin:0;border:0;border-radius:0;padding:22px 30px;background:#111315f5;color:#fff;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;font-family:'Inter',sans-serif}
.lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;animation:bh-lightbox-in .25s ease-out}
.lightbox::backdrop{background:#111315;backdrop-filter:blur(10px)}
.lightbox-toolbar{display:flex;align-items:center;gap:24px;min-height:48px}
.lightbox-brand{font:500 16px/1.2 'Inter',sans-serif;letter-spacing:.04em}
.lightbox-brand small{display:inline-block;margin-left:18px;font-size:10px;font-weight:300;letter-spacing:.18em;color:#ffffff80}
.lightbox-count{margin-left:auto;font-size:12px;font-weight:300;letter-spacing:.14em;color:#ffffffb3;font-variant-numeric:tabular-nums}
.lightbox button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;margin:0;width:48px;height:48px;border:1px solid #ffffff26;border-radius:50%;background:#ffffff08;color:#fff;transition:background .2s,border-color .2s,transform .2s}
.lightbox button:hover{background:#ffffff18;border-color:#ffffff6b}
.lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.lightbox button svg{width:22px;height:22px}
.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:24px;align-items:center;min-height:0}
.lightbox-frame{position:relative;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.lightbox .lightbox-frame img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;opacity:0;transition:opacity .25s ease;user-select:none;-webkit-user-select:none}
.lightbox .lightbox-frame img.is-loaded{opacity:1}
.lightbox-loader{position:absolute;width:30px;height:30px;border:1px solid #ffffff25;border-top-color:#fff;border-radius:50%;animation:bh-lightbox-spin .8s linear infinite;display:none}
.lightbox-frame.is-loading .lightbox-loader{display:block}
.lightbox-error{position:absolute;color:#ddd;font-size:14px;text-align:center}
.lightbox-error[hidden]{display:none}
.lightbox-bottom{min-width:0}
.lightbox .lightbox-caption{font-family:'Inter',sans-serif;font-size:13px;font-weight:300;line-height:1.5;text-align:center;color:#ffffffb3;margin:0 0 15px}
.lightbox-thumbs{position:relative;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent;max-width:760px;margin-inline:auto;padding:4px 3px 8px}
.lightbox .lightbox-thumb{width:64px;height:48px;border-radius:4px;border:1px solid transparent;background:none;opacity:.45;overflow:hidden}
.lightbox .lightbox-thumb img{width:100%;height:100%;max-height:none;object-fit:cover}
.lightbox .lightbox-thumb[aria-pressed="true"]{opacity:1;border-color:#fff}
.lightbox .lightbox-thumb:hover{opacity:1}
@keyframes bh-lightbox-in{from{opacity:0}to{opacity:1}}
@keyframes bh-lightbox-spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.lightbox{padding:18px}.lightbox-stage{gap:14px}}
@media(max-width:520px){.lightbox{padding:14px 12px}.lightbox[open]{gap:14px}.lightbox-toolbar{gap:16px}.lightbox-brand{font-size:13px}.lightbox-brand small{display:none}.lightbox-stage{grid-template-columns:minmax(0,1fr);gap:0;position:relative}.lightbox-stage>.lightbox-prev,.lightbox-stage>.lightbox-next{position:absolute;z-index:1;top:calc(50% - 22px);width:44px;height:44px;background:#111315b3;backdrop-filter:blur(6px)}.lightbox-stage>.lightbox-prev{left:0}.lightbox-stage>.lightbox-next{right:0}.lightbox .lightbox-caption{font-size:12px}.lightbox .lightbox-thumb{width:56px;height:42px}}
.location-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:48px 0 65px;counter-reset:places;perspective:1200px}
.location-list li{grid-column:span 2;position:relative;min-width:0;padding:34px;background:var(--pale);border:1px solid #e7e3db;border-radius:10px;counter-increment:places;transform:rotateX(var(--place-rx,0deg)) rotateY(var(--place-ry,0deg));transition:transform .25s ease,background-color .25s,border-color .25s,box-shadow .25s;overflow:hidden}
.location-list li:nth-child(-n+2){grid-column:span 3}
.location-list li::before{content:'';display:block;width:34px;height:34px;margin-bottom:34px;background:var(--sand);-webkit-mask:var(--place-icon) center/contain no-repeat;mask:var(--place-icon) center/contain no-repeat}
.location-list li::after{content:'0' counter(places);position:absolute;top:34px;right:34px;font:300 12px/1.5 'Inter',sans-serif;letter-spacing:.14em;color:#9b8c77}
.location-list strong{position:relative;font:300 27px/1.2 'DM Sans',Arial,sans-serif;display:block;margin-bottom:16px;letter-spacing:-.025em;color:var(--ink)}
.location-list p{position:relative;font-size:15px;font-weight:300;line-height:1.7;color:#626059;margin:0}
.location-list li.is-pointed{background-image:radial-gradient(circle at var(--place-x,50%) var(--place-y,50%),#fff9 0,transparent 65%);border-color:#cfc2ae;box-shadow:0 14px 32px #1818180a}
.location-list li:nth-child(1){--place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2016c2-3%204%203%206%200s4%203%206%200%204%203%208%200M2%2021c2-3%204%203%206%200s4%203%206%200%204%203%208%200%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%226%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M2%2012h8%22%2F%3E%3C%2Fsvg%3E")}
.location-list li:nth-child(2){--place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021h18M5%2021V10l5-4%205%204v11M15%2012l4-3%202%202v10M8%2021v-5h4v5M8%2011h4M10%206V2M8%203h4%22%2F%3E%3C%2Fsvg%3E")}
.location-list li:nth-child(3){--place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v16M4%2011h16M4%2016c0%203%204%205%208%205s8-2%208-5M4%2016l-2%202M20%2016l2%202%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%224%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E")}
.location-list li:nth-child(4){--place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%203v6a3%203%200%200%200%206%200V3M7%203v18M17%203v18M17%203c4%203%204%208%200%209%22%2F%3E%3C%2Fsvg%3E")}
.location-list li:nth-child(5){--place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%208%209-5%209%205H3ZM3%2021h18M5%2018V11M10%2018V11M15%2018V11M19%2018V11M3%2018h18%22%2F%3E%3C%2Fsvg%3E")}
.bh-place-motion li{transition:opacity .55s ease var(--place-delay,0ms),translate .55s ease var(--place-delay,0ms),transform .25s ease,border-color .25s,box-shadow .25s}
.bh-place-motion li:not(.is-revealed){opacity:0;translate:0 18px}
.bh-place-motion li.is-revealed{opacity:1;translate:0 0}
@media(max-width:1100px){.location-list li{padding:28px}.location-list li::after{top:28px;right:28px}.location-list strong{font-size:24px}}
@media(max-width:800px){.location-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.location-list li,.location-list li:nth-child(-n+2){grid-column:auto}.location-list li:last-child{grid-column:1/-1}}
@media(max-width:520px){.location-list{grid-template-columns:minmax(0,1fr);gap:14px;margin:35px 0 45px}.location-list li{padding:26px}.location-list li:last-child{grid-column:auto}.location-list li::before{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.bh-place-motion li,.bh-place-motion li:not(.is-revealed){opacity:1;translate:none;transform:none}}

.faq{margin-top:60px}
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font-size:25px;font-weight:300;flex-shrink:0;line-height:1}
details[open] summary:after{content:'−'}
details p{padding:18px 25px 0 0;font-size:15px;color:var(--muted)}
.booking-panel{max-width:850px;margin:auto;padding:40px;border:1px solid var(--line);border-radius:10px;background:var(--pale)}
.booking-panel h2{margin-top:0}
.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.booking-grid .full{grid-column:1/-1}
.booking-note{font-size:14px;color:var(--muted);margin:22px 0}
.booking-result{padding:20px;border:1px solid var(--line);border-radius:7px;margin:20px 0}
.booking-panel .button{margin-top:28px}
.check-label{display:flex;align-items:flex-start;gap:12px;font-size:13px;letter-spacing:0}
.check-label input{width:auto;margin-top:6px}
.notice{padding:18px 22px;border-left:2px solid var(--sand);font-size:14px;margin-bottom:28px}
.stay-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 64px;border-block:1px solid var(--line);background:var(--paper)}
.stay-overview>div{padding:24px;border-right:1px solid var(--line)}
.stay-overview>div:last-child{border-right:0}
.stay-overview dt{font-size:11px;color:var(--muted);margin-bottom:10px}
.stay-overview dd{margin:0;font-size:24px;font-weight:300;line-height:1.35;letter-spacing:-.025em}
.stay-overview dd small{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin-top:6px}
.stay-guide{padding-top:65px;margin-top:60px;border-top:1px solid var(--line)}
.stay-guide>p{max-width:700px;color:var(--muted);font-size:16px}
.stay-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:34px 0 45px}
.stay-detail-card{padding:28px;background:var(--pale);border-radius:10px;min-width:0}
.stay-detail-card .eyebrow{color:var(--muted);font-size:10px}
.stay-detail-card h3{font-size:26px;line-height:1.2;margin:18px 0}
.stay-detail-card p{font-size:15px;color:var(--muted);line-height:1.75;text-align:justify}
.stay-address{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr);gap:28px;padding:38px;background:var(--pale);border-radius:10px;align-items:start}
.stay-address>div{min-width:0}
.stay-address>div::before{display:none}
.stay-address .eyebrow{font-size:10px;letter-spacing:.14em;color:#756858}
.stay-address h3{font-size:31px;line-height:1.12;margin:12px 0 16px}
.stay-address p,.stay-address li{font-family:'Inter',sans-serif;font-size:15px;font-weight:300;color:var(--muted);line-height:1.7}
.stay-address p{margin:0}
.stay-address ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0;min-width:0}
.stay-address li{position:relative;min-width:0;padding:22px;background:#fff;border:1px solid #e8e4dc;border-radius:10px;transition:background .25s,border-color .25s}
.stay-address li:hover{background:#f4f1eb;border-color:#cfc4b4}
.stay-address li::before{content:'';display:block;width:30px;height:30px;margin-bottom:18px;background:var(--sand);-webkit-mask:var(--stay-place-icon) center/contain no-repeat;mask:var(--stay-place-icon) center/contain no-repeat}
.stay-address li:nth-child(1){--stay-place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2016c2-3%204%203%206%200s4%203%206%200%204%203%208%200M2%2021c2-3%204%203%206%200s4%203%206%200%204%203%208%200%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%226%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M2%2012h8%22%2F%3E%3C%2Fsvg%3E")}
.stay-address li:nth-child(2){--stay-place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021h18M5%2021V10l5-4%205%204v11M15%2012l4-3%202%202v10M8%2021v-5h4v5M8%2011h4M10%206V2M8%203h4%22%2F%3E%3C%2Fsvg%3E")}
.stay-address li:nth-child(3){--stay-place-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%203v6a3%203%200%200%200%206%200V3M7%203v18M17%203v18M17%203c4%203%204%208%200%209%22%2F%3E%3C%2Fsvg%3E")}
.stay-address li strong{display:block;font-size:17px;font-weight:400;line-height:1.4;color:var(--ink);margin-bottom:6px}
.stay-address li+li{margin-top:0}
.stay-registration{font-size:12px!important;margin-top:24px!important}
.motion-ready{transition:opacity .7s,transform .7s}
.motion-ready:not(.seen){opacity:.01;transform:translateY(20px)}
@media(min-width:1600px){.hero-content{width:min(var(--content-width),calc(100% - 2*var(--gutter)))}.hero h1{font-size:80px}}
@media(max-width:1100px){:root{--gutter:32px}.site-header{gap:20px}.nav-list{gap:22px}.split{gap:50px}.booking-strip{width:min(720px,calc(100% - 2*var(--gutter)))}.footer-top{gap:40px}}
@media(max-width:800px){:root{--section-space:72px;--gutter:24px}.site-header,.site-header.over-hero.scrolled{height:80px;padding-inline:24px}.brand .bh-span{font-size:23px}.menu-toggle{display:block;margin-left:auto;font-size:12px}.header-reserve{padding:8px 14px;gap:13px;font-size:12px}.site-header nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);color:var(--ink);padding:18px 24px 28px;border-bottom:1px solid var(--line)}.menu-open nav{display:block}.nav-list{display:grid;gap:8px}.hero{padding-bottom:255px}.hero h1{font-size:62px}.hero p{font-size:16px}.booking-strip{margin-bottom:70px}.booking-strip form{grid-template-columns:1fr 1fr}.booking-strip label{padding:8px 13px}.booking-strip label:nth-child(2){border-right:0}.booking-strip .button{margin:8px 8px 8px 12px;min-height:46px}.split{grid-template-columns:1fr;gap:32px}.split.reverse .image-frame{order:2}.image-frame img{height:480px}.facts strong{font-size:40px}.facts p{font-size:12px}.spaces{gap:18px}.space-card h3{font-size:20px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top>div:last-child{grid-column:auto}.footer-nav{grid-template-columns:minmax(0,1fr)}.page-hero{padding-top:50px}.amenities{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:45px}.stay-overview>div:nth-child(2){border-right:0}.stay-overview>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.stay-detail-grid{grid-template-columns:1fr}.stay-detail-card{padding:25px}.stay-address{grid-template-columns:1fr;gap:24px;padding:28px}.stay-guide{padding-top:48px;margin-top:45px}}
@media(max-width:520px){:root{--section-space:62px;--gutter:20px}.site-header,.site-header.over-hero.scrolled{padding-inline:20px;gap:12px}.brand .bh-span{font-size:19px}.brand small{font-size:7px;letter-spacing:.12em}.header-reserve{gap:9px;padding:7px 11px}.menu-toggle{font-size:11px;padding:0}.hero{height:max(780px,100svh);padding-top:125px;padding-bottom:285px}.hero h1{font-size:47px;line-height:1.14}.hero h1 em{font-size:1.1em}.hero p{font-size:15px;line-height:1.6}.hero p br{display:none}.hero .eyebrow{font-size:9px;letter-spacing:.08em}.hero-photo img{object-position:58% center}.booking-strip{margin-bottom:62px;padding:8px;border-radius:9px}.booking-strip label{padding:7px 10px;font-size:11px}.booking-strip input,.booking-strip select{font-size:13px}.booking-strip .button{white-space:normal;padding:10px 12px;font-size:12px;margin-left:9px;gap:8px}.hero-bottom{font-size:9px;bottom:22px}.image-frame img{height:350px}h2,.bh-h2{font-size:35px}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-bottom:55px}.facts>div:nth-child(2){border:0}.facts strong{font-size:42px}.facts p{font-size:11px}.section-heading{display:block;margin-bottom:28px}.section-heading .text-link{margin-top:22px}.spaces{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;gap:18px}.space-card{flex:0 0 84%;scroll-snap-align:start}.space-card img{aspect-ratio:4/5}.space-card h3{font-size:22px}.site-footer{padding:45px 20px 20px}.footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:40px}.footer-nav{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:auto}.footer-bottom{flex-wrap:wrap;gap:12px}.page-content{padding-block:40px 65px}.page-hero h1{font-size:46px}.page-hero p{font-size:16px}.page-content h2{font-size:34px}.page-content .image-frame img{height:340px}.gallery-grid{grid-template-columns:minmax(0,1fr);gap:12px}.booking-panel{padding:25px 20px}.booking-grid{grid-template-columns:minmax(0,1fr);gap:18px}.booking-grid .full{grid-column:auto}.amenities>div{font-size:14px;padding-right:12px}.amenities small{font-size:12px}.closing h2{font-size:36px}.stay-overview>div{padding:18px 15px}.stay-overview dd{font-size:21px}.stay-overview dt{font-size:11px}.stay-guide h2{font-size:33px}}
@media(max-width:1000px){.stay-address{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.stay-address{padding:28px;gap:24px}.stay-address ul{gap:12px}.stay-address li{padding:20px;font-size:14px}}
@media(max-width:520px){.stay-address ul{grid-template-columns:minmax(0,1fr)}.stay-address li{padding:22px}}
@media(max-width:350px){:root{--gutter:16px}.site-header,.site-header.over-hero.scrolled{gap:9px;padding-inline:14px}.brand .bh-span{font-size:16px}.header-reserve{padding:7px 9px}.hero h1{font-size:40px}.hero p{font-size:14px}.booking-strip .button{font-size:11px;gap:7px}.booking-strip label{padding-inline:7px}.booking-strip input,.booking-strip select{font-size:12px}.facts p{font-size:10px}}
/* Booking · distancias y conexiones */
.bh-place-distances{margin:24px 0 0;padding-top:18px;border-top:1px solid #ded8cf;font:300 13px/1.6 'Inter',sans-serif}.bh-place-distances>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:8px}.bh-place-distances dt{color:#626059}.bh-place-distances dd{margin:0;white-space:nowrap;font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums}
.bh-connections{padding:38px;background:var(--pale);border:1px solid #e7e3db;border-radius:10px;margin:0 0 18px}.bh-connections-heading{display:flex;justify-content:space-between;align-items:center;gap:36px;margin-bottom:30px}.bh-connections-heading h2{margin:0}.bh-connections-heading>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:310px;margin:0}.bh-connections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.bh-connection-card{padding:28px;background:var(--paper);border:1px solid #e7e3db;border-radius:8px;min-width:0;transition:border-color .25s,box-shadow .25s}.bh-connection-card:hover{border-color:#cfc2ae;box-shadow:0 8px 24px #18181808}.bh-connection-card>svg{width:30px;height:30px;color:var(--sand);margin-bottom:20px}.bh-connection-card>.eyebrow{color:var(--muted);text-transform:uppercase}.bh-connection-card h3{font-size:21px;line-height:1.3;min-height:2.6em;margin:12px 0 22px}.bh-connection-card .bh-connection-distance{font:300 32px/1.2 'DM Sans',sans-serif;letter-spacing:-.02em;margin:0}.bh-connection-distance small{display:block;margin-top:8px;font:300 12px/1.6 'Inter',sans-serif;letter-spacing:0;color:var(--muted)}.bh-distance-note{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:48px}
@media(max-width:800px){.bh-connections{padding:28px}.bh-connections-heading{display:block}.bh-connections-heading>p{max-width:none;margin-top:18px}.bh-connections-grid{gap:14px}.bh-connection-card{padding:22px}.bh-connection-card h3{font-size:19px}}
@media(max-width:600px){.bh-connections{padding:24px 20px}.bh-connections-grid{grid-template-columns:minmax(0,1fr)}.bh-connection-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:6px 16px;align-items:start}.bh-connection-card>svg{grid-row:1/3;margin:0}.bh-connection-card>.eyebrow{grid-column:2}.bh-connection-card h3{grid-column:2;margin:0;min-height:0;font-size:18px}.bh-connection-card .bh-connection-distance{grid-column:3;grid-row:1/3;font-size:25px;text-align:right}.bh-connection-distance small{font-size:10px}}
.amenities>div:nth-child(7){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2016c2-3%204%203%206%200s4%203%206%200%204%203%208%200M2%2021c2-3%204%203%206%200s4%203%206%200%204%203%208%200%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%226%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M2%2012h8%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(8){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%227%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%2016v-4a4%204%200%200%201%208%200M13%2012a4%204%200%200%201%208%200v4M8%2022v-3a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E")}
.amenities>div:nth-child(9){--amenity-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%203%2018%2018M3%2014h10M17%2014h4v4h-4M7%2018H3v-4M16%203c-2%203%203%203%201%206M20%203c-2%203%203%203%201%206%22%2F%3E%3C%2Fsvg%3E")}


/* Menú móvil y tablet · icono y área táctil */
@media(max-width:800px){.site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0;flex-shrink:0;cursor:pointer}.site-header .menu-toggle>span{display:block;font-size:28px;font-weight:300;line-height:1}.site-header .menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}}
@media(max-width:520px){.site-header .menu-toggle{font-size:0;gap:0}}
/* Kit Digital · logos originales */
.bh-kit-digital{display:flex;flex-direction:row;align-items:center;gap:18px;padding:0;margin:24px 0 0;border:0}.bh-kit-digital img{display:block;width:220px;height:auto;min-width:0;max-width:calc((100% - 18px)/2);flex:0 1 220px;object-fit:contain}
/* Contacto · formulario Contact Form 7 */
.bh-footer-contact{display:grid;gap:8px;margin-top:0}.bh-footer-contact>.eyebrow{margin-bottom:8px}.bh-footer-contact>a{font:300 14px/1.6 'Inter',sans-serif;width:fit-content;max-width:100%;overflow-wrap:anywhere}.bh-footer-contact>a:hover{text-decoration:underline;text-underline-offset:4px}.bh-contact-actions>p{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}.bh-contact-actions .wpcf7-spinner{flex-shrink:0}@media(max-width:520px){.bh-contact-actions>p{flex-wrap:wrap}.bh-contact-actions .wpcf7-submit{flex-basis:100%}}

body.page-id-19 .page-content>.notice{display:none}.bh-contact-direct{margin-top:30px;display:grid;gap:10px}.bh-contact-direct>.eyebrow{color:var(--muted);margin-top:20px}.bh-contact-direct>a{font:300 16px/1.6 'Inter',sans-serif;width:fit-content;max-width:100%;overflow-wrap:anywhere}.bh-contact-direct>a:hover{text-decoration:underline;text-underline-offset:4px}.bh-contact-form textarea:focus-visible{outline:2px solid var(--sand);outline-offset:3px}

.bh-contact-section{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;padding-top:60px;margin-top:60px;border-top:1px solid var(--line)}.bh-contact-intro h2{margin:18px 0 24px}.bh-contact-intro p{font-size:16px;line-height:1.7;color:var(--muted);max-width:380px}.bh-contact-form{padding:34px;background:var(--pale);border:1px solid var(--line);border-radius:10px;min-width:0}.bh-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bh-contact-full{grid-column:1/-1}.bh-contact-field{min-width:0}.bh-contact-form label{font:300 13px/1.5 'Inter',sans-serif;color:var(--ink)}.bh-contact-form input:not([type=submit]),.bh-contact-form textarea{display:block;width:100%;margin-top:10px;padding:14px 15px;border:1px solid #d7d3cb;background:#fff;border-radius:6px;min-height:48px;font:300 15px/1.6 'Inter',sans-serif}.bh-contact-form textarea{resize:vertical;min-height:150px}.bh-contact-form input:focus,.bh-contact-form textarea:focus{border-color:var(--sand)}.bh-contact-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.bh-contact-required{font:300 11px/1.5 'Inter',sans-serif;color:var(--muted)}.bh-contact-form .wpcf7-submit{width:auto;min-height:48px;padding:13px 24px;border-radius:7px;font:300 14px/1.5 'Inter',sans-serif}.bh-contact-form .wpcf7-not-valid-tip{font-size:12px;margin-top:8px}.bh-contact-form .wpcf7-response-output{margin:24px 0 0;padding:16px;font:300 14px/1.6 'Inter',sans-serif;border-radius:6px}.bh-contact-form p{margin:0}.bh-contact-form .wpcf7-spinner{margin:0}.bh-contact-form .wpcf7-form-control-wrap{display:block}@media(max-width:800px){.bh-contact-section{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:45px;margin-top:45px}.bh-contact-intro p{max-width:none}}@media(max-width:520px){.bh-contact-form{padding:24px 20px}.bh-contact-fields{grid-template-columns:minmax(0,1fr);gap:20px}.bh-contact-full{grid-column:auto}.bh-contact-actions{align-items:flex-start;flex-direction:column}.bh-contact-form .wpcf7-submit{width:100%}}
/* React · subtle depth and contextual photo cursor */
#bh-react-motion{position:fixed;inset:0;z-index:55;pointer-events:none}
.bh-photo-cursor{position:absolute;left:0;top:0;width:84px;height:84px;pointer-events:none;opacity:0;transition:opacity .2s ease;will-change:transform}
.bh-photo-cursor[data-visible="true"]{opacity:1}
.bh-photo-cursor-disc{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:50%;border:1px solid #a3927c99;background:#f7f5f0eb;box-shadow:0 3px 20px #1818180d;color:var(--ink);backdrop-filter:blur(8px);font:300 9px/1.3 'Inter',sans-serif;letter-spacing:.14em;transform:scale(.8);transition:transform .25s ease}
.bh-photo-cursor[data-visible="true"] .bh-photo-cursor-disc{transform:scale(1)}
.bh-photo-cursor-arrow{font-size:22px;line-height:1;letter-spacing:0;color:#8c7963}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .bh-gallery-motion a[data-gallery]{cursor:none}
  .bh-gallery-motion a[data-gallery]:focus-visible{cursor:auto}
  .bh-hero-depth .hero-photo img{transform:translate3d(var(--bh-depth-x,0px),var(--bh-depth-y,0px),0) scale(1.035);will-change:transform}
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#bh-react-motion{display:none}.bh-hero-depth .hero-photo img{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-ready:not(.seen){opacity:1;transform:none}}

/* Availability calendar and feedback within the booking page. */
.bh-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:46px;margin-top:8px;padding:12px 0;border:0;border-bottom:1px solid var(--line,#dedbd5);border-radius:0;background:transparent;color:#212121;font:300 16px/1.6 "Inter",sans-serif;text-align:left;cursor:pointer}
.bh-date-trigger::after{content:"";width:17px;height:17px;flex-shrink:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat}
.bh-date-trigger:focus-visible,.bh-calendar button:focus-visible{outline:2px solid #947d57;outline-offset:3px}
.booking-strip .bh-date-trigger{margin:0;padding:3px 0 0;min-height:30px;border:0;font-size:14px;gap:9px}
.bh-calendar-notice{grid-column:1/-1;padding:14px 16px;margin-top:16px;background:#f6f2e9;border-left:2px solid #a28c68;color:#41392c;font:300 14px/1.6 "Inter",sans-serif}
.booking-strip .bh-calendar-notice{margin:8px}
.bh-calendar-notice[hidden]{display:none}
.bh-booking-error{background:#f6f2e9;color:#41392c}
#bh-booking-result{scroll-margin-top:130px}
#bh-booking-result:focus{outline:none}
.bh-booking-summary{margin-top:32px;padding-top:28px;border-top:1px solid var(--line,#dedbd5)}
.bh-booking-summary h3{font-size:32px;margin:0 0 16px}
.bh-calendar{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:26px;border:1px solid #e7e2d9;border-radius:12px;background:#fffdf9;color:#212121;box-shadow:0 24px 90px #0003;overflow:auto}
.bh-calendar::backdrop{background:#15151566;backdrop-filter:blur(5px)}
.bh-calendar[open]{animation:bh-calendar-enter .18s ease-out}
.bh-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.bh-calendar-top h2{margin:0;font-size:26px;line-height:1.2}
.bh-calendar button{font-family:"Inter",sans-serif;cursor:pointer}
.bh-calendar-close,.bh-calendar-nav button{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#212121;font-size:28px;font-weight:300}
.bh-calendar-close:hover,.bh-calendar-nav button:hover:not(:disabled){background:#f0eade}
.bh-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:8px 0 20px}
.bh-calendar-nav h3{font:400 15px/1.4 "Inter",sans-serif;text-transform:capitalize;margin:0}
.bh-calendar-week,.bh-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.bh-calendar-week{margin-bottom:12px;color:#817b72;font:300 12px/1.5 "Inter",sans-serif;text-align:center}
.bh-calendar-days button{display:grid;place-items:center;aspect-ratio:1;min-width:0;padding:0;border:1px solid transparent;border-radius:50%;color:#212121;background:transparent;font-size:14px;font-weight:300}
.bh-calendar-days button:hover:not(:disabled){border-color:#b39d77;background:#f3eee4}
.bh-calendar-days button.is-stay:not(:disabled){background:#f1ecdf}
.bh-calendar-days button[aria-pressed="true"]:not(:disabled){background:#212121;color:#fff}
.bh-calendar-days button:disabled{color:#b1ada5;background:#f3f1ed;cursor:not-allowed;text-decoration:line-through}
.bh-calendar-nav button:disabled{opacity:.25;cursor:default}
.bh-calendar-status{font:300 13px/1.6 "Inter",sans-serif;color:#75644b;margin:0 0 12px;text-align:left}
.bh-calendar-status:empty{display:none}
.bh-calendar-legend{display:flex;align-items:center;gap:8px;margin:22px 0 8px;font:300 12px/1.6 "Inter",sans-serif;color:#797369}
.bh-calendar-legend span{width:12px;height:12px;border-radius:50%;background:#e3dfd7}
.bh-calendar-help{margin:0;font:300 12px/1.6 "Inter",sans-serif;color:#797369;text-align:left}
@keyframes bh-calendar-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){.bh-calendar{padding:20px}.bh-calendar-days button{font-size:13px}.booking-strip .bh-date-trigger{font-size:12px}.booking-strip .bh-date-trigger::after{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.bh-calendar[open]{animation:none}}

/* /reservas/: select freely, explain conflicts before continuing. */
.bh-calendar-legend[hidden]{display:none}
.bh-conflict-modal{width:min(500px,calc(100vw - 32px));padding:30px}
.bh-conflict-modal .bh-calendar-top{align-items:flex-start;margin-bottom:20px}
.bh-conflict-modal .bh-calendar-top h2{font-size:29px;line-height:1.2;max-width:340px}
.bh-conflict-modal p{font:300 14px/1.7 "Inter",sans-serif;text-align:left;color:#5e584e}
.bh-conflict-dates{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px;max-height:30vh;overflow:auto}
.bh-conflict-dates li{margin:0;padding:14px 16px;border:1px solid #e7e0d3;border-radius:6px;background:#f6f2e9;color:#41392c;font:400 14px/1.6 "Inter",sans-serif}
.bh-conflict-modal .bh-conflict-note{font-size:12px;color:#797369}
.bh-conflict-modal .bh-conflict-change{width:100%;margin-top:18px;justify-content:space-between;font-size:14px}
@media(max-width:520px){.bh-conflict-modal{padding:24px 20px}.bh-conflict-modal .bh-calendar-top h2{font-size:25px}}

/* Privacy information beside the contact form submit button. */
.bh-contact-form .bh-contact-privacy{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font:300 14px/1.65 'Inter',sans-serif;color:var(--ink);overflow-wrap:anywhere}.bh-contact-form .bh-contact-privacy p{font:inherit;margin:0 0 12px;text-align:left}.bh-contact-form .bh-contact-privacy p:last-child{margin-bottom:0}.bh-contact-form .bh-contact-privacy a{text-decoration:underline;text-underline-offset:3px}

/* Match the generated cookie policy to the site's legal pages. */
.page-id-73 #cmplz-document{width:100%;max-width:none;margin:0;padding:0;color:var(--ink);font:300 16px/1.6 'Inter',sans-serif;overflow-wrap:anywhere}
.page-id-73 #cmplz-document p,.page-id-73 #cmplz-document ul,.page-id-73 #cmplz-document ol,.page-id-73 #cmplz-document li,.page-id-73 #cmplz-document td{font-family:'Inter',sans-serif;font-size:16px;font-weight:300;line-height:1.6;text-align:justify}
.page-id-73 #cmplz-document p,.page-id-73 #cmplz-document ul,.page-id-73 #cmplz-document ol{margin:0 0 24px}
.page-id-73 #cmplz-document ul,.page-id-73 #cmplz-document ol{padding-left:24px}
.page-id-73 #cmplz-document h2{font-family:'DM Sans',Arial,sans-serif;font-size:40px;font-weight:700;line-height:1.12;letter-spacing:-.035em;text-align:left;margin:22px 0;padding:0}
.page-id-73 #cmplz-document h3{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(23px,2.2vw,30px);font-weight:300;line-height:1.12;letter-spacing:-.035em;text-align:left;margin:16px 0;padding:0}
.page-id-73 #cmplz-document a{font-size:inherit;text-decoration:underline;text-underline-offset:4px}
.page-id-73 #cmplz-document .cmplz-dropdown summary h3{font-size:20px;margin:0;padding:0 5px}
.page-id-73 #cmplz-document .cmplz-dropdown summary p{margin:0;text-align:left}
.page-id-73 #cmplz-document .cmplz-dropdown h4,.page-id-73 #cmplz-document .cmplz-dropdown h5{font-family:'Inter',sans-serif}
@media(max-width:520px){.page-id-73 #cmplz-document h2{font-size:34px}.page-id-73 #cmplz-document .cmplz-dropdown summary>div{grid-template:"heading label checkbox chevron" "paragraph paragraph paragraph paragraph";grid-template-columns:minmax(0,1fr) 0 auto 25px;gap:10px}.page-id-73 #cmplz-document .cmplz-dropdown summary p{padding:0 5px}}

/* Hide the theme's extra plus/minus on Complianz cookie accordions. */
.page-id-73 #cmplz-document .cmplz-dropdown>summary::after{content:none;display:none}

/* Equal prominence for acceptance and rejection, including keyboard focus. */
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny{
    background:#181818!important;color:#fff!important;border:1px solid #181818!important;
    font:400 14px/1.5 'Inter',sans-serif!important;padding:12px 18px!important;
    min-height:46px;box-shadow:none!important;opacity:1!important;flex:1 1 0;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:focus-visible,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:focus-visible{outline:3px solid #181818;outline-offset:3px}
.bh-footer-legal .bh-cookie-settings{text-decoration:underline;text-underline-offset:4px}
.bh-cookie-clarifications{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid var(--line)}
#cmplz-manage-consent .cmplz-manage-consent{transform:none!important}

/* Paragraph size in the cookie consent banner. */
.cmplz-cookiebanner p{font-size:12px!important;line-height:1.6}

/* Keep home content readable before and during scroll animations. */
body.home .motion-ready{opacity:1;transition:transform .7s}
body.home .motion-ready:not(.seen){opacity:1}
/* Identify the credit link without relying on its color. */
.bh-footer-copyright a{text-decoration:underline;text-underline-offset:4px}
