/* ===========================================================================
   CALCOLATORI (20/10/2026) - caricato solo nelle pagine con lo shortcode.
   Stessa famiglia del tema: superficie calda, nero, lime solo sul numero che
   conta (la puntata da piazzare). Niente bordi intorno alle schede.
   =========================================================================== */
.sv-calc {
    margin: 2rem 0 2.5rem;
    padding: 1.5rem;
    background: var(--sv-superficie, #f6f4ee);
    color: var(--sv-inchiostro, #0c0c0c);
    font-size: 1.0625rem;
    display: grid;
    gap: 1.5rem;
}
.sv-calc,
.sv-calc *,
.sv-calc *::before,
.sv-calc *::after {
    box-sizing: border-box;
}
.sv-calc__form {
    display: grid;
    gap: 1.25rem;
    margin: 0;
}
.sv-calc__testa {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: end;
}
.sv-calc__campo {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    margin: 0;
}
.sv-calc__campo span {
    font-weight: 600;
    font-size: 0.95rem;
}
.sv-calc input,
.sv-calc select {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--sv-bordo, #ebe7dd);
    border-radius: 0;
    background: var(--sv-fondo, #fcfbf8);
    color: var(--sv-inchiostro, #0c0c0c);
    font: inherit;
    font-variant-numeric: tabular-nums;
}
.sv-calc input:focus-visible,
.sv-calc select:focus-visible,
.sv-calc button:focus-visible {
    outline: 2px solid var(--sv-inchiostro, #0c0c0c);
    outline-offset: 1px;
}
.sv-calc__righe {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.75rem;
}
.sv-calc__riga {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 2.75rem;
    gap: 0.75rem;
    align-items: end;
    margin: 0;
}
.sv-calc__togli {
    height: 2.95rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sv-secondario, #5f5a50);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}
.sv-calc__togli:hover:not(:disabled) { color: var(--sv-inchiostro, #0c0c0c); }
.sv-calc__togli:disabled { opacity: 0.3; cursor: default; }
.sv-calc__azioni {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.sv-calc__aggiungi,
.sv-calc__azzera {
    padding: 0.8rem 1.4rem;
    border-radius: 0;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.sv-calc__aggiungi {
    border: 0;
    background: var(--sv-inchiostro, #0c0c0c);
    color: #fff;
}
.sv-calc__aggiungi:hover:not(:disabled) { background: #2e2e2e; }
.sv-calc__aggiungi:disabled { opacity: 0.4; cursor: default; }
.sv-calc__azzera {
    border: 1px solid var(--sv-inchiostro, #0c0c0c);
    background: transparent;
    color: var(--sv-inchiostro, #0c0c0c);
}
.sv-calc__errore {
    margin: 0;
    padding: 0.75rem 1rem;
    background: #fdeceb;
    border-left: 3px solid #b32d2e;
    color: #6b1d16;
}
.sv-calc.is-errore .sv-calc__esito { opacity: 0.35; }
.sv-calc__esito {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.sv-calc__scorri {
    overflow-x: auto;
    min-width: 0;
}
.entry-content .sv-calc__tabella {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}
.entry-content .sv-calc__tabella th,
.entry-content .sv-calc__tabella td {
    padding: 0.6rem 0.75rem 0.6rem 0;
    border: 0;
    border-bottom: 1px solid var(--sv-bordo, #ebe7dd);
    text-align: left;
    background: transparent;
}
.entry-content .sv-calc__tabella th {
    border-bottom: 2px solid var(--sv-inchiostro, #0c0c0c);
    font-size: 0.95rem;
    white-space: nowrap;
}
.sv-calc__tabella .num { white-space: nowrap; }
.sv-calc__puntata {
    font-weight: 700;
    background: var(--sv-accento, #d8fd45) !important;
    padding-left: 0.5rem !important;
}
.sv-calc__tabella .is-negativo { color: #a1261f; }
.sv-calc__sintesi {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
}
.sv-calc__sintesi div { display: grid; gap: 0.15rem; min-width: 0; }
.sv-calc__sintesi dt { font-size: 0.95rem; color: var(--sv-secondario, #5f5a50); }
.sv-calc__sintesi dd {
    margin: 0;
    font-family: "Fjalla One", "Arial Narrow", sans-serif;
    font-size: 1.6rem;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.sv-calc__nota {
    margin: 0;
    color: var(--sv-secondario, #5f5a50);
    font-size: 0.97rem;
}
@media (max-width: 640px) {
    .sv-calc { padding: 1.1rem; }
    .sv-calc__testa { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .sv-calc__testa .sv-calc__campo:first-child { grid-column: 1 / -1; }
    .sv-calc__sintesi { grid-template-columns: minmax(0, 1fr); }
    .entry-content .sv-calc__tabella { font-size: 0.88rem; }
    .entry-content .sv-calc__tabella th { white-space: normal; }
    .entry-content .sv-calc__tabella th,
    .entry-content .sv-calc__tabella td { padding-right: 0.45rem; }
    .sv-calc__azioni > * { flex: 1 1 auto; }
}

/* [sv_altri_calcolatori]: filetto nero sopra, nessuna scatola */
.entry-content .sv-calc-altri {
    margin: 2.5rem 0 2rem;
    padding-top: 1rem;
    border-top: 2px solid var(--sv-inchiostro, #0c0c0c);
}
.entry-content .sv-calc-altri h2 {
    margin: 0 0 0.75rem;
    font-size: var(--sv-h3, 1.75rem);
    line-height: 1.15;
}
.entry-content .sv-calc-altri ul {
    margin: 0;
    padding-left: 1.2em;
    display: grid;
    gap: 0.4rem;
}
