/* ============================================================
   GestionaTusPapeles.es — asistente, ficha, pago y seguimiento
   Usa las variables de color de /css/sitio.css
   ============================================================ */

/* Precio en tarjetas y cabeceras */
.gtp-precio{display:inline-flex;align-items:baseline;gap:6px;font-weight:800;color:var(--navy);font-size:15px}
.gtp-precio b{font-size:22px;letter-spacing:-.02em}
.gtp-precio small{font-weight:600;color:var(--muted);font-size:12.5px}
.gtp-estado{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:#fff4dc;color:#8a5a00}
.svc .acc{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:18px}
.svc .acc a{font-weight:700;color:var(--blue);text-decoration:none}
.svc .acc a:hover{text-decoration:underline}
.svc.dest{border-color:#b9cff5;box-shadow:0 20px 40px -28px #0b57d066}
.svc.prox{background:var(--soft)}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Página de servicio */
.sv-hero{background:linear-gradient(160deg,#0a1d3f 0%,#0b2f7a 100%);color:#fff;padding:56px 0 64px}
.sv-hero h1{color:#fff;font-size:clamp(30px,4.4vw,48px);line-height:1.1;letter-spacing:-.03em;margin:14px 0 14px}
.sv-hero .lead{color:#d3def3}
.sv-hero .eyebrow{background:#ffffff1a;color:#cfe0ff}
.sv-hero .meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:22px;align-items:center}
.sv-hero .meta .gtp-precio{color:#fff}.sv-hero .meta .gtp-precio small{color:#b8c7e6}
.sv-hero .linkbtn{color:#ffc861}
.sv-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
.sv-grid>*{min-width:0}
.sv-info h2{font-size:clamp(22px,2.6vw,28px);margin:0 0 10px}
.sv-info h3{font-size:18px;margin:26px 0 8px}
.sv-info ul{padding-inline-start:20px;margin:0}
.sv-info li{margin:6px 0}
.sv-side{position:sticky;top:96px}
@media (max-width:920px){.sv-grid{grid-template-columns:minmax(0,1fr)}.sv-side{position:static}}

/* Tarjeta del asistente */
.gtp-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px -40px #0a1d3f55;padding:28px;min-height:260px}
.gtp-card h2,.gtp-card h3{margin:0 0 10px}
.gtp-card h3{font-size:22px;line-height:1.3}
.gtp-card .ayuda{color:var(--muted);margin:0 0 18px;font-size:15px}
.gtp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:13.5px;color:var(--muted);font-weight:600}
.gtp-bar{height:6px;background:var(--soft);border-radius:999px;overflow:hidden;margin-bottom:22px}
.gtp-bar i{display:block;height:100%;background:var(--blue);border-radius:999px;transition:width .3s}
.gtp-ops{display:grid;gap:10px}
.gtp-ops.si-no{grid-template-columns:1fr 1fr}
.gtp-op{display:flex;align-items:center;gap:12px;width:100%;text-align:start;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:15px 16px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;transition:.15s}
.gtp-op:focus-visible{border-color:var(--blue);background:var(--blue-l);outline:none}
@media (hover:hover){.gtp-op:hover{border-color:var(--blue);background:var(--blue-l)}}
.si-no .gtp-op{justify-content:center;font-size:17px}
.gtp-in{display:flex;gap:10px;flex-wrap:wrap}
.gtp-in input{flex:1 1 200px}
.gtp-back{background:none;border:0;padding:6px 0;font:inherit;font-weight:700;color:var(--blue);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.gtp-back[disabled]{visibility:hidden}
.gtp-ok{display:flex;gap:12px;align-items:flex-start;background:#e9f8f1;border:1px solid #bfe8d6;color:#08613f;border-radius:14px;padding:14px 16px;margin-bottom:16px;font-weight:600}
.gtp-no{background:#fff6e5;border:1px solid #f6d79a;color:#6b4500;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.gtp-aviso{background:#fff1f0;border:1px solid #f3c2bd;color:#8a1f12;border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:14.5px}
.gtp-docs{margin:6px 0 18px;padding:0;list-style:none}
.gtp-docs li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.gtp-docs li:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:9px}
.gtp-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--soft);border-radius:16px;padding:16px 18px;margin:8px 0 18px}
.gtp-total b{font-size:32px;color:var(--navy);letter-spacing:-.02em}
.gtp-total small{color:var(--muted);font-weight:600}

/* Formularios */
.gtp-form{display:grid;gap:12px}
.gtp-form .dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.gtp-form .dos,.gtp-ops.si-no{grid-template-columns:1fr}}
.gtp-form label{display:grid;gap:5px;font-size:14px;font-weight:700;color:#39445a}
.gtp-card input[type=text],.gtp-card input[type=email],.gtp-card input[type=tel],.gtp-card input[type=date],.gtp-card input[type=number],.gtp-card select{
  width:100%;font:inherit;font-weight:500;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.gtp-card input:focus,.gtp-card select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0b57d022}
.gtp-chk{display:flex!important;grid-template-columns:none!important;gap:10px!important;align-items:flex-start;font-weight:500!important;font-size:14px!important;line-height:1.5}
.gtp-chk input{margin-top:4px;width:18px;height:18px;flex:none}
.gtp-metodos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gtp-metodos label{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;font-weight:700}
.gtp-metodos input:checked+span{color:var(--blue)}
.gtp-metodos label:has(input:checked){border-color:var(--blue);background:var(--blue-l)}
.gtp-btn{width:100%;margin-top:6px}
.gtp-btn[disabled]{opacity:.6;cursor:wait}
.gtp-err{color:var(--fix);font-weight:700;font-size:14.5px;min-height:1px}
.gtp-sub{font-size:13px;color:var(--muted);margin:0}
.gtp-sep{border:0;border-top:1px solid var(--line);margin:18px 0}

/* Popup de la ficha */
dialog.gtp-ficha{border:0;border-radius:22px;padding:0;width:min(720px,100% - 24px);max-height:90vh;box-shadow:0 40px 90px -30px #0a1d3fa0}
dialog.gtp-ficha::backdrop{background:#0a1d3fb3}
.gtp-ficha .hd{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 14px;border-bottom:1px solid var(--line)}
.gtp-ficha .hd h2{font-size:22px;margin:0}
.gtp-ficha .hd small{display:block;color:var(--muted);font-weight:600;margin-top:4px}
.gtp-ficha .x{background:var(--soft);border:0;border-radius:10px;width:38px;height:38px;font-size:22px;cursor:pointer;flex:none}
.gtp-ficha .bd{padding:6px 24px 24px}
.gtp-ficha h3{font-size:16.5px;color:var(--blue);margin:20px 0 6px}
.gtp-ficha ul{padding-inline-start:20px;margin:0}
.gtp-ficha li{margin:5px 0}
.gtp-ficha table{width:100%;border-collapse:collapse;font-size:14.5px}
.gtp-ficha th,.gtp-ficha td{text-align:start;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.gtp-ficha td.n{text-align:end;white-space:nowrap;font-weight:700}
.gtp-ficha .pie{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:22px}

/* Seguimiento */
.gtp-pasos{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:0}
.gtp-pasos li{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--muted)}
.gtp-pasos li i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:14px;background:var(--soft);color:var(--muted);font-weight:800}
.gtp-pasos li.hecho{color:var(--ink)}.gtp-pasos li.hecho i{background:var(--ok);color:#fff}
.gtp-pasos li.ahora{color:var(--navy)}.gtp-pasos li.ahora i{background:var(--blue);color:#fff}
.gtp-codigo{font:800 34px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;color:var(--navy);background:var(--soft);border-radius:14px;padding:16px;text-align:center;margin:10px 0}
.gtp-cargando{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:600}
.gtp-cargando:before{content:"";width:20px;height:20px;border-radius:50%;border:3px solid var(--blue-l);border-top-color:var(--blue);animation:gtpgira .8s linear infinite}
@keyframes gtpgira{to{transform:rotate(360deg)}}
.legal-pg{max-width:820px}
.legal-pg h2{font-size:22px;margin:30px 0 8px}
.legal-pg p,.legal-pg li{color:#2b3548}

/* Botones y campos con la tipografía del sitio */
button,input,select,textarea{font-family:inherit}

/* Campos que faltan, en rojo */
.gtp-card [aria-invalid=true]{border-color:var(--fix)!important;background:#fff5f5;box-shadow:0 0 0 3px #dc262622}
.gtp-err{scroll-margin-top:120px}

/* Antes de pagar: qué incluye, cronograma y condiciones */
.gtp-bloque{margin:4px 0 18px}
.gtp-bloque h4{font-size:16px;margin:0 0 8px;color:var(--navy)}
.gtp-incluye{margin:0;padding:0;list-style:none}
.gtp-incluye li{display:flex;gap:10px;padding:6px 0;font-size:15px}
.gtp-incluye li:before{content:"✓";flex:none;color:var(--ok);font-weight:800}
.gtp-crono{width:100%;border-collapse:collapse;font-size:14.5px}
.gtp-crono th,.gtp-crono td{text-align:start;padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.gtp-crono th{font-size:13px;color:var(--muted)}
.gtp-crono td:first-child{white-space:nowrap;font-weight:700;color:var(--navy);padding-inline-end:14px}
@media (max-width:560px){.gtp-crono td:first-child{white-space:normal}}
.gtp-importante{background:#fff6e5;border:1px solid #f6d79a;border-radius:14px;padding:12px 16px 12px 34px;margin:0;font-size:14.5px;color:#4a3300}
.gtp-importante li{margin:5px 0}
.gtp-presu{display:grid;gap:10px;background:var(--soft);border-radius:16px;padding:14px 16px;margin:0 0 18px}
.gtp-presu .gtp-btn{margin-top:0}
.btn-sec{background:#fff;border:1.5px solid var(--blue);color:var(--blue)}
.gtp-oficina{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:#0a1d3f;color:#fff;margin-bottom:10px}

/* Portada: todas las tarjetas de trámites con el borde azul (las «próximamente» mantienen el fondo gris) */
.grid3.tramites .svc{border-color:#b9cff5}
.svc-sub{display:block;margin-top:6px;font-weight:800;color:var(--blue);font-size:16px;letter-spacing:-.01em}
.gtp-desglose{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;padding-top:8px;border-top:1px dashed #b9cff5;font-size:13.5px;color:var(--ink)}
.gtp-desglose b{font-weight:800;color:var(--navy)}
.gtp-total .gtp-desglose b{font-size:15px;letter-spacing:0}
.gtp-incluye li.sub{padding:2px 0 2px 26px;font-size:14px;color:var(--muted)}
.gtp-incluye li.sub:before{content:"–";color:var(--muted);font-weight:600}
/* Portada: «Requisitos y tasas» siempre en su propia línea, debajo del enlace principal */
.grid3.tramites .svc .acc .linkbtn{flex-basis:100%;text-align:start}
/* Un precio aún sin cargar (hidden) no debe ocupar sitio ni empujar los enlaces */
.gtp-precio[hidden]{display:none}

/* ============================================================
   Precio en tarjetas (v2): total grande · sello «tasa incluida» · desglose
   ============================================================ */
.gtp-precio.gtp-precio-v2{flex-basis:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.gtp-precio-v2 .gtp-p-total{display:inline-flex;align-items:baseline;gap:6px}
.gtp-precio-v2 .gtp-p-total b{font-size:24px}
.gtp-p-sello{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;color:#08613f;background:#e9f8f1;border:1px solid #bfe8d6;border-radius:999px;padding:3px 10px;line-height:1.3}
.gtp-p-sello.alt{color:#8a5a00;background:#fff4dc;border-color:#f6d79a}
.gtp-p-desglose{display:flex;flex-direction:column;gap:2px;margin-top:2px;font-size:13px;font-weight:600;color:var(--muted);line-height:1.45}
.gtp-p-t{font-weight:800;color:var(--navy)}
.gtp-p-l{padding-inline-start:12px}
.gtp-p-l b{color:var(--navy);font-weight:800;white-space:nowrap}
.gtp-p-l small{font-weight:600;color:var(--muted);font-size:12.5px;white-space:nowrap}
.gtp-p-n{font-size:12.5px;font-weight:600;color:var(--muted);margin-top:3px}
.sv-hero .meta .gtp-p-t,.sv-hero .meta .gtp-p-l b{color:#fff}
.sv-hero .meta .gtp-p-l small,.sv-hero .meta .gtp-p-n{color:#b8c7e6}
.sv-hero .meta .gtp-precio-v2 .gtp-p-desglose{color:#b8c7e6}
.sv-hero .meta .gtp-p-sello{background:#ffffff1a;border-color:#ffffff33;color:#bff3da}
.sv-hero .meta .gtp-p-sello.alt{color:#ffd88a}

/* Ganchos encima de las tarjetas de trámites */
.gtp-ganchos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;margin:-18px 0 30px;padding:0;list-style:none}
.gtp-ganchos li{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--navy);background:#fff;border:1px solid #b9cff5;border-radius:999px;padding:8px 14px}
.gtp-ganchos li:before{content:"✓";color:var(--ok);font-weight:900}
@media (max-width:560px){.gtp-ganchos{justify-content:flex-start;margin-top:-8px}.gtp-ganchos li{font-size:14px}}

/* Asistente: «ⓘ Más información» y fecha en tres listas */
.gtp-card .ayuda+.gtp-mas{margin-top:-10px}
.gtp-mas{margin:0 0 18px;font-size:14.5px;color:var(--muted)}
.gtp-mas summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;color:var(--blue);list-style:none}
.gtp-mas summary::-webkit-details-marker{display:none}
.gtp-i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.6px solid currentColor;font:italic 700 12px/1 Georgia,serif}
.gtp-mas[open] summary{margin-bottom:6px}
.gtp-mas p{margin:6px 0 0;background:var(--soft);border-radius:12px;padding:10px 12px}
.gtp-fecha{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) minmax(0,1fr);gap:10px;align-items:end}
.gtp-fecha label{display:grid;gap:5px;font-size:13.5px;font-weight:700;color:#39445a}
.gtp-fecha .btn{grid-column:1/-1}
.gtp-fecha .gtp-err{grid-column:1/-1;margin:0}
.gtp-precio .gtp-p-desglose b{font-size:14px;letter-spacing:0}
.gtp-p-l b.txt{white-space:normal;font-weight:700}
.gtp-p-l.otros{display:flex;align-items:baseline;gap:6px}
.gtp-p-l.otros>span{flex:none}
.gtp-p-l.otros b.txt{font-size:14px;font-weight:800;color:var(--navy)}
.sv-hero .meta .gtp-p-l.otros b.txt{color:#fff}
.svc-gancho{line-height:1.6}
.svc-gancho br{display:block;content:"";margin-top:6px}
.svc-gancho b:first-child{color:var(--navy)}
.svc-cta{font-weight:800;color:var(--blue);text-decoration:none}
.svc-cta:hover{text-decoration:underline}
.gtp-oblig{font-weight:500;color:var(--muted);font-size:12.5px}
