/* MyPharmacy — internal pages in the homepage design (2026-09-29).
   Only the homepage's tokens and components are used: green palette, Sora titles, uppercase
   green eyebrows, square corners, white bordered surfaces, cross pattern, tab band. */

/* ============ PAGE HEADER ============ */
.page-head{background-color:var(--green-soft);border-bottom:1px solid var(--green-soft-2);padding:28px 0 44px}
.page-head .mp-crumbs{margin:0 0 20px;color:var(--muted)}
.page-head .mp-crumbs a{color:var(--muted)}
.page-head .mp-crumbs a:hover{color:var(--green-strong)}
.page-head .eyebrow{margin-bottom:10px}
.page-title{font:600 clamp(1.75rem,3.4vw,2.625rem)/1.15 var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;max-width:24ch}
.page-lead{margin-top:14px;max-width:64ch;font-size:1.0625rem;line-height:1.6;color:var(--text)}
.page-lead p{margin:0}
.page-head.is-compact{padding:20px 0 28px}
.page-head.is-compact .page-title{font-size:clamp(1.5rem,2.6vw,2rem)}
.page-body{padding-top:48px}
.page-body.is-wide{padding-top:36px}
.wrap.narrow{max-width:880px}

/* Order steps (cart, checkout, confirmation) */
.co-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px 28px;margin:20px 0 0;padding:0;counter-reset:none}
.co-step{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;color:var(--muted)}
.co-step .n{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border-strong);background:#fff;font-size:.8125rem}
.co-step .n svg{width:14px;height:14px}
.co-step.is-current{color:var(--ink)}
.co-step.is-current .n{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.co-step.is-done{color:var(--green-strong)}
.co-step.is-done .n{background:var(--green-soft-2);border-color:var(--green-soft-2);color:var(--green-dark)}

/* ============ ARTICLE + SIDE COLUMN ============ */
.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
.doc-side{display:grid;gap:20px;position:sticky;top:150px}
.side-card{background:var(--surface);border:1px solid var(--border);padding:24px}
.side-title{font:600 1.25rem/1.3 var(--display);color:var(--ink);margin:14px 0 8px}
.side-card>p{margin:0 0 16px;font-size:.9375rem;color:var(--text)}
.side-help{background:var(--green-soft);border-color:var(--green-soft-2);display:grid;gap:10px;justify-items:start}
.side-help .seal{margin-bottom:2px}
.side-help .side-title{margin-top:6px}
.side-help>p{margin:0 0 6px}
.side-help .btn{width:100%}
.side-note{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--muted);margin:4px 0 0}
.side-note svg{width:16px;height:16px;color:var(--green-strong)}
.side-links ul,.side-toc ol{list-style:none;margin:12px 0 0;padding:0}
.side-links li+li,.side-toc li+li{border-top:1px solid var(--border)}
.side-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;color:var(--ink);font-weight:500;font-size:.9375rem}
.side-links a svg{width:16px;height:16px;color:var(--muted);transition:transform var(--dur)}
.side-links a:hover{color:var(--green-strong)}
.side-links a:hover svg{transform:translateX(3px);color:var(--green-strong)}
.side-links a[aria-current=page]{color:var(--green-strong);font-weight:600}
.side-toc ol{counter-reset:toc}
.side-toc li{counter-increment:toc}
.side-toc a{display:flex;gap:12px;padding:11px 0;font-size:.9375rem;color:var(--text);line-height:1.4}
.side-toc a::before{content:counter(toc,decimal-leading-zero);font:600 .75rem/1.9 var(--display);color:var(--green-strong);flex:none}
.side-toc a:hover{color:var(--green-strong)}

/* Readable text (pages, articles, product description) */
.prose{font-size:1.0625rem;line-height:1.75;color:var(--text);max-width:74ch;overflow-wrap:break-word}
.prose>*:first-child{margin-top:0}
.prose p,.prose ul,.prose ol,.prose table,.prose blockquote,.prose figure{margin:0 0 20px}
.prose h2{font:600 clamp(1.375rem,2.2vw,1.75rem)/1.3 var(--display);letter-spacing:-.015em;color:var(--ink);margin:48px 0 16px;padding-top:24px;border-top:1px solid var(--border);scroll-margin-top:150px}
.prose>h2:first-child{border-top:0;padding-top:0}
.prose h3{font:600 1.25rem/1.35 var(--display);color:var(--ink);margin:32px 0 12px}
.prose h4,.prose h5,.prose h6{font-size:1.0625rem;font-weight:700;color:var(--ink);margin:24px 0 8px}
.prose a{color:var(--green-strong);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--green-dark)}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:6px 0}
.prose ul li::marker{color:var(--green)}
.prose ol li::marker{color:var(--green-strong);font-weight:700}
.prose blockquote{border-left:3px solid var(--green);background:var(--green-soft);padding:16px 20px;font-style:normal}
.prose img{max-width:100%;height:auto}
.prose table{width:100%;border-collapse:collapse;font-size:.9375rem}
.prose th,.prose td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--green-soft);color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--border);margin:32px 0}
.prose details{background:var(--surface);border:1px solid var(--border);margin:0 0 8px}
.prose summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;cursor:pointer;font-weight:600;color:var(--ink);font-size:1rem;line-height:1.45}
.prose summary::-webkit-details-marker{display:none}
.prose summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-3px);transition:transform var(--dur)}
.prose details[open] summary::after{transform:rotate(-135deg)}
.prose details[open]{border-color:var(--green-soft-2)}
.prose details>*:not(summary){padding:0 16px 16px;margin:0}
.prose .faq{margin:8px 0 24px}
.prose .faq details{margin-bottom:8px}
.prose .faq summary{font-size:1rem;line-height:1.45;padding-block:12px}
.prose .faq-a{padding:0 16px 16px;font-size:.9375rem;line-height:1.65}
.faq details>p,.faq details>div:not(.faq-a){padding:0 16px 16px;margin:0}

/* ============ CONTACT ============ */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start}
.contact-channels{display:grid;gap:20px}
.contact-tiles{list-style:none;margin:0;padding:0;border:1px solid var(--border);background:var(--surface)}
.contact-tiles li{display:flex;gap:16px;padding:20px 22px}
.contact-tiles li+li{border-top:1px solid var(--border)}
.contact-tiles .ic{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong)}
.contact-tiles .ic svg{width:22px;height:22px}
.contact-tiles div{display:grid;gap:2px;min-width:0}
.contact-tiles b{color:var(--ink);font-size:1rem}
.contact-tiles span{font-size:.9375rem;color:var(--text)}
.contact-tiles .link{min-height:0;margin-top:6px;overflow-wrap:anywhere}
.contact-tiles .link svg{width:16px;height:16px}
.contact-form .side-title{margin-top:0}
.contact-form>p.small{margin:0 0 8px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.field-wide{grid-column:1/-1}
.field select,.field textarea{border:1px solid var(--border-strong);background:#fff;padding:12px 14px;font:400 1rem var(--font);color:var(--ink);width:100%}
.field select{height:48px;padding-block:0}
.field textarea{min-height:140px;resize:vertical}
.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(74,122,0,.16)}
.field input{width:100%}
.contact-form .consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:.875rem;color:var(--text)}
.contact-form .consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--green-strong);flex:none}
.contact-form .btn{width:100%}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-ok,.form-err{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;margin:12px 0 4px;font-size:.9375rem}
.form-ok{background:var(--green-soft);border:1px solid var(--green-soft-2);color:var(--green-dark)}
.form-ok svg{width:20px;height:20px;flex:none}
.form-err{background:var(--sale-bg);border:1px solid #F3C4C0;color:var(--sale)}

/* ============ ABOUT ============ */
.about-edito{align-items:start}
.about-edito .prose{font-size:1rem;max-width:none;margin-top:12px}
.about-trust .trust{margin-top:0}
.about-intro h2{border-top:0;padding-top:0;margin-top:8px;font-size:clamp(1.375rem,2.4vw,1.875rem)}
.about-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:56px}
@media (max-width:760px){.about-points{grid-template-columns:minmax(0,1fr)}}
.about-points .side-card{max-width:none;font-size:.9375rem}
.about-points h2{font-size:1.25rem;border-top:0;padding-top:0;margin:0 0 12px}
.about-points ul{columns:2;column-gap:24px}
.about-cta{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;background-color:var(--green-soft);border:1px solid var(--green-soft-2);padding:36px 40px}
.about-cta .prose{max-width:62ch}
.about-cta h2{border-top:0;padding-top:0;margin:0 0 10px}
.about-cta p:last-child{margin-bottom:0}
@media (max-width:640px){.about-points ul{columns:1}.about-cta{padding:24px}}

/* ============ BRANDS A–Z ============ */
.az-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.az-bar a{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--green-soft-2);background:#fff;font:600 .9375rem var(--display);color:var(--ink)}
.az-bar a:hover{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.az-group{display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px;padding:32px 0;border-top:1px solid var(--border);scroll-margin-top:150px}
.az-group:first-child{border-top:0;padding-top:0}
.az-letter{font:700 2.5rem/1 var(--display);color:var(--green-strong);margin:0}
.az-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.az-brand{height:auto!important;min-height:112px;display:grid!important;grid-template-rows:1fr auto;place-items:center;gap:8px;padding:16px!important;text-align:center}
.az-brand img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain}
.az-count{font-size:.75rem;color:var(--muted)}

/* ============ BLOG ============ */
.page-chips{margin-top:24px}
.chip.is-on{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.post-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:56px;color:inherit}
.post-feature .img{aspect-ratio:16/10;overflow:hidden;background:var(--green-soft)}
.post-feature .img img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease)}
.post-feature:hover .img img{transform:scale(1.03)}
.post-feature h2{font:600 clamp(1.5rem,2.6vw,2.125rem)/1.2 var(--display);letter-spacing:-.02em;color:var(--ink);margin:12px 0}
.post-feature p{margin:0 0 16px;color:var(--text);font-size:1rem}
.post-feature .meta{font-size:.8125rem;color:var(--muted);margin-bottom:12px}
.post-feature .link{min-height:0}
.post-feature:hover h2{color:var(--green-strong)}
.post-page .pb{padding-top:20px}
.empty-state{display:grid;justify-items:center;gap:14px;text-align:center;padding:48px 16px;border:1px dashed var(--border-strong);background:var(--surface)}
.empty-state .ic{width:56px;height:56px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong)}
.empty-state .ic svg{width:26px;height:26px}
.empty-state h2{font:600 1.25rem var(--display);color:var(--ink);margin:0;max-width:40ch}
.page-search{display:flex;gap:8px;max-width:640px;margin-top:24px}
.page-search input{flex:1;min-width:0;height:52px;border:1px solid var(--border-strong);background:#fff;padding:0 16px;font:400 1rem var(--font);color:var(--ink)}
.page-search input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(74,122,0,.16)}
.page-search .btn{min-height:52px}
.page-search-alt{margin:12px 0 0;font-size:.9375rem;color:var(--text)}
.page-search-alt .link{min-height:0}
.mp-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.mp-pagination .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;font-size:.9375rem}
.mp-pagination .page-numbers.current{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.mp-pagination .page-numbers.dots{border:0;background:transparent;min-width:24px}
.mp-pagination .page-numbers svg{width:16px;height:16px}
.mp-pagination .page-numbers:hover{border-color:var(--green)}

/* Article */
.post-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;font-size:.875rem;color:var(--muted)}
.post-meta>*+*::before{content:"·";margin-right:20px;color:var(--border-strong)}
.post-meta>*+*{display:inline-flex}
.post-hero{margin:0 0 32px;aspect-ratio:16/9;overflow:hidden;background:var(--green-soft)}
.post-hero img{width:100%;height:100%;object-fit:cover}
.post-disc{margin-top:32px!important;padding-top:16px;border-top:1px solid var(--border)}
.post-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}
.post-share>span{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.post-share a,.post-share button{height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:.875rem;text-decoration:none}
.post-share a:hover,.post-share button:hover{border-color:var(--green);color:var(--green-strong)}
.post-share svg{width:18px;height:18px}

/* Products inside an article ([display_product_by_id]) */
.post-product{max-width:260px;margin:0 0 24px}
.post-product.is-grid{max-width:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.prose .post-product .card{height:100%}
.prose .post-product a{text-decoration:none}
.prose .post-product .pname,.prose .post-product .pname a{font-size:.875rem;line-height:1.35;color:var(--ink)}
.prose .post-product p{margin:0}
.prose .wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0 0 24px}
.prose .wp-block-columns .post-product{max-width:none;margin:0;height:100%}
.prose .wp-block-column{min-width:0}

/* 404 */
.notfound-body #rayons{padding-top:64px}

/* ============ WOOCOMMERCE NOTICES ============ */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notices-wrapper .wc-block-components-notice-banner{border:1px solid var(--green-soft-2)!important;border-left:3px solid var(--green-strong)!important;background:var(--green-soft)!important;color:var(--ink)!important;border-radius:var(--r-md)!important;padding:14px 18px 14px 48px!important;font-size:.9375rem;margin:0 0 20px!important;list-style:none}
.woocommerce-error{border-color:#F3C4C0!important;border-left-color:var(--sale)!important;background:var(--sale-bg)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--green-strong)!important;top:14px!important;left:18px!important}
.woocommerce-error::before{color:var(--sale)!important;top:14px!important;left:18px!important}
.woocommerce-message .button,.woocommerce-info .button{float:right;background:transparent!important;color:var(--green-strong)!important;padding:0!important;font-weight:600}

/* Shared WooCommerce buttons and fields in the design */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);font:500 .9375rem var(--font);line-height:1.2;transition:background var(--dur),border-color var(--dur)}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--hover-bg);color:var(--ink)}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce .checkout-button,.woocommerce #place_order,.woocommerce .single_add_to_cart_button{background:var(--green-strong)!important;border-color:var(--green-strong)!important;color:#fff!important;font-weight:600}
.woocommerce .button.alt:hover,.woocommerce .checkout-button:hover,.woocommerce #place_order:hover,.woocommerce .single_add_to_cart_button:hover{background:var(--green-dark)!important;border-color:var(--green-dark)!important}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5}
.woocommerce form .form-row label{font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:6px;display:block}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea,.woocommerce .input-text{min-height:48px;border:1px solid var(--border-strong);background:#fff;border-radius:var(--r-md);padding:10px 14px;font:400 1rem var(--font);color:var(--ink);width:100%}
.woocommerce form .form-row textarea{min-height:110px}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus,.woocommerce form .form-row textarea:focus,.woocommerce .input-text:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(74,122,0,.16)}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--sale)}
.woocommerce form .form-row .required{color:var(--sale);text-decoration:none}
.select2-container--default .select2-selection--single{height:48px;border:1px solid var(--border-strong);border-radius:var(--r-md)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:14px;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.select2-dropdown{border-color:var(--border-strong);border-radius:var(--r-md)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--green-strong)}
.woocommerce .quantity .qty{width:72px;min-height:48px;border:1px solid var(--border-strong);border-radius:var(--r-md);text-align:center;font:600 1rem var(--font);color:var(--ink);background:#fff}

/* ============ PRODUCT PAGE ============ */
.mp-pdp-sec{padding-top:24px}
.mp-pdp-sec div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start;position:relative}
.mp-pdp-sec div.product>.onsale{position:absolute;top:16px;left:16px;right:auto;z-index:3;margin:0;min-height:0;min-width:0;line-height:1.2;padding:5px 10px;font-size:.8125rem}
.mp-pdp-sec div.product div.images{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--border);background:#fff;padding:24px}
.mp-pdp-sec div.product div.images img{width:100%;height:auto;object-fit:contain}
.mp-pdp-sec div.product div.images .woocommerce-product-gallery__trigger{top:16px;right:16px;background:#fff;border:1px solid var(--border);border-radius:var(--r-md)}
.mp-pdp-sec div.product div.images .flex-control-thumbs{display:flex;gap:8px;margin-top:16px!important}
.mp-pdp-sec div.product div.images .flex-control-thumbs li{width:72px!important;float:none!important;border:1px solid var(--border)}
.mp-pdp-sec div.product div.images .flex-control-thumbs img{opacity:.6}
.mp-pdp-sec div.product div.images .flex-control-thumbs img.flex-active,.mp-pdp-sec div.product div.images .flex-control-thumbs img:hover{opacity:1}
.mp-pdp-sec div.product div.summary{float:none!important;width:auto!important;margin:0!important;display:flex;flex-direction:column}
.pdp-brand{align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-strong);margin-bottom:10px}
.pdp-brand:hover{text-decoration:underline;text-underline-offset:3px}
.mp-pdp-sec .product_title{font:600 clamp(1.5rem,2.6vw,2.125rem)/1.2 var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 16px;text-transform:none}
.mp-pdp-sec div.product .summary p.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 12px;color:var(--ink)!important;font:600 1.75rem/1.1 var(--display)}
.mp-pdp-sec div.product .summary p.price ins{text-decoration:none;order:-1;color:var(--sale)}
.mp-pdp-sec div.product .summary p.price del{font:400 1.0625rem var(--font);color:var(--muted);opacity:1}
.pdp-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.pdp-tag{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.8125rem;font-weight:600;background:var(--green-soft);color:var(--green-dark);border:1px solid var(--green-soft-2)}
.pdp-tag svg{width:14px;height:14px}
.pdp-tag.is-sale{background:var(--sale-bg);border-color:#F3C4C0;color:var(--sale)}
.pdp-tag.is-out{background:var(--hover-bg);border-color:var(--border-strong);color:var(--muted)}
.mp-pdp-sec .woocommerce-product-details__short-description{font-size:1rem;line-height:1.7;color:var(--text);padding:20px 0;border-top:1px solid var(--border)}
.mp-pdp-sec .woocommerce-product-details__short-description p{margin:0 0 10px}
.mp-pdp-sec .woocommerce-product-details__short-description>*:last-child{margin-bottom:0}
.mp-pdp-sec div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px!important;padding-top:20px;border-top:1px solid var(--border)}
.mp-pdp-sec div.product form.cart::before,.mp-pdp-sec div.product form.cart::after{display:none}
.mp-pdp-sec div.product form.cart .quantity{float:none;margin:0!important}
.mp-pdp-sec div.product form.cart .single_add_to_cart_button{flex:1;float:none;min-height:52px;font-size:1rem}
.mp-pdp-sec div.product form.cart table.variations{width:100%;margin-bottom:8px}
.mp-pdp-sec div.product .stock{font-size:.875rem;font-weight:600;color:var(--green-strong)}
.mp-pdp-sec div.product .stock.out-of-stock{color:var(--sale)}
.mp-pdp-sec .mp-fav-inline,.mp-pdp-sec .mp-wish{align-self:flex-start}
.mp-pdp-sec .mp-reward-note{margin:0 0 12px}
.pdp-trust{list-style:none;margin:8px 0 16px;padding:0;border:1px solid var(--border);background:var(--surface)}
.pdp-trust li{display:flex;align-items:center;gap:14px;padding:12px 16px}
.pdp-trust li+li{border-top:1px solid var(--border)}
.pdp-trust .ic{width:36px;height:36px;flex:none;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong)}
.pdp-trust .ic svg{width:18px;height:18px}
.pdp-trust div{display:grid;font-size:.8125rem;color:var(--muted);line-height:1.4}
.pdp-trust b{font-size:.875rem;color:var(--ink)}
.pdp-advice{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--green-soft);border:1px solid var(--green-soft-2);color:var(--ink);margin-bottom:16px}
.pdp-advice .ic{width:40px;height:40px;flex:none;display:grid;place-items:center;background:var(--green-strong);color:#fff}
.pdp-advice .ic svg{width:20px;height:20px}
.pdp-advice>span:not(.ic){display:grid;font-size:.8125rem;color:var(--text);flex:1}
.pdp-advice b{font-size:.9375rem;color:var(--ink)}
.pdp-advice>svg{width:18px;height:18px;color:var(--green-strong);transition:transform var(--dur)}
.pdp-advice:hover>svg{transform:translateX(3px)}
.mp-pdp-sec .product_meta{font-size:.8125rem;color:var(--muted);display:grid;gap:4px;padding-top:16px;border-top:1px solid var(--border)}
.mp-pdp-sec .product_meta a{color:var(--text)}
.mp-pdp-sec .product_meta a:hover{color:var(--green-strong)}
/* Tabs: the homepage's green tab band */
.mp-pdp-sec .woocommerce-tabs{grid-column:1/-1;margin-top:24px}
.mp-pdp-sec .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 28px!important;padding:0!important;background:#EEF4E8;border-bottom:2px solid var(--green-strong)}
.mp-pdp-sec .woocommerce-tabs ul.tabs::before,.mp-pdp-sec .woocommerce-tabs ul.tabs::after,.mp-pdp-sec .woocommerce-tabs ul.tabs li::before,.mp-pdp-sec .woocommerce-tabs ul.tabs li::after{display:none!important}
.mp-pdp-sec .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.mp-pdp-sec .woocommerce-tabs ul.tabs li a{display:block;padding:14px 22px!important;font:600 .875rem var(--font)!important;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)!important}
.mp-pdp-sec .woocommerce-tabs ul.tabs li.active{background:var(--green-strong)!important}
.mp-pdp-sec .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.mp-pdp-sec .woocommerce-tabs .panel{font-size:1rem;line-height:1.75;color:var(--text);max-width:80ch;margin:0!important}
.mp-pdp-sec .woocommerce-tabs .panel>h2:first-child{display:none}
.mp-pdp-sec .woocommerce-tabs .panel h2,.mp-pdp-sec .woocommerce-tabs .panel h3{font-family:var(--display);color:var(--ink)}
.mp-pdp-sec .woocommerce-tabs .panel strong{color:var(--ink)}
.mp-pdp-sec table.woocommerce-product-attributes{border:1px solid var(--border);border-collapse:collapse;width:100%}
.mp-pdp-sec table.woocommerce-product-attributes th,.mp-pdp-sec table.woocommerce-product-attributes td{border:1px solid var(--border);padding:12px 14px;font-style:normal}
.mp-pdp-sec table.woocommerce-product-attributes th{width:220px;background:var(--green-soft);color:var(--ink);font-weight:600}
.pdp-more{grid-column:1/-1;margin-top:64px}

