/* ═══════════════════════════════════════════════════════════════════════
   Pages simples E4 — CMS, Contact, 404 (D.A. E4, sans maquette)
   Scopé par body id. Colonnes latérales masquées, contenu centré, typo E4.
   ═══════════════════════════════════════════════════════════════════════ */
body#cms, body#contact, body#pagenotfound{
  --ink:#2B004F;--green:#7BBF3F;--green7:#5e9a2a;--green-text:#13002a;--magenta:#7E1E57;
  --body:#4f4760;--muted:#6d6480;--faint:#a99fbb;--hair:rgba(43,0,79,.10);--lilac:#f5f2f9;--soft:#f1ecf6;
  --grad-key:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);
  --grad-green:linear-gradient(100deg,#8ed04e,#5e9a2a);
  --sh:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);
  --fhead:'Poppins',system-ui,sans-serif;--fdisp:'Russo One','Poppins',sans-serif;--fbody:'Inter',system-ui,sans-serif;
}
/* colonnes latérales masquées + push bootstrap annulé + centré */
body#cms #left_column,body#cms #right_column,
body#contact #left_column,body#contact #right_column,
body#pagenotfound #left_column,body#pagenotfound #right_column{display:none !important}
body#cms #center_column,body#contact #center_column,body#pagenotfound #center_column{
  width:100% !important;max-width:100% !important;float:none !important;left:0 !important;right:auto !important;margin:0 !important;padding:0 !important;font-family:var(--fbody);color:var(--body);padding-bottom:50px !important;padding-top:14px !important}

/* container centré + typo de base */
body#cms #center_column>*,body#contact #center_column>*,body#pagenotfound #center_column>*{
  max-width:var(--gw-wrap,min(90%,1600px));margin-left:auto;margin-right:auto;padding-left:clamp(14px,3vw,26px);padding-right:clamp(14px,3vw,26px);box-sizing:border-box}

/* titres H1 E4 */
body#cms .page-heading,body#contact .page-heading,body#pagenotfound h1,
body#cms h1,body#cms .rte h1{
  font-family:var(--fdisp);font-weight:400;font-size:clamp(24px,3vw,34px);color:var(--gw-ink-700);
  text-transform:uppercase;font-style:italic;letter-spacing:-.5px;border:0 !important;margin:6px auto 18px;padding-left:clamp(14px,3vw,26px);padding-right:clamp(14px,3vw,26px)}

/* ── CMS (.rte) ── */
body#cms .rte{background:#fff;border:1px solid var(--hair);border-radius:16px;box-shadow:var(--sh);padding:clamp(20px,4vw,36px) !important;line-height:1.7;font-size:15px;color:var(--body)}
body#cms .rte h2{font-family:var(--fhead);font-weight:800;font-size:21px;color:var(--gw-ink-700);margin:26px 0 10px}
body#cms .rte h3{font-family:var(--fhead);font-weight:700;font-size:17px;color:var(--gw-ink-700);margin:20px 0 8px}
body#cms .rte h2:first-child,body#cms .rte h3:first-child{margin-top:0}
body#cms .rte p{margin:0 0 14px}
body#cms .rte a{color:var(--green7);font-weight:600;text-decoration:underline}
body#cms .rte ul,body#cms .rte ol{margin:0 0 14px;padding-left:22px}
body#cms .rte li{margin:5px 0}
body#cms .rte img{max-width:100%;height:auto;border-radius:12px;margin:10px 0}
body#cms .rte strong,body#cms .rte b{color:var(--gw-ink-700)}
body#cms .rte table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
body#cms .rte th,body#cms .rte td{border:1px solid var(--hair);padding:9px 12px;text-align:left}
body#cms .rte th{background:var(--lilac);font-family:var(--fhead);font-weight:700;color:var(--gw-ink-700)}
body#cms .rte blockquote{border-left:4px solid var(--gw-green-500);background:var(--lilac);padding:12px 18px;margin:14px 0;border-radius:0 10px 10px 0;color:var(--gw-n600)}

