@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600 700;font-display:swap;src:url('/assets/fonts/playfair-display-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600 700;font-display:swap;src:url('/assets/fonts/playfair-display-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('/assets/fonts/playfair-display-italic-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
--bg:#FFFFFF;
--surface:#FFFCF7;
--honey-pale:#FDF1D6;
--honey-mid:#F5C842;
--honey-deep:#D4A520;
--primary:#B45309;
--primary-ink:#92400E;
--primary-dark:#7A3B08;
--accent:#E8870B;
--text:#2B1C0A;
--muted:#5C4A33;
--ruche:#3D2A12;
--ruche-mid:#5C3D1A;
--ruche-light:#7A5430;
--bio:#2D6A4F;
--border:#EBDFC9;
--radius:14px;
--radius-sm:8px;
--shadow:0 1px 3px rgba(43,28,10,0.08),0 4px 12px rgba(43,28,10,0.05);
--shadow-lg:0 4px 20px rgba(43,28,10,0.12);
--shadow-xl:0 8px 40px rgba(43,28,10,0.15);
}

html{scroll-behavior:smooth}

body{
font-family:'DM Sans',sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.65;
-webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--primary-ink);text-decoration:none}
a:hover{color:var(--primary-dark)}

h1,h2,h3,h4,h5,h6{
font-family:'Playfair Display',serif;
color:var(--ruche);
line-height:1.2;
}

h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700}
h2{font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:700}
h3{font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:600}

.btn-primary{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
background:var(--primary);
color:#fff;
border:none;
border-radius:var(--radius-sm);
font-family:'DM Sans',sans-serif;
font-size:clamp(0.875rem,2vw,1rem);
font-weight:600;
padding:12px 24px;
cursor:pointer;
transition:background 0.2s,transform 0.2s;
min-height:44px;
}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}

.btn-outline{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
background:transparent;
color:var(--primary-ink);
border:2px solid var(--primary);
border-radius:var(--radius-sm);
font-family:'DM Sans',sans-serif;
font-size:clamp(0.875rem,2vw,1rem);
font-weight:600;
padding:10px 24px;
cursor:pointer;
transition:background 0.2s,color 0.2s;
min-height:44px;
}
.btn-outline:hover{background:var(--honey-pale);color:var(--primary-dark)}

.btn-ghost{
display:inline-flex;
align-items:center;
justify-content:center;
background:transparent;
color:var(--text);
border:none;
font-family:'DM Sans',sans-serif;
font-size:0.875rem;
font-weight:500;
cursor:pointer;
min-height:44px;
}

.page-hero-simple{padding:72px 24px 40px}
.page-hero-inner{max-width:1280px;margin:0 auto}

.section{padding:80px 24px}
.section-inner{max-width:1280px;margin:0 auto}
.section-alt{background:var(--surface)}
.section-dark{background:var(--ruche)}
.section-honey{background:var(--honey-pale)}

.section-label{
font-family:'DM Sans',sans-serif;
font-size:0.75rem;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:var(--primary-ink);
margin-bottom:12px;
}

.section-header{text-align:center;margin-bottom:48px}
.section-header h2{margin-bottom:12px}
.section-header p{font-size:1rem;color:var(--muted);max-width:580px;margin:0 auto}

.section-tag{
display:inline-block;
background:rgba(180,83,9,0.1);
color:var(--primary-ink);
padding:6px 16px;
border-radius:50px;
font-size:0.8125rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:1px;
margin-bottom:12px;
}

nav#navbar{
position:sticky;
top:0;
z-index:1000;
background:rgba(255,255,255,0.97);
border-bottom:1px solid var(--border);
backdrop-filter:blur(12px);
}

body.page-hero-dark nav#navbar{
background:rgba(61,42,18,0.85);
border-bottom:1px solid rgba(255,255,255,0.1);
}

