/*
Theme Name: Prim'heure (Blocksy)
Template: blocksy
Description: Thème enfant Prim'heure — charte 2026, styles des pages Elementor et de WooCommerce.
Author: CDDNET
Version: 1.0.2610260848
Text Domain: blocksy-primheure
*/
/* ===== Adaptation Elementor (avant la feuille de la maquette) =====
   Les conteneurs Elementor se comportent comme de simples blocs : la maquette
   décide seule de leur affichage (flex, grid), de leurs marges et espacements. */
body.primheure { --kit-widget-spacing: 0px; }
body.primheure .e-con {
  --display: block; --flex-direction: row; --flex-wrap: nowrap;
  --justify-content: normal; --align-items: normal; --align-content: normal;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --margin-block-start: 0px; --margin-block-end: 0px;
  display: block; flex-direction: row; flex-wrap: nowrap; justify-content: normal; align-items: normal;
  padding: 0; gap: 0; margin: 0; min-width: 0; min-height: 0; width: auto;
}
body.primheure .e-con > .e-con-inner { display: contents; }
body.primheure .elementor-element { --widgets-spacing: 0px; }
body.primheure .elementor-widget:not(:last-child) { margin-block-end: 0; }

/* Titres : la classe du widget porte la typographie, la balise en hérite */
body.primheure .elementor-heading-title {
  font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit;
  text-transform: inherit; text-align: inherit; margin: 0; padding: 0;
}
body.primheure .elementor-heading-title a { color: inherit; }

/* Textes */
body.primheure .elementor-widget-text-editor > :last-child,
body.primheure .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.primheure .elementor-widget-text-editor p { margin: 0; }

/* Images : l'enveloppe du widget s'efface, l'image se place comme dans la maquette.
   Les classes posées sur le widget sont recopiées sur l'image par construire.sh. */
body.primheure .elementor-widget-image, body.primheure .elementor-widget-image a { display: contents; }
body.primheure .elementor-widget-image img { display: block; height: auto; border-radius: 0; box-shadow: none; border: 0; vertical-align: top; }

/* Icônes : le SVG devient l'enfant direct de son conteneur */
body.primheure .elementor-widget-icon .elementor-icon-wrapper,
body.primheure .elementor-widget-icon .elementor-icon { display: contents; color: inherit; fill: none; font-size: inherit; }
body.primheure .elementor-widget-icon { display: contents; }
body.primheure .elementor-widget-icon svg { width: 1em; height: 1em; display: block; fill: none; stroke: currentColor; }

