/* ============================================================================
   ATELIER — couche design Vintage Bike Shop (maquette « L'Atelier » validée)
   Chargée APRÈS theme.css (cf head.tpl) pour surcharger le thème classic.
   Source design : vbs-maquette-atelier/maquettes/atelier/style.css
   Socle : tokens + fontes + base typo + composants partagés (boutons, carte
   produit, sections) + header/footer. Les pages (home/catégorie/produit)
   ajoutent leurs styles dans des fichiers dédiés.
   ============================================================================ */

:root{
  --petrol:#2B574F; --petrol-deep:#21443D;
  --terracotta:#C2693E; --terracotta-deep:#A8542E;
  --sage:#A6CABD; --sage-light:#CBE0D8;
  --cream:#F4EFE2; --paper:#FBF8EF; --ink:#33291F;
  --brown:#8B5A2B; --brass:#B0853A; --line:#DCD3BF; --muted:#6a5f50;
  --display:'Playfair Display',Georgia,serif;
  --body:'Spectral',Georgia,serif;
  --label:'Saira Condensed','Arial Narrow',sans-serif;
  --wrap:1240px;
}

/* ---------- base ---------- */
/* le thème boxe le <body> à 1140px (max-width+margin:auto) → la maquette est
   pleine largeur : on libère le body, les bandes vont bord à bord. */
html,body{ max-width:none !important; width:auto; margin:0 !important; }
body,
body.page-home,
#wrapper{ background:var(--cream); color:var(--ink); font-family:var(--body); line-height:1.6; -webkit-font-smoothing:antialiased; }
#wrapper{ padding:0; }
.atelier-wrap{ max-width:var(--wrap); margin:0 auto; padding:0 28px; }
/* pas de couleur globale sur les titres : la maquette colore par contexte
   (sec-title/cathead=pétrole, hero h1=crème hérité, occ-sec=crème, footer=sauge…) */
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4{ font-family:var(--display); line-height:1.12; font-weight:700; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--terracotta-deep); }
em,i{ font-style:italic; }

/* ---------- boutons ---------- */
.btn-primary,
.btn-primary:not(:disabled):not(.disabled),
.product-add-to-cart .add-to-cart,
button.add-to-cart{
  background:var(--terracotta); border:2px solid transparent; color:var(--paper);
  font-family:var(--label); text-transform:uppercase; letter-spacing:.14em; font-weight:600;
  border-radius:2px; box-shadow:none;
}
.btn-primary:hover,
.product-add-to-cart .add-to-cart:hover,
button.add-to-cart:hover{ background:var(--terracotta-deep); color:var(--paper); }
.btn-secondary,.btn-outline-secondary{
  background:transparent; border:2px solid var(--petrol); color:var(--petrol);
  font-family:var(--label); text-transform:uppercase; letter-spacing:.12em; border-radius:2px;
}
.btn-secondary:hover,.btn-outline-secondary:hover{ background:var(--petrol); color:var(--paper); }

/* bloc slogan SEO (#descriptif_site) : absent de la maquette + rendu en double
   par le catalogue → masqué visuellement. (Texte conservé dans le DOM pour le SEO.) */
#descriptif_site{ display:none; }
.header-banner{ background:transparent; }

/* ============================================================================
   HEADER — 3 bandes : utilitaire (sauge) / masthead (pétrole) / nav (terracotta)
   Markup posé dans header.tpl avec wrappers .atelier-*.
   ============================================================================ */
header#header{ width:100%; max-width:none; padding:0; margin:0; background:var(--cream); box-shadow:none; border:0; }

/* bandeau utilitaire — CSS maquette (.utility) */
.utility{ background:var(--sage); color:var(--petrol-deep); font-family:var(--label);
  text-transform:uppercase; letter-spacing:.12em; font-size:12.5px; }
.utility .wrap{ max-width:var(--wrap); margin:0 auto; padding:0 28px; display:flex; align-items:center;
  gap:18px; min-height:38px; flex-wrap:wrap; }
