/* ===== Storefront Privilegia (maquette / prototype) — toujours en thème clair de marque ===== */
.pv{--o:#F47B2A;--o2:#D9621A;--os:#FFF1E6;--s:#49C9EC;--ss:#E8F8FD;--sd:#1488AD;--n:#173D55;--ink:#1B2F3B;--mu:#667D8A;--li:#E3ECF0;--bg:#F4F8FA;--ok:#1C8350;--oks:#E4F4EA;--y:#FFF6D6;
  container:pv/inline-size;position:relative;background:#fff;color:var(--ink);font:400 14px/1.45 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;text-align:start;-webkit-font-smoothing:antialiased;color-scheme:light}
.pv[dir="rtl"]{font-family:"IBM Plex Sans Arabic",Figtree,system-ui,sans-serif}
.pv *{box-sizing:border-box}
.pv button,.pv input,.pv select{font:inherit;color:inherit}
.pv button{cursor:pointer;border:0;background:none;padding:0}
.pv :focus-visible{outline:2px solid var(--s);outline-offset:2px;border-radius:6px}
.pv svg.i{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv[dir="rtl"] .flip{transform:scaleX(-1)}
.pv .num{font-variant-numeric:tabular-nums}
.pv .wrap{max-width:1280px;margin:0 auto;padding-inline:16px}
@container pv (min-width:900px){.pv .wrap{padding-inline:28px}}

/* bandeau démo */
.pv .demo{background:repeating-linear-gradient(135deg,#FFE8D6 0 10px,#FFF1E6 10px 20px);color:#8A4211;font:700 11px/1 Figtree,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:6px 8px}
.pv[dir="rtl"] .demo{letter-spacing:0}

/* barre promesse + header */
.pv .promise{background:var(--n);color:#dff5fc;font-size:12.5px}
.pv .promise .wrap{display:flex;gap:18px;justify-content:center;align-items:center;min-height:32px;overflow:hidden;white-space:nowrap}
.pv .promise span{display:inline-flex;gap:6px;align-items:center}
.pv .promise svg.i{width:15px;height:15px;color:var(--s)}
.pv .promise .x2{display:none}
@container pv (min-width:900px){.pv .promise .wrap{justify-content:space-between}.pv .promise .x2{display:inline-flex}}
.pv .hdr{background:#fff;border-bottom:1px solid var(--li);position:sticky;top:0;z-index:5}
.pv .hdr .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:10px 14px;align-items:center;padding-block:10px}
.pv .logo{font:800 24px/1 "Bricolage Grotesque",Figtree,sans-serif;letter-spacing:-.04em;color:var(--n);display:flex;align-items:baseline;gap:1px;white-space:nowrap}
.pv .logo i{color:var(--o);font-style:normal}
.pv .logo small{font:600 10px/1 Figtree,sans-serif;letter-spacing:.12em;color:var(--sd);margin-inline-start:6px;text-transform:uppercase}
.pv .burger{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;color:var(--n)}
.pv .search{grid-column:1/-1;order:3;display:flex;align-items:center;gap:8px;background:var(--bg);border:1.5px solid var(--li);border-radius:12px;padding:0 6px 0 12px;height:44px}
.pv[dir="rtl"] .search{padding:0 12px 0 6px}
.pv .search input{flex:1;border:0;background:none;outline:none;min-width:0;height:100%;font-size:14.5px}
.pv .search .go{background:var(--o);color:#fff;border-radius:9px;height:34px;padding:0 14px;font-weight:700;display:none}
.pv .acts{display:flex;gap:4px;align-items:center;justify-self:end}
.pv .act{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px;border-radius:10px;color:var(--n);font-weight:600;font-size:13px}
.pv .act:hover{background:var(--bg)}
.pv .act .lbl{display:none}
.pv .badge{position:absolute;top:0;inset-inline-start:20px;min-width:18px;height:18px;border-radius:9px;background:var(--o);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 4px;border:2px solid #fff}
.pv .langbtn{font-weight:800;font-size:12.5px;border:1.5px solid var(--li);border-radius:8px;padding:4px 8px;color:var(--n)}
@container pv (min-width:900px){
  .pv .hdr .wrap{grid-template-columns:auto minmax(0,1fr) auto;gap:28px;padding-block:14px}
  .pv .burger{display:none}
  .pv .search{grid-column:auto;order:0;height:48px;border-color:#CBEAF4;background:#FAFDFE}
  .pv .search .go{display:inline-block}
  .pv .act .lbl{display:inline}
}
.pv .catnav{border-bottom:1px solid var(--li);background:#fff}
.pv .catnav .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:8px}
.pv .catnav .wrap::-webkit-scrollbar{display:none}
.pv .catnav button{white-space:nowrap;padding:7px 12px;border-radius:99px;font-weight:600;font-size:13px;color:var(--ink)}
.pv .catnav button:hover{background:var(--bg)}
.pv .catnav .all{background:var(--n);color:#fff;display:inline-flex;gap:6px;align-items:center}
.pv .catnav .promo{color:var(--o2)}

/* sections */
.pv main{background:#fff}
.pv .sec{padding-block:18px}
.pv .sh{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:12px}
.pv .sh h2{font:800 19px/1.15 "Bricolage Grotesque",Figtree,sans-serif;letter-spacing:-.02em;margin:0;color:var(--n)}
.pv[dir="rtl"] .sh h2,.pv[dir="rtl"] .hero h1,.pv[dir="rtl"] .pdp h1,.pv[dir="rtl"] .pg h1{font-family:"IBM Plex Sans Arabic",sans-serif;letter-spacing:0;font-weight:700}
.pv .sh .more{color:var(--sd);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:2px}
.pv .sh .more svg.i{width:16px;height:16px}
@container pv (min-width:900px){.pv .sec{padding-block:26px}.pv .sh h2{font-size:24px}}

/* hero */
.pv .hero{display:grid;gap:12px;padding-top:14px}
.pv .hm{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(115deg,#E6F8FE 0%,#BFEFFB 55%,#92E2F6 100%);padding:22px 20px;min-height:210px;display:flex;flex-direction:column;justify-content:center}
.pv .hm .pill{align-self:flex-start;background:#fff;color:var(--sd);font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:99px}
.pv[dir="rtl"] .hm .pill{letter-spacing:0}
.pv .hero h1{font:800 27px/1.05 "Bricolage Grotesque",Figtree,sans-serif;letter-spacing:-.04em;color:var(--n);margin:12px 0 8px;max-width:13em;position:relative;z-index:1;text-wrap:balance}
.pv .hm p{margin:0 0 16px;color:#34596B;max-width:24em;position:relative;z-index:1}
.pv .cta{background:var(--o);color:#fff;font-weight:800;border-radius:12px;padding:12px 18px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 18px -8px #F47B2A;align-self:flex-start;position:relative;z-index:1}
.pv .cta:hover{background:var(--o2)}
.pv .hm .art{position:absolute;inset-inline-end:-30px;bottom:-30px;width:210px;height:210px;opacity:.95}
.pv .hm .ring{position:absolute;inset-inline-end:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:34px solid #ffffff66}
.pv .hs{display:none}
@container pv (min-width:900px){
  .pv .hero{grid-template-columns:1.8fr 1fr;gap:16px;padding-top:22px}
  .pv .hm{min-height:300px;padding:40px 44px}
  .pv .hero h1{font-size:44px}
  .pv .hm p{font-size:16px}
  .pv .hm .art{width:320px;height:320px;inset-inline-end:10px;bottom:-40px}
  .pv .hm .ring{width:380px;height:380px;inset-inline-end:-30px;top:-50px;border-width:48px}
  .pv .hs{display:grid;grid-template-rows:1fr 1fr;gap:16px}
}
.pv .hsc{border-radius:18px;padding:20px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.pv .hsc b{font:800 20px/1.1 "Bricolage Grotesque",Figtree,sans-serif;color:var(--n);max-width:9em;position:relative;z-index:1}
.pv[dir="rtl"] .hsc b{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .hsc span{font-size:12.5px;font-weight:700;color:var(--o2);position:relative;z-index:1}
.pv .hsc .art{position:absolute;inset-inline-end:-6px;bottom:-10px;width:120px;height:120px}
.pv .countdown{display:inline-flex;gap:4px;margin-top:6px;position:relative;z-index:1}
.pv .countdown em{font-style:normal;background:var(--n);color:#fff;border-radius:6px;padding:3px 6px;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}

/* confiance */
.pv .trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.pv .trust div{display:flex;gap:8px;align-items:center;background:var(--bg);border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:600;color:var(--n);line-height:1.2}
.pv .trust svg.i{color:var(--sd)}
.pv .trust small{display:block;font-weight:400;color:var(--mu);font-size:11.5px}
@container pv (min-width:900px){.pv .trust{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.pv .trust div{padding:14px 16px;font-size:14px}.pv .trust small{font-size:12.5px}}

/* catégories */
.pv .cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pv .cat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:11.5px;font-weight:600;line-height:1.2;color:var(--ink)}
.pv .cat .ci{width:100%;aspect-ratio:1;border-radius:16px;display:grid;place-items:center;overflow:hidden}
.pv .cat .ci svg{width:78%;height:78%}
@container pv (min-width:900px){.pv .cats{grid-template-columns:repeat(8,1fr);gap:14px}.pv .cat{font-size:13px}}

/* cartes produit */
.pv .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@container pv (min-width:640px){.pv .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container pv (min-width:900px){.pv .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pv .grid.g5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.pv .rail{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.pv .rail::-webkit-scrollbar{display:none}
@container pv (min-width:900px){.pv .rail{grid-auto-columns:calc((100% - 64px)/5);gap:16px}}
.pv .card{border:1px solid var(--li);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;position:relative;text-align:start}
.pv .card:hover{box-shadow:0 10px 24px -14px #173D5555}
.pv .card .im{aspect-ratio:1;display:grid;place-items:center;position:relative}
.pv .card .im svg.g{width:72%;height:72%}
.pv .tagd{position:absolute;top:8px;inset-inline-start:8px;background:var(--o);color:#fff;font-weight:800;font-size:11px;border-radius:6px;padding:3px 6px}
.pv .tagn{position:absolute;top:8px;inset-inline-start:8px;background:var(--n);color:#fff;font-weight:800;font-size:11px;border-radius:6px;padding:3px 6px}
.pv .fav{position:absolute;top:6px;inset-inline-end:6px;width:32px;height:32px;border-radius:50%;background:#ffffffd9;display:grid;place-items:center;color:var(--n)}
.pv .fav.on{color:var(--o)}
.pv .fav.on svg.i{fill:var(--o)}
.pv .card .bd{padding:10px 10px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.pv .card .nm{font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pv .stars{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;color:var(--mu)}
.pv .stars svg.i{width:13px;height:13px;fill:#F5A524;stroke:#F5A524}
.pv .pr{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pv .pr b{color:var(--o2);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.pv .pr s{color:var(--mu);font-size:12px}
.pv .dlv{font-size:11.5px;color:var(--ok);font-weight:600;display:flex;gap:4px;align-items:center}
.pv .dlv svg.i{width:14px;height:14px}
.pv .add{margin-top:auto;border:1.5px solid var(--n);color:var(--n);border-radius:9px;padding:7px 0;font-weight:700;font-size:12.5px;display:flex;justify-content:center;gap:6px;align-items:center}
.pv .add:hover{background:var(--n);color:#fff}
.pv .add.in{background:var(--ok);border-color:var(--ok);color:#fff}
@container pv (min-width:900px){.pv .card .nm{font-size:14px}.pv .pr b{font-size:18px}.pv .card .bd{padding:12px 14px 14px}}

/* bannière app / bloc marque */
.pv .band{border-radius:18px;background:var(--n);color:#fff;padding:22px;display:grid;gap:14px;align-items:center;position:relative;overflow:hidden}
.pv .band h3{font:800 22px/1.1 "Bricolage Grotesque",Figtree,sans-serif;margin:0}
.pv[dir="rtl"] .band h3{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .band p{margin:0;color:#bfe9f6}
.pv .band .st{display:flex;gap:8px;flex-wrap:wrap}
.pv .band .st span{background:#ffffff1a;border:1px solid #ffffff33;border-radius:10px;padding:8px 12px;font-weight:700;font-size:12.5px}
@container pv (min-width:900px){.pv .band{grid-template-columns:1.4fr 1fr;padding:32px 36px}}

/* footer */
.pv footer{background:#0F2B3C;color:#b7cdd8;margin-top:26px;font-size:13px}
.pv footer .wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-block:24px}
.pv footer h5{color:#fff;margin:0 0 8px;font-size:13px}
.pv footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.pv footer .pay{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #ffffff1f;padding-top:14px;align-items:center}
.pv footer .pay span{background:#ffffff14;border-radius:6px;padding:4px 8px;font-weight:700;font-size:11.5px;color:#fff}
@container pv (min-width:900px){.pv footer .wrap{grid-template-columns:1.4fr repeat(3,1fr)}}

/* pages génériques */
.pv .pg{padding-block:14px 28px}
.pv .crumbs{font-size:12.5px;color:var(--mu);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.pv .crumbs button{color:var(--sd);font-weight:600}
.pv .pg h1{font:800 24px/1.1 "Bricolage Grotesque",Figtree,sans-serif;letter-spacing:-.03em;color:var(--n);margin:0 0 4px}
.pv .sub{color:var(--mu);font-size:13px}
@container pv (min-width:900px){.pv .pg h1{font-size:32px}.pv .pg{padding-block:22px 40px}}

/* catégorie */
.pv .plp{display:grid;gap:16px;margin-top:12px}
.pv .filters{display:none}
.pv .toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pv .chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.pv .chip{white-space:nowrap;border:1.5px solid var(--li);border-radius:99px;padding:6px 12px;font-weight:600;font-size:12.5px;display:inline-flex;gap:6px;align-items:center;background:#fff}
.pv .chip.on{border-color:var(--n);background:var(--n);color:#fff}
.pv .sel{border:1.5px solid var(--li);border-radius:10px;padding:7px 10px;font-weight:600;font-size:12.5px;background:#fff}
@container pv (min-width:900px){
  .pv .plp{grid-template-columns:250px minmax(0,1fr);gap:28px}
  .pv .filters{display:flex;flex-direction:column;gap:18px;position:sticky;top:90px;align-self:start}
  .pv .fchips{display:none}
}
.pv .fg h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--mu)}
.pv[dir="rtl"] .fg h4{letter-spacing:0}
.pv .fg label{display:flex;gap:8px;align-items:center;padding:5px 0;font-size:14px;cursor:pointer}
.pv .fg input[type=checkbox],.pv .fg input[type=radio]{accent-color:var(--o);width:16px;height:16px}
.pv .fg input[type=range]{width:100%;accent-color:var(--o)}
.pv .fg .rv{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mu)}
.pv .empty{padding:40px 10px;text-align:center;color:var(--mu)}

/* fiche produit */
.pv .pdp{display:grid;gap:18px;margin-top:6px}
.pv .gal{display:grid;gap:8px}
.pv .gal .main{aspect-ratio:1;border-radius:18px;display:grid;place-items:center;position:relative;overflow:hidden}
.pv .gal .main svg.g{width:70%;height:70%}
.pv .gal .th{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pv .gal .th button{aspect-ratio:1;border-radius:10px;display:grid;place-items:center;border:2px solid transparent;overflow:hidden}
.pv .gal .th button.on{border-color:var(--o)}
.pv .gal .th svg.g{width:70%;height:70%}
.pv .gal .th .vid{background:var(--n);color:#fff;font-weight:800;font-size:11px;gap:2px}
.pv .pdp h1{font:800 22px/1.15 "Bricolage Grotesque",Figtree,sans-serif;letter-spacing:-.02em;color:var(--n);margin:4px 0 6px}
.pv .pdp .bp{display:flex;align-items:baseline;gap:10px;margin:10px 0 2px;flex-wrap:wrap}
.pv .pdp .bp b{font-size:30px;color:var(--o2);font-weight:800;font-variant-numeric:tabular-nums}
.pv .pdp .bp s{color:var(--mu);font-size:15px}
.pv .pdp .bp em{font-style:normal;background:var(--os);color:var(--o2);font-weight:800;font-size:12px;border-radius:6px;padding:3px 7px}
.pv .stock{display:inline-flex;gap:6px;align-items:center;background:var(--oks);color:var(--ok);font-weight:700;font-size:12.5px;border-radius:99px;padding:5px 10px}
.pv .stock i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.pv .box{border:1px solid var(--li);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;margin-top:12px}
.pv .row{display:flex;gap:10px;align-items:center}
.pv .row svg.i{color:var(--sd)}
.pv .row .t{flex:1;font-size:13.5px;line-height:1.3}
.pv .row .t small{display:block;color:var(--mu);font-size:12px}
.pv .qty{display:inline-flex;align-items:center;border:1.5px solid var(--li);border-radius:10px;height:44px}
.pv .qty button{width:38px;height:100%;display:grid;place-items:center;color:var(--n)}
.pv .qty span{min-width:28px;text-align:center;font-weight:800}
.pv .buy{display:flex;gap:8px;margin-top:14px}
.pv .btn{height:48px;border-radius:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-size:14.5px}
.pv .btn.pri{background:var(--o);color:#fff;flex:1}
.pv .btn.pri:hover{background:var(--o2)}
.pv .btn.sec{background:var(--n);color:#fff;flex:1}
.pv .btn.ghost{border:1.5px solid var(--li);color:var(--n)}
.pv .btn.wa{background:#1FAF5A;color:#fff}
.pv .btn[disabled]{opacity:.45;cursor:not-allowed}
.pv .tabs2{display:flex;gap:4px;border-bottom:1px solid var(--li);margin-top:22px;overflow-x:auto}
.pv .tabs2 button{padding:10px 12px;font-weight:700;color:var(--mu);border-bottom:2.5px solid transparent;white-space:nowrap}
.pv .tabs2 button.on{color:var(--n);border-color:var(--o)}
.pv .tabc{padding:14px 2px;font-size:14px;color:#2e4654}
.pv .tabc ul{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:6px}
.pv .spec{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13.5px}
.pv .spec dt{color:var(--mu)} .pv .spec dd{margin:0;font-weight:600}
.pv .rev{border-top:1px solid var(--li);padding:12px 0;display:grid;gap:4px}
.pv .rev b{font-size:13.5px} .pv .rev small{color:var(--mu)}
.pv .verified{color:var(--ok);font-weight:700;font-size:11.5px}
.pv .stickybuy{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--li);padding:10px 16px;display:flex;gap:8px;z-index:4}
@container pv (min-width:900px){
  .pv .pdp{grid-template-columns:1.05fr 1fr;gap:40px}
  .pv .gal{grid-template-columns:76px 1fr;align-items:start}
  .pv .gal .th{grid-template-columns:1fr;grid-row:1;gap:10px}
  .pv .pdp h1{font-size:30px}
  .pv .stickybuy{display:none}
}

/* panier, checkout */
.pv .two{display:grid;gap:16px;margin-top:12px}
@container pv (min-width:900px){.pv .two{grid-template-columns:minmax(0,1fr) 370px;gap:28px;align-items:start}}
.pv .line{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--li)}
.pv .line .im{aspect-ratio:1;border-radius:12px;display:grid;place-items:center}
.pv .line .im svg.g{width:74%;height:74%}
.pv .line .nm{font-weight:600;font-size:14px;line-height:1.3}
.pv .line .ft{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px}
.pv .line .qty{height:36px}
.pv .line .qty button{width:32px}
.pv .line .rm{color:var(--mu);font-size:12.5px;display:inline-flex;gap:4px;align-items:center}
.pv .line .rm svg.i{width:15px;height:15px}
.pv .sum{border:1px solid var(--li);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;background:#fff}
@container pv (min-width:900px){.pv .sum{position:sticky;top:90px}}
.pv .sum h3{margin:0;font-size:16px;color:var(--n)}
.pv .sum .r{display:flex;justify-content:space-between;font-size:14px}
.pv .sum .r.t{font-size:18px;font-weight:800;border-top:1px solid var(--li);padding-top:10px}
.pv .sum .r .free{color:var(--ok);font-weight:700}
.pv .ship{background:var(--ss);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--n)}
.pv .ship .bar{height:8px;border-radius:4px;background:#fff;margin-top:7px;overflow:hidden}
.pv .ship .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--s),var(--o));border-radius:4px}
.pv .promo{display:flex;gap:6px}
.pv .promo input{flex:1;min-width:0;border:1.5px solid var(--li);border-radius:10px;padding:0 10px;height:40px}
.pv .promo button{border:1.5px solid var(--n);border-radius:10px;padding:0 12px;font-weight:700;color:var(--n)}
.pv .fld{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--n)}
.pv .fld input,.pv .fld select,.pv .fld textarea{border:1.5px solid var(--li);border-radius:11px;height:46px;padding:0 12px;font-size:15px;font-weight:500;background:#fff;color:var(--ink);width:100%}
.pv .fld .hint{font-weight:400;color:var(--mu);font-size:12px}
.pv .fld.err input{border-color:#D6453A}
.pv .fld .em{color:#C23A2B;font-weight:600;font-size:12px}
.pv .form{display:grid;gap:12px}
@container pv (min-width:640px){.pv .form.c2{grid-template-columns:1fr 1fr}.pv .form .full{grid-column:1/-1}}
.pv .card2{border:1px solid var(--li);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}
.pv .card2 h3{margin:0;font-size:16px;color:var(--n);display:flex;gap:8px;align-items:center}
.pv .card2 h3 i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--n);color:#fff;font-size:12px;display:grid;place-items:center}
.pv .payopt{display:grid;gap:8px}
.pv .po{display:flex;gap:12px;align-items:center;border:1.5px solid var(--li);border-radius:12px;padding:12px;cursor:pointer;text-align:start}
.pv .po.on{border-color:var(--o);background:var(--os)}
.pv .po .rd{width:18px;height:18px;border-radius:50%;border:2px solid var(--mu);display:grid;place-items:center;flex:none}
.pv .po.on .rd{border-color:var(--o)}
.pv .po.on .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--o)}
.pv .po .t{flex:1;font-size:14px;font-weight:700}
.pv .po .t small{display:block;font-weight:400;color:var(--mu);font-size:12px}
.pv .po .gift{background:var(--oks);color:var(--ok);font-size:11px;font-weight:800;border-radius:6px;padding:3px 6px;white-space:nowrap}
.pv .secure{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--mu)}
.pv .secure svg.i{width:15px;height:15px;color:var(--ok)}
.pv .ok{max-width:620px;margin:10px auto;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.pv .ok .big{width:72px;height:72px;border-radius:50%;background:var(--oks);color:var(--ok);display:grid;place-items:center}
.pv .ok .big svg.i{width:36px;height:36px;stroke-width:2.4}

/* suivi */
.pv .trk{display:grid;gap:16px;margin-top:12px}
@container pv (min-width:900px){.pv .trk{grid-template-columns:minmax(0,1.3fr) 1fr;gap:28px;align-items:start}}
.pv .oc{border:1px solid var(--li);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}
.pv .oc .hd{display:flex;justify-content:space-between;gap:10px;align-items:start;flex-wrap:wrap}
.pv .eta{background:var(--ss);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center}
.pv .eta b{font:800 20px/1.1 "Bricolage Grotesque",Figtree,sans-serif;color:var(--n);display:block}
.pv[dir="rtl"] .eta b{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .eta svg.i{width:34px;height:34px;color:var(--sd)}
.pv .steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pv .steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;position:relative;padding-bottom:16px}
.pv .steps li::before{content:"";position:absolute;inset-inline-start:13px;top:26px;bottom:0;width:2px;background:var(--li)}
.pv .steps li:last-child::before{display:none}
.pv .steps li.done::before{background:var(--ok)}
.pv .steps .dot{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--li);display:grid;place-items:center;color:#fff;z-index:1}
.pv .steps .dot svg.i{width:15px;height:15px;stroke-width:3}
.pv .steps li.done .dot{background:var(--ok);border-color:var(--ok)}
.pv .steps li.now .dot{background:var(--o);border-color:var(--o);box-shadow:0 0 0 5px #F47B2A33}
.pv .steps .tx{font-weight:700;font-size:14px;padding-top:3px}
.pv .steps .tx small{display:block;font-weight:400;color:var(--mu);font-size:12.5px}
.pv .steps li.todo .tx{color:var(--mu)}
.pv .mapb{height:150px;border-radius:14px;position:relative;overflow:hidden;background:#EAF3F6}
.pv .mapb svg{width:100%;height:100%}
.pv .lookup{display:grid;gap:10px}
@container pv (min-width:640px){.pv .lookup{grid-template-columns:1fr 1fr auto;align-items:end}}

/* ===== mode application ===== */
.pv.app{display:flex;flex-direction:column;height:100%;background:#fff}
.pv.app .sb{height:44px;padding:14px 26px 0;display:flex;justify-content:space-between;font-weight:700;font-size:14px;flex:none;color:var(--ink)}
.pv.app .sb span:last-child{display:flex;gap:5px;align-items:center}
.pv.app .scr{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;position:relative}
.pv.app .scr::-webkit-scrollbar{display:none}
.pv.app .tb{flex:none;border-top:1px solid var(--li);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px 20px;background:#fff}
.pv.app .tb button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:600;color:#8aa0ab;position:relative}
.pv.app .tb button.on{color:var(--o)}
.pv.app .tb .badge{top:-4px;inset-inline-end:calc(50% - 20px)}
.pv.app .ah{padding:6px 16px 10px;display:flex;justify-content:space-between;align-items:center}
.pv.app .ah .hi{font-size:12.5px;color:var(--mu)}
.pv.app .ah .logo{font-size:22px}
.pv.app .ah .ib{width:38px;height:38px;border-radius:12px;background:var(--bg);display:grid;place-items:center;color:var(--n);position:relative}
.pv.app .asearch{margin:0 16px;display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:12px;height:44px;padding:0 12px;color:var(--mu)}
.pv.app .asearch input{flex:1;border:0;background:none;outline:none;min-width:0;height:100%;font-size:14.5px;color:var(--ink)}
.pv.app .pad{padding-inline:16px}
.pv.app .abanner{margin:14px 16px 0;border-radius:18px;background:linear-gradient(120deg,#DDF6FE,#9FE4F6);padding:18px;position:relative;overflow:hidden;min-height:150px}
.pv.app .abanner h2{font:800 21px/1.05 "Bricolage Grotesque",Figtree,sans-serif;color:var(--n);margin:6px 0;max-width:9em;position:relative;z-index:1}
.pv[dir="rtl"].app .abanner h2{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv.app .abanner p{margin:0 0 10px;font-size:12px;color:#34596B;max-width:15em;position:relative;z-index:1}
.pv.app .abanner .art{position:absolute;inset-inline-end:-18px;bottom:-22px;width:150px;height:150px}
.pv.app .abanner .cta{padding:9px 14px;font-size:13px;border-radius:10px}
.pv.app .dots{display:flex;gap:5px;justify-content:center;margin-top:8px}
.pv.app .dots i{width:6px;height:6px;border-radius:3px;background:var(--li)}
.pv.app .dots i:first-child{width:18px;background:var(--o)}
.pv.app .round{display:grid;grid-auto-flow:column;grid-auto-columns:68px;gap:10px;overflow-x:auto;scrollbar-width:none;padding:0 16px}
.pv.app .round::-webkit-scrollbar{display:none}
.pv.app .round .cat .ci{border-radius:50%}
.pv.app .sec{padding-block:14px}
.pv.app .sh{padding-inline:16px}
.pv.app .grid{padding-inline:16px}
.pv.app .rail{padding-inline:16px;grid-auto-columns:40%}
.pv.app .flash{margin:0 16px;border-radius:16px;background:var(--os);padding:12px;display:flex;flex-direction:column;gap:10px}
.pv.app .flash .rail{padding-inline:0}
.pv.app .flash .card{border-color:#FFE1CC}
.pv.app .apphdr{display:flex;align-items:center;gap:8px;padding:4px 12px 8px}
.pv.app .apphdr .ib{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--n)}
.pv.app .apphdr b{flex:1;font-size:16px;color:var(--n)}
.pv.app .pdp{margin-top:0;gap:0}
.pv.app .gal .main{border-radius:0;aspect-ratio:1/0.92}
.pv.app .gal .th{padding:8px 16px 0}
.pv.app .pdpb{padding:12px 16px 20px}
.pv.app .stickybuy{display:flex;position:sticky;bottom:0}
.pv.app .pg{padding:4px 16px 20px}
.pv.app .pg h1{font-size:22px}
.pv.app .floatbk{position:absolute;top:10px;inset-inline-start:12px;width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--n);box-shadow:0 4px 12px -4px #0003;z-index:3}
.pv.app .floatfv{inset-inline-start:auto;inset-inline-end:12px}
.pv .toast{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);background:var(--n);color:#fff;border-radius:12px;padding:10px 14px;font-weight:700;font-size:13px;display:flex;gap:8px;align-items:center;box-shadow:0 12px 24px -10px #0006;z-index:20;white-space:nowrap}
.pv .toast svg.i{color:#7FE0A8}
.pv .recent{display:flex;flex-wrap:wrap;gap:8px}
.pv .recent button{background:var(--bg);border-radius:99px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.pv .recent svg.i{width:15px;height:15px;color:var(--mu)}
.pv .hot{counter-reset:h;display:flex;flex-direction:column}
.pv .hot button{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--li);text-align:start;font-weight:600;font-size:14px}
.pv .hot button::before{counter-increment:h;content:counter(h);width:22px;height:22px;border-radius:6px;background:var(--os);color:var(--o2);font-weight:800;font-size:12px;display:grid;place-items:center}
.pv .hot button:nth-child(-n+3)::before{background:var(--o);color:#fff}
.pv .lk{color:var(--sd);font-weight:700}
@media (prefers-reduced-motion:reduce){.pv *{transition:none!important;animation:none!important}}

.pv .hm > h1,.pv .hm > p{max-width:62%}
@container pv (min-width:900px){.pv .hm > h1{max-width:13em}.pv .hm > p{max-width:24em}}
.pv .hm .art{width:150px;height:150px;inset-inline-end:-24px;bottom:-26px}
.pv .hero h1{font-size:25px}
@container pv (min-width:900px){.pv .hero h1{font-size:44px}.pv .hm .art{width:320px;height:320px;inset-inline-end:10px;bottom:-40px}}
.pv .plp > div,.pv .toolbar,.pv .chips{min-width:0}
.pv .chips{flex:1}
.pv .fg .rv{margin-top:6px}
.pv.static.ptop .stickybuy{position:absolute;left:0;right:0;bottom:0}
.pv.app .tb .badge{inset-inline-start:calc(50% + 4px)}
.pv.app .gal .main .tagd{top:58px!important}
@container pv (min-width:900px){
  .pv .hero h1{font-size:min(44px,3.5cqw)}
  .pv .hm > h1,.pv .hm > p{max-width:60%}
  .pv .hm .art{width:min(320px,24cqw);height:min(320px,24cqw);inset-inline-end:10px;bottom:-30px}
}

/* ===== Ajouts site réel (photos, pagination, messages) ===== */
html,body{margin:0;background:#fff}
body{min-height:100%}
.pv a{color:inherit;text-decoration:none}
.pv .card .im img,.pv .line .im img,.pv .gal .main img,.pv .gal .th img,.pv .cat .ci img{width:100%;height:100%;object-fit:cover;display:block}
.pv .card .im{background:#F4F8FA;overflow:hidden}
.pv .card .im img{transition:transform .3s}
.pv .card:hover .im img{transform:scale(1.04)}
.pv .gal .main{background:#F4F8FA}
.pv .gal .th a,.pv .gal .th button{overflow:hidden;background:#F4F8FA}
.pv .line .im{overflow:hidden;background:#F4F8FA}
.pv .cat .ci{background:#F4F8FA}
.pv .pager{display:flex;gap:6px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.pv .pager a,.pv .pager span{min-width:38px;height:38px;border-radius:10px;border:1.5px solid var(--li);display:grid;place-items:center;font-weight:700;padding:0 10px}
.pv .pager span.on{background:var(--n);color:#fff;border-color:var(--n)}
.pv .alert{border-radius:12px;padding:12px 14px;margin:12px 0;font-weight:600}
.pv .alert.err{background:#FDECEB;color:#B3261E}
.pv .alert.ok{background:var(--oks);color:var(--ok)}
.pv .desc{font-size:14.5px;line-height:1.7;color:#2e4654}
.pv .desc img{max-width:100%;height:auto;border-radius:12px}
.pv .wa-float{position:fixed;bottom:18px;inset-inline-end:18px;width:54px;height:54px;border-radius:50%;background:#1FAF5A;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -8px #1faf5a99;z-index:30}
.pv .wa-float svg.i{width:28px;height:28px}
.pv .drawer{position:fixed;inset:0;z-index:60;display:none}
.pv .drawer.open{display:block}
.pv .drawer .bg{position:absolute;inset:0;background:#0f2b3c80}
.pv .drawer .pn{position:absolute;top:0;bottom:0;inset-inline-start:0;width:min(320px,86vw);background:#fff;padding:18px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.pv .drawer .pn a{padding:11px 8px;border-radius:10px;font-weight:600;display:flex;gap:10px;align-items:center}
.pv .drawer .pn a:hover{background:var(--bg)}
.pv .sheet-f{display:none}
.pv .sheet-f.open{display:block;position:fixed;inset:0;z-index:60}
.pv .sheet-f .bg{position:absolute;inset:0;background:#0f2b3c80}
.pv .sheet-f .pn{position:absolute;left:0;right:0;bottom:0;max-height:85vh;overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;padding:18px 16px;display:flex;flex-direction:column;gap:18px}
@container pv (min-width:900px){.pv .drawer,.pv .sheet-f.open{display:none}}
.pv .hm .himg{position:absolute;inset-inline-end:24px;bottom:18px;width:min(300px,34%);aspect-ratio:1;border-radius:22px;overflow:hidden;box-shadow:0 20px 40px -20px #173d5580;border:6px solid #ffffffb0}
.pv .hm .himg img{width:100%;height:100%;object-fit:cover}
.pv .hsc .himg{position:absolute;inset-inline-end:12px;bottom:12px;width:96px;height:96px;border-radius:14px;overflow:hidden;border:4px solid #fff}
.pv .hsc .himg img{width:100%;height:100%;object-fit:cover}
@container pv (max-width:899px){.pv .hm .himg{width:120px;bottom:12px;inset-inline-end:12px;border-width:4px;border-radius:16px}}
.pv .toast{position:fixed;bottom:24px}
.pv .skip{position:absolute;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pv .skip:focus{width:auto;height:auto;clip:auto;inset-inline-start:10px;top:10px;background:#fff;padding:8px;z-index:99}
[hidden]{display:none!important}
.pv .sum .btn{flex:none;width:100%}
.pv .ok .btn,.pv a.btn{flex:none;min-height:48px}

html,body{overflow-x:clip}
@container pv (max-width:899px){.pv:has(.stickybuy) .wa-float{bottom:84px}}

/* ===== Promotions ===== */
.pv .ticker .wrap{justify-content:center!important}
.pv .ticker span{font-weight:700}
.pv .ticker a{color:#fff;text-decoration:underline}
.pv .tagf{position:absolute;top:8px;inset-inline-start:8px;background:#E0263A;color:#fff;font-weight:800;font-size:11px;border-radius:6px;padding:3px 7px;font-variant-numeric:tabular-nums}
.pv .flashbar{background:linear-gradient(90deg,#E0263A,var(--o));color:#fff;font-weight:700;border-radius:10px;padding:8px 12px;margin:10px 0 2px;font-size:13.5px;font-variant-numeric:tabular-nums}
.pv .flashbar b{background:#0003;border-radius:6px;padding:2px 7px;margin-inline-start:6px}
.pv .flashzone{background:linear-gradient(135deg,#FFE9E4,#FFF1E6);border-radius:18px;padding:14px}
.pv .flashzone .cd b{background:#E0263A;color:#fff;border-radius:8px;padding:2px 8px;font-size:15px;font-variant-numeric:tabular-nums;vertical-align:3px}
.pv .carousel{position:relative;border-radius:18px;overflow:hidden;min-height:210px;background:var(--ss)}
.pv .cr-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:100%}
.pv .cr-track::-webkit-scrollbar{display:none}
.pv .cr-slide{flex:0 0 100%;scroll-snap-align:start;position:relative;display:block;min-height:210px;background:linear-gradient(115deg,#E6F8FE,#92E2F6)}
.pv .cr-slide img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.pv .cr-txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding:22px 20px;max-width:62%;align-items:flex-start}
.pv .cr-txt b{font:800 26px/1.08 "Bricolage Grotesque",Figtree,sans-serif;color:var(--n);letter-spacing:-.03em}
.pv[dir="rtl"] .cr-txt b{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .cr-txt small{color:#34596B;font-size:14px}
.pv .cr-txt .cta{font-style:normal}
.pv .cr-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:6px;justify-content:center;z-index:2}
.pv .cr-dots button{width:8px;height:8px;border-radius:4px;background:#ffffffaa;box-shadow:0 0 0 1px #0002}
.pv .cr-dots button.on{width:22px;background:var(--o)}
@container pv (min-width:900px){.pv .carousel,.pv .cr-slide{min-height:300px}.pv .cr-txt{padding:40px 44px}.pv .cr-txt b{font-size:40px}}
.pv .tile{border-radius:14px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;background:var(--n);color:#fff}
.pv .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.pv .tile span{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;align-items:flex-start}
.pv .tile b{font-size:18px;line-height:1.15}
.pv .tile small{font-size:12.5px;opacity:.9}
.pv .tile .cta{font-style:normal;padding:8px 12px;font-size:13px}
.pv .pop{position:fixed;inset:0;background:#0f2b3c99;z-index:80;display:grid;place-items:center;padding:16px}
.pv .pop-box{position:relative;background:#fff;border-radius:20px;overflow:hidden;width:min(400px,100%);box-shadow:0 30px 60px -20px #0008}
.pv .pop-box > img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pv .pop-bd{padding:20px;display:flex;flex-direction:column;gap:10px;text-align:center;align-items:stretch}
.pv .pop-bd b{font:800 22px/1.15 "Bricolage Grotesque",Figtree,sans-serif;color:var(--n)}
.pv[dir="rtl"] .pop-bd b{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .pop-bd small{color:var(--mu)}
.pv .pop-code{border:2px dashed var(--o);background:var(--os);color:var(--o2);font-weight:900;font-size:22px;letter-spacing:.1em;border-radius:12px;padding:10px}
.pv .pop-x{position:absolute;top:10px;inset-inline-end:10px;width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px 10px -4px #0005;z-index:2}
.pv .hero > *,.pv .carousel{min-width:0;max-width:100%}

/* ===== Expérience « app » : barre du bas, suggestions, favoris, fil infini ===== */
.pv .bnav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--li);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}
.pv .bnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:600;color:#7d949f;position:relative}
.pv .bnav a.on{color:var(--o)}
.pv .bnav .badge{top:-3px;inset-inline-start:calc(50% + 4px)}
@container pv (min-width:900px){.pv .bnav{display:none}}
@container pv (max-width:899px){.pv main{padding-bottom:64px}.pv .wa-float{bottom:78px}.pv:has(.stickybuy) .wa-float{bottom:140px}.pv .stickybuy{bottom:58px}.pv footer{padding-bottom:60px}}
.pv .search{position:relative}
.pv .sugg{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--li);border-radius:14px;box-shadow:0 18px 40px -18px #173d5566;z-index:50;overflow:hidden;max-height:70vh;overflow-y:auto}
.pv .sugg a{display:flex;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line2,#eef3f5);font-size:14px}
.pv .sugg a:hover,.pv .sugg a.hl{background:var(--bg)}
.pv .sugg img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--bg);flex:none}
.pv .sugg .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .sugg .p{color:var(--o2);font-weight:800;white-space:nowrap}
.pv .sugg .c{color:var(--sd);font-weight:700}
.pv .sugg .all{justify-content:center;color:var(--n);font-weight:700}
.pv .card .fav{position:absolute;top:6px;inset-inline-end:6px;width:32px;height:32px;border-radius:50%;background:#ffffffe0;display:grid;place-items:center;color:var(--n);z-index:2}
.pv .card{position:relative}
.pv .fav.on{color:#E0263A}
.pv .fav.on svg.i{fill:#E0263A}
.pv .fav-lg{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--li);display:grid;place-items:center;flex:none;color:var(--n)}
.pv .sold{font-size:11.5px;font-weight:700;color:#B4361A}
.pv .feed-more{display:flex;justify-content:center;padding:18px}
.pv .spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--li);border-top-color:var(--o);animation:pvspin .8s linear infinite}
@keyframes pvspin{to{transform:rotate(360deg)}}

/* ===== Grands rayons ===== */
.pv .uhero{border-radius:20px;padding:24px 20px;display:grid;gap:18px;align-items:center;margin-top:6px;overflow:hidden}
.pv .uh-txt{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.pv .uh-txt h1{font:800 30px/1.05 "Bricolage Grotesque",Figtree,sans-serif;letter-spacing:-.03em;color:var(--n);margin:0}
.pv[dir="rtl"] .uh-txt h1{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .uh-txt p{margin:0;color:#34495a;max-width:56ch;font-size:14.5px;line-height:1.55}
.pv .uh-pics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pv .uh-pics a{aspect-ratio:1;border-radius:14px;overflow:hidden;border:4px solid #ffffffc0;background:#fff}
.pv .uh-pics img{width:100%;height:100%;object-fit:cover}
@container pv (min-width:900px){.pv .uhero{grid-template-columns:1.3fr 1fr;padding:40px 44px}.pv .uh-txt h1{font-size:44px}}
.pv .subcats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@container pv (min-width:640px){.pv .subcats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pv .subcat{border:1px solid var(--li);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:4px;background:#fff}
.pv .subcat:hover{box-shadow:0 10px 24px -14px #173d5555}
.pv .sc-img{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--bg);display:grid;place-items:center;color:var(--mu)}
.pv .sc-img img{width:100%;height:100%;object-fit:cover}
.pv .sc-img svg.i{width:34px;height:34px}
.pv .subcat b{font-size:14px;color:var(--n)}
.pv .subcat small{font-size:12px;color:var(--mu)}
.pv .subcat.soon{opacity:.7}
.pv .subcat.soon small{color:var(--o2);font-weight:700}
.pv .univ{display:grid;grid-template-columns:1fr;gap:12px}
@container pv (min-width:700px){.pv .univ{grid-template-columns:repeat(3,1fr)}}
.pv .univ a{border-radius:18px;padding:18px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;position:relative;overflow:hidden}
.pv .univ b{font:800 22px/1.1 "Bricolage Grotesque",Figtree,sans-serif;color:var(--n);max-width:10em;position:relative;z-index:1}
.pv[dir="rtl"] .univ b{font-family:"IBM Plex Sans Arabic",sans-serif}
.pv .univ small{color:#34495a;position:relative;z-index:1}
.pv .univ .u-img{position:absolute;inset-inline-end:10px;bottom:10px;width:92px;height:92px;border-radius:14px;overflow:hidden;border:4px solid #fff}
.pv .univ .u-img img{width:100%;height:100%;object-fit:cover}
.pv .perkrow{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12.5px;align-items:center}
.pv .perkrow span{display:inline-flex;gap:5px;align-items:center;background:var(--bg);border-radius:99px;padding:5px 10px;color:var(--n)}
.pv .perkrow svg.i{width:15px;height:15px;color:var(--sd)}

/* FAQ (GEO) : réponses courtes, dépliables */
.pv .faqs .faq{margin-top:8px;cursor:pointer}
.pv .faqs .faq summary{list-style:none;display:flex;justify-content:space-between;gap:10px}
.pv .faqs .faq summary::-webkit-details-marker{display:none}
.pv .faqs .faq summary::after{content:"+";font-weight:800;color:var(--o,#F28C28)}
.pv .faqs .faq[open] summary::after{content:"−"}
.pv .faqs .faq p{margin:8px 0 0;font-size:14.5px;line-height:1.55}

/* Formulaire de commande COD simplifié (09/10/2026) : 4 champs, une colonne, bouton juste après l'adresse */
.pv .co-simple .co-trust{display:flex;flex-wrap:wrap;gap:8px 16px;margin:4px 0 14px;font-size:13.5px;font-weight:700;color:var(--ok,#1E8E5A)}
.pv .co-simple .co-trust span{display:inline-flex;align-items:center;gap:6px}
.pv .co-simple .co-trust .i{width:18px;height:18px}
.pv .co-simple .card2 .form{display:flex;flex-direction:column;gap:12px}
.pv .co-simple .fld input,.pv .co-simple .fld select{min-height:52px;font-size:16px}
.pv .co-simple .co-go{width:100%;min-height:56px;font-size:17px;margin-top:16px;justify-content:center}
.pv .co-simple .co-pay{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-size:13px;color:var(--mu,#667)}
.pv .co-simple .co-pay .i{width:16px;height:16px}
.pv .co-simple .co-promo{margin-top:14px;font-size:13.5px}
.pv .co-simple .co-promo summary{cursor:pointer;color:var(--sd,#0B6E99);font-weight:700}
.pv .co-simple .co-promo .promo{margin-top:8px}

/* Formulaire COD sur la fiche produit (10/10/2026) */
.pv .codf{margin-top:14px;border:2px solid var(--o,#F28C28);border-radius:16px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px;scroll-margin-top:90px}
.pv .codf-h{font-weight:800;font-size:16px;text-align:center}
.pv .codf-offers{display:flex;flex-direction:column;gap:8px}
.pv .codf-off{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;border:1.5px solid var(--li,#E3E8EE);border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:700}
.pv .codf-off input{accent-color:var(--o,#F28C28);width:18px;height:18px;margin:0}
.pv .codf-off .pr{color:var(--o2,#D9701A);font-weight:800}
.pv .codf-off .sv{grid-column:2/4;font-size:12px;color:var(--ok,#1E8E5A);font-weight:700}
.pv .codf-off.on{border-color:var(--o,#F28C28);background:#FFF6EE}
.pv .codf-f{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:14px}
.pv .codf-f small{font-weight:500;color:var(--mu,#667)}
.pv .codf-f input,.pv .codf-f select{min-height:50px;border:1.5px solid var(--li,#E3E8EE);border-radius:12px;padding:0 14px;font-size:16px;background:#fff;color:inherit;font-family:inherit}
.pv .codf-f input:focus,.pv .codf-f select:focus{outline:0;border-color:var(--o,#F28C28);box-shadow:0 0 0 3px #FDE3CC}
.pv .codf-f em{font-style:normal;color:#C62828;font-size:12.5px;font-weight:600;min-height:0}
.pv .codf-f.err input,.pv .codf-f.err select{border-color:#C62828}
.pv .codf-err{background:#FDECEB;color:#B3261E;border-radius:10px;padding:10px 12px;font-weight:600;font-size:13.5px}
.pv .codf-go{min-height:58px;font-size:18px;width:100%;justify-content:center;gap:8px;animation:codfPulse 2.4s ease-in-out infinite}
.pv .codf-go[disabled]{opacity:.7;animation:none}
@keyframes codfPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}
@media (prefers-reduced-motion:reduce){.pv .codf-go{animation:none}}
.pv .codf-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:12.5px;font-weight:700;color:var(--ok,#1E8E5A)}
.pv .codf-trust span{display:inline-flex;align-items:center;gap:5px}
.pv .codf-trust .i{width:16px;height:16px}
.pv .codf-cart{margin-top:8px;text-align:center}
.pv .codf-cart .lk{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13.5px;color:var(--sd,#0B6E99)}
.pv .codf-cart .lk .i{width:16px;height:16px}

/* Cross-sell dans le formulaire COD (10/10/2026) */
.pv .codf-bump{border:1.5px dashed var(--o,#F28C28);border-radius:12px;padding:10px;background:#FFFBF6;display:flex;flex-direction:column;gap:8px}
.pv .codf-bump-h{font-weight:800;font-size:14px}
.pv .codf-bi{display:grid;grid-template-columns:auto 54px 1fr auto;align-items:center;gap:10px;cursor:pointer;background:#fff;border:1.5px solid var(--li,#E3E8EE);border-radius:10px;padding:6px 10px}
.pv .codf-bi input{width:20px;height:20px;accent-color:var(--o,#F28C28);margin:0}
.pv .codf-bi img{width:54px;height:54px;object-fit:cover;border-radius:8px}
.pv .codf-bi .n{font-weight:700;font-size:13px;line-height:1.3;display:flex;flex-direction:column;gap:2px}
.pv .codf-bi .n small{font-weight:500;color:var(--mu,#667)}
.pv .codf-bi .p{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.pv .codf-bi .p b{color:var(--o2,#D9701A)}
.pv .codf-bi .p s{font-size:12px;color:var(--mu,#667)}
.pv .codf-bi:has(input:checked){border-color:var(--o,#F28C28);background:#FFF6EE}
/* Cross-sell page merci */
.pv .ty-x{margin-top:18px;text-align:start}
.pv .ty-x h2{font-size:18px;margin-bottom:10px}
.pv .ty-xi{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:1.5px solid var(--li,#E3E8EE);border-radius:12px;padding:8px 10px;margin-bottom:8px;background:#fff}
.pv .ty-xi img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.pv .ty-xi .n{font-weight:700;font-size:14px}
.pv .ty-xi .n s{color:var(--mu,#667);font-weight:500;font-size:12.5px;margin-inline-start:6px}
.pv .ty-xi .n b{color:var(--o2,#D9701A)}
.pv .ty-xi button{white-space:nowrap}

/* Garantie & SAV sous le formulaire (10/10/2026) */
.pv .guar{margin-top:12px;border-radius:14px;background:#EEF8F3;border:1.5px solid #CDEBDC;padding:14px;display:flex;flex-direction:column;gap:10px}
.pv .guar-h{font-weight:800;font-size:15px;color:#145A3C}
.pv .guar-r{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.pv .guar-r .i{width:22px;height:22px;color:#1E8E5A}
.pv .guar-r b{display:block;font-size:14px}
.pv .guar-r span{font-size:13px;color:var(--mu,#556);line-height:1.45}
.pv .guar .lk{font-size:13px;font-weight:700}
