/* `/presupuesto`. Usa las variables y los componentes de `ticdat.css`. */
.pr { max-width: 62rem; }
.pr-tipos { display: inline-flex; gap: .25rem; padding: .25rem; margin: .5rem 0 1.5rem; border-radius: var(--radio-chico); background: var(--fondo-suave); }
.pr-tipo { cursor: pointer; }
.pr-tipo input { position: absolute; opacity: 0; }
.pr-tipo span { display: block; padding: .65rem 1.5rem; border-radius: 6px; font-weight: 700; color: var(--tinta-suave); }
.pr-tipo input:checked + span { background: #fff; color: var(--tinta); box-shadow: var(--sombra); }
.pr-tipo input:focus-visible + span { outline: 3px solid var(--marca-texto); outline-offset: 2px; }
.pr-planes { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
form:has(input[name="tipo"][value="sociedad"]:checked) .pr-planes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pr-plan { display: block; cursor: pointer; }
.pr-plan input { position: absolute; opacity: 0; }
.pr-plan__cuerpo { display: block; height: 100%; padding: 1.25rem; border: 2px solid var(--linea); border-radius: var(--radio); background: #fff; }
.pr-plan:hover .pr-plan__cuerpo { border-color: var(--tinta-tenue); }
.pr-plan input:checked + .pr-plan__cuerpo { border-color: var(--marca-texto); background: var(--fondo-suave); }
.pr-plan input:focus-visible + .pr-plan__cuerpo { outline: 3px solid var(--marca-texto); outline-offset: 2px; }
.pr-plan__datos { display: none; }
form:has(input[name="tipo"][value="autonomo"]:checked) .pr-plan__datos--autonomo,
form:has(input[name="tipo"][value="sociedad"]:checked) .pr-plan__datos--sociedad,
form:has(input[name="tipo"][value="europa"]:checked) .pr-plan__datos--europa { display: block; }
form:not(:has(input[name="tipo"][value="autonomo"]:checked)) .pr-solo-autonomo,
form:not(:has(input[name="tipo"][value="sociedad"]:checked)) .pr-solo-sociedad,
form:has(input[name="tipo"][value="europa"]:checked) .pr-no-europa,
form:has(input[name="tipo"][value="europa"]:checked) .pr-barra--facturas { display: none; }
form:has(input[name="tipo"][value="europa"]:checked) .pr-planes { grid-template-columns: minmax(0, 28rem); }
.pr-plan__nombre { display: block; font-size: 1.7rem; font-weight: 800; line-height: 1.2; color: var(--tinta); }
.pr-plan__precio { display: block; font-size: 2.2rem; font-weight: 700; line-height: 1.2; color: var(--tinta); margin: .35rem 0 .75rem; }
.pr-plan__precio small { font-size: .95rem; font-weight: 400; color: var(--tinta-suave); }
.pr-plan__titulo-no { display: block; margin-top: .9rem; font-size: 1.1rem; font-weight: 800; color: var(--tinta); }
.pr-plan__si, .pr-plan__no { display: block; padding: .2rem 0 .2rem 1.4rem; position: relative; font-size: .95rem; }
.pr-plan__si::before, .pr-plan__no::before { position: absolute; left: 0; font-weight: 700; }
.pr-plan__si::before { content: "✓"; color: var(--verde); }
.pr-plan__no { color: var(--tinta-tenue); }
.pr-plan__no::before { content: "–"; }
.pr-plan__destacado { display: block; margin-top: .75rem; padding: .6rem .75rem; border-radius: var(--radio-chico); background: var(--fondo-suave); font-size: .92rem; font-weight: 600; color: var(--marca-osc); }
.pr-plan input:checked + .pr-plan__cuerpo .pr-plan__destacado { background: #fff; }
.pr-plan__nota { display: block; margin-top: .6rem; font-size: .85rem; color: var(--tinta-suave); }
form:has(input[name="plan"][value="full"]:checked) .pr-barra--facturas,
form:has(input[name="plan"][value="empresa"]:checked) .pr-barras,
form:has(input[name="plan"][value="empresa"]:checked) .pr-total__cierre,
form:has(input[name="plan"][value="empresa"]:checked) .pr-total__nota { display: none; }
.pr-ayuda { color: var(--tinta-suave); margin: -.4rem 0 .75rem; }
.pr-paises { display: grid; gap: .6rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pr-paises--uno { grid-template-columns: minmax(0, 1fr); margin-bottom: 1rem; }
form:has(input[name="plan"]:is([value="full"], [value="empresa"]):checked) .pr-solo-basico,
form:not(:has(input[name="plan"]:is([value="full"], [value="empresa"]):checked)) .pr-solo-pro { display: none; }
.pr-pais { cursor: pointer; }
.pr-pais input { position: absolute; opacity: 0; }
.pr-pais span { display: block; padding: .7rem .5rem; border: 2px solid var(--linea); border-radius: var(--radio-chico); background: #fff; text-align: center; font-weight: 600; }
.pr-pais input:checked + span { border-color: var(--marca-texto); background: var(--fondo-suave); }
.pr-pais input:focus-visible + span { outline: 3px solid var(--marca-texto); outline-offset: 2px; }
.pr-barra { margin-bottom: 1.1rem; }
.pr-barra label { display: block; margin-bottom: .35rem; }
.pr-barra input { width: 100%; accent-color: var(--marca-texto); }
.pr-ayuda--pie { margin: .25rem 0 0; font-size: .9rem; }
.pr-total { margin: 1.25rem 0 0; padding: 1rem; border-radius: var(--radio-chico); background: var(--fondo-suave); text-align: center; }
.pr-total p { margin: 0; font-size: 1.15rem; }
.pr-total #pr-total { font-size: 2rem; }
.pr-total .pr-total__cierre { margin-top: .6rem; padding-top: .6rem; border-top: 1px solid var(--linea); }
.pr-total__cierre strong { font-size: 1.35rem; }
.pr-total .pr-total__nota { margin-top: .2rem; font-size: .88rem; color: var(--tinta-suave); }
.pr-fija { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; margin: 0; padding: .8rem 11rem .8rem 1.25rem; background: var(--fondo-oscuro); color: #fff; font-size: 1.05rem; }
.pr-fija strong { font-size: 1.35rem; }
form:has(input[name="plan"][value="empresa"]:checked) .pr-fija__cierre { display: none; }
#contenido { padding-bottom: 4rem; }
.pr-aviso { margin: .75rem 0 0; text-align: center; font-weight: 600; color: var(--marca-texto); }
.pr-aviso[hidden] { display: none; }
.pr-letra { font-size: .82rem; color: var(--tinta-tenue); margin: .75rem 0 0; }
.pr-envio { font-size: 1.5rem; margin: 2rem 0 .75rem; }
.pr-datos { display: grid; gap: 0 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pr-otro { font-size: .9rem; color: var(--tinta-suave); margin-top: 1.25rem; }
@media (max-width: 620px) {
  .pr-planes, .pr-datos,
  form:has(input[name="tipo"][value="sociedad"]:checked) .pr-planes { grid-template-columns: minmax(0, 1fr); }
  .pr-paises { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pr-paises--uno { grid-template-columns: minmax(0, 1fr); }
}