body.page-hero-dark .nav-logo{color:#fff}
body.page-hero-dark .nav-links a:not(.megamenu-cat),
body.page-hero-dark .nav-megamenu-trigger{color:rgba(255,255,255,0.8)}
body.page-hero-dark .nav-links a:not(.megamenu-cat):hover{color:#fff}
body.page-hero-dark .mobile-menu-btn{color:#fff}

.promo-strip{
background:var(--ruche);
color:#fff;
text-align:center;
padding:8px 16px;
font-size:0.8125rem;
font-weight:600;
letter-spacing:0.5px;
}
.promo-strip span{color:var(--accent)}

.nav-main{
max-width:1280px;
margin:0 auto;
padding:0 24px;
display:flex;
align-items:center;
justify-content:space-between;
height:64px;
}

.nav-logo{
font-family:'Playfair Display',serif;
font-size:1.375rem;
font-weight:700;
color:var(--ruche);
text-decoration:none;
}

.nav-links{
display:flex;
align-items:center;
gap:28px;
list-style:none;
}
.nav-links a{
font-size:0.875rem;
font-weight:500;
color:var(--muted);
text-decoration:none;
transition:color 0.2s;
}
.nav-links a:hover{color:var(--primary)}

.nav-right{
display:flex;
align-items:center;
gap:16px;
}

.mobile-menu-btn{
display:none;
background:none;
border:none;
font-size:1.5rem;
cursor:pointer;
color:var(--ruche);
min-height:44px;
min-width:44px;
align-items:center;
justify-content:center;
}

.hero{
background:linear-gradient(160deg,var(--ruche) 0%,var(--ruche-mid) 50%,var(--ruche-light) 100%);
padding:100px 24px 80px;
text-align:center;
position:relative;
overflow:hidden;
}
.hero-full{width:100%}

.hero::before{
content:'';
position:absolute;
inset:0;
background:radial-gradient(ellipse at 30% 50%,rgba(232,135,11,0.2) 0%,transparent 60%),
radial-gradient(ellipse at 70% 30%,rgba(253,241,214,0.1) 0%,transparent 50%);
pointer-events:none;
}

.hero-content{
position:relative;
z-index:1;
max-width:800px;
margin:0 auto;
}

.hero-badge{
display:inline-flex;
align-items:center;
gap:8px;
background:rgba(232,135,11,0.2);
border:1px solid rgba(232,135,11,0.4);
color:var(--accent);
padding:8px 20px;
border-radius:50px;
font-size:0.875rem;
font-weight:600;
margin-bottom:24px;
}

.hero h1{color:#fff;margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--accent)}

.hero-sub{
font-size:1.125rem;
color:rgba(255,255,255,0.75);
max-width:560px;
margin:0 auto 36px;
}

.hero-ctas{
display:flex;
gap:16px;
justify-content:center;
flex-wrap:wrap;
}

.btn-hero-primary{
display:inline-flex;
align-items:center;
gap:8px;
background:var(--primary);
color:#fff;
border:none;
padding:16px 32px;
border-radius:var(--radius);
font-family:'DM Sans',sans-serif;
font-size:clamp(0.9375rem,2vw,1.0625rem);
font-weight:700;
cursor:pointer;
transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
min-height:44px;
}
.btn-hero-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(180,83,9,0.35)}

.btn-hero-secondary{
display:inline-flex;
align-items:center;
gap:8px;
background:rgba(255,255,255,0.12);
color:#fff;
border:1px solid rgba(255,255,255,0.25);
padding:16px 32px;
border-radius:var(--radius);
font-family:'DM Sans',sans-serif;
font-size:clamp(0.9375rem,2vw,1.0625rem);
font-weight:600;
cursor:pointer;
transition:background 0.2s;
min-height:44px;
text-decoration:none;
}
.btn-hero-secondary:hover{background:rgba(255,255,255,0.2)}

.trust-bar{
background:var(--bg);
border-bottom:1px solid var(--border);
padding:20px 24px;
}
.trust-items{
max-width:1280px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(6,1fr);
gap:16px;
align-items:center;
}
.trust-item{
display:flex;
align-items:center;
gap:10px;
font-size:0.875rem;
font-weight:500;
color:var(--muted);
}
.trust-icon{
width:40px;
height:40px;
background:var(--honey-pale);
border-radius:10px;
display:flex;
align-items:center;
justify-content:center;
font-size:1.25rem;
flex-shrink:0;
}
.trust-item strong{color:var(--text);font-weight:600}

.categories-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}
.cat-card{
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
padding:28px 24px;
transition:all 0.3s;
cursor:pointer;
text-decoration:none;
display:block;
}
.cat-card:hover{
border-color:var(--primary);
box-shadow:var(--shadow-lg);
transform:translateY(-3px);
}
.cat-card-icon{
font-size:2rem;
margin-bottom:12px;
}
.cat-card h3{
font-size:1rem;
font-weight:700;
color:var(--ruche);
margin-bottom:6px;
}
.cat-card p{
font-size:0.8125rem;
color:var(--muted);
line-height:1.5;
}
.cat-card-link{
font-size:0.8125rem;
font-weight:600;
color:var(--primary-ink);
margin-top:12px;
display:inline-block;
}

.products-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
}

.product-card{
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--radius);
overflow:hidden;
transition:all 0.3s;
position:relative;
}
.product-card:hover{
transform:translateY(-4px);
box-shadow:var(--shadow-xl);
border-color:var(--primary);
}

