/* === e4-fiche.css === */
/* e4-fiche.css — minifié (source : extraction maquette-fiche-v5-b + passes UX) */

a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button{font-family:inherit}h1,h2,h3,h4{color:#2B004F;line-height:1.14;letter-spacing:-.01em}.wrap{max-width:var(--gw-wrap,min(90%,1600px));margin:0 auto;padding:0}section{position:relative;z-index:0;padding:clamp(44px,5.5vw,76px) 0;scroll-margin-top:140px}section + section{border-top:1px solid rgba(43,0,79,.10)}section.sep::before{content:"";position:absolute;left:-4%;right:-4%;top:0;height:3px;z-index:0;pointer-events:none;background:linear-gradient(100deg,transparent 0,rgba(123,191,63,.55) 18%,rgba(126,30,87,.45) 70%,transparent 100%);transform:skewY(-1.1deg);transform-origin:left;opacity:.7}section.sep::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40vw 32vw at 6% -6%,rgba(123,191,63,.10),transparent 60%),radial-gradient(42vw 34vw at 104% 110%,rgba(126,30,87,.08),transparent 62%)}.sec-alt{background:linear-gradient(180deg,#f7f4fb,#f2edf8)}.head{max-width:760px;margin:0 0 36px}.head.center{margin-left:auto;margin-right:auto;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:#7E1E57;margin-bottom:16px;transform:skewX(-5deg)}.eyebrow>*{display:inline-block;transform:skewX(calc(-1 * -5deg))}.eyebrow::before{content:"";display:inline-block;width:30px;height:8px;border-radius:2px;vertical-align:middle;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);transform:skewX(-5deg);box-shadow:0 0 5px rgba(123,191,63,.25)}.head h2{font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(26px,3.6vw,44px);line-height:1.0;letter-spacing:-.01em;text-transform:uppercase;color:#2B004F;position:relative;display:inline-block;transform:skewX(-5deg);transform-origin:left;padding-bottom:.32em}.head h2::after{content:"";position:absolute;left:0;bottom:0;width:96px;height:5px;border-radius:3px;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);box-shadow:0 0 6px rgba(123,191,63,.2)}.head.center h2::after{left:50%;transform:translateX(-50%)}.head p{margin-top:14px;color:#6d6480;font-size:16px;max-width:62ch}.head.center p{margin-left:auto;margin-right:auto}.kw{background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.stars{display:inline-block;position:relative;font-size:16px;line-height:1;letter-spacing:2px;font-family:Arial,sans-serif}.stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}.stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:100%;overflow:hidden;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;padding:13px 24px;border-radius:13px;cursor:pointer;border:1.5px solid transparent;white-space:nowrap;transition:.22s cubic-bezier(.22,1,.36,1)}.btn svg{width:18px;height:18px}.btn-primary{background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a;border:1px solid transparent;box-shadow:0 8px 14px rgba(123,191,63,.18),0 0 0 1px rgba(123,191,63,.12)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 22px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.26)}.btn-ghost{background:rgba(255,255,255,.78);border:1.5px solid rgba(43,0,79,.10);color:#2B004F;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:rgba(123,191,63,.45);color:#3f6f1c;transform:translateY(-3px);box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);background:rgba(255,255,255,.9)}.crumbs{padding:18px 0 4px}.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;font-family:'Poppins',sans-serif;font-size:13px;font-weight:500}.crumbs li{display:inline-flex;align-items:center;gap:6px;color:#6d6480}.crumbs a{color:#6d6480;transition:.16s cubic-bezier(.22,1,.36,1)}.crumbs a:hover{color:#3f6f1c}.crumbs li[aria-current]{color:#2B004F;font-weight:600}.crumbs .sepc{color:#a99fbb;font-weight:700;transform:skewX(-5deg);display:inline-block}.product{padding:0 0 clamp(40px,5vw,72px)}.product-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:46px;align-items:start}.gallery{position:relative}.gallery-stage{position:relative;border-radius:22px;background:radial-gradient(120% 86% at 50% 4%,#ffffff,#f5f2f9);border:1px solid rgba(255,255,255,.8);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05),0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:26px;overflow:hidden}.gallery-stage::before{content:"";position:absolute;inset:6% 8%;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(123,191,63,.18),rgba(126,30,87,.06) 46%,transparent 70%);filter:blur(16px)}.stage-img{position:relative;z-index:1;width:100%;aspect-ratio:1/.96;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 22px 38px rgba(43,0,79,.20));transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:14px}.thumb{position:relative;aspect-ratio:1/1;border-radius:11px;overflow:hidden;cursor:pointer;background:radial-gradient(120% 90% at 50% 28%,#fff,#f5f2f9);border:1.5px solid rgba(43,0,79,.10);padding:8px;transition:.22s cubic-bezier(.22,1,.36,1)}.thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.thumb:hover{border-color:rgba(123,191,63,.45);box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);transform:translateY(-2px)}.thumb.active{border-color:rgba(123,191,63,.7);box-shadow:0 0 0 2px rgba(123,191,63,.22),0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10)}.thumb:focus-visible{outline:3px solid rgba(123,191,63,.4);outline-offset:2px}.buy{position:relative}.buy-brand{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:#7E1E57;margin-bottom:14px;transform:skewX(-5deg)}.buy-brand>*{display:inline-block;transform:skewX(calc(-1 * -5deg))}.buy-brand::before{content:"";display:inline-block;width:28px;height:7px;border-radius:2px;vertical-align:middle;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);transform:skewX(-5deg);box-shadow:0 0 5px rgba(123,191,63,.25)}.buy h1,.pg-a .prod-header h1{font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(26px,3.3vw,40px);line-height:1.02;letter-spacing:-.5px;text-transform:uppercase;color:#2B004F;transform:skewX(-5deg);transform-origin:left;margin-bottom:8px}.buy h1 .accent,.pg-a .prod-header h1 .accent{background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.buy-sub{font-size:15.5px;color:#4f4760;max-width:46ch;margin-bottom:16px}.rating-row{display:flex;align-items:center;gap:11px;margin-bottom:20px;flex-wrap:wrap}.rating-row .rc{font-family:'Poppins',sans-serif;font-size:13.5px;color:#6d6480}.rating-row .rc b{color:#2B004F}.rating-row .rc a{color:#3f6f1c;font-weight:600}.rating-row .rc a:hover{color:#7E1E57}.hud{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.hud-chip{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;color:#2B004F;background:rgba(255,255,255,.78);border:1px solid rgba(43,0,79,.10);border-radius:999px;padding:7px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);transition:.2s cubic-bezier(.22,1,.36,1)}.hud-chip:hover{border-color:rgba(123,191,63,.4);box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10)}.hud-chip .dot{width:7px;height:7px;border-radius:50%;background:#7BBF3F;box-shadow:0 0 6px rgba(123,191,63,.5);flex-shrink:0}.price-card{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05),0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px 20px 18px;margin-bottom:22px;display:flex;flex-direction:column;gap:10px}.price{font-family:'Russo One',sans-serif;font-size:clamp(34px,4.4vw,46px);color:#2B004F;line-height:1;letter-spacing:-.5px}.buy-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-bottom:18px}.qty{display:inline-flex;align-items:center;background:rgba(255,255,255,.78);border:1.5px solid rgba(43,0,79,.10);border-radius:13px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.qty button{width:46px;height:52px;border:0;background:transparent;cursor:pointer;font-size:22px;font-weight:500;color:#2B004F;transition:.16s cubic-bezier(.22,1,.36,1);line-height:1}.qty button:hover{background:rgba(123,191,63,.12);color:#3f6f1c}.qty button:focus-visible{outline:3px solid rgba(123,191,63,.4);outline-offset:-3px}.qty input{width:46px;height:52px;border:0;background:transparent;text-align:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;color:#2B004F;outline:none;-moz-appearance:textfield;appearance:textfield}.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.btn-cart{flex:1;min-width:200px;height:52px;font-size:15.5px}.btn-fav{width:52px;height:52px;flex-shrink:0;padding:0;border-radius:13px;background:rgba(255,255,255,.78);border:1.5px solid rgba(43,0,79,.10);color:#7E1E57;cursor:pointer;transition:.3s cubic-bezier(.22,1,.36,1);display:inline-flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-fav svg{width:22px;height:22px;transition:.3s cubic-bezier(.22,1,.36,1)}.btn-fav:hover{border-color:rgba(126,30,87,.4);box-shadow:0 0 0 3px rgba(126,30,87,.1)}.btn-fav[aria-pressed="true"]{background:linear-gradient(100deg,#7E1E57,#a8316f);color:#fff;border-color:transparent}.btn-fav[aria-pressed="true"] svg{fill:#fff}.reassure{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px}.reassure-ic{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(123,191,63,.14);border:1px solid rgba(123,191,63,.3);color:#3f6f1c}.reassure-ic svg{width:20px;height:20px}.reassure-t{font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;color:#2B004F;line-height:1.2}.reassure-d{font-size:11.5px;color:#6d6480;margin-top:2px}.spectable{width:100%;max-width:860px;border-collapse:separate;border-spacing:0;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:22px;overflow:hidden;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.spectable tr{transition:.16s cubic-bezier(.22,1,.36,1)}.spectable tbody tr:nth-child(even){background:rgba(245,242,249,.55)}.spectable tr:hover{background:rgba(123,191,63,.07)}.spectable th,.spectable td{padding:14px 22px;text-align:left;vertical-align:top}.spectable th{font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#6d6480;width:46%;border-bottom:1px solid rgba(43,0,79,.10);position:relative}.spectable th::before{content:"";position:absolute;left:0;top:30%;bottom:30%;width:3px;border-radius:3px;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);transform:skewX(-5deg);opacity:.85}.spectable td{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:13.5px;font-weight:600;color:#2B004F;border-bottom:1px solid rgba(43,0,79,.10)}.spectable tr:last-child th,.spectable tr:last-child td{border-bottom:0}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.pcard{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),border-color .25s cubic-bezier(.22,1,.36,1)}.pcard:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(123,191,63,.24),0 10px 24px rgba(123,191,63,.14),0 2px 6px rgba(43,0,79,.05),0 12px 26px rgba(43,0,79,.08);border-color:rgba(123,191,63,.32)}.pcard-media{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 28%,#fff,#f5f2f9);padding:20px;aspect-ratio:1/.92}.pcard-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:.28s cubic-bezier(.22,1,.36,1)}.pcard:hover .pcard-media img{transform:scale(1.05)}.pcard-badge{position:absolute;top:12px;left:12px;z-index:2;font-family:'Poppins',sans-serif;font-weight:700;font-size:11px;color:#fff;padding:4px 11px;border-radius:7px;background:linear-gradient(100deg,#7E1E57,#a8316f);transform:skewX(-5deg);box-shadow:0 6px 12px rgba(126,30,87,.22)}.pcard-badge>span{display:inline-block;transform:skewX(calc(-1 * -5deg))}.pcard-b{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}.pcard-brand{font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7E1E57}.pcard-name{font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px;color:#2B004F;margin:6px 0 10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.pcard-name a:hover{color:#3f6f1c}.pcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px}.pcard-cta{display:inline-flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:#3f6f1c;transition:.2s cubic-bezier(.22,1,.36,1)}.pcard-cta svg{width:15px;height:15px;transition:.2s cubic-bezier(.22,1,.36,1)}.pcard:hover .pcard-cta{color:#7E1E57}.pcard:hover .pcard-cta svg{transform:translateX(4px)}.pcard-discover{font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;color:#6d6480}.sep--brand{position:relative;z-index:3;overflow:visible;color:#efe7f7;background:radial-gradient(85% 120% at 88% -12%,rgba(126,30,87,.36),transparent 58%),radial-gradient(70% 110% at 2% 112%,rgba(123,191,63,.13),transparent 60%),linear-gradient(to top,#1a0033,#2b004f 56%,#3a0a63)}.sep--brand .wrap{position:relative;z-index:2}.sep--brand .head h2{color:#fff}.sep--brand .eyebrow{color:#e9a9cf}.sep--brand .head p{color:#c9b8de}body#product .sep.sep--brand::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * clamp(30px,3vw,48px) + 1px);height:clamp(30px,3vw,48px);z-index:1;pointer-events:none;transform:none;opacity:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%2060%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20points%3D%270.0%2C60%20102.9%2C60%200.0%2C6%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27102.9%2C60%20102.9%2C27%200.0%2C6%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27102.9%2C60%20205.7%2C60%20102.9%2C27%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27205.7%2C60%20205.7%2C13%20102.9%2C27%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27205.7%2C60%20308.6%2C60%20205.7%2C13%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27308.6%2C60%20308.6%2C33%20205.7%2C13%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27308.6%2C60%20411.4%2C60%20308.6%2C33%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27411.4%2C60%20411.4%2C9%20308.6%2C33%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27411.4%2C60%20514.3%2C60%20411.4%2C9%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27514.3%2C60%20514.3%2C24%20411.4%2C9%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27514.3%2C60%20617.1%2C60%20514.3%2C24%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27617.1%2C60%20617.1%2C4%20514.3%2C24%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27617.1%2C60%20720.0%2C60%20617.1%2C4%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27720.0%2C60%20720.0%2C30%20617.1%2C4%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27720.0%2C60%20822.9%2C60%20720.0%2C30%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27822.9%2C60%20822.9%2C16%20720.0%2C30%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27822.9%2C60%20925.7%2C60%20822.9%2C16%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27925.7%2C60%20925.7%2C28%20822.9%2C16%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27925.7%2C60%201028.6%2C60%20925.7%2C28%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271028.6%2C60%201028.6%2C8%20925.7%2C28%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271028.6%2C60%201131.4%2C60%201028.6%2C8%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271131.4%2C60%201131.4%2C22%201028.6%2C8%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%271131.4%2C60%201234.3%2C60%201131.4%2C22%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%271234.3%2C60%201234.3%2C12%201131.4%2C22%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271234.3%2C60%201337.1%2C60%201234.3%2C12%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271337.1%2C60%201337.1%2C31%201234.3%2C12%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271337.1%2C60%201440.0%2C60%201337.1%2C31%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271440.0%2C60%201440.0%2C7%201337.1%2C31%27%20fill%3D%27%234a1574%27/%3E%3Cpolyline%20points%3D%270.0%2C6%20102.9%2C27%20205.7%2C13%20308.6%2C33%20411.4%2C9%20514.3%2C24%20617.1%2C4%20720.0%2C30%20822.9%2C16%20925.7%2C28%201028.6%2C8%201131.4%2C22%201234.3%2C12%201337.1%2C31%201440.0%2C7%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%276%27%20opacity%3D%27.18%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolyline%20points%3D%270.0%2C6%20102.9%2C27%20205.7%2C13%20308.6%2C33%20411.4%2C9%20514.3%2C24%20617.1%2C4%20720.0%2C30%20822.9%2C16%20925.7%2C28%201028.6%2C8%201131.4%2C22%201234.3%2C12%201337.1%2C31%201440.0%2C7%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%272.4%27%20opacity%3D%27.95%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}body#product .sep.sep--brand::after{content:"";position:absolute;top:auto;left:0;right:0;bottom:calc(-1 * clamp(30px,3vw,48px) + 1px);height:clamp(30px,3vw,48px);z-index:1;pointer-events:none;transform:none;opacity:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%2060%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20points%3D%270.0%2C0%20102.9%2C0%200.0%2C54%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27102.9%2C0%20102.9%2C33%200.0%2C54%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27102.9%2C0%20205.7%2C0%20102.9%2C33%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27205.7%2C0%20205.7%2C47%20102.9%2C33%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27205.7%2C0%20308.6%2C0%20205.7%2C47%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27308.6%2C0%20308.6%2C27%20205.7%2C47%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27308.6%2C0%20411.4%2C0%20308.6%2C27%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27411.4%2C0%20411.4%2C51%20308.6%2C27%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27411.4%2C0%20514.3%2C0%20411.4%2C51%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27514.3%2C0%20514.3%2C36%20411.4%2C51%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27514.3%2C0%20617.1%2C0%20514.3%2C36%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27617.1%2C0%20617.1%2C56%20514.3%2C36%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27617.1%2C0%20720.0%2C0%20617.1%2C56%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27720.0%2C0%20720.0%2C30%20617.1%2C56%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27720.0%2C0%20822.9%2C0%20720.0%2C30%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27822.9%2C0%20822.9%2C44%20720.0%2C30%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27822.9%2C0%20925.7%2C0%20822.9%2C44%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27925.7%2C0%20925.7%2C32%20822.9%2C44%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27925.7%2C0%201028.6%2C0%20925.7%2C32%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271028.6%2C0%201028.6%2C52%20925.7%2C32%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271028.6%2C0%201131.4%2C0%201028.6%2C52%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271131.4%2C0%201131.4%2C38%201028.6%2C52%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%271131.4%2C0%201234.3%2C0%201131.4%2C38%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%271234.3%2C0%201234.3%2C48%201131.4%2C38%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271234.3%2C0%201337.1%2C0%201234.3%2C48%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271337.1%2C0%201337.1%2C29%201234.3%2C48%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271337.1%2C0%201440.0%2C0%201337.1%2C29%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271440.0%2C0%201440.0%2C53%201337.1%2C29%27%20fill%3D%27%23230642%27/%3E%3Cpolyline%20points%3D%270.0%2C54%20102.9%2C33%20205.7%2C47%20308.6%2C27%20411.4%2C51%20514.3%2C36%20617.1%2C56%20720.0%2C30%20822.9%2C44%20925.7%2C32%201028.6%2C52%201131.4%2C38%201234.3%2C48%201337.1%2C29%201440.0%2C53%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%276%27%20opacity%3D%27.18%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolyline%20points%3D%270.0%2C54%20102.9%2C33%20205.7%2C47%20308.6%2C27%20411.4%2C51%20514.3%2C36%20617.1%2C56%20720.0%2C30%20822.9%2C44%20925.7%2C32%201028.6%2C52%201131.4%2C38%201234.3%2C48%201337.1%2C29%201440.0%2C53%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%272.4%27%20opacity%3D%27.95%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6px}.pf{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:18px;transition:transform .24s cubic-bezier(.22,1,.36,1),background .24s,border-color .24s}.pf:hover{transform:translateY(-3px);background:rgba(255,255,255,.10);border-color:rgba(123,191,63,.45)}.pf-ic{display:inline-flex;width:44px;height:44px;border-radius:12px;background:rgba(123,191,63,.16);color:#9bdc5c;align-items:center;justify-content:center;margin-bottom:12px}.pf-ic svg{width:24px;height:24px}.pf-t{font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;color:#fff;margin-bottom:5px}.pf-d{font-size:13px;color:#c9b8de;line-height:1.5}.faq{max-width:780px;margin:6px auto 0;display:flex;flex-direction:column;gap:10px}.pack-body{padding:26px}.pack-k{display:block;font-family:'Poppins',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9bdc5c}.pack-t{display:block;font-family:'Russo One',sans-serif;font-size:clamp(22px,2.4vw,30px);text-transform:uppercase;transform:skewX(-5deg);transform-origin:left;margin:5px 0 12px}.pack-cta{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px}.pay-options{display:flex;align-items:center;gap:11px;margin-top:12px;padding:11px 13px;background:#f5f2f9;border:1px solid #ece5f2;border-radius:var(--gw-r);font-size:13px;color:#4f4760;line-height:1.4}.pay-alma{font-family:'Poppins',sans-serif;font-weight:700;font-size:11px;letter-spacing:.02em;color:#2B004F;background:#f5f2f9;border:1px solid rgba(43,0,79,.10);padding:4px 9px;border-radius:7px;flex:none}.pay-txt b{color:#2B004F}.ship-est-ic{flex:none;width:38px;height:38px;border-radius:11px;background:rgba(123,191,63,.16);color:#3f6f1c;display:flex;align-items:center;justify-content:center}.ship-est-ic svg{width:21px;height:21px}.ship-est-t{font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;color:#2B004F;display:flex;align-items:center;gap:7px}.ship-est-t b{color:#3f6f1c}.ship-est-t .live{width:8px;height:8px;border-radius:50%;background:#3f7a1f;box-shadow:0 0 0 3px rgba(123,191,63,.2);flex:none}.ship-est-d{font-size:12.5px;color:#6d6480;margin-top:4px;line-height:1.5}.ship-est-d b{color:#2B004F}.pg-a .product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,410px);grid-template-areas:"header header" "gallery buy";gap:26px 40px;align-items:start}.pg-a .gallery{grid-area:gallery}.pg-a .prod-header{grid-area:header;min-width:0}.pg-a .buy-main{grid-area:buy}.pg-a .prod-header .buy-brand{margin-bottom:6px}.pg-a .prod-header h1{margin-bottom:8px}.pg-a .prod-header .buy-sub{margin-bottom:14px}.pg-a .prod-header .rating-row{margin-bottom:16px}.pg-a .prod-header .hud{margin-bottom:16px}.pg-a .prod-header .prod-lead{max-width:66ch}.pg-a .prod-header .prod-lead p{font-size:15.5px;line-height:1.72;margin-bottom:12px}.pg-a .prod-header .prod-lead p:last-child{margin-bottom:0}.pg-a .thumbs{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin:14px 0 0}.pg-a .thumb{width:66px;height:66px;aspect-ratio:auto;flex:0 0 66px;border-radius:12px}.pg-a .gallery{position:relative}.pg-a .gallery-stage{padding:34px;border-radius:22px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05)}.pg-a .gallery-stage:hover .stage-img{transform:scale(1.03)}.pg-a .stage-img{aspect-ratio:1/1;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .35s cubic-bezier(.22,1,.36,1)}.pg-a .buy{background:#fff;border:1px solid rgba(43,0,79,.10);border-radius:22px;padding:20px 22px 18px;box-shadow:0 2px 6px rgba(43,0,79,.05),0 12px 26px rgba(43,0,79,.08);position:sticky;top:88px;display:flex;flex-direction:column;gap:14px;min-width:0}.pg-a .buy>*{margin:0}.pg-a .price-card{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:0;margin:0}.pg-a .price{font-size:clamp(36px,4vw,44px)}.oa-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7E1E57;margin-bottom:11px;transform:skewX(-5deg)}.oa-eyebrow>*{display:inline-block;transform:skewX(calc(-1 * -5deg))}.oa-eyebrow::before{content:"";display:inline-block;width:26px;height:7px;border-radius:2px;vertical-align:middle;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);transform:skewX(-5deg);box-shadow:0 0 5px rgba(123,191,63,.25)}.oa-section{padding-top:16px;border-top:1px solid rgba(43,0,79,.10)}.oa-ship{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(43,0,79,.08)}.oa-guar{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 14px}.oa-guar-item{display:flex;align-items:flex-start;gap:9px}.oa-guar-ic{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(123,191,63,.10);border:1px solid rgba(123,191,63,.24);color:#3f6f1c}.oa-guar-ic svg{width:16px;height:16px}.oa-guar-t{font-family:'Poppins',sans-serif;font-weight:700;font-size:12px;color:#2B004F;line-height:1.25}.oa-guar-d{font-size:11px;color:#6d6480;margin-top:1px;line-height:1.3}.pg-a .buy .v3-paybadges{margin-top:0}.pgc-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #ece5f2;box-shadow:0 -6px 20px rgba(43,0,79,.10);transform:translateY(110%);transition:transform .35s cubic-bezier(.22,1,.36,1);will-change:transform}.pgc-bar.show{transform:translateY(0)}.pgc-bar-in{max-width:1280px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:14px}.pgc-bar-thumb{width:46px;height:46px;flex:none;border-radius:10px;overflow:hidden;background:radial-gradient(120% 90% at 50% 28%,#fff,#f5f2f9);border:1px solid rgba(43,0,79,.10);padding:5px}.pgc-bar-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.pgc-bar-info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.pgc-bar-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;color:#2B004F;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgc-bar-price{font-family:'Russo One',sans-serif;font-size:18px;color:#2B004F;line-height:1.1;letter-spacing:-.3px}.pgc-bar .btn-cart{flex:none;min-width:0;width:auto;height:46px;padding:0 22px;font-size:14.5px}.gl-adv-note{font-size:11.5px;color:#6d6480;line-height:1.5;margin-top:9px;display:flex;align-items:flex-start;gap:7px}.gl-adv-note svg{width:14px;height:14px;flex:none;color:#a99fbb;margin-top:2px}.gw-mod.gw-dl .gw-dl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px}.gw-mod.gw-dl .gw-file{display:flex;align-items:center;gap:15px;min-width:0;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:16px 18px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-dl .gw-file:hover{transform:translateY(-3px);border-color:rgba(123,191,63,.3);box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10),0 2px 6px rgba(43,0,79,.05),0 12px 26px rgba(43,0,79,.08)}.gw-mod.gw-dl .gw-file-ic{position:relative;flex:none;width:46px;height:56px;border-radius:9px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(120% 90% at 50% 20%,#fff,#f5f2f9);border:1px solid rgba(43,0,79,.10);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);transform:skewX(-5deg)}.gw-mod.gw-dl .gw-file-ic>svg{width:22px;height:22px;color:#3f6f1c;margin-bottom:7px;transform:skewX(calc(-1 * -5deg))}.gw-mod.gw-dl .gw-file-ic .gw-ext{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%) skewX(calc(-1 * -5deg));font-family:'Poppins',sans-serif;font-weight:700;font-size:9.5px;letter-spacing:.04em;color:#fff;padding:2px 7px;border-radius:5px;line-height:1;background:linear-gradient(100deg,#7E1E57,#a8316f);box-shadow:0 3px 8px rgba(126,30,87,.22)}.gw-mod.gw-dl .gw-file-ic.is-pdf .gw-ext{background:linear-gradient(100deg,#7E1E57,#a8316f)}.gw-mod.gw-dl .gw-file-ic.is-doc .gw-ext{background:linear-gradient(100deg,#2f6fb0,#3a86d1)}.gw-mod.gw-dl .gw-file-ic.is-guide .gw-ext{background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a}.gw-mod.gw-dl .gw-file-tx{flex:1;min-width:0}.gw-mod.gw-dl .gw-file-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:14.5px;color:#2B004F;line-height:1.3}.gw-mod.gw-dl .gw-file-meta{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:11.5px;color:#6d6480;margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gw-mod.gw-dl .gw-file-meta .gw-dot{color:#a99fbb}.gw-mod.gw-dl .gw-dl-btn{flex:none;display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;min-height:42px;padding:0 16px;border-radius:13px;color:#2B004F;background:rgba(255,255,255,.7);border:1.5px solid rgba(43,0,79,.10);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.28s cubic-bezier(.22,1,.36,1);white-space:nowrap}.gw-mod.gw-dl .gw-dl-btn svg{width:17px;height:17px;transition:transform .28s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-dl .gw-dl-btn:hover{border-color:rgba(123,191,63,.45);color:#3f6f1c;box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);background:rgba(255,255,255,.92);transform:translateY(-2px)}.gw-mod.gw-dl .gw-dl-btn:hover svg{transform:translateY(2px)}.gw-mod.gw-dl .gw-dl-btn:focus-visible{outline:3px solid rgba(123,191,63,.4);outline-offset:2px}.gw-mod.gw-recent .gw-recent-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:20px}.gw-mod.gw-recent .gw-rcard{display:flex;flex-direction:column;min-width:0;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1),border-color .25s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-recent .gw-rcard:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(123,191,63,.24),0 10px 24px rgba(123,191,63,.14),0 2px 6px rgba(43,0,79,.05),0 12px 26px rgba(43,0,79,.08);border-color:rgba(123,191,63,.32)}.gw-mod.gw-recent .gw-rcard-media{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 28%,#fff,#f5f2f9);padding:18px;aspect-ratio:1/.9}.gw-mod.gw-recent .gw-rcard-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:.4s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-recent .gw-rcard:hover .gw-rcard-media img{transform:scale(1.05)}.gw-mod.gw-recent .gw-rcard-brand-badge{position:absolute;top:11px;left:11px;z-index:2;font-family:'Poppins',sans-serif;font-weight:700;font-size:10.5px;color:#fff;padding:4px 10px;border-radius:7px;background:linear-gradient(100deg,#7E1E57,#a8316f);transform:skewX(-5deg);box-shadow:0 6px 12px rgba(126,30,87,.22)}.gw-mod.gw-recent .gw-rcard-brand-badge>span{display:inline-block;transform:skewX(calc(-1 * -5deg))}.gw-mod.gw-recent .gw-rcard-b{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}.gw-mod.gw-recent .gw-rcard-name{font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;color:#2B004F;line-height:1.32;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.gw-mod.gw-recent .gw-rcard-name a:hover{color:#3f6f1c}.gw-mod.gw-recent .gw-rcard-rate{display:flex;align-items:center;gap:7px;margin-bottom:12px}.gw-mod.gw-recent .gw-rcard-rate .gw-rc{font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;color:#6d6480}.gw-mod.gw-recent .gw-rcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px}.gw-mod.gw-recent .gw-rcard-price{font-family:'Russo One',sans-serif;font-size:18px;color:#2B004F;letter-spacing:-.3px;line-height:1}.gw-mod.gw-recent .gw-rcard-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;color:#3f6f1c;min-height:40px;padding:0 12px;border-radius:13px;transition:.2s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-recent .gw-rcard-cta svg{width:15px;height:15px;transition:.2s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-recent .gw-rcard:hover .gw-rcard-cta{color:#7E1E57}.gw-mod.gw-recent .gw-rcard:hover .gw-rcard-cta svg{transform:translateX(4px)}.gw-mod.gw-recent .gw-rcard-cta:focus-visible,.gw-mod.gw-recent .gw-rcard-name a:focus-visible{outline:3px solid rgba(123,191,63,.4);outline-offset:2px;border-radius:6px}.gw-mod.gw-recent .gw-recent-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}.gw-mod.gw-recent .gw-recent-nav{display:flex;gap:9px;margin-bottom:36px}.gw-mod.gw-recent .gw-nav-btn{width:44px;height:44px;flex:none;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.78);border:1.5px solid rgba(43,0,79,.10);color:#2B004F;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);transition:.24s cubic-bezier(.22,1,.36,1)}.gw-mod.gw-recent .gw-nav-btn svg{width:20px;height:20px}.gw-mod.gw-recent .gw-nav-btn:hover{border-color:rgba(123,191,63,.45);color:#3f6f1c;box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);transform:translateY(-2px)}.gw-mod.gw-recent .gw-nav-btn:focus-visible{outline:3px solid rgba(123,191,63,.4);outline-offset:2px}.gw-mod.gw-recent .gw-nav-btn:disabled{opacity:.4;cursor:default;transform:none;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);border-color:rgba(43,0,79,.10);color:#6d6480}.gw-zoom{position:relative;display:block}.gw-zoom .gallery-stage{cursor:zoom-in}.gw-zoom__lens-host{position:absolute;inset:0;z-index:4;border-radius:22px;overflow:hidden;pointer-events:none}.gw-zoom__lens{position:absolute;top:0;left:0;width:190px;height:190px;border-radius:50%;transform:translate(-50%,-50%) scale(.82);background-repeat:no-repeat;background-color:#fff;border:2px solid rgba(123,191,63,.7);box-shadow:0 0 0 1px rgba(123,191,63,.24),0 10px 24px rgba(123,191,63,.14),0 2px 6px rgba(43,0,79,.05),0 12px 26px rgba(43,0,79,.08),inset 0 0 0 1px rgba(255,255,255,.85);opacity:0;pointer-events:none;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1);will-change:background-position,transform}.gw-zoom.is-zooming .gw-zoom__lens{opacity:1;transform:translate(-50%,-50%) scale(1)}.gw-zoom__lens::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(123,191,63,.35)}.gw-zoom__hint{position:absolute;z-index:5;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;color:#2B004F;background:rgba(255,255,255,.78);border:1px solid rgba(43,0,79,.10);border-radius:999px;padding:7px 13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);transition:.22s cubic-bezier(.22,1,.36,1);pointer-events:none}.gw-zoom__hint .gw-zoom__loupe{display:inline-flex;font-size:13px;line-height:1;transform:skewX(-5deg)}.gw-zoom:hover .gw-zoom__hint{border-color:rgba(123,191,63,.4);box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);color:#3f6f1c}.gw-lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:clamp(14px,3vw,40px)}.gw-lightbox.is-open{display:flex}.gw-lightbox__backdrop{position:absolute;inset:0;cursor:zoom-out;background:radial-gradient(60vw 50vw at 12% 0%,rgba(123,191,63,.10),transparent 60%),radial-gradient(58vw 52vw at 100% 100%,rgba(126,30,87,.14),transparent 62%),rgba(16,0,36,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .28s cubic-bezier(.22,1,.36,1)}.gw-lightbox.is-open .gw-lightbox__backdrop{opacity:1}.gw-lightbox__dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,1180px);max-height:100%;gap:14px;transform:translateY(10px) scale(.985);opacity:0;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}.gw-lightbox.is-open .gw-lightbox__dialog{transform:none;opacity:1}.gw-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#ece1f7}.gw-lightbox__title{font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.02em;color:#ece1f7;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gw-lightbox__count{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:12.5px;font-weight:600;color:#9bdc5c;flex:none;padding:4px 11px;border-radius:999px;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.32)}.gw-lightbox__stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;border-radius:22px;overflow:hidden;background:radial-gradient(120% 86% at 50% 4%,#ffffff,#f5f2f9);border:1px solid rgba(255,255,255,.7);box-shadow:0 2px 6px rgba(43,0,79,.05),0 12px 26px rgba(43,0,79,.08),0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10)}.gw-lightbox__img{max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 22px 40px rgba(43,0,79,.22));transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.gw-lightbox__img.is-swapping{opacity:0;transform:scale(.98)}.gw-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;background:rgba(255,255,255,.78);border:1.5px solid rgba(43,0,79,.10);color:#2B004F;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);transition:.22s cubic-bezier(.22,1,.36,1)}.gw-lightbox__nav svg{width:24px;height:24px}.gw-lightbox__nav--prev{left:14px}.gw-lightbox__nav--next{right:14px}.gw-lightbox__nav:hover{border-color:rgba(123,191,63,.45);color:#3f6f1c;box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10);transform:translateY(-50%) scale(1.06)}.gw-lightbox__nav:active{transform:translateY(-50%) scale(.97)}.gw-lightbox__close{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;cursor:pointer;background:rgba(255,255,255,.78);border:1.5px solid rgba(43,0,79,.10);color:#7E1E57;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.22s cubic-bezier(.22,1,.36,1)}.gw-lightbox__close svg{width:22px;height:22px}.gw-lightbox__close:hover{border-color:rgba(126,30,87,.4);box-shadow:0 0 0 3px rgba(126,30,87,.1);transform:rotate(90deg)}.gw-lightbox__thumbs{display:flex;gap:10px;flex:none;padding:2px 2px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(123,191,63,.5) transparent;justify-content:center}.gw-lightbox__thumbs::-webkit-scrollbar{height:8px}.gw-lightbox__thumbs::-webkit-scrollbar-thumb{background:rgba(123,191,63,.5);border-radius:99px}.gw-lightbox__thumb{flex:0 0 62px;width:62px;height:62px;padding:6px;border-radius:11px;cursor:pointer;background:radial-gradient(120% 90% at 50% 28%,#fff,#f5f2f9);border:1.5px solid rgba(255,255,255,.22);transition:.2s cubic-bezier(.22,1,.36,1)}.gw-lightbox__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.gw-lightbox__thumb:hover{border-color:rgba(123,191,63,.5);transform:translateY(-2px)}.gw-lightbox__thumb.is-active{border-color:rgba(123,191,63,.85);box-shadow:0 0 0 2px rgba(123,191,63,.28),0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10)}.gw-lightbox__nav:focus-visible,.gw-lightbox__close:focus-visible,.gw-lightbox__thumb:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:2px}.gw-zoom .gallery-stage:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:3px}.gw-zoom__hint{opacity:.9}.gw-zoom:focus-within .gw-zoom__hint,.gw-zoom:hover .gw-zoom__hint{opacity:1}.gw-zoom__hint .gw-zoom__loupe svg{width:14px;height:14px;display:block}.v3-trustbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:2px 0 14px}.v3-trustbar .v3-tb-item{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;color:#2B004F;background:#f5f2f9;border:1px solid rgba(43,0,79,.10);border-radius:999px;padding:7px 14px;line-height:1.25}.v3-trustbar .v3-tb-item svg{width:15px;height:15px;flex:none;color:#3f6f1c}.v3-trustbar .v3-tb-item b{color:#3f6f1c}.v3-trustbar .v3-tb-item a{color:#3f6f1c;text-decoration:underline;text-underline-offset:2px}.v3-trustbar .v3-tb-item .v3-tb-stars{color:#f5b301}.v3-guarantee{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(43,0,79,.10);font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;color:#3f6f1c;line-height:1.45}.v3-guarantee svg{width:17px;height:17px;flex:none;color:#3f6f1c;margin-top:1px}.v3-guarantee span{color:#4f4760;font-weight:500}.v3-guarantee span b{color:#3f6f1c;font-weight:700}.v3-reco{display:inline-flex;align-items:center;gap:6px;font-family:'Poppins',sans-serif;font-weight:700;font-size:12px;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.35);border-radius:999px;padding:3px 10px;line-height:1}.v3-reco svg{width:12px;height:12px;flex:none}.v3-paybadges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;color:#6d6480}.v3-paybadges .v3-pb-lock{display:inline-flex;align-items:center;gap:6px;color:#3f6f1c}.v3-paybadges .v3-pb-lock svg{width:14px;height:14px;flex:none}.v3-paybadges .v3-pb-chip{font-family:'Poppins',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.02em;color:#2B004F;background:#f5f2f9;border:1px solid rgba(43,0,79,.10);border-radius:6px;padding:3px 8px;line-height:1.2}.v3-photolink{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;color:#3f6f1c;text-decoration:none}.v3-photolink svg{width:15px;height:15px;flex:none;transition:transform .2s cubic-bezier(.22,1,.36,1)}.v3-photolink:hover{color:#7E1E57}.v3-photolink:hover svg{transform:translateY(1px)}.v3-photolink:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:2px;border-radius:8px}.v3-subnav{position:sticky;top:64px;z-index:40;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-top:1px solid rgba(43,0,79,.10);border-bottom:1px solid rgba(43,0,79,.10)}.v3-subnav-in{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.v3-subnav-in::-webkit-scrollbar{display:none}.v3-subnav a{position:relative;flex:none;padding:9px 14px 8px;display:flex;flex-direction:column;gap:1px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#6d6480;white-space:nowrap;transition:color .2s cubic-bezier(.22,1,.36,1)}.v3-subnav .sn-t{font-weight:700;font-size:13.5px;line-height:1.2}.v3-subnav .sn-s{font-size:10.5px;font-weight:500;color:#8a7ea3;line-height:1.2}.v3-subnav a.is-active .sn-s,.v3-subnav a:hover .sn-s{color:inherit;opacity:.75}.v3-subnav a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.22,1,.36,1)}.v3-subnav a:hover{color:#3f6f1c}.v3-subnav a.is-active{color:#2B004F}.v3-subnav a.is-active::after{transform:scaleX(1)}.v3-midcta{display:flex;align-items:center;justify-content:center;gap:16px 22px;flex-wrap:wrap;margin-top:30px;padding:22px 24px;border-radius:22px;background:rgba(43,0,79,.05);border:1px solid rgba(43,0,79,.14)}.v3-midcta .v3-midcta-txt{font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;color:#2B004F;line-height:1.4}.v3-midcta .v3-midcta-txt b{color:#48761C}.v3-midcta .btn-primary{white-space:nowrap}.v3-qty-hint{font-family:'Poppins',sans-serif;font-size:11.5px;color:#6d6480;margin-top:8px;margin-bottom:2px;line-height:1.4}.crumbs a,.rating-row .rc a{position:relative;display:inline-block;padding:4px 0}.crumbs a::before,.rating-row .rc a::before{content:"";position:absolute;inset:-8px 0}.pgc-bar-proof{display:flex;align-items:center;gap:9px;flex:none;padding-right:4px;margin-left:2px;font-family:'Poppins',sans-serif;font-size:12.5px;color:#4f4760;white-space:nowrap}.pgc-bar-proof .pgc-bar-stars{font-size:14px}.pgc-bar-proof .pgc-bar-note b{color:#2B004F;font-weight:700}.pgc-bar-proof .pgc-bar-stock{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#2B004F}.pgc-bar-stock.pgc-bar-stock--out{color:#6d6480}.pgc-bar-proof .pgc-bar-stock--out .pgc-bar-dot{background:#a99fbb;box-shadow:none}.pgc-bar-proof .pgc-bar-dot{width:8px;height:8px;border-radius:50%;background:#7BBF3F;flex:none;box-shadow:0 0 6px rgba(123,191,63,.5)}.oad4{--dur:.22s}.oad4 .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.oad4 .tile{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 8px 13px;min-height:112px;background:#f5f2f9;border:1.5px solid #ece5f2;border-radius:13px;cursor:pointer;transition:border-color var(--dur) cubic-bezier(.22,1,.36,1),background var(--dur) cubic-bezier(.22,1,.36,1),box-shadow var(--dur) cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1);color:#2B004F;font-family:'Inter',system-ui,sans-serif;-webkit-tap-highlight-color:transparent}.oad4 .tile:hover{border-color:rgba(123,191,63,.4);background:#fff}.oad4 .tile:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(123,191,63,.28)}.oad4 .tile:active{transform:scale(.96)}.oad4 .tile .ic{width:30px;height:30px;color:#2B004F;flex-shrink:0;transition:color var(--dur) cubic-bezier(.22,1,.36,1),transform var(--dur) cubic-bezier(.22,1,.36,1)}.oad4 .tile .ic svg{width:100%;height:100%;stroke-width:1.6}.oad4 .tile .t-label{font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;line-height:1.15;color:#2B004F}.oad4 .tile .t-meta{font-size:10.5px;line-height:1.3;color:#6d6480;letter-spacing:.005em}.oad4 .tile .t-meta .free{color:#5e9a2a;font-weight:700}.oad4 .tile .t-meta .gratis{color:#7E1E57;font-weight:700}.oad4 .tile .check{position:absolute;top:7px;right:7px;width:19px;height:19px;border-radius:50%;background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a;display:grid;place-items:center;opacity:0;transform:scale(.5);transition:opacity var(--dur) cubic-bezier(.22,1,.36,1),transform var(--dur) cubic-bezier(.22,1,.36,1);box-shadow:0 2px 6px rgba(94,154,42,.3)}.oad4 .tile .check svg{width:12px;height:12px;stroke-width:2.6}.oad4 .tile[aria-checked="true"]{border-color:#7BBF3F;background:#fff;box-shadow:0 0 0 1px rgba(123,191,63,.18),0 6px 16px rgba(123,191,63,.10)}.oad4 .tile[aria-checked="true"] .ic{color:#5e9a2a;transform:translateY(-1px)}.oad4 .tile[aria-checked="true"] .t-label{color:#2B004F}.oad4 .tile[aria-checked="true"] .check{opacity:1;transform:scale(1)}.oad4 .detail{border:1px solid rgba(43,0,79,.10);border-radius:13px;background:linear-gradient(180deg,#fff,#fcfbfe);overflow:hidden;margin-bottom:14px}.oad4 .detail-body{padding:14px 15px 15px}.oad4 .detail-panel{display:none}.oad4 .detail-panel.is-open{display:block;animation:oad4SlideDown .28s cubic-bezier(.22,1,.36,1)}.oad4 .d-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.oad4 .d-head .d-ic{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;background:rgba(123,191,63,.12);color:#5e9a2a}.oad4 .d-head .d-ic svg{width:19px;height:19px;stroke-width:1.7}.oad4 .d-head.is-store .d-ic{background:rgba(126,30,87,.10);color:#7E1E57}.oad4 .d-head .d-tt{min-width:0}.oad4 .d-head .d-name{font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;color:#2B004F;line-height:1.2}.oad4 .d-head .d-sub{font-size:11.5px;color:#6d6480;margin-top:1px}.oad4 .d-head .d-cost{margin-left:auto;flex-shrink:0;text-align:right}.oad4 .d-head .d-cost .c-main{font-family:'Russo One',sans-serif;font-size:14px;color:#5e9a2a;transform:skewX(-5deg);display:inline-block;line-height:1}.oad4 .d-head.is-store .d-cost .c-main{color:#7E1E57}.oad4 .d-head .d-cost .c-sub{font-size:10px;color:#8a7ea3;margin-top:3px}.oad4 .d-row{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:#4f4760;line-height:1.45;padding:6px 0}.oad4 .d-row + .d-row{border-top:1px dashed rgba(43,0,79,.10)}.oad4 .d-row .r-ic{width:16px;height:16px;flex-shrink:0;color:#5e9a2a;margin-top:1px}.oad4 .d-row.is-store .r-ic{color:#7E1E57}.oad4 .d-row .r-ic svg{width:100%;height:100%;stroke-width:1.8}.oad4 .d-row b{color:#2B004F;font-weight:600}.oad4 .carriers{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.oad4 .carriers .car{font-family:'Poppins',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.02em;color:#2B004F;background:#f5f2f9;border:1px solid #ece5f2;padding:4px 9px;border-radius:999px}.oad4 .countdown{display:inline-flex;align-items:center;gap:7px;margin-top:2px;font-size:11.5px;color:#2B004F;background:rgba(123,191,63,.10);border:1px solid rgba(123,191,63,.24);padding:5px 10px;border-radius:999px}.oad4 .countdown svg{width:13px;height:13px;color:#5e9a2a;stroke-width:1.9;flex-shrink:0}.oad4 .countdown .cd-time{font-family:'Russo One',sans-serif;color:#5e9a2a;transform:skewX(-5deg);display:inline-block;letter-spacing:.02em}.oad4 .instore-stock{display:inline-flex;align-items:center;gap:7px;margin-top:2px;font-family:'Poppins',sans-serif;font-weight:600;font-size:11.5px;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.28);padding:5px 11px;border-radius:999px}.oad4 .instore-stock .dot{width:7px;height:7px;border-radius:50%;background:#7BBF3F;box-shadow:0 0 0 3px rgba(123,191,63,.22)}.oad4 .store-map{margin-top:11px;border-radius:10px;overflow:hidden;border:1px solid rgba(43,0,79,.10);background:linear-gradient(135deg,rgba(126,30,87,.06),rgba(43,0,79,.05)),repeating-linear-gradient(45deg,rgba(43,0,79,.04) 0 10px,transparent 10px 20px);position:relative;height:66px;display:flex;align-items:center;justify-content:center}.oad4 .store-map .pin{width:24px;height:24px;color:#7E1E57}.oad4 .store-map .pin svg{width:100%;height:100%;stroke-width:1.7}.oad4 .store-map::after{content:"Champigneulles (54)";position:absolute;bottom:6px;right:9px;font-size:9.5px;color:#8a7ea3;letter-spacing:.02em}.oad4 .franco{border:1px solid rgba(123,191,63,.28);border-radius:13px;background:linear-gradient(180deg,rgba(123,191,63,.07),rgba(123,191,63,.03));padding:13px 14px;transition:opacity var(--dur) cubic-bezier(.22,1,.36,1),filter var(--dur) cubic-bezier(.22,1,.36,1)}.oad4 .franco.is-off{opacity:.5;filter:grayscale(.7)}.oad4 .franco-top{display:flex;align-items:center;gap:8px;margin-bottom:9px}.oad4 .franco-top .f-ic{width:16px;height:16px;color:#5e9a2a;flex-shrink:0}.oad4 .franco.is-off .franco-top .f-ic{color:#6d6480}.oad4 .franco-top .f-ic svg{width:100%;height:100%;stroke-width:1.9}.oad4 .franco-top .f-txt{font-size:12px;color:#4f4760;line-height:1.35}.oad4 .franco-top .f-txt b{color:#2B004F;font-weight:700}.oad4 .franco-top .f-txt .free{color:#5e9a2a;font-weight:700}.oad4 .franco-bar{height:8px;border-radius:999px;background:rgba(43,0,79,.08);overflow:hidden;position:relative}.oad4 .franco-fill{height:100%;border-radius:999px;width:85%;background:linear-gradient(100deg,#8ed04e,#5e9a2a);box-shadow:0 0 8px rgba(123,191,63,.3);transition:width .5s cubic-bezier(.22,1,.36,1)}.oad4 .franco.is-off .franco-fill{background:linear-gradient(100deg,#c7bdd6,#a99fbb);box-shadow:none}.oad4 .franco-note{font-size:10px;color:#8a7ea3;margin-top:7px}.oad4 .franco.is-off .franco-note-off{display:block}.oad4 .franco .franco-note-off{display:none}.oad4-sheet-scrim{position:fixed;inset:0;z-index:998;background:rgba(26,0,51,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .28s cubic-bezier(.22,1,.36,1),visibility .28s cubic-bezier(.22,1,.36,1)}.oad4-sheet-scrim.is-open{opacity:1;visibility:visible}.oad4-sheet{position:fixed;left:0;right:0;bottom:0;z-index:999;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(43,0,79,.24);transform:translateY(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);max-height:82vh;overflow-y:auto;padding:8px 20px calc(22px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;font-family:'Inter',system-ui,sans-serif;color:#4f4760}.oad4-sheet.is-open{transform:translateY(0)}.oad4-sheet-grab{width:40px;height:4px;border-radius:99px;background:#d9d0e6;margin:8px auto 14px}.oad4-sheet-head{display:flex;align-items:center;gap:11px;margin-bottom:16px}.oad4-sheet-head .sh-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(123,191,63,.12);color:#5e9a2a;flex-shrink:0}.oad4-sheet-head.is-store .sh-ic{background:rgba(126,30,87,.10);color:#7E1E57}.oad4-sheet-head .sh-ic svg{width:22px;height:22px;stroke-width:1.7}.oad4-sheet-head .sh-tt{flex:1;min-width:0}.oad4-sheet-head .sh-name{font-family:'Poppins',sans-serif;font-weight:600;font-size:16px;color:#2B004F}.oad4-sheet-head .sh-sub{font-size:12px;color:#6d6480;margin-top:2px}.oad4-sheet-close{width:44px;height:44px;border-radius:50%;border:1px solid rgba(43,0,79,.10);background:#f5f2f9;color:#2B004F;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:.16s cubic-bezier(.22,1,.36,1)}.oad4-sheet-close:hover{background:#fff;border-color:rgba(123,191,63,.4)}.oad4-sheet-close:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(123,191,63,.28)}.oad4-sheet-close svg{width:16px;height:16px;stroke-width:2}.oad4-sheet .d-row{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:#4f4760;line-height:1.45;padding:6px 0}.oad4-sheet .d-row + .d-row{border-top:1px dashed rgba(43,0,79,.10)}.oad4-sheet .d-row .r-ic{width:16px;height:16px;flex-shrink:0;color:#5e9a2a;margin-top:1px}.oad4-sheet .d-row.is-store .r-ic{color:#7E1E57}.oad4-sheet .d-row .r-ic svg{width:100%;height:100%;stroke-width:1.8}.oad4-sheet .d-row b{color:#2B004F;font-weight:600}.oad4-sheet .store-map{margin-top:11px;border-radius:10px;overflow:hidden;border:1px solid rgba(43,0,79,.10);background:linear-gradient(135deg,rgba(126,30,87,.06),rgba(43,0,79,.05)),repeating-linear-gradient(45deg,rgba(43,0,79,.04) 0 10px,transparent 10px 20px);position:relative;height:66px;display:flex;align-items:center;justify-content:center}.oad4-sheet .store-map .pin{width:24px;height:24px;color:#7E1E57}.oad4-sheet .store-map .pin svg{width:100%;height:100%;stroke-width:1.7}.oad4-sheet .store-map::after{content:"Champigneulles (54)";position:absolute;bottom:6px;right:9px;font-size:9.5px;color:#8a7ea3;letter-spacing:.02em}.oad4-sheet .instore-stock{display:inline-flex;align-items:center;gap:7px;margin-top:2px;font-family:'Poppins',sans-serif;font-weight:600;font-size:11.5px;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.28);padding:5px 11px;border-radius:999px}.oad4-sheet .instore-stock .dot{width:7px;height:7px;border-radius:50%;background:#7BBF3F;box-shadow:0 0 0 3px rgba(123,191,63,.22)}.oad4-sheet .carriers{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.oad4-sheet .carriers .car{font-family:'Poppins',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.02em;color:#2B004F;background:#f5f2f9;border:1px solid #ece5f2;padding:4px 9px;border-radius:999px}.oad4-sheet .countdown{display:inline-flex;align-items:center;gap:7px;margin-top:2px;font-size:11.5px;color:#2B004F;background:rgba(123,191,63,.10);border:1px solid rgba(123,191,63,.24);padding:5px 10px;border-radius:999px}.oad4-sheet .countdown svg{width:13px;height:13px;color:#5e9a2a;stroke-width:1.9;flex-shrink:0}.oad4-sheet .countdown .cd-time{font-family:'Russo One',sans-serif;color:#5e9a2a;transform:skewX(-5deg);display:inline-block;letter-spacing:.02em}.oad4-sheet-confirm{width:100%;margin-top:18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;padding:14px 20px;min-height:48px;border-radius:13px;cursor:pointer;border:1px solid transparent;background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a;box-shadow:0 8px 14px rgba(123,191,63,.18),0 0 0 1px rgba(123,191,63,.12);transition:.2s cubic-bezier(.22,1,.36,1)}.oad4-sheet-confirm:active{transform:scale(.98)}.oad4-sheet-confirm:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(123,191,63,.3)}.oad4 .oad4-sr-only,.oad4-sheet .oad4-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.v4-lead .v4-lead-clip{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.v4-lead.is-open .v4-lead-clip{display:block;-webkit-line-clamp:unset;overflow:visible}.v4-readmore{margin-top:4px;display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:4px 0;cursor:pointer;font-family:'Poppins',sans-serif;font-weight:700;font-size:13.5px;color:#5e9a2a}.v4-readmore svg{width:15px;height:15px;transition:transform .25s cubic-bezier(.22,1,.36,1)}.v4-readmore:hover{text-decoration:underline}.v4-readmore .v4-rm-less{display:none}.v4-lead.is-open .v4-readmore .v4-rm-more{display:none}.v4-lead.is-open .v4-readmore .v4-rm-less{display:inline}.v4-lead.is-open .v4-readmore svg{transform:rotate(180deg)}.v4-cutoff{margin-top:9px;display:flex;align-items:center;gap:7px;font-size:12.5px;color:#4f4760;line-height:1.35}.v4-cutoff svg{width:15px;height:15px;flex:none;color:#7E1E57}.v4-cutoff b{color:#2B004F;font-weight:700}.v4-cutoff .v4-cd{font-variant-numeric:tabular-nums;font-weight:600;color:#7E1E57}.v4-assure{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}.v4-assure li{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#6d6480}.v4-assure li svg{width:13px;height:13px;color:#5e9a2a}.v4-trust{background:linear-gradient(150deg,#3a0a63,#1a0033);border:0;margin-top:clamp(28px,4vw,44px);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.v4-trust-in{display:grid;grid-template-columns:repeat(5,1fr);gap:14px 22px;padding:16px 0}.v4-trust-in--4{grid-template-columns:repeat(4,1fr)}/* quatre tuiles quand « Garantie PREMIUM » ne s'applique pas (fabricant autre que BloomLED) ; doublon assumé de e4-categorie.css, qui est chargé AVANT ce fichier et perdrait sinon — c'est ce qui a fait rendre cinq colonnes pour quatre tuiles au premier essai. Doit rester avant les requêtes max-width plus bas. */.v4-trust .oa-guar-item{align-items:center}.pg-a .price-card{padding:14px 16px}.pg-a .prod-header .rating-row{margin-bottom:12px}.pg-a .prod-header .hud{margin-bottom:12px}.pg-a .prod-header .buy-sub{margin-bottom:10px}.pgv-ref{font-family:'Poppins',sans-serif;font-size:12px;color:#6d6480;margin-top:7px}.pgv-ref b{color:#2B004F;font-weight:700}.pgv-b .product-grid{grid-template-areas:"gallery info buy";grid-template-columns:minmax(0,4.4fr) minmax(0,3.7fr) minmax(0,3.9fr);gap:clamp(18px,2.2vw,30px)}.pgv-b .pgv-info{grid-area:info;min-width:0;align-self:start;position:sticky;top:130px}.pgv-b .pgv-info h1{font-size:clamp(24px,2.2vw,32px)}.pgv-b .pgv-info .v4-lead-clip{-webkit-line-clamp:7}.pgv-b .gallery{align-self:start;position:sticky;top:130px}.pgv-b .thumb{width:56px;height:56px}.pgv-b .buy{padding:18px 18px 16px}.pgv-b .price{font-size:clamp(32px,3vw,38px)}.pgv-b .oad4 .t-meta{font-size:10px}.gw-longdesc{max-width:980px}.gw-longdesc h2{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(20px,2.2vw,26px);color:#2B004F;line-height:1.25;margin:34px 0 14px}.gw-longdesc h2:first-child,.gw-longdesc .hero-section h2{margin-top:0}.gw-longdesc h3,.gw-longdesc .h5{font-family:'Poppins',sans-serif;font-weight:700;font-size:16.5px;color:#2B004F;margin:0 0 8px}.gw-longdesc p{font-size:15px;line-height:1.72;color:#4f4760;margin:0 0 12px}.gw-longdesc .lead{font-size:16.5px;line-height:1.7}.gw-longdesc strong{color:#2B004F}.gw-longdesc a{color:#5e9a2a;font-weight:600}.gw-longdesc img,.gw-longdesc .img-fluid{max-width:100%;height:auto;border-radius:13px;border:1px solid rgba(43,0,79,.10)}.gw-longdesc .alert{background:rgba(123,191,63,.10);border:1px solid rgba(123,191,63,.35);border-radius:13px;padding:13px 16px;font-size:14.5px;color:#4f4760;margin:0 0 16px}.gw-longdesc .row{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin:0 0 8px}.gw-longdesc .row>*{grid-column:span 12;min-width:0}.gw-longdesc .card{background:rgba(255,255,255,.78);border:1px solid rgba(43,0,79,.10);border-radius:13px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);overflow:hidden;height:100%}.gw-longdesc .card-header{background:#f5f2f9;border-bottom:1px solid rgba(43,0,79,.10);padding:10px 14px;font-family:'Poppins',sans-serif;font-weight:700;color:#2B004F;font-size:14px}.gw-longdesc .card-body{padding:14px}.gw-longdesc .avantages-grid .avantage-item{background:rgba(255,255,255,.78);border:1px solid rgba(43,0,79,.10);border-radius:13px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);padding:14px 16px;height:100%}.gw-longdesc ul{margin:0 0 12px;padding-left:20px;color:#4f4760;font-size:14.5px;line-height:1.65}.gw-longdesc ul.list-unstyled,.gw-longdesc ul.list-check{list-style:none;padding-left:0}.gw-longdesc ul.list-check li{position:relative;padding-left:24px;margin-bottom:6px}.gw-longdesc ul.list-check li::before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:rgba(123,191,63,.18);box-shadow:inset 0 0 0 1.5px #5e9a2a}.gw-longdesc ul.list-check li::after{content:"";position:absolute;left:4px;top:8px;width:6px;height:3.5px;border-left:1.8px solid #5e9a2a;border-bottom:1.8px solid #5e9a2a;transform:rotate(-45deg)}.gw-longdesc .table-responsive{overflow-x:auto;border:1px solid rgba(43,0,79,.10);border-radius:13px;margin:0 0 16px}.gw-longdesc table{width:100%;border-collapse:collapse;font-size:14px}.gw-longdesc table th,.gw-longdesc table td{padding:10px 14px;text-align:left;border-bottom:1px solid rgba(43,0,79,.10);color:#4f4760}.gw-longdesc table tr:last-child th,.gw-longdesc table tr:last-child td{border-bottom:0}.gw-longdesc table th,.gw-longdesc table td:first-child{font-family:'Poppins',sans-serif;font-weight:600;color:#2B004F;white-space:nowrap}.gw-longdesc table tr:nth-child(odd){background:rgba(245,242,249,.55)}.gw-longdesc .text-center{text-align:center}.gw-longdesc .mb-0{margin-bottom:0}.gw-longdesc .mb-3{margin-bottom:14px}.gw-longdesc .mb-4{margin-bottom:20px}.gw-longdesc .mt-5{margin-top:30px}.gw-longdesc .small{font-size:12.5px;color:#6d6480}.gw-longdesc .cta-final{background:#f5f2f9;border:1px solid rgba(43,0,79,.10);border-radius:16px;padding:22px 24px;margin-top:30px}.gw-longdesc .ppfd-tests .row img{background:#fff}.gw-longdesc .spectre-image img{background:#fff;padding:8px}.v3-subnav{transition:top .32s cubic-bezier(.22,1,.36,1)}.gw-hdr-hide .v3-subnav{top:0}.btn-cart,a[data-v3-scrolltop].btn-primary{background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F;box-shadow:0 8px 14px rgba(242,161,20,.22),0 0 0 1px rgba(242,161,20,.20)}.btn-cart:hover,a[data-v3-scrolltop].btn-primary:hover{transform:translateY(-3px);background:linear-gradient(100deg,#ffcd52,#f5a623);box-shadow:0 14px 22px rgba(242,161,20,.30),0 0 0 1px rgba(242,161,20,.30)}.btn-cart:focus-visible,a[data-v3-scrolltop].btn-primary:focus-visible{outline:3px solid rgba(242,161,20,.45);outline-offset:2px}.pgv-b .gallery-stage{padding:0;background:#fff;border:1px solid rgba(43,0,79,.10);box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05)}.pgv-b .gallery-stage::before{display:none}.pgv-b .stage-img{aspect-ratio:1/1;height:auto;filter:none;mix-blend-mode:normal;display:block}.pgv-b .gw-zoom{margin:0}.pgv-b .thumbs{margin-top:10px}.pgv-b .thumb{width:64px;height:64px;padding:0;overflow:hidden}.pgv-b .thumb img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;display:block}@keyframes b3tick{to{transform:translateX(-50%)}}@keyframes b3pulse{0%{box-shadow:0 0 0 0 rgba(123,191,63,.35),0 0 7px rgba(123,191,63,.5)}70%{box-shadow:0 0 0 8px rgba(123,191,63,0),0 0 7px rgba(123,191,63,.5)}100%{box-shadow:0 0 0 0 rgba(123,191,63,0),0 0 7px rgba(123,191,63,.5)}}@keyframes m3sheen{0%{transform:translateX(-100%) skewX(-5deg)}55%,100%{transform:translateX(300%) skewX(-5deg)}}@keyframes m3pulse{0%{box-shadow:0 0 0 0 rgba(123,191,63,.35),0 0 7px rgba(123,191,63,.5)}70%{box-shadow:0 0 0 8px rgba(123,191,63,0),0 0 7px rgba(123,191,63,.5)}100%{box-shadow:0 0 0 0 rgba(123,191,63,0),0 0 7px rgba(123,191,63,.5)}}@keyframes m3pulse-m{0%{box-shadow:0 0 0 0 rgba(126,30,87,.35),0 0 7px rgba(126,30,87,.45)}70%{box-shadow:0 0 0 7px rgba(126,30,87,0),0 0 7px rgba(126,30,87,.45)}100%{box-shadow:0 0 0 0 rgba(126,30,87,0),0 0 7px rgba(126,30,87,.45)}}@keyframes m3pop{0%{transform:scale(1)}40%{transform:scale(1.28)}100%{transform:scale(1)}}@keyframes oad4SlideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.topbar-track{animation:none !important}.btn,.pcard,.thumb,.hud-chip,.stage-img,.btn-fav{transition:none !important}.kavis *{transition:none!important}.gw-mod .gw-file,.gw-mod .gw-dl-btn,.gw-mod .gw-rcard,.gw-mod .gw-rcard-media img,.gw-mod .gw-nav-btn{transition:none !important}.gw-mod.gw-recent .gw-recent-rail{scroll-behavior:auto}.gw-zoom__lens,.gw-lightbox__backdrop,.gw-lightbox__dialog,.gw-lightbox__img,.gw-lightbox__nav,.gw-lightbox__close,.gw-lightbox__thumb{transition:none !important}.gw-lightbox__close:hover{transform:none}.v3-subnav a::after,.v3-photolink svg,.v3-trustbar .v3-tb-item{transition:none !important}.header,.v3-subnav{transition:none}}@media(hover:none),(pointer:coarse){.gw-zoom .gallery-stage{cursor:pointer}.gw-zoom__lens-host{display:none}}@media(min-width:441px){.pg-a .buy-actions{flex-wrap:nowrap}.pg-a .buy-actions .qty input{width:40px}.pg-a .buy-actions .btn-cart{flex:1 1 auto;min-width:0;padding:0 12px}}@media(min-width:768px){.gw-longdesc .col-md-4{grid-column:span 4}.gw-longdesc .col-md-6{grid-column:span 6}.gw-longdesc .col-md-8{grid-column:span 8}.gw-longdesc .col-lg-4{grid-column:span 4}.gw-longdesc .col-lg-8{grid-column:span 8}}@media(max-width:1160px){.pgv-b .product-grid{grid-template-areas:"info info" "gallery buy";grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pgv-b .gallery{position:static}.pgv-b .pgv-info{position:static}}@media(max-width:1024px){.product-grid{gap:34px}.related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.pg-a .product-grid{grid-template-columns:1fr;grid-template-areas:"header" "gallery" "buy";gap:22px}.pg-a .buy{position:static;top:auto}.pg-a .gallery-stage{padding:24px}.pg-a .thumbs{flex-wrap:nowrap;overflow-x:auto;padding:4px 2px 6px;gap:10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.kv-summary{grid-template-columns:1fr;gap:20px;padding:20px}.kv-summary-cta{justify-self:stretch}.kv-summary-cta .kv-btn{width:100%}.kv-hist{padding-left:0;border-left:0;padding-top:18px;border-top:1px solid var(--kv-glass-line);min-width:0}.kv-tools-right{margin-left:0;width:100%}.kv-sort{flex:1;min-width:0}.kv-select{flex:1}.kv-select select{width:100%}.gw-mod.gw-dl .gw-dl-grid{grid-template-columns:1fr}.gw-mod.gw-recent .gw-recent-nav{display:none}.gw-mod.gw-recent .gw-recent-rail{grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-padding-left:4px}.gw-mod.gw-recent .gw-recent-rail>.gw-rcard{scroll-snap-align:start}.gw-lightbox__img{max-height:64vh}.gw-lightbox__nav{width:46px;height:46px}.gw-lightbox__nav--prev{left:8px}.gw-lightbox__nav--next{right:8px}.gw-lightbox__thumbs{justify-content:flex-start}.v4-trust-in{grid-template-columns:repeat(2,1fr)}.pgv-b .product-grid{grid-template-areas:"info" "gallery" "buy";grid-template-columns:1fr}}@media(max-width:860px){.product-grid{grid-template-columns:1fr;gap:30px}.gallery{order:-1}.reviews{grid-template-columns:1fr}.pf-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){.pgc-bar-proof{display:none}}@media(max-width:767px){.gw-longdesc h2{margin-top:26px}}@media(max-width:560px){.reassure{grid-template-columns:1fr}.thumbs{grid-template-columns:repeat(6,1fr);gap:8px}.related-grid{grid-template-columns:1fr}.pg-a .buy{padding:22px 18px 18px}.oa-guar{grid-template-columns:1fr}.pgc-bar-in{padding:9px 14px;gap:10px}.pgc-bar-thumb{width:40px;height:40px}.pgc-bar-price{font-size:16px}.pgc-bar .btn-cart{padding:0 16px;height:44px}.pgc-bar .btn-cart span.pgc-bar-cta-long{display:none}.kv-toolbar{gap:12px}.kv-tools-right{flex-direction:column;align-items:stretch;gap:12px}.kv-sort{flex-wrap:wrap}.kv-verified{min-height:44px}.kv-card{padding:18px 16px}.kv-card-top{gap:11px}.kv-avatar{width:40px;height:40px;font-size:14px}.kv-hist-row{grid-template-columns:48px 1fr 34px;gap:9px}.kv-foot{flex-direction:column;align-items:stretch}.kv-seeall{margin-left:0}.kv-seeall .kv-btn{width:100%}.kv-pager{justify-content:center}.gw-mod.gw-dl .gw-file{flex-wrap:wrap;gap:12px}.gw-mod.gw-dl .gw-dl-btn{width:100%;justify-content:center;margin-top:2px}.gw-mod.gw-recent .gw-recent-rail{grid-auto-columns:86%}.gw-zoom__hint{left:12px;bottom:12px;font-size:11px;padding:6px 11px}.gw-lightbox__img{max-height:58vh}.gw-lightbox__thumb{flex:0 0 54px;width:54px;height:54px}.v3-trustbar{gap:6px 8px}.v3-trustbar .v3-tb-item{font-size:11.5px;padding:6px 11px}.v3-subnav .sn-s{display:none}.v3-subnav a{padding:12px 12px;gap:0}.v3-subnav-in{padding:0 14px}.v3-subnav a{padding:12px 11px;font-size:13px}.v3-midcta{flex-direction:column;text-align:center;padding:20px 18px}.v3-midcta .btn-primary{width:100%}.pgv-ref-ean{display:none}}@media(max-width:520px){.pf-grid{grid-template-columns:1fr}}@media(max-width:480px){.v4-trust-in{gap:10px 12px}.v4-trust .oa-guar-d{display:none}}@media(max-width:440px){.pg-a .buy-actions{gap:10px}.pg-a .buy-actions .qty{order:1;flex:1 1 100%;justify-content:space-between}.pg-a .buy-actions .btn-cart{order:2;flex:1 1 auto;min-width:0}.pg-a .buy-actions .btn-fav{order:3}.oad4 .tiles{gap:8px}.oad4 .tile{min-height:118px;padding:14px 6px;border-radius:12px}.oad4 .tile .ic{width:32px;height:32px}.oad4 .tile .t-label{font-size:12px}.oad4 .tile .t-meta{font-size:10px}.oad4 .d-head .d-cost .c-main{font-size:13.5px}}@media(max-width:360px){.oad4 .tile .t-meta{font-size:9.5px}.oad4 .tile .t-label{font-size:11.5px}}.pgv-b .product-grid>.col-gallery,.pgv-b .product-grid>.col-info,.pgv-b .product-grid>.col-sidebar{width:auto!important;float:none!important;padding:0!important}.pgv-b .product-grid>*:not(.gallery):not(.pgv-info):not(.buy-main){grid-column:1 / -1}.buy-actions .qty{width:auto!important;min-width:94px;max-width:none!important;flex:none;display:inline-flex!important}.buy-actions .qty .qty-btn{width:29px!important;height:46px!important;flex:none;padding:0!important}.buy-actions .qty input{width:34px!important;height:46px!important;padding:0!important}#product .col-sidebar .box-cart-bottom div#quantity_wanted_p{flex:0 0 auto!important;width:auto!important}#product .col-sidebar .box-cart-bottom div.qty{flex:0 0 auto!important}.buy-actions #add_to_cart{flex:1 1 auto;min-width:0;margin:0}.buy-actions .btn-cart{width:100%;box-sizing:border-box;font-size:14px!important;letter-spacing:.02em;padding:12px 8px!important;white-space:nowrap;justify-content:center;overflow:visible!important}.col-sidebar .btn-cart.btn-add-with-price,.buy-actions .btn-cart,.btn-cart{background:linear-gradient(100deg,#ffc53d,#f2a114)!important;color:#2B004F!important;box-shadow:0 8px 14px rgba(242,161,20,.22),0 0 0 1px rgba(242,161,20,.20)!important;border:0!important}.col-sidebar .btn-cart.btn-add-with-price:hover,.btn-cart:hover{transform:translateY(-3px);background:linear-gradient(100deg,#ffcd52,#f5a623)!important;box-shadow:0 14px 22px rgba(242,161,20,.30),0 0 0 1px rgba(242,161,20,.30)!important;color:#2B004F!important}.btn-cart:focus-visible{outline:3px solid rgba(242,161,20,.45);outline-offset:2px}.price-card .available-box{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.price-card .available-box>*{float:none!important;width:auto!important;margin:0!important}.price-card #shipping_date_hook{width:100%!important}.price-card .available-box #availability_statut{display:none}.buy-actions .btn-cart .btn-price-display{display:none}.price-card .qty-price-row{margin:0;display:block}.price-card .content_prices{margin:0!important;padding:0!important}.price-card .price_vat{display:block;font-size:12.5px;color:#8a8199;font-weight:500;margin-top:2px}.price-card .pgv-ref{margin:0;font-size:12px;color:#8a8199;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-card .pgv-ref b{color:#4f4760;font-weight:700}.price-card .available-box{display:flex;flex-direction:column;gap:8px;margin:0}.price-card .available-box #availability_statut{display:inline-flex!important;align-items:center;gap:7px;background:#eaf6df;border:1px solid rgba(123,191,63,.35);border-radius:999px;padding:6px 14px;margin:0;font-size:13px;font-weight:700;color:#3f6f1c;width:fit-content}.price-card .available-box #availability_statut::before{content:"";width:8px;height:8px;border-radius:50%;background:#7BBF3F;box-shadow:0 0 0 3px rgba(123,191,63,.25);flex:none}.price-card #availability_statut .label-success{background:none;color:inherit;font-size:inherit;padding:0}.price-card #shipping_date_hook{display:none!important}.price-card .v4-cutoff{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:#4f4760;line-height:1.45}.price-card .v4-cutoff svg{color:#7E1E57;flex:none}.price-card .v4-cutoff b{color:#2B004F}.price-card .v4-cd{color:#3f6f1c;font-weight:700;font-variant-numeric:tabular-nums}.oa-ship .oa-eyebrow{display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7E1E57;margin-bottom:10px}.oa-ship .oa-eyebrow::before{content:"";width:26px;height:8px;border-radius:4px;background:linear-gradient(100deg,#7BBF3F,#5e9a2a 45%,#7E1E57)}.oa-ship #estimated-delivery{margin:0}.oa-ship .stock-left{display:block}.oa-ship .stock-left>.edv3-stock{display:none!important}.oa-ship #free-shipping-progress{margin-top:10px}.buy-actions .btn-fav{flex:none;width:42px;border:1.5px solid rgba(43,0,79,.12);border-radius:13px;background:#fff;color:#2B004F;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.18s}.buy-actions .btn-fav:hover{border-color:#7E1E57;color:#7E1E57;transform:translateY(-2px)}.buy-actions .btn-cart svg,.buy-actions .btn-cart .fa{display:none!important}.price-card .available-box #availability_statut span{display:inline!important;padding:0!important;margin:0!important;background:none!important;font-size:inherit!important;color:inherit!important;line-height:1.2}#estimated-delivery .stock-left>.edv3-stock{display:none!important}.price-card #availability_statut #availability_value{display:inline!important;width:auto!important;background:none!important;padding:0!important;font-size:inherit!important;color:inherit!important}.buy-actions .btn-cart .btn-text{font-size:14px!important;letter-spacing:.01em;text-transform:none!important;font-weight:700}.buy-actions .btn-cart .btn-text::before{display:none!important;content:none!important}@media(min-width:1100px){.wrap.pg-a{max-width:var(--gw-wrap,min(90%,1600px));padding:0}#center_column{width:100%!important;float:none!important;left:0!important}#left_column{display:none!important}}#buy_block .buy-actions .btn-cart .btn-text{font-size:14px!important;letter-spacing:.01em!important;text-transform:none!important;overflow:visible!important}#buy_block .buy-actions .btn-cart .btn-content{gap:7px!important;justify-content:center!important}#product .columns-container{overflow:visible;overflow-x:clip}.mag-article__title{font-family:'Russo One',sans-serif!important;font-weight:400!important;font-size:clamp(24px,3vw,38px)!important;line-height:1.05!important;letter-spacing:-.01em;text-transform:uppercase!important;color:#2B004F!important;transform:skewX(-5deg);margin:0 0 22px!important;position:relative;padding-top:18px}.mag-article__title::before{content:"";position:absolute;top:0;left:2px;width:34px;height:9px;border-radius:5px;background:linear-gradient(100deg,#7BBF3F,#5e9a2a 45%,#7E1E57);transform:skewX(5deg)}.mag-article{background:#fff;border:1px solid rgba(43,0,79,.08);border-radius:18px;padding:30px 32px;margin-bottom:24px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 18px rgba(43,0,79,.05)}.mag-article:nth-child(even){background:linear-gradient(180deg,#f7f4fb,#fdfcff)}.mag-article .table-data-sheet{border-collapse:separate;border-spacing:0;width:100%;border:1px solid rgba(43,0,79,.10);border-radius:12px;overflow:hidden}.mag-article .table-data-sheet tr:nth-child(odd){background:#f7f4fb}.mag-article .table-data-sheet td{padding:11px 16px;font-size:14px;color:#4f4760;border:0!important}.mag-article .table-data-sheet td:first-child{font-weight:700;color:#2B004F;width:38%}.mag-rail__title{font-family:'Poppins',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7E1E57}.mag-rail__list a{font-size:13.5px;color:#4f4760}.mag-rail__list a:hover{color:#5e9a2a}#descriptionTab .rte,.mag-article .rte{font-size:15px;line-height:1.75;color:#4f4760}#descriptionTab .rte h2,.mag-article .rte h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:19px;color:#2B004F;margin:22px 0 8px;text-transform:none;transform:none}#descriptionTab .rte h3,.mag-article .rte h3{font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;color:#7E1E57;margin:16px 0 6px}#combination-cards{max-width:100%;overflow:visible}#combination-cards>*,#combination-cards .combination-card{max-width:100%!important;box-sizing:border-box;white-space:normal!important}#combination-cards *{max-width:100%;box-sizing:border-box}.mobile-hero-overlay{display:none!important}.product-identity-chip{display:none!important}.gw-dl .row,.sep .row{margin-left:0!important;margin-right:0!important}
/* carrousels de modules (owl) : contenus dans leur bande */
#center_column [class*=owl-stage],#center_column .ribbon-wrapper{max-width:none}

body#product #reviewsTab.sep--brand,#reviewsTab.sep--brand{background:radial-gradient(85% 120% at 88% -12%,rgba(126,30,87,.36),transparent 58%),radial-gradient(70% 110% at 2% 112%,rgba(123,191,63,.13),transparent 60%),linear-gradient(to top,#1a0033,#2b004f 56%,#3a0a63)!important;color:#efe7f7}
body#product #reviewsTab.sep--brand .head h2,#reviewsTab.sep--brand .head h2{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
#reviewsTab.sep--brand .head .eyebrow{color:#e9a9cf}

/* bandes sombres : titres/eyebrows lisibles partout (généralisation) */
body#product .sep--brand .head h2{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
body#product .sep--brand .head h2 .accent{background:linear-gradient(100deg,#8ed04e,#7BBF3F)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
body#product .sep--brand .head .eyebrow{color:#e9a9cf!important}

/* ==== KAVIS (avis maquette v5-b, verbatim) ==== */
.kavis{--kv-card:#ffffff;
  --kv-ink:var(--gw-ink-700,#2B004F);
  --kv-body:#4f4760;
  --kv-muted:#6d6480;
  --kv-line:#ece5f2;
  --kv-gold:#f5b301;
  --kv-gold-track:#e3dcec;
  --kv-light:#efe7f7;
  --kv-light-soft:#c9b8de;
  --kv-glass:rgba(255,255,255,.08);
  --kv-glass-line:rgba(255,255,255,.16);
  --kv-radius:16px;
  --kv-radius-lg:var(--gw-r-xl,22px);
  color:var(--kv-light);
  position:relative;z-index:2;}
.kavis *{box-sizing:border-box}
.kavis .kv-stars{display:inline-block;position:relative;font-size:16px;line-height:1;letter-spacing:2px;font-family:Arial,sans-serif;white-space:nowrap;vertical-align:middle}
.kavis .kv-stars::before{content:"\2605\2605\2605\2605\2605";color:var(--kv-gold-track)}
.kavis .kv-stars::after{content:"\2605\2605\2605\2605\2605";color:var(--kv-gold);position:absolute;left:0;top:0;width:var(--rate,100%);overflow:hidden;white-space:nowrap}
.kavis .kv-stars.kv-stars--sm{font-size:14px;letter-spacing:1.5px}
.kv-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px 30px;
  background:var(--kv-glass);border:1px solid var(--kv-glass-line);
  border-radius:var(--kv-radius-lg);padding:22px 26px;margin-bottom:26px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.kv-score{display:flex;align-items:center;gap:16px;min-width:0}
.kv-score-num{font-family:'Russo One',sans-serif;font-size:clamp(38px,6vw,52px);
  color:#fff;line-height:.9;letter-spacing:-1px;}
.kv-score-num small{font-size:.42em;color:var(--kv-light-soft);font-weight:400}
.kv-score-meta{display:flex;flex-direction:column;gap:6px}
.kv-score-meta .kv-stars{--rate:96%}
.kv-score-count{font-family:'Poppins',sans-serif;font-size:13.5px;color:var(--kv-light-soft)}
.kv-score-count b{color:#fff;font-weight:600}
.kv-summary-cta{justify-self:end}
.kv-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px;
  padding:12px 22px;min-height:44px;border-radius:var(--b3-r-card,13px);
  cursor:pointer;border:1.5px solid transparent;white-space:nowrap;text-decoration:none;
  transition:transform .3s var(--gw-ease-out,cubic-bezier(.22,1,.36,1)),box-shadow .3s,background .2s,border-color .2s,color .2s;}
.kv-btn svg{width:17px;height:17px;flex:none}
.kv-btn--primary{background:var(--gw-grad-green,linear-gradient(100deg,#8ed04e,#5e9a2a));
  color:#13002a;
  box-shadow:0 8px 14px rgba(123,191,63,.20),0 0 0 1px rgba(123,191,63,.14);}
.kv-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 22px rgba(123,191,63,.28),0 0 0 1px rgba(123,191,63,.28)}
.kv-btn--ghost-light{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.22);color:#fff;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.kv-btn--ghost-light:hover{border-color:rgba(123,191,63,.55);color:#d9f2be;background:rgba(255,255,255,.1)}
.kv-btn:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:2px}
.kv-hist{display:flex;flex-direction:column;gap:9px;min-width:230px;
  padding-left:30px;border-left:1px solid var(--kv-glass-line);}
.kv-hist-row{display:grid;grid-template-columns:52px 1fr 40px;align-items:center;gap:12px;
  width:100%;background:none;border:0;padding:5px 6px;border-radius:8px;cursor:pointer;
  font-family:'Poppins',sans-serif;color:var(--kv-light);text-align:left;
  transition:background .18s var(--gw-ease-out,ease);}
.kv-hist-row:hover{background:rgba(255,255,255,.07)}
.kv-hist-row:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:1px}
.kv-hist-row[aria-pressed="true"]{background:rgba(123,191,63,.16);box-shadow:inset 0 0 0 1px rgba(123,191,63,.4)}
.kv-hist-label{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap}
.kv-hist-label svg{width:12px;height:12px;color:var(--kv-gold);flex:none}
.kv-hist-track{position:relative;height:9px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}
.kv-hist-fill{position:absolute;inset:0 auto 0 0;height:100%;width:var(--kv-w,0%);border-radius:999px;
  background:var(--gw-grad-key,linear-gradient(100deg,#7BBF3F,#5e9a2a 42%,#7E1E57));
  box-shadow:0 0 6px rgba(123,191,63,.35);
  transition:width .5s var(--gw-ease-out,cubic-bezier(.22,1,.36,1));}
.kv-hist-count{font-size:12px;font-weight:600;color:var(--kv-light-soft);text-align:right;font-variant-numeric:tabular-nums}
.kv-toolbar{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;
  margin-bottom:20px;padding-bottom:2px;}
.kv-active-filter{display:inline-flex;align-items:center;gap:8px;
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;color:#fff;
  background:rgba(123,191,63,.18);border:1px solid rgba(123,191,63,.45);
  border-radius:999px;padding:6px 8px 6px 14px;}
.kv-active-filter button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;
  font-size:15px;line-height:1;transition:background .15s;}
.kv-active-filter button:hover{background:rgba(255,255,255,.3)}
.kv-active-filter button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.kv-tools-right{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-left:auto}
.kv-sort{display:inline-flex;align-items:center;gap:9px}
.kv-sort label{font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;color:var(--kv-light-soft)}
.kv-select{position:relative;display:inline-flex;align-items:center;
  font-family:'Poppins',sans-serif;}
.kv-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;
  font-family:inherit;font-size:13px;font-weight:600;color:#fff;cursor:pointer;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.22);
  border-radius:var(--b3-r-card,13px);padding:9px 34px 9px 14px;min-height:40px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:border-color .18s,background .18s;}
.kv-select select:hover{border-color:rgba(123,191,63,.5)}
.kv-select select:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:2px}
.kv-select select option{color:#2B004F;background:#fff}
.kv-select::after{content:"";position:absolute;right:13px;top:50%;width:8px;height:8px;pointer-events:none;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-70%) rotate(45deg);}
.kv-verified{display:inline-flex;align-items:center;gap:9px;cursor:pointer;min-height:40px;
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;color:var(--kv-light);
  padding:0 4px;user-select:none;}
.kv-verified input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.kv-verified .kv-box{width:20px;height:20px;border-radius:6px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.32);
  transition:background .16s,border-color .16s;}
