/* Finca Nueva Vida · © 2026 Finca Nueva Vida y My Intelligent System. TODOS LOS DERECHOS RESERVADOS.
   Estilo base del prototipo: lo pule Claude Design. Colores del logo: verde #336312, café #442307. */
:root{
  --verde:#336312; --verde-2:#4f8a24; --cafe:#442307; --grano:#8b4a22;
  --fondo:#ffffff; --tinta:#f1f5ec; --superficie:#ffffff; --texto:#1f2a17; --suave:#56624c; --linea:#dfe6d6;
  --ocupado:#e9d6cc; --plazo:#eceee9; --radio:12px;
  --tit:"Familjen Grotesk",system-ui,sans-serif; --cuerpo:"Inter",system-ui,sans-serif;
}
[data-theme="oscuro"]{
  --grano:#d39a6a; --fondo:#11160d; --tinta:#171f12; --superficie:#1c2516; --texto:#eef2e8; --suave:#b3bfa8; --linea:#2c3824;
  --verde:#8cc152; --verde-2:#a6d46c; --cafe:#e7c9a9; --ocupado:#4a2e22; --plazo:#22291c;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.6 var(--cuerpo);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--tit);line-height:1.15;margin:0 0 .5em;color:var(--cafe);letter-spacing:-.02em;text-wrap:balance}
p{text-wrap:pretty}
[data-theme="oscuro"] h1,[data-theme="oscuro"] h2,[data-theme="oscuro"] h3{color:var(--texto)}
h1{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700}
h3{font-size:1.2rem;font-weight:700}
.kicker{font:600 .95rem/1.2 var(--tit);color:var(--grano);margin:0 0 .8em}
.lead{font-size:1.1rem;color:var(--suave)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.centro{text-align:center;margin-top:2rem}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;border:0;border-radius:999px;padding:.7em 1.3em;font:600 .95rem var(--tit);
  background:var(--verde);color:#fff;text-decoration:none;cursor:pointer;transition:background .15s}
[data-theme="oscuro"] .btn{color:#11160d}
.btn:hover{background:var(--verde-2)}
.btn.sec{background:transparent;color:var(--verde);box-shadow:inset 0 0 0 1.5px var(--verde)}
.btn.sec:hover{background:var(--tinta)}
.icono{border:0;background:transparent;color:var(--texto);font-size:1.3rem;cursor:pointer;width:40px;height:40px;border-radius:50%}
.icono:hover{background:var(--tinta)}

/* barra */
.barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1.5rem;padding:.6rem clamp(1rem,4vw,3rem);background:color-mix(in srgb,var(--fondo) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.marca img{height:46px;width:auto}
.logo-oscuro{display:none}
[data-theme="oscuro"] .logo-claro{display:none}
[data-theme="oscuro"] .logo-oscuro{display:block}
.menu{display:flex;gap:1.4rem;margin-left:auto}
.menu a{text-decoration:none;font-weight:500;color:var(--suave)}
.menu a:hover{color:var(--verde)}
.acciones{display:flex;align-items:center;gap:.5rem}
#idioma{border:1px solid var(--linea);background:var(--superficie);color:var(--texto);border-radius:999px;padding:.45em .7em;font:500 .85rem var(--cuerpo)}
@media (max-width:900px){.menu{display:none}.acciones{margin-left:auto}.acciones .btn{padding:.55em 1em;font-size:.88rem}}
@media (max-width:420px){.barra{gap:.6rem}.marca img{height:38px}#idioma{max-width:86px;padding:.4em .5em}.acciones{gap:.3rem}.icono{width:34px;height:34px}}

/* hero */
.hero{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;align-content:center;min-height:calc(100svh - 63px);padding:clamp(1.2rem,3.5vw,3rem) clamp(1rem,4vw,3rem) 5.5rem;max-width:1320px;margin:0 auto}
/* Al bajar, las fotos se mueven a distinto ritmo y el texto se aparta (--p va de 0 a 1, lo pone app.js). */
.hero-texto{transform:translateY(calc(var(--p,0) * 40px));opacity:calc(1 - var(--p,0) * .7)}
.t-cafe{transform:translateY(calc(var(--p,0) * -50px))}
.t-cocina{transform:translateY(calc(var(--p,0) * 30px))}
.t-noche{transform:translateY(calc(var(--p,0) * -90px)) scale(calc(1 + var(--p,0) * .04))}
.bajar{position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--suave);font:600 .85rem var(--tit);text-decoration:none;opacity:calc(1 - var(--p,0) * 3)}
.bajar:hover{color:var(--verde)}
.bajar i{position:relative;width:22px;height:34px;border:2px solid currentColor;border-radius:12px}
.bajar i::after{content:"";position:absolute;left:50%;top:6px;width:4px;height:7px;border-radius:2px;background:currentColor;transform:translateX(-50%);animation:fnv-bajar 1.8s ease-in-out infinite}
@keyframes fnv-bajar{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}
@media (prefers-reduced-motion:reduce){.hero-texto,.t-cafe,.t-cocina,.t-noche{transform:none;opacity:1}.bajar i::after{animation:none}}
.hero-texto{order:1}
.mosaico{order:2}
.ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0}
/* Mosaico de la portada: café y cocina a la izquierda, la rana de noche en video a la derecha. */
.mosaico{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.7rem;height:clamp(340px,42vw,560px)}
.tesela{position:relative;display:block;overflow:hidden;border-radius:var(--radio);background:var(--tinta);text-decoration:none}
.tesela img,.tesela video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.t-noche{grid-column:2;grid-row:1 / span 2;background:#0b0f08}
.tesela span{position:absolute;left:.6rem;bottom:.6rem;background:rgba(17,22,13,.72);color:#fff;font:600 .82rem var(--tit);padding:.35em .75em;border-radius:999px}
.tesela .credito{position:absolute;right:.5rem;top:.5rem;font-size:.68rem;color:#fff;background:rgba(0,0,0,.45);padding:.1em .45em;border-radius:4px}
@media (prefers-reduced-motion:reduce){.t-noche video{display:none}.t-noche{background:#0b0f08 url(/video/rana-noche.webp) center/cover}}
/* Tablet: texto arriba, mosaico ancho debajo. */
@media (max-width:980px){.hero{grid-template-columns:1fr}.hero-texto{order:0}.mosaico{order:1;height:clamp(300px,62vw,520px)}}
/* Celular: el mosaico sigue en dos columnas, un poco más bajo. */
@media (max-width:520px){.mosaico{height:118vw;max-height:460px;gap:.5rem}.tesela span{font-size:.74rem}.hero{min-height:0;padding-bottom:1.6rem}.bajar{display:none}}

/* secciones */
.seccion{padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,3rem)}
.seccion.tinta{background:var(--tinta)}
.cabeza{max-width:1100px;margin:0 auto 2.5rem}
.cabeza>*{max-width:720px}
#paquetes .cabeza{max-width:1000px}
#preguntas .cabeza{max-width:760px;text-align:center}
#preguntas .cabeza>*{margin-left:auto;margin-right:auto}
.cabeza p{color:var(--suave);margin:0}

/* experiencias */
.grilla-exp{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
.exp,.paq{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column}
.exp{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.exp figure{margin:0;position:relative;min-height:240px}
.exp figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.paq>img{width:100%;aspect-ratio:3/2;object-fit:cover}
.exp figcaption{position:absolute;right:.5rem;bottom:.5rem;font-size:.7rem;color:#fff;background:rgba(0,0,0,.45);padding:.1em .5em;border-radius:4px}
.exp-cuerpo,.paq-cuerpo{padding:1.25rem 1.3rem 1.3rem;display:flex;flex-direction:column;flex:1}
.exp-cuerpo{padding:1.6rem 1.8rem}
.exp-cuerpo p{color:var(--suave);margin:0 0 1rem}
.datos{list-style:none;padding:0;margin:0 0 .8rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.9rem}
.datos b{color:var(--texto);font-weight:600;margin-right:.3em}
.incluye{padding-left:1.1rem;margin:0 0 1rem;color:var(--suave);font-size:.93rem}
.exp-pie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.8rem;border-top:1px solid var(--linea)}
.precio{font:700 1.15rem var(--tit);color:var(--texto)}
.precio small{font:500 .78rem var(--cuerpo);color:var(--suave)}
.precio.consultar{font:500 .9rem var(--cuerpo);color:var(--suave)}

.juego-link{margin:-.4rem 0 1rem}
.juego-link a{color:var(--verde);font-weight:600;text-decoration:none}

/* paquetes */
.grilla-paq{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}
.paq{position:relative}
.paq.destacado{box-shadow:0 0 0 2px var(--verde)}
.pildora{position:absolute;top:.8rem;left:.8rem;background:var(--verde);color:#fff;font:600 .75rem var(--tit);padding:.35em .8em;border-radius:999px}
[data-theme="oscuro"] .pildora{color:#11160d}
.dias{list-style:none;padding:0;margin:0 0 1rem;counter-reset:d}
.dias li{display:grid;gap:.1rem;padding:.6rem 0;border-bottom:1px dashed var(--linea)}
.dias b{font:600 .85rem var(--tit);color:var(--verde)}
.dias span{color:var(--suave);font-size:.93rem}
.inc-titulo{font:600 .95rem var(--tit);color:var(--texto);margin:.2rem 0 .5rem}
.chips{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem}
.chips li{font-size:.82rem;background:var(--tinta);border:1px solid var(--linea);padding:.25em .7em;border-radius:999px}

/* hospedaje */
.hosp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);max-width:1100px;margin:0 auto;align-items:start}
.hosp-texto .exp-pie{max-width:420px}
.hosp-foto{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radio);margin-bottom:1.4rem}
.hosp-cal h3{margin-bottom:.8rem}
@media (max-width:820px){.hosp{grid-template-columns:1fr}}
.nota-sincro{font-size:.82rem;color:var(--suave);margin:.6rem 0 0}

/* calendario */
.cal{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:1rem;max-width:380px}
.cal-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.cal-cab button{border:0;background:var(--tinta);color:var(--texto);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1.1rem}
.cal-sem,.cal-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-sem span{font-size:.72rem;color:var(--suave);text-transform:uppercase}
.dia{aspect-ratio:1;border:0;border-radius:8px;background:transparent;color:var(--texto);font:500 .9rem var(--cuerpo);cursor:pointer}
.dia.libre:not([disabled]):hover{background:var(--tinta);box-shadow:inset 0 0 0 1.5px var(--verde)}
.dia.ocupado{background:var(--ocupado);color:var(--suave);text-decoration:line-through}
.dia.plazo{color:#b0b6aa;background:var(--plazo)}
[data-theme="oscuro"] .dia.plazo{color:#5d6853}
.dia[disabled]{cursor:not-allowed}
.dia.libre[disabled]{cursor:default}
.dia.sel,.dia.fin{background:var(--verde)!important;color:#fff!important;text-decoration:none}
.dia.rango{background:color-mix(in srgb,var(--verde) 22%,transparent)!important}
.cal-ley{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;font-size:.75rem;color:var(--suave);margin-top:.7rem}
.cal-ley .l{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid var(--linea)}
.cal-ley .l.ocupado{background:var(--ocupado)} .cal-ley .l.plazo{background:var(--plazo)}

/* franja de opiniones (debajo de la portada) */
.opiniones{background:var(--cafe);color:#fff;padding:1.6rem clamp(1rem,4vw,3rem)}
.op-envoltura{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.2rem 2rem;align-items:center;max-width:1320px;margin:0 auto}
.op-titulo{font:600 1rem/1.25 var(--tit);margin:0 0 .8rem;color:#f3dcc0}
[data-theme="oscuro"] .opiniones{background:#2a1a0c}
.notas{display:grid;gap:.55rem}
.nota{display:flex;align-items:baseline;gap:.6rem;color:#fff;text-decoration:none}
.nota b{font:700 1.55rem/1 var(--tit);min-width:2.6ch}
.nota .estrellas{color:#f2c94c;letter-spacing:.1em}
.nota span:last-child{font-size:.82rem;opacity:.85}
.citas{overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.citas-pista{display:flex;gap:1rem;width:max-content;animation:fnv-cinta 120s linear infinite}
.citas:hover .citas-pista,.citas:active .citas-pista{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.citas{overflow-x:auto;scrollbar-width:none}.citas::-webkit-scrollbar{display:none}.citas-pista{animation:none}}
.citas blockquote{position:relative;flex:0 0 auto;width:min(76vw,300px);height:152px;margin:0;padding:.95rem 1.05rem .8rem 2.3rem;border-radius:var(--radio);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:space-between}
.citas blockquote::before{content:"\201C";position:absolute;left:.7rem;top:.35rem;font:700 2.4rem/1 var(--tit);color:#e0a873}
.citas p{margin:0;font-size:.9rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.citas footer{display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:center;font-size:.76rem;opacity:.85}
.citas footer b{font-weight:600}
.citas footer .fuente{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.05em .55em}
@media (max-width:820px){.op-envoltura{grid-template-columns:1fr}.op-titulo{margin-bottom:.6rem}.notas{grid-template-columns:repeat(3,1fr)}.nota{flex-direction:column;align-items:flex-start;gap:.15rem}.nota .estrellas{display:none}.nota span:last-child{font-size:.74rem;line-height:1.3}}

/* fauna: cinta de especies que avanza sola */
.cinta{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.cinta-pista{display:flex;gap:1rem;width:max-content;animation:fnv-cinta 40s linear infinite}
.cinta:hover .cinta-pista{animation-play-state:paused}
@keyframes fnv-cinta{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cinta{overflow-x:auto;scrollbar-width:none}.cinta::-webkit-scrollbar{display:none}.cinta-pista{animation:none}}
.cinta .animal{flex:0 0 auto;width:220px;display:flex;flex-direction:column;justify-content:flex-end}
.cinta .animal.sin-foto{width:180px;justify-content:center;text-align:center;background:var(--fondo)}
.cinta .animal.sin-foto b{font:700 1.15rem var(--tit);color:var(--cafe)}
[data-theme="oscuro"] .cinta .animal.sin-foto b{color:var(--texto)}
.cinta .animal figcaption{white-space:normal}

/* fauna */
.grilla-fauna{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:1100px;margin:0 auto}
.animal{margin:0;background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.animal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.animal figcaption{padding:.7rem .9rem;display:grid;gap:.1rem}
.animal i{color:var(--suave);font-size:.85rem}
.animal small{color:var(--suave);font-size:.72rem}

/* juego de Arbóreo: franja de noche con el video del recorrido */
.noche{background:#0b120a;color:#e9efe2}
.noche h2{color:#f4f7ef}
.noche .kicker{color:#e0a873}
.noche .lead{color:#c3cdb8}
.juego-env{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;max-width:1200px;margin:0 auto}
.juego-video{position:relative;display:block;border-radius:var(--radio);overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.juego-video video{width:100%;height:100%;object-fit:cover;display:block}
.jugar-sobre{position:absolute;left:.8rem;bottom:.8rem;display:inline-flex;align-items:center;gap:.4rem;background:rgba(11,18,10,.72);color:#fff;font:600 .9rem var(--tit);padding:.45em .95em;border-radius:999px;border:1px solid rgba(255,255,255,.3);transition:background .15s}
.jugar-sobre b{font-size:.8rem}
.juego-video:hover .jugar-sobre{background:#8cc152;color:#0b120a}
.juego-datos{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.45rem;color:#d7dfcd}
.juego-datos li{padding-left:1.3rem;position:relative}
.juego-datos li::before{content:"";position:absolute;left:0;top:.6em;width:.55rem;height:.55rem;border-radius:50%;background:#f2c94c;box-shadow:0 0 10px #f2c94c}
.noche .btn{background:#8cc152;color:#0b120a}
.noche .btn:hover{background:#a6d46c}
.noche .btn.sec{background:transparent;color:#e9efe2;box-shadow:inset 0 0 0 1.5px rgba(233,239,226,.6)}
.noche .btn.sec:hover{background:rgba(255,255,255,.08)}
@media (max-width:900px){.juego-env{grid-template-columns:1fr}.juego-video{order:0}.juego-texto{order:1}}

/* galería (la llena la familia desde el panel) */
.grilla-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;max-width:1100px;margin:0 auto}
.grilla-galeria figure{margin:0}
.grilla-galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radio)}
.grilla-galeria figcaption{font-size:.88rem;color:var(--suave);margin-top:.4rem}

/* familia y llegar */
.familia{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;max-width:1100px;margin:0 auto}
.familia img{border-radius:var(--radio);width:100%;aspect-ratio:3/2;object-fit:cover}
.llegar{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:start}
.llegar>div{max-width:620px}
.plus{color:var(--suave)}
.oper{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:1.4rem}
.oper p{color:var(--suave)}
@media (max-width:820px){.familia,.llegar{grid-template-columns:1fr}}

/* preguntas */
.faq{max-width:760px;margin:0 auto}
.faq details{border-bottom:1px solid var(--linea);padding:.9rem 0}
.faq summary{cursor:pointer;font:600 1.02rem var(--tit);color:var(--texto)}
.faq p{color:var(--suave);margin:.6rem 0 0}

/* páginas legales */
.legal{max-width:760px;margin:0 auto}
.legal h1{margin-top:.6rem}
.legal h2{font-size:1.15rem;margin-top:1.6rem}
.legal p{color:var(--suave)}
.legal .actualizado{font-size:.85rem;margin-top:2rem}
.menu a[aria-current]{color:var(--verde);font-weight:600}

/* pie */
.pie{background:#1f2a17;color:#dfe6d6;text-align:center;padding:3rem 1rem 6rem;font-size:.9rem}
.pie-logo{height:70px;width:auto;margin:0 auto 1rem}
.pie a{color:#fff}
.hecho{opacity:.7;font-size:.8rem}
.wa-flot{position:fixed;right:1rem;bottom:1rem;z-index:15;background:#25d366;color:#08331a;font:700 .9rem var(--tit);text-decoration:none;padding:.8em 1.2em;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.18)}

/* diálogo de reserva */
dialog#reserva{width:min(620px,96vw);max-height:92vh;border:0;border-radius:16px;padding:0;background:var(--superficie);color:var(--texto);overflow:auto}
dialog#reserva::backdrop{background:rgba(17,22,13,.55)}
.r-cab{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.3rem .2rem}
.r-cab h2{margin:0;font-size:1.4rem}
.progreso{display:flex;gap:.4rem;list-style:none;padding:0 1.3rem;margin:.6rem 0 0;counter-reset:p}
.progreso li{flex:1;font-size:0;height:4px;border-radius:2px;background:var(--linea)}
.progreso li.activo{background:var(--verde)}
.paso{padding:1rem 1.3rem}
.paso h3{font-size:1.05rem;color:var(--texto)}
fieldset{border:0;padding:0;margin:0 0 1rem}
legend{font:600 .95rem var(--tit);color:var(--texto);margin-bottom:.4rem;padding:0}
.opcion{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .8rem;border:1px solid var(--linea);border-radius:10px;margin-bottom:.4rem;cursor:pointer}
.opcion:has(input:checked){border-color:var(--verde);background:var(--tinta)}
.opcion input{margin-top:.3rem;accent-color:var(--verde)}
.opcion span{display:grid}
.opcion small{color:var(--suave)}
.elegido{font:700 1rem var(--tit);margin:0 0 .3rem}
.regla{font-size:.85rem;color:var(--suave);margin:0 0 .8rem}
.fecha-elegida{font-weight:600;margin:.8rem 0 .4rem}
.horas{display:flex;flex-wrap:wrap;gap:.4rem}
.hora{border:1px solid var(--linea);background:var(--superficie);color:var(--texto);padding:.45em .9em;border-radius:999px;cursor:pointer;font:500 .9rem var(--cuerpo)}
.hora.sel{background:var(--verde);color:#fff;border-color:var(--verde)}
.hora[disabled]{opacity:.4;cursor:not-allowed}
.form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.form label{display:grid;gap:.25rem;font-size:.85rem;color:var(--suave)}
.form .ancho{grid-column:1/-1}
.form input,.form textarea{border:1px solid var(--linea);border-radius:8px;padding:.6em .7em;font:400 1rem var(--cuerpo);background:var(--fondo);color:var(--texto)}
.form .check{display:flex;gap:.5rem;align-items:flex-start}
.form .check input{margin-top:.25rem;accent-color:var(--verde)}
.resumen{margin:0 0 1rem;display:grid;gap:.5rem}
.resumen div{display:grid;grid-template-columns:150px 1fr;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--linea)}
.resumen dt{color:var(--suave);font-size:.85rem}
.resumen dd{margin:0;font-weight:500}
.aviso{margin:0 1.3rem;padding:.6rem .8rem;border-radius:8px;background:#fbeee8;color:#7a2e12;font-size:.9rem}
[data-theme="oscuro"] .aviso{background:#3a2016;color:#f3c8b5}
.r-pie{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.3rem 1.3rem;position:sticky;bottom:0;background:var(--superficie);border-top:1px solid var(--linea)}
@media (max-width:520px){.form{grid-template-columns:1fr}.resumen div{grid-template-columns:1fr}}