/* ============ ORDER (My account â†’ order) ============ */
.woocommerce-account .woocommerce-customer-details .woocommerce-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.woocommerce-account .woocommerce-customer-details .woocommerce-columns::before,.woocommerce-account .woocommerce-customer-details .woocommerce-columns::after{display:none!important}
.woocommerce-account .woocommerce-customer-details .woocommerce-column{float:none!important;width:auto!important}
.woocommerce-account .woocommerce-order-details,.woocommerce-account .woocommerce-customer-details{background:#fff;border:1px solid var(--border);padding:24px}
.woocommerce-account .woocommerce-order-details__title,.woocommerce-account .woocommerce-column__title{font:600 1.25rem var(--display);color:var(--ink);margin:0 0 12px}
.woocommerce-account .woocommerce-order-details table.shop_table{border:0!important;border-radius:0!important}
.woocommerce-account .woocommerce-order-details table.shop_table th,.woocommerce-account .woocommerce-order-details table.shop_table td{padding:12px 0!important;border-top:1px solid var(--border)!important}
.woocommerce-account .woocommerce-customer-details address{border:0!important;padding:0!important;font-style:normal;line-height:1.7}
/* ============ MYPHARMACY+ REWARDS ============ */
.page-head .mp-rewards-balance{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 16px;margin-top:24px;padding:14px 18px;background:#fff;border:1px solid var(--green-soft-2)}
.page-head .mp-rewards-balance span{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.page-head .mp-rewards-balance b{font:700 1.5rem var(--display);color:var(--green-strong)}
.page-head .mp-rewards-balance .link{min-height:0}
.rewards-how{margin-bottom:40px}
.mp-rewards .pts-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.mp-rewards .pts-actions .btn{flex:1;min-height:40px}
.mp-rewards .pts-actions .btn[disabled]{opacity:1;background:var(--hover-bg);border:1px solid var(--border);color:var(--muted);font-size:.8125rem}
.mp-rewards .pts-actions .link{min-height:0;font-size:.8125rem}
.mp-rewards .mp-dl{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:12px 0}
.mp-rewards .mp-dl dd{margin:0;font-weight:700;color:var(--ink)}
.mp-reward .mp-crumbs{margin-bottom:24px}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
	.doc-layout{grid-template-columns:minmax(0,1fr) 300px;gap:40px}
}
@media (max-width:960px){
	.doc-layout,.contact-layout{grid-template-columns:minmax(0,1fr)}
	.doc-side{position:static}
	.side-toc{display:none}
	.post-feature{grid-template-columns:minmax(0,1fr);gap:20px}
	.mp-pdp-sec div.product{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media (max-width:640px){
	.page-head{padding:20px 0 32px}
	.page-body{padding-top:32px}
	.prose{font-size:1rem}
	.form-grid{grid-template-columns:1fr}
	.az-group{grid-template-columns:1fr;gap:12px}
	.az-letter{font-size:2rem}
	.az-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.page-search{flex-direction:column}
	.page-search .btn{width:100%}
	.mp-pdp-sec div.product div.images{padding:12px}
	.mp-pdp-sec .woocommerce-tabs ul.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
	.mp-pdp-sec .woocommerce-tabs ul.tabs li a{white-space:nowrap;padding:12px 16px!important}
	.mp-pdp-sec table.woocommerce-product-attributes th{width:auto}
	.co-steps{gap:8px 16px}
	.co-step{font-size:.8125rem}
	.post-meta>*+*::before{display:none}
}

/* =========================================================================
   Information pages (footer), from inspirations/qui-sommes-nous.html and
   inspirations/comment-fonctionne-notre-site.html — v12 tokens only.
   ========================================================================= */
:root{--ip-pattern:none;--ip-pattern-dark:none}
.ip-hero h1,.ip h2,.ip-body h2,.ip-band h2{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance;hyphens:manual;overflow-wrap:normal}
.ip img,.ip-hero img,.ip-body img{display:block;max-width:100%;height:auto}
.ip-ctas{display:flex;flex-wrap:wrap;gap:var(--s2)}
.ip-ctas.is-center{justify-content:center;margin-top:var(--s5)}
.ip-ctas .btn svg,.ip-shop .btn svg,.ip-step-card .btn svg{width:18px;height:18px}
.btn-ghost-light{color:#fff;border:1px solid rgba(255,255,255,.3);background:transparent}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}

/* ---------- Hero: title | lead, or title | photo ---------- */
.ip-hero{background:var(--green-soft) var(--ip-pattern);padding:var(--s4) 0 var(--s8);border-bottom:1px solid var(--green-soft-2)}
.ip-hero .mp-crumbs{margin-bottom:var(--s6)}
.ip-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s8);align-items:end}
.ip-hero .eyebrow{margin:0 0 var(--s2)}
.ip-hero h1{font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-.035em;font-weight:700}
.ip-hero h1::after{content:"";display:block;width:56px;height:4px;background:var(--green);margin-top:var(--s3)}
.ip-lead{font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:var(--text);padding-left:var(--s3);border-left:2px solid var(--green-soft-2);max-width:540px}
.ip-lead p{margin:0}
.ip-hero.has-cover{padding-bottom:168px}
.ip-hero.has-media{padding-bottom:0}
.ip-hero.has-media .ip-hero-grid{grid-template-columns:1fr 1fr}
.ip-hero.has-media .ip-hero-copy{padding-bottom:var(--s10)}
.ip-hero.has-media .ip-lead{margin-top:var(--s4)}
.ip-hero-media{margin:0 0 -64px;position:relative;border:1px solid var(--border);background:var(--surface);z-index:1}
.ip-hero-media img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:45% 35%}
.ip-hero-media::after{content:"";position:absolute;top:-16px;right:-16px;width:16px;height:96px;background:var(--green)}

/* ---------- Body: numbered cards + side column ---------- */
.ip-body{padding:var(--s8) 0 var(--s10);background:var(--surface)}
.ip-body.has-media{padding-top:calc(64px + var(--s8))}
.ip-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s8);align-items:start}
.ip-main{display:grid;gap:var(--s4);min-width:0}
.ip-card{background:var(--bg);border:1px solid var(--border);padding:var(--s4);font-size:16px;line-height:1.75}
.ip-card h2{font-size:clamp(20px,2vw,24px);font-weight:600;margin-bottom:var(--s2)}
.ip-steps{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:var(--s3)}
.ip-steps::before{content:"";position:absolute;left:31px;top:32px;bottom:32px;border-left:1px dashed var(--border-strong)}
.ip-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s3);align-items:start;position:relative}
.ip-mark{width:64px;height:64px;display:grid;place-items:center;background:var(--green-soft);border:1px solid var(--green-soft-2);color:var(--green-strong);position:relative;z-index:1;box-shadow:0 0 0 8px var(--surface);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.ip-mark svg{width:28px;height:28px}
.ip-mark i{position:absolute;top:-10px;right:-10px;min-width:26px;height:22px;padding:0 5px;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 11px/1 var(--display);font-style:normal;letter-spacing:.02em}
.ip-step:hover .ip-mark{background:var(--green-strong);color:#fff;border-color:var(--green-strong)}
.ip-step-card{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--green-soft-2);padding:var(--s3) var(--s4);font-size:16px;line-height:1.75;min-width:0;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.ip-step:hover .ip-step-card{border-left-color:var(--green);background:var(--surface)}
.ip-step-card h2{font-size:clamp(19px,1.8vw,22px);line-height:1.3;font-weight:600;margin:0 0 var(--s1);scroll-margin-top:150px}
.ip-step-card .prose>:first-child,.ip-step-card.prose>:first-child,.ip-card>:first-child{margin-top:0}
.ip-step-card .prose>:last-child,.ip-step-card.prose>:last-child,.ip-card>:last-child{margin-bottom:0}
.ip-step-card a{font-weight:600;text-underline-offset:3px}
.ip-step-card .btn{text-decoration:none}
.ip-term{color:var(--ink);font-weight:600}
.ip-statement{margin:var(--s4) 0 0;padding:var(--s6) 0 var(--s6) var(--s6);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}
.ip-statement-ic{position:absolute;left:0;top:var(--s6);width:28px;height:28px;display:grid;place-items:center;color:var(--green)}
.ip-statement-ic svg{width:22px;height:22px}
.ip-statement p{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(18px,1.9vw,23px);line-height:1.5;letter-spacing:-.01em;color:var(--ink)}
.ip-shop{display:flex;gap:var(--s3);align-items:center;background:var(--green-soft) var(--ip-pattern);border:1px solid var(--green-soft-2);padding:var(--s4)}
.ip-shop-ic{width:56px;height:56px;flex:none;display:grid;place-items:center;background:var(--surface);color:var(--green-strong);border:1px solid var(--green-soft-2)}
.ip-shop-ic svg{width:28px;height:28px}
.ip-shop p{margin:0;font-size:16px;line-height:1.7;color:var(--ink)}
.ip-shop .btn{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s2)}
.ip-side{position:sticky;top:150px;display:grid;gap:var(--s3)}
.ip-side .side-help{background:var(--ink) var(--ip-pattern-dark);border:0;color:rgba(255,255,255,.82)}
.ip-side .side-help .side-title{color:#fff;font-size:22px}
.ip-side .side-help>p{color:rgba(255,255,255,.82)}
.ip-side .side-help .btn-secondary{color:#fff;border-color:rgba(255,255,255,.28);background:transparent}
.ip-side .side-help .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.ip-side .side-help .side-note{color:rgba(255,255,255,.7)}
.ip-side .side-help .side-note svg{color:var(--green)}
.ip-side .side-links a[aria-current=page]{box-shadow:inset 3px 0 0 var(--green);padding-left:12px}
.ip-side-facts{list-style:none;margin:0;display:grid;grid-template-columns:1fr;padding:8px 24px!important}
.ip-side-facts li{display:flex;align-items:baseline;gap:12px;padding:12px 0}
.ip-side-facts li+li{border-top:1px solid var(--border)}
.ip-side-facts .num{font:600 28px/1 var(--display);color:var(--green-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:64px}
.ip-side-facts span{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ---------- Dark band (partners, help) ---------- */
.ip-band{background:var(--ink) var(--ip-pattern-dark);color:rgba(255,255,255,.8);text-align:center;padding:var(--s12) 0;position:relative;overflow:hidden}
.ip-band::before,.ip-band::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(109,172,3,.25);transform:rotate(45deg)}
.ip-band::before{left:-220px;top:-120px}
.ip-band::after{right:-220px;bottom:-160px}
.ip-band-in{max-width:800px;margin:0 auto;position:relative}
.ip-band h2{color:#fff;font-size:clamp(26px,3.3vw,40px);line-height:1.18;letter-spacing:-.02em;font-weight:600;margin-bottom:var(--s3)}
.ip-band-text p{margin:0;font-size:17px;line-height:1.75}
.ip-band .ip-ctas{justify-content:center;margin-top:var(--s5)}

/* ---------- Qui sommes-nous: cover, story, timeline, pharmacists, commitments ---------- */
.ip-cover{margin-top:-128px;position:relative}
.ip-cover figure{margin:0;position:relative;background:var(--surface);border:1px solid var(--border)}
.ip-cover img{width:100%;aspect-ratio:16/7;object-fit:cover;object-position:center 45%}
.ip-cover figure::after{content:"";position:absolute;top:-16px;right:-16px;width:16px;height:96px;background:var(--green)}
.ip-story{padding:var(--s10) 0 var(--s8);text-align:center}
.ip-story-in{max-width:820px;margin:0 auto}
.ip-story .eyebrow{margin:0 0 var(--s2)}
.ip-story h2{font-size:clamp(26px,3.1vw,38px);line-height:1.18;letter-spacing:-.02em;font-weight:600;margin-bottom:var(--s3)}
.ip-story-text p{margin:0;font-size:17px;line-height:1.75;color:var(--text)}
.ip-story-text p+p{margin-top:var(--s2)}
.ip-story-text strong{color:var(--ink);font-weight:600}
.ip-facts{list-style:none;margin:var(--s6) auto 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ip-facts li{padding:var(--s4) var(--s2);display:flex;flex-direction:column;align-items:center;gap:6px}
.ip-facts li+li{border-left:1px solid var(--border)}
.ip-facts .num{font-family:var(--display);font-weight:600;font-size:clamp(40px,4.6vw,60px);line-height:1;color:var(--green-strong);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ip-facts span{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ip-path{background:var(--bg);border-top:1px solid var(--border);padding:var(--s12) 0}
.ip-tl{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:var(--s10)}
.ip-tl::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed var(--border-strong);transform:translateX(-.5px)}
.ip-tl-step{display:grid;grid-template-columns:1fr 96px 1fr;align-items:center;position:relative}
.ip-tl-media{grid-column:1;grid-row:1}
.ip-tl-mark{grid-column:2;grid-row:1;justify-self:center;width:56px;height:56px;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 16px var(--display);letter-spacing:.02em;position:relative;z-index:1;box-shadow:0 0 0 8px var(--bg)}
.ip-tl-body{grid-column:3;grid-row:1}
.ip-tl-step:nth-child(even) .ip-tl-media{grid-column:3}
.ip-tl-step:nth-child(even) .ip-tl-body{grid-column:1}
.ip-tl-step.no-media .ip-tl-body{grid-column:1/-1;grid-row:2;max-width:760px;justify-self:center;margin-top:var(--s3)}
.ip-tl-media figure{margin:0;position:relative;background:var(--green-soft)}
.ip-tl-media img{width:100%;aspect-ratio:5/4;object-fit:cover}
.ip-tl-media figure::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;background:var(--green)}
.ip-tl-step:nth-child(even) .ip-tl-media figure::after{left:auto;right:0}
.ip-tl-card{background:var(--surface);border:1px solid var(--border);padding:var(--s5)}
.ip-tl-card h2{font-size:clamp(21px,2vw,26px);line-height:1.25;letter-spacing:-.015em;font-weight:600;margin-bottom:var(--s2)}
.ip-tl-card p{margin:0;font-size:15.5px;line-height:1.72}
.ip-tl-card>*+*{margin-top:var(--s2)}
.ip-tl-card strong{color:var(--ink);font-weight:600}
.ip-cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ip-cats li{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border:1px solid var(--border);background:var(--bg);font-size:14.5px;line-height:1.35;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.ip-cats li:hover{border-color:var(--green-soft-2);background:var(--green-soft)}
.ip-cats li.wide{grid-column:1/-1}
.ip-cats img,.ip-cat-ic{width:44px;height:44px;object-fit:cover;flex:none;background:var(--green-soft)}
.ip-cat-ic{display:grid;place-items:center;color:var(--green-strong)}
.ip-cat-ic svg{width:18px;height:18px}
.ip-cats a{color:var(--ink);font-weight:500;text-decoration:none;background:linear-gradient(var(--green),var(--green)) 0 100%/0 1px no-repeat;transition:background-size var(--dur) var(--ease)}
.ip-cats a:hover{background-size:100% 1px;color:var(--green-strong)}
.ip-feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ip-feats li{display:flex;align-items:center;gap:12px;padding:14px;background:var(--green-soft);font-weight:500;color:var(--ink);font-size:14.5px;line-height:1.35}
.ip-feats .ic-box{width:36px;height:36px;display:grid;place-items:center;background:var(--surface);color:var(--green-strong);flex:none}
.ip-feats .ic-box svg{width:20px;height:20px}
.ip-pharma{background:linear-gradient(var(--surface),var(--bg));padding-bottom:var(--s10)}
.ip-pharma-banner{position:relative;color:#fff;padding:var(--s12) 0 200px;background:var(--ink);overflow:hidden;isolation:isolate}
.ip-pharma-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.ip-pharma-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,43,24,.92) 0%,rgba(28,43,24,.78) 45%,rgba(28,43,24,.25) 100%)}
.ip-pharma-banner .seal{margin-bottom:var(--s3)}
.ip-pharma-banner h2{color:#fff;font-size:clamp(28px,3.6vw,46px);line-height:1.12;letter-spacing:-.025em;font-weight:600;max-width:680px}
.ip-pharma-banner h2 em{font-style:normal;color:var(--green-soft-2);box-shadow:inset 0 -.12em 0 rgba(109,172,3,.55)}
.ip-pharma-card{position:relative;margin-top:-140px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lift)}
.ip-pharma-intro{margin:0;padding:var(--s6) var(--s6) var(--s5);max-width:880px;font-size:17px;line-height:1.72}
.ip-pharma-intro b{color:var(--ink);font-weight:600}
.ip-pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}
.ip-pillars li{padding:var(--s5) var(--s6);display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.65}
.ip-pillars li+li{border-left:1px solid var(--border)}
.ip-pillars .ic-box{width:52px;height:52px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);margin-bottom:6px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.ip-pillars li:hover .ic-box{background:var(--green-strong);color:#fff}
.ip-pillars .ic-box svg{width:26px;height:26px}
.ip-pillars b{display:block;font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}
.ip-pharma-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4) var(--s6);background:var(--green-soft);border-top:1px solid var(--green-soft-2)}
.ip-note{margin:0;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.ip-note svg{width:16px;height:16px;color:var(--green)}
.ip-trust{background:var(--surface);border-bottom:1px solid var(--border)}
.ip-trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.ip-trust li{display:flex;gap:var(--s2);align-items:flex-start;padding:var(--s5) var(--s3)}
.ip-trust li+li{border-left:1px solid var(--border)}
.ip-trust .ic-box{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--green-soft-2);background:var(--green-soft);color:var(--green-strong);flex:none}
.ip-trust .ic-box svg{width:24px;height:24px}
.ip-trust b{display:block;color:var(--ink);font-weight:600;font-size:15px;line-height:1.35;margin-bottom:4px}
.ip-trust span{font-size:13.5px;color:var(--muted);line-height:1.5}

@media (max-width:1024px){
  .ip-layout{grid-template-columns:minmax(0,1fr) 300px;gap:var(--s5)}
  .ip-pillars li,.ip-pharma-intro,.ip-pharma-foot{padding-left:var(--s4);padding-right:var(--s4)}
  .ip-trust ul{grid-template-columns:1fr 1fr}
  .ip-trust li:nth-child(3){border-left:0}
  .ip-trust li:nth-child(n+3){border-top:1px solid var(--border)}
}
@media (max-width:860px){
  .ip-hero{padding-bottom:var(--s5)}
  .ip-hero.has-cover{padding-bottom:120px}
  .ip-hero .mp-crumbs{margin-bottom:var(--s4)}
  .ip-hero-grid,.ip-hero.has-media .ip-hero-grid{grid-template-columns:1fr;gap:var(--s3)}
  .ip-hero.has-media .ip-hero-copy{padding-bottom:0}
  .ip-hero-media{margin-bottom:-48px}
  .ip-hero-media::after,.ip-cover figure::after{display:none}
  .ip-lead{padding-left:var(--s2)}
  .ip-body.has-media{padding-top:calc(48px + var(--s5))}
  .ip-layout{grid-template-columns:1fr}
  .ip-side{position:static;grid-template-columns:1fr 1fr;align-items:start}
  .ip-side .side-toc{display:none}
  .ip-cover{margin-top:-88px}
  .ip-cover img{aspect-ratio:4/3}
  .ip-story{padding-top:var(--s8)}
  .ip-path{padding:var(--s8) 0}
  .ip-tl{gap:var(--s6)}
  .ip-tl::before{left:23px}
  .ip-tl-step{grid-template-columns:48px 1fr;column-gap:var(--s2);row-gap:var(--s2);align-items:start}
  .ip-tl-mark{grid-column:1;grid-row:1;width:48px;height:48px;font-size:14px}
  .ip-tl-step .ip-tl-media,.ip-tl-step:nth-child(even) .ip-tl-media{grid-column:2;grid-row:1}
  .ip-tl-step .ip-tl-body,.ip-tl-step:nth-child(even) .ip-tl-body,.ip-tl-step.no-media .ip-tl-body{grid-column:2;grid-row:2;margin-top:0}
  .ip-tl-step.no-media .ip-tl-body{grid-row:1}
  .ip-tl-media img{aspect-ratio:16/9}
  .ip-tl-card{padding:var(--s3)}
  .ip-pharma-banner{padding:var(--s8) 0 160px}
  .ip-pharma-banner::before{background:linear-gradient(180deg,rgba(28,43,24,.6),rgba(28,43,24,.9))}
  .ip-pillars{grid-template-columns:1fr}
  .ip-pillars li+li{border-left:0;border-top:1px solid var(--border)}
  .ip-pillars li{padding:var(--s3)}
  .ip-pharma-intro{padding:var(--s4) var(--s3) var(--s3)}
  .ip-pharma-foot{padding:var(--s3)}
  .ip-band{padding:var(--s8) 0}
}
@media (max-width:600px){
  .ip-side{grid-template-columns:1fr}
  .ip-steps::before{display:none}
  .ip-step{grid-template-columns:1fr;gap:0}
  .ip-mark{width:48px;height:48px;box-shadow:none;margin-bottom:-1px}
  .ip-mark svg{width:22px;height:22px}
  .ip-step-card{padding:20px;font-size:15.5px;border-left-width:1px;border-top:3px solid var(--green-soft-2)}
  .ip-card{padding:20px}
  .ip-statement{padding-left:0;padding-top:calc(var(--s6) + 36px)}
  .ip-shop{flex-direction:column;align-items:flex-start;padding:var(--s3)}
  .ip-shop .btn,.ip-ctas .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
  .ip-facts{grid-template-columns:1fr}
  .ip-facts li+li{border-left:0;border-top:1px solid var(--border)}
  .ip-facts li{flex-direction:row;justify-content:center;gap:var(--s2);padding:var(--s2)}
  .ip-facts .num{font-size:36px}
  .ip-cats,.ip-feats{grid-template-columns:1fr}
  .ip-trust ul{grid-template-columns:1fr}
  .ip-trust li+li{border-left:0;border-top:1px solid var(--border)}
  .ip-trust li{padding:var(--s3) 0}
  .ip-tl::before{display:none}
  .ip-tl-step{grid-template-columns:1fr;row-gap:0}
  .ip-tl-step .ip-tl-media,.ip-tl-step:nth-child(even) .ip-tl-media,.ip-tl-step .ip-tl-body,.ip-tl-step:nth-child(even) .ip-tl-body,.ip-tl-step.no-media .ip-tl-body{grid-column:1}
  .ip-tl-step.no-media .ip-tl-body{grid-row:1}
  .ip-tl-mark{position:absolute;top:0;left:0;z-index:2;box-shadow:none}
  .ip-tl-card{padding:20px;border-top:0}
}
/* =========================================================================
   Product page, from inspirations/produit-avene-mousse-nettoyante.html (scope .pdp)
   ========================================================================= */
.pdp{--pdp-pattern:var(--ip-pattern);color:var(--text)}
.pdp *,.pdp *::before,.pdp *::after{box-sizing:border-box}
:where(.pdp) img{display:block;max-width:100%;height:auto}
:where(.pdp) h1,:where(.pdp) h2,:where(.pdp) h3{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance}
:where(.pdp) p{margin:0}
:where(.pdp) ul,:where(.pdp) ol,:where(.pdp) dl,:where(.pdp) dd{list-style:none;margin:0;padding:0}
:where(.pdp) button{font:inherit;cursor:pointer}
.pdp .eyebrow{margin:0 0 8px}
.pdp .num{font-variant-numeric:tabular-nums}
.pdp svg{flex:none}
.pdp-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pdp .mp-crumbs{padding:var(--s3) 0 var(--s2);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Gallery + buying column */
.pdp-top{padding-bottom:var(--s8)}
.pdp-top-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s6);align-items:start}
.pdp-gallery{position:sticky;top:150px;display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--s2)}
.pdp-gallery:not(:has(.pdp-thumbs)){grid-template-columns:1fr}
.pdp-thumbs{display:flex;flex-direction:column;gap:8px}
.pdp-thumbs button{width:80px;height:80px;padding:6px;background:var(--surface);border:1px solid var(--border);position:relative}
.pdp-thumbs button.is-on{border-color:var(--ink)}
.pdp-thumbs button.is-on::after{content:"";position:absolute;right:-9px;top:12px;bottom:12px;width:2px;background:var(--green)}
.pdp-thumbs img{width:100%;height:100%;object-fit:contain}
.pdp-stage{margin:0;position:relative;aspect-ratio:1;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;overflow:hidden}
.pdp-view{position:absolute;inset:0;display:none;place-items:center}
.pdp-view.is-on{display:grid}
.pdp-view>img{position:relative;width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply;transition:transform .6s var(--ease);cursor:zoom-in}
.pdp-stage:hover .pdp-view>img{transform:scale(1.04)}
.pdp-view.is-video{background:var(--ink);z-index:3}
.pdp-view.is-video .yt,.pdp-view.is-video .yt-frame{width:100%;height:100%}
.pdp-stage:has(.pdp-view.is-video.is-on) .pdp-stamps,.pdp-stage:has(.pdp-view.is-video.is-on) .pdp-zoom{display:none}
.pdp-badge{position:absolute;top:var(--s2);left:var(--s2);z-index:2;background:var(--sale);color:#fff;font-weight:700;font-size:13px;padding:6px 10px}
.pdp-seal{position:absolute;top:var(--s2);left:calc(var(--s2) + 68px);z-index:2;display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--green-dark);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border:1px solid var(--green-soft-2)}
.pdp-seal.is-first{left:var(--s2)}
.pdp-seal svg{width:11px;height:11px;color:var(--green)}
.pdp-zoom{position:absolute;top:var(--s2);right:var(--s2);z-index:2;width:42px;height:42px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--ink)}
.pdp-zoom svg{width:18px;height:18px}
.pdp-zoom:hover{background:var(--ink);color:#fff}
.pdp-stamps{position:absolute;right:var(--s3);bottom:var(--s3);z-index:2;display:flex;flex-direction:column;gap:10px}
.pdp-stamps li{width:84px;height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;background:var(--surface);border:1px solid var(--green-soft-2);outline:1px dashed var(--green-soft-2);outline-offset:-6px}
.pdp-stamps b{font-family:var(--display);font-weight:700;font-size:20px;line-height:1;color:var(--green-strong)}
.pdp-stamps b svg{width:22px;height:22px}
.pdp-stamps span{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text);line-height:1.2;padding:0 6px}
.pdp-buy{padding-top:4px;min-width:0}
.pdp .pdp-brand{display:inline-block;margin-bottom:var(--s2)}
.pdp .pdp-brand img{height:40px;width:auto}
.pdp .pdp-brand.is-text{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-strong)}
.pdp-title{font-size:clamp(22px,2.2vw,30px);line-height:1.2;letter-spacing:-.01em;font-weight:600;text-transform:none}
.pdp-sub{margin-top:8px;font-size:14px;font-weight:600;color:var(--green-strong)}
.pdp-panel{margin-top:var(--s3);border:1px solid var(--border);background:var(--surface);padding:var(--s3)}
.pdp-format{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:var(--s2);border-bottom:1px solid var(--border)}
.pdp-format-val{font-size:14.5px;font-weight:500;color:var(--ink)}
.pdp-price{padding:var(--s2) 0 12px}
.pdp-panel>.pdp-price:first-child{padding-top:0}
.pdp-price-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pdp-price-main>b{font-family:var(--display);font-weight:700;font-size:34px;line-height:1;color:var(--ink);letter-spacing:-.02em}
.pdp-price-main>b.is-sale{color:var(--sale)}
.pdp-price-main>s{font-size:16px;color:var(--muted)}
.pdp-price-main.price{font:700 28px/1.1 var(--display);color:var(--ink)}
.pdp-price-main.price ins{text-decoration:none;color:var(--sale)}
.pdp-price-main.price del{font:400 16px var(--font);color:var(--muted)}
.pdp-off{background:var(--sale-bg);color:var(--sale);font-weight:700;font-size:13px;padding:4px 8px}
.pdp-save{margin-top:8px;font-size:13.5px;color:var(--green-strong)}
.pdp-save b{font-weight:700}
.pdp-stock{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--green-strong);margin-bottom:var(--s2)}
.pdp-stock i{width:8px;height:8px;background:var(--green);box-shadow:0 0 0 4px var(--green-soft-2)}
.pdp-stock.is-out{color:var(--sale)}
.pdp-stock.is-out i{background:var(--sale);box-shadow:0 0 0 4px var(--sale-bg)}
.pdp-cart{display:grid;grid-template-columns:auto 1fr auto;gap:8px;margin:0}
.pdp-qty{display:flex;border:1px solid var(--border-strong);height:52px;margin:0!important;float:none!important}
.pdp-qty button{width:40px;border:0;background:var(--surface);display:grid;place-items:center;color:var(--ink)}
.pdp-qty button:hover{background:var(--hover-bg)}
.pdp-qty svg{width:16px;height:16px}
.pdp .pdp-qty input.qty{width:44px;height:100%;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:0;padding:0;text-align:center;font:600 16px var(--font);color:var(--ink);background:#fff;-moz-appearance:textfield}
.pdp-qty input::-webkit-inner-spin-button,.pdp-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pdp .pdp-qty input.qty{display:block;align-self:stretch;height:auto;min-height:0;margin:0;border-radius:0;line-height:1} /* input.qty also gets the global .qty pill (v12.css: margin-top 6px, border): it slipped below the box */
.pdp-qty button{align-self:stretch}
.pdp .pdp-add{height:52px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:var(--r-md);background:var(--green-strong);color:#fff;font-weight:600;font-size:15.5px;letter-spacing:.01em;padding:0 16px;transition:background var(--dur) var(--ease)}
.pdp .pdp-add svg{width:20px;height:20px}
.pdp .pdp-add:hover{background:var(--green-dark);color:#fff}
.pdp .pdp-add.loading{opacity:.7}
.pdp .pdp-add:disabled{opacity:.5;cursor:default}
.pdp-fav{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink)}
.pdp-fav span{display:none}
.pdp-fav svg{width:20px;height:20px}
.pdp-fav:hover,.pdp-fav[aria-pressed="true"]{color:var(--sale);border-color:var(--sale)}
.pdp-fav[aria-pressed="true"] svg{fill:currentColor}
.pdp-out{display:flex;gap:8px}
.pdp-out .btn{flex:1;min-height:52px}
.pdp-wc-cart form.cart{margin:0}
.pdp-wc-cart table.variations{width:100%;margin-bottom:12px;border:0}
.pdp-wc-cart table.variations th,.pdp-wc-cart table.variations td{padding:4px 0;border:0;text-align:left}
.pdp-wc-cart table.variations select{width:100%;min-height:44px;border:1px solid var(--border-strong);padding:0 10px;background:#fff}
.pdp-wc-cart .woocommerce-variation-add-to-cart,.pdp-wc-cart form.cart:not(.variations_form){display:flex;gap:8px}
.pdp-wc-cart .single_add_to_cart_button{flex:1;min-height:52px;border-radius:var(--r-md)!important;background:var(--green-strong)!important}
.pdp-fav-row{margin-top:8px}
.pdp-fav-row .pdp-fav{width:auto;padding:0 14px;grid-auto-flow:column;gap:8px}
.pdp-fav-row .pdp-fav span{display:inline}
.pdp-points{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);background:var(--green-soft);padding:10px 12px}
.pdp-points svg{width:15px;height:15px;color:var(--green)}
.pdp-points b{color:var(--ink)}
.pdp-points a{color:var(--green-strong);font-weight:600}
.pdp-short{margin-top:var(--s3);font-size:15.5px;line-height:1.72;padding-top:var(--s3);border-top:1px solid var(--border)}
.pdp-short p+p{margin-top:10px}
.pdp-claims{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:var(--s3)}
.pdp-claims li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ink);padding:12px 8px;border:1px solid var(--border);background:var(--bg)}
.pdp-claims span{width:40px;height:40px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong)}
.pdp-claims svg{width:20px;height:20px}
.pdp-reassure{margin-top:var(--s3);display:grid;border-top:1px solid var(--border)}
.pdp-reassure li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted);line-height:1.45}
.pdp-reassure svg{width:22px;height:22px;color:var(--green-strong);margin-top:1px}
.pdp-reassure b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.pdp-ask{margin-top:var(--s2);display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--ink);color:rgba(255,255,255,.75);font-size:13px;line-height:1.45;transition:background var(--dur) var(--ease)}
.pdp-ask:hover{color:rgba(255,255,255,.85)}
.pdp-ask b{display:block;color:#fff;font-size:15px;font-weight:600}
.pdp-ask-ic{width:40px;height:40px;display:grid;place-items:center;background:var(--green-strong);color:#fff;flex:none}
.pdp-ask-ic svg{width:22px;height:22px}
.pdp-ask-go{width:20px;height:20px;margin-left:auto;color:var(--green);transition:transform var(--dur) var(--ease)}
.pdp-ask:hover .pdp-ask-go{transform:translateX(4px)}
.pdp-meta{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--border);display:grid;gap:6px;font-size:12.5px;color:var(--muted)}
.pdp-meta div{display:flex;gap:8px}
.pdp-meta dt{min-width:84px;font-weight:600;color:var(--text)}
.pdp-meta a{color:var(--muted)}
.pdp-meta a:hover{color:var(--green-strong)}

/* Characteristics + description */
.pdp-sheet{background:var(--bg);border-top:1px solid var(--border);padding:var(--s10) 0}
.pdp-sheet-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:var(--s8);align-items:start}
.pdp-sheet.no-specs .pdp-sheet-grid{grid-template-columns:minmax(0,860px)}
.pdp-desc{min-width:0}
.pdp-prose{font-size:16px;line-height:1.8}
.pdp-prose>:first-child{margin-top:0}
.pdp-advice-box{margin-top:var(--s4);background:var(--green-soft) var(--pdp-pattern);border:1px solid var(--green-soft-2);padding:var(--s3) var(--s4)}
.pdp-advice-box .seal{margin-bottom:12px}
.pdp-advice-box .prose{font-size:15px;line-height:1.7}

