/* Grez Optic Boutique : styles du thème (même identité que le site principal et le wiki). Aucune police ni ressource externe. */
:root{--acc:#008a94;--acc-b:#00a6b0;--navy:#011640;--ink:#1f2328;--mut:#5a6470;--line:#dfe5ea;--alt:#f4f7f9;--card:#fff;--ok:#0a7a3d;--bad:#b3261e;--r:16px;--f:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.65 var(--f);color:var(--ink);background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:900px}
.sr,.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:30}
[hidden]{display:none!important}
.ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* barre du haut */
.topbar{background:var(--navy);color:#dfe6f2;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:4px 16px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.topbar a{text-decoration:none}
.topbar .ic{width:16px;height:16px;vertical-align:-3px;margin-right:4px;stroke:#5fd4dc}
.lang{display:inline-block;margin-left:8px}

/* en-tête : logo, recherche, compte, panier */
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:12}
.bar{display:flex;align-items:center;gap:22px;min-height:76px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}.logo-img{display:block;height:44px;width:auto}
.wikitag{padding:3px 10px;border-radius:999px;background:rgba(0,138,148,.12);color:var(--acc);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.hsearch{flex:1;max-width:560px;margin:0 auto}
.hsearch .sform{box-shadow:none;border:1px solid var(--line);background:var(--alt);padding:3px 3px 3px 16px}
.hsearch .sform:focus-within{border-color:var(--acc-b);box-shadow:0 0 0 3px rgba(0,166,176,.25)}
.hsearch .sform .btn{padding:.45rem 1.1rem;font-size:.9rem}
.hicons{display:flex;align-items:center;gap:4px;flex:none}
.hicon{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;text-decoration:none;color:var(--ink)}
.hicon:hover{background:var(--alt);color:var(--acc)}
.hicon .ic{width:26px;height:26px}
.hcount{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--acc);color:#fff;font-size:.72rem;font-weight:700;line-height:20px;text-align:center}
.nt{position:absolute;opacity:0;width:1px;height:1px}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;padding:12px;cursor:pointer}
.burger i{display:block;width:26px;height:3px;background:var(--ink);border-radius:2px}
.nt:focus-visible~.top .burger{outline:3px solid var(--acc);outline-offset:2px}

/* menu des catégories */
.catnav{background:#fff;border-bottom:1px solid var(--line)}
.navrow{display:flex;align-items:center;gap:24px;min-height:50px}
.navsearch{display:none}
.navcats{display:flex;align-items:center;gap:6px 22px;flex-wrap:wrap}
.navextra{display:flex;gap:18px;margin-left:auto;font-size:.88rem}
.navextra a{text-decoration:none;color:var(--mut)}.navextra a:hover{color:var(--acc)}
.navlink,.dd-link{text-decoration:none;font-size:.95rem;font-weight:600;padding:12px 0;border-bottom:2px solid transparent;display:inline-block}
.navlink:hover,.dd-link:hover{color:var(--acc)}
.navlink.on,.dd.cur .dd-link{color:var(--acc);border-bottom-color:var(--acc-b)}
.dd{position:relative;display:flex;align-items:center}
.dd-btn{font:inherit;font-size:.8rem;color:var(--mut);background:none;border:0;padding:12px 4px 12px 6px;cursor:pointer;line-height:1}
.dd-btn:hover,.dd.open .dd-btn{color:var(--acc)}
.dd.open .dd-btn span{display:inline-block;transform:rotate(180deg)}
.dd-menu{display:none;position:absolute;left:-14px;top:100%;z-index:20;width:max-content;max-width:min(680px,90vw);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px 22px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(1,22,64,.18)}
.dd.open .dd-menu{display:grid}
@media (hover:hover) and (min-width:901px){.dd:hover .dd-menu{display:grid}.dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}}
.dd-menu a{display:block;text-decoration:none;padding:6px 10px;border-radius:8px;font-size:.92rem;line-height:1.35}
.dd-menu a:hover{background:var(--alt);color:var(--acc)}
.dd-menu .all{grid-column:1/-1;font-weight:700;color:var(--acc);border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;margin-bottom:6px}
.dd-gt{font-weight:700}
.dd-k{color:var(--mut);padding-left:18px!important;font-size:.88rem!important}

/* boutons */
.btn,.button,button.button,input.button,a.button,#respond input#submit{display:inline-block;padding:.75rem 1.4rem;border-radius:var(--r);background:var(--acc);color:#fff;text-decoration:none;font:inherit;font-weight:600;border:2px solid var(--acc);text-align:center;cursor:pointer;line-height:1.3;-webkit-appearance:none;appearance:none}
.btn:hover,.button:hover{filter:brightness(.92);color:#fff}
.btn.ghost,.button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc);filter:none}
.button.disabled,.button:disabled,.button.wc-variation-selection-needed{opacity:.5;cursor:not-allowed}
.button.loading{opacity:.65;pointer-events:none}
.button.added::after{content:" ✓"}
.btn:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--acc);outline-offset:3px}

