:root{--principal:#0c3a49;--acento:#f06414;--acento-claro:#ff8a3d;--gris:#eef3f5;--texto:#1c1c1c}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--gris);color:var(--texto);font-size:18px;line-height:1.5}
.topbar{background:var(--principal);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;position:sticky;top:0;z-index:10}
.logo{display:flex;align-items:center;line-height:0}
.logo img{height:54px;width:auto;background:#fff;border:2px solid var(--acento);border-radius:10px;padding:4px 10px;box-shadow:0 1px 4px rgba(0,0,0,.3)}
nav{display:flex;flex-wrap:wrap;gap:8px}
.navbtn{background:transparent;color:#fff;border:2px solid var(--acento);border-radius:8px;padding:10px 14px;font-size:17px;cursor:pointer}
.navbtn.activo,.navbtn:hover{background:var(--acento);color:#111}
.sesion{margin-left:auto;display:flex;align-items:center;gap:10px}
.btn-sesion{background:var(--acento);color:#111;border:none;border-radius:8px;padding:10px 14px;font-size:16px;font-weight:bold;cursor:pointer}
.btn-sesion:hover{background:var(--acento-claro)}
#sesion-texto{font-size:16px}
#sesion-texto .rol{color:var(--acento-claro);font-weight:bold}
main{max-width:1180px;margin:0 auto;padding:18px}
.hero{background:var(--principal);color:#fff;border-radius:14px;padding:28px;border-bottom:6px solid var(--acento)}
.hero h1{margin:0 0 8px;font-size:30px;color:var(--acento-claro)}
.confianza{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
.confianza div{background:#fff;border:2px solid var(--acento);border-radius:10px;padding:12px;font-weight:bold;text-align:center}
.layout-comprar{display:grid;grid-template-columns:300px 1fr;gap:18px}
@media(max-width:820px){.layout-comprar{grid-template-columns:1fr}}
.filtros{background:#fff;border-radius:12px;padding:16px;height:fit-content}
.filtros label,.formulario label{display:block;margin:10px 0}
input,select,textarea{width:100%;padding:10px;font-size:17px;border:1px solid #999;border-radius:8px;margin-top:4px}
.btn-dorado{background:var(--acento);color:#111;border:none;border-radius:8px;padding:12px 18px;font-size:18px;font-weight:bold;cursor:pointer;width:auto}
.btn-dorado:hover{background:var(--acento-claro)}
.btn-gris{background:#ddd;border:none;border-radius:8px;padding:10px 14px;font-size:16px;cursor:pointer}
.catalogo{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.tarjeta{background:#fff;border-radius:12px;padding:16px;border-top:6px solid var(--acento);box-shadow:0 2px 6px rgba(0,0,0,.12)}
.tarjeta h3{margin:4px 0;font-size:21px}
.precio{font-size:24px;font-weight:bold;color:var(--acento)}
.chip{display:inline-block;background:var(--principal);color:var(--acento-claro);border-radius:20px;padding:3px 12px;font-size:14px;margin:2px 0}
.chip.clara{background:#eee;color:#333}
.oculto{display:none!important}
.conseguimos{background:#fff;border-radius:12px;padding:16px;margin-top:18px;border:2px dashed var(--acento)}
.conseguimos form{display:grid;gap:8px}
.formulario{background:#fff;border-radius:12px;padding:18px;max-width:760px}
fieldset{border:1px solid #bbb;border-radius:8px;margin:14px 0}
.checks label{display:inline-block;margin:4px 12px 4px 0}
.checks input{width:auto}
.nota{font-size:15px;color:#555}
.privacidad{font-size:15px}
.msg{font-weight:bold;color:#256029}
.pasos li{margin:8px 0}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;overflow:auto;z-index:50}
.modal-caja{background:#fff;border-radius:14px;max-width:860px;width:94%;margin:24px;padding:22px}
.resultado{background:#fff3ea;border:1px solid var(--acento);border-radius:8px;padding:12px;margin-top:10px}
.whatsapp{position:fixed;right:16px;bottom:16px;background:#25d366;color:#fff;font-weight:bold;padding:12px 18px;border-radius:30px;text-decoration:none;box-shadow:0 3px 8px rgba(0,0,0,.3)}
footer{background:var(--principal);color:#ccc;text-align:center;padding:18px;margin-top:26px}
table{border-collapse:collapse;width:100%;background:#fff}
.aviso-privacidad{background:#fff;border-radius:12px;padding:18px 22px;margin:14px 0;border-top:6px solid var(--principal)}
.aviso-privacidad h3{color:var(--principal)}
.aviso-privacidad h4{color:var(--principal);margin-bottom:4px}
.texto-legal{background:#fff;border:1px solid #bbb;border-radius:12px;padding:16px 20px;max-height:420px;overflow:auto;font-size:16px}
.texto-legal h3,.texto-legal h4{color:var(--principal)}
.cita-legal{border-left:5px solid var(--acento);background:#fff3ea;margin:12px 0;padding:10px 16px;border-radius:0 8px 8px 0}
.doc-bloque{background:#fff;border:1px solid #bbb;border-radius:12px;padding:14px 16px;margin:12px 0}
.doc-estado{font-weight:bold;color:var(--principal)}
.doc-bloque input[type="file"]{margin:8px 0}
.sello-fin{font-weight:bold;color:var(--principal)}
.sello-legal{display:inline-block;font-weight:bold;color:#14632e;background:#e6f5ea;border:1.5px solid #14632e;border-radius:8px;padding:3px 10px;margin:4px 0;font-size:14.5px}
.sello-catalogado{display:inline-block;font-weight:bold;color:var(--principal);background:#e8f1f4;border:1.5px solid var(--principal);border-radius:8px;padding:3px 10px;margin:4px 0;font-size:14.5px}
.sello-apartado{font-weight:bold;color:#b23c00}
.apartado{background:#fff3ea;border:2px solid var(--acento);border-radius:10px;padding:12px 14px;margin:12px 0}
button:disabled{opacity:.45;cursor:not-allowed}
th,td{border:1px solid #ccc;padding:8px;text-align:left}
th{background:var(--principal);color:var(--acento-claro)}
/* PWA: caja de instalación de la app (013) */
.instalar-app{max-width:1100px;margin:18px auto;padding:14px 18px;background:#e8f1f4;border:2px solid var(--principal);border-radius:10px}
/* Desglose previo a confirmar puja/compra (012) */
.desglose-confirmacion{margin:14px 0}
.desglose-confirmacion table{width:100%}
/* MaqBid+ (015): tarjetas de beneficios de la vista pública */
.tarjetas-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:14px 0}
.tarjeta-info{background:#fff;border:1px solid #d8e2e6;border-top:4px solid var(--acento);border-radius:10px;padding:14px 16px}