.utility a{ display:inline-flex; align-items:center; gap:6px; color:var(--petrol-deep); }
.utility a:hover{ color:var(--terracotta-deep); }
/* on « promeut » les modules en items flex de .wrap pour les ré-ordonner librement */
.utility .util-modules{ display:contents; }
/* ordre maquette : Français · EUR  ……  Rachat · Connexion · Panier */
.utility #_desktop_language_selector{ order:1; }
.utility #_desktop_currency_selector{ order:2; }
.utility .util-rachat{ order:3; margin-left:auto; }
.utility #_desktop_user_info{ order:4; }
.utility #_desktop_cart{ order:5; }
/* les vrais sélecteurs PrestaShop habillés comme des .tag de la maquette */
.utility .language-selector,
.utility .currency-selector{ display:inline-flex; align-items:center; }
.utility select.link,
.utility .language-selector select,
.utility .currency-selector select{ -webkit-appearance:none; appearance:none; background:transparent;
  border:0; color:var(--petrol); font-family:var(--label); text-transform:uppercase; letter-spacing:.12em;
  font-size:12.5px; padding:0 16px 0 0; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2321443D' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right center; }
.utility #_desktop_user_info,
.utility #_desktop_cart{ display:inline-flex; align-items:center; }
.utility #_desktop_user_info a,
.utility #_desktop_cart a,
.utility .blockcart a{ color:var(--petrol-deep); }
.utility .blockcart{ background:transparent; padding:0; }
.utility .header-top,
.utility .row{ margin:0; padding:0; }
.utility .material-icons{ font-size:18px; }

/* masthead */
.atelier-masthead{ background:var(--petrol); color:var(--paper); text-align:center;
  padding:24px 0 20px; border-bottom:5px solid var(--terracotta); }
.atelier-masthead #_desktop_logo,
.atelier-masthead .logo-wrap{ display:block; margin:0 auto; }
.atelier-masthead #_desktop_logo h1{ margin:0; }
.atelier-masthead img.logo{ height:auto; width:auto; max-width:min(720px,92vw); max-height:124px; margin:0 auto; display:block; filter:none; }
.atelier-masthead .tagline{ margin-top:12px; font-family:var(--display); font-style:italic;
  font-size:18px; color:rgba(251,248,239,.85); }
.atelier-masthead .years{ margin-top:4px; font-family:var(--label); text-transform:uppercase;
  letter-spacing:.2em; font-size:11.5px; color:var(--sage); }

/* toggle/burger mobile : masqués en desktop (révélés dans le bloc @media ≤768px) */
.nav-toggle{ position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.nav-burger{ display:none; }

/* mega-menu — CSS exact maquette (.nav/.item/.panel/.fam/.search) */
.nav{ background:var(--terracotta); position:relative; z-index:40; }
.nav .wrap{ max-width:var(--wrap); margin:0 auto; padding:0 28px; display:flex; align-items:stretch; gap:0; }
.nav .item{ position:relative; display:flex; }
.nav .item > a{ display:flex; align-items:center; height:52px; padding:0 20px; color:var(--paper);
  font-family:var(--label); text-transform:uppercase; letter-spacing:.14em; font-size:14px; font-weight:600;
  border-right:1px solid rgba(251,248,239,.18); transition:background .15s; white-space:nowrap; }
.nav .item:first-child > a{ border-left:1px solid rgba(251,248,239,.18); }
.nav .item:hover > a,
.nav .item.active > a{ background:var(--terracotta-deep); color:var(--paper); }
/* panneaux déroulants (CSS only, au survol) */
.nav .panel{ position:absolute; top:100%; left:0; background:var(--paper); border:1px solid var(--line);
  border-top:3px solid var(--terracotta-deep); box-shadow:0 24px 44px -22px rgba(51,41,31,.5);
  padding:24px 26px; min-width:560px; display:none; }
.nav .item:hover .panel{ display:grid; grid-template-columns:1fr 1fr; gap:8px 30px; }
.nav .panel.wide{ min-width:760px; grid-template-columns:repeat(3,1fr) !important; }
.nav .panel .fam{ margin-bottom:8px; }
.nav .panel .fam b{ display:block; font-family:var(--label); text-transform:uppercase; letter-spacing:.1em;
  font-size:12px; color:var(--terracotta-deep); border-bottom:1px dotted var(--line); padding-bottom:5px; margin-bottom:6px; }
.nav .panel .fam a{ display:block; font-size:14.5px; color:var(--ink); padding:3px 0; transition:color .12s; }
.nav .panel .fam a:hover{ color:var(--terracotta-deep); }
/* recherche à droite */
.nav .search{ margin-left:auto; display:flex; align-items:center; }
.nav .search input{ height:34px; border:0; border-radius:2px; padding:0 12px 0 32px; width:230px;
  font-family:var(--body); font-size:14px; color:var(--ink);
  background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23A8542E' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 10px center; }

/* ============================================================================
   CARTE PRODUIT — .product-miniature (PrestaShop) habillée comme .pcard (maquette)
   Composant PARTAGÉ home + catégorie + associés.
   ============================================================================ */
.product-miniature,
.js-product-miniature{ background:var(--paper); border:1px solid var(--line); border-radius:0;
  display:flex; flex-direction:column; transition:.16s; position:relative; height:100%; }
.product-miniature:hover{ box-shadow:0 20px 38px -24px rgba(51,41,31,.5); transform:translateY(-3px); }
.product-miniature .thumbnail-container{ margin:0; padding:0; position:relative; box-shadow:none; }
.product-miniature .thumbnail-container .thumbnail,
.product-miniature .product-thumbnail{ display:grid; place-items:center; aspect-ratio:1; background:#fff;
  border-bottom:1px solid var(--line); width:100%; }
.product-miniature .product-thumbnail img{ width:100%; height:100%; object-fit:contain; padding:8%;
  mix-blend-mode:multiply; }
.product-miniature .product-description,
.product-miniature .product-desc{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.product-miniature .product-title{ font-family:var(--body); font-weight:600; font-size:15px; line-height:1.3;
  color:var(--ink); margin:0; text-transform:none; }
.product-miniature .product-title a{ color:var(--ink); }
.product-miniature .product-title a:hover{ color:var(--terracotta-deep); }
.product-miniature .manufacturer-name,
.product-miniature .product-manufacturer{ font-family:var(--label); text-transform:uppercase;
  letter-spacing:.12em; font-size:10.5px; color:var(--muted); }
.product-miniature .product-price-and-shipping{ margin-top:auto; }
.product-miniature .price{ font-family:var(--display); font-weight:700; font-size:20px;
  color:var(--terracotta-deep); }
/* badges (état / promo) */
.product-miniature .product-flag{ position:absolute; top:10px; left:10px; background:var(--petrol);
  color:var(--paper); font-family:var(--label); text-transform:uppercase; letter-spacing:.1em;
  font-size:10px; padding:4px 9px; border-radius:0; margin:0; }

/* ============================================================================
   SECTIONS génériques (titres d'accueil & co)
   ============================================================================ */
.atelier-section{ padding:60px 0; }
.atelier-eyebrow{ font-family:var(--label); text-transform:uppercase; letter-spacing:.18em;
  font-size:13px; color:var(--terracotta-deep); margin-bottom:10px; display:block; }
.atelier-sec-title{ font-size:34px; color:var(--petrol); margin-bottom:8px; }
.atelier-sec-sub{ font-size:17px; color:var(--muted); max-width:640px; }

/* ============================================================================
   FOOTER — le wrapper réel du layout est <footer id="footer" class="container">.
   Le style .cols vient de la maquette (atelier-maquette.css) mais sa grille
   1.4fr+3 attend 4 enfants : or les modules (ps_linklist…) rendent du Bootstrap
   imbriqué (.col-md-6 .links > .row > .col-md-6). On cible #footer (spécificité
   id, bat le `footer .cols` de la maquette) pour fond + colonnes flex robustes.
   ============================================================================ */
#footer{ background:var(--petrol-deep) !important; color:rgba(251,248,239,.8);
  padding:50px 0 26px; width:100%; max-width:none; margin:0; }
#footer.container{ max-width:none; }
#footer .wrap{ max-width:var(--wrap); margin:0 auto; padding:0 28px; }
/* colonnes : about (fixe) + bloc liens (flex) — on neutralise la grille maquette */
#footer .cols{ display:flex !important; grid-template-columns:none; gap:40px; align-items:flex-start; flex-wrap:wrap; }
#footer .cols .about{ flex:0 0 300px; }
/* colonnes refondues (about + La boutique + Aide & infos + Newsletter) */
#footer .cols > div:not(.about){ flex:1 1 170px; max-width:none; }
#footer .cols .foot-news{ flex:1 1 240px; }
#footer .cols .links{ flex:1 1 auto; max-width:none; }
#footer .cols .links .row{ display:flex; gap:34px; margin:0; flex-wrap:wrap; }
#footer .cols .links .row > [class*="col-"]{ flex:1 1 180px; max-width:none; padding:0; }
/* typo footer */
#footer h5,#footer .h5,#footer .links-title,#footer .block-title{ font-family:var(--label);
  text-transform:uppercase; letter-spacing:.14em; font-size:13px; color:var(--sage); margin-bottom:14px; }
#footer .about p{ font-size:14.5px; line-height:1.7; color:rgba(251,248,239,.8); margin:12px 0; }
#footer a{ color:rgba(251,248,239,.8); }
#footer a:hover{ color:var(--terracotta); }
#footer ul{ list-style:none; padding:0; margin:0; }
#footer li{ margin:7px 0; font-size:14px; white-space:normal; }
#footer .copy{ border-top:1px solid rgba(251,248,239,.15); margin-top:34px; padding-top:18px;
  text-align:center; font-family:var(--label); text-transform:uppercase; letter-spacing:.14em;
  font-size:11px; color:rgba(251,248,239,.55); }
/* newsletter */
#footer .block_newsletter p,#footer .block_newsletter label{ color:rgba(251,248,239,.8); }
#footer .block_newsletter input[type=email]{ border:1px solid var(--line); background:var(--paper);
  border-radius:2px; padding:10px 12px; font-family:var(--body); }
