/*
 * Housen: página de proyecto.
 * Esta página no carga los estilos de Hello ni de Elementor: la base de la página está acá.
 */

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.hs-proyecto{margin:0;background:var(--hs-bg);color:var(--hs-text);font:400 16px/1.65 var(--hs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* base sin peso (:where): cualquier regla de un componente la pisa */
:where(.hs-main,.hs-tv,.hs-lb),:where(.hs-main,.hs-tv,.hs-lb) *,:where(.hs-main,.hs-tv,.hs-lb) ::before,:where(.hs-main,.hs-tv,.hs-lb) ::after{box-sizing:border-box}
.hs-main{overflow-x:clip}
:where(.hs-main,.hs-lb) img{display:block;max-width:100%}
:where(.hs-main) a{color:inherit}
:where(.hs-main,.hs-tv,.hs-lb) button{font:inherit;color:inherit;cursor:pointer}
:where(.hs-main) ul{list-style:none;margin:0;padding:0}
:where(.hs-main,.hs-tv,.hs-lb) :focus-visible{outline:2px solid var(--hs-gold);outline-offset:3px;border-radius:4px}
:where(.hs-main) [id]{scroll-margin-top:calc(var(--hs-header-h) + var(--hs-top) + 12px)}

/* Lastik tiene un solo peso: la negrita la simula el navegador. Queda bien en los títulos grandes;
   en los chicos aprieta las letras y parece otra fuente, por eso esos van con el peso real (400). */
.hs-display{margin:0;font-family:var(--hs-display);font-weight:600;line-height:1.02;letter-spacing:.3px;color:var(--hs-ink)}
.hs-display i{font-style:italic}
.hs-h1{font-size:clamp(36px,4.4vw,60px)}
.hs-h2{font-size:clamp(32px,4vw,48px)}

/* flechas: el único control circular de la página */
.hs-arrow{flex:none;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--hs-line);border-radius:var(--hs-r);background:none;color:var(--hs-brown);transition:background .25s,border-color .25s,color .25s}
.hs-arrow:hover{background:var(--hs-brown);border-color:var(--hs-brown);color:#fff}
.hs-arrow svg{width:16px;height:16px}

/* ===== Galería + texto | datos ===== */
.hs-top{padding-top:calc(var(--hs-header-h) + var(--hs-top) + clamp(20px,2.4vw,32px))}
.hs-top .hs-h1{margin-bottom:clamp(16px,2vw,24px)}
.hs-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,56px);align-items:start;padding-bottom:clamp(64px,9vw,120px)}
.hs-layout--solo{grid-template-columns:minmax(0,1fr)}
.hs-layout>*,.hs-layout__main>*{min-width:0}

/* Carrusel: flechas dentro de la foto, puntos debajo */
.hs-stage{position:relative;aspect-ratio:4/3;border-radius:var(--hs-r);overflow:hidden;background:var(--hs-plan);cursor:zoom-in;outline-offset:4px}
.hs-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--hs-ease)}
.hs-slide.is-active{opacity:1}
.hs-slide img{width:100%;height:100%;object-fit:cover}
.hs-garrow{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--hs-r);background:rgba(255,255,255,.88);color:var(--hs-brown);transition:background .25s}
.hs-garrow:hover{background:#fff}
.hs-garrow svg{width:18px;height:18px}
.hs-garrow--prev{left:16px}
.hs-garrow--next{right:16px}
.hs-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin-top:12px}
.hs-dots button{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;background:none}
.hs-dots button::before{content:"";width:6px;height:6px;border-radius:50%;background:rgba(45,33,23,.3);transition:background .3s,transform .3s}
.hs-dots button:hover::before{background:rgba(45,33,23,.5)}
.hs-dots button[aria-current="true"]::before{background:var(--hs-brown);transform:scale(1.3)}

