:root{--fondo:#1c1511;--fondo-2:#261d17;--linea:#3d2f25;--oro:#c4a050;--texto:#efe8da;--suave:#a69885;
--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
body{background:var(--fondo);color:var(--texto);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
a{color:var(--oro)}
.wrap{max-width:36rem;margin:0 auto;padding:2rem 1.25rem 4rem}
h1{font:500 clamp(2.4rem,10vw,3.4rem)/1 var(--serif);margin-top:1.5rem}
h2{font:500 1.7rem/1.1 var(--serif);color:var(--oro);margin:2.5rem 0 .5rem}
.intro{margin-top:1rem;color:var(--suave)}
label.c{display:block;margin-top:1.4rem;font-weight:500}
.ayuda{display:block;color:var(--suave);font-size:.9rem;font-weight:400;margin-bottom:.4rem}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;margin-top:.4rem;padding:.8rem;background:var(--fondo-2);color:var(--texto);border:1px solid var(--linea);font:inherit}
textarea{min-height:6rem}
.check{display:flex;gap:.7rem;margin-top:1.6rem;color:var(--suave);font-size:.92rem}
.check input{margin-top:.3rem;accent-color:var(--oro)}
button{margin-top:2rem;width:100%;padding:1rem;background:var(--oro);color:var(--fondo);border:0;font:500 1rem var(--sans);cursor:pointer}
button.sec{background:none;color:var(--oro);border:1px solid var(--oro);margin-top:.8rem}
button.mini{width:auto;margin:.8rem 0 0;padding:.6rem 1rem;background:none;color:var(--oro);border:1px solid var(--linea)}
button:disabled{opacity:.5;cursor:not-allowed}
.tarjeta{margin-top:1.2rem;padding:1.2rem;background:var(--fondo-2);border:1px solid var(--linea)}
.tarjeta h3{font:500 1.5rem/1.15 var(--serif)}
.tarjeta .cuando{color:var(--oro)}.tarjeta .cuando::first-letter{text-transform:uppercase}
.tarjeta p{margin-top:.5rem;color:#d8cfbf;white-space:pre-line}
.lugares{display:flex;gap:1.5rem;margin-top:.8rem;color:var(--texto)}
.inv{display:flex;gap:.5rem;align-items:center}
.inv input{flex:1}
.inv button{width:auto;margin:.4rem 0 0;padding:.7rem .9rem;background:none;color:var(--suave);border:1px solid var(--linea)}
#msg{margin-top:1rem;min-height:1.5rem;color:#e49a8a}
.gracias{text-align:center;padding:4rem 0}
.gracias p{margin-top:1rem;color:var(--suave)}
[hidden]{display:none!important}

fieldset.grupo{border:0;padding:0;margin-top:1.4rem;min-width:0}
fieldset.grupo legend{font-weight:500;padding:0;margin-bottom:.2rem}
.acomp{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.7rem;padding:.8rem;border:1px solid var(--linea)}
.acomp input{margin-top:0}
.acomp .t{grid-column:1 / span 1}
.acomp button{width:auto;margin:0;padding:.7rem .9rem;background:none;color:var(--suave);border:1px solid var(--linea)}
.link{display:flex;gap:.5rem;align-items:center;margin-top:.8rem}
.link input{flex:1;margin-top:0}
.link button{margin:0}
.opcion-lugar{margin-top:.6rem}
@media (max-width:30rem){.acomp{grid-template-columns:1fr}}
.boton-dorado{display:block;margin-top:1.6rem;text-align:center;padding:.95rem 1rem;background:var(--oro);color:var(--fondo);text-decoration:none;font-weight:500}
