/* Panier et commande : chargée seulement sur ces pages, après pages.css.
   Les blocs WooCommerce gardent leurs propres feuilles ; on n'en règle que
   la typographie, les couleurs et les boutons. */
body.nsa-page--tunnel .header { margin-bottom: 0; }
body.nsa-page--tunnel .heritage { padding-block: clamp(1rem, 2.5vw, 1.75rem); }

/* ---------- En-tête du tunnel : étapes et titre ---------- */
body.nsa-page .tunnel-tete { padding: clamp(2.25rem, 5vw, 3.5rem) 0 clamp(1.5rem, 3vw, 2.25rem); text-align: center; }
body.nsa-page .tunnel-etapes { display: flex; justify-content: center; gap: clamp(.5rem, 3vw, 2.5rem); margin: 0 0 clamp(1.5rem, 3vw, 2rem); padding: 0; list-style: none; counter-reset: none; }
body.nsa-page .tunnel-etapes__etape { position: relative; display: flex; align-items: center; font-family: var(--sans); font-size: .6875rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--texte-doux); }
body.nsa-page .tunnel-etapes__etape a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
body.nsa-page .tunnel-etapes__etape a:hover { color: var(--cuivre-texte); }
body.nsa-page .tunnel-etapes__etape + .tunnel-etapes__etape::before { content: ""; width: clamp(1.5rem, 5vw, 4rem); height: 1px; margin-right: clamp(.5rem, 3vw, 2.5rem); background: var(--filet); }
body.nsa-page .tunnel-etapes__num { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: .6rem; border: 1px solid var(--filet); border-radius: 50%; font-size: .75rem; letter-spacing: 0; }
body.nsa-page .tunnel-etapes__etape.is-courante { color: var(--encre); }
body.nsa-page .tunnel-etapes__etape.is-courante .tunnel-etapes__num { border-color: var(--cuivre); background: var(--cuivre); color: #fffefc; }
body.nsa-page .tunnel-etapes__etape.is-faite .tunnel-etapes__num { border-color: var(--cuivre); color: var(--cuivre-texte); }
body.nsa-page .tunnel-tete__titre { margin: 0; font-size: clamp(3rem, 7vw, 5rem); line-height: 1.1; color: var(--encre); }
body.nsa-page .tunnel-tete__titre .script { color: var(--rouge); }
body.nsa-page .tunnel-tete__sous { margin: .5rem 0 0; font-family: var(--sans); font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cuivre-texte); }

/* ---------- Le contenu (blocs WooCommerce) ---------- */
body.nsa-page .tunnel { padding: 0 0 clamp(3.5rem, 7vw, 5.5rem); }
body.nsa-page .tunnel__contenu { max-width: 1240px; }
body.nsa-page .tunnel__contenu > * + * { margin-top: 1.5rem; }
body.nsa-page .tunnel__contenu .alignwide { max-width: none; margin-inline: 0; }
body.nsa-page .tunnel .wc-block-components-title,
body.nsa-page .tunnel .wc-block-cart__totals-title,
body.nsa-page .tunnel .wc-block-components-checkout-step__title { font-family: var(--titre) !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--encre); }
body.nsa-page .tunnel .wc-block-components-checkout-step__title { font-size: 1.5rem !important; }
body.nsa-page .tunnel .wc-block-components-product-name { font-family: var(--titre); font-size: 1.125rem; color: var(--encre); text-decoration: none; }
body.nsa-page .tunnel .wc-block-components-sidebar .wc-block-components-panel,
body.nsa-page .tunnel .wc-block-cart__sidebar > *,
body.nsa-page .tunnel .wc-block-checkout__sidebar > * { font-family: var(--sans); }
body.nsa-page .tunnel .wc-block-components-sidebar { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid var(--filet); background: var(--blanc, #fffefc); }
body.nsa-page .tunnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.nsa-page .tunnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--titre); font-size: 1.375rem; font-weight: 400; color: var(--encre); }

