/* ============================================================================
   ATELIER — PAGES CLIENT & TUNNEL (auth, compte, adresses, commandes, panier…)
   Ces pages utilisent le layout PrestaShop par défaut (colonne catégories +
   newsletter + form Bootstrap brut). On réutilise ici le design « L'Atelier »
   (papier crème, filet terracotta, titres serif, tokens couleurs/fontes) pour
   les rendre cohérentes : on masque le bruit, on centre, on habille les forms.
   ============================================================================ */

/* masque colonnes latérales (catégories + newsletter) sur les pages client/tunnel */
:is(body#authentication,body#registration,body#my-account,body#identity,body#address,body#addresses,body#history,body#order-detail,body#order-slip,body#discount,body#order-follow,body#guest-tracking,body#password,body#cart,body#order,body#order-confirmation) #left-column,
:is(body#authentication,body#registration,body#my-account,body#identity,body#address,body#addresses,body#history,body#order-detail,body#order-slip,body#discount,body#order-follow,body#guest-tracking,body#password,body#cart,body#order,body#order-confirmation) #right-column{
  display:none !important;
}
:is(body#authentication,body#registration,body#my-account,body#identity,body#address,body#addresses,body#history,body#order-detail,body#order-slip,body#discount,body#order-follow,body#guest-tracking,body#password,body#cart,body#order,body#order-confirmation) #content-wrapper{
  width:100% !important; max-width:none !important; flex:0 0 100% !important; padding:0; background:transparent;
}
:is(body#authentication,body#registration,body#my-account,body#identity,body#address,body#addresses,body#history,body#order-detail,body#order-slip,body#discount,body#order-follow,body#guest-tracking,body#password) #main{
  max-width:760px; margin:0 auto; padding:40px 20px 64px;
}
body#cart #main,body#order #main,body#order-confirmation #main{ max-width:1100px; margin:0 auto; padding:32px 20px 64px; }

/* --- titre de page : serif pétrole + filet pointillé (comme la refonte) --- */
:is(body#authentication,body#registration,body#my-account,body#identity,body#address,body#addresses,body#history,body#order-detail,body#order-slip,body#discount,body#order-follow,body#guest-tracking,body#password,body#cart,body#order,body#order-confirmation) #main h1,
:is(body#authentication,body#registration,body#my-account,body#identity,body#address,body#addresses,body#history,body#order-detail,body#order-slip,body#discount,body#order-follow,body#guest-tracking,body#password) .page-header h1{
  font-family:var(--display); font-weight:700; font-size:30px; line-height:1.1;
  color:var(--petrol); margin:0 0 26px; padding-bottom:16px; border-bottom:1px dotted var(--line);
}

/* --- carte « panneau papier » : on carde UNIQUEMENT le wrapper #content
   (.page-customer-account #content) → 1 seule carte par page. On NE carde PAS
   .login-form/.register-form (qui sont DEDANS → ça faisait un panneau-dans-panneau). --- */
body#password .forgotten-password,
.page-customer-account #content,
.account-block{
  background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta);
  padding:30px 34px; margin-bottom:24px;
}
/* le footer{} générique de atelier-maquette.css met un fond PÉTROLE + 50px de padding
   sur TOUT <footer> → neutralise les footers INTERNES (form-footer, page-footer compte),
   sans toucher au vrai #footer (id différent). Corrige le « bloc vert » sous CONNEXION. */
.form-footer,
.page-customer-account .page-footer{ background:transparent !important; color:inherit; padding:0; }
@media (max-width:560px){
  body#authentication .login-form,body#authentication .register-form,body#registration .register-form,
  body#password .forgotten-password{ padding:22px 18px; }
}

/* --- champs de formulaire : ligne empilée, label serif-label, input papier --- */
.form-group.row{ display:block; margin:0 0 18px; }
.form-group.row .form-control-label,
.form-control-label,.form-group > label{
  display:block; float:none; width:auto; max-width:none; text-align:left;
  font-family:var(--label); text-transform:uppercase; letter-spacing:.08em;
  font-size:12.5px; font-weight:600; color:var(--petrol); margin:0 0 7px; padding:0; line-height:1.3;
}
.form-group.row > div[class^="col-"],
.form-group.row > div[class*=" col-"]{ width:100%; max-width:none; flex:0 0 100%; padding:0; }
.form-control-comment{ font-size:13px; color:var(--ink); opacity:.7; margin-top:5px; }

.form-control,
.page-customer-account input[type=text],.page-customer-account input[type=email],
.page-customer-account input[type=password],.page-customer-account input[type=tel],
input.form-control,select.form-control,textarea.form-control{
  width:100%; height:44px; border:1px solid var(--line); background:#fff;
  padding:0 14px; font-family:var(--body); font-size:15px; color:var(--ink); border-radius:2px;
  box-shadow:none;
}
textarea.form-control{ height:auto; min-height:120px; padding:12px 14px; }
.form-control:focus{ border-color:var(--terracotta); box-shadow:0 0 0 3px rgba(194,105,62,.16); outline:none; }
/* input + bouton « afficher mot de passe » accolés proprement */
.input-group{ display:flex; }
.input-group .form-control{ flex:1; }
.input-group .input-group-btn .btn,.input-group-append .btn{
  height:44px; border:1px solid var(--line); border-left:0; background:var(--cream);
  color:var(--petrol); font-family:var(--label); text-transform:uppercase; font-size:12px; padding:0 14px;
}

/* --- liens & actions --- */
.forgot-password{ margin-top:4px; }
.forgot-password a,.no-account a,.no-account,.lost_password a,.account-link,.add-link{ color:var(--terracotta-deep); }
.no-account{ text-align:center; padding-top:18px; margin-top:10px; border-top:1px dotted var(--line); font-size:15px; }
.form-footer,.form-control-submit{ margin-top:8px; }

/* --- liens « Mon compte » (dashboard) en cartes --- */
body#my-account .links{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; border:0; background:transparent; padding:0; }
body#my-account .links a{
  display:flex; align-items:center; gap:14px; background:var(--paper);
  border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:20px 22px;
  color:var(--petrol); font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; font-size:13px; text-decoration:none;
}
body#my-account .links a .material-icons{ color:var(--terracotta-deep); }