/* ── Contact ── */
body#contact #center_column form{
  background:#fff;border:1px solid var(--hair);border-radius:16px;box-shadow:var(--sh);padding:clamp(20px,4vw,32px)}
body#contact .form-group{margin-bottom:15px}
body#contact label{font-family:var(--fhead);font-weight:600;font-size:12.5px;color:var(--gw-n600);display:block;margin-bottom:6px}
body#contact .form-control,body#contact input[type=text],body#contact input[type=email],body#contact textarea,body#contact select{
  width:100%;min-height:46px;padding:11px 14px;border:1.5px solid var(--hair);border-radius:11px;font-family:var(--fbody);font-size:14px;color:var(--gw-ink-700);background:#fff;box-shadow:none}
body#contact textarea{min-height:130px;resize:vertical}
body#contact .form-control:focus,body#contact textarea:focus,body#contact input:focus{border-color:var(--gw-green-500);box-shadow:0 0 0 3px rgba(123,191,63,.14);outline:none}
body#contact .submit button,body#contact button[type=submit]{
  background:var(--grad-green) !important;color:var(--green-text) !important;border:0 !important;border-radius:12px !important;
  font-family:var(--fhead) !important;font-weight:700 !important;font-size:15px !important;padding:13px 26px !important;box-shadow:0 8px 14px rgba(123,191,63,.18);cursor:pointer}
body#contact .submit button i,body#contact button[type=submit] i{display:none}
body#contact .alert{border-radius:12px;font-size:14px;padding:13px 16px;border:1px solid var(--hair);background:var(--lilac);color:var(--gw-ink-700)}
body#contact .alert-success{background:rgba(123,191,63,.12);border-color:rgba(123,191,63,.3);color:var(--green7)}

/* ── 404 ── */
body#pagenotfound .pagenotfound{background:#fff;border:1px solid var(--hair);border-radius:18px;box-shadow:var(--sh);padding:clamp(30px,5vw,50px);text-align:center;max-width:640px;margin:20px auto}
body#pagenotfound .img-404{font-family:var(--fdisp);font-size:clamp(60px,12vw,110px);background:var(--grad-key);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;font-style:italic}
body#pagenotfound .img-404 i{display:none}
body#pagenotfound h1{text-align:center;margin:6px 0 10px !important;padding:0 !important}
body#pagenotfound p{color:var(--gw-n600);font-size:15px;margin:0 auto 18px;max-width:44ch}
body#pagenotfound h3{font-family:var(--fhead);font-weight:700;font-size:15px;color:var(--gw-ink-700);margin:18px 0 12px}
body#pagenotfound form.std fieldset>div{display:flex;gap:8px;max-width:440px;margin:0 auto;flex-wrap:wrap}
body#pagenotfound form.std label{display:none}
body#pagenotfound #search_query{flex:1;min-width:200px;min-height:46px;padding:11px 14px;border:1.5px solid var(--hair);border-radius:11px;font-family:var(--fbody);font-size:14px;color:var(--gw-ink-700)}
body#pagenotfound #search_query:focus{border-color:var(--gw-green-500);box-shadow:0 0 0 3px rgba(123,191,63,.14);outline:none}
body#pagenotfound form.std button{background:var(--grad-green) !important;color:var(--green-text) !important;border:0 !important;border-radius:11px !important;font-family:var(--fhead);font-weight:700;padding:0 20px !important;min-height:46px;cursor:pointer}
body#pagenotfound form.std button i{display:none}
body#pagenotfound .buttons{margin-top:22px}
body#pagenotfound .buttons a{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--hair) !important;color:var(--gw-ink-700) !important;border-radius:11px;font-family:var(--fhead);font-weight:700;font-size:13.5px;padding:11px 20px !important;text-decoration:none}
body#pagenotfound .buttons a:hover{border-color:rgba(123,191,63,.5) !important;color:var(--green7) !important}
body#pagenotfound .buttons a i{display:none}