/* Boutons principaux (valider, passer commande) */
body.nsa-page .tunnel .wc-block-cart__submit-button,
body.nsa-page .tunnel .wc-block-components-checkout-place-order-button,
body.nsa-page .tunnel .wc-block-components-button.contained { min-height: 56px; border: 0; border-radius: 0; background: var(--cuivre); color: #fffefc; font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; box-shadow: none; transition: background-color 300ms var(--ease); }
body.nsa-page .tunnel .wc-block-cart__submit-button:hover,
body.nsa-page .tunnel .wc-block-components-checkout-place-order-button:hover,
body.nsa-page .tunnel .wc-block-components-button.contained:hover { background: var(--rouge); color: #fffefc; }
body.nsa-page .tunnel .wc-block-components-button:focus-visible { outline: 2px solid var(--encre); outline-offset: 2px; box-shadow: none; }

/* Champs */
body.nsa-page .tunnel .wc-block-components-text-input input,
body.nsa-page .tunnel .wc-block-components-combobox .wc-block-components-combobox-control input,
body.nsa-page .tunnel .wc-blocks-components-select select,
body.nsa-page .tunnel .wc-block-components-textarea { border-color: #ddd2c6; border-radius: 0; background: #fffefc; font-family: var(--sans); }
body.nsa-page .tunnel .wc-block-components-text-input input:focus,
body.nsa-page .tunnel .wc-blocks-components-select select:focus { border-color: var(--cuivre); box-shadow: 0 0 0 1px var(--cuivre); }
body.nsa-page .tunnel .wc-block-components-radio-control__option,
body.nsa-page .tunnel .wc-block-components-radio-control-accordion-option { border-radius: 0; }
body.nsa-page .tunnel .wc-block-components-radio-control__input:checked { border-color: var(--cuivre); }
body.nsa-page .tunnel .wc-block-components-radio-control__input:checked::before { background: var(--cuivre); }
body.nsa-page .tunnel a:not(.wc-block-components-button):not(.wc-block-cart__submit-button) { color: var(--rouge); }

/* Bouton « Choisir un point de retrait » (wc-multishipping, Mondial Relay) */
body.nsa-page .tunnel .wms_pickup_selection_button { display: inline-flex; align-items: center; min-height: 44px; margin: .75rem 0 .5rem; padding: 0 1.25rem; border: 1px solid var(--cuivre); border-radius: 0; background: transparent; color: var(--cuivre-texte); font-family: var(--sans); font-size: .6875rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; transition: background-color 300ms var(--ease), color 300ms var(--ease); }
body.nsa-page .tunnel .wms_pickup_selection_button:hover { background: var(--cuivre); color: #fffefc; }

/* ---------- Réassurance ---------- */
body.nsa-page .tunnel-reassurance { padding: clamp(2.5rem, 5vw, 3.5rem) 0; background: var(--fond-2); border-top: 1px solid var(--filet); }
body.nsa-page .tunnel-reassurance__liste { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin: 0 auto; padding-inline: var(--gouttiere); list-style: none; text-align: center; }
body.nsa-page .tunnel-reassurance svg { display: block; width: 30px; height: 30px; margin: 0 auto .9rem; fill: none; stroke: var(--cuivre); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
body.nsa-page .tunnel-reassurance strong { display: block; margin-bottom: .35rem; font-family: var(--titre); font-size: 1.125rem; font-weight: 400; color: var(--encre); }
body.nsa-page .tunnel-reassurance span { font-size: .875rem; color: var(--texte-doux); }
body.nsa-page .tunnel-reassurance a { color: var(--rouge); }

@media (max-width: 960px) {
  body.nsa-page .tunnel-reassurance__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body.nsa-page .tunnel-etapes__etape { flex-direction: column; gap: .4rem; font-size: .5625rem; letter-spacing: .1em; }
  body.nsa-page .tunnel-etapes__num { margin-right: 0; }
  body.nsa-page .tunnel-etapes__etape + .tunnel-etapes__etape::before { display: none; }
  body.nsa-page .tunnel-etapes { gap: 2rem; }
  body.nsa-page .tunnel .wc-block-components-sidebar { padding: 1rem; }
  body.nsa-page .tunnel-reassurance__liste { grid-template-columns: minmax(0, 1fr); }
}