.product-badge{
position:absolute;
top:12px;
left:12px;
z-index:10;
padding:4px 12px;
border-radius:6px;
font-size:0.75rem;
font-weight:700;
}
.badge-best{background:var(--primary);color:#fff}
.badge-new{background:var(--accent);color:#fff}
.badge-bio{background:var(--bio);color:#fff}

.product-img{
width:100%;
height:220px;
background:linear-gradient(135deg,var(--honey-pale) 0%,var(--honey-mid) 100%);
display:flex;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden;
}
.product-img-inner{
width:65%;
height:72%;
background:var(--bg);
border-radius:8px;
box-shadow:0 4px 20px rgba(43,28,10,0.1);
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
transition:transform 0.3s;
}
.product-card:hover .product-img-inner{transform:scale(1.04)}
.product-img-inner .prod-emoji{font-size:2.5rem}
.product-img-inner .prod-marque{
font-size:0.625rem;
font-weight:700;
letter-spacing:1.5px;
text-transform:uppercase;
color:var(--muted);
}

.product-overlay{
position:absolute;
inset:0;
background:rgba(61,42,18,0.82);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:opacity 0.3s;
}
.product-card:hover .product-overlay{opacity:1}

.overlay-btn{
background:var(--primary);
color:#fff;
border:none;
padding:12px 24px;
border-radius:var(--radius-sm);
font-family:'DM Sans',sans-serif;
font-weight:700;
font-size:0.875rem;
cursor:pointer;
transform:translateY(10px);
transition:all 0.3s;
display:flex;
align-items:center;
gap:8px;
}
.product-card:hover .overlay-btn{transform:translateY(0)}
.overlay-btn:hover{background:var(--primary-dark)}

.product-info{padding:20px}
.product-name{
font-family:'Playfair Display',serif;
font-size:1rem;
font-weight:600;
color:var(--ruche);
margin-bottom:4px;
line-height:1.3;
}
.product-desc{
font-size:0.8125rem;
color:var(--muted);
margin-bottom:12px;
line-height:1.4;
}
.product-pricing{
display:flex;
align-items:baseline;
gap:8px;
margin-bottom:4px;
}
.product-price{
font-size:1.375rem;
font-weight:800;
color:var(--primary);
}
.product-price-note{
font-size:0.6875rem;
color:var(--muted);
margin-bottom:12px;
font-style:italic;
}
.btn-voir-offre{
width:100%;
padding:11px;
background:var(--ruche);
color:#fff;
border:none;
border-radius:var(--radius-sm);
font-family:'DM Sans',sans-serif;
font-weight:600;
font-size:clamp(0.8125rem,1.5vw,0.9375rem);
cursor:pointer;
transition:background 0.2s;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
min-height:44px;
}
.btn-voir-offre:hover{background:var(--primary)}

.obf-ext{
display:inline-flex;
align-items:center;
justify-content:center;
gap:6px;
cursor:pointer;
color:var(--primary-ink);
font-weight:600;
transition:color 0.2s;
}
.obf-ext:hover{color:var(--primary-dark)}
.obf-ext:focus{
outline:2px solid var(--primary);
outline-offset:2px;
border-radius:4px;
}

.products-carousel{position:relative}
.pc-viewport{overflow:hidden}
.pc-track{
display:flex;
gap:16px;
transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.pc-track .product-card{min-width:calc(25% - 12px);flex-shrink:0}
.pc-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:5;
background:rgba(180,83,9,0.08);
border:1px solid var(--border);
color:var(--ruche);
width:40px;
height:40px;
border-radius:50%;
font-size:1.25rem;
cursor:pointer;
transition:background 0.2s;
display:flex;
align-items:center;
justify-content:center;
}
.pc-arrow:hover{background:rgba(180,83,9,0.15)}
.pc-prev{left:-20px}
.pc-next{right:-20px}
.pc-dots{
display:flex;
justify-content:center;
gap:6px;
margin-top:16px;
}
.pc-dot{
width:8px;height:8px;
border-radius:50%;
background:var(--border);
transition:background 0.2s,transform 0.2s;
cursor:pointer;
border:none;
padding:0;
}
.pc-dot--active{background:var(--primary);transform:scale(1.25)}

.logos-section{padding:40px 24px;background:var(--surface)}
.logos-band{overflow:hidden}
.logos-track{
display:flex;
align-items:center;
gap:40px;
animation:logos-scroll 22s linear infinite;
width:max-content;
}
.logos-track:hover{animation-play-state:paused}
.logo-item{
font-family:'Playfair Display',serif;
font-size:1.25rem;
font-weight:700;
color:var(--muted);
white-space:nowrap;
opacity:0.6;
transition:opacity 0.2s;
}
.logo-item:hover{opacity:1}

@keyframes logos-scroll{
0%{transform:translateX(0)}
100%{transform:translateX(-50%)}
}

.marque-card{
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
padding:40px;
display:flex;
gap:32px;
align-items:flex-start;
}
.marque-icon{
width:80px;
height:80px;
background:var(--honey-pale);
border-radius:var(--radius);
display:flex;
align-items:center;
justify-content:center;
font-size:2.5rem;
flex-shrink:0;
}
.marque-content h3{
font-size:1.5rem;
margin-bottom:6px;
color:var(--ruche);
}
.marque-fondation{
font-size:0.8125rem;
color:var(--primary-ink);
font-weight:600;
margin-bottom:12px;
}
.marque-content p{
color:var(--muted);
line-height:1.65;
margin-bottom:16px;
}

.stages-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}
.stage-card{
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
padding:24px;
transition:all 0.3s;
}
.stage-card:hover{
border-color:var(--primary);
box-shadow:var(--shadow-lg);
transform:translateY(-3px);
}
.stage-emoji{font-size:2rem;margin-bottom:12px}
.stage-card h3{
font-size:1.0625rem;
margin-bottom:8px;
color:var(--ruche);
}
.stage-card p{
font-size:0.875rem;
color:var(--muted);
line-height:1.55;
margin-bottom:16px;
}
.stage-meta{
font-size:0.75rem;
color:var(--primary-ink);
font-weight:600;
margin-bottom:12px;
}

.apitherapie-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}
.apitherapie-card{
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--radius);
padding:28px;
}
.apitherapie-icon{font-size:2rem;margin-bottom:12px}
.apitherapie-card h3{
font-size:1rem;
margin-bottom:8px;
color:var(--ruche);
}
.apitherapie-card p{
font-size:0.875rem;
color:var(--muted);
line-height:1.55;
}

.comparateur-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:24px;
}
.comparateur-item{
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--radius);
padding:28px;
display:flex;
flex-direction:column;
gap:12px;
}
.comparateur-icon{
width:56px;
height:56px;
background:var(--honey-pale);
border-radius:12px;
display:flex;
align-items:center;
justify-content:center;
color:var(--primary);
flex-shrink:0;
}
.comparateur-item h3{
font-size:1rem;
font-weight:700;
color:var(--ruche);
margin:0;
}
.comparateur-item p{
font-size:0.875rem;
color:var(--muted);
line-height:1.55;
margin:0;
}