/* Section links */
.pdp-anchors{position:sticky;top:var(--pdp-sticky-top,0px);z-index:20;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.pdp-anchors .wrap{display:flex;align-items:center;gap:var(--s3)}
.pdp-anchors ul{display:flex;gap:var(--s4);overflow-x:auto;scrollbar-width:none}
.pdp-anchors a{display:block;padding:18px 0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;box-shadow:inset 0 -3px 0 transparent;transition:color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.pdp-anchors ul a:hover{color:var(--ink)}
.pdp-anchors ul a.is-on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--green)}
.pdp-anchors-buy{margin-left:auto;display:flex!important;align-items:center;gap:14px;padding:0!important;box-shadow:none!important;letter-spacing:0!important;text-transform:none!important}
.pdp-anchors-buy b{font-family:var(--display);font-size:18px;color:var(--sale)}
.pdp-anchors-buy span{background:var(--green-strong);color:#fff;padding:10px 16px;font-size:13.5px}

/* Sections */
.pdp-sec{padding:var(--s10) 0;scroll-margin-top:200px}
.pdp-sec+.pdp-sec{border-top:1px solid var(--border)}
.pdp-sec-head{text-align:center;margin-bottom:var(--s5)}
.pdp-sec-head h2{font-size:clamp(24px,2.6vw,34px);line-height:1.2;letter-spacing:-.02em;font-weight:600}
.pdp-sec-head--left{text-align:left;margin-bottom:var(--s4)}
.pdp-sec-head--row{display:flex;justify-content:space-between;align-items:flex-end;text-align:left;gap:var(--s3)}
.pdp-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--green-strong)}
.pdp-link svg{width:18px;height:18px}
.pdp-howto-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s4);align-items:stretch}
.pdp-howto-grid.no-usage{grid-template-columns:minmax(0,1fr)}
.pdp-steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.pdp-howto-grid.no-usage .pdp-steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pdp-steps li{position:relative;background:var(--green-soft) var(--pdp-pattern);border:1px solid var(--green-soft-2);padding:var(--s5) var(--s4) var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.pdp-step-n{position:absolute;top:0;left:0;width:44px;height:44px;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 16px var(--display)}
.pdp-step-ic{width:64px;height:64px;display:grid;place-items:center;background:var(--surface);color:var(--green-strong);border:1px solid var(--green-soft-2);align-self:flex-end}
.pdp-step-ic svg{width:30px;height:30px}
.pdp-steps p{font-family:var(--display);font-weight:600;font-size:18px;line-height:1.4;color:var(--ink)}
.pdp-steps.is-many p{font-size:16px}
.pdp-usage{border:1px solid var(--border);background:var(--surface)}
.pdp-usage li{padding:var(--s3);display:flex;flex-direction:column;gap:4px}
.pdp-usage li+li{border-top:1px solid var(--border)}
.pdp-usage span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pdp-usage b{font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}

/* Routine */
.pdp-routine{background:var(--surface)}
.pdp-rt-intro{max-width:420px;font-size:15px;line-height:1.6;color:var(--text)}
.pdp-rt-intro b{color:var(--ink)}
.pdp-rt-steps{display:grid;grid-template-columns:repeat(var(--rt-n,5),minmax(0,1fr));gap:var(--s3);position:relative}
.pdp-rt{display:flex;flex-direction:column;gap:12px;position:relative;min-width:0}
.pdp-rt-head{display:flex;align-items:center;gap:10px;position:relative}
.pdp-rt-head::after{content:"";flex:1;border-top:1px dashed var(--border-strong);margin-right:calc(-1 * var(--s3))}
.pdp-rt:last-child .pdp-rt-head::after{display:none}
.pdp-rt-n{width:34px;height:34px;display:grid;place-items:center;background:var(--green-soft);border:1px solid var(--green-soft-2);color:var(--green-strong);font:600 14px var(--display);flex:none}
.pdp-rt.is-current .pdp-rt-n{background:var(--ink);border-color:var(--ink);color:#fff}
.pdp-rt-head b{font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink)}
.pdp-rt-when{position:absolute;left:44px;top:100%;margin-top:-2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pdp-rt-when.is-am{color:var(--green-strong)}
.pdp-rt-card{margin-top:36px;flex:1;display:flex;flex-direction:column;gap:8px;padding:var(--s2);border:1px solid var(--border);background:var(--surface);position:relative;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity var(--dur)}
.pdp-rt-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lift)}
.pdp-rt.is-current .pdp-rt-card{border:2px solid var(--ink);background:var(--green-soft)}
.pdp-rt-here{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);background:var(--ink);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;white-space:nowrap}
.pdp-rt-img{aspect-ratio:1;display:grid;place-items:center;background:var(--bg);padding:12px;position:relative}
.pdp-rt.is-current .pdp-rt-img{background:var(--surface)}
.pdp-rt-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pdp-rt-name{font-size:13px;font-weight:600;line-height:1.4;color:var(--ink);min-height:calc(1.4em * 3)}
.pdp-rt-name a{color:inherit}
.pdp-rt-name a:hover{color:var(--green-strong)}
.pdp-rt-why{font-size:13px;line-height:1.5;color:var(--muted)}
.pdp-rt-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto}
.pdp-rt-price b{font-family:var(--display);font-weight:600;font-size:17px;color:var(--sale)}
.pdp-rt-price b.is-reg{color:var(--ink)}
.pdp-rt-price s{font-size:12.5px;color:var(--muted)}
.pdp-rt-pick{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.pdp-rt-pick input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid var(--border-strong);background:var(--surface);flex:none;cursor:pointer}
.pdp-rt-pick input:checked{background:var(--green-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center/12px;border-color:var(--green-strong)}
.pdp-rt-pick input:disabled{cursor:default;opacity:.85}
.pdp-rt-pick input:focus-visible{outline:2px solid var(--green-strong);outline-offset:2px}
.pdp-rt.is-off .pdp-rt-card{opacity:.55}
.pdp-rt.is-off .pdp-rt-card:hover{opacity:.85}
.pdp-rt-bar{margin-top:var(--s4);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;padding:var(--s3);background:var(--ink) var(--ip-pattern-dark);color:rgba(255,255,255,.8)}
.pdp-rt-sum .pdp-label{color:var(--green-soft-2)}
.pdp-rt-sum p{margin-top:4px;font-size:15px}
.pdp-rt-sum b{color:#fff}
.pdp-rt-total{font-family:var(--display);font-size:24px}
.pdp-rt-gift{display:flex;align-items:center;gap:8px;font-size:13px!important;color:var(--green-soft-2)}
.pdp-rt-gift svg{width:16px;height:16px}
.pdp-rt-gift[hidden]{display:none}
.pdp .pdp-rt-add{padding:0 var(--s4);background:var(--green-soft-2);color:var(--green-dark)}
.pdp .pdp-rt-add:hover{background:#fff;color:var(--green-dark)}
.pdp-rt-note{margin-top:12px!important;font-size:12.5px;color:var(--muted)}
.pdp-rt-note a{color:var(--green-strong)}

/* Composition, video, related */
.pdp-compo{background:var(--bg)}
.pdp-compo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--s6);align-items:start}
.pdp-compo-grid.is-single{grid-template-columns:minmax(0,1fr)}
.pdp-hero-ing{display:flex;gap:var(--s2);align-items:center;padding:var(--s3);background:var(--surface);border:1px solid var(--border)}
.pdp-hero-ing-ic{width:56px;height:56px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);flex:none}
.pdp-hero-ing-ic svg{width:28px;height:28px}
.pdp-hero-ing b{display:block;font-family:var(--display);font-size:18px;color:var(--ink)}
.pdp-hero-ing span{font-size:14px;color:var(--muted)}
.pdp-stat{margin-top:var(--s2);display:flex;align-items:center;gap:var(--s2);padding:var(--s3);background:var(--ink) var(--ip-pattern-dark);color:rgba(255,255,255,.8)}
.pdp-stat b{font-family:var(--display);font-size:52px;font-weight:700;line-height:1;color:var(--green-soft-2);letter-spacing:-.03em}
.pdp-stat span{font-size:15px;line-height:1.4;max-width:180px}
.pdp-inci{background:var(--surface);border:1px solid var(--border);padding:var(--s4);min-width:0}
.pdp-inci-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s2)}
.pdp-copy{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-strong);padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--ink)}
.pdp-copy svg{width:14px;height:14px;display:none}
.pdp-copy.is-done svg{display:block;color:var(--green-strong)}
.pdp-inci-txt{font-size:13.5px;line-height:1.9;letter-spacing:.02em;color:var(--text);overflow-wrap:anywhere}
.pdp-inci-txt p+p{margin-top:8px}
.pdp-inci-note{margin-top:var(--s2)!important;padding-top:var(--s2);border-top:1px solid var(--border);font-size:12.5px;color:var(--muted)}
.pdp-video .mp-product-video{max-width:960px;margin:0 auto;aspect-ratio:16/9;background:var(--ink)}
.pdp-video .mp-product-video iframe{width:100%;height:100%;display:block}
.pdp-related .mp-shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Viewer, mobile bar */
.pdp-lightbox{border:0;padding:0;max-width:min(92vw,900px);width:100%;background:var(--surface)}
.pdp-lightbox::backdrop{background:rgba(28,43,24,.7)}
.pdp-lightbox img{width:100%;aspect-ratio:1;object-fit:contain;padding:var(--s4)}
.pdp-lb-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;background:var(--ink);color:#fff;border:0}
.pdp-lb-close svg{width:20px;height:20px}
.pdp-sticky{display:none}

@media (max-width:1100px){
  .pdp-top-grid{gap:var(--s4)}
  .pdp-related .mp-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pdp-related .mp-shop-grid>:nth-child(n+4){display:none}
  .pdp-rt-steps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 12px;gap:var(--s2);scrollbar-width:thin}
  .pdp-rt{scroll-snap-align:start}
}
@media (max-width:900px){
  .pdp-top-grid{grid-template-columns:1fr}
  .pdp-gallery{position:static;grid-template-columns:1fr}
  .pdp-thumbs{order:2;flex-direction:row;overflow-x:auto}
  .pdp-thumbs button{width:64px;height:64px}
  .pdp-thumbs button.is-on::after{display:none}
  .pdp-compo-grid,.pdp-howto-grid{grid-template-columns:1fr;gap:var(--s4)}
  .pdp-anchors-buy{display:none!important}
  .pdp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;gap:12px;padding:10px var(--gutter);background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -10px 30px -14px rgba(28,43,24,.25);transform:translateY(110%);transition:transform .3s var(--ease)}
  .pdp-sticky.is-on{transform:none}
  .pdp-sticky-p{display:flex;flex-direction:column;line-height:1.1}
  .pdp-sticky-p b{font-family:var(--display);font-size:18px;color:var(--sale)}
  .pdp-sticky-p s{font-size:12px;color:var(--muted)}
  .pdp .pdp-sticky .pdp-add{flex:1;height:48px;font-size:14.5px}
  body.pdp-sticky-on .wa,body.pdp-sticky-on #assistant-ia-widget{transform:translateY(-72px);transition:transform .3s var(--ease)}
  .pdp-related .mp-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdp-related .mp-shop-grid>:nth-child(n+4){display:block}
  .pdp-sec{padding:var(--s8) 0}
}
@media (max-width:560px){
  .pdp .mp-crumbs{font-size:12px}
  .pdp-stamps{right:12px;bottom:12px;flex-direction:row}
  .pdp-stamps li{width:64px;height:64px}
  .pdp-stamps b{font-size:16px}
  .pdp-stamps span{font-size:9px}
  .pdp-view>img{width:62%;height:62%}
  .pdp-seal,.pdp-seal.is-first{left:auto;right:64px}
  .pdp-claims li{font-size:11.5px;padding:10px 4px}
  .pdp-price-main>b{font-size:30px}
  .pdp-cart{grid-template-columns:auto 1fr}
  .pdp-cart .pdp-fav{display:none}
  .pdp-steps,.pdp-howto-grid.no-usage .pdp-steps{grid-template-columns:1fr}
  .pdp-anchors ul{gap:var(--s3)}
  .pdp-stat b{font-size:40px}
  .pdp-sec-head--row{flex-direction:column;align-items:flex-start}
  .pdp-rt-steps{grid-auto-columns:72%;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter) 12px;scroll-padding:0 var(--gutter)}
  .pdp-rt-bar{flex-direction:column;align-items:stretch}
  .pdp .pdp-rt-add{width:100%}
}


/* =========================================================================
   Partner page, from inspirations/comment-devenir-pharmacie-partenaire.html (scope .ptn)
   ========================================================================= */
.ptn{color:var(--text);font-family:var(--font);--ptn-pattern:none}
.ptn *,.ptn *::before,.ptn *::after{box-sizing:border-box}
:where(.ptn) img{display:block;max-width:100%;height:auto}
:where(.ptn) h1,:where(.ptn) h2,:where(.ptn) h3{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance}
:where(.ptn) p{margin:0}
:where(.ptn) ul,:where(.ptn) ol,:where(.ptn) dl,:where(.ptn) dd{list-style:none;margin:0;padding:0}
.ptn svg{flex:none}
.ptn .eyebrow{margin:0 0 8px}
.ptn .num{font-variant-numeric:tabular-nums}
.ptn-head{margin-bottom:var(--s6)}
.ptn-head h2,.ptn-b--lead h2,.ptn-apply h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:700}
.ptn-btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 26px;background:var(--green-strong);color:#fff;font-weight:600;font-size:15.5px;text-decoration:none;transition:background var(--dur) var(--ease),gap var(--dur) var(--ease)}
.ptn-btn svg{width:18px;height:18px}
.ptn-btn:hover{background:var(--green-dark);color:#fff;gap:14px}
.ptn-btn--light{background:var(--green-soft-2);color:var(--green-dark)}
.ptn-btn--light:hover{background:#fff;color:var(--green-dark)}
.ptn-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:inherit;text-decoration:none}
.ptn-link svg{width:18px;height:18px;color:var(--green)}
.ptn-link:hover{text-decoration:underline;text-underline-offset:4px}
.ptn-final .ptn-btn--light{background:var(--green-strong);color:#fff}
.ptn-final .ptn-btn--light:hover{background:var(--green-dark);color:#fff}

/* ---------- 1. HERO ---------- */
.ptn-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:620px;background:linear-gradient(115deg,#FAFBF8 0%,var(--green-soft) 55%,#E9F2DD 100%);color:var(--text);border-bottom:1px solid var(--green-soft-2)}
.ptn-hero-copy{padding:var(--s4) var(--s8) var(--s10) max(var(--gutter),calc((100vw - var(--container)) / 2 + var(--gutter)));display:flex;flex-direction:column}
.ptn-hero .mp-crumbs,.ptn-hero .mp-crumbs a{color:var(--muted)}
.ptn-hero .mp-crumbs a:hover{color:var(--green-strong)}
.ptn-kicker{margin-top:auto !important;display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-strong)}
.ptn-kicker svg{width:14px;height:14px;color:var(--green)}
.ptn-hero h1{margin-top:var(--s2);color:var(--ink);font-size:clamp(40px,5.2vw,72px);line-height:1;letter-spacing:-.04em;font-weight:700}
.ptn-hero h1 em{font-style:normal;color:var(--green-strong);display:inline-block;position:relative}
.ptn-hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.12em;background:var(--green);transform-origin:left;animation:ptn-under 1s var(--ease) .3s both}
@keyframes ptn-under{from{transform:scaleX(0)}}
.ptn-intro{margin-top:var(--s4);max-width:560px;font-size:16.5px;line-height:1.75}
.ptn-hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);margin-top:var(--s5)}
.ptn-hero-ctas .ptn-link{color:var(--ink)}
.ptn-hero-media{position:relative;margin:0;min-height:100%}
.ptn-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 40%}
.ptn-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--green-soft) 0%,rgba(241,247,236,0) 22%)}
.ptn-stats{position:absolute;left:-56px;bottom:var(--s6);z-index:1;display:flex;background:var(--surface);box-shadow:0 24px 50px -24px rgba(28,43,24,.28);border:1px solid var(--green-soft-2)}
.ptn-stats li{display:flex;flex-direction:column;gap:6px;padding:var(--s3) var(--s4)}
.ptn-stats li+li{border-left:1px solid var(--border)}
.ptn-stats b{font-family:var(--display);font-size:40px;line-height:1;font-weight:700;color:var(--ink);letter-spacing:-.03em}
.ptn-stats span{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);max-width:120px;line-height:1.3}
.ptn-stats li.is-accent{background:var(--green-strong)}
.ptn-stats li.is-accent b{color:#fff}
.ptn-stats li.is-accent span{color:var(--green-soft-2)}

/* ---------- 2. PARCOURS ---------- */
.ptn-journey{padding:var(--s12) 0 var(--s10);background:var(--surface)}
.ptn-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);position:relative}
.ptn-path::before{content:"";position:absolute;top:36px;left:36px;right:calc(33.333% - 36px);border-top:2px dashed var(--green-soft-2)}
.ptn-path::after{content:"";position:absolute;top:35px;left:36px;height:4px;width:0;max-width:calc(66.666% - 36px);background:var(--green);transition:width 1.4s var(--ease)}
.ptn-stop{position:relative;z-index:1}
.ptn-stop-mark{display:flex;align-items:center;gap:12px;margin-bottom:var(--s3)}
.ptn-stop-ic{width:72px;height:72px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);border:1px solid var(--green-soft-2);order:-1;box-shadow:0 0 0 10px var(--surface);transition:background var(--dur) var(--ease)}
.ptn-stop-ic svg{width:30px;height:30px}
.ptn-stop:hover .ptn-stop-ic{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.ptn-stop-n{font-family:var(--display);font-weight:700;font-size:56px;line-height:1;color:var(--green-soft-2);letter-spacing:-.04em;margin-left:auto;-webkit-text-stroke:1px var(--green);background:var(--surface);padding:0 0 0 12px;position:relative;z-index:1}
.ptn-stop h3{font-size:21px;line-height:1.25;font-weight:600;margin-bottom:12px}
.ptn-stop p{font-size:15.5px;line-height:1.75}
.ptn-mail{display:inline-flex;align-items:center;margin-top:var(--s2);padding:10px 14px;background:var(--green-soft);border:1px dashed var(--green);font-family:var(--display);font-weight:600;font-size:16px;color:var(--green-dark);text-decoration:none}
.ptn-mail:hover{background:var(--green-soft-2)}

/* ---------- 3. MOSAÏQUE ---------- */
.ptn-gains{padding:0 0 var(--s12);background:var(--surface)}
.ptn-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(170px,auto);gap:12px}
.ptn-b{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:var(--s3);background:var(--bg);border:1px solid var(--border);transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.ptn-b:hover{border-color:var(--green-soft-2);transform:translateY(-3px)}
.ptn-b b{font-family:var(--display);font-size:19px;line-height:1.2;color:var(--ink)}
.ptn-b span{font-size:14px;color:var(--muted)}
.ptn-b-ic{width:48px;height:48px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);margin-bottom:auto}
.ptn-b-ic svg{width:24px;height:24px}
.ptn-b--lead{grid-column:span 2;grid-row:span 2;justify-content:center;gap:var(--s2);padding:var(--s5);background:var(--green-soft) var(--ptn-pattern);border-color:var(--green-soft-2)}
.ptn-b--lead p:not(.eyebrow){font-size:16.5px;line-height:1.75;max-width:520px}
.ptn-b--lead:hover{transform:none}
.ptn-b--map{grid-column:span 2;flex-direction:row;align-items:center;gap:var(--s3);background:var(--surface)}
.ptn-b--map div{display:flex;flex-direction:column;gap:4px}
.ptn-b--map b{font-size:26px}
.ptn-map{width:200px;height:140px;flex:none}
.ptn-ping{transform-origin:100px 80px;animation:ptn-ping 2.4s var(--ease) infinite}
@keyframes ptn-ping{from{transform:scale(.6);opacity:1}to{transform:scale(2.6);opacity:0}}
.ptn-b--dark{background:var(--green-soft-2);border-color:var(--green-soft-2)}
.ptn-b--wide{grid-column:span 2}
.ptn-b--dark b{color:var(--ink)}
.ptn-b--dark span{color:var(--green-dark)}
.ptn-b--dark .ptn-b-ic{background:var(--green-strong);color:#fff}

/* ---------- 4. CANDIDATURE ---------- */
.ptn-apply{padding:var(--s12) 0;background:var(--bg);border-top:1px solid var(--border);scroll-margin-top:120px}
.ptn-apply-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s8);align-items:center}
.ptn-apply-copy > p:not(.eyebrow){margin-top:var(--s2);font-size:17px;line-height:1.7;max-width:420px}
.ptn-checklist{margin:var(--s4) 0 !important;display:grid;gap:12px}
.ptn-checklist li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--ink)}
.ptn-checklist svg{width:22px;height:22px;padding:4px;background:var(--green-soft-2);color:var(--green-dark)}
.ptn-apply-copy .ptn-link{color:var(--ink)}
.ptn-mailcard{background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 30px 60px -30px rgba(28,43,24,.35);transform:rotate(-1deg);transition:transform .4s var(--ease)}
.ptn-mailcard:hover,.ptn-mailcard:focus-within{transform:none}
.ptn-mail-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--green-soft);border-bottom:1px solid var(--green-soft-2);color:var(--green-dark);font-size:13px;font-weight:600}
.ptn-mail-bar i{width:10px;height:10px;background:var(--green-soft-2);border-radius:50%}
.ptn-mail-bar i:first-child{background:var(--green)}
.ptn-mail-bar span{margin-left:10px}
.ptn-mail-fields > div{display:flex;align-items:center;gap:var(--s2);padding:12px var(--s3);border-bottom:1px solid var(--border);font-size:14.5px}
.ptn-mail-fields dt{width:52px;flex:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ptn-mail-fields dd{flex:1;display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:500}
.ptn-to{background:var(--green-soft);padding:3px 8px;font-weight:600;color:var(--green-dark)}
.ptn-copy{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:none;border:1px solid var(--border-strong);font:600 12.5px var(--font);color:var(--ink);cursor:pointer}
.ptn-copy svg{width:14px;height:14px}
.ptn-copy.is-done{border-color:var(--green-strong);color:var(--green-strong)}
.ptn-mail-body{padding:var(--s3);display:grid;gap:10px;font-size:15px;line-height:1.6;color:var(--text)}
.ptn-fill label{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:var(--muted)}
.ptn-fill input{flex:1;height:40px;padding:0 12px;border:0;border-bottom:1.5px dashed var(--border-strong);background:var(--bg);font:500 15px var(--font);color:var(--ink)}
.ptn-fill input:focus{outline:none;border-bottom:1.5px solid var(--green-strong);background:var(--green-soft)}
.ptn-mail-foot{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:var(--s2) var(--s3) var(--s3)}
.ptn-mail-note{font-size:12.5px;color:var(--muted)}

/* ---------- 5. FINAL ---------- */
.ptn-final{position:relative;overflow:hidden;background:var(--green-soft);border-top:1px solid var(--green-soft-2);color:var(--text);padding:var(--s12) 0;text-align:center}
.ptn-ticker{position:absolute;inset:auto 0 50%;transform:translateY(50%);pointer-events:none;white-space:nowrap;opacity:.5}
.ptn-ticker div{display:inline-flex;gap:var(--s5);animation:ptn-tick 40s linear infinite}
.ptn-ticker span{font-family:var(--display);font-weight:700;font-size:clamp(80px,12vw,160px);color:var(--green-soft-2);letter-spacing:-.04em}
@keyframes ptn-tick{to{transform:translateX(-50%)}}
.ptn-final-in{position:relative;max-width:820px}
.ptn-final h2{color:var(--ink);font-size:clamp(32px,4.4vw,60px);line-height:1.05;letter-spacing:-.035em;font-weight:700}
.ptn-final p{margin:var(--s3) auto var(--s5) !important;font-size:17px;line-height:1.75;max-width:640px}
.ptn-more{background:var(--surface);border-bottom:1px solid var(--border)}
.ptn-more .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px var(--s3);padding-top:var(--s3);padding-bottom:var(--s3)}
.ptn-more .eyebrow{margin:0 var(--s2) 0 0}
.ptn-more a{font-size:14px;font-weight:600;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border-strong);padding-bottom:2px}
.ptn-more a:hover{color:var(--green-strong);border-color:var(--green-strong)}

/* Apparition */
@media (prefers-reduced-motion:reduce){.ptn *{animation:none !important;transition:none !important}}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .ptn-hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .ptn-hero-copy{padding:var(--s3) var(--gutter) var(--s6)}
  .ptn-kicker{margin-top:var(--s6) !important}
  .ptn-hero-media{min-height:380px}
  .ptn-hero-media::after{background:linear-gradient(180deg,var(--green-soft) 0%,rgba(241,247,236,0) 30%)}
  .ptn-stats{left:var(--gutter);right:var(--gutter);bottom:var(--s3)}
  .ptn-stats li{flex:1}
  .ptn-bento{grid-template-columns:1fr 1fr}
  .ptn-apply-grid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
}
@media (max-width:760px){
  .ptn-path{grid-template-columns:1fr;gap:var(--s5)}
  .ptn-path::before{top:36px;bottom:36px;left:35px;right:auto;border-top:0;border-left:2px dashed var(--green-soft-2)}
  .ptn-path::after{display:none}
  .ptn-stop{padding-left:96px;min-height:72px}
  .ptn-stop-mark{position:absolute;left:0;top:0;margin:0}
  .ptn-stop-n{display:none}
  .ptn-journey{padding:var(--s8) 0}
}
@media (max-width:560px){
  .ptn-stats li{padding:var(--s2) 12px}
  .ptn-stats b{font-size:28px}
  .ptn-stats span{font-size:10px}
  .ptn-bento{grid-template-columns:1fr}
  .ptn-b--lead,.ptn-b--map,.ptn-b--wide{grid-column:auto;grid-row:auto}
  .ptn-b--lead{padding:var(--s3)}
  .ptn-b--map{flex-direction:column;align-items:flex-start}
  .ptn-mailcard{transform:none}
  .ptn-mail-fields > div{padding:12px var(--s2);flex-wrap:wrap}
  .ptn-mail-fields dd{flex-wrap:wrap}
  .ptn-copy{margin-left:0}
  .ptn-mail-body{padding:var(--s2)}
  .ptn-fill label{flex-direction:column;align-items:stretch;gap:4px}
  .ptn-btn{width:100%;justify-content:center}
  .ptn-hero-ctas{gap:var(--s2)}
}
.ptn-path.in::after{width:calc(66.666% - 36px)}
.ptn-hero .mp-crumbs{margin:0}
.ptn-hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 40%}

/* =========================================================================
   Legal documents, from inspirations/conditions-de-vente-et-de-retour.html (scope .cgv)
   ========================================================================= */
.cgv{color:var(--text);font-family:var(--font)}
.cgv *,.cgv *::before,.cgv *::after{box-sizing:border-box}
:where(.cgv) h1,:where(.cgv) h2,:where(.cgv) h3{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance}
:where(.cgv) p{margin:0}
:where(.cgv) ul,:where(.cgv) ol,:where(.cgv) dl,:where(.cgv) dd{list-style:none;margin:0;padding:0}
.cgv svg{flex:none}
.cgv .eyebrow{margin:0 0 8px}
.cgv .num{font-variant-numeric:tabular-nums}

/* ---------- 1. EN-TÊTE ---------- */
.cgv-hero{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--s3) 0 var(--s8);position:relative;overflow:hidden}
.cgv-hero::before{content:"";position:absolute;inset:0 0 0 auto;width:42%;background:repeating-linear-gradient(0deg,transparent 0 31px,var(--border) 31px 32px);opacity:.6;pointer-events:none}
.cgv-hero .mp-crumbs{margin-bottom:var(--s6);position:relative}
.cgv-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--s8);align-items:center}
.cgv-hero h1{font-size:clamp(34px,4.4vw,58px);line-height:1.04;letter-spacing:-.035em;font-weight:700;max-width:14ch}
.cgv-intro{margin-top:var(--s3);max-width:640px;font-size:17px;line-height:1.7;padding-left:var(--s3);border-left:3px solid var(--green)}
.cgv-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s4)}
.cgv-tool{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1px solid var(--border-strong);background:var(--surface);font:600 14px var(--font);color:var(--ink);text-decoration:none;cursor:pointer;transition:all var(--dur) var(--ease)}
.cgv-tool svg{width:18px;height:18px;color:var(--green-strong)}
.cgv-tool:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.cgv-tool:hover svg{color:var(--green-soft-2)}
.cgv-seal{position:relative;width:240px;height:240px;color:var(--green-strong);justify-self:end}
.cgv-seal svg{position:absolute;inset:0;width:100%;height:100%;animation:cgv-spin 40s linear infinite}
@keyframes cgv-spin{to{transform:rotate(360deg)}}
.cgv-seal div{position:absolute;inset:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:var(--green-soft-2);text-align:center}
.cgv-seal div span{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.cgv-seal div b{font-family:var(--display);font-size:19px;line-height:1.15;color:#fff;letter-spacing:-.02em;white-space:nowrap}

/* ---------- 2. L’ESSENTIEL ---------- */
.cgv-key{background:var(--green-soft);border-bottom:1px solid var(--green-soft-2);padding:var(--s6) 0 var(--s8)}
.cgv-key-t{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dark);margin-bottom:var(--s3)}
.cgv-key-t svg{width:18px;height:18px}
.cgv-key-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cgv-key-grid li{position:relative;display:flex;flex-direction:column;gap:8px;padding:var(--s3);background:var(--surface);border:1px solid var(--green-soft-2);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.cgv-key-grid li:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.cgv-key-grid b{font-family:var(--display);font-weight:700;font-size:48px;line-height:1;color:var(--ink);letter-spacing:-.04em;display:flex;align-items:baseline;gap:6px}
.cgv-key-grid b small{font-size:15px;font-weight:600;letter-spacing:0;color:var(--green-strong)}
.cgv-key-grid b svg{width:44px;height:44px;color:var(--green-strong)}
.cgv-key-grid span{font-size:14.5px;line-height:1.5;color:var(--text)}
.cgv-key-grid a{margin-top:auto;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-strong);text-decoration:none}
.cgv-key-grid a::after{content:"";position:absolute;inset:0}
.cgv-key-grid a:hover{text-decoration:underline}
.cgv-time{margin-top:var(--s4);background:var(--surface);border:1px solid var(--green-soft-2);padding:var(--s3) var(--s4) var(--s3);position:relative}
.cgv-time-bar{position:absolute;left:var(--s4);right:var(--s4);top:calc(var(--s3) + 21px);height:4px;background:var(--green-soft-2)}
.cgv-time-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green) 0%,var(--green-strong) 70%,var(--sale) 100%);transition:width 1.6s var(--ease)}
.cgv-time.is-in .cgv-time-bar i{width:100%}
.cgv-time ol{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}
.cgv-time li{display:flex;flex-direction:column;gap:4px}
.cgv-time li:nth-child(2){align-items:center;text-align:center}
.cgv-time li:nth-child(3){align-items:center;text-align:center}
.cgv-time li:last-child{align-items:flex-end;text-align:right}
.cgv-time li svg{width:46px;height:46px;padding:11px;background:var(--surface);border:2px solid var(--green);color:var(--green-strong);margin-bottom:8px}
.cgv-time li.is-end svg{border-color:var(--sale);color:var(--sale)}
.cgv-time b{font-family:var(--display);font-size:16px;color:var(--ink)}
.cgv-time span{font-size:13px;color:var(--muted)}

/* ---------- 3. DOCUMENT ---------- */
.cgv-doc{padding:var(--s10) 0 var(--s12);background:var(--bg)}
.cgv-doc-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--s8);align-items:start}
.cgv-toc{position:sticky;top:150px;background:var(--surface);border:1px solid var(--border);padding:var(--s3)}
.cgv-toc-t{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cgv-toc-t span{color:var(--green-strong);letter-spacing:0}
.cgv-toc-bar{height:3px;background:var(--border);margin:10px 0 var(--s2)}
.cgv-toc-bar i{display:block;height:100%;width:0;background:var(--green)}
.cgv-toc > ol > li{border-top:1px solid var(--border)}
.cgv-toc > ol > li > a{display:flex;gap:10px;align-items:baseline;padding:12px 0 6px;font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);text-decoration:none}
.cgv-toc > ol > li > a span{font-size:12px;color:var(--green-strong)}
.cgv-toc ol ol{padding:0 0 10px 26px}
.cgv-toc ol ol a{display:block;padding:5px 0 5px 12px;font-size:13.5px;color:var(--muted);text-decoration:none;border-left:2px solid var(--border);transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.cgv-toc a:hover{color:var(--green-strong)}
.cgv-toc a.is-on{color:var(--ink);font-weight:600;border-left-color:var(--green)}

.cgv-sec{scroll-margin-top:150px}
.cgv-sec + .cgv-sec{margin-top:var(--s8)}
.cgv-sec-h{display:flex;align-items:baseline;gap:var(--s2);padding-bottom:var(--s2);margin-bottom:var(--s2);border-bottom:2px solid var(--ink)}
.cgv-sec-n{font-family:var(--display);font-weight:700;font-size:64px;line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--green);letter-spacing:-.04em}
.cgv-sec-h h2{font-size:clamp(24px,2.6vw,32px);font-weight:700;letter-spacing:-.02em}
.cgv-art{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--border);scroll-margin-top:150px}
.cgv-art-n{font:600 13px var(--display);color:var(--green-dark);background:var(--green-soft-2);height:28px;display:grid;place-items:center;align-self:start}
.cgv-art h3{font-size:19px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.cgv-art h3 svg{width:20px;height:20px;color:var(--sale)}
.cgv-art p{font-size:16px;line-height:1.8;max-width:720px}
.cgv-art mark{background:linear-gradient(transparent 55%,var(--green-soft-2) 55%);color:var(--ink);font-weight:600;padding:0 2px}
.cgv-art.is-flash{background:linear-gradient(90deg,var(--green-soft),transparent);animation:cgv-flash 1.6s var(--ease)}
@keyframes cgv-flash{from{background-color:var(--green-soft-2)}}
.cgv-art--warn{margin:var(--s2) 0;padding:var(--s3);border:1px solid #F3C6C3;border-left:4px solid var(--sale);background:var(--sale-bg)}
.cgv-art--warn .cgv-art-n{background:var(--surface);color:var(--sale)}
.cgv-see{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:600;font-size:14px;color:var(--green-strong);text-decoration:none}
.cgv-see svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}
.cgv-see:hover svg{transform:translateX(4px)}
.cgv-contact{margin-top:var(--s3);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.25fr);gap:8px}
.cgv-contact a{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);text-decoration:none;color:var(--muted);font-size:12.5px;transition:border-color var(--dur) var(--ease)}
.cgv-contact a:hover{border-color:var(--green-strong)}
.cgv-contact svg{width:36px;height:36px;padding:8px;background:var(--green-soft);color:var(--green-strong)}
.cgv-contact span{display:flex;flex-direction:column;min-width:0}
.cgv-contact b{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cgv-id{display:grid;background:var(--surface);border:1px solid var(--border)}
.cgv-id > div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--s3);padding:var(--s2) var(--s3);scroll-margin-top:150px}
.cgv-id > div + div{border-top:1px dashed var(--border-strong)}
.cgv-id dt{display:flex;gap:10px;align-items:baseline;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.cgv-id dt span{font:600 12px var(--display);color:var(--green-dark);background:var(--green-soft-2);padding:2px 6px;letter-spacing:0}
.cgv-id dd{font-size:15px;line-height:1.6;color:var(--ink);font-weight:500}
.cgv-foot{margin-top:var(--s3);padding:var(--s2) var(--s3);background:var(--ink);color:rgba(255,255,255,.8);font-size:14px;line-height:1.6}

@media (prefers-reduced-motion:reduce){.cgv *{animation:none !important;transition:none !important}}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .cgv-key-grid{grid-template-columns:1fr 1fr}
  .cgv-doc-grid{grid-template-columns:1fr;gap:var(--s4)}
  .cgv-toc{position:static}
  .cgv-toc > ol{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--s3)}
}
@media (max-width:760px){
  .cgv-hero::before{display:none}
  .cgv-hero-grid{grid-template-columns:1fr;gap:var(--s3)}
  .cgv-seal{width:150px;height:150px;justify-self:start;order:-1}
  .cgv-seal div{inset:45px}
  .cgv-seal div b{font-size:12px}
  .cgv-seal div span{font-size:6px}
  .cgv-toc > ol{grid-template-columns:1fr}
  .cgv-toc ol ol{display:none}
  .cgv-time{padding:var(--s3) var(--s2)}
  .cgv-time-bar{left:var(--s2);right:var(--s2)}
  .cgv-time span{display:none}
  .cgv-contact{grid-template-columns:1fr}
  .cgv-id > div{grid-template-columns:1fr;gap:6px}
}
@media (max-width:560px){
  .cgv-key-grid{grid-template-columns:1fr 1fr;gap:8px}
  .cgv-key-grid li{padding:var(--s2)}
  .cgv-key-grid b{font-size:32px}
  .cgv-key-grid b svg{width:32px;height:32px}
  .cgv-key-grid span{font-size:13px}
  .cgv-art{grid-template-columns:1fr;gap:8px}
  .cgv-art-n{justify-self:start;padding:0 8px}
  .cgv-sec-n{font-size:44px}
  .cgv-time b{font-size:13px}
  .cgv-time li svg{width:38px;height:38px;padding:8px}
  .cgv-time-bar{top:calc(var(--s3) + 17px)}
}