/* Pestañas de información debajo de la galería */
.hs-info{margin-top:clamp(36px,4.5vw,56px)}
.hs-tabs{display:flex;gap:28px;overflow-x:auto;border-bottom:1px solid var(--hs-line);scrollbar-width:none}
.hs-tabs::-webkit-scrollbar{display:none}
/* desvanecido a la derecha cuando quedan pestañas fuera de vista (mobile) */
.hs-tabs.has-more{-webkit-mask-image:linear-gradient(90deg,#000 78%,transparent);mask-image:linear-gradient(90deg,#000 78%,transparent)}
.hs-tab{position:relative;flex:none;padding:0 0 14px;border:0;background:none;color:var(--hs-muted);font:16px/1.2 var(--hs-body);transition:color .25s}
.hs-tab:hover,.hs-tab[aria-selected="true"]{color:var(--hs-ink)}
.hs-tab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--hs-brown);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--hs-ease)}
.hs-tab[aria-selected="true"]::after{transform:scaleX(1)}
.hs-panel{padding-top:28px;outline-offset:6px}
.hs-info>.hs-panel:only-child{padding-top:0}
.hs-panel[hidden]{display:none}
.hs-panel.is-in{animation:hs-panel .35s var(--hs-ease)}
@keyframes hs-panel{from{opacity:0}to{opacity:1}}
.hs-texto p{max-width:62ch;margin:0 0 20px;font-size:18px;line-height:1.65}
.hs-texto p:last-child{margin-bottom:0}
.hs-texto a{color:var(--hs-brown);text-underline-offset:3px}
.hs-checks{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.hs-checks li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--hs-line)}
/* sin línea debajo del último ítem de cada columna */
.hs-checks li:nth-last-child(-n+2){border-bottom:0}
.hs-checks b{flex:none;min-width:24px;display:flex;justify-content:flex-end;color:var(--hs-brown);font:400 22px/1 var(--hs-display)}
.hs-chk{display:inline-block;width:20px;height:20px;vertical-align:middle}

/* Columna de datos (radio exterior = radio interior + margen: las curvas quedan paralelas) */
.hs-side{position:sticky;top:calc(var(--hs-header-h) + var(--hs-top) + 28px);padding:10px;background:#fff;border-radius:calc(var(--hs-r) + 10px)}
.hs-tour{display:block;color:#fff;text-decoration:none}
.hs-tour__media{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--hs-r);overflow:hidden;background:var(--hs-plan)}
.hs-tour__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--hs-ease)}
.hs-tour:hover .hs-tour__media img{transform:scale(1.04)}
/* degradé para que el texto se lea sobre cualquier foto */
.hs-tour__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,16,10,0) 18%,rgba(23,16,10,.55) 52%,rgba(23,16,10,.9) 100%)}
.hs-tour__in{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;gap:8px;padding:16px 16px 10px;text-align:center}
.hs-tour__sub{font-size:13px;line-height:1.4;color:rgba(255,255,255,.85)}
.hs-tour__cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--hs-r);background:#fff;color:var(--hs-brown);font:500 15px/1 var(--hs-body);transition:background .25s}
.hs-tour__cta svg{width:20px;height:20px;flex:none}
.hs-tour:hover .hs-tour__cta,.hs-tour:focus-visible .hs-tour__cta{background:var(--hs-light)}
.hs-side__title{margin:20px 10px 0;font:400 28px/1.1 var(--hs-display);letter-spacing:.3px;color:var(--hs-ink)}
.hs-tour+.hs-side__title{margin-top:20px}
.hs-side>.hs-side__title:first-child{margin-top:10px}
.hs-side>.hs-side__title:last-child{margin-bottom:10px}
.hs-facts{margin:10px 10px 4px}
.hs-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;font-size:15px}
.hs-facts div+div{border-top:1px solid var(--hs-line)}
.hs-facts dt{color:var(--hs-muted)}
.hs-facts dd{margin:0;color:var(--hs-ink);text-align:right}

/* ===== Tipologías: carrusel de láminas, en la pestaña Descripción arriba del texto ===== */
.hs-tipos{margin-bottom:clamp(28px,3vw,40px)}
.hs-tipos:last-child{margin-bottom:0}
/* la lámina entra completa; si la pantalla es baja, el panel recorta alto y el fondo continúa el de la lámina */
.hs-stage--plan{width:100%;aspect-ratio:1563/1105;max-height:min(78vh,760px);background:var(--hs-plan)}
.hs-stage--plan .hs-slide img{object-fit:contain}
/* en las láminas el texto va arriba a la derecha: las flechas bajan a los rincones vacíos */
.hs-stage--plan .hs-garrow{top:auto;bottom:16px;margin-top:0}