.newsletter-band{
background:var(--ruche);
padding:60px 24px;
text-align:center;
}
.newsletter-band h2{color:#fff;margin-bottom:8px}
.newsletter-band p{color:rgba(255,255,255,0.7);margin-bottom:28px;max-width:480px;margin-left:auto;margin-right:auto}
.newsletter-form{
display:flex;
gap:12px;
justify-content:center;
flex-wrap:wrap;
max-width:480px;
margin:0 auto;
}
.newsletter-input{
flex:1;
min-width:220px;
padding:12px 16px;
border-radius:var(--radius-sm);
border:none;
font-family:'DM Sans',sans-serif;
font-size:0.9375rem;
}
.newsletter-input:focus{outline:2px solid var(--accent);outline-offset:0}

footer{
background:var(--ruche);
color:rgba(255,255,255,0.75);
padding:60px 24px 32px;
}
.footer-inner{
max-width:1280px;
margin:0 auto;
}
.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:40px;
margin-bottom:48px;
}
.footer-brand p{
font-size:0.875rem;
line-height:1.65;
margin-top:12px;
max-width:280px;
}
.footer-logo{
font-family:'Playfair Display',serif;
font-size:1.25rem;
font-weight:700;
color:#fff;
}
.footer-col h4{
font-family:'Playfair Display',serif;
font-size:0.9375rem;
color:#fff;
margin-bottom:16px;
}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul a{
font-size:0.875rem;
color:rgba(255,255,255,0.6);
text-decoration:none;
transition:color 0.2s;
}
.footer-col ul a:hover{color:#fff}
.footer-col ul .obf-link{
font-size:0.875rem;
color:rgba(255,255,255,0.6);
cursor:pointer;
transition:color 0.2s;
display:inline-block;
}
.footer-col ul .obf-link:hover{color:#fff}
.footer-col ul .obf-link:focus{
outline:2px solid var(--accent);
outline-offset:2px;
border-radius:3px;
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,0.12);
padding-top:24px;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:12px;
font-size:0.8125rem;
color:rgba(255,255,255,0.45);
}
.affiliation-notice{
font-size:0.75rem;
color:rgba(255,255,255,0.45);
margin-top:8px;
line-height:1.5;
max-width:600px;
}

.breadcrumb{
padding:16px 24px;
background:var(--surface);
border-bottom:1px solid var(--border);
}
.breadcrumb-inner{
max-width:1280px;
margin:0 auto;
display:flex;
align-items:center;
gap:8px;
font-size:0.8125rem;
color:var(--muted);
}
.breadcrumb-inner a{color:var(--muted);text-decoration:none;transition:color 0.2s}
.breadcrumb-inner a:hover{color:var(--primary-ink)}
.breadcrumb-sep{color:var(--border)}
.breadcrumb-current{color:var(--text);font-weight:500}

.category-hero{
background:var(--honey-pale);
padding:48px 24px 40px;
border-bottom:1px solid var(--border);
}
.category-hero-inner{max-width:1280px;margin:0 auto}
.category-hero h1{color:var(--ruche);margin-bottom:8px}
.category-intro{
font-size:1rem;
color:var(--muted);
max-width:640px;
margin-bottom:0;
}
.results-count{
font-size:0.875rem;
color:var(--muted);
margin-top:8px;
}

.category-layout{
max-width:1280px;
margin:0 auto;
padding:40px 24px;
display:grid;
grid-template-columns:240px 1fr;
gap:32px;
align-items:start;
}

.filters-sidebar{
position:sticky;
top:84px;
}
.filters-title{
font-family:'Playfair Display',serif;
font-size:1rem;
font-weight:700;
color:var(--ruche);
margin-bottom:20px;
padding-bottom:12px;
border-bottom:1px solid var(--border);
}
.filter-group{margin-bottom:24px}
.filter-group-title{
font-size:0.8125rem;
font-weight:700;
color:var(--text);
margin-bottom:10px;
text-transform:uppercase;
letter-spacing:0.5px;
}
.filter-option{
display:flex;
align-items:center;
gap:8px;
margin-bottom:7px;
font-size:0.875rem;
color:var(--muted);
cursor:pointer;
}
.filter-option input{accent-color:var(--primary)}
.filter-clear{
font-size:0.8125rem;
color:var(--primary-ink);
font-weight:600;
background:none;
border:none;
cursor:pointer;
padding:0;
text-decoration:underline;
margin-top:16px;
}

.category-toolbar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:24px;
}
.category-toolbar h1{font-size:1.25rem}
.sort-select{
padding:8px 12px;
border:1px solid var(--border);
border-radius:var(--radius-sm);
font-family:'DM Sans',sans-serif;
font-size:0.875rem;
color:var(--text);
background:var(--bg);
cursor:pointer;
}

.pagination{
display:flex;
justify-content:center;
gap:8px;
margin-top:40px;
}
.page-btn{
width:40px;height:40px;
border-radius:var(--radius-sm);
border:1px solid var(--border);
background:var(--bg);
font-family:'DM Sans',sans-serif;
font-size:0.875rem;
font-weight:600;
color:var(--muted);
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:all 0.2s;
}
.page-btn.active,.page-btn:hover{
background:var(--primary);
color:#fff;
border-color:var(--primary);
}

.product-hero{
max-width:1280px;
margin:0 auto;
padding:40px 24px;
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
align-items:start;
}

.product-gallery{
position:sticky;
top:84px;
}
.product-gallery-main{
width:100%;
aspect-ratio:1/1;
background:linear-gradient(135deg,var(--honey-pale) 0%,var(--honey-mid) 100%);
border-radius:var(--radius);
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
gap:12px;
border:1px solid var(--border);
}
.gallery-emoji{font-size:5rem}
.gallery-marque-badge{
font-size:0.75rem;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:var(--primary-ink);
}
.product-gallery-thumbs{
display:flex;
gap:8px;
margin-top:12px;
}
.thumb{
width:72px;
height:72px;
background:var(--honey-pale);
border-radius:8px;
border:2px solid transparent;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
font-size:1.5rem;
transition:border-color 0.2s;
}
.thumb.active,.thumb:hover{border-color:var(--primary)}

.product-details{}
.product-details-marque{
font-size:0.8125rem;
font-weight:700;
letter-spacing:1.5px;
text-transform:uppercase;
color:var(--primary-ink);
margin-bottom:8px;
}
.product-details h1{font-size:clamp(1.375rem,3vw,2rem);margin-bottom:12px}
.product-stars{
display:flex;
align-items:center;
gap:6px;
margin-bottom:16px;
font-size:0.875rem;
color:var(--muted);
}
.stars{color:var(--accent)}
.product-details .product-price{
font-size:2rem;
font-weight:800;
color:var(--primary);
}
.price-note{
font-size:0.8125rem;
color:var(--muted);
font-style:italic;
margin-top:4px;
margin-bottom:20px;
}
.product-short-desc{
font-size:0.9375rem;
color:var(--muted);
line-height:1.65;
margin-bottom:24px;
}

.product-variants{margin-bottom:20px}
.variants-label{
font-size:0.8125rem;
font-weight:700;
color:var(--text);
margin-bottom:8px;
}
.variants-options{display:flex;gap:8px;flex-wrap:wrap}
.variant-btn{
padding:8px 16px;
border:1px solid var(--border);
border-radius:var(--radius-sm);
background:var(--bg);
font-family:'DM Sans',sans-serif;
font-size:0.875rem;
cursor:pointer;
transition:all 0.2s;
}
.variant-btn.active,.variant-btn:hover{
border-color:var(--primary);
color:var(--primary);
background:rgba(180,83,9,0.06);
}

