/* Site v2 : pages outils (diagnostic-portefeuille.php, outils/calculateur-tantiemes.php).
   Les classes diag-*, vpi-*, calc-*, def-* et info-banner sont lues ou posées par js/diagnostic-portefeuille.js
   et js/calculateur-tantiemes.js : ne pas les renommer. Cartes sur les jetons --c-* des sections .pm (css/v2-blocs.css). */

.ou { --ou-champ: #f4f6f9; --ou-champ-trait: rgba(19, 40, 75, .14); --ou-acc: #c4600c; }
[data-theme="nuit"] .ou { --ou-champ: rgba(255, 255, 255, .06); --ou-champ-trait: rgba(255, 255, 255, .16); --ou-acc: #ffb877; }
.ou-cache, .calc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.champ-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ou .suite-in { gap: 0; }
.ou .suite-tete { margin-bottom: clamp(28px, 3.5vw, 44px); }
.suite .ou-desc { margin: 0 0 8px; font-size: 16.5px; line-height: 1.65; max-width: none; }
.ou .pm-point p { font-size: 15px; line-height: 1.6; }

/* Bouton secondaire, en écho au bouton orange du socle */
.ou-btn2 { display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 22px; border: 0; border-radius: 12px; background: none; cursor: pointer; font: 600 15.5px/1 var(--texte); color: var(--s-txt); text-decoration: none; white-space: nowrap; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s-txt) 26%, transparent); transition: box-shadow .2s; }
.ou-btn2:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--s-txt) 55%, transparent); }
.ou-btn2:focus-visible { outline: 2px solid var(--or); outline-offset: 3px; }