/* ═══════════════════════════ MARQUES (manufacturer) ═══════════════════════════ */
body#manufacturer{
  --ink:#2B004F;--green:#7BBF3F;--green7:#5e9a2a;--green-text:#13002a;--magenta:#7E1E57;
  --body:#4f4760;--muted:#6d6480;--faint:#a99fbb;--hair:rgba(43,0,79,.10);--lilac:#f5f2f9;
  --grad-green:linear-gradient(100deg,#8ed04e,#5e9a2a);--sh:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);
  --fhead:'Poppins',system-ui,sans-serif;--fdisp:'Russo One','Poppins',sans-serif;--fbody:'Inter',system-ui,sans-serif;
}
body#manufacturer #left_column,body#manufacturer #right_column{display:none !important}
body#manufacturer #center_column{width:100% !important;max-width:100% !important;float:none !important;left:0 !important;right:auto !important;margin:0 !important;padding:0 clamp(14px,3vw,26px) 50px !important;font-family:var(--fbody);color:var(--body)}
/* titre H1 E4 */
body#manufacturer .page-heading{font-family:var(--fdisp);font-weight:400;font-size:clamp(23px,3vw,32px);color:var(--gw-ink-700);text-transform:uppercase;font-style:italic;letter-spacing:-.5px;border:0 !important;margin:14px 0 16px;padding:0}
body#manufacturer .page-heading .heading-counter{float:right;font-family:var(--fbody);font-style:normal;text-transform:none;font-size:13px;color:var(--gw-n600);font-weight:600;letter-spacing:0}
body#manufacturer .page-heading img{max-height:40px;width:auto}

/* ── LISTE des marques → grille de cartes ── */
body#manufacturer #manufacturers_list{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr)) !important;gap:16px !important;list-style:none;margin:0 !important;padding:0 !important}
body#manufacturer #manufacturers_list li{list-style:none;margin:0 !important;padding:0 !important;width:auto !important;float:none !important;border:0 !important}
body#manufacturer .mansup-container{background:#fff;border:1px solid var(--hair);border-radius:14px;box-shadow:var(--sh);padding:18px;height:100%;transition:.15s;box-sizing:border-box}
body#manufacturer .mansup-container:hover{border-color:rgba(123,191,63,.5);transform:translateY(-2px)}
body#manufacturer .mansup-container>.row{display:flex !important;flex-direction:column;align-items:center;gap:9px;text-align:center;margin:0 !important;width:100%}
body#manufacturer .mansup-container [class*="col-"]{width:100% !important;float:none !important;padding:0 !important}
body#manufacturer .left-side .logo{min-height:52px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--gw-n400);line-height:1.3}
body#manufacturer .left-side .logo img{max-height:56px;max-width:160px;width:auto;object-fit:contain}
body#manufacturer .product-name{font-family:var(--fhead);font-weight:800;font-size:15px;color:var(--gw-ink-700) !important;text-decoration:none}
body#manufacturer .product-name:hover{color:var(--green7) !important}
body#manufacturer .middle-side .description{display:none !important}
body#manufacturer .product-counter{font-size:12px;color:var(--gw-n600);margin:0}
body#manufacturer .product-counter a{color:var(--gw-n600);text-decoration:none}
body#manufacturer .right-side .btn{background:var(--grad-green) !important;color:var(--green-text) !important;border:0 !important;border-radius:10px !important;font-family:var(--fhead) !important;font-weight:700 !important;font-size:12.5px !important;padding:9px 16px !important;margin-top:6px;box-shadow:none}
body#manufacturer .right-side .btn i{display:none !important}
body#manufacturer .right-side .btn span{color:inherit !important}
body#manufacturer .content_sortPagiBar,body#manufacturer .sortPagiBar{border:0;background:none}