.product-atc-btn{
width:100%;
margin-bottom:16px;
padding:16px;
font-size:1rem;
}

.product-features{
list-style:none;
margin-top:20px;
display:flex;
flex-direction:column;
gap:8px;
}
.product-features li{
font-size:0.875rem;
color:var(--muted);
display:flex;
align-items:center;
gap:8px;
}
.product-features li::before{
content:'';
display:inline-block;
width:8px;
height:8px;
border-right:2px solid var(--primary);
border-bottom:2px solid var(--primary);
transform:rotate(45deg) translateY(-2px);
flex-shrink:0;
margin-right:4px;
}

.data-sheet{
margin-top:24px;
border:1px solid var(--border);
border-radius:var(--radius-sm);
overflow:hidden;
}
.data-sheet dt,.data-sheet dd{
padding:10px 16px;
font-size:0.875rem;
}
.data-sheet div{
display:grid;
grid-template-columns:40% 60%;
border-bottom:1px solid var(--border);
}
.data-sheet div:last-child{border-bottom:none}
.data-sheet dt{
color:var(--muted);
font-weight:600;
background:var(--surface);
}
.data-sheet dd{color:var(--text)}

.product-tabs-nav{
display:flex;
border-bottom:2px solid var(--border);
margin-top:48px;
gap:0;
}
.product-tab-btn{
padding:12px 24px;
background:none;
border:none;
font-family:'DM Sans',sans-serif;
font-size:0.9375rem;
font-weight:600;
color:var(--muted);
cursor:pointer;
border-bottom:2px solid transparent;
margin-bottom:-2px;
transition:all 0.2s;
}
.product-tab-btn.active{
color:var(--primary);
border-bottom-color:var(--primary);
}
.product-tab-panel{
padding:28px 0;
}
.product-tab-panel p{
font-size:0.9375rem;
color:var(--muted);
line-height:1.7;
}

.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{
border:1px solid var(--border);
border-radius:var(--radius-sm);
overflow:hidden;
}
.faq-item summary{
padding:16px 20px;
font-weight:600;
font-size:0.9375rem;
color:var(--text);
cursor:pointer;
list-style:none;
display:flex;
justify-content:space-between;
align-items:center;
}
.faq-item summary::after{
content:'＋';
font-size:1.25rem;
color:var(--primary);
flex-shrink:0;
}
.faq-item[open] summary::after{content:'－'}
.faq-answer{
padding:0 20px 16px;
font-size:0.875rem;
color:var(--muted);
line-height:1.65;
}

.affiliation-disclaimer{
background:var(--honey-pale);
border:1px solid var(--border);
border-radius:var(--radius-sm);
padding:12px 16px;
font-size:0.8125rem;
color:var(--muted);
margin-top:16px;
display:flex;
align-items:flex-start;
gap:8px;
}
.affiliation-disclaimer-icon{flex-shrink:0;font-size:1rem}

.sticky-atc{
display:none;
position:fixed;
bottom:0;left:0;right:0;
z-index:400;
background:var(--bg);
border-top:1px solid var(--border);
padding:12px 20px;
align-items:center;
justify-content:space-between;
gap:12px;
box-shadow:0 -4px 16px rgba(43,28,10,0.08);
}
.sticky-atc.sticky-atc--visible{display:flex}
.sticky-atc-price{font-size:1.125rem;font-weight:800;color:var(--text)}
.sticky-atc-btn{flex:1;max-width:220px;padding:12px}

.blog-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:28px;
}
.blog-card{
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--radius);
overflow:hidden;
transition:all 0.3s;
/* ancrage de la surface cliquable de la carte (voir .blog-card h2 a::after) */
position:relative;
}
/* Un seul lien crawlable par carte : celui du titre.
   Son ::after s'étire sur toute la carte pour la rendre entièrement cliquable,
   sans dupliquer l'URL (l'image et le bouton ne sont plus des <a>). */
.blog-card h2 a::after{
content:"";
position:absolute;
inset:0;
z-index:1;
}
.blog-card:hover{
transform:translateY(-4px);
box-shadow:var(--shadow-xl);
border-color:var(--primary);
}
.blog-card-img{
width:100%;
height:200px;
background:linear-gradient(135deg,var(--honey-pale) 0%,var(--honey-deep) 100%);
display:flex;
align-items:center;
justify-content:center;
font-size:3rem;
/* sans ceci l'<img> (object-fit:fill, hauteur intrinsèque) dépassait la boîte de 200 px
   et venait recouvrir le badge — visible surtout sur les sources non 1200x630 */
overflow:hidden;
}
.blog-card-img img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.blog-card-body{padding:20px}
.blog-card-tag{
display:inline-block;
background:rgba(180,83,9,0.1);
color:var(--primary);
padding:3px 10px;
border-radius:50px;
font-size:0.6875rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.5px;
margin-bottom:8px;
}
.blog-card-title{
font-family:'Playfair Display',serif;
font-size:1.0625rem;
font-weight:700;
color:var(--ruche);
margin-bottom:8px;
line-height:1.35;
}
.blog-card-excerpt{
font-size:0.875rem;
color:var(--muted);
line-height:1.55;
margin-bottom:12px;
}
.blog-card-meta{
font-size:0.75rem;
color:var(--muted);
display:flex;
gap:12px;
}

