/* Plaine Altitude, système de design V4 : Panier : mini-panier (tiroir, volet du bas sur mobile), lignes, jauge, encart « tarif conseillé », page panier et tunnel fermé.
   Extrait des maquettes le 2026-10-11 ; ne pas éditer les pages, éditer ce fichier. */

/* ════ Mini-panier ════ */
.mp { position: fixed; inset: 0; }
.mp { z-index: 100; }
.mp[hidden] { display: none; }
.mp__fond { position: absolute; inset: 0; background: rgba(41,39,40,.45); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); animation: nl-fondu 200ms ease; }
.mp__boite { position: absolute; top: 0; right: 0; bottom: 0; width: min(27rem, 100%); display: flex; flex-direction: column; background: #fff; border-radius: 16px 0 0 16px; box-shadow: -20px 0 60px rgba(41,39,40,.18); animation: mp-droite 280ms cubic-bezier(.2,.7,.3,1); }
@keyframes mp-droite { from { transform: translateX(100%); } }
@keyframes mp-bas { from { transform: translateY(100%); } }
.mp__poignee { display: none; }
.mp__tete { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--bord); }
.mp__tete h2 { margin: 0; font: 800 var(--fs-lg)/1.1 var(--font-titre); color: var(--fg-titre); }
.mp__tete h2 small { font: 600 var(--fs-sm)/1 var(--font-texte); color: var(--fg-secondaire); }
.mp__fermer { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 8px; border: 1px solid var(--bord); background: #fff; color: var(--pa-noir); cursor: pointer; }
.mp__fermer svg { width: 1rem; height: 1rem; }
.mp__fermer:hover { background: var(--pa-noir); border-color: var(--pa-noir); color: var(--pa-turquoise); }
.mp__corps { flex: 1; overflow: auto; overscroll-behavior: contain; padding: 1rem 1.25rem 1.25rem; display: grid; align-content: start; gap: 1rem; }
.mp__pied { display: grid; gap: 0.6rem; padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--bord); background: #fff; }
.mp__pied:empty { display: none; }
.mp__total { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; color: var(--fg-titre); }
.mp__total strong { font: 800 var(--fs-lg)/1 var(--font-titre); }
.mp__note { margin: 0; font-size: var(--fs-xs); color: var(--fg-secondaire); }
.mp__boutons { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.mp__boutons .pa-btn { width: 100%; }
.mp__boutons .pa-btn:not(.pa-btn--bloc) { justify-content: center; }
.pn-conseil .avatar, .pn-contact .avatar { flex: none; }
.mp-ajout { display: flex; align-items: center; gap: 0.55rem; margin: 0; padding: 0.7rem 0.9rem; border-radius: 10px; background: var(--succes-bg); color: var(--succes); font: 700 var(--fs-sm)/1.3 var(--font-texte); }
.mp-ajout svg { width: 1.1rem; height: 1.1rem; flex: none; }
@media (max-width: 699px) {
  .mp__boite { top: auto; left: 0; width: 100%; max-height: 88vh; border-radius: 18px 18px 0 0; animation-name: mp-bas; box-shadow: 0 -20px 60px rgba(41,39,40,.2); }
  .mp__poignee { display: block; flex: none; width: 2.75rem; height: 5px; margin: 0.55rem auto -0.2rem; border-radius: 3px; background: var(--bord-fort); cursor: pointer; }
  .mp__tete { padding: 0.8rem 1rem; }
  .mp__corps { padding: 0.9rem 1rem 1rem; }
  .mp__pied { padding-inline: 1rem; }
}
/* ── Lignes du panier (mini-panier et page) ── */
.pn-liste { list-style: none; margin: 0; padding: 0; display: grid; }
.pn-ligne { display: grid; grid-template-columns: 7rem minmax(0, 1fr) auto; gap: 0.75rem 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--bord); }
.pn-ligne:first-child { padding-top: 0.25rem; }
.pn-ligne--compacte { grid-template-columns: 4.5rem minmax(0, 1fr) auto; gap: 0.4rem 0.85rem; padding: 0.9rem 0; }
.pn-ligne--compacte:last-child { border-bottom: 0; }
.pn-ligne.est-nouveau { animation: pn-flash 2.4s ease; }
@keyframes pn-flash { 0%, 40% { background: var(--pa-turquoise-50); box-shadow: 0 0 0 0.5rem var(--pa-turquoise-50); } 100% { background: transparent; box-shadow: 0 0 0 0.5rem transparent; } }
.pn-ligne__img { display: block; align-self: start; aspect-ratio: 1; overflow: hidden; border-radius: 12px; background: #fff; border: 1px solid var(--bord); }
.pn-ligne__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pn-ligne__infos { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0.3rem; }
.pn-ligne__sur { font: 800 var(--fs-2xs)/1 var(--font-texte); letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-secondaire); }
.pn-ligne__nom { font: 800 var(--fs-md)/1.2 var(--font-titre); color: var(--fg-titre); text-decoration: none; }
.pn-ligne__nom:hover { color: var(--pa-turquoise-text); }
.pn-ligne--compacte .pn-ligne__nom { font-size: 1rem; }
.pn-ligne__var { font-size: var(--fs-sm); color: var(--fg-texte); }
.pn-ligne--compacte .pn-ligne__var { font-size: var(--fs-xs); }
.pn-ligne__donnees { display: grid; gap: 0.15rem; margin: 0; font-size: var(--fs-sm); color: var(--fg-texte); }
.pn-ligne__donnees div { display: flex; flex-wrap: wrap; gap: 0 0.3rem; }
.pn-ligne__donnees dt { color: var(--fg-secondaire); }
.pn-ligne__donnees dd { margin: 0; overflow-wrap: anywhere; }
.pn-ligne--compacte .pn-ligne__donnees { font-size: var(--fs-xs); }
.mp__frais { display: flex; justify-content: space-between; gap: 1rem; font-size: var(--fs-sm); color: var(--fg-texte); }
.pn-ligne__badges { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.pn-ligne__badges:empty { display: none; }
.pn-ligne__badges .pa-badge { padding: 0.3rem 0.55rem; }
.pn-conseille { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0.55rem; border-radius: 6px; background: var(--pa-jaune-100); color: #7a5200; font: 800 var(--fs-2xs)/1 var(--font-texte); letter-spacing: 0.02em; }
.pn-conseille svg { width: 0.85rem; height: 0.85rem; }
.pn-dispo { display: inline-flex; align-items: center; gap: 0.4rem; font: 600 var(--fs-xs)/1.3 var(--font-texte); color: var(--succes); }
.pn-dispo i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.pn-dispo--commande { color: var(--alerte); }
.pn-ligne__droite { display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; text-align: right; }
.pn-ligne__prix { display: grid; justify-items: end; gap: 0.2rem; }
.pn-ligne__prix strong { font: 800 var(--fs-md)/1 var(--font-titre); color: var(--fg-titre); white-space: nowrap; }
.pn-ligne--compacte .pn-ligne__prix strong { font-size: 1rem; }
.pn-ligne__prix s, .pn-ligne__prix small { font-size: var(--fs-xs); color: var(--fg-secondaire); white-space: nowrap; }
.pn-qte { display: inline-flex; align-items: center; height: 2.4rem; border: 1px solid var(--bord-fort); border-radius: 8px; background: #fff; }
.pn-ligne--compacte .pn-qte { height: 2rem; }
.pn-qte button { width: 2.1rem; height: 100%; border: 0; background: none; font: 700 1.05rem/1 var(--font-texte); color: var(--fg-titre); cursor: pointer; border-radius: 8px; }
.pn-qte button:hover:not(:disabled) { background: var(--pa-turquoise-50); color: var(--pa-turquoise-text); }
.pn-qte button:disabled { color: var(--pa-gris-clair); cursor: default; }
.pn-qte output { min-width: 1.6rem; text-align: center; font: 700 var(--fs-sm)/1 var(--font-texte); color: var(--fg-titre); }
.pn-qte-fixe { font-size: var(--fs-xs); color: var(--fg-secondaire); }
.pn-ligne__actions { display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; margin-top: 0.35rem; }
.pn-ligne__actions button, .pn-retirer-x { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0; border: 0; background: none; font: 600 var(--fs-xs)/1 var(--font-texte); color: var(--fg-secondaire); cursor: pointer; }
.pn-ligne__actions button:hover { color: var(--fg-titre); }
.pn-ligne__actions svg { width: 0.95rem; height: 0.95rem; }
.pn-retirer-x { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 8px; }
.pn-retirer-x:hover { background: var(--erreur-bg); color: var(--erreur); }
.pn-retirer-x svg { width: 0.95rem; height: 0.95rem; }
.pn-compo { margin-top: 0.2rem; width: 100%; }
.pn-compo summary { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.4rem; list-style: none; cursor: pointer; font: 700 var(--fs-xs)/1.3 var(--font-texte); color: var(--pa-turquoise-text); }
.pn-compo summary::-webkit-details-marker { display: none; }
.pn-compo summary svg { width: 0.75rem; height: 0.75rem; transform: rotate(-90deg); transition: transform var(--t-rapide); }
.pn-compo[open] summary svg { transform: none; }
.pn-compo ul { list-style: none; margin: 0.55rem 0 0; padding: 0; display: grid; gap: 0.4rem; }
.pn-compo li { display: flex; align-items: center; gap: 0.55rem; font-size: var(--fs-xs); color: var(--fg-texte); }
.pn-compo li img { width: 2.1rem; height: 2.1rem; object-fit: cover; border-radius: 6px; border: 1px solid var(--bord); flex: none; }
.pn-compo li b { color: var(--fg-titre); font-weight: 700; }
.pn-compo li em { font-style: normal; color: var(--succes); font-weight: 700; }
.pn-eco { color: var(--succes); font-weight: 800; }
@media (max-width: 699px) {
  .pn-ligne { grid-template-columns: 5.25rem minmax(0, 1fr); }
  .pn-ligne__droite { grid-column: 2; flex-direction: row-reverse; justify-content: space-between; align-items: center; }
  .pn-ligne--compacte { grid-template-columns: 4rem minmax(0, 1fr) auto; }
  .pn-ligne--compacte .pn-ligne__droite { grid-column: auto; flex-direction: column; align-items: flex-end; }
}
/* ── Jauge, encart « tarif conseillé », suggestions ── */
.pn-jauge { padding: 0.85rem 1rem; border-radius: 12px; background: var(--bg-page); }
.pn-jauge p { display: flex; align-items: center; gap: 0.55rem; margin: 0 0 0.55rem; font-size: var(--fs-sm); line-height: 1.35; color: var(--fg-titre); }
.pn-jauge p svg { width: 1.25rem; height: 1.25rem; color: var(--pa-turquoise-text); flex: none; }
.pn-jauge__barre { height: 6px; border-radius: 3px; background: rgba(41,39,40,.1); overflow: hidden; }
.pn-jauge__barre i { display: block; height: 100%; border-radius: inherit; background: var(--pa-turquoise); transition: width 400ms ease; }
.pn-jauge.est-atteinte { background: var(--succes-bg); }
.pn-jauge.est-atteinte p, .pn-jauge.est-atteinte p svg { color: var(--succes); }
.pn-jauge.est-atteinte .pn-jauge__barre { display: none; }
.pn-jauge.est-atteinte p { margin: 0; font-weight: 700; }
.pn-conseil { display: flex; gap: 0.85rem; padding: 1rem 1.1rem; border-radius: 12px; background: var(--pa-jaune-100); border: 1px solid rgba(245,163,0,.3); }
.pn-conseil b { display: block; font: 800 var(--fs-sm)/1.3 var(--font-titre); color: var(--fg-titre); }
.pn-conseil p { margin: 0.25rem 0 0.55rem; font-size: var(--fs-sm); line-height: 1.45; color: var(--fg-texte); }
.pn-lien { padding: 0; border: 0; background: none; font: 800 var(--fs-sm)/1.3 var(--font-texte); color: var(--fg-titre); text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--pa-jaune); text-underline-offset: 4px; cursor: pointer; text-align: left; }
.pn-lien:hover { color: var(--pa-turquoise-text); text-decoration-color: currentColor; }
.pn-sugg h3 { margin: 0 0 0.65rem; font: 800 var(--fs-sm)/1.2 var(--font-titre); color: var(--fg-titre); }
.pn-sugg__liste { display: grid; gap: 0.5rem; }
.pn-sugg__item { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; padding: 0.45rem; border-radius: 12px; border: 1px solid var(--bord); background: #fff; }
.pn-sugg__item img { width: 3.25rem; height: 3.25rem; object-fit: cover; border-radius: 8px; display: block; }
.pn-sugg__item b { display: block; font: 700 var(--fs-sm)/1.25 var(--font-texte); color: var(--fg-titre); }
.pn-sugg__item span { font-size: var(--fs-xs); color: var(--fg-secondaire); }
.pn-ajouter { display: inline-flex; align-items: center; gap: 0.3rem; height: 2.1rem; padding: 0 0.75rem; border-radius: 8px; border: 1px solid var(--pa-noir); background: #fff; font: 700 var(--fs-xs)/1 var(--font-texte); color: var(--pa-noir); cursor: pointer; white-space: nowrap; }
.pn-ajouter:hover { background: var(--pa-noir); color: var(--pa-turquoise); }
.pn-vide { display: grid; justify-items: center; gap: 0.6rem; padding: 2rem 0.5rem; text-align: center; }
.pn-vide__icone { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border-radius: 50%; background: var(--bg-page); color: var(--pa-turquoise-text); }
.pn-vide__icone svg { width: 2rem; height: 2rem; }
.pn-vide :is(h2, h3) { margin: 0.4rem 0 0; font: 800 var(--fs-lg)/1.2 var(--font-titre); color: var(--fg-titre); }
.pn-vide p { margin: 0; color: var(--fg-texte); }
.pn-puces { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; margin: 0.5rem 0; }
.pn-puces a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 0.85rem; border-radius: 8px; border: 1px solid var(--bord); background: #fff; font: 600 var(--fs-sm)/1 var(--font-texte); color: var(--fg-titre); text-decoration: none; cursor: pointer; }
.pn-puces a:hover { border-color: var(--pa-turquoise); color: var(--pa-turquoise-text); background: var(--pa-turquoise-50); }
.pn-email { display: flex; gap: 0.4rem; }
.pn-email input { flex: 1; min-width: 0; height: 2.6rem; padding: 0 0.8rem; border-radius: 8px; border: 1px solid var(--bord-fort); font: 500 var(--fs-sm)/1 var(--font-texte); color: var(--fg-titre); background: #fff; }
.pn-email input:focus { outline: none; border-color: var(--pa-turquoise); box-shadow: var(--focus); }
.pn-email button { flex: none; }
.pn-email-ok { display: flex; align-items: center; gap: 0.45rem; margin: 0; font: 700 var(--fs-xs)/1.4 var(--font-texte); color: var(--succes); }
.pn-email-ok svg { width: 1rem; height: 1rem; flex: none; }
.mp__email { justify-self: center; font-size: var(--fs-xs); }
/* Message « retiré », avec annulation : bulle .pa-bulle de messages.css */
/* ════ Page panier ════ */
.pn-page { padding-bottom: var(--sp-2xl); }
.pn-entete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin: var(--sp-s) 0 var(--sp-m); }
.pn-entete h1 { margin: 0; font-size: var(--fs-2xl); }
.pn-entete h1 small { font: 600 var(--fs-md)/1 var(--font-texte); color: var(--fg-secondaire); }
.pn-etapes { display: flex; gap: 0.4rem 1.6rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.pn-etapes li { display: flex; align-items: center; gap: 0.5rem; font: 700 var(--fs-sm)/1 var(--font-texte); color: var(--fg-secondaire); }
.pn-etapes li + li::before { content: ""; width: 1.6rem; height: 1px; margin-right: 0.6rem; background: var(--bord-fort); }
.pn-etapes b { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; border: 1.5px solid var(--bord-fort); font-size: var(--fs-xs); }
.pn-etapes .est-actif { color: var(--fg-titre); }
.pn-etapes .est-actif b { background: var(--pa-noir); border-color: var(--pa-noir); color: var(--pa-turquoise); }
.pn-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 25rem); gap: var(--sp-m); align-items: start; }
.pn-grille.est-vide { grid-template-columns: minmax(0, 1fr); }
.pn-grille.est-vide .pn-recap { display: none; }
.pn-principal, .pn-recap, .pn-bas-bloc { background: #fff; border: 1px solid var(--bord); border-radius: 16px; padding: var(--sp-m); }
.pn-principal { display: grid; gap: var(--sp-s); align-content: start; }
.pn-recap { position: sticky; top: 6.5rem; display: grid; gap: 1rem; }
.pn-recap h2 { margin: 0; font-size: var(--fs-lg); }
.pn-recap__lignes { display: grid; gap: 0.6rem; margin: 0; }
.pn-recap__lignes div { display: flex; justify-content: space-between; gap: 1rem; font-size: var(--fs-sm); }
.pn-recap__lignes dt { color: var(--fg-texte); }
.pn-recap__lignes dd { margin: 0; font-weight: 700; color: var(--fg-titre); white-space: nowrap; }
.pn-recap__eco dt, .pn-recap__eco dd, .pn-ok { color: var(--succes) !important; font-weight: 800; }
.pn-code summary { display: inline-flex; align-items: center; gap: 0.4rem; list-style: none; cursor: pointer; font: 700 var(--fs-sm)/1 var(--font-texte); color: var(--fg-titre); }
.pn-code summary::-webkit-details-marker { display: none; }
.pn-code summary svg { width: 1rem; height: 1rem; color: var(--pa-turquoise-text); }
.pn-code form { margin-top: 0.6rem; }
.pn-code__erreur { display: flex; gap: 0.35rem; align-items: flex-start; margin: 0.45rem 0 0; font: 700 var(--fs-xs)/1.4 var(--font-texte); color: var(--erreur); }
.pn-code__erreur::before { content: ""; flex: none; width: 0.95rem; height: 0.95rem; margin-top: 0.05rem; background: currentColor; -webkit-mask: var(--ico-erreur) center / contain no-repeat; mask: var(--ico-erreur) center / contain no-repeat; }
.pn-code input[aria-invalid="true"] { border-color: var(--erreur); }
.pn-code__retirer { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-left: 0.2rem; vertical-align: middle; padding: 0; border: 0; border-radius: 6px; background: none; color: var(--fg-secondaire); cursor: pointer; }
.pn-code__retirer:hover { background: var(--erreur-bg); color: var(--erreur); }
.pn-code__retirer svg { width: 0.75rem; height: 0.75rem; }
.mp__charge { margin: 2rem 0; text-align: center; font-size: var(--fs-sm); color: var(--fg-secondaire); }
.pn-ligne[aria-busy="true"] { opacity: 0.55; transition: opacity var(--t-rapide); }
.pn-recap__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 1rem; border-top: 1px solid var(--bord); font-weight: 800; color: var(--fg-titre); }
.pn-recap__total strong { font: 800 var(--fs-xl)/1 var(--font-titre); }
.pn-recap__note { margin: -0.6rem 0 0; font-size: var(--fs-xs); color: var(--fg-secondaire); }
.pn-recap .pa-btn { width: 100%; }
.pn-recap .pa-btn:not(.pa-btn--bloc) { justify-content: center; }
.pn-recap__cta { padding-block: 1.05em; font-size: 1.0625rem; }
.pn-recap__devis { white-space: normal; line-height: 1.3; }
.pn-recap__email { text-align: center; }
.pn-securise { display: flex; align-items: center; justify-content: center; gap: 0.45rem; margin: 0; font-size: var(--fs-xs); color: var(--fg-secondaire); }
.pn-securise svg { width: 0.95rem; height: 0.95rem; }
.pn-rassure { display: grid; gap: 0.55rem; margin: 0; padding: 1rem 0 0; list-style: none; border-top: 1px solid var(--bord); }
.pn-rassure li { display: flex; align-items: center; gap: 0.6rem; font-size: var(--fs-sm); color: var(--fg-texte); }
.pn-rassure svg { width: 1.1rem; height: 1.1rem; color: var(--pa-turquoise-text); flex: none; }
.pn-contact { display: flex; gap: 0.85rem; padding: 1rem; border-radius: 12px; background: var(--bg-page); }
.pn-contact b { display: block; font: 800 var(--fs-sm)/1.3 var(--font-titre); color: var(--fg-titre); }
.pn-contact p { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; margin: 0.35rem 0 0.5rem; }
.pn-contact p a { display: inline-flex; align-items: center; gap: 0.35rem; font: 700 var(--fs-sm)/1.2 var(--font-texte); color: var(--pa-turquoise-text); text-decoration: none; }
.pn-contact p svg { width: 1rem; height: 1rem; }
.pn-bas { display: grid; gap: var(--sp-m); margin-top: var(--sp-m); }
.pn-bas:empty { display: none; }
.pn-bas-bloc h2 { margin: 0 0 1rem; font-size: var(--fs-lg); }
.pn-bas-bloc h2 small { font: 600 var(--fs-sm)/1 var(--font-texte); color: var(--fg-secondaire); }
.pn-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(13rem, 100%), 1fr)); gap: 1rem; }
.pn-carte { display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; }
.pn-carte__img { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 12px; border: 1px solid var(--bord); background: #fff; margin-bottom: 0.3rem; }
.pn-carte__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--t-normal); }
.pn-carte:hover .pn-carte__img img { transform: scale(1.04); }
.pn-carte__nom { font: 800 var(--fs-sm)/1.25 var(--font-titre); color: var(--fg-titre); text-decoration: none; }
.pn-carte strong { font: 800 var(--fs-md)/1 var(--font-titre); color: var(--fg-titre); margin-bottom: 0.3rem; }
.pn-carte .pn-ajouter { margin-top: auto; }
.pn-cote { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.pn-cote li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) auto; align-items: center; gap: 0.9rem; }
.pn-cote img { width: 3.5rem; height: 3.5rem; object-fit: cover; border-radius: 10px; border: 1px solid var(--bord); }
.pn-cote b { display: block; font: 700 var(--fs-sm)/1.25 var(--font-texte); color: var(--fg-titre); }
.pn-cote span { font-size: var(--fs-xs); color: var(--fg-secondaire); }
.pn-principal .pn-vide { padding-block: var(--sp-xl); }
.pn-barre[hidden] { display: none !important; }
/* ── En-tête et pied du tunnel : logo, réassurance, étapes, aide ; ni menu ni grand pied ── */
.pn-rassure-haut, .pn-aide-haut, .pn-etapes--entete, .pn-tete-droite, .pn-pied { display: none; }
body.pn-tunnel .pa-pilule:not(.pa-pilule--compacte), body.pn-tunnel .pa-entete__icones, body.pn-tunnel .compacte, body.pn-tunnel .pa-pied, body.pn-tunnel .pn-page > .fil { display: none !important; }
body.pn-tunnel .pn-tete-droite { display: flex; align-items: center; gap: 0.5rem 1.5rem; margin-left: auto; }
body.pn-tunnel .pn-pied { display: block; }
.pn-continuer svg { width: 1.05rem; height: 1.05rem; }
.pn-continuer { display: inline-flex; align-items: center; gap: 0.45rem; height: 2.75rem; padding: 0 1rem; border-radius: 8px; border: 1px solid var(--bord-fort); background: #fff; font: 700 var(--fs-sm)/1 var(--font-texte); color: var(--fg-titre); text-decoration: none; }
.pn-continuer:hover { border-color: var(--pa-turquoise); color: var(--pa-turquoise-text); background: var(--pa-turquoise-50); }
.pn-tete-aide { display: none !important; }
/* C : la barre du haut ne mène plus ailleurs, elle rassure ; les étapes passent dans l'en-tête */
body.pn-tunnel .pa-barre-haute > .pa-barre-haute__groupe:not(.pn-rassure-haut):not(.pn-aide-haut) { display: none; }
body.pn-tunnel .pn-rassure-haut { display: flex; gap: 1.75rem; margin: 0 1.75rem 0 0; padding: 0 1.75rem 0 0; list-style: none; border-right: 1px solid rgba(41,39,40,.15); }
body.pn-tunnel .pn-aide-haut { gap: 1.25rem; }
@media (max-width: 1279px) {
  body.pn-tunnel .pn-rassure-haut li:nth-child(3) { display: none; }
}
body.pn-tunnel .pn-rassure-haut li { display: inline-flex; align-items: center; gap: 0.45rem; font: 600 0.875rem/1 var(--font-texte); color: var(--pa-encre); }
body.pn-tunnel .pn-rassure-haut svg { width: 1rem; height: 1rem; color: var(--pa-turquoise-text); opacity: 1; }
body.pn-tunnel .pn-aide-haut { display: flex; align-items: center; }
body.pn-tunnel .pn-aide-haut > span { font: 600 0.875rem/1 var(--font-texte); color: var(--fg-secondaire); }
@media (min-width: 1000px) {
  body.pn-tunnel .pn-etapes--entete { display: flex; margin: 0 auto; }
  body.pn-tunnel .pn-entete .pn-etapes { display: none; }
  body.pn-tunnel .pn-entete { margin-top: 3.5rem; }
  body.pn-tunnel .pn-tete-droite { margin-left: 0; }
}
@media (max-width: 999px) {
  body.pn-tunnel .pn-tete-aide { display: grid !important; }
  body.pn-tunnel .pn-tete-droite { gap: 0.5rem; }
  .pn-continuer { width: 2.75rem; padding: 0; justify-content: center; }
  .pn-continuer span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
/* Pied minimal */
.pn-pied { margin-top: var(--sp-xl); padding: 1.5rem max(var(--gouttiere), calc((100% - var(--largeur-max)) / 2 + var(--gouttiere))) calc(1.25rem + env(safe-area-inset-bottom)); background: var(--pa-noir); color: rgba(255,255,255,.7); border-radius: 16px 16px 0 0; font-size: var(--fs-xs); }
.pn-pied__haut, .pn-pied__bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 2rem; }
.pn-pied__haut { padding-bottom: 1.1rem; margin-bottom: 1.1rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.pn-pied p { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; margin: 0; }
.pn-pied__aide b { font: 800 var(--fs-sm)/1.2 var(--font-titre); color: #fff; }
.pn-pied a { display: inline-flex; align-items: center; gap: 0.4rem; color: #fff; text-decoration: none; font-weight: 600; }
.pn-pied__aide a { color: var(--pa-turquoise); font-weight: 700; font-size: var(--fs-sm); }
.pn-pied a:hover { color: var(--pa-turquoise); }
.pn-pied .pn-pied__aide a:hover { color: #fff; }
.pn-pied svg { width: 1rem; height: 1rem; flex: none; }
.pn-pied__paiement svg { color: var(--pa-turquoise); }
.pn-pied nav { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }
.pn-pied nav a { color: rgba(255,255,255,.75); }
@media (max-width: 999px) {
  body.pn-tunnel .pn-pied { padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
}
@media (max-width: 999px) {
  .pn-entete { margin-top: 1.5rem; }
  .pn-grille { grid-template-columns: minmax(0, 1fr); }
  .pn-recap { position: static; }
  .pn-page { padding-bottom: 7rem; }
}
@media (max-width: 699px) {
  .pn-entete { margin-top: 1.75rem; }
  .pn-etapes { gap: 0.4rem 0.9rem; }
  .pn-etapes li { font-size: var(--fs-xs); }
  .pn-etapes li + li::before { width: 0.8rem; margin-right: 0.2rem; }
  .pn-etapes li:not(.est-actif) span, .pn-etapes li:not(.est-actif) { font-size: 0; gap: 0; }
  .pn-etapes li:not(.est-actif) b { font-size: var(--fs-xs); }
  .pn-principal, .pn-recap, .pn-bas-bloc { padding: 1rem; border-radius: 14px; }
  .pn-cote li { grid-template-columns: 3rem minmax(0, 1fr); }
  .pn-cote li .pn-ajouter { grid-column: 2; justify-self: start; }
}
/* Cinq étapes (correction n°91) : resserrées sur les petits téléphones pour tenir à 320 px */
@media (max-width: 400px) {
  .pn-etapes { gap: 0.4rem 0.45rem; }
  .pn-etapes li + li::before { width: 0.5rem; margin-right: 0.1rem; }
  .pn-etapes b { width: 1.5rem; height: 1.5rem; }
}