/* ── PAGE d'une marque : header + description ── */
body#manufacturer .description_box{background:#fff;border:1px solid var(--hair);border-radius:14px;box-shadow:var(--sh);padding:clamp(18px,3vw,26px);line-height:1.7;color:var(--body);margin:0 0 20px;font-size:14.5px}
body#manufacturer .description_box .lnk_more{color:var(--green7);font-weight:600;text-decoration:underline}
body#manufacturer .description_box p{margin:0 0 12px}

/* ═══ P6 (15/07) — 404 brandbook ═══ */
.gw-404{text-align:center;padding:44px 20px 30px}
.gw-404 .gw-404-code{margin:0!important;font-family:var(--gw-font-disp)!important;
  font-size:clamp(84px,14vw,150px)!important;line-height:1!important;
  font-style:italic;transform:skewX(var(--gw-skew));
  background:var(--gw-grad-key);-webkit-background-clip:text;background-clip:text;
  color:transparent!important}
.gw-404 h1{font-family:var(--gw-font-disp);font-size:clamp(24px,3.4vw,34px);color:var(--gw-ink-700)!important;
  text-transform:uppercase;font-style:italic;transform:skewX(var(--gw-skew));margin:8px 0 10px}
.gw-404 .gw-404-sub{font-size:15px!important;color:var(--gw-n600)!important;max-width:520px;
  margin:0 auto 22px;text-transform:none!important;letter-spacing:0!important}
.gw-404 .gw-404-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.gw-404 .gw-404-btn{display:inline-block;padding:13px 26px;border-radius:var(--gw-r);
  background:var(--gw-grad-gold);color:var(--gw-ink-700)!important;font-family:var(--gw-font-disp);
  text-transform:uppercase;font-size:13px;text-decoration:none;box-shadow:var(--gw-gold-shadow);
  transition:transform var(--gw-dur-1) var(--gw-ease-out)}
.gw-404 .gw-404-btn:hover{transform:translateY(-2px)}
.gw-404 .gw-404-btn--ghost{background:#fff;border:2px solid var(--gw-green-700);
  color:var(--gw-green-800)!important;box-shadow:none;font-family:var(--gw-font-ui);font-weight:700}
.gw-404 .gw-404-h3{font-size:14px;font-weight:700;color:var(--gw-ink-700);text-transform:none}
.gw-noresult a{color:inherit;text-decoration:underline}

/* ═══ L10 (26/08/2026) — sortie de secours des culs-de-sac de recherche ═══
   Bloc commun a search.tpl (0 resultat) et 404.tpl, rendu par
   _search-rebond.tpl. Pose ici et pas dans e4-categorie.css parce que
   e4-categorie.css n'est PAS charge sur la 404. Le meme raisonnement impose
   d'ajouter 'search' a la liste de pages qui lient e4-pages.css dans
   header.tpl : sans cet ajout ce bloc sortirait NON STYLE sur la page
   « 0 resultat », qui est pourtant sa cible principale.
   Mesure du 26/08 : .gw-noresult = 342x80 px et 0 lien ; la 404 n'a que
   3 liens, dont 2 vers l'accueil. Cibles tactiles plafonnees a 44 px. */
.gw-rebond{margin:0 auto 34px;text-align:center}
.gw-rebond-form{max-width:560px;margin:0 auto 26px}
.gw-rebond-lab{display:block;font-family:var(--gw-font-ui);font-weight:700;font-size:13px;
  color:var(--gw-ink-700);margin:0 0 8px;text-transform:none;letter-spacing:0}
.gw-rebond-field{display:flex;gap:8px}
.gw-rebond-field input{box-sizing:border-box;flex:1 1 auto;min-width:0;min-height:48px;padding:0 14px;
  border:2px solid var(--gw-n200);border-radius:var(--gw-r);background:#fff;
  font-family:var(--gw-font-ui);font-size:15px;color:var(--gw-ink-700)}