.article-layout{
max-width:1280px;
margin:0 auto;
padding:40px 24px;
display:grid;
grid-template-columns:1fr 320px;
gap:48px;
align-items:start;
}
.article-header{margin-bottom:32px}
.article-header h1{color:var(--ruche);margin-bottom:12px}
.article-meta{
font-size:0.875rem;
color:var(--muted);
display:flex;
gap:16px;
flex-wrap:wrap;
}
.article-body{
font-size:1rem;
line-height:1.75;
color:var(--text);
}
.article-body h2{
font-size:1.5rem;
margin-top:40px;
margin-bottom:16px;
color:var(--ruche);
}
.article-body h3{
font-size:1.125rem;
margin-top:28px;
margin-bottom:12px;
}
.article-body p{margin-bottom:1.25rem}
.article-body ul,.article-body ol{
padding-left:1.5rem;
margin-bottom:1.25rem;
color:var(--muted);
}
.article-body li{margin-bottom:6px}
.article-body blockquote{
border-left:3px solid var(--primary);
padding:12px 20px;
margin:24px 0;
background:var(--honey-pale);
border-radius:0 var(--radius-sm) var(--radius-sm) 0;
font-style:italic;
color:var(--muted);
}
.article-disclaimer{
background:var(--honey-pale);
border:1px solid var(--border);
border-radius:var(--radius-sm);
padding:16px 20px;
font-size:0.875rem;
color:var(--muted);
margin-top:32px;
}

.article-sidebar{}
.sidebar-block{
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
padding:24px;
margin-bottom:24px;
position:sticky;
top:84px;
}
.sidebar-block h3{font-size:1rem;margin-bottom:16px;color:var(--ruche)}

.contact-layout{
max-width:960px;
margin:0 auto;
padding:60px 24px;
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
}
.contact-info h1{margin-bottom:12px;font-size:2rem}
.contact-info p{color:var(--muted);margin-bottom:24px}
.contact-detail{
display:flex;
align-items:center;
gap:12px;
margin-bottom:16px;
font-size:0.9375rem;
color:var(--muted);
}
.contact-detail-icon{
width:36px;height:36px;
background:var(--honey-pale);
border-radius:8px;
display:flex;
align-items:center;
justify-content:center;
font-size:1.125rem;
flex-shrink:0;
}

.form-card{
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
padding:36px;
}
.form-card h2{margin-bottom:24px;font-size:1.375rem}
.form-group{margin-bottom:20px}
.form-label{
display:block;
font-size:0.875rem;
font-weight:600;
color:var(--text);
margin-bottom:6px;
}
.form-input,.form-textarea{
width:100%;
padding:11px 14px;
border:1px solid var(--border);
border-radius:var(--radius-sm);
font-family:'DM Sans',sans-serif;
font-size:0.9375rem;
color:var(--text);
background:var(--bg);
transition:border-color 0.2s;
}
.form-input:focus,.form-textarea:focus{
outline:none;
border-color:var(--primary);
box-shadow:0 0 0 3px rgba(180,83,9,0.12);
}
.form-textarea{resize:vertical;min-height:120px}
.honeypot{display:none}
.form-submit{width:100%;font-size:1rem;padding:14px}
.form-privacy{
font-size:0.75rem;
color:var(--muted);
margin-top:8px;
text-align:center;
}

.legal-layout{
max-width:800px;
margin:0 auto;
padding:60px 24px;
}
.legal-layout h1{margin-bottom:32px}
.legal-layout h2{
font-size:1.25rem;
margin-top:36px;
margin-bottom:12px;
color:var(--ruche);
}
.legal-layout p,.legal-layout ul{
font-size:0.9375rem;
color:var(--muted);
line-height:1.7;
margin-bottom:1rem;
}
.legal-layout ul{padding-left:1.5rem}
.legal-layout li{margin-bottom:4px}
.legal-affiliate-box{
background:var(--honey-pale);
border:1px solid var(--primary);
border-radius:var(--radius-sm);
padding:20px;
margin:24px 0;
font-size:0.875rem;
color:var(--muted);
}
.legal-affiliate-box strong{color:var(--primary-ink)}

.filter-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1000}
.filter-modal-overlay.filter-modal--open{display:flex;align-items:flex-end}
.filter-modal-panel{
background:var(--bg);
width:100%;
max-height:80vh;
overflow-y:auto;
padding:20px;
border-radius:var(--radius) var(--radius) 0 0;
transform:translateY(100%);
transition:transform 0.35s cubic-bezier(0.22,1,0.36,1);
}
.filter-modal-overlay.filter-modal--open .filter-modal-panel{transform:translateY(0)}
.filter-modal-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
}
.filter-modal-title{font-size:1rem;font-weight:700}
.filter-modal-close{
background:none;
border:none;
font-size:1.25rem;
cursor:pointer;
width:36px;height:36px;
display:flex;
align-items:center;
justify-content:center;
color:var(--text);
}
.filter-modal-trigger{display:none}

.product-page{
max-width:1280px;
margin:0 auto;
padding:40px 24px;
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
align-items:start;
}
.product-gallery-col{
position:sticky;
top:84px;
}
.gallery-main{
width:100%;
aspect-ratio:1/1;
background:linear-gradient(135deg,var(--honey-pale) 0%,var(--honey-mid) 100%);
border-radius:var(--radius);
display:flex;
align-items:center;
justify-content:center;
border:1px solid var(--border);
overflow:hidden;
}
.gallery-placeholder{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:8px;
width:100%;
height:100%;
padding:24px;
}
.gallery-thumbs{
display:flex;
gap:8px;
margin-top:12px;
}
.gallery-thumb{
width:72px;
height:72px;
background:var(--honey-pale);
border-radius:8px;
border:2px solid transparent;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
color:var(--muted);
transition:border-color 0.2s;
flex-shrink:0;
}
.gallery-thumb.active,.gallery-thumb:hover{border-color:var(--primary);color:var(--primary)}
.gallery-thumb:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.product-badges-row{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:16px;
}
.product-badges-row .product-badge{
position:static;
font-size:0.75rem;
padding:5px 12px;
border-radius:6px;
font-weight:700;
}