/* ============================================================================
   TUNNEL D'ACHAT (panier / checkout / confirmation)
   Scopé à body#cart, body#checkout, body#order-confirmation.
   NB : le toggle des étapes (.checkout-step .content) est piloté par theme.css+JS
   — on ne touche QUE le skin visuel.
   ============================================================================ */
body#cart #main,body#order-confirmation #main,body#checkout #wrapper > .container{ max-width:1180px; margin:0 auto; padding:32px 20px 64px; }
body#checkout #structure{ display:block; }
body#checkout #content-wrapper{ display:flex; flex-wrap:wrap; gap:28px; width:100% !important; max-width:none !important; align-items:flex-start; }
body#checkout .cart-grid-body{ flex:1 1 0; min-width:0; padding:0; }
body#checkout .cart-grid-right{ flex:0 0 340px; max-width:340px; padding:0; }
body#cart .cart-grid.row{ display:flex; flex-wrap:wrap; gap:28px; margin:0; }
body#cart .cart-grid-body{ flex:1 1 0; min-width:0; padding:0; }
body#cart .cart-grid-right{ flex:0 0 340px; max-width:340px; padding:0; }
body#checkout .breadcrumb,body#cart .breadcrumb{ background:transparent; padding:0; margin:0 0 22px; border:0; font-family:var(--label); text-transform:uppercase; letter-spacing:.1em; font-size:12px; color:var(--muted); }
body#checkout .breadcrumb a,body#cart .breadcrumb a{ color:var(--terracotta-deep); }
body#cart .cart-container h1,body#order-confirmation #content-hook_order_confirmation .h1{ font-family:var(--display); font-weight:700; font-size:30px; line-height:1.12; color:var(--petrol); margin:0 0 4px; padding:0; }
body#cart .card.cart-container,body#cart .card.cart-summary,body#checkout #js-checkout-summary.card,body#checkout .checkout-step,body#order-confirmation .page-content.card,body#order-confirmation #content-hook_order_confirmation.card,body#order-confirmation #registration-form.card,body#order-confirmation #content-hook_payment_return.card{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); border-radius:2px; box-shadow:none; margin-bottom:24px; overflow:visible; }
body#cart .card .card-block,body#checkout #js-checkout-summary .card-block,body#order-confirmation .card .card-block{ padding:24px 26px; }
body#cart .card .separator,body#cart .card hr,body#order-confirmation hr{ border:0; border-top:1px dotted var(--line); margin:0; }
body#cart .cart-grid-body > a.label,body#cart .continue,body#checkout .cart-grid-body a.label{ display:inline-flex; align-items:center; gap:4px; margin:14px 0 0; font-family:var(--label); text-transform:uppercase; letter-spacing:.1em; font-size:13px; color:var(--terracotta-deep); }
/* .cart-overview / actions sont des FRÈRES du .card-block (pas dedans) → aucun
   padding horizontal natif : on les aligne sur le titre (26px) pour ne pas coller au bord. */
