/* Ajustes pedidos por Cristian el 16-oct-2026 (Claude Code). Solo piezas nuevas de index.html; la base sigue en styles.css. */
.horario{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:18px 0 22px;font-size:.95rem}
.horario dt{font-weight:600}
.horario dd{margin:0;font-variant-numeric:tabular-nums}
.button--claro{background:#fff;color:var(--sea);border-color:var(--sea)}
.button--claro:hover,.button--claro:focus-visible{background:var(--sand)}
.map--previa{display:flex;align-items:center;justify-content:center;width:100%;min-height:320px;border-radius:10px}
.map__accion{padding:10px 18px;border:1px solid #fff;border-radius:999px;font-weight:600}
.map--previa:hover .map__accion,.map--previa:focus-visible .map__accion{background:#fff;color:var(--ink)}
#ubicacion iframe{width:100%;min-height:320px;border:0;border-radius:10px}
.cotizacion__foto{display:block;width:100%;height:auto;margin-top:22px;border-radius:10px;aspect-ratio:3/2;object-fit:cover}
.postventa__box+.postventa__box{margin-top:14px}
.postventa__body h3{margin:0 0 10px;font-size:1.05rem}
.pasos,.faq ul{margin:0;padding-left:1.2em;display:grid;gap:10px;font-size:.95rem;line-height:1.5}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.faq p{margin:0 0 10px}
@media(max-width:780px){
  .faq{grid-template-columns:1fr;gap:20px}
  .horario{grid-template-columns:1fr;gap:0}
  .horario dd{margin-bottom:8px}
  .map--previa{min-height:240px}
}
footer .pie__logo{display:block;width:200px;height:auto;max-width:100%;margin-bottom:14px}
footer .respaldo img{height:64px;width:auto;max-width:none}
.proyecto__foto img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:10px}
.galeria__ayuda{margin:0 0 14px;font-size:.85rem;font-weight:600;color:var(--sea)}
.galeria__tira{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,34%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;overscroll-behavior-x:contain}
.galeria__tira:focus-visible{outline:2px solid var(--sea);outline-offset:4px}
.galeria__tira figure{margin:0;scroll-snap-align:start}
.galeria__tira img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
@media(max-width:780px){.galeria__tira{grid-auto-columns:85%;margin-inline:-6vw;padding-inline:6vw;scroll-padding-inline:6vw}}
/* Páginas de gracias de cotización y postventa (20-oct-2026, Claude Code) */
.pagina-gracias{background:var(--sand);min-height:100vh}
.pagina-gracias header{position:static}
.gracias{padding:48px 6vw 64px;display:flex;justify-content:center}
.gracias__caja{width:100%;max-width:640px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:36px 32px;display:grid;gap:16px}
.gracias h1{margin:0;font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.1;font-weight:500;letter-spacing:-.02em}
.gracias__lead{margin:0;font-size:1.05rem}
.gracias__horario{background:var(--warm);border-radius:10px;padding:18px 20px}
.gracias__titulo{margin:0 0 4px;font-weight:600}
.gracias__horario .horario{margin:10px 0 12px}
.gracias__direccion{margin:0;font-size:.9rem}
.gracias__horario .pasos{margin-top:10px}
.gracias__nota{margin:4px 0 0;font-weight:600}
.gracias__acciones{display:flex;flex-wrap:wrap;gap:10px}
.gracias__acciones .button{display:inline-flex}
.gracias__wa{background:#1f7a4d;border-color:#1f7a4d;color:#fff}
.gracias__wa:hover,.gracias__wa:focus-visible{background:#17603c;border-color:#17603c}
@media(max-width:560px){.gracias{padding:28px 16px 48px}.gracias__caja{padding:26px 20px}.gracias__acciones .button{flex:1 1 100%}}
/* Reunión con Cristian del 20-oct-2026 (Claude Code) */
section[id]{scroll-margin-top:72px}
/* Ventana emergente de plantas y fotos: X grande y siempre visible */
body.con-visor{overflow:hidden}
.visor{position:fixed;inset:0;z-index:10001;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:8px;padding:76px 16px 24px;background:#0b1a28eb}
.visor[hidden]{display:none}
.visor__figura{grid-column:2;margin:0;display:grid;justify-items:center;gap:10px;min-height:0}
.visor__img{display:block;max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);object-fit:contain;border-radius:8px;background:#fff}
.visor__pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:.95rem;text-align:center}
.visor__contador{flex:none;padding:3px 10px;border-radius:999px;background:var(--sun);color:var(--ink);font-size:.8rem;font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.visor__texto{font-style:italic;opacity:.92}
.visor__cerrar{position:fixed;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px 0 12px;border:2px solid #fff;border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 18px #0008}
.visor__cerrar svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.visor__cerrar:hover,.visor__cerrar:focus-visible{background:var(--sun);border-color:var(--sun);outline:none}
.visor__prev,.visor__next{width:56px;height:56px;border:2px solid #fff;border-radius:50%;background:#ffffff1f;color:#fff;font:inherit;font-size:2rem;line-height:1;cursor:pointer}
.visor__prev{grid-column:1}.visor__next{grid-column:3}
.visor__prev:hover,.visor__next:hover,.visor__prev:focus-visible,.visor__next:focus-visible{background:#fff;color:var(--ink);outline:none}
.visor__prev[hidden],.visor__next[hidden]{display:none}
@media(max-width:780px){.visor{grid-template-columns:1fr;padding:80px 10px 90px}.visor__figura{grid-column:1}.visor__img{max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px)}
  .visor__prev,.visor__next{position:fixed;bottom:18px;width:60px;height:60px}.visor__prev{left:calc(50% - 76px)}.visor__next{right:calc(50% - 76px)}}
.modelo__plano{cursor:pointer}
.galeria__foto{display:block;width:100%;padding:0;border:0;border-radius:10px;background:none;cursor:zoom-in}
.galeria__foto:focus-visible{outline:3px solid var(--sea);outline-offset:3px}
.galeria__foto:hover img{filter:brightness(1.06)}
/* Visítanos con el fondo celeste de Proyecto */
.visitanos{max-width:none;background:var(--sand)}
.direccion{display:flex;align-items:flex-start;gap:8px}
.direccion__pin{font-size:1.25rem;line-height:1.2}
.horario2{margin:20px 0 24px;padding:18px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.horario2__titulo{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:600}
.horario2__titulo svg{width:22px;height:22px;fill:none;stroke:var(--sea);stroke-width:1.8;stroke-linecap:round}
.horario2__lista{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.horario2__lista li{display:grid;grid-template-columns:210px 1fr;gap:2px 16px;align-items:baseline;padding:10px 12px;border-radius:8px;background:var(--sand)}
.horario2__dias{font-weight:600}
.horario2__horas{font-variant-numeric:tabular-nums}
.horario2__lista .horario2__aviso{background:var(--warm);box-shadow:inset 3px 0 0 var(--accent)}
.horario2__aviso strong{color:var(--accent)}
.horario2__nota{grid-column:1/-1;font-size:.85rem;font-weight:600;color:var(--accent)}
.horario2__cerrado{color:#5b6875}
@media(max-width:560px){.horario2{padding:14px}.horario2__lista li{grid-template-columns:1fr}}
/* Servicio al cliente: botones que se ven como botones */
.postventa__box+.postventa__box{margin-top:16px}
.postventa__toggle{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border:2px solid var(--sea);border-radius:999px;background:var(--sea);color:#fff;font-weight:600;white-space:nowrap;transition:background .15s,color .15s}
.postventa__toggle svg,.postventa__fin svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.postventa__box>summary:hover .postventa__toggle{background:var(--ink);border-color:var(--ink)}
.postventa__cerrar{display:none}
.postventa__box[open]>summary .postventa__toggle{background:#fff;color:var(--sea);border-color:var(--sea)}
.postventa__box[open]>summary .postventa__abrir{display:none}
.postventa__box[open]>summary .postventa__cerrar{display:inline}
.postventa__box[open]>summary .postventa__toggle svg,.postventa__fin svg{transform:rotate(180deg)}
.postventa__fin{grid-column:1/-1;justify-self:center;gap:8px;margin-top:8px;border-width:2px}
@media(max-width:780px){.postventa__box>summary .postventa__toggle{width:100%;justify-content:center}}
/* Preguntas frecuentes en dos tarjetas */
.faq2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.faq2__bloque{padding:22px;border-radius:12px;background:var(--sand)}
.faq2__bloque h3{margin:0 0 8px;font-size:1.1rem}
.faq2__bloque>p{margin:0 0 14px}
.faq2__requisitos{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.faq2__requisitos li{display:flex;gap:12px;padding:14px;border-radius:10px;background:#fff}
.faq2__requisitos p,.faq2__pasos p{margin:4px 0 0;font-size:.92rem;line-height:1.5}
.faq2__ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--warm);box-shadow:inset 0 0 0 1.5px var(--sun)}
.faq2__ico svg{width:22px;height:22px;fill:none;stroke:var(--sea);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.faq2__pasos{margin:0;padding:0;list-style:none;counter-reset:paso}
.faq2__pasos li{position:relative;padding:0 0 20px 54px;counter-increment:paso}
.faq2__pasos li::before{content:counter(paso);position:absolute;left:0;top:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sea);color:#fff;font-weight:700}
.faq2__pasos li::after{content:"";position:absolute;left:18px;top:42px;bottom:4px;width:2px;background:#b9cfe2}
.faq2__pasos li:last-child{padding-bottom:0}
.faq2__pasos li:last-child::after{display:none}
.faq2__pasos li>strong{display:block;padding-top:8px}
@media(max-width:780px){.faq2{grid-template-columns:1fr;gap:16px}.faq2__bloque{padding:18px 16px}.postventa{padding-bottom:110px}}
/* Errores del formulario web en rojo, junto al campo */
.campo--error,.campo--error:focus{border:2px solid #c62828;background:#fff4f4;outline-color:#c62828}
.campo__error{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:#b71c1c;font-size:.88rem;font-weight:700}
.campo__error::before{content:"\26A0";font-size:1rem;line-height:1.2}
.campo__ayuda{display:block;margin-top:4px;font-size:.8rem;font-weight:400;color:#4a5868}
.campo-fotos{padding:8px;background:#fff}
.fotos-elegidas{margin:-4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.fotos-elegidas:empty{display:none}
.fotos-elegidas img{display:block;width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.status--error{color:#b71c1c;font-weight:700}
/* WhatsApp flotante, solo en computador */
.wa-flotante{display:none}
@media(min-width:781px){
  .wa-flotante{position:fixed;right:24px;bottom:24px;z-index:9;display:flex;align-items:center;justify-content:center;min-width:60px;height:60px;padding:0 15px;border-radius:999px;background:#1f7a4d;color:#fff;text-decoration:none;box-shadow:0 6px 20px #0004;transition:background .15s}
  .wa-flotante svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}
  .wa-flotante__texto{max-width:0;margin-left:0;overflow:hidden;white-space:nowrap;font-weight:600;transition:max-width .25s,margin-left .25s}
  .wa-flotante:hover,.wa-flotante:focus-visible{background:#17603c;outline:none}
  .wa-flotante:hover .wa-flotante__texto,.wa-flotante:focus-visible .wa-flotante__texto{max-width:220px;margin-left:10px}
  body.con-visor .wa-flotante{display:none}
}
@media(prefers-reduced-motion:reduce){.wa-flotante__texto,.postventa__toggle svg,.postventa__fin svg{transition:none}}
/* Títulos chicos en el naranjo exacto del logo, más gruesos para que se lean (Nico, 20-oct-2026) */
.eyebrow{color:#ff8954;font-weight:800;font-size:.8rem}
.hero .eyebrow{color:#ff8954}
/* Revisión 2 de Cristian, 21-oct-2026 (Claude Code) */
.hero h1 .naranjo{color:#ff8954}
.hero__video{opacity:0;transition:opacity .6s ease}
.hero__video.hero__video--listo{opacity:1}
.js-ampliar-ficha{cursor:zoom-in}
.visor__pie:empty{display:none}
.postventa__body .faq2__pasos{margin-top:4px}
.postventa__body .faq2__pasos p{margin:4px 0 0;font-size:.92rem;line-height:1.5}
@media(max-width:780px){
  header{height:auto;flex-wrap:wrap;row-gap:4px;padding-top:10px;padding-bottom:0}
  header nav{display:flex;order:3;flex:0 0 calc(100% + 12vw);margin:0 -6vw;padding:8px 12px 10px;gap:10px;justify-content:space-between;overflow-x:auto;white-space:nowrap;border-top:1px solid var(--line);scrollbar-width:none;font-size:.8rem;font-weight:600}
  header nav::-webkit-scrollbar{display:none}
  header nav a{flex:none;color:var(--sea)}
  section[id]{scroll-margin-top:118px}
}
/* Recorrido 3D a pantalla completa en celular y ventana emergente activable desde la hoja (reunión 27-oct-2026) */
.tour3d{position:fixed;inset:0;z-index:10001;padding:80px 0 0;background:#0b1a28}
.tour3d[hidden],.aviso[hidden]{display:none}
.tour3d__marco{width:100%;height:100%}
.tour3d__marco .tour__marco{width:100%;height:100%}
.aviso{position:fixed;inset:0;z-index:10002;display:grid;place-items:center;padding:80px 16px 24px;background:#0b1a28d9}
.aviso__caja{position:relative;display:grid;gap:12px;justify-items:center;max-width:min(560px,100%)}
.aviso__caja img{display:block;max-width:100%;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);width:auto;height:auto;border-radius:10px;box-shadow:0 10px 40px #0009}
.aviso__caja .button{min-width:200px}
/* Cerrar pegado a la ventana, arriba a la derecha y fuera de la imagen: nunca lejos en la esquina de la pantalla (Cristian, 29-oct-2026) */
.aviso{padding:24px 16px}
.aviso .visor__cerrar{position:static;justify-self:end;border-color:#fff;box-shadow:0 4px 18px #0009}

/* Salida visible incluso con poca altura (Codex, 29-oct-2026). */
.aviso{overflow:auto;padding:12px 16px}
.aviso__caja{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;align-content:start}
.aviso .visor__cerrar{position:sticky;top:0;z-index:1}
.aviso__caja img{max-height:max(0px,calc(100vh - 160px));max-height:max(0px,calc(100dvh - 160px))}
.aviso :focus-visible{outline:3px solid #ff8954;outline-offset:3px}
/* Envío de formularios web: el usuario siempre ve que algo está cargando (regla de Nico, 02-nov-2026) */
.button--cargando{position:relative;overflow:hidden;gap:10px;cursor:progress}
.button--cargando:disabled{opacity:1}
.cargando__giro{flex:none;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cargando-giro .7s linear infinite}
.button--cargando::after{content:"";position:absolute;left:0;bottom:0;width:40%;height:3px;background:#ff8954;animation:cargando-barra 1.2s ease-in-out infinite}
@keyframes cargando-giro{to{transform:rotate(360deg)}}
@keyframes cargando-barra{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
/* Reunión con Cristian del 03-nov-2026 (Claude Code). La barra superior pasó a blanco sólido en styles.css */
/* El contorno de foco del Cerrar quedaba cortado por el overflow de la caja: margen interior para que cierre completo */
.aviso__caja{padding:8px}
.aviso .visor__cerrar{top:8px}
/* El padding de arriba hacía aparecer una barra de desplazamiento: la imagen se achica para que todo quepa sin scroll (Nico, 03-nov-2026) */
.aviso__caja img{max-height:max(0px,calc(100vh - 200px));max-height:max(0px,calc(100dvh - 200px))}
/* Renta sugerida y dividendo en la ficha del modelo, desde la pestaña Precios (03-nov-2026) */
.financia{display:flex;flex-wrap:wrap;gap:8px 12px;margin:4px 0 0;padding:0;list-style:none}
.financia li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#fff;font-size:.95rem}
.financia strong{font-weight:600;font-variant-numeric:tabular-nums}
.financia__ico{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--sea);color:var(--sea);font-size:.8rem;font-weight:700}
.financia__nota{margin:6px 0 0;font-size:.85rem;line-height:1.45;color:#4a5868}
.financia__nota strong{color:var(--ink)}
/* «* Valor exento de IVA» junto al precio, se enciende desde la hoja (10-nov-2026) */
.nota-iva{white-space:nowrap;font-weight:600}
/* Cotizar: botón que se nota presionado y formulario marcado al llegar (Diego Vera, 04-nov-2026). Color, no movimiento: se ve igual con las animaciones apagadas */
.js-cotizar-modelo{transition:transform .12s,background-color .12s}
.js-cotizar-modelo:active{transform:scale(.96)}
.button--pulsado{background:#1d3247;border-color:#1d3247;transform:scale(.97)}
#form-cotizacion{transition:box-shadow .3s,border-color .3s}
.form--destacado{border-color:#ff8954;box-shadow:0 0 0 4px #ff895455}
.cotizando{margin:0;padding:10px 12px;border-radius:8px;background:var(--warm);box-shadow:inset 3px 0 0 #ff8954;font-weight:600;color:var(--ink)}
.cotizando[hidden]{display:none}