/* newsletter refondue (.foot-news, markup maquette) */
#footer .foot-news p{ font-size:14px; color:rgba(251,248,239,.8); margin:0 0 10px; }
#footer .foot-news form{ display:flex; gap:8px; }
#footer .foot-news input[type=email]{ flex:1; min-width:0; border:0; border-radius:2px;
  padding:10px 12px; font-family:var(--body); font-size:14px; background:var(--paper); color:var(--ink); }
#footer .foot-news .btn-primary{ padding:10px 18px; border:0; cursor:pointer; }

/* ---------- correctifs structure thème (battre theme.css) ---------- */
/* indicateur de breakpoint debug du thème (body:after{content:"lg";background:pink}) → masqué */
body::after{ content:none !important; display:none !important; }
/* le thème impose #main h2{font:Impact; color:#5C331F; filter:drop-shadow; uppercase}
   + un ::before « marqueur » orange penché (rotate(-10deg);background:#DA7F56).
   Comme #main h2 porte un id, ça écrase le style maquette des .sec-title (titres de
   section) → titre occasions illisible. On rétablit le style maquette (Playfair,
   couleur par contexte, pas de marqueur). */
#main h2.sec-title,
#main .sec-title{ font-family:var(--display); font-weight:700; text-transform:none;
  font-size:34px; line-height:1.12; color:var(--petrol); filter:none; padding-top:0;
  margin-bottom:8px; text-align:left; }