/* ---------- Impression ---------- */
@media print{
  .topbar,.header,.footer,.wa,.assistant-ia-widget,#assistant-ia-widget,.drawer,.cgv-tools,.cgv-seal,.cgv-key,.cgv-toc,.cgv-contact,.cgv-see,.mp-crumbs{display:none !important}
  .cgv-hero,.cgv-doc{padding:0;background:#fff;border:0}
  .cgv-hero::before{display:none}
  .cgv-doc-grid{display:block}
  .cgv-art{break-inside:avoid}
  .cgv-foot{background:none;color:#000;border:1px solid #000}
}
.cgv-hero-grid.no-seal{grid-template-columns:minmax(0,1fr)}
.cgv-hero .mp-crumbs{margin-top:0}
.cgv-plain{font-size:16px;line-height:1.8;padding:var(--s2) 0;max-width:720px}
.cgv-id dd:only-child{grid-column:1/-1}


/* =========================================================================
   Delivery conditions, from inspirations/conditions-de-livraison.html (scope .liv)
   ========================================================================= */
.liv{color:var(--text);font-family:var(--font)}
.liv *,.liv *::before,.liv *::after{box-sizing:border-box}
:where(.liv) h1,:where(.liv) h2,:where(.liv) h3{font-family:var(--display);color:var(--ink);margin:0;text-wrap:balance;hyphens:manual}
:where(.liv) p{margin:0}
:where(.liv) ul,:where(.liv) ol,:where(.liv) dl,:where(.liv) dd{list-style:none;margin:0;padding:0}
.liv svg{flex:none}
.liv .eyebrow{margin:0 0 8px}
.liv .num{font-variant-numeric:tabular-nums}

/* ---------- 1. EN-TÊTE : étiquette ---------- */
.liv-hero{position:relative;overflow:hidden;background:var(--green-soft);border-bottom:1px solid var(--green-soft-2);padding:var(--s3) 0 0}
.liv-hero::before{content:"";position:absolute;inset:0;background:none;pointer-events:none}
.liv-hero .wrap{position:relative}
.liv-hero .mp-crumbs{margin-bottom:var(--s6)}
.liv-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:var(--s8);align-items:center;padding-bottom:var(--s8)}
.liv-hero h1{font-size:clamp(36px,4.8vw,64px);line-height:1.02;letter-spacing:-.04em;font-weight:700}
.liv-hero h1 em{font-style:normal;color:var(--green-strong);display:block}
.liv-date{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s3);font-size:14px;color:var(--muted)}
.liv-date svg{width:16px;height:16px;color:var(--green-strong)}
.liv-jump{margin-top:var(--s5);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--green-soft-2);border:1px solid var(--green-soft-2);max-width:560px}
.liv-jump.is-odd li:last-child{grid-column:1/-1}
.liv-jump a{display:flex;align-items:center;gap:12px;height:100%;min-height:52px;padding:10px 16px;background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;line-height:1.3;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.liv-jump a span{font:700 12px var(--display);color:var(--green-strong);letter-spacing:.04em}
.liv-jump a:hover{background:var(--ink);color:#fff}
.liv-jump a:hover span{color:var(--green-soft-2)}

.liv-label-wrap{display:flex;justify-content:center;padding:var(--s3) 0}
.liv-label{position:relative;width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 30px 60px -30px rgba(28,43,24,.35);transform:rotate(-2.5deg);padding:var(--s3);transition:transform .5s var(--ease)}
.liv-label:hover{transform:rotate(0)}
.liv-tape{position:absolute;top:-14px;left:50%;width:120px;height:28px;margin-left:-60px;background:rgba(228,244,204,.85);border-left:1px dashed var(--green);border-right:1px dashed var(--green);transform:rotate(3deg)}
.liv-label-top{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.liv-label-top img{width:28px;height:28px;object-fit:contain}
.liv-label-top b{font-family:var(--display);font-size:17px;color:var(--ink);letter-spacing:-.02em}
.liv-label-top span{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--green-soft-2);padding:4px 10px}
.liv-label-rows div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--border-strong)}
.liv-label-rows dt{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.liv-label-rows dd{font-weight:600;color:var(--ink);font-size:14.5px}
.liv-label-rows .is-big dd b{font-family:var(--display);font-size:44px;line-height:.9;color:var(--green-strong);letter-spacing:-.04em;margin-right:6px}
.liv-barcode{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.liv-barcode i{display:block;height:46px;width:72%;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 8px,var(--ink) 8px 9px,transparent 9px 12px,var(--ink) 12px 15px,transparent 15px 17px)}
.liv-barcode span{font-size:11px;letter-spacing:.3em;color:var(--muted)}
.liv-stamp{position:absolute;right:-26px;bottom:-30px;width:120px;height:120px;color:var(--green-strong);transform:rotate(-14deg);opacity:.9}
.liv-stamp svg{width:100%;height:100%;animation:liv-spin 30s linear infinite}
@keyframes liv-spin{to{transform:rotate(360deg)}}

/* route + camion */
.liv-road{position:relative;height:44px;border-top:1px solid var(--green-soft-2);background:var(--ink);overflow:hidden}
.liv-road::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:repeating-linear-gradient(90deg,rgba(228,244,204,.55) 0 22px,transparent 22px 44px);animation:liv-lane 1.2s linear infinite}
@keyframes liv-lane{to{transform:translateX(-44px)}}
.liv-truck{position:absolute;top:6px;left:0;width:44px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--green-soft-2);color:var(--ink);animation:liv-drive 14s linear infinite}
.liv-truck svg{width:24px;height:24px}
@keyframes liv-drive{from{left:-60px}to{left:100%}}

/* ---------- 2. SUIVI ---------- */
.liv-body{background:var(--surface);padding-bottom:var(--s10)}
.liv-tracker{position:sticky;top:var(--liv-top,0px);z-index:15;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.liv-tracker-in{position:relative;padding:14px 0 12px}
.liv-tracker-line{position:absolute;left:calc(50% / var(--liv-n,5));right:calc(50% / var(--liv-n,5));top:24px;height:2px;background:var(--border)}
.liv-tracker-line i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--green-strong);transition:width .15s linear}
.liv-tracker-truck{position:absolute;top:-15px;left:0;width:34px;height:30px;margin-left:-17px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--green-soft-2);transition:left .15s linear;z-index:2}
.liv-tracker-truck svg{width:20px;height:20px}
.liv-tracker ol{position:relative;display:grid;grid-template-columns:repeat(var(--liv-n,5),minmax(0,1fr))}
.liv-tracker a{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:600}
.liv-tracker a i{width:14px;height:14px;background:var(--surface);border:2px solid var(--border-strong);transition:all var(--dur) var(--ease)}
.liv-tracker a.is-done i{background:var(--green-strong);border-color:var(--green-strong)}
.liv-tracker a.is-on{color:var(--ink)}
.liv-tracker a.is-on i{background:var(--ink);border-color:var(--ink);transform:scale(1.25)}
.liv-tracker a:hover{color:var(--ink)}

.liv-steps{counter-reset:s}
.liv-step{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,400px);gap:var(--s5);align-items:center;padding:var(--s8) 0;border-bottom:1px solid var(--border);scroll-margin-top:calc(var(--liv-top,0px) + 90px)}
.liv-step:last-child{border-bottom:0}
.liv-step h2{scroll-margin-top:calc(var(--liv-top,0px) + 110px)}
.liv-step-n{position:relative;align-self:start}
.liv-step-n .num{display:block;font:700 76px/0.9 var(--display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--green-strong)}
.liv-step-n svg{position:absolute;left:44px;top:46px;width:44px;height:44px;padding:10px;background:var(--ink);color:var(--green-soft-2)}
.liv-step-copy h2{font-size:clamp(22px,2.3vw,30px);line-height:1.15;letter-spacing:-.025em;margin-bottom:var(--s2)}
.liv-step-copy p{font-size:17px;line-height:1.75;max-width:56ch}
.liv-step:nth-child(even) .liv-vis{background:var(--green-soft)}

/* visuels */
.liv-vis{position:relative;background:var(--bg);border:1px solid var(--border);padding:var(--s4) var(--s3);min-height:200px;display:flex;flex-direction:column;justify-content:center;gap:var(--s2)}
.liv-vis-cap{font-size:14px;color:var(--muted);display:flex;align-items:baseline;gap:8px;justify-content:center}
.liv-vis-cap b{color:var(--ink)}
.liv-vis-cap b.num{font:700 32px var(--display);color:var(--green-strong);letter-spacing:-.03em}
.liv-cal{display:grid;grid-template-columns:repeat(var(--liv-d,4),minmax(0,1fr));gap:6px}
.liv-cal span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;background:var(--surface);border:1px solid var(--border-strong)}
.liv-cal small{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.liv-cal b{font:700 18px var(--display);color:var(--ink)}
.liv-cal .is-on{transition:background .4s var(--ease),border-color .4s var(--ease)}
.liv-step.in .liv-cal .is-on{background:var(--green-soft-2);border-color:var(--green)}
.liv-step.in .liv-cal .is-on:nth-child(3){transition-delay:.15s}
.liv-step.in .liv-cal .is-on:nth-child(4){transition-delay:.3s}
.liv-step.in .liv-cal .is-end{background:var(--ink);border-color:var(--ink)}
.liv-step.in .liv-cal .is-end b,.liv-step.in .liv-cal .is-end small{color:var(--green-soft-2)}

.liv-shelf{display:flex;justify-content:center;gap:var(--s2)}
.liv-shelf span{position:relative;width:76px;height:76px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border-strong);color:var(--green-strong)}
.liv-shelf span>svg{width:36px;height:36px}
.liv-shelf i{position:absolute;top:-9px;right:-9px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--green-strong);color:#fff;font:700 13px var(--display);font-style:normal}
.liv-shelf i svg{width:13px;height:13px}
.liv-shelf .is-out{color:var(--muted);border-style:dashed}
.liv-shelf .is-out i{background:var(--sale)}

.liv-toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 18px 30px -20px rgba(28,43,24,.4);padding:12px 14px;transform:translateY(12px);opacity:0;transition:all .6s var(--ease)}
.liv-step.in .liv-toast{transform:none;opacity:1}
.liv-toast-ic{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--green-soft-2)}
.liv-toast-ic svg{width:18px;height:18px}
.liv-step.in .liv-toast-ic svg{animation:liv-ring 1.2s .6s var(--ease) 2}
@keyframes liv-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(16deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.liv-toast b{display:block;font-size:13px;color:var(--ink)}
.liv-toast div span{font-size:13px;color:var(--text)}
.liv-toast small{align-self:start;font-size:11px;color:var(--muted)}

.liv-pay{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px}
.liv-pay em{align-self:center}
.liv-pay span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--s3) 10px;background:var(--surface);border:1px solid var(--border-strong);transition:all var(--dur) var(--ease)}
.liv-pay span:hover{border-color:var(--ink);transform:translateY(-3px)}
.liv-pay svg{width:34px;height:34px;color:var(--green-strong)}
.liv-pay b{font:700 15px var(--display);color:var(--ink)}
.liv-pay small{font-size:12px;color:var(--muted)}
.liv-pay em{font-style:normal;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}

.liv-vis--fees{padding:0;border:0;background:none!important;min-height:0}
.liv-fees{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s2);align-items:center;padding:var(--s4) var(--s3);background:var(--ink);color:#fff;text-decoration:none;position:relative;transition:background var(--dur) var(--ease)}
.liv-fees::before,.liv-fees::after{content:"";position:absolute;left:0;right:0;height:10px;background:radial-gradient(circle at 6px 0,var(--surface) 5px,transparent 5.5px) 0 0/12px 10px repeat-x}
.liv-fees::before{top:0}
.liv-fees::after{bottom:0;transform:scaleY(-1)}
.liv-fees-ic{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--green-soft-2);color:var(--ink)}
.liv-fees-ic svg{width:26px;height:26px}
.liv-fees b{display:block;font:700 19px var(--display);color:#fff;margin-bottom:2px}
.liv-fees span{font-size:14px;color:rgba(255,255,255,.75)}
.liv-fees-go{width:24px;height:24px;color:var(--green-soft-2);transition:transform var(--dur) var(--ease)}
.liv-fees:hover{background:var(--green-dark)}
.liv-fees:hover .liv-fees-go{transform:translateX(5px)}


/* ---------- 3. AIDE ---------- */
.liv-help{background:var(--bg);padding:var(--s10) 0}
.liv-help-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0}
.liv-help-band{position:relative;overflow:hidden;background:var(--ink);color:rgba(255,255,255,.82);padding:var(--s8) var(--s6)}
.liv-help-band::after{content:"";position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;background:none center/contain no-repeat;pointer-events:none}
.liv-help-band h2{color:#fff;font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;line-height:1.1;max-width:16ch}
.liv-help-band p{margin-top:var(--s2);font-size:17px;line-height:1.7;max-width:46ch}
.liv-ctas{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s4)}
.liv-btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 20px;background:var(--green-soft-2);color:#2F4A00;font:600 15px var(--font);text-decoration:none;transition:all var(--dur) var(--ease)}
.liv-btn svg{width:18px;height:18px}
.liv-btn svg:last-child:not(:first-child){transition:transform var(--dur) var(--ease)}
.liv-btn:hover{background:#fff}
.liv-btn:hover svg:last-child:not(:first-child){transform:translateX(4px)}
.liv-btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.liv-btn--ghost:hover{background:#fff;color:var(--ink)}
.liv-help-card{background:var(--surface);border:1px solid var(--border);border-left:0;padding:var(--s6) var(--s5);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2)}
.liv-help-card .seal svg{width:14px;height:14px}
.liv-help-card h2{font-size:24px;letter-spacing:-.02em}
.liv-help-card p{line-height:1.7}
.liv-call{display:inline-flex;align-items:center;gap:10px;font:700 22px var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.02em;margin-top:var(--s1)}
.liv-call svg{width:22px;height:22px;color:var(--green-strong)}
.liv-call:hover{color:var(--green-strong)}
.liv-hours{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.liv-hours svg{width:16px;height:16px}

.liv-more{background:var(--surface);border-top:1px solid var(--border);padding:var(--s3) 0}
.liv-more .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.liv-more .eyebrow{margin:0 var(--s2) 0 0}
.liv-more a{font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;padding:8px 14px;border:1px solid var(--border);transition:all var(--dur) var(--ease)}
.liv-more a:hover{border-color:var(--ink);background:var(--ink);color:#fff}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .liv-step{grid-template-columns:96px minmax(0,1fr);row-gap:var(--s3)}
  .liv-vis{grid-column:2}
  .liv-step-n .num{font-size:60px}
  .liv-step-n svg{left:34px;top:36px}
}
@media (max-width:900px){
  .liv-hero-grid{grid-template-columns:1fr;gap:var(--s5)}
  .liv-label-wrap{padding-right:26px}
  .liv-help-grid{grid-template-columns:1fr}
  .liv-help-card{border-left:1px solid var(--border);border-top:0}
}
@media (max-width:600px){
  .liv-jump{grid-template-columns:1fr}
  .liv-tracker span{font-size:0}
  .liv-tracker a{gap:0}
  .liv-tracker-in{padding:18px 0 14px}
  .liv-tracker-line{top:25px}
  .liv-step{grid-template-columns:1fr;padding:var(--s6) 0}
  .liv-vis{grid-column:auto}
  .liv-step-n{display:flex;align-items:center;gap:12px}
  .liv-step-n .num{font-size:52px}
  .liv-step-n svg{position:static}
  .liv-stamp{width:96px;height:96px;right:-18px;bottom:-26px}
  .liv-pay{grid-template-columns:1fr 1fr}
  .liv-pay em{display:none}
  .liv-label-rows div{grid-template-columns:1fr;gap:4px}
  .liv-cal small{font-size:0}
  .liv-cal .is-start small{font-size:9px}
  .liv-cal span{padding:14px 2px}
  .liv-help-band,.liv-help-card{padding:var(--s5) var(--s3)}
}
@media (prefers-reduced-motion:reduce){
  .liv *{animation:none!important;transition:none!important}
  .liv-toast{opacity:1;transform:none}
}
@media print{.liv-road,.liv-tracker,.liv-help,.liv-more{display:none}.liv .reveal{opacity:1;transform:none}}
.liv-step.no-vis{grid-template-columns:120px minmax(0,1fr)}
.liv-hero .mp-crumbs{margin-top:0}
.liv-step-n svg{display:block}
@media (max-width:600px){.liv-step.no-vis{grid-template-columns:1fr}}


/* Product page (10-2026, woocommerce/single-product.php): gallery views and video, long description,
   several actives, advice + questions, brand range */
.pdp-thumbs button.is-video{background:var(--ink);padding:0;overflow:hidden}
.pdp-thumbs button.is-video img{object-fit:cover;opacity:.85}
.pdp-thumbs .yt-play{width:28px;height:28px}
.pdp-thumbs .yt-play svg{margin-left:2px}
.pdp-prose.is-long{max-height:22em;overflow:hidden;-webkit-mask:linear-gradient(180deg,#000 70%,transparent);mask:linear-gradient(180deg,#000 70%,transparent)}
.pdp-prose.is-long.is-open{max-height:none;-webkit-mask:none;mask:none}
.pdp-more{margin-top:12px;padding:0;border:0;background:none;font:600 14px var(--font);color:var(--green-strong);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.pdp-hero-ing.is-more{margin-top:8px;padding:var(--s2) var(--s3)}
.pdp-hero-ing.is-more .pdp-hero-ing-ic{width:44px;height:44px}
.pdp-hero-ing.is-more b{font-size:16px}
.pdp-faq{background:var(--surface)}
.pdp-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--s6);align-items:start}
.pdp-faq-grid.is-single{grid-template-columns:minmax(0,860px)}
.pdp-faq-side .pdp-advice-box{margin-top:0}
.pdp .pdp-ask.is-light{margin-top:var(--s3);background:var(--green-soft);color:var(--text);border:1px solid var(--green-soft-2)}
.pdp .pdp-ask.is-light b{color:var(--ink)}
.pdp-qa{border-top:2px solid var(--ink)}
.pdp-qa details{border-bottom:1px solid var(--border)}
.pdp-qa summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 17px/1.35 var(--display);color:var(--ink);cursor:pointer;list-style:none}
.pdp-qa summary::-webkit-details-marker{display:none}
.pdp-qa summary svg{width:18px;height:18px;color:var(--green-strong);transition:transform var(--dur) var(--ease)}
.pdp-qa details[open] summary svg{transform:rotate(45deg)}
.pdp-qa p{margin:0 0 20px;font-size:15px;line-height:1.7;color:var(--text);max-width:68ch}
.pdp-range{padding-bottom:0}
.pdp-range+.pdp-related{border-top:0}
.pdp-range-nav{display:flex;gap:8px}
.pdp-anchors ul{gap:var(--s3)}
.pdp-anchors-buy b{white-space:nowrap}
.pdp-video .mp-product-video{overflow:hidden;box-shadow:0 30px 60px -40px rgba(28,43,24,.5)}
.pdp-video .yt{height:100%}
.pdp [id]{scroll-margin-top:calc(var(--pdp-sticky-top,0px) + 72px)}
@media (max-width:900px){
  .pdp-faq-grid{grid-template-columns:1fr;gap:var(--s4)}
  .pdp-stage{aspect-ratio:1/.92}
  .pdp-anchors{transition:top 250ms var(--ease)}
  .hdr-up .pdp-anchors{top:0}
}

/* Description + "Fiche d'identité" (10-2026): icon rows, chips, key active, benefit cards, motion */
.pdp-sheet{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#F6F9F1 0%,#FBFCF9 55%,#fff 100%)}
.pdp-sheet-deco{position:absolute;inset:0;z-index:-1;pointer-events:none}
.pdp-sheet-deco i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;animation:pdp-float 14s ease-in-out infinite alternate}
.pdp-sheet-deco i:first-child{width:420px;height:420px;left:-120px;top:-80px;background:#DDEBCB}
.pdp-sheet-deco i:last-child{width:360px;height:360px;right:-100px;bottom:-60px;background:#E9F2DD;animation-delay:-7s}
@keyframes pdp-float{to{transform:translate(40px,30px) scale(1.08)}}
.pdp-sheet-grid{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:clamp(32px,5vw,80px)}
.pdp-specs{position:sticky;top:calc(var(--pdp-sticky-top,0px) + 24px)}
.pdp-id{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg,16px);padding:24px 24px 18px;box-shadow:0 30px 60px -44px rgba(28,43,24,.45)}
.pdp-id-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--border)}
.pdp-id-img{width:64px;height:64px;flex:none;display:grid;place-items:center;border-radius:14px;background:var(--green-soft);padding:6px}
.pdp-id-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pdp-id-head h2{font-size:20px;font-weight:600;margin-top:2px}
.pdp-id dl{margin:0}
.pdp-id dl>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;padding:13px 0;border-bottom:1px dashed var(--border)}
.pdp-id dl>div:last-child{border-bottom:0}
.pdp-id-ic{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--green-soft);color:var(--green-strong);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.pdp-id-ic svg{width:19px;height:19px}
.pdp-id dl>div:hover .pdp-id-ic{background:var(--green-strong);color:#fff;transform:rotate(-6deg) scale(1.06)}
.pdp-id dt{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2px 0 3px}
.pdp-id dd{margin:0;font-size:15px;line-height:1.45;color:var(--ink);font-weight:500}
.pdp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.pdp-chips span{padding:4px 10px;border-radius:999px;background:var(--green-soft);border:1px solid var(--green-soft-2);font-size:12.5px;font-weight:600;color:var(--green-dark)}
.pdp .pdp-id-ask{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--bg);font-size:13px;font-weight:600;color:var(--green-strong);transition:background var(--dur) var(--ease)}
.pdp .pdp-id-ask svg{width:18px;height:18px}
.pdp .pdp-id-ask:hover{background:var(--green-soft)}
.pdp-id.reveal{opacity:1;transform:none}
.pdp-id.reveal dl>div{opacity:0;transform:translateX(-10px);transition:opacity 500ms var(--ease),transform 500ms var(--ease);transition-delay:calc(var(--i,0) * 70ms + 120ms)}
.pdp-id.reveal.in dl>div{opacity:1;transform:none}
.pdp-desc-t{font-size:clamp(26px,2.8vw,38px);line-height:1.15;letter-spacing:-.025em;font-weight:600;margin-bottom:var(--s4);position:relative;padding-bottom:18px}
.pdp-desc-t::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--green-strong),#A3D157);transform-origin:left}
.pdp-prose>p:first-child{font-size:18px;line-height:1.7;color:var(--ink)}
.pdp-prose>p:first-child::first-letter{float:left;font:600 3.4em/.82 var(--display);margin:8px 12px 0 0;color:var(--green-strong);text-transform:uppercase}
.pdp-key{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;margin-top:var(--s5);padding:20px 22px;border-radius:var(--r-lg,16px);background:#fff;border:1px solid var(--green-soft-2);box-shadow:0 24px 48px -40px rgba(28,43,24,.5)}
.pdp-key-ic{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,var(--green-soft-2));color:var(--green-strong);box-shadow:inset 0 0 0 1px var(--green-soft-2)}
.pdp-key-ic svg{width:28px;height:28px}
.pdp-key b{display:block;font:600 19px/1.25 var(--display);color:var(--ink);margin-top:2px}
.pdp-key p{margin-top:4px;font-size:14px;line-height:1.5;color:var(--text)}
.pdp-key-stat{padding:14px 18px;border-radius:12px;background:var(--ink);color:rgba(255,255,255,.78);max-width:220px;font-size:12.5px;line-height:1.35}
.pdp-key-stat b{font:700 30px/1 var(--display);color:#C9E79A;margin:0 0 4px;letter-spacing:-.02em}
.pdp-benefits{margin-top:var(--s5)}
.pdp-benefits h3{font-size:20px;font-weight:600;margin-bottom:var(--s2)}
.pdp-benefits ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pdp-benefits li{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 20px 18px;border-radius:14px;background:#fff;border:1px solid var(--border);font-size:14.5px;line-height:1.5;color:var(--text);transition:transform 300ms var(--ease),box-shadow 300ms var(--ease),border-color 300ms var(--ease),opacity 500ms var(--ease);transition-delay:calc(var(--i,0) * 80ms)}
.pdp-benefits li:hover{transform:translateY(-3px);border-color:var(--green-soft-2);box-shadow:0 22px 40px -32px rgba(28,43,24,.5);transition-delay:0s}
.pdp-benefits li:last-child:nth-child(odd){grid-column:1/-1}
.pdp-ben-ic{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--green-soft);color:var(--green-strong);margin-bottom:8px}
.pdp-ben-ic svg{width:18px;height:18px}
.pdp-ben-n{position:absolute;top:16px;right:18px;font:600 13px var(--display);color:var(--border-strong);letter-spacing:.06em}
.pdp-benefits b{font:600 16px/1.3 var(--display);color:var(--ink)}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .pdp-desc-t::after{animation:pdp-line linear both;animation-timeline:view();animation-range:entry 10% cover 35%}
    .pdp-key-ic{animation:pdp-pop linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  }
}
@keyframes pdp-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pdp-pop{from{transform:scale(.6) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
@media (max-width:900px){
  .pdp-sheet-grid{grid-template-columns:1fr;gap:var(--s5)}
  .pdp-specs{position:static;order:2}
  .pdp-key{grid-template-columns:auto minmax(0,1fr)}
  .pdp-key-stat{grid-column:1/-1;max-width:none;display:flex;align-items:center;gap:12px}
  .pdp-key-stat b{margin:0}
}
@media (max-width:560px){
  .pdp-benefits ul{grid-template-columns:1fr}
  .pdp-prose>p:first-child{font-size:16.5px}
  .pdp-sheet-deco i:first-child{width:260px;height:260px}
}
/* =========================================================================
   Cart, from inspirations/cart and checkout/panier.html (woocommerce/cart/*.php)
   ========================================================================= */
.mp-cart{color:var(--text);font-family:var(--font)}
.mp-cart *,.mp-cart *::before,.mp-cart *::after{box-sizing:border-box}
:where(.mp-cart) img{display:block;max-width:100%;height:auto}
:where(.mp-cart) h1,:where(.mp-cart) h2{font-family:var(--display);color:var(--ink);margin:0}
:where(.mp-cart) p{margin:0}
:where(.mp-cart) ul,:where(.mp-cart) ol,:where(.mp-cart) dl,:where(.mp-cart) dd{list-style:none;margin:0;padding:0}
:where(.mp-cart) fieldset{border:0;margin:0;padding:0;min-width:0}
:where(.mp-cart) button{font:inherit;cursor:pointer}
.mp-cart svg{flex:none}
.mp-cart .num{font-variant-numeric:tabular-nums}

/* En-tête */
.cart-head{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--s3) 0 var(--s4)}
.cart-head .mp-crumbs{margin-bottom:var(--s3)}
.cart-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.cart-head h1{font-size:clamp(30px,3.6vw,44px);line-height:1;letter-spacing:-.03em;font-weight:700;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.cart-count{font-family:var(--font);font-size:15px;font-weight:600;letter-spacing:0;color:var(--muted);background:var(--bg);border:1px solid var(--border);padding:4px 10px}

/* Grille */
.cart-body{background:var(--bg);padding:var(--s5) 0 var(--s10)}
.cart-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--s5);align-items:start}