body#cart .cart-container > .cart-overview,
body#cart .cart-container > .cart-detailed-actions,
body#cart .cart-container > .cart-detailed-totals{ padding-left:26px; padding-right:26px; }
body#cart .cart-items{ list-style:none; margin:0; padding:0; }
body#cart .cart-item{ padding:18px 0; border-bottom:1px dotted var(--line); }
body#cart .cart-item:last-child{ border-bottom:0; padding-bottom:0; }
body#cart .cart-item:first-child{ padding-top:0; }
body#cart .product-line-grid{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:16px; margin:0; }
body#cart .product-line-grid-left{ flex:0 0 88px; max-width:88px; padding:0; }
body#cart .product-line-grid-left img{ width:88px; height:88px; object-fit:cover; display:block; border:1px solid var(--line); background:#fff; border-radius:2px; }
body#cart .product-line-grid-body{ flex:1 1 200px; min-width:0; padding:0; }
body#cart .product-line-info a.label{ font-family:var(--display); font-size:18px; font-weight:700; color:var(--petrol); line-height:1.2; text-transform:none; letter-spacing:0; }
body#cart .product-line-info a.label:hover{ color:var(--terracotta-deep); }
body#cart .product-line-grid-body .current-price .price{ font-family:var(--label); font-size:16px; font-weight:600; letter-spacing:.02em; color:var(--terracotta-deep); }
body#cart .product-discount .regular-price{ color:var(--muted); text-decoration:line-through; font-size:14px; margin-right:6px; }
body#cart .product-discount .discount{ display:inline-block; background:var(--terracotta); color:var(--paper); font-family:var(--label); font-size:11px; letter-spacing:.06em; padding:1px 7px; border-radius:2px; }
body#cart .product-line-info .label{ font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; font-size:12px; color:var(--petrol); }
body#cart .product-line-info .value{ font-size:14px; color:var(--ink); }
body#cart .product-line-grid-right{ flex:0 0 100%; padding:0; margin-top:10px; }
body#cart .product-line-actions .row{ display:flex; align-items:center; gap:14px; margin:0; }
body#cart .product-line-actions .row > div{ padding:0; width:auto; flex:0 0 auto; }
body#cart input.js-cart-line-product-quantity{ width:64px; height:38px; border:1px solid var(--line); background:#fff; border-radius:2px; padding:0 8px; text-align:center; font-family:var(--body); font-size:15px; color:var(--ink); }
body#cart input.js-cart-line-product-quantity:focus{ border-color:var(--terracotta); box-shadow:0 0 0 3px rgba(194,105,62,.16); outline:none; }
body#cart .product-line-actions .price .product-price strong{ font-family:var(--label); font-size:16px; font-weight:600; color:var(--petrol); }
body#cart .cart-line-product-actions .remove-from-cart{ color:var(--muted); }
body#cart .cart-line-product-actions .remove-from-cart:hover{ color:var(--terracotta-deep); }
body#cart .cart-summary .mention_transport,body#checkout #js-checkout-summary .mention_transport{ list-style:none; margin:0 0 14px; padding:0 0 14px; border-bottom:1px dotted var(--line); font-size:13px; color:var(--muted); line-height:1.5; }
body#cart .cart-summary-line,body#checkout .cart-summary-line{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:7px 0; font-size:14px; color:var(--ink); }
body#cart .cart-summary-line .label,body#checkout .cart-summary-line .label{ font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; font-size:12.5px; color:var(--petrol); }
body#cart .cart-summary-line .value,body#checkout .cart-summary-line .value{ font-weight:600; color:var(--ink); }
body#cart .cart-summary-subtotals-container p,body#checkout .cart-summary-subtotals-container p{ display:flex; justify-content:space-between; gap:12px; margin:0; padding:6px 0; font-size:14px; }
body#cart .reduction,body#checkout .reduction{ color:var(--terracotta-deep); }
body#cart .cart-total,body#checkout .cart-summary-totals .cart-total{ margin-top:6px; padding:14px 0 2px; border-top:2px solid var(--petrol); }
body#cart .cart-total .label,body#checkout .cart-total .label{ font-family:var(--label); text-transform:uppercase; letter-spacing:.1em; font-size:14px; color:var(--petrol); }
body#cart .cart-total .value,body#checkout .cart-total .value{ font-family:var(--display); font-size:24px; font-weight:700; color:var(--terracotta-deep); }
body#checkout .cart-summary-products .media{ display:flex; gap:12px; padding:10px 0; border-top:1px dotted var(--line); }
body#checkout .cart-summary-products .media-object{ width:54px; height:54px; object-fit:cover; border:1px solid var(--line); background:#fff; border-radius:2px; }
body#cart .cart-voucher,body#checkout .cart-voucher{ padding:16px 0 4px; border-top:1px dotted var(--line); margin-top:6px; }
body#cart .promo-code form,body#checkout .promo-code form{ display:flex; gap:8px; }
body#cart .promo-input,body#checkout .promo-input{ flex:1; height:42px; border:1px solid var(--line); background:#fff; border-radius:2px; padding:0 12px; font-family:var(--body); font-size:14px; color:var(--ink); }
body#cart .promo-code-button,body#checkout .promo-code-button{ display:inline-block; margin-top:8px; color:var(--terracotta-deep); font-size:13px; }
body#cart .cart-detailed-actions{ padding:18px 26px 0; }
body#cart .cart-detailed-actions .btn-primary{ display:block; width:100%; text-align:center; padding:13px; }
/* RÉCAP TUNNEL (#js-checkout-summary) : PS imbrique des conteneurs .cart-summary-line
   les uns dans les autres ; notre display:flex générique les empilait vers la droite
   (totaux hors carte). On force le bloc partout, flex seulement sur les lignes feuilles. */
