/* Contratación pública (templates/facturacion/). Usa los componentes de gia.css. */
.ct{min-height:100%;background:var(--bg)}
.ct-top{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:0 auto;padding:20px 16px}
.ct-entrar{color:var(--fg-2);font-size:13.5px;font-weight:500;text-decoration:none}
.ct-entrar:hover{color:var(--fg)}
.ct-main{max-width:760px;margin:0 auto;padding:8px 16px 64px}
.ct-f{display:grid;gap:22px}
.ct-hd{display:grid;gap:8px}
.ct-hd h1{font-size:26px;font-weight:650;letter-spacing:-.02em}
.ct-hd p{color:var(--muted);max-width:62ch}

.ct-grupo{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.ct-grupo legend{font-size:12.5px;font-weight:500;color:var(--fg-2);margin-bottom:8px;padding:0}
.ct-planes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ct-opcion{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);cursor:pointer}
.ct-opcion:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.ct-opcion:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.ct-opcion input{accent-color:var(--accent);margin-top:3px}
.ct-opcion b{display:block;font-weight:600}
.ct-opcion span span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.ct-opcion a{color:var(--fg);font-weight:600}
.ct-medida{cursor:default;background:var(--sunk);border-style:dashed}
.ct-f .field{align-content:start}  /* que la cuadrícula no estire los campos al alto de su vecino */
.ct-error{margin:0;color:var(--bad);font-size:12.5px}
.ct-acciones{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

.ct-resumen{display:grid;gap:14px}
.ct-resumen-plan{margin:0;display:grid;gap:2px}
.ct-resumen-plan span{color:var(--muted);font-size:13px}
.ct-resumen dl{margin:0;display:grid;gap:8px}
.ct-resumen dl div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}
.ct-resumen dt{color:var(--fg-2)}
.ct-resumen dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums}
.ct-total{border-top:1px solid var(--line);padding-top:10px;font-weight:600}
.ct-total dd{font-size:16px}

@media (max-width:640px){
  .ct-planes{grid-template-columns:minmax(0,1fr)}
  .ct-acciones .btn{flex:1;justify-content:center}
}
