:root{
  --verde:#0da863; --verde-osc:#008d4b; --verde-claro:#48d880;
  --texto:#3a3a3a; --gris:#727176; --gris-claro:#848484; --linea:#e6e6e6; --fondo:#f9f9f9;
}
*{box-sizing:border-box;}
body{margin:0;font-family:Lato,Tahoma,Verdana,sans-serif;color:var(--texto);background:var(--fondo);font-size:15px;}

/* ---------- Header ---------- */
.cab{background:#fff;}
.cab-in{max-width:1180px;margin:0 auto;padding:20px 24px;}
.logo{height:74px;}

/* ---------- Inicio: dos columnas ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:10px 24px 0;}
.cols{display:grid;grid-template-columns:minmax(340px,44%) 1fr;gap:56px;align-items:start;}
.h-seccion{font-size:22px;font-weight:700;color:#2b2b2b;margin:14px 0 26px;}
.h-titulo{font-size:22px;font-weight:700;color:#2b2b2b;margin:14px 0 6px;}

/* Pasos (columna izquierda) */
.paso{display:flex;align-items:flex-start;gap:22px;margin-bottom:26px;}
.burbuja{width:118px;height:auto;flex-shrink:0;}
.paso-txt h3{font-size:19px;font-weight:600;color:#2b2b2b;margin:14px 0 8px;}
.paso-txt p{margin:0;color:var(--gris);font-size:14px;line-height:1.5;text-align:justify;}

/* Listado (columna derecha) */
.intro{color:var(--gris-claro);font-size:14.5px;margin:0 0 22px;line-height:1.5;}
.cats{display:flex;flex-direction:column;gap:12px;}
.cat{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--linea);
     border-radius:8px;padding:14px 20px;box-shadow:0 1px 2px rgba(0,0,0,.03);}
.cat-ico{width:31px;height:31px;flex-shrink:0;object-fit:contain;}
span.cat-ico{display:inline-block;}
.cat-nom{flex:1;font-weight:700;font-size:16px;color:#2b2b2b;}
.cat-help{width:22px;height:22px;cursor:help;flex-shrink:0;}
.cat-help-vacio{width:22px;flex-shrink:0;}
.btn-agendar{background:var(--verde);color:#fff;text-decoration:none;padding:9px 18px;border-radius:5px;
     font-weight:700;font-size:13.5px;white-space:nowrap;flex-shrink:0;border:none;cursor:pointer;}
.btn-agendar:hover{background:var(--verde-osc);}
.consulta{margin:22px 0 30px;font-size:14px;}
.consulta a{color:var(--verde-osc);text-decoration:none;}
.consulta a:hover{text-decoration:underline;}

/* Pie con imagen */
.pie{margin-top:20px;line-height:0;}
.pie img{width:100%;display:block;}
.pie span{display:block;text-align:center;color:var(--gris);font-size:13px;padding:14px;}

/* ---------- Wizard (pasos de agendado) ---------- */
.contenedor{max-width:1180px;margin:0 auto;padding:20px 24px 60px;}
.cabecera{background:#fff;}
.cabecera-inner{max-width:1180px;margin:0 auto;padding:20px 24px;}
.wizard .volver{color:var(--verde-osc);text-decoration:none;font-size:14px;}
.wizard-titulo{color:#2b2b2b;font-size:22px;font-weight:700;margin:12px 0 20px;}
.pasos-wizard{list-style:none;display:flex;gap:10px;padding:0;margin:0 0 24px;flex-wrap:wrap;}
.pasos-wizard li{background:#fff;border:1px solid var(--linea);border-radius:22px;padding:9px 18px;font-size:14px;color:var(--gris);}
.pasos-wizard li.activo{background:var(--verde);color:#fff;border-color:var(--verde);}
.form-card{background:#fff;border:1px solid var(--linea);border-radius:8px;padding:24px;max-width:760px;}
.form-card h2{color:#2b2b2b;margin-top:0;}
.form-card label{display:block;font-size:13px;color:var(--gris);margin:14px 0 4px;font-weight:600;}
.form-card input,.form-card select{width:100%;padding:10px;border:1px solid #cdcdcb;border-radius:6px;font-size:15px;font-family:inherit;}
.form-card small{color:var(--gris);font-size:12px;}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ayuda{color:var(--gris);}
.alerta{background:#fdecea;color:#b3261e;border:1px solid #f5c6c2;border-radius:6px;padding:10px;margin:8px 0;}
.acciones{margin-top:22px;display:flex;gap:10px;align-items:center;}
.btn-primario{background:var(--verde);color:#fff;border:none;padding:11px 24px;border-radius:5px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;}
.btn-primario:hover{background:var(--verde-osc);}
.btn-sec{background:#eee;color:#333;text-decoration:none;padding:11px 18px;border-radius:5px;font-size:15px;border:none;cursor:pointer;font-family:inherit;}
.destacado{color:#b3261e;font-weight:600;}
.resumen{background:var(--fondo);border-radius:6px;padding:12px;margin:12px 0;font-size:14px;}
.requisitos{font-size:13px;color:#333;line-height:1.55;}

/* Fecha y horario */
.fecha-horario{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.calendario,.horarios{background:#fff;border:1px solid var(--linea);border-radius:8px;padding:18px;}
.cal-nav{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:#2b2b2b;margin-bottom:10px;}
.cal-nav a{color:var(--verde-osc);text-decoration:none;font-size:20px;padding:0 8px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.cal-h{font-size:12px;color:var(--gris);font-weight:600;padding:4px 0;}
.cal-dia{padding:6px 0;color:#bbb;font-size:14px;}
.cal-dia.disp a{display:block;color:#fff;background:var(--verde);border-radius:6px;text-decoration:none;padding:6px 0;font-weight:700;}
.cal-dia.disp a.sel{background:var(--verde-osc);}
.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px;}
.slot{background:#eafaf1;border:1px solid var(--verde);color:var(--verde-osc);border-radius:6px;padding:9px;cursor:pointer;font-size:14px;width:100%;font-family:inherit;}
.slot:hover{background:var(--verde);color:#fff;}

/* Comprobante */
.comprobante-body{background:#fff;}
.comprobante{max-width:780px;margin:0 auto;padding:24px;}
.comp-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--verde);padding-bottom:10px;}
.comp-logo{height:64px;}
.comp-titulo h1{font-size:22px;margin:0;color:#2b2b2b;font-weight:400;}
.comp-info,.comp-req{margin-top:16px;}
.comp-info h2,.comp-req h2{background:#eee;padding:8px 12px;font-size:16px;font-weight:500;border-radius:4px;}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 12px;}
.comp-grid label,.comp-dir label{color:var(--gris);font-size:13px;}
.comp-dir{padding:8px 12px;}
.comp-req div{font-size:12px;line-height:1.5;padding:0 12px;white-space:pre-line;}
.comp-qr{margin:18px 12px;}
.comp-pie{color:var(--gris);font-size:12px;border-top:1px solid var(--linea);margin-top:20px;padding-top:8px;}
.comp-acciones{margin-top:16px;display:flex;gap:12px;align-items:center;}
.comp-acciones button{background:var(--verde);color:#fff;border:none;padding:9px 18px;border-radius:6px;cursor:pointer;font-family:inherit;}
@media print{.no-print{display:none;}}

@media(max-width:900px){.cols{grid-template-columns:1fr;gap:30px;}}
@media(max-width:760px){.fila,.fecha-horario,.comp-grid{grid-template-columns:1fr;}}

/* ===================== Wizard (réplica GeneXus) ===================== */
.wz-body{background:var(--fondo);}
.wz-top{background:#fff;position:relative;display:flex;align-items:center;justify-content:center;padding:18px 24px;min-height:58px;}
.wz-inicio{position:absolute;left:30px;top:50%;transform:translateY(-50%);color:#0a8a4f;font-weight:700;text-decoration:none;font-size:16px;}
.wz-titulo{display:flex;align-items:center;gap:12px;color:#ae8a4e;font-weight:700;font-size:22px;}
.wz-escudo{height:34px;}
.wz-main{max-width:1180px;margin:0 auto;padding:26px 24px 0;}

/* Indicador de pasos */
.wz-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 30px;}
.wz-step{display:flex;flex-direction:column;align-items:center;gap:10px;color:#c9c9cf;}
.wz-step .wz-ico{width:34px;height:34px;}
.wz-step .wz-ico svg{width:100%;height:100%;fill:currentColor;}
.wz-step .wz-lbl{font-size:18px;font-weight:600;}
.wz-step.act{color:#3666f0;}
.wz-step.done{color:#06ae6c;}

/* Paso 1 — inputs píldora con etiqueta arriba */
.wz-form{max-width:1040px;margin:0 auto;}
.wz-intro{color:#6b6b6b;font-size:16px;margin:8px 0 20px;text-align:center;}
.wz-alerta{background:#fdecea;color:#b3261e;border:1px solid #f5c6c2;border-radius:10px;padding:10px 16px;margin:8px 0;}
.wz-campo{position:relative;margin:12px 0;}
.wz-campo > label{color:#9a9aa6;font-size:12px;position:absolute;left:24px;top:9px;pointer-events:none;}
.wz-campo input,.wz-campo select{width:100%;border:1px solid #e2e2ec;background:#eff0f6;border-radius:26px;padding:24px 22px 9px;font-size:15px;font-family:inherit;color:#333;outline:none;}
.wz-campo select{padding-top:22px;}
.wz-campo input:focus{background:#fff;border-color:#06ae6c;box-shadow:0 0 0 1px #06ae6c;}
.wz-help{display:block;color:#5b5b5b;font-size:13px;margin:2px 6px 8px;}
.wz-fila{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.wz-acciones-centro{text-align:center;margin:26px 0;}
.wz-btn{background:#06ae6c;color:#fff;border:none;padding:11px 26px;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;box-shadow:0 2px 4px rgba(0,0,0,.12);}
.wz-btn:hover{background:#059a5f;}
.wz-btn-sec{background:#fff;color:#333;border:1px solid #ccc;padding:10px 22px;border-radius:8px;font-size:15px;text-decoration:none;cursor:pointer;font-family:inherit;}
.wz-acciones{display:flex;justify-content:flex-end;gap:12px;margin:26px 0 10px;align-items:center;}

/* Banner amarillo */
.wz-banner{display:flex;align-items:center;gap:16px;background:#fcedc8;border-radius:16px;padding:16px 22px;margin:6px 0 26px;}
.wz-banner-chk{width:26px;height:26px;border:1px solid #cbb98a;border-radius:5px;background:#fff;flex-shrink:0;}
.wz-banner span:last-child{font-weight:700;color:#333;font-size:16px;}

/* Paso 2 — fecha y horario */
.wz-fh{display:grid;grid-template-columns:minmax(300px,340px) 1fr;gap:34px;align-items:start;}
.wz-col-tit{color:#6b6b6b;font-weight:400;font-size:17px;margin:0 0 14px;}
.wz-cal{background:#fff;border:1px solid #eee;border-radius:8px;padding:14px;}
.wz-cal-nav{display:flex;justify-content:space-between;align-items:center;color:#555;font-weight:600;margin-bottom:8px;padding:0 6px;}
.wz-cal-nav a{color:#555;text-decoration:none;font-size:18px;padding:0 8px;}
.wz-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;}
.wz-cal-h{font-size:13px;color:#888;padding:6px 0;}
.wz-dia{padding:3px 0;font-size:14px;}
.wz-dia.off span{color:#ccc;}
.wz-dia.disp a{display:inline-block;width:30px;height:30px;line-height:30px;border-radius:50%;color:#333;text-decoration:none;}
.wz-dia.disp a:hover{background:#eef1ff;}
.wz-dia.disp a.sel{background:#3666f0;color:#fff;}
.wz-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.wz-slot{background:#fff;border:1px solid #d8d8d8;border-radius:8px;padding:11px 6px;font-size:14px;font-weight:600;color:#444;cursor:pointer;font-family:inherit;white-space:nowrap;width:100%;}
.wz-slot:hover{border-color:#06ae6c;color:#06ae6c;}
.wz-ayuda{color:#888;font-size:14px;}

/* Paso 3 — solicitud */
.wz-sol-ico{text-align:center;margin:6px 0 4px;}
.wz-sol-ico svg{width:74px;height:74px;fill:#3666f0;}
.wz-sol-tit{text-align:center;font-size:20px;color:#333;margin:6px 0;font-weight:700;}
.wz-sol-txt{text-align:center;color:#444;font-size:16px;margin:6px 0 20px;line-height:1.5;}
.wz-req-card{background:#fff;border:1px solid #e4e4e4;border-radius:12px;padding:20px 24px;max-width:1120px;margin:0 auto;}
.wz-req-tit{color:#e11900;font-weight:700;font-size:17px;margin:0 0 10px;}
.wz-req-txt{font-size:13px;color:#333;line-height:1.55;white-space:pre-line;}

@media(max-width:900px){.wz-fh{grid-template-columns:1fr;}.wz-slots{grid-template-columns:repeat(3,1fr);}.wz-fila{grid-template-columns:1fr;}.wz-step .wz-lbl{font-size:14px;}.wz-titulo{font-size:17px;}}