body#checkout #js-checkout-summary{ padding:0; }
body#checkout #js-checkout-summary .cart-summary-line,
body#checkout #js-checkout-summary .cart-summary-subtotals,
body#checkout #js-checkout-summary .cart-summary-totals{ display:block; width:auto; float:none; padding:0; }
body#checkout #js-checkout-summary .cart-summary-subtotals-container > p,
body#checkout #js-checkout-summary .cart-summary-subtotals-container .cart-summary-line > p,
body#checkout #js-checkout-summary .cart-summary-totals .cart-total{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:0; padding:6px 0; }
body#checkout #js-checkout-summary .cart-summary-totals .cart-total{ margin-top:6px; padding:14px 0 2px; border-top:2px solid var(--petrol); }
body#checkout #js-checkout-summary .block-promo{ display:block; }
/* promo : l'input flex:1 ne rétrécit pas (min-width:auto) → input+bouton débordaient la
   carte étroite. min-width:0 sur l'input + bouton compact pour rester dans le cadre. */
body#checkout #js-checkout-summary .cart-voucher .promo-code form{ flex-wrap:nowrap; }
body#checkout #js-checkout-summary .cart-voucher .promo-input,
body#checkout #js-checkout-summary .cart-voucher input[name='discount_name']{ flex:1 1 0; min-width:0; }
body#checkout #js-checkout-summary .cart-voucher button,
body#checkout #js-checkout-summary .cart-voucher .btn{ flex:0 0 auto; height:42px; padding:0 16px; white-space:nowrap; }

body#checkout section.checkout-step{ border-bottom:1px solid var(--line); padding:0; }
/* Titre d'étape : balise variable selon l'état (courante = h2.h2, autres = h1.step-title.h3)
   → on cible tout titre direct, sinon les h1 gardent les grosses marges de titre atelier. */
body#checkout .checkout-step > :is(h1,h2){ display:flex; align-items:center; gap:12px; margin:0; padding:20px 26px; font-family:var(--display); font-size:20px; font-weight:700; color:var(--petrol); text-transform:none; letter-spacing:0; line-height:1.2; cursor:pointer; }
body#checkout .checkout-step .step-number{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border-radius:50%; background:var(--cream); border:2px solid var(--line); font-family:var(--label); font-size:15px; font-weight:600; color:var(--petrol); }
body#checkout .checkout-step.-complete > :is(h1,h2) .done{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--terracotta); color:var(--paper); font-size:18px; }
body#checkout .checkout-step.-current .step-number{ background:var(--terracotta); border-color:var(--terracotta); color:var(--paper); }
body#checkout .checkout-step.-unreachable > :is(h1,h2){ opacity:.45; cursor:not-allowed; }
body#checkout .checkout-step .step-edit{ margin-left:auto; font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600; color:var(--terracotta-deep); }
body#checkout .checkout-step .content{ padding:0 26px 26px !important; }
/* TOGGLE DES ÉTAPES (repris de theme.css avant suppression) : seul le contenu de
   l'étape courante est visible. Le JS PS ajoute/retire -current/-reachable/-complete. */
body#checkout .checkout-step .content{ display:none; }
body#checkout .checkout-step.-current .content{ display:block; }
body#checkout .checkout-step.-current.-reachable.-complete .content{ display:block; }
body#checkout .checkout-step.-reachable.-complete .content{ display:none; }
body#checkout .checkout-step .done,body#checkout .checkout-step .step-edit{ display:none; }
body#checkout .checkout-step.-complete > :is(h1,h2) .done{ display:inline-flex; }
body#checkout .checkout-step.-reachable.-complete > :is(h1,h2) .step-edit{ display:inline-flex; }
body#checkout .checkout-step h2.h4{ font-family:var(--display); font-size:17px; color:var(--petrol); margin:6px 0 14px; }
/* .nav sert au méga-menu (fond terracotta) ET aux onglets Bootstrap (invité/connexion) :
   on neutralise le fond hérité sur ces navs du tunnel/compte. */
body#checkout .nav-inline,body#checkout .nav-tabs,.page-customer-account .nav-tabs{ background:transparent; }
body#checkout .nav-inline{ display:flex; align-items:center; gap:6px; list-style:none; padding:0; margin:0 0 18px; border-bottom:1px dotted var(--line); }
/* Onglets Bootstrap (invité / connexion) : le CSS qui masque le pane inactif était dans
   theme.css. Le JS PS bascule .active, on remet juste le display. */