.product-info-col{}
.product-brand-tag{
font-size:0.8125rem;
font-weight:700;
letter-spacing:1.5px;
text-transform:uppercase;
color:var(--primary-ink);
margin-bottom:10px;
}
.product-brand-tag a{color:var(--primary-ink);text-decoration:underline}
.product-rating{
display:flex;
align-items:center;
gap:8px;
margin-bottom:16px;
font-size:0.875rem;
color:var(--muted);
}
.rating-score{font-weight:700;color:var(--text)}
.product-description{
font-size:0.9375rem;
color:var(--muted);
line-height:1.7;
margin-bottom:20px;
}
.product-description p{margin-bottom:12px}
.product-price-block{margin-bottom:20px}
.product-price-large{
font-size:2.25rem;
font-weight:800;
color:var(--primary);
line-height:1;
margin-bottom:4px;
}
.product-cta-block{
display:flex;
flex-direction:column;
gap:12px;
margin-bottom:24px;
}
.btn-lg{
padding:16px 24px;
font-size:1rem;
width:100%;
}
.product-sheet{
border:1px solid var(--border);
border-radius:var(--radius-sm);
overflow:hidden;
margin-top:8px;
}
.product-sheet-row{
display:grid;
grid-template-columns:38% 62%;
border-bottom:1px solid var(--border);
}
.product-sheet-row:last-child{border-bottom:none}
.product-sheet-row dt{
padding:10px 14px;
font-size:0.8125rem;
font-weight:600;
color:var(--muted);
background:var(--surface);
}
.product-sheet-row dd{
padding:10px 14px;
font-size:0.8125rem;
color:var(--text);
}
.sticky-atc-info{
display:flex;
flex-direction:column;
gap:2px;
}
.sticky-atc-info strong{
font-size:0.9375rem;
color:var(--text);
}
.sticky-atc-info span{
font-size:0.8125rem;
color:var(--muted);
}

.nav-megamenu-container{
position:relative;
}
.nav-megamenu-trigger{
appearance:none;
-webkit-appearance:none;
background:none;
border:none;
outline:none;
font-family:'DM Sans',sans-serif;
font-size:0.875rem;
font-weight:500;
color:var(--muted);
cursor:pointer;
display:flex;
align-items:center;
gap:4px;
padding:0;
transition:color 0.2s;
min-height:44px;
}
.nav-megamenu-trigger:focus-visible{
outline:2px solid var(--primary);
outline-offset:3px;
border-radius:4px;
}
.nav-megamenu-trigger:hover{color:var(--primary)}
.page-hero-dark .nav-megamenu-trigger:focus-visible{outline-color:var(--honey-mid)}
.page-hero-dark .nav-megamenu-trigger:hover{color:var(--honey-mid)}
.nav-megamenu-trigger svg{transition:transform 0.2s;flex-shrink:0}
.nav-megamenu-container:hover .nav-megamenu-trigger svg,
.nav-megamenu-container.open .nav-megamenu-trigger svg{transform:rotate(180deg)}
@keyframes megamenu-in{
from{opacity:0;transform:translateY(-6px)}
to{opacity:1;transform:translateY(0)}
}
.megamenu-panel{
position:absolute;
top:calc(100% + 4px);
left:-20px;
width:clamp(480px,44vw,640px);
background:var(--bg);
border:1px solid var(--border);
border-radius:var(--radius);
box-shadow:var(--shadow-xl);
padding:20px;
display:none;
grid-template-columns:repeat(3,1fr);
gap:6px;
z-index:500;
}
.nav-megamenu-container:hover .megamenu-panel,
.nav-megamenu-container.open .megamenu-panel{
display:grid;
animation:megamenu-in 0.18s ease both;
}
@media (prefers-reduced-motion:reduce){
.nav-megamenu-container:hover .megamenu-panel,
.nav-megamenu-container.open .megamenu-panel{animation:none}
}
.megamenu-cat{
display:flex;
align-items:center;
gap:10px;
padding:10px 14px;
border-radius:var(--radius-sm);
text-decoration:none;
color:var(--text);
font-size:0.875rem;
font-weight:500;
transition:background 0.15s,color 0.15s;
}
.megamenu-cat:hover{background:var(--honey-pale);color:var(--primary)}
.megamenu-cat:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.megamenu-cat svg{flex-shrink:0;width:20px;height:20px;color:var(--primary)}

.footer-payment{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
margin-top:16px;
}
.payment-badge{
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,0.1);
border:1px solid rgba(255,255,255,0.15);
border-radius:6px;
padding:6px 10px;
height:30px;
}
.payment-badge svg{display:block}

.reassurance-band{
background:var(--ruche);
padding:6px 16px;
overflow:hidden;
}
.reassurance-items{
max-width:1280px;
margin:0 auto;
display:flex;
justify-content:center;
align-items:center;
gap:24px;
flex-wrap:nowrap;
white-space:nowrap;
}
.reassurance-item{
display:flex;
align-items:center;
gap:6px;
font-size:0.75rem;
font-weight:600;
color:rgba(255,255,255,0.92);
letter-spacing:0.3px;
}
.reassurance-item svg{flex-shrink:0;opacity:1;width:15px;height:15px}
.reassurance-sep{color:rgba(255,255,255,0.38);font-size:1rem}

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