/* Paliers */
.cart-ladder{background:var(--surface);border:1px solid var(--border);padding:var(--s3) var(--s4) var(--s5)}
.cart-ladder-msg{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink)}
.cart-ladder-msg svg{width:22px;height:22px;color:var(--green-strong)}
.cart-ladder-msg b{color:var(--green-strong)}
.cart-ladder-msg.is-win{color:var(--green-dark)}
.cart-ladder-track{position:relative;height:8px;margin:var(--s4) 20px var(--s3) 0;background:var(--green-soft)}
.cart-ladder-fill{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(45deg,var(--green) 0 10px,var(--green-strong) 10px 20px);background-size:28px 28px;transition:width .6s var(--ease);animation:cart-stripe 1.2s linear infinite}
@keyframes cart-stripe{to{background-position:28px 0}}
.cart-ladder-stop{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}
.cart-ladder-stop i{width:40px;height:40px;display:grid;place-items:center;background:var(--surface);border:2px solid var(--border-strong);color:var(--muted);transition:all .4s var(--ease)}
.cart-ladder-stop i svg{width:20px;height:20px}
.cart-ladder-stop b,.cart-ladder-stop small{position:absolute;top:46px;white-space:nowrap;font-size:12px}
.cart-ladder-stop b{color:var(--ink);font-weight:600}
.cart-ladder-stop small{top:62px;color:var(--muted)}
.cart-ladder-stop.is-end{transform:translate(-100%,-50%);align-items:flex-end}
.cart-ladder-stop.is-end b,.cart-ladder-stop.is-end small{right:0}
.cart-ladder-stop.is-done i{background:var(--green-strong);border-color:var(--green-strong);color:#fff}

/* Articles */
.cart-items{margin-top:12px !important;display:grid;gap:8px}
.cart-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto 120px;grid-template-areas:"img info qty line" "img acts acts acts";gap:6px var(--s3);align-items:center;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);transition:opacity .3s var(--ease),transform .3s var(--ease),border-color var(--dur) var(--ease)}
.cart-item:hover{border-color:var(--border-strong)}
.cart-item.is-out{opacity:0;transform:translateX(24px)}
.cart-item.is-new{animation:cart-in .5s var(--ease)}
@keyframes cart-in{from{opacity:0;transform:translateY(-8px);background:var(--green-soft)}}
.cart-item-img{grid-area:img;width:96px;height:96px;display:grid;place-items:center;background:var(--bg);padding:8px;align-self:start}
.cart-item-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cart-item-info{grid-area:info;display:flex;flex-direction:column;gap:4px;min-width:0}
.cart-brand{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-strong)}
.cart-name{font-size:14.5px;font-weight:600;line-height:1.35;color:var(--ink);text-decoration:none}
.cart-name:hover{color:var(--green-strong)}
.cart-unit{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13.5px}
.cart-unit b{color:var(--ink)}
.cart-unit s{color:var(--muted);font-size:12.5px}
.cart-off{font-size:11.5px;font-weight:700;color:var(--sale);background:var(--sale-bg);padding:1px 6px}
.cart-stock{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--green-strong);font-weight:600}
.cart-stock i{width:7px;height:7px;background:var(--green)}
.cart-qty{grid-area:qty;display:flex;border:1px solid var(--border-strong);height:44px}
.cart-qty button{width:38px;border:0;background:var(--surface);display:grid;place-items:center;color:var(--ink)}
.cart-qty button:hover{background:var(--hover-bg)}
.cart-qty svg{width:15px;height:15px}
.cart-qty input{width:44px;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font:600 15px var(--font);color:var(--ink);-moz-appearance:textfield}
.cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.cart-line{grid-area:line;text-align:right;font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}
.cart-item-acts{grid-area:acts;display:flex;gap:var(--s3);padding-top:10px;margin-top:4px;border-top:1px dashed var(--border)}
.cart-save,.cart-remove{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}
.cart-save svg,.cart-remove svg{width:15px;height:15px}
.cart-save:hover{color:var(--sale)}
.cart-save[aria-pressed="true"]{color:var(--sale)}
.cart-save[aria-pressed="true"] svg{fill:currentColor}
.cart-remove:hover{color:var(--ink)}
.cart-undo{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:12px var(--s3);background:var(--ink);color:#fff;font-size:14px}
.cart-undo[hidden]{display:none}
.cart-undo button{background:none;border:0;color:var(--green-soft-2);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cart-update{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Compléments */
.cart-upsell{margin-top:var(--s4);padding:var(--s3);background:var(--green-soft);border:1px solid var(--green-soft-2)}
.cart-upsell[hidden]{display:none}
.cart-upsell-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s2)}
.cart-upsell h2{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}
.cart-upsell h2 svg{width:20px;height:20px;color:var(--green-strong)}
.cart-upsell-sub{font-size:13px;color:var(--muted)}
.cart-upsell-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cart-upsell-list li{display:flex;align-items:center;gap:12px;padding:10px;background:var(--surface);border:1px solid var(--border)}
.cart-up-img{width:56px;height:56px;flex:none;display:grid;place-items:center;background:var(--bg)}
.cart-up-img img{width:88%;height:88%;object-fit:contain;mix-blend-mode:multiply}
.cart-up-txt{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.cart-up-txt a{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-up-txt b{font-family:var(--display);font-size:14px;color:var(--sale)}
.cart-up-add{width:40px;height:40px;flex:none;display:grid;place-items:center;background:var(--green-strong);border:0;color:#fff}
.cart-up-add:hover{background:var(--green-dark)}
.cart-up-add svg{width:18px;height:18px}
.cart-continue{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s3);font-weight:600;font-size:14px;color:var(--ink);text-decoration:none}
.cart-continue svg{width:16px;height:16px}
.cart-continue:hover{color:var(--green-strong)}

/* Ticket */
.cart-side{position:sticky;top:150px;display:grid;gap:12px}
.cart-ticket{position:relative;background:var(--surface);padding:var(--s4) var(--s3) var(--s3);filter:drop-shadow(0 18px 30px rgba(28,43,24,.12));
  -webkit-mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x;
          mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x}
.cart-ticket-top{display:flex;align-items:center;gap:12px;padding-bottom:var(--s2);border-bottom:2px dashed var(--border-strong)}
.cart-ticket-top img{width:40px;height:auto}
.cart-ticket-top b{display:block;font-family:var(--display);font-size:20px;color:var(--ink)}
.cart-ticket-top span{font-size:12px;color:var(--muted);letter-spacing:.04em}
.cart-rows{padding:var(--s2) 0;display:grid;gap:10px;border-bottom:1px dashed var(--border-strong)}
.cart-rows div{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.cart-rows dt small{color:var(--muted);font-size:12.5px}
.cart-rows dd{font-weight:600;color:var(--ink)}
.cart-rows .is-save dd,.cart-rows .is-save dt{color:var(--green-strong)}
.cart-ship{padding:var(--s2) 0;border-bottom:1px dashed var(--border-strong);display:grid;gap:8px}
.cart-ship legend{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0;float:left;width:100%}
.cart-ship-opt{position:relative;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-strong);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.cart-ship-opt input{position:absolute;opacity:0}
.cart-ship-opt::before{content:"";width:18px;height:18px;flex:none;border:1.5px solid var(--border-strong);background:var(--surface);box-shadow:inset 0 0 0 3px var(--surface)}
.cart-ship-opt:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--green-soft)}
.cart-ship-opt:has(input:checked)::before{background:var(--green-strong);border-color:var(--green-strong)}
.cart-ship-opt:has(input:focus-visible){outline:2px solid var(--green-strong);outline-offset:2px}
.cart-ship-opt span{display:flex;flex-direction:column;flex:1}
.cart-ship-opt b{font-size:14px;color:var(--ink)}
.cart-ship-opt small{font-size:12px;color:var(--muted)}
.cart-ship-opt em{font-style:normal;font-weight:700;font-size:14px;color:var(--ink)}
.cart-ship-opt.is-free em{color:var(--green-strong)}
.cart-ship-note{font-size:12px;color:var(--muted);line-height:1.5}
.cart-promo{border-bottom:1px dashed var(--border-strong)}
.cart-promo summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 0;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.cart-promo summary::-webkit-details-marker{display:none}
.cart-promo summary svg{width:18px;height:18px;color:var(--green-strong)}
.cart-promo summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:400;color:var(--muted)}
.cart-promo[open] summary::after{content:"−"}
.cart-promo-row{display:flex;padding-bottom:var(--s2)}
.cart-promo-row input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--border-strong);border-right:0;font:500 14px var(--font);text-transform:uppercase;letter-spacing:.06em}
.cart-promo-row input:focus{outline:none;border-color:var(--green-strong)}
.cart-promo-row button{height:44px;padding:0 16px;border:0;background:var(--ink);color:#fff;font-weight:600;font-size:13.5px}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:var(--s2) 0 6px}
.cart-total span{font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}
.cart-total b{font-family:var(--display);font-weight:700;font-size:32px;letter-spacing:-.02em;color:var(--ink)}
.cart-points{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--green-soft);font-size:12.5px;line-height:1.4}
.cart-points svg{width:16px;height:16px;color:var(--green)}
.cart-points b{color:var(--ink)}
.cart-go{margin-top:var(--s2);display:flex;align-items:center;justify-content:center;gap:10px;height:56px;background:var(--green-strong);color:#fff;font-weight:600;font-size:16px;text-decoration:none;transition:background var(--dur) var(--ease)}
.cart-go svg{width:18px;height:18px}
.cart-go svg:last-child{transition:transform var(--dur) var(--ease)}
.cart-go:hover{background:var(--green-dark);color:#fff}
.cart-go:hover svg:last-child{transform:translateX(4px)}
.cart-pay{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.cart-pay img{height:22px;width:auto}
.cart-trust{background:var(--surface);border:1px solid var(--border)}
.cart-trust li{display:flex;gap:12px;align-items:flex-start;padding:12px var(--s2);font-size:12.5px;color:var(--muted);line-height:1.45}
.cart-trust li + li{border-top:1px solid var(--border)}
.cart-trust svg{width:20px;height:20px;color:var(--green-strong)}
.cart-trust b{display:block;font-size:13.5px;color:var(--ink)}
.cart-ask{display:flex;align-items:center;gap:12px;padding:14px var(--s2);background:var(--ink);color:rgba(255,255,255,.75);font-size:12.5px;line-height:1.45;text-decoration:none}
.cart-ask svg{width:36px;height:36px;padding:8px;background:var(--green-strong);color:#fff}
.cart-ask b{display:block;color:#fff;font-size:14px}
.cart-sticky{display:none}
.cart-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:var(--s10) var(--s3);background:var(--surface);border:1px solid var(--border)}
.cart-empty-ic{width:80px;height:80px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong)}
.cart-empty-ic svg{width:36px;height:36px}
.cart-empty h2{font-size:26px}
.cart-empty .cart-go{padding:0 var(--s4)}
@media (prefers-reduced-motion:reduce){.mp-cart *{animation:none !important;transition:none !important}}

/* Responsive */
@media (max-width:1100px){
  .cart-grid{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s3)}
  .cart-upsell-list{grid-template-columns:1fr}
}
@media (max-width:900px){
  .cart-grid{grid-template-columns:minmax(0,1fr)}
  .cart-side{position:static}
  .cart-sticky{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px var(--gutter);background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -10px 30px -14px rgba(28,43,24,.25)}
  .cart-sticky div{display:flex;flex-direction:column;line-height:1.1}
  .cart-sticky span{font-size:12px;color:var(--muted)}
  .cart-sticky b{font-family:var(--display);font-size:20px;color:var(--ink)}
  .cart-sticky .cart-go{flex:1;margin:0;height:50px;font-size:15px}
  .cart-body{padding-bottom:120px}
}
@media (max-width:600px){
  .cart-ladder{padding:var(--s2) var(--s2) var(--s5)}
  .cart-ladder-msg{font-size:13.5px}
  .cart-item{grid-template-columns:72px auto minmax(0,1fr);grid-template-areas:"img info info" "img qty line" "acts acts acts";column-gap:12px;padding:var(--s2)}
  .cart-qty{height:40px}
  .cart-qty button{width:34px}
  .cart-qty input{width:36px}
  .cart-sticky .cart-go{font-size:14px;white-space:nowrap;gap:6px}
  .cart-sticky b{font-size:17px}
  .cart-item-img{width:72px;height:72px}
  .cart-line{font-size:16px}
  .cart-stock{display:none}
}

/* Order steps (cart, checkout, order received) */
.ord-steps{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.ord-steps li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--muted)}
.ord-steps li>a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.ord-steps li+li::before{content:"";width:48px;height:2px;margin:0 14px;background:var(--border-strong)}
.ord-steps span{width:30px;height:30px;display:grid;place-items:center;border:1.5px solid var(--border-strong);font:600 13px var(--display)}
.ord-steps span svg{width:15px;height:15px}
.ord-steps li.is-done{color:var(--green-strong)}
.ord-steps li.is-done span{background:var(--green-soft-2);border-color:var(--green-soft-2);color:var(--green-dark)}
.ord-steps li.is-done a:hover{color:var(--ink)}
.ord-steps li.is-on::before,.ord-steps li.is-done+li::before{background:var(--green-strong)}
.ord-steps li.is-on{color:var(--ink)}
.ord-steps li.is-on span{background:var(--ink);border-color:var(--ink);color:#fff}
@media (max-width:900px){
  .ord-steps li,.ord-steps li>a{font-size:0;gap:0}
  .ord-steps li+li::before{width:28px;margin:0 8px}
}

/* WordPress / WooCommerce glue */
/* Anything WooCommerce prints outside the three layouts (notices, "log in to see this order", e-mail check…) */
.mp-shop-flow>.woocommerce>:not(.mp-cart):not(.ck):not(.ty):not(.woocommerce-notices-wrapper){max-width:calc(var(--container) - 2 * var(--gutter));margin:24px auto}
.mp-shop-flow>.woocommerce>.woocommerce-notices-wrapper:not(:empty){max-width:calc(var(--container) - 2 * var(--gutter));margin:16px auto 0}
.mp-shop-flow>.woocommerce>form.woocommerce-form-login{background:var(--surface);border:1px solid var(--border);padding:24px;border-radius:var(--r-card)}
@media (max-width:1240px){.mp-shop-flow>.woocommerce>:not(.mp-cart):not(.ck):not(.ty){margin-inline:var(--gutter)}}
.mp-cart .mp-crumbs{padding:0;white-space:normal}
.mp-cart .cart-head h1 .cart-count{font-weight:600}
.mp-cart .cart-item-info .variation{display:flex;flex-wrap:wrap;gap:2px 8px;margin:0;font-size:12.5px;color:var(--muted)}
.mp-cart .cart-item-info .variation dd,.mp-cart .cart-item-info .variation p{margin:0}
.mp-cart .cart-stock.is-wait{color:#9A6B00}
.mp-cart .cart-stock.is-wait i{background:#E0A800}
.mp-cart .cart-qty-one{display:grid;place-items:center;width:44px;font-weight:600;color:var(--ink)}
.mp-cart .cart-qty input.qty{flex:none;width:44px!important;min-width:0;height:auto;min-height:0;padding:0;margin:0;border-radius:0;background:#fff;box-shadow:none}
.mp-cart .cart-item-acts .product-remove{display:contents}
.mp-cart .cart-save span{font:inherit}
.mp-cart .cart-actions{height:0;overflow:hidden}
.mp-cart .cart-collaterals{width:auto;float:none}
.mp-cart .cart-ship-opt em{white-space:nowrap}
.mp-cart .cart-collaterals .cart_totals{float:none!important;width:auto!important}
.mp-cart .cart-promo-row button.button{border-radius:0 var(--r-md) var(--r-md) 0!important;min-height:0;margin:0}
.mp-cart .cart-promo-row input.input-text{border-radius:var(--r-md) 0 0 var(--r-md)}
.mp-cart .cart-go.checkout-button{border-radius:var(--r-md)!important;margin:0;padding:0 16px!important;width:100%;min-height:56px;font-size:16px!important;line-height:1.2}
.mp-cart .cart-sticky .cart-go{width:auto;margin:0}
.mp-cart .wc-proceed-to-checkout a.checkout-button.cart-go{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center} /* WooCommerce sets display:block */
.mp-cart .cart-rows dd .woocommerce-remove-coupon{margin-left:6px;font-size:12px;font-weight:600;color:var(--muted)}
.mp-cart .cart-rows dd strong,.mp-cart .cart-total b strong{font-weight:inherit}
.mp-cart .cart-total small,.mp-cart .cart-sticky small{display:block;font:400 11px var(--font);color:var(--muted);text-align:right}
.mp-cart .cart-ship-opt input[type=hidden]+span{padding-left:0}
.mp-cart .cart-ship-opt:has(input[type=hidden]){cursor:default;border-color:var(--green-soft-2);background:var(--green-soft)}
.mp-cart .cart-ship-opt:has(input[type=hidden])::before{display:none}
.mp-cart .cart-up-add{text-decoration:none}
.mp-cart .cart-up-add.loading{opacity:.6}
.mp-cart .cart-up-add.added+.added_to_cart{display:none}
.mp-cart .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}
.mp-cart .cart-empty .cart-go{width:auto}


/* =========================================================================
   Checkout, from inspirations/cart and checkout/validation-de-la-commande.html
   (woocommerce/checkout/*.php)
   ========================================================================= */
.ck{color:var(--text);font-family:var(--font)}
.ck *,.ck *::before,.ck *::after{box-sizing:border-box}
:where(.ck) img{display:block;max-width:100%;height:auto}
:where(.ck) h1,:where(.ck) h2{font-family:var(--display);color:var(--ink);margin:0}
:where(.ck) p{margin:0}
:where(.ck) ul,:where(.ck) ol,:where(.ck) dl,:where(.ck) dd{list-style:none;margin:0;padding:0}
:where(.ck) fieldset{border:0;margin:0;padding:0;min-width:0}
:where(.ck) button{font:inherit;cursor:pointer}
.ck svg{flex:none}
.ck .num{font-variant-numeric:tabular-nums}
.ck [hidden]{display:none!important}
.ck-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ck .eyebrow{margin:0 0 6px}

/* En-tête */
.ck-head{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--s3) 0 var(--s4)}
.ck-head .mp-crumbs{margin-bottom:var(--s3)}
.ck-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.ck-head h1{font-size:clamp(30px,3.6vw,44px);line-height:1;letter-spacing:-.03em;font-weight:700}

.ck-body{background:var(--bg);padding:var(--s4) 0 var(--s10)}

/* Bandeaux */
.ck-notices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:var(--s3);align-items:start}
.ck-notice{background:var(--surface);border:1px solid var(--border)}
.ck-notice .woocommerce-info{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:14px var(--s2);margin:0;font-size:14px;color:var(--text);background:none;border:0}
.ck-notice .woocommerce-info::before{display:none}
.ck-notice .woocommerce-info svg{width:18px;height:18px;color:var(--green-strong)}
.ck-notice .woocommerce-info button{background:none;border:0;padding:0;color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:4px;text-decoration-thickness:2px}
.ck-notice .woocommerce-info button:hover{color:var(--green-strong)}
.ck-drawer{padding:0 var(--s2) var(--s2);border-top:1px dashed var(--border-strong);padding-top:var(--s2);margin:0;animation:ck-in .35s var(--ease)}
@keyframes ck-in{from{opacity:0;transform:translateY(-6px)}}
.ck-drawer-txt{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:var(--s2)}
.ck-drawer-foot{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s2)}
.ck-drawer-foot .ck-btn-dark{margin-left:auto}
.ck-link{font-size:13px;color:var(--muted)}
.ck-btn-dark{height:46px;padding:0 18px;border:0;background:var(--ink);color:#fff;font-weight:600;font-size:14px;transition:background var(--dur) var(--ease)}
.ck-btn-dark:hover{background:var(--green-dark)}
.ck-promo{display:flex}
.ck-promo input{flex:1;min-width:0;height:46px;padding:0 12px;border:1px solid var(--border-strong);border-right:0;font:500 14px var(--font);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--r-md) 0 0 var(--r-md)}
.ck-promo input:focus{outline:none;border-color:var(--green-strong)}

/* Grille */
.ck-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--s5);align-items:start}
.ck-main{display:grid;gap:12px;counter-reset:b}

/* Blocs */
.ck-block{background:var(--surface);border:1px solid var(--border);padding:var(--s3) var(--s4) var(--s4);position:relative;transition:border-color .3s var(--ease)}
.ck-block::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--border-strong);transition:background .3s var(--ease)}
.ck-block.is-ok::before{background:var(--green-strong)}
.ck-block.is-err::before{background:var(--sale)}
.ck-block-h{display:flex;align-items:center;gap:14px;margin-bottom:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--border)}
.ck-block-h h2{font-size:21px;letter-spacing:-.02em;font-weight:700;flex:1}
.ck-block-n{position:relative;width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 15px var(--display)}
.ck-block-n i{font-style:normal;transition:transform .3s var(--ease),opacity .3s}
.ck-block-n svg{position:absolute;width:18px;height:18px;opacity:0;transform:scale(.4);transition:all .35s var(--ease)}
.ck-block.is-ok .ck-block-n{background:var(--green-strong)}
.ck-block.is-ok .ck-block-n i{opacity:0;transform:scale(.4)}
.ck-block.is-ok .ck-block-n svg{opacity:1;transform:none}
.ck-block-state{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 10px;background:var(--bg);border:1px solid var(--border)}
.ck-block-state.is-ok{color:var(--green-dark);background:var(--green-soft);border-color:var(--green-soft-2)}

/* Champs */
.ck-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s2)}
.ck-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.ck-f--wide,.ck-f-row3{grid-column:1/-1}
.ck-f-row3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px;gap:var(--s2)}
#billing_address_2_field{margin-top:calc(var(--s2) * -1 + 4px)}
.ck-f label,.ck-more summary{font-size:13px;font-weight:600;color:var(--ink)}
.ck-req{color:var(--green-strong)}
.ck-opt{font-weight:400;color:var(--muted)}
.ck-f input,.ck-f textarea,.ck-tel{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--border-strong);background:var(--surface);font:500 15px var(--font);color:var(--ink);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.ck-f textarea{padding:12px 14px;line-height:1.5;resize:vertical}
.ck-f input::placeholder,.ck-f textarea::placeholder{color:#9AA394}
.ck-f input:focus,.ck-f textarea:focus,.ck-tel:focus-within{outline:none;border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft-2)}
.ck-tel{display:flex;align-items:center;padding:0}
.ck-tel>span{padding:0 12px;align-self:stretch;display:flex;align-items:center;background:var(--bg);border-right:1px solid var(--border);font-weight:600;font-size:14px;color:var(--muted)}
.ck-tel input{border:0;min-height:48px;box-shadow:none!important}
.ck-f.is-valid input{border-color:var(--green);background:linear-gradient(var(--surface),var(--surface)) padding-box}
.ck-f.is-valid:not(.ck-more)>input{background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A7A00' stroke-width='2.4'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat right 14px center/16px;padding-right:40px}
.ck-f.is-valid .ck-tel{border-color:var(--green)}
.ck-f.is-invalid input,.ck-f.is-invalid .ck-tel{border-color:var(--sale);box-shadow:0 0 0 3px var(--sale-bg)}
.ck-f.is-invalid .ck-tel input{box-shadow:none;border:0}
.ck-f-err{font-size:12.5px;color:var(--sale);font-weight:600}
.ck-more summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--muted)}
.ck-more summary::-webkit-details-marker{display:none}
.ck-more summary::before{content:"+";width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--border-strong);font-size:15px;color:var(--ink)}
.ck-more[open] summary::before{content:"−"}
.ck-more[open] input{margin-top:8px}
.ck-check{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.ck-check input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:1.5px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:all var(--dur) var(--ease)}
.ck-check input::after{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .2s var(--ease)}
.ck-check input:checked{background:var(--green-strong);border-color:var(--green-strong)}
.ck-check input:checked::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.ck-check input:focus-visible{outline:2px solid var(--green-strong);outline-offset:2px}
.ck-account{margin-top:var(--s3);padding-top:var(--s2);border-top:1px dashed var(--border-strong);display:grid;gap:12px}
.ck-account .ck-f{max-width:360px}
.ck-check--box{width:100%;padding:14px var(--s2);border:1px dashed var(--border-strong);margin-top:var(--s3)}
.ck-check--box:has(input:checked){border-style:solid;border-color:var(--ink);background:var(--green-soft)}
#ck-ship-addr{margin-top:var(--s2);padding:var(--s3);background:var(--bg);border:1px solid var(--border);animation:ck-in .35s var(--ease)}
.woocommerce-additional-fields{margin-top:var(--s3)}

/* Cartes options (expédition / paiement) */
.ck-ship ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ck-opt-card{position:relative;display:flex;align-items:center;gap:12px;height:100%;padding:14px var(--s2);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;transition:all var(--dur) var(--ease)}
.ck-opt-card input{position:absolute;opacity:0;pointer-events:none}
.ck-opt-card::after{content:"";position:absolute;top:10px;right:10px;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 3px var(--surface)}
.ck-opt-card:hover{border-color:var(--ink)}
.ck-opt-card:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--green-soft)}
.ck-opt-card:has(input:checked)::after{background:var(--green-strong);border-color:var(--green-strong)}
.ck-opt-card:has(input:focus-visible){outline:2px solid var(--green-strong);outline-offset:2px}
.ck-opt-card.is-off{opacity:.45;cursor:not-allowed}
.ck-opt-ic{width:42px;height:42px;display:grid;place-items:center;background:var(--bg);color:var(--green-strong);border:1px solid var(--border)}
.ck-opt-card:has(input:checked) .ck-opt-ic{background:var(--ink);color:var(--green-soft-2);border-color:var(--ink)}
.ck-opt-ic svg{width:22px;height:22px}
.ck-opt-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding-right:18px}
.ck-opt-txt b{font-size:14.5px;color:var(--ink)}
.ck-opt-txt small{font-size:12.5px;color:var(--muted);line-height:1.4}
.ck-opt-card em{font-style:normal;font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap;align-self:flex-end}
.ck-ship li:first-child em{color:var(--green-strong)}
.ck-opt-card--pay{padding:var(--s2)}
.ck-opt-card--pay .ck-opt-txt small{font-size:13.5px}
.ck-pay-amt{font-family:var(--display);font-size:17px!important}
.ck-privacy{display:flex;gap:12px;margin-top:var(--s3);font-size:13px;line-height:1.6;color:var(--muted)}
.ck-privacy svg{width:16px;height:16px;margin-top:3px;color:var(--green-strong)}
.ck-privacy a{color:var(--ink);font-weight:600}
.ck-place{margin-top:var(--s3);width:100%;display:flex;align-items:center;justify-content:center;gap:12px;height:60px;border:0;background:var(--green-strong);color:#fff;font:600 17px var(--font);position:relative;overflow:hidden;transition:background var(--dur) var(--ease)}
.ck-place svg{width:18px;height:18px}
.ck-place span{font-family:var(--display);font-weight:700;padding-left:12px;border-left:1px solid rgba(255,255,255,.35)}
.ck-place:hover{background:var(--green-dark)}
.ck-place.is-busy{pointer-events:none}
.ck-place.is-busy::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:ck-shine 1s linear infinite}
@keyframes ck-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.ck-error{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px var(--s2);background:var(--sale-bg);color:var(--sale);font-size:14px;font-weight:600}
.ck-error svg{width:18px;height:18px;margin-top:2px}

/* Ticket */
.ck-side{position:sticky;top:var(--ck-top,150px);display:grid;gap:12px}
.ck-ticket{background:var(--surface);padding:var(--s4) var(--s3) var(--s3);filter:drop-shadow(0 18px 30px rgba(28,43,24,.12));
  -webkit-mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x;
          mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x}
