/* La Casa de la Bici · Divi (tema hijo). Todas las reglas van bajo #lcb para imponerse a los estilos por defecto de Divi. */
/* La Casa de la Bici · estilos del render (base para el tema WordPress) */
@font-face{font-family:"Noto Serif Display";src:url(../fonts/noto-serif-display.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif Display";src:url(../fonts/noto-serif-display-italic.woff2) format("woff2");font-weight:300 500;font-style:italic;font-display:swap}
@font-face{font-family:"Noto Sans";src:url(../fonts/noto-sans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --cream:#F4ECE6; --plum:#662E39; --plum-d:#4f2029; --blue:#C4DFE8; --blue-2:#A5C5CE; --white:#fff;
  --line:rgba(102,46,57,.25); --line-inv:rgba(244,236,230,.25);
  --serif:"Noto Serif Display",Georgia,"Times New Roman",serif;
  --sans:"Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1104px; --gut:clamp(20px,5vw,48px);
  --h1:clamp(3rem,7.4vw,6.4rem); --h2:clamp(2.2rem,4.4vw,3.75rem); --h3:clamp(1.45rem,2vw,1.75rem);
}

/* ── Compatibilidad con Divi: neutraliza márgenes, anchos y tipografía por defecto del constructor ── */
#lcb .et_pb_section{padding:0;background-color:transparent;position:relative}
#lcb .et_pb_row{width:auto;max-width:none;padding:0;margin:0;position:relative}
#lcb .et_pb_row::after,#lcb .et_pb_column::after,#lcb .et_pb_row_inner::after,#lcb .et_pb_text_inner::after{display:none!important;content:none!important}
#lcb .et_pb_column{width:auto!important;margin:0!important;float:none!important;min-height:0}
#lcb .et_pb_module{margin-bottom:0!important;animation:none}
#lcb .et_pb_text,#lcb .et_pb_code{word-wrap:normal}
#lcb p{padding-bottom:0}
#lcb h1,#lcb h2,#lcb h3,#lcb h4,#lcb h5,#lcb h6{padding-bottom:0;color:inherit}
#lcb blockquote{margin:0;padding:0;border:0;font-style:normal}
#lcb ul,#lcb ol{line-height:inherit}
#lcb *,#lcb *::before,#lcb *::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#lcb *{animation:none!important;transition:none!important}}
#lcb{margin:0;background:var(--cream);color:var(--plum);font:400 1rem/1.55 var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#lcb img,#lcb video,#lcb svg{display:block;max-width:100%}
#lcb img{height:auto}
#lcb a{color:inherit}
#lcb h1,#lcb h2,#lcb h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0;letter-spacing:-.005em}
#lcb p{margin:0 0 1em}
#lcb strong{font-weight:700}
#lcb button{font:inherit;color:inherit}
#lcb .icon{width:1em;height:1em}
#lcb .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#lcb .skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--plum);color:var(--cream);padding:10px 16px;text-decoration:none}
#lcb .skip:focus{top:12px}
#lcb :focus-visible{outline:2px solid var(--plum);outline-offset:3px}
#lcb .inv :focus-visible,#lcb .on-plum :focus-visible{outline-color:var(--blue)}
#lcb .wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
#lcb .eyebrow{font:500 .8rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.6rem}
#lcb .eyebrow .n{margin-right:.6em}

/* Botones */
#lcb .btns{display:flex;flex-wrap:wrap;gap:8px}
#lcb .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:44px;padding:.7em 1.9em;font:500 .78rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--plum);background:transparent;color:var(--plum);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
#lcb .btn:hover{background:var(--plum);color:var(--cream)}
#lcb .btn--solid{background:var(--plum);color:var(--cream)}
#lcb .btn--solid:hover{background:var(--plum-d);border-color:var(--plum-d)}
#lcb .btn--blue{background:var(--blue);border-color:var(--blue);color:var(--plum)}
#lcb .btn--blue:hover{background:var(--blue-2);border-color:var(--blue-2);color:var(--plum)}
#lcb .on-plum .btn{border-color:var(--cream);color:var(--cream)}
#lcb .on-plum .btn:hover{background:var(--cream);color:var(--plum)}

/* Cabecera */
#lcb .site-header{position:sticky;top:0;z-index:50;background:var(--cream);transition:box-shadow .3s}
#lcb .site-header.is-scrolled{box-shadow:0 1px 0 var(--line)}
#lcb .header-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:96px;padding-block:14px;width:min(100% - 2*var(--gut),1240px);margin-inline:auto}
#lcb .brand{display:block;color:var(--plum);justify-self:center;line-height:0}
#lcb .brand svg{width:128px;height:auto;transition:width .3s}
#lcb .is-scrolled .brand svg{width:84px}
#lcb .nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2.2rem}
#lcb .nav a{font:500 .85rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.6em 0;position:relative}
#lcb .nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.2em;height:1px;background:currentColor;transition:right .3s}
#lcb .nav a:hover::after,#lcb .nav a[aria-current="true"]::after{right:0}
#lcb .header-cta{justify-self:end;border-radius:999px;padding:.8em 1.8em}
#lcb .header-cta .icon{width:14px;height:14px}
#lcb .menu-toggle{display:none;justify-self:start;background:none;border:0;padding:10px;margin-left:-10px;cursor:pointer}
#lcb .menu-toggle span{display:block;width:26px;height:1.5px;background:var(--plum);margin:6px 0;transition:transform .3s,opacity .3s}
#lcb .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
#lcb .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
#lcb .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Hero */
#lcb .hero{text-align:center;padding-top:clamp(24px,5vw,72px)}
#lcb .hero h1{font-size:var(--h1);color:var(--plum);margin:0 auto}
#lcb .hero .eyebrow{margin-bottom:1.4rem}
#lcb .hero .btns{justify-content:center;margin-top:clamp(28px,4vw,48px)}
#lcb .hero .btn{min-width:160px}
#lcb .hero-media{position:relative;margin:clamp(32px,4.5vw,64px) auto 0;width:min(100% - 2*clamp(12px,2.5vw,36px),1366px);aspect-ratio:1366/613;overflow:hidden;background:#b89a95}
#lcb .hero-media img,#lcb .hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#lcb .hero-media video{opacity:0;transition:opacity .8s}
#lcb .hero-media video.is-playing{opacity:1}
#lcb .hero-media::after{content:"";position:absolute;inset:0;background:rgba(160,78,92,.42);mix-blend-mode:multiply;pointer-events:none}
#lcb .hero-media::before{content:"";position:absolute;inset:0;background:rgba(244,214,208,.26);z-index:1;pointer-events:none}
#lcb .play{position:absolute;z-index:2;left:50%;top:50%;width:clamp(64px,7.2vw,104px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:0;background:#fff;color:var(--plum);display:grid;place-items:center;cursor:pointer;transition:transform .3s;box-shadow:0 10px 40px rgba(0,0,0,.12)}
#lcb .play:hover{transform:scale(1.07)}
#lcb .play svg{width:26%;margin-left:6%}
#lcb .intro{padding:clamp(56px,7vw,80px) 0 clamp(64px,9vw,120px)}
#lcb .intro-text::before{content:"";display:block;width:74px;height:70px;background:var(--plum);-webkit-mask:url(../svg/arrow-down.svg) center/contain no-repeat;mask:url(../svg/arrow-down.svg) center/contain no-repeat;margin:0 0 clamp(8px,1.5vw,20px) clamp(0px,3vw,96px)}
#lcb .intro p{font:400 clamp(1.7rem,3.5vw,3.25rem)/1.2 var(--serif);text-align:center;max-width:22em;margin:0 auto;text-wrap:balance}

/* Buscador (Lodgify) */
#lcb .booking-slot{min-height:88px;width:min(100% - 2*var(--gut),990px);margin-inline:auto;position:relative}
#lcb #lodgify-search-bar{width:100%}
#lcb .lodgify-fallback{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr auto;align-items:stretch;background:#fff;padding:14px;gap:0;color:var(--plum);box-shadow:0 24px 54px rgba(0,0,0,.08)}
#lcb .lodgify-fallback .f{padding:6px 18px;border-right:1px solid #eadfd9;display:flex;flex-direction:column;justify-content:center;min-width:0}
#lcb .lodgify-fallback .f:nth-child(4){border-right:0}
#lcb .lodgify-fallback label,#lcb .lodgify-fallback .lbl{font:700 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
#lcb .lodgify-fallback input,#lcb .lodgify-fallback select{font:500 .9rem var(--sans);color:var(--plum);border:0;background:none;padding:0;width:100%;min-width:0}
#lcb .lodgify-fallback .btn{margin:0;min-width:180px}
#lcb .booking-note{font-size:.75rem;text-align:center;margin:.9rem 0 0;opacity:.8}
#lcb .booking-slot .lodgify-fallback{display:none}
#lcb .booking-slot.show-fallback .lodgify-fallback{display:grid}
#lcb .booking-slot:not(.is-loaded):not(.show-fallback)::after{content:"Cargando buscador...";display:block;text-align:center;padding:32px 0;color:var(--plum);opacity:.65;font:500 .9rem var(--sans)}
#lcb #lodgify-search-bar a{color:var(--ldg-component-button-contrast-color,#fff) !important}


/* Marquesina */
#lcb .marquee{overflow:hidden;padding:clamp(56px,8vw,112px) 0 clamp(40px,6vw,72px);color:var(--blue-2);user-select:none}
#lcb .marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
#lcb .marquee:hover .marquee-track{animation-play-state:paused}
#lcb .marquee-group{display:flex;align-items:center;gap:clamp(28px,4vw,56px);padding-right:clamp(28px,4vw,56px);font:italic 400 clamp(2.6rem,5.6vw,5.25rem)/1.2 var(--serif);white-space:nowrap;color:#a9ccd6}
#lcb .marquee-group svg{width:.62em;height:.62em;color:var(--blue-2);flex:none}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Secciones */
#lcb [id]{scroll-margin-top:100px}
#lcb .sec{padding-block:clamp(72px,10vw,136px)}
#lcb .sec h2{font-size:var(--h2)}
#lcb .sec-plum{background:var(--plum);color:var(--cream)}
#lcb .sec-plum h2,#lcb .sec-plum h3{color:var(--blue)}
#lcb .sec-blue{background:var(--blue)}

/* La Casa */
#lcb .casa{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,96px);align-items:start}
#lcb .casa h2{margin-bottom:clamp(32px,4.5vw,64px)}
#lcb .casa .txt{max-width:34rem;padding-top:clamp(0px,3vw,48px)}
#lcb .casa .btns{margin-top:clamp(28px,4vw,56px)}
#lcb .casa-media{position:relative;min-height:clamp(420px,52vw,670px)}
#lcb .casa-media img{position:absolute;object-fit:cover}
#lcb .casa-media .a{top:0;left:0;width:78%;height:88%}
#lcb .casa-media .b{right:-8%;top:32%;width:62%;height:78%;box-shadow:0 0 0 0 transparent}

/* Espacio */
#lcb .espacio h2{margin-bottom:clamp(48px,7vw,96px)}
#lcb .features{display:grid;grid-template-columns:repeat(3,1fr)}
#lcb .features>.et_pb_column{padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) clamp(32px,4vw,56px);border-right:1px solid var(--line-inv);border-bottom:1px solid var(--line-inv)}
#lcb .features>.et_pb_column:nth-child(3n){border-right:0}
#lcb .features>.et_pb_column:nth-child(n+4){border-bottom:0}
#lcb .feat::before{content:"";display:block;height:86px;width:90px;margin-bottom:28px;background:var(--blue);-webkit-mask:var(--ico) left center/contain no-repeat;mask:var(--ico) left center/contain no-repeat}
#lcb .features h3{font-size:var(--h3);margin-bottom:1.1rem;color:var(--blue);font-weight:300}
#lcb .features p{margin:0;font-size:.95rem;color:#efe3e3}
#lcb .features strong{color:#fff}

/* Galería */
#lcb .gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,80px)}
#lcb .carousel{position:relative}
#lcb .car-track{display:flex;gap:clamp(16px,4vw,60px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--gut),calc((100vw - 1440px)/2 + 20px));scroll-padding-inline:var(--gut)}
#lcb .car-track::-webkit-scrollbar{display:none}
#lcb .car-track figure{margin:0;flex:0 0 clamp(240px,27vw,386px);scroll-snap-align:start}
#lcb .car-track button{padding:0;border:0;background:none;cursor:zoom-in;display:block;width:100%}
#lcb .car-track img{width:100%;aspect-ratio:386/582;object-fit:cover}
#lcb .car-btn{position:absolute;top:50%;translate:0 -50%;width:58px;height:58px;border-radius:50%;border:0;background:rgba(237,235,236,.85);color:var(--plum);display:grid;place-items:center;cursor:pointer;z-index:2;transition:background .2s}
#lcb .car-btn:hover{background:#fff}
#lcb .car-btn svg{width:12px;height:22px}
#lcb .car-btn.prev{left:clamp(12px,4vw,60px)}#lcb .car-btn.next{right:clamp(12px,4vw,60px)}
#lcb .more{margin-top:clamp(56px,6vw,88px);border-block:1px solid var(--line)}
#lcb .more summary{list-style:none;display:flex;align-items:center;gap:clamp(20px,4vw,48px);padding:clamp(18px,2vw,26px) clamp(8px,4vw,56px);cursor:pointer;font:500 1.15rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
#lcb .more summary::-webkit-details-marker{display:none}
#lcb .more summary .moka{width:66px;height:84px;flex:none;background:currentColor;-webkit-mask:url(../svg/moka.svg) center/contain no-repeat;mask:url(../svg/moka.svg) center/contain no-repeat}
#lcb .more summary .plus{margin-left:auto;width:36px;height:36px;flex:none;transition:transform .3s;background:currentColor;-webkit-mask:url(../svg/plus.svg) center/contain no-repeat;mask:url(../svg/plus.svg) center/contain no-repeat}
#lcb .more[open] summary .plus{transform:rotate(45deg)}
#lcb .more-body{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 64px;padding:clamp(16px,2vw,24px) clamp(8px,4vw,56px) clamp(40px,5vw,64px)}
#lcb .more-body h3{font:500 .9rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
#lcb .more-body ul{margin:0 0 1rem;padding:0;list-style:none}
#lcb .more-body li{padding-left:1.2em;position:relative;margin-bottom:.3em}
#lcb .more-body li::before{content:"–";position:absolute;left:0}
#lcb .more-body p{font-size:.92rem;opacity:.9}

/* Zona */
#lcb .zona-head{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(48px,7vw,104px)}
#lcb .zona-head .side p{max-width:26rem}
#lcb .zona-head .btns{justify-content:flex-end;margin-top:2.2rem}
#lcb .places{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(16px,2vw,28px);list-style:none;margin:0;padding:0}
#lcb .place .ph{position:relative;aspect-ratio:273/330;overflow:hidden;background:var(--plum)}
#lcb .place .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
#lcb .place .ph::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(102,46,57,.38);mix-blend-mode:multiply}
#lcb .place .ph::before{content:"";position:absolute;z-index:2;left:50%;top:14%;translate:-50% 0;height:92px;width:110px;background:var(--blue);-webkit-mask:var(--ico) center top/contain no-repeat;mask:var(--ico) center top/contain no-repeat}
#lcb .place h3{font-size:var(--h3);margin:1.4rem 0 1.2rem;font-weight:300}
#lcb .place p{font-size:.95rem;margin:0}

/* Reserva */
#lcb .reserva-head{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,80px);align-items:start;margin-bottom:clamp(56px,8vw,112px)}
#lcb .reserva h2{color:var(--cream)!important}
#lcb .reserva ul{list-style:none;margin:clamp(0px,1.5vw,16px) 0 0;padding:0;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}
#lcb .reserva li::before{content:"-  ";white-space:pre}
#lcb .reserva .booking-note{color:var(--cream)}

/* FAQ */
#lcb .faq{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,96px)}
#lcb .faq h2{margin-bottom:2.2rem}
#lcb .acc{border-top:1px solid var(--line)}
#lcb .acc details{border-bottom:1px solid var(--line)}
#lcb .acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:1.9rem 0;cursor:pointer;font:500 .9rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
#lcb .acc summary::-webkit-details-marker{display:none}
#lcb .acc summary .plus{width:26px;height:26px;flex:none;margin-right:12px;transition:transform .3s;background:currentColor;-webkit-mask:url(../svg/plus.svg) center/contain no-repeat;mask:url(../svg/plus.svg) center/contain no-repeat}
#lcb .acc details[open] summary .plus{transform:rotate(45deg)}
#lcb .acc .a{padding:0 64px 1.9rem 0;font-size:.95rem}
#lcb .acc .a p:last-child{margin:0}

/* Opiniones */
#lcb .reviews{position:relative}
#lcb .rev-viewport{overflow:hidden}
#lcb .rev-track{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
#lcb .rev{flex:0 0 100%;padding:0 clamp(40px,7vw,120px) 0 clamp(8px,2vw,32px);margin:0}
#lcb .rev blockquote{margin:0;font:400 clamp(1.5rem,3.1vw,2.75rem)/1.22 var(--serif);max-width:22em}
#lcb .rev figcaption,#lcb .rev .who{margin-top:2rem;font-size:.95rem}
#lcb .rev-btn{position:absolute;top:50%;translate:0 -50%;background:none;border:0;padding:12px;cursor:pointer;color:var(--plum)}
#lcb .rev-btn svg{width:14px;height:26px}
#lcb .rev-btn.prev{left:calc(-1*clamp(8px,6vw,96px))}#lcb .rev-btn.next{right:calc(-1*clamp(8px,6vw,96px))}
#lcb .rev-dots{display:flex;gap:10px;margin-top:2.4rem;padding-left:clamp(8px,2vw,32px)}
#lcb .rev-dots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--plum);background:none;padding:0;cursor:pointer}
#lcb .rev-dots button[aria-current="true"]{background:var(--plum)}
#lcb .rev-src{font-size:.78rem;opacity:.75;margin:2rem 0 0;padding-left:clamp(8px,2vw,32px)}

/* Cierre parallax */
#lcb .cierre{position:relative;overflow:hidden;width:min(100% - 2*clamp(12px,2.5vw,36px),1366px);margin:0 auto;aspect-ratio:1366/615;display:grid;place-items:center;text-align:center;color:var(--cream)}
#lcb .cierre .et_pb_text_inner{position:static}
#lcb .cierre img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover;will-change:transform}
#lcb .cierre::after{content:"";position:absolute;inset:0;background:rgba(102,46,57,.55)}
#lcb .cierre .in{position:relative;z-index:1;padding:24px}
#lcb .cierre .eyebrow{font-size:.75rem;margin-bottom:2.2rem}
#lcb .cierre h2{font-size:clamp(2.2rem,4.4vw,3.9rem);max-width:12em;margin:0 auto 2.6rem;color:var(--cream)}

/* Footer */
#lcb .site-footer{padding:clamp(64px,7vw,96px) 0 0}
#lcb .foot-grid{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:32px 88px;align-items:end;width:min(100% - 2*var(--gut),1212px);margin-inline:auto}
#lcb .foot-logo{color:var(--plum);width:162px;margin:0 0 clamp(40px,4vw,56px) 80px}
#lcb .foot-mail{font-size:clamp(1.1rem,1.6vw,1.45rem);text-decoration:none;border-bottom:1.5px solid;padding-bottom:2px}
#lcb .foot-social,#lcb .foot-legal{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:1.1rem;text-transform:uppercase}
#lcb .foot-social a,#lcb .foot-legal a{text-decoration:none}
#lcb .foot-legal{text-align:right}
#lcb .foot-legal a{border-bottom:1.5px solid}
#lcb .foot-social a:hover,#lcb .foot-mail:hover,#lcb .foot-legal a:hover{opacity:.7}
#lcb .to-top{position:absolute;right:0;top:0;color:var(--plum);width:74px;height:70px;display:block}
#lcb .to-top svg{width:100%;height:100%}
#lcb .foot-reg{grid-column:1/-1;font-size:.8rem;opacity:.8;margin:0}
#lcb .foot-bottom{border-top:1px solid rgba(102,46,57,.45);margin-top:clamp(40px,4vw,56px)}
#lcb .foot-bottom .in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:2.2rem;text-transform:uppercase;font-size:1.05rem;width:min(100% - 2*var(--gut),1212px);margin-inline:auto}
#lcb .foot-bottom a{text-decoration:none}

/* Diálogos (vídeo / galería) */
#lcb dialog{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;color:var(--cream)}
#lcb dialog::backdrop{background:rgba(30,12,16,.92)}
#lcb .dlg-close{position:fixed;top:16px;right:16px;z-index:5;width:48px;height:48px;border-radius:50%;border:1px solid rgba(244,236,230,.5);background:rgba(30,12,16,.5);color:var(--cream);font-size:28px;line-height:1;cursor:pointer}
#lcb .dlg-video video{width:min(92vw,1400px);max-height:86vh;aspect-ratio:16/9;background:#000}
#lcb .dlg-gallery{width:100vw;height:100vh;overflow:auto;padding:72px var(--gut) 48px}
#lcb .dlg-gallery h2{font-size:clamp(1.8rem,3vw,2.6rem);color:var(--cream);margin:0 0 32px}
#lcb .grid-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-width:1400px}
#lcb .grid-photos button{border:0;padding:0;background:#2a1519;cursor:zoom-in;aspect-ratio:1;overflow:hidden}
#lcb .grid-photos img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
#lcb .grid-photos button:hover img{transform:scale(1.04)}
#lcb .dlg-viewer{width:100vw;height:100vh}
#lcb .dlg-viewer figure{margin:0;width:100%;height:100%;display:grid;place-items:center;padding:64px 72px}
#lcb .dlg-viewer img{max-width:100%;max-height:calc(100vh - 128px);object-fit:contain}
#lcb .dlg-viewer .nav-btn{position:fixed;top:50%;translate:0 -50%;width:52px;height:52px;border-radius:50%;border:1px solid rgba(244,236,230,.5);background:rgba(30,12,16,.5);color:var(--cream);cursor:pointer;display:grid;place-items:center}
#lcb .dlg-viewer .nav-btn svg{width:12px;height:22px}
#lcb .dlg-viewer .prev{left:12px}#lcb .dlg-viewer .next{right:12px}
#lcb .dlg-viewer .count{position:fixed;bottom:18px;left:50%;translate:-50% 0;font-size:.85rem;letter-spacing:.1em}

/* WhatsApp flotante */
#lcb .wa-float{position:fixed;right:18px;bottom:18px;z-index:40;width:54px;height:54px;border-radius:50%;background:var(--blue);color:var(--plum);display:grid;place-items:center;box-shadow:0 8px 28px rgba(102,46,57,.25);transition:transform .25s}
#lcb .wa-float:hover{transform:scale(1.07)}
#lcb .wa-float svg{width:26px;height:26px}

/* Revelado al hacer scroll */
#lcb .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
#lcb .reveal.in{opacity:1;transform:none}
.no-js #lcb .reveal{opacity:1;transform:none}

/* Páginas legales */
#lcb .legal{padding:clamp(40px,6vw,88px) 0 clamp(64px,8vw,120px)}
#lcb .legal .wrap{max-width:820px}
#lcb .legal h1{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:.6em}
#lcb .legal h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:2.2em 0 .7em}
#lcb .legal h3{font:600 1rem/1.4 var(--sans);margin:1.6em 0 .5em}
#lcb .legal p,#lcb .legal li{font-size:.98rem}
#lcb .legal table{width:100%;border-collapse:collapse;font-size:.88rem;margin:1em 0 1.5em}
#lcb .legal th,#lcb .legal td{border:1px solid var(--line);padding:.6em .7em;text-align:left;vertical-align:top}
#lcb .legal th{background:rgba(102,46,57,.06)}
#lcb .legal .upd{font-size:.85rem;opacity:.75}
#lcb .ph-mark{background:#fff3b0;color:#5a4400;padding:0 .25em;border-radius:2px}

/* Responsive */
@media (max-width:1080px){
  #lcb .nav ul{gap:1.4rem}
  #lcb .features>.et_pb_column{padding-inline:22px}
}
@media (max-width:900px){
  #lcb .header-in{min-height:76px}
  #lcb .brand svg{width:70px}#lcb .is-scrolled .brand svg{width:60px}
  #lcb .menu-toggle{display:block}
  #lcb .nav{position:fixed;inset:76px 0 0;background:var(--cream);padding:32px var(--gut);transform:translateX(-100%);transition:transform .35s;visibility:hidden;overflow:auto}
  #lcb .nav.is-open{transform:none;visibility:visible}
  #lcb .nav ul{flex-direction:column;gap:0}
  #lcb .nav a{display:block;font:400 2rem/1 var(--serif);text-transform:none;letter-spacing:0;padding:1rem 0;border-bottom:1px solid var(--line)}
  #lcb .nav a::after{display:none}
  #lcb .header-cta{padding:.75em 1.1em}
  #lcb .header-cta span{display:none}
  #lcb .header-cta .icon{width:18px;height:18px}
  #lcb .casa,#lcb .faq,#lcb .zona-head,#lcb .reserva-head{grid-template-columns:1fr}
  #lcb .casa-media{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  #lcb .casa-media img{position:static;width:100%!important;height:auto!important;aspect-ratio:3/4.3}
  #lcb .casa-media .b{margin-top:48px}
  #lcb .features{grid-template-columns:1fr 1fr}
  #lcb .features>.et_pb_column,#lcb .features>.et_pb_column:nth-child(3n){border-right:1px solid var(--line-inv);border-bottom:1px solid var(--line-inv)}
  #lcb .features>.et_pb_column:nth-child(2n){border-right:0}
  #lcb .features>.et_pb_column:nth-child(n+5){border-bottom:0}
  #lcb .places{grid-template-columns:1fr 1fr;gap:40px 16px}
  #lcb .zona-head .btns{justify-content:flex-start}
  #lcb .more-body{grid-template-columns:1fr}
  #lcb .lodgify-fallback{grid-template-columns:1fr 1fr;gap:0}
  #lcb .lodgify-fallback .f{border-right:0;border-bottom:1px solid #eadfd9;padding:12px 10px}
  #lcb .lodgify-fallback .btn{grid-column:1/-1;margin-top:12px}
  #lcb .foot-grid{grid-template-columns:1fr 1fr}
  #lcb .foot-logo{margin-left:0}
  #lcb .to-top{width:52px;height:50px}
  #lcb .foot-legal{text-align:right}
  #lcb .foot-mail{grid-column:1/-1}
}
@media (max-width:560px){
  #lcb{font-size:.95rem}
  #lcb .features{grid-template-columns:1fr}
  #lcb .features>.et_pb_column{border-right:0!important;border-bottom:1px solid var(--line-inv)!important;padding-inline:4px}
  #lcb .features>.et_pb_column:last-child{border-bottom:0!important}
  #lcb .feat::before{height:64px}
  #lcb .places{grid-template-columns:1fr}
  #lcb .place .ph{aspect-ratio:4/3}
  #lcb .place .ph::before{height:72px}
  #lcb .hero-media{aspect-ratio:4/5}
  #lcb .cierre{aspect-ratio:4/5}
  #lcb .gal-head .btns{width:100%}
  #lcb .car-btn{width:44px;height:44px}
  #lcb .acc .a{padding-right:0}
  #lcb .rev{padding:0 8px}
  #lcb .rev-btn{display:none}
  #lcb .foot-grid{grid-template-columns:1fr}
  #lcb .foot-legal{text-align:left}
  #lcb .foot-bottom .in{font-size:.85rem}
  #lcb .dlg-viewer figure{padding:64px 8px}
}

/* Lodgify: variables del buscador adaptadas a la marca (sobre el código facilitado) */
:root{--ldg-psb-background:#ffffff;--ldg-psb-border-radius:0;--ldg-psb-box-shadow:0px 24px 54px 0px rgba(0,0,0,.1);--ldg-psb-padding:14px;--ldg-psb-input-background:#ffffff;--ldg-psb-button-border-radius:0;
--ldg-psb-color-primary:#662E39;--ldg-psb-color-primary-lighter:#C4DFE8;--ldg-psb-color-primary-darker:#4f2029;--ldg-psb-color-primary-contrast:#ffffff;
--ldg-semantic-color-primary:#662E39;--ldg-semantic-color-primary-lighter:#C4DFE8;--ldg-semantic-color-primary-darker:#4f2029;--ldg-semantic-color-primary-contrast:#ffffff;--ldg-component-modal-z-index:999}
#lcb .booking-slot.is-loaded .lodgify-fallback{display:none}
#lcb .ph-mark--public{background:none;color:inherit;padding:0}
.error404 #lcb .legal{text-align:center}
.admin-bar #lcb .site-header{top:32px}
@media (max-width:782px){.admin-bar #lcb .site-header{top:46px}.admin-bar #lcb .nav{inset:122px 0 0}}
@media (max-width:600px){.admin-bar #lcb .site-header{top:0}}

#lcb .lodgify-fallback>p{display:contents}
#lcb .wrap.places{margin-inline:auto}
/* Clases de secciones que antes eran estilos en línea */
#lcb .sec-casa{padding-top:clamp(24px,4vw,56px)!important}
#lcb .reviews-sec{padding-top:0!important}
#lcb .hero-sec{padding-bottom:0}
/* Iconos por clase (máscaras SVG del tema) */
#lcb .ico-chair{--ico:url(../svg/chair.svg)}#lcb .ico-jug{--ico:url(../svg/jug.svg)}#lcb .ico-slice{--ico:url(../svg/slice.svg)}
#lcb .ico-leaf{--ico:url(../svg/leaf.svg)}#lcb .ico-horseshoe{--ico:url(../svg/horseshoe.svg)}#lcb .ico-bike{--ico:url(../svg/bike.svg)}
#lcb .ico-sprig{--ico:url(../svg/sprig.svg)}#lcb .ico-shoe{--ico:url(../svg/shoe.svg)}#lcb .ico-book{--ico:url(../svg/book.svg)}#lcb .ico-wave{--ico:url(../svg/wave.svg)}
/* Filas Divi que hacen de rejilla */
#lcb .gal-head>.et_pb_column{flex:0 1 auto}
#lcb .reviews-col{position:relative}
#lcb .rev blockquote p,#lcb .rev-src p,#lcb .cierre .in p:last-child{margin:0}
#lcb .rev .who{margin:2rem 0 0}
#lcb .rev-src{margin:2rem 0 0;padding-left:clamp(8px,2vw,32px)}
#lcb .btns p,#lcb .btns br{display:contents}
#lcb .lcb-main p:empty,#lcb .et_pb_code_inner>br,#lcb .et_pb_text_inner>br,#lcb .btns>br{display:none!important}

html body.lcb-divi{background:var(--cream);margin:0}