/* bandeau d'accueil */
.hero{position:relative;overflow:hidden;color:#fff;padding:60px 0 112px;background:radial-gradient(70% 90% at 88% 10%,#0d3a5e 0,transparent 60%),radial-gradient(50% 60% at 0 100%,#06305a 0,transparent 70%),linear-gradient(135deg,var(--navy) 0%,#02224d 100%)}
.hero::before{content:"";position:absolute;right:-140px;top:-160px;width:560px;height:560px;border-radius:50%;border:2px solid rgba(0,166,176,.35)}
.hero::after{content:"";position:absolute;left:-90px;bottom:40px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(0,166,176,.22),transparent 70%)}
.herogrid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:center}
.hero h1{text-wrap:balance;font:700 clamp(1.9rem,3.6vw,2.7rem)/1.1 var(--f);letter-spacing:-.02em;margin:.2em 0 .5em}
.hero h1 em{font-style:normal;color:#5fd4dc}
.lead{font-size:1.1rem;max-width:34em;color:#c9d4e8;margin:0 0 4px}
.kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--acc);font-weight:700}
.kicker.on-dark{color:#5fd4dc}
.perks{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.92rem;color:#dfe6f2}
.perks li{display:flex;align-items:center;gap:8px}
.perks .ic{width:22px;height:22px;stroke:#5fd4dc}
.phwrap{position:relative;padding:0 0 22px 22px}
.phwrap::before{content:"";position:absolute;left:0;bottom:0;right:22px;top:22px;border-radius:28px 96px 28px 28px;background:linear-gradient(135deg,#00a6b0,#0b6c95);opacity:.9}
.photo{position:relative;display:block;width:100%;height:auto;border-radius:28px 96px 28px 28px;box-shadow:0 24px 50px rgba(0,8,30,.5)}

/* recherche */
.herosearch{margin:22px 0 0;max-width:640px}
.sform{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:6px 6px 6px 18px;box-shadow:0 12px 32px rgba(0,8,30,.3);margin:0}
.sform .ic{flex:0 0 22px;width:22px;height:22px;stroke:var(--acc)}
.sform input[type=search]{flex:1;min-width:0;width:auto;border:0;outline:0;font:inherit;font-size:1rem;color:var(--ink);background:transparent;padding:10px 4px;-webkit-appearance:none;appearance:none}
.sform input[type=search]:focus-visible{outline:0}
.sform:focus-within{box-shadow:0 0 0 3px var(--acc-b),0 12px 32px rgba(0,8,30,.3)}
.sform .btn{border-radius:999px;padding:.6rem 1.3rem}

/* panneau des rayons (accueil) */
.band{position:relative;z-index:2;margin-top:-56px;padding-bottom:28px}
.panel{background:#fff;border-radius:22px;padding:28px;box-shadow:0 24px 60px rgba(1,22,64,.22)}
.panel h2{font-size:1.25rem;margin:0 0 18px}
.catgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catcard{display:flex;flex-direction:row;align-items:flex-start;gap:16px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:.2s}
.catcard:hover{border-color:var(--acc);box-shadow:0 8px 24px rgba(1,22,64,.12);transform:translateY(-2px)}
.cicon{display:flex;flex:none;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:rgba(0,138,148,.09)}
.cicon .ic{width:32px;height:32px;stroke:var(--acc)}
.catcard:hover .cicon{background:rgba(0,138,148,.16)}
.ctx{display:flex;flex-direction:column;gap:2px;min-width:0}
.ctx b{font-size:1.05rem;line-height:1.3}
.ctx em{font-style:normal;font-size:.85rem;color:var(--mut);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ctx small{margin-top:4px;color:var(--acc);font-weight:700;font-size:.8rem}
.more{color:var(--acc);font-weight:600;text-decoration:none}
.more:hover{text-decoration:underline}

/* sections */
.sec{padding:44px 0}
.alt{background:var(--alt)}
h2,.h2{font:700 1.5rem/1.15 var(--f);letter-spacing:-.02em;margin:0 0 28px}
.head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap;margin-bottom:20px}
.head h2{margin:0}
.sub{margin:-8px 0 20px;color:var(--mut)}
.tiles4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.svc{display:flex;flex-direction:column;gap:4px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:.2s}
.svc:hover{border-color:var(--acc);box-shadow:0 8px 24px rgba(1,22,64,.12);transform:translateY(-2px)}
.svc .ic{width:44px;height:44px;padding:10px;border-radius:12px;background:rgba(0,138,148,.1);stroke:var(--acc);margin-bottom:8px}
.svc:hover .ic{background:var(--acc);stroke:#fff}
.svc b{font-size:1.02rem}
.svc em{font-style:normal;font-size:.88rem;color:var(--mut);line-height:1.5}

/* actualités */
.rail{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.rev{min-width:0;overflow:hidden;margin:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.rev img{display:block;max-width:100%;width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:10px}
.rev time{font-size:.78rem;color:var(--acc);font-weight:700;letter-spacing:.06em}
.rev p{margin:4px 0 4px;font-weight:600;font-size:.98rem;line-height:1.5}
.rev a{text-decoration:none}.rev a:hover{color:var(--acc)}

/* bandeau des pages intérieures */
.pagehero{position:relative;overflow:hidden;color:#fff;padding:36px 0 34px;background:radial-gradient(70% 120% at 90% 0,#0d3a5e 0,transparent 60%),linear-gradient(135deg,var(--navy) 0%,#02224d 100%)}
.pagehero::before{content:"";position:absolute;right:-120px;top:-150px;width:440px;height:440px;border-radius:50%;border:2px solid rgba(0,166,176,.3)}
.pagehero .wrap{position:relative;z-index:1}
.pagehero .kicker{color:#5fd4dc}
.pagehero .kicker a{text-decoration:none}.pagehero .kicker a:hover{text-decoration:underline}
body .pagehero h1{font:700 clamp(1.8rem,4vw,2.6rem)/1.15 var(--f);letter-spacing:-.02em;margin:.25em 0 .3em;color:#fff;max-width:26em}
.pagehero .lead{max-width:44em;margin:.2em 0 0}
.pagehero .lead p{margin:0 0 .5em}
.pagehero .herosearch{margin-top:20px}
.crumbs{font-size:.85rem;color:#9fb0cc;margin:0 0 4px}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.crumbs .sep{margin:0 4px;opacity:.7}
.pdp .crumbs{color:var(--mut);margin:0 0 18px}

/* pastilles de rayons et marques */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.chips a{padding:7px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:500;background:#fff}
.chips a:hover{border-color:var(--acc);color:var(--acc)}
.chips a.on{background:var(--acc);border-color:var(--acc);color:#fff}
.catpick{position:relative;display:inline-block;margin:0 0 20px}
.catpick summary{list-style:none;cursor:pointer;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.9rem;font-weight:600}
.catpick summary::-webkit-details-marker{display:none}
.catpick summary::after{content:" ▾";color:var(--acc)}
.catpick[open] summary{border-color:var(--acc);color:var(--acc)}
.catpick ul{list-style:none;margin:6px 0 0;padding:8px;position:absolute;z-index:5;min-width:250px;max-height:60vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(1,22,64,.18)}
.catpick a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;font-size:.93rem}
.catpick a:hover{background:var(--alt);color:var(--acc)}

/* barre boutique : nombre de résultats, tri */
.woocommerce-result-count{float:left;margin:0 0 18px;line-height:42px;color:var(--mut);font-size:.9rem}
.woocommerce-ordering{float:right;margin:0 0 18px}
.woocommerce-ordering select{padding:.55rem 2rem .55rem .9rem;border:1px solid #cfd8de;border-radius:10px;font:inherit;font-size:.92rem;background:#fff}
.pgrid{clear:both}

/* grille et cartes produit */
.pgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pcard{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s;margin:0}
.pcard:hover{border-color:var(--acc);box-shadow:0 10px 28px rgba(1,22,64,.12);transform:translateY(-2px)}
.pimg{position:relative;aspect-ratio:1/1;display:grid;place-items:center;padding:14px;background:#fff;border-bottom:1px solid var(--line)}
.pimg a{display:grid;place-items:center;width:100%;height:100%}
.pimg img{display:block;width:100%;height:100%;object-fit:contain}
.pbadge{position:absolute;top:10px;left:10px;z-index:2;padding:3px 11px;border-radius:999px;background:var(--acc);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.03em}
.pbadge.off{background:#6b7480}
.pbody{display:flex;flex-direction:column;gap:2px;flex:1;padding:14px 16px 16px}
.pbrand{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.ptitle{font:700 1rem/1.35 var(--f);margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ptitle a{text-decoration:none}
.ptitle a::after{content:"";position:absolute;inset:0;z-index:1}
.pcard:hover .ptitle a{color:var(--acc)}
.pcat{font-size:.82rem;color:var(--mut)}
.pfoot{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:10px}
.pprice{font-weight:700;font-size:1.1rem;color:var(--navy)}
.pfoot .button{position:relative;z-index:2;padding:.55rem 1rem;font-size:.9rem;border-radius:12px}
.pfoot .added_to_cart{position:relative;z-index:2;text-align:center;font-size:.85rem;color:var(--acc);font-weight:600}

/* prix WooCommerce */
.price,.pprice{font-variant-numeric:tabular-nums}
.price del,.pprice del{color:var(--mut);font-weight:400;font-size:.85em;margin-right:6px}
.price ins,.pprice ins{text-decoration:none}
.woocommerce-Price-currencySymbol{margin-right:2px}

/* fiche produit */
.pdp .product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 48px;align-items:start}
.pdp .product>.woocommerce-tabs,.pdp .product>.related,.pdp .product>.upsells,.pdp .product>.up-sells,.pdp .product>section{grid-column:1/-1}
.pgal{min-width:0}
.pmain{position:relative;display:grid;place-items:center;aspect-ratio:1/1;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px}
.pmain img{display:block;width:100%;height:100%;object-fit:contain}
.pthumbs{list-style:none;margin:12px 0 0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.pthumb{width:72px;height:72px;padding:4px;background:#fff;border:2px solid var(--line);border-radius:12px;cursor:pointer}
.pthumb img{display:block;width:100%;height:100%;object-fit:contain}
.pthumb:hover{border-color:var(--acc-b)}.pthumb.on{border-color:var(--acc)}
.summary{min-width:0}
.summary .product_title{font:700 clamp(1.5rem,3vw,2.1rem)/1.2 var(--f);letter-spacing:-.02em;margin:0 0 10px}
.summary .price{display:block;margin:0 0 16px;font-size:1.7rem;font-weight:700;color:var(--navy)}
.summary .woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:.9rem}
.summary .woocommerce-product-rating a{color:var(--mut)}
.woocommerce-product-details__short-description{color:#2b3138;margin:0 0 20px}
.woocommerce-product-details__short-description p{margin:0 0 .8em}
.summary .stock{margin:0 0 14px;font-weight:600;font-size:.92rem}
.summary .stock.in-stock{color:var(--ok)}
.summary .stock.out-of-stock{color:var(--bad)}
.summary form.cart{margin:0 0 22px}
.summary form.cart:not(.variations_form),.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.quantity{display:inline-block}
.quantity .qty{width:86px;height:50px;padding:0 8px;text-align:center;border:1px solid #cfd8de;border-radius:12px;font:inherit;font-weight:600;background:#fff}
.single_add_to_cart_button{flex:1;min-width:200px;padding:.9rem 1.6rem!important;font-size:1.02rem}
table.variations{width:100%;border-collapse:collapse;margin:0 0 14px}
table.variations th,table.variations td{display:block;padding:0;text-align:left}
table.variations .label{margin:0 0 4px}
table.variations label{font-weight:700;font-size:.92rem}
table.variations td.value{margin:0 0 12px}
table.variations select{width:100%;max-width:100%}
.reset_variations{display:inline-block;margin-top:6px;font-size:.85rem;color:var(--mut)}
.single_variation_wrap .woocommerce-variation-price{margin:0 0 12px}
.single_variation_wrap .woocommerce-variation-price .price{font-size:1.5rem;margin:0}
.woocommerce-variation-description{color:var(--mut);font-size:.92rem;margin:0 0 10px}
.product_meta{display:flex;flex-direction:column;gap:4px;padding-top:16px;border-top:1px solid var(--line);font-size:.88rem;color:var(--mut)}
.product_meta a{color:var(--acc);text-decoration:none}.product_meta a:hover{text-decoration:underline}
.product_meta>span{display:block}
.pdp .woocommerce-tabs{margin-top:24px}
.wc-tabs{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.wc-tabs li{margin:0}
.wc-tabs li a{display:block;padding:12px 18px;text-decoration:none;font-weight:600;color:var(--mut);border-bottom:3px solid transparent;margin-bottom:-1px}
.wc-tabs li a:hover{color:var(--acc)}
.wc-tabs li.active a{color:var(--acc);border-bottom-color:var(--acc-b)}
.woocommerce-Tabs-panel{padding:24px 0;max-width:820px;color:#2b3138}
.woocommerce-Tabs-panel h2{font-size:1.25rem;margin:0 0 14px}
.woocommerce-Tabs-panel p{margin:0 0 1.1em}
.woocommerce-Tabs-panel table{border-collapse:collapse;width:100%}
.woocommerce-Tabs-panel th,.woocommerce-Tabs-panel td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-Tabs-panel a{color:var(--acc)}
.related,.upsells,.up-sells{margin-top:24px}
.related>h2,.upsells>h2,.up-sells>h2{margin-bottom:18px}

/* étoiles et avis */
.star-rating{position:relative;display:inline-block;width:5.6em;height:1.1em;overflow:hidden;font-size:1rem;line-height:1.1;letter-spacing:.1em;color:#cfd8de}
.star-rating::before{content:"★★★★★";position:absolute;left:0;top:0}
.star-rating span{position:absolute;left:0;top:0;height:100%;overflow:hidden;padding-top:2em;color:#f2a900}
.star-rating span::before{content:"★★★★★";position:absolute;left:0;top:0;letter-spacing:.1em;padding-top:0}
#reviews h2{font-size:1.2rem}
#comments ol.commentlist{list-style:none;margin:0;padding:0}
#comments li.review{padding:16px 0;border-bottom:1px solid var(--line)}
#comments .comment_container{display:flex;gap:14px}
#comments img.avatar{width:44px;height:44px;border-radius:50%}
#comments .meta{margin:4px 0;color:var(--mut);font-size:.85rem}
#comments .description p{margin:0}
#review_form #respond{margin-top:20px}
p.stars a{position:relative;display:inline-block;width:1.4em;height:1.4em;text-indent:-999em;overflow:hidden;text-decoration:none}
p.stars a::before{content:"★";position:absolute;left:0;top:0;text-indent:0;font-size:1.4rem;line-height:1.4rem;color:#cfd8de}
p.stars:hover a::before,p.stars.selected a::before{color:#f2a900}
p.stars a:hover~a::before,p.stars.selected a.active~a::before{color:#cfd8de}
p.stars.selected a.active::before{color:#f2a900}
p.stars span{display:inline-flex}

/* formulaires WooCommerce (fiche, panier, commande, compte) */
.pdp input[type=text],.pdp input[type=email],.pdp input[type=url],.pdp input[type=number],.pdp textarea,.pdp select,
.wccard input[type=text],.wccard input[type=email],.wccard input[type=tel],.wccard input[type=password],.wccard input[type=number],.wccard input[type=date],.wccard textarea,.wccard select{width:100%;padding:.7rem .9rem;border:1px solid #cfd8de;border-radius:10px;font:inherit;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
.pdp select,.wccard select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23008a94' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center/12px;padding-right:38px}
.pdp textarea,.wccard textarea{min-height:110px}
.wccard input:focus,.wccard select:focus,.wccard textarea:focus,.pdp input:focus,.pdp select:focus,.pdp textarea:focus{border-color:var(--acc-b);outline:0;box-shadow:0 0 0 3px rgba(0,166,176,.25)}
.pdp input.qty{width:86px}
.wccard label,.pdp label{display:block;font-weight:600;font-size:.9rem;margin:0 0 4px}
.wccard label.checkbox,.wccard label.woocommerce-form__label-for-checkbox,.wccard .woocommerce-form__label-for-checkbox,.wccard .payment_methods label,.pdp .comment-form-cookies-consent label{display:inline;font-weight:500}
.wccard input[type=checkbox],.wccard input[type=radio],.pdp input[type=checkbox]{width:auto;margin-right:8px;accent-color:var(--acc)}
.required,abbr.required{color:var(--bad);text-decoration:none;border:0}
.form-row{margin:0 0 16px}
.woocommerce-input-wrapper{display:block}
.select2-container .select2-selection--single{height:46px;border:1px solid #cfd8de;border-radius:10px}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:14px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.select2-dropdown{border-color:#cfd8de;border-radius:10px;overflow:hidden}

/* messages */
.woocommerce-notices-wrapper{margin:0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;list-style:none;margin:0 0 20px;padding:14px 18px;border:1px solid #bfe3e6;border-radius:12px;background:#eaf7f8;color:var(--ink);font-size:.95rem}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto;padding:.5rem 1rem;font-size:.9rem}
.woocommerce-error{border-color:#f0c2be;background:#fdecea;flex-direction:column;align-items:flex-start;gap:4px}
.woocommerce-error li{margin:0}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button),.woocommerce-error a{color:var(--acc)}
.woocommerce-NoticeGroup{margin:0 0 20px}
.woocommerce-noreviews,p.no-comments{color:var(--mut)}

/* pagination */
.woocommerce-pagination{margin-top:28px}
.woocommerce-pagination ul.page-numbers{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;justify-content:center}
.page-numbers li{margin:0}
.page-numbers a,.page-numbers span,.nav-links .page-numbers{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.page-numbers .current,.page-numbers.current{background:var(--acc);border-color:var(--acc);color:#fff}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}

/* pages intérieures (carte) */
.bookcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 24px 60px rgba(1,22,64,.1);min-width:0}
.bookcard.empty{text-align:center;padding:36px}
.pagecard{overflow-x:auto}
.pagecard .post-body{max-width:none;padding-top:8px;overflow-wrap:anywhere}
.post-body{font-size:1.05rem;line-height:1.8;color:#2b3138}
.post-body>*:first-child{margin-top:0}
.post-body p{margin:0 0 1.2em}
.post-body h2{font:700 1.5rem/1.3 var(--f);letter-spacing:-.01em;margin:2em 0 .7em;padding-left:14px;border-left:4px solid var(--acc-b);color:var(--ink)}
.post-body h3{font:700 1.2rem/1.35 var(--f);margin:1.6em 0 .5em;color:var(--ink)}
.post-body a{color:var(--acc);text-underline-offset:3px}
.post-body ul,.post-body ol{padding-left:1.3em;margin:0 0 1.2em}
.post-body li{margin:.35em 0}
.post-body li::marker{color:var(--acc)}
.post-body blockquote{margin:1.6em 0;padding:16px 20px;background:var(--alt);border-left:4px solid var(--acc);border-radius:0 12px 12px 0;font-style:italic}
.post-body img{max-width:100%;height:auto;border-radius:12px}
.post-body table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}
.post-body th,.post-body td{padding:8px 12px;border:1px solid var(--line);text-align:left}
.post-body iframe,.post-body video{max-width:100%}
.wccard{padding:28px}
.wccard .post-body{font-size:1rem;line-height:1.6}
.wccard .post-body h2,.wccard .post-body h3{border:0;padding:0}
.wccard .post-body a:not(.button){text-decoration:none}

/* panier */
.shop_table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:.95rem}
.shop_table th{text-align:left;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding:10px 12px;border-bottom:2px solid var(--line)}
.shop_table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.shop_table .product-thumbnail{width:92px}
.shop_table .product-thumbnail img{display:block;width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}
.shop_table .product-name a{font-weight:600;text-decoration:none}.shop_table .product-name a:hover{color:var(--acc)}
.shop_table .product-remove{width:36px}
a.remove{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--alt);color:var(--mut)!important;font-size:1.2rem;line-height:1;text-decoration:none}
a.remove:hover{background:var(--bad);color:#fff!important}
.shop_table .quantity .qty{width:74px;height:44px}
.shop_table .variation{margin:4px 0 0;font-size:.85rem;color:var(--mut)}
.shop_table .variation dt,.shop_table .variation dd{display:inline;margin:0}
.shop_table .variation dd p{display:inline;margin:0}
td.actions{padding:16px 0 0!important;border:0!important}
td.actions .coupon{display:flex;gap:8px;float:left;flex-wrap:wrap}
td.actions .coupon input{width:200px}
td.actions>.button{float:right}
.cart-collaterals{margin-top:12px;display:flex;justify-content:flex-end}
.cart_totals{width:min(100%,440px);padding:22px;background:var(--alt);border:1px solid var(--line);border-radius:16px}
.cart_totals h2{font-size:1.15rem;margin:0 0 12px}
.cart_totals .shop_table{margin:0 0 16px}
.cart_totals th{text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink);border-bottom:1px solid var(--line);font-weight:600;vertical-align:top}
.cart_totals td{text-align:right}
.cart_totals .order-total td,.cart_totals .order-total th{font-size:1.1rem;font-weight:700;border:0}
.wc-proceed-to-checkout .checkout-button{display:block;width:100%;padding:1rem!important;font-size:1.05rem}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right}
.woocommerce-shipping-destination,.shipping-calculator-button{font-size:.85rem;color:var(--mut)}
.cart-empty{text-align:center;padding:30px 0;font-size:1.05rem}
.return-to-shop{text-align:center}

/* commande */
form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:0 36px;align-items:start}
#customer_details{grid-column:1;grid-row:1/span 2}
#order_review_heading{grid-column:2;grid-row:1;margin:0 0 14px;font-size:1.2rem}
#order_review{grid-column:2;grid-row:2;padding:22px;background:var(--alt);border:1px solid var(--line);border-radius:16px}
#customer_details .col-1,#customer_details .col-2{float:none;width:100%}
#customer_details h3{font-size:1.2rem;margin:0 0 14px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-row-wide,.form-row.notes,.form-row:not(.form-row-first):not(.form-row-last){grid-column:1/-1}
.woocommerce-additional-fields{margin-top:12px}
.woocommerce-checkout-review-order-table{margin:0 0 14px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:10px 0;font-size:.92rem}
.woocommerce-checkout-review-order-table thead th{padding-top:0}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th{font-size:1.1rem;font-weight:700}
#payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
#payment .wc_payment_method{padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}
#payment .payment_box{margin:10px 0 0;padding:10px 12px;background:var(--alt);border-radius:10px;font-size:.9rem;color:var(--mut)}
#payment .payment_box p{margin:0}
#payment .payment_method_ppcp-gateway img,#payment label img{max-height:24px;width:auto;vertical-align:middle;margin-left:6px}
#place_order{display:block;width:100%;padding:1rem!important;font-size:1.05rem}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{font-size:.85rem;color:var(--mut);margin:0 0 12px}
.woocommerce-form-coupon-toggle{margin:0 0 16px}
.woocommerce-form-coupon{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px;padding:16px;background:var(--alt);border:1px solid var(--line);border-radius:12px}
.woocommerce-form-coupon p{margin:0}
.woocommerce-form-coupon .form-row-first{flex:1;min-width:200px}
.woocommerce-checkout .blockUI.blockOverlay{border-radius:16px}

/* compte */
div.woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;background:var(--alt);border:1px solid var(--line);border-radius:16px}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:600;font-size:.93rem}
.woocommerce-MyAccount-navigation a:hover{background:#fff;color:var(--acc)}
.woocommerce-MyAccount-navigation .is-active a{background:#fff;color:var(--acc);box-shadow:inset 3px 0 0 var(--acc-b)}
.woocommerce-MyAccount-content .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword{max-width:480px;margin:0 auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.u-columns.col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.u-columns .woocommerce-form-login,.u-columns .woocommerce-form-register{max-width:none;margin:0}
.woocommerce-form-login .button,.woocommerce-form-register .button{width:100%}
.woocommerce-form-login__rememberme{display:block;margin:0 0 12px}
.lost_password{margin:12px 0 0;text-align:center}
.woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.woocommerce-Address{padding:18px;border:1px solid var(--line);border-radius:14px}
.woocommerce-Address-title h3{font-size:1.05rem;margin:0 0 8px}
.woocommerce-orders-table__cell-order-actions .button{padding:.35rem .8rem;font-size:.85rem;margin:2px}
.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:1.2rem}
.woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:16px 32px;margin:0 0 20px;padding:16px;background:var(--alt);border-radius:12px}
.woocommerce-order-overview li{margin:0;font-size:.85rem;color:var(--mut)}
.woocommerce-order-overview strong{display:block;color:var(--ink);font-size:1rem}
.woocommerce-thankyou-order-received{font-size:1.1rem;font-weight:600;color:var(--ok)}

/* pied de page */
.foot{background:var(--navy);color:#dfe6f2;padding:56px 0 24px;font-size:.92rem}
.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}
.footgrid{display:grid;gap:32px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}
.footgrid div>b{display:block;margin-bottom:8px;color:#fff}
.footgrid div>a{display:block;padding:2px 0}
.flogo{display:block;height:44px;width:auto;margin-bottom:12px;filter:brightness(0) invert(1)}
.copy{margin-top:32px;padding-top:16px;border-top:1px solid #1d3568;color:#9fb0cc}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* tablette et petits écrans PC */
@media (max-width:1100px){
	.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
	.tiles4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pdp .product{gap:16px 32px}
	form.checkout{grid-template-columns:1fr}
	#customer_details,#order_review_heading,#order_review{grid-column:1;grid-row:auto}
	#order_review_heading{margin-top:24px}
}
@media (max-width:900px){
	.burger{display:flex}
	.hsearch{display:none}
	.hicons{margin-left:auto}
	.bar{min-height:64px}
	.catnav{display:none;border-bottom:1px solid var(--line)}
	.nt:checked~.catnav{display:block}
	.navrow{flex-direction:column;align-items:stretch;gap:0;padding-bottom:12px}
	.navsearch{display:block;padding:14px 0 6px}
	.navsearch .sform{box-shadow:none;border:1px solid var(--line);background:var(--alt)}
	.navcats{flex-direction:column;align-items:stretch;gap:0}
	.navlink,.dd-link{padding:14px 4px;border-bottom:0;border-top:1px solid var(--line)}
	.dd{flex-wrap:wrap;border-top:1px solid var(--line)}
	.dd-link{flex:1;border-top:0}
	.dd-btn{padding:14px 14px}
	.dd-menu{position:static;display:none;width:100%;max-width:none;flex:0 0 100%;border:0;box-shadow:none;padding:0 0 10px 10px;border-radius:0}
	.dd.open .dd-menu{display:block}
	.dd-menu .all{display:none}
	.dd-menu a{padding:11px 8px}
	.navextra{margin:8px 0 0;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
	.band{margin-top:-44px}
	.hero{padding:34px 0 84px}
	.hero::before{width:360px;height:360px;right:-160px;top:-140px}
	.herogrid{grid-template-columns:minmax(0,1fr);gap:26px}
	.phwrap{display:none}
	.pagehero{padding:28px 0 26px}
	.catgrid{grid-template-columns:1fr}
	.rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:2px 20px 10px;scroll-padding-left:20px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
	.rail .rev{flex:0 0 min(78%,320px);scroll-snap-align:start}
	.pdp .product{grid-template-columns:1fr}
	.footgrid{grid-template-columns:1fr 1fr}
	.footgrid>div:first-child{grid-column:1/-1}
	.panel{padding:20px}
	div.woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr}
	.woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;gap:4px}
	.woocommerce-MyAccount-navigation a{white-space:nowrap}
	.u-columns.col2-set,.woocommerce-Addresses{grid-template-columns:1fr}
}
@media (max-width:700px){
	.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.pimg{padding:8px}
	.pbody{padding:10px 12px 12px}
	.ptitle{font-size:.92rem}
	.pprice{font-size:1rem}
	.tiles4{gap:10px}.svc{padding:14px}.svc em{font-size:.8rem}
	.wccard{padding:16px}
	.bookcard{padding:18px;border-radius:16px}
	.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
	.form-row-first,.form-row-last{grid-column:1/-1}
	.woocommerce-result-count{float:none;display:block;line-height:1.4;margin-bottom:10px}
	.woocommerce-ordering{float:none;margin-bottom:16px}
	.woocommerce-ordering select{width:100%}
	/* panier : une carte par ligne */
	table.shop_table_responsive thead{display:none}
	table.shop_table_responsive tr{display:block;position:relative;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:12px}
	table.shop_table_responsive td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border:0;text-align:right}
	table.shop_table_responsive td[data-title]:not([data-title=""])::before{content:attr(data-title);font-weight:600;color:var(--mut);text-align:left}
	table.shop_table_responsive .product-remove{position:absolute;top:10px;right:10px;width:auto;padding:0}
	table.shop_table_responsive .product-thumbnail{width:auto;justify-content:flex-start}
	table.shop_table_responsive td.actions{display:block;padding:0!important}
	td.actions .coupon{float:none;margin:0 0 10px}
	td.actions .coupon input{flex:1;width:auto}
	td.actions>.button{float:none;width:100%}
	.cart_totals{padding:16px}
	.cart_totals .shop_table_responsive tr{border:0;padding:0;margin:0}
	.cart_totals td{text-align:right}
	.footgrid{grid-template-columns:1fr 1fr}
	.topbar .wrap>span:first-child{font-size:.8rem}
	.sform{padding-left:14px}.sform .btn{padding:.55rem 1rem}
	.pmain{padding:14px}
	.woocommerce-message .button,.woocommerce-info .button{margin-left:0}
}
@media (max-width:420px){
	.wikitag{display:none}
	.footgrid{grid-template-columns:1fr}
}

/* corrections panier : tableaux WooCommerce en pleine largeur, ventes croisées à côté du total */
.post-body table.shop_table,.post-body table.shop_table_responsive{display:table;overflow:visible}
.post-body .shop_table th,.post-body .shop_table td{border:0;border-bottom:1px solid var(--line)}
.post-body .shop_table th{border-bottom:2px solid var(--line)}
.cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:28px;align-items:start;justify-content:stretch}
.cart-collaterals .cart_totals{grid-column:2;width:100%}
.cart-collaterals .cross-sells{grid-column:1;grid-row:1}
.cross-sells h2{font-size:1.15rem;margin:0 0 14px}
.cross-sells .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){
	.cart-collaterals{grid-template-columns:1fr}
	.cart-collaterals .cart_totals,.cart-collaterals .cross-sells{grid-column:1;grid-row:auto}
}

/* le texte des pages (post-body) ne doit pas recolorer les boutons ni les cartes produit */
.post-body a.button,.post-body a.btn,.post-body .button,.post-body .btn{color:#fff;text-decoration:none}
.post-body .button.ghost{color:var(--ink)}
.post-body .pcard a,.post-body a.remove{text-decoration:none;color:inherit}
.post-body .pcard .added_to_cart{color:var(--acc)}
.post-body .ptitle{font:700 1rem/1.35 var(--f);margin:2px 0 0;padding:0;border:0}
.post-body .pcard:hover .ptitle a{color:var(--acc)}
.post-body ul.pgrid{padding:0;margin:0}.post-body .pgrid li{margin:0}

/* onglets de la fiche : le panneau n'est pas une carte */
.woocommerce-Tabs-panel.panel{box-shadow:none;border-radius:0;background:none;padding:24px 0}
.woocommerce-Tabs-panel table th{width:36%;font-weight:600;color:var(--mut)}
.woocommerce-Tabs-panel tr:has(th:empty):has(td:empty){display:none}
.woocommerce-Tabs-panel table.striped tr:nth-child(even){background:var(--alt)}

/* page contact */
.tiles3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.tiles3 .svc{padding:24px}
@media (max-width:820px){.tiles3{grid-template-columns:1fr}}

/* ===== Fiche produit (v1.0.1) ===== */
.pdp{background:var(--alt)}
.pdp .product{gap:20px 32px;align-items:start}
.pgal{align-self:stretch}
.pgal-in{position:sticky;top:96px}
.pmain{border-radius:22px;box-shadow:0 12px 34px rgba(1,22,64,.06)}
.pthumbs{gap:12px}
.pthumb{width:80px;height:80px;border-radius:14px}
.summary{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 32px;box-shadow:0 12px 34px rgba(1,22,64,.06)}
.pwb-single-product-brands{margin:0 0 10px}
.pwb-single-product-brands .pwb-text-before-brands-links{display:none}
.pwb-single-product-brands a{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(0,138,148,.1);color:var(--acc);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.pwb-single-product-brands a:hover{background:var(--acc);color:#fff}
.summary .product_title{font-size:clamp(1.45rem,2.6vw,1.95rem);margin:0 0 12px}
.summary .price{display:block;margin:0;font-size:2rem;line-height:1.1}
.summary .price del{font-size:1.1rem}
.summary .vat{margin:2px 0 18px;font-size:.82rem;color:var(--mut)}
.woocommerce-product-details__short-description{padding-top:16px;border-top:1px solid var(--line)}
.woocommerce-product-details__short-description img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.woocommerce-product-details__short-description p:has(span[style*="ff0000"]){margin:0 0 10px;padding:10px 14px;background:#fdecea;border-left:4px solid var(--bad);border-radius:0 10px 10px 0;font-size:.92rem;line-height:1.45}
.woocommerce-product-details__short-description span[style*="ff0000"]{color:var(--bad)!important}
.woocommerce-product-details__short-description p:empty,.woocommerce-product-details__short-description p:has(> br:only-child){display:none}
.summary form.cart{margin:20px 0 0;padding:20px;background:var(--alt);border-radius:16px}
table.variations tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
table.variations tr{display:block}
table.variations td.value{margin:0}
.reset_variations{margin:0 0 4px}
.single_variation_wrap{margin-top:14px}
.woocommerce-variation-add-to-cart{margin-top:6px}
.single_add_to_cart_button{box-shadow:0 8px 20px rgba(0,138,148,.28)}
.summary form.cart .quantity .qty{height:52px}
.reassure{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.reassure li{display:flex;align-items:center;gap:12px;font-size:.88rem;color:var(--mut);line-height:1.35}
.reassure .ic{width:40px;height:40px;padding:9px;border-radius:12px;background:rgba(0,138,148,.1);stroke:var(--acc)}
.reassure b{display:block;color:var(--ink);font-size:.93rem}
.product_meta{margin-top:18px;padding-top:14px;font-size:.82rem}
.pdp .woocommerce-tabs{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:8px 32px 12px;box-shadow:0 12px 34px rgba(1,22,64,.06)}
.pdp .related{margin-top:16px}
.pdp .related>h2,.pdp .upsells>h2,.pdp .up-sells>h2{font-size:1.4rem}
@media (max-width:1024px){.summary{padding:24px}}
@media (max-width:900px){
	.pgal-in{position:static}
	.pdp .product{gap:16px}
	.summary{padding:20px 18px;border-radius:18px}
	.summary form.cart{padding:14px}
	.pdp .woocommerce-tabs{padding:4px 18px 8px;border-radius:18px}
	.pthumbs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
	.pthumb{flex:none;width:68px;height:68px}
	.single_add_to_cart_button{min-width:0}
}
.woocommerce-Tabs-panel table{width:100%!important}
/* tarifs dégressifs (plugin WPC Price by Quantity) */
.wpcpq-wrap{margin:14px 0 4px;padding:10px 14px;background:var(--alt);border:1px solid var(--line);border-radius:12px;font-size:.88rem}
.wpcpq-wrap table{width:100%;border-collapse:collapse;margin:0}
.wpcpq-wrap th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);text-align:left;padding:4px 6px}
.wpcpq-wrap td{padding:5px 6px;border-top:1px solid var(--line);color:var(--ink)}
.wpcpq-wrap:empty{display:none}
/* rappels de la fiche : une seule ligne compacte */
.reassure{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0}
.reassure li{gap:8px;font-size:.85rem;font-weight:600;color:var(--ink)}
.reassure .ic{width:30px;height:30px;padding:6px;border-radius:9px}
/* rappels de la fiche : trois colonnes, une seule ligne */
.reassure{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.reassure li{flex-direction:column;justify-content:flex-start;text-align:center;gap:6px;font-size:.78rem;line-height:1.3;padding:10px 6px;background:var(--alt);border-radius:12px}
.reassure .ic{width:28px;height:28px;padding:5px;background:none}

/* panneau d'accueil : rayons + services, comme sur le site principal */
.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:26px 28px}
.prow{padding:0 28px 0 0;min-width:0}.prow+.prow{padding:0 0 0 28px;border-left:1px solid var(--line)}
.panel h2{font-size:1.15rem;margin:0 0 12px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tiles a{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;transition:.2s}
.tiles a:hover{border-color:var(--acc);box-shadow:0 6px 18px rgba(1,22,64,.1)}
.tiles .ic{flex:0 0 34px;width:34px;height:34px;padding:7px;border-radius:10px;background:rgba(0,138,148,.1);stroke:var(--acc)}
.tiles a:hover .ic{background:var(--acc);stroke:#fff}
.tx{display:flex;flex-direction:column;min-width:0}
.tx b,.tx em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx b{font-size:.95rem;line-height:1.3}
.tx em{font-style:normal;font-size:.8rem;color:var(--mut);line-height:1.35}
.tiles a.shop{background:var(--acc);border-color:var(--acc)}
.tiles a.shop .ic{background:rgba(255,255,255,.2);stroke:#fff}
.tiles a.shop b,.tiles a.shop em{color:#fff}
@media (max-width:1024px){
	.panel{display:block;max-width:640px;margin-left:auto;margin-right:auto}
	.prow,.prow+.prow{padding:0;border-left:0}
	.prow+.prow{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
}
@media (max-width:600px){
	.panel{padding:16px 12px}.panel h2{padding-left:4px}
	.tiles{gap:8px}
	.tiles a{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 6px}
	.tx b,.tx em{white-space:normal}
}
/* panneau d'accueil : une seule zone (rayons) */
.panel{display:block}
.prow,.prow+.prow{padding:0;border:0}
.panel .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.panel{max-width:none}.panel .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* mobile : accueil allégé, l'essentiel (recherche, rayons) tout de suite */
@media (max-width:700px){
	.xs-hide{display:none}
	.topbar .wrap{padding-top:5px;padding-bottom:5px}
	.hero{padding:22px 0 72px}
	.hero .kicker,.hero .lead,.hero .perks{display:none}
	.hero h1{margin:0 0 14px;font-size:1.7rem}
	.herosearch{margin-top:0}
	.band{margin-top:-52px}
}

/* pastilles de rayons : compactes ; sur écran étroit, une seule ligne défilante */
.chips{gap:6px;margin:0 0 16px}
.chips a{padding:5px 12px;font-size:.85rem;white-space:nowrap}
@media (max-width:900px){
	.chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px 14px;padding:2px 20px 6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
	.chips::-webkit-scrollbar{display:none}
	.chips a{flex:none;scroll-snap-align:start}
	.catpick{margin:0 0 14px}
}

/* ventes croisées : liste compacte (vignette à gauche) */
.cross-sells .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cross-sells .pcard{flex-direction:row;align-items:center;border-radius:12px}
.cross-sells .pcard:hover{transform:none}
.cross-sells .pimg{flex:none;width:76px;aspect-ratio:1/1;padding:6px;border:0}
.cross-sells .pbody{padding:8px 12px 8px 4px;gap:0;min-width:0}
.cross-sells .pbrand,.cross-sells .pcat{display:none}
.cross-sells .ptitle{font-size:.88rem;-webkit-line-clamp:2}
.cross-sells .pfoot{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-top:4px}
.cross-sells .pprice{font-size:.9rem}
.cross-sells .pfoot .button{padding:.3rem .7rem;font-size:.78rem;border-radius:9px}
@media (max-width:700px){.cross-sells .pgrid{grid-template-columns:1fr}}

/* total du panier et récapitulatif de commande : libellés alignés, livraison en cartes */
.cart_totals th,.woocommerce-checkout-review-order-table tbody th,.woocommerce-checkout-review-order-table tfoot th{width:1%;white-space:nowrap;padding-right:16px;text-align:left}
.cart_totals tr.woocommerce-shipping-totals,.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{display:block;border-bottom:1px solid var(--line);padding-bottom:12px}
.cart_totals tr.woocommerce-shipping-totals th,.cart_totals tr.woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{display:block;width:100%;white-space:normal;border:0;padding:12px 0 0;text-align:left}
.woocommerce-shipping-methods{text-align:left}
.woocommerce-shipping-methods li{display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:10px}
.woocommerce-shipping-methods li input{flex:none;margin:0}
.woocommerce-shipping-methods li label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;flex:1;margin:0;font-weight:600;font-size:.88rem;line-height:1.3;text-align:left}
.woocommerce-shipping-methods li label img{width:28px;height:28px;border-radius:6px}
.woocommerce-shipping-destination,.shipping-calculator-button{display:block;margin-top:6px;text-align:left}
@media (max-width:700px){
	.cart_totals tr.woocommerce-shipping-totals td::before{display:none}
	.cart_totals .shop_table_responsive tr:not(.woocommerce-shipping-totals){display:flex;justify-content:space-between;align-items:baseline}
}
/* total : lignes en grille (le libellé à gauche, le montant à droite ; la livraison sur toute la largeur) */
.cart_totals table.shop_table,.cart_totals table.shop_table tbody,.woocommerce-checkout-review-order-table tfoot{display:block;width:100%}
.cart_totals table.shop_table tr,.woocommerce-checkout-review-order-table tfoot tr{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:16px}
.cart_totals table.shop_table tr.woocommerce-shipping-totals,.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals{grid-template-columns:minmax(0,1fr)}
.cart_totals table.shop_table th,.cart_totals table.shop_table td,.woocommerce-checkout-review-order-table tfoot th,.woocommerce-checkout-review-order-table tfoot td{width:auto}
.cart_totals table.shop_table td,.woocommerce-checkout-review-order-table tfoot td{text-align:right}
.cart_totals tr.woocommerce-shipping-totals td,.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left}
.cart_totals table.shop_table th,.cart_totals table.shop_table td,.woocommerce-checkout-review-order-table tfoot th,.woocommerce-checkout-review-order-table tfoot td{border:0!important}
.cart_totals table.shop_table tr,.woocommerce-checkout-review-order-table tfoot tr{padding:10px 0;border-bottom:1px solid var(--line)}
.cart_totals table.shop_table tr:last-child,.woocommerce-checkout-review-order-table tfoot tr:last-child,.cart_totals .order-total{border-bottom:0}
.cart_totals table.shop_table th,.cart_totals table.shop_table td{padding-top:0;padding-bottom:0}
.cart_totals tr.woocommerce-shipping-totals th{padding-bottom:8px}
.cart_totals td::before,.woocommerce-checkout-review-order-table tfoot td::before{display:none!important;content:none!important}
.cart_totals table.shop_table td{white-space:normal}
.cart_totals .order-total td strong{white-space:nowrap}
.cart_totals .order-total .includes_tax{display:block;font-size:.78rem;font-weight:400;color:var(--mut)}
.woocommerce-shipping-methods li label .woocommerce-Price-amount{white-space:nowrap}
.woocommerce-shipping-methods li label{flex-wrap:nowrap}

/* ===== Valider la commande ===== */
.woocommerce-checkout .wccard{padding:24px 28px}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{padding:10px 16px;margin:0 0 10px;font-size:.9rem}
.woocommerce-checkout .woocommerce-form-login-toggle,.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0}
form.checkout{margin-top:18px}
#customer_details h3,#order_review_heading{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin:0 0 16px;padding:0;border:0}
#customer_details h3::before,#order_review_heading::before{content:"";width:4px;height:1.2em;border-radius:2px;background:var(--acc-b)}
/* champs par deux : code postal + ville, téléphone + e-mail */
#billing_postcode_field,#shipping_postcode_field,#billing_phone_field{grid-column:1!important}
#billing_city_field,#shipping_city_field,#billing_email_field{grid-column:2!important}
#billing_postcode_field,#billing_city_field,#shipping_postcode_field,#shipping_city_field,#billing_phone_field,#billing_email_field{grid-row:auto}
#billing_first_name_field,#shipping_first_name_field{grid-column:1}
#billing_last_name_field,#shipping_last_name_field{grid-column:2}
.woocommerce-checkout .form-row{margin-bottom:14px}
.woocommerce-checkout .form-row label{margin-bottom:5px}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row select{height:46px;padding-top:0;padding-bottom:0}
.woocommerce-checkout .form-row textarea{height:auto;min-height:90px;padding:.7rem .9rem}
#createaccount+span,.woocommerce-account-fields p.create-account{margin:0}
.woocommerce-checkout #ship-to-different-address{font-size:1rem;margin:6px 0 12px}
.woocommerce-checkout #ship-to-different-address label{font-weight:600}
/* récapitulatif : collant à côté du formulaire, titre de colonnes discrets */
#order_review{position:sticky;top:96px;padding:20px 22px;box-shadow:0 12px 34px rgba(1,22,64,.06);background:#fff}
.woocommerce-checkout-review-order-table thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line)}
.woocommerce-checkout-review-order-table tbody td{border-bottom:1px solid var(--line);vertical-align:top}
.woocommerce-checkout-review-order-table .product-name{font-weight:500}
.woocommerce-checkout-review-order-table .product-quantity{font-weight:700;color:var(--acc)}
#payment{background:var(--alt);border-radius:14px;padding:14px}
#payment .wc_payment_method>label{font-weight:600;display:inline}
#payment .payment_box{background:#fff;border:1px solid var(--line)}
#payment .place-order{margin-top:6px}
#place_order{box-shadow:0 8px 20px rgba(0,138,148,.28);border-radius:14px}
.woocommerce-privacy-policy-text p,.woocommerce-terms-and-conditions-checkbox-text{font-size:.82rem}
@media (max-width:1024px){
	#order_review{position:static}
	.woocommerce-checkout .wccard{padding:18px}
}
@media (max-width:700px){
	#billing_postcode_field,#shipping_postcode_field,#billing_phone_field,#billing_city_field,#shipping_city_field,#billing_email_field,#billing_first_name_field,#billing_last_name_field,#shipping_first_name_field,#shipping_last_name_field{grid-column:1/-1!important}
	.woocommerce-checkout .wccard{padding:14px}
	#order_review{padding:16px}
}
#customer_details h3#ship-to-different-address::before{display:none}
#customer_details h3#ship-to-different-address{display:block;font-size:.95rem;margin:4px 0 12px}
.woocommerce-checkout-review-order-table thead th:last-child{white-space:nowrap}

/* commande : jamais plus large que l'écran (colonnes minmax(0,…), select2 à 100 %) */
form.checkout{min-width:0}
form.checkout>*{min-width:0}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wccard .select2-container{width:100%!important;max-width:100%}
@media (max-width:1024px){form.checkout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
	.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
}

/* récapitulatif de commande : tout en grille (jamais plus large que la carte), bloc Mondial Relay lisible */
.woocommerce-checkout-review-order-table,.woocommerce-checkout-review-order-table thead,.woocommerce-checkout-review-order-table tbody,.woocommerce-checkout-review-order-table tfoot{display:block;width:100%;max-width:100%}
.woocommerce-checkout-review-order-table thead tr,.woocommerce-checkout-review-order-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:baseline}
.woocommerce-checkout-review-order-table thead th,.woocommerce-checkout-review-order-table tbody td{width:auto;min-width:0}
.woocommerce-checkout-review-order-table .product-total{text-align:right;white-space:nowrap}
.woocommerce-checkout-review-order-table tfoot tr.mrwp{display:block;grid-template-columns:none;padding:12px 0}
.woocommerce-checkout-review-order-table tfoot tr.mrwp th,.woocommerce-checkout-review-order-table tfoot tr.mrwp td{display:block;width:100%;white-space:normal;text-align:left;padding:0;text-transform:none;letter-spacing:0}
.woocommerce-checkout-review-order-table tfoot tr.mrwp th{font-size:.9rem;font-weight:700;color:var(--ink);margin:0 0 8px}
.woocommerce-checkout-review-order-table tfoot tr.mrwp th em{display:block;margin-top:2px;font-size:.82rem;font-weight:500;font-style:normal;color:var(--mut);text-transform:none;letter-spacing:0;line-height:1.4}
.woocommerce-checkout-review-order-table tfoot tr.mrwp .modaal_link{display:block;width:100%;padding:.65rem 1rem;border-radius:12px;text-align:center;font-size:.9rem;font-weight:700;text-decoration:none;line-height:1.3;writing-mode:horizontal-tb;white-space:normal}
.woocommerce-checkout-review-order-table tfoot tr.mrwp .modaal_link:hover{filter:brightness(.92)}

/* livraison : ligne unique, prix à droite ; adresse du retrait sur sa propre ligne */
.woocommerce-shipping-methods li label{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.woocommerce-shipping-methods li label .woocommerce-Price-amount{margin-left:auto;padding-left:8px}
.woocommerce-shipping-methods li label .ship-sub{display:block;font-weight:400;font-size:.8rem;color:var(--mut)}

/* récapitulatif : séparateurs propres (un trait par ligne, sur toute la largeur) */
.woocommerce-checkout-review-order-table thead th,.woocommerce-checkout-review-order-table tbody td{border:0!important}
.woocommerce-checkout-review-order-table thead tr{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:2px}
.woocommerce-checkout-review-order-table tbody tr{border-bottom:1px solid var(--line);padding:11px 0}
.woocommerce-checkout-review-order-table tbody td{padding:0}
.woocommerce-checkout-review-order-table thead th{padding:0}
.woocommerce-checkout-review-order-table tfoot tr{padding:12px 0}
.woocommerce-checkout-review-order-table tfoot tr.order-total{border-bottom:0;padding-bottom:4px}
.woocommerce-checkout-review-order-table .order-total td strong{white-space:nowrap}
.woocommerce-checkout-review-order-table .order-total .includes_tax{display:block;font-size:.78rem;font-weight:400;color:var(--mut)}
/* logo bpost dans la même pastille que celui de Mondial Relay */
.ship-logo{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:7px;background:#fdecea}
.ship-logo img{display:block;width:16px;height:16px}
/* logo bpost (image large, sans pastille) */
.ship-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;height:auto;background:none;border-radius:0}
.ship-logo img{display:block;width:52px;height:29px;object-fit:contain}
.woocommerce-shipping-methods li label .ship-logo img{width:52px;height:29px;border-radius:0}
/* logo Grez Optic devant le retrait au magasin */
.woocommerce-shipping-methods li label .ship-logo img[alt="Grez Optic"]{width:30px;height:31px;border-radius:6px}
.ship-txt{display:block;min-width:0}
.ship-txt .ship-sub{display:block}
/* livraison : libellé sur une seule ligne (sauf l'adresse du retrait) */
.woocommerce-shipping-methods li label{white-space:nowrap}
.woocommerce-shipping-methods li label .ship-txt{white-space:normal}
.woocommerce-shipping-methods li label .ship-logo img:not([alt="Grez Optic"]){width:32px;height:23px}

/* case d'inscription à la newsletter (MailPoet) et cases du formulaire de commande */
.woocommerce-checkout .form-row.mailpoet_woocommerce_checkout_optin,.woocommerce-checkout p.mailpoet_woocommerce_checkout_optin{grid-column:1/-1;margin:2px 0 12px}
.woocommerce-checkout .mailpoet_woocommerce_checkout_optin label{display:flex;align-items:flex-start;gap:8px;font-weight:500;font-size:.9rem;line-height:1.45}
.woocommerce-checkout .mailpoet_woocommerce_checkout_optin input[type=checkbox]{margin:3px 0 0;flex:none}

/* bouton « afficher le mot de passe » (WooCommerce) : œil à droite du champ */
.password-input{position:relative;display:block}
.password-input input{padding-right:46px!important}
.show-password-input{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center/22px;cursor:pointer;font-size:0}
.show-password-input:hover{background-color:var(--alt)}
.show-password-input.display-password{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008a94' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 6.1A10 10 0 0 1 12 5c6 0 10 7 10 7a17 17 0 0 1-3.2 3.9M6.5 6.9C3.7 8.7 2 12 2 12s4 7 10 7c1.6 0 3-.4 4.3-1M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E")}

/* ===== Mon compte ===== */
.acc-hello h2{font-size:1.4rem;margin:0 0 4px}
.acc-hello p{margin:0 0 18px;color:var(--mut);font-size:.92rem}
.acc-tiles{margin:0 0 26px}
.acc-sub{font:700 1.05rem/1.3 var(--f);margin:0 0 10px}
.acc-orders{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.acc-orders li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) auto auto;gap:6px 16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);margin:0}
.acc-orders li:last-child{border-bottom:0}
.acc-onum{font-weight:700;text-decoration:none}
.acc-odate{color:var(--mut);font-size:.9rem}
.acc-ototal{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.acc-all{margin:12px 0 0}
.acc-empty{color:var(--mut)}
/* pastilles d'état des commandes */
.ost{display:inline-block;padding:3px 11px;border-radius:999px;background:#eef1f4;color:#4a5560;font-size:.78rem;font-weight:700;white-space:nowrap}
.ost-completed{background:#e4f4ea;color:#0a6b37}
.ost-processing{background:#e0f4f6;color:#00707a}
.ost-on-hold,.ost-pending{background:#fff3d6;color:#8a5a00}
.ost-cancelled,.ost-failed{background:#fdecea;color:#a3271f}
.ost-refunded{background:#eef1f4;color:#4a5560}
.woocommerce-orders-table__cell-order-number a{font-weight:700;text-decoration:none}
.woocommerce-orders-table .button{padding:.35rem .9rem;font-size:.82rem;border-radius:999px}
.woocommerce-MyAccount-content .woocommerce-message,.woocommerce-MyAccount-content .woocommerce-info{margin-bottom:16px}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{border:0;padding:0}
.woocommerce-MyAccount-content legend{font-weight:700;padding:0 6px}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:8px 0 16px}
.woocommerce-MyAccount-content .form-row-first,.woocommerce-MyAccount-content .form-row-last{width:calc(50% - 8px);display:inline-block;vertical-align:top}
.woocommerce-MyAccount-content .form-row-first{margin-right:12px}
.woocommerce-EditAccountForm .button,.woocommerce-address-fields .button{margin-top:6px}
.woocommerce-Address address{font-style:normal;line-height:1.6;color:#2b3138}
.woocommerce-Address-title .edit{font-size:.85rem;color:var(--acc);text-decoration:none;font-weight:600}
.woocommerce-order-details .shop_table td.product-name a{font-weight:600}
@media (max-width:700px){
	.acc-orders li{grid-template-columns:1fr auto;gap:4px 12px}
	.acc-odate{grid-column:1}.ost{grid-column:2;grid-row:1;justify-self:end}
	.acc-ototal{grid-column:2;grid-row:2}
	.woocommerce-MyAccount-content .form-row-first,.woocommerce-MyAccount-content .form-row-last{width:100%;display:block;margin-right:0}
}
/* détail d'une commande */
.woocommerce-MyAccount-content mark{background:none;color:inherit;font-weight:700}
.woocommerce-MyAccount-content address{font-style:normal;line-height:1.6}
.woocommerce-table--order-details{margin:0 0 18px}
.woocommerce-table--order-details tfoot th{text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink);font-weight:600}
.woocommerce-table--order-details th:last-child,.woocommerce-table--order-details td:last-child{text-align:right}
.woocommerce-table--order-details thead th,.woocommerce-table--order-details tfoot th{width:auto}
.woocommerce-table--order-details tfoot td .button{padding:.4rem 1rem;font-size:.85rem}
.woocommerce-customer-details .woocommerce-column{margin:0 0 16px}
.woocommerce-customer-details .woocommerce-customer-details--phone,.woocommerce-customer-details .woocommerce-customer-details--email{margin:2px 0 0;color:var(--mut)}
/* adresses et profil */
.woocommerce-Address{display:flex;flex-direction:column}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}
.woocommerce-Address-title h2,.woocommerce-Address-title h3{font-size:1.05rem;margin:0}
.woocommerce-Address-title .edit{padding:4px 12px;border:1px solid var(--line);border-radius:999px;white-space:nowrap;font-size:.8rem}
.woocommerce-Address-title .edit:hover{border-color:var(--acc)}
.woocommerce-EditAccountForm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
.woocommerce-EditAccountForm>*{grid-column:1/-1}
.woocommerce-EditAccountForm .form-row-first{grid-column:1;width:auto;margin-right:0;display:block}
.woocommerce-EditAccountForm .form-row-last{grid-column:2;width:auto;display:block}
.woocommerce-EditAccountForm .clear{display:none}
.woocommerce-EditAccountForm em{font-size:.82rem;color:var(--mut)}
@media (max-width:700px){.woocommerce-EditAccountForm .form-row-first,.woocommerce-EditAccountForm .form-row-last{grid-column:1/-1}}
/* compte : la colonne de contenu ne dépasse jamais l'écran */
.woocommerce-MyAccount-content{min-width:0}
@media (max-width:900px){div.woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:minmax(0,1fr)}}
/* numéros de commande sur une seule ligne */
.acc-onum,.woocommerce-orders-table__cell-order-number a{white-space:nowrap}
@media (max-width:700px){
	.acc-onum{font-size:.86rem;letter-spacing:-.01em}
	.acc-orders li{padding:12px 14px}
}

/* suivi du colis */
.acc-orders li{grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr) auto auto}
.acc-track{grid-column:1/-1;display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:4px 12px;border-radius:999px;background:rgba(0,138,148,.1);color:var(--acc);font-size:.8rem;font-weight:700;text-decoration:none}
.acc-track:hover{background:var(--acc);color:#fff}
.acc-track .ic{width:16px;height:16px}
.woocommerce-orders-table .button.track,.woocommerce-orders-table .woocommerce-button.track{background:#fff;color:var(--acc);border-color:var(--acc)}
.woocommerce-orders-table .button.track:hover{background:var(--acc);color:#fff}
.track-line{margin:0 0 14px}
.track-line .button{display:inline-flex;align-items:center;gap:8px}
.track-line .ic{width:20px;height:20px;stroke:#fff}

/* dernières commandes sur téléphone : numéro + total, puis date + état, puis suivi */
@media (max-width:700px){
	.acc-orders li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px}
	.acc-onum{grid-column:1;grid-row:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis}
	.acc-ototal{grid-column:2;grid-row:1;font-size:1rem}
	.acc-odate{grid-column:1;grid-row:2;white-space:nowrap;font-size:.85rem}
	.acc-orders .ost{grid-column:2;grid-row:2;justify-self:end}
	.acc-track{grid-column:1/-1;grid-row:3;justify-self:stretch;justify-content:center;padding:8px 12px;font-size:.85rem;margin-top:4px}
}
@media (max-width:700px){
	.acc-onum{grid-column:1;grid-row:1;font-size:.85rem;overflow:visible;text-overflow:clip}
	.acc-orders .ost{grid-column:2;grid-row:1;justify-self:end}
	.acc-odate{grid-column:1;grid-row:2}
	.acc-ototal{grid-column:2;grid-row:2;font-size:.95rem}
}
/* tableau de bord : trois raccourcis */
.acc-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.acc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.acc-tiles a:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:1024px){.acc-tiles a:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}}
@media (max-width:600px){.acc-tiles a:last-child:nth-child(odd){width:calc(50% - 4px)}}

/* liste des commandes sur téléphone : une carte par commande */
@media (max-width:700px){
	table.woocommerce-orders-table thead{display:none}
	table.woocommerce-orders-table tbody{display:block}
	table.woocommerce-orders-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:0 0 12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
	table.woocommerce-orders-table td{display:block;padding:0;border:0;text-align:left;min-width:0}
	table.woocommerce-orders-table td::before{display:none!important;content:none!important}
	.woocommerce-orders-table__cell-order-number{grid-column:1;grid-row:1}
	.woocommerce-orders-table__cell-order-number a{font-size:.9rem}
	.woocommerce-orders-table__cell-order-status{grid-column:2;grid-row:1;justify-self:end}
	.woocommerce-orders-table__cell-order-date{grid-column:1;grid-row:2;color:var(--mut);font-size:.85rem;white-space:nowrap}
	.woocommerce-orders-table__cell-order-total{grid-column:2;grid-row:2;justify-self:end;font-size:0}
	.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{font-size:1rem;font-weight:700}
	.woocommerce-orders-table__cell-order-actions{grid-column:1/-1;grid-row:3;display:flex!important;flex-wrap:nowrap;gap:8px;margin-top:6px}
	.woocommerce-orders-table__cell-order-actions .button{flex:1 1 0;margin:0;padding:.55rem .5rem;font-size:.82rem;white-space:nowrap;text-align:center}
	.woocommerce-orders-table__cell-order-actions .button.track{flex:2 1 0}
}
/* le numéro de commande est une cellule d'en-tête (th) : mêmes règles que les autres cellules */
@media (max-width:700px){
	table.woocommerce-orders-table th{display:block;padding:0;border:0!important;text-align:left;min-width:0;text-transform:none;letter-spacing:0;white-space:nowrap}
	table.woocommerce-orders-table th::before{display:none!important;content:none!important}
}
/* tablette : tableau plus compact */
@media (min-width:701px) and (max-width:1024px){
	.woocommerce-orders-table td,.woocommerce-orders-table th{padding:12px 6px}
	.woocommerce-orders-table__cell-order-date{white-space:nowrap}
	.woocommerce-orders-table__cell-order-total{white-space:nowrap}
	.woocommerce-orders-table__cell-order-total{font-size:0}
	.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{font-size:.95rem;font-weight:700}
	.woocommerce-orders-table__cell-order-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px}
	.woocommerce-orders-table__cell-order-actions .button{margin:0;white-space:nowrap}
}
@media (max-width:700px){
	table.woocommerce-orders-table td,table.woocommerce-orders-table th{border:0!important;box-shadow:none}
}

/* détail d'une commande : bandeau centré (numéro, date, état) */
.ord-head{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:18px 16px;margin:0 0 14px;background:var(--alt);border:1px solid var(--line);border-radius:16px}
.ord-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.ord-num{font-size:1.3rem;font-weight:700;line-height:1.2;color:var(--navy);overflow-wrap:anywhere}
.ord-date{color:var(--mut);font-size:.92rem}
.ord-head .ost{margin-top:4px;font-size:.82rem;padding:4px 14px}
@media (max-width:700px){.ord-num{font-size:1.1rem}}

/* détail d'une commande : lignes en grille, un trait par ligne, montants alignés à droite */
.woocommerce-table--order-details,.woocommerce-table--order-details thead,.woocommerce-table--order-details tbody,.woocommerce-table--order-details tfoot{display:block;width:100%;max-width:100%}
.woocommerce-table--order-details tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}
.woocommerce-table--order-details thead tr{padding-top:0;border-bottom:2px solid var(--line)}
.woocommerce-table--order-details tfoot tr:last-child{border-bottom:0}
.woocommerce-table--order-details th,.woocommerce-table--order-details td{display:block;width:auto;padding:0;border:0!important;text-align:left;min-width:0}
.woocommerce-table--order-details th:last-child,.woocommerce-table--order-details td:last-child{text-align:right}
.woocommerce-table--order-details td::before,.woocommerce-table--order-details th::before{display:none!important;content:none!important}
.woocommerce-table--order-details thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.woocommerce-table--order-details .product-name{font-weight:500}
.woocommerce-table--order-details .product-quantity{font-weight:700;color:var(--acc)}
.woocommerce-table--order-details .product-total{white-space:nowrap}
.woocommerce-table--order-details tfoot tr:has(.button) td{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.woocommerce-table--order-details tfoot td .button{margin:0}
.woocommerce-table--order-details tfoot td strong,.woocommerce-table--order-details tfoot .amount{white-space:nowrap}
.woocommerce-table--order-details .includes_tax{display:block;font-size:.78rem;font-weight:400;color:var(--mut)}
.woocommerce-table--order-details tfoot tr:has(.includes_tax) th,.woocommerce-table--order-details tfoot tr:has(.includes_tax) td{font-weight:700;font-size:1.02rem}

/* adresses d'une commande : deux cartes côte à côte (facturation / livraison) */
.woocommerce-customer-details .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.woocommerce-customer-details .woocommerce-column{float:none;width:auto;margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.woocommerce-customer-details .woocommerce-column__title{font-size:1rem;margin:0 0 8px}
.woocommerce-customer-details address{margin:0}
@media (max-width:700px){.woocommerce-customer-details .woocommerce-columns--addresses{grid-template-columns:1fr}}
/* adresses côte à côte aussi sur téléphone */
@media (max-width:700px){
	.woocommerce-customer-details .woocommerce-columns--addresses{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
	.woocommerce-customer-details .woocommerce-column{padding:12px}
	.woocommerce-customer-details .woocommerce-column__title{font-size:.9rem}
	.woocommerce-customer-details address{font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}
	.woocommerce-customer-details .woocommerce-customer-details--phone,.woocommerce-customer-details .woocommerce-customer-details--email{font-size:.8rem;overflow-wrap:anywhere}
}

/* fiche produit : photo moins haute sur tablette et téléphone */
@media (max-width:900px){
	.pmain{aspect-ratio:auto;height:clamp(220px,52vw,360px);padding:14px}
	.pthumbs{justify-content:center}
}
@media (max-width:600px){
	.pmain{height:clamp(200px,58vw,280px);padding:10px}
	.pthumb{width:56px;height:56px}
}
/* la photo reste dans son cadre : hauteur limitée par le cadre, jamais par la taille du fichier */
.pmain{display:flex;align-items:center;justify-content:center;overflow:hidden}
.pmain img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

/* rappels de la fiche : texte court sur téléphone (une seule ligne par case) ; bouton d'achat plus discret */
.reassure .sm{display:none}
@media (max-width:600px){
	.reassure{gap:6px}
	.reassure li{padding:8px 4px;gap:4px;font-size:.72rem;white-space:nowrap}
	.reassure .lg{display:none}
	.reassure .sm{display:inline}
	.reassure .ic{width:24px;height:24px;padding:4px}
	.summary form.cart{padding:12px}
	.single_add_to_cart_button{padding:.65rem 1rem!important;font-size:.95rem;min-width:0;border-radius:12px}
	.summary form.cart .quantity .qty{height:44px;width:70px}
}
@media (min-width:601px) and (max-width:900px){
	.single_add_to_cart_button{padding:.75rem 1.3rem!important;font-size:1rem}
}
/* barre du haut : téléphone et langues seulement, à droite */
.topbar .wrap{justify-content:flex-end}
/* barre de progression de la livraison offerte (plugin WPC) sur la fiche produit */
.ship-bar{margin:14px 0 0}
.ship-bar .wpcfb-wrap{margin:0;padding:10px 14px;background:var(--alt);border:1px solid var(--line);border-radius:12px;font-size:.85rem}
.ship-bar .wpcfb-wrap-empty{display:none}
.ship-bar .wpcfb-progress-bar{background:var(--acc)!important}
/* barre de progression de la livraison offerte : couleurs du thème (panier, commande, fiche produit) */
.wpcfb-wrap{font-size:.85rem;color:var(--ink);margin:0 0 14px}
.wpcfb-wrap .wpcfb-progress-bar{background:#dfe5ea!important;height:8px!important;border-radius:999px!important;overflow:hidden}
.wpcfb-wrap .wpcfb-progress-amount{background-color:var(--acc)!important;border-radius:999px!important}
.wpcfb-wrap .wpcfb-title,.wpcfb-wrap .wpcfb-message{font-size:.85rem}
.ship-bar .wpcfb-wrap{margin:0}

/* ===== barre de la livraison offerte : carte avec pictogramme, barre dégradée ===== */
.wpcfb-wrap,.ship-bar .wpcfb-wrap{position:relative;margin:0 0 14px;padding:14px 16px 14px 64px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 18px rgba(1,22,64,.06);font-size:.85rem;color:var(--ink)}
.ship-bar .wpcfb-wrap{margin:0}
.wpcfb-wrap::before{content:"";position:absolute;left:14px;top:14px;width:36px;height:36px;border-radius:11px;background:rgba(0,138,148,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008a94' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17' r='1.8'/%3E%3Ccircle cx='17' cy='17' r='1.8'/%3E%3C/svg%3E") center/22px no-repeat}
.wpcfb-wrap .wpcfb-title{font-weight:700;font-size:.92rem;line-height:1.3;margin:0 0 9px}
.wpcfb-wrap .wpcfb-title .amount{color:var(--acc)}
.wpcfb-wrap .wpcfb-progress-bar{height:10px!important;background:#e6ecf0!important;border-radius:999px!important;overflow:hidden}
.wpcfb-wrap .wpcfb-progress-amount{display:block;height:100%!important;background-image:linear-gradient(90deg,var(--acc-b),var(--acc))!important;border-radius:999px!important;animation:none!important;transition:width .4s ease}
.wpcfb-wrap .wpcfb-message{margin-top:8px;font-size:.85rem;color:var(--mut)}
.wpcfb-wrap .wpcfb-message .amount{font-weight:700;color:var(--ink)}
.wpcfb-wrap:has(.wpcfb-progress-amount[style*="width:100%"]) .wpcfb-message,.wpcfb-wrap:has(.wpcfb-progress-amount[style*="width: 100%"]) .wpcfb-message{color:var(--ok);font-weight:700}
@media (max-width:600px){
	.wpcfb-wrap,.ship-bar .wpcfb-wrap{padding:12px 12px 12px 56px}
	.wpcfb-wrap::before{left:12px;top:12px;width:32px;height:32px;background-size:20px}
	.wpcfb-wrap .wpcfb-title{font-size:.85rem}
}

/* barre de la livraison offerte : les rayures en mouvement (chevrons) sont conservées, aux couleurs du thème */
@keyframes grezb-stripes{from{background-position:0 0,0 0}to{background-position:60px 0,0 0}}
.wpcfb-wrap .wpcfb-progress-amount{background-image:linear-gradient(135deg,rgba(255,255,255,.32) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.32) 50%,rgba(255,255,255,.32) 75%,transparent 75%,transparent),linear-gradient(90deg,var(--acc-b),var(--acc))!important;background-size:30px 30px,100% 100%!important;background-repeat:repeat,no-repeat!important;animation:grezb-stripes 1s linear infinite!important}

/* barre de la livraison offerte : orange vif pour attirer l'oeil, vert quand la gratuité est atteinte */
.wpcfb-wrap .wpcfb-progress-amount{background-image:linear-gradient(135deg,rgba(255,255,255,.38) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.38) 75%,transparent 75%,transparent),linear-gradient(90deg,#ffa726,#ff6a13)!important}
.wpcfb-wrap .wpcfb-title .amount{color:#e8590c}
.wpcfb-wrap::before{background-color:rgba(255,106,19,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8590c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17' r='1.8'/%3E%3Ccircle cx='17' cy='17' r='1.8'/%3E%3C/svg%3E")}
.wpcfb-wrap .wpcfb-message .amount{color:#e8590c}
.wpcfb-wrap:has(.wpcfb-progress-amount[style*="width:100%"]) .wpcfb-progress-amount,.wpcfb-wrap:has(.wpcfb-progress-amount[style*="width: 100%"]) .wpcfb-progress-amount{background-image:linear-gradient(135deg,rgba(255,255,255,.38) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.38) 75%,transparent 75%,transparent),linear-gradient(90deg,#22c55e,#15803d)!important}
/* la barre de livraison offerte reste animée pour tout le monde (choix de Sébastien), même si le système réduit les animations */
.wpcfb-wrap .wpcfb-progress-amount{animation:grezb-stripes 1s linear infinite!important}

/* barre de la livraison offerte : version compacte (titre au-dessus, barre + « Plus que … » sur une ligne) */
.wpcfb-wrap,.ship-bar .wpcfb-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:10px 14px 10px 52px;border-radius:12px;box-shadow:0 4px 14px rgba(1,22,64,.05)}
.wpcfb-wrap::before{left:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;background-size:18px}
.wpcfb-wrap .wpcfb-title{grid-column:1/-1;margin:0;font-size:.85rem;line-height:1.25}
.wpcfb-wrap .wpcfb-progress-bar{grid-column:1;margin:0!important;height:8px!important}
.wpcfb-wrap .wpcfb-message{grid-column:2;margin:0;white-space:nowrap;font-size:.82rem}
@media (max-width:600px){
	.wpcfb-wrap,.ship-bar .wpcfb-wrap{padding:9px 12px 9px 48px}
	.wpcfb-wrap::before{left:9px;width:28px;height:28px;background-size:17px}
	.wpcfb-wrap .wpcfb-title{font-size:.8rem}
	.wpcfb-wrap .wpcfb-message{font-size:.78rem}
}
/* validation de commande : pas de barre de livraison offerte */
.woocommerce-checkout .wpcfb-wrap{display:none!important}
/* téléphone : titre de la barre sur une seule ligne (pictogramme masqué pour gagner de la place) */
@media (max-width:600px){
	.wpcfb-wrap,.ship-bar .wpcfb-wrap{padding:10px 12px}
	.wpcfb-wrap::before{display:none}
	.wpcfb-wrap .wpcfb-title{white-space:nowrap;font-size:.78rem;letter-spacing:-.01em}
}
/* téléphone : pictogramme conservé (plus petit), texte réduit pour tenir sur une ligne */
@media (max-width:600px){
	.wpcfb-wrap,.ship-bar .wpcfb-wrap{padding:10px 10px 10px 42px}
	.wpcfb-wrap::before{display:block;left:8px;width:26px;height:26px;background-size:16px}
	.wpcfb-wrap .wpcfb-title{font-size:.72rem;letter-spacing:-.015em}
	.wpcfb-wrap .wpcfb-message{font-size:.72rem}
}
/* barre de la livraison offerte : ombre et contour colorés pour qu'elle ressorte (orange, vert une fois la gratuité atteinte) */
.wpcfb-wrap,.ship-bar .wpcfb-wrap{border-color:rgba(255,106,19,.3);box-shadow:0 8px 22px rgba(255,106,19,.2),0 1px 3px rgba(1,22,64,.06)}
.wpcfb-wrap:has(.wpcfb-progress-amount[style*="width:100%"]),.wpcfb-wrap:has(.wpcfb-progress-amount[style*="width: 100%"]){border-color:rgba(34,197,94,.35);box-shadow:0 8px 22px rgba(34,197,94,.22),0 1px 3px rgba(1,22,64,.06)}
/* livraison offerte atteinte : le plugin affiche un bloc de message seul (sans barre) */
.wpcfb-wrap.wpcfb-qualified-message{grid-template-columns:minmax(0,1fr);border-color:rgba(34,197,94,.35);box-shadow:0 8px 22px rgba(34,197,94,.22),0 1px 3px rgba(1,22,64,.06)}
.wpcfb-wrap.wpcfb-qualified-message .wpcfb-message{grid-column:1;white-space:normal;color:var(--ok);font-weight:700}
.wpcfb-wrap.wpcfb-qualified-message::before{background-color:rgba(34,197,94,.14);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17' r='1.8'/%3E%3Ccircle cx='17' cy='17' r='1.8'/%3E%3C/svg%3E")}
@media (max-width:600px){
	.wpcfb-wrap.wpcfb-qualified-message{padding-right:8px}
	.wpcfb-wrap.wpcfb-qualified-message .wpcfb-message{white-space:nowrap;font-size:min(.78rem,3.05vw)}
}
/* menus déroulants : un bloc par sous-catégorie, titre net, sous-éléments en liste */
.dd-group{display:flex;flex-direction:column;gap:1px;min-width:0}
.dd-gt{color:var(--ink)}
.dd-k::before{content:"›";display:inline-block;width:14px;color:var(--acc);font-weight:700}
@media (min-width:901px){
	.dd-menu{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:16px;align-items:start;max-width:min(760px,92vw)}
	.dd-menu .all{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;margin:0 0 2px;background:rgba(0,138,148,.09);border:0;border-radius:10px;font-size:.9rem}
	.dd-menu .all:hover{background:var(--acc);color:#fff}
	.dd-group{padding:10px 8px 8px;background:var(--alt);border-radius:12px}
	.dd-menu .dd-gt{padding:4px 10px 8px;margin-bottom:4px;border-bottom:2px solid rgba(0,138,148,.22);border-radius:0;font-size:.95rem}
	.dd-menu .dd-k{padding:5px 10px!important;font-size:.86rem!important;line-height:1.3}
	.dd-menu .dd-k:hover,.dd-menu .dd-gt:hover{background:#fff}
}
@media (max-width:900px){
	.dd-group{padding:4px 0 8px}
	.dd-menu .dd-gt{padding:10px 8px 6px;font-size:.95rem}
	.dd-menu .dd-k{padding:8px 8px 8px 12px!important}
}
/* rayons de la boutique : tuiles avec vignette, nom et nombre de produits */
.cattiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0 0 22px}
.cattiles a{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:.2s}
.cattiles a:hover{border-color:var(--acc);box-shadow:0 6px 18px rgba(1,22,64,.1);transform:translateY(-1px)}
.cattiles .ct-ic{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:rgba(0,138,148,.1);color:var(--acc);font-weight:700;font-size:1.2rem}
.cattiles .ct-ic img{width:100%;height:100%;object-fit:cover;border-radius:0}
.cattiles .ct-ic svg{width:24px;height:24px;stroke:var(--acc)}
.cattiles .tx{display:flex;flex-direction:column;min-width:0}
.cattiles b{font-size:.93rem;line-height:1.25;color:var(--ink)}
.cattiles em{font-style:normal;font-size:.78rem;color:var(--mut)}
.cattiles a.on{background:var(--acc);border-color:var(--acc)}
.cattiles a.on b,.cattiles a.on em{color:#fff}
.cattiles a.on .ct-ic{background:rgba(255,255,255,.2)}
.cattiles a.back{background:transparent;border-style:dashed}
@media (max-width:900px){
	.cattiles{display:flex;overflow-x:auto;gap:8px;margin:0 -20px 14px;padding:2px 20px 6px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
	.cattiles::-webkit-scrollbar{display:none}
	.cattiles a{flex:none;scroll-snap-align:start;padding:7px 12px 7px 7px;gap:9px}
	.cattiles .ct-ic{flex-basis:34px;width:34px;height:34px;border-radius:9px}
	.cattiles .ct-ic svg{width:18px;height:18px}
	.cattiles b{font-size:.85rem;white-space:nowrap}
	.cattiles em{font-size:.72rem}
}
.cattiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cattiles b{display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media (max-width:900px){.cattiles b{white-space:nowrap}}
/* tablette et téléphone : la recherche reste visible sous le logo (plus cachée dans le menu) */
@media (max-width:900px){
	.bar{flex-wrap:wrap;gap:0 12px;padding-bottom:10px}
	.hsearch{display:block;order:3;flex:0 0 100%;max-width:none;margin:6px 0 0}
	.navsearch{display:none}
}
@media (max-width:900px){.hero .herosearch{display:none}.hero h1{margin-bottom:14px}}
/* commandes (tablette/ordinateur) : contenu de chaque ligne centré verticalement, pastilles alignées */
@media (min-width:701px){
	.woocommerce-orders-table td,.woocommerce-orders-table th{vertical-align:middle}
	.woocommerce-orders-table__cell-order-status{text-align:left}
	.woocommerce-orders-table__cell-order-status .ost{vertical-align:middle}
}
/* éléments ajoutés par des extensions de l'ancien thème sur les fiches produits : partage social, produit précédent/suivant, second fil d'Ariane */
.single-product .the-product-share,.single-product #product-nav,.single-product .woo-breadcrumbs{display:none!important}
/* moyens de paiement : logo Bancontact à côté du nom (comme PayPal), icône pour le virement bancaire */
#payment .wc_payment_methods li[class*="payment_method_woocommerce_payments_"] label{display:inline}
#payment .wc_payment_methods li[class*="payment_method_woocommerce_payments_"] label img{float:none!important;position:static;display:inline-block;vertical-align:middle;margin:0 0 0 8px;max-height:24px;width:auto}
#payment .wc_payment_methods li[class*="payment_method_woocommerce_payments_"] label .payment-methods--logos{float:none;display:inline-block;vertical-align:middle;margin-left:8px}
#payment .payment_method_bacs>label::after{content:"";display:inline-block;width:24px;height:24px;margin-left:8px;vertical-align:middle;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008a94' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18'/%3E%3C/svg%3E") center/22px no-repeat}
/* éléments flottants ajoutés par des extensions de l'ancien thème : retour en haut (rond vide), panier latéral, barre « Select options » */
#return-to-top,#site-canvas,.woo-float-info{display:none!important}
/* téléphone : un choix de variation par ligne (libellé à gauche, liste à droite) : plus rien de tronqué */
@media (max-width:600px){
	table.variations tbody{grid-template-columns:minmax(0,1fr);gap:8px}
	table.variations tr{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:0 10px}
	table.variations .label{margin:0}
	table.variations td.value{margin:0}
}
/* secours si un plugin réimpose des largeurs aux fiches produits et aux grilles */
.woocommerce .pdp div.product div.summary,.pdp div.product div.summary,.pdp div.product div.images{width:auto!important;float:none!important;margin:0!important}
.woocommerce .pdp div.product div.summary,.pdp div.product div.summary{padding:30px 32px!important}
@media (max-width:1024px){.woocommerce .pdp div.product div.summary,.pdp div.product div.summary{padding:24px!important}}
@media (max-width:600px){.woocommerce .pdp div.product div.summary,.pdp div.product div.summary{padding:20px 18px!important}}
.woocommerce ul.pgrid,ul.products.pgrid{display:grid!important}
.woocommerce form .form-row .required{visibility:visible}
/* téléphone : logo + pastille à gauche, icônes à droite, toujours sur la même ligne ; la recherche passe dessous */
@media (max-width:900px){
	.bar{flex-wrap:wrap}
	.bar .logo{flex:0 1 auto;min-width:0;gap:8px}
	.bar .hicons{flex:none;margin-left:auto}
}
@media (max-width:480px){
	.bar .logo-img{height:36px}
	.bar .wikitag{padding:2px 8px;font-size:.68rem;letter-spacing:.05em}
	.bar .hicons{gap:2px}
}
@media (max-width:480px){
	.bar{gap:0 8px}
	.bar .hicon{width:40px;height:40px}
	.bar .hicon .ic{width:24px;height:24px}
	.bar .burger{padding:10px 8px}
	.bar .burger i{width:24px}
}
/* mention de repli « livraison offerte » : une seule ligne lisible, jamais rognée */
.reassure{grid-template-columns:minmax(0,1fr)}
.reassure li{flex-direction:row;justify-content:flex-start;text-align:left;white-space:normal;padding:8px 10px}
/* paiement par carte (WooPayments) : le formulaire reprend toute la largeur, sans le cadre par défaut du navigateur */
#payment fieldset,#payment .wc-payment-form{border:0;padding:0;margin:0;min-width:0;width:100%}
#payment .wcpay-upe-element{padding:0}
#payment .payment_methods li[class*="payment_method_woocommerce_payments"] label .payment-methods--logos{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;float:right}
#payment .payment-methods--logos-count{white-space:nowrap;margin-left:2px}

/* Calculateur de lentilles de contact (plugin grez-calculateur-lentilles) */
.calccard .post-body{max-width:none;padding-top:8px;font-size:1rem;line-height:1.5}
.calccard .grezcl__title{display:none}
.calccard .grezcl{margin:0 auto}
.calcbtn{display:flex;align-items:center;gap:14px;margin:16px 0 0;padding:14px 18px;background:rgba(0,138,148,.08);border:1px solid rgba(0,138,148,.35);border-radius:16px;text-decoration:none;color:var(--ink);line-height:1.35;transition:background .15s,border-color .15s}
.calcbtn:hover{background:rgba(0,138,148,.14);border-color:var(--acc);color:var(--ink)}
.calcbtn .ic{flex:none;width:44px;height:44px;padding:10px;border-radius:12px;background:#fff;stroke:var(--acc)}
.calcbtn span{flex:1;font-size:.86rem;color:var(--mut)}
.calcbtn b{display:block;color:var(--ink);font-size:.98rem}
.calcbtn i{font-style:normal;font-weight:700;font-size:1.3rem;color:var(--acc)}
.calccard.bookcard{background:none;border:0;box-shadow:none;padding:0}