.gw-rebond-field input:focus{outline:none;border-color:var(--gw-green-700);
  box-shadow:0 0 0 3px rgba(123,191,63,.28)}
.gw-rebond-field button{flex:0 0 auto;min-height:48px;padding:0 20px;border:0;cursor:pointer;
  border-radius:var(--gw-r);background:var(--gw-grad-gold);color:var(--gw-ink-700);
  font-family:var(--gw-font-disp);text-transform:uppercase;font-size:13px;
  box-shadow:var(--gw-gold-shadow)}
.gw-rebond-t{font-family:var(--gw-font-ui);font-weight:700;font-size:13px;
  color:var(--gw-n600);margin:0 0 10px;text-transform:none;letter-spacing:0}
.gw-rebond-tiles{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 18px}
.gw-rebond-tiles a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 16px;border:1.5px solid var(--gw-n200);border-radius:var(--gw-r);
  background:#fff;color:var(--gw-ink-700)!important;text-decoration:none!important;
  font-family:var(--gw-font-ui);font-weight:600;font-size:14px;
  transition:border-color var(--gw-dur-1) var(--gw-ease-out),background var(--gw-dur-1) var(--gw-ease-out)}
.gw-rebond-tiles a:hover{border-color:var(--gw-green-700);background:rgba(123,191,63,.09)}
.gw-rebond-more{display:flex;flex-wrap:wrap;gap:2px 14px;justify-content:center;margin:0 0 14px}
.gw-rebond-more a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;
  color:var(--gw-green-800)!important;font-family:var(--gw-font-ui);font-weight:600;font-size:14px;
  text-decoration:underline}
.gw-rebond-help{font-family:var(--gw-font-ui);font-size:14px;color:var(--gw-n600);margin:0;
  text-transform:none;letter-spacing:0}
.gw-rebond-help a{display:inline-block;min-height:44px;line-height:44px;
  color:var(--gw-green-800)!important;font-weight:700;text-decoration:underline}
@media(max-width:600px){
  .gw-rebond-field{flex-wrap:wrap}
  .gw-rebond-field input{flex:1 1 100%}
  .gw-rebond-field button{flex:1 1 100%}
  .gw-rebond-tiles a{flex:1 1 calc(50% - 5px);padding:0 10px;font-size:13.5px}
}
/* L10 — mesure du 26/08 en 390 px : .gw-404-btn = 187x42 px, sous le plancher
   de 44. En 1440 px il vaut deja 46, le min-height ne change rien la-bas. */
.gw-404 .gw-404-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* ═══ Gabarit : meme neutralisation du .container Bootstrap que sur les pages
   catégorie et fiche (cf. e4-categorie.css). Sans elle, le 90% de --gw-wrap se
   calcule sur 1410 au lieu de 1440 et les cartes tombent 4,5px a droite de
   l'en-tete. Sur les pages fabricant, #center_column posait en plus sa propre
   gouttiere de 26px, qui rentrait toute la page — la gouttiere est desormais
   portee par les .wrap enfants, comme partout ailleurs. */
body#cms .columns-container > .container,
body#contact .columns-container > .container,
body#pagenotfound .columns-container > .container,
body#manufacturer .columns-container > .container{padding-left:0;padding-right:0}
body#cms .row.content-inner,
body#contact .row.content-inner,
body#pagenotfound .row.content-inner,
body#manufacturer .row.content-inner{margin-left:0;margin-right:0}
body#manufacturer #center_column{padding-left:0 !important;padding-right:0 !important}



/* SEO-011 — titre des pages CMS qui n'en portaient pas dans leur contenu. */
.gw-cms-h1{
  font-family:'Russo One',sans-serif;font-weight:400;
  font-size:clamp(24px,3vw,34px);line-height:1.15;
  color:var(--gw-ink-700);margin:0 0 18px;text-wrap:balance;
}