/* ===== Otros proyectos ===== */
.hs-more{padding-bottom:clamp(88px,10.2vw,154px)}
.hs-more__head{margin-bottom:clamp(24px,3vw,36px)}
.hs-more__all{display:inline-block;margin-top:clamp(20px,2.2vw,30px);color:var(--hs-brown);font:500 15px/1.4 var(--hs-body);text-decoration:none;text-underline-offset:5px}
.hs-more__all:hover{text-decoration:underline;text-decoration-thickness:1px}
.hs-more__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
/* card mínima: foto y texto debajo, sin contenedor ni etiquetas */
.hs-mcard{display:block;color:var(--hs-ink);text-decoration:none}
.hs-mcard__img{display:block;aspect-ratio:3/2;border-radius:var(--hs-r);overflow:hidden;background:var(--hs-plan)}
.hs-mcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--hs-ease)}
.hs-mcard:hover .hs-mcard__img img{transform:scale(1.04)}
.hs-mcard__estado{display:block;margin-top:14px;font-size:13px;color:var(--hs-muted)}
.hs-mcard__nombre{display:block;margin-top:4px;font:400 24px/1.1 var(--hs-display);letter-spacing:.3px;text-underline-offset:5px}
.hs-mcard:hover .hs-mcard__nombre,.hs-mcard:focus-visible .hs-mcard__nombre{text-decoration:underline;text-decoration-thickness:1px}
.hs-mcard__info{display:block;margin-top:4px;font-size:15px;color:var(--hs-text)}

