/* TRILCE – Lista de Espera 2027 | style.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--n:#F15A24;--nd:#D94E1A;--nl:#FF7A3D;--texto:#1a1a1a;--gris:#6b7280;--verde:#25D366}
body{font-family:'Nunito',sans-serif;min-height:100vh;background:linear-gradient(135deg,#F15A24 0%,#FF8C42 40%,#E84A0C 70%,#C93D00 100%);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow-x:hidden}
.bg-circle{position:fixed;border-radius:50%;pointer-events:none;border:55px solid rgba(255,255,255,.07)}
.bg-circle--1{width:500px;height:500px;top:-150px;left:-150px}
.bg-circle--2{width:400px;height:400px;bottom:-100px;right:-100px}
.bg-wave{position:fixed;pointer-events:none;bottom:80px;right:-30px;width:300px;height:80px;background:linear-gradient(90deg,transparent,rgba(247,201,72,.5));border-radius:40px;transform:rotate(-8deg)}
.bg-wave--2{bottom:40px;width:240px;height:55px;opacity:.7}
/* CARD */
.card{background:#fff;border-radius:24px;padding:36px 48px 48px;width:100%;max-width:640px;box-shadow:0 30px 80px rgba(0,0,0,.25),0 8px 24px rgba(0,0,0,.15);position:relative;z-index:10;animation:slideUp .6s cubic-bezier(.16,1,.3,1) both}
@keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
/* LOGO */
.logo-wrap{text-align:center;margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}
.logo{max-height:70px;max-width:200px;object-fit:contain}
.logo-success{max-height:60px;max-width:180px;object-fit:contain;margin-bottom:20px}
/* HEADER */
.card-header{margin-bottom:28px}
.card-header h1{font-family:'Poppins',sans-serif;font-size:1.9rem;font-weight:800;color:var(--texto);margin-bottom:8px}
.card-header p{color:var(--gris);font-size:.95rem;font-weight:500;line-height:1.5}
/* GRID */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.field input,.field select{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;font-family:'Nunito',sans-serif;font-size:.95rem;font-weight:600;color:var(--texto);background:#fafafa;outline:none;appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F15A24' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}
.field input::placeholder{color:#9ca3af;font-weight:500}
.field input:focus,.field select:focus{border-color:var(--n);background:#fff;box-shadow:0 0 0 4px rgba(241,90,36,.12)}
.field input.error,.field select.error{border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.1)}
/* CHECKS */
.checks{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.check-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--texto);line-height:1.4}
.check-label input[type=checkbox]{display:none}
.custom-check{width:20px;height:20px;min-width:20px;border:2px solid #d1d5db;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:1px;background:#fff}
.check-label input:checked+.custom-check{background:var(--n);border-color:var(--n)}
.custom-check svg{display:none}
.check-label input:checked+.custom-check svg{display:block}
.check-label a{color:var(--n);text-decoration:underline;font-weight:700}
/* STATUS */
.form-status{font-size:.83rem;font-weight:700;min-height:20px;margin-bottom:10px;color:#dc2626}
/* BOTONES */
.btn-primary{width:100%;padding:17px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--nl),var(--n),var(--nd));background-size:200% 200%;color:#fff;font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s,background-position .4s;box-shadow:0 6px 20px rgba(241,90,36,.45)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(241,90,36,.55);background-position:right center}
.btn-primary:active{transform:translateY(0)}
.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}
.btn-whatsapp{width:100%;padding:16px;margin-top:12px;border:none;border-radius:14px;background:var(--verde);color:#fff;font-family:'Poppins',sans-serif;font-size:1rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-decoration:none;box-shadow:0 6px 20px rgba(37,211,102,.35);transition:transform .2s,box-shadow .2s}
.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,211,102,.45)}
/* ÉXITO */
.success-screen{display:none;flex-direction:column;align-items:center;text-align:center;padding:8px 0 4px;animation:slideUp .5s cubic-bezier(.16,1,.3,1) both}
.success-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--nl),var(--n));border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 8px 24px rgba(241,90,36,.35);animation:popIn .5s .2s cubic-bezier(.34,1.56,.64,1) both}
@keyframes popIn{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.success-screen h2{font-family:'Poppins',sans-serif;font-size:1.85rem;font-weight:800;color:var(--texto);margin-bottom:12px}
.success-screen>p{color:var(--gris);font-size:.97rem;font-weight:500;line-height:1.6;max-width:360px;margin-bottom:32px}
.success-screen p strong{color:var(--texto)}

/* ══ MODALES ══ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.modal-overlay.abierto{display:flex}
.modal-box{background:#fff;border-radius:20px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:slideUp .3s cubic-bezier(.16,1,.3,1) both}
.modal-header{padding:20px 24px 16px;border-bottom:2px solid #f0f0f0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0}
.modal-header h3{font-family:'Poppins',sans-serif;font-size:1rem;font-weight:800;color:var(--texto);line-height:1.3}
.modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--gris);padding:4px 8px;border-radius:6px;line-height:1;flex-shrink:0}
.modal-close:hover{background:#f3f4f6;color:var(--texto)}
.modal-body{padding:20px 24px;overflow-y:auto;flex:1;font-size:.88rem;color:#374151;line-height:1.7}
.modal-body h4{font-family:'Poppins',sans-serif;font-weight:800;color:var(--texto);margin:16px 0 8px;font-size:.92rem}
.modal-body h4:first-child{margin-top:0}
.modal-body p{margin-bottom:10px}
.modal-body ul{padding-left:20px;margin-bottom:10px}
.modal-body li{margin-bottom:6px}
.modal-body strong{color:var(--texto);font-weight:700}
.modal-footer{padding:16px 24px;border-top:2px solid #f0f0f0;display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.btn-modal-aceptar{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--nl),var(--n));color:#fff;font-family:'Poppins',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 4px 14px rgba(241,90,36,.4);transition:transform .15s}
.btn-modal-aceptar:hover{transform:translateY(-1px)}

/* RESPONSIVE */
@media(max-width:600px){.card{padding:28px 20px 36px}.card-header h1{font-size:1.6rem}.form-grid{grid-template-columns:1fr}.logo{max-height:55px}.modal-footer{flex-direction:column}}