.ck-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:var(--s2);border-bottom:2px dashed var(--border-strong)}
.ck-ticket-top h2{font-size:20px}
.ck-edit{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}
.ck-edit svg{width:14px;height:14px}
.ck-edit:hover{color:var(--ink)}
.ck-items{padding:var(--s2) 0;display:grid;gap:12px;border-bottom:1px dashed var(--border-strong)}
.ck-items li{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:12px;align-items:center}
.ck-item-img{position:relative;width:60px;height:60px;background:var(--bg);display:grid;place-items:center;padding:5px}
.ck-item-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ck-item-img i{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 11px var(--font)}
.ck-item-name{font-size:12.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.ck-item-name strong{display:none}
.ck-items b{font-size:14px;color:var(--ink);white-space:nowrap}
.ck-rows{padding:var(--s2) 0;display:grid;gap:10px;border-bottom:1px dashed var(--border-strong)}
.ck-rows div{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.ck-rows dd{font-weight:600;color:var(--ink)}
.ck-rows dd.is-free{color:var(--green-strong)}
.ck-total{display:flex;justify-content:space-between;align-items:baseline;padding:var(--s2) 0 8px}
.ck-total span{font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}
.ck-total b{font-family:var(--display);font-weight:700;font-size:32px;letter-spacing:-.02em;color:var(--ink)}
.ck-points{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--green-soft);font-size:12.5px;line-height:1.4}
.ck-points svg{width:16px;height:16px;color:var(--green)}
.ck-points b{color:var(--ink)}

/* Étiquette en direct */
.ck-label{margin-top:var(--s2);padding:14px var(--s2) 14px calc(var(--s2) + 6px);border:1px solid var(--ink);position:relative;font-size:13.5px;line-height:1.45;color:var(--ink);background:var(--surface)}
.ck-label::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 9px)}
.ck-label-k{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ck-label-k svg{width:14px;height:14px;color:var(--green-strong)}
.ck-label-name{font-family:var(--display);font-weight:700;font-size:16px}
.ck-label-tel:empty{display:none}
.ck-label-tel{margin-top:4px;color:var(--muted)}
.ck-ph{color:#B4BCAE;font-weight:500}
.ck-label p.is-pop{animation:ck-pop .3s var(--ease)}
@keyframes ck-pop{from{background:var(--green-soft-2)}}

.ck-trust{background:var(--surface);border:1px solid var(--border)}
.ck-trust li + li{border-top:1px solid var(--border)}
.ck-trust li,.ck-trust a{display:flex;gap:12px;align-items:flex-start;padding:12px var(--s2);font-size:12.5px;color:var(--muted);line-height:1.5;text-decoration:none}
.ck-trust li:has(a){padding:0}
.ck-trust a{width:100%}
.ck-trust a:hover b{color:var(--green-strong)}
.ck-trust svg{width:20px;height:20px;color:var(--green-strong)}
.ck-trust b{display:block;font-size:13.5px;color:var(--ink)}
.ck-sticky{display:none}
@media (prefers-reduced-motion:reduce){.ck *{animation:none!important;transition:none!important}}

/* Responsive */
@media (max-width:1100px){
  .ck-grid{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s3)}
  .ck-block{padding:var(--s3)}
}
@media (max-width:900px){
  .ck-grid{grid-template-columns:minmax(0,1fr)}
  .ck-side{position:static}
  .ck-notices{grid-template-columns:1fr}
  .ck-sticky{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px var(--gutter);background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -10px 30px -14px rgba(28,43,24,.25)}
  .ck-sticky div{display:flex;flex-direction:column;line-height:1.1}
  .ck-sticky span{font-size:12px;color:var(--muted)}
  .ck-sticky b{font-family:var(--display);font-size:20px;color:var(--ink)}
  .ck-sticky .ck-place{flex:1;margin:0;height:50px;font-size:15px}
  .ck-body{padding-bottom:120px}
  .ck-label{display:none}
}
@media (max-width:600px){
  .ck-fields,.ck-ship ul{grid-template-columns:1fr}
  .ck-f-row3{grid-template-columns:minmax(0,1fr) 110px}
  .ck-f-row3 .ck-f:nth-child(2){grid-column:1/-1;order:3}
  .ck-block{padding:var(--s2)}
  .ck-block-h h2{font-size:18px}
  .ck-drawer-foot .ck-btn-dark{margin-left:0;width:100%}
  .ck-promo{flex-direction:column}
  .ck-promo input{border-right:1px solid var(--border-strong);border-bottom:0}
  .ck-place{font-size:16px}
}

/* Champs personnalisés (coordonnées + livraison) */
.ck-req{color:var(--sale)}
.ck-opt{font-weight:400;color:var(--muted);font-size:12.5px}
.ck-hint{font-size:12.5px;color:var(--muted)}
.ck-sub{grid-column:1/-1;margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.ck-select{position:relative;display:block}
.ck-select::after{content:"";position:absolute;right:16px;top:50%;margin-top:-3px;border:5px solid transparent;border-top-color:var(--ink);border-bottom:0;pointer-events:none}
.ck-select select{width:100%;min-height:50px;padding:0 40px 0 14px;border:1px solid var(--border-strong);background:var(--surface);font:500 15px var(--font);color:var(--ink);border-radius:var(--r-md);-webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.ck-select select:focus{outline:none;border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft-2)}
.ck-select select:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}
.ck-f.is-valid select{border-color:var(--green)}
.ck-f.is-invalid select,.ck-f.is-invalid textarea{border-color:var(--sale);box-shadow:0 0 0 3px var(--sale-bg)}
.ck-f.is-valid textarea{border-color:var(--green)}
.ck-f textarea{min-height:84px}

/* Expédition : ligne unique */
.ck-ship{display:block}
.ck-ship-line{display:flex;align-items:center;gap:12px;padding:14px var(--s2);border:1px solid var(--border-strong);background:var(--surface)}
.ck-ship-line.is-free{border-color:var(--green-soft-2);background:var(--green-soft)}
.ck-ship-line.is-free .ck-opt-ic{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.ck-ship-line em{font-style:normal;font-weight:700;font-size:15px;color:var(--ink);white-space:nowrap}
.ck-ship-line.is-free em{color:var(--green-strong)}
.ck-ship-line .ck-opt-txt{padding-right:0}

/* WooCommerce field markup → the mockup's fields */
.ck .mp-crumbs{padding:0;white-space:normal}
.ck .ck-fields .form-row{float:none;width:auto;margin:0;padding:0}
.ck .ck-fields .form-row-wide,.ck .ck-fields .notes,.ck .ck-sub{grid-column:1/-1}
.ck .ck-sub{margin-bottom:0}
.ck .ck-f>label{display:block;font-size:13px;font-weight:600;color:var(--ink);line-height:1.4;margin:0}
.ck .ck-f .required{color:var(--sale);border:0;text-decoration:none;font-weight:600}
.ck .ck-f .optional{font-weight:400;color:var(--muted);font-size:12.5px}
.ck .woocommerce-input-wrapper{display:block}
.ck .ck-f .description{display:block!important;position:static!important;margin:6px 0 0!important;padding:0!important;background:none!important;color:var(--muted)!important;font-size:12.5px;line-height:1.45;border-radius:0}
.ck .ck-notice .woocommerce-info{background:none!important;border:0!important;margin:0!important;padding:14px 16px!important;box-shadow:none!important}
.ck .ck-notice .woocommerce-info::before{display:none!important}
.ck .ck-f .description::before{display:none}
.ck .ck-f select{width:100%;min-height:50px;padding:0 40px 0 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%231C2B18'/%3E%3C/svg%3E") no-repeat right 16px center/10px 6px;font:500 15px var(--font);color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.ck .ck-fields .ck-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%231C2B18'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:10px 6px!important;padding-right:40px!important}
.ck .ck-f select:focus{outline:none;border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft-2)}
.ck .ck-f select:disabled{background-color:var(--bg);color:var(--muted);cursor:not-allowed}
.ck .ck-f textarea{width:100%;min-height:84px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);font:500 15px var(--font);color:var(--ink);line-height:1.5;resize:vertical}
.ck .ck-f textarea:focus{outline:none;border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft-2)}
.ck .ck-f.woocommerce-invalid input,.ck .ck-f.woocommerce-invalid select,.ck .ck-f.woocommerce-invalid textarea,.ck .ck-f.is-invalid input,.ck .ck-f.is-invalid select,.ck .ck-f.is-invalid textarea{border-color:var(--sale);box-shadow:0 0 0 3px var(--sale-bg)}
.ck .ck-f.is-valid select,.ck .ck-f.is-valid textarea{border-color:var(--green)}
.ck .ck-f.is-valid input{border-color:var(--green);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A7A00' stroke-width='2.4'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat right 14px center/16px;padding-right:40px}
.ck .ck-f-err{display:block;margin-top:6px}
.ck .ck-account .create-account{margin-top:4px}
.ck .ck-account .create-account .ck-f{max-width:none}
.ck .woocommerce-billing-fields>h3{display:none}

/* Notices: before the form and WooCommerce's errors inside it */
.ck .ck-notices>.woocommerce-notices-wrapper,.ck .ck-notices>.woocommerce-error,.ck .ck-notices>.woocommerce-message,.ck .ck-notices>.woocommerce-info{grid-column:1/-1;margin:0}
.ck .ck-notices:empty{display:none}
.ck .ck-notice .woocommerce-info a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:4px;text-decoration-thickness:2px}
.ck .ck-notice .woocommerce-info a:hover{color:var(--green-strong)}
.ck .ck-notice form.ck-drawer{border-radius:0;border-left:0;border-right:0;border-bottom:0}
.ck form.checkout>.woocommerce-NoticeGroup,.ck form.checkout>.woocommerce-error,.ck form.checkout>.woocommerce-message{grid-column:1/-1}
.ck .ck-must-login{padding:24px;background:var(--surface);border:1px solid var(--border)}

/* Shipping */
.ck .ck-ship ul{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;list-style:none;margin:0;padding:0}
.ck #payment.ck-block{background:var(--surface);border-radius:var(--r-card)}
.ck .ck-ship ul.is-choice{grid-template-columns:repeat(2,minmax(0,1fr))}
.ck .ck-ship-none{font-size:14px;color:var(--muted)}

/* Payment: WooCommerce rewrites the button label, so the lock and the amount are drawn here */
.ck #payment ul.payment_methods{display:grid;gap:8px;list-style:none;margin:0;padding:0;border:0}
.ck #payment ul.payment_methods li{margin:0;padding:0;list-style:none}
.ck #payment ul.payment_methods li::before,.ck #payment ul.payment_methods li::after{display:none}
.ck #payment .payment_box{margin:8px 0 0;padding:16px;background:var(--bg);border:1px solid var(--border);font-size:14px}
.ck #payment .payment_box::before{display:none}
.ck .ck-pay-icons img{display:inline-block;max-height:22px;width:auto;margin-top:6px}
.ck .ck-terms .woocommerce-privacy-policy-text{position:relative;margin-top:var(--s3);padding-left:28px;font-size:13px;line-height:1.6;color:var(--muted)}
.ck .ck-terms .woocommerce-privacy-policy-text::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;background:var(--green-strong);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Crect x='5' y='10' width='14' height='10'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Crect x='5' y='10' width='14' height='10'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat}
.ck .ck-terms .woocommerce-privacy-policy-text p{margin:0}
.ck .ck-terms .woocommerce-privacy-policy-text a{color:var(--ink);font-weight:600}
.ck .ck-terms .woocommerce-terms-and-conditions-wrapper .form-row{margin:12px 0 0;padding:0}
.ck #place_order.ck-place{float:none;border-radius:var(--r-md)}
.ck #place_order.ck-place::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Crect x='5' y='10' width='14' height='10'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Crect x='5' y='10' width='14' height='10'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat}
.ck #place_order.ck-place[data-amount]:not([data-amount=""])::after{content:attr(data-amount);font-family:var(--display);font-weight:700;padding-left:12px;border-left:1px solid rgba(255,255,255,.35)}
.ck #place_order.ck-place.is-busy::after,.ck form.processing #place_order::after{content:"";position:absolute;inset:0;padding:0;border:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:ck-shine 1s linear infinite}

/* Summary */
.ck .ck-review{display:block}
.ck #order_review{background:none;border:0;padding:0;position:static}
.ck .ck-item-name .variation{display:block;margin:2px 0 0;font-size:11.5px;font-weight:400;color:var(--muted)}
.ck .ck-item-name .variation dt,.ck .ck-item-name .variation dd,.ck .ck-item-name .variation p{display:inline;margin:0}
.ck .ck-rows .is-save dt,.ck .ck-rows .is-save dd{color:var(--green-strong)}
.ck .ck-rows dd .woocommerce-remove-coupon{margin-left:6px;font-size:12px;color:var(--muted)}
.ck .ck-total b small,.ck .ck-sticky b small{display:block;font:400 11px var(--font);color:var(--muted);text-align:right}
.ck .ck-label p:empty::before{content:attr(data-ph);color:#B4BCAE;font-weight:500}
.ck .ck-label .ck-label-tel:empty::before{content:none}
.ck .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}


/* =========================================================================
   Order received, from inspirations/cart and checkout/commande-recue.html
   (woocommerce/checkout/thankyou.php)
   ========================================================================= */
.ty{color:var(--text);font-family:var(--font)}
.ty *,.ty *::before,.ty *::after{box-sizing:border-box}
:where(.ty) img{display:block;max-width:100%;height:auto}
:where(.ty) h1,:where(.ty) h2{font-family:var(--display);color:var(--ink);margin:0}
:where(.ty) p{margin:0}
:where(.ty) ul,:where(.ty) ol,:where(.ty) dl,:where(.ty) dd{list-style:none;margin:0;padding:0}
:where(.ty) button{font:inherit;cursor:pointer}
.ty address{font-style:normal}
.ty svg{flex:none}
.ty .num{font-variant-numeric:tabular-nums}
.ty [hidden]{display:none!important}

/* En-tête */
.ty-head{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--s3) 0}
.ty-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}

/* Héros */
.ty-body{background:var(--bg);padding-bottom:var(--s10)}
.ty-hero{position:relative;overflow:hidden;background:var(--green-soft);border-bottom:1px solid var(--green-soft-2);padding:var(--s8) 0 0}
.ty-hero::before{content:"";position:absolute;inset:0;background:none;pointer-events:none}
.ty-hero-in{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.ty-seal{width:104px;height:104px;color:var(--green-strong);background:var(--surface);border-radius:50%;padding:4px;box-shadow:0 20px 40px -20px rgba(28,43,24,.4);margin-bottom:var(--s3)}
.ty-seal svg{width:100%;height:100%}
.ty-seal-ring{stroke-dasharray:340;stroke-dashoffset:340;animation:ty-draw .8s .1s var(--ease) forwards;transform:rotate(-90deg);transform-origin:center}
.ty-seal-check{stroke-dasharray:70;stroke-dashoffset:70;animation:ty-draw .45s .75s var(--ease) forwards}
@keyframes ty-draw{to{stroke-dashoffset:0}}
.ty-hero .eyebrow{margin:0 0 8px}
.ty-hero h1{font-size:clamp(28px,3.8vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:700;max-width:18ch;text-wrap:balance}
.ty .woocommerce-notice{margin:0;padding:0;background:none;border:0}
.ty .woocommerce-notice::before{display:none}

/* Bande récapitulative perforée */
.ty-overview{position:relative;margin-top:var(--s6)!important;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface);border:1px solid var(--green-soft-2);border-bottom:0;text-align:left;
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 14px repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 13px) no-repeat;
          mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 14px repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 13px) no-repeat}
.ty-overview li{display:flex;flex-direction:column;gap:6px;padding:var(--s3) var(--s3) calc(var(--s3) + 10px);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);min-width:0}
.ty-overview li + li{border-left:1px dashed var(--border-strong)}
.ty-overview strong{font:700 16px var(--display);letter-spacing:-.01em;text-transform:none;color:var(--ink);overflow-wrap:anywhere}
.ty-overview .total strong{color:var(--green-strong);font-size:19px}

/* Confettis (points) */
.ty-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ty-burst i{position:absolute;top:150px;left:50%;width:var(--s,12px);height:var(--s,12px);background:var(--c,var(--green));border-radius:50%;opacity:0;animation:ty-pop 1.6s var(--d,0s) cubic-bezier(.2,.7,.3,1) forwards}
@keyframes ty-pop{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}

/* Grille */
.ty-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--s5);align-items:start;padding-top:var(--s6)}
.ty-main{display:grid;gap:12px}

/* Suivi */
.ty-track{background:var(--surface);border:1px solid var(--border);padding:var(--s4)}
.ty-track h2{font-size:24px;letter-spacing:-.02em;margin-bottom:var(--s4)}
.ty-track-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2);position:relative}
.ty-track-list::before{content:"";position:absolute;left:22px;right:22px;top:21px;height:2px;background:repeating-linear-gradient(90deg,var(--border-strong) 0 6px,transparent 6px 12px)}
.ty-track-list::after{content:"";position:absolute;left:22px;top:21px;height:2px;width:0;background:var(--green-strong);animation:ty-line 1s 1s var(--ease) forwards}
@keyframes ty-line{to{width:calc(25% + 4px)}}
.ty-track-list li{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}
.ty-track-ic{width:44px;height:44px;display:grid;place-items:center;background:var(--surface);border:2px solid var(--border-strong);color:var(--muted)}
.ty-track-ic svg{width:20px;height:20px}
.ty-track-list .is-done .ty-track-ic{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.ty-track-list .is-next .ty-track-ic{border-color:var(--ink);color:var(--ink);animation:ty-pulse 2s 2s infinite}
@keyframes ty-pulse{50%{box-shadow:0 0 0 6px var(--green-soft-2)}}
.ty-track-list b{font:700 15px var(--display);color:var(--ink);margin-top:4px}
.ty-track-list p{font-size:13px;line-height:1.55;color:var(--muted)}
.ty-track-list .is-done p span{color:var(--ink);font-weight:600;overflow-wrap:anywhere}

/* Paiement */
.ty-cash{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s2);align-items:center;padding:var(--s3);background:var(--ink);color:rgba(255,255,255,.78)}
.ty-cash-ic{width:52px;height:52px;display:grid;place-items:center;background:var(--green-soft-2);color:var(--ink)}
.ty-cash-ic svg{width:26px;height:26px}
.ty-cash b{display:block;font:700 17px var(--display);color:#fff}
.ty-cash p{font-size:14px}
.ty-cash-amt{display:flex;flex-direction:column;align-items:flex-end;padding-left:var(--s3);border-left:1px dashed rgba(255,255,255,.3)}
.ty-cash-amt small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-soft-2)}
.ty-cash-amt b{font-size:28px;letter-spacing:-.02em}

/* Adresses */
.ty-addr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ty-addr-card{position:relative;background:var(--surface);border:1px solid var(--border);padding:var(--s3) var(--s3) var(--s3) calc(var(--s3) + 8px);font-size:14.5px;line-height:1.6;color:var(--ink)}
.ty-addr-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 9px)}
.ty-addr-card h2{display:flex;align-items:center;gap:8px;font:700 11px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.ty-addr-card h2 svg{width:15px;height:15px;color:var(--green-strong)}
.ty-addr-card address::first-line{font-family:var(--display);font-weight:700;font-size:16px}
.ty-addr-card p{color:var(--muted);font-size:13.5px;margin-top:6px;overflow-wrap:anywhere}
.ty-addr-card address + p{margin-top:10px}
.ty-addr-card p + p{margin-top:0}

.ty-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s1)}
.ty-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border:1px solid var(--green-strong);background:var(--green-strong);color:#fff;font:600 15px var(--font);text-decoration:none;transition:all var(--dur) var(--ease)}
.ty-btn svg{width:18px;height:18px}
.ty-btn:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.ty-btn:not(.ty-btn--line):hover svg{transform:translateX(4px)}
.ty-btn svg{transition:transform var(--dur) var(--ease)}
.ty-btn--line{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}
.ty-btn--line:hover{background:var(--ink);border-color:var(--ink)}

/* Ticket */
.ty-side{position:sticky;top:var(--ty-top,150px);display:grid;gap:12px}
.ty-ticket{background:var(--surface);padding:var(--s4) var(--s3) var(--s3);filter:drop-shadow(0 18px 30px rgba(28,43,24,.12));
  -webkit-mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x;
          mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x}
.ty-ticket-top{display:flex;align-items:center;gap:12px;padding-bottom:var(--s2);border-bottom:2px dashed var(--border-strong)}
.ty-ticket-top img{width:40px;height:auto}
.ty-ticket-top h2{font-size:19px}
.ty-ticket-top span{font-size:12px;color:var(--muted)}
.ty-items{padding:var(--s2) 0;display:grid;gap:12px;border-bottom:1px dashed var(--border-strong)}
.ty-items li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center}
.ty-item-img{width:52px;height:52px;background:var(--bg);display:grid;place-items:center;padding:4px}
.ty-item-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ty-items .product-name{font-size:12.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.ty-items strong{color:var(--muted);font-weight:600;white-space:nowrap}
.ty-items b{font-size:14px;color:var(--ink);white-space:nowrap}
.ty-rows{padding:var(--s2) 0;display:grid;gap:10px;border-bottom:1px dashed var(--border-strong)}
.ty-rows div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px}
.ty-rows dd{font-weight:600;color:var(--ink);text-align:right}
.ty-total{display:flex;justify-content:space-between;align-items:baseline;padding:var(--s2) 0 8px}
.ty-total span{font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink)}
.ty-total b{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.ty-points{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--green-soft);font-size:12.5px;line-height:1.4}
.ty-points svg{width:16px;height:16px;color:var(--green)}
.ty-points b{color:var(--ink)}
.ty-ask{display:flex;align-items:center;gap:12px;padding:14px var(--s2);background:var(--ink);color:rgba(255,255,255,.75);font-size:12.5px;line-height:1.45;text-decoration:none}
.ty-ask svg{width:36px;height:36px;padding:8px;background:var(--green-strong);color:#fff}
.ty-ask b{display:block;color:#fff;font-size:14px}
.ty-ask:hover b{color:var(--green-soft-2)}

@media (prefers-reduced-motion:reduce){
  .ty *{animation:none!important;transition:none!important}
  .ty-seal-ring,.ty-seal-check{stroke-dashoffset:0}
  .ty-track-list::after{width:calc(25% + 4px)}
  .ty-burst{display:none}
}
@media print{
  .ty-head,.ty-actions,.ty-ask,.ty-burst,.ty-track{display:none}
  .ty-grid{grid-template-columns:1fr}
  .ty-side{position:static}
}

/* Responsive */
@media (max-width:1100px){
  .ty-grid{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s3)}
  .ty-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ty-overview li:nth-child(4){border-left:0}
  .ty-overview li:nth-child(n+4){border-top:1px dashed var(--border-strong)}
}
@media (max-width:900px){
  .ty-grid{grid-template-columns:minmax(0,1fr)}
  .ty-side{position:static}
  .ty-track-list{grid-template-columns:1fr;gap:var(--s3)}
  .ty-track-list li{padding-left:60px;min-height:44px}
  .ty-track-ic{position:absolute;left:0;top:0}
  .ty-track-list li>b{margin-top:10px}
  .ty-track-list::before{left:21px;right:auto;top:22px;bottom:22px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--border-strong) 0 6px,transparent 6px 12px)}
  .ty-track-list::after{left:21px;top:22px;width:2px;height:0;animation-name:ty-line-v}
  @keyframes ty-line-v{to{height:calc(25% + 10px)}}
}
@media (max-width:600px){
  .ty-hero{padding-top:var(--s5)}
  .ty-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ty-overview li{padding:var(--s2) var(--s2) calc(var(--s2) + 10px)}
  .ty-overview li:nth-child(n){border-left:0;border-top:1px dashed var(--border-strong)}
  .ty-overview li:nth-child(-n+2){border-top:0}
  .ty-overview li:nth-child(2),.ty-overview li.method{border-left:1px dashed var(--border-strong)}
  .ty-overview li.email{grid-column:1/-1}
  .ty-track{padding:var(--s3) var(--s2)}
  .ty-cash{grid-template-columns:auto minmax(0,1fr)}
  .ty-cash-amt{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:baseline;padding:var(--s2) 0 0;border-left:0;border-top:1px dashed rgba(255,255,255,.3)}
  .ty-addr{grid-template-columns:1fr}
  .ty-actions .ty-btn{flex:1 1 100%}
}

/* WooCommerce's order-received styles → the mockup */
.ty .mp-crumbs{padding:0;white-space:normal}
.ty .ty-overview{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:0!important;list-style:none}
.ty .ty-overview::before,.ty .ty-overview::after{display:none!important}
.ty .ty-overview li{float:none!important;margin:0!important;border-right:0!important;font-size:11px!important;line-height:1.3;padding:var(--s3) var(--s3) calc(var(--s3) + 10px)!important}
@media (max-width:600px){.ty .ty-overview li{padding:var(--s2) var(--s2) calc(var(--s2) + 10px)!important}}
.ty .ty-overview li strong{display:block;font-size:16px}
.ty .ty-overview li.total strong{font-size:19px}
.ty .ty-addr-card address{border:0!important;padding:0!important;border-radius:0!important;margin:0}
.ty .ty-addr-card p{padding-left:0!important}
.ty .ty-addr-card p::before{display:none!important}
.ty .ty-items .wc-item-meta{list-style:none;margin:2px 0 0;padding:0;font-size:11.5px;font-weight:400;color:var(--muted)}
.ty .ty-items .wc-item-meta li,.ty .ty-items .wc-item-meta p{display:inline;margin:0}
.ty .ty-rows dd small{display:block;font-weight:400;color:var(--muted)}
.ty .ty-total b small{display:block;font:400 11px var(--font);color:var(--muted);text-align:right}
.ty .ty-hooks:empty{display:none}
.ty .ty-hooks>*{margin:0}
.ty .ty-hooks .wc-bacs-bank-details,.ty .ty-hooks section,.ty .ty-hooks h2{background:var(--surface);border:1px solid var(--border);padding:var(--s3);margin:0}
.ty-hero.is-failed{padding-bottom:var(--s6)}
.ty-hero.is-failed h1{color:var(--sale)}
.ty-hero .ty-lead{margin-top:12px;max-width:52ch;color:var(--text)}
.ty-hero .ty-actions{justify-content:center;margin-top:var(--s3)}
.ty-hero .woocommerce-thankyou-order-received{font-size:clamp(28px,3.8vw,48px)}
@media (max-width:1100px){.ty .ty-overview{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.ty .ty-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* =========================================================================
   Rounded corners (client 2026-10-01: "too squared"). The pages ported from
   the square mockups get the theme's radius tokens (v12.css :root):
   panels --r-card, controls --r-md, small marks --r-sm, chips/bars pill.
   Full-width bands (headers, heroes, banners, sticky bars) stay square.
   ========================================================================= */

/* Panels */
.ip-card,.ip-step-card,.ip-tl-card,.ip-pharma-card,.ip-pharma-banner,.ip-shop,.ip-trust,.ip-cats li,.ip-feats li,.ip-hero-media,.ip-cover figure,.ip-tl-media figure,.ip-path,.side-card,.side-help,.contact-tiles,
.cgv-doc,.cgv-toc,.cgv-key-grid li,.cgv-time,.cgv-id,.cgv-foot,.cgv-art--warn,
.liv-label,.liv-jump,.liv-fees,.liv-help-card,.liv-toast,.liv-vis,.liv-more,
.ptn-b,.ptn-mailcard,.ptn-stats,.ptn-more,
.post-feature .img,.page-head .mp-rewards-balance,
.cart-ladder,.cart-item,.cart-upsell,.cart-ticket,.cart-trust,.cart-ask,.cart-empty,.cart-undo,
.ck-notice,.ck-block,.ck .ck-block,.ck-ticket,.ck-trust,.ck .ck-must-login,.ck-label,
.ty-track,.ty-cash,.ty-addr-card,.ty-ticket,.ty-ask,.ty .ty-hooks section,.ty .ty-hooks .wc-bacs-bank-details,
.woocommerce-account .woocommerce-order-details,.woocommerce-account .woocommerce-customer-details{border-radius:var(--r-card)}
/* Panels whose edge decoration (accent bar, label stripes, inner borders) must follow the corners */
.ck-block,.ck .ck-block,.ck-label,.ty-addr-card,.cart-trust,.ck-trust,.ck-notice,.pdp4 .mp-product-video,.ip-hero-media,.ip-cover figure,.ip-tl-media figure,.post-feature .img{overflow:hidden}
.ty .ty-overview{border-radius:var(--r-card) var(--r-card) 0 0}

/* Controls and inner boxes */
.cart-item-img,.cart-qty,.cart-ship-opt,.cart-points,.cart-go,.mp-cart .cart-go.checkout-button,.cart-up-add,.cart-upsell-list li,
.ck-btn-dark,.ck-opt-card,.ck-opt-ic,.ck-ship-line,.ck-place,.ck #place_order.ck-place,.ck-error,.ck-points,.ck-check--box,.ck-block-n,.ck #payment .payment_box,
.ty-btn,.ty-points,.ty-cash-ic,.ty-track-ic,
.liv-btn,.liv-jump a,.liv-more a,.liv-fees-ic,.liv-toast-ic,
.ptn-btn,.ptn-copy,.ptn-mail,.ptn-fill input,.ptn-b-ic,.ptn-stop-ic,
.ip-cat-ic,.ip-feats .ic-box,.ip-pillars .ic-box,.ip-trust .ic-box,.ip-shop-ic,.ip-mark,.contact-tiles .ic,
.cgv-tool,.cgv-contact a,.page-search input,.mp-pagination .page-numbers,.post-share a,.post-share button,.az-bar a{border-radius:var(--r-md)}
.cart-qty{overflow:hidden}
.cart-empty-ic{border-radius:var(--r-lg)}

/* Small marks and thumbnails */
.cart-off,.cart-count,.ck-item-img,.ty-item-img,.cart-up-img,.pdp4 .rt-here,.pdp4 .g-badge,.pdp4 .g-cap,.pdp4 .b4-price .off,.pdp4 .gal-nav button,.pdp4 .sticky-buy img,
.liv-label-top span,.liv-pay span,.liv-cal span,.liv-shelf span,.cgv-art-n,.ty-ask svg,.cart-ask svg,.ck-tel>span{border-radius:var(--r-sm)}
.ck-check input{border-radius:5px}

/* Pills and circles */
.cart-ladder-track,.cart-ladder-fill,.ck-block-state,.ck-item-img i,.pdp4 .inci li,.pdp4 .rt-gift .bar,.pdp4 .rt-gift .bar i{border-radius:var(--r-pill)}
.ord-steps span,.cart-ladder-stop i,.liv-tracker a i,.cart-ship-opt::before{border-radius:50%}

/* Inputs joined to a button */
.ck-promo button{border-radius:0 var(--r-md) var(--r-md) 0}
@media (max-width:600px){
	.ck-promo input{border-radius:var(--r-md) var(--r-md) 0 0}
	.ck-promo button{border-radius:0 0 var(--r-md) var(--r-md)}
}

/* Placeholder pictures (inc/images.php) */
img.mp-placeholder,img.woocommerce-placeholder{object-fit:cover;background:#F3F7EE}


/* =========================================================================
   Mon compte, from inspirations/mon-compte.html (woocommerce/myaccount/*.php,
   MyPharmacy+ tab: mypharmacy-core/includes/loyalty/account.php)
   ========================================================================= */
.acc{color:var(--text);font-family:var(--font)}
.acc *,.acc *::before,.acc *::after{box-sizing:border-box}
:where(.acc) img{display:block;max-width:100%;height:auto}
:where(.acc) h1,:where(.acc) h2,:where(.acc) h3{font-family:var(--display);color:var(--ink);margin:0}
:where(.acc) p{margin:0}
:where(.acc) ul,:where(.acc) ol,:where(.acc) dl,:where(.acc) dd{list-style:none;margin:0;padding:0}
:where(.acc) fieldset{border:0;margin:0;padding:0;min-width:0}
:where(.acc) button{font:inherit;cursor:pointer}
.acc address{font-style:normal}
.acc svg{flex:none}
.acc .num{font-variant-numeric:tabular-nums}
.acc [hidden]{display:none!important}
.acc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.acc-k{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.acc-k svg{width:14px;height:14px;color:var(--green-strong)}

/* En-tête */
.acc-head{position:relative;overflow:hidden;background:var(--green-soft);border-bottom:1px solid var(--green-soft-2);color:var(--text);padding:var(--s3) 0 var(--s5)}
.acc-head .wrap{position:relative}
.acc-head .mp-crumbs{margin-bottom:var(--s4)}
.acc-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.acc-id{display:flex;align-items:center;gap:var(--s3)}
.acc-avatar{width:76px;height:76px;display:grid;place-items:center;background:var(--ink);color:var(--green-soft-2);font:700 26px var(--display);letter-spacing:-.02em;box-shadow:6px 6px 0 var(--green-soft-2)}
.acc-head .eyebrow{color:var(--green-strong);margin:0 0 4px}
.acc-head h1{color:var(--ink);font-size:clamp(28px,3.4vw,42px);line-height:1;letter-spacing:-.03em}
.acc-id-sub{margin-top:8px;font-size:14px;color:var(--muted)}
.acc-pts-card{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:8px;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--green-soft-2);box-shadow:0 18px 30px -22px rgba(28,43,24,.35);color:var(--ink);text-decoration:none;position:relative;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.acc-pts-card::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:4px;background:var(--green-strong)}
.acc-pts-card:hover{border-color:var(--green-strong);transform:translateY(-2px)}
.acc-pts-k{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-strong);margin-bottom:4px}
.acc-pts-k svg{width:14px;height:14px;color:var(--green-strong)}
.acc-pts-card b{font:700 40px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.acc-pts-u{font-size:14px;color:var(--muted)}
.acc-pts-pending{grid-column:1/-1;margin-top:6px;font-size:12.5px;color:var(--green-soft-2)}

/* Grille */
.acc-body{background:var(--bg);padding:var(--s5) 0 var(--s10)}
.acc-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s5);align-items:start}

/* Navigation */
.acc-nav{position:sticky;top:var(--acc-top,150px);display:grid;gap:12px}
.acc-nav ul{background:var(--surface);border:1px solid var(--border);padding:8px}
.acc-nav a{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--ink);font-weight:600;font-size:14.5px;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.acc-nav a svg{width:19px;height:19px;color:var(--muted);transition:color var(--dur) var(--ease)}
.acc-nav a:hover{background:var(--hover-bg)}
.acc-nav a.is-active,.acc-nav a[aria-current="page"]{background:var(--ink);color:#fff}
.acc-nav a.is-active svg{color:var(--green-soft-2)}
.acc-nav-n{margin-left:auto;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;background:var(--green-soft-2);color:var(--green-dark);font-size:12px;font-weight:700}
.acc-nav li:last-child{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}
.acc-nav-out{color:var(--muted)!important}
.acc-nav .acc-nav-help{display:flex;font-weight:400;align-items:center;gap:12px;padding:14px var(--s2);background:var(--surface);border:1px solid var(--border);font-size:12.5px;color:var(--muted);line-height:1.4;text-decoration:none}
.acc-nav .acc-nav-help svg{width:34px;height:34px;padding:8px;background:var(--green-strong);color:#fff}
.acc-nav-help b{display:block;color:var(--ink);font-size:13.5px}
.acc-nav-help:hover b{color:var(--green-strong)}

/* Panneaux */
.acc-content{position:relative;min-width:0}
.acc-pane{animation:acc-in .4s var(--ease)}
@keyframes acc-in{from{opacity:0;transform:translateY(8px)}}
.acc-pane-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}
.acc-pane-h h2{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.025em}
.acc-sub{font-size:18px;margin:var(--s4) 0 var(--s2)}
.acc-lead{margin-bottom:var(--s3);color:var(--muted)}
.acc-intro{padding:var(--s3);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);display:grid;gap:8px;line-height:1.7;font-size:15px}
.acc-intro a{color:var(--green-strong);font-weight:600;text-decoration:underline;text-decoration-color:var(--green-soft-2);text-underline-offset:3px;text-decoration-thickness:2px}
.acc-intro a:hover{text-decoration-color:var(--green-strong)}
.acc-intro strong{color:var(--ink)}

/* Statuts */
.acc-status{max-width:100%;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.acc-status::before{content:"";width:7px;height:7px;background:currentColor}
.acc-status.is-processing{background:var(--green-soft-2);color:var(--green-dark)}
.acc-status.is-processing::before{animation:acc-blink 1.4s infinite}
@keyframes acc-blink{50%{opacity:.25}}
.acc-status.is-completed{background:var(--ink);color:#fff}
.acc-status.is-completed::before{background:var(--green)}
.acc-status.is-cancelled{background:var(--hover-bg);color:var(--muted)}

/* Commande en cours */
.acc-live{margin-top:12px;background:var(--surface);border:1px solid var(--border)}
.acc-live-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s3) var(--s3) 0}
.acc-live-h h3{font-size:19px;margin-top:4px}
.acc-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:var(--s4) var(--s3) var(--s3);position:relative}
.acc-track::before{content:"";position:absolute;left:calc(var(--s3) + 20px);right:calc(var(--s3) + 20px);top:calc(var(--s4) + 19px);height:2px;background:repeating-linear-gradient(90deg,var(--border-strong) 0 6px,transparent 6px 12px)}
.acc-track::after{content:"";position:absolute;left:calc(var(--s3) + 20px);top:calc(var(--s4) + 19px);height:2px;width:calc((100% - var(--s3)*2) * .25 + 4px);background:var(--green-strong)}
.acc-track li{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}
.acc-track span{width:40px;height:40px;display:grid;place-items:center;background:var(--surface);border:2px solid var(--border-strong);color:var(--muted);margin-bottom:6px}
.acc-track span svg{width:18px;height:18px}
.acc-track b{font:700 14px var(--display);color:var(--ink)}
.acc-track small{font-size:12px;color:var(--muted)}
.acc-track .is-done span{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.acc-track .is-now span{border-color:var(--ink);color:var(--ink);animation:acc-pulse 2s infinite}
@keyframes acc-pulse{50%{box-shadow:0 0 0 6px var(--green-soft-2)}}
.acc-track--wide{background:var(--surface);border:1px solid var(--border);margin:var(--s3) 0 12px}
.acc-live-f{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-top:1px dashed var(--border-strong);background:var(--bg)}
.acc-thumbs{display:flex}
.acc-thumbs img{width:44px;height:44px;object-fit:contain;background:var(--surface);border:1px solid var(--border);padding:3px;margin-left:-8px}
.acc-thumbs img:first-child{margin-left:0}
.acc-live-total{display:flex;flex-direction:column;margin-right:auto;line-height:1.2}
.acc-live-total span{font-size:12px;color:var(--muted)}
.acc-live-total b{font:700 20px var(--display);color:var(--ink)}

/* Boutons */
.acc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 22px;border:1px solid var(--green-strong);background:var(--green-strong);color:#fff;font:600 15px var(--font);text-decoration:none;white-space:nowrap;transition:all var(--dur) var(--ease)}
.acc-btn svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}
.acc-btn:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.acc-btn:hover svg:last-child{transform:translateX(3px)}
.acc-btn--sm{height:40px;padding:0 14px;font-size:13.5px}
.acc-btn--line{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}
.acc-btn--line:hover{background:var(--ink);border-color:var(--ink)}
.acc-btn.is-done{background:var(--ink);border-color:var(--ink)}