/* ===== Contacto: marrón de marca, se continúa con el footer ===== */
.hs-contact{background:var(--hs-dark);color:var(--hs-light);border-radius:var(--hs-r-xl) var(--hs-r-xl) 0 0}
.hs-contact__grid{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"intro form" "map form";grid-template-rows:auto 1fr;gap:32px clamp(32px,5vw,72px);padding-block:clamp(80px,9vw,120px) clamp(56px,6vw,80px)}
.hs-contact__intro{grid-area:intro}
.hs-contact .hs-display{color:var(--hs-light)}
.hs-contact__intro>p{margin:16px 0 0;max-width:25em;font-size:18px;line-height:1.6;color:rgba(224,217,209,.75)}
.hs-form{grid-area:form;align-self:start;display:grid;gap:26px;margin:0;padding:clamp(28px,3.5vw,44px);background:var(--hs-light);border-radius:calc(var(--hs-r) + 10px);color:var(--hs-text)}
.hs-form__title{margin:0;font:400 24px/1.15 var(--hs-display);letter-spacing:.3px;color:var(--hs-ink)}
.hs-field{display:grid;gap:6px}
.hs-field label{font-size:14px;line-height:1.4;color:var(--hs-muted);transition:color .25s}
.hs-field:focus-within label{color:var(--hs-brown)}
.hs-field input,.hs-field textarea{width:100%;margin:0;padding:10px 0;border:0;border-bottom:1px solid var(--hs-line);border-radius:0;background:none;color:var(--hs-ink);font:17px/1.4 var(--hs-body);transition:border-color .25s;-webkit-appearance:none;appearance:none}
.hs-field textarea{resize:none;min-height:120px}
.hs-field input::placeholder,.hs-field textarea::placeholder{color:#7d736a}
.hs-field input:focus,.hs-field textarea:focus{outline:0;border-bottom-color:var(--hs-brown)}
.hs-field.is-invalid input{border-bottom-color:#9c3a26}
.hs-field__err{font-size:13px;color:#9c3a26}
.hs-field__err:empty{display:none}
.hs-row2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.hs-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hs-form__foot{display:grid;gap:12px}
.hs-form__note{margin:0;color:var(--hs-muted);font-size:14px;line-height:1.5;text-align:center}
.hs-form__note.is-sent{color:var(--hs-brown)}
.hs-map{grid-area:map;position:relative;align-self:stretch;min-height:240px;display:grid;place-items:center;border-radius:var(--hs-r);overflow:hidden;background:#3a2c22}
.hs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hs-map__link{color:var(--hs-light);font-size:15px;text-underline-offset:4px}

/* ===== Recorrido 360°: el visor adentro de la página, con la barra del sitio =====
   (los visores van por encima de la barra de WordPress que aparece con la sesión iniciada) */
.hs-tv{--hs-tv-bar:64px;position:fixed;inset:0;z-index:100002;display:grid;grid-template-rows:auto minmax(0,1fr);padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);background:var(--hs-bg);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.hs-tv.is-open{opacity:1;visibility:visible}
.hs-tv[hidden]{display:none}
.hs-tv__bar{position:relative;z-index:1;background:var(--hs-bg);box-shadow:0 1px 0 rgba(45,32,23,.06),0 8px 18px -12px rgba(45,32,23,.4)}
.hs-tv__in{height:var(--hs-tv-bar);display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding-inline:var(--hs-gutter);color:var(--hs-brown)}
.hs-tv .hs-logo svg{display:block;width:auto;height:19px}
.hs-tv__title{display:flex;align-items:center;gap:10px;min-width:0;margin:0;font:15px/1.2 var(--hs-body);white-space:nowrap}
.hs-tv__title span{color:var(--hs-muted)}
.hs-tv__close{margin-left:auto;min-height:40px;padding:0 18px;font-size:14px}
.hs-tv__close svg{fill:none}
.hs-tv iframe{display:block;width:100%;height:100%;border:0;background:var(--hs-bg)}
/* iPhone: con alto en % el marco queda más largo que la pantalla y la tarjeta del recorrido se corta abajo */
@supports (height:100dvh){.hs-tv iframe{height:calc(100dvh - var(--hs-tv-bar) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}

/* ===== Visor de fotos a pantalla completa ===== */
.hs-lb{position:fixed;inset:0;z-index:100002;display:grid;grid-template-rows:auto 1fr auto;padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);background:rgba(14,11,9,.96);color:#fff;font-family:var(--hs-body);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.hs-lb.is-open{opacity:1;visibility:visible}
.hs-lb[hidden]{display:none}
.hs-lb__top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--hs-gutter);font-size:15px}
.hs-lb__count{color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.hs-lb__stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 clamp(8px,7vw,104px)}
.hs-lb__stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--hs-r-sm);transition:opacity .3s}
.hs-lb__stage img.is-loading{opacity:.2}
.hs-lb .hs-arrow{border-color:rgba(255,255,255,.3);color:#fff}
.hs-lb .hs-arrow:hover{background:#fff;border-color:#fff;color:var(--hs-ink)}
.hs-lb__nav{position:absolute;top:50%;transform:translateY(-50%)}
.hs-lb__nav--prev{left:var(--hs-gutter)}
.hs-lb__nav--next{right:var(--hs-gutter)}
.hs-lb__thumbs{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding:16px var(--hs-gutter);scrollbar-width:none}
.hs-lb__thumbs[hidden],.hs-lb__nav[hidden]{display:none}
.hs-lb__thumbs button{flex:none;width:72px;height:48px;padding:0;border:0;border-radius:var(--hs-r-sm);overflow:hidden;opacity:.4;background:none;transition:opacity .25s}
.hs-lb__thumbs button:hover{opacity:.75}
.hs-lb__thumbs button[aria-current="true"]{opacity:1}
.hs-lb__thumbs img{width:100%;height:100%;object-fit:cover}

.hs-js .hs-reveal{opacity:0;transition:opacity .9s var(--hs-ease)}
.hs-js .hs-reveal.is-in{opacity:1}

@media (max-width:960px){
  .hs-layout{grid-template-columns:1fr;gap:0}
  .hs-layout__main{display:contents}
  .hs-gallery{order:1}
  .hs-side{order:2;position:static;margin-top:40px}
  .hs-info{order:3}
  .hs-tour__media{aspect-ratio:16/9}
  .hs-more__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hs-contact__grid{grid-template-columns:1fr;grid-template-areas:"intro" "form" "map";grid-template-rows:auto}
  .hs-map{height:260px;min-height:0}
}
@media (max-width:760px){
  .hs-tv{--hs-tv-bar:56px}
  .hs-tv__in{gap:16px}
  .hs-tv__title{font-size:14px;gap:8px}
  .hs-tv .hs-tv__close,.hs-tv .hs-tv__close:hover{width:44px;min-height:44px;margin-right:-10px;padding:0;background:none;color:var(--hs-brown)}
  .hs-tv__close span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .hs-tv__close svg{width:22px;height:22px}
}
@media (max-width:640px){
  /* galería y láminas de borde a borde, sin redondeo */
  .hs-stage{width:auto;margin-inline:calc(-1 * var(--hs-gutter));border-radius:0;outline-offset:-3px}
  .hs-garrow{width:38px;height:38px;margin-top:-19px}
  .hs-garrow--prev{left:10px}
  .hs-garrow--next{right:10px}
  .hs-stage--plan .hs-garrow{bottom:10px}
  .hs-tour__media{aspect-ratio:4/3}
  .hs-checks{grid-template-columns:1fr}
  .hs-checks li:nth-last-child(2){border-bottom:1px solid var(--hs-line)}
  .hs-tabs{gap:22px}
  .hs-row2{grid-template-columns:1fr}
  .hs-more__grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--hs-gutter);margin-inline:calc(-1 * var(--hs-gutter));padding:0 var(--hs-gutter) 6px;scrollbar-width:none}
  .hs-more__grid::-webkit-scrollbar{display:none}
  .hs-more__grid li{flex:0 0 72%;scroll-snap-align:start}
  .hs-lb__nav{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hs-main *,.hs-main *::before,.hs-main *::after,.hs-tv,.hs-lb,.hs-lb *{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .hs-js .hs-reveal{opacity:1}
}
