/* ============================================================
   MONDIAL AGRO — FRONTEND RECONSTRUIT SUR LA LOGIQUE DELIFRANCE
   Public frontend only. Backend/API untouched.
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --df-ink:#173042;
  --df-blue:#003e5b;
  --df-blue-2:#0c6076;
  --df-blue-3:#dbeef2;
  --df-aqua:#edf7f8;
  --df-gold:#b8893b;
  --df-gold-2:#d5ad68;
  --df-sand:#f3eee5;
  --df-cream:#faf8f4;
  --df-white:#fff;
  --df-black:#111820;
  --df-text:#33404a;
  --df-muted:#6c7780;
  --df-line:#dce2e5;
  --df-success:#2d7b5f;
  --df-red:#bc3d38;
  --max:1240px;
}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--df-text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--df-blue-3);color:var(--df-ink)}
.container,.main{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.main{padding-block:58px 78px}
.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:20px;top:20px;z-index:9999;background:#fff;padding:10px 16px;border:2px solid var(--df-blue)}

/* ---------- Header à deux niveaux ---------- */
.site-ribbon{border-bottom:1px solid #e4e7e9;background:#fff;color:#5a6770;font-size:12px}
.site-ribbon-inner{width:min(var(--max),calc(100% - 48px));margin:auto;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-ribbon-inner>span{display:flex;align-items:center;gap:7px}.site-ribbon-inner>span i{width:6px;height:6px;border-radius:50%;background:var(--df-gold)}
.site-ribbon-inner>div{display:flex;align-items:center;gap:18px}.site-ribbon a{color:var(--df-blue);font-weight:700}.site-ribbon a:hover{text-decoration:underline}
.topbar{position:sticky;top:0;z-index:800;background:#fff;border-bottom:1px solid var(--df-line)}
.topbar.scrolled{box-shadow:0 5px 18px rgba(21,48,66,.08)}
.topbar-inner{width:min(var(--max),calc(100% - 48px));min-height:82px;margin:auto;display:flex;align-items:center;gap:32px}
.logo{display:flex;align-items:center;gap:12px;flex:0 0 auto}.logo-emblem{width:58px;height:58px;display:grid;place-items:center}.logo-emblem img{width:100%;height:100%;object-fit:contain}.logo-name{display:block;font-weight:800;color:#6f4a26;font-size:20px;letter-spacing:.07em;text-transform:uppercase}.logo-sub{display:block;color:var(--df-gold);font-size:9px;letter-spacing:.19em;text-transform:uppercase;margin-top:2px}
.nav{margin-left:auto;display:flex;align-items:center;gap:0;height:82px}.nav>a{height:82px;display:flex;align-items:center;padding:0 16px;font-size:13px;font-weight:700;letter-spacing:.015em;color:var(--df-ink);position:relative;white-space:nowrap}.nav>a:hover,.nav>a.active{color:var(--df-blue-2)}.nav>a.active::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:var(--df-blue-2)}
.nav a.nav-call{height:auto;margin-left:12px;padding:10px 15px;background:var(--df-blue);color:#fff;display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.nav-call span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.75}.nav-call strong{font-size:12px;margin-top:3px}
.nav-toggle{display:none;background:transparent;border:0;font-size:26px;color:var(--df-ink);margin-left:auto}.nav-overlay{display:none}
.gold-bar{display:none}

/* Délifrance-like catalog mega strip */
.global-search{background:var(--df-blue);color:#fff}
.global-search .container{height:58px;display:flex;align-items:center;gap:0}
.global-search label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-right:18px;white-space:nowrap}
.global-search form{display:flex;flex:1;height:38px}
.global-search input{flex:1;border:0;background:#fff;padding:0 14px;color:var(--df-ink);outline:0}.global-search input::placeholder{color:#8a949a}
.global-search button{border:0;background:var(--df-gold);color:#fff;font-weight:700;padding:0 22px;text-transform:uppercase;font-size:11px;letter-spacing:.05em}

/* ---------- Buttons / text links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:0;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;transition:.2s}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--df-gold);color:#fff}.btn-gold:hover{background:#9f702b}
.btn-blue{background:var(--df-blue);color:#fff}.btn-blue:hover{background:#002d44}
.btn-light{background:#fff;color:var(--df-blue);border:1px solid var(--df-blue)}
.btn-outline{border:1px solid #fff;color:#fff;background:transparent}.btn-outline:hover{background:#fff;color:var(--df-blue)}
.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--df-blue);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.text-link:hover{text-decoration:underline}

/* ---------- Homepage hero ---------- */
.home-hero{position:relative;min-height:620px;background:#d9d6d0 url('../img/editorial/hero-patisserie.jpg') center 48%/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden}
.home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,60,.78) 0%,rgba(0,40,60,.60) 33%,rgba(0,40,60,.10) 70%,transparent 100%)}
.home-hero .container{position:relative;z-index:2;padding-bottom:70px}
.home-hero-card{max-width:570px;color:#fff}.home-hero-card .eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:17px}.home-hero-card h1{font-size:clamp(38px,4.6vw,67px);line-height:1.02;font-weight:700;letter-spacing:-.035em;margin-bottom:22px}.home-hero-card p{max-width:500px;font-size:17px;line-height:1.62;margin-bottom:28px;color:rgba(255,255,255,.93)}
.home-hero-dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:7px}.home-hero-dots i{display:block;width:36px;height:3px;background:rgba(255,255,255,.5)}.home-hero-dots i.active{background:#fff}

/* ---------- Generic editorial section ---------- */
.df-section{padding:74px 0}.df-section.alt{background:var(--df-cream)}
.df-title{text-align:center;color:var(--df-blue);font-weight:700;font-size:clamp(27px,3vw,39px);line-height:1.1;text-transform:uppercase;letter-spacing:.015em}.df-title-left{text-align:left}.df-intro{max-width:850px;margin:24px auto 0;text-align:center;color:#5b6770;font-size:16px;line-height:1.7}.df-kicker{display:block;color:var(--df-gold);font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.13em;margin-bottom:12px}.df-divider{width:48px;height:3px;background:var(--df-gold);margin:18px auto 0}.df-title-left+.df-divider{margin-left:0}

/* Parfaits pour vous */
.perfect-section{background:#fff}.activity-box{margin:32px auto 0;display:flex;justify-content:center;align-items:center;gap:0;max-width:610px}.activity-box select{height:48px;flex:1;border:1px solid #cfd7da;background:#fff;padding:0 14px;color:var(--df-ink);outline:0}.activity-box button{height:48px;border:0;padding:0 24px;background:var(--df-blue);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase}

/* Family cards like Délifrance */
.family-section{padding-top:18px}.family-grid{margin-top:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.family-card{position:relative;min-height:430px;overflow:hidden;background:#eee}.family-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .45s}.family-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,34,53,.82))}.family-card:hover img{transform:scale(1.035)}.family-card-content{position:absolute;z-index:2;left:25px;right:25px;bottom:25px;color:#fff}.family-card h3{font-size:22px;line-height:1.08;text-transform:uppercase;margin-bottom:11px}.family-card p{font-size:12px;line-height:1.5;opacity:.92;margin-bottom:15px}.family-card span{font-size:11px;font-weight:700;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:3px}.family-grid.secondary{grid-template-columns:repeat(3,1fr);margin-top:18px}.family-grid.secondary .family-card{min-height:320px}

/* top products */
.top-products-wrap{background:var(--df-aqua);padding:74px 0}.products-slider{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}.df-product{background:#fff;min-width:0;border:1px solid #e3e9eb;position:relative;padding-bottom:20px}.df-product-image{height:215px;display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border-bottom:1px solid #eef1f2}.df-product-image img{max-height:180px;max-width:88%;object-fit:contain}.df-product-image .ph{border:0;background:#f5f5f5}.df-product-body{padding:18px 18px 0}.df-product-body small{display:block;color:#71808a;font-size:10px;text-transform:uppercase;margin-bottom:5px}.df-product-body .ref{font-size:10px;color:#82919a;margin-bottom:7px}.df-product-body h3{font-size:15px;line-height:1.4;color:var(--df-ink);min-height:43px}.df-product-body .availability{margin-top:14px;color:var(--df-success);font-size:11px;font-weight:700}.df-product-body a{margin-top:12px;display:inline-block;color:var(--df-blue);font-size:11px;font-weight:700;text-transform:uppercase;border-bottom:1px solid var(--df-blue)}
.product-tag{position:absolute;z-index:3;left:0;top:14px;background:var(--df-gold);color:#fff;padding:5px 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

/* editorial split */
.editorial-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:500px;background:var(--df-blue)}.editorial-split .visual{min-height:500px}.editorial-split .visual img{width:100%;height:100%;object-fit:cover}.editorial-split .copy{padding:65px 70px;color:#fff;display:flex;flex-direction:column;justify-content:center}.editorial-split .copy h2{font-size:37px;line-height:1.12;text-transform:uppercase;margin-bottom:20px}.editorial-split .copy p{max-width:510px;line-height:1.75;color:rgba(255,255,255,.9);margin-bottom:27px}

/* news cards */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.news-card{background:#fff;border:1px solid var(--df-line)}.news-card-media{height:230px;overflow:hidden}.news-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.news-card:hover img{transform:scale(1.03)}.news-card-body{padding:22px}.news-card-body small{color:var(--df-gold);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.news-card-body h3{color:var(--df-ink);font-size:20px;line-height:1.25;margin:8px 0 9px}.news-card-body p{font-size:13px;color:#65717a;line-height:1.6}

/* Contact band and 4 facts like Délifrance */
.contact-band{background:var(--df-sand);padding:46px 0}.contact-band .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band h2{font-size:27px;color:var(--df-blue);text-transform:uppercase}.contact-band p{margin-top:7px;color:#68747c}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--df-line);border-bottom:1px solid var(--df-line)}.fact-card{min-height:220px;padding:35px;border-right:1px solid var(--df-line);display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:#fff}.fact-card:last-child{border-right:0}.fact-card .fact-no{font-size:44px;color:var(--df-gold);font-weight:700;line-height:1;margin-bottom:12px}.fact-card h3{font-size:15px;color:var(--df-blue);text-transform:uppercase;line-height:1.35}.fact-card span{margin-top:10px;font-size:11px;color:#758089;text-transform:uppercase}

/* ---------- Footer ---------- */
.site-footer{background:var(--df-blue);color:#fff}.footer-main{width:min(var(--max),calc(100% - 48px));margin:auto;padding:55px 0 45px;display:grid;grid-template-columns:1.3fr .75fr .8fr .8fr;gap:48px}.footer-logo .logo-name{color:#fff}.footer-logo .logo-sub{color:#dcb971}.footer-brand p{margin-top:18px;max-width:360px;font-size:13px;color:rgba(255,255,255,.75);line-height:1.7}.footer-badges{display:none}.footer-column h3{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#d6b56f;margin-bottom:18px}.footer-column a,.footer-column p,.footer-column span{display:block;font-size:12px;line-height:1.75;color:rgba(255,255,255,.78)}.footer-column a:hover{color:#fff;text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);width:min(var(--max),calc(100% - 48px));margin:auto;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:rgba(255,255,255,.55);font-size:10px}

/* ---------- Generic page hero ---------- */
.page-hero{position:relative;min-height:390px;display:flex;align-items:flex-end;background:var(--df-blue);color:#fff;overflow:hidden}.page-hero.has-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,60,.82),rgba(0,40,60,.28))}.page-hero .container{position:relative;z-index:2;padding-bottom:55px}.page-hero .crumb{font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:17px;opacity:.78}.page-hero h1{font-size:clamp(38px,4.2vw,58px);line-height:1.05;text-transform:uppercase;max-width:800px}.page-hero p{max-width:650px;margin-top:18px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.9)}
.story-hero{background:url('../img/editorial/histoire.jpg') center/cover no-repeat}.contact-hero{background:linear-gradient(90deg,var(--df-blue),#0a5c70)}

/* ---------- Histoire ---------- */
.story-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.story-intro .big-year{font-size:100px;font-weight:700;color:var(--df-blue-3);line-height:.85}.story-intro .copy h2{font-size:36px;color:var(--df-blue);line-height:1.16;text-transform:uppercase;margin-bottom:20px}.story-intro .copy p{margin-bottom:16px;line-height:1.8;color:#5e6b73}.story-timeline{margin-top:68px;border-top:1px solid var(--df-line);display:grid;grid-template-columns:repeat(3,1fr)}.story-milestone{padding:32px 34px;border-right:1px solid var(--df-line)}.story-milestone:last-child{border-right:0}.story-milestone strong{font-size:34px;color:var(--df-gold)}.story-milestone h3{margin-top:9px;color:var(--df-blue);text-transform:uppercase;font-size:16px}.story-milestone p{margin-top:10px;font-size:13px;color:#67727a;line-height:1.7}.values-band{background:var(--df-aqua);padding:70px 0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfdfe3;margin-top:35px}.value-card{background:#fff;padding:35px;min-height:210px}.value-card strong{display:block;color:var(--df-gold);font-size:11px;letter-spacing:.12em;margin-bottom:13px}.value-card h3{color:var(--df-blue);font-size:19px;text-transform:uppercase}.value-card p{margin-top:10px;font-size:13px;line-height:1.7;color:#65717a}

/* ---------- Catalogue ---------- */
.catalogue-intro{background:var(--df-aqua);border-bottom:1px solid #d4e4e8;padding:52px 0}.catalogue-intro .container{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.catalogue-intro h1{font-size:44px;line-height:1.08;color:var(--df-blue);text-transform:uppercase}.catalogue-intro p{margin-top:13px;max-width:630px;color:#64717a}.catalogue-intro-points{display:flex;gap:28px}.catalogue-intro-points span{display:flex;flex-direction:column;font-size:9px;text-transform:uppercase;color:#74818a;min-width:74px}.catalogue-intro-points b{font-size:22px;color:var(--df-blue);line-height:1.2;margin-bottom:4px}
.layout{width:min(1440px,100%);margin:auto;display:grid;grid-template-columns:285px 1fr;min-height:700px}.sidebar{background:#fff;border-right:1px solid var(--df-line);padding:26px 22px;position:sticky;top:82px;align-self:start;max-height:calc(100vh - 82px);overflow:auto}.filter-drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:19px;border-bottom:1px solid var(--df-line)}.filter-drawer-eyebrow{display:block;color:var(--df-gold);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.filter-drawer-head strong{display:block;color:var(--df-blue);font-size:17px;text-transform:uppercase;margin-top:4px}.filter-close{display:none;border:0;background:none;font-size:18px}.side-title{font-size:10px;font-weight:700;text-transform:uppercase;color:#7c8991;letter-spacing:.11em;margin:20px 0 9px}.side-btn,.sub-btn{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:6px;color:#3c4a53;padding:9px 5px;font-size:12.5px;border-bottom:1px solid #edf0f1}.side-btn:hover,.side-btn.active,.sub-btn:hover,.sub-btn.active{color:var(--df-blue);font-weight:700}.side-btn small,.sub-btn small{margin-left:auto;color:#89959c;font-size:10px}.arrow{margin-left:auto}.sub-accordion{display:none;padding-left:12px;border-left:2px solid #e1eaed;margin-bottom:7px}.sub-accordion.open{display:block}.side-sep{height:1px;background:var(--df-line);margin:15px 0}
.catalog-main{padding:35px 38px 65px;min-width:0}.catalogue-benefits{display:none}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:30px}.searchbox{flex:1}.searchbox input{width:100%;height:46px;border:1px solid #cfd9dd;padding:0 14px;color:var(--df-ink);outline:0}.searchbox input:focus{border-color:var(--df-blue-2)}.print-btn,.filter-toggle,.icon-btn{height:46px;border:1px solid #cfd9dd;background:#fff;color:var(--df-blue);font-size:11px;font-weight:700;padding:0 15px;text-transform:uppercase}.print-btn:hover,.filter-toggle:hover,.icon-btn:hover,.icon-btn.active{background:var(--df-blue);color:#fff;border-color:var(--df-blue)}.filter-toggle{display:none}.view-switch{display:flex;gap:4px}.icon-btn{width:46px;padding:0;font-size:17px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.section-title{font-size:31px;line-height:1.15;color:var(--df-blue);text-transform:uppercase}.section-sub{margin-top:7px;color:#7a878f;font-size:12px}.empty{padding:50px;border:1px solid var(--df-line);text-align:center;color:#7c8991;background:#fff}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{position:relative;background:#fff;border:1px solid #e0e6e8;cursor:pointer;min-width:0;transition:.2s}.card:hover{box-shadow:0 10px 28px rgba(0,48,72,.10);transform:translateY(-2px)}.card-img{height:220px;display:flex;align-items:center;justify-content:center;padding:18px;border-bottom:1px solid #edf0f1;background:#fff;position:relative}.card-img img{max-width:88%;max-height:185px;object-fit:contain}.ph{width:140px;height:140px;display:grid;place-items:center;background:#f5f7f8;font-size:43px;color:#8a969e}.badge{position:absolute;left:0;top:14px;padding:5px 10px;background:var(--df-gold);color:#fff;font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.badge.promo,.badge.shock{background:var(--df-red)}.badge.new{background:var(--df-success)}.badge.top{background:var(--df-gold)}.badge.bundle{background:var(--df-blue-2)}.card-body{padding:18px}.family{color:#77858e;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.10em}.designation{margin-top:7px;color:var(--df-ink);font-weight:700;font-size:14px;line-height:1.38;min-height:40px}.code{display:inline-block;margin-top:10px;color:#7b878f;font-size:10px;font-family:monospace}.meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.chip{background:#eef5f6;color:#4d6470;font-size:9px;padding:4px 7px}.price-row{display:flex;align-items:flex-end;justify-content:space-between;margin-top:16px;border-top:1px solid #edf0f1;padding-top:13px}.price{font-size:21px;color:var(--df-blue);font-weight:700}.unit{font-size:9px;color:#839098}.old{text-decoration:line-through;color:#9a7775;font-size:10px}.promo-strip{margin-top:10px;background:#fff7f1;padding:8px;font-size:10px}.promo-save{color:var(--df-success);font-weight:700}.promo-urgency{color:var(--df-red);font-weight:700;margin-top:3px}
.list{border:1px solid var(--df-line);background:#fff}.row{display:grid;grid-template-columns:120px 1fr 130px 100px 90px;gap:12px;align-items:center;padding:14px 17px;border-bottom:1px solid #edf0f1;cursor:pointer}.row:hover{background:#f5fafb}.row:last-child{border-bottom:0}.row .designation{min-height:auto;margin-top:0}.row small{font-size:10px;color:#7b878f}
.filter-overlay{display:none}

/* Modal product, Delifrance white-sheet style */
.modal-overlay{position:fixed;inset:0;background:rgba(0,33,49,.72);z-index:1200;display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;visibility:hidden;transition:.2s}.modal-overlay.open{opacity:1;visibility:visible}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}.modal-header{background:var(--df-blue);color:#fff;padding:29px 34px;position:relative}.modal-close{position:absolute;right:18px;top:18px;border:0;background:transparent;color:#fff;font-size:20px}.modal-cat-path{font-size:9px;text-transform:uppercase;letter-spacing:.11em;opacity:.72}.modal-designation{font-size:24px;line-height:1.3;font-weight:700;margin-top:8px;padding-right:40px}.modal-body{padding:31px 34px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dfe5e7;border:1px solid #dfe5e7}.modal-field{background:#fff;padding:13px 14px}.modal-field.highlight{background:#f2f8f9}.modal-field-label{font-size:9px;color:#78858d;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.modal-field-value{margin-top:5px;color:var(--df-ink);font-size:13px}.modal-desc{margin-top:22px;border-top:1px solid var(--df-line);padding-top:20px}.modal-desc p{line-height:1.75;color:#5d6971}.modal-contact-note{margin-top:22px;background:var(--df-sand);padding:16px;font-size:12px;line-height:1.7;color:#5b5449}
.toast{position:fixed;right:20px;bottom:20px;z-index:2000;background:var(--df-blue);color:#fff;padding:12px 17px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;font-size:12px}.toast.show{opacity:1;transform:none}

/* ---------- Promotions ---------- */
.promo-page-hero{position:relative;min-height:470px;background:url('../img/editorial/patisserie.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:flex-end}.promo-page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,60,.84),rgba(0,40,60,.35),rgba(0,40,60,.08))}.promo-page-hero .container{position:relative;z-index:2;padding-bottom:62px}.promo-page-hero h1{font-size:52px;line-height:1.05;text-transform:uppercase;max-width:690px}.promo-page-hero p{max-width:590px;margin-top:17px;font-size:16px;color:rgba(255,255,255,.92)}.promo-alert{background:var(--df-gold);color:#fff;padding:16px 22px;display:flex;align-items:center;gap:16px;margin-bottom:50px}.promo-alert-icon{font-size:28px;font-weight:700}.promo-alert-copy{display:flex;flex-direction:column}.promo-alert-label{font-size:9px;text-transform:uppercase;letter-spacing:.10em;opacity:.85}.promo-alert-copy strong{font-size:14px}.promo-alert-copy small{font-size:11px;opacity:.85}.promo-alert-action{margin-left:auto;color:#fff;font-weight:700;font-size:11px;text-transform:uppercase}.promo-section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.promo-assurance{display:flex;gap:14px;flex-wrap:wrap;color:#63727b;font-size:10px}.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px;margin-top:30px}.promo-loading{grid-column:1/-1;padding:40px;text-align:center}.promo-card{background:#fff;border:1px solid var(--df-line);cursor:pointer;position:relative;transition:.2s}.promo-card:hover{box-shadow:0 11px 28px rgba(0,48,72,.10);transform:translateY(-2px)}.promo-card-visual{height:230px;position:relative;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid #eef1f2}.promo-card-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:18px}.promo-card-image img{max-width:88%;max-height:185px;object-fit:contain}.promo-card-topline{position:absolute;z-index:2;left:13px;right:13px;top:10px;display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#6f7d86}.promo-card-badge{position:absolute;z-index:2;bottom:0;left:0;background:var(--df-red);color:#fff;padding:6px 11px;font-size:9px;font-weight:700;text-transform:uppercase}.promo-card-badge.new{background:var(--df-success)}.promo-card-badge.top{background:var(--df-gold)}.promo-card-badge.bundle{background:var(--df-blue-2)}.promo-card-content{padding:19px}.promo-card-ref{font-size:9px;color:#849099;text-transform:uppercase}.promo-card-content h3{font-size:16px;line-height:1.35;color:var(--df-ink);margin:7px 0}.promo-card-detail{font-size:12px;color:#69757d;line-height:1.55;min-height:37px}.promo-card-chips{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.promo-card-chips span{font-size:9px;background:#eff5f6;padding:4px 7px;color:#5b707b}.promo-card-bottom{border-top:1px solid #edf0f1;padding-top:12px;display:flex;justify-content:space-between;align-items:center}.promo-card-price small{display:block;color:#7e8b93;font-size:9px}.promo-card-price strong{font-size:21px;color:var(--df-blue)}.promo-card-old{display:block;font-size:9px;color:#a36d69;text-decoration:line-through}.promo-card-arrow{color:var(--df-blue);font-size:22px}.promo-card-benefit{margin-top:11px;font-size:10px;color:#586a73;display:flex;justify-content:space-between}.promo-how{margin-top:72px;padding:50px;background:var(--df-aqua)}.promo-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cbdde1;margin-top:29px}.promo-how-grid article{background:#fff;padding:27px}.promo-how-grid b{color:var(--df-gold);font-size:28px}.promo-how-grid h3{color:var(--df-blue);font-size:15px;text-transform:uppercase;margin-top:9px}.promo-how-grid p{font-size:12px;line-height:1.65;color:#66747c;margin-top:7px}.promo-cta-panel{margin-top:55px;background:var(--df-blue);color:#fff;padding:43px;display:flex;justify-content:space-between;gap:35px;align-items:center}.promo-cta-panel h2{font-size:28px;max-width:620px;text-transform:uppercase}.promo-cta-panel p{margin-top:8px;max-width:680px;color:rgba(255,255,255,.78)}.promo-cta-actions{display:flex;gap:9px;flex-wrap:wrap}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.cat-card{border:1px solid var(--df-line);background:#fff;padding:21px;min-height:130px}.cat-card:hover{background:var(--df-aqua)}.cat-card .cat-icon{font-size:27px}.cat-card .cat-name{margin-top:8px;color:var(--df-blue);font-weight:700;text-transform:uppercase}.cat-card .cat-count{font-size:11px;color:#7a878e;margin-top:4px}.cat-card .cat-arrow{display:block;margin-top:12px;color:var(--df-gold)}

/* ---------- Contact ---------- */
.contact-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--df-line);margin-bottom:55px}.contact-shortcuts>a{padding:25px;display:flex;align-items:center;gap:15px;border-right:1px solid var(--df-line)}.contact-shortcuts>a:last-child{border-right:0}.contact-shortcut-icon{width:40px;height:40px;border:1px solid var(--df-blue);color:var(--df-blue);display:grid;place-items:center;font-weight:700}.contact-shortcuts small{display:block;color:#7d8991;font-size:9px;text-transform:uppercase}.contact-shortcuts strong{display:block;color:var(--df-blue);font-size:14px;margin-top:2px}.contact-shortcuts p{font-size:10px;color:#849198;margin-top:2px}.contact-shortcuts b{margin-left:auto;color:var(--df-gold)}.contact-layout-pro{display:grid;grid-template-columns:1.25fr .75fr;gap:35px}.contact-form-card{border:1px solid var(--df-line);padding:34px}.contact-form-head h2{color:var(--df-blue);font-size:28px;text-transform:uppercase}.contact-form-head p{margin-top:6px;font-size:12px;color:#7c8991}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:28px}.field.full{grid-column:1/-1}.field label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#71808a;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd9dd;background:#fff;padding:11px 12px;outline:0}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--df-blue)}.form-submit-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px}.form-submit-row p{font-size:10px;color:#7d8991;max-width:380px}.contact-side{display:grid;gap:20px}.contact-side-card{border:1px solid var(--df-line);padding:29px}.contact-side-card.dark{background:var(--df-blue);color:#fff;border-color:var(--df-blue)}.contact-side-card h2{font-size:24px;line-height:1.25;text-transform:uppercase}.contact-side-card.dark p{color:rgba(255,255,255,.8);margin-top:12px;line-height:1.7;font-size:13px}.contact-side-card.dark>a{display:inline-block;margin-top:18px;color:#fff;font-size:19px;font-weight:700}.contact-side-card h3{color:var(--df-blue);font-size:16px;text-transform:uppercase}.contact-side-card ul{margin-top:14px;padding-left:18px;color:#64727a;font-size:12px;line-height:1.9}.stores-section{margin-top:65px}.store-grid-pro{display:grid;grid-template-columns:1fr 1fr;gap:20px}.store-card-pro{border:1px solid var(--df-line);padding:30px;display:flex;gap:24px}.store-city{font-size:42px;line-height:1;color:var(--df-blue-3);font-weight:700}.store-card-pro small{color:var(--df-gold);font-size:9px;letter-spacing:.11em}.store-card-pro h3{font-size:23px;color:var(--df-blue);margin-top:4px}.store-card-pro p{margin-top:8px;font-size:12px;color:#66747c}.store-meta{margin-top:13px;display:flex;gap:12px;font-size:10px}.store-card-pro a{display:inline-block;color:var(--df-blue);font-weight:700;margin-top:13px}

/* ---------- print ---------- */
@media print{
  .site-ribbon,.topbar,.global-search,.catalogue-intro,.sidebar,.toolbar,.site-footer,.filter-overlay,.modal-overlay,.toast{display:none!important}
  body{background:#fff}.layout{display:block;width:100%}.catalog-main{padding:0}.grid{grid-template-columns:repeat(3,1fr);gap:9px}.card{break-inside:avoid}.card-img{height:125px}.card-img img{max-height:100px}.main{width:100%;padding:0}
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .nav>a{padding-inline:10px}.nav>a.active::after{left:10px;right:10px}.nav a.nav-call{display:none}
  .family-grid{grid-template-columns:repeat(2,1fr)}.family-grid.secondary{grid-template-columns:repeat(3,1fr)}
  .products-slider{grid-template-columns:repeat(3,1fr)}
  .grid{grid-template-columns:repeat(2,1fr)}
  .promo-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-column:last-child{grid-column:2/4}
}
@media(max-width:860px){
  .container,.main,.topbar-inner,.site-ribbon-inner,.footer-main,.footer-bottom{width:min(100% - 30px,var(--max))}
  .site-ribbon-inner>div span{display:none}.site-ribbon-inner{font-size:10px}
  .topbar-inner{min-height:70px}.logo-emblem{width:48px;height:48px}.logo-name{font-size:17px}.nav-toggle{display:block}.nav{position:fixed;z-index:1000;right:-88%;top:0;width:min(86vw,360px);height:100vh;background:#fff;display:flex;flex-direction:column;align-items:stretch;padding:88px 24px 30px;box-shadow:-12px 0 35px rgba(0,0,0,.17);transition:right .28s;margin:0;gap:0}.nav.open{right:0}.nav>a{height:auto;padding:15px 5px;border-bottom:1px solid #edf0f1;font-size:15px}.nav>a.active::after{display:none}.nav a.nav-call{display:flex;margin:18px 0 0;padding:13px}.nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,31,46,.55);z-index:900;opacity:0;visibility:hidden;transition:.2s}.nav-overlay.show{opacity:1;visibility:visible}body.nav-open-lock{overflow:hidden}
  .global-search .container{height:auto;padding:12px 0}.global-search label{display:none}.global-search form{height:42px}
  .home-hero{min-height:560px}.home-hero::before{background:linear-gradient(90deg,rgba(0,40,60,.78),rgba(0,40,60,.45))}.home-hero .container{padding-bottom:55px}.home-hero-card{max-width:90%}
  .df-section{padding:58px 0}.family-grid,.family-grid.secondary{grid-template-columns:repeat(2,1fr)}.family-card{min-height:360px}.family-grid.secondary .family-card{min-height:290px}
  .products-slider{grid-template-columns:repeat(2,1fr)}
  .editorial-split{grid-template-columns:1fr}.editorial-split .visual{min-height:380px}.editorial-split .copy{padding:45px 30px}
  .news-grid{grid-template-columns:1fr 1fr}.fact-grid{grid-template-columns:1fr 1fr}.fact-card:nth-child(2){border-right:0}.fact-card:nth-child(-n+2){border-bottom:1px solid var(--df-line)}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-column:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding:15px 0}
  .story-intro{grid-template-columns:1fr;gap:30px}.story-intro .big-year{font-size:72px}.story-timeline{grid-template-columns:1fr}.story-milestone{border-right:0;border-bottom:1px solid var(--df-line)}.values-grid{grid-template-columns:1fr 1fr}
  .catalogue-intro .container{align-items:flex-start;flex-direction:column}.catalogue-intro-points{width:100%;justify-content:flex-start}.layout{display:block}.sidebar{position:fixed;left:-330px;top:0;bottom:0;width:310px;max-height:none;z-index:1100;transition:left .25s;padding-top:26px}.filters-open .sidebar{left:0}.filter-close{display:block}.filter-toggle{display:inline-flex;align-items:center;gap:7px}.filter-overlay{position:fixed;display:block;inset:0;background:rgba(0,31,46,.55);z-index:1050;opacity:0;visibility:hidden;transition:.2s}.filters-open .filter-overlay{opacity:1;visibility:visible}.catalog-main{padding:30px 20px 60px}.grid{grid-template-columns:repeat(2,1fr)}
  .promo-page-hero h1{font-size:42px}.promo-how{padding:35px 25px}.promo-how-grid{grid-template-columns:1fr}.promo-cta-panel{align-items:flex-start;flex-direction:column}
  .contact-shortcuts{grid-template-columns:1fr}.contact-shortcuts>a{border-right:0;border-bottom:1px solid var(--df-line)}.contact-shortcuts>a:last-child{border-bottom:0}.contact-layout-pro{grid-template-columns:1fr}.store-grid-pro{grid-template-columns:1fr}
}
@media(max-width:560px){
  .site-ribbon-inner>span{font-size:9px}.topbar-inner{gap:10px}.logo-name{font-size:14px}.logo-sub{font-size:7px}.logo-emblem{width:42px;height:42px}
  .global-search button{padding-inline:14px}.global-search input{min-width:0}
  .home-hero{min-height:510px;background-position:54% center}.home-hero-card h1{font-size:38px}.home-hero-card p{font-size:14px}.home-hero-card .btn{width:100%}
  .df-title{font-size:26px}.df-intro{font-size:14px}.activity-box{flex-direction:column;gap:8px}.activity-box select,.activity-box button{width:100%}
  .family-grid,.family-grid.secondary{grid-template-columns:1fr}.family-card,.family-grid.secondary .family-card{min-height:330px}
  .products-slider{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.fact-grid{grid-template-columns:1fr}.fact-card{border-right:0;border-bottom:1px solid var(--df-line)!important}.fact-card:last-child{border-bottom:0!important}
  .editorial-split .visual{min-height:300px}.editorial-split .copy h2{font-size:29px}
  .footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-column:last-child{grid-column:auto}
  .page-hero{min-height:340px}.page-hero h1{font-size:36px}.story-intro .big-year{font-size:62px}.story-intro .copy h2{font-size:28px}.values-grid{grid-template-columns:1fr}
  .catalogue-intro h1{font-size:34px}.catalogue-intro-points{gap:16px;flex-wrap:wrap}.toolbar{flex-wrap:wrap}.searchbox{order:3;flex-basis:100%}.print-btn{margin-left:auto}.grid{grid-template-columns:1fr}.card-img{height:235px}.row{grid-template-columns:80px 1fr}.row>*:nth-child(n+3){display:none}.section-title{font-size:25px}
  .promo-page-hero{min-height:420px}.promo-page-hero h1{font-size:34px}.promo-grid{grid-template-columns:1fr}.promo-alert{align-items:flex-start}.promo-alert-action{display:none}.promo-section-intro{align-items:flex-start;flex-direction:column}.categories{grid-template-columns:1fr 1fr}.promo-cta-actions,.promo-cta-actions .btn{width:100%}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-submit-row{align-items:flex-start;flex-direction:column}.form-submit-row .btn{width:100%}.contact-form-card{padding:24px}.store-card-pro{padding:22px}.modal-grid{grid-template-columns:1fr}.modal-body{padding:23px}.modal-header{padding:24px}.modal-designation{font-size:20px}
}

/* ---------- Home page lively upgrade ---------- */
.section-head.with-tools{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.section-tools{display:flex;align-items:center;gap:10px}.btn-small{padding:10px 16px;font-size:11px}
.home-hero-slider{background:#c7c1b7;display:block;min-height:640px}.hero-slider-viewport{position:relative;min-height:640px}.hero-slide{position:absolute;inset:0;display:flex;align-items:flex-end;background:center center/cover no-repeat;opacity:0;visibility:hidden;transition:opacity .7s ease, transform .7s ease;transform:scale(1.02)}.hero-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,40,60,.78) 0%,rgba(0,40,60,.58) 38%,rgba(0,40,60,.10) 72%,transparent 100%)}.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}.hero-slide .container{position:relative;z-index:2;padding-bottom:82px}.home-hero-card{position:relative;z-index:2}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-light{background:#fff;color:var(--df-blue);border-color:#fff}.btn-light:hover{background:transparent;color:#fff;border-color:#fff}
.home-hero-controls{position:absolute;left:0;right:0;bottom:22px;z-index:3;display:flex;align-items:center;justify-content:center;gap:18px}.hero-nav{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;backdrop-filter:blur(2px);transition:.2s}.hero-nav:hover{background:#fff;color:var(--df-blue)}.home-hero-dots{position:static;transform:none;gap:10px}.hero-dot{width:40px;height:4px;border:0;background:rgba(255,255,255,.42);padding:0;cursor:pointer;transition:.2s}.hero-dot.active{background:#fff}
.home-marquee{overflow:hidden;background:var(--df-blue);color:#fff;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.home-marquee-track{display:flex;gap:30px;white-space:nowrap;padding:12px 0;min-width:max-content;animation:marqueeX 26s linear infinite}.home-marquee span{position:relative;padding-left:18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.home-marquee span::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--df-gold);transform:translateY(-50%)}@keyframes marqueeX{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mini-benefits{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-benefits article{background:#fff;border:1px solid var(--df-line);padding:20px;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s ease, box-shadow .2s ease}.mini-benefits article:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,31,46,.08)}.mini-benefits strong{display:block;color:var(--df-blue);font-size:14px;text-transform:uppercase;margin-bottom:8px}.mini-benefits span{color:#6f7d86;font-size:12px;line-height:1.6}
.products-carousel{position:relative}.products-viewport{overflow:hidden}.products-track{display:flex;gap:22px;transition:transform .35s ease;will-change:transform}.products-track .df-product{flex:0 0 calc((100% - 66px)/4)}.slider-tools .slider-btn,.slider-btn{width:44px;height:44px;border:1px solid var(--df-line);background:#fff;color:var(--df-blue);font-size:28px;display:grid;place-items:center;transition:.2s}.slider-tools .slider-btn:hover,.slider-btn:hover{border-color:var(--df-blue);background:var(--df-blue);color:#fff}
.promo-highlight-section{padding-top:0}.promo-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.promo-highlight-card{background:#fff;border:1px solid var(--df-line);padding:26px 24px 24px;display:flex;flex-direction:column;min-height:220px;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}.promo-highlight-card:hover{transform:translateY(-4px);border-color:#d9b87d;box-shadow:0 18px 34px rgba(0,31,46,.08)}.promo-highlight-card small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--df-gold)}.promo-highlight-card h3{margin-top:12px;font-size:22px;line-height:1.15;color:var(--df-blue);text-transform:uppercase}.promo-highlight-card p{margin-top:12px;color:#6d7a83;font-size:13px;line-height:1.75}.promo-highlight-card span{margin-top:auto;padding-top:14px;color:var(--df-blue);font-size:11px;font-weight:700;text-transform:uppercase}
.news-card,.fact-card,.family-card,.df-product{transition:transform .22s ease, box-shadow .22s ease}.news-card:hover,.fact-card:hover,.df-product:hover{transform:translateY(-4px);box-shadow:0 18px 32px rgba(0,31,46,.08)}

@media(max-width:1100px){.products-track .df-product{flex-basis:calc((100% - 44px)/3)}}
@media(max-width:860px){.home-hero-slider,.hero-slider-viewport{min-height:580px}.hero-slide .container{padding-bottom:72px}.hero-actions{flex-direction:column;max-width:280px}.hero-actions .btn{width:100%}.mini-benefits{grid-template-columns:1fr}.promo-highlight-grid{grid-template-columns:1fr}.products-track .df-product{flex-basis:calc((100% - 22px)/2)}.home-marquee-track{animation-duration:20s}.section-head.with-tools{align-items:flex-start;flex-direction:column}.section-tools{width:100%;justify-content:flex-end}.hero-nav{width:44px;height:44px}}
@media(max-width:560px){.home-hero-slider,.hero-slider-viewport{min-height:520px}.hero-slide::before{background:linear-gradient(180deg,rgba(0,40,60,.25),rgba(0,40,60,.80) 55%,rgba(0,40,60,.88) 100%)}.hero-slide .container{padding-bottom:84px}.home-hero-card{max-width:100%}.home-hero-card h1{font-size:35px}.hero-nav{display:none}.home-hero-controls{bottom:18px}.hero-dot{width:28px}.products-track .df-product{flex-basis:100%}.mini-benefits article{min-height:auto}.home-marquee span{font-size:10px;padding-left:15px}}
.products-viewport{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;padding-bottom:4px}.products-viewport::-webkit-scrollbar{display:none}.products-track .df-product{scroll-snap-align:start}

/* ---------- Mondial Agro palette / Délifrance-like refinement ---------- */
:root{
  --df-ink:#3f2b1d;
  --df-blue:#6a4524;
  --df-blue-2:#8b5d31;
  --df-blue-3:#f3e3c9;
  --df-aqua:#f7f2ea;
  --df-gold:#c19038;
  --df-gold-2:#d9ad5a;
  --df-sand:#f1e7d9;
  --df-cream:#fbf7f1;
  --df-text:#544238;
  --df-muted:#7a675a;
  --df-line:#e6dbcf;
}
::selection{background:var(--df-blue-3);color:#2f1e12}
.site-ribbon{background:#fffdfb;border-bottom:1px solid var(--df-line);color:#7d6a5d}.site-ribbon a{color:var(--df-blue-2)}
.topbar{background:#fffdfb;border-bottom:1px solid var(--df-line)}.topbar.scrolled{box-shadow:0 8px 24px rgba(74,47,25,.09)}
.logo-name{color:#7a4d21}.logo-sub{color:var(--df-gold)}
.nav>a{color:#4d3524}.nav>a:hover,.nav>a.active{color:var(--df-blue-2)}.nav>a.active::after{background:var(--df-gold)}
.nav a.nav-call{background:var(--df-blue);color:#fff}
.global-search{background:var(--df-blue)}.global-search button{background:var(--df-gold);color:#fff}
.btn-gold{background:var(--df-gold)}.btn-gold:hover{background:#a9792c}.btn-blue{background:var(--df-blue)}.btn-blue:hover{background:#55361b}.btn-light{color:var(--df-blue)}.btn-outline:hover{color:var(--df-blue)}
.df-title,.section-title,.contact-side-card h3,.store-card-pro h3,.contact-band h2,.story-intro .copy h2,.story-milestone h3,.values-card h3,.catalogue-intro h1,.promo-page-hero h1{color:var(--df-blue)}
.df-kicker{color:var(--df-gold)}.df-divider{background:var(--df-gold)}
.home-hero,.home-hero-slider{background-color:#d7c8b5}.home-hero::before,.hero-slide::before{background:linear-gradient(90deg,rgba(63,43,29,.80) 0%,rgba(63,43,29,.62) 38%,rgba(63,43,29,.12) 74%,transparent 100%)}
.hero-nav{border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.12)}.hero-nav:hover{background:#fff;color:var(--df-blue)}
.home-marquee{background:#4a3019;color:#fff}.home-marquee span::before{background:var(--df-gold)}
.perfect-section{background:linear-gradient(180deg,#fff 0%, #fcf8f2 100%)}
.activity-box button{background:var(--df-blue)}
.mini-benefits article{background:#fffdfb;border-color:var(--df-line)}.mini-benefits article:hover{box-shadow:0 14px 28px rgba(74,47,25,.08)}.mini-benefits strong{color:var(--df-blue)}
.family-card::after{background:linear-gradient(transparent,rgba(57,35,18,.84))}
.top-products-wrap{background:var(--df-cream)}.df-product{border-color:var(--df-line)}.df-product-body a{color:var(--df-blue);border-color:var(--df-blue)}.product-tag{background:var(--df-gold)}
.slider-tools .slider-btn,.slider-btn{border-color:var(--df-line);color:var(--df-blue);background:#fffdfb}.slider-tools .slider-btn:hover,.slider-btn:hover{background:var(--df-blue);border-color:var(--df-blue);color:#fff}
.editorial-split{background:var(--df-blue)}.editorial-split .copy p{color:rgba(255,255,255,.9)}
.news-card,.promo-highlight-card,.fact-card,.contact-form-card,.contact-side-card,.store-card-pro,.cat-card,.promo-card,.sidebar,.toolbar,.modal,.faq details{border-color:var(--df-line)}
.news-card:hover,.fact-card:hover,.df-product:hover,.promo-highlight-card:hover{box-shadow:0 18px 32px rgba(74,47,25,.08)}
.news-card-body small,.promo-highlight-card small{color:var(--df-gold)}.news-card-body h3,.promo-highlight-card h3,.fact-card h3{color:var(--df-blue)}
.contact-band{background:var(--df-sand)}
.fact-card .fact-no{color:var(--df-gold)}
.site-footer{background:#4c321a;color:#f5ecdf}.site-footer a{color:#fff}.footer-column h3,.footer-brand .logo-name{color:#fff}.footer-brand .logo-sub{color:#e3bc79}.footer-bottom{border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.72)}
.page-hero::before{background:linear-gradient(90deg,rgba(63,43,29,.82) 0%,rgba(63,43,29,.62) 38%,rgba(63,43,29,.18) 74%,transparent 100%)}
.story-intro .big-year,.story-milestone b,.value-icon,.contact-shortcut-icon,.store-city{color:var(--df-gold);border-color:currentColor}
.values-card:hover,.store-card-pro:hover,.contact-side-card:hover,.contact-form-card:hover{box-shadow:0 16px 30px rgba(74,47,25,.06)}
.catalogue-intro{background:var(--df-blue);color:#fff}.catalogue-intro-points span{color:rgba(255,255,255,.85)}
.sidebar{background:#fffdfb}.sidebar h3,.facet-title,.toolbar-count strong,.modal-designation{color:var(--df-blue)}
.filter-chip.active,.toggle-btn.active,.cat-pill.active{background:var(--df-blue);border-color:var(--df-blue);color:#fff}
.badge,.promo-alert-icon,.promo-callout,.promo-highlight-card span,.promo-card .promo-title{color:var(--df-blue)}
.promo-alert{background:#fffaf2;border-color:#ecd9b7}.promo-alert-label,.promo-section-intro .section-sub,.promo-assurance span::before{color:var(--df-gold)}
.promo-page-hero::before{background:linear-gradient(90deg,rgba(63,43,29,.84) 0%,rgba(63,43,29,.58) 48%,rgba(63,43,29,.22) 78%,transparent 100%)}
.modal-close:hover,.print-btn:hover{background:var(--df-blue);color:#fff;border-color:var(--df-blue)}
@media(max-width:560px){.home-hero::before,.hero-slide::before{background:linear-gradient(180deg,rgba(63,43,29,.24),rgba(63,43,29,.82) 58%,rgba(63,43,29,.92) 100%)}}


/* ============================================================
   CATALOGUE V2 — structure très proche du catalogue Délifrance
   Palette Mondial Agro. Scoped to .catalogue-v2.
   ============================================================ */
.catalogue-v2{background:#fffdfb;color:#4e4037}.catalogue-v2 .catalogue-mega-search{background:#6a4524;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.catalogue-v2 .catalogue-search-form{height:44px;display:flex;background:#fff;max-width:870px;margin:0 auto;border-radius:1px;overflow:hidden}.catalogue-v2 .catalogue-search-icon{width:48px;display:grid;place-items:center;color:#8a715d;font-size:24px;background:#fff}.catalogue-v2 .catalogue-search-form input{flex:1;border:0;outline:0;padding:0 8px;color:#3f2b1d;min-width:0}.catalogue-v2 .catalogue-search-form input::placeholder{color:#93877d}.catalogue-v2 .catalogue-search-form button{border:0;background:#c19038;color:#fff;font-weight:700;text-transform:uppercase;padding:0 25px;font-size:11px;letter-spacing:.06em}
.catalogue-v2 .catalogue-heading{padding-top:38px;padding-bottom:44px}.catalogue-v2 .catalogue-breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#9a8c81;margin-bottom:34px}.catalogue-v2 .catalogue-breadcrumb a{color:#6a4524}.catalogue-v2 .catalogue-heading-copy{text-align:center;max-width:830px;margin:auto}.catalogue-v2 .catalogue-heading-copy .df-kicker{margin-bottom:10px}.catalogue-v2 .catalogue-heading h1{font-size:clamp(38px,4vw,56px);line-height:1.04;color:#6a4524;text-transform:uppercase;letter-spacing:-.025em}.catalogue-v2 .catalogue-heading p{font-size:15px;line-height:1.8;color:#74655b;margin:17px auto 0;max-width:760px}
.catalogue-v2 .catalogue-family-strip{border-top:1px solid #e8ded3;border-bottom:1px solid #e8ded3;background:#fff;position:relative}.catalogue-v2 .family-strip-inner{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;padding:0}.catalogue-v2 .family-strip-inner::-webkit-scrollbar{display:none}.catalogue-v2 .family-strip-item{min-width:125px;flex:1;border:0;border-right:1px solid #eee5dd;background:#fff;padding:18px 12px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#665348;transition:.2s;position:relative}.catalogue-v2 .family-strip-item:first-child{border-left:1px solid #eee5dd}.catalogue-v2 .family-strip-item:hover,.catalogue-v2 .family-strip-item.active{background:#fbf6ef;color:#6a4524}.catalogue-v2 .family-strip-item.active::after{content:"";position:absolute;height:3px;background:#c19038;left:14px;right:14px;bottom:-1px}.catalogue-v2 .family-strip-icon{font-size:24px;line-height:1}.catalogue-v2 .family-strip-item>span:nth-child(2){font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}.catalogue-v2 .family-strip-item small{font-size:9px;color:#9b8d83}
.catalogue-v2 .catalogue-browser{padding-top:42px;padding-bottom:75px}.catalogue-v2 .catalogue-active-filters{border:1px solid #e5dbd1;background:#fbf7f1;padding:18px 20px;margin-bottom:26px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.catalogue-v2 .catalogue-active-filters[hidden]{display:none}.catalogue-v2 .active-filters-title{font-size:11px;font-weight:700;text-transform:uppercase;color:#6a4524;white-space:nowrap}.catalogue-v2 .active-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.catalogue-v2 .active-filter-chip{border:1px solid #ded2c6;background:#fff;padding:7px 9px;font-size:10px;color:#5d4a3e;display:flex;gap:7px;align-items:center}.catalogue-v2 .active-filter-chip span{color:#a18f81}.catalogue-v2 .active-filter-chip b{font-size:14px;color:#8b5d31}.catalogue-v2 .clear-filters{border:0;background:transparent;color:#6a4524;text-decoration:underline;font-size:10px;font-weight:700;text-transform:uppercase}
.catalogue-v2 .catalogue-topline{border-top:1px solid #e6dcd3;border-bottom:1px solid #e6dcd3;min-height:62px;display:flex;align-items:center;gap:18px;margin-bottom:34px;color:#7c6b60;font-size:11px}.catalogue-v2 .filter-toggle{display:none;height:38px;border-color:#dfd4ca;color:#6a4524;background:#fff}.catalogue-v2 .catalogue-result-count{margin-right:auto;color:#6e5c50}.catalogue-v2 .catalogue-result-count strong{color:#3f2b1d}.catalogue-v2 .catalogue-display-controls{display:flex;align-items:center;gap:8px}.catalogue-v2 .catalogue-display-controls select,.catalogue-v2 .catalogue-sort select{height:36px;border:1px solid #ded3c8;background:#fff;padding:0 28px 0 9px;color:#5e4e43;font-size:11px;outline:0}.catalogue-v2 .catalogue-view-btn{width:36px;height:36px;border:1px solid #ded3c8;background:#fff;color:#7d695a;font-size:18px}.catalogue-v2 .catalogue-view-btn.active,.catalogue-v2 .catalogue-view-btn:hover{background:#6a4524;color:#fff;border-color:#6a4524}.catalogue-v2 .catalogue-view-label{font-size:10px;color:#8c7c71}.catalogue-v2 .catalogue-sort{display:flex;align-items:center;gap:9px;color:#7c6b60}
.catalogue-v2 .catalogue-body{display:grid;grid-template-columns:275px minmax(0,1fr);gap:42px;align-items:start}.catalogue-v2 .catalogue-filters{position:sticky;top:108px;background:#fff;border:0;padding:0;max-height:calc(100vh - 130px);overflow:auto}.catalogue-v2 .filter-drawer-head{border:0;border-bottom:2px solid #6a4524;padding:0 0 14px;margin-bottom:0}.catalogue-v2 .filter-drawer-head strong{font-size:22px;color:#6a4524;text-transform:none;margin:0}.catalogue-v2 .filter-close{display:none}.catalogue-v2 .filter-block{border-bottom:1px solid #e6dcd3}.catalogue-v2 .filter-block-title{width:100%;border:0;background:#fff;padding:18px 2px 13px;display:flex;justify-content:space-between;align-items:center;color:#4d3b30;font-size:13px;font-weight:700;text-align:left}.catalogue-v2 .filter-block-title span:last-child{color:#a88450;font-size:18px}.catalogue-v2 .filter-options{display:none;padding:0 0 15px}.catalogue-v2 .filter-options.open{display:block}.catalogue-v2 .filter-option{width:100%;border:0;background:transparent;padding:6px 2px;display:flex;justify-content:space-between;gap:12px;text-align:left;color:#66564a;font-size:11.5px;line-height:1.45}.catalogue-v2 .filter-option:hover,.catalogue-v2 .filter-option.active{color:#6a4524;font-weight:700}.catalogue-v2 .filter-option small{font-weight:400;color:#a39489;white-space:nowrap}.catalogue-v2 .filter-info-link{display:flex;justify-content:space-between;padding:7px 2px;font-size:11px;color:#6a4524}
.catalogue-v2 .catalogue-products-area{min-width:0}.catalogue-v2 .catalogue-context{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:23px}.catalogue-v2 .catalogue-context h2{font-size:28px;color:#6a4524;line-height:1.15;text-transform:uppercase}.catalogue-v2 .catalogue-context p{font-size:11px;color:#95877d;margin-top:7px}.catalogue-v2 .catalogue-print{border:0;background:transparent;color:#6a4524;font-size:10px;font-weight:700;text-transform:uppercase;text-decoration:underline;padding-top:6px;white-space:nowrap}
.catalogue-v2 .catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;row-gap:46px}.catalogue-v2 .catalogue-product-card{position:relative;background:#fff;border:0;outline:0;min-width:0;cursor:pointer}.catalogue-v2 .catalogue-product-card:focus-visible{outline:2px solid #c19038;outline-offset:4px}.catalogue-v2 .catalogue-card-actions{position:absolute;right:9px;top:9px;z-index:5}.catalogue-v2 .catalogue-fav{width:38px;height:38px;border-radius:50%;border:1px solid #e1d8cf;background:rgba(255,255,255,.94);display:grid;place-items:center;color:#6a4524;font-size:22px;line-height:1;transition:.2s}.catalogue-v2 .catalogue-fav:hover,.catalogue-v2 .catalogue-fav.active{background:#6a4524;color:#fff;border-color:#6a4524}.catalogue-v2 .catalogue-card-media{height:275px;background:#fbfaf8;border:1px solid #eee7df;display:flex;align-items:center;justify-content:center;padding:22px;position:relative;overflow:hidden}.catalogue-v2 .catalogue-card-media img{max-width:90%;max-height:225px;object-fit:contain;transition:transform .25s ease}.catalogue-v2 .catalogue-product-card:hover .catalogue-card-media img{transform:scale(1.035)}.catalogue-v2 .catalogue-card-media .ph{width:155px;height:155px;background:#f1ece7;color:#9a7e64}.catalogue-v2 .catalogue-product-badge{position:absolute;left:0;top:14px;background:#c19038;color:#fff;padding:6px 11px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.catalogue-v2 .catalogue-product-badge.promo,.catalogue-v2 .catalogue-product-badge.shock{background:#a53d35}.catalogue-v2 .catalogue-product-badge.new{background:#557a4b}.catalogue-v2 .catalogue-card-body{padding:15px 1px 0}.catalogue-v2 .catalogue-packaging{font-size:11px;color:#7b6a5e;margin-bottom:4px;min-height:17px}.catalogue-v2 .catalogue-ref{font-size:10px;color:#a08f83;text-transform:uppercase;margin:4px 0 7px}.catalogue-v2 .catalogue-card-body h3{font-size:16px;line-height:1.35;color:#3f2b1d;min-height:64px;font-weight:700}.catalogue-v2 .catalogue-card-meta{margin-top:7px;font-size:10px;color:#8c7a6e;text-transform:uppercase}.catalogue-v2 .catalogue-promo-detail{margin-top:9px;color:#9a4d3d;font-size:10px;line-height:1.4}.catalogue-v2 .catalogue-availability{margin-top:12px;font-size:10px;color:#6d7958;font-weight:700}.catalogue-v2 .catalogue-card-footer{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:11px}.catalogue-v2 .catalogue-card-link,.catalogue-v2 .catalogue-favorite-text{border:0;background:transparent;color:#6a4524;padding:0 0 3px;font-size:9.5px;text-transform:uppercase;font-weight:700}.catalogue-v2 .catalogue-card-link{border-bottom:1px solid #6a4524}.catalogue-v2 .catalogue-favorite-text{color:#8d7b70;text-transform:none;font-weight:400}.catalogue-v2 .catalogue-favorite-text.active{color:#6a4524;font-weight:700}
.catalogue-v2 .catalogue-list{border-top:1px solid #e7ded5}.catalogue-v2 .catalogue-product-row{display:grid;grid-template-columns:105px minmax(0,1fr) 130px 130px 65px;align-items:center;gap:17px;border-bottom:1px solid #e7ded5;padding:14px 0}.catalogue-v2 .catalogue-row-image{height:82px;display:flex;align-items:center;justify-content:center;background:#fbfaf8}.catalogue-v2 .catalogue-row-image img{max-width:90%;max-height:72px;object-fit:contain}.catalogue-v2 .catalogue-row-image .ph{width:65px;height:65px;font-size:25px}.catalogue-v2 .catalogue-row-main h3{font-size:14px;line-height:1.35;color:#3f2b1d}.catalogue-v2 .catalogue-row-main p{margin-top:5px;color:#98897e;font-size:10px}.catalogue-v2 .catalogue-row-pack{font-size:11px;color:#79695d}.catalogue-v2 .catalogue-row-status{font-size:10px;color:#6d7958;font-weight:700}
.catalogue-v2 .catalogue-empty{padding:70px 30px;background:#fbf8f4;border:1px solid #e7ded5;text-align:center;display:flex;flex-direction:column;gap:6px;color:#87776c}.catalogue-v2 .catalogue-empty strong{color:#6a4524;font-size:18px}.catalogue-v2 .catalogue-pagination{margin-top:48px;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.catalogue-v2 .page-btn{min-width:38px;height:38px;border:1px solid #dfd4ca;background:#fff;color:#6a4524;font-size:11px;padding:0 11px}.catalogue-v2 .page-btn.active,.catalogue-v2 .page-btn:hover:not(:disabled){background:#6a4524;border-color:#6a4524;color:#fff}.catalogue-v2 .page-btn:disabled{opacity:.3;cursor:default}.catalogue-v2 .page-btn.page-text{min-width:85px}
.catalogue-v2 .catalogue-contact-cta{background:#f2e7d8;padding:52px 0;border-top:1px solid #e5d7c7}.catalogue-v2 .catalogue-contact-cta .container{display:flex;justify-content:space-between;gap:30px;align-items:center}.catalogue-v2 .catalogue-contact-cta h2{font-size:28px;color:#6a4524;text-transform:uppercase}.catalogue-v2 .catalogue-contact-cta p{margin-top:8px;color:#79675a}.catalogue-v2 .catalogue-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e8ded4}.catalogue-v2 .catalogue-facts>a{min-height:205px;border-right:1px solid #e8ded4;background:#fff;padding:30px 32px;display:flex;flex-direction:column;justify-content:flex-end}.catalogue-v2 .catalogue-facts>a:last-child{border-right:0}.catalogue-v2 .catalogue-facts strong{font-size:43px;color:#c19038;line-height:1}.catalogue-v2 .catalogue-facts span{margin-top:12px;color:#6a4524;font-weight:700;text-transform:uppercase;font-size:13px;line-height:1.35}.catalogue-v2 .catalogue-facts b{margin-top:9px;font-size:10px;text-transform:uppercase;color:#938276}
.catalogue-v2 .filter-overlay{display:none}.catalogue-v2 .product-modal-v2{background:rgba(49,31,18,.78)}.catalogue-v2 .product-modal-panel{width:min(980px,100%);max-height:92vh;background:#fffdfb;position:relative;overflow:auto}.catalogue-v2 .product-modal-panel>.modal-close{position:absolute;z-index:5;right:18px;top:17px;width:40px;height:40px;border-radius:50%;border:1px solid #ded2c8;background:#fff;color:#6a4524}.catalogue-v2 .product-modal-layout{display:grid;grid-template-columns:1fr 1.05fr;min-height:620px}.catalogue-v2 .product-modal-media{background:#f8f5f0;display:flex;align-items:center;justify-content:center;padding:45px;border-right:1px solid #e5dbd2}.catalogue-v2 .product-modal-media img{max-width:92%;max-height:500px;object-fit:contain}.catalogue-v2 .product-modal-media .ph{width:220px;height:220px;font-size:60px;background:#efe7df}.catalogue-v2 .product-modal-content{padding:58px 46px 42px}.catalogue-v2 .product-modal-content .modal-cat-path{font-size:10px;color:#9a887b;text-transform:uppercase;letter-spacing:.08em}.catalogue-v2 .product-modal-content .modal-designation{font-size:30px;line-height:1.18;color:#6a4524;margin-top:12px;padding:0}.catalogue-v2 .modal-product-ref{margin-top:10px;font-size:11px;color:#9c8a7c}.catalogue-v2 .product-modal-content .modal-grid{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:0;background:transparent;border-top:1px solid #e5dbd2;border-left:1px solid #e5dbd2}.catalogue-v2 .modal-spec{padding:15px;border-right:1px solid #e5dbd2;border-bottom:1px solid #e5dbd2;background:#fff}.catalogue-v2 .modal-spec small{display:block;font-size:9px;color:#99877b;text-transform:uppercase}.catalogue-v2 .modal-spec strong{display:block;margin-top:4px;color:#4a3528;font-size:13px}.catalogue-v2 .modal-spec.full{grid-column:1/-1}.catalogue-v2 .modal-spec.promo{background:#fff8ec}.catalogue-v2 .modal-spec p{margin-top:7px;color:#7a6658;font-size:11px}.catalogue-v2 .product-modal-content .modal-desc{margin-top:24px;border-top:1px solid #e5dbd2;padding-top:18px}.catalogue-v2 .product-modal-content .modal-desc p{font-size:12px;line-height:1.7;color:#69584c}.catalogue-v2 .product-modal-content .modal-field-label{color:#9b8879}.catalogue-v2 .product-modal-content .modal-contact-note{margin-top:23px;background:#f3e8d8;color:#675447;padding:15px 16px;font-size:11.5px}.catalogue-v2 .modal-contact-btn{margin-top:14px}
@media(max-width:1100px){.catalogue-v2 .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-v2 .catalogue-body{grid-template-columns:245px minmax(0,1fr);gap:30px}.catalogue-v2 .catalogue-display-controls .catalogue-view-label{display:none}}
@media(max-width:980px){.catalogue-v2 .catalogue-topline{flex-wrap:wrap;padding:12px 0;gap:11px}.catalogue-v2 .filter-toggle{display:inline-flex;align-items:center;gap:6px}.catalogue-v2 .catalogue-result-count{margin-right:auto}.catalogue-v2 .catalogue-sort{margin-left:auto}.catalogue-v2 .catalogue-body{display:block}.catalogue-v2 .catalogue-filters{position:fixed;z-index:1100;left:-330px;top:0;bottom:0;width:310px;max-height:none;background:#fff;padding:25px 24px;transition:left .25s;box-shadow:10px 0 28px rgba(58,36,20,.14)}body.catalogue-v2.filters-open .catalogue-filters{left:0}.catalogue-v2 .filter-close{display:block}.catalogue-v2 .filter-overlay{position:fixed;display:block;inset:0;background:rgba(52,33,20,.55);z-index:1050;opacity:0;visibility:hidden;transition:.2s}body.catalogue-v2.filters-open .filter-overlay{opacity:1;visibility:visible}.catalogue-v2 .catalogue-active-filters{grid-template-columns:1fr}.catalogue-v2 .clear-filters{justify-self:start}.catalogue-v2 .catalogue-facts{grid-template-columns:1fr 1fr}.catalogue-v2 .catalogue-facts>a:nth-child(2){border-right:0}.catalogue-v2 .catalogue-facts>a:nth-child(-n+2){border-bottom:1px solid #e8ded4}}
@media(max-width:720px){.catalogue-v2 .catalogue-heading{padding-top:28px;padding-bottom:34px}.catalogue-v2 .catalogue-breadcrumb{margin-bottom:26px}.catalogue-v2 .catalogue-heading h1{font-size:36px}.catalogue-v2 .catalogue-heading p{font-size:13px}.catalogue-v2 .catalogue-search-form{height:42px}.catalogue-v2 .catalogue-search-form button{padding-inline:15px}.catalogue-v2 .catalogue-search-icon{display:none}.catalogue-v2 .family-strip-item{min-width:104px;padding:14px 9px}.catalogue-v2 .family-strip-icon{font-size:21px}.catalogue-v2 .catalogue-display-controls{order:3}.catalogue-v2 .catalogue-sort{order:4;width:100%;margin-left:0;justify-content:flex-end}.catalogue-v2 .catalogue-context{align-items:flex-start}.catalogue-v2 .catalogue-context h2{font-size:23px}.catalogue-v2 .catalogue-grid{grid-template-columns:1fr 1fr;gap:30px 14px}.catalogue-v2 .catalogue-card-media{height:220px;padding:15px}.catalogue-v2 .catalogue-card-media img{max-height:185px}.catalogue-v2 .catalogue-card-body h3{font-size:14px;min-height:58px}.catalogue-v2 .catalogue-product-row{grid-template-columns:78px minmax(0,1fr) 52px}.catalogue-v2 .catalogue-row-pack,.catalogue-v2 .catalogue-row-status{display:none}.catalogue-v2 .catalogue-contact-cta .container{align-items:flex-start;flex-direction:column}.catalogue-v2 .catalogue-contact-cta h2{font-size:23px}.catalogue-v2 .product-modal-layout{grid-template-columns:1fr}.catalogue-v2 .product-modal-media{min-height:310px;border-right:0;border-bottom:1px solid #e5dbd2}.catalogue-v2 .product-modal-content{padding:35px 25px}.catalogue-v2 .product-modal-content .modal-designation{font-size:24px}}
@media(max-width:480px){.catalogue-v2 .catalogue-grid{grid-template-columns:1fr}.catalogue-v2 .catalogue-card-media{height:285px}.catalogue-v2 .catalogue-card-body h3{min-height:auto;font-size:16px}.catalogue-v2 .catalogue-browser{padding-top:28px}.catalogue-v2 .catalogue-view-label{display:none}.catalogue-v2 .catalogue-display-controls>span:first-child{display:none}.catalogue-v2 .catalogue-facts{grid-template-columns:1fr}.catalogue-v2 .catalogue-facts>a{border-right:0!important;border-bottom:1px solid #e8ded4;min-height:165px}.catalogue-v2 .catalogue-facts>a:last-child{border-bottom:0}.catalogue-v2 .product-modal-content .modal-grid{grid-template-columns:1fr}.catalogue-v2 .modal-spec.full{grid-column:auto}}
@media print{.catalogue-v2 .site-ribbon,.catalogue-v2 .topbar,.catalogue-v2 .catalogue-mega-search,.catalogue-v2 .catalogue-heading,.catalogue-v2 .catalogue-family-strip,.catalogue-v2 .catalogue-active-filters,.catalogue-v2 .catalogue-topline,.catalogue-v2 .catalogue-filters,.catalogue-v2 .catalogue-contact-cta,.catalogue-v2 .catalogue-facts,.catalogue-v2 .site-footer,.catalogue-v2 .catalogue-pagination,.catalogue-v2 .catalogue-print,.catalogue-v2 .filter-overlay,.catalogue-v2 .modal-overlay,.catalogue-v2 .toast{display:none!important}.catalogue-v2 .catalogue-browser{width:100%;max-width:none;padding:0}.catalogue-v2 .catalogue-body{display:block}.catalogue-v2 .catalogue-products-area{width:100%}.catalogue-v2 .catalogue-context{margin-bottom:10px}.catalogue-v2 .catalogue-context h2{font-size:20px}.catalogue-v2 .catalogue-grid{grid-template-columns:repeat(3,1fr);gap:12px}.catalogue-v2 .catalogue-product-card{break-inside:avoid}.catalogue-v2 .catalogue-card-media{height:125px}.catalogue-v2 .catalogue-card-media img{max-height:100px}.catalogue-v2 .catalogue-card-actions,.catalogue-v2 .catalogue-card-link,.catalogue-v2 .catalogue-favorite-text{display:none}.catalogue-v2 .catalogue-card-body{padding-top:8px}.catalogue-v2 .catalogue-card-body h3{font-size:10px;min-height:0}}

/* ---------- Header dropdowns + search icon ---------- */
.nav{overflow:visible}
.nav > a,
.nav > .nav-item > .nav-link,
.nav > .header-search-toggle{height:82px;display:flex;align-items:center;padding:0 16px;font-size:13px;font-weight:700;letter-spacing:.015em;color:var(--df-ink);position:relative;white-space:nowrap}
.nav > .nav-item{position:relative;height:82px;display:flex;align-items:center}
.nav > .nav-item > .nav-link{padding-right:10px}
.nav > a.active,
.nav > .nav-item > .nav-link.active,
.nav > a:hover,
.nav > .nav-item > .nav-link:hover{color:var(--df-blue-2)}
.nav > a.active::after,
.nav > .nav-item > .nav-link.active::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:3px;background:var(--df-gold)}
.submenu-toggle{width:24px;height:24px;border:0;background:transparent;color:var(--df-ink);display:grid;place-items:center;padding:0;margin-right:8px;font-size:14px;transition:transform .2s ease,color .2s ease}
.nav-item:hover .submenu-toggle,.nav-item.submenu-open .submenu-toggle{color:var(--df-blue-2);transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 1px);left:0;min-width:240px;background:#fffdfb;border:1px solid var(--df-line);box-shadow:0 18px 32px rgba(74,47,25,.10);padding:12px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:1200}
.submenu a{display:block;padding:11px 18px;color:var(--df-text);font-size:13px;line-height:1.4}
.submenu a:hover{background:#f8f1e6;color:var(--df-blue)}
.submenu-large{min-width:280px;column-count:2;column-gap:0}.submenu-large a{break-inside:avoid}
.nav-item:hover .submenu,.nav-item.submenu-open .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.header-search-toggle{border:0;background:transparent;font-size:22px;justify-content:center;min-width:54px;padding:0 10px;cursor:pointer}
.header-search-toggle:hover,.header-search-toggle.is-active{color:var(--df-blue-2)}
.header-search-panel{max-height:0;overflow:hidden;background:#fffdfb;border-bottom:1px solid transparent;transition:max-height .28s ease,border-color .28s ease}
.header-search-panel.open{max-height:120px;border-color:var(--df-line)}
.header-search-panel .container{padding:16px 0}
.header-search-form{display:flex;gap:0;height:46px}.header-search-form input{flex:1;border:1px solid var(--df-line);border-right:0;padding:0 16px;background:#fff;color:var(--df-ink);outline:0}.header-search-form button{min-width:140px;border:0;background:var(--df-gold);color:#fff;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.05em}
.catalogue-context-kicker{display:inline-block;margin-bottom:8px;color:var(--df-gold);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.catalogue-filters .filter-block:first-child .filter-block-title{background:#fcf7ef}

@media(max-width:860px){
  .nav{overflow:auto}
  .nav > a,
  .nav > .nav-item,
  .nav > .header-search-toggle{height:auto}
  .nav > .nav-item{display:block;border-bottom:1px solid #edf0f1}
  .nav > .nav-item > .nav-link{display:block;padding:15px 38px 15px 5px;height:auto}
  .nav > a{padding:15px 5px;border-bottom:1px solid #edf0f1;font-size:15px}
  .nav > a.active::after,.nav > .nav-item > .nav-link.active::after{display:none}
  .submenu-toggle{position:absolute;top:9px;right:0;width:34px;height:34px;margin:0}
  .submenu,.submenu-large{position:static;min-width:0;column-count:1;box-shadow:none;border:0;border-top:1px solid #f0e6d8;padding:0 0 8px;background:transparent;display:none;opacity:1;visibility:visible;transform:none}
  .nav-item.submenu-open .submenu{display:block}
  .submenu a{padding:10px 5px 10px 18px;font-size:13px}
  .header-search-toggle{display:none}
  .header-search-panel{display:none}
}

/* ---------- V3 homepage / story enhancements ---------- */
.partner-tribute{position:relative;padding:88px 0;background:linear-gradient(rgba(31,20,12,.66),rgba(31,20,12,.72)),url('assets/img/editorial/histoire.jpg') center/cover no-repeat;color:#fff}
.partner-tribute-inner{max-width:1100px;text-align:center}.partner-kicker{display:block;color:#f6b733;font-size:22px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.partner-quote{max-width:980px;margin:28px auto 0}.partner-quote p{font-size:22px;line-height:1.72;color:rgba(255,255,255,.94);margin:0 0 10px}.partner-signature{margin-top:28px;padding-top:22px;display:flex;flex-direction:column;align-items:center;gap:6px}.partner-signature::before{content:"";width:54px;height:3px;background:var(--df-gold);display:block;margin-bottom:4px}.partner-signature strong{font-size:21px;text-transform:uppercase;letter-spacing:.02em}.partner-signature span{font-size:18px;color:#f6b733}
.service-pillars-wrap{background:#fffdf9}.service-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.service-pillar{background:#fff;border:1px solid var(--df-line);padding:28px;min-height:220px;transition:transform .22s ease, box-shadow .22s ease}.service-pillar:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(74,47,25,.08)}.service-pillar strong{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--df-gold);margin-bottom:14px}.service-pillar h3{color:var(--df-blue);font-size:22px;line-height:1.18;text-transform:uppercase}.service-pillar p{margin-top:12px;color:#6f7c84;font-size:13px;line-height:1.75}
.faq-home-section{background:#fcf8f2}.faq-home-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start}.faq-home-intro{padding:18px 6px 0 0}.faq-home-intro h3{font-size:30px;line-height:1.15;color:var(--df-blue);text-transform:uppercase}.faq-home-intro p{margin-top:14px;color:#68757d;line-height:1.8}.faq-home-note{font-weight:700;color:var(--df-gold)!important}
.faq{display:grid;gap:12px}.faq details{background:#fff;border:1px solid var(--df-line);padding:0 22px}.faq summary{list-style:none;cursor:pointer;padding:20px 30px 20px 0;position:relative;font-size:15px;font-weight:700;color:var(--df-blue)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--df-gold);font-size:24px;font-weight:400}.faq details[open] summary::after{content:'−'}.faq-content{padding:0 0 20px}.faq-content p{color:#68757d;font-size:13px;line-height:1.8}
.story-highlight{margin-top:48px;background:linear-gradient(135deg,#fff7ea 0%,#fff 100%);border:1px solid var(--df-line);display:grid;grid-template-columns:1.15fr .85fr;gap:30px;padding:38px}.story-highlight-copy h2{font-size:28px;color:var(--df-blue);text-transform:uppercase;margin-top:8px}.story-highlight-copy h3{margin-top:12px;font-size:26px;line-height:1.2;color:var(--df-ink)}.story-highlight-copy p{margin-top:14px;color:#66737b;line-height:1.8}.story-highlight-emphasis{font-weight:700;color:var(--df-gold)!important}.story-highlight-cards{display:grid;gap:14px}.story-highlight-cards article{background:#fff;border:1px solid var(--df-line);padding:24px}.story-highlight-cards strong{font-size:34px;line-height:1;color:var(--df-gold)}.story-highlight-cards span{display:block;margin-top:6px;color:var(--df-blue);font-size:15px;font-weight:700;text-transform:uppercase}.story-highlight-cards p{margin-top:8px;color:#6d7880;font-size:12px;line-height:1.7}

@media(max-width:1100px){.service-pillars{grid-template-columns:repeat(2,1fr)}.partner-quote p{font-size:20px}}
@media(max-width:860px){.faq-home-grid,.story-highlight{grid-template-columns:1fr}.partner-tribute{padding:68px 0}.partner-kicker{font-size:18px}.partner-quote p{font-size:18px}.service-pillars{grid-template-columns:1fr 1fr}.story-highlight-copy h3{font-size:22px}}
@media(max-width:560px){.partner-tribute{padding:56px 0}.partner-kicker{font-size:15px;line-height:1.35}.partner-quote p{font-size:16px;line-height:1.65}.partner-signature strong{font-size:18px}.partner-signature span{font-size:16px}.service-pillars{grid-template-columns:1fr}.faq summary{font-size:14px;padding:18px 28px 18px 0}.faq-home-intro h3{font-size:24px}.story-highlight{padding:24px}.story-highlight-copy h2{font-size:22px}.story-highlight-copy h3{font-size:20px}}

/* ---------- V3.1 — supplier-style editorial coherence ---------- */
/* The added content now follows the same restrained editorial system as Délifrance / Puratos / Vandemoortele:
   large imagery, clear hierarchy, fine separators, almost no card-shadow decoration. */
.partner-tribute{padding:78px 0;background:#fff;color:var(--df-text)}
.partner-tribute-grid{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--df-cream)}
.partner-tribute-visual{min-height:520px;overflow:hidden}
.partner-tribute-visual img{width:100%;height:100%;object-fit:cover}
.partner-tribute-copy{position:relative;padding:62px 66px 54px;display:flex;flex-direction:column;justify-content:center}
.partner-tribute-copy .df-kicker{margin-bottom:18px;color:var(--df-gold);font-size:10px;letter-spacing:.13em}
.partner-quote-mark{font-family:Georgia,serif;font-size:76px;line-height:.7;color:var(--df-gold);opacity:.82;margin-bottom:10px}
.partner-quote{margin:0;max-width:580px;text-align:left}
.partner-quote p{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.72;color:#4f433a;margin:0 0 14px}
.partner-signature{margin-top:20px;padding-top:19px;border-top:1px solid var(--df-line);display:block;text-align:left}
.partner-signature::before{display:none}
.partner-signature strong{display:block;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--df-blue)}
.partner-signature span{display:block;margin-top:4px;font-size:12px;color:var(--df-gold)}

.service-pillars-wrap{background:var(--df-cream);padding-top:70px;padding-bottom:70px}
.service-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:38px;border-top:1px solid var(--df-line);border-bottom:1px solid var(--df-line)}
.service-pillar{background:transparent;border:0;border-right:1px solid var(--df-line);padding:30px 30px 34px;min-height:210px;box-shadow:none;transform:none!important}
.service-pillar:last-child{border-right:0}
.service-pillar:hover{box-shadow:none;background:rgba(255,255,255,.45)}
.service-pillar strong{display:block;margin-bottom:13px;font-size:9px;letter-spacing:.14em;color:var(--df-gold)}
.service-pillar h3{font-size:20px;line-height:1.24;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--df-blue)}
.service-pillar p{margin-top:12px;font-size:13px;line-height:1.72;color:#73665d}

.faq-home-section{background:#fff;padding-top:76px;padding-bottom:84px}
.faq-home-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:84px;align-items:start;margin-top:28px}
.faq-home-intro{padding:0}
.faq-home-intro h3{font-size:31px;line-height:1.12;text-transform:none;letter-spacing:-.02em;color:var(--df-blue);max-width:390px}
.faq-home-intro p{max-width:390px;color:#756960;font-size:14px;line-height:1.75}
.faq-home-note{margin-top:24px!important;padding-top:18px;border-top:1px solid var(--df-line);font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--df-gold)!important}
.faq{display:block;border-top:1px solid var(--df-line)}
.faq details{background:transparent;border:0;border-bottom:1px solid var(--df-line);padding:0}
.faq summary{padding:21px 44px 21px 0;font-size:14px;letter-spacing:.005em;color:#4b3524}
.faq summary::after{right:2px;font-size:20px;color:var(--df-gold)}
.faq-content{padding:0 45px 22px 0}
.faq-content p{font-size:13px;line-height:1.7;color:#756960}

.story-highlight{margin-top:56px;background:#fff;border:0;border-top:1px solid var(--df-line);border-bottom:1px solid var(--df-line);display:grid;grid-template-columns:1.1fr .9fr;gap:72px;padding:44px 0}
.story-highlight-copy h2{font-size:12px;line-height:1.2;color:var(--df-gold);letter-spacing:.11em;text-transform:uppercase;margin-top:8px}
.story-highlight-copy h3{margin-top:15px;font-size:30px;line-height:1.17;color:var(--df-blue);font-weight:700;letter-spacing:-.02em}
.story-highlight-copy p{margin-top:14px;font-size:14px;color:#71655c;line-height:1.78}
.story-highlight-emphasis{margin-top:22px!important;padding-left:17px;border-left:3px solid var(--df-gold);font-size:13px!important;text-transform:uppercase;letter-spacing:.04em;color:var(--df-blue)!important}
.story-highlight-cards{display:grid;gap:0;border-top:1px solid var(--df-line)}
.story-highlight-cards article{display:grid;grid-template-columns:80px 1fr;column-gap:18px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--df-line);padding:20px 0}
.story-highlight-cards strong{grid-row:1/3;font-size:38px;line-height:1;color:var(--df-gold)}
.story-highlight-cards span{margin:0;font-size:12px;color:var(--df-blue);letter-spacing:.05em;text-transform:uppercase}
.story-highlight-cards p{margin:4px 0 0;color:#796c63;font-size:12px;line-height:1.55}

@media(max-width:1100px){
  .partner-tribute-copy{padding:48px 45px}
  .service-pillar{padding:26px 22px}
  .faq-home-grid{gap:48px}
  .story-highlight{gap:44px}
}
@media(max-width:860px){
  .partner-tribute-grid{grid-template-columns:1fr;min-height:0}.partner-tribute-visual{min-height:390px}.partner-tribute-copy{padding:44px 36px}
  .service-pillars{grid-template-columns:1fr 1fr}.service-pillar:nth-child(2){border-right:0}.service-pillar:nth-child(-n+2){border-bottom:1px solid var(--df-line)}
  .faq-home-grid,.story-highlight{grid-template-columns:1fr;gap:42px}
}
@media(max-width:560px){
  .partner-tribute{padding:50px 0}.partner-tribute-visual{min-height:280px}.partner-tribute-copy{padding:34px 24px}.partner-quote-mark{font-size:56px}.partner-quote p{font-size:16px;line-height:1.65}
  .service-pillars{grid-template-columns:1fr}.service-pillar{border-right:0!important;border-bottom:1px solid var(--df-line)}.service-pillar:last-child{border-bottom:0}.service-pillar h3{font-size:18px}
  .faq-home-section{padding-block:58px}.faq-home-intro h3{font-size:25px}.faq summary{font-size:13px;padding-block:18px}.faq-content{padding-right:25px}
  .story-highlight{padding:34px 0}.story-highlight-copy h3{font-size:24px}.story-highlight-cards article{grid-template-columns:68px 1fr}.story-highlight-cards strong{font-size:32px}
}

/* ---------- Mega menu with image ---------- */
.mega-menu{left:50%;transform:translate(-50%,8px);width:min(1180px,calc(100vw - 60px));padding:0;background:#efede0;border-color:#ddd1bd;box-shadow:0 26px 42px rgba(60,40,20,.14)}
.nav-item:hover .mega-menu,.nav-item.submenu-open .mega-menu{transform:translate(-50%,0);opacity:1;visibility:visible}
.mega-menu-grid{display:grid;grid-template-columns:280px 1fr;background:#efede0;min-height:420px}
.mega-menu-families{background:#ebe7d7;border-right:1px solid #d9c7aa;padding:26px 0;display:flex;flex-direction:column}
.mega-family{appearance:none;border:0;background:transparent;text-align:left;padding:18px 34px;color:#8f8b84;font-size:16px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:color .2s ease, background .2s ease, padding-left .2s ease;position:relative}
.mega-family:hover,.mega-family.active{color:var(--df-ink);background:rgba(255,255,255,.18);padding-left:42px}
.mega-family.active::before{content:"";position:absolute;left:26px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--df-gold);transform:translateY(-50%)}
.mega-menu-panels{position:relative;padding:36px 40px}
.mega-panel{display:none;grid-template-columns:minmax(430px,1.12fr) minmax(280px,.88fr);gap:34px;align-items:start}
.mega-panel.active{display:grid}
.mega-panel-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:24px;row-gap:6px}
.mega-panel-links a{display:inline-flex !important;padding:4px 0 !important;font-size:13.5px !important;line-height:1.25;color:#2c2c2c !important;background:none !important}
.mega-panel-links a:hover{color:var(--df-blue) !important}
.mega-panel-links .mega-cta{grid-column:1/-1;margin-top:12px;font-size:16px !important;font-weight:700;color:var(--df-ink) !important;gap:14px;align-items:center}
.mega-panel-links .mega-cta span{display:inline-block;font-size:28px;line-height:1;transform:translateY(-1px)}
.mega-panel-visual{display:block;background:#f7f4ec;padding:0}
.mega-panel-visual img{display:block;width:100%;height:300px;object-fit:cover}
.mega-panel-visual div{padding:16px 4px 0}
.mega-panel-visual small{display:block;color:#9f895b;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mega-panel-visual strong{display:block;margin-top:8px;color:#2d2d2d;font-size:20px;line-height:1.25}

@media(max-width:1180px){.mega-menu{width:min(1000px,calc(100vw - 30px))}.mega-menu-grid{grid-template-columns:230px 1fr}.mega-menu-panels{padding:28px}.mega-panel{grid-template-columns:minmax(360px,1.08fr) minmax(250px,.92fr);gap:24px}.mega-panel-links{column-gap:18px}.mega-panel-links a{font-size:12.5px !important}}
@media(max-width:860px){
  .mega-menu{left:0;transform:none !important;width:100%;background:transparent;border:0;box-shadow:none;padding:0}
  .mega-menu-grid{display:block;min-height:0;background:transparent}
  .mega-menu-families{background:transparent;border-right:0;padding:8px 0 0}
  .mega-family{width:100%;padding:12px 18px;color:var(--df-ink);font-size:14px;border-bottom:1px solid #ece3d4}
  .mega-family.active,.mega-family:hover{padding-left:22px;background:#faf6ef}
  .mega-family.active::before{left:10px}
  .mega-menu-panels{padding:12px 0 4px}
  .mega-panel,.mega-panel.active{display:none;grid-template-columns:1fr;gap:12px;padding:0 0 8px}
  .mega-panel.mobile-active{display:grid}
  .mega-panel-links{grid-template-columns:1fr;gap:0}.mega-panel-links a{padding:10px 18px !important;border-bottom:1px solid #f0e8dc}
  .mega-panel-links .mega-cta{margin-top:0;padding-top:12px !important}
  .mega-panel-visual{padding:0 18px}.mega-panel-visual img{height:190px}.mega-panel-visual div{padding:10px 0 0}
}

/* ---------- Mega menus V2: all main entries ---------- */
.topbar-inner{position:relative}
.nav{position:relative;overflow:visible}
.nav-item.has-mega{position:static}
.mega-menu{top:calc(100% + 1px)}
.mega-simple{left:50%;transform:translate(-50%,8px);width:min(1080px,calc(100vw - 60px));padding:0;background:#f4f0e6;border:1px solid #ddd1bd;box-shadow:0 26px 42px rgba(60,40,20,.14)}
.nav-item:hover .mega-simple,.nav-item.submenu-open .mega-simple{transform:translate(-50%,0);opacity:1;visibility:visible}
.mega-simple-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(320px,1fr);gap:34px;align-items:center;padding:34px 36px}
.mega-simple-copy small{display:block;color:#a88b58;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mega-simple-copy h3{margin-top:12px;color:var(--df-ink);font-size:30px;line-height:1.12;text-transform:uppercase}
.mega-simple-links{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.mega-simple-links a{display:inline-flex !important;padding:2px 0 !important;color:#2e2e2e !important;font-size:16px !important;background:none !important}
.mega-simple-links a:hover{color:var(--df-blue) !important}
.mega-simple-visual{display:block}
.mega-simple-visual img{display:block;width:100%;height:280px;object-fit:cover}
.mega-simple-visual div{padding:14px 2px 0}
.mega-simple-visual small{display:block;color:#a88b58;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mega-simple-visual strong{display:block;margin-top:8px;color:#2f2f2f;font-size:21px;line-height:1.28}

@media(max-width:860px){
  .nav-item.has-mega{position:relative}
  .mega-simple{left:0;transform:none !important;width:100%;background:transparent;border:0;box-shadow:none}
  .mega-simple-grid{grid-template-columns:1fr;gap:12px;padding:12px 0 6px}
  .mega-simple-copy h3{font-size:21px;padding:0 18px}
  .mega-simple-copy small{padding:0 18px}
  .mega-simple-links{gap:0;margin-top:10px}
  .mega-simple-links a{padding:10px 18px !important;border-bottom:1px solid #efe5d4;font-size:14px !important}
  .mega-simple-visual{padding:0 18px}
  .mega-simple-visual img{height:190px}
}


/* ---------- FIX V10 : mega menus parfaitement centrés ---------- */
/* Le menu était centré par rapport à la zone <nav>, qui commence après le logo.
   On utilise maintenant .topbar-inner comme repère de centrage. */
@media(min-width:861px){
  .topbar-inner{position:relative!important}
  .nav{position:static!important;overflow:visible!important}
  .nav-item.has-mega{position:static!important}

  .nav-item.has-mega > .mega-menu{
    position:absolute!important;
    top:100%!important;
    left:50%!important;
    right:auto!important;
    width:min(1180px,calc(100vw - 48px))!important;
    max-width:calc(100vw - 48px)!important;
    margin:0!important;
    transform:translate(-50%,8px)!important;
  }

  .nav-item.has-mega:hover > .mega-menu,
  .nav-item.has-mega.submenu-open > .mega-menu{
    transform:translate(-50%,0)!important;
  }

  .nav-item.has-mega > .mega-menu.mega-simple{
    width:min(1080px,calc(100vw - 48px))!important;
    max-width:calc(100vw - 48px)!important;
  }
}

/* ---------- Nos familles page ---------- */
.page-families{background:#fffdf9}
.families-page-hero{padding:78px 0 62px;background:linear-gradient(135deg,#f7efe3 0%,#fffaf4 62%,#f2e5d4 100%);border-bottom:1px solid #e8dccd}
.families-breadcrumb{display:flex;gap:9px;align-items:center;margin-bottom:30px;color:#958779;font-size:11px}.families-breadcrumb a{color:#795331}.families-page-hero h1{max-width:760px;margin-top:8px;color:var(--df-blue);font-size:60px;line-height:1.02;text-transform:uppercase;letter-spacing:-.035em}.families-page-hero p{max-width:790px;margin-top:20px;color:#6f6258;font-size:17px;line-height:1.75}.families-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.families-anchor-nav{position:sticky;top:0;z-index:40;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);border-bottom:1px solid #eadfd2}.families-anchor-nav .container{display:flex;align-items:center;gap:0;overflow:auto;scrollbar-width:none}.families-anchor-nav .container::-webkit-scrollbar{display:none}.families-anchor-nav a{flex:0 0 auto;padding:18px 17px;color:#5d4a3c;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;border-bottom:3px solid transparent}.families-anchor-nav a:hover{color:var(--df-blue);border-color:var(--df-gold)}
.families-main{overflow:hidden}.family-story{--family:#a97842;--family-soft:#f6eee4;scroll-margin-top:100px;padding:82px 0;background:linear-gradient(180deg,#fffdf9 0%,var(--family-soft) 100%)}.family-story:nth-of-type(even){background:linear-gradient(180deg,var(--family-soft) 0%,#fffdf9 100%)}.family-story-inner{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:72px;align-items:center}.family-story:nth-of-type(even) .family-story-image{order:2}.family-story-image{position:relative;margin:0}.family-story-image::before{content:"";position:absolute;left:-20px;bottom:-20px;width:64%;height:58%;background:var(--family);opacity:.12;z-index:0}.family-story-image::after{content:"";position:absolute;left:28px;right:-18px;bottom:-18px;height:4px;background:var(--family);z-index:2}.family-story-image img{position:relative;z-index:1;width:100%;aspect-ratio:1.45/1;object-fit:cover;display:block;box-shadow:0 20px 44px rgba(76,50,26,.10)}.family-story-copy{padding:10px 0}.family-index{display:block;color:var(--family);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.family-story-copy h2{max-width:590px;margin-top:14px;color:#3e2c20;font-size:38px;line-height:1.08;text-transform:uppercase;letter-spacing:-.025em}.family-story-copy p{max-width:620px;margin-top:18px;color:#6d625a;font-size:15px;line-height:1.8}.family-subcats{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.family-subcats span{padding:7px 10px;border:1px solid color-mix(in srgb,var(--family) 28%,#fff);background:rgba(255,255,255,.72);color:#65574d;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.family-link{display:inline-flex;align-items:center;gap:18px;margin-top:28px;padding:13px 18px;background:#4c321a;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;box-shadow:0 8px 18px rgba(61,39,19,.10)}.family-link b{font-size:21px;line-height:.6}.family-link:hover{background:var(--family);color:#fff}
.family-patisserie{--family:#a97842;--family-soft:#f6eee4}.family-boulangerie{--family:#df9e18;--family-soft:#fcf5df}.family-frais{--family:#267438;--family-soft:#edf6ee}.family-surgeles{--family:#173b77;--family-soft:#edf1f8}.family-snacking{--family:#867f78;--family-soft:#f2f0ed}.family-boissons{--family:#c45119;--family-soft:#fbefe9}.family-emballages{--family:#887a42;--family-soft:#f4f1e4}
.families-final-cta{padding:64px 0;background:#4c321a;color:#fff}.families-final-cta .container{display:flex;align-items:center;justify-content:space-between;gap:50px}.families-final-cta h2{max-width:760px;margin-top:7px;font-size:34px;line-height:1.1;text-transform:uppercase}.families-final-cta p{max-width:700px;margin-top:12px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.7}.families-final-actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}.families-final-cta .btn-light{border-color:#fff;background:#fff;color:#4c321a}.families-final-cta .btn-light:hover{background:transparent;color:#fff}

@media(max-width:1180px){.family-story-inner{gap:46px}.family-story-copy h2{font-size:33px}.families-page-hero h1{font-size:52px}}
@media(max-width:860px){.families-page-hero{padding:58px 0 48px}.families-page-hero h1{font-size:43px}.families-page-hero p{font-size:15px}.families-anchor-nav{position:relative;top:auto}.family-story{padding:62px 0}.family-story-inner{grid-template-columns:1fr;gap:34px}.family-story:nth-of-type(even) .family-story-image{order:0}.family-story-image{max-width:720px}.family-story-copy h2{font-size:31px}.families-final-cta .container{align-items:flex-start;flex-direction:column}.families-final-actions{width:100%}}
@media(max-width:560px){.families-page-hero{padding:44px 0 40px}.families-breadcrumb{margin-bottom:22px}.families-page-hero h1{font-size:35px}.families-page-hero p{font-size:14px;line-height:1.7}.families-hero-actions .btn{width:100%}.families-anchor-nav a{padding:14px 12px;font-size:10px}.family-story{padding:48px 0}.family-story-image::before{left:-10px;bottom:-10px}.family-story-image::after{left:18px;right:-8px;bottom:-10px}.family-story-copy h2{font-size:26px}.family-story-copy p{font-size:13px}.family-subcats{gap:6px}.family-subcats span{font-size:9px;padding:6px 8px}.family-link{width:100%;justify-content:space-between}.families-final-cta{padding:48px 0}.families-final-cta h2{font-size:27px}.families-final-actions{flex-direction:column}.families-final-actions .btn{width:100%}}
@media(max-width:1300px) and (min-width:861px){.topbar-inner{gap:18px}.nav > a,.nav > .nav-item > .nav-link{padding-left:10px;padding-right:10px;font-size:12px}.nav > a.active::after,.nav > .nav-item > .nav-link.active::after{left:10px;right:10px}.submenu-toggle{margin-right:3px}.nav a.nav-call{display:none}}

/* ---------- Catalogue V15 : familles + accordéon sous-familles ---------- */
.catalogue-v2 .catalogue-family-accordion-section{padding:28px 0 52px;background:linear-gradient(180deg,#fff 0%,#fbf7f1 100%);border-top:1px solid var(--df-line);border-bottom:1px solid var(--df-line)}
.catalogue-v2 .catalogue-family-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.catalogue-v2 .catalogue-family-heading h2{margin-top:7px;color:var(--df-blue);font-size:34px;line-height:1.08;text-transform:uppercase}
.catalogue-v2 .catalogue-family-heading p{max-width:760px;margin-top:10px;color:#75675e;font-size:13px;line-height:1.7}
.catalogue-v2 .catalogue-show-all{height:44px;padding:0 18px;border:1px solid #cdbfae;background:#fff;color:var(--df-blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.catalogue-v2 .catalogue-show-all:hover{background:var(--df-blue);color:#fff;border-color:var(--df-blue)}
.catalogue-v2 .catalogue-family-accordion{display:grid;gap:10px}
.catalogue-v2 .family-accordion-item{background:#fff;border:1px solid #e5dbd0;transition:border-color .2s ease,box-shadow .2s ease}
.catalogue-v2 .family-accordion-item:hover,.catalogue-v2 .family-accordion-item.open{border-color:#d3bea0;box-shadow:0 10px 24px rgba(74,47,25,.055)}
.catalogue-v2 .family-accordion-item.active{border-color:#c19038}
.catalogue-v2 .family-accordion-trigger{width:100%;min-height:92px;border:0;background:#fff;display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:20px;padding:0 24px 0 0;text-align:left;cursor:pointer;color:inherit}
.catalogue-v2 .family-accordion-thumb{width:110px;height:90px;overflow:hidden;background:#f2ece4;display:grid;place-items:center;font-size:30px}
.catalogue-v2 .family-accordion-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.catalogue-v2 .family-accordion-item:hover .family-accordion-thumb img{transform:scale(1.045)}
.catalogue-v2 .family-accordion-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.catalogue-v2 .family-accordion-title strong{color:#3f2b1d;font-size:22px;text-transform:uppercase;letter-spacing:.01em}
.catalogue-v2 .family-accordion-title small{color:#9a8a7e;font-size:11px;white-space:nowrap}
.catalogue-v2 .family-accordion-arrow{width:34px;height:34px;border-radius:50%;border:1px solid #dfd2c3;display:grid;place-items:center;color:#9a7443;font-size:18px;transition:transform .2s ease,background .2s ease,color .2s ease}
.catalogue-v2 .family-accordion-item.open .family-accordion-arrow{transform:rotate(180deg);background:#6a4524;color:#fff;border-color:#6a4524}
.catalogue-v2 .family-accordion-panel{border-top:1px solid #eee4d9;background:#fcfaf7;padding:18px 22px 22px 132px}
.catalogue-v2 .family-subfamily-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.catalogue-v2 .family-subfamily-card{min-height:68px;border:1px solid #e4d9cd;background:#fff;padding:12px 14px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 10px;text-align:left;color:#55463b;cursor:pointer;transition:.18s}
.catalogue-v2 .family-subfamily-card span{font-size:12px;font-weight:750;line-height:1.25}
.catalogue-v2 .family-subfamily-card small{font-size:9.5px;color:#9b8e84}
.catalogue-v2 .family-subfamily-card b{grid-column:2;grid-row:1/3;align-self:center;font-size:18px;color:#b28a51;font-weight:400}
.catalogue-v2 .family-subfamily-card:hover,.catalogue-v2 .family-subfamily-card.active{background:#6a4524;border-color:#6a4524;color:#fff;transform:translateY(-1px)}
.catalogue-v2 .family-subfamily-card:hover small,.catalogue-v2 .family-subfamily-card.active small,.catalogue-v2 .family-subfamily-card:hover b,.catalogue-v2 .family-subfamily-card.active b{color:#f2dfbd}
.catalogue-v2 .family-subfamily-all{background:#f6efe5;border-color:#dcc7a8}
.catalogue-v2 .family-accordion-loading{padding:30px;border:1px solid var(--df-line);background:#fff;color:#897b70;text-align:center}
.catalogue-v2 .catalogue-browser{padding-top:34px}
.catalogue-v2 .catalogue-body{display:block!important}
.catalogue-v2 .catalogue-products-area{width:100%}
.catalogue-v2 .catalogue-topline{margin-bottom:24px}
.catalogue-v2 .catalogue-active-filters{margin-bottom:22px}
.catalogue-v2 .catalogue-context{padding-top:4px}
.catalogue-v2 .catalogue-context-kicker{color:#c19038}

@media(max-width:1100px){.catalogue-v2 .family-subfamily-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.catalogue-v2 .catalogue-family-heading{align-items:flex-start;flex-direction:column}.catalogue-v2 .catalogue-show-all{width:100%}.catalogue-v2 .family-accordion-trigger{grid-template-columns:90px 1fr 36px;min-height:82px}.catalogue-v2 .family-accordion-thumb{width:90px;height:80px}.catalogue-v2 .family-accordion-title{align-items:flex-start;flex-direction:column;gap:5px}.catalogue-v2 .family-accordion-title strong{font-size:18px}.catalogue-v2 .family-accordion-panel{padding:14px 16px 18px}.catalogue-v2 .family-subfamily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-v2 .catalogue-topline{align-items:flex-start}.catalogue-v2 .catalogue-display-controls{order:3;width:100%}}
@media(max-width:520px){.catalogue-v2 .catalogue-family-accordion-section{padding:22px 0 36px}.catalogue-v2 .catalogue-family-heading h2{font-size:28px}.catalogue-v2 .family-accordion-trigger{grid-template-columns:76px 1fr 32px;gap:13px;padding-right:12px;min-height:72px}.catalogue-v2 .family-accordion-thumb{width:76px;height:70px}.catalogue-v2 .family-accordion-title strong{font-size:16px}.catalogue-v2 .family-accordion-title small{font-size:9px}.catalogue-v2 .family-subfamily-grid{grid-template-columns:1fr}.catalogue-v2 .family-subfamily-card{min-height:58px}.catalogue-v2 .catalogue-display-controls{flex-wrap:wrap}.catalogue-v2 .catalogue-sort{width:100%;justify-content:space-between}.catalogue-v2 .catalogue-sort select{flex:1}}
@media print{.catalogue-v2 .catalogue-family-accordion-section{display:none!important}}

/* ---------- V16 Catalogue : accordéon à côté des produits ---------- */
.catalogue-v2 .catalogue-workspace{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:34px;
  align-items:start;
  padding-top:30px;
  padding-bottom:58px;
}
.catalogue-v2 .catalogue-family-side{
  position:sticky;
  top:104px;
  align-self:start;
  max-height:calc(100vh - 124px);
  overflow:auto;
  background:#fbf7f1;
  border:1px solid var(--df-line);
  scrollbar-width:thin;
}
.catalogue-v2 .catalogue-family-side-head{
  padding:24px 22px 20px;
  border-bottom:1px solid var(--df-line);
  background:#f5eee4;
}
.catalogue-v2 .catalogue-family-side-head h2{
  margin:6px 0 7px;
  color:var(--df-blue);
  font-size:25px;
  line-height:1.05;
  text-transform:uppercase;
}
.catalogue-v2 .catalogue-family-side-head p{
  margin:0 0 16px;
  color:#786a5f;
  font-size:12px;
  line-height:1.55;
}
.catalogue-v2 .catalogue-family-side .catalogue-show-all{
  width:100%;
  min-height:39px;
  padding:9px 12px;
}
.catalogue-v2 .catalogue-family-side .catalogue-family-accordion{
  display:block;
}
.catalogue-v2 .catalogue-family-side .family-accordion-item{
  border:0;
  border-bottom:1px solid #e8ddd0;
  box-shadow:none!important;
}
.catalogue-v2 .catalogue-family-side .family-accordion-item:last-child{border-bottom:0}
.catalogue-v2 .catalogue-family-side .family-accordion-trigger{
  min-height:66px;
  grid-template-columns:72px minmax(0,1fr) 30px;
  gap:12px;
  padding:0 13px 0 0;
}
.catalogue-v2 .catalogue-family-side .family-accordion-thumb{
  width:72px;
  height:65px;
}
.catalogue-v2 .catalogue-family-side .family-accordion-title{
  display:block;
}
.catalogue-v2 .catalogue-family-side .family-accordion-title strong{
  display:block;
  font-size:15px;
  line-height:1.15;
}
.catalogue-v2 .catalogue-family-side .family-accordion-title small{
  display:block;
  margin-top:4px;
  font-size:9px;
}
.catalogue-v2 .catalogue-family-side .family-accordion-arrow{
  width:28px;
  height:28px;
  font-size:15px;
}
.catalogue-v2 .catalogue-family-side .family-accordion-panel{
  padding:8px 12px 12px;
  background:#fffdf9;
}
.catalogue-v2 .catalogue-family-side .family-subfamily-grid{
  grid-template-columns:1fr;
  gap:5px;
}
.catalogue-v2 .catalogue-family-side .family-subfamily-card{
  min-height:46px;
  padding:9px 11px;
  background:#fff;
}
.catalogue-v2 .catalogue-family-side .family-subfamily-card span{
  font-size:11px;
  line-height:1.2;
}
.catalogue-v2 .catalogue-family-side .family-subfamily-card small{
  font-size:8px;
}
.catalogue-v2 .catalogue-family-side .family-subfamily-card b{
  font-size:16px;
}
.catalogue-v2 .catalogue-browser{
  width:100%;
  min-width:0;
  padding:0;
}
.catalogue-v2 .catalogue-products-area{min-width:0}
.catalogue-v2 .catalogue-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:1180px){
  .catalogue-v2 .catalogue-workspace{grid-template-columns:290px minmax(0,1fr);gap:24px}
  .catalogue-v2 .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .catalogue-v2 .catalogue-workspace{display:block;padding-top:20px}
  .catalogue-v2 .catalogue-family-side{position:static;max-height:none;margin-bottom:24px;overflow:visible}
  .catalogue-v2 .catalogue-family-side-head{padding:20px}
  .catalogue-v2 .catalogue-family-side .family-accordion-trigger{grid-template-columns:82px minmax(0,1fr) 34px;min-height:76px}
  .catalogue-v2 .catalogue-family-side .family-accordion-thumb{width:82px;height:75px}
  .catalogue-v2 .catalogue-family-side .family-accordion-title strong{font-size:17px}
  .catalogue-v2 .catalogue-family-side .family-subfamily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .catalogue-v2 .catalogue-family-side .family-subfamily-grid{grid-template-columns:1fr}
  .catalogue-v2 .catalogue-grid{grid-template-columns:1fr}
}
@media print{
  .catalogue-v2 .catalogue-family-side{display:none!important}
  .catalogue-v2 .catalogue-workspace{display:block!important;padding:0!important}
}

/* ==========================================================
   V17 — Catalogue latéral fonctionnel + cohérence Accueil/Contact
   ========================================================== */

/* Accueil : continuité visuelle entre produits, "Parfaits pour vous" et 3 cartes */
.page-home #top-produits{background:linear-gradient(180deg,#fff 0%,#fbf7f1 100%);padding-bottom:72px}
.page-home #votre-activite{background:linear-gradient(180deg,#fbf7f1 0%,#f6eee3 100%);padding-top:66px;padding-bottom:66px}
.page-home .promo-highlight-section{background:linear-gradient(180deg,#f6eee3 0%,#fffdf9 100%);padding-top:62px;padding-bottom:78px}
.page-home #votre-activite + .promo-highlight-section{margin-top:0}

/* ---------- Catalogue : hero cohérent avec l'accueil ---------- */
.catalogue-v2 .catalogue-heading-v17{padding:0;background:linear-gradient(180deg,#fffdf9 0%,#f7efe4 100%);border-bottom:1px solid var(--df-line)}
.catalogue-v2 .catalogue-heading-v17>.container{padding-top:24px;padding-bottom:28px}
.catalogue-v2 .catalogue-heading-v17 .catalogue-breadcrumb{margin-bottom:18px}
.catalogue-v2 .catalogue-hero-grid{display:block}
.catalogue-v2 .catalogue-heading-copy{text-align:left;max-width:none;margin:0}
.catalogue-v2 .catalogue-heading-v17 h1{max-width:1100px;font-size:clamp(40px,4vw,58px);line-height:1.02;letter-spacing:-.03em;text-transform:uppercase;color:var(--df-blue)}
.catalogue-v2 .catalogue-heading-v17 .df-divider{margin:16px 0 0}
.catalogue-v2 .catalogue-heading-v17 p{max-width:1100px;margin:14px 0 0;font-size:14px;line-height:1.7;color:#716157}
.catalogue-v2 .catalogue-family-guide{display:inline-flex;align-items:center;gap:16px;margin-top:16px;color:var(--df-blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.catalogue-v2 .catalogue-family-guide span{font-size:22px;font-weight:400;transition:transform .2s ease}.catalogue-v2 .catalogue-family-guide:hover span{transform:translateX(5px)}
.catalogue-v2 .catalogue-heading-visual{display:none!important}

/* Barre recherche : même brun/or que le reste du site */
.catalogue-v2 .catalogue-mega-search{background:#5a371b;padding:14px 0}.catalogue-v2 .catalogue-search-form{max-width:980px;height:48px}.catalogue-v2 .catalogue-search-form button{background:var(--df-gold)}

/* Workspace : vrai panneau latéral + résultats côte à côte */
.catalogue-v2 .catalogue-workspace{width:min(1440px,calc(100% - 48px));margin:0 auto;display:grid!important;grid-template-columns:310px minmax(0,1fr)!important;gap:38px!important;align-items:start;padding:52px 0 76px!important}
.catalogue-v2 .catalogue-family-side{position:sticky!important;top:102px!important;align-self:start!important;max-height:calc(100vh - 126px)!important;overflow:auto!important;background:#fffdf9!important;border:1px solid #e5d8c9!important;box-shadow:none!important}
.catalogue-v2 .catalogue-family-side-head{padding:25px 22px 21px!important;background:linear-gradient(180deg,#f7efe4 0%,#f3e7d8 100%)!important;border-bottom:1px solid #dfd1c0!important}
.catalogue-v2 .catalogue-family-side-head .df-kicker{font-size:9px}.catalogue-v2 .catalogue-family-side-head h2{font-size:27px!important;margin:7px 0 8px!important}.catalogue-v2 .catalogue-family-side-head p{font-size:11.5px!important;line-height:1.6!important;margin-bottom:17px!important}
.catalogue-v2 .catalogue-show-all{width:100%;min-height:42px;border:1px solid #bda98e!important;background:#fff!important;color:var(--df-blue)!important}.catalogue-v2 .catalogue-show-all:hover{background:var(--df-blue)!important;color:#fff!important}
.catalogue-v2 .catalogue-family-accordion{display:block!important}
.catalogue-v2 .family-accordion-item{border:0!important;border-bottom:1px solid #eadfd2!important;background:#fff!important;box-shadow:none!important}
.catalogue-v2 .family-accordion-item:last-child{border-bottom:0!important}
.catalogue-v2 .family-accordion-item.active{box-shadow:inset 3px 0 0 var(--df-gold)!important}
.catalogue-v2 .family-accordion-trigger{width:100%;min-height:60px!important;display:grid!important;grid-template-columns:35px minmax(0,1fr) 28px!important;gap:10px!important;align-items:center!important;padding:10px 14px!important;border:0!important;background:#fff!important;text-align:left!important;cursor:pointer!important}
.catalogue-v2 .family-accordion-item.open>.family-accordion-trigger{background:#fbf5ec!important}
.catalogue-v2 .family-accordion-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#f1e5d4;font-size:16px}
.catalogue-v2 .family-accordion-title{display:block!important}.catalogue-v2 .family-accordion-title strong{display:block!important;color:#49301f!important;font-size:14px!important;line-height:1.2!important;text-transform:uppercase!important}.catalogue-v2 .family-accordion-title small{display:block!important;margin-top:3px!important;color:#9a8b80!important;font-size:8.5px!important}
.catalogue-v2 .family-accordion-arrow{width:26px!important;height:26px!important;border:1px solid #ddcfbf!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:14px!important;color:#8b673e!important;transition:transform .2s ease,background .2s ease,color .2s ease!important}
.catalogue-v2 .family-accordion-item.open .family-accordion-arrow{transform:rotate(180deg)!important;background:var(--df-blue)!important;border-color:var(--df-blue)!important;color:#fff!important}
.catalogue-v2 .family-accordion-panel{padding:0 14px 14px 58px!important;border-top:0!important;background:#fbf7f1!important}
.catalogue-v2 .family-accordion-panel[hidden]{display:none!important}
.catalogue-v2 .family-view-all{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border:0;border-bottom:1px solid #e4d7c7;background:transparent;color:#6a4524;text-align:left;font-size:10.5px;font-weight:800;text-transform:uppercase;cursor:pointer}
.catalogue-v2 .family-view-all span{font-size:18px;font-weight:400}.catalogue-v2 .family-view-all:hover,.catalogue-v2 .family-view-all.active{color:var(--df-gold)}
.catalogue-v2 .family-subfamily-list{display:flex;flex-direction:column;padding-top:5px}
.catalogue-v2 .family-subfamily-link{width:100%;min-height:34px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;color:#66564b;text-align:left;font-size:11px;cursor:pointer;border-bottom:1px solid #eee6dc}
.catalogue-v2 .family-subfamily-link:last-child{border-bottom:0}.catalogue-v2 .family-subfamily-link small{min-width:24px;height:20px;display:grid;place-items:center;border-radius:20px;background:#eee3d5;color:#8c7a6e;font-size:8.5px}.catalogue-v2 .family-subfamily-link:hover,.catalogue-v2 .family-subfamily-link.active{color:var(--df-blue);font-weight:800}.catalogue-v2 .family-subfamily-link.active small{background:var(--df-gold);color:#fff}
.catalogue-v2 .catalogue-browser{min-width:0!important;width:100%!important;padding:0!important;margin:0!important}
.catalogue-v2 .catalogue-topline{margin-bottom:22px!important;padding-bottom:18px;border-bottom:1px solid #e7dbcf}
.catalogue-v2 .catalogue-context{margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #e7dbcf}.catalogue-v2 .catalogue-context h2{font-size:30px;color:var(--df-blue)}.catalogue-v2 .catalogue-context p{color:#8b7b70}
.catalogue-v2 .catalogue-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:34px 24px!important}
.catalogue-v2 .catalogue-product-card{background:#fff;border:1px solid #eadfd4}.catalogue-v2 .catalogue-card-media{background:#fbf8f4}.catalogue-v2 .catalogue-card-body{padding:17px 17px 19px}.catalogue-v2 .catalogue-card-body h3{color:#4b3322}.catalogue-v2 .catalogue-card-link{color:var(--df-blue)}

/* ---------- Contact : même langage visuel que l'accueil ---------- */
.page-contact{background:#fffdf9}
.contact-hero-v17{background:linear-gradient(180deg,#fffdf9 0%,#f6eee3 100%);border-bottom:1px solid var(--df-line);padding:34px 0 54px}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:62px;align-items:center}.contact-hero-copy .crumb{font-size:11px;color:#9a8b80;margin-bottom:30px}.contact-hero-copy .crumb a{color:var(--df-blue)}.contact-hero-copy h1{margin-top:10px;font-size:clamp(40px,4.6vw,68px);line-height:.98;letter-spacing:-.035em;text-transform:uppercase;color:var(--df-blue)}.contact-hero-copy .df-divider{margin:20px 0}.contact-hero-copy>p{max-width:640px;color:#716157;font-size:14px;line-height:1.8}.contact-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.contact-hero-visual{height:390px;overflow:hidden;background:#eadfce}.contact-hero-visual img{width:100%;height:100%;display:block;object-fit:cover}
.contact-actions-v17{background:#5a371b}.contact-actions-grid{display:grid;grid-template-columns:repeat(3,1fr)}.contact-actions-grid>a{min-height:148px;padding:27px 30px;border-right:1px solid rgba(255,255,255,.17);display:flex;flex-direction:column;justify-content:center;color:#fff}.contact-actions-grid>a:last-child{border-right:0}.contact-actions-grid small{color:#e6bf78;text-transform:uppercase;font-size:9px;letter-spacing:.11em;font-weight:700}.contact-actions-grid strong{font-size:20px;margin-top:7px;line-height:1.2}.contact-actions-grid span{margin-top:12px;font-size:10px;text-transform:uppercase;color:rgba(255,255,255,.72)}.contact-actions-grid>a:hover{background:rgba(255,255,255,.05)}
.contact-main-v17{padding:78px 0;background:linear-gradient(180deg,#fff 0%,#fbf7f1 100%)}.contact-section-heading{max-width:760px;margin-bottom:34px}.contact-section-heading h2{margin-top:8px;color:var(--df-blue);font-size:36px;line-height:1.08;text-transform:uppercase}.contact-section-heading .df-divider{margin:16px 0}.contact-section-heading>p{color:#78685e;line-height:1.7}
.contact-layout-v17{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:34px;align-items:start}.contact-form-v17{background:#fff;border:1px solid var(--df-line);padding:36px}.contact-form-v17 .field label{color:#866f5c}.contact-form-v17 .field input,.contact-form-v17 .field select,.contact-form-v17 .field textarea{border-color:#ded2c5;background:#fffdfb}.contact-form-v17 .field input:focus,.contact-form-v17 .field select:focus,.contact-form-v17 .field textarea:focus{border-color:var(--df-gold);box-shadow:0 0 0 2px rgba(193,144,56,.08)}
.contact-help-v17{background:#f3e7d8;padding:34px 30px;border-top:4px solid var(--df-gold)}.contact-help-v17 h3{margin-top:9px;color:var(--df-blue);font-size:25px;line-height:1.12;text-transform:uppercase}.contact-help-v17 ul{margin:23px 0 0;padding:0;list-style:none}.contact-help-v17 li{position:relative;padding:11px 0 11px 25px;border-bottom:1px solid #ddcdb9;color:#68564a;font-size:12px;line-height:1.5}.contact-help-v17 li::before{content:'→';position:absolute;left:0;color:var(--df-gold)}.contact-help-call{margin-top:26px;padding-top:21px;border-top:1px solid #d5c3ad}.contact-help-call small{display:block;color:#897565;font-size:10px;text-transform:uppercase}.contact-help-call a{display:inline-block;margin-top:7px;color:var(--df-blue);font-size:21px;font-weight:800}
.contact-stores-v17{padding:72px 0;background:#fffdf9}.contact-store-grid-v17{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-store-grid-v17 article{min-height:220px;border:1px solid var(--df-line);display:grid;grid-template-columns:120px 1fr;background:#fff}.contact-store-grid-v17 .store-number{display:grid;place-items:center;background:#f3e7d8;color:var(--df-gold);font-size:44px;font-weight:800}.contact-store-grid-v17 article>div{padding:29px}.contact-store-grid-v17 small{color:var(--df-gold);font-size:9px;letter-spacing:.1em}.contact-store-grid-v17 h3{margin-top:5px;color:var(--df-blue);font-size:26px;text-transform:uppercase}.contact-store-grid-v17 p{margin-top:12px;color:#75665c;font-size:13px;line-height:1.65}.contact-store-grid-v17 a{display:inline-block;margin-top:16px;color:var(--df-blue);font-weight:800}
.contact-final-v17{background:var(--df-blue);color:#fff;padding:54px 0}.contact-final-v17 .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-final-v17 .df-kicker{color:#e6bf78}.contact-final-v17 h2{margin-top:5px;font-size:30px;line-height:1.1;text-transform:uppercase}.contact-final-v17 p{margin-top:8px;color:rgba(255,255,255,.78)}

@media(max-width:1180px){
  .catalogue-v2 .catalogue-workspace{grid-template-columns:280px minmax(0,1fr)!important;gap:26px!important}.catalogue-v2 .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalogue-v2 .catalogue-hero-grid,.contact-hero-grid{gap:38px}.contact-layout-v17{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}
}
@media(max-width:900px){
  .catalogue-v2 .catalogue-hero-grid,.contact-hero-grid{grid-template-columns:1fr}.contact-hero-visual{height:330px}.catalogue-v2 .catalogue-workspace{display:block!important;width:min(100% - 32px,760px)!important;padding-top:26px!important}.catalogue-v2 .catalogue-family-side{position:static!important;max-height:none!important;overflow:visible!important;margin-bottom:24px}.catalogue-v2 .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .contact-actions-grid{grid-template-columns:1fr}.contact-actions-grid>a{min-height:112px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-actions-grid>a:last-child{border-bottom:0}.contact-layout-v17{grid-template-columns:1fr}.contact-store-grid-v17{grid-template-columns:1fr}.contact-final-v17 .container{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .catalogue-v2 .catalogue-heading-v17>.container{padding-top:22px;padding-bottom:34px}.catalogue-v2 .catalogue-heading-visual,.contact-hero-visual{height:245px}.catalogue-v2 .catalogue-workspace{width:min(100% - 24px,760px)!important}.catalogue-v2 .catalogue-grid{grid-template-columns:1fr!important}.catalogue-v2 .catalogue-family-side-head{padding:20px 17px 18px!important}.catalogue-v2 .family-accordion-trigger{padding-inline:12px!important}.catalogue-v2 .family-accordion-panel{padding-left:54px!important;padding-right:12px!important}
  .contact-hero-v17{padding:24px 0 38px}.contact-hero-copy h1{font-size:40px}.contact-hero-actions{flex-direction:column}.contact-hero-actions .btn{width:100%}.contact-main-v17,.contact-stores-v17{padding:55px 0}.contact-section-heading h2{font-size:28px}.contact-form-v17{padding:24px 18px}.contact-help-v17{padding:27px 21px}.contact-store-grid-v17 article{grid-template-columns:82px 1fr}.contact-store-grid-v17 .store-number{font-size:32px}.contact-store-grid-v17 article>div{padding:23px 18px}.contact-final-v17 h2{font-size:25px}
}

@media print{.catalogue-v2 .catalogue-family-side{display:none!important}.catalogue-v2 .catalogue-workspace{display:block!important;width:100%!important;padding:0!important}}

/* =========================================================
   V22 — PROMOTIONS HOME / EDITORIAL SUPPLIER STYLE
   Direction: Délifrance-style editorial campaign, Mondial Agro palette
   ========================================================= */
.supplier-promo-showcase{background:#f4efe5;padding:88px 0 82px;border-top:1px solid #eadfce;border-bottom:1px solid #eadfce}
.supplier-promo-heading{max-width:780px;margin:0 auto 38px;text-align:center}
.supplier-promo-heading h2{margin-top:9px;color:var(--df-blue);font-size:clamp(34px,4.2vw,58px);line-height:1;text-transform:uppercase;letter-spacing:-.035em}
.supplier-promo-heading p{max-width:650px;margin:17px auto 0;color:#77685d;font-size:14px;line-height:1.75}
.supplier-promo-feature{background:#fff;min-height:500px;border:1px solid #e3d7c7}
.supplier-promo-feature-link{display:grid;grid-template-columns:1.08fr .92fr;min-height:500px;color:inherit}
.supplier-promo-feature-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;padding:46px}
.supplier-promo-feature-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff 0%,#faf6ef 100%)}
.supplier-promo-image-wrap{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.supplier-promo-image-wrap img{max-width:88%;max-height:390px;object-fit:contain;filter:drop-shadow(0 22px 22px rgba(76,50,26,.10))}
.supplier-promo-image-wrap .ph{width:260px;height:260px;display:grid;place-items:center;background:#f5f1e9;font-size:72px}
.supplier-promo-label{position:absolute;left:28px;top:28px;z-index:4;background:var(--df-blue);color:#fff;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.supplier-promo-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:50px 52px;background:#e7cfaa;color:#39271c}
.supplier-promo-eyebrow{display:block;color:#8b5d31;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.supplier-promo-feature-copy h3{margin-top:13px;color:#352317;font-size:clamp(28px,3vw,45px);line-height:1.03;text-transform:uppercase;letter-spacing:-.03em}
.supplier-promo-feature-copy p{margin-top:17px;color:#695346;font-size:14px;line-height:1.72;max-width:560px}
.supplier-promo-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px}
.supplier-promo-points li{position:relative;padding-left:18px;color:#604b3e;font-size:12px;line-height:1.5}
.supplier-promo-points li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:2px;background:var(--df-gold)}
.supplier-promo-price{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:30px;padding-top:25px;border-top:1px solid rgba(83,54,31,.16)}
.supplier-promo-price>div{display:flex;align-items:flex-end;gap:11px;flex-wrap:wrap}
.supplier-promo-price small{width:100%;display:block;color:#806956;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.supplier-promo-price strong{color:#5a361d;font-size:29px;line-height:1}
.supplier-promo-price del{color:#9c8877;font-size:11px}
.supplier-promo-price>span{color:#4c2e1a;font-size:11px;font-weight:800;text-transform:uppercase;border-bottom:1px solid #75512e;padding-bottom:4px;white-space:nowrap}
.supplier-promo-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.supplier-promo-card{display:grid;grid-template-columns:140px minmax(0,1fr);min-height:178px;background:#fff;border:1px solid #e3d7c7;color:inherit;transition:transform .22s ease,box-shadow .22s ease}
.supplier-promo-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(74,47,25,.08)}
.supplier-promo-card-image{display:flex;align-items:center;justify-content:center;background:#faf7f1;padding:14px;border-right:1px solid #eee4d7}
.supplier-promo-card-image img{max-width:100%;max-height:138px;object-fit:contain}
.supplier-promo-card-image .ph{font-size:34px}
.supplier-promo-card-copy{padding:20px 18px;display:flex;flex-direction:column;min-width:0}
.supplier-promo-card-copy>span{color:#9a6c36;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.supplier-promo-card-copy h4{margin-top:8px;color:#3d2b20;font-size:15px;line-height:1.3}
.supplier-promo-card-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px}
.supplier-promo-card-meta small{color:#86776c;font-size:9px;text-transform:uppercase}
.supplier-promo-card-meta strong{color:#6c4427;font-size:15px;white-space:nowrap}
.supplier-promo-footer{text-align:center;margin-top:34px}
.supplier-promo-all{display:inline-flex;align-items:center;gap:15px;color:var(--df-blue);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #bb945a;padding-bottom:6px}
.supplier-promo-all span{font-size:20px;line-height:1}
.supplier-promo-loading,.supplier-promo-empty{display:flex;align-items:center;justify-content:center;min-height:310px;background:#fff}
.supplier-promo-loading-copy{color:#7e6b5d;font-size:13px}
.supplier-promo-empty>div{text-align:center;max-width:620px;padding:48px}
.supplier-promo-empty h3{margin-top:10px;color:var(--df-blue);font-size:32px;text-transform:uppercase}
.supplier-promo-empty p{margin-top:12px;color:#75675e;line-height:1.7}
.supplier-promo-empty a{display:inline-block;margin-top:20px;color:var(--df-blue);font-size:11px;font-weight:800;text-transform:uppercase;border-bottom:1px solid var(--df-gold);padding-bottom:5px}

@media(max-width:1000px){
  .supplier-promo-feature-link{grid-template-columns:1fr}
  .supplier-promo-feature-visual{min-height:390px}
  .supplier-promo-secondary{grid-template-columns:1fr 1fr}
  .supplier-promo-secondary .supplier-promo-card:last-child{grid-column:1/-1}
}
@media(max-width:680px){
  .supplier-promo-showcase{padding:60px 0}
  .supplier-promo-heading{text-align:left;margin-bottom:28px}
  .supplier-promo-feature-copy{padding:32px 24px}
  .supplier-promo-feature-visual{min-height:290px;padding:28px}
  .supplier-promo-image-wrap img{max-height:245px}
  .supplier-promo-price{align-items:flex-start;flex-direction:column}
  .supplier-promo-secondary{grid-template-columns:1fr}
  .supplier-promo-secondary .supplier-promo-card:last-child{grid-column:auto}
  .supplier-promo-card{grid-template-columns:115px 1fr;min-height:150px}
  .supplier-promo-card-image img{max-height:112px}
}


/* =========================================================
   V23 — PROMOS HYPER ATTRACTIVES MAIS PREMIUM
   ========================================================= */
.supplier-promo-showcase{
  position:relative;
  overflow:hidden;
  padding:92px 0 88px;
  background:
    radial-gradient(circle at 85% 18%, rgba(255,211,111,.18), transparent 24%),
    radial-gradient(circle at 12% 75%, rgba(133,77,38,.10), transparent 24%),
    linear-gradient(180deg,#fbf7ef 0%,#f4ede0 100%);
  border-top:1px solid #eadfce;
  border-bottom:1px solid #eadfce;
}
.supplier-promo-showcase::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.22) 0%, transparent 22%, transparent 78%, rgba(88,54,28,.04) 100%);
}
.supplier-promo-heading{
  position:relative; z-index:2;
  display:flex; justify-content:space-between; align-items:flex-end; gap:26px;
  margin-bottom:34px;
}
.supplier-promo-heading-copy{max-width:760px}
.supplier-promo-heading .df-kicker{color:#9a6a37}
.supplier-promo-heading h2{
  margin-top:10px;
  color:#2f1f14;
  font-size:clamp(42px,5.4vw,76px);
  line-height:.94;
  text-transform:uppercase;
  letter-spacing:-.055em;
}
.supplier-promo-heading p{
  max-width:690px;
  margin-top:16px;
  color:#6d5a4d;
  font-size:15px;
  line-height:1.82;
}
.supplier-promo-glance{display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end}
.supplier-promo-glance span{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:0 16px; border-radius:999px;
  background:#fff; border:1px solid #e5d8c7;
  color:#6b4829; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  box-shadow:0 8px 20px rgba(74,47,25,.05);
}
.supplier-promo-feature{
  position:relative; z-index:2;
  min-height:0; border:0; background:transparent;
}
.supplier-promo-feature-link{
  position:relative; overflow:hidden;
  display:grid; grid-template-columns: minmax(0,1.06fr) minmax(360px,.94fr);
  min-height:540px;
  color:inherit;
  background:#fff;
  border-radius:26px;
  box-shadow:0 26px 50px rgba(58,38,22,.12);
}
.supplier-promo-feature-link::after{
  content:""; position:absolute; inset:auto -80px -120px auto;
  width:300px; height:300px; border-radius:50%;
  background:rgba(243,190,84,.16); pointer-events:none;
}
.supplier-promo-feature-visual{
  position:relative; padding:46px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.28), transparent 20%),
    linear-gradient(135deg,#5a331a 0%,#7e4b24 52%,#b07b3d 100%);
}
.supplier-promo-feature-visual::before{
  content:""; position:absolute; inset:18px; border-radius:20px;
  border:1px solid rgba(255,255,255,.15); pointer-events:none;
}
.supplier-promo-image-wrap{position:relative; z-index:2; width:100%; height:100%; display:flex; align-items:center; justify-content:center}
.supplier-promo-image-wrap img{max-width:92%; max-height:400px; object-fit:contain; filter:drop-shadow(0 24px 28px rgba(0,0,0,.24))}
.supplier-promo-image-wrap .ph{width:250px; height:250px; display:grid; place-items:center; background:rgba(255,255,255,.18); color:#fff; border-radius:18px; font-size:72px}
.supplier-promo-label{
  position:absolute; left:28px; top:28px; z-index:4;
  background:#fff; color:#7e3b23;
  padding:10px 14px; border-radius:999px;
  font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.supplier-promo-feature-copy{
  position:relative; z-index:2;
  display:flex; flex-direction:column; justify-content:center;
  padding:52px 56px 50px;
  background:linear-gradient(180deg,#fff8ee 0%,#ffffff 100%);
  color:#39271c;
}
.supplier-promo-eyebrow{
  display:inline-flex; align-items:center; gap:10px; align-self:flex-start;
  color:#9b6f3d; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase;
}
.supplier-promo-eyebrow::before{content:""; width:26px; height:2px; background:#d1a156}
.supplier-promo-feature-copy h3{
  margin-top:16px; color:#2f1f14;
  font-size:clamp(30px,3.2vw,50px);
  line-height:.98; text-transform:uppercase; letter-spacing:-.04em;
}
.supplier-promo-feature-copy p{margin-top:17px; color:#6d5b4d; font-size:14px; line-height:1.78; max-width:560px}
.supplier-promo-points{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:11px}
.supplier-promo-points li{position:relative; padding-left:18px; color:#584739; font-size:12px; line-height:1.55}
.supplier-promo-points li::before{content:""; position:absolute; left:0; top:.56em; width:8px; height:8px; border-radius:50%; background:#d8aa5d}
.supplier-promo-points strong{color:#2f1f14}
.supplier-promo-price{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin-top:30px; padding-top:22px; border-top:1px solid #eadcc9;
}
.supplier-promo-price > div{display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap}
.supplier-promo-price small{width:100%; display:block; color:#8b7767; font-size:9px; text-transform:uppercase; letter-spacing:.08em}
.supplier-promo-price strong{color:#8d2d22; font-size:34px; line-height:1}
.supplier-promo-price del{color:#a79a8e; font-size:12px}
.supplier-promo-price > span{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 16px; border-radius:999px; background:#5a331a; color:#fff;
  font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em;
}
.supplier-promo-secondary{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
  margin-top:20px;
}
.supplier-promo-card{
  position:relative; overflow:hidden;
  min-height:260px; display:flex; flex-direction:column;
  background:#fff; border-radius:20px; border:1px solid #eadfce; color:inherit;
  box-shadow:0 14px 32px rgba(74,47,25,.06);
  transition:transform .24s ease, box-shadow .24s ease;
}
.supplier-promo-card::before{content:""; position:absolute; left:0; right:0; top:0; height:5px; background:linear-gradient(90deg,#dca94f 0%,#7a4421 100%)}
.supplier-promo-card:hover{transform:translateY(-5px); box-shadow:0 24px 42px rgba(74,47,25,.12)}
.supplier-promo-card-image{
  display:flex; align-items:center; justify-content:center;
  height:165px; padding:18px; background:linear-gradient(180deg,#fffaf2 0%,#f7efe3 100%);
  border-bottom:1px solid #efe4d7;
}
.supplier-promo-card-image img{max-width:92%; max-height:130px; object-fit:contain; filter:drop-shadow(0 14px 14px rgba(61,39,21,.10))}
.supplier-promo-card-image .ph{font-size:38px}
.supplier-promo-card-copy{padding:18px 18px 17px; display:flex; flex-direction:column; flex:1; min-width:0}
.supplier-promo-card-copy > span{display:inline-flex; align-self:flex-start; padding:6px 8px; background:#fff4de; color:#9a6a37; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; border-radius:999px}
.supplier-promo-card-copy h4{margin-top:10px; color:#37261b; font-size:17px; line-height:1.28}
.supplier-promo-card-meta{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:16px}
.supplier-promo-card-meta small{color:#86796f; font-size:10px; text-transform:uppercase}
.supplier-promo-card-meta strong{color:#7a2f21; font-size:18px; white-space:nowrap}
.supplier-promo-footer{text-align:center; margin-top:34px}
.supplier-promo-all{
  display:inline-flex; align-items:center; gap:12px;
  min-height:48px; padding:0 22px; border-radius:999px;
  background:#fff; color:#4f311c; border:1px solid #e3d5c3;
  font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:0 12px 24px rgba(74,47,25,.06)
}
.supplier-promo-all span{font-size:16px; line-height:1}
.supplier-promo-loading,.supplier-promo-empty{
  display:flex; align-items:center; justify-content:center; min-height:320px;
  background:#fff; border-radius:26px; box-shadow:0 20px 40px rgba(58,38,22,.08)
}
.supplier-promo-loading-copy{color:#7e6b5d; font-size:14px}
.supplier-promo-empty>div{text-align:center; max-width:620px; padding:48px}
.supplier-promo-empty h3{margin-top:10px; color:var(--df-blue); font-size:32px; text-transform:uppercase}
.supplier-promo-empty p{margin-top:12px; color:#75675e; line-height:1.7}
.supplier-promo-empty a{display:inline-flex; margin-top:20px; min-height:44px; align-items:center; padding:0 18px; border-radius:999px; background:#5a331a; color:#fff; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em}

@media(max-width:1100px){
  .supplier-promo-feature-link{grid-template-columns:1fr}
  .supplier-promo-feature-visual{min-height:390px}
  .supplier-promo-secondary{grid-template-columns:1fr 1fr}
  .supplier-promo-secondary .supplier-promo-card:last-child{grid-column:1/-1}
}
@media(max-width:860px){
  .supplier-promo-showcase{padding:62px 0}
  .supplier-promo-heading{align-items:flex-start; flex-direction:column; margin-bottom:24px}
  .supplier-promo-heading h2{font-size:48px}
  .supplier-promo-heading p{font-size:14px}
  .supplier-promo-feature-copy{padding:34px 24px 30px}
  .supplier-promo-feature-visual{min-height:280px; padding:28px}
  .supplier-promo-image-wrap img{max-height:240px}
  .supplier-promo-price{align-items:flex-start; flex-direction:column}
  .supplier-promo-secondary{grid-template-columns:1fr}
  .supplier-promo-secondary .supplier-promo-card:last-child{grid-column:auto}
}
@media(max-width:560px){
  .supplier-promo-heading h2{font-size:40px}
  .supplier-promo-glance{gap:8px}
  .supplier-promo-glance span{min-height:38px; padding:0 12px; font-size:9px}
  .supplier-promo-feature-link{border-radius:22px}
  .supplier-promo-feature-visual{min-height:240px; padding:22px}
  .supplier-promo-label{left:18px; top:18px}
  .supplier-promo-feature-copy h3{font-size:30px}
  .supplier-promo-card{min-height:0}
  .supplier-promo-card-image{height:148px}
}


/* =========================================================
   V24 — CARROUSEL D'IMAGES EN PAGE D'ACCUEIL
   ========================================================= */
.home-visual-showcase{
  position:relative;
  padding:78px 0 70px;
  background:linear-gradient(180deg,#f7f1e7 0%,#fbf7ef 100%);
  overflow:hidden;
}
.home-visual-heading{max-width:840px;margin:0 auto 28px;text-align:center}
.home-visual-heading h2{margin-top:10px;color:var(--df-blue);font-size:clamp(36px,4.6vw,64px);line-height:.95;text-transform:uppercase;letter-spacing:-.045em}
.home-visual-heading p{max-width:760px;margin:16px auto 0;color:#75675e;font-size:15px;line-height:1.75}
.home-visual-frame{position:relative;min-height:560px}
.home-visual-slide{
  position:absolute; inset:0; opacity:0; visibility:hidden;
  display:flex; align-items:flex-end;
  min-height:560px; padding:42px;
  background-size:cover; background-position:center center;
  border-radius:26px; overflow:hidden;
  transition:opacity .55s ease, visibility .55s ease, transform .55s ease;
  transform:scale(1.02);
  box-shadow:0 26px 50px rgba(58,38,22,.14);
}
.home-visual-slide::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(33,20,13,.76) 0%, rgba(33,20,13,.52) 38%, rgba(33,20,13,.18) 68%, rgba(33,20,13,.05) 100%);
}
.home-visual-slide.is-active{opacity:1; visibility:visible; transform:scale(1)}
.home-visual-card{position:relative; z-index:2; max-width:620px; padding:0}
.home-visual-kicker{display:inline-flex; padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.14); backdrop-filter:blur(4px); color:#fff; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase}
.home-visual-card h3{margin-top:18px; color:#fff; font-size:clamp(34px,4vw,58px); line-height:.95; text-transform:uppercase; letter-spacing:-.05em}
.home-visual-card p{margin-top:16px; color:rgba(255,255,255,.9); font-size:15px; line-height:1.8; max-width:560px}
.home-visual-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
.home-visual-controls{display:flex; align-items:center; justify-content:center; gap:18px; margin-top:22px}
.home-visual-nav{width:52px; height:52px; border-radius:50%; border:1px solid #d8c7b3; background:#fff; color:#6d4423; font-size:28px; line-height:1; cursor:pointer; box-shadow:0 10px 22px rgba(74,47,25,.08)}
.home-visual-dots{display:flex; align-items:center; gap:10px}
.home-visual-dot{width:11px; height:11px; border-radius:50%; border:0; background:#d8c8b8; cursor:pointer}
.home-visual-dot.active{width:34px; border-radius:999px; background:var(--df-gold)}
.page-home .home-visual-showcase + .family-section{padding-top:78px}

@media(max-width:860px){
  .home-visual-showcase{padding:58px 0 52px}
  .home-visual-frame,.home-visual-slide{min-height:500px}
  .home-visual-slide{padding:28px 22px; border-radius:22px}
  .home-visual-slide::before{background:linear-gradient(180deg, rgba(33,20,13,.20) 0%, rgba(33,20,13,.58) 50%, rgba(33,20,13,.84) 100%)}
  .home-visual-card{max-width:none}
  .home-visual-card h3{font-size:40px}
  .home-visual-card p{font-size:14px}
}
@media(max-width:560px){
  .home-visual-heading h2{font-size:40px}
  .home-visual-frame,.home-visual-slide{min-height:460px}
  .home-visual-slide{padding:22px 18px}
  .home-visual-card h3{font-size:30px}
  .home-visual-actions{flex-direction:column}
  .home-visual-actions .btn{width:100%; justify-content:center}
  .home-visual-controls{gap:12px}
  .home-visual-nav{width:46px; height:46px; font-size:24px}
}


/* =========================================================
   V25 — MODAL PROMOS PLEIN ÉCRAN D'ARRIVÉE
   ========================================================= */
body.promo-entry-lock{overflow:hidden}
.promo-entry-modal{position:fixed; inset:0; z-index:9998; display:none}
.promo-entry-modal.is-open{display:block}
.promo-entry-backdrop{position:absolute; inset:0; background:rgba(17,10,6,.72); backdrop-filter:blur(8px)}
.promo-entry-dialog{
  position:relative; z-index:2;
  width:min(1320px,calc(100vw - 28px)); max-height:min(94vh,980px);
  margin:3vh auto; overflow:hidden;
  border-radius:30px;
  background:linear-gradient(135deg,#26160f 0%,#5a3116 48%,#8a5728 100%);
  box-shadow:0 40px 100px rgba(0,0,0,.42);
  color:#fff;
}
.promo-entry-close{
  position:absolute; right:22px; top:18px; z-index:8;
  width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10); color:#fff; font-size:18px; cursor:pointer;
}
.promo-entry-ribbon{overflow:hidden; background:#f4b63d; color:#4e2e17; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08)}
.promo-entry-ribbon-track{display:flex; align-items:center; gap:24px; width:max-content; padding:12px 0; animation:promoEntryTicker 22s linear infinite}
.promo-entry-ribbon-track.reverse{animation-direction:reverse}
.promo-entry-ribbon span{font-size:11px; font-weight:1000; letter-spacing:.13em; text-transform:uppercase}
.promo-entry-ribbon i{font-style:normal; font-size:10px}
@keyframes promoEntryTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.promo-entry-content{padding:34px 36px 38px}
.promo-entry-intro{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px}
.promo-entry-intro > p{display:none}
.promo-entry-kicker{display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); color:#f6c96d; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase}
.promo-entry-intro h2{margin-top:14px; max-width:780px; color:#fff; font-size:clamp(42px,5.8vw,80px); line-height:.88; text-transform:uppercase; letter-spacing:-.06em}
.promo-entry-intro p{margin-top:14px; max-width:680px; color:rgba(255,255,255,.82); font-size:15px; line-height:1.75}
.promo-entry-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
.promo-entry-actions .btn{min-height:48px}
.promo-entry-grid{display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr); gap:18px}
.promo-entry-featured{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.86fr);
  min-height:500px; overflow:hidden; color:#2d1d13;
  background:#fff7eb; border-radius:26px;
}
.promo-entry-featured-copy{padding:38px 20px 38px 38px; display:flex; flex-direction:column; align-items:flex-start}
.promo-entry-badge{display:inline-block; padding:9px 12px; background:#b93528; color:#fff; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase}
.promo-entry-featured-copy small{margin-top:22px; color:#9b7445; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.promo-entry-featured-copy h3{margin-top:12px; color:#321f15; font-size:clamp(30px,3.3vw,52px); line-height:.96; text-transform:uppercase; letter-spacing:-.05em}
.promo-entry-featured-copy p{margin-top:16px; color:#6d5d51; font-size:14px; line-height:1.78; max-width:520px}
.promo-entry-meta{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px}
.promo-entry-meta span{padding:8px 10px; background:#efe3cf; color:#6f543c; font-size:9px; text-transform:uppercase}
.promo-entry-price-row{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-top:auto; padding-top:24px; width:100%}
.promo-entry-price-row div{display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap}
.promo-entry-price-row strong{color:#9e2f24; font-size:36px; line-height:1}
.promo-entry-price-row small{margin:0; color:#8d7e72; font-size:10px}
.promo-entry-price-row del{color:#a39588; font-size:12px}
.promo-entry-price-row b{color:#4e2d18; font-size:11px; letter-spacing:.08em; text-transform:uppercase}
.promo-entry-featured-visual{position:relative; display:flex; align-items:center; justify-content:center; padding:28px; background:#fff}
.promo-entry-featured-visual img{max-width:92%; max-height:370px; object-fit:contain; filter:drop-shadow(0 20px 22px rgba(61,39,21,.16))}
.promo-entry-featured-visual .ph{width:220px; height:220px; display:grid; place-items:center; background:#f3eadc; font-size:70px}
.promo-entry-starburst{position:absolute; right:18px; top:18px; width:86px; height:86px; border-radius:50%; display:grid; place-items:center; background:#f4b63d; color:#4c2b16; font-size:12px; font-weight:1000; letter-spacing:.06em; box-shadow:0 0 0 8px rgba(244,182,61,.18); transform:rotate(8deg)}
.promo-entry-stack{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.promo-entry-small{min-height:240px; overflow:hidden; background:#fff; color:#342319; border-radius:22px; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease}
.promo-entry-small:hover{transform:translateY(-3px); box-shadow:0 18px 28px rgba(0,0,0,.16)}
.promo-entry-small-visual{height:138px; padding:12px; border-bottom:1px solid #eee5da; background:#fff; display:flex; align-items:center; justify-content:center}
.promo-entry-small-visual img{max-width:88%; max-height:112px; object-fit:contain}
.promo-entry-small-visual .ph{font-size:38px}
.promo-entry-small-copy{padding:14px 15px 15px; display:flex; flex-direction:column; flex:1}
.promo-entry-small-copy span{color:#aa372d; font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase}
.promo-entry-small-copy h4{margin-top:7px; font-size:14px; line-height:1.28; color:#3b281c}
.promo-entry-small-bottom{display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:auto; padding-top:12px}
.promo-entry-small-bottom small{color:#8a7a6b; font-size:10px; text-transform:uppercase}
.promo-entry-small-bottom strong{color:#8d311f; font-size:17px}
.promo-entry-loading,.promo-entry-empty{grid-column:1/-1; min-height:280px; border-radius:22px; background:#fff7eb; color:#342319; padding:44px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start}
.promo-entry-loading span,.promo-entry-empty span{color:#aa372d; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase}
.promo-entry-loading strong,.promo-entry-empty strong{margin-top:10px; font-size:34px; line-height:1.02; text-transform:uppercase}
.promo-entry-empty p{margin-top:12px; color:#6f6156; line-height:1.7}
.promo-entry-empty b{margin-top:18px; color:#6d4321; text-transform:uppercase; font-size:11px}

@media(max-width:1100px){
  .promo-entry-dialog{width:min(1180px,calc(100vw - 18px))}
  .promo-entry-intro{align-items:flex-start; flex-direction:column}
  .promo-entry-grid{grid-template-columns:1fr}
  .promo-entry-stack{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .promo-entry-dialog{width:calc(100vw - 12px); margin:1.5vh auto; max-height:97vh; border-radius:24px}
  .promo-entry-content{padding:22px 18px 22px}
  .promo-entry-intro h2{font-size:44px}
  .promo-entry-intro p{font-size:14px}
  .promo-entry-featured{grid-template-columns:1fr; min-height:0}
  .promo-entry-featured-visual{order:-1; min-height:280px}
  .promo-entry-featured-visual img{max-height:240px}
  .promo-entry-featured-copy{padding:28px 22px}
  .promo-entry-price-row{align-items:flex-start; flex-direction:column}
  .promo-entry-stack{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .promo-entry-intro h2{font-size:34px}
  .promo-entry-actions{flex-direction:column}
  .promo-entry-actions .btn{width:100%; justify-content:center}
  .promo-entry-featured-copy h3{font-size:28px}
  .promo-entry-stack{grid-template-columns:1fr}
  .promo-entry-small{min-height:0; display:grid; grid-template-columns:120px 1fr}
  .promo-entry-small-visual{height:100%; min-height:140px}
}

/* =========================================================
   V35 — NOTRE HISTOIRE : cohérence Mondial Agro brun / or / crème
   ========================================================= */
.page-story .page-hero.story-hero{
  background-image:url('../img/editorial/histoire.jpg');
  background-position:center;
  background-size:cover;
}
.page-story .page-hero.has-image::before{
  background:linear-gradient(90deg,rgba(70,42,22,.84) 0%,rgba(91,55,28,.60) 42%,rgba(91,55,28,.18) 100%);
}
.page-story .story-intro .big-year{color:#eadfce}
.page-story .story-intro .copy h2,
.page-story .story-milestone h3,
.page-story .story-highlight-copy h2,
.page-story .story-highlight-copy h3,
.page-story .story-highlight-emphasis,
.page-story .story-highlight-cards span,
.page-story .values-band .df-title,
.page-story .value-card h3,
.page-story .contact-band h2{
  color:#6a4524!important;
}
.page-story .editorial-split{
  background:#6a4524!important;
}
.page-story .editorial-split .copy{color:#fff}
.page-story .editorial-split .copy p{color:rgba(255,255,255,.88)}
.page-story .editorial-split .btn-outline{border-color:#fff;color:#fff}
.page-story .editorial-split .btn-outline:hover{background:#fff;color:#6a4524}
.page-story .values-band{
  background:linear-gradient(180deg,#f7efe4 0%,#fffdf9 100%)!important;
}
.page-story .value-card{background:#fff;border-color:#e7dbcf}
.page-story .contact-band{background:#f1e7d9}
.page-story .contact-band .btn-blue{background:#6a4524;color:#fff}
.page-story .contact-band .btn-blue:hover{background:#54361c}


/* ============================================================
   MONDIAL AGRO — COHERENCE UI V5
   Harmonise les restes de l'ancienne palette bleue avec
   l'interface carrée brun / doré / crème de la home.
   ============================================================ */

/* Textes secondaires : retirer le gris bleuté historique */
.df-intro,
.news-card-body p,
.story-intro .copy p,
.story-milestone p,
.value-card p,
.mini-benefits span,
.promo-highlight-card p,
.promo-assurance,
.promo-card-topline,
.promo-card-ref,
.promo-card-detail,
.promo-card-benefit,
.promo-how-grid p,
.cat-card .cat-count,
.contact-shortcuts small,
.contact-shortcuts p,
.contact-form-head p,
.field label,
.form-submit-row p,
.contact-side-card ul,
.store-card-pro p,
.catalogue-card-meta,
.catalogue-row-main p,
.catalogue-context p,
.catalogue-heading p,
.catalogue-facts p {
  color:var(--df-muted) !important;
}

/* Petites surfaces qui conservaient encore une teinte froide */
.promo-card-chips span,
.catalogue-chip,
.active-filter-chip {
  background:#f5eee6;
  color:#705c4e;
  border-color:var(--df-line);
}
.promo-how-grid,
.values-grid {
  background:var(--df-line);
}
.field input,
.field select,
.field textarea {
  border-color:var(--df-line);
  color:var(--df-text);
}

/* Boutons placés sur fonds clairs : l'ancien btn-outline blanc disparaissait */
.section-tools .btn-outline,
.df-section:not(.alt) .section-tools .btn-outline {
  border-color:var(--df-blue);
  color:var(--df-blue);
  background:transparent;
}
.section-tools .btn-outline:hover,
.df-section:not(.alt) .section-tools .btn-outline:hover {
  background:var(--df-blue);
  border-color:var(--df-blue);
  color:#fff;
}

/* Langage carré de la home */
.hero-nav,
.catalogue-v2 .product-modal-panel>.modal-close,
.modal-close,
.slider-btn,
.catalogue-view-btn,
.filter-toggle {
  border-radius:0 !important;
}

/* Overlays : supprimer les derniers bleus froids sur mobile/modals */
.nav-overlay,
.filter-overlay {
  background:rgba(63,43,29,.58) !important;
}
.catalogue-v2 .product-modal-v2,
.modal-overlay {
  background:rgba(49,31,18,.78);
}

/* Ombres neutres/chaudes au lieu des anciennes ombres bleutées */
.mini-benefits article:hover,
.promo-highlight-card:hover,
.news-card:hover,
.fact-card:hover,
.df-product:hover,
.promo-card:hover {
  box-shadow:0 18px 32px rgba(74,47,25,.09);
}

/* Carte promo : harmonisation des traits/textes encore froids */
.promo-card-visual,
.promo-card-bottom {
  border-color:var(--df-line);
}
.promo-card-content h3,
.promo-card-price strong,
.promo-card-arrow,
.promo-how-grid h3,
.cat-card .cat-name {
  color:var(--df-blue);
}

/* Mobile */
@media(max-width:980px){
  .nav-overlay,
  .filter-overlay,
  .catalogue-v2 .filter-overlay {
    background:rgba(63,43,29,.60) !important;
  }
}


/* ============================================================
   MONDIAL AGRO — AUDIT VISUEL GLOBAL V7 — 03/09/2026
   Rendu final harmonisé : brun / or / crème, géométrie carrée,
   contrastes, cartes, modals et responsive cohérents.
   ============================================================ */

:root{
  --df-ink:#3f2d22;
  --df-blue:#6a4524;
  --df-blue-2:#86572e;
  --df-blue-3:#f1e7d9;
  --df-aqua:#fbf7f1;
  --df-gold:#b8893b;
  --df-gold-2:#d5ad68;
  --df-sand:#f3eadf;
  --df-cream:#faf7f2;
  --df-white:#fff;
  --df-black:#231912;
  --df-text:#4c4038;
  --df-muted:#7a6d63;
  --df-line:#e7ddd3;
}
html{background:#fffdfb}
body{background:#fffdfb;color:var(--df-text)}
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}
p{color:var(--df-text)}
::selection{background:#ead8bd;color:#2f1e12}

/* dimensions et rythme communs */
.container,.main,.site-ribbon-inner,.topbar-inner,.footer-main,.footer-bottom{width:min(var(--max),calc(100% - 48px))}
.df-section{padding-block:72px}
.section-head,.promo-section-intro{gap:24px}
.section-title,.df-title{color:var(--df-blue);letter-spacing:-.015em}
.df-intro,.section-sub{color:var(--df-muted)}
.df-kicker{color:var(--df-gold)}
.df-divider{background:var(--df-gold)}

/* header / navigation : même rendu sur toutes les pages */
.site-ribbon{background:#fffdfb;border-color:var(--df-line);color:#77685d}
.site-ribbon a{color:var(--df-blue)}
.topbar{background:#fffdfb;border-color:var(--df-line)}
.topbar.scrolled{box-shadow:0 8px 24px rgba(74,47,25,.08)}
.logo-name{color:#704720}
.logo-sub{color:var(--df-gold)}
.nav > a,.nav > .nav-item > .nav-link,.nav > .header-search-toggle{color:#49372a}
.nav > a:hover,.nav > a.active,.nav > .nav-item > .nav-link:hover,.nav > .nav-item > .nav-link.active,.header-search-toggle:hover,.header-search-toggle.is-active{color:var(--df-blue)}
.nav > a.active::after,.nav > .nav-item > .nav-link.active::after{background:var(--df-gold)}
.nav a.nav-call{background:var(--df-blue);color:#fff}
.nav a.nav-call:hover{background:#55361b;color:#fff}
.header-search-panel,.submenu{background:#fffdfb;border-color:var(--df-line)}
.header-search-form input{border-color:var(--df-line);color:var(--df-ink)}
.header-search-form button{background:var(--df-gold)}
.submenu,.mega-menu,.mega-simple{border-radius:0!important;box-shadow:0 22px 44px rgba(61,40,24,.12)}
.mega-menu,.mega-simple,.mega-menu-grid{background:#f6f0e7}
.mega-menu-families{background:#efe5d7;border-color:#decdb8}
.mega-family{color:#776b62}
.mega-family:hover,.mega-family.active{color:var(--df-blue);background:#fffaf3}
.mega-family.active::before{border-radius:0;background:var(--df-gold);width:5px;height:18px;left:24px}
.mega-panel-links a,.mega-simple-links a{color:#49382b!important}
.mega-panel-links a:hover,.mega-simple-links a:hover{color:var(--df-blue)!important}
.mega-panel-visual,.mega-simple-visual{background:#fffaf3}
.mega-panel-visual strong,.mega-simple-visual strong,.mega-simple-copy h3{color:#49372a}

/* boutons : carré et contraste constant */
.btn,.btn-small,.btn-blue,.btn-gold,.btn-light,.btn-outline,.text-link,
.catalogue-view-btn,.filter-toggle,.slider-btn,.hero-nav,.modal-close,
.product-media-nav,.promo-poster-card,.header-search-form button{
  border-radius:0!important;
}
.btn{min-height:44px}
.btn-blue{background:var(--df-blue);color:#fff}.btn-blue:hover{background:#55361b;color:#fff}
.btn-gold{background:var(--df-gold);color:#fff}.btn-gold:hover{background:#9f702b;color:#fff}
.btn-light{background:#fffdfb;border:1px solid var(--df-blue);color:var(--df-blue)}
.btn-light:hover{background:var(--df-blue);color:#fff}
.btn-outline{border:1px solid currentColor}
.section-tools .btn-outline,.df-section:not(.alt) .section-tools .btn-outline{color:var(--df-blue);border-color:var(--df-blue)}
.section-tools .btn-outline:hover,.df-section:not(.alt) .section-tools .btn-outline:hover{background:var(--df-blue);color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(184,137,59,.36);outline-offset:2px}

/* héros : supprimer les derniers overlays bleus */
.home-hero::before,.hero-slide::before{background:linear-gradient(90deg,rgba(63,43,29,.84) 0%,rgba(63,43,29,.62) 40%,rgba(63,43,29,.15) 75%,transparent 100%)}
.page-hero.has-image::before,.promo-page-hero::before{background:linear-gradient(90deg,rgba(63,43,29,.85) 0%,rgba(63,43,29,.60) 48%,rgba(63,43,29,.20) 80%,transparent 100%)}
.hero-nav{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.62);color:#fff}
.hero-nav:hover{background:#fff;color:var(--df-blue)}
.hero-dot,.home-hero-dots i{border-radius:0!important}
.hero-dot.active,.home-hero-dots i.active{background:var(--df-gold)}

/* langage carré : cartes / champs / panneaux */
.family-card,.df-product,.news-card,.fact-card,.value-card,.service-pillar,
.promo-highlight-card,.promo-card,.promo-poster-card,.cat-card,.faq details,
.story-highlight,.story-highlight-cards article,.contact-form-v17,.contact-help-v17,
.contact-store-grid-v17 article,.catalogue-product-card,.catalogue-active-filters,
.family-subfamily-card,.family-accordion-item,.modal,.product-modal-panel,
.field input,.field select,.field textarea,.activity-box select,.activity-box button,
.catalogue-search-form,.catalogue-display-controls select,.catalogue-sort select,
.active-filter-chip,.filter-chip,.cat-pill,.promo-alert,.promo-how,.promo-cta-panel{
  border-radius:0!important;
}
.family-card,.df-product,.news-card,.fact-card,.value-card,.promo-highlight-card,
.promo-card,.promo-poster-card,.cat-card,.contact-form-v17,.contact-store-grid-v17 article,
.catalogue-product-card,.family-subfamily-card,.family-accordion-item{border-color:var(--df-line)}
.family-card:hover,.df-product:hover,.news-card:hover,.fact-card:hover,.promo-highlight-card:hover,
.promo-card:hover,.promo-poster-card:hover,.cat-card:hover,.catalogue-product-card:hover,
.contact-store-grid-v17 article:hover{box-shadow:0 16px 30px rgba(74,47,25,.09)}

/* cartes familles / visuels */
.family-card::after{background:linear-gradient(transparent,rgba(57,35,18,.86))}
.family-card-content{left:24px;right:24px;bottom:24px}
.family-card h3{color:#fff}
.family-card p{color:rgba(255,255,255,.90)}
.top-products-wrap,.values-band,.promo-how,.catalogue-v2 .catalogue-active-filters{background:var(--df-cream)}
.df-product-image,.catalogue-card-media,.promo-card-visual,.promo-poster-image{background:#fff}
.df-product-body small,.df-product-body .ref,.catalogue-card-meta,.catalogue-row-main p,.cat-card .cat-count{color:var(--df-muted)!important}
.df-product-body h3,.catalogue-card-body h3,.catalogue-row-main h3,.cat-card .cat-name{color:var(--df-ink)!important}
.df-product-body .availability{color:#39745f}

/* contenu éditorial / FAQ */
.news-card-body p,.story-intro .copy p,.story-milestone p,.value-card p,.service-pillar p,
.faq-home-intro p,.faq-content p,.story-highlight-copy p,.story-highlight-cards p{color:var(--df-muted)!important}
.news-card-body h3,.story-intro .copy h2,.story-milestone h3,.value-card h3,.service-pillar h3,
.faq-home-intro h3,.faq summary,.story-highlight-copy h3,.story-highlight-cards span{color:var(--df-blue)!important}
.values-grid,.promo-how-grid{background:var(--df-line)}
.editorial-split,.contact-final-v17,.families-final-cta{background:var(--df-blue)!important}
.contact-band{background:var(--df-sand)}

/* catalogue */
.catalogue-v2{background:#fffdfb;color:var(--df-text)}
.catalogue-v2 .catalogue-mega-search{background:var(--df-blue)}
.catalogue-v2 .catalogue-heading h1,.catalogue-v2 .catalogue-context h2,.catalogue-v2 .filter-drawer-head h3,
.catalogue-v2 .family-accordion-title strong,.catalogue-v2 .product-modal-content .modal-designation{color:var(--df-blue)}
.catalogue-v2 .catalogue-heading p,.catalogue-v2 .catalogue-result-count,.catalogue-v2 .catalogue-sort,
.catalogue-v2 .catalogue-view-label,.catalogue-v2 .family-strip-item small{color:var(--df-muted)}
.catalogue-v2 .family-strip-item:hover,.catalogue-v2 .family-strip-item.active{background:#fbf6ef;color:var(--df-blue)}
.catalogue-v2 .family-strip-item.active::after{background:var(--df-gold)}
.catalogue-v2 .catalogue-card-media{border-color:var(--df-line)}
.catalogue-v2 .catalogue-fav,.catalogue-v2 .family-accordion-arrow,.catalogue-v2 .family-accordion-icon{border-radius:0!important}
.catalogue-v2 .product-modal-panel{box-shadow:0 30px 70px rgba(47,30,18,.24)}
.catalogue-v2 .product-modal-media{background:#faf7f2;border-color:var(--df-line)}
.catalogue-v2 .modal-spec{border-color:var(--df-line)}
.catalogue-v2 .modal-contact-note{background:#f3e8d8;color:#675447}

/* promotions : cartes et modal identiques au catalogue */
.page-promos .promo-page-hero h1{color:#fff!important}
.page-promos .promo-alert{background:#fff7e9;color:var(--df-text);border:1px solid #ead7b9}
.page-promos .promo-alert-label,.page-promos .promo-alert-icon{color:var(--df-gold)}
.page-promos .promo-alert-action{color:var(--df-blue)}
.page-promos .promo-assurance{color:var(--df-muted)!important}
.page-promos .promo-poster-card{border:1px solid var(--df-line);background:#fff}
.page-promos .promo-poster-meta{border-color:var(--df-line)}
.page-promos .promo-poster-meta small{color:var(--df-gold)}
.page-promos .promo-poster-meta strong{color:var(--df-blue)}
.page-promos .promo-poster-meta span{color:var(--df-muted)}
.page-promos .product-modal-panel{box-shadow:0 30px 70px rgba(47,30,18,.24)}
.page-promos .product-modal-media{background:#faf7f2;border-color:var(--df-line)}
.page-promos .product-media-stage{border-color:var(--df-line)}
.page-promos .product-media-badge{background:var(--df-blue)}
.page-promos .product-media-nav{border-color:var(--df-line);color:var(--df-blue)}
.page-promos .product-media-nav:hover{background:var(--df-blue);border-color:var(--df-blue);color:#fff}
.page-promos .modal-spec{border-color:var(--df-line)}
.page-promos .promo-how{background:var(--df-cream)}
.page-promos .promo-how-grid{background:var(--df-line)}
.page-promos .promo-cta-panel{background:var(--df-blue)}

/* familles */
.page-families .families-page-hero{background-color:var(--df-cream)}
.page-families .families-page-hero h1,.page-families .family-story-copy h2{color:var(--df-blue)}
.page-families .families-page-hero p,.page-families .family-story-copy p{color:var(--df-muted)}
.page-families .families-anchor-nav{background:#fffdfb;border-color:var(--df-line)}
.page-families .families-anchor-nav a{color:#665448}
.page-families .families-anchor-nav a:hover{background:#f7efe5;color:var(--df-blue)}
.page-families .family-subcats span{background:#f5eee6;color:#705c4e;border-color:var(--df-line);border-radius:0}

/* histoire */
.page-story .story-intro .big-year{color:#eadfce}
.page-story .page-hero.has-image::before{background:linear-gradient(90deg,rgba(63,43,29,.86),rgba(63,43,29,.58),rgba(63,43,29,.18))}
.page-story .values-band{background:linear-gradient(180deg,#f7efe4,#fffdf9)!important}
.page-story .value-card{background:#fff;border-color:var(--df-line)}

/* contact */
.page-contact .contact-hero-v17{background:#fffdfb}
.page-contact .contact-hero-copy h1,.page-contact .contact-section-heading h2,.page-contact .contact-help-v17 h3,.page-contact .contact-store-grid-v17 h3{color:var(--df-blue)}
.page-contact .contact-hero-copy>p,.page-contact .contact-section-heading>p,.page-contact .contact-store-grid-v17 p{color:var(--df-muted)}
.page-contact .contact-actions-v17{background:#5a371b}
.page-contact .contact-form-v17{background:#fff;border-color:var(--df-line)}
.page-contact .contact-help-v17{background:#f3e7d8;border-color:var(--df-gold)}
.page-contact .field input,.page-contact .field select,.page-contact .field textarea{background:#fffdfb;border-color:#ded2c5;color:var(--df-text)}

/* footer */
.site-footer{background:#4c321a;color:#f7eee2}
.footer-brand p,.footer-column a,.footer-column p,.footer-column span{color:rgba(255,255,255,.80)}
.footer-column h3{color:#e2bc79}
.footer-bottom{border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.66)}

/* 404 cohérente */
.error-page-shell{min-height:100vh;display:grid;place-items:center;background:var(--df-cream);padding:30px}
.error-page-card{width:min(720px,100%);background:#fffdfb;padding:52px;border:1px solid var(--df-line);text-align:center;box-shadow:0 18px 42px rgba(74,47,25,.08)}
.error-page-logo{justify-content:center;margin-bottom:30px}
.error-page-card h1{font-size:clamp(36px,5vw,52px);line-height:1.06;text-transform:uppercase;color:var(--df-blue)}
.error-page-card p{margin:18px auto 27px;max-width:540px;color:var(--df-muted)}
.error-page-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* responsive global */
@media(max-width:1180px){
  .topbar-inner{gap:18px}.nav > a,.nav > .nav-item > .nav-link{padding-inline:11px;font-size:12px}.nav a.nav-call{margin-left:6px}
}
@media(max-width:980px){
  .container,.main,.site-ribbon-inner,.topbar-inner,.footer-main,.footer-bottom{width:min(100% - 32px,var(--max))}
  .df-section{padding-block:58px}
  .promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-promos .product-modal-panel,.catalogue-v2 .product-modal-panel{width:min(94vw,760px)}
}
@media(max-width:860px){
  .site-ribbon-inner{min-height:38px}.site-ribbon-inner>div span{display:none}
  .topbar-inner{min-height:72px}.nav-toggle{color:var(--df-blue)}
  .nav{background:#fffdfb}.nav > .nav-item{border-color:var(--df-line)}
  .nav > .nav-item > .nav-link,.nav > a{color:#49372a}
  .submenu,.mega-menu,.mega-simple{box-shadow:none}
  .mega-family.active::before{left:8px;width:3px;height:18px}
  .footer-main{grid-template-columns:1fr 1fr;gap:34px}
  .page-promos .product-modal-media,.catalogue-v2 .product-modal-media{min-height:300px;padding:24px}
  .page-promos .product-modal-content,.catalogue-v2 .product-modal-content{padding:32px 24px}
}
@media(max-width:620px){
  .container,.main,.site-ribbon-inner,.topbar-inner,.footer-main,.footer-bottom{width:calc(100% - 24px)}
  .main{padding-block:38px 58px}
  .df-section{padding-block:48px}
  .logo-emblem{width:48px;height:48px}.logo-name{font-size:17px}
  .site-ribbon-inner>span{font-size:10px}.site-ribbon-inner>div{gap:8px}.site-ribbon-inner>div a{font-size:10px}
  .section-head.with-tools,.promo-section-intro{align-items:flex-start;flex-direction:column}
  .section-tools{width:100%;display:grid;grid-template-columns:1fr 1fr}.section-tools .btn{width:100%;padding-inline:10px}
  .family-grid,.family-grid.secondary,.products-slider,.news-grid,.fact-grid,.values-grid,.categories,.promo-grid{grid-template-columns:1fr!important}
  .family-card{min-height:360px}.family-grid.secondary .family-card{min-height:300px}
  .fact-card{min-height:150px;border-right:0;border-bottom:1px solid var(--df-line)}.fact-card:last-child{border-bottom:0}
  .footer-main{grid-template-columns:1fr;gap:28px;padding-block:42px 34px}.footer-bottom{align-items:flex-start;flex-direction:column;padding-block:16px;gap:4px}
  .promo-how{padding:28px 20px}.promo-how-grid{grid-template-columns:1fr}.promo-cta-panel{padding:30px 22px;align-items:flex-start;flex-direction:column}
  .promo-cta-actions{width:100%}.promo-cta-actions .btn{width:100%}
  .page-promos .product-modal-panel,.catalogue-v2 .product-modal-panel{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}
  .page-promos .product-modal-media,.catalogue-v2 .product-modal-media{min-height:270px;padding:18px}
  .page-promos .product-modal-content,.catalogue-v2 .product-modal-content{padding:28px 18px}
  .page-promos .product-modal-content .modal-designation,.catalogue-v2 .product-modal-content .modal-designation{font-size:22px}
  .page-promos .product-media-stage{padding-inline:40px}
  .error-page-card{padding:36px 22px}.error-page-actions{display:grid}.error-page-actions .btn{width:100%}
}
@media(max-width:480px){
  .section-tools{grid-template-columns:1fr}
  .page-promos .promo-poster-image{min-height:0}
  .page-promos .product-modal-content .modal-grid,.catalogue-v2 .product-modal-content .modal-grid{grid-template-columns:1fr}
}


/* ============================================================
   MONDIAL AGRO — HEADER NOS FAMILLES V9
   Même logique visuelle que le hover Catalogue :
   une image dédiée par famille au survol.
   ============================================================ */
@media (min-width:861px){
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple{
    width:min(1180px,calc(100vw - 60px));
    background:#efede0;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid{
    --family-name:"Pâtisserie";
    --family-copy:"Ingrédients, finitions et créations gourmandes";
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:0;
    align-items:stretch;
    min-height:420px;
    padding:0;
    background:#efede0;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-copy{
    padding:26px 0;
    background:#ebe7d7;
    border-right:1px solid #d9c7aa;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-copy > small,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-copy > h3{
    display:none;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links{
    gap:0;
    margin:0;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a{
    position:relative;
    display:flex!important;
    width:100%;
    min-height:58px;
    align-items:center;
    padding:0 34px!important;
    color:#8f8b84!important;
    font-size:16px!important;
    font-weight:600;
    letter-spacing:.01em;
    border:0!important;
    background:transparent!important;
    transition:color .2s ease,background .2s ease,padding-left .2s ease;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a:first-child,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a:hover,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a:focus-visible{
    color:var(--df-ink)!important;
    background:rgba(255,255,255,.18)!important;
    padding-left:42px!important;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a:first-child::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a:hover::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-links a:focus-visible::before{
    content:"";
    position:absolute;
    left:26px;
    top:50%;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--df-gold);
    transform:translateY(-50%);
  }
  /* Dès qu'une autre famille est survolée, Pâtisserie perd son état visuel par défaut. */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:not(:first-child):hover) .mega-simple-links a:first-child,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:not(:first-child):focus-visible) .mega-simple-links a:first-child{
    color:#8f8b84!important;
    background:transparent!important;
    padding-left:34px!important;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:not(:first-child):hover) .mega-simple-links a:first-child::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:not(:first-child):focus-visible) .mega-simple-links a:first-child::before{
    content:none;
  }

  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual{
    display:block;
    padding:36px 40px;
    background:#efede0;
    text-decoration:none;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual > img{
    display:none!important;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual::before{
    content:"";
    display:block;
    width:100%;
    height:300px;
    background-image:url("../img/editorial/patisserie.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transition:opacity .18s ease;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual div{
    padding:16px 4px 0;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual small,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual strong{
    font-size:0;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual small::after{
    content:var(--family-name);
    display:block;
    color:#9f895b;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-visual strong::after{
    content:var(--family-copy);
    display:block;
    margin-top:8px;
    color:#2d2d2d;
    font-size:20px;
    line-height:1.25;
  }

  /* Pâtisserie */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(1):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(1):focus-visible){
    --family-name:"Pâtisserie";
    --family-copy:"Ingrédients, finitions et créations gourmandes";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(1):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(1):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/patisserie.jpg");
  }

  /* Boulangerie */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(2):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(2):focus-visible){
    --family-name:"Boulangerie";
    --family-copy:"Farines, céréales, levures et solutions métier";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(2):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(2):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/boulangerie-baguettes-v20.jpg");
  }

  /* Frais */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(3):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(3):focus-visible){
    --family-name:"Frais";
    --family-copy:"Beurres, margarines, crèmes et essentiels frais";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(3):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(3):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/frais.jpg");
  }

  /* Surgelés */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(4):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(4):focus-visible){
    --family-name:"Surgelés";
    --family-copy:"Viennoiseries et références surgelées pour votre cadence";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(4):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(4):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/surgeles.jpg");
  }

  /* Snacking */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(5):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(5):focus-visible){
    --family-name:"Snacking";
    --family-copy:"Essentiels pratiques pour développer votre offre salée";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(5):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(5):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/snacking.jpg");
  }

  /* Boissons */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(6):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(6):focus-visible){
    --family-name:"Boissons";
    --family-copy:"Eaux, boissons gazeuses et boissons fruitées";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(6):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(6):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/boissons.jpg");
  }

  /* Emballages */
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(7):hover),
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(7):focus-visible){
    --family-name:"Emballages";
    --family-copy:"Valorisez, protégez et transportez vos créations";
  }
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(7):hover) .mega-simple-visual::before,
  .nav-item:has(> .nav-link[href$="nos-familles.php"]) > .mega-simple .mega-simple-grid:has(.mega-simple-links a:nth-child(7):focus-visible) .mega-simple-visual::before{
    background-image:url("../img/editorial/emballages.jpg");
  }
}


/* ============================================================
   MONDIAL AGRO — MOBILE GLOBAL V12 — 07/09/2026
   Vraie composition mobile, sans modifier le desktop.
   ============================================================ */
@media (max-width:860px){
  html,body{max-width:100%;overflow-x:hidden}
  html{scroll-padding-top:72px}
  body{font-size:15px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
  img,svg,video,canvas{max-width:100%}
  button,a,input,select,textarea{touch-action:manipulation}
  .container,.main,.topbar-inner,.footer-main,.footer-bottom{width:calc(100% - 28px)!important;max-width:none}
  .df-section{padding:44px 0!important}
  .df-kicker{font-size:9px;letter-spacing:.12em}
  .df-title,.section-title{font-size:clamp(25px,8vw,34px)!important;line-height:1.06!important}
  .section-sub,.df-intro{font-size:13px!important;line-height:1.65!important}
  .section-head,.section-head.with-tools,.promo-section-intro{align-items:flex-start!important;flex-direction:column!important;gap:16px!important}
  .section-tools{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .section-tools .btn{width:100%;padding-inline:10px;font-size:10px}
  .btn{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center}

  /* Le ruban desktop consomme trop de hauteur sur téléphone */
  .site-ribbon{display:none!important}
  .topbar{top:0!important;z-index:1300!important;min-height:64px;background:#fffdfb}
  .topbar-inner{min-height:64px!important;height:64px!important;gap:8px!important}
  .logo{gap:8px!important;min-width:0}
  .logo-emblem{width:40px!important;height:40px!important;flex:0 0 40px}
  .logo-name{font-size:13px!important;letter-spacing:.055em!important;white-space:nowrap}
  .logo-sub{font-size:6.5px!important;letter-spacing:.13em!important;white-space:nowrap}
  .header-search-toggle,.nav-toggle{width:44px!important;height:44px!important;min-width:44px;display:grid!important;place-items:center;padding:0!important;margin:0!important;border:1px solid var(--df-line)!important;background:#fff!important;color:var(--df-blue)!important;font-size:23px!important;line-height:1;position:relative;z-index:1330}
  .header-search-toggle{margin-left:auto!important}
  .nav-toggle{order:20}
  .nav-call{display:none!important}
  .nav-overlay{display:block!important;position:fixed!important;inset:64px 0 0!important;z-index:1310!important;background:rgba(48,30,18,.54)!important;opacity:0;visibility:hidden;transition:.2s}
  .nav-overlay.show{opacity:1;visibility:visible}
  .nav{position:fixed!important;z-index:1320!important;top:64px!important;right:-100%!important;bottom:0!important;width:min(91vw,380px)!important;height:calc(100dvh - 64px)!important;margin:0!important;padding:8px 14px 24px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;background:#fffdfb!important;box-shadow:-14px 0 36px rgba(48,30,18,.18)!important;overflow-y:auto!important;overscroll-behavior:contain;transition:right .25s ease!important}
  .nav.open{right:0!important}
  .nav>.nav-item{width:100%;height:auto!important;display:block!important;position:relative!important;border-bottom:1px solid var(--df-line)!important;flex:0 0 auto}
  .nav>.nav-item>.nav-link,.nav>a{min-height:52px!important;height:auto!important;padding:0 48px 0 4px!important;display:flex!important;align-items:center!important;border:0!important;font-size:14px!important;font-weight:700!important;color:#49372a!important;white-space:normal!important}
  .nav>.nav-item>.nav-link.active{color:var(--df-blue)!important}
  .nav>.nav-item>.nav-link.active::after,.nav>a.active::after{display:none!important}
  .submenu-toggle{position:absolute!important;right:0!important;top:4px!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border:0!important;background:transparent!important;color:var(--df-blue)!important;font-size:20px!important;z-index:4}
  .nav-item.submenu-open>.submenu-toggle{transform:rotate(180deg)}
  .submenu,.mega-menu,.mega-simple{position:static!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:none!important;margin:0 0 10px!important;padding:0!important;display:none!important;visibility:visible!important;opacity:1!important;transform:none!important;border:1px solid var(--df-line)!important;box-shadow:none!important;background:#faf6f0!important;overflow:visible!important}
  .nav-item.submenu-open>.submenu{display:block!important}
  .mega-simple-grid,.mega-menu-grid{display:block!important;min-height:0!important;padding:0!important;background:transparent!important}
  .mega-simple-copy{padding:0!important;background:transparent!important;border:0!important}
  .mega-simple-copy>small,.mega-simple-copy>h3,.mega-simple-visual,.mega-panel-visual{display:none!important}
  .mega-simple-links{display:grid!important;gap:0!important;margin:0!important}
  .mega-simple-links a,.mega-panel-links a{min-height:44px!important;display:flex!important;align-items:center!important;padding:0 14px!important;border-bottom:1px solid var(--df-line)!important;background:#fffdfb!important;color:#5b493d!important;font-size:12px!important;line-height:1.35!important}
  .mega-simple-links a:last-child,.mega-panel-links a:last-child{border-bottom:0!important}
  .mega-menu-families{display:flex!important;gap:0!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none;background:#efe5d7!important;border:0!important;border-bottom:1px solid var(--df-line)!important;padding:0!important}
  .mega-menu-families::-webkit-scrollbar{display:none}
  .mega-family{flex:0 0 auto!important;width:auto!important;min-width:112px!important;min-height:44px!important;padding:0 12px!important;scroll-snap-align:start;border-right:1px solid #dfd0bd!important;font-size:11px!important}
  .mega-family.active::before{display:none!important}
  .mega-menu-panels{padding:0!important;background:#fffdfb!important}
  .mega-panel{display:none!important;padding:0!important;grid-template-columns:1fr!important}
  .mega-panel.active,.mega-panel.mobile-active{display:block!important}
  .mega-panel-links{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0!important}
  .mega-cta{font-weight:800!important;color:var(--df-blue)!important}
  .header-search-panel{position:fixed!important;top:64px!important;left:0!important;right:0!important;z-index:1290!important;background:#fffdfb!important;border-bottom:1px solid var(--df-line)!important;padding:10px 0!important;box-shadow:0 10px 24px rgba(61,40,24,.10)}
  .header-search-panel .container{width:calc(100% - 28px)!important}
  .header-search-form{height:46px!important}
  .header-search-form input{min-width:0!important;font-size:16px!important;padding:0 12px!important}
  .header-search-form button{padding:0 14px!important;font-size:10px!important}

  /* HOME */
  .home-hero-slider,.hero-slider-viewport{min-height:520px!important;height:520px!important}
  .hero-slide{min-height:520px!important;background-position:center!important;align-items:flex-end!important}
  .hero-slide::before,.home-hero::before{background:linear-gradient(180deg,rgba(54,34,20,.22) 0%,rgba(54,34,20,.48) 42%,rgba(54,34,20,.90) 100%)!important}
  .hero-slide .container,.home-hero .container{padding-bottom:94px!important}
  .home-hero-card{max-width:100%!important;width:100%!important}
  .home-hero-card .eyebrow{font-size:9px!important;margin-bottom:10px!important}
  .home-hero-card h1{font-size:clamp(31px,10vw,42px)!important;line-height:1.02!important;margin-bottom:14px!important;letter-spacing:-.025em!important}
  .home-hero-card p{font-size:13px!important;line-height:1.55!important;margin-bottom:18px!important;max-width:100%!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .hero-actions .btn{width:100%!important;padding:0 10px!important;font-size:9.5px!important}
  .home-hero-controls{bottom:20px!important;gap:10px!important}
  .hero-nav{width:40px!important;height:40px!important;font-size:22px!important}
  .hero-dot{width:26px!important;height:3px!important}
  .home-marquee-track{padding:9px 0!important;gap:20px!important;animation-duration:34s!important}
  .home-marquee span{font-size:9px!important;letter-spacing:.09em!important}
  .activity-box{margin-top:20px!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;max-width:none!important}
  .activity-box select,.activity-box button{width:100%!important;height:46px!important}
  .mini-benefits{grid-template-columns:1fr!important;gap:9px!important;margin-top:20px!important}
  .mini-benefits article{min-height:0!important;padding:16px!important}
  .family-grid,.family-grid.secondary{grid-template-columns:1fr!important;gap:12px!important;margin-top:22px!important}
  .family-card,.family-grid.secondary .family-card{min-height:250px!important;height:250px!important}
  .family-card-content{left:18px!important;right:18px!important;bottom:18px!important}
  .family-card h3{font-size:20px!important;margin-bottom:7px!important}
  .family-card p{font-size:11px!important;margin-bottom:10px!important;line-height:1.45!important}
  .top-products-wrap{padding:46px 0!important}
  .products-carousel{margin-left:-14px;margin-right:-14px}
  .products-viewport{overflow-x:auto!important;overflow-y:hidden!important;padding:0 14px 12px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}
  .products-viewport::-webkit-scrollbar{display:none}
  .products-track{gap:12px!important;transform:none!important;transition:none!important;width:max-content!important}
  .products-track .df-product{flex:0 0 min(78vw,300px)!important;width:min(78vw,300px)!important;scroll-snap-align:start!important;padding-bottom:14px!important}
  .df-product-image{height:190px!important}
  .df-product-image img{max-height:160px!important}
  .df-product-body{padding:14px 14px 0!important}
  .df-product-body h3{min-height:0!important;font-size:14px!important}
  .slider-tools .slider-btn,.slider-btn{width:42px!important;height:42px!important}
  .editorial-split{grid-template-columns:1fr!important;min-height:0!important}
  .editorial-split .visual{min-height:250px!important;height:250px!important}
  .editorial-split .copy{padding:30px 20px!important}
  .editorial-split .copy h2{font-size:27px!important;margin-bottom:14px!important}
  .editorial-split .copy p{font-size:13px!important;line-height:1.65!important}
  .partner-tribute{padding:48px 0!important}
  .partner-tribute-grid{grid-template-columns:1fr!important;min-height:0!important}
  .partner-tribute-visual{min-height:250px!important;height:250px!important}
  .partner-tribute-copy{padding:30px 20px!important}
  .partner-quote-mark{font-size:52px!important}
  .partner-quote p{font-size:15px!important;line-height:1.62!important}
  .service-pillars{grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important}
  .service-pillar{min-height:0!important;padding:20px!important}
  .service-pillar h3{font-size:20px!important}
  .faq-home-grid{grid-template-columns:1fr!important;gap:20px!important}
  .faq-home-intro{padding:0!important}
  .faq-home-intro h3{font-size:25px!important}
  .faq details{padding:0 16px!important}
  .faq summary{padding:17px 28px 17px 0!important;font-size:13px!important}
  .contact-band{padding:30px 0!important}
  .contact-band .container{align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
  .contact-band h2{font-size:24px!important}
  .contact-band .btn{width:100%!important}
  .fact-grid,.fact-grid-home-3{grid-template-columns:1fr!important}
  .fact-card{min-height:0!important;padding:22px 18px!important;border-right:0!important;border-bottom:1px solid var(--df-line)!important}
  .fact-card:last-child{border-bottom:0!important}
  .fact-card .fact-no{font-size:34px!important}

  /* Modal promo HOME : plein écran utile, affiche entière */
  #ma-flash-takeover .ma-flash-shell{width:100%!important;height:100dvh!important;margin:0!important;grid-template-rows:58px minmax(0,1fr) 52px!important;border:0!important;box-shadow:none!important}
  #ma-flash-takeover .ma-promo-head{padding:0 10px 0 14px!important}
  #ma-flash-takeover .ma-flash-main{padding:8px!important}
  #ma-flash-takeover .ma-book-stage{grid-template-columns:36px minmax(0,1fr) 36px!important;gap:5px!important}
  #ma-flash-takeover .ma-book-nav{width:36px!important;height:44px!important}
  #ma-flash-takeover .ma-book-spread{grid-template-columns:1fr!important;gap:0!important}
  #ma-flash-takeover .ma-book-page{padding:4px!important;min-height:0!important}
  #ma-flash-takeover .ma-book-page:nth-child(2){display:none!important}
  #ma-flash-takeover .ma-book-page img{width:100%!important;height:100%!important;object-fit:contain!important}
  #ma-flash-takeover .ma-book-footer{padding:0 10px 0 14px!important}

  /* CATALOGUE */
  .catalogue-v2 .catalogue-mega-search{padding:10px 0!important}
  .catalogue-v2 .catalogue-search-form{height:46px!important}
  .catalogue-v2 .catalogue-search-form input{font-size:16px!important;min-width:0!important;padding:0 11px!important}
  .catalogue-v2 .catalogue-search-form button{padding-inline:13px!important;font-size:10px!important}
  .catalogue-v2 .catalogue-heading{padding:24px 0 28px!important}
  .catalogue-v2 .catalogue-breadcrumb{margin-bottom:16px!important;font-size:10px!important}
  .catalogue-v2 .catalogue-heading h1{font-size:34px!important;line-height:1.02!important}
  .catalogue-v2 .catalogue-heading p{font-size:12px!important;line-height:1.6!important}
  .catalogue-workspace{display:block!important;padding-top:16px!important;padding-bottom:42px!important}
  .catalogue-v2 .catalogue-family-side{position:static!important;max-height:none!important;margin-bottom:12px!important}
  .catalogue-v2 .catalogue-family-side-head{padding:15px!important}
  .catalogue-v2 .catalogue-family-side-head h2{font-size:20px!important}
  .catalogue-v2 .catalogue-family-accordion{display:none!important}
  .catalogue-v2 .catalogue-family-side.mobile-filter-open .catalogue-family-accordion{display:block!important}
  .catalogue-v2 .catalogue-show-all{min-height:42px!important}
  .catalogue-v2 .catalogue-browser{padding-top:4px!important;min-width:0!important}
  .catalogue-v2 .catalogue-active-filters{padding:10px!important;gap:8px!important}
  .catalogue-v2 .catalogue-topline{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;padding:10px 0!important}
  .catalogue-v2 .catalogue-result-count{font-size:11px!important}
  .catalogue-v2 .catalogue-display-controls{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;width:100%!important;gap:8px!important}
  .catalogue-v2 .catalogue-sort{grid-column:1/-1!important;width:100%!important;margin:0!important;justify-content:space-between!important}
  .catalogue-v2 .catalogue-sort select,.catalogue-v2 .catalogue-limit-select{min-height:42px!important;max-width:100%!important}
  .catalogue-v2 .catalogue-context{padding:18px 0!important;gap:10px!important}
  .catalogue-v2 .catalogue-context h2{font-size:23px!important;line-height:1.08!important}
  .catalogue-v2 .catalogue-grid{grid-template-columns:1fr!important;gap:24px!important}
  .catalogue-v2 .catalogue-card-media{height:240px!important;padding:12px!important}
  .catalogue-v2 .catalogue-card-media img{max-height:214px!important}
  .catalogue-v2 .catalogue-card-body{padding-inline:3px!important}
  .catalogue-v2 .catalogue-card-body h3{font-size:15px!important;min-height:0!important;line-height:1.35!important}
  .catalogue-v2 .catalogue-product-row{grid-template-columns:72px minmax(0,1fr) 40px!important;gap:10px!important}
  .catalogue-v2 .catalogue-row-pack,.catalogue-v2 .catalogue-row-status{display:none!important}
  .catalogue-v2 .catalogue-pagination{gap:5px!important;flex-wrap:wrap!important}
  .catalogue-v2 .page-btn{min-width:42px!important;height:42px!important}
  .catalogue-v2 .catalogue-facts{grid-template-columns:1fr!important}
  .catalogue-v2 .catalogue-facts>a{min-height:120px!important;border-right:0!important;border-bottom:1px solid var(--df-line)!important;padding:20px!important}
  .catalogue-v2 .catalogue-facts>a:last-child{border-bottom:0!important}
  .catalogue-v2 .catalogue-contact-cta .container{align-items:flex-start!important;flex-direction:column!important;gap:16px!important}
  .catalogue-v2 .catalogue-contact-cta .btn{width:100%!important}

  /* Modals produit catalogue + promos : vrai plein écran mobile */
  .catalogue-v2 .product-modal-v2,.page-promos .product-modal-v2{padding:0!important;align-items:stretch!important}
  .catalogue-v2 .product-modal-panel,.page-promos .product-modal-panel{width:100%!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;overflow:auto!important;overscroll-behavior:contain}
  .catalogue-v2 .product-modal-layout,.page-promos .product-modal-layout{grid-template-columns:1fr!important;min-height:0!important}
  .catalogue-v2 .product-modal-media,.page-promos .product-modal-media{min-height:300px!important;height:42dvh!important;max-height:390px!important;padding:18px!important;border-right:0!important;border-bottom:1px solid var(--df-line)!important}
  .catalogue-v2 .product-modal-media img,.page-promos .product-modal-media img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
  .catalogue-v2 .product-modal-content,.page-promos .product-modal-content{padding:24px 16px 32px!important}
  .catalogue-v2 .product-modal-panel>.modal-close,.page-promos .product-modal-panel>.modal-close{position:fixed!important;right:10px!important;top:10px!important;width:44px!important;height:44px!important;z-index:20!important;background:#fff!important}
  .catalogue-v2 .product-modal-content .modal-designation,.page-promos .product-modal-content .modal-designation{font-size:23px!important;line-height:1.12!important;padding-right:4px!important}
  .catalogue-v2 .product-modal-content .modal-grid,.page-promos .product-modal-content .modal-grid{grid-template-columns:1fr!important;margin-top:20px!important}
  .catalogue-v2 .modal-spec,.page-promos .modal-spec{padding:13px!important}
  .catalogue-v2 .modal-contact-btn,.page-promos .modal-contact-btn{width:100%!important}
  .page-promos .product-media-stage{padding:10px 42px!important}
  .page-promos .product-media-nav{width:38px!important;height:44px!important}

  /* PROMOTIONS */
  .promo-page-hero{min-height:390px!important;align-items:flex-end!important}
  .promo-page-hero::before{background:linear-gradient(180deg,rgba(54,34,20,.25),rgba(54,34,20,.85))!important}
  .promo-page-hero .container{padding-bottom:38px!important}
  .promo-page-hero h1{font-size:34px!important;line-height:1.04!important}
  .promo-page-hero p{font-size:13px!important;line-height:1.6!important;margin-top:12px!important}
  .promo-page-hero .btn{width:100%!important;margin-top:18px!important}
  .main{padding:32px 0 50px!important}
  .promo-alert{margin-bottom:32px!important;padding:14px!important;gap:10px!important;align-items:flex-start!important}
  .promo-alert-icon{font-size:22px!important}
  .promo-alert-copy strong{font-size:13px!important}
  .promo-alert-action{margin-left:auto!important;font-size:10px!important;white-space:nowrap}
  .promo-assurance{display:none!important}
  .promo-grid{grid-template-columns:1fr!important;gap:14px!important;margin-top:20px!important}
  .promo-poster-image{min-height:0!important;padding:5px!important}
  .promo-poster-image img{max-height:none!important;height:auto!important}
  .promo-poster-meta{padding:12px!important}
  .promo-how{padding:24px 16px!important}
  .promo-how-grid{grid-template-columns:1fr!important;gap:1px!important}
  .promo-how-grid article{padding:18px!important}
  .promo-cta-panel{padding:26px 18px!important;align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
  .promo-cta-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .promo-cta-actions .btn{width:100%!important}

  /* NOS FAMILLES */
  .families-page-hero{padding:38px 0 32px!important}
  .families-breadcrumb{margin-bottom:18px!important;font-size:10px!important;overflow-x:auto;white-space:nowrap}
  .families-page-hero h1{font-size:36px!important;line-height:1.02!important}
  .families-page-hero p{font-size:13px!important;line-height:1.65!important;margin-top:14px!important}
  .families-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:20px!important}
  .families-hero-actions .btn{width:100%!important}
  .families-anchor-nav{position:sticky!important;top:64px!important;z-index:50!important}
  .families-anchor-nav .container{width:100%!important;padding:0 12px!important;overflow-x:auto!important;scroll-snap-type:x proximity}
  .families-anchor-nav a{flex:0 0 auto!important;min-height:44px!important;padding:0 13px!important;font-size:10px!important;scroll-snap-align:start}
  .family-story{padding:42px 0!important}
  .family-story-inner{grid-template-columns:1fr!important;gap:24px!important}
  .family-story:nth-of-type(even) .family-story-image{order:0!important}
  .family-story-image{margin:0!important}
  .family-story-image::before{left:-8px!important;bottom:-8px!important}
  .family-story-image::after{left:16px!important;right:-8px!important;bottom:-8px!important}
  .family-story-image img{aspect-ratio:1.35/1!important}
  .family-story-copy{padding:0!important}
  .family-story-copy h2{font-size:29px!important;line-height:1.04!important;margin-top:10px!important}
  .family-story-copy p{font-size:13px!important;line-height:1.65!important}
  .family-subcats{gap:7px!important}
  .family-link{min-height:44px!important;display:inline-flex!important;align-items:center!important}
  .families-final-cta{padding:36px 0!important}
  .families-final-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important}
  .families-final-actions .btn{width:100%!important}

  /* HISTOIRE */
  .page-story .page-hero{min-height:380px!important}
  .page-story .page-hero .container{padding-bottom:36px!important}
  .page-story .page-hero h1{font-size:36px!important;line-height:1.02!important}
  .story-intro{grid-template-columns:1fr!important;gap:18px!important}
  .story-intro .big-year{font-size:66px!important;line-height:.9!important}
  .story-intro .copy h2{font-size:27px!important}
  .story-timeline{grid-template-columns:1fr!important}
  .story-milestone{padding:22px 18px!important;border-right:0!important;border-bottom:1px solid var(--df-line)!important}
  .story-highlight{grid-template-columns:1fr!important;padding:22px 16px!important;gap:18px!important}
  .story-highlight-copy h2{font-size:24px!important}
  .story-highlight-copy h3{font-size:21px!important}
  .story-highlight-cards article{padding:18px!important}
  .values-grid{grid-template-columns:1fr!important;gap:1px!important}
  .value-card{min-height:0!important;padding:20px!important}

  /* CONTACT */
  .contact-hero-v17{padding:36px 0!important}
  .contact-hero-grid{grid-template-columns:1fr!important;gap:24px!important}
  .contact-hero-copy .crumb{margin-bottom:18px!important}
  .contact-hero-copy h1{font-size:36px!important;line-height:1!important}
  .contact-hero-copy>p{font-size:13px!important;line-height:1.65!important}
  .contact-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .contact-hero-actions .btn{width:100%!important}
  .contact-hero-visual{height:230px!important}
  .contact-actions-grid{grid-template-columns:1fr!important}
  .contact-actions-grid>a{min-height:100px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;padding:20px!important}
  .contact-layout-v17{grid-template-columns:1fr!important;gap:18px!important}
  .contact-form-v17{padding:20px 14px!important}
  .form-grid{grid-template-columns:1fr!important;gap:14px!important}
  .field.full{grid-column:auto!important}
  .field input,.field select,.field textarea{font-size:16px!important;min-height:46px!important}
  .field textarea{min-height:130px!important}
  .form-submit-row{align-items:stretch!important;flex-direction:column!important;gap:10px!important}
  .form-submit-row .btn{width:100%!important}
  .contact-help-v17{padding:24px 18px!important}
  .contact-store-grid-v17{grid-template-columns:1fr!important;gap:12px!important}
  .contact-store-grid-v17 article{padding:22px 18px!important}
  .contact-final-v17{padding:34px 0!important}

  /* FOOTER */
  .footer-main{grid-template-columns:1fr!important;gap:24px!important;padding:34px 0 26px!important}
  .footer-brand{grid-column:auto!important}
  .footer-logo .logo-emblem{width:44px!important;height:44px!important}
  .footer-main p,.footer-main a{font-size:12px!important;line-height:1.6!important}
  .footer-column{padding-top:2px!important}
  .footer-column h3{font-size:12px!important;margin-bottom:9px!important}
  .footer-bottom{padding:14px 0!important;gap:5px!important;align-items:flex-start!important;flex-direction:column!important;font-size:10px!important;line-height:1.45!important}

  /* 404 */
  .error-page-shell{padding:12px!important}
  .error-page-card{padding:28px 16px!important}
  .error-page-card h1{font-size:32px!important}
  .error-page-actions{display:grid!important;grid-template-columns:1fr!important}
  .error-page-actions .btn{width:100%!important}
}

@media (max-width:430px){
  .container,.main,.topbar-inner,.footer-main,.footer-bottom{width:calc(100% - 20px)!important}
  .logo-name{font-size:12px!important}.logo-sub{display:none!important}.logo-emblem{width:38px!important;height:38px!important;flex-basis:38px!important}
  .header-search-toggle,.nav-toggle{width:42px!important;height:42px!important;min-width:42px!important}
  .home-hero-slider,.hero-slider-viewport,.hero-slide{height:500px!important;min-height:500px!important}
  .home-hero-card h1{font-size:30px!important}
  .hero-actions{grid-template-columns:1fr!important}
  .hero-actions .btn{min-height:42px!important}
  .family-card,.family-grid.secondary .family-card{height:230px!important;min-height:230px!important}
  .products-track .df-product{flex-basis:84vw!important;width:84vw!important}
  .section-tools{grid-template-columns:1fr!important}
  .catalogue-v2 .catalogue-heading h1,.families-page-hero h1,.contact-hero-copy h1,.page-story .page-hero h1,.promo-page-hero h1{font-size:31px!important}
  .catalogue-v2 .catalogue-card-media{height:220px!important}
  .catalogue-v2 .product-modal-media,.page-promos .product-modal-media{height:38dvh!important;min-height:260px!important}
  .promo-alert-action{display:none!important}
}

@media (max-width:360px){
  .logo-name{font-size:11px!important;letter-spacing:.03em!important}
  .header-search-toggle,.nav-toggle{width:40px!important;height:40px!important;min-width:40px!important}
  .topbar-inner{gap:5px!important}
  .home-hero-card h1{font-size:28px!important}
  .nav{width:94vw!important}
}

@media (hover:none) and (pointer:coarse){
  .family-card:hover img,.news-card:hover img,.promo-poster-card:hover,.df-product:hover,.catalogue-product-card:hover{transform:none!important}
  .family-card,.df-product,.news-card,.promo-poster-card,.catalogue-product-card{box-shadow:none!important}
  .products-viewport{scroll-behavior:smooth}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* ============================================================
   MOBILE V12.1 — FIX OVERLAY MENU
   L'overlay doit assombrir la page mais rester sous le header
   et sous le panneau de navigation afin de ne jamais intercepter
   les clics du menu.
   ============================================================ */
@media(max-width:860px){
  .topbar{
    position:relative;
    z-index:1300!important;
  }

  .nav-overlay{
    z-index:1200!important;
    pointer-events:none!important;
  }

  .nav-overlay.show{
    pointer-events:auto!important;
  }

  .nav{
    z-index:1400!important;
    pointer-events:auto!important;
    isolation:isolate;
  }

  .nav.open,
  .nav.open *{
    pointer-events:auto;
  }

  .nav-toggle{
    z-index:1450!important;
  }
}

/* MA MENU V10 START */
/* Plus aucun thème spécifique au menu Familles : il réutilise les règles
   .mega-simple communes à Accueil / Histoire / Promotions / Contact. */
.header-search-toggle,
.header-search-panel{display:none!important}

/* Les flèches de sous-menu restent fonctionnelles sur mobile mais invisibles. */
.topbar .submenu-toggle{
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
@media (min-width:981px){
  .topbar .submenu-toggle{width:0!important;min-width:0!important;max-width:0!important;padding:0!important;margin:0!important;pointer-events:none!important}
}
@media (max-width:980px){
  .topbar .submenu-toggle{width:36px!important;min-width:36px!important;height:42px!important;padding:0!important;opacity:0!important}
}

/* Catalogue : même mega-simple que les autres, mais visuel volontairement plus petit. */
.topbar .ma-nav-catalogue .mega-simple-grid{
  grid-template-columns:minmax(0,1fr) minmax(190px,250px);
  align-items:start;
}
.topbar .ma-nav-catalogue .ma-catalogue-menu-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px 18px;
}
.topbar .ma-nav-catalogue .ma-catalogue-menu-visual{
  width:100%;
  max-width:250px;
  justify-self:end;
}
.topbar .ma-nav-catalogue .ma-catalogue-menu-visual img{
  width:100%!important;
  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;
  object-fit:cover!important;
}
.topbar .ma-nav-catalogue .ma-catalogue-menu-visual div{
  padding-top:9px!important;
  padding-bottom:9px!important;
}

@media (max-width:980px){
  .topbar .ma-nav-catalogue .mega-simple-grid{grid-template-columns:1fr}
  .topbar .ma-nav-catalogue .ma-catalogue-menu-links{grid-template-columns:1fr}
  .topbar .ma-nav-catalogue .ma-catalogue-menu-visual{max-width:none;justify-self:stretch}
  .topbar .ma-nav-catalogue .ma-catalogue-menu-visual img{height:96px!important;min-height:96px!important;max-height:96px!important}
}
/* MA MENU V10 END */

/* MA-HEADER-HOMOGENE-V11-START */

/* =========================================================
   MONDIAL AGRO
   UN SEUL STYLE POUR TOUS LES MENUS DU HEADER
   ========================================================= */

/*
 Accueil
 Notre histoire
 Nos familles
 Catalogue
 Promotions
 Contact

 Aucun menu n'a de thème ou couleur spécifique.
*/

/* ---------- LIENS PRINCIPAUX ---------- */

.topbar .nav > .nav-item > .nav-link{
    color:#543b2c!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-decoration:none!important;

    transition:
        color .18s ease,
        background-color .18s ease!important;
}


/* ---------- HOVER IDENTIQUE ---------- */

.topbar .nav > .nav-item:hover > .nav-link,
.topbar .nav > .nav-item:focus-within > .nav-link,
.topbar .nav > .nav-item > .nav-link:hover,
.topbar .nav > .nav-item > .nav-link:focus-visible{

    color:#6a4524!important;
    background:#f5eee5!important;
}


/* ---------- MENU ACTIF IDENTIQUE ---------- */

.topbar .nav > .nav-item.active > .nav-link,
.topbar .nav > .nav-item > .nav-link.active{

    color:#6a4524!important;

    background:#f5eee5!important;

    box-shadow:
        inset 0 -2px 0 #c79b62!important;
}


/* =========================================================
   TOUS LES DROPDOWNS
   ========================================================= */

.topbar .submenu.mega-menu.mega-simple{

    background:#fff!important;

    color:#50392b!important;

    border:
        1px solid rgba(83,55,36,.12)!important;

    border-top:
        2px solid #c79b62!important;

    border-radius:
        0 0 8px 8px!important;

    box-shadow:
        0 18px 42px rgba(67,43,27,.14)!important;
}


/* Ne permet PAS à Familles ou Catalogue
   d'avoir un fond spécifique */

.topbar .nav-item .mega-simple-grid,
.topbar .nav-item .mega-simple-copy{

    background:#fff!important;
}


/* ---------- PETIT TITRE ---------- */

.topbar .mega-simple-copy > small{

    color:#a5773c!important;

    background:transparent!important;
}


/* ---------- TITRE DROPDOWN ---------- */

.topbar .mega-simple-copy > h3{

    color:#503725!important;
}


/* =========================================================
   LIENS INTERNES
   ========================================================= */

.topbar .mega-simple-links > a{

    color:#5c493b!important;

    background:transparent!important;

    border-color:
        rgba(83,55,36,.10)!important;

    box-shadow:none!important;

    transition:
        background-color .15s ease,
        color .15s ease!important;
}


.topbar .mega-simple-links > a:hover,
.topbar .mega-simple-links > a:focus-visible{

    color:#6a4524!important;

    background:#f6efe6!important;

    border-color:
        rgba(167,119,60,.24)!important;
}


/* =========================================================
   PARTIE IMAGE
   ========================================================= */

.topbar .mega-simple-visual{

    background:#f3ece4!important;

    border:0!important;

    box-shadow:none!important;
}


.topbar .mega-simple-visual small{

    color:#f2d8ae!important;
}


.topbar .mega-simple-visual strong{

    color:#fff!important;
}


/* =========================================================
   SUPPRIME LES COULEURS SPECIALES PAR PAGE
   ========================================================= */

.page-catalogue .topbar .nav-item,
.page-catalogue .topbar .mega-simple,

.page-promos .topbar .nav-item,
.page-promos .topbar .mega-simple,

.page-families .topbar .nav-item,
.page-families .topbar .mega-simple,

.page-nos-familles .topbar .nav-item,
.page-nos-familles .topbar .mega-simple{

    --menu-color:#c79b62!important;
    --menu-accent:#c79b62!important;
    --mega-accent:#c79b62!important;
}


/* =========================================================
   LA LOUPE NE DOIT PAS REVENIR
   ========================================================= */

.topbar .header-search-toggle,
.topbar .search-toggle,
.topbar .nav-search,
.topbar [data-search-toggle]{

    display:none!important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:980px){

    .topbar .nav > .nav-item > .nav-link,
    .topbar .nav > .nav-item:hover > .nav-link,
    .topbar .nav > .nav-item:focus-within > .nav-link,
    .topbar .nav > .nav-item.active > .nav-link,
    .topbar .nav > .nav-item > .nav-link.active{

        background:transparent!important;
        box-shadow:none!important;
    }


    .topbar .submenu.mega-menu.mega-simple{

        background:#fff!important;

        border:0!important;

        border-top:
            1px solid rgba(83,55,36,.10)!important;

        box-shadow:none!important;

        border-radius:0!important;
    }


    .topbar .mega-simple-grid,
    .topbar .mega-simple-copy{

        background:#fff!important;
    }
}

/* MA-HEADER-HOMOGENE-V11-END */

/* MA-MENU-VISUAL-TITLES-V15-START */

/* Notre histoire */
.topbar .mega-simple-visual[href*="presentation.php"] strong,

/* Promotions */
.topbar .mega-simple-visual[href*="index.html"] strong,

/* Contact */
.topbar .mega-simple-visual[href*="contact.php"] strong {

    color: rgb(73,55,42) !important;
}

/* MA-MENU-VISUAL-TITLES-V15-END */

/* MA-MENU-VISUAL-TITLES-V16-START */

/* Même couleur de titre sous l'image pour TOUS les menus */
.topbar .mega-simple-visual strong {
    color: rgb(73,55,42) !important;
}

/* MA-MENU-VISUAL-TITLES-V16-END */

/* MA-CENTURY-GOTHIC-GLOBAL-V22-START */

/*
 * POLICE OFFICIELLE DU CATALOGUE MONDIAL AGRO
 */

body.page-catalogue,
body.page-catalogue *,
body.page-catalogue *::before,
body.page-catalogue *::after,

body.page-catalogue-pdf-native,
body.page-catalogue-pdf-native *,
body.page-catalogue-pdf-native *::before,
body.page-catalogue-pdf-native *::after {

    font-family:
        "Century Gothic",
        CenturyGothic,
        AppleGothic,
        "Trebuchet MS",
        Arial,
        sans-serif !important;
}


/* Contrôles formulaire */

body.page-catalogue input,
body.page-catalogue select,
body.page-catalogue textarea,
body.page-catalogue button,

body.page-catalogue-pdf-native input,
body.page-catalogue-pdf-native select,
body.page-catalogue-pdf-native textarea,
body.page-catalogue-pdf-native button {

    font-family:
        "Century Gothic",
        CenturyGothic,
        AppleGothic,
        "Trebuchet MS",
        Arial,
        sans-serif !important;
}


/* Titres */

body.page-catalogue h1,
body.page-catalogue h2,
body.page-catalogue h3,
body.page-catalogue h4,
body.page-catalogue h5,
body.page-catalogue h6,
body.page-catalogue strong,
body.page-catalogue b {

    font-family:
        "Century Gothic",
        CenturyGothic,
        AppleGothic,
        "Trebuchet MS",
        Arial,
        sans-serif !important;
}

/* MA-CENTURY-GOTHIC-GLOBAL-V22-END */
