/* ====================================================================== */
/* ======== DIAGNOSTIC MUNEA — tunnel de qualification ================== */
/* ======== Charge uniquement sur index.php?p=diagnostic ================ */
/* ====================================================================== */

.diag_enveloppe {
--m_nuit:var(--munea-nuit, #1E2D45);
--m_nuit_fonce:var(--munea-nuit-profond, #16223A);
--m_nuit_clair:#2A3C5C;
--m_or:var(--munea-or, #B8962E);
--m_or_clair:var(--munea-or-clair, #D3B458);
--m_creme:var(--munea-creme, #EFE3CC);
--m_blanc:var(--munea-blanc, #FFFFFF);
--m_voile:rgba(255,255,255,.1);
--m_voile_bord:rgba(211,180,88,.5);
--m_serif:var(--serif, Georgia, serif);
--m_sans:var(--sans, 'Segoe UI', sans-serif);
--m_ease:var(--transition-douce, cubic-bezier(.22,1,.36,1))
}

.diag_enveloppe {
position:relative;
overflow-x:clip;
background:var(--m_nuit)
}

.diag_enveloppe .page_entete {
background:none;
padding:clamp(9rem, 17vh, 12.5rem) 0 2.4rem
}

.diagnostic {
position:relative;
display:flex;
flex-direction:column;
align-items:center;
font-family:var(--m_sans);
color:var(--m_creme);
line-height:1.6
}

.diagnostic::before {
position:absolute;
z-index:0;
width:min(70vw, 520px);
aspect-ratio:1/2;
content:"";
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 200'%3E%3Cg fill='none' stroke='%23EFE3CC' stroke-width='2'%3E%3Cpath d='M20 24 Q50 6 80 24'/%3E%3Cpath d='M14 34 H86'/%3E%3Cpath d='M30 44 V158 M42 44 V158 M58 44 V158 M70 44 V158'/%3E%3Cpath d='M14 168 H86'/%3E%3Cpath d='M10 180 H90'/%3E%3C/g%3E%3C/svg%3E");
background-size:contain;
background-position:bottom right;
background-repeat:no-repeat;
opacity:.045;
right:-8vw;
bottom:-4vh;
pointer-events:none
}

.diag_app {
position:relative;
z-index:1;
display:flex;
flex-direction:column;
width:100%;
max-width:720px;
min-height:72svh;
padding:0 20px calc(48px + env(safe-area-inset-bottom));
--m_progress:0%
}

.diag_colle {
position:sticky;
display:flex;
z-index:5;
flex-direction:column;
align-items:flex-end;
gap:7px;
visibility:hidden;
opacity:0;
top:70px;
transition:opacity .4s var(--m_ease), visibility 0s .4s;
margin:0;
padding:14px 0 10px
}

.diag_colle.is_visible {
visibility:visible;
opacity:1;
transition:opacity .4s var(--m_ease)
}

.diag_etape_label {
font-size:11px;
color:rgba(239,227,204,.65);
letter-spacing:.14em;
text-transform:uppercase;
white-space:nowrap
}

.diag_progress {
position:relative;
width:100%;
height:2px;
background:rgba(239,227,204,.14);
border-radius:2px;
flex-shrink:0;
align-self:stretch
}

.diag_progress_barre {
position:absolute;
display:block;
width:var(--m_progress);
height:100%;
background:linear-gradient(90deg, var(--m_or), var(--m_or_clair));
border-radius:2px;
box-shadow:0 0 12px rgba(184,150,46,.55);
top:0;
left:0;
transition:width .5s var(--m_ease);
will-change:width
}

.diag_scene {
position:relative;
display:flex;
flex-direction:column;
flex:1;
width:100%
}

.diag_step {
display:none;
flex-direction:column;
flex:1;
width:100%;
opacity:0;
backface-visibility:hidden;
transform:translate3d(0,18px,0);
padding:22px 0 8px
}

.diag_step.is_active {
display:flex;
opacity:1;
transform:translate3d(0,0,0);
transition:opacity .55s var(--m_ease), transform .55s var(--m_ease)
}

.diag_eyebrow {
display:flex;
align-items:center;
gap:11px;
font-size:11px;
font-weight:600;
color:var(--m_or_clair);
letter-spacing:.28em;
text-transform:uppercase;
margin:0 0 16px
}

.diag_eyebrow::before {
width:24px;
height:1px;
content:"";
background:var(--m_or);
flex-shrink:0
}

.diag_titre {
font-family:var(--m_serif);
font-size:clamp(30px, 7.4vw, 42px);
font-weight:500;
color:var(--m_blanc);
line-height:1.16;
margin:0 0 14px
}

.diag_titre em {
font-style:italic;
color:var(--m_or_clair)
}

.diag_intro {
font-size:15.5px;
color:rgba(239,227,204,.82);
margin:0 0 26px
}

.diag_souscritre {
font-size:12.5px;
font-weight:600;
text-transform:uppercase;
color:var(--m_or_clair);
letter-spacing:.08em;
margin:0 0 14px
}

#diag_continuer_statut { margin:22px 0 0 }

.diag_cta {
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
width:100%;
min-height:58px;
overflow:hidden;
background:linear-gradient(135deg, var(--m_or), var(--m_or_clair));
border:none;
text-align:center;
text-decoration:none;
font-size:13.5px;
font-weight:700;
font-family:var(--m_sans);
color:var(--m_nuit_fonce);
letter-spacing:.12em;
text-transform:uppercase;
box-shadow:0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.35);
cursor:pointer;
transition:transform .25s var(--m_ease), box-shadow .25s var(--m_ease);
will-change:transform
}

.diag_cta::after {
position:absolute;
width:70px;
content:"";
background:linear-gradient(105deg, transparent, rgba(255,255,255,.5), transparent);
top:0;
bottom:0;
left:-90px;
transform:skewX(-18deg) translate3d(0,0,0);
animation:diag_sheen 4.2s var(--m_ease) 1.2s infinite;
pointer-events:none
}

.diag_cta:hover { transform:translate3d(0,-2px,0) }

.diag_cta:active { transform:translate3d(0,1px,0) }

.diag_cta svg { flex-shrink:0 }

.diag_cta:disabled {
opacity:.35;
box-shadow:none;
cursor:not-allowed;
pointer-events:none
}

.diag_cta:disabled::after { display:none }

.diag_reassurances {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
gap:8px 18px;
font-size:12.5px;
color:rgba(239,227,204,.68);
list-style:none;
margin:18px 0 0;
padding:0
}

.diag_reassurances li {
display:inline-flex;
align-items:center;
gap:7px;
list-style:none
}

.diag_reassurances svg { color:var(--m_or_clair) }

.diag_grille {
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:12px
}

.diag_grille.is_seule { grid-template-columns:1fr }

.diag_card {
position:relative;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:10px;
min-height:104px;
background:var(--m_voile);
border:1px solid var(--m_voile_bord);
text-align:left;
font-family:var(--m_sans);
font-size:14.5px;
font-weight:600;
color:var(--m_creme);
line-height:1.35;
cursor:pointer;
transition:transform .3s var(--m_ease), border-color .3s var(--m_ease), background-color .3s var(--m_ease);
will-change:transform;
padding:16px 15px
}

.diag_card svg {
color:var(--m_or_clair);
transition:transform .3s var(--m_ease)
}

.diag_card span {
font-size:12px;
font-weight:400;
color:rgba(239,227,204,.68)
}

.diag_card:hover {
background:rgba(255,255,255,.09);
border-color:rgba(211,180,88,.55);
transform:translate3d(0,-3px,0)
}

.diag_card:hover svg { transform:translate3d(0,-2px,0) scale(1.06) }

.diag_card.is_choisie {
background:rgba(184,150,46,.16);
border-color:var(--m_or_clair);
box-shadow:0 0 0 1px var(--m_or_clair), 0 8px 24px rgba(0,0,0,.3)
}

.diag_step[data-step="1"] .diag_card {
padding-top:16px;
padding-right:40px
}

.diag_step[data-step="1"] .diag_card::after {
position:absolute;
display:flex;
align-items:center;
justify-content:center;
width:20px;
height:20px;
content:"";
background:transparent;
border:1.5px solid rgba(239,227,204,.35);
border-radius:50%;
font-size:12px;
font-weight:700;
color:transparent;
transition:background-color .25s var(--m_ease), border-color .25s var(--m_ease), color .25s var(--m_ease);
top:14px;
right:14px
}

.diag_step[data-step="1"] .diag_card.is_choisie::after {
content:"✓";
background:var(--m_or_clair);
border-color:var(--m_or_clair);
color:var(--m_nuit_fonce)
}

.diag_card:focus-visible, .diag_cta:focus-visible, .diag_retour:focus-visible, .diag_champ input:focus-visible, .diag_rgpd input:focus-visible, .diag_pill:focus-visible, .diag_slider input:focus-visible {
outline:2px solid var(--m_or_clair);
outline-offset:3px
}

.diag_stat {
display:flex;
align-items:flex-start;
gap:10px;
border-top:1px solid rgba(239,227,204,.12);
font-size:12px;
color:rgba(239,227,204,.62);
line-height:1.5;
margin:auto 0 0;
padding:16px 2px 0
}

.diag_stat strong {
font-family:var(--m_serif);
font-size:20px;
font-weight:600;
color:var(--m_or_clair);
line-height:1;
flex-shrink:0
}

.diag_retour {
display:none;
align-items:center;
gap:6px;
background:none;
border:none;
font-size:13px;
font-family:var(--m_sans);
color:rgba(239,227,204,.62);
cursor:pointer;
transition:color .25s var(--m_ease);
margin:6px 0 0;
padding:8px 0
}

.diag_retour.is_visible { display:inline-flex }

.diag_retour:hover { color:var(--m_creme) }

.diag_slider {
display:flex;
flex-direction:column;
background:var(--m_voile);
border:1px solid var(--m_voile_bord);
margin:0 0 12px;
padding:14px 16px 16px
}

.diag_slider_ligne {
display:flex;
align-items:baseline;
justify-content:space-between;
gap:12px;
margin:0 0 8px
}

.diag_slider_ligne label {
font-size:11px;
font-weight:600;
color:rgba(239,227,204,.75);
letter-spacing:.14em;
text-transform:uppercase
}

.diag_slider_valeur {
font-family:var(--m_serif);
font-size:24px;
font-weight:600;
color:var(--m_or_clair);
white-space:nowrap;
line-height:1
}

.diag_slider input[type=range] {
width:100%;
height:30px;
background:transparent;
cursor:pointer;
-webkit-appearance:none;
appearance:none;
margin:0;
padding:0
}

.diag_slider input[type=range]::-webkit-slider-runnable-track {
height:5px;
background:linear-gradient(90deg, var(--m_or) var(--val, 50%), rgba(239,227,204,.16) var(--val, 50%));
border-radius:3px
}

.diag_slider input[type=range]::-webkit-slider-thumb {
width:26px;
height:26px;
background:var(--m_or_clair);
border:3px solid var(--m_nuit_fonce);
border-radius:50%;
box-shadow:0 2px 10px rgba(0,0,0,.5);
-webkit-appearance:none;
appearance:none;
margin:-10.5px 0 0
}

.diag_slider input[type=range]::-moz-range-track {
height:5px;
background:rgba(239,227,204,.16);
border-radius:3px
}

.diag_slider input[type=range]::-moz-range-progress {
height:5px;
background:var(--m_or);
border-radius:3px
}

.diag_slider input[type=range]::-moz-range-thumb {
width:22px;
height:22px;
background:var(--m_or_clair);
border:3px solid var(--m_nuit_fonce);
border-radius:50%;
box-shadow:0 2px 10px rgba(0,0,0,.5)
}

.diag_pills {
display:flex;
flex-wrap:wrap;
gap:8px
}

.diag_pill {
display:inline-flex;
align-items:center;
justify-content:center;
min-width:56px;
min-height:44px;
background:var(--m_voile);
border:1px solid var(--m_voile_bord);
border-radius:999px;
font-size:14px;
font-weight:600;
font-family:var(--m_sans);
color:var(--m_creme);
cursor:pointer;
transition:border-color .25s var(--m_ease), background-color .25s var(--m_ease);
padding:0 16px
}

.diag_pill.is_choisie {
background:rgba(184,150,46,.2);
border-color:var(--m_or_clair);
color:var(--m_blanc)
}

.diag_aide {
font-size:11.5px;
color:rgba(239,227,204,.5);
margin:6px 0 0
}

.diag_analyse.is_active {
align-items:center;
justify-content:center;
text-align:center
}

.diag_analyse_liste {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:14px;
list-style:none;
margin:26px 0 0;
padding:0
}

.diag_analyse_liste li {
display:inline-flex;
align-items:center;
gap:11px;
opacity:0;
font-size:14.5px;
color:rgba(239,227,204,.85);
list-style:none;
transform:translate3d(0,8px,0);
transition:opacity .5s var(--m_ease), transform .5s var(--m_ease)
}

.diag_analyse_liste li.is_faite {
opacity:1;
transform:translate3d(0,0,0)
}

.diag_analyse_liste svg {
color:var(--m_or_clair);
flex-shrink:0
}

.diag_fiche {
position:relative;
overflow:hidden;
background:linear-gradient(160deg, #F4EAD6, var(--m_creme) 45%, #EADCBE);
border:1px solid rgba(184,150,46,.35);
box-shadow:0 24px 60px rgba(0,0,0,.45);
color:var(--m_nuit);
padding:26px 22px 24px
}

.diag_fiche::after {
position:absolute;
width:210px;
aspect-ratio:1/2;
content:"";
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 200'%3E%3Cg fill='none' stroke='%231E2D45' stroke-width='2'%3E%3Cpath d='M20 24 Q50 6 80 24'/%3E%3Cpath d='M14 34 H86'/%3E%3Cpath d='M30 44 V158 M42 44 V158 M58 44 V158 M70 44 V158'/%3E%3Cpath d='M14 168 H86'/%3E%3Cpath d='M10 180 H90'/%3E%3C/g%3E%3C/svg%3E");
background-size:contain;
background-repeat:no-repeat;
opacity:.05;
right:-34px;
bottom:-26px;
pointer-events:none
}

.diag_fiche > * {
position:relative;
z-index:1;
opacity:0;
transform:translate3d(0,16px,0)
}

.diag_step.is_active .diag_fiche > * {
opacity:1;
transform:translate3d(0,0,0);
transition:opacity .7s var(--m_ease), transform .7s var(--m_ease)
}

.diag_step.is_active .diag_fiche > *:nth-child(2) { transition-delay:.15s }

.diag_step.is_active .diag_fiche > *:nth-child(3) { transition-delay:.45s }

.diag_step.is_active .diag_fiche > *:nth-child(4) { transition-delay:.7s }

.diag_step.is_active .diag_fiche > *:nth-child(5) { transition-delay:.95s }

.diag_step.is_active .diag_fiche > *:nth-child(6) { transition-delay:1.1s }

.diag_step.is_active .diag_fiche > *:nth-child(7) { transition-delay:1.2s }

.diag_step.is_active .diag_fiche > *:nth-child(8) { transition-delay:1.3s }

.diag_fiche_entete {
display:flex;
align-items:center;
justify-content:center;
gap:14px;
margin:0 0 22px
}

.diag_fiche_entete::before, .diag_fiche_entete::after {
flex:1;
height:1px;
content:"";
background:linear-gradient(90deg, transparent, var(--m_or))
}

.diag_fiche_entete::after { background:linear-gradient(90deg, var(--m_or), transparent) }

.diag_fiche_entete p {
font-size:10.5px;
font-weight:700;
text-align:center;
color:var(--m_or);
letter-spacing:.24em;
text-transform:uppercase;
white-space:nowrap;
margin:0
}

.diag_jauge_zone {
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
margin:0 0 22px
}

.diag_jauge {
position:relative;
width:168px;
height:168px
}

.diag_jauge::before {
position:absolute;
z-index:0;
width:120%;
height:120%;
content:"";
background:radial-gradient(circle, rgba(184,150,46,.25), transparent 65%);
border-radius:50%;
top:-10%;
left:-10%;
pointer-events:none
}

.diag_jauge svg {
width:100%;
height:100%;
transform:rotate(-90deg)
}

.diag_jauge circle {
fill:none;
stroke-width:11;
stroke-linecap:round
}

.diag_jauge_fond { stroke:#DECDA8 }

.diag_jauge_barre {
stroke:url(#diag_degrade);
stroke-dasharray:427;
stroke-dashoffset:427
}

.diag_jauge_centre {
position:absolute;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
top:0;
right:0;
bottom:0;
left:0
}

.diag_jauge_score {
font-family:var(--m_serif);
font-size:52px;
font-weight:600;
color:var(--m_nuit);
line-height:1
}

.diag_jauge_sur {
font-size:11px;
font-weight:700;
color:var(--m_or);
letter-spacing:.2em;
text-transform:uppercase;
margin:4px 0 0
}

.diag_verdict {
font-family:var(--m_serif);
font-size:20px;
font-weight:600;
color:var(--m_nuit);
line-height:1.35;
margin:14px 0 0
}

.diag_verdict_sous {
font-size:13px;
color:#5A6A85;
margin:6px 0 0
}

.diag_cartes {
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
margin:0 0 18px
}

.diag_carte_resultat {
background:var(--m_blanc);
border:1px solid #E2D5B8;
padding:13px 14px
}

.diag_carte_val {
font-family:var(--m_serif);
font-size:25px;
font-weight:600;
color:var(--m_nuit);
line-height:1.1
}

.diag_carte_val.is_alerte { color:#A5502F }

.diag_carte_lib {
font-size:11px;
color:#6A7890;
line-height:1.4;
margin:4px 0 0
}

.diag_barre_zone { margin:0 0 20px }

.diag_barre_titre {
display:flex;
align-items:center;
justify-content:space-between;
font-size:11px;
font-weight:700;
color:#6A7890;
letter-spacing:.14em;
text-transform:uppercase;
margin:0 0 8px
}

.diag_barre {
position:relative;
display:flex;
width:100%;
height:14px;
overflow:hidden;
background:#E6D9BC;
border-radius:8px
}

.diag_barre_couvert {
width:0%;
height:100%;
background:var(--m_nuit);
border-radius:8px 0 0 8px;
transition:width 1.1s var(--m_ease) 1s;
will-change:width
}

.diag_barre_legende {
display:flex;
justify-content:space-between;
font-size:11.5px;
color:#5A6A85;
margin:7px 0 0
}

.diag_barre_legende b { color:var(--m_nuit) }

.diag_points_zone {
border-top:1px solid #E2D5B8;
margin:0;
padding:18px 0 0
}

.diag_points_priorite {
display:inline-block;
background:rgba(184,150,46,.12);
border-radius:3px;
text-transform:uppercase;
font-size:11px;
font-weight:600;
letter-spacing:.14em;
color:#6B5514;
margin:0 0 12px;
padding:5px 10px
}

.diag_points_titre {
font-family:var(--m_serif);
font-size:24px;
font-weight:600;
color:var(--m_nuit);
line-height:1.2;
margin:0
}

.diag_synthese {
font-family:var(--m_serif);
font-size:17px;
font-weight:500;
color:#3A4A66;
line-height:1.45;
margin:10px 0 0
}

.diag_points {
display:flex;
flex-direction:column;
gap:14px;
counter-reset:diag_point;
list-style:none;
margin:20px 0 0;
padding:0
}

.diag_points li {
position:relative;
border-left:2px solid var(--m_or);
font-size:15px;
color:var(--m_nuit);
line-height:1.5;
list-style:none;
margin:0;
padding:2px 0 2px 44px
}

.diag_points li::before {
position:absolute;
counter-increment:diag_point;
content:'0' counter(diag_point);
font-family:var(--m_serif);
font-size:15px;
font-weight:700;
color:var(--m_or);
top:2px;
left:14px
}

.diag_apports {
display:flex;
flex-direction:column;
gap:10px;
list-style:none;
margin:14px 0 0;
padding:0
}

.diag_apports li {
display:flex;
align-items:flex-start;
gap:10px;
font-size:14px;
color:#3A4A66;
line-height:1.5;
list-style:none
}

.diag_apports svg {
color:var(--m_or);
flex-shrink:0;
margin:3px 0 0
}

.diag_fenetre {
background:rgba(184,150,46,.12);
border-left:3px solid var(--m_or);
font-size:13px;
color:#5A4A1E;
line-height:1.5;
margin:16px 0 0;
padding:10px 12px
}

.diag_mention {
font-size:12px;
color:#4A5568;
line-height:1.5;
margin:16px 0 0
}

.diag_form { margin:22px 0 0 }

.diag_form_intro {
font-size:14px;
color:rgba(239,227,204,.8);
margin:0 0 16px
}

.diag_champs {
display:grid;
grid-template-columns:1fr 1fr;
gap:12px
}

.diag_champ {
display:flex;
flex-direction:column;
gap:6px
}

.diag_champ.is_large { grid-column:1/-1 }

.diag_champ label {
font-size:11px;
font-weight:600;
color:var(--m_or_clair);
letter-spacing:.18em;
text-transform:uppercase
}

.diag_champ input {
width:100%;
min-height:52px;
background:var(--m_voile);
border:1px solid var(--m_voile_bord);
font-size:16px;
font-family:var(--m_sans);
color:var(--m_blanc);
transition:border-color .25s var(--m_ease), background-color .25s var(--m_ease);
padding:0 15px
}

.diag_champ input::placeholder { color:rgba(239,227,204,.35) }

.diag_champ input:focus {
background:rgba(255,255,255,.09);
border-color:var(--m_or_clair);
outline:none
}

.diag_champ input.is_erreur { border-color:#C4694F }

.diag_rgpd {
display:flex;
align-items:flex-start;
gap:11px;
font-size:12.5px;
color:rgba(239,227,204,.7);
line-height:1.5;
cursor:pointer;
margin:16px 0 18px
}

.diag_rgpd input {
width:20px;
height:20px;
accent-color:var(--m_or);
cursor:pointer;
flex-shrink:0;
margin:1px 0 0
}

.diag_erreur_globale {
display:none;
background:rgba(196,105,79,.14);
border:1px solid rgba(196,105,79,.5);
font-size:13.5px;
color:#E8B4A4;
margin:0 0 14px;
padding:11px 14px
}

.diag_erreur_globale.is_visible { display:block }

.diag_hp {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
opacity:0;
left:-9999px;
pointer-events:none
}

.diag_succes { text-align:center }

.diag_succes.is_active {
align-items:center;
justify-content:center
}

.diag_succes_icone {
display:inline-flex;
align-items:center;
justify-content:center;
width:84px;
height:84px;
background:rgba(184,150,46,.14);
border:1px solid rgba(211,180,88,.5);
border-radius:50%;
color:var(--m_or_clair);
animation:diag_pop .7s var(--m_ease) both;
margin:12px auto 20px
}

.diag_recap {
display:inline-flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
list-style:none;
margin:4px 0 24px;
padding:0
}

.diag_recap li {
display:inline-block;
background:var(--m_voile);
border:1px solid var(--m_voile_bord);
border-radius:999px;
font-size:12.5px;
color:rgba(239,227,204,.85);
list-style:none;
padding:7px 14px
}

.diag_succes_note {
font-size:13px;
color:rgba(239,227,204,.6);
margin:16px 0 0
}

.diag_pied {
font-size:11px;
text-align:center;
color:rgba(239,227,204,.62);
line-height:1.6;
margin:26px 0 0
}

@keyframes diag_pop {
	0% {
	opacity:0;
	transform:translate3d(0,0,0) scale(.6)
	}

	60% {
	opacity:1;
	transform:translate3d(0,0,0) scale(1.08)
	}

	100% {
	opacity:1;
	transform:translate3d(0,0,0) scale(1)
	}
}

@keyframes diag_sheen {
	0% { left:-90px }
	55% { left:calc(100% + 30px) }
	100% { left:calc(100% + 30px) }
}

@media (min-width:600px) {
	.diag_grille { grid-template-columns:repeat(3, 1fr) }

	.diag_card { min-height:120px }

	.diag_fiche { padding:36px 34px 30px }

	.diag_cartes { grid-template-columns:repeat(4, 1fr) }

	.diag_app { padding:0 28px calc(56px + env(safe-area-inset-bottom)) }
}

@media (min-width:960px) {
	.diag_app { max-width:820px }

	.diag_step { padding:34px 0 12px }

	.diag_titre { margin:0 0 18px }
}

@media (max-width:820px) {
	.diag_enveloppe .page_entete { padding:8rem 0 2rem }
}

@media (max-width:520px) {
	.diag_enveloppe .page_entete { padding:7rem 0 1.8rem }
}

@media (prefers-reduced-motion:reduce) {
	.diag_colle, .diag_colle.is_visible { transition:none }

	.diag_step, .diag_step.is_active, .diag_progress_barre, .diag_card, .diag_cta, .diag_barre_couvert, .diag_analyse_liste li, .diag_fiche > *, .diag_step.is_active .diag_fiche > * {
	transition:none;
	transform:none;
	opacity:1
	}

	.diag_step { opacity:0 }

	.diag_step.is_active { opacity:1 }

	.diag_cta::after { animation:none }

	.diag_succes_icone { animation:none }
}