/* Boutons : l'enveloppe du widget s'efface, le lien porte le style de la maquette */
body.primheure .elementor-widget-button { display: contents; }
body.primheure .elementor-button { background: none; padding: 0; border-radius: 0; color: inherit; font: inherit; line-height: inherit; fill: currentColor; }
body.primheure .elementor-button-content-wrapper { display: contents; }
body.primheure .elementor-button-icon { display: contents; }
body.primheure .elementor-button-icon svg { width: 1em; height: 1em; fill: none; stroke: currentColor; }
body.primheure .elementor-shortcode, body.primheure .elementor-widget-shortcode { display: contents; }
:root {
  --jaune: #F2E500;
  --or: #F0B914;
  --orange: #E6A00A;
  --vert: #79CF43;
  --vert-fonce: #3F8F1F;
  --brun: #966432;
  --brun-fonce: #6E4521;
  --rouge: #BE321E;
  --encre: #2B2B2B;
  --gris: #6E6E6E;
  --ligne: #ECECE8;
  --fond: #FFFFFF;
  --fond-doux: #F7F8F5;
  --p-jaune: #FFF7BF;
  --p-vert: #E5F5D7;
  --p-rouge: #FCE2DC;
  --p-or: #FDEFC8;
  --titre: 'Chewy', 'Comic Sans MS', cursive;
  --mono: 'Ubuntu Mono', ui-monospace, monospace;
  --texte: 'Ubuntu', system-ui, sans-serif;
  --r: 10px;
  --ombre: 0 10px 30px -12px rgba(110, 69, 33, .28);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.primheure.primheure { margin: 0; background: var(--fond); color: var(--encre); font: 400 15px/1.6 var(--texte); overflow-x: hidden; }
body.primheure.primheure img { max-width: 100%; display: block; }
body.primheure.primheure a { color: inherit; text-decoration: none; }
body.primheure.primheure h1, body.primheure.primheure h2, body.primheure.primheure h3 { margin: 0; font-weight: 400; line-height: 1.08; }
body.primheure.primheure p { margin: 0; }
body.primheure.primheure button { font: inherit; cursor: pointer; }
body.primheure.primheure svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
body.primheure.primheure .conteneur { width: min(1180px, 100% - 48px); margin-inline: auto; }
body.primheure.primheure .section { padding: 64px 0; }
body.primheure.primheure .centre { text-align: center; margin-top: 32px; }
body.primheure.primheure .surtitre { font: 700 13px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--vert-fonce); margin-bottom: 12px; }
body.primheure.primheure .tete-section { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
body.primheure.primheure .tete-section h2, body.primheure.primheure .config h2, body.primheure.primheure .bande-box h2, body.primheure.primheure .marco h2 { font-family: var(--titre); font-size: 40px; color: var(--brun); }
body.primheure.primheure .tete-centre { flex-direction: column; align-items: center; text-align: center; gap: 0; }
body.primheure.primheure .voir-plus .elementor-button, body.primheure.primheure .lien-fleche .elementor-button { display: inline-flex; align-items: center; gap: 8px; font: 700 14px var(--mono); color: var(--vert-fonce); }
body.primheure.primheure .voir-plus svg, body.primheure.primheure .lien-fleche svg { font-size: 18px; transition: transform .2s; }
body.primheure.primheure .voir-plus:hover svg, body.primheure.primheure .lien-fleche:hover svg { transform: translateX(4px); }
body.primheure.primheure .btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 50px; padding: 0 26px; border-radius: 999px; font: 700 15px var(--texte); border: 0; transition: transform .15s, box-shadow .15s, background .15s; }
body.primheure.primheure .btn .elementor-button:hover { transform: translateY(-2px); }
body.primheure.primheure .bouton-brun .elementor-button { background: var(--brun); color: #fff; box-shadow: 0 8px 18px -8px rgba(110, 69, 33, .7); }
body.primheure.primheure .bouton-brun .elementor-button:hover { background: var(--brun-fonce); }
body.primheure.primheure .bouton-blanc .elementor-button { background: #fff; color: var(--brun); }
body.primheure.primheure .bouton-vert .elementor-button { background: var(--vert-fonce); color: #fff; }
body.primheure.primheure .barre-info { background: var(--vert-fonce); color: #fff; font: 400 13px/1 var(--mono); }
body.primheure.primheure .barre-info .conteneur { display: flex; justify-content: space-between; align-items: center; height: 36px; }
body.primheure.primheure .barre-info p { display: flex; align-items: center; gap: 8px; }
body.primheure.primheure .barre-info svg { font-size: 16px; }
body.primheure.primheure .barre-droite { gap: 20px !important; }
body.primheure.primheure .barre-droite a { display: flex; align-items: center; gap: 6px; font-weight: 700; }
body.primheure.primheure .barre-droite span { opacity: .8; }
body.primheure.primheure .entete { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ligne); }
body.primheure.primheure .entete-in { display: flex; align-items: center; gap: 28px; height: 84px; }
body.primheure.primheure .logo img { height: 60px; width: auto; }
body.primheure.primheure .nav-principale { display: flex; gap: 4px; margin-left: 8px; }
body.primheure.primheure .nav-principale > a, body.primheure.primheure .nav-groupe > a { display: block; padding: 8px 14px; border-radius: 999px; font-weight: 500; font-size: 15px; }
body.primheure.primheure .nav-principale a:hover { color: var(--vert-fonce); }
body.primheure.primheure .nav-principale a.actif { background: var(--jaune); color: var(--brun-fonce); }
body.primheure.primheure .nav-groupe { position: relative; }
body.primheure.primheure .nav-groupe > a::after { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 8px; border: solid currentColor; border-width: 0 1.8px 1.8px 0; transform: rotate(45deg); }
body.primheure.primheure .sous-menu { position: absolute; top: 100%; left: 0; min-width: 220px; padding: 8px; background: #fff; border-radius: var(--r); box-shadow: var(--ombre); border: 1px solid var(--ligne); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s; }
body.primheure.primheure .nav-groupe:hover .sous-menu, body.primheure.primheure .nav-groupe:focus-within .sous-menu { opacity: 1; visibility: visible; transform: none; }
body.primheure.primheure .sous-menu a { display: block; padding: 9px 12px; border-radius: 6px; font-size: 14px; }
body.primheure.primheure .sous-menu a:hover { background: var(--p-vert); }
body.primheure.primheure .recherche { margin-left: auto; display: flex; align-items: center; background: var(--fond-doux); border: 1px solid var(--ligne); border-radius: 999px; padding: 4px 4px 4px 16px; width: 240px; }
body.primheure.primheure .recherche input { flex: 1; min-width: 0; border: 0; background: none; font: 14px var(--texte); outline: none; }
body.primheure.primheure .recherche button { width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--vert-fonce); color: #fff; display: grid; place-items: center; }
body.primheure.primheure .recherche button svg { font-size: 17px; }
body.primheure.primheure .entete-actions { display: flex; gap: 6px; }
body.primheure.primheure .icone { position: relative; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; }
body.primheure.primheure .icone:hover { background: var(--fond-doux); }
body.primheure.primheure .icone svg { font-size: 23px; }
body.primheure.primheure .pastille { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--rouge); color: #fff; font: 700 11px/18px var(--mono); text-align: center; }
body.primheure.primheure .hero { position: relative; background: linear-gradient(115deg, var(--jaune) 0%, #F5D60A 45%, var(--or) 78%, var(--orange) 100%); overflow: visible; }
body.primheure.primheure .hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, var(--vert), var(--jaune) 30%, var(--orange) 60%, var(--rouge)); }
body.primheure.primheure .hero-filigrane, body.primheure.primheure .hero-filigrane img { position: absolute; right: 4%; top: -10px; height: 115%; width: auto; opacity: .13; mix-blend-mode: multiply; pointer-events: none; }
body.primheure.primheure .hero-in { position: relative; display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; min-height: 520px; gap: 20px; }
body.primheure.primheure .hero-texte { position: relative; z-index: 2; padding: 64px 0 96px; }
body.primheure.primheure .hero .surtitre { color: var(--brun-fonce); }
body.primheure.primheure .hero h1 { font-family: var(--titre); font-size: clamp(44px, 5.6vw, 76px); line-height: .98; color: var(--brun-fonce); letter-spacing: .005em; }
body.primheure.primheure .hero-chapo { margin-top: 20px; max-width: 470px; font-size: 18px; color: #4A3518; }
body.primheure.primheure .hero-boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
body.primheure.primheure .pile { position: relative; align-self: stretch; z-index: 3; margin: 30px 0 -46px; }
body.primheure.primheure .pile img { position: absolute; filter: drop-shadow(0 18px 18px rgba(90, 50, 10, .28)); transition: transform .4s cubic-bezier(.3, 1.4, .5, 1); }
body.primheure.primheure .pile:hover img { transform: translateY(-4px); }
body.primheure.primheure .p-raisins, body.primheure.primheure .p-raisins img { width: 28%; left: 12%; bottom: 33%; }
body.primheure.primheure .p-ananas, body.primheure.primheure .p-ananas img { width: 22%; left: 37%; bottom: 36%; }
body.primheure.primheure .p-brocoli, body.primheure.primheure .p-brocoli img { width: 31%; left: 57%; bottom: 33%; }
body.primheure.primheure .p-aubergine, body.primheure.primheure .p-aubergine img { width: 42%; left: 50%; bottom: 24%; transform: rotate(-12deg); }
body.primheure.primheure .pile:hover .p-aubergine, body.primheure.primheure .pile:hover .p-aubergine img { transform: rotate(-12deg) translateY(-4px); }
body.primheure.primheure .p-pomme, body.primheure.primheure .p-pomme img { width: 25%; left: 0; bottom: 14%; }
body.primheure.primheure .p-poivrons, body.primheure.primheure .p-poivrons img { width: 36%; left: 20%; bottom: 15%; }
body.primheure.primheure .p-carottes, body.primheure.primheure .p-carottes img { width: 34%; left: 64%; bottom: 10%; transform: rotate(-10deg); }
body.primheure.primheure .pile:hover .p-carottes, body.primheure.primheure .pile:hover .p-carottes img { transform: rotate(-10deg) translateY(-4px); }
body.primheure.primheure .p-tomates, body.primheure.primheure .p-tomates img { width: 33%; left: 3%; bottom: -3%; }
body.primheure.primheure .p-orange, body.primheure.primheure .p-orange img { width: 21%; left: 34%; bottom: -2%; }
body.primheure.primheure .p-bananes, body.primheure.primheure .p-bananes img { width: 40%; left: 50%; bottom: -5%; }
body.primheure.primheure .p-citron, body.primheure.primheure .p-citron img { width: 21%; left: 83%; bottom: -1%; }
body.primheure.primheure .tournees { position: relative; z-index: 4; display: flex; align-items: stretch; margin-top: 74px; background: #fff; border-radius: 999px; box-shadow: var(--ombre); border: 1px solid var(--ligne); overflow: hidden; }
body.primheure.primheure .tournees-titre { display: flex; align-items: center; gap: 10px; padding: 0 26px; background: var(--p-vert); color: var(--vert-fonce); font: 700 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .06em; max-width: 190px; }
body.primheure.primheure .tournees-titre svg { font-size: 22px; }
body.primheure.primheure .tournees ul { display: flex; flex: 1; list-style: none; margin: 0; padding: 0; }
body.primheure.primheure .tournees li { flex: 1; padding: 14px 22px; border-left: 1px solid var(--ligne); display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; line-height: 1.25; }
body.primheure.primheure .tournees li :is(strong, body.primheure.primheure .t-strong) { grid-row: span 2; }
body.primheure.primheure .tournees li:first-child { border-left: 0; }
body.primheure.primheure .tournees :is(strong, body.primheure.primheure .t-strong) { font: 400 20px var(--titre); color: var(--brun); }
body.primheure.primheure .tournees span { font-size: 13px; font-weight: 500; }
body.primheure.primheure .tournees :is(em, body.primheure.primheure .t-em) { font: normal 12px var(--mono); color: var(--gris); }
body.primheure.primheure .formules { padding-top: 56px; }
body.primheure.primheure .formules-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
body.primheure.primheure .formule { position: relative; display: flex; min-height: 190px; border-radius: var(--r); padding: 26px 24px; overflow: visible; transition: transform .2s, box-shadow .2s; }
body.primheure.primheure .formule:hover { transform: translateY(-4px); box-shadow: var(--ombre); }
body.primheure.primheure .formule img { position: absolute; right: -14px; bottom: -18px; width: 52%; filter: drop-shadow(0 12px 12px rgba(0, 0, 0, .18)); transition: transform .3s; }
body.primheure.primheure .formule:hover img { transform: scale(1.05) rotate(-3deg); }
body.primheure.primheure .formule-texte { position: relative; z-index: 1; display: flex; flex-direction: column; width: 58%; }
body.primheure.primheure .formule :is(strong, body.primheure.primheure .t-strong) { font: 400 28px/1 var(--titre); color: var(--brun-fonce); margin-bottom: 8px; }
body.primheure.primheure .formule-texte > span { font-size: 14px; line-height: 1.45; color: #4b4b4b; }
body.primheure.primheure .formule :is(em, body.primheure.primheure .t-em) { margin-top: auto; padding-top: 14px; font: normal 700 14px var(--mono); color: var(--vert-fonce); }
body.primheure.primheure .f-jaune { background: var(--p-jaune); }
body.primheure.primheure .f-vert { background: var(--p-vert); }
body.primheure.primheure .f-rouge { background: var(--p-rouge); }
body.primheure.primheure .f-rouge img { width: 56%; bottom: -8px; }
body.primheure.primheure .marche { padding-top: 40px; }
body.primheure.primheure .onglets { display: flex; gap: 6px; padding: 5px; background: var(--fond-doux); border: 1px solid var(--ligne); border-radius: 999px; }
body.primheure.primheure .onglet { border: 0; background: none; padding: 8px 18px; border-radius: 999px; font-weight: 500; font-size: 14px; color: var(--gris); }
body.primheure.primheure .onglet.actif { background: var(--vert); color: #fff; box-shadow: 0 4px 10px -4px rgba(63, 143, 31, .7); }
body.primheure.primheure .panneau { display: none; }
body.primheure.primheure .panneau.actif { display: block; animation: monter .35s ease; }
@keyframes monter { from { opacity: 0; transform: translateY(8px); } }
body.primheure.primheure .produits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.primheure.primheure .produit { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ligne); border-radius: var(--r); padding: 14px 14px 16px; transition: box-shadow .2s, border-color .2s; }
body.primheure.primheure .produit:hover { box-shadow: var(--ombre); border-color: transparent; }
body.primheure.primheure .produit-img { display: block; height: 150px; margin-bottom: 10px; }
body.primheure.primheure .produit-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .3s; }
body.primheure.primheure .produit:hover .produit-img img { transform: scale(1.06); }
body.primheure.primheure .badge-bio { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 3px 9px; border-radius: 999px; background: var(--vert); color: #fff; font: 700 11px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .05em; }
body.primheure.primheure .produit-nom { font: 500 15px/1.3 var(--texte); text-align: center; }
body.primheure.primheure .produit-meta { display: flex; justify-content: center; align-items: baseline; gap: 10px; margin: 4px 0 12px; font-family: var(--mono); }
body.primheure.primheure .unite { font-size: 13px; color: var(--gris); }
body.primheure.primheure .prix { font-weight: 700; font-size: 16px; color: var(--brun); }
body.primheure.primheure .ajouter .elementor-button { align-self: center; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 7px 18px; border-radius: 999px; background: var(--p-or); color: var(--brun-fonce); font-size: 13px; font-weight: 700; transition: background .15s, color .15s; }
body.primheure.primheure .ajouter svg { font-size: 16px; }
body.primheure.primheure .ajouter .elementor-button:hover { background: var(--brun); color: #fff; }
body.primheure.primheure .familles { background: var(--fond-doux); padding-bottom: 130px; }
body.primheure.primheure .familles-in { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
body.primheure.primheure .familles-photo { position: relative; }
body.primheure.primheure .familles-photo img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--r); }
body.primheure.primheure .etiquette { position: absolute; right: -22px; bottom: 34px; width: 150px; height: 150px; border-radius: 50%; background: var(--jaune); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font: 12px/1.25 var(--mono); color: var(--brun-fonce); box-shadow: var(--ombre); padding: 18px; }
body.primheure.primheure .etiquette :is(strong, body.primheure.primheure .t-strong) { font: 400 38px/1 var(--titre); color: var(--brun); margin-bottom: 4px; }
body.primheure.primheure .config > p:not(.surtitre) { margin: 14px 0 26px; color: #4b4b4b; max-width: 480px; }
body.primheure.primheure .config-ligne { display: flex; align-items: center; gap: 18px; padding: 14px 0; border-top: 1px solid var(--ligne); }
body.primheure.primheure .config-label { width: 92px; font: 700 13px var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); }
body.primheure.primheure .choix { display: flex; flex-wrap: wrap; gap: 8px; }
body.primheure.primheure .choix [data-val] { height: 40px; padding: 0 18px; border-radius: 999px; border: 1.5px solid var(--ligne); background: #fff; font-weight: 500; font-size: 14px; transition: .15s; }
body.primheure.primheure .choix [data-val]:hover { border-color: var(--vert); }
body.primheure.primheure .choix [data-val].actif { background: var(--vert-fonce); border-color: var(--vert-fonce); color: #fff; }
body.primheure.primheure .choix-nb [data-val] { width: 40px; padding: 0; font-family: var(--mono); font-weight: 700; }
body.primheure.primheure .config-total { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 10px; padding: 20px 22px; background: #fff; border-radius: var(--r); border: 1px solid var(--ligne); }
body.primheure.primheure .config-total p { display: flex; flex-direction: column; font-size: 12px; color: var(--gris); max-width: 260px; line-height: 1.4; }
body.primheure.primheure .config-prix { font: 700 30px/1.1 var(--mono); color: var(--brun); margin-bottom: 4px; }
body.primheure.primheure .bande-box { position: relative; margin-top: 0; background: linear-gradient(100deg, var(--vert-fonce), var(--vert)); color: #fff; }
body.primheure.primheure .bande-box-in { display: grid; grid-template-columns: 330px 1fr auto; align-items: center; gap: 40px; min-height: 230px; }
body.primheure.primheure .bande-box-caisse, body.primheure.primheure .bande-box-caisse img { width: 360px; max-width: none; margin: -160px 0 30px -30px; filter: drop-shadow(0 24px 22px rgba(0, 40, 0, .35)); }
body.primheure.primheure .bande-box .surtitre { color: var(--jaune); }
body.primheure.primheure .bande-box h2 { color: #fff; font-size: 34px; max-width: 560px; }
body.primheure.primheure .bande-box-texte p:last-child { margin-top: 10px; max-width: 580px; opacity: .92; font-size: 15px; }
body.primheure.primheure .bande-box .bouton-brun .elementor-button { background: var(--jaune); color: var(--brun-fonce); }
body.primheure.primheure .bande-box .bouton-brun .elementor-button:hover { background: #fff; }
body.primheure.primheure .engagements { padding: 56px 0; }
body.primheure.primheure .engagements-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.primheure.primheure .engagement { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 26px 18px; border-radius: var(--r); background: var(--fond-doux); }
body.primheure.primheure .engagement svg { font-size: 44px; color: var(--vert-fonce); stroke-width: 1.4; margin-bottom: 12px; }
body.primheure.primheure .engagement :is(strong, body.primheure.primheure .t-strong) { font: 700 15px var(--mono); text-transform: uppercase; letter-spacing: .03em; }
body.primheure.primheure .engagement span { font-size: 13px; color: var(--gris); margin-top: 4px; }
body.primheure.primheure .secteurs { padding-top: 24px; }
body.primheure.primheure .secteurs-grille { display: grid; grid-template-columns: 1fr 1.25fr 1.25fr; gap: 20px; }
body.primheure.primheure .secteur { padding: 28px 26px; border-radius: var(--r); border-top: 6px solid; }
body.primheure.primheure .secteur h3 { font: 400 34px var(--titre); color: var(--brun-fonce); margin-bottom: 6px; }
body.primheure.primheure .secteur .delai { display: flex; align-items: center; gap: 8px; font: 700 13px var(--mono); color: var(--vert-fonce); margin-bottom: 14px; }
body.primheure.primheure .secteur .delai svg { font-size: 17px; }
body.primheure.primheure .secteur p:not(.delai) { font-size: 14px; color: #444; }
body.primheure.primheure .secteur p + p:not(.delai) { margin-top: 8px; }
body.primheure.primheure .s-jaune { background: var(--p-jaune); border-color: var(--or); }
body.primheure.primheure .s-vert { background: var(--p-vert); border-color: var(--vert); }
body.primheure.primheure .s-rouge { background: var(--p-rouge); border-color: var(--rouge); }
body.primheure.primheure .marco-in { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
body.primheure.primheure .marco-texte > p:not(.surtitre) { margin: 16px 0; color: #4b4b4b; }
body.primheure.primheure .marco :is(blockquote, body.primheure.primheure .t-blockquote) { margin: 22px 0; padding-left: 20px; border-left: 4px solid var(--jaune); font: 400 26px/1.2 var(--titre); color: var(--vert-fonce); }
body.primheure.primheure .marco-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); }
body.primheure.primheure .pied { position: relative; margin-top: 90px; }
body.primheure.primheure .pied-fruits { position: relative; z-index: 1; display: flex; justify-content: center; align-items: flex-end; height: 104px; padding-top: 12px; margin-bottom: -26px; overflow: hidden; }
body.primheure.primheure .pied-fruits img { height: 100%; width: auto; margin: 0 -6px; }
body.primheure.primheure .pied-fruits img:nth-child(odd) { height: 80%; }
body.primheure.primheure .pied-corps { background: linear-gradient(115deg, var(--jaune), var(--or) 70%, var(--orange)); color: var(--brun-fonce); padding: 66px 0 0; }
body.primheure.primheure .pied-grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 36px; }
body.primheure.primheure .pied-logo, body.primheure.primheure .pied-logo img { height: 70px; width: auto; background: #fff; padding: 8px 14px; border-radius: var(--r); }
body.primheure.primheure .pied-marque p { margin-top: 14px; font-size: 14px; max-width: 300px; }
body.primheure.primheure .pied h3 { font: 400 22px var(--titre); color: var(--brun); margin-bottom: 12px; }
body.primheure.primheure .pied-col a, body.primheure.primheure .pied-col p { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 3px 0; }
body.primheure.primheure .pied-col a:hover { text-decoration: underline; }
body.primheure.primheure .paiements { gap: 6px !important; margin-top: 8px; }
body.primheure.primheure .paiements span { padding: 3px 10px; border-radius: 6px; background: rgba(255, 255, 255, .7); font: 700 12px var(--mono); }
body.primheure.primheure .pied-bas { display: flex; justify-content: space-between; margin-top: 44px; padding: 18px 0 22px; border-top: 1px solid rgba(110, 69, 33, .2); font-size: 13px; }
body.primheure.primheure .pied-bas a { margin-left: 18px; }
body.primheure.primheure .barre-app { display: none; }
@media (max-width: 1080px) {
body.primheure.primheure .nav-principale { display: none; }
body.primheure.primheure .recherche { width: auto; flex: 1; max-width: 360px; }
}
body.primheure.primheure .m-retour { display: none; }
body.primheure.primheure .titre-brun { font: 400 34px/1.08 var(--titre); color: var(--brun); margin-bottom: 14px; }
body.primheure.primheure .ariane { display: flex; flex-wrap: wrap; gap: 8px; font: 13px var(--mono); color: var(--brun-fonce); margin-bottom: 14px; }
body.primheure.primheure .ariane a { text-decoration: underline; text-underline-offset: 3px; }
body.primheure.primheure .ariane span { opacity: .5; }
body.primheure.primheure .ariane-seule { margin: 26px 0 0; color: var(--gris); }
body.primheure.primheure .bandeau-page { position: relative; overflow: hidden; }
body.primheure.primheure .bp-jaune { background: linear-gradient(115deg, var(--jaune), #F5D60A 50%, var(--or)); }
body.primheure.primheure .bp-vert { background: linear-gradient(115deg, var(--p-vert), #D3EEBC); }
body.primheure.primheure .bandeau-page::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, var(--vert), var(--jaune) 30%, var(--orange) 60%, var(--rouge)); }
body.primheure.primheure .bandeau-in { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; min-height: 300px; gap: 30px; }
body.primheure.primheure .bandeau-texte { padding: 46px 0 52px; }
body.primheure.primheure .bandeau-page h1 { font: 400 clamp(40px, 4.4vw, 58px)/1 var(--titre); color: var(--brun-fonce); }
body.primheure.primheure .bandeau-texte > p:last-child { margin-top: 14px; max-width: 560px; font-size: 17px; color: #4A3518; }
body.primheure.primheure .bandeau-texte > p a { font-weight: 700; text-decoration: underline; }
body.primheure.primheure .bandeau-court .bandeau-in { min-height: 0; grid-template-columns: 1fr; }
body.primheure.primheure .bandeau-img { position: relative; align-self: stretch; }
body.primheure.primheure .bandeau-img img { position: absolute; filter: drop-shadow(0 14px 14px rgba(90, 50, 10, .25)); }
body.primheure.primheure .bi-1, body.primheure.primheure .bi-1 img { width: 40%; left: 4%; bottom: 14%; }
body.primheure.primheure .bi-2, body.primheure.primheure .bi-2 img { width: 34%; left: 38%; bottom: 4%; z-index: 1; }
body.primheure.primheure .bi-3, body.primheure.primheure .bi-3 img { width: 44%; right: -2%; bottom: 18%; }
body.primheure.primheure .bi-solo, body.primheure.primheure .bi-solo img { width: 78%; right: 4%; bottom: 8%; }
body.primheure.primheure .raccourcis { padding-bottom: 10px; }
body.primheure.primheure .raccourcis-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
body.primheure.primheure .raccourci { position: relative; display: flex; align-items: center; min-height: 104px; padding: 18px 22px; border-radius: var(--r); overflow: hidden; transition: transform .2s; }
body.primheure.primheure .raccourci:hover { transform: translateY(-3px); }
body.primheure.primheure .raccourci img { position: absolute; right: -8px; bottom: -10px; width: 40%; filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .15)); }
body.primheure.primheure .raccourci :is(strong, body.primheure.primheure .t-strong) { display: block; font: 400 24px var(--titre); color: var(--brun-fonce); }
body.primheure.primheure .raccourci :is(em, body.primheure.primheure .t-em) { font: normal 700 13px var(--mono); color: var(--vert-fonce); }
body.primheure.primheure .filtres { display: flex; flex-wrap: wrap; gap: 6px; }
body.primheure.primheure .filtres button { border: 1.5px solid var(--ligne); background: #fff; padding: 8px 16px; border-radius: 999px; font-weight: 500; font-size: 14px; color: var(--gris); }
body.primheure.primheure .filtres button.actif { background: var(--vert-fonce); border-color: var(--vert-fonce); color: #fff; }
body.primheure.primheure .compteur { font: 13px var(--mono); color: var(--gris); margin: -14px 0 18px; }
body.primheure.primheure .produit[hidden] { display: none; }
body.primheure.primheure .infos-commande { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 34px; }
body.primheure.primheure .infos-commande p { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: var(--r); background: var(--p-jaune); font-size: 14px; }
body.primheure.primheure .infos-commande svg { font-size: 22px; color: var(--brun); margin-top: 1px; }
body.primheure.primheure .infos-bas { margin-top: 30px; }
body.primheure.primheure .familles-page { padding-bottom: 64px; }
body.primheure.primheure .paniers-grille { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.primheure.primheure .panier-carte { position: relative; display: flex; flex-direction: column; padding: 12px 12px 16px; border: 1px solid var(--ligne); border-radius: var(--r); background: #fff; transition: box-shadow .2s; }
body.primheure.primheure .panier-carte:hover { box-shadow: var(--ombre); }
body.primheure.primheure .panier-carte img { aspect-ratio: 4 / 3; object-fit: contain; width: 100%; margin-bottom: 10px; }
body.primheure.primheure .panier-carte :is(strong, body.primheure.primheure .t-strong) { font-weight: 500; font-size: 15px; }
body.primheure.primheure .panier-carte span:last-child { font: 700 15px var(--mono); color: var(--brun); margin-top: 4px; }
body.primheure.primheure .badge-suisse { position: absolute; top: 12px; left: 12px; padding: 3px 9px; border-radius: 999px; background: var(--rouge); color: #fff; font: 700 11px/1.4 var(--mono); text-transform: uppercase; }
body.primheure.primheure .paniers-4 .panier-carte:nth-child(n+5) { display: none; }
body.primheure.primheure .gagnant { display: flex; align-items: center; gap: 26px; padding: 22px 28px; margin-bottom: 44px; border-radius: var(--r); background: linear-gradient(100deg, var(--vert-fonce), var(--vert)); color: #fff; }
body.primheure.primheure .gagnant-badge { flex: none; display: grid; place-items: center; width: 104px; height: 104px; border-radius: 50%; background: var(--jaune); color: var(--brun-fonce); font: 400 22px/1 var(--titre); text-align: center; }
body.primheure.primheure .gagnant h2 { font: 400 30px var(--titre); }
body.primheure.primheure .gagnant p { opacity: .92; max-width: 640px; }
body.primheure.primheure .box-grille { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
body.primheure.primheure .box-carte { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 22px 14px 18px; border: 1px solid var(--ligne); border-radius: var(--r); background: #fff; }
body.primheure.primheure .box-vedette { border: 2px solid var(--vert); box-shadow: var(--ombre); }
body.primheure.primheure .box-tag { position: absolute; top: -11px; padding: 2px 10px; border-radius: 999px; background: var(--vert); color: #fff; font: 700 11px var(--mono); white-space: nowrap; }
body.primheure.primheure .box-num { font: 700 12px var(--mono); text-transform: uppercase; color: var(--gris); letter-spacing: .06em; }
body.primheure.primheure .box-pers :is(strong, body.primheure.primheure .t-strong) { display: block; font: 400 46px/1 var(--titre); color: var(--brun); margin-top: 6px; }
body.primheure.primheure .box-pers { font-size: 13px; }
body.primheure.primheure .box-kg { margin: 8px 0 12px; font-size: 13px; color: var(--gris); }
body.primheure.primheure .box-prix { font: 700 20px var(--mono); color: var(--brun-fonce); margin-bottom: 14px; }
body.primheure.primheure .box-prix span { display: block; font: 400 11px var(--texte); color: var(--gris); }
body.primheure.primheure .box-carte .btn .elementor-button { height: 40px; padding: 0 18px; font-size: 14px; margin-top: auto; }
body.primheure.primheure .box-infos { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
body.primheure.primheure .box-infos .btn .elementor-button { margin-top: 20px; }
body.primheure.primheure .box-infos > div > p:not(.surtitre) { color: #4b4b4b; }
body.primheure.primheure .box-extras { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
body.primheure.primheure .box-extras li { display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: #fff; border-radius: var(--r); font-size: 14px; color: var(--gris); }
body.primheure.primheure .box-extras img { width: 74px; height: 60px; object-fit: contain; }
body.primheure.primheure .box-extras :is(strong, body.primheure.primheure .t-strong) { display: block; color: var(--encre); font-size: 15px; }
body.primheure.primheure .fiche { padding-top: 26px; }
body.primheure.primheure .fiche-in { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
body.primheure.primheure .fiche-galerie { position: relative; border: 1px solid var(--ligne); border-radius: var(--r); padding: 30px; background: #fff; }
body.primheure.primheure .fiche-galerie img { width: 100%; aspect-ratio: 1; object-fit: contain; }
body.primheure.primheure .fiche-galerie .etiquette { right: 20px; bottom: 20px; width: 120px; height: 120px; }
body.primheure.primheure .fiche h1 { font: 400 44px/1.02 var(--titre); color: var(--brun-fonce); }
body.primheure.primheure .fiche-prix { margin: 14px 0; }
body.primheure.primheure .fiche-prix span { font: 700 32px var(--mono); color: var(--brun); }
body.primheure.primheure .fiche-prix :is(em, body.primheure.primheure .t-em) { font-style: normal; font-size: 13px; color: var(--gris); }
body.primheure.primheure .fiche-chapo { color: #4b4b4b; margin-bottom: 14px; }
body.primheure.primheure .fiche-achat { display: flex; gap: 12px; padding: 18px 0; border-top: 1px solid var(--ligne); }
body.primheure.primheure .fiche-achat .btn .elementor-button { flex: 1; }
body.primheure.primheure .fiche-achat .btn .elementor-button svg { font-size: 20px; }
body.primheure.primheure .quantite { display: inline-flex; align-items: center; border: 1.5px solid var(--ligne); border-radius: 999px; background: #fff; height: 50px; }
body.primheure.primheure .quantite button { width: 42px; height: 100%; border: 0; background: none; font-size: 20px; color: var(--brun); }
body.primheure.primheure .quantite input { width: 34px; border: 0; text-align: center; font: 700 16px var(--mono); }
body.primheure.primheure .fiche-atouts { list-style: none; margin: 0; padding: 16px 18px; background: var(--fond-doux); border-radius: var(--r); display: grid; gap: 10px; font-size: 14px; }
body.primheure.primheure .fiche-atouts li { display: flex; gap: 10px; align-items: center; }
body.primheure.primheure .fiche-atouts svg { font-size: 19px; color: var(--vert-fonce); }
body.primheure.primheure .titre-page { font: 400 44px var(--titre); color: var(--brun-fonce); margin-bottom: 22px; }
body.primheure.primheure .caddie { padding-top: 26px; }
body.primheure.primheure .caddie-in { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }
body.primheure.primheure .caddie-liste { list-style: none; margin: 0 0 22px; padding: 0; border-top: 1px solid var(--ligne); }
body.primheure.primheure .caddie-liste li { display: grid; grid-template-columns: 84px 1fr auto 110px; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--ligne); }
body.primheure.primheure .caddie-liste img { width: 84px; height: 84px; object-fit: contain; border-radius: var(--r); background: #fff; border: 1px solid var(--ligne); }
body.primheure.primheure .caddie-liste :is(strong, body.primheure.primheure .t-strong) { display: block; font-weight: 500; }
body.primheure.primheure .caddie-liste span { font-size: 13px; color: var(--gris); }
body.primheure.primheure .caddie-liste :is(b, body.primheure.primheure .t-b) { text-align: right; font: 700 16px var(--mono); color: var(--brun); }
body.primheure.primheure .caddie-liste .quantite { height: 42px; }
body.primheure.primheure .caddie-total { position: sticky; top: 110px; padding: 24px; border-radius: var(--r); background: var(--fond-doux); }
body.primheure.primheure .caddie-total h2 { font: 400 26px var(--titre); color: var(--brun); margin-bottom: 14px; }
body.primheure.primheure .caddie-total > p:not(.caddie-note) { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; }
body.primheure.primheure .caddie-total :is(b, body.primheure.primheure .t-b) { font-family: var(--mono); }
body.primheure.primheure .caddie-total .vert { color: var(--vert-fonce); }
body.primheure.primheure .caddie-somme { border-top: 1px solid var(--ligne); margin-top: 6px; padding-top: 14px !important; font-size: 16px !important; }
body.primheure.primheure .caddie-somme :is(b, body.primheure.primheure .t-b) { font-size: 22px; color: var(--brun); }
body.primheure.primheure .caddie-total .btn .elementor-button { width: 100%; margin: 16px 0 14px; }
body.primheure.primheure .caddie-note { display: flex; gap: 10px; font-size: 12px; color: var(--gris); }
body.primheure.primheure .caddie-note svg { font-size: 18px; color: var(--vert-fonce); }
body.primheure.primheure .secteurs-page { padding-top: 56px; }
body.primheure.primheure .regles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.primheure.primheure .regle { padding: 22px; border-radius: var(--r); background: #fff; }
body.primheure.primheure .regle svg { font-size: 34px; color: var(--vert-fonce); stroke-width: 1.5; margin-bottom: 10px; }
body.primheure.primheure .regle h3 { font: 700 15px var(--mono); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px; }
body.primheure.primheure .regle p { font-size: 14px; color: var(--gris); }
body.primheure.primheure .liens-conditions { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
body.primheure.primheure .liens-conditions a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 26px; border-radius: var(--r); background: var(--brun); color: #fff; transition: background .15s; }
body.primheure.primheure .liens-conditions a:hover { background: var(--brun-fonce); }
body.primheure.primheure .liens-conditions :is(em, body.primheure.primheure .t-em) { display: block; font: normal 700 12px var(--mono); text-transform: uppercase; color: var(--jaune); }
body.primheure.primheure .liens-conditions :is(strong, body.primheure.primheure .t-strong) { font: 400 22px var(--titre); }
body.primheure.primheure .liens-conditions svg { font-size: 24px; }
body.primheure.primheure .conditions { display: grid; grid-template-columns: 320px 1fr; gap: 48px; align-items: start; }
body.primheure.primheure .commander { position: sticky; top: 110px; padding: 22px; border-radius: var(--r); background: var(--fond-doux); display: grid; gap: 8px; }
body.primheure.primheure .commander h2 { font: 400 26px var(--titre); color: var(--brun); margin-bottom: 6px; }
body.primheure.primheure .commander a { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: var(--r); background: #fff; font-size: 13px; color: var(--gris); }
body.primheure.primheure .commander a:hover { box-shadow: var(--ombre); }
body.primheure.primheure .commander a :is(strong, body.primheure.primheure .t-strong) { display: block; color: var(--encre); font-size: 14px; }
body.primheure.primheure .commander a svg { font-size: 22px; color: var(--vert-fonce); }
body.primheure.primheure .commander-direct { display: flex; gap: 10px; font-size: 13px; color: var(--gris); margin-top: 6px; }
body.primheure.primheure .commander-direct svg { font-size: 18px; color: var(--vert-fonce); }
body.primheure.primheure .note-jaune { padding: 18px 22px; border-radius: var(--r); background: var(--p-jaune); border-left: 5px solid var(--or); font-size: 15px; margin-bottom: 24px; }
body.primheure.primheure .cond-liste { list-style: none; margin: 0; padding: 0; }
body.primheure.primheure .cond-liste li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ligne); }
body.primheure.primheure .cond-liste li p { color: #444; }
body.primheure.primheure .cond-liste li p + p { margin-top: 8px; }
body.primheure.primheure .cond-num { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--p-vert); color: var(--vert-fonce); font: 700 15px var(--mono); }
body.primheure.primheure .cond-titre { grid-template-columns: 1fr !important; padding-top: 30px !important; border: 0 !important; }
body.primheure.primheure .cond-titre p { font: 400 24px var(--titre); color: var(--brun) !important; }
body.primheure.primheure .histoire { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
body.primheure.primheure .histoire-texte > p:not(.surtitre) { color: #4b4b4b; margin-bottom: 14px; }
body.primheure.primheure .histoire :is(blockquote, body.primheure.primheure .t-blockquote) { margin: 22px 0 0; padding-left: 20px; border-left: 4px solid var(--jaune); font: 400 26px/1.2 var(--titre); color: var(--vert-fonce); }
body.primheure.primheure .histoire-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); }
body.primheure.primheure .frise { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; position: relative; }
body.primheure.primheure .frise::before { content: ''; position: absolute; left: 0; right: 0; top: 17px; height: 4px; background: linear-gradient(90deg, var(--vert), var(--jaune), var(--orange)); border-radius: 2px; }
body.primheure.primheure .frise li { position: relative; padding-top: 44px; }
body.primheure.primheure .frise li::before { content: ''; position: absolute; top: 8px; left: 0; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 5px solid var(--vert); }
body.primheure.primheure .frise :is(b, body.primheure.primheure .t-b) { font: 400 24px var(--titre); color: var(--brun); }
body.primheure.primheure .frise p { font-size: 14px; color: #4b4b4b; margin-top: 6px; }
body.primheure.primheure .contact-in { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }
body.primheure.primheure .formulaire { display: grid; gap: 14px; padding: 30px; border-radius: var(--r); background: var(--fond-doux); }
body.primheure.primheure .formulaire :is(label, body.primheure.primheure .t-label) { display: grid; gap: 6px; font: 700 13px var(--mono); color: var(--gris); text-transform: uppercase; letter-spacing: .04em; }
body.primheure.primheure .formulaire input, body.primheure.primheure .formulaire textarea { font: 15px var(--texte); padding: 13px 16px; border-radius: var(--r); border: 1.5px solid var(--ligne); background: #fff; outline: none; resize: vertical; }
body.primheure.primheure .formulaire input:focus, body.primheure.primheure .formulaire textarea:focus { border-color: var(--vert); }
body.primheure.primheure .formulaire .btn .elementor-button { justify-self: start; }
body.primheure.primheure .contact-cartes { display: grid; gap: 12px; }
body.primheure.primheure .contact-carte { display: flex; align-items: center; gap: 16px; padding: 20px 22px; border-radius: var(--r); border: 1px solid var(--ligne); background: #fff; font-size: 13px; color: var(--gris); }
body.primheure.primheure a.contact-carte:hover { box-shadow: var(--ombre); border-color: transparent; }
body.primheure.primheure .contact-carte:first-child { flex-direction: column; align-items: flex-start; gap: 2px; background: var(--p-jaune); border: 0; }
body.primheure.primheure .contact-carte:first-child .surtitre { margin: 0 0 6px; }
body.primheure.primheure .contact-carte :is(strong, body.primheure.primheure .t-strong) { display: block; font-size: 16px; color: var(--encre); }
body.primheure.primheure .contact-carte:first-child :is(strong, body.primheure.primheure .t-strong) { font: 400 28px var(--titre); color: var(--brun); }
body.primheure.primheure .contact-carte svg { font-size: 26px; color: var(--vert-fonce); }
@media (max-width: 1080px) {
body.primheure.primheure .box-grille { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
body.primheure.primheure .regles { grid-template-columns: 1fr 1fr; }
}
body.primheure.primheure .m-app, body.primheure.primheure .m-pied { display: none; }
@media (max-width: 767px) {
body.primheure.primheure { font-size: 14px; background: var(--fond-doux); padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
body.primheure.primheure .conteneur { width: calc(100% - 32px); }
body.primheure.primheure .barre-info, body.primheure.primheure .bureau, body.primheure.primheure .pied-corps, body.primheure.primheure .pied-fruits { display: none; }
body.primheure.primheure .m-app, body.primheure.primheure .m-pied { display: block; }
body.primheure.primheure .entete { background: var(--fond-doux); border: 0; backdrop-filter: none; }
body.primheure.primheure .entete-in { flex-wrap: wrap; height: auto; gap: 10px; padding: 10px 0 12px; }
body.primheure.primheure .logo img { height: 38px; }
body.primheure.primheure .entete-actions { margin-left: auto; }
body.primheure.primheure .entete-actions .icone-panier { display: none; }
body.primheure.primheure .icone { width: 40px; height: 40px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
body.primheure.primheure .icone svg { font-size: 20px; }
body.primheure.primheure .recherche { order: 3; flex-basis: 100%; max-width: none; height: 44px; margin: 0; background: #fff; border-color: transparent; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); }
body.primheure.primheure .recherche button { width: 34px; height: 34px; }
body.primheure.primheure .m-bloc { padding: 0 16px; margin-top: 24px; }
body.primheure.primheure .m-promos { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 16px 6px; scrollbar-width: none; }
body.primheure.primheure .m-promos::-webkit-scrollbar, body.primheure.primheure .m-rangee::-webkit-scrollbar, body.primheure.primheure .m-cats::-webkit-scrollbar { display: none; }
body.primheure.primheure .m-promo { position: relative; flex: 0 0 88%; scroll-snap-align: center; display: flex; min-height: 172px; border-radius: 20px; overflow: hidden; padding: 18px; }
body.primheure.primheure .mp-jaune { background: linear-gradient(120deg, var(--jaune), var(--or)); }
body.primheure.primheure .mp-vert { background: linear-gradient(120deg, var(--vert-fonce), var(--vert)); color: #fff; }
body.primheure.primheure .mp-rouge { background: var(--p-rouge); }
body.primheure.primheure .m-promo-texte { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; width: 58%; }
body.primheure.primheure .m-promo :is(em, body.primheure.primheure .t-em) { font: normal 700 11px var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--brun); }
body.primheure.primheure .mp-vert :is(em, body.primheure.primheure .t-em) { color: var(--jaune); }
body.primheure.primheure .m-promo :is(strong, body.primheure.primheure .t-strong) { font: 400 22px/1.05 var(--titre); color: var(--brun-fonce); margin: 6px 0 14px; }
body.primheure.primheure .mp-vert :is(strong, body.primheure.primheure .t-strong) { color: #fff; }
body.primheure.primheure .m-bouton { margin-top: auto; padding: 8px 16px; border-radius: 999px; background: var(--brun); color: #fff; font-weight: 700; font-size: 13px; }
body.primheure.primheure .mp-vert .m-bouton { background: var(--jaune); color: var(--brun-fonce); }
body.primheure.primheure .m-promo-img { position: absolute; right: -6px; bottom: -6px; width: 50%; height: 100%; }
body.primheure.primheure .m-promo-img img { position: absolute; filter: drop-shadow(0 8px 10px rgba(80, 40, 0, .25)); }
body.primheure.primheure .mpi-1, body.primheure.primheure .mpi-1 img { width: 62%; right: 14%; bottom: 34%; }
body.primheure.primheure .mpi-2, body.primheure.primheure .mpi-2 img { width: 62%; left: 0; bottom: 4%; }
body.primheure.primheure .mpi-3, body.primheure.primheure .mpi-3 img { width: 70%; right: -6%; bottom: 2%; }
body.primheure.primheure .mpi-seul, body.primheure.primheure .mpi-seul img { width: 100%; right: -8%; bottom: 8%; }
body.primheure.primheure .m-cats { display: flex; gap: 14px; overflow-x: auto; padding: 18px 16px 2px; scrollbar-width: none; }
body.primheure.primheure .m-cats a { flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 62px; font-size: 12px; font-weight: 500; }
body.primheure.primheure .m-cats span { position: relative; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: #fff; box-shadow: 0 3px 10px rgba(0, 0, 0, .06); overflow: hidden; }
body.primheure.primheure .m-cats img { width: 80%; height: 80%; object-fit: contain; mix-blend-mode: multiply; }
body.primheure.primheure .m-cat-bio :is(b, body.primheure.primheure .t-b) { position: absolute; bottom: 6px; padding: 1px 6px; border-radius: 6px; background: var(--vert); color: #fff; font: 700 9px var(--mono); }
body.primheure.primheure .m-livraison { background: #fff; border-radius: 20px; padding: 16px; box-shadow: 0 2px 12px rgba(0, 0, 0, .04); }
body.primheure.primheure .m-livraison-tete { display: flex; gap: 12px; align-items: center; }
body.primheure.primheure .m-livraison-tete > svg { width: 42px; height: 42px; padding: 9px; border-radius: 12px; background: var(--p-vert); color: var(--vert-fonce); }
body.primheure.primheure .m-livraison-tete :is(strong, body.primheure.primheure .t-strong) { display: block; font-size: 15px; }
body.primheure.primheure .m-livraison-tete span { font-size: 12px; color: var(--gris); }
body.primheure.primheure .m-livraison ul { list-style: none; margin: 14px 0 10px; padding: 0; }
body.primheure.primheure .m-livraison li { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid var(--ligne); font-size: 13px; }
body.primheure.primheure .m-livraison li :is(b, body.primheure.primheure .t-b) { font: 400 17px var(--titre); color: var(--brun); }
body.primheure.primheure .m-livraison li :is(em, body.primheure.primheure .t-em) { font: normal 12px var(--mono); color: var(--vert-fonce); }
body.primheure.primheure .m-lien .elementor-button { display: inline-flex; align-items: center; gap: 6px; font: 700 13px var(--mono); color: var(--vert-fonce); }
body.primheure.primheure .m-tete { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
body.primheure.primheure .m-tete h2 { font: 400 24px var(--titre); color: var(--brun); }
body.primheure.primheure .m-tete a { font: 700 13px var(--mono); color: var(--vert-fonce); }
body.primheure.primheure .m-rangee { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; margin: 0 -16px; padding: 2px 16px 8px; scrollbar-width: none; }
body.primheure.primheure .m-tete h2 { margin-right: auto; }
body.primheure.primheure .m-tete { gap: 10px; }
body.primheure.primheure .m-glisser { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; background: var(--p-jaune); color: var(--brun); font: 700 11px var(--mono); transition: opacity .3s; }
body.primheure.primheure .m-glisser svg { font-size: 13px; animation: glisser 1.4s ease-in-out infinite; }
body.primheure.primheure .m-tete.vu .m-glisser { opacity: 0; }
@keyframes glisser { 50% { transform: translateX(4px); } }
body.primheure.primheure .m-points { display: flex; justify-content: center; gap: 5px; margin-top: 6px; }
body.primheure.primheure .m-points i { width: 6px; height: 6px; border-radius: 3px; background: #D9DBD3; transition: width .25s, background .25s; }
body.primheure.primheure .m-points i.actif { width: 18px; background: var(--vert-fonce); }
body.primheure.primheure .m-panier { flex: 0 0 150px; scroll-snap-align: start; background: #fff; border-radius: 18px; padding: 8px 8px 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
body.primheure.primheure .m-panier img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; margin-bottom: 8px; }
body.primheure.primheure .m-panier :is(strong, body.primheure.primheure .t-strong) { display: block; font-size: 13px; line-height: 1.25; min-height: 33px; }
body.primheure.primheure .m-panier span { font: 700 13px var(--mono); color: var(--brun); }
body.primheure.primheure .m-produit { position: relative; flex: 0 0 132px; scroll-snap-align: start; background: #fff; border-radius: 18px; padding: 10px 10px 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
body.primheure.primheure .m-produit img { width: 100%; height: 92px; object-fit: contain; mix-blend-mode: multiply; margin-bottom: 6px; }
body.primheure.primheure .m-produit h3 { font: 500 13px/1.25 var(--texte); min-height: 32px; }
body.primheure.primheure .m-produit p { display: flex; flex-direction: column; font-family: var(--mono); line-height: 1.3; }
body.primheure.primheure .m-produit p span { font-size: 11px; color: var(--gris); }
body.primheure.primheure .m-produit p :is(b, body.primheure.primheure .t-b) { font-size: 14px; color: var(--brun); }
body.primheure.primheure .m-produit .badge-bio { top: 8px; left: 8px; font-size: 9px; padding: 2px 6px; }
body.primheure.primheure .m-ajouter .elementor-button { position: absolute; right: 8px; bottom: 10px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--vert-fonce); color: #fff; box-shadow: 0 4px 10px -3px rgba(63, 143, 31, .8); }
body.primheure.primheure .m-ajouter svg { font-size: 18px; stroke-width: 2.4; }
body.primheure.primheure .m-box { display: flex; align-items: center; gap: 12px; padding: 14px 14px 14px 10px; border-radius: 20px; background: linear-gradient(120deg, var(--vert-fonce), var(--vert)); color: #fff; }
body.primheure.primheure .m-box img { width: 96px; flex: none; filter: drop-shadow(0 6px 8px rgba(0, 40, 0, .3)); }
body.primheure.primheure .m-box :is(em, body.primheure.primheure .t-em) { display: block; font: normal 700 11px var(--mono); text-transform: uppercase; color: var(--jaune); letter-spacing: .05em; }
body.primheure.primheure .m-box :is(strong, body.primheure.primheure .t-strong) { display: block; font: 400 18px/1.1 var(--titre); margin: 3px 0; }
body.primheure.primheure .m-box > span > span { font-size: 12px; opacity: .9; }
body.primheure.primheure .m-box > svg { font-size: 20px; flex: none; }
body.primheure.primheure .m-atouts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; list-style: none; margin: 0; padding: 0; }
body.primheure.primheure .m-atouts li { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 14px; background: #fff; font-size: 12px; font-weight: 500; }
body.primheure.primheure .m-atouts svg { font-size: 20px; color: var(--vert-fonce); }
body.primheure.primheure .m-marco { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: 20px; background: #fff; }
body.primheure.primheure .m-marco img { width: 92px; height: 92px; object-fit: cover; border-radius: 14px; flex: none; }
body.primheure.primheure .m-marco :is(em, body.primheure.primheure .t-em) { font: normal 700 11px var(--mono); color: var(--vert-fonce); text-transform: uppercase; }
body.primheure.primheure .m-marco :is(strong, body.primheure.primheure .t-strong) { display: block; font: 400 16px/1.15 var(--titre); color: var(--brun-fonce); margin: 3px 0; }
body.primheure.primheure .m-marco > span > span { font-size: 11px; color: var(--gris); }
body.primheure.primheure .pied { margin-top: 28px; }
body.primheure.primheure .m-pied { padding: 20px 16px 10px; text-align: center; }
body.primheure.primheure .m-pied-titre { font: 400 20px var(--titre); color: var(--brun); margin-bottom: 12px; }
body.primheure.primheure .m-pied-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
body.primheure.primheure .m-pied-actions a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border-radius: 16px; background: #fff; font-size: 12px; font-weight: 700; color: var(--brun-fonce); box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
body.primheure.primheure .m-pied-actions svg { font-size: 22px; color: var(--vert-fonce); }
body.primheure.primheure .m-pied-paiement { margin-top: 14px; font-size: 12px; color: var(--gris); }
body.primheure.primheure .m-pied-legal { margin-top: 4px; font-size: 11px; color: var(--gris); }
body.primheure.primheure .m-pied-legal a { text-decoration: underline; }
body.primheure.primheure .barre-app { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: grid; grid-template-columns: repeat(5, 1fr); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); backdrop-filter: blur(10px); border-top: 1px solid var(--ligne); box-shadow: 0 -6px 20px rgba(0, 0, 0, .05); }
body.primheure.primheure .barre-app a { display: flex; flex-direction: column; align-items: center; gap: 3px; font: 500 11px var(--texte); color: var(--gris); padding: 4px 0; }
body.primheure.primheure .barre-app svg { font-size: 23px; }
body.primheure.primheure .barre-app a.actif { color: var(--vert-fonce); }
body.primheure.primheure .barre-app a.actif svg { stroke-width: 2.2; }
body.primheure.primheure .barre-app-panier span { position: relative; display: grid; place-items: center; width: 50px; height: 50px; margin-top: -22px; border-radius: 50%; background: var(--vert-fonce); color: #fff; box-shadow: 0 8px 16px -6px rgba(63, 143, 31, .8); border: 4px solid #fff; }
body.primheure.primheure .barre-app-panier .pastille { top: -4px; right: -6px; }
body.primheure.primheure .page-accueil .m-retour { display: none; }
body.primheure.primheure:not(.page-accueil) .m-retour { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
body.primheure.primheure:not(.page-accueil) .m-retour svg { font-size: 20px; transform: rotate(180deg); }
body.primheure.primheure:not(.page-accueil) .bureau, body.primheure.primheure:not(.page-accueil) main { display: block; }
body.primheure.primheure .section { padding: 26px 0; }
body.primheure.primheure .titre-brun, body.primheure.primheure .tete-section h2 { font-size: 26px; }
body.primheure.primheure .tete-section { flex-direction: column; align-items: stretch; gap: 10px; margin-bottom: 14px; }
body.primheure.primheure .ariane, body.primheure.primheure .ariane-seule { display: none; }
body.primheure.primheure .bandeau-page { margin: 4px 16px 0; border-radius: 22px; }
body.primheure.primheure .bandeau-page::after { display: none; }
body.primheure.primheure .bandeau-in { grid-template-columns: 1fr; min-height: 0; gap: 0; width: 100%; }
body.primheure.primheure .bandeau-texte { padding: 22px 20px 20px; }
body.primheure.primheure .bandeau-page h1 { font-size: 32px; }
body.primheure.primheure .bandeau-texte > p:last-child { font-size: 14px; margin-top: 8px; }
body.primheure.primheure .bandeau-img { height: 104px; margin: -4px 40px 0; }
body.primheure.primheure .m-points { display: flex; }
body.primheure.primheure .bi-solo, body.primheure.primheure .bi-solo img { width: 62%; left: 19%; right: auto; bottom: 0; }
body.primheure.primheure .bandeau-page .surtitre { font-size: 11px; margin-bottom: 6px; }
body.primheure.primheure .raccourcis-grille { display: flex; overflow-x: auto; gap: 10px; margin: 0 -16px; padding: 0 16px; scrollbar-width: none; }
body.primheure.primheure .raccourci { flex: 0 0 70%; min-height: 86px; border-radius: 18px; }
body.primheure.primheure .raccourci :is(strong, body.primheure.primheure .t-strong) { font-size: 20px; }
body.primheure.primheure .filtres { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
body.primheure.primheure .filtres button { flex: none; padding: 7px 14px; font-size: 13px; }
body.primheure.primheure .compteur { margin: 0 0 10px; }
body.primheure.primheure .produits { grid-template-columns: 1fr 1fr; gap: 10px; }
body.primheure.primheure .produit { border-radius: 16px; padding: 10px 10px 12px; border: 0; }
body.primheure.primheure .produit-img { height: 110px; }
body.primheure.primheure .produit-nom { font-size: 13px; text-align: left; min-height: 34px; }
body.primheure.primheure .produit-meta { flex-direction: column; align-items: flex-start; gap: 0; margin: 2px 0 0; }
body.primheure.primheure .ajouter .elementor-button { position: absolute; right: 10px; bottom: 12px; top: auto; padding: 0; width: 34px; height: 34px; justify-content: center; font-size: 0; gap: 0; background: var(--vert-fonce); color: #fff; }
body.primheure.primheure .ajouter svg { font-size: 17px; }
body.primheure.primheure .infos-commande { grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
body.primheure.primheure .infos-commande p { border-radius: 16px; font-size: 13px; padding: 14px; }
body.primheure.primheure .familles-page .familles-photo { display: none; }
body.primheure.primheure .familles-in { grid-template-columns: 1fr; }
body.primheure.primheure .config { background: #fff; border-radius: 22px; padding: 22px 18px; }
body.primheure.primheure .config-ligne { flex-direction: column; align-items: flex-start; gap: 8px; }
body.primheure.primheure .choix-nb { display: grid; grid-template-columns: repeat(8, 1fr); width: 100%; gap: 5px; }
body.primheure.primheure .choix-nb [data-val] { width: auto; padding: 0; }
body.primheure.primheure .config .choix:not(.choix-nb), body.primheure.primheure .fiche .choix:not(.choix-nb) { width: 100%; }
body.primheure.primheure .config .choix:not(.choix-nb) button { flex: 1; }
body.primheure.primheure .config-total { flex-direction: column; align-items: stretch; background: var(--p-jaune); border: 0; }
body.primheure.primheure .paniers-grille { display: flex; overflow-x: auto; gap: 10px; margin: 0 -16px; padding: 0 16px 6px; scrollbar-width: none; }
body.primheure.primheure .panier-carte { flex: 0 0 150px; border: 0; border-radius: 18px; }
body.primheure.primheure .paniers-4 .panier-carte:nth-child(n+5) { display: flex; }
body.primheure.primheure .gagnant { flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px; border-radius: 22px; margin-bottom: 26px; }
body.primheure.primheure .gagnant-badge { width: 76px; height: 76px; font-size: 17px; }
body.primheure.primheure .gagnant h2 { font-size: 24px; }
body.primheure.primheure .box-grille { grid-template-columns: 1fr 1fr; gap: 10px; row-gap: 18px; }
body.primheure.primheure .box-carte { border-radius: 18px; border: 0; padding: 18px 10px 14px; }
body.primheure.primheure .box-vedette { border: 2px solid var(--vert); }
body.primheure.primheure .box-pers :is(strong, body.primheure.primheure .t-strong) { font-size: 38px; }
body.primheure.primheure .box-infos { grid-template-columns: 1fr; gap: 20px; }
body.primheure.primheure .box-extras li { border-radius: 16px; }
body.primheure.primheure .fiche { padding-top: 6px; }
body.primheure.primheure .fiche-in { grid-template-columns: 1fr; gap: 16px; }
body.primheure.primheure .fiche-galerie { margin: 0 -16px; border: 0; border-radius: 0 0 26px 26px; padding: 10px 40px 20px; }
body.primheure.primheure .fiche-galerie .etiquette { width: 90px; height: 90px; right: 16px; bottom: 12px; font-size: 10px; padding: 10px; }
body.primheure.primheure .fiche-galerie .etiquette :is(strong, body.primheure.primheure .t-strong) { font-size: 26px; }
body.primheure.primheure .fiche h1 { font-size: 30px; }
body.primheure.primheure .fiche-prix span { font-size: 26px; }
body.primheure.primheure .fiche .choix:not(.choix-nb) { display: grid; grid-template-columns: 1fr 1fr; }
body.primheure.primheure .fiche-achat { position: fixed; left: 0; right: 0; bottom: calc(66px + env(safe-area-inset-bottom)); z-index: 55; padding: 10px 16px; background: #fff; border-top: 1px solid var(--ligne); box-shadow: 0 -6px 16px rgba(0, 0, 0, .05); }
body.primheure.primheure .page-produit { padding-bottom: calc(150px + env(safe-area-inset-bottom)); }
body.primheure.primheure .quantite { height: 46px; }
body.primheure.primheure .fiche-achat .btn .elementor-button { height: 46px; }
body.primheure.primheure .fiche-atouts { border-radius: 16px; }
body.primheure.primheure .titre-page { font-size: 30px; margin-bottom: 12px; }
body.primheure.primheure .caddie { padding-top: 4px; }
body.primheure.primheure .caddie-in { grid-template-columns: 1fr; gap: 16px; }
body.primheure.primheure .caddie-liste { border: 0; display: grid; gap: 8px; }
body.primheure.primheure .caddie-liste li { grid-template-columns: 64px 1fr auto; grid-template-rows: auto auto; gap: 4px 12px; padding: 10px; border: 0; border-radius: 18px; background: #fff; }
body.primheure.primheure .caddie-liste img { width: 64px; height: 64px; grid-row: span 2; border: 0; }
body.primheure.primheure .caddie-liste :is(b, body.primheure.primheure .t-b) { grid-column: 3; grid-row: 1; }
body.primheure.primheure .caddie-liste .quantite { grid-column: 2 / 4; grid-row: 2; justify-self: start; height: 36px; }
body.primheure.primheure .caddie-liste .quantite button { width: 34px; }
body.primheure.primheure .caddie-total { position: static; background: #fff; border-radius: 22px; }
body.primheure.primheure .secteurs-page { padding-top: 22px; }
body.primheure.primheure .secteurs-page .secteurs-grille { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; gap: 10px; }
body.primheure.primheure .secteurs-page .secteur { flex: none; }
body.primheure.primheure .regles { grid-template-columns: 1fr 1fr; gap: 10px; }
body.primheure.primheure .regle { border-radius: 16px; padding: 16px; }
body.primheure.primheure .regle svg { font-size: 26px; }
body.primheure.primheure .regle h3 { font-size: 12px; }
body.primheure.primheure .regle p { font-size: 12px; }
body.primheure.primheure .liens-conditions { grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
body.primheure.primheure .liens-conditions a { border-radius: 18px; padding: 16px 18px; }
body.primheure.primheure .liens-conditions :is(strong, body.primheure.primheure .t-strong) { font-size: 18px; }
body.primheure.primheure .conditions { grid-template-columns: 1fr; gap: 18px; }
body.primheure.primheure .commander { position: static; background: #fff; border-radius: 22px; grid-template-columns: 1fr 1fr; }
body.primheure.primheure .commander h2, body.primheure.primheure .commander-direct { grid-column: 1 / -1; }
body.primheure.primheure .commander a { flex-direction: column; align-items: flex-start; gap: 6px; background: var(--fond-doux); border-radius: 14px; font-size: 11px; word-break: break-word; }
body.primheure.primheure .note-jaune { border-radius: 16px; font-size: 13px; }
body.primheure.primheure .cond-liste li { grid-template-columns: 32px 1fr; gap: 10px; padding: 14px 0; font-size: 13px; }
body.primheure.primheure .cond-num { width: 30px; height: 30px; font-size: 13px; }
body.primheure.primheure .histoire { grid-template-columns: 1fr; gap: 18px; }
body.primheure.primheure .histoire-photo { order: -1; }
body.primheure.primheure .histoire-photo img { aspect-ratio: 16 / 10; border-radius: 22px; }
body.primheure.primheure .histoire :is(blockquote, body.primheure.primheure .t-blockquote) { font-size: 21px; }
body.primheure.primheure .frise { grid-template-columns: 1fr; gap: 0; padding-left: 8px; }
body.primheure.primheure .frise::before { top: 0; bottom: 0; left: 17px; right: auto; width: 4px; height: auto; background: linear-gradient(var(--vert), var(--jaune), var(--orange)); }
body.primheure.primheure .frise li { padding: 0 0 22px 44px; }
body.primheure.primheure .frise li::before { top: 2px; left: 0; }
body.primheure.primheure .contact-in { grid-template-columns: 1fr; gap: 16px; }
body.primheure.primheure .contact-cartes { order: -1; grid-template-columns: 1fr 1fr; gap: 8px; }
body.primheure.primheure .contact-carte { flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px; border-radius: 16px; border: 0; font-size: 11px; word-break: break-word; }
body.primheure.primheure .contact-carte:first-child, body.primheure.primheure .contact-carte:last-child { grid-column: 1 / -1; }
body.primheure.primheure .contact-carte :is(strong, body.primheure.primheure .t-strong) { font-size: 13px; }
body.primheure.primheure .formulaire { background: #fff; border-radius: 22px; padding: 20px; }
body.primheure.primheure .formulaire .btn .elementor-button { justify-self: stretch; }
}
body.primheure.primheure .choix[hidden] { display: none !important; }
body.primheure.primheure .m-points { display: none; }
body.primheure.primheure .etiquette :is(strong, body.primheure.primheure .t-strong) { white-space: nowrap; }
body.primheure.primheure .fiche-galerie .etiquette :is(strong, body.primheure.primheure .t-strong) { font-size: 30px; }
body.primheure.primheure .annonce { position: fixed; left: 50%; bottom: 28px; z-index: 80; transform: translate(-50%, 20px); padding: 12px 20px; border-radius: 999px; background: var(--brun-fonce); color: #fff; font: 500 14px var(--texte); box-shadow: var(--ombre); opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; }
body.primheure.primheure .annonce.visible { opacity: 1; transform: translate(-50%, 0); }
body.primheure.primheure a.ajoute, body.primheure.primheure .ajoute .elementor-button { background: var(--vert-fonce) !important; color: #fff !important; }
@media (max-width: 767px) {
body.primheure.primheure .annonce { bottom: calc(86px + env(safe-area-inset-bottom)); }
}
body.primheure.primheure .config-suisse [data-choix="nb"], body.primheure.primheure .config-suisse [data-choix="freq"] { opacity: .35; pointer-events: none; }
body.primheure.primheure .config-suisse [data-choix="type"] [data-val="fruits"], body.primheure.primheure .config-suisse [data-choix="type"] [data-val="mix"] { opacity: .5; }
body.primheure.primheure .choix[data-choix="freq"] { flex-wrap: nowrap; gap: 6px; }
body.primheure.primheure .choix[data-choix="freq"] [data-val] { padding: 0 13px; font-size: 13.5px; }
@media (max-width: 767px) {
body.primheure.primheure .choix[data-choix="freq"] { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
}
body.primheure.primheure .m-pied-adresse { margin-top: 14px; font-size: 12px; color: var(--gris); }
body.primheure.primheure .m-pied-adresse + .m-pied-paiement { margin-top: 2px; }

/* ===== Adaptation Elementor (après la feuille de la maquette) =====
   Là où la structure produite par Elementor diffère du HTML de la maquette. */
body.primheure.primheure { --p: 0; }

/* Barre d'information et en-tête */
body.primheure.primheure .barre-gauche, body.primheure.primheure .barre-droite, body.primheure.primheure .barre-tel { display: flex; align-items: center; gap: 8px; }
body.primheure.primheure .barre-droite { gap: 20px; }
body.primheure.primheure .barre-tel { gap: 6px; font-weight: 700; }
body.primheure.primheure .barre-paiement { opacity: .8; }
body.primheure.primheure .barre-info svg { font-size: 16px; }
body.primheure.primheure .entete-in > .elementor-widget-nav-menu { margin-left: 8px; }
body.primheure.primheure .nav-principale .elementor-nav-menu { display: flex; gap: 4px; }
body.primheure.primheure .nav-principale .elementor-nav-menu > li > a { display: inline-flex; align-items: center; gap: 9px; height: 38px; padding: 0 16px; border-radius: 999px; font: 500 15px/1 var(--texte); color: var(--encre); }
body.primheure.primheure .nav-principale .elementor-nav-menu > li > a:hover { color: var(--vert-fonce); }
body.primheure.primheure .nav-principale .elementor-nav-menu > li.current-menu-item > a,
body.primheure.primheure .nav-principale .elementor-nav-menu > li.current-menu-ancestor > a { background: var(--jaune); color: var(--brun-fonce); }
/* chevron des sous-menus : dans le bouton, centré (Elementor place ce ::after en absolu pour ses effets de survol) */
body.primheure.primheure .nav-principale .elementor-nav-menu > li.menu-item-has-children > a { padding-right: 14px; }
body.primheure.primheure .nav-principale .elementor-nav-menu > li.menu-item-has-children > a::after {
  content: ''; position: static; inset: auto; display: block; flex: none; width: 6px; height: 6px; margin: -4px 0 0; padding: 0;
  background: none; opacity: 1; border: solid currentColor; border-width: 0 1.8px 1.8px 0; transform: rotate(45deg); transition: transform .2s; }
body.primheure.primheure .nav-principale .elementor-nav-menu > li.menu-item-has-children:hover > a::after { transform: translateY(2px) rotate(45deg); }
body.primheure.primheure .nav-principale .sub-arrow { display: none; }
body.primheure.primheure .nav-principale .sub-menu { min-width: 220px !important; padding: 8px; background: #fff; border-radius: var(--r); box-shadow: var(--ombre); border: 1px solid var(--ligne); }
body.primheure.primheure .nav-principale .sub-menu a { display: block; padding: 9px 12px; border-radius: 6px; font-size: 14px; color: var(--encre); background: none; border: 0; }
body.primheure.primheure .nav-principale .sub-menu a:hover { background: var(--p-vert); }
body.primheure.primheure .nav-principale .elementor-menu-toggle, body.primheure.primheure .nav-principale .elementor-nav-menu--dropdown { display: none; }
body.primheure.primheure .recherche { padding: 0; border: 0; background: none; }
body.primheure.primheure .recherche .elementor-search-form__container { display: flex; align-items: center; background: var(--fond-doux); border: 1px solid var(--ligne); border-radius: 999px; padding: 4px 4px 4px 16px; min-height: 0; box-shadow: none; }
body.primheure.primheure .recherche .elementor-search-form__input { flex: 1; min-width: 0; padding: 0; border: 0; background: none; font: 14px var(--texte); color: var(--encre); height: 36px; }
body.primheure.primheure .recherche .elementor-search-form__submit { flex: none; width: 36px; height: 36px; min-width: 0; padding: 0; border-radius: 50%; background: var(--vert-fonce); color: #fff; font-size: 16px; }
body.primheure.primheure .recherche .elementor-search-form__submit svg, body.primheure.primheure .recherche .elementor-search-form__submit i { fill: #fff; width: 16px; height: 16px; }
body.primheure.primheure .entete-actions { display: flex; gap: 6px; }
body.primheure.primheure .icone { position: relative; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: var(--encre); }

/* Tournées */
body.primheure.primheure .tournees-liste { display: flex; flex: 1; }
body.primheure.primheure .tournee { flex: 1; padding: 14px 22px; border-left: 1px solid var(--ligne); display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; line-height: 1.25; }
body.primheure.primheure .tournee:first-child { border-left: 0; }
body.primheure.primheure .tournee > :first-child { grid-row: span 2; }

/* Grilles de boucle : la classe de grille est sur le widget, la grille réelle est son conteneur interne */
body.primheure.primheure :is(.produits, .paniers-grille, .box-grille, .m-rangee).elementor-widget-loop-grid { display: block; margin: 0; padding: 0; overflow: visible; }
body.primheure.primheure .produits .elementor-loop-container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.primheure.primheure .paniers-grille .elementor-loop-container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.primheure.primheure .box-grille .elementor-loop-container { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
body.primheure.primheure .e-loop-item { min-width: 0; }
body.primheure.primheure .e-loop-item > .e-con { height: 100%; }
body.primheure.primheure .badge-bio { display: none; }
body.primheure.primheure .product_cat-bio .badge-bio { display: block; }
body.primheure.primheure .produit .produit-img img { width: 100%; height: 100%; object-fit: contain; }
body.primheure.primheure .produit-nom { margin: 0; }

/* Configurateur */
body.primheure.primheure .config-intro { margin: 14px 0 26px; color: #4b4b4b; max-width: 480px; }
body.primheure.primheure .config-total-texte { display: flex; flex-direction: column; font-size: 12px; color: var(--gris); max-width: 260px; line-height: 1.4; }
body.primheure.primheure .choix [data-val] { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; user-select: none; }
body.primheure.primheure .etiquette > * { text-align: center; }

/* Pied */
body.primheure.primheure .paiements { display: flex; gap: 6px; margin-top: 8px; padding: 0; }
body.primheure.primheure .pied-bas-liens { display: flex; gap: 18px; }
body.primheure.primheure .pied-lien { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 3px 0; }
body.primheure.primheure .pied-bas p { margin: 0; }

/* ===== Mobile : composants de l'application ===== */
@media (max-width: 767px) {
  body.primheure.primheure .m-promo-texte .elementor-widget-heading:not(.m-bouton) { display: contents; }
  body.primheure.primheure .m-promo .t-em, body.primheure.primheure .m-promo .t-strong, body.primheure.primheure .m-bouton { display: block; }
  body.primheure.primheure .m-bouton { margin-top: auto; }
  body.primheure.primheure .m-cats .m-cat > .elementor-widget-heading span { all: unset; font-size: 12px; font-weight: 500; }
  body.primheure.primheure .m-cats .m-cat-rond { position: relative; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: #fff; box-shadow: 0 3px 10px rgba(0, 0, 0, .06); overflow: hidden; }
  body.primheure.primheure .m-cats .m-cat-rond img { width: 80%; height: 80%; object-fit: contain; }
  body.primheure.primheure .m-livraison-liste { margin: 14px 0 10px; }
  body.primheure.primheure .m-livraison-ligne { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid var(--ligne); font-size: 13px; }
  body.primheure.primheure .m-livraison-ligne .t-b { font: 400 17px var(--titre); color: var(--brun); }
  body.primheure.primheure .m-livraison-ligne .t-em { font: normal 12px var(--mono); color: var(--vert-fonce); }
  body.primheure.primheure .m-livraison-tete svg { width: 42px; height: 42px; padding: 9px; border-radius: 12px; background: var(--p-vert); color: var(--vert-fonce); }
  body.primheure.primheure .m-livraison-texte .t-strong { display: block; font-size: 15px; font-weight: 700; }
  body.primheure.primheure .m-livraison-texte span { font-size: 12px; color: var(--gris); }
  body.primheure.primheure .m-tete .m-tout a { font: 700 13px var(--mono); color: var(--vert-fonce); }
  body.primheure.primheure .m-rangee .elementor-loop-container { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; margin: 0 -16px; padding: 2px 16px 8px; scrollbar-width: none; }
  body.primheure.primheure .m-rangee .elementor-loop-container::-webkit-scrollbar { display: none; }
  body.primheure.primheure .m-rangee .e-loop-item { flex: 0 0 132px; scroll-snap-align: start; }
  body.primheure.primheure .m-rangee .e-loop-item:has(.panier-carte) { flex-basis: 150px; }
  body.primheure.primheure .m-rangee .panier-carte { border: 0; border-radius: 18px; padding: 8px 8px 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); height: 100%; }
  body.primheure.primheure .m-rangee .panier-carte img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; margin-bottom: 8px; }
  body.primheure.primheure .m-rangee .panier-carte-nom .t-strong { font-size: 13px; line-height: 1.25; min-height: 33px; display: block; font-weight: 500; }
  body.primheure.primheure .m-rangee .panier-carte-prix { font: 700 13px var(--mono); color: var(--brun); }
  body.primheure.primheure .m-produit { height: 100%; }
  body.primheure.primheure .m-produit img { width: 100%; height: 92px; object-fit: contain; margin-bottom: 6px; }
  body.primheure.primheure .m-produit-nom h3 { font: 500 13px/1.25 var(--texte); min-height: 32px; margin: 0; }
  body.primheure.primheure .m-produit-prix { display: flex; flex-direction: column; font-family: var(--mono); line-height: 1.3; }
  body.primheure.primheure .m-produit-prix .m-unite { font-size: 11px; color: var(--gris); }
  body.primheure.primheure .m-produit-prix .m-prix { font-size: 14px; font-weight: 700; color: var(--brun); }
  body.primheure.primheure .m-ajouter .elementor-button-text { display: none; }
  body.primheure.primheure .m-atout { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 14px; background: #fff; font-size: 12px; font-weight: 500; }
  body.primheure.primheure .m-atout svg { font-size: 20px; color: var(--vert-fonce); }
  body.primheure.primheure .m-atouts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  body.primheure.primheure .m-box-texte, body.primheure.primheure .m-marco-texte { display: flex; flex-direction: column; }
  body.primheure.primheure .m-box .t-em, body.primheure.primheure .m-marco .t-em { font: normal 700 11px var(--mono); text-transform: uppercase; letter-spacing: .05em; }
  body.primheure.primheure .m-box .t-em { color: var(--jaune); }
  body.primheure.primheure .m-marco .t-em { color: var(--vert-fonce); }
  body.primheure.primheure .m-box .t-strong { font: 400 18px/1.1 var(--titre); margin: 3px 0; display: block; }
  body.primheure.primheure .m-marco .t-strong { font: 400 16px/1.15 var(--titre); color: var(--brun-fonce); margin: 3px 0; display: block; }
  body.primheure.primheure .m-box .m-petit { font-size: 12px; opacity: .9; }
  body.primheure.primheure .m-marco .m-petit { font-size: 11px; color: var(--gris); }
  body.primheure.primheure .m-box img { width: 96px; flex: none; }
  body.primheure.primheure .m-marco img { width: 92px; height: 92px; object-fit: cover; border-radius: 14px; flex: none; }
  body.primheure.primheure .barre-app-panier > .elementor-widget-heading span { all: unset; }
  body.primheure.primheure .barre-app-lien { display: flex; flex-direction: column; align-items: center; gap: 3px; font: 500 11px var(--texte); color: var(--gris); padding: 4px 0; }
  body.primheure.primheure .barre-app-lien.actif { color: var(--vert-fonce); }
  body.primheure.primheure .barre-app-rond { position: relative; display: grid; place-items: center; width: 50px; height: 50px; margin-top: -22px; border-radius: 50%; background: var(--vert-fonce); color: #fff; box-shadow: 0 8px 16px -6px rgba(63, 143, 31, .8); border: 4px solid #fff; }
  body.primheure.primheure .barre-app-rond .pastille { top: -4px; right: -6px; }
  body.primheure.primheure .entete-in > .elementor-widget-search-form { order: 3; flex-basis: 100%; }
  body.primheure.primheure .m-pied-action { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border-radius: 16px; background: #fff; font-size: 12px; font-weight: 700; color: var(--brun-fonce); box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
  body.primheure.primheure .m-pied-action svg { font-size: 22px; color: var(--vert-fonce); }
  /* grilles de boucle des pages internes */
  body.primheure.primheure .produits .elementor-loop-container { grid-template-columns: 1fr 1fr; gap: 10px; }
  body.primheure.primheure .box-grille .elementor-loop-container { grid-template-columns: 1fr 1fr; gap: 10px; row-gap: 18px; }
  body.primheure.primheure .paniers-grille .elementor-loop-container { display: flex; overflow-x: auto; gap: 10px; margin: 0 -16px; padding: 0 16px 6px; scrollbar-width: none; }
  body.primheure.primheure .paniers-grille .e-loop-item { flex: 0 0 150px; }
  body.primheure.primheure .paniers-grille .panier-carte { border: 0; border-radius: 18px; }
  body.primheure.primheure .filtres .e-filter { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
  body.primheure.primheure .filtres .e-filter-item { flex: none; padding: 7px 14px; font-size: 13px; }
  body.primheure.primheure .info { border-radius: 16px; font-size: 13px; padding: 14px; }
  body.primheure.primheure .commander-lien { flex-direction: column; align-items: flex-start; gap: 6px; background: var(--fond-doux); border-radius: 14px; font-size: 11px; word-break: break-word; }
  body.primheure.primheure .cond-item { grid-template-columns: 32px 1fr; gap: 10px; padding: 14px 0; font-size: 13px; }
  body.primheure.primheure .cond-num span { width: 30px; height: 30px; font-size: 13px; }
  body.primheure.primheure .frise-etape { padding: 0 0 22px 44px; }
  body.primheure.primheure .frise-etape::before { top: 2px; left: 0; }
  body.primheure.primheure .box-extra { border-radius: 16px; }
  body.primheure.primheure .contact-carte { flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px; border-radius: 16px; border: 0; font-size: 11px; word-break: break-word; }
  body.primheure.primheure .contact-carte .t-strong { font-size: 13px; }
  body.primheure.primheure .fiche-achat .woocommerce-variation-add-to-cart, body.primheure.primheure .fiche-achat form.cart:not(.variations_form) { position: fixed; left: 0; right: 0; bottom: calc(66px + env(safe-area-inset-bottom)); z-index: 55; padding: 10px 16px; background: #fff; border-top: 1px solid var(--ligne); box-shadow: 0 -6px 16px rgba(0, 0, 0, .05); }
  body.primheure.primheure .fiche-titre h1 { font-size: 30px; }
  body.primheure.primheure .fiche-prix .price { font-size: 26px; }
  body.primheure.primheure .fiche-achat table.variations tr { flex-direction: column; align-items: flex-start; gap: 8px; }
  body.primheure.primheure .fiche-achat table.variations td { width: 100%; }
  body.primheure.primheure .fiche-achat.elementor-widget { position: static; padding: 0; background: none; border: 0; box-shadow: none; }
  body.primheure.primheure .fiche-achat table.variations th { width: auto; }
}

/* Filtre de catalogue (widget Filtre de taxonomie d'Elementor Pro) */
body.primheure.primheure .filtres .e-filter { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
body.primheure.primheure .filtres .e-filter-item { border: 1.5px solid var(--ligne); background: #fff; padding: 8px 16px; border-radius: 999px; font: 500 14px var(--texte); color: var(--gris); cursor: pointer; }
body.primheure.primheure .filtres .e-filter-item[aria-pressed="true"] { background: var(--vert-fonce); border-color: var(--vert-fonce); color: #fff; }
body.primheure.primheure .filtres .e-filter-item:is([data-filter="box-de-fruits-pour-entreprises"], [data-filter="paniers-standards"], [data-filter="panier-compose"]) { display: none; }

/* Blocs d'information (délais, bon à savoir) */
body.primheure.primheure .info { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: var(--r); background: var(--p-jaune); font-size: 14px; }
body.primheure.primheure .info svg { font-size: 22px; color: var(--brun); margin-top: 1px; }

/* Box entreprises */
body.primheure.primheure .box-prix .box-prix-montant, body.primheure.primheure .box-prix .box-prix-montant span { display: inline; font: inherit; color: inherit; }
body.primheure.primheure .box-prix .box-prix-montant .woocommerce-Price-amount { font: 700 20px var(--mono); }
body.primheure.primheure .box-extra { display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: #fff; border-radius: var(--r); font-size: 14px; color: var(--gris); }
body.primheure.primheure .box-extra img { width: 74px; height: 60px; object-fit: contain; flex: none; }
body.primheure.primheure .box-extra .t-strong { display: block; color: var(--encre); font-size: 15px; font-weight: 700; }
body.primheure.primheure .box-extras { display: grid; gap: 12px; }
body.primheure.primheure .gagnant-texte p { opacity: .92; max-width: 640px; }

/* Conditions */
body.primheure.primheure .cond-item { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--ligne); }
body.primheure.primheure .cond-item p { color: #444; }
body.primheure.primheure .cond-item p + p { margin-top: 8px; }
body.primheure.primheure .cond-item.cond-titre { grid-template-columns: 1fr; padding-top: 30px; border: 0; }
body.primheure.primheure .cond-titre p { font: 400 24px var(--titre); color: var(--brun); }
body.primheure.primheure .cond-num span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--p-vert); color: var(--vert-fonce); font: 700 15px var(--mono); }
body.primheure.primheure .commander-lien { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: var(--r); background: #fff; font-size: 13px; color: var(--gris); }
body.primheure.primheure .commander-lien .t-strong { display: block; color: var(--encre); font-size: 14px; font-weight: 700; }
body.primheure.primheure .commander-lien svg { font-size: 22px; color: var(--vert-fonce); }
body.primheure.primheure .commander-direct { display: flex; gap: 10px; }

/* Frise (qui sommes-nous) */
body.primheure.primheure .frise-etape { position: relative; padding-top: 44px; }
body.primheure.primheure .frise-etape::before { content: ''; position: absolute; top: 8px; left: 0; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 5px solid var(--vert); box-sizing: border-box; }
body.primheure.primheure .frise-etape p { font-size: 14px; color: #4b4b4b; margin-top: 6px; }
body.primheure.primheure .histoire-txt p { color: #4b4b4b; margin-bottom: 14px; }

/* Formulaire de contact (widget Formulaire d'Elementor Pro) */
body.primheure.primheure .formulaire-champs .elementor-form-fields-wrapper { display: grid; gap: 14px; margin: 0; }
body.primheure.primheure .formulaire-champs .elementor-field-group { display: grid; gap: 6px; padding: 0; margin: 0; width: 100%; }
body.primheure.primheure .formulaire-champs .elementor-field-label { font: 700 13px var(--mono); color: var(--gris); text-transform: uppercase; letter-spacing: .04em; padding: 0; }
body.primheure.primheure .formulaire-champs .elementor-field { font: 15px var(--texte); padding: 13px 16px; border-radius: var(--r); border: 1.5px solid var(--ligne); background: #fff; color: var(--encre); }
body.primheure.primheure .formulaire-champs .elementor-field:focus { border-color: var(--vert); outline: none; }
body.primheure.primheure .formulaire-champs .elementor-field-type-submit { width: auto; }
body.primheure.primheure .formulaire-champs .elementor-button { display: inline-flex; align-items: center; height: 50px; padding: 0 26px; border-radius: 999px; background: var(--brun); color: #fff; font: 700 15px var(--texte); box-shadow: 0 8px 18px -8px rgba(110, 69, 33, .7); }
body.primheure.primheure .formulaire-champs .elementor-button:hover { background: var(--brun-fonce); }
body.primheure.primheure .formulaire .titre-brun { margin-bottom: 4px; }
body.primheure.primheure .contact-carte .t-strong { display: block; font-size: 16px; color: var(--encre); font-weight: 700; }
body.primheure.primheure .contact-carte:first-child .t-strong { font: 400 28px var(--titre); color: var(--brun); }

/* Fiche produit WooCommerce */
body.primheure.primheure .fiche-titre h1 { font: 400 44px/1.02 var(--titre); color: var(--brun-fonce); margin: 0; }
body.primheure.primheure .fiche-prix .price { font: 700 32px var(--mono); color: var(--brun); margin: 14px 0; }
body.primheure.primheure .fiche-chapo { color: #4b4b4b; margin-bottom: 14px; }
body.primheure.primheure .fiche-images .woocommerce-product-gallery { width: 100% !important; float: none; margin: 0; }
body.primheure.primheure .fiche-images img { width: 100%; aspect-ratio: 1; object-fit: contain; }
body.primheure.primheure .fiche-images .flex-control-thumbs { display: none; }
body.primheure.primheure .fiche-achat table.variations { width: 100%; border: 0; margin: 0 0 6px; }
body.primheure.primheure .fiche-achat table.variations tr { display: flex; align-items: center; gap: 18px; padding: 14px 0; border-top: 1px solid var(--ligne); }
body.primheure.primheure .fiche-achat table.variations th, body.primheure.primheure .fiche-achat table.variations td { padding: 0; border: 0; background: none; }
body.primheure.primheure .fiche-achat table.variations th { width: 110px; flex: none; font: 700 13px var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); text-align: left; }
body.primheure.primheure .fiche-achat table.variations select.est-pastilles { display: none; }
body.primheure.primheure .fiche-achat .reset_variations { display: none !important; }
body.primheure.primheure .fiche-achat .woocommerce-variation-price { display: none; }
body.primheure.primheure .fiche-achat .woocommerce-variation-add-to-cart, body.primheure.primheure .fiche-achat form.cart:not(.variations_form) { display: flex; gap: 12px; padding: 18px 0; border-top: 1px solid var(--ligne); margin: 0; }
body.primheure.primheure .fiche-achat .quantity { display: inline-flex; border: 1.5px solid var(--ligne); border-radius: 999px; background: #fff; height: 50px; overflow: hidden; }
body.primheure.primheure .fiche-achat .quantity input { width: 70px; border: 0; text-align: center; font: 700 16px var(--mono); background: none; }
body.primheure.primheure .fiche-achat .single_add_to_cart_button { flex: 1; height: 50px; padding: 0 26px; border-radius: 999px; border: 0; background: var(--brun); color: #fff; font: 700 15px var(--texte); box-shadow: 0 8px 18px -8px rgba(110, 69, 33, .7); }
body.primheure.primheure .fiche-achat .single_add_to_cart_button:hover { background: var(--brun-fonce); }
body.primheure.primheure .fiche-achat .single_add_to_cart_button.disabled { opacity: .5; }
body.primheure.primheure .fiche-atout { display: flex; gap: 10px; align-items: center; }
body.primheure.primheure .fiche-atouts { list-style: none; margin: 0; padding: 16px 18px; background: var(--fond-doux); border-radius: var(--r); display: grid; gap: 10px; font-size: 14px; }
body.primheure.primheure .fiche-atout svg { font-size: 19px; color: var(--vert-fonce); }
body.primheure.primheure .etiquette-paniers { display: none; }
body.primheure.primheure.product_cat-paniers-standards .etiquette-paniers, body.primheure.primheure .product_cat-paniers-standards .etiquette-paniers { display: flex; }
body.primheure.primheure .fiche-achat table.variations th label { font: inherit; margin: 0; }
body.primheure.primheure .fiche-achat table.variations td { flex: 1; }
body.primheure.primheure .fiche-achat .quantity input { color: var(--encre); height: 100%; }

/* ===== Pages WooCommerce classiques : panier, commande, compte ===== */
body.primheure.primheure:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .site-main { padding: 34px 0 70px; }
body.primheure.primheure:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .entry-content { width: min(1180px, 100% - 48px); margin-inline: auto; }
body.primheure.primheure .titre-woo { font: 400 44px var(--titre); color: var(--brun-fonce); margin: 0 0 22px; }
body.primheure.primheure .woocommerce :is(.button, button.button, a.button, input.button), body.primheure.primheure .woocommerce #respond input#submit,
body.primheure.primheure .woocommerce .checkout-button, body.primheure.primheure .woocommerce #place_order {
  display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 26px; border-radius: 999px; border: 0;
  background: var(--brun); color: #fff; font: 700 15px var(--texte); box-shadow: 0 8px 18px -8px rgba(110, 69, 33, .7); text-transform: none; letter-spacing: 0; }
body.primheure.primheure .woocommerce :is(.button, button.button):hover, body.primheure.primheure .woocommerce #place_order:hover { background: var(--brun-fonce); color: #fff; }
body.primheure.primheure .woocommerce button[name="update_cart"], body.primheure.primheure .woocommerce button[name="apply_coupon"] { background: #fff; color: var(--brun); border: 1.5px solid var(--ligne); box-shadow: none; }
body.primheure.primheure .woocommerce table.shop_table { border: 0; border-collapse: separate; border-spacing: 0 8px; }
body.primheure.primheure .woocommerce table.shop_table th { font: 700 12px var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--gris); border: 0; background: none; }
body.primheure.primheure .woocommerce table.shop_table td { border: 0; border-top: 1px solid var(--ligne); background: #fff; padding: 14px 12px; }
body.primheure.primheure .woocommerce table.cart img { width: 72px; height: 72px; object-fit: contain; border-radius: var(--r); border: 1px solid var(--ligne); }
body.primheure.primheure .woocommerce table.cart .product-name a { font-weight: 500; color: var(--encre); }
body.primheure.primheure .woocommerce .amount { font-family: var(--mono); font-weight: 700; color: var(--brun); }
body.primheure.primheure .woocommerce .quantity .qty { width: 70px; height: 42px; border: 1.5px solid var(--ligne); border-radius: 999px; text-align: center; font: 700 15px var(--mono); }
body.primheure.primheure .woocommerce .cart-collaterals .cart_totals, body.primheure.primheure .woocommerce-checkout #order_review, body.primheure.primheure .woocommerce-checkout #order_review_heading {
  background: var(--fond-doux); }
body.primheure.primheure .woocommerce .cart-collaterals .cart_totals { padding: 24px; border-radius: var(--r); }
body.primheure.primheure .woocommerce .cart_totals h2, body.primheure.primheure .woocommerce-checkout h3, body.primheure.primheure .woocommerce-account h2 { font: 400 26px var(--titre); color: var(--brun); }
body.primheure.primheure .woocommerce .cart_totals table.shop_table td, body.primheure.primheure .woocommerce .cart_totals table.shop_table th { background: none; }
body.primheure.primheure .woocommerce .checkout-button { width: 100%; }
body.primheure.primheure .woocommerce form .form-row label { font: 700 12px var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--gris); }
body.primheure.primheure .woocommerce form .form-row :is(input.input-text, textarea, select), body.primheure.primheure .woocommerce .select2-selection {
  font: 15px var(--texte); padding: 12px 14px; border-radius: var(--r); border: 1.5px solid var(--ligne); background: #fff; min-height: 48px; }
body.primheure.primheure .woocommerce-checkout #order_review_heading { margin: 0; padding: 24px 24px 0; border-radius: var(--r) var(--r) 0 0; }
body.primheure.primheure .woocommerce-checkout #order_review { padding: 0 24px 24px; border-radius: 0 0 var(--r) var(--r); }
body.primheure.primheure .woocommerce-checkout #payment { background: #fff; border-radius: var(--r); }
body.primheure.primheure .woocommerce-checkout #payment div.payment_box { background: var(--p-jaune); color: var(--encre); border-radius: var(--r); }
body.primheure.primheure .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--p-jaune); }
body.primheure.primheure .woocommerce-info, body.primheure.primheure .woocommerce-message { border-top-color: var(--vert); background: var(--p-vert); color: var(--encre); border-radius: var(--r); }
body.primheure.primheure .woocommerce-info::before, body.primheure.primheure .woocommerce-message::before { color: var(--vert-fonce); }
body.primheure.primheure .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
body.primheure.primheure .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: var(--r); background: var(--fond-doux); color: var(--encre); font-weight: 500; }
body.primheure.primheure .woocommerce-MyAccount-navigation .is-active a { background: var(--jaune); color: var(--brun-fonce); }
@media (max-width: 767px) {
  body.primheure.primheure:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .site-main { padding: 10px 0 30px; }
  body.primheure.primheure:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .entry-content { width: calc(100% - 32px); }
  body.primheure.primheure .titre-woo { font-size: 30px; margin-bottom: 12px; }
  body.primheure.primheure .woocommerce table.shop_table_responsive tr { display: block; margin-bottom: 8px; border-radius: 18px; background: #fff; overflow: hidden; }
  body.primheure.primheure .woocommerce table.shop_table td { border: 0; }
  body.primheure.primheure .woocommerce .cart-collaterals .cart_totals { background: #fff; border-radius: 22px; }
}
body.primheure.primheure .fiche-achat .quantity input.qty { padding: 0 !important; height: 100%; min-height: 0; line-height: normal; color: var(--encre) !important; -webkit-text-fill-color: var(--encre); }
body.primheure.primheure .fiche-achat .quantity :is(.ct-increase, .ct-decrease) { color: var(--brun); }
@media (max-width: 767px) {
  body.primheure.primheure .fiche-achat table.variations th { padding: 0 !important; text-align: left !important; width: 100%; }
  body.primheure.primheure .fiche-achat .quantity { height: 46px; }
  body.primheure.primheure .fiche-achat .single_add_to_cart_button { height: 46px; }
}
