/* MyPharmacy — additions to the v12 design for the WordPress/WooCommerce markup. */

/* Admin bar offset for the sticky header */
@media (min-width:783px){.admin-bar .header{top:32px}}
@media (max-width:782px){.admin-bar .header{top:46px}}

/* Server-rendered tab panels: [hidden] must win over the design's display rules */
.mega-panel[hidden],.mega-feat[hidden],.grid6[hidden],.row-grid[hidden],.tfx-panel[hidden]{display:none!important}
.mega-panel h5 a{color:inherit}
.mega-panel h5 a:hover{color:var(--green-dark)}

/* Horizontal links: the menu is admin-managed and may be longer than the mockup's.
   Scroll instead of spilling under "MyPharmacy+"; auto margins keep the even
   spacing without the unreachable left overflow of space-evenly. */
.tf{overflow-x:auto!important;scrollbar-width:none;justify-content:flex-start!important}
.tf>.nl{margin-inline:auto;flex:none}

/* Header cart total: v12's ".h-act span" (small, muted) must not reach WooCommerce's price spans */
.h-act #cartTotal span{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}

/* Icons without a size rule default to the text size instead of the browser's 300×150.
   :where() keeps this at zero specificity, so every sized rule of the design wins. */
:where(svg[aria-hidden="true"]){width:1em;height:1em}

/* Mega-menu: department chevron (the mockup set width/height on the svg itself),
   placeholder tile for departments without a thumbnail, link-only feature block. */
.mega-cats button>svg{width:16px;height:16px}
.mega-cats .mc-ph{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);font:600 1.125rem var(--display)}
.mf-img.is-text{aspect-ratio:auto;background:none}
.mf-img.is-text span{position:static;background:var(--green-soft)}

/* FAQ blocks (pages, product tab): same accordion as the homepage */
.mp-page-faq{margin-top:40px}
.mp-faq-title{margin:0 0 16px;font-weight:600}
.faq .mp-faq-a{padding:0 16px 16px;font-size:.9375rem;color:var(--text)}
.faq .mp-faq-a p{padding:0;margin:0 0 .6em}
.faq .mp-faq-a p:last-child{margin-bottom:0}
.faq .mp-faq-a a{color:var(--green-strong);text-decoration:underline}

/* Mon compte (visitor): login card, sign-up dialog, "Continuer avec Google" */
.mp-guest-account{display:grid;justify-items:center;padding:8px 0 24px}
.mp-guest-card{width:100%;max-width:440px;border:1px solid var(--border);background:#fff;padding:28px}
.mp-guest-title{margin:0 0 20px;font-size:1.5rem}
.mp-guest-account .form-row,.mp-signup .form-row{display:grid;gap:6px;margin:0 0 14px;padding:0}
.mp-guest-account .input-text,.mp-signup .input-text{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--border-strong);background:#fff;font:inherit}
.mp-guest-account .input-text:focus,.mp-signup .input-text:focus{outline:2px solid var(--green-strong);outline-offset:-1px}
.mp-login-row{display:flex!important;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:.875rem}
.mp-login-row label{display:inline-flex;align-items:center;gap:6px}
.mp-lost{color:var(--green-strong)}
.mp-guest-submit{width:100%}
.mp-guest-switch{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--border);text-align:center;font-size:.9375rem}
.mp-link-btn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--green-strong);text-decoration:underline;cursor:pointer}
.mp-signup{max-width:480px}
.mp-signup .woocommerce-privacy-policy-text{font-size:.8125rem;color:var(--muted)}
.mp-signup-notices .woocommerce-error,.mp-signup-notices .woocommerce-message{margin:0 0 14px}
.mp-dialog-x{position:absolute;top:10px;right:12px;width:36px;height:36px;background:none;border:0;font-size:1.75rem;line-height:1;color:var(--muted);cursor:pointer}
.mp-social{display:grid;gap:14px;margin-top:6px}
.mp-social-or{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.mp-social-or::before,.mp-social-or::after{content:"";flex:1;height:1px;background:var(--border)}
.mp-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 18px;border:1px solid var(--border-strong);background:#fff;color:#1f1f1f;font-weight:500;text-decoration:none}
.mp-google-btn:hover{background:var(--hover-bg)}
.mp-google-btn svg{width:20px;height:20px;flex:none}
.mp-google-link{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);max-width:440px}
.mp-google-link h3{margin:0 0 8px}
.mp-google-link p{margin:0 0 14px;color:var(--muted)}