#main h2.sec-title::before,
#main .sec-title::before{ content:none !important; display:none !important; }
/* sections sur fond foncé : titre en crème */
#main .occ-sec .sec-title{ color:var(--paper); }
/* le bloc page-footer (page.tpl) est vide sur la plupart des pages → pas de gap crème */
.page-footer:empty{ display:none; }
#main > .page-footer:not(:has(*)){ display:none; }
/* couleur de la barre nav : le thème force #header .header-nav{background:#E7E0D0}
   (spécificité 1,1,0 > .nav) → on rétablit le terracotta de la maquette */
#header .header-nav{ background:var(--terracotta) !important; }
/* fond de la zone contenu : le thème met #ECE7DC → crème maquette */
#content-wrapper{ background:var(--cream); }
/* le thème ajoute des marges/paddings sur #main et le wrapper de contenu */
#main{ padding:0; }

/* ---------- largeur de contenu alignée sur la maquette (wrap 1240px) ---------- */
#wrapper > .container{ max-width:1240px; margin-left:auto; margin-right:auto; padding-left:28px; padding-right:28px; width:100%; }
@media(min-width:1280px){ #wrapper > .container{ max-width:1240px; } }

/* home : pleine largeur réelle, aucun inset (bandes bord à bord) */
body#index #main{ padding:0; margin:0; }
body#index #content-wrapper{ padding:0; background:transparent; }
body#index #wrapper > .container{ max-width:100%; padding:0; }

/* ---------- largeurs par page (alignées sur la maquette) ---------- */
/* fiche produit : pleine largeur, pas de colonnes latérales */
body#product #left-column,
body#product #right-column{ display:none !important; }
body#product #content-wrapper{ width:100%; max-width:100%; flex:0 0 100%; }
/* catégorie : filtres à gauche + grille, pas de colonne droite */
body#category #right-column{ display:none !important; }
body#category #content-wrapper{ flex:1 1 auto; max-width:none; }

/* ---------- images produits en cours de rapatriement ----------
   tant que img/p n'est pas 100% synchronisé, certaines images 404 : on masque
   le texte alt + l'icône cassée pour garder des carrés propres (sans effet une
   fois les images chargées). */
.product-miniature .pic img,
.product-miniature .pimg,
.gallery .pimg,
.occ-thumb img{ color:transparent; font-size:0; }
.product-miniature .pic,
.product-miniature .thumbnail-container,
.product-miniature .product-thumbnail{ background:#fff; }

/* ---------- éléments que theme.css habillait (retiré sur pages design) ---------- */
/* breadcrumb : pas de numérotation <ol>, séparateurs « › » (style maquette .crumb) */
.breadcrumb ol,
.breadcrumb ul{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; align-items:center; }
.breadcrumb li{ display:inline-flex; align-items:center; }
.breadcrumb li::after{ content:"›"; margin:0 8px; color:var(--line); }
.breadcrumb li:last-child::after{ content:none; }
/* bouton menu mobile (hamburger) masqué sur desktop */
#menu_hamburger,
.hamburger,
.cross,
.ouvrir_fermer{ display:none; }
@media(max-width:820px){ #menu_hamburger{ display:block; } }
/* popup hover « product-details » du thème : pas dans la maquette → masqué */
.product-details_list{ display:none !important; }
/* utilitaires de visibilité responsive Bootstrap (fournis par theme.css, retiré sur
   pages design) : sans eux les titres « mobile » (footer linklist avec flèches, etc.)
   s'affichent sur desktop. On restaure juste le masquage. */
.hide,.hidden-xs-up{ display:none !important; }
@media(min-width:768px){
  .hidden-md-up,.hidden-sm-up{ display:none !important; }
}
@media(max-width:767px){
  .hidden-sm-down,.hidden-md-down,.hidden-xs-down{ display:none !important; }
}
/* le module de recherche « TOP » rend une boîte vide dans le contenu ; le vrai
   search est dans la nav (.nav .search) → on masque ce doublon sur les pages design */
body#index #search_widget,
#structure > #search_widget{ display:none; }
/* mais sur la page recherche / dans la sidebar, le widget ps_searchbar
   (#search_widget.search-widget) doit être stylé (theme.css le faisait) :
   champ paper + bouton loupe, texte « Rechercher » masqué. */
#search_widget .hidden-xl-down{ display:none; }
#search_widget form{ display:flex; align-items:center; position:relative; margin:0; }
#search_widget input[type=text]{ width:100%; height:38px; border:1px solid var(--line);
  background:#fff; padding:0 40px 0 12px; font-family:var(--body); font-size:14px;
  color:var(--ink); border-radius:2px; }
#search_widget button[type=submit]{ position:absolute; right:0; top:0; height:38px; width:38px;
  border:0; background:transparent; color:var(--terracotta-deep); cursor:pointer; display:flex;
  align-items:center; justify-content:center; padding:0; }
#search_widget button .material-icons{ font-size:20px; }

/* breadcrumb inutile sur l'accueil (n'affiche que « Accueil ») → masqué */
body#index .breadcrumb,
body#index #wrapper > .container > nav{ display:none; }

/* ---------- breadcrumb ---------- */
.breadcrumb{ background:transparent; font-family:var(--label); text-transform:uppercase;
  letter-spacing:.1em; font-size:12px; color:var(--muted); padding:18px 0 0; margin:0; }
.breadcrumb a{ color:var(--muted); }
.breadcrumb a:hover{ color:var(--terracotta-deep); }

/* ---------- responsive de base ---------- */
@media(max-width:820px){
  .atelier-masthead img.logo{ max-height:84px; }
  /* slogan SEO : éviter le débordement horizontal sur petit écran */
  .header-banner #descriptif_site{ padding:6px 16px; }
  .header-banner #descriptif_site h2{ font-size:10.5px; letter-spacing:.08em; }
  .header-banner #descriptif_site h3,
  .header-banner #descriptif_site h4{ display:none; }
}

/* ---------- logo responsive (mobile) ----------
   markup réel = .masthead #_desktop_logo > img.logo-img. La maquette fixe
   height:118px, ce qui (avec max-width:92vw) déforme le logo sur petit écran.
   Sur mobile on libère la hauteur → mise à l'échelle propre par la largeur. */
@media(max-width:768px){
  .masthead{ padding:18px 0 16px; }
  .masthead #_desktop_logo .logo-img,
  .masthead .logo-img{ height:auto; width:auto; max-width:84vw; max-height:84px; margin:0 auto; }
  .masthead .tagline{ font-size:16px; white-space:normal; padding:0 16px; }
}
@media(max-width:420px){
  .masthead #_desktop_logo .logo-img,
  .masthead .logo-img{ max-width:92vw; max-height:64px; }
  .masthead .tagline{ font-size:14px; }
  .masthead .years{ font-size:10px; }
}

/* ============================================================================
   HEADER MOBILE (≤768px) — empêcher le débordement horizontal qui décentrait
   le logo, et remplacer le méga-menu (au survol, inutilisable au tactile) par
   un BURGER CSS-only (checkbox #nav-toggle + label .nav-burger) ouvrant un menu
   vertical. Aucune dépendance JS.
   ============================================================================ */
@media(max-width:768px){
  html,body{ overflow-x:hidden; }
  *{ min-width:0; } /* empêche les enfants flex de forcer un débordement */

  /* ---- barre utilitaire : tient sans coupe (wrap + resserrage) ----
     IMPORTANT : atelier-maquette.css (lecture seule, chargée APRÈS atelier.css)
     impose `.utility .wrap{ height:38px; gap:22px }`. Cette hauteur FIXE clippe
     la 2e ligne dès que les items passent à la ligne (Connexion/Panier coupés).
     On bat sa spécificité avec `#header .utility .wrap` (1,2,0 > 0,2,0) et on
     libère la hauteur. */
  #header .utility{ font-size:11px; letter-spacing:.06em; }
  #header .utility .wrap{ flex-wrap:wrap; justify-content:center; align-items:center;
    height:auto !important; min-height:0; gap:6px 12px; row-gap:6px; padding:7px 10px; }
  /* l'ordre desktop (rachat order:3 + margin-left:auto) cassait le wrap : on remet
     un flux naturel langue/devise · rachat · connexion · panier sur 1-2 lignes. */
  #header .utility .util-rachat{ margin-left:0; order:0; }
  #header .utility #_desktop_language_selector{ order:0; }
  #header .utility #_desktop_currency_selector{ order:0; }
  #header .utility #_desktop_user_info{ order:0; }
  #header .utility #_desktop_cart{ order:0; }
  #header .utility select.link,
  #header .utility .language-selector select,
  #header .utility .currency-selector select{ font-size:11px; padding-right:14px; }

  /* ---- masthead / logo : sur mobile on masque la tagline + la baseline
     (« Pièces pour vélos vintage… » / « Ré-éditions · anciens stocks… »)
     pour garder un header compact centré sur le logo ---- */
  .masthead .tagline,
  .masthead .years{ display:none; }

  /* ---- méga-menu → burger ---- */
  .nav{ position:relative; }
  /* le burger : barre terracotta avec icône ☰ + libellé */
  .nav-burger{ display:flex; align-items:center; gap:12px; cursor:pointer;
    padding:0 16px; height:50px; color:var(--paper);
    font-family:var(--label); text-transform:uppercase; letter-spacing:.14em;
    font-size:14px; font-weight:600; user-select:none; }
  .nav-burger-bars{ position:relative; width:22px; height:2px; background:var(--paper);
    display:block; transition:background .15s; }
  .nav-burger-bars::before,
  .nav-burger-bars::after{ content:""; position:absolute; left:0; width:22px; height:2px;
    background:var(--paper); transition:transform .2s, top .2s; }
  .nav-burger-bars::before{ top:-7px; }
  .nav-burger-bars::after{ top:7px; }
  /* état ouvert : ☰ devient ✕ */
  .nav-toggle:checked ~ .nav-burger .nav-burger-bars{ background:transparent; }
  .nav-toggle:checked ~ .nav-burger .nav-burger-bars::before{ top:0; transform:rotate(45deg); }
  .nav-toggle:checked ~ .nav-burger .nav-burger-bars::after{ top:0; transform:rotate(-45deg); }

  /* la liste verticale : repliée par défaut, dépliée quand la checkbox est cochée */
  .nav .wrap{ display:block; max-width:none; margin:0; padding:0;
    max-height:0; overflow:hidden; background:var(--terracotta-deep);
    transition:max-height .25s ease; }
  .nav-toggle:checked ~ .wrap{ max-height:2000px; overflow:auto;
    border-top:1px solid rgba(251,248,239,.18); }

  /* items en pile : plus de hauteur fixe ni bordure latérale */
  .nav .item{ display:block; position:static; width:100%; }
  .nav .item > a{ display:block; height:auto; padding:13px 18px; font-size:14px;
    letter-spacing:.1em; border-right:0; border-bottom:1px solid rgba(251,248,239,.14); }
  .nav .item:first-child > a{ border-left:0; }
  .nav .item:hover > a,
  .nav .item.active > a{ background:rgba(251,248,239,.08); }

  /* panneaux : affichés en flux (statique), pleine largeur, sans overlay/hover */
  .nav .panel,
  .nav .item:hover .panel,
  .nav .panel.wide{ display:block !important; position:static; min-width:0; width:100%;
    grid-template-columns:none !important; border:0; box-shadow:none; padding:6px 0 10px;
    background:rgba(251,248,239,.04); }
  .nav .panel .fam{ padding:6px 18px 4px; margin:0; }
  .nav .panel .fam b{ color:var(--sage); border-bottom-color:rgba(251,248,239,.18);
    font-size:11.5px; }
  .nav .panel .fam a{ color:var(--paper); padding:6px 0; font-size:14px; }
  .nav .panel .fam a:hover{ color:var(--sage-light); }

  /* recherche : on la garde, en pleine largeur dans le menu déroulé */
  .nav .search{ margin:0; padding:12px 18px 16px; display:block; }
  .nav .search input{ width:100%; height:40px; box-sizing:border-box; }

  /* ---- footer : 4 colonnes → 1 colonne empilée ---- */
  #footer{ padding:36px 0 22px; }
  #footer .cols{ display:block !important; }
  #footer .cols > div,
  #footer .cols .about,
  #footer .cols .foot-news{ flex:none; max-width:none; margin-bottom:26px; }
  #footer .cols > div:last-child{ margin-bottom:0; }
  #footer .foot-news form{ display:flex; width:100%; }
  #footer .foot-news input[type=email]{ flex:1 1 auto; }

  /* ---- padding latéral : 28px = trop sur mobile → on resserre partout ----
     (le `.wrap` maquette charge après atelier.css → on bat avec `body .wrap`) */
  #wrapper > .container{ padding-left:14px; padding-right:14px; }
  body .wrap{ padding-left:16px; padding-right:16px; }
  #footer .wrap{ padding-left:16px; padding-right:16px; }
}

@media(max-width:420px){
  #wrapper > .container{ padding-left:10px; padding-right:10px; }
  body .wrap{ padding-left:12px; padding-right:12px; }
  #footer .wrap{ padding-left:12px; padding-right:12px; }
}
