/* Proportionnalité et conversions : même vert que le reste du site */
#features.cv-section { padding-top: 1em; }
.cv-outil { max-width: 72em; margin: 0 auto; text-align: left; }
.cv-outil [hidden] { display: none !important; }
.cv-outil *:focus-visible { outline: 3px solid #f2b01e; outline-offset: 2px; }
.cv-onglets, .cv-puces { display: flex; flex-wrap: wrap; gap: .5em; justify-content: center; margin-bottom: 1em; }
.cv-onglet { padding: .55em 1.2em; border: 2px solid #e5e5e5; border-radius: 2em; background: #fff; color: #777; cursor: pointer; font-weight: 600; -webkit-user-select: none; user-select: none; }
.cv-onglet:hover, .cv-puce:hover { border-color: #5cc79a; }
.cv-onglet.actif, .cv-puce.actif { background: #16855a; border-color: #16855a; color: #fff; }
.cv-onglet .icon { margin-right: .3em; }
.cv-puce { padding: .35em 1em; border: 2px solid #e5e5e5; border-radius: 2em; background: #fff; color: #666; cursor: pointer; font-size: .92em; }
.cv-barre { display: flex; flex-wrap: wrap; gap: .8em 1em; align-items: flex-end; justify-content: center; padding: 1em 1.2em; background: #fff; border: 2px solid #e5e5e5; border-radius: 1.2em; margin-bottom: 1em; }
.cv-barre.cv-mini { border: 0; padding: .3em 0; margin: 0 0 .5em; }
.cv-champ { display: block; margin: 0; min-width: 7em; }
.cv-champ.cv-court { min-width: 4.5em; width: 5em; }
.cv-champ > span { display: block; margin: 0 0 .3em; font-size: .82em; color: #878787; }
.cv-champ input, .cv-champ select { font: inherit; width: 100%; padding: .45em .7em; border: 2px solid #e5e5e5; border-radius: .6em; background: #fff; color: #333; box-sizing: border-box; height: auto; }
.cv-champ input { font: 600 1.3em/1.2 'Fredoka', 'Nunito', sans-serif; color: #16855a; }
.cv-champ input:focus, .cv-champ select:focus { outline: none; border-color: #16855a; }
.cv-vit .icon { color: #5cc79a; }
.cv-fleche { color: #16855a; padding-bottom: .6em; }
.cv-unite { font: 700 1.3em/1 'Fredoka', 'Nunito', sans-serif; color: #16855a; padding-bottom: .5em; }
.cv-act { display: inline-flex; align-items: center; gap: .55em; padding: .5em .95em; border: 2px solid #e5e5e5; border-radius: .8em; background: #fff; color: #555; cursor: pointer; font-size: .92em; -webkit-user-select: none; user-select: none; }
.cv-act:hover { border-color: #5cc79a; }
.cv-act .icon { flex: none; width: 1.9em; height: 1.9em; border-radius: 50%; background: #eaf7f1; color: #16855a; display: flex; align-items: center; justify-content: center; }
.cv-act .icon:before { margin: 0; }
.cv-act-p { border-color: #16855a; } .cv-act-p .icon { background: #16855a; color: #fff; }
.cv-carte { background: #fff; border: 2px solid #e5e5e5; border-radius: 1.2em; padding: 1em 1.2em 1.2em; margin-bottom: 1em; }
.cv-carte h3 { margin: 0 0 .6em; font-size: .95em; color: #16855a; text-align: center; letter-spacing: .05em; }
.cv-deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(22em, 1fr)); gap: 1em; }
.cv-deux .cv-carte { margin: 0; }
.cv-defile { overflow-x: auto; }

/* Tableau de conversion */
#u-table { position: relative; display: inline-block; min-width: 100%; text-align: center; padding: .3em 0 .4em; }
.cv-table { width: auto; margin: 0 auto; border-collapse: collapse; font-family: 'Fredoka', 'Nunito', sans-serif; }
.cv-table th, .cv-table td { border: 2px solid #b9d9c8; text-align: center; background: none; }
.cv-table thead, .cv-table thead tr, .cv-table tbody tr { background: none !important; }
.cv-table thead th { padding: .35em .5em; color: #16855a; font-size: 1.05em; background: #eaf7f1; text-transform: none; letter-spacing: 0; }
.cv-table thead th.de { background: #16855a; color: #fff; }
.cv-table thead th.vers { background: #ef8a17; color: #fff; }
.cv-table .cv-sous th { font-size: .8em; color: #b76a06; background: #fdf6ea; padding: .15em .3em; }
.cv-table td { width: 2.6em; height: 3em; font-size: 1.6em; font-weight: 600; color: #333; padding: 0; }
.cv-table.aire td, .cv-table.volume td { width: 1.9em; font-size: 1.35em; }
.cv-table td.g { border-left-width: 3px; border-left-color: #16855a; }
.cv-table td:not(.g) { border-left-style: dashed; }
.cv-table.longueur td, .cv-table.masse td, .cv-table.contenance td { border-left-style: solid; }
.cv-table td.hors { background: #f6f6f6; }
.cv-chiffre { display: inline-block; }
.cv-chiffre.zero { color: #ef8a17; opacity: 0; transform: scale(.4); transition: opacity .4s, transform .4s; }
.fini .cv-chiffre.zero { opacity: 1; transform: none; }
.cv-chiffre.ch { animation: cv-pose .4s ease both; }
@keyframes cv-pose { from { opacity: 0; transform: translateY(-.5em); } to { opacity: 1; transform: none; } }
.cv-virgule { position: absolute; font: 700 2.4em/1 'Fredoka', 'Nunito', sans-serif; color: #c0392b; pointer-events: none; text-shadow: 0 0 4px #fff; }
.cv-virgule.sans { transition: none !important; }
.cv-resultat { text-align: center; margin-top: .8em; min-height: 4.5em; }
.cv-gros { font: 600 1.45em/1.5 'Fredoka', 'Nunito', sans-serif; color: #444; margin: .2em 0 .4em; }
.cv-gros b { color: #16855a; }
.cv-expl, .cv-etape { color: #555; line-height: 1.7; margin: .2em auto; max-width: 46em; }
.cv-etape { font-size: 1.05em; }
.cv-etapes { text-align: left; max-width: 34em; margin: .4em auto 0; color: #555; line-height: 1.7; }
.cv-etapes p { margin: .15em 0; }
.cv-erreur { color: #c0392b; font-weight: 700; text-align: center; }
.cv-aide { text-align: center; font-size: .9em; color: #777; margin: .3em 0 .8em; line-height: 1.6; }
.cv-aide .icon { color: #ef8a17; margin-right: .3em; }

/* Proportionnalité */
.cv-pt { width: auto; margin: 0 auto; border-collapse: collapse; }
.cv-pt th, .cv-pt td { border: 2px solid #b9d9c8; padding: 0; background: none; }
.cv-pt tbody tr { background: none !important; }
.cv-pt input { font: 600 1.25em/1.2 'Fredoka', 'Nunito', sans-serif; width: 5em; padding: .5em .3em; border: 0; background: #fff; text-align: center; color: #333; box-sizing: border-box; height: auto; border-radius: 0; }
.cv-pt input:focus { outline: none; background: #f3fbf7; }
.cv-pt input.cv-lib { width: 11em; font: 600 .95em/1.2 'Nunito', sans-serif; text-align: left; color: #16855a; background: #eaf7f1; }
.cv-pt input.trouve::placeholder { color: #16855a; opacity: 1; font-weight: 700; }
.cv-pt input.trouve { background: #eaf7f1; }
.cv-pt input.faux { background: #fdecea; color: #c0392b; }
.cv-pt td.cv-coef { border: 0; padding-left: .4em; vertical-align: middle; }
.cv-fl { display: flex; align-items: center; gap: .2em; color: #16855a; font-weight: 700; white-space: nowrap; }
.cv-fl svg { width: 1.6em; height: 3.4em; }
.cv-bts { display: flex; flex-wrap: wrap; gap: .5em; justify-content: center; margin-top: .9em; }
#pt-res { color: #444; line-height: 1.7; max-width: 46em; margin: 0 auto; }
.cv-oui { color: #16855a; } .cv-non { color: #c0392b; }
.cv-oui .icon, .cv-non .icon { margin-right: .3em; }
.cv-liste { margin: .3em 0 .3em 1.2em; } .cv-liste li { list-style: disc; } .cv-liste small { color: #888; }
.cv-rgpd { margin: 1.2em 0 0; text-align: center; font-size: .8em; color: #999; }
@media (prefers-reduced-motion: reduce) { .cv-chiffre, .cv-virgule { animation: none !important; transition: none !important; } }
.cv-etapes p { text-align: left; }