@media (max-width:1024px){
.products-grid{grid-template-columns:repeat(3,1fr)}
.pc-track .product-card{min-width:calc(33.333% - 11px)}
.footer-grid{grid-template-columns:1fr 1fr}
.categories-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:768px){
.product-page{grid-template-columns:1fr;gap:24px}
.product-gallery-col{position:static}
.megamenu-panel{display:none !important}
.reassurance-band{display:none}
.footer-payment{gap:8px}
.page-hero-simple{padding:48px 20px 28px}
.section{padding:48px 20px}
.nav-links{display:none}
.nav-links--open{
display:flex;
flex-direction:column;
position:absolute;
top:64px;
left:0;right:0;
background:var(--bg);
padding:16px 24px 24px;
box-shadow:0 8px 24px rgba(43,28,10,0.1);
z-index:999;
gap:0;
border-top:1px solid var(--border);
}
.nav-links--open li{border-bottom:1px solid var(--border)}
.nav-links--open a{
padding:12px 0;
display:block;
color:var(--text);
font-size:1rem;
}
.mobile-menu-btn{display:flex}

.hero{padding:80px 20px 60px}
.hero-ctas{flex-direction:column;align-items:center}
.btn-hero-primary,.btn-hero-secondary{width:100%;max-width:340px;justify-content:center}

.trust-items{grid-template-columns:repeat(3,1fr);gap:14px}

.categories-grid{grid-template-columns:repeat(2,1fr);gap:12px}

.products-grid{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}

.products-carousel .pc-viewport{
overflow-x:auto;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
width:100vw;
margin-left:calc(50% - 50vw);
padding-left:24px;
padding-right:24px;
scroll-padding-left:24px;
}
.products-carousel .pc-viewport::-webkit-scrollbar{display:none}
.products-carousel .pc-track{transition:none;gap:12px}
.products-carousel .pc-track .product-card{
width:calc(100vw - 72px);
min-width:calc(100vw - 72px);
max-width:calc(100vw - 72px);
flex:0 0 auto;
scroll-snap-align:start;
}
.pc-arrow{display:none !important}

.blog-grid{grid-template-columns:1fr !important}
.blog-card-img{aspect-ratio:16/10}
.blog-card-body{padding:16px}
.blog-card-title{font-size:1rem}
.blog-card-excerpt{
-webkit-line-clamp:2;
display:-webkit-box;
-webkit-box-orient:vertical;
overflow:hidden;
}

.article-layout{grid-template-columns:1fr}
.sidebar-block{position:static}

.product-hero{grid-template-columns:1fr}
.product-gallery{position:static}

.contact-layout{grid-template-columns:1fr}

.category-layout{grid-template-columns:1fr}
.filters-sidebar{display:none !important}
.category-toolbar{display:none !important}
.filter-modal-trigger{display:flex;align-items:center;gap:6px}

.stages-grid{grid-template-columns:1fr}
.apitherapie-grid{grid-template-columns:1fr}
.comparateur-grid{grid-template-columns:1fr}

.marque-card{flex-direction:column}

.footer-grid{grid-template-columns:1fr;gap:24px}
.footer-bottom{flex-direction:column;align-items:flex-start}

.product-card .product-name{font-size:0.875rem}
.product-card .product-price{font-size:1.125rem}
.product-card img{aspect-ratio:1/1;object-fit:cover}
.product-card .btn-voir-offre{padding:10px 12px;font-size:0.8125rem}

.btn-primary,.btn-outline,.btn-ghost,.btn-submit{min-height:44px}
}

@media (max-width:768px){
.category-toolbar-mobile{
display:flex !important;
flex-direction:column;
gap:10px;
align-items:stretch;
padding-top:20px;
margin-bottom:20px;
}
.toolbar-actions{display:flex;gap:8px;align-items:center}
.toolbar-actions .sort-select{flex:1}
}
@media (min-width:769px){
.filter-modal-trigger{display:none !important}
.filter-modal-overlay{display:none !important}
.filters-sidebar{display:block !important}
.category-toolbar-mobile{display:none !important}
}

@media (max-width:480px){
.trust-items{grid-template-columns:repeat(2,1fr);gap:12px}
}

@media (max-width:380px){
.products-grid{grid-template-columns:1fr !important}
.categories-grid{grid-template-columns:1fr}
.trust-items{grid-template-columns:repeat(2,1fr);gap:10px}
}

.blog-tag{
display:inline-block;
/* .blog-card-body est un conteneur flex (column) : un flex item est « blockifié »
   (inline-block -> block) et étiré sur toute la largeur par align-items:stretch.
   align-self:flex-start rend à la pastille sa largeur de contenu. */
align-self:flex-start;
background:rgba(180,83,9,0.1);
color:var(--primary-ink);
padding:3px 10px;
border-radius:50px;
font-size:0.6875rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.05em;
margin-bottom:8px;
}
.blog-meta{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:6px;
font-size:0.8125rem;
color:var(--muted);
margin-top:10px;
margin-bottom:14px;
}
.blog-meta-sep{
color:var(--muted);
opacity:0.5;
user-select:none;
}
.article-date,.article-read-time{
white-space:nowrap;
}
.blog-card-img-link{
display:block;
text-decoration:none;
}
.blog-card-img-link:focus-visible{
outline:2px solid var(--primary);
outline-offset:2px;
}
.blog-card{
display:flex;
flex-direction:column;
}
.blog-card-body{
display:flex;
flex-direction:column;
flex:1;
padding:20px;
}
.blog-card-body p{
flex:1;
}
.blog-filters{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-bottom:32px;
}
.blog-filter-pill{
display:inline-flex;
align-items:center;
padding:6px 16px;
border-radius:50px;
border:1.5px solid var(--border);
background:var(--bg);
color:var(--muted);
font-size:0.8125rem;
font-weight:600;
cursor:pointer;
transition:all 0.2s;
white-space:nowrap;
}
.blog-filter-pill:hover{
border-color:var(--primary);
color:var(--primary);
background:rgba(180,83,9,0.06);
}
.blog-filter-pill--active,
.blog-filter-pill[aria-pressed="true"]{
background:var(--primary);
border-color:var(--primary);
color:#fff;
}
.blog-filter-pill:focus-visible{
outline:2px solid var(--primary);
outline-offset:2px;
}
.blog-filter-pill--more{
background:transparent;
border-style:dashed;
}
.blog-filters--more{
flex-basis:100%;
margin-top:4px;
margin-bottom:0;
}
.blog-filters--more[hidden]{
display:none;
}
.blog-filter-empty{
color:var(--muted);
font-size:0.9375rem;
padding:24px 0;
margin:0 0 32px;
}
.blog-filter-empty[hidden]{
display:none;
}