/* Raccourcis */
.acc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.acc-tile{display:flex;flex-direction:column;gap:4px;padding:var(--s3) var(--s2);background:var(--surface);border:1px solid var(--border);text-decoration:none;transition:all var(--dur) var(--ease)}
.acc-tile>span{width:44px;height:44px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-strong);margin-bottom:var(--s2);transition:all var(--dur) var(--ease)}
.acc-tile>span svg{width:22px;height:22px}
.acc-tile b{font:700 15.5px var(--display);color:var(--ink)}
.acc-tile small{font-size:13px;color:var(--muted)}
.acc-tile:hover{border-color:var(--ink);transform:translateY(-3px)}
.acc-tile:hover>span{background:var(--ink);color:var(--green-soft-2)}
.acc-tile--dark{background:var(--ink);border-color:var(--ink)}
.acc-tile--dark>span{background:var(--green-strong);color:#fff}
.acc-tile--dark b{color:#fff}
.acc-tile--dark small{color:rgba(255,255,255,.7)}

/* Commander à nouveau */
.acc-again{margin-top:var(--s4)}
.acc-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s2)}
.acc-sec-h h3{font-size:19px}
.acc-sec-h a{font-size:14px;font-weight:600;color:var(--green-strong)}
.acc-again-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.acc-again-list li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--border)}
.acc-pimg{width:72px;height:72px;display:grid;place-items:center;background:var(--bg);padding:6px}
.acc-pimg img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.acc-again-list div{display:flex;flex-direction:column;gap:2px;min-width:0}
.acc-again-list a{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.acc-again-list a:hover{color:var(--green-strong)}
.acc-again-list small{font-size:11.5px;color:var(--muted)}
.acc-again-list b{font:700 14px var(--display);color:var(--ink)}
.acc-add{width:42px;height:42px;display:grid;place-items:center;border:0;background:var(--green-strong);color:#fff;align-self:end;transition:background var(--dur) var(--ease)}
.acc-add svg{width:19px;height:19px}
.acc-add:hover{background:var(--green-dark)}
.acc-add.is-done{background:var(--ink)}

/* Commandes */
.acc-filter{display:flex;flex-wrap:wrap;gap:6px}
.acc-filter button{height:36px;padding:0 14px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600;transition:all var(--dur) var(--ease)}
.acc-filter button:hover{border-color:var(--ink)}
.acc-filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.acc-orders{display:grid;gap:8px}
.acc-order{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s3);align-items:center;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);transition:border-color var(--dur) var(--ease)}
.acc-order:hover{border-color:var(--border-strong)}
.acc-order[data-status="cancelled"]{opacity:.7}
.acc-order-thumbs{display:flex;align-items:center;width:112px}
.acc-order-thumbs img,.acc-order-thumbs span{width:52px;height:52px;object-fit:contain;background:var(--bg);border:2px solid var(--surface);padding:4px;margin-left:-14px}
.acc-order-thumbs>:first-child{margin-left:0}
.acc-order-thumbs span{display:grid;place-items:center;background:var(--ink);color:#fff;font-size:13px;font-weight:700}
.acc-order-meta{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.4fr;gap:var(--s2)}
.acc-order-meta div{display:flex;flex-direction:column;gap:4px;min-width:0}
.acc-order-meta dt{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.acc-order-meta dd{font-size:14px;color:var(--ink)}
.acc-order-meta dd a{font-weight:700;color:var(--ink)}
.acc-order-meta dd b{font-family:var(--display)}
.acc-order-meta dd:has(b){font-size:12.5px;color:var(--muted)}
.acc-order-meta dd b{font-size:15px;color:var(--ink);display:block}
.acc-order-acts{display:flex;flex-direction:column;gap:6px;min-width:120px}
.acc-order-acts .acc-btn{width:100%}
.acc-empty{padding:var(--s4);text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong)}

/* Détail commande */
.acc-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--s2);font-size:14px;font-weight:600;color:var(--muted);text-decoration:none}
.acc-back svg{width:16px;height:16px}
.acc-back:hover{color:var(--ink)}
.acc-pane-h .acc-status{margin-right:auto}
.acc-order-line{font-size:15px}
.acc-order-line mark{background:var(--green-soft-2);color:var(--ink);font-weight:700;padding:0 4px}
.acc-od{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}
.acc-ticket{background:var(--surface);padding:var(--s4) var(--s3) var(--s3);filter:drop-shadow(0 14px 24px rgba(28,43,24,.08));
  -webkit-mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x;
          mask:radial-gradient(circle 7px at 50% 0,transparent 98%,#000) 0 0/20px 51% repeat-x,radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 100%/20px 51% repeat-x}
.acc-ticket h3{font-size:18px;padding-bottom:var(--s2);border-bottom:2px dashed var(--border-strong)}
.acc-od-items{padding:var(--s2) 0;display:grid;gap:12px;border-bottom:1px dashed var(--border-strong)}
.acc-od-items li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:12.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.acc-od-items .acc-pimg{width:52px;height:52px;padding:4px}
.acc-od-items strong{color:var(--muted);white-space:nowrap}
.acc-od-items b{font-size:14px;white-space:nowrap}
.acc-od-rows{padding:var(--s2) 0;display:grid;gap:10px;border-bottom:1px dashed var(--border-strong)}
.acc-od-rows div{display:flex;justify-content:space-between;gap:12px;font-size:14.5px}
.acc-od-rows dd{font-weight:600;color:var(--ink);text-align:right}
.acc-od-total{display:flex;justify-content:space-between;align-items:baseline;padding:var(--s2) 0 8px}
.acc-od-total span{font:600 17px var(--display);color:var(--ink)}
.acc-od-total b{font:700 28px var(--display);letter-spacing:-.02em;color:var(--ink)}
.acc-points-note{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--green-soft);font-size:12.5px;line-height:1.4}
.acc-points-note svg{width:16px;height:16px;color:var(--green)}
.acc-points-note b{color:var(--ink)}
.acc-od-side{display:grid;gap:12px}
.acc-label{position:relative;background:var(--surface);border:1px solid var(--ink);padding:var(--s3) var(--s3) var(--s3) calc(var(--s3) + 8px);font-size:14px;line-height:1.6;color:var(--ink)}
.acc-label::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 9px)}
.acc-label .acc-k{margin-bottom:10px}
.acc-label address b{font:700 16px var(--display)}
.acc-label p:not(.acc-k){font-size:13.5px;color:var(--muted)}
.acc-label address + p{margin-top:8px}
.acc-label--lg{max-width:460px}
.acc-label--lg .acc-btn{margin-top:var(--s2)}
.acc-ask{display:flex;align-items:center;gap:12px;padding:14px var(--s2);background:var(--ink);color:rgba(255,255,255,.75);font-size:12.5px;line-height:1.45;text-decoration:none}
.acc-ask svg{width:36px;height:36px;padding:8px;background:var(--green-strong);color:#fff}
.acc-ask b{display:block;color:#fff;font-size:14px}

/* Points */
.acc-pts-hero{display:grid;grid-template-columns:1.3fr 1fr;border:1px solid var(--border)}
.acc-pts-big{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:var(--s4);background:var(--ink);color:rgba(255,255,255,.7)}
.acc-pts-big::after{content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z' fill='%236DAC03' fill-opacity='.25'/%3E%3C/svg%3E") center/contain no-repeat}
.acc-pts-big .acc-k{color:var(--green-soft-2)}
.acc-pts-big b{font:700 64px/1 var(--display);letter-spacing:-.04em;color:#fff}
.acc-pts-pend{display:flex;flex-direction:column;gap:6px;padding:var(--s4);background:var(--surface)}
.acc-pts-pend b{font:700 40px/1 var(--display);color:var(--green-strong);letter-spacing:-.03em}
.acc-pts-pend small{font-size:13px;color:var(--muted);line-height:1.5}
.acc-pts-rule{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px var(--s2);background:var(--green-soft);font-size:14px;color:var(--ink)}
.acc-pts-rule svg{width:18px;height:18px;color:var(--green)}
.acc-hist{background:var(--surface);border:1px solid var(--border)}
.acc-hist li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s2);align-items:center;padding:14px var(--s3)}
.acc-hist li + li{border-top:1px solid var(--border)}
.acc-hist-ic{width:36px;height:36px;display:grid;place-items:center;background:var(--green-strong);color:#fff}
.acc-hist-ic svg{width:17px;height:17px}
.acc-hist .is-pending .acc-hist-ic{background:var(--hover-bg);color:var(--muted)}
.acc-hist b{display:block;font-size:14.5px;color:var(--ink)}
.acc-hist small{font-size:12.5px;color:var(--muted)}
.acc-hist em{font:700 18px var(--display);font-style:normal;color:var(--green-strong)}
.acc-hist .is-pending em{color:var(--muted)}

/* Formulaires */
.acc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);padding:var(--s4);background:var(--surface);border:1px solid var(--border)}
.acc-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.acc-f--wide{grid-column:1/-1}
.acc-f label,.acc-pwset legend{font-size:13px;font-weight:600;color:var(--ink)}
.acc-req{color:var(--sale)}
.acc-hint{font-size:12.5px;color:var(--muted)}
.acc-hint em{font-style:normal}
.acc-f input,.acc-f textarea,.acc-select select{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--border-strong);background:var(--surface);font:500 15px var(--font);color:var(--ink);border-radius:0;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.acc-f textarea{padding:12px 14px;line-height:1.5;resize:vertical;min-height:84px}
.acc-f input::placeholder,.acc-f textarea::placeholder{color:#9AA394}
.acc-f input:focus,.acc-f textarea:focus,.acc-select select:focus{outline:none;border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft-2)}
.acc-f.is-invalid input,.acc-f.is-invalid textarea,.acc-f.is-invalid select{border-color:var(--sale);box-shadow:0 0 0 3px var(--sale-bg)}
.acc-f-err{font-size:12.5px;color:var(--sale);font-weight:600}
.acc-select{position:relative;display:block}
.acc-select::after{content:"";position:absolute;right:16px;top:50%;margin-top:-3px;border:5px solid transparent;border-top-color:var(--ink);border-bottom:0;pointer-events:none}
.acc-select select{padding-right:40px;-webkit-appearance:none;appearance:none;cursor:pointer}
.acc-select select:disabled{background:var(--bg);color:var(--muted)}
.acc-sub-l{margin-top:var(--s1);padding-top:var(--s3);border-top:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.acc-pw{position:relative;display:block}
.acc-pw input{padding-right:52px}
.acc-pw button{position:absolute;right:4px;top:4px;bottom:4px;width:44px;display:grid;place-items:center;border:0;background:none;color:var(--muted)}
.acc-pw button:hover,.acc-pw button[aria-pressed="true"]{color:var(--ink)}
.acc-pw button svg{width:19px;height:19px}
.acc-pwset{grid-column:1/-1;display:grid;align-items:end;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin-top:var(--s2);padding:var(--s3);background:var(--bg);border:1px solid var(--border)}
.acc-pwset legend{float:left;width:100%;grid-column:1/-1;margin-bottom:0;font:700 16px var(--display)}
.acc-form-f{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--s1)}

/* Toast */
.acc-toast{position:fixed;left:50%;bottom:24px;z-index:60;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:14px var(--s3);background:var(--ink);color:#fff;font-weight:600;font-size:14px;box-shadow:0 20px 40px -20px rgba(28,43,24,.6);animation:acc-in .3s var(--ease)}
.acc-toast svg{width:18px;height:18px;color:var(--green)}

@media (prefers-reduced-motion:reduce){.acc *{animation:none!important;transition:none!important}}

/* Responsive */
@media (max-width:1180px){
  .acc-again-list{grid-template-columns:1fr}
  .acc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acc-od{grid-template-columns:1fr}
}
@media (max-width:900px){
  .acc-grid{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .acc-body{padding-top:0}
  .acc-nav ul{border-top:0}
  .acc-nav{position:sticky;top:var(--acc-top,0px);z-index:20;margin:0 calc(var(--gutter) * -1);display:block}
  .acc-nav ul{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:8px var(--gutter);border-left:0;border-right:0}
  .acc-nav ul::-webkit-scrollbar{display:none}
  .acc-nav a{white-space:nowrap;padding:10px 14px}
  .acc-nav li:last-child{margin:0;padding:0;border:0}
  .acc-nav .acc-nav-help{display:none}
}
@media (max-width:600px){
  .acc-head{padding-bottom:var(--s3)}
  .acc-avatar{width:56px;height:56px;font-size:20px}
  .acc-pts-card{width:100%;grid-template-columns:auto 1fr}
  .acc-track{grid-template-columns:1fr;gap:var(--s2);padding:var(--s3) var(--s2)}
  .acc-track li{padding-left:56px;min-height:40px;justify-content:center}
  .acc-track span{position:absolute;left:0;top:0;margin:0}
  .acc-track::before{left:calc(var(--s2) + 19px);right:auto;top:calc(var(--s3) + 20px);bottom:calc(var(--s3) + 20px);width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--border-strong) 0 6px,transparent 6px 12px)}
  .acc-track::after{left:calc(var(--s2) + 19px);top:calc(var(--s3) + 20px);width:2px;height:calc(25% + 4px)}
  .acc-live-h{padding:var(--s2) var(--s2) 0;flex-wrap:wrap}
  .acc-live-f{flex-wrap:wrap;padding:var(--s2)}
  .acc-live-f .acc-btn{width:100%}
  .acc-pts-hero{grid-template-columns:1fr}
  .acc-pts-big b{font-size:52px}
  .acc-form,.acc-pwset{grid-template-columns:1fr;padding:var(--s2)}
  .acc-form-f .acc-btn{flex:1 1 100%}
  .acc-hist li{padding:12px var(--s2)}
}

/* ===== MyPharmacy+ ===== */
.mpp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4);align-items:center;padding:var(--s5) var(--s4);background:var(--green-soft);border:1px solid var(--green-soft-2);position:relative;overflow:hidden}
.mpp-hero::before{content:"";position:absolute;inset:0;background:none;pointer-events:none}
.mpp-hero>*{position:relative}
.mpp-card-wrap{perspective:900px;--rx:0deg;--ry:0deg;--gx:30%}
.mpp-card{position:relative;overflow:hidden;aspect-ratio:1.586;max-width:400px;padding:var(--s3);display:flex;flex-direction:column;justify-content:space-between;color:#fff;
  background:radial-gradient(120% 90% at 100% 0,rgba(109,172,3,.45),transparent 55%),radial-gradient(90% 80% at 0 100%,rgba(74,122,0,.55),transparent 60%),var(--ink);
  box-shadow:0 30px 50px -24px rgba(28,43,24,.55),inset 0 0 0 1px rgba(255,255,255,.08);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s var(--ease);animation:mpp-float 6s ease-in-out infinite}