body#checkout .tab-content > .tab-pane{ display:none; }
body#checkout .tab-content > .tab-pane.active{ display:block; }
body#checkout .nav-inline .nav-link{ display:inline-block; padding:8px 4px; font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:13px; color:var(--muted); border-bottom:2px solid transparent; }
body#checkout .nav-inline .nav-link.active{ color:var(--terracotta-deep); border-bottom-color:var(--terracotta); }
body#checkout .delivery-options{ display:flex; flex-direction:column; gap:12px; }
body#checkout .delivery-option{ display:flex; align-items:center; gap:14px; margin:0; background:#fff; border:1px solid var(--line); border-radius:2px; padding:14px 16px; transition:border-color .15s ease; }
body#checkout .delivery-option:hover{ border-color:var(--terracotta); }
body#checkout .delivery-option .carrier-name{ font-family:var(--display); font-size:16px; font-weight:700; color:var(--petrol); }
body#checkout .delivery-option .carrier-delay{ font-size:13.5px; color:var(--muted); }
body#checkout .delivery-option .carrier-price{ margin-left:auto; font-family:var(--label); font-size:16px; font-weight:600; color:var(--terracotta-deep); }
body#checkout .order-options{ margin-top:18px; padding-top:16px; border-top:1px dotted var(--line); }
body#checkout .order-options textarea{ width:100%; min-height:72px; border:1px solid var(--line); background:#fff; border-radius:2px; padding:10px 12px; font-family:var(--body); font-size:15px; color:var(--ink); resize:vertical; }
body#checkout .payment-options{ display:flex; flex-direction:column; }
body#checkout .payment-option{ display:flex; align-items:center; gap:12px; margin:0 0 10px; background:#fff; border:1px solid var(--line); border-radius:2px; padding:14px 16px; }
body#checkout .payment-option:hover{ border-color:var(--terracotta); }
body#checkout .payment-option label{ display:flex; align-items:center; gap:10px; margin:0; cursor:pointer; font-family:var(--body); font-size:15px; color:var(--ink); }
body#checkout .additional-information{ background:var(--cream); border:1px solid var(--line); border-top:0; border-radius:0 0 2px 2px; padding:12px 16px; font-size:13.5px; color:var(--muted); margin:-10px 0 10px; }
body#checkout #conditions-to-approve ul{ list-style:none; padding:0; margin:10px 0; }
body#checkout #conditions-to-approve li{ display:flex; align-items:flex-start; gap:10px; margin-bottom:8px; }
body#checkout .condition-label a{ color:var(--terracotta-deep); }
body#checkout .address-selector{ display:flex; flex-wrap:wrap; gap:14px; }
body#checkout .checkout-step .address-item{ flex:1 1 46%; background:#fff; border:1px solid var(--line); border-radius:2px; margin:0; }
body#checkout .checkout-step .address-item.selected{ border:2px solid var(--terracotta); background:#fff; }
body#checkout .address-alias{ font-family:var(--display); font-size:16px; font-weight:700; color:var(--petrol); }
body#checkout .checkout-step .form-control,body#checkout .checkout-step input[type=text],body#checkout .checkout-step input[type=email],body#checkout .checkout-step input[type=tel],body#checkout .checkout-step input[type=password],body#checkout .checkout-step select{ height:44px; border:1px solid var(--line); background:#fff; border-radius:2px; padding:0 14px; font-family:var(--body); font-size:15px; color:var(--ink); box-shadow:none; }
body#checkout .checkout-step .form-control:focus,body#checkout .checkout-step select:focus{ border-color:var(--terracotta); box-shadow:0 0 0 3px rgba(194,105,62,.16); outline:none; }
body#order-confirmation #content-hook_order_confirmation .h1{ display:flex; align-items:center; gap:12px; }
body#order-confirmation #content-hook_order_confirmation .done{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--terracotta); color:var(--paper); font-size:24px; }
body#order-confirmation .order-line{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:14px 0; border-bottom:1px dotted var(--line); margin:0; }
body#order-confirmation .order-line .image img{ width:64px; height:64px; object-fit:cover; border:1px solid var(--line); background:#fff; border-radius:2px; }
body#order-confirmation .order-line .details span{ font-family:var(--display); font-size:16px; color:var(--petrol); }
body#order-confirmation .order-confirmation-table .total-value td{ font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; color:var(--petrol); border-top:2px solid var(--petrol); padding-top:12px; font-size:16px; }
body#order-confirmation .order-confirmation-table .total-value td:last-child{ color:var(--terracotta-deep); font-family:var(--display); font-size:20px; }
@media (max-width:991px){ body#cart .cart-grid.row,body#checkout #content-wrapper{ display:block; } body#cart .cart-grid-right,body#checkout .cart-grid-right{ flex:none; max-width:none; width:100%; margin-top:24px; } }
@media (max-width:768px){ body#cart #main,body#order-confirmation #main,body#checkout #wrapper > .container{ padding:20px 14px 48px; } body#checkout .checkout-step > :is(h1,h2){ padding:16px; font-size:18px; } body#checkout .checkout-step .content{ padding:0 16px 18px !important; } body#cart .product-line-grid-left{ flex-basis:64px; max-width:64px; } body#cart .product-line-grid-left img{ width:64px; height:64px; } }

/* ============================================================================
   PAGES CLIENT (compléments) : inscription, infos, adresses, commandes, mdp, avoirs, bons
   ============================================================================ */
/* correctif : pages à boîtes/tableaux — on dé-carde le .page-content global */
body#history #content.page-content,body#order-detail #content.page-content,body#discount #content.page-content,body#order-slip #content.page-content,body#addresses #content.page-content{ background:transparent; border:0; padding:0; margin:0; }
body#registration .register-form > p{ margin:0 0 22px; padding-bottom:18px; border-bottom:1px dotted var(--line); font-size:15px; color:var(--ink); }
body#registration .register-form > p a,body#identity .page-content a{ color:var(--terracotta-deep); font-weight:600; }
body#registration .form-footer,body#identity .form-footer,body#address .form-footer{ margin-top:6px; padding-top:18px; border-top:1px dotted var(--line); display:flex; justify-content:flex-end; }
body#registration .form-footer .form-control-submit,body#identity .form-footer .form-control-submit,body#address .form-footer .form-control-submit{ float:none !important; }
body#registration .form-group .checkbox-field,body#identity .form-group .checkbox-field{ display:flex; align-items:flex-start; gap:10px; font-family:var(--body); font-size:14.5px; color:var(--ink); text-transform:none; }
body#registration .form-group .checkbox-field label,body#identity .form-group .checkbox-field label{ font-family:var(--body); text-transform:none; letter-spacing:0; font-size:14.5px; color:var(--ink); font-weight:400; margin:0; }
body#registration .form-group .checkbox-field input[type=checkbox],body#identity .form-group .checkbox-field input[type=checkbox]{ width:17px; height:17px; margin-top:2px; accent-color:var(--terracotta); flex:0 0 auto; }
body#password .renew-password{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:30px 34px; margin-bottom:24px; }
body#password .forgotten-password header p{ font-size:15px; color:var(--ink); margin:0 0 20px; line-height:1.6; }
body#password .form-group{ display:block; margin:0 0 18px; }
body#password .form-group .form-control-label{ display:block; font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:12.5px; font-weight:600; color:var(--petrol); margin:0 0 7px; }
body#password .page-footer{ margin-top:18px; text-align:center; }
body#password .page-footer a,body#password .account-link{ display:inline-flex; align-items:center; gap:6px; font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:13px; color:var(--terracotta-deep); }
:is(body#password,body#registration,body#identity,body#address) .ps-alert-error{ list-style:none; padding:0; margin:0 0 20px; }
:is(body#password,body#registration,body#identity,body#address) .ps-alert-error .item{ display:flex; align-items:center; gap:12px; background:#FBEDE7; border:1px solid var(--terracotta); border-left:3px solid var(--terracotta-deep); padding:12px 16px; margin-bottom:8px; color:var(--terracotta-deep); font-size:14.5px; }
:is(body#password,body#registration,body#identity,body#address) .ps-alert-error svg path{ fill:var(--terracotta-deep); }
body#addresses #content.page-content{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; align-items:stretch; }
body#addresses [class*="col-lg-4"],body#addresses [class*="col-md-6"]{ width:auto; max-width:none; flex:none; padding:0; }
body#addresses .clearfix{ display:none; }
body#addresses .address{ height:100%; display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:22px 24px; }
body#addresses .address .address-body{ flex:1; }
body#addresses .address .address-body h4{ font-family:var(--display); font-weight:700; font-size:19px; color:var(--petrol); margin:0 0 12px; padding-bottom:10px; border-bottom:1px dotted var(--line); }
body#addresses .address address{ font-style:normal; font-family:var(--body); font-size:14.5px; line-height:1.65; color:var(--ink); margin:0; }
body#addresses .address .address-footer{ display:flex; gap:18px; margin-top:16px; padding-top:14px; border-top:1px dotted var(--line); }
body#addresses .address .address-footer a{ display:inline-flex; align-items:center; gap:5px; font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; font-size:12.5px; color:var(--terracotta-deep); }
body#addresses .addresses-footer{ grid-column:1 / -1; margin-top:4px; }
body#addresses .addresses-footer a{ display:flex; align-items:center; justify-content:center; gap:10px; padding:18px; border:1px dashed var(--terracotta); background:var(--paper); color:var(--terracotta-deep); font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:13.5px; font-weight:600; }
@media (min-width:680px){ body#address .js-address-form .form-fields{ display:grid; grid-template-columns:1fr 1fr; gap:0 24px; } }
:is(body#history,body#order-detail,body#discount,body#order-slip) table.table{ width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); margin:0 0 24px; font-family:var(--body); font-size:14.5px; color:var(--ink); }
:is(body#history,body#order-detail,body#discount,body#order-slip) table.table thead th{ font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600; color:var(--petrol); text-align:left; padding:13px 16px; border:0; border-bottom:2px solid var(--line); background:var(--cream); }
:is(body#history,body#order-detail,body#discount,body#order-slip) table.table tbody td,:is(body#history,body#order-detail,body#discount,body#order-slip) table.table tbody th{ padding:13px 16px; border:0; border-bottom:1px solid var(--line); vertical-align:middle; font-weight:400; text-align:left; }
:is(body#history,body#order-detail,body#discount,body#order-slip) table.table tbody tr:nth-child(even){ background:rgba(244,239,226,.5); }
:is(body#history,body#order-detail,body#discount,body#order-slip) table.table a{ color:var(--terracotta-deep); }
:is(body#history,body#order-detail) .label-pill,:is(body#history,body#order-detail) .label{ display:inline-block; font-family:var(--label); text-transform:uppercase; letter-spacing:.05em; font-size:11px; font-weight:600; line-height:1; padding:6px 11px; border-radius:2px; color:#fff; }
body#order-detail .box{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:22px 26px; margin-bottom:20px; }
body#order-detail .box h3,body#order-detail #order-history h3{ font-family:var(--display); font-weight:700; font-size:20px; color:var(--petrol); margin:0 0 16px; padding-bottom:12px; border-bottom:1px dotted var(--line); }
body#order-detail .box li{ padding:7px 0; border-bottom:1px dotted var(--line); font-size:14.5px; list-style:none; }
body#order-detail .box ul{ list-style:none; padding:0; margin:0; }
body#order-detail .box li strong{ font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; font-size:12.5px; color:var(--petrol); margin-right:8px; }
body#order-detail .button-primary{ display:inline-block; background:var(--terracotta); color:var(--paper); font-family:var(--label); text-transform:uppercase; letter-spacing:.12em; font-size:12.5px; font-weight:600; padding:9px 18px; border-radius:2px; }
body#order-detail .addresses{ display:flex; flex-wrap:wrap; gap:20px; margin-bottom:20px; }
body#order-detail .addresses [class*="col-"]{ flex:1 1 280px; width:auto; max-width:none; padding:0; }
body#order-detail .addresses h4{ font-family:var(--display); font-weight:700; font-size:18px; color:var(--petrol); margin:0 0 10px; padding-bottom:8px; border-bottom:1px dotted var(--line); }
body#order-slip .credit-slip,body#discount .cart-rule{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:18px 20px; margin-bottom:14px; }
body#order-slip .credit-slip li,body#discount .cart-rule li{ display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px dotted var(--line); font-size:14.5px; list-style:none; }
body#order-slip .credit-slip ul,body#discount .cart-rule ul{ list-style:none; padding:0; margin:0; }
:is(body#identity,body#addresses,body#address,body#history,body#order-detail,body#discount,body#order-slip) .page-footer{ display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:28px; padding-top:20px; border-top:1px dotted var(--line); }
:is(body#identity,body#addresses,body#address,body#history,body#order-detail,body#discount,body#order-slip) .page-footer .account-link{ display:inline-flex; align-items:center; gap:6px; font-family:var(--label); text-transform:uppercase; letter-spacing:.08em; font-size:13px; color:var(--terracotta-deep); }
@media (max-width:560px){ :is(body#history,body#order-detail,body#discount,body#order-slip) table.table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; } }

/* ============================================================================
   PAGES TRANSVERSES (CMS, 404, plan du site, magasins)
   ============================================================================ */
:is(body#cms,body#pagenotfound,body#sitemap,body#stores) #left-column,:is(body#cms,body#pagenotfound,body#sitemap,body#stores) #right-column{ display:none !important; }
:is(body#cms,body#pagenotfound,body#sitemap,body#stores) #content-wrapper{ width:100% !important; max-width:none !important; flex:0 0 100% !important; padding:0; background:transparent; }
:is(body#cms,body#pagenotfound,body#sitemap,body#stores) #main{ margin:0 auto; padding:36px 20px 72px; }
body#cms #main,body#pagenotfound #main{ max-width:820px; }
body#sitemap #main,body#stores #main{ max-width:1080px; }
:is(body#cms,body#sitemap,body#stores) .page-header{ margin:0 0 28px; padding-bottom:16px; border-bottom:1px dotted var(--line); }
:is(body#cms,body#sitemap,body#stores) .page-header h1,:is(body#cms,body#sitemap,body#stores) .page-header h2{ font-family:var(--display); font-weight:700; font-size:32px; line-height:1.12; color:var(--petrol-deep); margin:0; }
/* --- CMS --- */
body#cms #content.page-cms{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:40px 46px 44px; color:var(--ink); font-family:var(--body); font-size:16.5px; line-height:1.72; }
body#cms #content.page-cms > *:first-child{ margin-top:0; }
body#cms .page-cms h2,body#cms .page-cms h3,body#cms .page-cms h4{ font-family:var(--display); color:var(--petrol-deep); line-height:1.2; margin:1.9em 0 .55em; }
body#cms .page-cms h2{ font-size:25px; padding-bottom:10px; border-bottom:1px dotted var(--line); }
body#cms .page-cms h3{ font-size:20px; }
body#cms .page-cms p{ margin:0 0 1.15em; }
body#cms .page-cms a{ color:var(--terracotta-deep); text-decoration:underline; text-decoration-color:rgba(168,84,46,.35); text-underline-offset:2px; }
body#cms .page-cms strong,body#cms .page-cms b{ color:var(--petrol-deep); }
body#cms .page-cms ul{ list-style:none; margin:0 0 1.2em; padding-left:1.2em; }
body#cms .page-cms ul > li{ position:relative; padding-left:1.1em; margin:.3em 0; }
body#cms .page-cms ul > li::before{ content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; background:var(--terracotta); border-radius:50%; }
body#cms .page-cms blockquote{ margin:1.5em 0; padding:14px 20px; background:var(--cream); border-left:3px solid var(--terracotta); font-style:italic; color:var(--muted); }
body#cms .page-cms table{ width:100%; border-collapse:collapse; margin:1.4em 0; font-size:15.5px; }
body#cms .page-cms th,body#cms .page-cms td{ padding:11px 14px; border:1px solid var(--line); text-align:left; vertical-align:top; }
body#cms .page-cms th{ background:var(--cream); font-family:var(--label); text-transform:uppercase; letter-spacing:.06em; font-size:13px; color:var(--petrol-deep); }
body#cms .page-cms img{ max-width:100%; height:auto; }
/* --- 404 --- */
body#pagenotfound #content.page-not-found{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:56px 40px 60px; text-align:center; }
body#pagenotfound #content.page-not-found::before{ content:"404"; display:block; font-family:var(--display); font-weight:700; font-size:84px; line-height:1; color:var(--terracotta); opacity:.9; margin-bottom:8px; letter-spacing:.02em; }
body#pagenotfound .page-not-found h4{ font-family:var(--display); font-weight:700; font-size:27px; color:var(--petrol-deep); margin:0 0 10px; }
body#pagenotfound .page-not-found > p{ font-family:var(--body); font-size:17px; color:var(--muted); max-width:460px; margin:0 auto 26px; }
body#pagenotfound .page-not-found #search_widget{ display:block; max-width:420px; margin:0 auto 28px; }
body#pagenotfound .page-not-found #search_widget form{ display:flex; }
body#pagenotfound .page-not-found #search_widget input[type=text]{ width:100%; height:46px; border:1px solid var(--line); background:#fff; padding:0 44px 0 14px; font-family:var(--body); font-size:15.5px; color:var(--ink); border-radius:2px; }
body#pagenotfound .page-not-found .vbs-emblem{ display:block; width:150px; height:auto; margin:0 auto 22px; opacity:.85; }
/* --- plan du site --- */
body#sitemap .sitemap.row{ display:grid; gap:30px 36px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
body#sitemap .sitemap [class^="col-"],body#sitemap .sitemap [class*=" col-"]{ width:auto; max-width:none; flex:none; padding:0; }
body#sitemap .sitemap h2{ font-family:var(--label); text-transform:uppercase; letter-spacing:.1em; font-size:15px; font-weight:600; color:var(--petrol-deep); margin:0 0 14px; padding-bottom:9px; border-bottom:2px solid var(--terracotta); }
body#sitemap .sitemap ul{ list-style:none; margin:0; padding:0; }
body#sitemap .sitemap a{ display:inline-block; padding:5px 0; font-family:var(--body); font-size:15.5px; color:var(--ink); text-decoration:none; }
body#sitemap .sitemap a:hover{ color:var(--terracotta-deep); }
body#sitemap .sitemap ul.nested{ margin:2px 0 6px; padding-left:14px; border-left:1px dotted var(--line); }
body#sitemap .sitemap ul.nested a{ font-size:14.5px; color:var(--muted); }
/* --- magasins --- */
body#stores .page-stores .store-item{ background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--terracotta); padding:26px 30px; margin-bottom:22px; }
body#stores .store-item .card-title,body#stores .store-item .h3{ font-family:var(--display); font-weight:700; font-size:20px; color:var(--petrol-deep); margin:0 0 8px; }
@media (max-width:680px){ body#cms #content.page-cms{ padding:28px 22px 30px; font-size:16px; } body#pagenotfound #content.page-not-found{ padding:40px 22px 44px; } body#pagenotfound #content.page-not-found::before{ font-size:66px; } :is(body#cms,body#pagenotfound,body#sitemap,body#stores) .page-header h1,:is(body#cms,body#pagenotfound,body#sitemap,body#stores) .page-header h2{ font-size:26px; } }