/* Mon compte: side menu, dashboard cards, order cards, forms */
.mp-account{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}
.woocommerce-account .mp-account .woocommerce-MyAccount-navigation,.woocommerce-account .mp-account .woocommerce-MyAccount-content{float:none;width:auto}
.mp-account-nav{border:1px solid var(--border);background:#fff;position:sticky;top:120px}
.mp-account-who{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border)}
.mp-account-who b{display:block;font-size:.9375rem}
.mp-account-who span:not(.mp-account-avatar){display:block;font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere}
.mp-account-who .mp-account-avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;line-height:1;text-align:center;background:var(--green-soft);color:var(--green-strong);font:600 1.125rem/1 var(--display)}
.mp-account-nav ul{list-style:none;margin:0;padding:8px}
.mp-account-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;color:var(--text);text-decoration:none}
.mp-account-nav a:hover{background:var(--hover-bg)}
.mp-account-nav a[aria-current=page]{background:var(--green-soft);color:var(--green-strong);font-weight:600}
.mp-account-nav svg{width:20px;height:20px;flex:none}
.mp-account-nav .woocommerce-MyAccount-navigation-link--customer-logout{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}
.mp-dash-hello h2{margin:0 0 4px}
.mp-dash-hello p{margin:0 0 24px;color:var(--muted)}
.mp-dash-hello a,.mp-dash-link{color:var(--green-strong);text-decoration:underline}
.mp-dash-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.mp-dash-card{border:1px solid var(--border);background:#fff;padding:20px;display:grid;gap:8px;align-content:start}
.mp-dash-card h3{margin:0;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mp-dash-card p{margin:0}
.mp-dash-big{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:600 1.5rem var(--display)}
.mp-dash-points{background:var(--green-soft)}
.mp-dash-points .mp-dash-big{color:var(--green-strong)}
.mp-dash-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.mp-dash-list{margin:0;padding-left:18px;display:grid;gap:6px}
.mp-dash-list a{color:var(--text);text-decoration:underline}
.mp-ostatus{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}
.mp-ostatus.is-wait{background:#fbeccb;color:#704600}
.mp-ostatus.is-work{background:#e1ebf2;color:#2e4453}
.mp-ostatus.is-ship{background:var(--green-soft);color:var(--green-strong)}
.mp-ostatus.is-done{background:var(--green-strong);color:#fff}
.mp-ostatus.is-issue{background:#fdecec;color:#a4262c}
.mp-orders{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mp-order{border:1px solid var(--border);background:#fff;padding:16px 20px;display:grid;gap:6px}
.mp-order-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mp-order-num{font-weight:600;color:var(--ink);text-decoration:none}
.mp-order-num:hover{color:var(--green-strong)}
.mp-order-meta,.mp-order-items{margin:0;font-size:.875rem;color:var(--muted)}
.mp-order-meta b{color:var(--ink)}
.mp-order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.mp-orders-pages{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.mp-account-form{display:grid;gap:20px;max-width:640px}
.mp-form-card{border:1px solid var(--border);background:#fff;padding:20px;margin:0;min-width:0}
.mp-form-card legend{padding:0 6px;font-weight:600}
.mp-account-form .form-row{display:grid;gap:6px;margin:0 0 14px;padding:0;width:auto;float:none}
.mp-account-form .input-text{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--border-strong);background:#fff;font:inherit}
.mp-account-form .input-text:focus{outline:2px solid var(--green-strong);outline-offset:-1px}
.mp-form-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.mp-hint{font-size:.8125rem;color:var(--muted);margin:0 0 12px}
@media (max-width:900px){
  .mp-account{grid-template-columns:minmax(0,1fr);gap:20px}
  .mp-account-nav{position:static}
  .mp-account-who{display:none}
  .mp-account-nav ul{display:flex;overflow-x:auto;gap:4px;scrollbar-width:none}
  .mp-account-nav li{flex:none}
  .mp-account-nav a{white-space:nowrap}
  .mp-account-nav .woocommerce-MyAccount-navigation-link--customer-logout{border:0;margin:0;padding:0}
}
@media (max-width:560px){.mp-form-2{grid-template-columns:1fr}}

/* AI assistant (MOOV Assistant IA), design of 2026-09-29 (.ai-fab / .ai-chat of the mockup):
   green button bottom right, WhatsApp button above it (body.assistant-ia-on is set by the plugin when the widget shows). */
body.assistant-ia-on .wa{bottom:92px}
.assistant-ia-widget{--widget-color:var(--green-strong);font-family:var(--font)!important;color:var(--text)}
.assistant-ia-widget.assistant-ia-widget-bottom-right{right:20px!important;bottom:20px!important;z-index:31!important}
.assistant-ia-widget.assistant-ia-open{z-index:100001!important}
.assistant-ia-widget .assistant-ia-toggle{width:auto!important;height:auto!important;border-radius:var(--r-md)!important;background:var(--green-strong)!important;color:#fff;display:flex!important;align-items:center;gap:12px;padding:6px 18px 6px 6px;box-shadow:0 14px 30px -12px rgba(28,43,24,.45)!important;transition:background var(--dur),transform var(--dur) var(--ease)}
.assistant-ia-widget .assistant-ia-toggle:hover{background:var(--green-dark)!important;transform:translateY(-2px)}
.assistant-ia-widget.assistant-ia-open .assistant-ia-toggle{visibility:hidden}
.assistant-ia-fab-icon{position:relative;width:48px;height:48px;display:grid;place-items:center;background:rgba(255,255,255,.16)}
.assistant-ia-fab-icon svg{width:26px;height:26px}
.assistant-ia-fab-icon::after{content:"";position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:#B8F06A;box-shadow:0 0 0 2px var(--green-strong);animation:aiPulse 2s infinite}
.assistant-ia-fab-text{display:grid;text-align:left;font-size:.75rem;line-height:1.3;color:#fff}
.assistant-ia-fab-text b{font:600 .9375rem var(--display);color:#fff}
.assistant-ia-widget .assistant-ia-chat{right:0!important;bottom:0!important;left:auto!important;top:auto!important;width:min(400px,calc(100vw - 32px))!important;height:min(620px,calc(100vh - 40px))!important;border-radius:var(--r-lg) var(--r-lg) 0 0!important;border:1px solid var(--border);box-shadow:0 30px 60px -20px rgba(28,43,24,.35)!important;background:var(--surface)!important}
.assistant-ia-widget .assistant-ia-header{background:var(--green-strong)!important;color:#fff!important;border-radius:var(--r-lg) var(--r-lg) 0 0!important;padding:14px 12px 14px 16px!important}
.assistant-ia-widget .assistant-ia-avatar{width:40px!important;height:40px!important;flex:none;display:grid!important;place-items:center;background:rgba(255,255,255,.16)!important;border-radius:var(--r-md)!important;color:#fff}
.assistant-ia-widget .assistant-ia-avatar svg{width:22px;height:22px}
.assistant-ia-widget .assistant-ia-title h3{font:600 1rem var(--display)!important;color:#fff!important;margin:0!important}
.assistant-ia-widget .assistant-ia-status{display:flex!important;align-items:center;gap:6px;font-size:.75rem!important;color:#E4F4CC!important;opacity:1!important}
.assistant-ia-online{width:7px;height:7px;border-radius:50%;background:#B8F06A;flex:none}
.assistant-ia-widget #assistant-ia-minimize{display:none!important}
.assistant-ia-widget .assistant-ia-btn-icon{width:40px!important;height:40px!important;border-radius:var(--r-sm)!important;background:transparent!important;color:#fff!important}
.assistant-ia-widget .assistant-ia-btn-icon:hover{background:rgba(255,255,255,.14)!important}
.assistant-ia-widget .assistant-ia-messages{background:var(--bg)!important;padding:16px!important}
.assistant-ia-widget .assistant-ia-message-avatar,.assistant-ia-widget .assistant-ia-message-time{display:none!important}
.assistant-ia-widget .assistant-ia-message-text{white-space:pre-line;border-radius:var(--r-md)!important;padding:10px 12px!important;font-size:.875rem!important;line-height:1.5!important}
.assistant-ia-widget .assistant-ia-message-assistant .assistant-ia-message-text{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text)!important;max-width:86%}
.assistant-ia-widget .assistant-ia-message-user .assistant-ia-message-text{background:var(--green-strong)!important;color:#fff!important;max-width:86%}
.assistant-ia-widget .assistant-ia-product-link{display:flex!important;align-items:center;gap:10px;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--r-md)!important;padding:8px!important;color:var(--ink)!important;text-decoration:none}
.assistant-ia-widget .assistant-ia-product-link:hover{border-color:var(--green)!important}
.assistant-ia-widget .assistant-ia-product-media,.assistant-ia-widget .assistant-ia-product-image{border-radius:var(--r-sm)!important;background:#fff}
.assistant-ia-widget .assistant-ia-product-title{font-size:.75rem!important;color:var(--ink)!important}
.assistant-ia-widget .assistant-ia-product-price{font-weight:600;color:var(--ink)!important}
.assistant-ia-widget .assistant-ia-product-action{color:var(--green-strong)!important;font-size:.75rem}
.assistant-ia-widget .assistant-ia-notice{font-size:.6875rem!important;color:var(--muted)!important;background:transparent!important;border:0!important;padding:6px 12px 0!important;margin:0!important}
.assistant-ia-widget .assistant-ia-input-container{padding:8px 12px 10px!important;border-radius:0!important;border-top:1px solid var(--border)!important}
.assistant-ia-widget .assistant-ia-input-wrapper{border-radius:0!important;gap:8px}
.assistant-ia-widget .assistant-ia-input{border:1px solid var(--border-strong)!important;border-radius:var(--r-md)!important;font:400 .875rem var(--font)!important;color:var(--ink)!important;background:#fff!important}
.assistant-ia-widget .assistant-ia-input:focus{outline:none;border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(74,122,0,.16)!important}
.assistant-ia-widget .assistant-ia-send-btn{width:44px!important;height:44px!important;background:var(--green-strong)!important;border-radius:var(--r-md)!important;color:#fff!important}
.assistant-ia-widget .assistant-ia-send-btn:hover:not(:disabled){background:var(--green-dark)!important}
@media (max-width:640px){
	body.assistant-ia-on .wa{bottom:84px}
	.assistant-ia-fab-text{display:none!important}
	.assistant-ia-widget .assistant-ia-toggle{padding:6px}
	.assistant-ia-widget.assistant-ia-open{right:0!important;bottom:0!important}
	.assistant-ia-widget .assistant-ia-chat{width:100vw!important;height:88vh!important;border:0}
}
@media (prefers-reduced-motion:reduce){.assistant-ia-fab-icon::after{animation:none}}
.f-about b{color:var(--ink)}
/* Search auto-complete: suggested phrases across the top of the dropdown */
.suggest .sg-full{grid-column:1/-1}
.suggest .sg-terms{grid-column:1/-1;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}
.suggest .sg-terms h4 small{font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);margin-left:6px}
.suggest .sg-terms ul{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.suggest .sg-terms li a.sg-term{gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface)}
.suggest .sg-terms li a.sg-term:hover,.suggest .sg-terms li a.sg-term.is-active{border-color:var(--green);background:var(--green-soft)}
.suggest .sg-terms li a.sg-term>span{flex:none}
@media (max-width:640px){.suggest .sg-terms h4 small{display:none}}
/* Mobile menu: long offer names wrap instead of widening the drawer */
.drawer .chips .chip{white-space:normal;max-width:100%;min-height:36px;height:auto;padding:6px 14px;line-height:1.35;text-align:left}
/* The cart drawer opens after an add: WooCommerce's extra "Voir le panier" link is not needed */
a.added_to_cart.wc-forward{display:none!important}
/* Favourites: the heart pulses when clicked */
@keyframes mp-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
.mp-pop{animation:mp-pop 380ms var(--ease)}
[data-mp-wish][aria-pressed=true] svg{color:var(--sale);fill:currentColor}
@media (prefers-reduced-motion:reduce){.mp-pop{animation:none}}

/* Product listings: heading, "Filtrer" panel, bar, chips, grid */
.mp-shop-head{display:flex;align-items:center;gap:20px;margin:8px 0 28px}
.mp-shop-head h1{margin:0}
.mp-shop-logo{flex:none;width:120px;height:80px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;padding:10px}
.mp-shop-logo img{width:100%;height:100%;object-fit:contain}
.mp-shop-intro{margin-top:8px;color:var(--muted);max-width:760px}
.mp-shop-intro p{margin:0 0 .5em}
.mp-shop-intro.is-clamped{max-height:4.9em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.mp-intro-more{margin-top:4px;padding:0;border:0;background:none;font:inherit;font-size:.875rem;font-weight:600;color:var(--green-strong);text-decoration:underline;cursor:pointer}
.mp-offer-when{font-weight:600;color:var(--green-strong)}
.mp-offer-when.is-ended{color:var(--sale)}
.mp-shop-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}
.mp-shop-layout.no-filters{grid-template-columns:minmax(0,1fr)}
.mp-shop-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.mp-shop-count{margin:0;color:var(--muted);font-size:.9375rem}
.mp-sort{margin-left:auto}
.mp-sort select{min-height:40px;padding:6px 36px 6px 12px;border:1px solid var(--border-strong);background:#fff;font:inherit;font-size:.875rem}
.mp-filters-open{display:none}
.mp-filters-open svg{width:18px;height:18px}
.mp-fcount{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--green-strong);color:#fff;font-size:.75rem;font-weight:600}
.mp-chips{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mp-chips .chip:hover{border-color:var(--green-strong)}
.mp-chips-clear{font-size:.875rem;color:var(--green-strong);text-decoration:underline}
.mp-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mp-shop-empty{margin-top:8px}
.section.mp-shop{padding-top:24px}
.mp-filters{min-width:0}
.mp-filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mp-filters-head h2{margin:0}
.mp-filters-close{display:none;width:44px;height:44px;border:0;background:none;font-size:1.75rem;line-height:1;cursor:pointer;color:var(--muted)}
.mp-fgroup{border-top:1px solid var(--border);padding:12px 0}
.mp-fgroup summary{display:flex;align-items:center;gap:8px;min-height:36px;font-weight:600;cursor:pointer;list-style:none}
.mp-fgroup summary::-webkit-details-marker{display:none}
.mp-fgroup summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur)}
.mp-fgroup[open] summary::after{transform:rotate(-135deg)}
.mp-fsearch{width:100%;min-height:40px;margin:8px 0;padding:8px 12px;border:1px solid var(--border-strong);font:inherit;font-size:.875rem;background:#fff}
.mp-flist,.mp-flist ul{list-style:none;margin:0;padding:0}
.mp-flist{max-height:300px;overflow:auto;scrollbar-width:thin}
.mp-flist ul{padding-left:22px}
.mp-fitem[hidden]{display:none}
.mp-fopt{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 0;color:var(--text);font-size:.9375rem;text-decoration:none}
.mp-fopt:hover .mp-fname{color:var(--green-strong)}
.mp-fbox{flex:none;width:18px;height:18px;border:1.5px solid var(--border-strong);background:#fff;display:grid;place-items:center}
.mp-fopt[aria-checked=true] .mp-fbox{background:var(--green-strong);border-color:var(--green-strong)}
.mp-fopt[aria-checked=true] .mp-fbox::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.mp-fopt[aria-checked=true] .mp-fname{font-weight:600}
.mp-flogo{flex:none;width:44px;height:30px;display:grid;place-items:center;background:#fff;border:1px solid var(--border)}
.mp-flogo img{width:40px;height:26px;object-fit:contain}
.mp-fnone{margin:6px 0 0;color:var(--muted);font-size:.875rem}
.mp-range{position:relative;height:28px;margin:12px 8px 8px}
.mp-range::before,.mp-range-fill{content:"";position:absolute;top:12px;height:4px;background:var(--border)}
.mp-range::before{left:0;right:0}
.mp-range-fill{background:var(--green-strong)}
.mp-range input{position:absolute;inset:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.mp-range input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--green-strong);cursor:pointer}
.mp-range input::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--green-strong);cursor:pointer}
.mp-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.mp-price-inputs label{display:grid;gap:4px;font-size:.8125rem;color:var(--muted)}
.mp-price-inputs input{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--border-strong);font:inherit;color:var(--text)}
.mp-price .btn{width:100%}
@media (max-width:900px){
  .mp-shop-layout{grid-template-columns:minmax(0,1fr)}
  .mp-filters-open{display:inline-flex}
  .mp-filters{display:none;position:fixed;inset:0;top:0;z-index:100000;overflow:auto;max-height:none;background:#fff;padding:16px 16px 32px}
  .mp-filters.is-open{display:block}
  .mp-filters-close{display:grid;place-items:center}
  .mp-flist{max-height:none}
  body.mp-noscroll{overflow:hidden}
  .mp-shop-head{flex-direction:column;align-items:flex-start;gap:12px}
}
@media (max-width:560px){.mp-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mp-sort{margin-left:0;width:100%}.mp-sort select{width:100%}}

/* Favoris: card heart (v12 .fav), product-page button, page, header counter */
.card .fav{z-index:2;color:var(--ink)}
.fav.is-busy,.mp-fav-inline.is-busy{opacity:.55;pointer-events:none}
.mp-fav-row{margin:4px 0 20px}
.mp-fav-inline{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--border-strong);background:#fff;color:var(--ink);font-size:.9375rem;font-weight:500;text-decoration:none}
.mp-fav-inline:hover{background:var(--hover-bg)}
.mp-fav-inline svg{width:20px;height:20px;flex:none}
.mp-fav-inline[aria-pressed=true] svg{fill:var(--sale);color:var(--sale)}
.mp-favs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mp-favs-empty{border:1px dashed var(--border-strong);padding:32px;text-align:center;display:grid;justify-items:center;gap:12px}
.mp-favs-empty p{margin:0;color:var(--muted)}
.mp-favs-note{margin-top:20px;font-size:.875rem;color:var(--muted)}
.mp-favs-note a{color:var(--green-strong);text-decoration:underline}
@media (max-width:560px){.mp-favs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* MyPharmacy+ : rewards catalogue, reward page, account tab, point estimates */
.mp-rewards-banner{margin-bottom:24px}
.mp-rewards-banner img{width:100%;height:auto;display:block}
.mp-rewards-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
.mp-rewards-head p{margin:6px 0 0;color:var(--muted)}
.mp-rewards-balance{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.mp-rewards-balance span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mp-rewards-balance b{font:600 1.75rem var(--display);color:var(--green-strong)}
.mp-rewards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.pts-card.is-out .media img{opacity:.45}
.mp-crumbs{margin:0 0 12px;font-size:.75rem;line-height:1.5;letter-spacing:.01em;color:var(--muted)}
.mp-crumbs a{color:var(--muted)}.mp-crumbs a:hover{color:var(--green-strong)}
.mp-reward-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:start}
.mp-reward-media{background:#fff;border:1px solid var(--border);aspect-ratio:1;display:grid;place-items:center;padding:24px}
.mp-reward-media img{max-width:100%;max-height:100%;object-fit:contain}
.mp-reward-points{font:600 2.25rem var(--display);color:var(--green-strong);margin:8px 0}
.mp-reward-points small{font-size:1rem}
.mp-reward-box{border:1px solid var(--border);background:var(--green-soft);padding:20px;margin:20px 0;display:grid;gap:12px;justify-items:start}
.mp-reward-box p{margin:0}
.mp-missing{color:var(--sale)}
.mp-reward-buy{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--ink);color:#fff;margin-top:20px}
.mp-reward-buy .woocommerce-Price-amount{font-weight:600}
.mp-reward-buy-go{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600}
.mp-reward-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 20px;padding:12px 14px;border-left:3px solid var(--green-strong);background:var(--green-soft);font-size:.9375rem}
.mp-reward-note svg{width:20px;height:20px;flex:none;color:var(--green-strong);margin-top:2px}
.mp-reward-note a{color:var(--green-strong);font-weight:600;text-decoration:underline;white-space:nowrap}
.mp-notice{display:grid;gap:4px;padding:14px 18px;margin-bottom:20px;border-left:4px solid var(--green-strong);background:var(--green-soft)}
.mp-notice.is-error{border-color:var(--sale);background:#fdecec}
.mp-dialog{border:0;padding:28px;max-width:440px;width:calc(100% - 32px);box-shadow:var(--shadow-lift)}
.mp-dialog::backdrop{background:rgba(28,43,24,.45)}
.mp-dialog h2{margin:0 0 8px}
.mp-dl{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:16px 0}
.mp-dl dt{color:var(--muted)}.mp-dl dd{margin:0;font-weight:600;text-align:right}
.mp-small{font-size:.8125rem;color:var(--muted)}
.mp-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.mp-loyalty-banner img{width:100%;height:auto;display:block;margin-bottom:20px}
.mp-loyalty-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.4fr);gap:12px;margin-bottom:12px}
.mp-loyalty-kpis>div{border:1px solid var(--border);padding:16px 18px;display:grid;gap:4px;align-content:center}
.mp-loyalty-kpis b{font:600 1.75rem var(--display);color:var(--green-strong)}
.mp-loyalty-kpis span{color:var(--muted);font-size:.875rem}
.mp-loyalty-cta{background:var(--green-soft);justify-items:start}
.mp-loyalty-rule{font-size:.875rem;color:var(--muted)}
.mp-loyalty-table .is-plus{color:var(--green-strong);font-weight:600}.mp-loyalty-table .is-minus{color:var(--sale);font-weight:600}
.mp-status{display:inline-block;padding:2px 8px;font-size:.75rem;font-weight:600;background:var(--bg)}
.mp-status.st-pending{background:#fbeccb;color:#704600}.mp-status.st-processing{background:#e1ebf2;color:#2e4453}.mp-status.st-shipped{background:var(--green-soft);color:var(--green-strong)}
.mp-points-estimate{display:block;text-align:left;line-height:1.5;margin:12px 0;padding:10px 14px;background:var(--green-soft);color:var(--green-dark);font-size:.875rem}
.mp-points-row td{padding:0!important;border:0!important}
@media (max-width:768px){.mp-reward-grid{grid-template-columns:1fr;gap:20px}.mp-loyalty-kpis{grid-template-columns:1fr 1fr}.mp-loyalty-cta{grid-column:1/-1}.mp-rewards-balance{align-items:flex-start}}

/* "Nos rayons phares": real category names make the tab bar much wider than the mockup's;
   let the grid column shrink so the tabs scroll instead of widening the page. */
.row-r>*,.row-main{min-width:0}

/* Live search dropdown (additions to the mockup's .suggest) */
.suggest{max-height:min(70vh,640px);overflow:auto}
@media (min-width:769px){.suggest{right:auto;width:min(780px,calc(100vw - 48px));grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}}
.suggest li a>span{flex:1;min-width:0;line-height:1.35}
.suggest li a small{color:var(--muted);font-size:.75rem}
.suggest li a>span>small:first-child{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green-strong)}
.suggest li a.is-active,.suggest .all.is-active{background:var(--hover-bg);outline:none}
.suggest .all{display:block;padding:12px 8px 4px}
.suggest .sg-brand img{width:56px;object-fit:contain;padding:4px;background:#fff;border:1px solid var(--border)}
.suggest .sg-noimg{width:40px;height:40px;flex:none;background:var(--bg);border-radius:6px}
.suggest b.num{margin-left:auto;white-space:nowrap;text-align:right;font-size:.875rem}
.suggest b.num del{display:block;font-size:.75rem;font-weight:400;color:var(--muted)}
.suggest b.num ins{text-decoration:none;color:var(--sale)}
.suggest .sg-out{font-style:normal;font-size:.6875rem;font-weight:600;color:var(--muted);background:var(--bg);padding:1px 6px;border-radius:3px;white-space:nowrap}
.search.is-loading button svg{animation:mpPulse 900ms ease-in-out infinite}
@keyframes mpPulse{50%{opacity:.35}}

/* Encarts under the carousel: as many columns as encarts (2 by default, the design showed 3) */
.encarts{grid-template-columns:repeat(var(--n,2),minmax(0,1fr))}
@media (max-width:768px){.encarts{grid-template-columns:repeat(var(--n,2),78%)}}

/* <picture> wrappers behave like the design's bare <img> */
.slide picture,.encart picture,.wban picture,.vban picture{display:block;width:100%;height:100%}
@media (max-width:768px){.slider[style*="--m-ratio"]{aspect-ratio:var(--m-ratio)}}

/* Product cards (WooCommerce) */
.card .media>a:not(.fav){display:block;width:100%;height:100%}
.card .media.is-noimg img{visibility:hidden}
.card .media.is-noimg>a:not(.fav){background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa894' stroke-width='1.4'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-8 8'/%3E%3C/svg%3E") center/48px no-repeat}
.card .media img{width:100%;height:100%;object-fit:contain}
.card .added_to_cart{display:none!important}
.add.loading{opacity:.55;pointer-events:none}
.stock.is-out{color:var(--muted)}
.stock.is-out::before{background:var(--muted)}
.woocommerce-Price-amount,.woocommerce-Price-amount bdi{white-space:nowrap}
.btn.added_to_cart_button+.added_to_cart,.cta-row .added_to_cart{display:none}
.btn.loading{opacity:.6;pointer-events:none}

/* Loyalty block with only the banner */
.loyal-grid.is-banner-only{grid-template-columns:minmax(0,480px)}

/* Brands: infinite strip */
.brand-strip{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.brand-track{display:flex;gap:24px;width:max-content;animation:mp-marquee var(--brand-speed,60s) linear infinite}
.brand-track .brand{flex:0 0 180px}
.brand-strip:hover .brand-track,.brand-strip:focus-within .brand-track{animation-play-state:paused}
@keyframes mp-marquee{to{transform:translateX(calc(-50% - 12px))}}
@media (max-width:960px){.brand-track{gap:8px}.brand-track .brand{flex-basis:120px}@keyframes mp-marquee{to{transform:translateX(calc(-50% - 4px))}}}
@media (prefers-reduced-motion:reduce){.brand-strip{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.brand-track{animation:none}.brand-track [aria-hidden=true]{display:none}}

/* SEO / FAQ without newsletter */
.info.no-news{grid-template-columns:minmax(0,1fr)}
.faq details>*:not(summary){margin:0;padding:0 16px 16px;font-size:.9375rem;color:var(--text)}
.faq details>p+p{padding-top:0}

/* Cart drawer = WooCommerce mini-cart */
.drawer .widget_shopping_cart_content{flex:1;display:flex;flex-direction:column;min-height:0}
.drawer .line a:hover{color:var(--green-strong)}
.drawer .qty button[disabled]{opacity:.4}
.drawer.is-busy .widget_shopping_cart_content{opacity:.6;pointer-events:none}

/* Mega-menu placeholder thumb */
.mega-cats button img[src^="data:"]{background:var(--green-soft)}

/* Generic pages (cart, checkout, account…) */
.mp-page-title{margin-bottom:32px}
.mp-content>*:first-child{margin-top:0}
.mp-pagination{margin-top:48px}
.mp-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.mp-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--border);background:#fff}
.mp-pagination .page-numbers.current{background:var(--lg);border-color:var(--green);color:var(--lg-ink)}

/* ---------- "Marques" menu (nav dropdown + mobile drawer) ---------- */
.nl-brands{background:none;border:0;cursor:pointer;font-family:inherit;flex:none}
.nl-brands .chev{width:14px;height:14px;transition:transform var(--dur) var(--ease)}
.nl-brands[aria-expanded=true]{color:var(--green-strong)}
.nl-brands[aria-expanded=true] .chev{transform:rotate(180deg)}
.bmenu{position:absolute;left:0;right:0;top:100%;z-index:60;display:none;background:#fff;box-shadow:0 30px 60px -30px rgba(28,43,24,.35);border-top:1px solid var(--border)}
.bmenu.open{display:block;animation:mIn 220ms var(--ease)}
.nav .bmenu-in{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:40px;height:auto;padding-block:28px 32px}
.bmenu-top{padding-right:32px;border-right:1px solid var(--border)}
.bmenu-top .eyebrow{margin:0 0 14px}
.bmenu-logos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.bmenu-logos a{height:64px;display:grid;place-items:center;padding:10px;border:1px solid var(--border);background:#fff;transition:border-color var(--dur) var(--ease)}
.bmenu-logos a:hover{border-color:var(--green)}
.bmenu-logos img{max-width:100%;max-height:40px;width:auto;height:auto;object-fit:contain}
.bmenu-all{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600;font-size:.875rem;color:var(--green-strong)}
.bmenu-all svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}
.bmenu-all:hover svg{transform:translateX(3px)}
.bmenu-letters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.bmenu-letters button{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border:1px solid var(--border-strong);background:#fff;font:600 .8125rem/1 var(--display);color:var(--ink);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.bmenu-letters button:hover:not(:disabled),.bmenu-letters button[aria-pressed=true]{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.bmenu-letters button:disabled{opacity:.35;cursor:default}
.bmenu-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:start;gap:4px 28px;max-height:min(52vh,420px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.bmenu-g{margin-bottom:12px}
.bmenu-g[hidden]{display:none}
.bmenu-g>b{display:block;font:700 1.125rem/1 var(--display);color:var(--green-strong);margin-bottom:6px}
.bmenu-g ul{list-style:none;margin:0;padding:0}
.bmenu-g li{padding:3px 0;font-size:.875rem;line-height:1.4}
.bmenu-g a{color:var(--text)}
.bmenu-g a:hover{color:var(--green-strong);text-decoration:underline;text-underline-offset:3px}
.bmenu-g small{font-size:.6875rem;color:var(--muted)}
@media (max-width:1100px){.nav .bmenu-in{grid-template-columns:1fr}.bmenu-top{display:none}}
@media (max-width:860px){.nl-brands,.bmenu{display:none!important}}
.mn-b .mn-ic{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:var(--green-soft);color:var(--green-strong)}
.mn-b .mn-ic svg,.mn-b[aria-expanded=true] .mn-ic svg{width:20px;height:20px;color:var(--green-strong);transform:none}
#mn-marques ul{columns:2;column-gap:12px}
/* ============ Usability (audit 10-2026) ============ */
/* Floating buttons: one at a time on phones (the assistant offers WhatsApp too), none on cart and checkout
   where they covered the order button and badges. */
@media (max-width:600px){body.assistant-ia-on .wa{display:none}}
body.woocommerce-cart .wa,body.woocommerce-checkout .wa,body.woocommerce-cart .assistant-ia-widget,body.woocommerce-checkout .assistant-ia-widget{display:none!important}
/* Touch targets: 44px hit area on phones without changing the look. */
@media (max-width:782px){
  #sdots>button,.pfoot a.add,.pdp4 .gal-nav button{position:relative} /* .fav is already absolute: it anchors its ::after itself */
  #sdots>button::after,.pfoot a.add::after,.pdp4 .gal-nav button::after,.media a.fav::after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}
  .mp-shop-bar .btn,select#mp-orderby,nav.az-bar a{min-height:44px}
}
/* ============ Footer (10-2026): as many columns as content, contact grouped in "Service client" ============ */
.f-top{grid-template-columns:minmax(0,1.35fr) repeat(var(--f-cols,3),minmax(0,1fr));gap:var(--s4) clamp(24px,4vw,56px);padding-block:56px 48px}
.f-top .f-h{position:relative;padding-bottom:12px;margin-bottom:18px!important;font-size:1rem}
.f-top .f-h::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--green-strong)}
.f-top ul{gap:12px}
.f-top .f-col a{transition:color var(--dur) var(--ease),padding var(--dur) var(--ease)}
.f-top .f-col ul a:hover{padding-left:4px}
.f-brand .f-about{max-width:36ch;line-height:1.7}
.f-contact li{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;line-height:1.5}
.f-contact svg{width:18px;height:18px;margin-top:2px;color:var(--green-strong)}
.f-help .f-wa{margin-top:20px;width:100%;justify-content:center}
.f-help .f-wa svg{width:18px;height:18px}
.f-bottom{padding-bottom:max(var(--s3),88px);justify-content:flex-start;column-gap:48px} /* room for the floating WhatsApp / assistant buttons, which sit on the right */
@media (max-width:1100px){.f-top{grid-template-columns:repeat(2,minmax(0,1fr))}.f-brand{grid-column:1/-1}}
@media (max-width:560px){.f-top{grid-template-columns:1fr;padding-block:40px 32px}.f-bottom{flex-direction:column;align-items:flex-start}}
/* ============ Homepage motion (10-2026) ============
   CSS scroll-driven animations: no JavaScript, run off the main thread. Browsers without
   animation-timeline (Firefox today) keep the static page and the existing .reveal fade.
   Nothing moves for visitors who ask for reduced motion. */
@keyframes mp-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mp-rise{from{opacity:0;translate:0 48px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes mp-card{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    /* Reading progress bar under the header */
    .home::after{content:"";position:fixed;inset:0 0 auto;height:3px;z-index:1000;background:linear-gradient(90deg,var(--green-strong),#A3D157);transform-origin:0 50%;animation:mp-progress linear both;animation-timeline:scroll(root)}
    /* Sections rise in as they enter the screen (the JS .reveal fade is left to other browsers) */
    .home .reveal{opacity:1;transform:none;transition:none}
    .home main>section:not(.promo-top):not(:first-of-type){animation:mp-rise ease-out both;animation-timeline:view();animation-range:entry 0% entry 35%}
    /* Cards (grids only: inside a horizontal rail the timeline would be the rail), categories, Instagram tiles: each on its own, which staggers them naturally */
    .home .grid6 .card,.home .row-grid .card,.home .cat,.home .ig,.home .journal>*{animation:mp-card ease-out both;animation-timeline:view();animation-range:entry 0% entry 60%}
  }
}
/* Hover depth on homepage tiles (all browsers) */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .home .cat .img img,.home .ig img{transition:transform 600ms var(--ease)}
  .home .cat:hover .img img,.home .ig:hover img{transform:scale(1.06)}
  .home main .card{transition:transform 300ms var(--ease),box-shadow 300ms var(--ease)}
  .home main .card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(28,43,24,.35)}
}
/* ============ Filters (10-2026): compact, foldable category tree ============ */
.mp-flist{max-height:340px;padding-right:4px}
.mp-fitem{position:relative}
.mp-fitem.has-kids>.mp-fopt{padding-right:36px}
.mp-fopt{gap:10px;min-height:34px;padding:3px 0;font-size:.875rem;line-height:1.35}
.mp-fbox{width:16px;height:16px;border-radius:4px;border-width:1.5px;transition:background var(--dur),border-color var(--dur)}
.mp-fopt:hover .mp-fbox{border-color:var(--green-strong)}
.mp-fopt[aria-checked=true] .mp-fbox::after{width:4px;height:8px}
.mp-flist.is-tree>.mp-fitem>.mp-fopt{font-weight:500;color:var(--ink)}
.mp-flist ul{padding-left:0;margin:2px 0 6px 7px;border-left:1px solid var(--line)}
.mp-flist ul .mp-fopt{padding-left:14px;font-size:.8125rem;color:var(--text)}
.mp-flist ul[hidden]{display:none}
.mp-fgroup.is-searching .mp-flist ul[hidden]{display:block}
.mp-ftog{position:absolute;right:0;top:2px;width:32px;height:30px;display:grid;place-items:center;border:0;border-radius:6px;background:none;color:var(--muted);cursor:pointer;transition:background var(--dur),color var(--dur)}
.mp-ftog:hover{background:var(--hover-bg);color:var(--ink)}
.mp-ftog svg{transition:transform var(--dur) var(--ease)}
.mp-ftog[aria-expanded=true] svg{transform:rotate(180deg)}
.f-bottom img{width:auto;max-width:100%;object-fit:contain} /* height is fixed: keep the logos' proportions */
/* ============ Phones (10-2026) ============ */
@media (max-width:860px){
  /* Header slides away while scrolling down (main.js), comes back on the way up */
  .header{transition:transform 250ms var(--ease)}
  .hdr-up .header{transform:translateY(calc(-100% - 64px))} /* 64px: also clears the admin bar offset when logged in */
  /* Breadcrumb on one line, swipeable */
  .mp-crumbs{white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px}
  .mp-crumbs::-webkit-scrollbar{display:none}
}
@media (max-width:640px){
  /* Calmer vertical rhythm */
  .section{padding-block:48px}
  .sec-head,.promo-head{padding-top:20px!important;margin-bottom:24px!important}
  .sec-head h2,.promo-head h2{font-size:1.5rem}
  /* Homepage: banners under the slider swipe side by side instead of stacking */
  .home .encarts{grid-template-columns:repeat(var(--n,2),86%)!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none;margin-inline:0!important;padding-inline:0!important}
  .home .encarts>*{scroll-snap-align:start}
  /* Homepage promotions: one swipeable row instead of a long 2-column grid */
  .home #offres .grid6:not([hidden]){display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:46%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding:0 var(--gutter) 4px}
  .home #offres .grid6>*{scroll-snap-align:start}
  .home #offres .grid6::-webkit-scrollbar,.home .encarts::-webkit-scrollbar{display:none}
}

/* ============ Banners shown whole (10-2026) ============
   Banners and visuals uploaded by the team carry text, prices and logos up to their edges: no
   enlargement (the parallax effect was removed), and each frame takes the image's own shape
   instead of a fixed ratio that cut it ("Temps forts" visuals included: they are campaign posters
   with prices). The carousel keeps one height for all slides: a slide of another shape is fitted
   inside (contain), never cut. The pharmacist photo (no text) keeps filling its frame. */
.edito-img,.ai-media,.encart,.wban,.term-ban,.term-bans.is-one .term-ban{aspect-ratio:auto!important;height:auto!important}
.edito-img img,.ai-media img,.encart img,.wban img,.term-ban img{display:block;width:100%;height:auto!important;object-fit:contain!important}
.vban{height:auto!important;align-self:start}
.vban img{height:auto!important}
.slide img{object-fit:contain}
a.term-ban:hover img,.tfx-panel:hover .tfx-hero>img{transform:none}
.tfx-hero{min-height:0!important;aspect-ratio:auto!important;display:block;align-self:start}
.tfx-hero>img{position:static;display:block;width:100%;height:auto;object-fit:contain}