.kv-verified .kv-box svg{width:13px;height:13px;color:#13002a;opacity:0;transform:scale(.6);transition:.16s var(--gw-ease-out,ease)}
.kv-verified input:checked + .kv-box{background:#7BBF3F;border-color:#7BBF3F}
.kv-verified input:checked + .kv-box svg{opacity:1;transform:scale(1)}
.kv-verified input:focus-visible + .kv-box{outline:3px solid rgba(123,191,63,.55);outline-offset:2px}
.kv-list{display:flex;flex-direction:column;gap:16px}
.kv-empty{display:none;padding:28px;text-align:center;color:var(--kv-light-soft);
  background:var(--kv-glass);border:1px dashed var(--kv-glass-line);border-radius:var(--kv-radius);
  font-family:'Poppins',sans-serif;font-size:14px;}
.kv-card{background:var(--kv-card);border:1px solid rgba(255,255,255,.9);
  border-radius:var(--kv-radius);padding:20px 22px;
  box-shadow:var(--b3-shadow-soft,0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05));
  color:var(--kv-body);}
.kv-card-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.kv-avatar{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;color:#fff;
  background:var(--gw-grad-ink,linear-gradient(150deg,#3a0a63,#1a0033));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}
.kv-idc{min-width:0;flex:1}
.kv-idc-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.kv-author{font-family:'Poppins',sans-serif;font-weight:700;font-size:14.5px;color:var(--kv-ink)}
.kv-vbadge{display:inline-flex;align-items:center;gap:5px;
  font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;color:#3f6f1c;
  background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.4);
  border-radius:999px;padding:2px 9px 2px 7px;}
.kv-vbadge svg{width:12px;height:12px}
.kv-card-meta{display:flex;align-items:center;gap:10px;margin-top:5px;flex-wrap:wrap}
.kv-date{font-size:12px;color:var(--kv-muted);font-family:'Poppins',sans-serif}
.kv-card-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;
  color:var(--kv-ink);margin:2px 0 7px;line-height:1.3;}
.kv-card-text{font-size:14.5px;line-height:1.65;color:var(--kv-body)}
.kv-photos{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.kv-photo{width:64px;height:64px;border-radius:10px;overflow:hidden;flex:none;cursor:pointer;padding:0;
  border:1px solid var(--kv-line);background:#f5f2f9;
  transition:transform .2s var(--gw-ease-out,ease),box-shadow .2s,border-color .2s;}
.kv-photo img{width:100%;height:100%;object-fit:cover;display:block}
.kv-photo:hover{transform:translateY(-2px);border-color:rgba(123,191,63,.5);box-shadow:var(--gw-glow-green,0 6px 16px rgba(123,191,63,.14))}
.kv-photo:focus-visible{outline:3px solid rgba(123,191,63,.5);outline-offset:2px}
.kv-card-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:15px;padding-top:14px;border-top:1px solid var(--kv-line);}
.kv-helpful{display:inline-flex;align-items:center;gap:8px;min-height:40px;
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;color:var(--kv-body);
  background:#f5f2f9;border:1px solid var(--kv-line);border-radius:999px;
  padding:8px 15px;cursor:pointer;transition:border-color .16s,color .16s,background .16s;}
.kv-helpful svg{width:15px;height:15px;color:var(--kv-muted);transition:.16s}
.kv-helpful:hover{border-color:rgba(123,191,63,.5);color:#3f6f1c}
.kv-helpful:hover svg{color:#3f6f1c}
.kv-helpful[aria-pressed="true"]{background:rgba(123,191,63,.12);border-color:rgba(123,191,63,.45);color:#3f6f1c}
.kv-helpful[aria-pressed="true"] svg{color:#3f6f1c}
.kv-helpful:focus-visible{outline:3px solid rgba(123,191,63,.5);outline-offset:2px}
.kv-helpful .kv-hc{font-variant-numeric:tabular-nums}
.kv-reply{margin-top:14px;padding:14px 16px;border-radius:12px;
  background:#f5f2f9;border:1px solid var(--kv-line);
  border-left:3px solid #7BBF3F;}
.kv-reply-head{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.kv-reply-logo{width:26px;height:26px;border-radius:7px;flex:none;position:relative;
  background:var(--gw-grad-ink,linear-gradient(150deg,#3a0a63,#1a0033));}
.kv-reply-logo::before{content:"";position:absolute;left:7px;top:6px;width:4px;height:14px;border-radius:2px;background:var(--gw-grad-key,linear-gradient(100deg,#7BBF3F,#5e9a2a 42%,#7E1E57));transform:skewX(var(--gw-skew,-5deg))}
.kv-reply-logo::after{content:"";position:absolute;left:15px;top:6px;width:4px;height:14px;border-radius:2px;background:#ece1f7;transform:skewX(var(--gw-skew,-5deg))}
.kv-reply-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:12.5px;color:var(--kv-ink)}
.kv-reply-tag{font-family:'Poppins',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7E1E57}
.kv-reply-text{font-size:13.5px;line-height:1.55;color:var(--kv-body)}
.kv-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:26px;}
.kv-pager{display:inline-flex;align-items:center;gap:7px}
.kv-page{min-width:40px;height:40px;padding:0 10px;border-radius:10px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);
  transition:background .16s,border-color .16s,color .16s;}
.kv-page:hover{background:rgba(255,255,255,.14);border-color:rgba(123,191,63,.5)}
.kv-page[aria-current="page"]{background:#7BBF3F;border-color:transparent;color:#13002a}
.kv-page[disabled]{opacity:.4;cursor:not-allowed}
.kv-page:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:2px}
.kv-page svg{width:16px;height:16px}
.kv-seeall{margin-left:auto}
.kv-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn:focus-visible,
.btn-primary:focus-visible,
.btn-cart:focus-visible,
.btn-ghost:focus-visible,
.btn-fav:focus-visible,
.iconbtn:focus-visible,
.brandmark:focus-visible,
.crumbs a:focus-visible,
.rating-row .rc a:focus-visible,
.faq-i summary:focus-visible,
.pcard-name a:focus-visible,
.pcard-cta:focus-visible,
.pack-tile:focus-visible,
.footer-pay span a:focus-visible,
.footer .brandmark:focus-visible,
.kv-seeall:focus-visible,
.v3-subnav a:focus-visible,
.v3-trustbar a:focus-visible,
.v3-paybadges a:focus-visible{outline:3px solid rgba(123,191,63,.55);outline-offset:2px;border-radius:8px;}
.brandmark,.crumbs a,.rating-row .rc a,.faq-i summary,
.pcard-cta,.pcard-name a,.pack-tile,.kv-seeall,
.v3-subnav a,.v3-trustbar a,.v3-paybadges a{cursor:pointer}
.kv-active-filter button{width:26px;height:26px;position:relative}
.kv-active-filter button::before{content:"";position:absolute;inset:-9px}




.sep--brand .head h2 .kw{background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.kv-verified .checker{display:none!important}.kv-select .selector{background:none!important;padding:0!important;width:auto!important}
/* h2 de sections maquette : reprendre la main sur le custom warehouse (18px!important à 2 IDs) */
body#product #columns #center_column section.sep .head h2,body#product #tabs-zone .sep .head h2{font-family:'Russo One',sans-serif!important;font-weight:400!important;font-size:clamp(26px,3.6vw,44px)!important;line-height:1!important;letter-spacing:-.01em!important;text-transform:uppercase!important;color:#2B004F!important;position:relative!important;display:inline-block!important;transform:skewX(-5deg)!important;transform-origin:left!important;padding:0 0 .32em!important;margin:0!important;border:none!important;background:none!important}
body#product #tabs-zone .sep--brand .head h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
body#product #columns #center_column section.sep .head h2 .accent,body#product #columns #center_column section.sep .head h2 .kw,body#product #tabs-zone .sep .head h2 .accent,body#product #tabs-zone .sep .head h2 .kw{background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
/* kavis : neutraliser themeeditor (#center_column a → #777) et paddings custom des sections */
body#product #columns #center_column .kavis a{color:inherit}
body#product #columns #center_column .kavis .kv-btn--primary{color:#13002a}
body#product #columns #center_column .kavis .kv-btn--ghost-light{color:#fff}
body#product #tabs-zone section.sep{padding:clamp(44px,5.5vw,76px) 0}

/* bandes du bas : pleine largeur ecran (maquette), contenu centre par .wrap */
body#product #tabs-zone section.sep{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
html,body#product{overflow-x:clip}
/* audit maquette : fond lavande des sections claires (le custom les blanchissait) */
body#product #descriptionTab.sec-alt,body#product #featuresTab.sec-alt,body#product #questionsTab.sec-alt{background:linear-gradient(180deg,#f7f4fb,#f2edf8)!important}

/* AUDIT FIX (17/07/2026) : harmonisation boxed -> pleine largeur demandée sur la fiche produit.
   3 blocs restaient seuls en "carte" (style hérité de la liste d'IDs du custom-growled) alors que
   description/fiche technique/avis/questions sont déjà passés en bandes pleine largeur (cf. plus haut). */
body#product #blockpack,body#product #crossselling,body#product .infos-produits-gwl{
  background:none!important;border:none!important;border-radius:0!important;
  box-shadow:none!important;overflow:visible!important;margin-top:0!important;
}
body#product #blockpack::before,body#product #crossselling::before,body#product .infos-produits-gwl::before{
  content:none!important;display:none!important;
}
body#product #blockpack,body#product #crossselling{padding:clamp(36px,4.5vw,60px) 0!important}
body#product .infos-produits-gwl{padding:28px 0!important;border-top:1px solid rgba(43,0,79,.10)}
body#product #blockpack>*,body#product #crossselling>*{max-width:1280px;margin-left:auto!important;margin-right:auto!important;padding-left:24px;padding-right:24px;box-sizing:border-box}
body#product #blockpack .page-product-heading{font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(22px,3vw,32px);line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;color:#2B004F;transform:skewX(-5deg);transform-origin:left center;margin:0 0 20px}

/* #crossselling sur la fiche produit ne chargeait jamais de style pour .gw-xsell-* (ces classes
   ne sont stylées que dans checkout-growled-2026.css, limité aux pages panier/tunnel) — on reprend
   ici le même habillage pour la variante fiche produit, plutôt que de charger toute la feuille du
   tunnel sur les pages produit. */
body#product .gw-xsell-head{margin-bottom:16px}
body#product .gw-xsell-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7E1E57}
body#product .gw-xsell-title{font-family:'Russo One','Poppins',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,3vw,32px);color:#2B004F;transform:skewX(-5deg);margin:8px 0 0;line-height:1.1}
body#product .gw-xsell-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
body#product .gw-xsell-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(43,0,79,.1);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(43,0,79,.06);transition:transform .18s,box-shadow .18s}
body#product .gw-xsell-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(43,0,79,.10)}
body#product .gw-xsell-media{display:block;aspect-ratio:1/1;background:#faf8fd;overflow:hidden}
body#product .gw-xsell-body{padding:11px 13px 13px;display:flex;flex-direction:column;flex:1}
body#product .gw-xsell-name{margin:0;font-size:12.5px;font-weight:600;line-height:1.3}
body#product .gw-xsell-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px}
body#product .gw-xsell-price{font-family:'Russo One','Poppins',sans-serif;font-size:15px;font-weight:700;color:#2B004F}
body#product .gw-xsell-add{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F;font-weight:800;font-size:12px;border-radius:9px;padding:7px 11px;text-decoration:none;white-space:nowrap}
/* module parallax legacy : absent de la maquette */
body#product #parallax_block_center{display:none!important}
/* module packs (ap5) : bande sombre maquette #pack, full-bleed, contenu centré 1240 */
body#product #ap5-page-product-box{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(44px,5.5vw,76px) max(40px,calc((100vw - 1570px)/2))!important;background:radial-gradient(85% 120% at 88% -12%,rgba(126,30,87,.36),transparent 58%),radial-gradient(70% 110% at 2% 112%,rgba(123,191,63,.13),transparent 60%),linear-gradient(to top,#1a0033,#2b004f 56%,#3a0a63)!important;border-radius:0!important;box-shadow:none!important;border:none!important}
body#product #ap5-page-product-box>h3.page-product-heading{display:none!important}

body#product #ap5-page-product-box .ap5-product-footer-pack-container{background:#fff;border-radius:18px}

/* audit maquette : base typo 16px des blocs kavis/pf (le body warehouse est en 12px) */
body#product .kavis,body#product .pf-grid{font-size:16px}
/* audit maquette : boutons midcta + sticky sans uppercase, encre correcte */
body#product #columns #center_column .v3-midcta .btn{color:#2B004F!important;text-transform:none!important}
body#product .pgc-bar .btn-cart,body#product .pgc-bar button{text-transform:none!important}
/* pack ap5 : head maquette hors #tabs-zone */



/* boutons packs : D.A. (or = achat, ghost = voir) au lieu du bleu module */


body#product #ap5-page-product-box .ap5-product-footer-pack-container{padding:22px!important;margin-bottom:22px!important}

body#product #columns #center_column section.sep.gw-related{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(44px,5.5vw,76px) 0}
body#product .gw-recent-rail{grid-auto-columns:240px}
body#product .gw-rcard-media img{width:100%;height:216px;object-fit:cover}
/* ==== SUBNAV V2.1 : bande encre glassy full width ==== */
body#product .v3-subnav{position:sticky;top:0;z-index:90;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:none!important;border:none!important;box-shadow:none!important;padding:0;transition:top .25s ease}
body#product .v3-subnav-in{max-width:none!important;width:100%;margin:0!important;position:relative;display:flex;justify-content:flex-start;align-items:stretch;gap:2px;overflow-x:auto;scrollbar-width:none;background:linear-gradient(120deg,#2B004F,#20003c);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;padding:0 max(24px,calc((100vw - 1620px)/2 + 24px));box-shadow:0 10px 26px rgba(43,0,79,.28)}
body#product .v3-subnav-in::-webkit-scrollbar{display:none}
body#product .v3-subnav-in a{position:relative;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:13px 15px 12px;border-radius:11px 11px 0 0;background:none!important;font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#cbbcde!important;text-decoration:none!important;white-space:nowrap;border:none!important;transition:color .2s cubic-bezier(.22,1,.36,1),background .2s cubic-bezier(.22,1,.36,1)}
body#product .v3-subnav-in a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
body#product .v3-subnav-in a.is-active{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.13))!important;color:#fff!important;box-shadow:none!important}
body#product .v3-subnav-in a .sn-s{display:none}
body#product .sn-b{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.14);font-size:11px;font-weight:700;line-height:1.4;color:#efe7f7;font-variant-numeric:tabular-nums}
body#product .sn-b--gold{background:rgba(255,197,61,.18);color:#ffd27a}
body#product .v3-subnav-in a.is-active .sn-b,body#product .v3-subnav-in a.is-active .sn-b--gold{background:rgba(255,197,61,.18);color:#ffd27a}
body#product .sn-progress{position:absolute;left:0;right:0;bottom:0;height:2.5px;background:rgba(255,255,255,.10);overflow:hidden;pointer-events:none;z-index:2}
body#product .sn-progress::before{content:"";position:absolute;inset:0;width:var(--sn-p,0%);background:linear-gradient(100deg,#7BBF3F,#5e9a2a 45%,#7E1E57);transition:width .15s linear}
@media (max-width:900px){body#product .v3-subnav-in{justify-content:flex-start;gap:2px;padding:5px 10px}body#product .v3-subnav-in a{padding:8px 12px;font-size:12px}}
/* pgc-bar : une seule ligne, hauteur réduite, nom large */
body#product .pgc-bar-in{padding:6px 20px;gap:12px}
body#product .pgc-bar-thumb,body#product .pgc-bar-thumb img{width:34px;height:34px}
body#product .pgc-bar-info{display:flex;flex-direction:row;align-items:center;gap:14px;flex:1;min-width:0}
body#product .pgc-bar-name{font-size:13.5px;flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body#product .pgc-bar-price{font-size:17px;white-space:nowrap;line-height:1}
body#product .pgc-bar .btn-cart{padding:9px 18px}
@media (max-width:700px){body#product .pgc-bar-name{display:none}}
/* barre sticky warehouse : doublon de la pgc-bar maquette */
body#product .sticky-bottom-bar{display:none!important}
/* ═══════════ BUYBOX FINALE (maquette validée : bloc encre B + CTA C + Espace PRO) ═══════════ */
body#product .col-sidebar.buy{padding:18px 18px 20px}
body#product #buy_block>*+*{margin-top:14px}

/* — bloc encre : prix + stock + cutoff + Alma — */
body#product .gw-dark{background:linear-gradient(150deg,#3a0a63,#1a0033);border-radius:16px;padding:20px 18px 18px;position:relative;overflow:hidden;box-shadow:0 12px 26px rgba(26,0,51,.35)}
body#product .gw-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(320px 180px at 90% -10%,rgba(123,191,63,.22),transparent 65%);pointer-events:none}
body#product .gw-dark-row{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;flex-wrap:wrap}
body#product .gw-dark .content_prices{flex:0 1 auto!important;width:auto!important;min-width:0;margin:0!important;padding:0!important;background:none!important;border:0!important}
body#product .gw-dark .content_prices .price,body#product .gw-dark .our_price_display{width:auto!important;display:inline-flex;align-items:baseline;margin:0;flex-wrap:wrap}
body#product .gw-dark #our_price_display{font-family:'Russo One',sans-serif;font-weight:400;font-size:36px;line-height:1;color:#fff;letter-spacing:-.01em}
body#product .gw-dark .price_vat{font-size:13px;color:#b9a8d4;font-weight:600;margin-left:4px}
body#product .gw-dark #old_price{margin:4px 0 0}
body#product .gw-dark #old_price_display .price{font-size:15px;color:#b9a8d4;text-decoration:line-through}
body#product .gw-dark .unit-price,body#product .gw-dark .price-ecotax,body#product .gw-dark .pack_price{color:#b9a8d4;font-size:12px;margin:4px 0 0}
/* pill stock : 3 états (JS e4 + serveur) */
body#product .gw-stock{display:inline-flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;border-radius:999px;padding:6px 12px;margin:0!important;white-space:nowrap;position:relative;color:#efe6f9;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)}
body#product .gw-stock .gw-stock-dot{width:7px;height:7px;border-radius:50%;background:#c9b8e0;flex:none;display:inline-block}
body#product .gw-stock #availability_value{color:inherit!important}
body#product .gw-stock.gw-ok{color:#2B004F;background:linear-gradient(100deg,#a5e06b,#7BBF3F)!important;border:0;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 4px 12px rgba(123,191,63,.35)}
body#product .gw-stock.gw-ok .gw-stock-dot{background:#2B004F;animation:gwpulse 1.6s infinite}
body#product .gw-stock.gw-low{color:#4a2800;background:linear-gradient(100deg,#ffd97a,#f2a114)!important;border:0;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 4px 12px rgba(242,161,20,.35)}
body#product .gw-stock.gw-low .gw-stock-dot{background:#4a2800;animation:gwpulse 1.6s infinite}
@keyframes gwpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}
/* cutoff restylé sombre */
body#product .gw-dark .v4-cutoff{position:relative;margin:14px 0 0;display:flex;align-items:center;gap:8px;font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:500;color:#e6dcf5;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:9px 12px}
body#product .gw-dark .v4-cutoff b{color:#ffc53d}
body#product .gw-dark .v4-cutoff .v4-cd{margin-left:auto;font-variant-numeric:tabular-nums;font-family:'Russo One',sans-serif;font-size:13px;color:#ffc53d;white-space:nowrap}
body#product .gw-dark .v4-cutoff[hidden]{display:none!important}
/* Alma FONDU dans le bloc encre : glassy sombre comme le cutoff (override custom warehouse blanc) */
body#product .gw-dark .gw-alma{position:relative;margin:10px 0 0}
body#product .gw-dark .gw-alma .alma-hook-wrapper{background:transparent!important;border:0!important;padding:0!important;margin:0!important}
/* container = surface glassy */
body#product .gw-dark .gw-alma .alma-payment-plans-container,
body#product .gw-dark .gw-alma [class*=_widgetContainer_]{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:11px!important;--off-black:#efe6f9!important;font-family:'Poppins',sans-serif!important;gap:9px!important;padding:9px 12px!important}
/* chips échéances : glassy + texte clair, active = or (rappel CTA) */
body#product .gw-dark .gw-alma [class*=_planButton_]{background:rgba(255,255,255,.08)!important;color:#efe6f9!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:8px!important;font-family:'Poppins',sans-serif!important;font-weight:600!important}
body#product .gw-dark .gw-alma [class*=_planButton_][class*=_active_],
body#product .gw-dark .gw-alma .alma-payment-plans-active-option{background:linear-gradient(100deg,#ffc53d,#f2a114)!important;color:#2B004F!important;border-color:transparent!important;box-shadow:0 2px 8px rgba(242,161,20,.3)!important}
/* ligne d'échéancier + label éligibilité en clair */
body#product .gw-dark .gw-alma .alma-payment-plans-payment-info,
body#product .gw-dark .gw-alma .alma-payment-plans-payment-info *,
body#product .gw-dark .gw-alma [class*=_info_]{color:#cbbfdd!important}
body#product .gw-dark .gw-alma .alma-payment-plans-payment-info b,
body#product .gw-dark .gw-alma .alma-payment-plans-payment-info strong{color:#fff!important}
/* wordmark « alma » (dans le bouton _knowMore_) : paths en fill:var(--off-black) → forcer clair */
body#product .gw-dark .gw-alma [class*=_knowMore_]{--off-black:#e6dcf5!important;color:#e6dcf5!important}
body#product .gw-dark .gw-alma [class*=_knowMore_] svg path,
body#product .gw-dark .gw-alma [class*=_knowMore_] svg g,
body#product .gw-dark .gw-alma [class*=_knowMore_] svg{fill:#e6dcf5!important}

/* — actions : ligne quantité+favori, CTA pleine largeur 2 lignes — */
body#product .gw-actions{display:flex;flex-direction:column;gap:9px}
body#product .gw-actions-row{display:flex;align-items:center;gap:10px}
body#product .gw-qty-lbl{font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:#2B004F;margin:0}
body#product .gw-actions-row .btn-fav{margin-left:auto}
body#product .gw-actions #add_to_cart{margin:0;width:100%;float:none}
body#product .gw-cta{width:100%;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.15;border-radius:13px;padding:8px 14px}
body#product .gw-cta .btn-content{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;font-size:15px;font-weight:800}
body#product .gw-cta .btn-price-display{display:inline}
body#product .gw-cta .btn-price-display:not(:empty)::before{content:"· "}
body#product .gw-cta .gw-cta-sub{font-size:10.5px;font-weight:600;opacity:.72;white-space:nowrap}
body#product .gw-cta .gw-cta-sub:empty{display:none}

/* — engagements : 3 tuiles — */
body#product .gw-trust{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}
body#product .gw-trust li{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;color:#6d6480;background:#f5f2f9;border-radius:11px;padding:10px 6px;line-height:1.3}
body#product .gw-trust li svg{width:17px;height:17px;stroke:#5e9a2a;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* — livraison : carte bordée, en-tête magenta — */
body#product .gw-ship{border:1px solid #ece5f2;border-radius:13px;padding:13px 14px;margin:0;background:#fff}
body#product .gw-ship .oa-eyebrow{margin:0 0 8px}
body#product .gw-ship .oa-eyebrow span{font-family:'Russo One',sans-serif;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7E1E57}
/* — 901-1160px : la grille produit garde 3 pistes alors que les areas n'en définissent que 2
     (« info info » / « gallery buy ») → 3e colonne fantôme ~250px vide à droite.
     On force 2 pistes égales : la sidebar passe de ~270 à ~440px et tout respire. — */
@media (min-width:901px) and (max-width:1160px){
  body#product .pgv-b .product-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  /* galerie sticky comme sur desktop : le vide sous l'image disparaît pendant
     le défilement de la sidebar buybox, bien plus haute que la galerie */
  body#product .pgv-b .gallery{position:sticky;top:130px}
}
/* — cartes livraison (module edv3) : 1161-1199px la sidebar fait ~280-290px, les 3 cartes
     en grille tiennent sur ~85px chacune et deviennent illisibles → empilées en lignes.
     (901-1160px : la grille corrigée donne une sidebar large, les 3 colonnes conviennent.) — */
@media (min-width:1161px) and (max-width:1199px){
  body#product #estimated-delivery .edv3-cards{grid-template-columns:1fr!important;gap:10px!important}
  body#product #estimated-delivery .edv3-card{flex-direction:row!important;justify-content:flex-start!important;gap:8px!important;padding:10px 12px 8px!important;text-align:left!important}
  body#product #estimated-delivery .edv3-card-body{flex-direction:row!important;align-items:baseline!important;justify-content:flex-start!important;gap:8px!important;width:auto!important;text-align:left!important}
  body#product #estimated-delivery .edv3-card-date,body#product #estimated-delivery .edv3-card-price{text-align:left!important}
  body#product #estimated-delivery .edv3-card-tag{left:10px!important;transform:none!important}
}
/* — 1161-1250px : sidebar ~280-300px, le CTA « Ajouter au panier · prix » déborde du bouton — */
@media (min-width:1161px) and (max-width:1250px){
  body#product .pgv-b .col-sidebar #add_to_cart button.gw-cta{padding-left:10px!important;padding-right:10px!important;font-size:14px!important;gap:6px!important}
  body#product .pgv-b .col-sidebar #add_to_cart button.gw-cta .btn-price-display{font-size:13px!important}
}

/* — paiement sécurisé : ligne discrète centrée — */
body#product .gw-pay{display:flex;align-items:center;justify-content:center;gap:7px;font-family:'Poppins',sans-serif;font-size:11px;color:#6d6480;flex-wrap:wrap}
body#product .gw-pay svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body#product .gw-pay .pc{border:1px solid #ece5f2;border-radius:6px;padding:2px 8px;font-weight:700;font-size:10.5px;color:#6d6480}

/* — alerte rupture (mailalerts) : CTA outline encre — */
body#product #oosHook{margin-top:14px}
body#product #oosHook a,body#product #oosHook button,body#product #oosHook .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:2px solid #2B004F;border-radius:13px;background:#fff;color:#2B004F!important;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;text-align:center;padding:10px;text-decoration:none}
body#product #oosHook a:hover,body#product #oosHook button:hover{background:#f1ecf6}

/* — Espace PRO : bandeau magenta→encre — */
body#product #columns #center_column a.gw-pro,body#product a.gw-pro{position:relative;overflow:hidden;background:linear-gradient(140deg,#7E1E57,#3a0a63 70%);border-radius:14px;padding:14px 15px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 20px rgba(126,30,87,.28);margin-top:14px;text-decoration:none}
body#product .gw-pro::before{content:"";position:absolute;inset:0;background:radial-gradient(240px 140px at 100% 0%,rgba(255,255,255,.10),transparent 60%);pointer-events:none}
body#product .gw-pro-badge{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;position:relative}
body#product .gw-pro-badge span{font-family:'Russo One',sans-serif;font-size:12px;color:#ffc53d;transform:skewX(-5deg)}
body#product .gw-pro-txt{min-width:0;position:relative;display:block}
body#product #columns #center_column .gw-pro-txt b{display:block;font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:700;color:#fff}
body#product #columns #center_column .gw-pro-txt>span{display:block;font-family:'Poppins',sans-serif;font-size:11.5px;color:#e3cfe0;margin-top:1px}
body#product .gw-pro-btn{flex:none;margin-left:auto;position:relative;font-family:'Russo One',sans-serif;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:#7E1E57;background:#fff;border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;gap:6px;transition:.2s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 10px rgba(0,0,0,.18)}
body#product .gw-pro:hover .gw-pro-btn{transform:translateY(-1px);box-shadow:0 8px 16px rgba(0,0,0,.25)}
body#product .gw-pro-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
/* — ≥992px : sidebar étroite (270-314px) → bouton PRO sous le texte, sinon illisible — */
@media (min-width:992px){
  body#product .gw-pro{flex-wrap:wrap}
  body#product .gw-pro-txt{flex:1 1 auto}
  body#product .gw-pro-btn{width:100%;margin:10px 0 0;justify-content:center}
}
/* — ≤560px : même repli sur mobile — */
@media (max-width:560px){
  body#product .gw-pro{flex-wrap:wrap}
  body#product .gw-pro-txt{flex:1 1 auto}
  body#product .gw-pro-btn{width:100%;margin:10px 0 0;justify-content:center}
}

/* — natifs masqués (remplacés par la pill / la carte livraison) — */
body#product #last_quantities{display:none!important}
body#product #pQuantityAvailable{display:none!important}

/* — buybox finale : contre-règles custom warehouse (2 IDs + !important) — */
body#product .gw-dark .content_prices .price #our_price_display{font-size:36px!important;font-weight:400!important;color:#fff!important;letter-spacing:-.01em!important;line-height:1!important}
body#product .gw-dark .content_prices .price .our_price_display{display:inline-flex!important;justify-content:flex-start!important;text-align:left!important;gap:4px!important}
body#product .gw-dark #availability_statut{display:inline-flex!important;text-align:left!important;width:auto!important;margin:0!important}
body#product .gw-dark #availability_statut #availability_value{display:inline!important;font-size:12px!important;text-align:left!important}
body#product .col-sidebar #add_to_cart button.gw-cta .btn-price-display{display:inline!important;visibility:visible!important;width:auto!important;max-width:none!important;overflow:visible!important;opacity:1!important;font-size:15px!important;margin:0!important;padding:0!important}
body#product .gw-actions-row .btn-fav{order:3!important;margin-left:auto!important;width:44px;height:44px}
body#product .gw-actions-row #quantity_wanted_p{order:1!important;flex:0 0 auto!important;max-width:none!important;margin:0!important}
body#product .gw-cta .gw-cta-sub{text-transform:none!important;letter-spacing:0!important}
/* Audit 2026-07 : cette regle annulait le fadeIn de js/product.js et le
   message de date de livraison n'etait jamais visible. Conserve masque
   uniquement quand le bloc est vide. */
body#product #shipping_date_hook:empty{display:none!important}
body#product .gw-ship .oa-eyebrow::before{display:none!important;content:none!important}
body#product .gw-dark .v4-cutoff svg,body#product .gw-dark .v4-cutoff svg *{fill:none!important;stroke:#8ed04e}
body#product .col-sidebar.buy>form#buy_block{order:0!important}
body#product .col-sidebar.buy .gw-pro{order:9!important}
body#product .gw-actions #add_to_cart{width:100%!important;display:block!important;float:none!important;max-width:none!important}
body#product #add_to_cart button.gw-cta{width:100%!important;max-width:none!important;min-height:62px!important}
body#product .gw-cta .btn-content{gap:7px!important;display:flex!important}
body#product .gw-ship .oa-eyebrow::before,body#product .gw-ship .oa-eyebrow span::before{display:none!important;content:none!important}
body#product .gw-cta .btn-content svg{display:inline-block!important;width:17px!important;height:17px!important;fill:none!important}
body#product .gw-dark #availability_statut #availability_value{padding:0!important;line-height:1.2!important}
body#product .add_to_cart_container .gw-actions{width:100%!important;max-width:none!important;margin:0!important}
body#product .gw-actions-row #quantity_wanted_p{border:0!important}
/* buybox = carte : restaurer le padding interne (battu par .pgv-b .product-grid>.col-sidebar{padding:0!important}) */
.pgv-b .product-grid>.col-sidebar.buy{padding:18px 18px 20px!important}

/* Séparateurs low-poly des bandes violettes = divs dédiés avec le SVG facetté EXACT de la maquette
   (le pseudo ::before est confisqué par le warehouse — barre d'accent 3px — donc on passe par de vrais divs) */
body#product #reviewsTab.sep--brand{overflow:visible!important;position:relative;z-index:3}
body#product #reviewsTab.sep--brand>.gw-lp{position:absolute;left:0;right:0;height:clamp(34px,3.4vw,48px);z-index:1;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat}
body#product #reviewsTab.sep--brand>.gw-lp-top{top:calc(-1 * clamp(34px,3.4vw,48px) + 1px);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%2060%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20points%3D%270.0%2C60%20102.9%2C60%200.0%2C6%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27102.9%2C60%20102.9%2C27%200.0%2C6%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27102.9%2C60%20205.7%2C60%20102.9%2C27%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27205.7%2C60%20205.7%2C13%20102.9%2C27%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27205.7%2C60%20308.6%2C60%20205.7%2C13%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27308.6%2C60%20308.6%2C33%20205.7%2C13%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27308.6%2C60%20411.4%2C60%20308.6%2C33%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27411.4%2C60%20411.4%2C9%20308.6%2C33%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27411.4%2C60%20514.3%2C60%20411.4%2C9%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27514.3%2C60%20514.3%2C24%20411.4%2C9%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27514.3%2C60%20617.1%2C60%20514.3%2C24%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27617.1%2C60%20617.1%2C4%20514.3%2C24%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27617.1%2C60%20720.0%2C60%20617.1%2C4%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27720.0%2C60%20720.0%2C30%20617.1%2C4%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27720.0%2C60%20822.9%2C60%20720.0%2C30%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27822.9%2C60%20822.9%2C16%20720.0%2C30%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27822.9%2C60%20925.7%2C60%20822.9%2C16%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27925.7%2C60%20925.7%2C28%20822.9%2C16%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27925.7%2C60%201028.6%2C60%20925.7%2C28%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271028.6%2C60%201028.6%2C8%20925.7%2C28%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271028.6%2C60%201131.4%2C60%201028.6%2C8%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271131.4%2C60%201131.4%2C22%201028.6%2C8%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%271131.4%2C60%201234.3%2C60%201131.4%2C22%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%271234.3%2C60%201234.3%2C12%201131.4%2C22%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271234.3%2C60%201337.1%2C60%201234.3%2C12%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271337.1%2C60%201337.1%2C31%201234.3%2C12%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271337.1%2C60%201440.0%2C60%201337.1%2C31%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271440.0%2C60%201440.0%2C7%201337.1%2C31%27%20fill%3D%27%234a1574%27/%3E%3Cpolyline%20points%3D%270.0%2C6%20102.9%2C27%20205.7%2C13%20308.6%2C33%20411.4%2C9%20514.3%2C24%20617.1%2C4%20720.0%2C30%20822.9%2C16%20925.7%2C28%201028.6%2C8%201131.4%2C22%201234.3%2C12%201337.1%2C31%201440.0%2C7%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%276%27%20opacity%3D%27.18%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolyline%20points%3D%270.0%2C6%20102.9%2C27%20205.7%2C13%20308.6%2C33%20411.4%2C9%20514.3%2C24%20617.1%2C4%20720.0%2C30%20822.9%2C16%20925.7%2C28%201028.6%2C8%201131.4%2C22%201234.3%2C12%201337.1%2C31%201440.0%2C7%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%272.4%27%20opacity%3D%27.95%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E")}
body#product #reviewsTab.sep--brand>.gw-lp-bot{bottom:calc(-1 * clamp(34px,3.4vw,48px) + 1px);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%2060%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20points%3D%270.0%2C0%20102.9%2C0%200.0%2C54%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27102.9%2C0%20102.9%2C33%200.0%2C54%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27102.9%2C0%20205.7%2C0%20102.9%2C33%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27205.7%2C0%20205.7%2C47%20102.9%2C33%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27205.7%2C0%20308.6%2C0%20205.7%2C47%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27308.6%2C0%20308.6%2C27%20205.7%2C47%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27308.6%2C0%20411.4%2C0%20308.6%2C27%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27411.4%2C0%20411.4%2C51%20308.6%2C27%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27411.4%2C0%20514.3%2C0%20411.4%2C51%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27514.3%2C0%20514.3%2C36%20411.4%2C51%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27514.3%2C0%20617.1%2C0%20514.3%2C36%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27617.1%2C0%20617.1%2C56%20514.3%2C36%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27617.1%2C0%20720.0%2C0%20617.1%2C56%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27720.0%2C0%20720.0%2C30%20617.1%2C56%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27720.0%2C0%20822.9%2C0%20720.0%2C30%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27822.9%2C0%20822.9%2C44%20720.0%2C30%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27822.9%2C0%20925.7%2C0%20822.9%2C44%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27925.7%2C0%20925.7%2C32%20822.9%2C44%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27925.7%2C0%201028.6%2C0%20925.7%2C32%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271028.6%2C0%201028.6%2C52%20925.7%2C32%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271028.6%2C0%201131.4%2C0%201028.6%2C52%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271131.4%2C0%201131.4%2C38%201028.6%2C52%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%271131.4%2C0%201234.3%2C0%201131.4%2C38%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%271234.3%2C0%201234.3%2C48%201131.4%2C38%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271234.3%2C0%201337.1%2C0%201234.3%2C48%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271337.1%2C0%201337.1%2C29%201234.3%2C48%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271337.1%2C0%201440.0%2C0%201337.1%2C29%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271440.0%2C0%201440.0%2C53%201337.1%2C29%27%20fill%3D%27%23230642%27/%3E%3Cpolyline%20points%3D%270.0%2C54%20102.9%2C33%20205.7%2C47%20308.6%2C27%20411.4%2C51%20514.3%2C36%20617.1%2C56%20720.0%2C30%20822.9%2C44%20925.7%2C32%201028.6%2C52%201131.4%2C38%201234.3%2C48%201337.1%2C29%201440.0%2C53%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%276%27%20opacity%3D%27.18%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolyline%20points%3D%270.0%2C54%20102.9%2C33%20205.7%2C47%20308.6%2C27%20411.4%2C51%20514.3%2C36%20617.1%2C56%20720.0%2C30%20822.9%2C44%20925.7%2C32%201028.6%2C52%201131.4%2C38%201234.3%2C48%201337.1%2C29%201440.0%2C53%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%272.4%27%20opacity%3D%27.95%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E")}
/* la barre d'accent 3px warehouse sur ces sections : neutralisée */
body#product #reviewsTab.sep--brand::before{display:none!important}
/* bande packs ap5 : mêmes dividers low-poly (divs injectés par JS) */




body#product #ap5-page-product-box::before{display:none!important}

/* largeur contenu des sections = alignée EXACTEMENT sur la box du haut (product-grid : min(100vw-80,1570), centrée) */
body#product #center_column section.sep>.wrap{max-width:var(--gw-wrap,min(90%,1600px))!important;width:auto!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
/* Gouttiere rattrapee sous 1100px, comme #header .container. Remplace le
   width:calc(100% - 80px) qui donnait aux bandes de la fiche une troisieme
   largeur, ni celle de l'en-tete ni celle des pages categorie. */
@media(max-width:1100px){body#product #center_column section.sep>.wrap{padding-left:14px!important;padding-right:14px!important}}

/* ÉCONOMIE remise : badge visible sous le prix dans le bloc encre (déplacé du bas) */
body#product .gw-dark .gw-save{position:relative;z-index:1;margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body#product .gw-dark .gw-save-badge{font-family:'Russo One',sans-serif;font-weight:400;font-size:15px;line-height:1;letter-spacing:.01em;color:#fff;background:linear-gradient(100deg,#ff4d94,#c81e6a);border-radius:9px;padding:7px 11px 6px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 5px 14px rgba(200,30,106,.45)}
body#product .gw-dark .gw-save-txt{font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:#e6dcf5;white-space:nowrap}
body#product .gw-dark .gw-save-txt b{color:#ffd97a;font-weight:800;font-size:15px;margin-left:2px}

/* AUDIT FIX : specs en 2 colonnes (remplit la largeur au lieu de laisser le côté droit vide) */
body#product #featuresTab .spectable{max-width:none!important;width:100%;display:block;background:none;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}
body#product #featuresTab .spectable tbody{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;row-gap:0}
body#product #featuresTab .spectable tr{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:13px 6px 13px 16px;border-bottom:1px solid rgba(43,0,79,.10);background:none!important}
body#product #featuresTab .spectable th,body#product #featuresTab .spectable td{padding:0;border:0;width:auto}
body#product #featuresTab .spectable th{flex:0 1 auto;font-size:13.5px;color:#6d6480}
body#product #featuresTab .spectable td{flex:0 0 auto;text-align:right;color:#2B004F}
body#product #featuresTab .spectable th::before{display:none!important}
@media(max-width:760px){body#product #featuresTab .spectable tbody{grid-template-columns:1fr;column-gap:0}}

/* AUDIT FIX : description remplit mieux la largeur (moins de vide à droite) */
body#product #descriptionTab .gw-longdesc{max-width:none!important}

/* avis 0 : état vide « Soyez le premier » (remplace 0,0/5) */
body#product #reviewsTab .kv-summary--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}
body#product #reviewsTab .kv-noreviews{display:flex;flex-direction:column;align-items:center;gap:12px}
body#product #reviewsTab .kv-noreviews .kv-stars--empty{font-size:28px;opacity:.5}
body#product #reviewsTab .kv-noreviews-txt{margin:0;font-family:'Poppins',sans-serif;font-size:15px;line-height:1.55;color:#cbbfdd}
body#product #reviewsTab .kv-noreviews-txt b{display:block;color:#fff;font-size:19px;margin-bottom:2px}

/* Décompte fin de promo dans le bloc encre (override iqitcountdown, FR + E4) */
body#product .gw-dark .gw-promo-zone{position:relative;z-index:1;margin-top:12px}
body#product .gw-dark .gw-countdown{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:9px 12px}
body#product .gw-dark .gw-cd-label{display:inline-flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;color:#ff8fbb;text-transform:none;letter-spacing:0}
body#product .gw-dark .gw-cd-label svg{width:15px;height:15px;flex:none;stroke:#ff8fbb}
body#product .gw-dark .gw-cd-timer{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-variant-numeric:tabular-nums}
body#product .gw-dark .gw-cd-timer .countdown-time-group{display:inline-flex;align-items:center;gap:4px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;color:#cbbfdd}
body#product .gw-dark .gw-cd-timer .countdown-time{font-family:'Russo One',sans-serif;font-size:14px;line-height:1;color:#2B004F;background:linear-gradient(100deg,#ffc53d,#f2a114);border-radius:6px;padding:4px 6px 3px;display:inline-block;min-width:24px;text-align:center;box-shadow:0 2px 6px rgba(242,161,20,.3)}
/* sous-nav MINIMAL (rail souligné) : underline dégradé actif + badges actifs */
body#product .v3-subnav-in a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:0;background:linear-gradient(100deg,#7BBF3F 0%,#5e9a2a 42%,#7E1E57 100%);transform:scaleX(0);transform-origin:center;transition:transform .28s cubic-bezier(.22,1,.36,1)!important;pointer-events:none}
body#product .v3-subnav-in a.is-active::after{transform:scaleX(1)}
body#product .v3-subnav-in a.is-active .sn-b{color:#0f2b00;background:linear-gradient(100deg,#a5e06b,#7BBF3F)}
body#product .v3-subnav-in a.is-active .sn-b--gold{color:#2B004F;background:linear-gradient(100deg,#ffc53d,#f2a114)}

/* ═══ SOUVENT ACHETÉS ENSEMBLE (bundle FBT) — barre kit compacte, thème clair (E2 light) ═══ */
body#product .gw-fbt-wrap{margin:22px 0 8px}
body#product .gw-fbt{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #ece5f2;border-radius:14px;box-shadow:0 10px 24px rgba(43,0,79,.07);padding:12px 16px;color:#4f4760}
body#product .gw-fbt-id{display:flex;flex-direction:column;gap:4px;line-height:1.25;flex:none;max-width:150px}
body#product .gw-fbt-id b{font-family:'Russo One',sans-serif;font-weight:400;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;color:#2B004F}
body#product .gw-fbt-count{font-size:10px;color:#6d6480;white-space:nowrap}
body#product .gw-fbt-strip{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;padding:6px 2px;scrollbar-width:none;-ms-overflow-style:none}
body#product .gw-fbt-strip::-webkit-scrollbar{display:none;width:0;height:0}
body#product .gw-fbt-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none;width:92px;text-align:center}
body#product .gw-fbt-plus{font-size:15px;font-weight:300;color:#a99fbb;flex:none;align-self:center;margin-bottom:26px}
body#product .gw-fbt-th{width:56px;height:56px;border-radius:50%;border:2px solid #7BBF3F;background:#faf8fd;overflow:hidden;display:grid;place-items:center;transition:.15s}
body#product .gw-fbt-th img{width:100%;height:100%;object-fit:contain}
/* vignette accessoire entière cliquable (toggle) ; le thème enrobe l'input dans
   .checker (jquery.uniform) → neutralisation du skin comme sur l'ancien .gw-fbt-check */
body#product .gw-fbt-toggle{position:relative;display:block;cursor:pointer;margin:0}
body#product .gw-fbt-toggle>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:3}
body#product .gw-fbt-toggle .checker{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:0!important;background:none!important;opacity:0;z-index:3;cursor:pointer}
body#product .gw-fbt-toggle .checker span,
body#product .gw-fbt-toggle .checker input{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;opacity:0;cursor:pointer;display:block}
body#product .gw-fbt-ck{position:absolute;top:-3px;right:-3px;width:18px;height:18px;border-radius:50%;background:linear-gradient(100deg,#8ed04e,#5e9a2a);border:1.5px solid transparent;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.4);transition:.15s;z-index:1;pointer-events:none;color:#fff}
body#product .gw-fbt-ck svg{width:10px;height:10px;stroke:#fff;transition:.15s}
body#product .gw-fbt-acc.is-off .gw-fbt-th{border-color:#cdbfe2;filter:grayscale(1);opacity:.55}
body#product .gw-fbt-acc.is-off .gw-fbt-ck{background:#fff;border-color:#cdbfe2;box-shadow:none}
body#product .gw-fbt-acc.is-off .gw-fbt-ck svg{opacity:0}
body#product .gw-fbt-nm{font-family:'Poppins',sans-serif;font-size:10px;font-weight:600;color:#4f4760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:88px;text-decoration:none}
body#product a.gw-fbt-nm:hover{color:#2B004F;text-decoration:underline}
body#product .gw-fbt-acc.is-off .gw-fbt-nm,body#product .gw-fbt-acc.is-off .gw-fbt-p{opacity:.5}
body#product .gw-fbt-p{font-family:'Poppins',sans-serif;font-size:10.5px;font-weight:700;color:#2B004F;line-height:1.2}
body#product .gw-fbt-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
body#product .gw-fbt-cta{display:inline-flex!important;align-items:center;gap:9px;height:40px;padding:0 16px;border-radius:10px;border:0;cursor:pointer;background:linear-gradient(100deg,#ffc53d,#f2a114)!important;color:#2B004F!important;font-family:'Poppins',sans-serif;font-weight:800;font-size:12.5px;box-shadow:0 6px 16px rgba(242,161,20,.35);transition:.2s cubic-bezier(.22,1,.36,1);text-transform:none}
body#product .gw-fbt-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(242,161,20,.45)}
body#product .gw-fbt-cta.is-loading{opacity:.7;pointer-events:none}
body#product .gw-fbt-cta svg{width:16px;height:16px;flex:none}
body#product .gw-fbt-cta b{font-family:'Russo One',sans-serif;font-weight:400;font-size:14px;letter-spacing:.01em}
body#product .gw-fbt-add{display:none!important}
@media (max-width:900px){
  body#product .gw-fbt{flex-wrap:wrap;gap:10px 12px}
  body#product .gw-fbt-id{max-width:none}
  body#product .gw-fbt-end{order:2;margin-left:auto}
  body#product .gw-fbt-strip{order:3;flex:1 1 100%}
}

/* ═══ Façade vidéo YouTube (perf : poster léger, player au clic) ═══ */
body#product .gw-ytf{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;cursor:pointer;background:#0a0a0a;box-shadow:0 8px 22px rgba(43,0,79,.14)}
body#product .gw-ytf-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
body#product .gw-ytf::after{content:"";position:absolute;inset:0;background:rgba(20,0,40,.16);transition:.2s;pointer-events:none}
body#product .gw-ytf:hover::after{background:rgba(20,0,40,.04)}
body#product .gw-ytf-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:13px;background:linear-gradient(100deg,#ffc53d,#f2a114);display:grid;place-items:center;z-index:2;transition:transform .2s cubic-bezier(.22,1,.36,1);box-shadow:0 6px 16px rgba(0,0,0,.42)}
body#product .gw-ytf:hover .gw-ytf-play{transform:translate(-50%,-50%) scale(1.09)}
body#product .gw-ytf-play::before{content:"";width:0;height:0;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #2B004F;margin-left:4px}
body#product .gw-ytf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* fond violet plein + vagues : texte clair */
.v4-trust{color:#fff}
.v4-trust .oa-guar-ic{background:rgba(255,255,255,.1) !important;border-color:rgba(123,191,63,.4) !important;color:#9bd968 !important}
.v4-trust .oa-guar-t{color:#fff !important}
.v4-trust .oa-guar-d{color:rgba(255,255,255,.62) !important}

/* Description longue : box blanche (au lieu de texte flottant sur fond lilas de la section) */
.gw-longdesc{background:#fff !important;border:1px solid rgba(43,0,79,.10);border-radius:16px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05);padding:clamp(20px,3vw,32px)}
.gw-longdesc h2:first-child{margin-top:0}

/* ═══════════════════════════════════════════════════════════════
   ap5-page-product-box (Advanced Pack) — layout "V2 économies"
   (choisi parmi 4 maquettes). Markup restructuré dans le tpl module
   (front/1.6/product-footer-pack-list.tpl) : 2 colonnes, liste
   détaillée à gauche + panneau économies encre à droite.
   ═══════════════════════════════════════════════════════════════ */
body#product #ap5-page-product-box{padding:clamp(28px,3.4vw,44px) max(24px,calc((100vw - 1570px)/2))!important}

body#product #ap5-page-product-box .gw-pack-head{margin:0 0 18px!important}
body#product #ap5-page-product-box .ap5-product-footer-pack-container{padding:0!important;margin-bottom:18px!important;overflow:hidden;display:grid!important;grid-template-columns:1.3fr 1fr}
@media(max-width:820px){body#product #ap5-page-product-box .ap5-product-footer-pack-container{grid-template-columns:1fr}}

.gw-pv2-left{padding:22px 24px;border-right:1px solid rgba(43,0,79,.1)}
@media(max-width:820px){.gw-pv2-left{border-right:0;border-bottom:1px solid rgba(43,0,79,.1)}}
.gw-pv2-eyebrow{font-family:'Poppins',sans-serif;font-weight:800;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7E1E57}
.gw-pv2-title{font-family:'Poppins',sans-serif;font-weight:800;font-size:16px;color:#2B004F;margin:4px 0 14px!important}
.gw-pv2-title a{color:inherit;text-decoration:none}
.gw-pv2-cat{font-weight:400;font-style:italic;font-size:13px;color:#6d6480}
.gw-pv2-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(43,0,79,.1)}
.gw-pv2-row.gw-pv2-subtotal{border-bottom:0;padding-top:12px}
.gw-pv2-thumb{width:42px;height:42px;border-radius:10px;background:linear-gradient(160deg,#f8f5fd,#ece3f7);flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gw-pv2-thumb img{max-width:100%;max-height:100%;mix-blend-mode:multiply}
.gw-pv2-row-name{flex:1;font-family:'Inter',sans-serif;font-weight:600;font-size:12.5px;color:#2B004F;min-width:0}
.gw-pv2-row-name a{color:inherit;text-decoration:none}
.gw-pv2-row-name small{display:block;font-weight:400;color:#6d6480;font-size:10.5px}
.gw-pv2-row-price{font-family:'Poppins',sans-serif;font-weight:700;font-size:12.5px;color:#6d6480;white-space:nowrap}
.gw-pv2-subtotal .gw-pv2-row-name{font-weight:800;color:#2B004F}
.gw-pv2-subtotal .gw-pv2-row-price{color:#2B004F}

.gw-pv2-right{background:linear-gradient(150deg,#2c0850,#160029);color:#fff;padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.gw-pv2-save-tag{align-self:flex-start;background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F;font-family:'Poppins',sans-serif;font-weight:800;font-size:11px;border-radius:99px;padding:5px 12px}
.gw-pv2-save-amount{font-family:'Russo One',sans-serif;font-size:30px;line-height:1}
.gw-pv2-save-sub{font-size:12px;color:rgba(255,255,255,.6);margin-top:-6px}
.gw-pv2-divider{height:1px;background:rgba(255,255,255,.14)}
.gw-pv2-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.gw-pv2-total-row .lbl{font-family:'Inter',sans-serif;font-size:12.5px;color:rgba(255,255,255,.7)}
.gw-pv2-total-row .old{font-size:13px;color:rgba(255,255,255,.45);text-decoration:line-through}
.gw-pv2-total-row .now{font-family:'Russo One',sans-serif;font-size:20px}
body#product #ap5-page-product-box .gw-pv2-cta{display:block;text-align:center;width:100%;background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F!important;font-family:'Poppins',sans-serif;font-weight:800;font-size:13.5px;border:0;border-radius:11px;padding:13px;cursor:pointer;margin-top:4px;text-decoration:none!important}
body#product #ap5-page-product-box .gw-pv2-cta2{display:block;text-align:center;width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff!important;font-family:'Poppins',sans-serif;font-weight:700;font-size:12px;border-radius:11px;padding:10px;cursor:pointer;text-decoration:none!important}

/* ═══ P4 (15/07) — promesse de livraison (buybox encre) + 4e état pill ═══ */
body#product .gw-dark .gw-promise{display:flex;align-items:center;gap:10px;margin:10px 0 2px;
  padding:10px 14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;
  background:rgba(255,255,255,.06);color:#efe6f9;font-size:13px;line-height:1.45}
body#product .gw-dark .gw-promise svg{width:19px;height:19px;flex:none;color:var(--gw-green-300)}
body#product .gw-dark .gw-promise b{color:var(--gw-green-300);font-weight:700}
body#product .gw-stock.gw-off{color:#d9cfe8;background:rgba(255,255,255,.08)!important;
  border:1px dashed rgba(255,255,255,.35)}
body#product .gw-stock.gw-off .gw-stock-dot{background:#9a8ab0;animation:none}

/* ═══ P4.1 (15/07) — micro-animation stock (grammaire ADN « la lumière
   répond ») : ping radar sur le point (remplace le blink gwpulse) + entrée
   pop unique du pill et de la promesse. Coût ~0 (box-shadow/transform sur
   7px), coupé net par le contrat prefers-reduced-motion global. ═══ */
@keyframes gw-ping-ok{0%{box-shadow:0 0 0 0 rgba(43,0,79,.40)}75%,100%{box-shadow:0 0 0 8px rgba(43,0,79,0)}}
@keyframes gw-ping-low{0%{box-shadow:0 0 0 0 rgba(74,40,0,.45)}75%,100%{box-shadow:0 0 0 8px rgba(74,40,0,0)}}
@keyframes gw-pill-in{from{opacity:0;transform:scale(.9) translateY(3px)}}
body#product .gw-stock{animation:gw-pill-in var(--gw-dur-3) var(--gw-ease-pop) both}
body#product .gw-stock.gw-ok .gw-stock-dot{animation:gw-ping-ok 2.2s var(--gw-ease-out) infinite}
body#product .gw-stock.gw-low .gw-stock-dot{animation:gw-ping-low 1.8s var(--gw-ease-out) infinite}
body#product .gw-stock.gw-oos .gw-stock-dot,
body#product .gw-stock.gw-off .gw-stock-dot{animation:none}
body#product .gw-dark .gw-promise{animation:gw-pill-in var(--gw-dur-3) var(--gw-ease-pop) .1s both}

/* --- Audit 2026-07 : le widget de consentement (sd-cmp) recouvrait le bouton
   « Ajouter au panier » de la barre collante mobile, à 47 % et en son centre.
   On remonte le widget au-dessus de la barre et on passe la barre au premier plan. --- */
@media (max-width: 767px) {
  body#product .pgc-bar {
    z-index: 1000000;
  }
  body#product div[class*="sd-cmp-"][style*="position: fixed"],
  body#product div[class*="sd-cmp-nkWFW"] {
    bottom: 96px !important;
  }
}

/* --- Audit 2026-07 : la barre d'onglets defile horizontalement (614px de
   contenu pour 390px de large) mais la barre de defilement etait masquee.
   Rien n'indiquait au visiteur qu'il pouvait faire glisser : les onglets
   au-dela du troisieme etaient invisibles en pratique.
   On ajoute un degrade de fondu a droite qui signale la suite. --- */
@media (max-width: 767px) {
  body#product .v3-subnav::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 42px;
    pointer-events: none;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.96));
    z-index: 2;
  }
}

/* --- Audit 2026-07 : une regle sans media query (ajoutee lors de la refonte
   des avis) ecrasait, par simple ordre de cascade, la disposition mobile
   prevue plus haut dans le fichier. La colonne de la note s'effondrait a 0px
   sous 900px de large. --- */
@media (max-width: 900px) {
  .kv-summary {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .kv-score {
    min-width: auto;
  }
}

/* --- Audit 2026-07 : la miniature de la barre d'achat etait rendue en 22x34
   au lieu du carre 34x34 demande. La regle `body#product .pgc-bar-thumb
   img{width:34px;height:34px}` (ligne ~330) fixait bien le carre, mais le
   `img{max-width:100%}` global plafonnait la largeur a la boite de contenu
   du conteneur (34px - 2x5px de padding - 2x1px de bordure = 22px), sans
   plafond equivalent en hauteur : 22x34, ratio deforme. max-width:none
   leve le plafond, object-fit:cover remplit le carre sans distorsion. --- */
body#product .pgc-bar-thumb img {
  width: 34px;
  height: 34px;
  max-width: none;
  object-fit: cover;
}

/* --- Audit 2026-07 (reprise G3) : le cadre .pgc-bar-thumb garde un padding de
   5px (+ bordure 1px), donc l'img 34x34 est decalée de 6px et rognée
   asymetriquement par overflow:hidden (bande blanche haut/gauche). padding:0
   laisse l'img remplir exactement le cadre ; border-radius + overflow:hidden
   conserves. --- */
body#product .pgc-bar-thumb {
  padding: 0;
}


/* ═══ Finition « Signature » (08/2026) — déclinaison fiche produit ═══
   1) Carte « Vous aimerez aussi » (related-grid) : la patte commune se limite au
      liseré clé — le reste de la carte est validé tel quel.
   2) Bloc « Complétez votre installation » (#blockpack) : il inclut product-list.tpl,
      dont les styles vivent dans e4-categorie.css, NON chargée sur la fiche — ce bloc
      reprend donc l'essentiel de la carte listing Signature, scopé #blockpack. */
.related-grid .pcard{position:relative}
.related-grid .pcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:4;
  background:var(--gw-grad-key);opacity:.55;transition:opacity .25s}
.related-grid .pcard:hover::before{opacity:1}

#blockpack .pcard{position:relative;background:#fff;border:1px solid rgba(43,0,79,.10);border-radius:var(--gw-r-lg);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05)}
#blockpack .pcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:4;
  background:var(--gw-grad-key);opacity:.55;transition:opacity .25s}
#blockpack .pcard:hover::before{opacity:1}
#blockpack .pcard-media{display:block;background:#fff;border-bottom:1px solid rgba(43,0,79,.10);border-radius:0}
#blockpack .pcard-media img{aspect-ratio:1/1;width:100%;height:auto;object-fit:contain}
#blockpack .pcard-body{display:flex;flex-direction:column;gap:5px;padding:12px 13px 13px;flex:1}
#blockpack .pcard-row1{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
#blockpack .pcard-brand{font-size:9.5px;letter-spacing:1.1px;color:var(--gw-magenta-500)}
#blockpack .pcard-name{margin:0;font-size:13.5px;min-height:2.7em}
#blockpack .pcard-stock{display:flex;align-items:center;gap:5px;font-family:'Poppins',sans-serif;font-weight:700;font-size:10.5px;color:#3f6f1c}
#blockpack .pcard-stock .dot{width:6px;height:6px;border-radius:50%;background:var(--gw-green-500);box-shadow:0 0 5px rgba(123,191,63,.6)}
#blockpack .pcard-stock--out{color:var(--gw-warn-fg)}
#blockpack .pcard-stock--out .dot{background:var(--gw-gold-500);box-shadow:0 0 5px rgba(242,161,20,.6)}
#blockpack .pcard-foot{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:10px;border-top:1px solid var(--gw-n150)}
#blockpack .pcard-prices{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;width:100%}
#blockpack .pcard-price{font-family:'Russo One',sans-serif;font-size:20px;color:#2B004F;font-style:italic;
  transform:skewX(-5deg);display:inline-block;font-variant-numeric:tabular-nums;line-height:1}
#blockpack .pcard-price sup{font-size:12px;vertical-align:5px}
#blockpack .pcard-old{font-size:12px;color:#a99fbb;text-decoration:line-through}
#blockpack .pcard-alma{margin-left:auto;font-family:'Poppins',sans-serif;font-weight:500;font-size:10.5px;color:var(--gw-n500);white-space:nowrap}
#blockpack .pcard-actions{display:block}
#blockpack .pcard-atc{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;
  background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F;border:0;border-radius:12px;font-weight:700;
  box-shadow:0 6px 14px rgba(242,161,20,.28)}
#blockpack .pcard-atc:hover{filter:brightness(1.04);color:#2B004F}
#blockpack .pcard-atc svg{width:15px;height:15px}
#blockpack .pcard-arr{width:0;opacity:0;transition:width .22s cubic-bezier(.22,1,.36,1),opacity .18s}
#blockpack .pcard:hover .pcard-arr{width:15px;opacity:1}
#blockpack .pcard-fav-wrap--float{position:absolute;right:10px;top:10px;z-index:3}
#blockpack .pcard-quick{display:none}

/* ═══════════════════════════════════════════════════════════════════════
   FAQ fiche produit — même traitement que la FAQ catégorie. Namespace .gw-pfaq-
   Markup <details> surchargé dans themes/warehouse-e4/modules/ets_faq/.
   Avant : la liste était bridée à 780px et centrée (margin auto) pendant que le
   titre de section et le bouton restaient à gauche — trois bords différents,
   289px d'écart entre le titre et les cartes en 1440.
   ═══════════════════════════════════════════════════════════════════════ */
body#product #questionsTab .gw-pfaq{display:grid;grid-template-columns:1fr;gap:10px;align-items:start;margin:6px 0 0;padding:0}
@media(min-width:1100px){body#product #questionsTab .gw-pfaq{grid-template-columns:1fr 1fr;gap:12px 20px}}

body#product #questionsTab .gw-pfaq-q{background:#fff;border:1px solid rgba(43,0,79,.08);border-radius:14px;
  box-shadow:0 1px 2px rgba(43,0,79,.04);overflow:hidden;transition:.2s cubic-bezier(.22,1,.36,1);list-style:none;margin:0}
body#product #questionsTab .gw-pfaq-q:hover{border-color:rgba(123,191,63,.45);box-shadow:0 2px 6px rgba(43,0,79,.05),0 8px 18px rgba(123,191,63,.10)}
body#product #questionsTab .gw-pfaq-q[open]{border-color:rgba(123,191,63,.55);box-shadow:0 2px 6px rgba(43,0,79,.05),0 10px 24px rgba(43,0,79,.07)}

body#product #questionsTab .gw-pfaq-s{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:14px 16px;cursor:pointer;list-style:none;min-height:44px}
body#product #questionsTab .gw-pfaq-s::-webkit-details-marker{display:none}
body#product #questionsTab .gw-pfaq-s::marker{content:""}
body#product #questionsTab .gw-pfaq-s:focus-visible{outline:2px solid #2B004F;outline-offset:-2px;border-radius:14px}
/* les questions sont des verbatims clients : certaines font six lignes. On plafonne
   à trois lignes tant que la carte est fermée, la question entière revient à l'ouverture. */
body#product #questionsTab .gw-pfaq-lab{font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px;
  line-height:1.45;color:#2B004F;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body#product #questionsTab .gw-pfaq-q[open] .gw-pfaq-lab{-webkit-line-clamp:unset;color:#3f6f1c}

body#product #questionsTab .gw-pfaq-ic{flex:none;position:relative;width:26px;height:26px;border-radius:50%;
  background:rgba(123,191,63,.16);transition:.2s cubic-bezier(.22,1,.36,1);margin-top:1px}
body#product #questionsTab .gw-pfaq-ic::before,
body#product #questionsTab .gw-pfaq-ic::after{content:"";position:absolute;left:50%;top:50%;background:#3f6f1c;border-radius:2px;transition:.2s cubic-bezier(.22,1,.36,1)}
body#product #questionsTab .gw-pfaq-ic::before{width:11px;height:2px;transform:translate(-50%,-50%)}
body#product #questionsTab .gw-pfaq-ic::after{width:2px;height:11px;transform:translate(-50%,-50%)}
body#product #questionsTab .gw-pfaq-q:hover .gw-pfaq-ic{background:rgba(123,191,63,.3)}
body#product #questionsTab .gw-pfaq-q[open] .gw-pfaq-ic{background:#7BBF3F}
body#product #questionsTab .gw-pfaq-q[open] .gw-pfaq-ic::before,
body#product #questionsTab .gw-pfaq-q[open] .gw-pfaq-ic::after{background:#fff}
body#product #questionsTab .gw-pfaq-q[open] .gw-pfaq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}

body#product #questionsTab .gw-pfaq-a{padding:0 16px 16px}
body#product #questionsTab .gw-pfaq-txt{padding-top:13px;border-top:1px solid rgba(43,0,79,.08);
  font-size:14px;line-height:1.65;color:#4f4760;max-width:68ch}
body#product #questionsTab .gw-pfaq-txt p{font-size:14px;color:#4f4760;line-height:1.65;margin:0 0 10px;font-weight:400}
body#product #questionsTab .gw-pfaq-txt p:last-child{margin-bottom:0}
body#product #questionsTab .gw-pfaq-txt a{color:#5e9a2a;text-decoration:underline}
body#product #questionsTab .gw-pfaq-txt ul,body#product #questionsTab .gw-pfaq-txt ol{margin:0 0 10px;padding-left:20px}
body#product #questionsTab .gw-pfaq-txt li{margin-bottom:4px;list-style:inherit}

body#product #questionsTab .gw-pfaq-more{display:block;margin:18px auto 0;min-height:44px;background:none;
  border:1.5px solid rgba(43,0,79,.25);color:#2B004F;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;
  border-radius:12px;padding:11px 20px;cursor:pointer;transition:.15s}
body#product #questionsTab .gw-pfaq-more:hover{border-color:#7BBF3F;background:#f3f9ec}

/* pied de section : même rôle que « Vous ne trouvez pas votre réponse ? » en catégorie */
body#product #questionsTab .gw-pfaq-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  margin-top:clamp(18px,2.2vw,26px);padding-top:16px;border-top:1px solid rgba(43,0,79,.08)}
body#product #questionsTab .gw-pfaq-foot-t{font-size:14px;color:#6b6280}
body#product #questionsTab .gw-pfaq-ask.ask_a_question{min-height:44px;background:none;border:1.5px solid rgba(43,0,79,.25);
  color:#2B004F;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;border-radius:12px;padding:11px 20px;
  cursor:pointer;text-transform:none;transition:.15s;box-shadow:none}
body#product #questionsTab .gw-pfaq-ask.ask_a_question:hover{border-color:#7BBF3F;background:#f3f9ec;color:#2B004F}

@media(prefers-reduced-motion:reduce){body#product #questionsTab .gw-pfaq-q,
body#product #questionsTab .gw-pfaq-ic,body#product #questionsTab .gw-pfaq-ic::before,
body#product #questionsTab .gw-pfaq-ic::after{transition:none}}

/* ═══ Retrait du .container Bootstrap de la page ═══════════════════════════
   .columns-container > .container pose padding:0 15px ; .row.content-inner le
   compense a -10px et #center_column le remet a +10px : net 15px de chaque
   cote. Le 90% de --gw-wrap se calculait donc sur 1410 au lieu de 1440, et tout
   le contenu tombait 14px a droite du bord de l'en-tete. On rend la colonne
   aussi large que la fenetre : le centrage fait le reste, sans unite vw (qui
   compterait la barre de defilement et re-decalerait dans un vrai navigateur).
   Effet de bord assume : .glc-toolbar, qui vivait sur la boite de contenu,
   passe pleine largeur — comme .v4-trust et .pgc-bar le sont deja. */
.columns-container > .container{padding-left:0;padding-right:0}
.row.content-inner{margin-left:0;margin-right:0}
#center_column{padding-left:0;padding-right:0}
@media(max-width:1100px){.wrap,.wrap.pg-a{padding-left:14px;padding-right:14px}}

/* ═══ Passe critique 30/08 (impeccable) — lisibilité & états ═══
   1) La section packs (#ap5-page-product-box) est sombre mais sans .sep--brand :
      son H2 restait encre sur encre (contraste 1.1:1) — même traitement que #reviewsTab. */
body#product #ap5-page-product-box .head h2{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
body#product #ap5-page-product-box .head h2 .kw,body#product #ap5-page-product-box .head h2 .accent{background:linear-gradient(100deg,#8ed04e,#7BBF3F)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
/* 2) Description : justification sans césure = rivières (30 blocs mobiles) ;
      desktop, les lignes montaient à 126 caractères sans max-width. */
body#product .rte{text-align:left!important}
body#product .rte p,body#product .rte li{max-width:72ch}
/* 3) H2 de section : interligne 1.0 illisible dès 2 lignes (390px). */
@media (max-width:767px){body#product #columns #center_column section.sep .head h2,body#product #tabs-zone .sep .head h2,body#product .head h2{line-height:1.15!important}}
/* 4) Alerte réservation : nowrap hérité coupait « réserve ton exem » au mobile. */
#estimated-delivery .edv3-alert-txt{white-space:normal!important}
/* 5) Planchers de lisibilité : cartes déclinaisons 9.5px/3.6:1 et vert 2.9:1. */
#estimated-delivery .edv3-card-price,.col-sidebar #estimated-delivery .edv3-card-price{font-size:11px!important;color:#3f3454!important;hyphens:auto}
#estimated-delivery .edv3-card-tag{color:#3f3454!important}
#estimated-delivery .edv3-card-price strong,.col-sidebar #estimated-delivery .edv3-card-price strong{color:#166534!important}
body#product .table-product-discounts th{color:#595959}
/* 6) Focus clavier : anneau double lisible sur fonds clairs ET sombres. */
body#product a:focus-visible,body#product button:focus-visible,body#product input:focus-visible,body#product select:focus-visible,body#product [tabindex]:focus-visible{outline:2px solid #fff!important;outline-offset:1px;box-shadow:0 0 0 4px #7E1E57!important;border-radius:4px}
/* 7) Mention TTC explicite près du prix (B2C France). */
body#product .gw-ttc{font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;color:#63557a;margin-left:6px;vertical-align:baseline}
/* 8) Le contenu catalogue porte des text-align:justify EN INLINE (éditeur) : seul un
      !important de feuille les bat. Ciblage chirurgical des inline justify. */
body#product .rte [style*="text-align: justify"],body#product .rte [style*="text-align:justify"]{text-align:left!important}
body#product .ybc-blog-related-posts-list .ybc_title_block{text-align:left!important}
/* 9) Avis King-Avis : le texte courait sur 1104px (~90+ caractères/ligne). */
body#product .kv-card-text{max-width:72ch}
/* 10) CTA d'achat : à 15px/15px le libellé sur 2 lignes se chevauchait. */
body#product #add_to_cart .btn,body#product #add_to_cart button{line-height:1.25}
/* 11) Régression de la passe précédente : les titres de packs passés en h3 ont
      hérité l'icône warehouse \f1b2 en ::before, rendue en Poppins → carré vide. */
#ap5-page-product-box .gw-pv2-title::before,#ap5-page-product-box .page-product-heading::before{content:none!important}
/* 12) Sous le stepper : remise étiquetée + total avant la modale ; note de plafond. */
body#product #gwQtyTotal{margin-top:8px;font-family:'Poppins',sans-serif;font-size:13px;color:#2B004F;font-variant-numeric:tabular-nums}
body#product #gwQtyTotal .gw-qt-disc{display:inline-block;background:#EAF3E1;color:#3D6417;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:600;margin:0 2px}
body#product #gwQtyNote{margin-top:6px;font-family:'Poppins',sans-serif;font-size:12px;color:#8a5a00;background:#fef9e3;border:1px dashed #fde68a;border-radius:8px;padding:6px 10px}
/* 12b) Les lignes total/plafond vivent SOUS la rangée d'actions, pleine largeur. */
body#product #gwQtyTotal,body#product #gwQtyNote{flex-basis:100%;width:100%;max-width:100%;white-space:normal}
/* 13) Le badge « 17 » (nb de lignes de specs) se lisait comme un compteur d'avis. */
body#product .v3-subnav a[href="#featuresTab"] .sn-b{display:none}
/* 14) Suffixe /unité près du prix quand la quantité ≥ 2 (le total vit sous le stepper et dans le CTA). */
body#product #gwPerUnit{font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;color:#63557a;margin-left:4px}
/* A2 — pastilles de déclinaison fusionnées au bloc prix (remplace la listbox) */
body#product .gw-dark--fused{border-radius:16px 16px 0 0}
body#product #buy_block > .gw-dark--fused + .gl-adv-zone{margin-top:0}
body#product .gw-dark--fused + .gl-adv-zone .product_attributes{padding-top:0;border-top:0}
body#product .gw-dark--fused .available-box{margin-top:10px}
body#product .combo-tray{display:block!important;background:linear-gradient(150deg,#241050,#150028);border-radius:0 0 16px 16px;padding:11px 13px 9px!important;box-shadow:0 12px 26px rgba(26,0,51,.35);margin:0 0 12px!important;border-bottom:0!important}
body#product .combo-tray .tray-label{margin:0 2px 7px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9d8cc0}
body#product .combo-pills{display:flex;gap:6px;flex-wrap:wrap}
body#product .combo-pill{display:flex;align-items:center;gap:6px;border:2px solid transparent;background:rgba(255,255,255,.95);border-radius:50px;padding:6px 11px;font-family:inherit;font-size:12.5px;cursor:pointer;transition:all .15s}
body#product .combo-pill:hover{border-color:rgba(123,191,63,.7)}
body#product .combo-pill.sel{background:#e9f7da;border-color:#7BBF3F;box-shadow:0 0 0 1px #7BBF3F}
body#product .combo-pill .nm{font-weight:700;color:#2B004F}
body#product .combo-pill .pr{color:#6d6480;font-size:11.5px}
body#product .combo-pill.sel .pr{color:#3f6f1c;font-weight:700}
body#product .combo-pill.oos{opacity:.55}
body#product .combo-tray .pill-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 0;font-size:10.5px;color:#cdbfe2;line-height:1.4}
body#product .pill-info .sep{color:#6b5a8a}
body#product .pill-info-stock{display:inline-flex;align-items:center;gap:5px;font-weight:600}
body#product .pill-info-stock.in-stock{color:#a7e06b}
body#product .pill-info-stock.shipping{color:#f5b96a}
body#product .pill-info-stock.out-of-stock{color:#f08a7d}
body#product .pill-info-ref{color:#8f7db0}
body#product .gw-dark--fused .available-box .shippingdate-message p{color:#cdbfe2}
body#product .gw-dark--fused .available-box .shippingdate-message strong{color:#a7e06b!important;font-weight:600!important}
/* Espace PRO — lien discret premium (maquette D, vouvoiement) */
body#product .gw-pro-min{padding:13px 2px 2px;border-top:1px solid rgba(43,0,79,.10);margin-top:14px}
body#product .gw-pro-min-link{display:flex;align-items:baseline;gap:8px;font-size:12.5px;font-weight:700;color:#2B004F;text-decoration:none}
body#product .gw-pro-min-link:hover{color:#7E1E57}
body#product .gw-pro-min-link .arr{color:#7E1E57;font-weight:700}
body#product .gw-pro-min-serv{margin:7px 0 0;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a79dbc}
body#product .gw-pro-min-serv i{font-style:normal;color:#d5cde0;padding:0 3px}

/* ── prod-header V2 : rail signature + méta consolidée (desktop — masqué en mobile, hero overlay) ── */
@media (min-width:768px){
.prod-header{position:relative;padding-left:20px}
.prod-header::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:2px;background:linear-gradient(175deg,#7BBF3F 0%,#5e9a2a 45%,#7E1E57 100%);box-shadow:0 0 8px rgba(123,191,63,.30)}
}
.buy-brand a{color:inherit}
.buy-brand a:hover{color:#5a1540}
.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-bottom:10px}
.prod-header .product-actions-modern{margin-top:0;padding:2px 0}
.hero-meta .product-rating-hero{margin-bottom:0;padding:0}
.hero-meta .hero-sep{color:#c4b8d6;font-weight:600}
.hero-meta .hero-ref{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:12px;color:#6b5c85}

/* --- Audit 2026-09 (UX-MOB-001) : la barre d'achat collante porte z-index 1000000
   pour passer devant le widget de consentement ; elle restait donc aussi devant la
   modale de confirmation d'ajout au panier (#layer_cart, z-index 9999). Un tap dans
   les 57 px du bas atteignait #pgcBarCart et ajoutait une seconde unité au panier.
   On neutralise la barre tant que la modale est ouverte, sans toucher au z-index ni
   à la logique d'affichage existante. --- */
body#product .pgc-bar.gw-modale-ouverte {
  display: none !important;
}

/* ══ Academy : déplacé le 18/09/2026 dans la colonne d'achat, sous « Espace Pro »
   -- même traitement discret (lien + ligne de service), plus l'encart vert du
   haut de fiche. Règles calquées sur .gw-pro-min. ══ */
body#product .gw-academy-fiche{padding:13px 2px 2px;border-top:1px solid rgba(43,0,79,.10);margin-top:14px}
body#product .gw-academy-fiche-link{display:flex;align-items:baseline;gap:8px;font-size:12.5px;font-weight:700;color:#2B004F;text-decoration:none}
body#product .gw-academy-fiche-link:hover{color:#7E1E57}
body#product .gw-academy-fiche-link .arr{color:#7E1E57;font-weight:700}
body#product .gw-academy-fiche-serv{margin:7px 0 0;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a79dbc}
body#product .gw-academy-fiche-serv i{font-style:normal;color:#d5cde0;padding:0 3px}

/* ============================================================================
   Audit 2026-09-04 — contrastes de la fiche produit.

   UX-DSK-006 : les 9 étiquettes de caractéristiques (.growled-dashboard-item,
   fond #8DC291) portaient un libellé blanc à 2,05:1 et une valeur #4F4760 à
   4,27:1 — sous le seuil AA de 4,5:1, sur les données d'achat du produit
   (dimensions, charge maximale, ventilation). Le fond reste la couleur de la
   marque ; c'est le texte qui passe à l'encre verte : 7,02:1.

   UX-DSK-005 : le badge Click & Collect (.edv3-card-tag.cc-tag, 150 px) était
   posé en absolu sur une carte de 88 px : débordement de 31 px hors de
   .edv3-cards et chevauchement 20x20 px du badge EXPRESS. Le fond #22c55e
   donnait par ailleurs 2,28:1 avec du blanc. Le libellé est raccourci dans
   js/custom-product.js ; ici on borne la largeur et on fonce le fond (7,13:1).
   ========================================================================== */
.growled-dashboard-item .label,
.growled-dashboard-item .value{color:#123018!important}

/* Spécificité obligatoire : le thème pose
   `#estimated-delivery .edv3-card.free .edv3-card-tag{background:#22c55e!important}`
   et `#estimated-delivery .edv3-card-tag{max-width:none!important;overflow:visible!important}` — il
   faut au moins un id pour passer devant. */
#estimated-delivery .edv3-card.free .edv3-card-tag.cc-tag,
#estimated-delivery .edv3-card-tag.cc-tag{
  background:#166534!important;
  background-image:none!important;
  max-width:calc(100% - 8px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  /* la carte fait 88 px : à 12 px le libellé se faisait tronquer par l'ellipse */
  font-size:10px!important;
  padding:3px 7px!important;
  letter-spacing:.02em!important;
}


/* UX-DSK-018 : « Devis · Étude d'éclairage · Mandat administratif » était à
   9 px et 2,56:1 — ce sont des services vendus, pas une mention de bas de page. */
@media(min-width:1025px){
  body#product .gw-pro-min-serv{font-size:12px;letter-spacing:.06em;color:var(--gw-n700)}
}

/* UX-DSK-030 (audit du 04/09) — l'accroche de la fiche produit était rendue en
   capitales grasses ; au-delà de deux lignes, les capitales font chuter la
   vitesse de lecture, et l'exemple relevé en tenait quatre. Le gras et la
   couleur restent, la casse revient à la normale. */
body#product .growled-alert-benefit{text-transform:none!important;letter-spacing:0}

/* ═══ ATOUTS · V2 « Rangées HUD » (09/09/2026) — bloc #short_description_content de la fiche.
   Reprend .d-row (pointillé, libellé encre), le point vert lumineux de .hud-chip et .oa-eyebrow.
   Corrige au passage la ligne en display:flex de custom-growled-2026 (le <strong> devenait une
   colonne écrasée et se cassait lettre par lettre), le texte justifié et la palette hors charte.
   Maquette validée : https://claude.ai/code/artifact/afdf6e98-f2aa-44b7-9a16-1182a612966c ═══ */
body#product .col-info #short_description_content{text-align:left}
body#product .col-info #short_description_content::before{content:"Atouts";display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#7E1E57;margin:0 0 4px;transform:skewX(-5deg)}
html:lang(en) body#product .col-info #short_description_content::before{content:"Key benefits"}
html:lang(de) body#product .col-info #short_description_content::before{content:"Vorteile"}
body#product .col-info #short_description_content ul{list-style:none;margin:0 0 16px;padding:0;background:none;border-radius:0;font-size:14px}
body#product .col-info #short_description_content ul li{position:relative;display:block;padding:9px 0 9px 22px;color:#4f4760;line-height:1.5;border:0;font-size:14px !important}
body#product .col-info #short_description_content ul li + li{border-top:1px dashed rgba(43,0,79,.10)}
body#product .col-info #short_description_content ul li::before{content:"";position:absolute;left:4px;top:calc(9px + .75em);transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:#7BBF3F;box-shadow:0 0 6px rgba(123,191,63,.55);margin:0}
body#product .col-info #short_description_content strong{color:#2B004F!important;font-weight:600}

/* ═══ TITRE · D « Bout de ligne des puces » + réf sous les images (09/09/2026).
   Le bloc .prod-header faisait 263 px : la rangée Favoris / Partager (49 px) rejoint la ligne des
   puces 120° / Panneau en deux icônes calées à droite, la note garde sa cible de 44 px sans pousser
   la ligne (marge négative), et la réf quitte l'en-tête pour le bloc « Réf. · Marque » déjà présent
   dans le gabarit (.product-identity-chip, masqué jusqu'ici), déplacé sous les vignettes dans
   product.tpl et habillé en ligne calme sous la galerie.
   Maquette validée : https://claude.ai/code/artifact/5cd9cd29-dd54-4f9f-a1a1-f9f8f6cd74b0 ═══ */
body#product .col-info .prod-header{display:flex;flex-wrap:wrap;align-items:center}
body#product .col-info .prod-header h1,body#product .col-info .prod-header .hero-meta{flex:0 0 100%}
body#product .col-info .prod-header .product-rating-hero{min-height:44px;margin:-10px 0}
body#product .col-info .prod-header .hero-ref{display:none}
body#product .col-info .prod-header .hud{flex:1 1 auto;margin-bottom:0}
body#product .col-info .prod-header .sous-titre-product{flex:none;margin-left:auto;padding-left:8px}
body#product .col-info .prod-header .sous-titre-product .more_buttons_bottom_block{border:0;padding:0;opacity:1}
body#product .col-info .prod-header .product-actions-modern{padding:0;margin:0;gap:6px}
body#product .col-info .prod-header .action-btn{width:34px;height:34px;min-width:0;min-height:0;padding:0;justify-content:center;border-radius:11px;background:#fff;border:1.5px solid rgba(43,0,79,.12);color:#2B004F}
body#product .col-info .prod-header .action-btn svg,body#product .col-info .prod-header .action-btn i{width:17px;height:17px;font-size:16px;line-height:17px}
body#product .col-info .prod-header .action-btn span{display:none}
body#product .col-info .prod-header .action-btn:hover{border-color:#7E1E57;color:#7E1E57}
body#product .col-info .prod-header .action-btn:focus-visible{outline:3px solid rgba(123,191,63,.4);outline-offset:2px}
/* Réf. · Marque sous les vignettes (desktop seulement : sous 768 px l'en-tête est masqué et le titre vit sur la photo) */
@media (min-width:769px){
  body#product .col-gallery .product-identity-chip{display:flex!important;position:static;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;width:100%;margin:10px 0 0;padding:9px 14px;background:#f5f2f9;border:1px solid #ece5f2;border-radius:12px;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:12.5px;line-height:1.3;color:#6d6480;box-sizing:border-box}
  body#product .col-gallery .product-identity-chip .pic-ref,body#product .col-gallery .product-identity-chip .pic-brand{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  body#product .col-gallery .product-identity-chip svg{width:14px;height:14px;opacity:.6;margin:0;flex:none}
  body#product .col-gallery .product-identity-chip strong{color:#2B004F!important;font-weight:600;letter-spacing:.02em}
  body#product .col-gallery .product-identity-chip .pic-sep{color:#a99fbb}
  body#product .col-gallery .product-identity-chip .pic-brand-link{color:#7E1E57!important;font-weight:600;text-decoration:none}
  body#product .col-gallery .product-identity-chip .pic-brand-link:hover{text-decoration:underline}
  body#product #pp-zoom-wrapper .product-identity-chip{display:none!important}
}
/* Popover Partager (défaut préexistant, constaté en déplaçant le bouton) : custom-product.js le pose en
   position:absolute avec des coordonnées d'écran (offset − scrollTop), mais son bloc conteneur est
   #center_column, 260 px sous le haut de page : il s'ouvrait 268 px sous le bouton, sur les atouts.
   En fixed, ces coordonnées d'écran sont justes. Sous 768 px il est déjà en fixed, collé en bas. */
@media (min-width:769px){
  body#product #share-popover.popover-visible{position:fixed!important}
}

/* === e4-pack.css === */
/* =============================================================================
   E4 · ATELIER PACK (concept validé 02/08, artifact a72a7b40)
   Habillage du configurateur hsmultiaccessoriespro : le markup et la mécanique
   du module restent intacts (checkboxes, quantités, PriceTable, ajout panier) —
   le CSS transforme les lignes en cartes comparables, le JS (e4-pack.js)
   réordonne les groupes en 6 étapes, enrichit (badges/specs/avis via
   pack-data.json, généré par scripts/pack-atelier/build-pack-data.php)
   et pilote le rail récapitulatif.
   ============================================================================= */

/* ---------- conteneur : la table sous-total du module est remplacée par le rail ---------- */
#blockpack-multi .accessories_table_price{display:none}
#blockpack-multi > h2{display:none} /* remplacé par le hero Atelier */
/* l'ancienne barre d'achat collée (pgc-bar) doublonne le rail/la barre Atelier → masquée ici */
body.apk-active .pgc-bar{display:none!important}
/* mobile : le h1 fiche pack (taille desktop) débordait de l'écran */
@media(max-width:767px){
  body.apk-active .pb-center h1, body.apk-active h1[itemprop="name"], body.apk-active .product_header h1{
    font-size:22px!important;line-height:1.25!important;word-break:normal!important;overflow-wrap:break-word;
  }
}

/* ---------- HERO ATELIER ---------- */
.apk-hero{
  background:linear-gradient(135deg,#160029,#2B004F 55%,#3d0d2e);
  color:#fff;border-radius:var(--gw-r-lg,18px);position:relative;overflow:hidden;
  padding:26px 30px;margin:6px 0 22px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;
}
.apk-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gw-grad-key)}
.apk-hero-k{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9bd968;font-weight:700;font-family:'Poppins',sans-serif}
.apk-hero h2{
  display:block!important;font-family:'Russo One',sans-serif!important;font-weight:400!important;
  font-style:italic;text-transform:uppercase;font-size:24px!important;line-height:1.15;
  color:#fff!important;margin:8px 0 10px!important;padding:0!important;border:0!important;
}
.apk-hero p{color:#c9b8de;font-size:13px;max-width:52ch;margin:0}
.apk-hero-cta{
  display:inline-flex;align-items:center;gap:9px;margin-top:14px;
  background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a!important;
  border-radius:12px;padding:11px 20px;font-weight:700;font-size:13px;cursor:pointer;border:0;
  font-family:'Poppins',sans-serif;transition:transform .15s,box-shadow .15s;
}
.apk-hero-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(123,191,63,.35)}
.apk-hero-cta svg{width:15px;height:15px}
.apk-hero-steps{display:flex;flex-direction:column;gap:6px}
.apk-hero-step{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 12px;font-size:11.5px}
.apk-hero-step i{flex:none;display:inline-flex;width:20px;height:20px;border-radius:99px;background:rgba(123,191,63,.18);color:#9bd968;align-items:center;justify-content:center;font-style:normal;font-size:10px;font-weight:700}
.apk-hero-step .opt{margin-left:auto;font-size:8.5px;color:#c9b8de;letter-spacing:.5px;text-transform:uppercase}
@media(max-width:767px){.apk-hero{grid-template-columns:1fr;padding:20px 18px}.apk-hero-steps{display:none}}

/* ---------- ÉTAPES ---------- */
.apk-step{margin:0 0 26px;border:1px solid var(--gw-n200,#ece5f2);border-radius:16px;background:#fff;overflow:hidden}
.apk-step-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--gw-n200,#ece5f2);background:var(--gw-n50,#f8f5fd)}
.apk-step-num{flex:none;display:inline-flex;width:30px;height:30px;border-radius:99px;background:#2B004F;color:#fff;align-items:center;justify-content:center;font-family:'Russo One',sans-serif;font-style:italic;font-size:14px}
.apk-step.apk-step-done .apk-step-num{background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a}
.apk-step-title{font-family:'Russo One',sans-serif!important;font-weight:400!important;font-style:italic;text-transform:uppercase;font-size:15px!important;color:#2B004F!important;margin:0!important;padding:0!important;border:0!important}
.apk-step-count{margin-left:auto;font-size:11px;color:var(--gw-n600,#6d6480)}
.apk-req{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  background:rgba(126,30,87,.1);color:#7E1E57;border:1px solid rgba(126,30,87,.3);
  border-radius:99px;padding:2px 9px;font-family:'Poppins',sans-serif}
@keyframes apkShake{0%,100%{transform:none}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.apk-step.apk-shake{animation:apkShake .45s ease;border-color:#7E1E57}
@media (prefers-reduced-motion:reduce){.apk-step.apk-shake{animation:none}}
/* message d'erreur du module (groupes obligatoires) : lisible et calme */
#blockpack-multi .message_error{
  display:block;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.35);
  color:#a3402f!important;border-radius:10px;padding:9px 13px;margin:0 0 12px;
  font-size:12px;font-family:'Poppins',sans-serif;
}
.apk-step-help{
  display:flex;gap:9px;align-items:flex-start;margin:14px 18px 0;
  background:rgba(123,191,63,.09);border:1px solid rgba(123,191,63,.3);border-radius:11px;
  padding:10px 14px;font-size:12px;color:#241b33;max-width:760px;
}
.apk-step-help svg{width:15px;height:15px;color:#5e9a2a;flex:none;margin-top:1px}
.apk-step-body{padding:8px 18px 18px}

/* sous-groupes (étape Air : extracteur / filtre / gaine / intracteur) */
.apk-step .option-row{margin:0;padding:0;border:0}
.apk-step .option-row + .option-row{margin-top:14px}
.apk-step .option-row > h4{
  font-family:'Poppins',sans-serif!important;font-weight:700!important;font-size:12px!important;
  letter-spacing:1px;text-transform:uppercase;color:#2B004F!important;
  margin:6px 0 10px!important;padding:0 0 6px!important;border-bottom:2px solid rgba(123,191,63,.35)!important;
  background:none!important;
}
.apk-step.apk-single .option-row > h4{display:none} /* étape mono-groupe : le titre d'étape suffit */
.apk-step .option-row > h4 .ma_grower{display:none!important}
.apk-step .content_group{display:block!important} /* plus d'accordéon : tout visible */

/* ---------- LIGNES → CARTES ---------- */
#blockpack-multi table.accessorygroup{display:block;width:100%;border:0}
#blockpack-multi table.accessorygroup tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:991px){#blockpack-multi table.accessorygroup tbody{grid-template-columns:1fr}}
#blockpack-multi .accessorygroup tr{
  position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;
  grid-template-areas:"img body";
  background:#fff;border:1.5px solid var(--gw-n200,#ece5f2);border-radius:14px;
  padding:12px;margin:0;cursor:pointer;
  transition:border-color .15s,box-shadow .15s;
}
#blockpack-multi .accessorygroup tr > td.checkbox_radio_image{grid-area:img}
#blockpack-multi .accessorygroup tr > td:not(.select_box):not(.checkbox_radio_image){grid-area:body;min-width:0}
#blockpack-multi .accessorygroup tr:hover{border-color:rgba(123,191,63,.5);box-shadow:0 8px 20px rgba(43,0,79,.1)}
#blockpack-multi .accessorygroup tr.apk-on{border-color:#7BBF3F;box-shadow:0 0 0 1.5px #7BBF3F,0 10px 24px rgba(123,191,63,.16)}
#blockpack-multi .accessorygroup td{display:block;padding:0;border:0;background:none}

/* case réelle → pastille ronde coin haut droit */
#blockpack-multi td.select_box{position:absolute;top:10px;right:10px;z-index:3;width:22px;height:22px}
#blockpack-multi td.select_box .checker,
#blockpack-multi td.select_box .checker span{
  display:block!important;width:22px!important;height:22px!important;margin:0!important;padding:0!important;
  background:none!important;border:0!important;
}
#blockpack-multi td.select_box input.accessory_item{
  -webkit-appearance:none;appearance:none;display:block;width:22px;height:22px;margin:0;cursor:pointer;
  border:2px solid var(--gw-n300,#d8cfe4);border-radius:99px;background:#fff;position:relative;
}
#blockpack-multi .accessorygroup tr.apk-on td.select_box input.accessory_item{
  background:#7BBF3F;border-color:#7BBF3F;
}
#blockpack-multi .accessorygroup tr.apk-on td.select_box input.accessory_item::after{
  content:"";position:absolute;inset:4px 5px 6px 5px;
  border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-48deg) translateY(-1px);
}
/* photo */
#blockpack-multi td.checkbox_radio_image{width:92px}
#blockpack-multi td.checkbox_radio_image a{display:block;width:92px;height:92px;border:1px solid var(--gw-n200,#ece5f2);border-radius:10px;overflow:hidden;background:#fff}
#blockpack-multi img.accessory_image{width:100%!important;height:100%!important;object-fit:contain;display:block}
/* contenu */
#blockpack-multi p.block_accessory_name{margin:0 0 2px;line-height:1.3;padding-right:22px}
#blockpack-multi a.ma_accessory_name{
  font-family:'Poppins',sans-serif!important;font-size:12.5px!important;font-weight:600!important;
  color:#2B004F!important;text-decoration:none!important;
}
#blockpack-multi a.ma_accessory_name:hover{color:#5e9a2a!important}
/* marque (injectée) */
.apk-brand{display:block;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#7E1E57;margin-bottom:1px}
/* chips specs (injectées) */
.apk-specs{display:flex;flex-wrap:wrap;gap:4px 6px;margin:5px 0 6px}
.apk-specs span{font-size:9.5px;background:var(--gw-n100,#f3eef9);color:var(--gw-n700,#4f4760);border-radius:99px;padding:2px 8px;white-space:nowrap}
/* note d'avis (injectée) */
.apk-grade{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--gw-n600,#6d6480);margin-left:6px}
.apk-grade svg{width:10px;height:10px;color:#f2a114}
/* badge (injecté) */
.apk-badge{
  position:absolute;top:-8px;left:10px;z-index:2;
  font-size:8.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:2px 9px;border-radius:99px;background:#2B004F;color:#fff;font-family:'Poppins',sans-serif;
}
.apk-badge.apk-b-reco{background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a}
.apk-badge.apk-b-best{background:#2B004F}
.apk-badge.apk-b-eco{background:var(--gw-n100,#f3eef9);color:var(--gw-n700,#4f4760);border:1px solid var(--gw-n300,#d8cfe4)}
.apk-badge.apk-b-prem{background:#7E1E57}
/* pourquoi (injecté, visible si sélectionné) */
.apk-why{display:none;font-size:10.5px;color:var(--gw-n600,#6d6480);border-top:1px dashed var(--gw-n200,#ece5f2);padding-top:7px;margin-top:7px}
#blockpack-multi .accessorygroup tr.apk-on .apk-why{display:block}
.apk-why b{color:#241b33}
/* prix + quantité sur une ligne */
#blockpack-multi span.accessory_price{display:inline-block}
#blockpack-multi span.accessory_price [class*="price_"]{
  font-family:'Russo One',sans-serif!important;font-weight:400!important;font-style:italic;
  font-size:15px!important;color:#2B004F!important;transform:skewX(-5deg);display:inline-block;
}
#blockpack-multi .ma_block_qty{display:inline-flex!important;align-items:center;gap:2px;margin:0 10px 0 0!important;vertical-align:middle}
#blockpack-multi input.custom_quantity{
  width:40px!important;height:26px!important;border:1px solid var(--gw-n300,#d8cfe4)!important;
  border-radius:8px!important;text-align:center;font-size:11px!important;padding:0!important;
}
#blockpack-multi .ma_block_qty_vertical{display:inline-flex!important;flex-direction:column;gap:1px}
#blockpack-multi .ma_block_qty_vertical .btn-touchspin{
  width:18px!important;height:13px!important;padding:0!important;border:1px solid var(--gw-n300,#d8cfe4)!important;
  background:#fff!important;color:#4f4760!important;border-radius:4px!important;line-height:1!important;font-size:8px!important;
}
/* selects de déclinaisons éventuels */
#blockpack-multi .accessorygroup select{border:1px solid var(--gw-n300,#d8cfe4)!important;border-radius:8px!important;font-size:11px!important;margin-top:6px}
/* picto ⚠ « dispo en réappro » du module → pastille lisible */
#blockpack-multi .warning_out_of_stock{
  font-size:0!important;background:none!important;width:auto!important;height:auto!important;
  display:inline-block;vertical-align:middle;margin-left:6px;
}
#blockpack-multi .warning_out_of_stock::after{
  content:"Réappro";font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  background:rgba(242,161,20,.15);color:#8a5a00;border-radius:99px;padding:2px 8px;
  font-family:'Poppins',sans-serif;
}

/* ---------- RAIL RÉCAP ---------- */
.apk-rail{
  position:fixed;right:16px;top:110px;z-index:940;width:284px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s ease,transform .25s ease,visibility 0s .25s;
  background:#fff;border:1px solid var(--gw-n200,#ece5f2);border-radius:16px;
  box-shadow:0 2px 6px rgba(43,0,79,.05),0 18px 40px rgba(43,0,79,.14);
  padding:16px;display:flex;flex-direction:column;gap:9px;
  max-height:calc(100vh - 130px);overflow:auto;
  font-family:'Poppins',sans-serif;
}
.apk-rail h6{font-family:'Russo One',sans-serif;font-weight:400;font-style:italic;text-transform:uppercase;font-size:13px;color:#2B004F;margin:0;display:flex;align-items:baseline}
.apk-rail h6 .n{margin-left:auto;font-size:10px;color:var(--gw-n600,#6d6480);font-family:'Poppins',sans-serif;font-style:normal;text-transform:none}
.apk-jauge{height:6px;border-radius:99px;background:var(--gw-n200,#ece5f2);overflow:hidden}
.apk-jauge i{display:block;height:100%;width:0;background:linear-gradient(100deg,#8ed04e,#5e9a2a);border-radius:99px;transition:width .3s}
.apk-rl{display:flex;align-items:center;gap:8px;font-size:10.5px;padding:6px 8px;border-radius:9px;background:var(--gw-n50,#f8f5fd)}
.apk-rl .lbl{color:var(--gw-n600,#6d6480);font-size:8.5px;text-transform:uppercase;letter-spacing:.4px;display:block}
.apk-rl b{font-weight:600;font-size:10.5px;display:block;line-height:1.25;color:#241b33}
.apk-rl .pr{margin-left:auto;font-size:10.5px;font-weight:600;white-space:nowrap;color:#241b33}
.apk-rl.apk-empty{opacity:.55}
.apk-rl.apk-empty b{font-weight:400;color:var(--gw-n600,#6d6480)}
.apk-tot{display:flex;align-items:baseline;padding-top:9px;border-top:1px solid var(--gw-n200,#ece5f2);font-size:11px;color:var(--gw-n600,#6d6480)}
.apk-tot b{margin-left:auto;font-family:'Russo One',sans-serif;font-weight:400;font-style:italic;font-size:19px;color:#241b33;transform:skewX(-5deg)}
.apk-eco{font-size:10px;color:#3e6b1a;background:rgba(123,191,63,.12);border-radius:8px;padding:5px 9px;text-align:center}
.apk-go{
  display:flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;
  background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F;border-radius:11px;
  padding:11px;font-weight:700;font-size:12px;font-family:'Poppins',sans-serif;
  box-shadow:0 6px 16px rgba(242,161,20,.35);transition:transform .15s,box-shadow .15s;
}
.apk-go:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(242,161,20,.5)}
.apk-go:disabled{opacity:.5;cursor:not-allowed;transform:none}
/* état « guide » : le CTA n'ajoute pas encore, il emmène vers l'étape manquante */
.apk-go.apk-go-need{background:#fff;color:#2B004F;border:1.5px solid rgba(242,161,20,.7);box-shadow:none}
.apk-go svg{width:15px;height:15px}
.apk-ship{font-size:9.5px;color:var(--gw-n600,#6d6480);text-align:center}
body.apk-rail-on .apk-rail{opacity:1;visibility:visible;transform:none;transition-delay:0s}
/* couloir réservé : le contenu de l'Atelier s'arrête avant le rail (jamais recouvert) */
@media(min-width:1440px){body.apk-active #blockpack-multi{padding-right:316px}}
@media(max-width:1439px){.apk-rail{display:none}}

/* barre mobile/desktop-étroit (remplace le rail) */
.apk-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:1040;
  background:#fff;border-top:1px solid var(--gw-n200,#ece5f2);
  box-shadow:0 -8px 30px rgba(26,0,51,.15);
  display:none;align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
  font-family:'Poppins',sans-serif;
}
@media(max-width:1439px){.apk-bar{display:flex}}
.apk-bar .t{font-size:9px;color:var(--gw-n600,#6d6480);line-height:1.2}
.apk-bar .t b{display:block;font-family:'Russo One',sans-serif;font-weight:400;font-style:italic;font-size:16px;color:#241b33;transform:skewX(-5deg)}
.apk-bar .t .apk-bar-eco{color:#3e6b1a;font-weight:600}
.apk-bar .apk-go{margin-left:auto;padding:10px 18px}

/* thème sombre non requis ici : pages boutique = claires */

/* ═══ Pack rendu invendable par un de ses composants ═══════════════════
   Le message existait déjà dans le gabarit du module, mais son conteneur
   était masqué : le client voyait un prix, une remise, un plan de paiement,
   puis plus rien du tout. Il s'affiche maintenant — reste à ce qu'il se lise
   comme une information de disponibilité, pas comme une erreur système.
   Posé ici parce que e4-pack.css est chargé après le pack.css du module. */
#center_column .ap5-pack-unavailable.alert-danger{
  display:flex;flex-direction:column;align-items:flex-start;gap:7px;
  margin:14px 0 0;padding:14px 16px;
  background:#fdf2f2;border:1px solid #f3d6d6;border-left:3px solid #c0392b;
  border-radius:0 10px 10px 0;
  color:#4a2020;text-shadow:none;
}
#center_column .ap5-pack-unavailable .ap5-pu-t{
  font-size:14px;font-weight:600;line-height:1.45;color:#8c2f16;
}
#center_column .ap5-pack-unavailable .ap5-pu-jump{
  display:inline-flex;align-items:center;min-height:36px;
  color:#8c2f16!important;font-size:13px;font-weight:600;text-decoration:underline;
}
#center_column .ap5-pack-unavailable .ap5-pu-jump:hover{color:#c0392b!important}
#center_column .ap5-pack-unavailable .ap5-pu-help{
  font-size:13px;line-height:1.5;color:#5c4b4b;
}
#center_column .ap5-pack-unavailable .ap5-pu-help a{
  color:#2B004F!important;text-decoration:none;white-space:nowrap;
}
#center_column .ap5-pack-unavailable .ap5-pu-help a:hover{text-decoration:underline}
@media(max-width:1024px){
  #center_column .ap5-pack-unavailable.alert-danger{padding:13px 14px}
  #center_column .ap5-pack-unavailable .ap5-pu-t{font-size:13.5px}
}

/* === e4-pack-v2.css === */
/* ═══════════════════════════════════════════════════════════════════════════
   e4-pack-v2.css — composition des pages de pack (191 pages actives)
   Rendu par modules/pm_advancedpack/.../pack-product-list.tpl + gw-pack-card.tpl
   Le fichier de thème pour ce module est MORT (surcharge partielle) : le
   gabarit vivant est celui du module, cf. commit 44039e02.
   Cibles tactiles : plancher 44 px, non négociable sur ce chantier.
   ═══════════════════════════════════════════════════════════════════════════ */

.gw-pk{margin:30px 0 8px}
.gw-pk-titre{
  font-family:var(--gw-font-disp);font-weight:400;font-size:clamp(19px,2.2vw,25px);
  color:var(--gw-ink-700);text-align:center;margin:0 0 22px;text-transform:none;letter-spacing:.01em}

/* ── frise de navigation (≥ 3 groupes) ───────────────────────────────────── */
.gw-pk-frise{
  display:flex;flex-wrap:wrap;margin:0 0 18px;border:1px solid var(--gw-hairline);
  border-radius:14px;overflow:hidden;background:var(--gw-n0);
  box-shadow:0 1px 2px rgba(43,0,79,.04)}
.gw-pk-frise a{
  flex:1 1 130px;min-height:54px;display:flex;flex-direction:column;justify-content:center;
  padding:9px 10px;text-align:center;font-family:var(--gw-font-ui);font-size:11.5px;font-weight:500;
  color:var(--gw-n500);text-decoration:none;border-right:1px solid var(--gw-hairline);line-height:1.35;
  transition:background var(--gw-dur-1) var(--gw-ease-out),color var(--gw-dur-1) var(--gw-ease-out)}
.gw-pk-frise a:last-child{border-right:0}
.gw-pk-frise a b{
  font-family:var(--gw-font-ui);font-weight:600;font-size:13px;color:var(--gw-ink-700);margin-bottom:1px}
.gw-pk-frise a:hover{background:var(--gw-n75)}
.gw-pk-frise a.on{background:var(--gw-grad-green);color:rgba(255,255,255,.85)}
.gw-pk-frise a.on b{color:#fff}
.gw-pk-frise a:focus-visible{outline:3px solid var(--gw-gold-500);outline-offset:-3px}

/* ── un groupe ───────────────────────────────────────────────────────────── */
.gw-pk-grp{
  background:var(--gw-n0);border:1px solid var(--gw-hairline);border-radius:16px;
  padding:18px 20px 20px;margin:0 0 12px;scroll-margin-top:118px;
  box-shadow:0 1px 2px rgba(43,0,79,.04)}
.gw-pk-grp-tete{
  display:flex;align-items:center;gap:13px;flex-wrap:wrap;
  margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--gw-hairline)}
.gw-pk-grp-num{
  flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:var(--gw-grad-ink);color:#fff;
  font-family:var(--gw-font-ui);font-weight:700;font-size:13px}
.gw-pk-grp-tete h4{
  flex:1;min-width:120px;margin:0;font-family:var(--gw-font-disp);font-weight:400;font-size:17px;
  color:var(--gw-ink-700);text-transform:none;letter-spacing:.01em}
.gw-pk-grp-quand{margin:2px 0 0;font-size:12.5px;color:var(--gw-n600);font-weight:600}
.gw-pk-grp-prix{margin:0;text-align:right;display:flex;align-items:baseline;gap:9px}
.gw-pk-grp-prix span{font-size:11.5px;color:var(--gw-n500)}
.gw-pk-grp-prix b{
  font-family:var(--gw-font-disp);font-weight:400;font-size:17px;color:var(--gw-ink-700);
  font-variant-numeric:tabular-nums}

/* R3b — un groupe d'un seul produit : l'en-tête à gauche, le produit en LIGNE à
   côté. La version précédente laissait la vignette flotter à l'extrême droite,
   avec un vide de plusieurs centaines de pixels au milieu. */
.gw-pk-grp--solo{
  display:grid;grid-template-columns:minmax(140px,210px) 1fr;align-items:center;gap:18px;
  padding:14px 20px}
.gw-pk-grp--solo .gw-pk-grp-tete{margin:0;padding:0;border:0}
.gw-pk-grp--solo .gw-pk-grille{grid-template-columns:1fr;gap:0}
.gw-pk-grp--solo .gw-pkc{
  display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
  gap:14px;text-align:left;padding:9px 12px}
.gw-pk-grp--solo .gw-pkc-lien{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.gw-pk-grp--solo .gw-pkc-img{width:58px;flex:none;margin:0}
.gw-pk-grp--solo .gw-pkc-nom{min-height:0;-webkit-line-clamp:2;font-size:13px}
.gw-pk-grp--solo .gw-pkc-fmt{flex:0 0 132px;margin:0}
/* le prix se cale à droite du rang, pas sous le nom */
.gw-pk-grp--solo .gw-pkc-prix{
  margin:0 0 0 auto;padding:0;border:0;flex:none;white-space:nowrap;font-size:15px}
.gw-pk-grp--solo .gw-pkc:hover{transform:none}

/* ── la grille de vignettes ──────────────────────────────────────────────── */
.gw-pk-grille{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,178px));gap:12px;
  justify-content:start;align-items:stretch}
.gw-pk-grille--plat{
  background:var(--gw-n0);border:1px solid var(--gw-hairline);border-radius:16px;
  padding:20px;justify-content:center;box-shadow:0 1px 2px rgba(43,0,79,.04)}

/* ── une vignette ────────────────────────────────────────────────────────── */
.gw-pkc{
  margin:0;background:var(--gw-n50);border:1px solid var(--gw-hairline);border-radius:12px;
  padding:11px;text-align:center;display:flex;flex-direction:column;
  transition:border-color var(--gw-dur-1) var(--gw-ease-out),
             box-shadow var(--gw-dur-1) var(--gw-ease-out),
             transform var(--gw-dur-1) var(--gw-ease-out)}
.gw-pkc:hover{
  border-color:var(--gw-green-500);background:var(--gw-n0);transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(43,0,79,.08)}
.gw-pkc-lien{display:block;text-decoration:none!important;color:inherit}
.gw-pkc-lien:focus-visible{outline:3px solid var(--gw-gold-500);outline-offset:2px;border-radius:9px}
.gw-pkc-img{
  display:block;position:relative;aspect-ratio:1;overflow:hidden;border-radius:9px;
  background:#fff;margin-bottom:9px}
.gw-pkc-img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.2);display:block}
.gw-pkc-qte{
  position:absolute;top:5px;left:5px;background:var(--gw-grad-ink);color:#fff;
  border-radius:7px;font-family:var(--gw-font-ui);font-size:11px;font-weight:700;
  padding:2px 7px;line-height:1.4}
.gw-pkc-rup{
  position:absolute;left:5px;bottom:5px;background:var(--gw-warn-bg);color:var(--gw-warn-fg);
  border:1px solid var(--gw-warn-bd);border-radius:6px;font-size:10px;font-weight:700;padding:1px 6px}
.gw-pkc-nom{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-family:var(--gw-font-ui);font-size:12.5px;font-weight:600;line-height:1.35;
  color:var(--gw-ink-700);min-height:2.7em}
.gw-pkc--rupture .gw-pkc-img img{opacity:.6}

.gw-pkc-fmt{margin:9px 0 0}
.gw-pkc-fmt select{
  width:100%;min-height:44px;padding:0 8px;border:1px solid var(--gw-n200);border-radius:9px;
  background:#fff;font-family:var(--gw-font-ui);font-size:12.5px;font-weight:600;color:var(--gw-ink-700)}
.gw-pkc-fmt select:focus-visible{outline:3px solid var(--gw-gold-500);outline-offset:1px}

/* le prix se cale en bas : toutes les vignettes d'une rangée s'alignent */
.gw-pkc-prix{
  margin:auto 0 0;padding-top:9px;border-top:1px solid var(--gw-hairline);
  font-family:var(--gw-font-ui);font-size:13.5px;font-weight:600;color:var(--gw-ink-700);
  font-variant-numeric:tabular-nums}

/* ── « Détails des produits » : accordéon natif, tout replié ──────────────── */
.gw-pkd{
  border:1px solid var(--gw-hairline);border-radius:12px;background:var(--gw-n0);
  margin:0 0 8px;overflow:hidden;
  transition:border-color var(--gw-dur-1) var(--gw-ease-out)}
.gw-pkd:hover{border-color:var(--gw-n200)}
.gw-pkd-tete{
  display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px;cursor:pointer;
  list-style:none;background:var(--gw-n0)}
.gw-pkd-tete::-webkit-details-marker{display:none}
.gw-pkd-vig{
  width:40px;height:40px;flex:none;object-fit:cover;border-radius:8px;
  background:#fff;border:1px solid var(--gw-hairline)}
.gw-pkd-nom{
  flex:1;min-width:0;font-family:var(--gw-font-ui);font-size:14px;font-weight:600;
  line-height:1.35;color:var(--gw-ink-700)}
.gw-pkd-tete::after{
  content:"";flex:none;width:9px;height:9px;margin-right:3px;
  border-right:2px solid var(--gw-green-700);border-bottom:2px solid var(--gw-green-700);
  transform:rotate(45deg) translateY(-2px);
  transition:transform var(--gw-dur-1) var(--gw-ease-out)}
.gw-pkd[open] > .gw-pkd-tete::after{transform:rotate(-135deg) translateY(-2px)}
.gw-pkd[open]{border-color:var(--gw-green-500)}
.gw-pkd[open] > .gw-pkd-tete{background:var(--gw-n50);border-bottom:1px solid var(--gw-hairline)}
.gw-pkd-tete:hover{background:var(--gw-n50)}
.gw-pkd-tete:focus-visible{outline:3px solid var(--gw-gold-500);outline-offset:-3px}
.gw-pkd-corps{padding:18px;display:block!important;opacity:1!important}
.gw-pkd-corps img{max-width:100%;height:auto}
@media (prefers-reduced-motion:reduce){.gw-pkd-tete::after{transition:none}}

/* Les titres de section du thème (« Description du pack », « Détails des
   produits ») restaient en capitales sous un trait magenta pleine largeur,
   posé en !important. On les aligne sur le titre de la composition : casse
   normale, et un accent court plutôt qu'une barre qui traverse la page. */
body#product .pack_site .page-product-heading{
  font-family:var(--gw-font-disp)!important;font-weight:400!important;
  font-size:clamp(18px,2.1vw,23px)!important;color:var(--gw-ink-700)!important;
  text-transform:none!important;letter-spacing:.01em!important;
  border:0!important;border-bottom:0!important;background:none!important;
  padding:0 0 12px!important;margin:0 0 20px!important;position:relative}
body#product .pack_site .page-product-heading::before{display:none!important}
body#product .pack_site .page-product-heading::after{
  content:""!important;position:absolute;left:0;bottom:0;width:56px;height:3px;
  border-radius:2px;background:var(--gw-grad-key);display:block!important}
/* les fiches techniques imbriquées gardent un titre discret */
body#product .pack_site .gw-pkd-corps .page-product-heading{
  font-family:var(--gw-font-ui)!important;font-size:14px!important;font-weight:600!important;
  padding-bottom:8px!important;margin-bottom:12px!important}
body#product .pack_site .gw-pkd-corps .page-product-heading::after{width:34px;height:2px}
.pack_site .page-product-box{border:0;background:none;padding:0;margin:0 0 30px}

/* ── mobile ──────────────────────────────────────────────────────────────── */
@media (max-width:767px){
  .gw-pk-grille{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:9px}
  .gw-pk-grille--plat{padding:12px;justify-content:stretch}
  .gw-pk-grp{padding:14px 14px 16px}
  .gw-pk-grp-tete{gap:10px;margin-bottom:13px;padding-bottom:11px}
  .gw-pk-grp-prix{flex:1 0 100%;justify-content:flex-start;padding-left:43px;margin-top:-4px}
  .gw-pk-frise a{flex:1 1 45%;border-bottom:1px solid var(--gw-hairline)}
  .gw-pk-grp--solo{grid-template-columns:1fr;gap:12px;padding:14px}
  .gw-pk-grp--solo .gw-pkc-fmt{flex:0 0 108px}
  .gw-pkd-tete{min-height:56px;padding:9px 12px;gap:10px}
  .gw-pkd-nom{font-size:13px}
  .gw-pkd-corps{padding:14px}
}

/* ── l'ancien affichage du module cède la place ──────────────────────────── */
.ap5-scroll-wrapper,.accessories-scroll{overflow:visible!important}

/* ═══ PARTIE HAUTE ═══════════════════════════════════════════════════════════
   Avant : un titre en capitales sur trois lignes, une photo unique où 17 flacons
   entassés sur fond rose n'étaient pas identifiables, et aucune phrase disant ce
   que le pack fait. Le badge d'économie se superposait au montant en mobile. */

.pack_site h1{
  font-family:var(--gw-font-disp);font-weight:400;font-size:clamp(21px,2.6vw,30px);
  line-height:1.16;color:var(--gw-ink-700);margin:0 0 8px;text-transform:none;letter-spacing:.01em}
.gw-pkh-phrase{
  margin:0 0 16px;font-family:var(--gw-font-ui);font-size:15.5px;line-height:1.5;
  color:var(--gw-n700);max-width:48ch}
.gw-pkh-phrase b{color:var(--gw-green-800);font-weight:600}

.gw-pkh-visuel{
  position:relative;background:linear-gradient(160deg,var(--gw-n100),var(--gw-n200));
  border:1px solid var(--gw-hairline);border-radius:14px;padding:18px;margin:0 0 16px}
.gw-pkh-tag{
  position:absolute;top:-11px;left:16px;background:var(--gw-grad-gold);color:var(--gw-ink-700);
  font-family:var(--gw-font-ui);font-size:11.5px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;padding:5px 12px;border-radius:20px;box-shadow:var(--gw-gold-shadow)}
/* la photo du pack reste dans le DOM (product.js et e4-fiche.js la lisent) mais
   cède la vedette à la grille des composants, qui est lisible */
.gw-pkh-cover{display:block;max-width:190px;margin:0 auto 14px}
.gw-pkh-cover img{width:100%;height:auto;display:block;border-radius:10px}
.gw-pkh-grille{display:grid;gap:8px;grid-template-columns:repeat(6,1fr)}
.gw-pkh-grille.gw-pkh-g2{grid-template-columns:repeat(2,1fr);max-width:300px;margin:0 auto}
.gw-pkh-grille.gw-pkh-g3{grid-template-columns:repeat(3,1fr);max-width:440px;margin:0 auto}
.gw-pkh-grille.gw-pkh-g4{grid-template-columns:repeat(4,1fr)}
.gw-pkh-grille.gw-pkh-g5{grid-template-columns:repeat(5,1fr)}
.gw-pkh-grille a{
  position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:8px;
  background:#fff;border:1px solid var(--gw-hairline)}
.gw-pkh-grille a:hover{border-color:var(--gw-green-500)}
.gw-pkh-grille a:focus-visible{outline:3px solid var(--gw-gold-500);outline-offset:2px}
.gw-pkh-grille img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.2);display:block}

.gw-pkh-faits{
  list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));
  gap:10px;margin:0 0 18px;padding:0}
.gw-pkh-faits li{
  background:var(--gw-n50);border:1px solid var(--gw-hairline);border-radius:10px;
  padding:11px 8px;text-align:center}
.gw-pkh-faits b{
  display:block;font-family:var(--gw-font-disp);font-weight:400;font-size:17px;
  color:var(--gw-ink-700);line-height:1.15}
.gw-pkh-faits span{display:block;font-size:11px;color:var(--gw-n600);margin-top:3px;line-height:1.3}

/* ── bloc d'achat ────────────────────────────────────────────────────────── */
.gw-pkb-eco{
  display:block;margin:10px 0 0;background:var(--gw-success-bg);color:var(--gw-success-fg);
  border:1px solid var(--gw-success-bd);border-radius:8px;padding:8px 12px;
  font-family:var(--gw-font-ui);font-size:14px;font-weight:600;line-height:1.4}
.gw-pkb-eco b{white-space:nowrap;font-weight:700}
.gw-pkb-eco-pct{white-space:nowrap}
.gw-pkb-stock{
  display:flex;align-items:center;gap:9px;margin:14px 0 4px;
  font-family:var(--gw-font-ui);font-size:14px;font-weight:600;color:var(--gw-success-fg)}
.gw-pkb-stock i{width:9px;height:9px;border-radius:50%;background:var(--gw-green-500);flex:none;display:block}
.gw-pkb-stock--warn{color:var(--gw-warn-fg)}
.gw-pkb-stock--warn i{background:var(--gw-gold-500)}

/* ── barre collante mobile ───────────────────────────────────────────────── */
.gw-pkh-barre{display:none}
@media (max-width:767px){
  .gw-pkh-barre{
    display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:4000;
    padding:10px 14px;background:#fff;border-top:1px solid var(--gw-n200);
    box-shadow:0 -6px 18px rgba(43,0,79,.10)}
  .gw-pkh-barre-prix{flex:none;line-height:1.1}
  .gw-pkh-barre-prix b{
    display:block;font-family:var(--gw-font-disp);font-weight:400;font-size:19px;color:var(--gw-ink-700)}
  .gw-pkh-barre-prix span{font-size:11px;color:var(--gw-green-800);font-weight:600}
  .gw-pkh-barre-cta{
    flex:1;min-height:46px;border:0;border-radius:11px;cursor:pointer;
    background:var(--gw-grad-green);color:#fff;font-family:var(--gw-font-disp);font-size:14px;
    text-transform:uppercase;letter-spacing:.03em}
  .gw-pkh-cover{max-width:130px}
  .gw-pkh-visuel{padding:14px}
  .gw-pkh-faits{grid-template-columns:repeat(3,1fr)}
  .gw-pkh-faits li{padding:9px 5px}
  .gw-pkh-faits b{font-size:15px}
  .gw-pkh-faits span{font-size:10px}
  /* la barre couvre le pied de page : on rend la hauteur au document */
  .pack_site{padding-bottom:70px}
}

/* Plancher de 44 px sur les vignettes du visuel : à 6 colonnes elles tombaient
   à 35 px de haut en 390 px et à 27 px en 1440 px sur un pack de 17 produits. */
.gw-pkh-grille a{min-height:44px}
@media (max-width:767px){
  .gw-pkh-grille,
  .gw-pkh-grille.gw-pkh-g4,
  .gw-pkh-grille.gw-pkh-g5{grid-template-columns:repeat(4,1fr)}
}
/* Message « pack invendable » (posé en juin) : ses deux liens étaient à 36 et
   19 px. Ils portent l'issue de secours, ils doivent être atteignables. */
.ap5-pack-unavailable .ap5-pu-jump,
.ap5-pack-unavailable .ap5-pu-help a{
  display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}

/* Les deux vrais contrôles restés sous le plancher : les boutons de quantité
   (27 px) et le lien téléphone de la réassurance (21 px). Les liens en ligne
   dans le corps des descriptions ne sont PAS concernés : les allonger casserait
   le fil du texte. */
.pack_site .product_quantity_down,
.pack_site .product_quantity_up{
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.pack_site #quantity_wanted{min-height:44px;text-align:center}
.avantages-packs-growled a[href^="tel:"]{
  display:inline-flex;align-items:center;min-height:44px;font-weight:700}

/* Le titre du pack était forcé en capitales par une exception
   `.pack_site h1 {text-transform:uppercase!important}`, alors que la règle de
   base du thème met TOUS les titres en `none !important`. Sur un nom de pack
   long — « Pack complet 120x120cm – SpectraWild M650 - Box HydroShoot… » — les
   capitales donnent quatre lignes illisibles. On réaligne la page de pack sur
   le reste du site. Une ligne à retirer si la décision était voulue. */
.pack_site h1{text-transform:none!important}

/* La pastille « -5% » du module double la ligne « Vous économisez … — soit 5 % »,
   qui est plus claire. On la masque sans la retirer du DOM : le JS du module la
   met à jour au changement de format. */
.pack_site #reduction_percent,.pack_site #reduction_amount{display:none!important}

/* ═══ LA CARTE D'ACHAT ═══════════════════════════════════════════════════════
   Quatre zones lisibles — prix, disponibilité, achat, confiance — séparées par
   des filets, plutôt qu'une colonne d'éléments empilés au même rythme.
   Tous les identifiants du module sont conservés : #our_price_display,
   #old_price_display, #quantity_wanted et les deux boutons de quantité sont
   relus par pack.js à chaque changement de format. */

.gw-pkb{
  position:relative;background:var(--gw-n0);border:1px solid var(--gw-hairline);
  border-radius:18px;padding:0;overflow:hidden;
  box-shadow:0 1px 2px rgba(43,0,79,.05),0 12px 34px rgba(43,0,79,.09)}
/* le filet de tête : la seule touche de couleur de marque sur la carte */
.gw-pkb::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gw-grad-key)}
@media (min-width:992px){.gw-pkb{position:sticky;top:18px}}

.gw-pkb > *{padding-left:22px;padding-right:22px}
@media (max-width:767px){
  .gw-pkb > *{padding-left:16px;padding-right:16px}
  .gw-pkb-modif{margin-left:16px;margin-right:16px}}

/* ── zone 1 · le prix ────────────────────────────────────────────────────── */
.gw-pkb #ap5-price-container{
  background:none!important;border:0!important;margin:0;
  padding-top:22px!important;padding-bottom:18px!important}
.gw-pkb .price{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap;
  align-items:baseline;gap:0 12px;text-align:left}
.gw-pkb .our_price_display,.gw-pkb #old_price{flex:0 0 auto;width:auto;max-width:none;margin:0;padding:0}
.gw-pkb .our_price_display{order:1}
.gw-pkb #old_price{order:2}
.gw-pkb #our_price_display{
  font-family:var(--gw-font-disp);font-weight:400;font-size:clamp(29px,3.4vw,38px);
  line-height:1;letter-spacing:-.01em;color:var(--gw-ink-700);font-variant-numeric:tabular-nums}
.gw-pkb #old_price_display{
  font-size:15px;color:var(--gw-n400);text-decoration:line-through;
  font-variant-numeric:tabular-nums}

/* L'économie prend sa propre ligne (le <p> occupe toute la largeur) mais la
   pastille, elle, épouse son texte : c'est le <span> intérieur qui la porte. */
.gw-pkb .gw-pkb-eco{
  order:3;flex:1 0 100%;width:100%;margin:14px 0 0;background:none;border:0;padding:0}
.gw-pkb .gw-pkb-eco-in{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gw-success-bg);color:var(--gw-success-fg);
  border:1px solid var(--gw-success-bd);border-radius:999px;padding:7px 15px;
  font-family:var(--gw-font-ui);font-size:13.5px;font-weight:600;line-height:1.3}
.gw-pkb .gw-pkb-eco b{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.gw-pkb .gw-pkb-eco-pct{
  white-space:nowrap;padding-left:9px;border-left:1px solid var(--gw-success-bd);opacity:.92}

/* filet parasite à droite du sélecteur de quantité, hérité du thème */
.gw-pkb #quantity_wanted_p{border:0!important;background:none!important}
.gw-pkb .product_attributes,.gw-pkb .product_attributes *{border-right-color:transparent}
.gw-pkb .product_quantity_down,.gw-pkb .product_quantity_up,
.gw-pkb #quantity_wanted{border-right-color:var(--gw-n200)}
.gw-pkb .product_quantity_down{border-right:0}
.gw-pkb .gw-pkb-alma{
  order:4;flex:1 0 100%;margin:10px 0 0;
  font-family:var(--gw-font-ui);font-size:13px;line-height:1.45;color:var(--gw-n600)}
.gw-pkb .gw-pkb-alma b{color:var(--gw-ink-700);font-weight:600;font-variant-numeric:tabular-nums}

/* ── zone 2 · la disponibilité ───────────────────────────────────────────── */
.gw-pkb-stock,.gw-pkb-livr{padding-left:22px;padding-right:22px}
.gw-pkb-stock{
  display:flex;align-items:center;gap:10px;margin:0;padding-top:16px;
  border-top:1px solid var(--gw-hairline);
  font-family:var(--gw-font-ui);font-size:14px;font-weight:600;color:var(--gw-success-fg)}
/* témoin de disponibilité : une pastille cerclée, lisible d'un coup d'œil */
.gw-pkb-stock i{
  width:8px;height:8px;border-radius:50%;flex:none;display:block;
  background:var(--gw-green-500);box-shadow:0 0 0 4px rgba(123,191,63,.20)}
.gw-pkb-stock--warn{color:var(--gw-warn-fg)}
.gw-pkb-stock--warn i{background:var(--gw-gold-500);box-shadow:0 0 0 4px rgba(242,161,20,.20)}
.gw-pkb-livr{
  margin:6px 0 0;padding-bottom:18px;
  font-family:var(--gw-font-ui);font-size:13px;line-height:1.45;color:var(--gw-n600)}
.gw-pkb-livr b{color:var(--gw-ink-700);font-weight:600}

/* ── zone 3 · l'achat ────────────────────────────────────────────────────── */
.gw-pkb #ap5-buy-container{padding-top:18px;border-top:1px solid var(--gw-hairline)}
.gw-pkb .product_attributes{margin:0;padding:0;border:0;background:none}
.gw-pkb #quantity_wanted_p{
  display:flex;align-items:center;gap:0;margin:0 0 14px}
.gw-pkb #quantity_wanted_p label{margin-right:14px!important}
.gw-pkb #quantity_wanted_p label{
  margin:0;font-family:var(--gw-font-ui);font-size:13px;font-weight:500;color:var(--gw-n600)}
/* le sélecteur de quantité devient UN contrôle : − | valeur | + */
.gw-pkb #quantity_wanted_p input#quantity_wanted{
  order:2;width:52px;height:44px;min-height:44px;text-align:center;margin:0!important;
  border:1px solid var(--gw-n200)!important;border-left:0!important;border-right:0!important;
  border-radius:0!important;background:#fff!important;box-shadow:none!important;
  font-family:var(--gw-font-ui);font-size:15px;font-weight:600;color:var(--gw-ink-700);
  font-variant-numeric:tabular-nums;padding:0}
.gw-pkb .product_quantity_down,.gw-pkb .product_quantity_up{
  width:44px;min-width:44px;height:44px;min-height:44px;margin:0!important;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--gw-n200);background:var(--gw-n50);color:var(--gw-n700);
  box-shadow:none;padding:0}
.gw-pkb .product_quantity_down{order:1;border-radius:10px 0 0 10px}
.gw-pkb .product_quantity_up{order:3;border-radius:0 10px 10px 0}
.gw-pkb .product_quantity_down:hover,.gw-pkb .product_quantity_up:hover{
  background:var(--gw-n150);color:var(--gw-ink-700)}
.gw-pkb #quantity_wanted_p span.clearfix{display:none!important}

.gw-pkb #ap5-add-to-cart{margin:0}
.gw-pkb #ap5-add-to-cart button{
  position:relative;display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;min-height:56px;border:0;border-radius:14px;cursor:pointer;
  background:var(--gw-grad-green);color:#fff;
  font-family:var(--gw-font-disp);font-weight:400;font-size:16px;letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 6px 16px rgba(94,154,42,.30),inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform var(--gw-dur-1) var(--gw-ease-out),box-shadow var(--gw-dur-1) var(--gw-ease-out)}
.gw-pkb #ap5-add-to-cart button::after{
  content:"";width:8px;height:8px;flex:none;
  border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);
  transition:transform var(--gw-dur-1) var(--gw-ease-out)}
.gw-pkb #ap5-add-to-cart button:hover{
  transform:translateY(-1px);box-shadow:0 10px 22px rgba(94,154,42,.38),inset 0 1px 0 rgba(255,255,255,.22)}
.gw-pkb #ap5-add-to-cart button:hover::after{transform:rotate(45deg) translate(2px,-2px)}
.gw-pkb #ap5-add-to-cart button:active{transform:translateY(0)}
.gw-pkb #ap5-add-to-cart button:focus-visible{outline:3px solid var(--gw-gold-500);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .gw-pkb #ap5-add-to-cart button,.gw-pkb #ap5-add-to-cart button::after{transition:none}
  .gw-pkb #ap5-add-to-cart button:hover{transform:none}}
.gw-pkb-cta-sous{
  margin:12px 0 0;padding-bottom:18px;text-align:center;
  font-family:var(--gw-font-ui);font-size:12.5px;color:var(--gw-n500)}

/* ── zone 4 · la confiance ───────────────────────────────────────────────── */
.gw-pkb-modif{
  position:relative;margin:0 22px;padding:15px 16px 15px 19px;
  background:var(--gw-n75);border:1px solid var(--gw-hairline);border-radius:12px;overflow:hidden}
.gw-pkb-modif::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gw-grad-gold)}
.gw-pkb-modif b{
  display:block;font-family:var(--gw-font-ui);font-size:13.5px;font-weight:600;
  color:var(--gw-ink-700);margin-bottom:5px}
.gw-pkb-modif p{margin:0;font-size:12.5px;line-height:1.5;color:var(--gw-n600)}

.gw-pkb-reass{
  list-style:none;margin:0;padding-top:16px;padding-bottom:20px;
  border-top:1px solid var(--gw-hairline);display:grid;gap:11px;margin-top:18px}
/* Ligne rendue en paragraphe, pas en flex : le numéro de téléphone est un lien
   DANS une phrase. En inline-flex à 44 px il disloquait le texte en mobile —
   même raison que pour les liens en ligne des descriptions produit. La coche
   est positionnée, elle ne participe donc pas au flux. */
.gw-pkb-reass li{
  position:relative;padding-left:19px;
  font-family:var(--gw-font-ui);font-size:13px;line-height:1.55;color:var(--gw-n600)}
.gw-pkb-reass li::before{
  content:"";position:absolute;left:2px;top:4px;width:6px;height:10px;
  border-right:2px solid var(--gw-green-700);border-bottom:2px solid var(--gw-green-700);
  transform:rotate(45deg)}
.gw-pkb-reass b{color:var(--gw-ink-700);font-weight:600}
.gw-pkb-reass a{
  color:var(--gw-green-800);font-weight:700;text-decoration:underline;
  padding:4px 1px;white-space:nowrap}

/* la carte n'a pas de marge intérieure propre : ses zones la portent */
.gw-pkb .avantages-packs-growled{display:none}

/* ═══ CHOIX DE CONTENANCE ════════════════════════════════════════════════════
   Avant : un <select> nu, gris, sans libellé — rien ne disait qu'un choix
   existait, lequel était retenu, ni ce qu'il coûtait. Chaque option porte
   maintenant son prix exact, et l'option épuisée est signalée. */
.gw-pkc-fmt{margin:10px 0 0;text-align:left}
.gw-pkc-fmt-lbl{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  margin:0 0 5px;font-family:var(--gw-font-ui);font-size:10.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--gw-n500)}
.gw-pkc-fmt-nb{
  font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;
  color:var(--gw-green-800);background:var(--gw-success-bg);
  border-radius:999px;padding:1px 7px;white-space:nowrap}
/* Le <select> natif n'est plus habillé : Uniform.js le recouvre d'un span qui
   porte le texte visible, et lui redonner un fond faisait apparaître DEUX
   lignes superposées. Il reste au-dessus, transparent et cliquable ; c'est
   l'enveloppe .selector, plus bas, qui porte l'apparence. */
.gw-pkc-fmt select{
  width:100%;min-height:44px;
  font-family:var(--gw-font-ui);font-size:12.5px;font-weight:600;cursor:pointer}

/* rappel du principe, une seule fois, dans la carte d'achat */
.gw-pkb-maj{
  margin:0 0 10px;padding:9px 12px;border-radius:9px;
  background:var(--gw-success-bg);border:1px solid var(--gw-success-bd);
  color:var(--gw-success-fg);font-family:var(--gw-font-ui);font-size:12.5px;font-weight:600;
  opacity:0;transform:translateY(-3px)}
.gw-pkb-maj--on{animation:gwPkbMaj 3.2s var(--gw-ease-out) forwards}
@keyframes gwPkbMaj{
  0%{opacity:0;transform:translateY(-3px)}
  8%{opacity:1;transform:translateY(0)}
  80%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-3px)}}
.gw-pkb-flash{animation:gwPkbFlash 1.1s var(--gw-ease-out)}
@keyframes gwPkbFlash{
  0%{color:var(--gw-green-700);transform:scale(1)}
  22%{color:var(--gw-green-700);transform:scale(1.045)}
  100%{color:var(--gw-ink-700);transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .gw-pkb-flash{animation:none}
  .gw-pkb-maj--on{animation:none;opacity:1;transform:none}}

/* Le libellé cède la place avant la pastille : « 2 formats » est l'information
   utile, « CONDITIONNEMENT » peut se tronquer sur une vignette étroite. */
.gw-pkc-fmt-lbl{min-width:0}
.gw-pkc-fmt-lbl{overflow:hidden}
.gw-pkc-fmt-lbl > :first-child{min-width:0}
.gw-pkc-fmt-nb{flex:none}
.gw-pkc-fmt--riche .gw-pkc-fmt-lbl{white-space:nowrap}
/* le thème grisait le texte des <select> : il porte ici un prix, il doit se lire */
.gw-pkc .gw-pkc-fmt select.gw-pkc-fmt-sel option{color:var(--gw-ink-700)}
.gw-pkc-fmt-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* Uniform.js enveloppe chaque <select> dans .selector > span + select, et c'est
   le SPAN qui porte le texte visible. Styler le select seul donnait deux lignes
   superposées. On habille donc l'enveloppe, et le select natif reste au-dessus,
   transparent, pour rester cliquable et accessible. */
.gw-pkc-fmt .selector{
  position:relative;display:block!important;width:100%!important;height:44px;
  border:1.5px solid var(--gw-n200);border-radius:10px;background-color:#fff;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235e9a2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;background-size:10px 6px;
  transition:border-color var(--gw-dur-1) var(--gw-ease-out);overflow:hidden}
.gw-pkc-fmt .selector:hover{border-color:var(--gw-green-500)}
.gw-pkc-fmt .selector span{
  display:block!important;width:100%!important;height:42px;line-height:42px;
  padding:0 25px 0 9px;margin:0;background:none;border:0;
  font-family:var(--gw-font-ui);font-size:11.5px;font-weight:600;color:var(--gw-ink-700);
  letter-spacing:-.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.gw-pkc-fmt .selector select{
  position:absolute;left:0;top:0;width:100%!important;height:42px!important;
  min-height:0;opacity:0;cursor:pointer;border:0;padding:0;margin:0;background:none}
.gw-pkc-fmt .selector.focus,.gw-pkc-fmt .selector:focus-within{
  outline:3px solid var(--gw-gold-500);outline-offset:1px}

/* Le libellé de contenance était tronqué en « CONDITI… » sur les 17 cartes : la
   pastille « 2 formats » lui prenait 71 px des 136 disponibles. La pastille est
   retirée — le libellé complet, le chevron et la liste déroulante disent déjà
   qu'un choix existe. */
.gw-pkc-fmt-lbl{justify-content:flex-start}

/* Au-delà de 6 composants, la photo du pack montre exactement ce que la grille
   montre juste en dessous, mais illisible : 190 px de doublon. Elle reste dans
   le DOM — product.js et e4-fiche.js lisent #bigpic, et c'est l'image du panier
   et du tunnel — mais cède la vedette. Une ligne à retirer pour la revoir. */
.gw-pkh-visuel--grille .gw-pkh-cover{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap;margin:0}

/* === e4-produit-mobile.css === */
/* =============================================================================
   E4 · FICHE PRODUIT — corrections responsive
   -----------------------------------------------------------------------------
   Pourquoi ce fichier existe : e4-mobile.css est lié en header.tpl:312, donc
   AVANT e4-fiche.css (318) et e4-pack.css (321). À spécificité égale il perd.
   Celui-ci est lié APRÈS toute la pile fiche et sous {if $page_name=='product'} :
   il prime naturellement et ne peut pas fuir vers la catégorie ou l'accueil.

   Tout est préfixé #product. Relevé du 22-23/08/2026.
   ========================================================================== */

@media (max-width:940px){

  /* ── C2 · Plancher typographique ──────────────────────────────────────
     39 textes sous 12px, dont le prix des cartes de livraison à 9,5px, les
     étiquettes à 8,5px et le détail des produits associés à 9,6px.
     Sous 12px un texte n'est plus lu sur un téléphone, il est deviné.
     ------------------------------------------------------------------- */
  #product .edv3-card-price strong,
  #product .edv3-card-tag,
  #product .edv3-card-date,
  #product .info-txt-gwl,
  #product .gw-fbt-nm,
  #product .gw-fbt-p,
  #product .gw-fbt-count,
  #product .mobile-hero-cat,
  #product .pcard-brand{font-size:12px !important}
  #product .gw-pv2-eyebrow,
  #product .gw-pv2-save-tag,
  #product .gw-pv2-row-name small,
  #product .gw-pay .pc,
  #product .gw-pay span,
  #product .gw-cta-sub,
  #product .oa-eyebrow span,
  #product .sn-b,
  #product .gw-pro-txt span,
  #product .gw-sb-s,
  #product .pcard-badge span{font-size:12.5px !important}
  /* Le module de paiement Alma génère des noms de classe hachés
     (`_planButton_v4hon_29`), régénérés à chaque version : on s'accroche au
     préfixe stable, pas au hachage. */
  #product [class*="_planButton_"],
  #product [class*="_info_"] p{font-size:12px !important}

  /* ── C3 · Cibles tactiles ─────────────────────────────────────────────
     73 sous 44px, dont TROIS BOUTONS D'AJOUT AU PANIER — le geste le plus
     commercial de la page était sous le seuil. On agrandit par du padding,
     jamais par une zone fantôme en ::after.
     ------------------------------------------------------------------- */
  /* les CTA d'abord : c'est ce qui compte */
  #product .gw-pv2-cta,
  #product .gw-pv2-cta2,
  #product .gw-fbt-cta,
  #product .gc-pp-btn,
  #product .gw-faq-more,
  #product .ask_a_question{min-height:44px}
  #product .gw-sb-btn,
  #product .pcard-cta,
  #product .read_more,
  #product .ybc_title_block{display:inline-flex;align-items:center;min-height:44px}
  /* sélecteur de quantité : 29px de large, on vise à côté */
  #product .qty-selector-modern .qty-btn{min-width:44px;min-height:44px}
  /* galerie, pagination des avis, historique */
  #product .gw-pv2-thumb{width:44px;height:44px;min-width:44px;min-height:44px}
  #product .kv-pager .kv-page{min-width:44px;min-height:44px;
    display:inline-flex;align-items:center;justify-content:center}
  #product .kv-hist .kv-hist-row{min-height:44px}
  /* navigation secondaire, fil d'ariane, catégories de blog, titres */
  #product .v3-subnav-in a,
  #product .ybc-blog-categories a,
  #product .breadcrumb li a,
  #product .gw-pv2-row-name a,
  #product .gw-pv2-title a,
  #product .pcard-name a,
  #product .gw-fbt-item .gw-fbt-nm{display:inline-flex;align-items:center;min-height:44px}
  #product [class*="_planButton_"],
  #product [class*="_knowMore_"]{min-height:44px;min-width:44px}

  /* Résidus de la seconde passe. Les étiquettes et la date des cartes de
     livraison sont posées avec une spécificité que `#product .classe` ne bat
     pas : on remonte d'un cran par le conteneur. */
  #product .edv3-card .edv3-card-tag,
  #product .edv3-card .edv3-card-date,
  #product .edv3-card-body .edv3-card-date{font-size:12px !important}
  /* Les boutons de plan de paiement Alma restaient à 35-42px de large malgré
     `min-width` : ils sont dans une rangée flex qui les comprime. */
  #product [class*="_planButton_"]{flex:0 0 auto;flex-shrink:0}

  /* ── C4 · Débordements horizontaux ────────────────────────────────────
     Trois blocs sortaient de l'écran, hors de tout conteneur défilant : la
     partie hors champ est simplement inatteignable.
     ------------------------------------------------------------------- */

  /* Le tableau de la fiche technique : 120 → 453 sur un écran de 390.
     `display:block` sur un <table> casserait la répartition des colonnes ;
     on enveloppe le tableau dans son conteneur défilant à la place. */
  #product .rte,
  #product #featuresTab .rte,
  #product #descriptionTab .rte{overflow-x:auto;-webkit-overflow-scrolling:touch}
  #product .rte table{max-width:none;width:auto;min-width:100%}
  /* Certains tableaux sont déjà enveloppés dans `.table-responsive` par le
     thème, d'autres non. On rend le conteneur défilant dans les deux cas. */
  #product .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0}
  #product #featuresTab table,
  #product #descriptionTab table{min-width:0}
  /* `table.spectable` n'est enveloppée par rien : elle sortait de 63px.
     Deux essais avant de trouver.
       1. Rendre la table défilante : écarté après capture, les valeurs se
          retrouvaient hors champ (« Passif (totalement silencieux) » coupé
          net). Sur une fiche technique, c'est cacher la moitié de
          l'information derrière un geste que rien n'annonce.
       2. `display:block` sur table/tbody/tr/td : sans effet. Le thème met
          DÉJÀ `tbody` en `display:grid` et `tr` en `display:flex` — mes
          règles se battaient contre une mise en page moderne au lieu de s'en
          servir.
     Retenu : on garde le flex du thème, on l'autorise juste à passer à la
     ligne. Libellé au-dessus, valeur en dessous, rien de coupé, rien à
     balayer. La table reste une table dans le HTML. */
  #product table.spectable tr{flex-wrap:wrap;align-items:flex-start}
  #product table.spectable th,
  #product table.spectable td{flex:1 1 100%;min-width:0;max-width:100%;
    text-align:left !important;white-space:normal;overflow-wrap:anywhere}
  #product table.spectable th{font-weight:600;margin-bottom:2px}


  /* La pagination des avis : 20 → 472, et elle s'est ÉLARGIE en passant les
     boutons à 44px. Rail horizontal, motif éprouvé six fois sur l'accueil.
     `min-width:0` sur le conteneur : un enfant `flex-wrap:nowrap` pousse son
     ancêtre au lieu d'être contraint par lui, tout item de flex ou de grid
     valant `min-width:auto` par défaut. Et `scroll-padding-inline` parce que
     `scroll-snap-align:start` avale sinon le padding du rail. */
  #product .kv-foot{min-width:0;flex-wrap:wrap}
  #product .kv-pager{
    flex:1 1 auto;max-width:100%;
    display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;
    overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;scroll-padding-left:16px;scroll-padding-right:16px;
    min-width:0;padding-bottom:6px;
  }
  #product .kv-pager::-webkit-scrollbar{height:0}
  #product .kv-pager > *{flex:0 0 auto;scroll-snap-align:start}
  #product .kv-reviews,
  #product #reviewsTab,
  #product .kv-hist{min-width:0}

  /* ── LOT D · Accordéon des sections de contenu ────────────────────────
     `#tabs-zone` faisait 14 425 px, 17 écrans sur les 27 de la fiche.
     Trois sections se replient : fiche technique 1 025, avis 2 339,
     questions 1 516 — 4 880 px ramenés à leurs seuls en-têtes.
     La PRÉSENTATION DU PRODUIT reste ouverte : c'est le texte que Google lit
     pour classer la fiche et le premier argumentaire que voit le visiteur.
     Le replier est un choix éditorial, pas une optimisation — laissé à
     l'arbitrage.
     Repli par `max-height`, jamais par `display:none` : le contenu reste dans
     le HTML servi et dans le rendu, simplement rogné.
     ------------------------------------------------------------------- */
  #product .gw-acc > .wrap > .head{
    position:relative;cursor:pointer;user-select:none;
    padding-right:52px;margin-bottom:0;
  }
  #product .gw-acc .gw-acc-btn{
    position:absolute;right:0;top:50%;transform:translateY(-50%);
    width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  #product .gw-acc .gw-acc-btn:focus-visible{outline:2px solid #7BBF3F;outline-offset:2px;border-radius:8px}
  #product .gw-acc .gw-acc-chev{
    width:12px;height:12px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;
    transform:rotate(45deg);margin-top:-4px;transition:transform .22s ease;
  }
  #product .gw-acc[data-acc="open"] .gw-acc-chev{transform:rotate(-135deg);margin-top:3px}

  #product .gw-acc[data-acc="closed"] > .wrap > *:not(.head){
    max-height:0;overflow:hidden;visibility:hidden;
    margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;
  }
  #product .gw-acc[data-acc="closed"] > .gw-lp{display:none}
  #product .gw-acc[data-acc="closed"] > .wrap{padding-bottom:0}

  /* ── C6 · Gabarits de réservation ─────────────────────────────────────
     Relevé après l'accordéon, réservé contre réel :
       .row-assurance          400 px réservés,   0 rendu   -> +400
       .infos-produits-gwl     400 px réservés, 259 rendu   -> +141
       .footer-container      1650 px réservés,1398 rendu   -> +252
     Les deux premiers sont propres à la fiche et se corrigent ici. Le pied de
     page garde 1 650 : c'est le maximum relevé sur les trois types de page
     (1 581 sur l'accueil), et une valeur trop basse ferait RALLONGER la page
     au défilement, ce qui déplace le contenu déjà lu. On préfère 252 px de
     réservation perdue à un contenu qui bouge.
     ------------------------------------------------------------------- */
  #product .row-assurance{contain-intrinsic-size:auto 0}
  #product .infos-produits-gwl{contain-intrinsic-size:auto 280px}

  /* ── C5 · Le titre rogné sur le visuel ────────────────────────────────
     Symptôme : la première lettre de « CannaLED » et celle du nom du produit
     manquaient, ainsi que la première étoile de la note.

     Ce que j'avais écarté à tort lors du premier passage : la boîte du texte
     mesure [16 → 326] avec `scrollWidth == width`, pas de marge négative, pas
     de `text-indent`, pas de `transform`, aucun masque ni `clip-path`, un seul
     élément porte la classe. Les rectangles de glyphes, eux, commencent bien
     à 16,0 — le texte est donc PEINT au bon endroit.

     La cause était deux crans plus haut, sur un ancêtre que je n'avais pas
     mesuré : `#descriptionproduct` occupe [24 → 366] avec `overflow:hidden
     auto`, tandis que sa colonne galerie est tirée à [0 → 342] par une marge
     négative de Bootstrap. Le parent coupe donc les 24px qui dépassent — et
     avec eux le début du titre.

     Trois correctifs comparés au navigateur :
       A  overflow visible sur le parent   -> titre entier, rien ne bouge  ✔
       B  annuler la marge négative        -> titre entier, mais toute la
                                              galerie se décale de 24px
       C  décaler le texte (left:44px)     -> AUCUN effet, `left` ne déplace
                                              pas cet élément
     A retenu : une seule propriété, et le comptage de débordements est
     identique aux trois variantes (13, valeur d'origine) — on ne crée donc
     pas de dépassement en retirant ce rognage.
     ------------------------------------------------------------------- */
  /* `!important` requis : sans lui la règle ne prend pas, alors que
     `#product #descriptionproduct` fait (2,0,0) contre le (0,2,0) de la règle
     d'origine. Quatrième occurrence de ce phénomène dans ce chantier, après
     `.head h2`, `.footer-container` et les libellés du panier. */
  #product #descriptionproduct{overflow:visible !important}
}

/* ═══════════════════════════════════════════════════════════════════════
   VAGUE MOBILE · fiche produit — 26/08/2026
   Mobile = 78 % des sessions et convertit 38 % moins bien que le desktop.
   Tout ce qui suit vise le chemin entre l'arrivée et le bouton d'achat.
   ═══════════════════════════════════════════════════════════════════════ */

@media (max-width:768px){
  /* C1 · Le gabarit sert galerie → arguments → achat, hérité de la grille
     desktop à trois colonnes. Empilé sur un téléphone, cela met 1 219 px de
     décision d'achat derrière 649 px d'arguments. On inverse À L'AFFICHAGE
     SEULEMENT : `order` ne touche pas le DOM, l'ordre de lecture des moteurs
     et le parcours au clavier restent identiques.
     Borne à 768 et non 940 : au-dessus, #descriptionproduct repasse en
     `display:grid` et `order` y réordonnerait la grille desktop. */
  #product #descriptionproduct > .col-gallery{order:1}
  #product #descriptionproduct > .col-sidebar.buy{order:2}
  #product #descriptionproduct > .col-info{order:3}

  /* C2 · La barre collante est le SEUL moyen d'acheter depuis le premier
     écran. Elle s'y présentait comme un carré vert de 54x44 px sans un mot,
     et sans nom accessible. Le libellé existe déjà dans le gabarit, il était
     masqué sous 560 px — et la place est là : 177 px séparaient le prix du
     bouton. */
  #product .pgc-bar .btn-cart span.pgc-bar-cta-long{display:inline}
  #product .pgc-bar .btn-cart{flex:0 0 auto;gap:8px;padding:0 16px;min-height:44px}

  /* C4 · Le voile ne couvrait que les 55 % bas et démarrait à alpha 0 : le
     titre commençait là où l'alpha vaut ~0,13. Mesure au glyphe, fond réel
     échantillonné sous chaque pixel : ratio minimal 1,64, et 80,7 % de la
     surface du texte sous le seuil de 4,5. Trois voiles ont été comparés au
     navigateur ; celui-ci est le seul à mettre AUSSI la ligne de catégorie
     (or #F4D169, 12 px, la plus exposée) à 0 % d'échec. Ratio minimal du
     titre : 10,96. Contrepartie assumée : 15 % de photo assombris en plus. */
  #product .col-gallery #image-block .mobile-hero-overlay::before{
    height:70% !important;
    background:linear-gradient(to bottom,
      rgba(26,10,36,0)   0%,
      rgba(26,10,36,.55) 15%,
      rgba(26,10,36,.90) 45%,
      rgba(26,10,36,.96) 100%) !important}

  /* C5 · Le plein-cadre était voulu mais inachevé : `width:100vw` est annulé
     par e4-fiche.css, et le conteneur étant en `align-items:start`, l'élément
     ne s'étirait pas pour compenser ses marges négatives. Il ne restait que
     le décalage de 24 px vers la gauche. `align-self:stretch` suffit, sans
     unité vw — 100vw inclut la barre de défilement sur un bureau redimensionné. */
  #product #descriptionproduct > .col-gallery{
    align-self:stretch;width:auto !important;max-width:none !important}
  #product #views_block{overflow-x:visible}

  /* C10 · L'indice « Cliquer pour agrandir » est déclaré AVANT le voile et
     porte le même z-index : le voile le recouvrait, pastille comprise, et le
     texte violet devenait illisible (ratio 1,15). Le voile est en
     pointer-events:none, rien ne change au comportement. */
  #product .gw-zoom__hint{z-index:7}
}

@media (max-width:940px){
  /* C6 · `#product .col-sidebar .box-cart-bottom div{display:flex}` écrasait
     `.add_to_cart_container.unvisible{display:none}` : un bouton « Ajouter au
     panier » s'affichait sous la mention « Indisponible à la vente », sur les
     124 produits à available_for_order = 0. On restitue l'intention du
     gabarit sans toucher à la règle générique dont dépend le reste. */
  #product .col-sidebar .box-cart-bottom .add_to_cart_container.unvisible{display:none !important}

  /* C8 · Douze textes restaient sous le plancher de 12 px. Trois échecs de
     cascade : la règle d'août ne visait que `…edv3-card-price strong` ;
     `.cc-ready` était battu par un sélecteur plus spécifique ; et
     `body#product .gw-trust li` fait (1,1,1), qu'aucun `#product .classe`
     ne peut battre. Même piège que `.head h2` en août. */
  #product #estimated-delivery .edv3-card-price{font-size:12px !important}
  #product #estimated-delivery .edv3-card.cc-card .cc-ready{font-size:12px !important}
  body#product .gw-trust li{font-size:12px}
  body#product .gw-pro-btn{font-size:12.5px}
  #product .gw-zoom__hint{font-size:12px}

  /* C9 · Deux cibles que le correctif d'août n'avait pas atteintes. Le champ
     de quantité était forcé à 34 px par e4-fiche.css. Les boutons Alma, eux,
     ne résistaient pas par spécificité mais par !important — il fallait donc
     un !important, pas un sélecteur plus long. */
  #product .buy-actions .qty input{width:44px !important}
  #product [class*="_planButton_"]{min-width:44px !important}

  /* C12 · L'ancre « Atouts » atterrissait sous les barres collantes.
     118 = en-tête fixe 54 + barre d'ancres 56 + 8 de respiration. */
  #product #atouts{scroll-margin-top:118px}
}

/* ── Présentation : aperçu + « Lire la suite » (arbitrage rendu le 02/09) ──
   Hors mobile le bouton n'existe pas visuellement, même si le JS l'a laissé
   dans le DOM après un redimensionnement. */
.gw-fold-btn{display:none}
@media (max-width:940px){
#product .gw-fold[data-fold="closed"] .gw-longdesc{max-height:560px;overflow:hidden;position:relative}
#product .gw-fold[data-fold="closed"] .gw-longdesc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;border-radius:0 0 16px 16px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 84%);pointer-events:none}
#product .gw-fold .gw-fold-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;margin-top:12px;padding:12px 18px;background:#fff;border:1px solid rgba(43,0,79,.14);border-radius:999px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#2B004F;cursor:pointer;box-shadow:0 1px 2px rgba(43,0,79,.04),0 4px 12px rgba(43,0,79,.05)}
#product .gw-fold .gw-fold-btn:active{transform:scale(.98)}
#product .gw-fold .gw-fold-btn .gw-acc-chev{position:static;display:inline-block;width:9px;height:9px;border-right:2px solid #7BBF3F;border-bottom:2px solid #7BBF3F;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
#product .gw-fold[data-fold="open"] .gw-fold-btn .gw-acc-chev{transform:rotate(-135deg);margin-top:4px}
}

/* ── P1 fin de page (02/09) ───────────────────────────────────────────────
   Packs : détail replié derrière « Voir les N produits » ; la carte
   économie/prix/CTA reste. Express checkout PayPal : bouton orphelin entre
   le blog et le footer, hors carte achat — retiré de l'écran mobile (le
   paiement PayPal reste au checkout et en badge carte achat). Blog lié :
   la méta de publication et l'image pleine hauteur ne justifient pas
   560 px pour une carte. */
@media (max-width:940px){
#product .gw-packfold[data-packfold="closed"] .gw-pv2-row,
#product .gw-packfold[data-packfold="closed"] .gw-pv2-subtotal{display:none}
#product .gw-packfold-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;margin:10px 0 2px;padding:11px 16px;background:rgba(255,255,255,.92);border:1px solid rgba(43,0,79,.14);border-radius:999px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:#2B004F;cursor:pointer;box-shadow:0 1px 2px rgba(43,0,79,.04)}
#product .gw-packfold-btn:active{transform:scale(.98)}
#product .gw-packfold-btn .gw-acc-chev{position:static;display:inline-block;width:9px;height:9px;border-right:2px solid #7BBF3F;border-bottom:2px solid #7BBF3F;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
#product .gw-packfold[data-packfold="open"] .gw-packfold-btn .gw-acc-chev{transform:rotate(-135deg);margin-top:4px}

#product #container_express_checkout{display:none!important}

#product .ybc-blog-related-posts .ybc-blog-sidear-post-meta{display:none}
#product .ybc-blog-related-posts .ybc_item_img img{max-height:150px;width:100%;object-fit:cover}
}

/* ── P2 resserrage doux (02/09) ───────────────────────────────────────────
   Rien n'est retiré : uniquement interlignes hérités trop aérés
   (intro à 1.9, puces à 1.7) et cascade de marges 14 px. Corps de texte
   maintenu à 16 px (zoom iOS). */
@media (max-width:940px){
/* description courte */
#product #short_description_block{margin-top:8px;margin-bottom:8px}
#product #short_description_content > p{line-height:1.55!important}
#product #short_description_content > ul{padding-top:10px;padding-bottom:10px;margin-bottom:12px}
#product #short_description_content > ul > li{line-height:1.5!important;padding-top:5px;padding-bottom:5px}
#product .gc-pp-wrap{margin-top:10px;margin-bottom:10px}
#product .gw-pp-packs-wrap{margin-bottom:10px}

/* carte achat */
#product .col-sidebar.buy{padding-top:14px;padding-bottom:16px}
#product #buy_block .gw-dark{padding-top:16px;padding-bottom:14px}
#product #buy_block .gw-dark,#product #buy_block .available-box,#product #buy_block .gw-trust,
#product #buy_block .oa-section,#product #buy_block .gw-pay,#product .gw-pro-min{margin-top:10px}
#product .oa-section.gw-ship{padding-top:10px;padding-bottom:10px}
#product .gw-ship .estimated-delivery{margin-top:8px;margin-bottom:8px}
#product .gw-ship .edv3-card{padding-top:8px;padding-bottom:8px;gap:7px}
#product .gw-ship .fsp{margin-bottom:10px}
#product .gw-pro-min{padding-top:8px}
#product #quantity_wanted_p{padding-bottom:10px}
}

/* === e4-breadcrumb.css === */
/* ═══════════════════════════════════════════════════════════════════════
   E4 · Fil d'Ariane de la fiche produit
   ───────────────────────────────────────────────────────────────────────
   Le fil occupait une bande violette pleine largeur de 55 px (64 px sur
   mobile), centrée, avec le nom complet du produit en blanc gras — le seul
   maillon non cliquable, et le seul mis en valeur. Sur mobile la ligne
   débordait du viewport : le dernier parent était coupé au bord de l'écran.

   Il rejoint ici la colonne de contenu, aligné sur la grille du H1.
   Le maillon produit est tronqué par CSS et non par Smarty : le texte reste
   entier dans le DOM, donc le BreadcrumbList schema.org reste complet.

   Chargé APRÈS e4-produit-mobile.css pour primer sans multiplier
   les !important ; ceux qui restent neutralisent des règles du thème
   historique (custom-growled-2026) qui sont elles-mêmes en !important.
   ═══════════════════════════════════════════════════════════════════════ */

#product .gw-bc-line{
  max-width:1248px;
  margin:0 auto;
  padding:9px 0 5px;
  display:flex;
  align-items:center;
  gap:14px;
}
#product .breadcrumb.fullwidth-breadcrumb{
  background:transparent!important;
  text-align:left!important;
  position:static!important;
  overflow:hidden!important;
  color:#6b6577!important;
  min-width:0;
  flex:0 1 auto;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* Le thème peint les libellés en blanc pour le fond violet : on redescend
   l'encre au niveau du <span itemprop="name">, sinon le texte reste invisible
   sur le nouveau fond clair. */
#product .breadcrumb li,
#product .breadcrumb li a,
#product .breadcrumb li span,
#product .breadcrumb li a span{color:#6b6577!important}

#product .breadcrumb li{display:inline}

/* La cible tactile de 44 px vient de e4-desktop.css / e4-produit-mobile.css.
   Elle n'a pas de sens sur un écran sans doigt : elle gonflait la bande à
   55 px pour une ligne de 12 px. Reprise plus bas, en version mesurée,
   sous 1024 px seulement. */
#product .breadcrumb li a{
  min-height:0!important;
  line-height:1.4!important;
  display:inline!important;
}
#product .breadcrumb li a:hover,
#product .breadcrumb li a:hover span{color:#2B004F!important;text-decoration:underline}

/* Chevrons décoratifs du thème : remplacés par un séparateur simple. */
#product .breadcrumb a:after{display:none!important}
#product .breadcrumb a.home{width:auto!important;height:auto!important;line-height:inherit!important}
#product .breadcrumb li+li::before{
  content:"/"!important;
  color:#c9c1d6!important;
  margin:0 7px!important;
  font-size:12px!important;
}

/* Le maillon produit : présent pour le balisage, discret pour l'œil. */
#product .breadcrumb li:last-of-type,
#product .breadcrumb li:last-of-type span{
  color:#2B004F!important;
  font-weight:500!important;
  font-size:12px!important;
}
/* L'ellipsis exige que le debordement soit porte par l'element qui contient
   directement le texte : le <span itemprop="name">, pas le <li>. */
#product .breadcrumb li:last-of-type{
  max-width:330px;
  min-width:0;
  display:inline-flex;
  align-items:center;
  overflow:hidden;
  vertical-align:bottom;
}
#product .breadcrumb li:last-of-type span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:1024px){
  #product .gw-bc-line{padding:0 14px;gap:10px}
  #product .breadcrumb.fullwidth-breadcrumb{font-size:11.5px!important}

  /* Cible tactile rétablie, mais dimensionnée : 40 px de haut sans faire
     repasser la bande à 64 px. */
  #product .breadcrumb li a{
    display:inline-flex!important;
    align-items:center;
    min-height:44px!important;
  }

  /* Le nom du produit est répété en H1 juste dessous : retiré de l'œil,
     jamais du DOM — clip() conserve le contenu pour l'analyse du balisage. */
  #product .breadcrumb li:last-of-type{
    position:absolute;
    width:1px;height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }
  #product .breadcrumb li:last-of-type::before{display:none!important}

  /* Écran étroit : on garde le point de départ et le RAYON, pas le dernier
     parent. La première version gardait :nth-last-of-type(2), c'est-à-dire
     la marque — exactement le maillon que la règle PHP venait de reléguer :
     le correctif de forme annulait le correctif de fond sur 109 fiches. */
  #product .breadcrumb li:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:last-of-type){display:none!important}
  /* Les points de suspension ne s'affichent que s'il y a vraiment un niveau
     replié entre le rayon et le produit. */
  #product .breadcrumb li:nth-of-type(2):nth-last-of-type(n+3)::after{
    content:" / …";
    color:#c9c1d6;
    margin:0 0 0 7px;
    font-size:11.5px;
  }
}


/* ─── Rebond par critère ────────────────────────────────────────────────
   Le fil dit d'où l'on vient ; ce bouton dit vers quoi rebondir. Les
   entrées sont des catégories réelles et peuplées : leur effectif est
   affiché pour qu'on sache ce qui attend de l'autre côté. */
#product .bc-crit{position:relative;flex:none;margin-left:auto}
#product .bc-crit-btn{
  display:inline-flex;align-items:center;gap:6px;
  height:30px;padding:0 12px;
  border:1px solid #e2dcec;border-radius:999px;background:#fff;
  color:#41780F;font-family:inherit;font-weight:600;font-size:12px;
  cursor:pointer;white-space:nowrap;
}
#product .bc-crit-btn:hover{border-color:#7BBF3F;background:#f6fbf1}
#product .bc-crit-btn svg{width:9px;height:9px;opacity:.65;transition:transform .16s ease}
#product .bc-crit-btn[aria-expanded="true"] svg{transform:rotate(180deg);opacity:1}
#product .bc-menu{
  position:absolute;top:calc(100% + 7px);right:0;z-index:1400;
  min-width:280px;padding:9px;
  background:#fff;border:1px solid #ece5f4;border-radius:13px;
  box-shadow:0 18px 42px rgba(26,0,51,.20);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease;
}
#product .bc-crit.is-open .bc-menu{opacity:1;visibility:visible;pointer-events:auto}
#product .bc-menu b{
  display:block;padding:3px 9px 7px;
  font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9a92a8;
}
#product .bc-menu a{
  display:flex!important;align-items:center;justify-content:space-between;gap:18px;
  padding:7px 9px;border-radius:8px;min-height:0!important;
  color:#2B004F!important;text-decoration:none;font-size:13px;
}
#product .bc-menu a:hover{background:#f4f0f9;text-decoration:none}
#product .bc-menu-n{display:flex;flex-direction:column;line-height:1.3}
#product .bc-menu-n i{font-style:normal;font-size:10.5px;color:#9a92a8;letter-spacing:.02em}
#product .bc-menu em{font-style:normal;font-size:11.5px;color:#9a92a8;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:1024px){
  #product .bc-crit-btn{height:44px}
  #product .bc-menu{min-width:250px;max-width:calc(100vw - 28px)}
  #product .bc-menu a{min-height:40px!important}
}
@media(prefers-reduced-motion:reduce){
  #product .bc-crit-btn svg,#product .bc-menu{transition:none}
}