@keyframes mpp-float{50%{translate:0 -6px}}
.mpp-card::before{content:"";position:absolute;inset:0;background:none;pointer-events:none}
.mpp-sheen{position:absolute;inset:-40%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.16) 50%,transparent 60%);transform:translateX(-60%);animation:mpp-sheen 5s 1s ease-in-out infinite;pointer-events:none}
@keyframes mpp-sheen{0%,60%{transform:translateX(-60%)}100%{transform:translateX(60%)}}
.mpp-card-top{position:relative;display:flex;align-items:center;justify-content:space-between}
.mpp-logo{display:flex;align-items:center;gap:8px;font:700 18px var(--display);letter-spacing:-.02em}
.mpp-logo svg{width:18px;height:18px;color:var(--green)}
.mpp-logo b{color:var(--green);font-size:22px;line-height:1;margin-left:1px}
.mpp-chip{width:40px;height:30px;background:linear-gradient(135deg,var(--green-soft-2),#B9D88E);position:relative}
.mpp-chip::before{content:"";position:absolute;inset:6px 8px;border:1px solid rgba(28,43,24,.35);border-left:0;border-right:0}
.mpp-card-pts{position:relative;display:flex;flex-direction:column}
.mpp-card-pts b{font:700 clamp(40px,4.6vw,56px)/1 var(--display);letter-spacing:-.04em}
.mpp-card-pts span{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}
.mpp-card-foot{position:relative;display:flex;justify-content:space-between;gap:12px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.mpp-rule-k{font:700 20px var(--display);color:var(--green-strong);letter-spacing:-.01em}
.mpp-rule-eq{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:6px 0 10px;font:800 clamp(28px,2.9vw,42px)/1 var(--display);white-space:nowrap;letter-spacing:-.04em;color:var(--ink)}
.mpp-rule-eq i{font-style:normal;width:40px;height:40px;display:grid;place-items:center;background:var(--green-strong);color:#fff;font-size:28px}
.mpp-rule-txt{font:600 16px/1.45 var(--display);color:var(--ink);max-width:30ch}
.mpp-rule-note{display:flex;gap:10px;align-items:flex-start;margin-top:var(--s3);padding-top:var(--s2);border-top:1px dashed rgba(74,122,0,.35);font-size:13.5px;line-height:1.5;color:var(--text)}
.mpp-rule-note svg{width:18px;height:18px;color:var(--green-strong);margin-top:1px}

.mpp-stats{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s4);align-items:center;margin-top:12px;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--border)}
.mpp-ring{position:relative;width:132px;height:132px}
.mpp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.mpp-ring circle{fill:none;stroke-width:12}
.mpp-ring-bg{stroke:var(--hover-bg)}
.mpp-ring-a{stroke:var(--green-strong);transition:stroke-dasharray 1.1s var(--ease)}
.mpp-ring-u{stroke:var(--green-soft-2);transition:stroke-dasharray 1.1s .3s var(--ease)}
.mpp-ring div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mpp-ring b{font:700 22px var(--display);color:var(--ink);letter-spacing:-.02em}
.mpp-ring span{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.mpp-legend{display:grid;gap:12px}
.mpp-legend div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--border-strong)}
.mpp-legend div:last-child{border-bottom:0;padding-bottom:0}
.mpp-legend dt{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.mpp-legend dt i{width:12px;height:12px;background:var(--green-strong)}
.mpp-legend .is-u dt i{background:var(--green-soft-2);box-shadow:inset 0 0 0 1px #B9D88E}
.mpp-legend dd{font:700 26px var(--display);color:var(--ink);letter-spacing:-.02em}
.mpp-legend .is-a dd{color:var(--green-strong)}
.mpp-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:200px;padding:var(--s2);background:var(--ink);color:#fff;text-decoration:none;position:relative;transition:background var(--dur) var(--ease)}
.mpp-cta>span{width:44px;height:44px;display:grid;place-items:center;background:var(--green-strong)}
.mpp-cta>span svg{width:22px;height:22px}
.mpp-cta b{font:700 16px/1.25 var(--display)}
.mpp-cta-go{position:absolute;right:16px;top:20px;width:20px;height:20px;color:var(--green-soft-2);transition:transform var(--dur) var(--ease)}
.mpp-cta:hover{background:var(--green-dark)}
.mpp-cta:hover .mpp-cta-go{transform:translateX(4px)}
.mpp-cta:hover>span svg{animation:mpp-wiggle .5s var(--ease)}
@keyframes mpp-wiggle{30%{transform:rotate(-12deg)}60%{transform:rotate(10deg)}}

.mpp-sec{margin-top:var(--s5)}
.mpp-h{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.02em;margin-bottom:var(--s2)}
.mpp-h span{min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 12px var(--font)}

/* Bons d’échange */
.mpp-vouchers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mpp-voucher{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 148px;background:var(--surface);filter:drop-shadow(0 10px 18px rgba(28,43,24,.08));
  -webkit-mask:radial-gradient(circle 9px at calc(100% - 148px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 9px at calc(100% - 148px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 9px at calc(100% - 148px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 9px at calc(100% - 148px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat}
.mpp-v-main{display:flex;gap:14px;align-items:flex-start;padding:var(--s3) var(--s2) var(--s3) var(--s3);min-width:0}
.mpp-v-ic{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--green-soft-2);color:var(--green-dark)}
.mpp-v-ic svg{width:22px;height:22px}
.mpp-v-k{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mpp-v-main b{display:block;margin-top:2px;font:700 15px/1.3 var(--display);color:var(--ink)}
.mpp-v-date{margin-top:6px;font-size:12.5px;color:var(--muted)}
.mpp-v-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:var(--s2) 10px;border-left:2px dashed var(--border-strong);background:var(--bg)}
.mpp-v-stub b{font:700 18px var(--display);color:var(--ink)}
.mpp-v-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:var(--ink);color:var(--green-soft-2);font-size:11.5px;font-weight:700;white-space:nowrap}
.mpp-v-status svg{width:13px;height:13px;animation:mpp-tick 4s linear infinite}
@keyframes mpp-tick{to{transform:rotate(360deg)}}

/* Relevé */
.mpp-ledger{position:relative;background:var(--surface);border:1px solid var(--border);padding:var(--s1) var(--s3)}
.mpp-ledger::before{content:"";position:absolute;left:calc(var(--s3) + 19px);top:var(--s3);bottom:var(--s3);width:2px;background:repeating-linear-gradient(180deg,var(--border-strong) 0 5px,transparent 5px 10px)}
.mpp-ledger li{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto 120px;gap:var(--s2);align-items:center;padding:14px 0}
.mpp-ledger li + li{border-top:1px solid var(--border)}
.mpp-l-ic{position:relative;z-index:1;width:40px;height:40px;display:grid;place-items:center;background:var(--surface);border:2px solid var(--border-strong);color:var(--muted)}
.mpp-l-ic svg{width:18px;height:18px}
.mpp-ledger .is-in .mpp-l-ic{background:var(--green-strong);border-color:var(--green-strong);color:#fff}
.mpp-l-op b{display:block;font-size:14.5px;color:var(--ink)}
.mpp-l-op small{font-size:12.5px;color:var(--muted)}
.mpp-l-date{font-size:13px;color:var(--muted);white-space:nowrap}
.mpp-l-pts{text-align:right;display:flex;flex-direction:column}
.mpp-l-pts b{font:700 19px var(--display);letter-spacing:-.01em;color:var(--ink)}
.mpp-ledger .is-in .mpp-l-pts b{color:var(--green-strong)}
.mpp-l-pts small{font-size:11.5px;color:var(--muted)}

@media (max-width:1180px){
  .mpp-hero{grid-template-columns:1fr;padding:var(--s4) var(--s3)}
  .mpp-vouchers{grid-template-columns:1fr}
}
@media (max-width:760px){
  .mpp-stats{grid-template-columns:auto minmax(0,1fr);padding:var(--s3)}
  .mpp-cta{grid-column:1/-1;width:100%;flex-direction:row;align-items:center}
  .mpp-cta-go{position:static;margin-left:auto}
}
@media (max-width:600px){
  .mpp-hero{padding:var(--s3) var(--s2)}
  .mpp-card{padding:var(--s2)}
  .mpp-stats{grid-template-columns:1fr;justify-items:center}
  .mpp-legend{width:100%}
  .mpp-voucher{grid-template-columns:1fr;-webkit-mask:none;mask:none;border:1px solid var(--border)}
  .mpp-v-stub{flex-direction:row;justify-content:space-between;border-left:0;border-top:2px dashed var(--border-strong);padding:10px var(--s2)}
  .mpp-card-foot{letter-spacing:.08em;font-size:10.5px}
  .mpp-v-main{padding:var(--s2);gap:10px}
  .mpp-v-ic{display:none}
  .mpp-ledger{padding:0 var(--s2)}
  .mpp-ledger::before{left:calc(var(--s2) + 19px)}
  .mpp-ledger li{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"ic op pts" "ic date pts"}
  .mpp-l-ic{grid-area:ic}.mpp-l-op{grid-area:op}.mpp-l-date{grid-area:date;margin-top:-10px}.mpp-l-pts{grid-area:pts}
}
@media (prefers-reduced-motion:reduce){.mpp-card{animation:none}.mpp-sheen{display:none}}

/* Header: the design's photo (Réglages du site → Mon compte), faded under the text */
.acc-head::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(241,247,236,.92) 0%,rgba(241,247,236,.7) 45%,rgba(241,247,236,.15) 100%),var(--acc-head-img,none) center 18%/cover no-repeat}
/* WooCommerce's own account columns (float, 30 % / 68 %) are not used: the design's grid places them */
.woocommerce-account .acc .woocommerce-MyAccount-navigation,.woocommerce-account .acc .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-account .acc .acc-order-line mark{background:var(--green-soft-2);color:var(--ink);font-weight:700;padding:0 4px}
.acc .mp-crumbs{padding:0;white-space:normal}

/* Tracking: the line stops at the current step */
.acc-track::after{width:calc((100% - var(--s3) * 2) * var(--acc-step,1) / 4 + 4px)}
@media (max-width:600px){.acc-track::after{width:2px;height:calc(var(--acc-step,1) * 25% + 4px)}}
.acc-status.is-shipped{background:var(--green-strong);color:#fff}
.acc-status.is-wait{background:#FFF4D6;color:#7A5B00}

/* WooCommerce field markup → the mockup's fields */
.acc-form .form-row{float:none;width:auto;margin:0;padding:0}
.acc .acc-f>label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:0}
.acc .acc-f .required{color:var(--sale);border:0;text-decoration:none}
.acc .acc-f .optional{font-weight:400;color:var(--muted);font-size:12.5px}
.acc .woocommerce-input-wrapper{display:block}
.acc .acc-f .description{display:block!important;position:static!important;margin:6px 0 0!important;padding:0!important;background:none!important;color:var(--muted)!important;font-size:12.5px;line-height:1.45}
.acc .acc-f .description::before{display:none}
.acc .acc-f select{width:100%;min-height:50px;padding:0 40px 0 14px;border:1px solid var(--border-strong);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%231C2B18'/%3E%3C/svg%3E") no-repeat right 16px center/10px 6px!important;font:500 15px var(--font);color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer}
.acc .acc-f select:focus{outline:none;border-color:var(--green-strong);box-shadow:0 0 0 3px var(--green-soft-2)}
.acc .acc-f select:disabled{background-color:var(--bg)!important;color:var(--muted)}
.acc .acc-f.woocommerce-invalid input,.acc .acc-f.woocommerce-invalid select,.acc .acc-f.woocommerce-invalid textarea{border-color:var(--sale);box-shadow:0 0 0 3px var(--sale-bg)}
.acc .acc-form .form-row-first,.acc .acc-form .form-row-last{grid-column:auto}
.acc-pw .acc-pw-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:44px;display:grid;place-items:center;border:0;background:none;color:var(--muted)}
.acc-pw .acc-pw-toggle:hover,.acc-pw .acc-pw-toggle[aria-pressed="true"]{color:var(--ink)}
.acc-pw .acc-pw-toggle svg{width:19px;height:19px}
.acc .woocommerce-notices-wrapper:not(:empty),.acc .acc-content>.woocommerce-message,.acc .acc-content>.woocommerce-error,.acc .acc-content>.woocommerce-info{margin:0 0 var(--s2)}

/* Bits added for WooCommerce */
.acc-addrs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,460px));gap:12px}
.acc-label .acc-btn{margin-top:var(--s2)}
.acc-pages{display:flex;gap:8px;justify-content:space-between;margin-top:var(--s3)}
.acc-od-again{margin-top:var(--s2)}
.acc-ticket .mp-invoice-link{margin:var(--s2) 0 0}
.acc-od-items a{color:inherit}
.acc-od-items a:hover{color:var(--green-strong)}
.acc-od-items .wc-item-meta{list-style:none;margin:2px 0 0;padding:0;font-size:11.5px;font-weight:400;color:var(--muted)}
.acc-od-items .wc-item-meta li,.acc-od-items .wc-item-meta p{display:inline;margin:0}
.acc-od-rows dd small{display:block;font-weight:400;color:var(--muted)}
.acc-od-total b small{display:block;font:400 11px var(--font);color:var(--muted);text-align:right}
.acc-notes{margin-top:var(--s4)}
.acc-hist li div p{margin:0}
.acc-add{text-decoration:none}
.acc-add.loading{opacity:.6}
.acc-add+.added_to_cart{display:none!important}
.acc-order-thumbs img{display:block}
/* Order rows: same columns on every row (actions column fixed), sized on the list's own width
   (container queries) so the date and state never overflow; long state names wrap inside the pill. */
.acc-orders{container-type:inline-size}
.acc-order{grid-template-columns:112px minmax(0,1fr) 184px}
.acc-order-meta{grid-template-columns:minmax(76px,.8fr) minmax(128px,1.15fr) minmax(128px,1.15fr) minmax(100px,1fr)}
.acc-order-meta time{white-space:nowrap}
.acc-order-meta .acc-status{white-space:normal;line-height:1.25}
.acc-order-meta .acc-status::before{flex-shrink:0}
@container (max-width:900px){
  .acc-order{grid-template-columns:112px minmax(0,1fr)}
  .acc-order-acts{grid-column:1/-1;flex-direction:row;justify-content:flex-end;min-width:0}
  .acc-order-acts .acc-btn{width:auto}
}
@container (max-width:680px){
  .acc-order{grid-template-columns:minmax(0,1fr);padding:var(--s2)}
  .acc-order-thumbs{display:none}
  .acc-order-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acc-order-acts .acc-btn{flex:1}
}
.acc .acc-empty .acc-btn{margin-top:var(--s2)}
.mpp-next{margin-top:12px;padding:12px var(--s2);background:var(--green-soft);font-size:14px;color:var(--ink)}
.mp-plus .acc-empty{margin:0}

/* Rounded corners (as the rest of the site) */
.acc-avatar,.acc-pts-card,.acc-nav ul,.acc-nav .acc-nav-help,.acc-intro,.acc-live,.acc-track--wide,.acc-tile,.acc-again-list li,.acc-order,.acc-empty,.acc-ticket,.acc-label,.acc-ask,.acc-form,.acc-pwset,.acc-hist,.mpp-hero,.mpp-card,.mpp-stats,.mpp-cta,.mpp-voucher,.mpp-ledger,.mpp-next,.acc-toast{border-radius:var(--r-card)}
.acc-pts-card,.acc-intro,.acc-label,.acc-live,.acc-hist,.acc-nav ul{overflow:hidden}
.acc-nav a,.acc-btn,.acc-filter button,.acc-tile>span,.acc-pimg,.acc-add,.acc-f input,.acc-f textarea,.acc .acc-f select,.acc-select select,.acc-points-note,.acc-nav .acc-nav-help svg,.acc-ask svg,.mpp-cta>span,.mpp-v-ic,.mpp-chip,.mpp-rule-eq i{border-radius:var(--r-md)}
.acc-status,.acc-nav-n,.mpp-h span,.mpp-v-status{border-radius:var(--r-pill)}
.acc-thumbs img,.acc-order-thumbs img,.acc-order-thumbs span,.acc-hist-ic{border-radius:var(--r-sm)}
.acc-track span,.mpp-l-ic{border-radius:50%}
.acc-status::before{border-radius:50%}
.mpp-voucher{-webkit-mask:none;mask:none;border:1px solid var(--border);overflow:hidden}


/* =========================================================================
   Brand page, from inspirations/marque-avene-v11.html (template-parts/shop/brand.php)
   ========================================================================= */
.bpage{--line:#E8ECE5}
.bpage .muted{color:var(--muted)}
.bpage .small{font-size:.8125rem}
.bpage .mp-crumbs{padding:20px 0 0;white-space:normal}
.bpage .lnk{display:inline-flex;align-items:center;gap:8px;font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:3px;transition:color var(--dur)}
.bpage .lnk svg{width:14px;height:14px;transition:transform var(--dur)}
.bpage .lnk:hover{color:var(--green-strong)}
.bpage .lnk:hover svg{transform:translateX(3px)}
.bpage .kick{font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* Banner: ambiance + one product */
.bpage .ba{padding-block:24px 0}
.bpage .ba-in{position:relative;height:380px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;background:linear-gradient(115deg,#FAFBF8 0%,#F0F4EB 45%,#DFE8D6 100%);padding-inline:0;width:calc(100% - 2*var(--gutter));max-width:calc(var(--container) - 2*var(--gutter))}
.bpage .ba-amb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;opacity:.28;mix-blend-mode:multiply;-webkit-mask:linear-gradient(90deg,transparent 25%,#000 70%);mask:linear-gradient(90deg,transparent 25%,#000 70%)}
.bpage .ba-sun{position:absolute;right:8%;top:-40%;width:48%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0))}
.bpage .ba-shade{position:absolute;inset:0;background:repeating-linear-gradient(118deg,rgba(28,43,24,0) 0 60px,rgba(28,43,24,.045) 60px 74px,rgba(28,43,24,0) 74px 150px);-webkit-mask:linear-gradient(90deg,transparent 45%,#000 75%);mask:linear-gradient(90deg,transparent 45%,#000 75%)}
.bpage .ba-c{position:relative;z-index:2;padding:0 64px;display:flex;flex-direction:column;align-items:flex-start}
.bpage .ba-logo{width:auto;max-width:200px;max-height:90px;height:auto;object-fit:contain;margin-bottom:28px;mix-blend-mode:multiply}
.bpage .ba-name{margin:0 0 20px;font:600 .875rem var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--green-strong)}
.bpage .ba h1{font:500 clamp(1.625rem,2.4vw,2.125rem)/1.15 var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}
.bpage .ba-c>p{margin:0 0 26px;color:var(--text);line-height:1.65;max-width:36ch}
.bpage .ba-scene{position:relative;height:100%} /* No z-index: a stacking context would isolate the product photo and its white background would show (mix-blend-mode). */
.bpage .ba-prod{position:absolute;left:50%;top:50%;translate:-50% -50%;height:80%;width:auto;max-width:80%;object-fit:contain;mix-blend-mode:multiply;transition:transform 700ms var(--ease)}
.bpage .ba-in:hover .ba-prod{transform:translateY(-8px)}

/* Catalogue: "univers" tabs + the shop listing */
.bpage .cat-sec2{padding-block:48px 88px}
.bpage .cat-tabs{display:flex;gap:8px;justify-content:flex-start;padding:4px 0 24px;margin:0 0 28px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.bpage .cat-tabs::-webkit-scrollbar{display:none}
.bpage .cat-tabs a{flex:0 0 auto;min-width:96px;max-width:130px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.bpage .ct-c{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px var(--line);transition:box-shadow 300ms var(--ease);overflow:hidden}
.bpage .ct-c img{width:100%;height:100%;object-fit:cover;transition:transform 400ms var(--ease)}
.bpage .ct-c b{font:500 1.375rem var(--display);color:var(--ink);letter-spacing:0}
.bpage .ct-all{background:var(--mint)}
.bpage .ct-l{font-weight:500;color:var(--ink);line-height:1.3;text-align:center}
.bpage .cat-tabs a:hover .ct-c{box-shadow:0 0 0 1px var(--border-strong)}
.bpage .cat-tabs a:hover .ct-c img{transform:scale(1.08)}
.bpage .cat-tabs a[aria-current] .ct-c{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--ink)}
.bpage .cat-tabs a[aria-current] .ct-l{font-weight:700}

.bpage .mp-shop.is-bare{padding:0}
.bpage .mp-shop-layout{grid-template-columns:260px minmax(0,1fr);gap:48px}
.bpage .mp-filters{position:sticky;top:120px}
.bpage .mp-filters-head h2{font:600 .75rem var(--font);letter-spacing:.14em;text-transform:uppercase}
.bpage .mp-fgroup{border-top:0;border-bottom:1px solid var(--line);padding:0}
.bpage .mp-fgroup summary{min-height:0;padding:16px 0;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.bpage .mp-fgroup summary::after{content:"+";width:auto;height:auto;border:0;transform:none;font:300 1.25rem/1 var(--font);color:var(--muted)}
.bpage .mp-fgroup[open] summary::after{content:"−";transform:none}
.bpage .mp-flist{padding-bottom:12px}
.bpage .mp-fopt{font-size:.875rem}
.bpage .mp-price{padding-bottom:18px}
.bpage .mp-shop-bar{gap:16px;margin-bottom:24px;min-height:44px}
.bpage .mp-shop-count{font-size:.8125rem}
.bpage .mp-sort select{height:42px;min-height:0;padding:0 32px 0 12px;font:500 .8125rem var(--font);color:var(--ink);appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%231C2B18' stroke-width='1.5'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E") no-repeat right 12px center}
.bpage .mp-chips .chip{border-color:var(--lg-2);background:var(--mint);font-size:.75rem}
.bpage .mp-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bpage .mp-pagination{margin-top:56px}
.bpage .card .media{padding:28px!important;background:#fff}
.bpage .card .body{background:#fff!important}
.bpage .card .pname a{transition:color var(--dur)}
.bpage .card .pname a:hover{color:var(--green-strong)}
.bpage .card .add{border-radius:50%!important}
.bpage .card .add:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}

/* Sections */
.bpage .b-sec{padding-block:88px 0}
.bpage .b-sec-tint{padding-block:72px;background:var(--mint)}
.bpage .b-sec-tint+.b-sec{padding-top:88px}
.bpage .b-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bpage .b-head h2{font:500 .9375rem var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0}
.bpage .b-head-r{display:flex;align-items:center;gap:20px}
.bpage .rail{grid-auto-columns:calc((100% - 3*24px)/4)!important;gap:24px!important}

/* The brand's story */
.bpage .story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding-block:56px;border-block:1px solid var(--line)}
.bpage .story h2{font:500 clamp(1.5rem,2.6vw,2.125rem)/1.25 var(--display);letter-spacing:-.015em;color:var(--ink);margin:16px 0 0}
.bpage .story-txt p{margin:0 0 16px;font-size:1.0625rem;line-height:1.75;color:var(--text)}
.bpage .story-txt{margin-bottom:28px}
.bpage .story-ph{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--lg);border-radius:var(--r-card);background:var(--mint);text-decoration:none;transition:border-color var(--dur)}
.bpage .story-ph:hover{border-color:var(--green)}
.bpage .story-ph .ic{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--lg);color:var(--lg-ink);border-radius:var(--r-md)}
.bpage .story-ph .ic svg,.bpage .story-ph .arr{width:20px;height:20px}
.bpage .story-ph span{font-size:.8125rem;color:var(--muted)}
.bpage .story-ph b{display:block;color:var(--ink);font-size:.9375rem}
.bpage .story-ph .arr{margin-left:auto;color:var(--green-strong)}

/* Our commitments */
.bpage .reas4{padding-block:56px;border-top:1px solid var(--line);margin-top:24px}
.bpage .reas4-in{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.bpage .reas4-in>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.bpage .reas4 svg{width:30px;height:30px;color:var(--green-strong);margin-bottom:8px}
.bpage .reas4 b{font:500 1rem var(--display);color:var(--ink)}
.bpage .reas4 span{font-size:.8125rem;color:var(--muted)}

@media (max-width:1180px){
	.bpage .mp-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bpage .rail{grid-auto-columns:calc((100% - 2*24px)/3)!important}
}
@media (max-width:960px){
	.bpage .ba-in{height:auto;grid-template-columns:minmax(0,1fr)}
	.bpage .ba-scene{order:-1;height:240px}
	.bpage .ba-c{padding:8px 20px 26px}
	.bpage .ba-logo{max-width:140px;margin-bottom:16px}
	.bpage .ba-amb{-webkit-mask:none;mask:none;opacity:.18}
	.bpage .cat-sec2{padding-top:32px}
	.bpage .cat-tabs{margin-inline:calc(var(--gutter)*-1);padding:6px var(--gutter) 20px;gap:4px}
	.bpage .cat-tabs a{min-width:78px}
	.bpage .ct-c{width:68px;height:68px}
	.bpage .mp-shop-layout{grid-template-columns:minmax(0,1fr)}
	.bpage .mp-filters{position:static}
	.bpage .mp-shop-grid{gap:12px}
	.bpage .card .media{padding:14px!important}
	.bpage .b-sec{padding-top:64px}
	.bpage .b-sec-tint{padding-block:56px}
	.bpage .rail{grid-auto-columns:62%!important;gap:12px!important}
	.bpage .story{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:40px}
	.bpage .reas4-in{grid-template-columns:1fr 1fr;row-gap:32px}
}
@media (prefers-reduced-motion:reduce){.bpage .ba-prod{transition:none}}


/* =========================================================================
   No "+" sign on the site (client 2026-10-09): expand / collapse toggles use a chevron
   ========================================================================= */
/* =========================================================================
   Conseil pharmacien (page-conseil-pharmacien.php) — info-page parts reused,
   only the new blocks below. v12 tokens only.
   ========================================================================= */
.cp-hero .seal{margin-bottom:var(--s3)}
.cp-hero .ip-lead{margin-top:var(--s4)}
.cp-hero-ctas{margin-top:var(--s4)}
.cp-hero-ctas .btn svg{width:18px;height:18px}
.cp-hours{margin-top:var(--s2)}
.cp .ip-trust.has-media{padding-top:64px}
.cp-head{margin-bottom:var(--s4)}
.cp-head .eyebrow{margin:0 0 var(--s1)}
.cp-head h2,.cp-channels h2{font-size:clamp(24px,2.6vw,34px);line-height:1.18;letter-spacing:-.02em;font-weight:600}
.cp-head>p:not(.eyebrow){margin:var(--s2) 0 0;color:var(--muted);font-size:16px;line-height:1.6}
.cp-head.is-center{text-align:center;max-width:680px;margin-inline:auto;margin-bottom:var(--s6)}
.cp .ip-step-card h3{font-family:var(--display);font-size:clamp(18px,1.7vw,21px);line-height:1.3;font-weight:600;color:var(--ink);margin:0 0 var(--s1)}
.cp .ip-step-card p{margin:0}
.cp-channels{margin-top:var(--s6)}
.cp-channels h2{margin-bottom:var(--s3)}
.cp-channels .contact-tiles{display:grid;grid-template-columns:1fr 1fr}
.cp-channels .contact-tiles li+li{border-top:0}
.cp-channels .contact-tiles li{border-bottom:1px solid var(--border)}
.cp-channels .contact-tiles li:nth-child(even){border-left:1px solid var(--border)}
.cp-channels .contact-tiles li:last-child:nth-child(odd){grid-column:1/-1;border-bottom:0}
.cp-channels .contact-tiles li:nth-last-child(2):nth-child(odd),.cp-channels .contact-tiles li:last-child:nth-child(even){border-bottom:0}

/* Advice by department */
.cp-topics{background:var(--bg);border-top:1px solid var(--border)}
.cp-topic-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.cp-topic{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.cp-topic:hover,.cp-topic:focus-within{border-color:var(--green-soft-2);box-shadow:var(--shadow-lift)}
.cp-topic figure{margin:0;overflow:hidden;background:var(--green-soft)}
.cp-topic img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 400ms var(--ease)}
.cp-topic:hover img{transform:scale(1.03)}
.cp-topic-body{display:flex;flex-direction:column;gap:6px;padding:var(--s3);flex:1}
.cp-topic h3{margin:0;font-family:var(--display);font-size:18px;font-weight:600;color:var(--ink);line-height:1.3}
.cp-topic p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.cp-topic-links{margin-top:auto;padding-top:var(--s1);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px var(--s2)}
.cp-topic-links .link svg{width:18px;height:18px}
.cp-topic-shop{font-size:14px;font-weight:500;color:var(--text);text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.cp-topic-shop:hover{color:var(--green-strong)}

/* Scope: does / does not */
.cp-scope-sec{padding-top:var(--s10)}
.cp-scope{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s3)}
.cp-scope-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--green);padding:var(--s4)}
.cp-scope-card.is-no{border-top-color:var(--ink);background:var(--bg)}
.cp-scope-card h3{display:flex;align-items:center;gap:10px;margin:0 0 var(--s2);font-family:var(--display);font-size:20px;font-weight:600;color:var(--ink)}
.cp-scope-card h3 svg{width:22px;height:22px;flex:none;color:var(--green-strong)}
.cp-scope-card.is-no h3 svg{color:var(--ink)}
.cp-scope-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.cp-scope-card li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.6;color:var(--text)}
.cp-scope-card li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;background:var(--green)}
.cp-scope-card.is-no li::before{background:var(--border-strong)}
.cp-urgent{margin:var(--s3) 0 0;display:flex;gap:12px;align-items:flex-start;padding:var(--s2) var(--s3);background:var(--sale-bg);border-left:3px solid var(--sale);font-size:15px;line-height:1.55;color:var(--ink)}
.cp-urgent svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--sale)}
.cp-urgent a{color:var(--sale);font-weight:700;font-variant-numeric:tabular-nums}
.cp-faq{padding-top:var(--s10);padding-bottom:var(--s10)}
.cp-faq .narrow{max-width:860px}

@media (max-width:1024px){
  .cp-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .cp .ip-trust.has-media{padding-top:48px}
  .cp-scope{grid-template-columns:1fr}
}
@media (max-width:600px){
  .cp-channels .contact-tiles{grid-template-columns:1fr}
  .cp-channels .contact-tiles li:nth-child(even){border-left:0}
  .cp-channels .contact-tiles li:nth-last-child(2){border-bottom:1px solid var(--border)}
  .cp-topic-grid{grid-template-columns:1fr;gap:var(--s2)}
  .cp-topic{flex-direction:row}
  .cp-topic figure{flex:none;width:104px;position:relative}
  .cp-topic img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
  .cp-topic-body{padding:var(--s2)}
  .cp-topic h3{font-size:16px}
  .cp-scope-card{padding:var(--s3)}
  .cp-hero-ctas .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.cp-topic img{transition:none}.cp-topic:hover img{transform:none}}

/* Visible focus on form fields (the former 3px pale-green halo was under 3:1). */
.field:focus,.field:focus-within,.woocommerce .input-text:focus,.woocommerce select:focus,.ck-f:focus,.ck-f:focus-within{outline:2px solid var(--green-strong);outline-offset:1px}

/* ============ Product page (10-2026): video in the gallery, table of contents, brand card ============ */
.yt{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:var(--ink);cursor:pointer;overflow:hidden}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:transform 600ms var(--ease),opacity var(--dur)}
.yt:hover img,.yt:focus-visible img{transform:scale(1.04);opacity:1}
.yt-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.95);color:var(--green-strong);box-shadow:0 10px 30px -8px rgba(0,0,0,.45);transition:scale var(--dur) var(--ease)}
.yt-play svg{margin-left:4px}
.yt:hover .yt-play{scale:1.08}
.yt-frame{display:block;width:100%;height:100%;border:0}


.pbrand{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:56px;align-items:center;padding:48px 56px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(115deg,#FAFBF8 0%,#F0F4EB 55%,#E4ECDC 100%)}
.pbrand-logo{aspect-ratio:3/2;display:grid;place-items:center;background:#fff;border-radius:var(--r-md);padding:24px;box-shadow:0 20px 40px -32px rgba(28,43,24,.45)}
.pbrand-logo img{max-width:100%;max-height:110px;width:auto;height:auto;object-fit:contain}
.pbrand-logo b{font:600 1.5rem var(--display);color:var(--ink)}
.pbrand .kick{font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--green-strong)}
.pbrand h2{font:500 clamp(1.5rem,2.2vw,2rem)/1.15 var(--display);letter-spacing:-.02em;color:var(--ink);margin:8px 0 12px}
.pbrand p{margin:0 0 24px;color:var(--text);line-height:1.7;max-width:60ch}
@media (max-width:860px){
  .pbrand{grid-template-columns:1fr;gap:24px;padding:28px 22px}
  .pbrand-logo{max-width:220px}
}
@media (prefers-reduced-motion:reduce){.yt img,.yt-play{transition:none}}

/* ============ MyPharmacy+ rewards (/mpp_products/, 10-2026) ============ */
.rwx-hero{padding:24px 0 72px;background:radial-gradient(80% 120% at 100% 0,#E4EED9 0,transparent 60%),linear-gradient(180deg,#F7FAF3,#FBFCF9);border-bottom:1px solid var(--line)}
.rwx-hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center;margin-top:24px}
.rwx-copy h1{font:600 clamp(2rem,4vw,3.25rem)/1.08 var(--display);letter-spacing:-.03em;color:var(--ink);margin:10px 0 18px}
.rwx-copy h1 em{font-style:normal;color:var(--green-strong)}
.rwx-lead{font-size:1.0625rem;line-height:1.7;color:var(--text);max-width:46ch;margin:0 0 28px}
.rwx-ctas{display:flex;flex-wrap:wrap;gap:12px}
.rwx-facts{display:flex;gap:40px;margin:40px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.rwx-facts dt{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rwx-facts dd{margin:6px 0 0;font:600 1.5rem/1 var(--display);color:var(--ink)}
.rwx-card{display:grid;place-items:center;perspective:900px}
.rwx-card .mpp-card{width:100%;max-width:420px;transform:rotate(-4deg)}
.rwx-how{list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:rw}
.rwx-how li{position:relative;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;counter-increment:rw}
.rwx-how li::after{content:"0" counter(rw);position:absolute;top:22px;right:24px;font:600 .875rem var(--display);color:var(--muted);letter-spacing:.08em}
.rwx-how span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green-strong);margin-bottom:18px}
.rwx-how span svg{width:22px;height:22px}
.rwx-how b{display:block;font:600 1.125rem var(--display);color:var(--ink);margin-bottom:6px}
.rwx-how p{margin:0;color:var(--text);line-height:1.6;font-size:.9375rem}
.rwx-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;scroll-margin-top:200px}
.rwx-bar h2{font:600 1.5rem var(--display);color:var(--ink);margin:0}
.rwx-bar h2 span{font-size:.875rem;color:var(--muted);font-weight:500;margin-left:6px}
.rwx-filter{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:var(--r-pill);background:#fff}
.rwx-filter button{min-height:40px;padding:0 18px;border:0;border-radius:var(--r-pill);background:none;font:600 .8125rem var(--font);color:var(--muted);cursor:pointer}
.rwx-filter button[aria-pressed=true]{background:var(--ink);color:#fff}
.rwx-filter button:disabled{opacity:.45;cursor:default}
.mp-rewards .mp-rewards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.mp-rewards .mp-rewards-grid>*{display:flex!important}
.mp-rewards .mp-rewards-grid>[hidden]{display:none!important}
.mp-rewards .pts-card{flex-direction:column;border-radius:var(--r-lg);transition:transform 300ms var(--ease),box-shadow 300ms var(--ease)}
.mp-rewards .pts-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(28,43,24,.45)}
.mp-rewards .pts-card .body{display:flex;flex-direction:column;flex:1}
.mp-rewards .pts-card .pfoot{margin-top:auto}
.mp-rewards .pts-card.is-ok{border-color:var(--green-strong)}
.rwx-progress{height:6px;border-radius:6px;background:var(--hover-bg);overflow:hidden;margin-top:12px}
.rwx-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-strong),#A3D157)}
@media (max-width:1100px){.mp-rewards .mp-rewards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  .rwx-hero{padding-bottom:48px}
  .rwx-hero-in{grid-template-columns:1fr;gap:40px}
  .rwx-card .mpp-card{max-width:340px}
  .rwx-how{grid-template-columns:1fr;gap:12px;margin-bottom:40px}
  .rwx-how li{padding:20px 20px 20px 84px}
  .rwx-how span{position:absolute;left:20px;top:20px;margin:0}
  .mp-rewards .mp-rewards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .rwx-facts{gap:24px}
}
/* Partner page: a portrait poster is shown whole (it has its own title and icons), figures under it */
.ptn-hero-media.is-portrait{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:32px 32px 0}
.ptn-hero-media.is-portrait>img{position:static;width:auto;height:auto;max-width:100%;max-height:640px;object-fit:contain;border-radius:var(--r-lg);box-shadow:0 30px 60px -40px rgba(28,43,24,.5)}
.ptn-hero-media.is-portrait::after{display:none}
.ptn-hero-media.is-portrait .ptn-stats{position:static;margin:20px 0 40px;align-self:center}
@media (max-width:960px){.ptn-hero-media.is-portrait{min-height:0;padding:0 var(--gutter)}.ptn-hero-media.is-portrait .ptn-stats{margin:16px 0 24px;align-self:stretch}}

/* ============ Product page, premium pass (10-2026): calmer rhythm, softer surfaces ============ */
/* Breathing room between the menu and the product (breadcrumb line) */
.pdp .mp-crumbs{padding:32px 0 20px}
@media (max-width:960px){.pdp .mp-crumbs{padding:20px 0 14px}}
/* "Le geste" without photo: title on the left, steps as cards */
/* Category / brand banners */
.term-bans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 32px}
.term-bans.is-one{grid-template-columns:1fr}
.term-ban{position:relative;display:block;overflow:hidden;border-radius:var(--r-lg);background:var(--green-soft);aspect-ratio:2/1;color:#fff;text-decoration:none}
.term-bans.is-one .term-ban{aspect-ratio:4/1}
.term-ban img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease)}
a.term-ban:hover img{transform:scale(1.03)}
.term-ban.has-text::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,32,16,.62),rgba(20,32,16,0) 65%)}
.term-ban-c{position:absolute;z-index:1;left:clamp(20px,4vw,48px);top:50%;translate:0 -50%;max-width:min(60%,420px);font-size:.9375rem;line-height:1.5}
.term-ban-c h2,.term-ban-c h3{font:600 clamp(1.25rem,2.4vw,2rem)/1.1 var(--display);color:#fff;margin:0 0 8px;letter-spacing:-.02em}
.term-ban-c p{margin:0}
@media (max-width:760px){.term-bans{grid-template-columns:1fr;gap:12px}.term-bans.is-one .term-ban{aspect-ratio:2.4/1}.term-ban-c{max-width:80%;font-size:.8125rem}}
@media (prefers-reduced-motion:reduce){.term-ban img{transition:none}}
/* ============ Product page on phones (10-2026) ============ */