/* ─── Diagnostic : recherche dans le hero ─── */
.ou-hero { overflow: visible; z-index: 5; }
.diag-recherche { position: relative; display: flex; align-items: center; gap: 8px; width: 100%; max-width: 560px; padding: 6px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px rgba(19, 40, 75, .12), 0 14px 34px -18px rgba(19, 40, 75, .45); transition: box-shadow .2s; }
.diag-recherche:focus-within { box-shadow: 0 0 0 2px rgba(252, 136, 34, .7), 0 14px 34px -18px rgba(19, 40, 75, .45); }
.diag-recherche input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 0; background: none; font: 500 16px/1 var(--texte); color: #13284b; }
.diag-recherche input::placeholder { color: #6484a3; }
.diag-recherche input:focus { outline: none; }
.diag-recherche input::-webkit-search-cancel-button, .diag-recherche input::-webkit-search-decoration { display: none; -webkit-appearance: none; }
.diag-recherche .btn { flex: none; }
.diag-recherche__effacer { display: grid; place-items: center; flex: none; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: none; color: #6484a3; cursor: pointer; }
.diag-recherche__effacer[hidden] { display: none; }
.diag-recherche__effacer:hover, .diag-recherche__effacer:focus-visible { background: rgba(19, 40, 75, .06); color: #13284b; outline: none; }
.diag-recherche__effacer svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.diag-choix { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 20; max-height: 340px; overflow-y: auto; margin: 0; padding: 6px; list-style: none; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px rgba(19, 40, 75, .1), 0 24px 48px -20px rgba(19, 40, 75, .5); }
.diag-choix[hidden] { display: none; }
.diag-choix li { display: grid; gap: 2px; padding: 10px 14px; border-radius: 10px; cursor: pointer; }
.diag-choix li:hover, .diag-choix li[aria-selected="true"] { background: #f4f6f9; }
.diag-choix__nom { font: 700 15px/1.3 var(--texte); color: #13284b; }
.diag-choix__lieu { font-size: 13px; color: #6484a3; }
.diag-message { min-height: 1.4em; margin: 0; font-size: 15px; color: var(--t-sub); }

/* ─── Diagnostic : fenêtre du portefeuille (aperçu flouté, puis résultat) ─── */
.ou-apercu-t { margin: 0 0 14px; font: 700 12px/1.3 var(--texte); letter-spacing: .09em; text-transform: uppercase; color: var(--s-doux); text-align: center; }
.ou-flou { filter: blur(4px); opacity: .85; pointer-events: none; user-select: none; }
[data-diag-apercu][hidden], [data-diag-resultat][hidden] { display: none; }
.ou-apercu, .ou-resultat { max-width: 960px; width: 100%; margin: 0 auto; }
.ou-fenetre { overflow: hidden; border-radius: 20px; background: var(--c-bg); color: var(--c-txt); box-shadow: inset 0 0 0 1px var(--c-trait), var(--c-omb); }
.ou-fenetre-t { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 22px; box-shadow: inset 0 -1px 0 var(--c-trait); font: 700 15px/1.3 var(--texte); }
.ou-badge { padding: 5px 10px; border-radius: 999px; background: color-mix(in srgb, var(--or) 15%, transparent); color: var(--ou-acc); font: 700 12.5px/1 var(--texte); white-space: nowrap; }
.vpi-table { display: grid; }
[data-diag="lignes"] { display: contents; }
.vpi-row { display: grid; grid-template-columns: minmax(0, 1fr) 70px 120px 128px; align-items: center; gap: 12px; padding: 12px 22px; box-shadow: inset 0 -1px 0 var(--c-trait); font-size: 14.5px; }
.vpi-row:last-child { box-shadow: none; }
.vpi-row[hidden] { display: none; }
.vpi-row--header { padding-top: 10px; padding-bottom: 10px; font: 700 11.5px/1.3 var(--texte); letter-spacing: .06em; text-transform: uppercase; color: var(--c-doux); }
.vpi-c { min-width: 0; }
.vpi-c--name { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.vpi-c--val { font-variant-numeric: tabular-nums; color: var(--c-doux); }
.vpi-c--status { justify-self: end; }
.vpi-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #437a56; }
.vpi-dot--warn { background: var(--or); }
.vpi-state { display: inline-block; padding: 4px 9px; border-radius: 999px; font: 700 12px/1.2 var(--texte); white-space: nowrap; }
.vpi-state--ok { background: #e6f1eb; color: #2f6343; }
.vpi-state--info { background: #e5eefb; color: #24508f; }
.vpi-state--warn { background: #fff1e3; color: #b0560a; }
.diag-flou { filter: blur(3px); opacity: .6; }

.ou-siret { color: var(--s-doux); }
.ou-phrase { margin: 0 0 24px; font-size: 16.5px; line-height: 1.6; max-width: 70ch; }

/* Liste complète par e-mail : un bandeau marine collé sous la fenêtre, dans les deux thèmes */
.diag-encart { display: grid; grid-template-columns: 1fr 1.15fr; gap: 16px 28px; align-items: center; margin-top: 16px; padding: 26px 30px; border-radius: 20px; background: linear-gradient(145deg, #13284b, #1f3a5f); color: #fff; }
.diag-encart__texte strong { display: block; margin-bottom: 6px; font: 700 18px/1.3 var(--titre); }
.diag-encart__texte > span { font-size: 14.5px; line-height: 1.5; color: #c9d6e3; }
.diag-encart__form { display: flex; gap: 8px; padding: 6px; border-radius: 16px; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); }
.diag-encart__form:focus-within { box-shadow: inset 0 0 0 1px rgba(252, 136, 34, .7); }
.diag-encart__form input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 0; background: none; font: 500 16px/1 var(--texte); color: #fff; }
.diag-encart__form input::placeholder { color: rgba(255, 255, 255, .55); }
.diag-encart__form input:focus { outline: none; }
.diag-encart__message { grid-column: 1 / -1; margin: 0; font-size: 14.5px; color: #e8eef5; }
.diag-encart__message:empty { display: none; }

.ou-h2 { margin: clamp(48px, 6vw, 72px) 0 6px; }
.ou-sous { margin: 0 0 22px; font: 600 15px/1.4 var(--texte); color: var(--ou-acc); }
.ou-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ou-stats li { display: grid; align-content: start; gap: 8px; padding: 18px 18px 20px; border-radius: 18px; background: var(--c-bg); box-shadow: inset 0 0 0 1px var(--c-trait); }
.ou-stats b { font: 700 18px/1.25 var(--titre); color: var(--c-txt); }
.ou-stats--o b { color: var(--ou-acc); }
.ou-stats span { font-size: 13.5px; line-height: 1.5; color: var(--c-doux); }
.diag-echeancier { display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 8px; align-items: end; margin-top: 16px; padding: 20px; border-radius: 18px; background: var(--c-bg); box-shadow: inset 0 0 0 1px var(--c-trait); }
.diag-echeancier--apercu { margin-top: 14px; }
.diag-echeancier__mois { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; min-width: 0; }
.diag-echeancier__barre { width: 70%; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, #fc8822, rgba(252, 136, 34, .45)); }
.diag-echeancier__n { font: 700 13.5px/1 var(--texte); color: var(--c-txt); }
.diag-echeancier__label { font-size: 11.5px; color: var(--c-doux); white-space: nowrap; }
.diag-source { margin: 14px 0 0; font-size: 13px; color: var(--s-doux); }

/* ─── Calculateur : carte du formulaire, tableau éditable ─── */
.calc { padding: 26px; border-radius: 22px; background: var(--c-bg); color: var(--c-txt); box-shadow: inset 0 0 0 1px var(--c-trait), var(--c-omb); }
.calc-entete { display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 22px; }
.calc-champ { display: grid; gap: 6px; flex: 0 0 220px; }
.calc-champ--large { flex: 1 1 260px; }
.calc-champ label { font: 700 13px/1.3 var(--texte); color: var(--c-txt); }
.calc-champ .form-control { width: 100%; height: 48px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--ou-champ); box-shadow: inset 0 0 0 1px var(--ou-champ-trait); font: 500 16px/1 var(--texte); color: var(--c-txt); }
.calc-champ select.form-control { appearance: none; padding-right: 36px; background: var(--ou-champ) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236484a3' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat; }
.calc-champ-unite { position: relative; display: flex; align-items: center; }
.calc-champ-unite .form-control { padding-right: 34px; font-weight: 700; }
.calc-champ-unite span { position: absolute; right: 14px; font-weight: 700; color: var(--c-doux); }
:is(.calc-champ .form-control, .calc-in-nom, .calc-in-tant, .calc-in-select):focus { outline: 0; box-shadow: inset 0 0 0 2px rgba(252, 136, 34, .8); }

.calc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.calc-table { width: 100%; min-width: 620px; border-collapse: collapse; }
.calc-table th { padding: 9px 10px; text-align: left; font: 700 11.5px/1.3 var(--texte); letter-spacing: .06em; text-transform: uppercase; color: var(--c-doux); box-shadow: inset 0 -1px 0 var(--c-trait); }
.calc-table td { padding: 5px 10px; box-shadow: inset 0 -1px 0 var(--c-trait); font-size: 15px; vertical-align: middle; }
.calc-table :is(th, td):nth-child(2) { width: 130px; }
.calc-table :is(th, td):nth-child(3) { width: 110px; text-align: right; }
.calc-table :is(th, td):nth-child(4) { width: 130px; text-align: right; }
.calc-table :is(th, td):last-child { width: 44px; text-align: center; }
.calc-cell-part, .calc-cell-montant, #calc-total-tantiemes, .def-cell-pond, .def-cell-tant, #def-total-surface, #def-total-pond, #def-total-tant { font-variant-numeric: tabular-nums; }
.calc-cell-montant, .def-cell-tant { font-weight: 700; }
.calc-in-nom, .calc-in-tant, .calc-in-select { width: 100%; height: 40px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; box-shadow: inset 0 0 0 1px transparent; font: 500 15px/1 var(--texte); color: var(--c-txt); transition: box-shadow .15s, background .15s; }
.calc-in-tant { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.calc-in-select { appearance: none; padding-right: 22px; cursor: pointer; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236484a3' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 4px center / 14px no-repeat; }
:is(.calc-in-nom, .calc-in-tant, .calc-in-select):hover { box-shadow: inset 0 0 0 1px var(--ou-champ-trait); }
.calc-in-select option { color: #13284b; }
.calc-supprimer { display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--c-doux); font-size: 20px; line-height: 1; cursor: pointer; }
.calc-supprimer:hover, .calc-supprimer:focus-visible { background: rgba(220, 38, 38, .1); color: #dc2626; outline: none; }
.calc-ligne-total td { padding-top: 13px; box-shadow: inset 0 2px 0 var(--c-trait); font-weight: 800; font-size: 15.5px; }
.calc-ligne-total td:first-child { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--c-doux); }
.calc-table--def { min-width: 900px; }
.calc-table--def :is(th, td):nth-child(n) { width: auto; text-align: left; }
.calc-table--def :is(th, td):nth-child(3) { width: 88px; text-align: right; }
.calc-table--def :is(th, td):is(:nth-child(6), :nth-child(7)) { width: 96px; text-align: right; }
.calc-table--def :is(th, td):last-child { width: 44px; text-align: center; }

/* Bannière d'état : le script ne pilote que la variante (info, success, warning) et l'icône */
.info-banner { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; padding: 11px 14px; border-radius: 12px; font-size: 14px; line-height: 1.5; background: #e5eefb; color: #24508f; }
.info-banner.info-success { background: #e6f1eb; color: #2f6343; }
.info-banner.info-warning { background: #fff1e3; color: #9a4a08; }
.info-banner-header i { font-size: 14px; margin-top: 3px; }
.ou .info-banner-text { margin: 0; font-size: 14px; line-height: 1.5; color: inherit; max-width: none; }
.calc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.suite .calc-mention { margin: 20px auto 0; max-width: none; font-size: 13px; color: var(--s-doux); text-align: center; }

/* Suite : révélée par le script (.calc-suite--visible) une fois la répartition valide */
.calc-suite { display: none; }
.calc-suite--visible { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 18px; padding: 18px 22px; border-radius: 18px; background: color-mix(in srgb, var(--or) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--or) 30%, transparent); }
.calc-suite-texte { flex: 1 1 320px; margin: 0; font-size: 15px; line-height: 1.55; }

/* Barème des coefficients */
.calc-bareme { margin-top: 28px; padding: 26px 28px; border-radius: 22px; background: var(--c-bg); color: var(--c-txt); box-shadow: inset 0 0 0 1px var(--c-trait); }
.calc-bareme h3 { margin: 0 0 12px; font: 700 19px/1.3 var(--titre); }
.ou .calc-bareme > p { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: var(--c-doux); max-width: none; }
.calc-bareme-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.calc-bareme-grid h4 { margin: 0 0 10px; font: 700 11.5px/1.3 var(--texte); letter-spacing: .06em; text-transform: uppercase; color: var(--c-doux); }
.calc-bareme-grid ul { list-style: none; margin: 0; padding: 0; }
.calc-bareme-grid li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; box-shadow: inset 0 -1px 0 var(--c-trait); font-size: 14px; }
.calc-bareme-grid li:last-child { box-shadow: none; }
.calc-bareme-grid li span { flex: none; font-weight: 700; font-variant-numeric: tabular-nums; }
.ou .calc-bareme-note { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--c-doux); }
.ou .calc-bareme-avert { margin: 22px 0 0; padding-top: 18px; box-shadow: inset 0 1px 0 var(--c-trait); font-size: 14.5px; line-height: 1.6; color: var(--c-doux); max-width: none; }

@media (max-width: 980px) {
    .ou-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .calc-bareme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ─── Téléphone : un champ par ligne, chaque lot devient une carte, rien ne déborde ─── */
@media (max-width: 640px) {
    .diag-recherche { flex-wrap: wrap; }
    .diag-recherche input { flex: 1 1 calc(100% - 48px); }
    .diag-recherche .btn { flex: 1 1 100%; }
    .ou-fenetre-t { padding: 14px 16px; }
    .vpi-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nom etat" "fin etat"; row-gap: 2px; padding: 12px 16px; font-size: 14px; }
    .vpi-row--header { display: none; }
    .vpi-row > .vpi-c--name { grid-area: nom; }
    .vpi-row > .vpi-c--val:nth-child(2) { display: none; }
    .vpi-row > .vpi-c--val:nth-child(3) { grid-area: fin; padding-left: 18px; font-size: 13px; }
    .vpi-row > .vpi-c--status { grid-area: etat; }
    .diag-encart { grid-template-columns: 1fr; padding: 22px 18px; }
    .diag-encart__form { flex-direction: column; }
    .diag-encart__form .btn { width: 100%; }
    .ou-stats { gap: 10px; }
    .ou-stats li { padding: 14px 14px 16px; }
    .ou-stats b { font-size: 16px; }
    .ou-stats span { font-size: 12.5px; }
    .diag-echeancier { gap: 3px; padding: 14px 10px; }
    .diag-echeancier__label { font-size: 10px; }

    .calc { padding: 18px 14px; border-radius: 20px; }
    .calc-entete { display: grid; gap: 14px; }
    .calc-table-wrap { overflow: visible; }
    .calc-table, .calc-table--def { min-width: 0; }
    .calc-table thead { display: none; }
    .calc-table, .calc-table tbody, .calc-table tfoot { display: block; }
    /* Chaque lot devient une carte : nom en titre (sans cadre) et croix, puis des champs courts côte à côte */
    .calc-table tr:not(.calc-ligne-total) { display: grid; gap: 8px; margin-bottom: 10px; padding: 10px 12px 12px; border-radius: 14px; background: color-mix(in srgb, var(--ou-champ) 55%, transparent); box-shadow: inset 0 0 0 1px var(--c-trait); }
    .calc-table td, .calc-table :is(th, td):nth-child(n) { display: block; width: auto; min-width: 0; padding: 0; box-shadow: none; text-align: left; }
    .calc-in-tant, .calc-in-select { height: 38px; font-size: 16px; background-color: var(--ou-champ); box-shadow: inset 0 0 0 1px var(--ou-champ-trait); }
    .calc-table .calc-in-nom { height: 32px; padding: 0 2px; font: 700 15.5px/1 var(--texte); }
    .calc-table .calc-in-nom:focus { box-shadow: inset 0 -2px 0 rgba(252, 136, 34, .8); }
    .calc-table .calc-cell-action { align-self: center; justify-self: end; }
    .calc-supprimer { width: 30px; height: 30px; font-size: 18px; }
    /* Répartir : nom et croix ; tantièmes, part et montant sur une ligne */
    .calc-table:not(.calc-table--def) tr:not(.calc-ligne-total) { grid-template-columns: 92px minmax(0, 1fr) auto; grid-template-areas: "nom nom sup" "tant part montant"; align-items: center; }
    .calc-table:not(.calc-table--def) td:nth-child(1) { grid-area: nom; }
    .calc-table:not(.calc-table--def) td:nth-child(2) { grid-area: tant; }
    .calc-table:not(.calc-table--def) td:nth-child(3) { grid-area: part; font-size: 13px; color: var(--c-doux); }
    .calc-table:not(.calc-table--def) td:nth-child(4) { grid-area: montant; font-size: 16px; text-align: right; }
    .calc-table:not(.calc-table--def) td:nth-child(5) { grid-area: sup; }
    /* Définir : nom et croix ; nature et surface ; niveau et vue ; pondérée et tantièmes */
    .calc-table--def tr:not(.calc-ligne-total) { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-areas: "nom nom nom nom nom sup" "nat nat nat nat surf surf" "niv niv niv vue vue vue" "pond pond pond tant tant tant"; align-items: center; }
    .calc-table--def td:nth-child(1) { grid-area: nom; }
    .calc-table--def td:nth-child(2) { grid-area: nat; }
    .calc-table--def td:nth-child(3) { grid-area: surf; position: relative; }
    .calc-table--def tr:not(.calc-ligne-total) td:nth-child(3)::after { content: "m²"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 13px; color: var(--c-doux); pointer-events: none; }
    .calc-table--def td:nth-child(3) .calc-in-tant { padding-right: 32px; }
    .calc-table--def td:nth-child(4) { grid-area: niv; }
    .calc-table--def td:nth-child(5) { grid-area: vue; }
    .calc-table--def td:nth-child(6) { grid-area: pond; font-size: 13px; color: var(--c-doux); }
    .calc-table--def td:nth-child(7) { grid-area: tant; text-align: right; font-size: 16px; }
    .calc-table--def td:nth-child(6)::before { content: "Pondérée "; }
    .calc-table--def td:nth-child(7)::before { content: "Tant. "; font-weight: 500; font-size: 13px; color: var(--c-doux); }
    .calc-table--def td:nth-child(8) { grid-area: sup; }
    /* Ligne de total : libellé à gauche, valeurs à droite, cellules vides masquées */
    .calc-table tr.calc-ligne-total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 14px; padding-top: 14px; box-shadow: none; }
    .calc-table--def .calc-ligne-total td:first-child { flex: 1 1 100%; }
    .calc-ligne-total td:empty { display: none; }
    .calc-table--def .calc-ligne-total td:nth-child(3)::before { content: "Surface "; font-weight: 500; }
    .calc-table--def .calc-ligne-total td:nth-child(3)::after { content: " m²"; }
    .calc-table--def .calc-ligne-total td:nth-child(6)::before { content: "Pondérée "; font-weight: 500; }
    .calc-table:not(.calc-table--def) .calc-ligne-total td:nth-child(3) { display: none; }
    .calc-actions > * { flex: 1 1 100%; }
    .calc-suite--visible { padding: 16px; }
    .calc-suite--visible > a { width: 100%; }
    .calc-bareme { padding: 20px 16px; }
    .calc-bareme-grid { gap: 18px 14px; }
}
