*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:#101828;background:#fff}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.topbar{background:#071b35;color:#d9e7f8;font-size:13px}.topbar-in{display:flex;justify-content:center;gap:42px;padding:9px 0}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e9eef5}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0c1e35}.brand-mark{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#103d76,#071b35);color:#fff;font-weight:900;box-shadow:0 8px 24px rgba(15,55,103,.18)}.brand span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:20px}.brand small{margin-top:5px;font-weight:800;letter-spacing:3px;color:#d19a27;font-size:10px}.navlinks{display:flex;gap:30px}.navlinks a{color:#344054;text-decoration:none;font-weight:650;font-size:14px}.cart-btn{border:1px solid #e2e8f0;background:#fff;border-radius:13px;height:44px;padding:0 14px;cursor:pointer;font-weight:700;display:flex;align-items:center;gap:8px}.cart-btn b{background:#0f4c91;color:#fff;width:23px;height:23px;border-radius:999px;display:grid;place-items:center;font-size:12px}.hero{background:radial-gradient(circle at 88% 8%,#e6f1ff 0,transparent 32%),linear-gradient(180deg,#f7faff,#fff);padding:62px 0 58px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}.eyebrow{display:inline-block;color:#0e5aa8;font-size:12px;letter-spacing:2px;font-weight:900;margin-bottom:13px}.hero h1{font-size:clamp(42px,5vw,68px);line-height:1.02;margin:0 0 22px;letter-spacing:-2.8px;color:#0a1d35}.hero h1 em{font-style:normal;color:#0e5aa8}.hero p{font-size:18px;line-height:1.75;color:#526173}.hero-actions{display:flex;gap:12px;margin:30px 0 24px}.btn{border:0;border-radius:14px;padding:14px 20px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:#0e5aa8;color:#fff;box-shadow:0 12px 24px rgba(14,90,168,.22)}.ghost{background:#fff;color:#183452;border:1px solid #dbe4ee}.trust{display:flex;flex-wrap:wrap;gap:18px;color:#526173;font-size:14px;font-weight:650}.hero-card{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 26px 70px rgba(17,42,70,.2);aspect-ratio:1.15;background:#dbe7f4}.hero-card img{width:100%;height:100%;object-fit:cover}.floating{position:absolute;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.deal{top:18px;right:18px;padding:13px 15px;color:#0b315c}.deal b{display:block;font-size:24px}.deal small{font-size:9px;font-weight:900}.tag{left:18px;bottom:18px;padding:12px 15px;font-size:13px;font-weight:800}.benefits{border-top:1px solid #eef2f6;border-bottom:1px solid #eef2f6}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0;gap:18px}.benefit-grid>div{display:flex;align-items:center;gap:12px}.benefit-grid i{font-style:normal;font-size:22px}.benefit-grid span{display:flex;flex-direction:column}.benefit-grid small{color:#7a8798;margin-top:3px}.section{padding:78px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}.section-head h2{margin:0;font-size:34px;letter-spacing:-1.1px}.section-head p{color:#758296;margin:0;max-width:470px;text-align:right}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cat-card{padding:0;text-align:left;border:1px solid #e6edf4;border-radius:20px;background:#fff;overflow:hidden;cursor:pointer;transition:.25s;box-shadow:0 6px 20px rgba(17,42,70,.04)}.cat-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(17,42,70,.12)}.cat-img{height:180px;overflow:hidden;background:#eef3f8}.cat-img img{width:100%;height:100%;object-fit:cover}.cat-card span{display:flex;flex-direction:column;padding:17px 18px}.cat-card b{font-size:18px}.cat-card small{color:#7b8796;margin-top:5px}.catalogue{background:#f7f9fc}.catalog-tools{display:grid;grid-template-columns:1fr 220px 220px;gap:12px;margin-bottom:24px}.searchbox{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:0 14px;display:flex;align-items:center;gap:9px}.searchbox input{border:0;outline:none;width:100%;height:48px;font:inherit}.catalog-tools select{border:1px solid #dfe7ef;background:#fff;border-radius:14px;padding:0 14px;font:inherit}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid #e5ebf1;border-radius:20px;overflow:hidden;box-shadow:0 5px 18px rgba(18,41,68,.04);transition:.25s}.product-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(18,41,68,.12)}.product-media{height:220px;background:#eaf0f6;position:relative;overflow:hidden;cursor:pointer}.product-media img{width:100%;height:100%;object-fit:cover;transition:.45s}.product-card:hover .product-media img{transform:scale(1.05)}.badge{position:absolute;top:12px;left:12px;background:#0d4f95;color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900}.stock{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800;color:#207a4a}.product-body{padding:16px}.product-cat{color:#7c8998;font-size:11px;font-weight:800;text-transform:uppercase}.product-body h3{font-size:16px;line-height:1.35;margin:7px 0 9px}.price-line{display:flex;align-items:center;gap:9px;margin-bottom:14px}.price{font-size:19px;font-weight:900;color:#0c4e93}.old-price{font-size:12px;color:#9aa5b1;text-decoration:line-through}.card-actions{display:grid;grid-template-columns:1fr 46px;gap:8px}.add-btn,.detail-btn{border:0;border-radius:12px;height:43px;cursor:pointer;font-weight:800}.add-btn{background:#0d4f95;color:#fff}.detail-btn{background:#eef4fa;color:#0d4f95}.promo-band{background:linear-gradient(120deg,#061a32,#0c4e93);color:#fff;padding:58px 0}.promo-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.eyebrow.light{color:#b9d9ff}.promo-inner h2{font-size:36px;margin:0 0 10px}.promo-inner p{color:#d7e5f4}.white{background:#fff;color:#0b3a70}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.why-copy h2{font-size:38px}.why-copy p{color:#677587;line-height:1.7}.why-copy ul{line-height:2}.why-photo{border-radius:24px;overflow:hidden;aspect-ratio:1.25;box-shadow:0 25px 60px rgba(16,38,62,.16)}.why-photo img{width:100%;height:100%;object-fit:cover}footer{background:#071729;color:#cbd8e8;padding:34px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.footer-brand{color:#fff}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(5,15,29,.5);opacity:0;visibility:hidden;transition:.2s;z-index:60}.drawer-backdrop.open,.modal-backdrop.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;right:0;top:0;width:min(440px,100%);height:100vh;background:#fff;z-index:70;transform:translateX(105%);transition:.3s;display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(0,0,0,.18)}.cart-drawer.open{transform:translateX(0)}.drawer-head{padding:22px;border-bottom:1px solid #e8edf3;display:flex;justify-content:space-between;align-items:center}.drawer-head h3{font-size:26px;margin:3px 0 0}.drawer-head button,.modal-close{border:0;background:#edf2f7;width:38px;height:38px;border-radius:11px;cursor:pointer}.cart-items{padding:16px 20px;overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:74px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #eef2f6}.cart-item img{width:74px;height:68px;object-fit:cover;border-radius:12px}.cart-item h4{margin:0 0 5px;font-size:14px}.cart-item p{margin:0;color:#0d4f95;font-weight:900;font-size:13px}.qty{display:flex;align-items:center;gap:7px;margin-top:7px}.qty button{width:26px;height:26px;border:1px solid #dfe7ef;background:#fff;border-radius:8px}.remove{border:0;background:none;color:#9a4b4b}.cart-bottom{border-top:1px solid #e8edf3;padding:20px}.cart-total{display:flex;justify-content:space-between;margin-bottom:15px}.cart-total strong{font-size:22px;color:#0c4e93}.full{width:100%}.note{display:block;text-align:center;color:#7c8998;margin-top:10px}.empty{padding:50px 10px;text-align:center;color:#7b8796}.product-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);width:min(900px,calc(100% - 30px));max-height:88vh;overflow:auto;background:#fff;border-radius:24px;z-index:80;opacity:0;visibility:hidden;transition:.22s;box-shadow:0 30px 80px rgba(0,0,0,.25)}.product-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.modal-close{position:absolute;right:16px;top:16px;z-index:2}.modal-grid{display:grid;grid-template-columns:1fr 1fr}.modal-grid img{width:100%;height:100%;min-height:460px;object-fit:cover}.modal-info{padding:46px 38px}.modal-info h2{font-size:30px}.modal-info p{color:#667587;line-height:1.7}.modal-price{font-size:27px;font-weight:900;color:#0d4f95;margin:18px 0}.specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.specs span{background:#f3f6f9;border-radius:10px;padding:9px;font-size:12px;font-weight:700}@media(max-width:950px){.navlinks{display:none}.hero-grid,.why-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}.catalog-tools{grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1}.category-grid{grid-template-columns:1fr 1fr}.category-grid .cat-card:last-child{grid-column:1/-1}.footer-grid{flex-direction:column}.section-head{align-items:flex-start;flex-direction:column}.section-head p{text-align:left}.modal-grid{grid-template-columns:1fr}.modal-grid img{min-height:280px;max-height:350px}}@media(max-width:620px){.wrap{width:min(100% - 24px,1180px)}.topbar-in{gap:12px;overflow:auto;white-space:nowrap}.hero{padding-top:28px}.hero h1{font-size:42px}.hero p{font-size:16px}.hero-actions{flex-direction:column}.product-grid{grid-template-columns:1fr 1fr;gap:10px}.product-media{height:155px}.product-body{padding:12px}.product-body h3{font-size:14px}.price{font-size:15px}.old-price{display:none}.catalog-tools{grid-template-columns:1fr}.promo-inner{flex-direction:column;align-items:flex-start}.category-grid{grid-template-columns:1fr}.category-grid .cat-card:last-child{grid-column:auto}.section{padding:55px 0}.section-head h2{font-size:29px}.modal-info{padding:28px 20px}.specs{grid-template-columns:1fr}}
/* Google Sheets catalogue / multi-photo product details */
.product-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.product-thumbs button{width:64px;height:64px;border:1px solid #dfe4ea;border-radius:10px;background:#fff;padding:3px;cursor:pointer;overflow:hidden}.product-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:7px}.add-btn:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}

/* V3.4 — affichage produit adapté aux photos verticales et horizontales */
.product-media{height:240px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px}
.product-media img{width:100%;height:100%;object-fit:contain;object-position:center;transition:.35s}
.product-card:hover .product-media img{transform:scale(1.025)}
.cat-img{background:#fff;padding:12px}
.cat-img img{object-fit:contain;object-position:center}
.modal-gallery{background:#f7f9fc;padding:22px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.modal-main-image{width:100%;height:430px;min-height:0!important;object-fit:contain!important;object-position:center;background:#fff;border-radius:16px}
.product-thumbs{justify-content:center;margin-top:14px}
.product-thumbs button{width:72px;height:72px;padding:5px;background:#fff}
.product-thumbs img{object-fit:contain}
.cart-item img{object-fit:contain;background:#f7f9fc;padding:4px}
@media(max-width:950px){.modal-main-image{height:330px!important;min-height:0!important;max-height:none!important}}
@media(max-width:620px){.product-media{height:190px;padding:10px}.modal-gallery{padding:14px}.modal-main-image{height:280px!important}}


/* V3.5 — fiche produit professionnelle et galerie 3 photos */
.product-modal{width:min(1040px,calc(100% - 30px));max-height:92vh}
.product-detail-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}
.modal-image-stage{position:relative;width:100%;background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e8edf3}
.modal-main-image{border-radius:18px!important}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(15,54,95,.12);border-radius:50%;background:rgba(255,255,255,.94);color:#0b3f78;font-size:29px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(17,42,70,.14);z-index:2}
.gallery-arrow:hover{background:#0e5aa8;color:#fff}.gallery-prev{left:12px}.gallery-next{right:12px}
.gallery-counter{position:absolute;right:14px;bottom:12px;background:rgba(7,27,53,.82);color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}
.product-thumbs{gap:10px;flex-wrap:nowrap;overflow-x:auto;padding:2px 1px 5px;justify-content:flex-start}
.product-thumbs button{flex:0 0 78px;width:78px;height:78px;border:2px solid transparent;border-radius:12px;background:#fff;padding:5px;transition:.18s;opacity:.72}
.product-thumbs button:hover{opacity:1;border-color:#a8c9eb}.product-thumbs button.active{opacity:1;border-color:#0e5aa8;box-shadow:0 0 0 3px rgba(14,90,168,.1)}
.product-detail-info{padding:38px 38px 34px}.product-detail-info h2{font-size:32px;line-height:1.15;margin:9px 0 10px;color:#0a1d35}
.product-detail-eyebrow{margin:5px 0 0}.detail-badges{display:flex;flex-wrap:wrap;gap:7px;padding-right:44px}.detail-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.4px}.primary-badge{background:#0e5aa8;color:#fff}.new-badge{background:#e9f6ef;color:#19724a}.neutral-badge{background:#f1f4f8;color:#526173}
.detail-short{font-size:14px!important;line-height:1.55!important;color:#617083!important;margin:0 0 14px!important}
.detail-price-block{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:15px 0 10px}.detail-current-price{font-size:30px;font-weight:950;color:#0c4e93}.detail-old-price{font-size:14px;color:#98a2b3;text-decoration:line-through}.discount-pill{background:#fff0f0;color:#ba3434;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}
.detail-stock{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;margin-bottom:17px}.detail-stock span{width:8px;height:8px;border-radius:50%}.detail-stock.ok{background:#ecf8f1;color:#19724a}.detail-stock.ok span{background:#25a665}.detail-stock.low{background:#fff7e8;color:#9a6515}.detail-stock.low span{background:#d89320}.detail-stock.out{background:#fff0f0;color:#a83e3e}.detail-stock.out span{background:#c54e4e}
.detail-section{border-top:1px solid #edf1f5;padding-top:15px;margin-top:2px}.detail-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.7px;color:#344054;margin:0 0 10px}.detail-section p{font-size:14px;line-height:1.65;margin:0 0 12px}
.detail-specs{grid-template-columns:1fr 1fr;margin:0 0 16px}.detail-specs span{background:#f6f8fb;border:1px solid #ebeff4;padding:10px 11px;line-height:1.35}
.detail-actions{margin-top:12px}.detail-note{display:block;color:#7c8998;margin-top:9px;text-align:center}
@media(max-width:950px){.product-detail-grid{grid-template-columns:1fr}.product-detail-info{padding:28px 26px}.modal-main-image{height:390px!important}}
@media(max-width:620px){.product-modal{width:calc(100% - 16px);border-radius:18px}.product-detail-info{padding:22px 18px 24px}.product-detail-info h2{font-size:25px}.detail-current-price{font-size:24px}.modal-main-image{height:300px!important}.gallery-arrow{width:38px;height:38px}.product-thumbs button{flex-basis:64px;width:64px;height:64px}.detail-specs{grid-template-columns:1fr}}

/* V3.6 - Correction des miniatures de la galerie produit */
.product-thumbs .product-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.product-thumbs .product-thumb img{
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:7px;
}

/* V3.7 — panier et commande WhatsApp professionnelle */
.cart-ref{display:block;color:#8a96a5;font-size:10px;margin-top:3px}.cart-subtotal{display:block;color:#344054;font-size:11px;margin-top:7px}.cart-item{grid-template-columns:74px minmax(0,1fr) auto}.cart-item img{object-fit:contain!important}
.checkout-backdrop{position:fixed;inset:0;background:rgba(5,15,29,.58);opacity:0;visibility:hidden;transition:.2s;z-index:84}.checkout-backdrop.open{opacity:1;visibility:visible}
.checkout-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);width:min(760px,calc(100% - 24px));max-height:92vh;overflow:auto;background:#fff;border-radius:22px;z-index:85;opacity:0;visibility:hidden;transition:.22s;box-shadow:0 30px 90px rgba(0,0,0,.28)}.checkout-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.checkout-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #e9eef5}.checkout-head small{font-size:10px;letter-spacing:1.5px;font-weight:900;color:#0e5aa8}.checkout-head h3{margin:4px 0 0;font-size:25px}.checkout-head button{border:0;background:#edf2f7;width:38px;height:38px;border-radius:11px;cursor:pointer}
.checkout-body{display:grid;grid-template-columns:.95fr 1.05fr;gap:0}.checkout-summary{padding:24px;background:#f7f9fc;border-right:1px solid #e9eef5}.checkout-summary h4{margin:0 0 15px;font-size:15px}.checkout-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e5eaf0}.checkout-line div{min-width:0}.checkout-line b{display:block;font-size:13px}.checkout-line small{display:block;color:#748193;font-size:10px;margin-top:4px;line-height:1.4}.checkout-line strong{font-size:12px;white-space:nowrap;color:#0c4e93}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding-top:17px}.checkout-total span{font-weight:700}.checkout-total strong{font-size:20px;color:#0c4e93}
.checkout-form{padding:24px}.checkout-form>label{display:block;font-size:12px;font-weight:800;color:#344054;margin-bottom:13px}.checkout-form label span,.checkout-form legend span{color:#b42318}.checkout-form input[type="text"],.checkout-form input[type="tel"],.checkout-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #d8e0e9;border-radius:11px;padding:11px 12px;font:inherit;font-size:13px;background:#fff;outline:none}.checkout-form input:focus,.checkout-form textarea:focus{border-color:#0e5aa8;box-shadow:0 0 0 3px rgba(14,90,168,.09)}.checkout-form textarea{resize:vertical;min-height:64px}.checkout-form fieldset{border:0;padding:0;margin:0 0 14px}.checkout-form legend{font-size:12px;font-weight:800;color:#344054;margin-bottom:7px}.delivery-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.delivery-options label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid #dfe6ee;border-radius:11px;font-size:12px;font-weight:700;cursor:pointer}.delivery-options input{accent-color:#0e5aa8}.checkout-form .hidden{display:none}.checkout-warning{background:#fff4e5;color:#8a4b0f;border:1px solid #ffd8a8;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.45;margin:0 0 12px}.checkout-note{display:block;text-align:center;color:#7c8998;font-size:10px;line-height:1.5;margin-top:10px}
@media(max-width:700px){.checkout-body{grid-template-columns:1fr}.checkout-summary{border-right:0;border-bottom:1px solid #e9eef5}.checkout-modal{max-height:94vh}.delivery-options{grid-template-columns:1fr 1fr}}

/* ==========================================================
   V4.0 — responsive premium + avis clients + PWA
   ========================================================== */
:root{
  --hm-navy:#071b35;
  --hm-blue:#0b5fae;
  --hm-blue-2:#0e6dcc;
  --hm-gold:#e9a90f;
  --hm-bg:#f5f8fc;
  --hm-line:#e3eaf2;
  --hm-text:#0b1f38;
  --hm-muted:#66758a;
  --hm-radius:18px;
  --hm-shadow:0 18px 48px rgba(7,27,53,.08);
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{background:var(--hm-bg);overflow-x:hidden;padding-bottom:0}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.header{backdrop-filter:saturate(160%) blur(16px);background:rgba(255,255,255,.94)}
.nav{min-height:76px;gap:24px}
.nav-actions{display:flex;align-items:center;gap:10px}
.install-btn{border:1px solid #d8e3ef;background:#fff;color:#0b3f78;border-radius:12px;padding:11px 14px;font-weight:850;cursor:pointer;white-space:nowrap}
.install-btn:hover{background:#edf5ff;border-color:#b8d4ef}
.hero{overflow:hidden}
.hero-grid{gap:54px;align-items:center}
.hero-copy{min-width:0}.hero-copy h1{font-size:clamp(42px,5.3vw,72px);letter-spacing:-2.8px;line-height:.98}
.hero-copy p{max-width:620px}
.hero-card{box-shadow:0 32px 70px rgba(18,53,87,.16)}
.section{padding:72px 0}.section-head{gap:28px}.section-head p{max-width:430px}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{min-width:0;box-shadow:0 10px 32px rgba(26,53,83,.06);transition:transform .22s,box-shadow .22s,border-color .22s}
.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(20,54,89,.12);border-color:#d6e5f4}
.product-media{height:220px}
.product-body{padding:16px}.product-body h3{min-height:42px;line-height:1.35}
.catalog-tools{grid-template-columns:minmax(260px,1fr) 220px 220px;gap:12px;position:relative;z-index:2}
.searchbox,select{min-height:50px}
.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cat-card{box-shadow:0 10px 30px rgba(20,54,89,.055)}

/* Bouton suppression : icône seule + confirmation JS */
.remove-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:11px!important;border:1px solid #f0d4d4!important;background:#fff7f7!important;color:#a53737!important;font-size:16px!important;cursor:pointer;align-self:center}
.remove-icon:hover{background:#ffe8e8!important;border-color:#e7b5b5!important;transform:translateY(-1px)}

/* Avis clients */
.reviews-section{background:#fff}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.review-card{background:linear-gradient(180deg,#fff,#f9fbfe);border:1px solid var(--hm-line);border-radius:18px;padding:20px;box-shadow:0 12px 34px rgba(17,48,82,.055)}
.review-top{display:flex;align-items:center;gap:11px;margin-bottom:14px}.review-top>div{display:flex;flex-direction:column;gap:4px}
.review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0b5fae;color:#fff;font-weight:950}
.review-stars{font-size:13px;color:#e7a50f;letter-spacing:1px}.review-card p{margin:0;color:#526174;line-height:1.65;font-size:14px}.review-card small{display:block;margin-top:13px;color:#8995a6}
.reviews-actions{display:flex;justify-content:center;margin-top:24px}.reviews-empty{grid-column:1/-1;text-align:center;border:1px dashed #cedbea;border-radius:18px;padding:32px;background:#f8fbff}.reviews-empty-icon{font-size:34px}.reviews-empty h3{margin:8px 0 5px}.reviews-empty p{margin:0;color:#718095}
.review-backdrop{position:fixed;inset:0;background:rgba(5,15,29,.58);opacity:0;visibility:hidden;transition:.2s;z-index:92}.review-backdrop.open{opacity:1;visibility:visible}
.review-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);width:min(520px,calc(100% - 24px));max-height:92vh;overflow:auto;background:#fff;border-radius:22px;z-index:93;opacity:0;visibility:hidden;transition:.22s;box-shadow:0 30px 90px rgba(0,0,0,.28)}.review-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.review-form{padding:24px}.review-form>label{display:block;font-size:12px;font-weight:800;color:#344054;margin-bottom:15px}.review-form label span,.review-form legend span{color:#b42318}.review-form input[type="text"],.review-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #d8e0e9;border-radius:11px;padding:12px;font:inherit;font-size:13px;outline:none}.review-form textarea{resize:vertical}.review-form input:focus,.review-form textarea:focus{border-color:#0e5aa8;box-shadow:0 0 0 3px rgba(14,90,168,.09)}.review-form fieldset{border:0;padding:0;margin:0 0 15px}.review-form legend{font-size:12px;font-weight:800;margin-bottom:8px}.rating-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rating-options label{border:1px solid #dde6ef;border-radius:11px;padding:10px;text-align:center;font-size:12px;font-weight:800;cursor:pointer}.rating-options input{accent-color:#0e5aa8}

/* Toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#071b35;color:#fff;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:800;opacity:0;visibility:hidden;transition:.22s;z-index:120;box-shadow:0 14px 42px rgba(0,0,0,.2)}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* Mobile application navigation */
.mobile-nav{display:none}

/* Ecrans moyens / petits laptops */
@media(max-width:1100px){
  .wrap{width:min(100% - 32px,980px)}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-grid{gap:34px}.hero-copy h1{font-size:clamp(42px,5vw,60px)}
  .benefit-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}
}

/* Tablettes */
@media(max-width:850px){
  body{padding-bottom:74px}
  .topbar{display:none}
  .header{position:sticky;top:0;z-index:70}
  .nav{min-height:66px}.navlinks{display:none}.brand strong{font-size:18px}.brand-mark{width:40px;height:40px}
  .install-btn{padding:9px 11px;font-size:12px}.cart-btn{padding:9px 11px}.cart-btn span{display:none}
  .hero{padding-top:28px}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy p{margin-inline:auto}.hero-actions,.trust{justify-content:center}.hero-visual{max-width:680px;margin-inline:auto;width:100%}
  .benefit-grid{grid-template-columns:repeat(2,1fr)}
  .section{padding:58px 0}.section-head{align-items:flex-start}.section-head h2{font-size:32px}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-tools{grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1}
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-grid{grid-template-columns:1fr;gap:28px}.why-photo{order:-1}.why-photo img{max-height:420px}
  .footer-grid{grid-template-columns:1fr;text-align:center;justify-items:center;gap:14px}
  .mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:78;background:rgba(7,27,53,.96);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:7px;box-shadow:0 20px 50px rgba(0,0,0,.26);backdrop-filter:blur(14px)}
  .mobile-nav a,.mobile-nav button{position:relative;border:0;background:transparent;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;font-size:19px;cursor:pointer}.mobile-nav span{font-size:9px;font-weight:800;opacity:.82}.mobile-nav b{position:absolute;top:2px;right:18%;min-width:18px;height:18px;border-radius:999px;background:#e5a30e;color:#081c35;display:grid;place-items:center;font-size:9px}
  .toast{bottom:86px}
  .cart-drawer{width:min(440px,100%)}
}

/* Mobiles */
@media(max-width:560px){
  .wrap{width:calc(100% - 24px)}
  .header .wrap{width:calc(100% - 20px)}
  .nav-actions{gap:6px}.install-btn{font-size:0;width:40px;height:40px;padding:0}.install-btn::first-letter{font-size:17px}
  .hero{padding:30px 0 42px}.hero-grid{gap:27px}.hero-copy h1{font-size:clamp(38px,12vw,51px);letter-spacing:-2px}.hero-copy p{font-size:15px;line-height:1.65}.hero-actions{display:grid;grid-template-columns:1fr;gap:9px}.hero-actions .btn{width:100%}.trust{gap:10px;font-size:11px;flex-wrap:wrap}.hero-card{border-radius:20px}.floating.deal{right:10px;top:10px}.floating.tag{font-size:10px}
  .benefits{padding:17px 0}.benefit-grid{grid-template-columns:1fr 1fr;gap:10px}.benefit-grid>div{padding:10px 0}.benefit-grid i{font-size:17px}.benefit-grid b{font-size:11px}.benefit-grid small{font-size:9px}
  .section{padding:46px 0}.section-head{display:block;margin-bottom:22px}.section-head p{margin:8px 0 0;font-size:13px}.section-head h2{font-size:28px;line-height:1.15}
  .category-grid{grid-template-columns:1fr}.cat-card{display:grid;grid-template-columns:120px 1fr;min-height:115px}.cat-img{height:115px}.cat-body{align-self:center}
  .catalog-tools{grid-template-columns:1fr;gap:9px}.searchbox{grid-column:auto}.catalog-tools select,.searchbox{width:100%;min-width:0}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{border-radius:14px}.product-media{height:150px;padding:8px}.product-body{padding:11px}.product-meta{font-size:8px}.product-body h3{font-size:13px;min-height:35px;margin:7px 0}.price{font-size:16px}.old-price{font-size:9px;display:inline}.product-actions{gap:6px}.product-actions .add-btn{font-size:10px;padding:10px 7px}.product-actions .more-btn{width:36px;min-width:36px}.stock-pill{font-size:8px;padding:5px 7px}
  .promo-inner{padding:32px 0}.promo-inner h2{font-size:28px}.promo-inner .btn{width:100%;text-align:center}
  .reviews-grid{grid-template-columns:1fr}.review-card{padding:17px}.rating-options{grid-template-columns:1fr}.review-modal{border-radius:18px}
  .cart-drawer{width:100%;max-width:none;border-radius:0}.drawer-head{padding:18px}.cart-items{padding:12px}.cart-item{grid-template-columns:58px minmax(0,1fr) 38px;gap:10px;padding:11px}.cart-item img{width:58px;height:58px}.cart-item h4{font-size:12px}.cart-item p{font-size:10px}.qty button{width:29px;height:29px}.cart-bottom{padding:16px}
  .checkout-modal{width:100%;height:min(94vh,760px);max-height:94vh;top:auto;bottom:0;left:0;transform:translateY(100%);border-radius:22px 22px 0 0}.checkout-modal.open{transform:translateY(0)}.checkout-head{padding:17px}.checkout-body{display:block}.checkout-summary{padding:17px;max-height:210px;overflow:auto}.checkout-form{padding:17px}.delivery-options{grid-template-columns:1fr}
  .product-modal{width:100%;height:100%;max-height:100vh;border-radius:0}.product-detail-grid{min-height:100%}.modal-gallery{padding:10px}.modal-main-image{height:300px!important}.product-detail-info{padding:18px 15px 26px}.product-detail-info h2{font-size:24px}.detail-price-block{padding:8px 0}.detail-current-price{font-size:23px}.product-thumbs button{flex-basis:58px;width:58px;height:58px}
  .mobile-nav{left:8px;right:8px;bottom:8px;border-radius:16px}
}

/* Très petits écrans : 320–380 px */
@media(max-width:380px){
  .brand small{font-size:8px}.brand strong{font-size:16px}.brand{gap:8px}.brand-mark{width:36px;height:36px}
  .product-grid{grid-template-columns:1fr}.product-media{height:205px}.product-body h3{font-size:15px;min-height:auto}.price{font-size:18px}.product-actions .add-btn{font-size:12px}
  .benefit-grid{grid-template-columns:1fr}.cat-card{grid-template-columns:100px 1fr}.cat-img{height:105px}
}

/* Très grands écrans */
@media(min-width:1500px){
  .wrap{width:min(1360px,calc(100% - 80px))}.product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-copy h1{font-size:78px}.section{padding:86px 0}
}


/* V4.1 — Paiement Mobile Money */
.payment-section{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7}
.payment-head p{max-width:560px}
.payment-owner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:2px auto 24px;padding:12px 18px;width:max-content;max-width:100%;border:1px solid #dfe8f2;border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(16,46,80,.05);color:#5b6878;font-size:13px}.payment-owner strong{color:#102a43;font-size:14px}
.payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.payment-card{position:relative;overflow:hidden;min-height:245px;border-radius:24px;padding:24px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 45px rgba(12,34,61,.15);isolation:isolate}
.payment-card::before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-70px;top:-75px;background:rgba(255,255,255,.11);z-index:-1}.payment-card::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;left:-55px;bottom:-55px;background:rgba(255,255,255,.08);z-index:-1}
.airtel-card{background:linear-gradient(145deg,#ee1c25,#b80f17)}
.orange-card{background:linear-gradient(145deg,#ff8a00,#ff7900 55%,#dd6200);color:#111}
.yas-card{background:linear-gradient(145deg,#0b3e78,#082f62 64%,#06264e)}
.yas-card::before{background:#ffd83d;opacity:.95;width:150px;height:150px;right:-55px;top:-55px}
.payment-brand{display:flex;align-items:center;gap:13px}.operator-dot{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);font-weight:950;font-size:21px;backdrop-filter:blur(8px)}.orange-card .operator-dot{background:#111;color:#ff7900;border-color:#111}.yas-card .operator-dot{background:#ffd83d;color:#0b3e78;border-color:#ffd83d}.payment-brand small{display:block;font-size:9px;letter-spacing:1.8px;font-weight:900;opacity:.78}.payment-brand h3{font-size:21px;margin:3px 0 0;letter-spacing:-.4px}
.payment-number{margin:28px 0 18px}.payment-number span{display:block;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.72;margin-bottom:5px}.payment-number strong{display:block;font-size:clamp(24px,2.2vw,31px);letter-spacing:.4px;white-space:nowrap}
.payment-copy{width:100%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:inherit;border-radius:13px;padding:12px 14px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}.payment-copy:hover{transform:translateY(-1px);background:rgba(255,255,255,.22)}.orange-card .payment-copy{background:#111;color:#fff;border-color:#111}.orange-card .payment-copy:hover{background:#262626}.yas-card .payment-copy{background:#ffd83d;color:#0b3e78;border-color:#ffd83d}.yas-card .payment-copy:hover{background:#ffe36d}
.payment-safety{margin-top:20px;display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:#fff8e8;border:1px solid #f6d98e;border-radius:16px;color:#67501c}.payment-safety>span{font-size:20px}.payment-safety p{margin:0;font-size:12px;line-height:1.65}.payment-safety b,.payment-safety strong{color:#493708}
.checkout-payment-link{color:#0e5aa8;font-weight:850;text-decoration:none}.checkout-payment-link:hover{text-decoration:underline}
@media(max-width:900px){.payment-grid{grid-template-columns:1fr 1fr}.payment-card:last-child{grid-column:1/-1}.payment-card{min-height:225px}}
@media(max-width:620px){.payment-grid{grid-template-columns:1fr;gap:13px}.payment-card:last-child{grid-column:auto}.payment-card{min-height:210px;border-radius:19px;padding:20px}.payment-number{margin:22px 0 15px}.payment-number strong{font-size:27px}.payment-owner{width:100%;border-radius:14px;text-align:center}.payment-safety{padding:14px}.payment-brand h3{font-size:19px}}


/* ==========================================================
   V4.2 — INTERFACE PREMIUM + MOTION SYSTEM + ACCESSIBILITÉ
   ========================================================== */
:root{--hm-blue:#0e5aa8;--hm-blue-deep:#071b35;--hm-gold:#d5a438;--hm-ink:#0a1d35;--hm-soft:#f6f9fd;--hm-line:#e4ebf3;--hm-shadow:0 24px 70px rgba(7,31,58,.12);--ease-premium:cubic-bezier(.22,1,.36,1)}
body{overflow-x:hidden;background:linear-gradient(180deg,#fff 0%,#fbfdff 45%,#fff 100%)}
::selection{background:#cfe5ff;color:#071b35}
.header{transition:box-shadow .3s var(--ease-premium),background .3s}.header.is-scrolled{background:rgba(255,255,255,.88);box-shadow:0 10px 35px rgba(7,31,58,.09)}
.navlinks a{position:relative;transition:color .25s}.navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;border-radius:9px;background:linear-gradient(90deg,var(--hm-blue),var(--hm-gold));transition:right .3s var(--ease-premium)}.navlinks a:hover{color:var(--hm-blue)}.navlinks a:hover::after{right:0}
.brand-mark{position:relative;overflow:hidden;transition:transform .35s var(--ease-premium),box-shadow .35s}.brand:hover .brand-mark{transform:translateY(-2px) rotate(-2deg);box-shadow:0 14px 34px rgba(15,55,103,.26)}.brand-mark::after{content:"";position:absolute;inset:-60% auto -60% -75%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(20deg);animation:brandShine 6s ease-in-out infinite}
@keyframes brandShine{0%,72%{left:-75%}86%,100%{left:145%}}
.hero{position:relative;isolation:isolate;background:radial-gradient(circle at 88% 8%,#e4f0ff 0,transparent 31%),radial-gradient(circle at 12% 74%,rgba(213,164,56,.08),transparent 28%),linear-gradient(180deg,#f7faff,#fff)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none;z-index:-1;opacity:.5}.orb-one{width:260px;height:260px;right:-90px;top:80px;background:radial-gradient(circle,rgba(47,137,229,.18),transparent 70%);animation:floatOrb 9s ease-in-out infinite}.orb-two{width:180px;height:180px;left:-70px;bottom:10px;background:radial-gradient(circle,rgba(213,164,56,.15),transparent 70%);animation:floatOrb 11s ease-in-out infinite reverse}@keyframes floatOrb{50%{transform:translate3d(18px,-22px,0) scale(1.06)}}
.hero-copy>*{opacity:0;transform:translateY(18px);animation:heroRise .75s var(--ease-premium) forwards}.hero-copy>.eyebrow{animation-delay:.06s}.hero-copy>h1{animation-delay:.14s}.hero-copy>p{animation-delay:.23s}.hero-copy>.hero-actions{animation-delay:.32s}.hero-copy>.trust{animation-delay:.41s}@keyframes heroRise{to{opacity:1;transform:none}}
.hero-card{transform:perspective(1200px) rotateY(-1.5deg) rotateX(.5deg);animation:heroVisualIn .9s .18s var(--ease-premium) both;transition:transform .45s var(--ease-premium),box-shadow .45s}.hero-card:hover{transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-5px);box-shadow:0 38px 85px rgba(17,42,70,.24)}@keyframes heroVisualIn{from{opacity:0;transform:translateX(28px) scale(.97)}to{opacity:1;transform:perspective(1200px) rotateY(-1.5deg) rotateX(.5deg)}}
.floating{animation:softFloat 4.8s ease-in-out infinite}.floating.tag{animation-delay:-2.1s}@keyframes softFloat{50%{transform:translateY(-7px)}}
.btn,.cart-btn,.install-btn,.add-btn,.detail-btn,.payment-copy{position:relative;overflow:hidden;transition:transform .22s var(--ease-premium),box-shadow .22s,background .22s,border-color .22s}.btn:hover,.cart-btn:hover,.install-btn:hover,.add-btn:not(:disabled):hover,.detail-btn:hover{transform:translateY(-2px)}.primary:hover,.add-btn:not(:disabled):hover{box-shadow:0 15px 32px rgba(14,90,168,.27)}
.benefit-grid>div{padding:10px 12px;border-radius:16px;transition:background .25s,transform .25s}.benefit-grid>div:hover{background:#f7faff;transform:translateY(-2px)}
.section-head h2{color:var(--hm-ink)}.section-head .eyebrow{position:relative}.section-head .eyebrow::after{content:"";display:inline-block;width:24px;height:2px;margin-left:9px;vertical-align:middle;background:var(--hm-gold);border-radius:5px}
.cat-card,.product-card,.review-card,.payment-card{will-change:transform}.cat-card:hover,.product-card:hover{transform:translateY(-7px)}
.cat-img img{transition:transform .6s var(--ease-premium),filter .4s}.cat-card:hover .cat-img img{transform:scale(1.045);filter:saturate(1.06)}
.product-card{position:relative}.product-card::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(14,90,168,0);transition:box-shadow .3s}.product-card:hover::before{box-shadow:inset 0 0 0 1px rgba(14,90,168,.14)}.product-card>*{position:relative;z-index:1}
.product-media{background:linear-gradient(145deg,#f4f8fc,#eaf1f8)}.product-media img{transition:transform .55s var(--ease-premium)}.product-card:hover .product-media img{transform:scale(1.035)}
.badge{box-shadow:0 8px 20px rgba(13,79,149,.18)}.stock{box-shadow:0 8px 18px rgba(20,71,45,.08)}
.payment-card{transition:transform .3s var(--ease-premium),box-shadow .3s}.payment-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(10,32,55,.18)}
.promo-band{position:relative;overflow:hidden;background:linear-gradient(120deg,#061a32,#0c4e93 72%,#155f9f)}.promo-band::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-190px;background:rgba(255,255,255,.07);animation:promoPulse 7s ease-in-out infinite}@keyframes promoPulse{50%{transform:scale(1.18);opacity:.55}}
.why-photo img{transition:transform .75s var(--ease-premium)}.why-photo:hover img{transform:scale(1.04)}
/* Scroll reveal. Content remains visible if JS is disabled. */
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-premium),transform .7s var(--ease-premium)}.reveal-ready.revealed{opacity:1;transform:none}.reveal-ready[data-reveal="left"]{transform:translateX(-28px)}.reveal-ready[data-reveal="right"]{transform:translateX(28px)}.reveal-ready.revealed[data-reveal]{transform:none}
/* Better keyboard/accessibility states */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(14,90,168,.32);outline-offset:3px}.skip-link{position:fixed;left:12px;top:-80px;z-index:999;background:#071b35;color:#fff;padding:11px 15px;border-radius:10px;text-decoration:none;font-weight:800;transition:top .2s}.skip-link:focus{top:12px}
@media(max-width:850px){.hero-card{transform:none}.hero-card:hover{transform:translateY(-3px)}.floating{animation:none}.reveal-ready[data-reveal]{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal-ready{opacity:1!important;transform:none!important}}

/* V4.3 - official HM Vente logo */
.brand-logo{display:flex;align-items:center;line-height:0}
.brand-logo img{display:block;width:auto;height:66px;object-fit:contain;border-radius:12px;box-shadow:0 8px 24px rgba(4,31,68,.14);transition:transform .3s ease,filter .3s ease}
.brand-logo:hover img{transform:translateY(-2px) scale(1.02);filter:saturate(1.05)}
.footer-brand.brand-logo img{height:76px;box-shadow:none}
@media (max-width:760px){.brand-logo img{height:52px;border-radius:9px}.footer-brand.brand-logo img{height:62px}}
@media (max-width:390px){.brand-logo img{height:46px}}

/* V4.4 — pages produits individuelles */
.product-link{display:block;text-decoration:none;color:inherit}
.product-title-link{color:inherit;text-decoration:none}.product-title-link:hover{color:#0d5daa}
.detail-link{display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px}
.product-page{background:linear-gradient(180deg,#f6f9fd 0,#fff 42%);min-height:70vh}
.product-page-shell{padding:42px 0 78px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#6e7c8f;font-size:13px;margin-bottom:22px}
.breadcrumbs a{color:#0d5daa;text-decoration:none;font-weight:750}.breadcrumbs a:hover{text-decoration:underline}
.product-page-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:44px;align-items:start}
.product-page-gallery{position:sticky;top:104px;min-width:0}
.product-page-stage{position:relative;aspect-ratio:1.12;background:#fff;border:1px solid #e1e9f2;border-radius:26px;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;box-shadow:0 18px 50px rgba(12,48,87,.08)}
.product-page-stage img{width:100%;height:100%;object-fit:contain;display:block}
.product-page-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,100px));gap:10px;margin-top:14px}
.product-page-thumb{aspect-ratio:1;border:2px solid transparent;background:#fff;border-radius:14px;padding:7px;cursor:pointer;overflow:hidden;box-shadow:0 8px 22px rgba(15,49,84,.06)}
.product-page-thumb.active{border-color:#0d63b8}.product-page-thumb img{width:100%;height:100%;object-fit:contain}
.product-page-info{background:#fff;border:1px solid #e6edf5;border-radius:26px;padding:32px;box-shadow:0 18px 50px rgba(12,48,87,.07)}
.product-page-info h1{font-size:clamp(30px,3.2vw,48px);line-height:1.08;letter-spacing:-1.4px;margin:10px 0 12px;color:#071d38}
.product-page-intro{font-size:16px;line-height:1.7;color:#68778a;margin:0 0 20px}
.product-page-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:22px 0 12px}.product-page-price strong{font-size:clamp(28px,3vw,40px);color:#0b559e}.product-page-price del{color:#98a5b4}
.product-page-stock{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;font-weight:850;font-size:12px;background:#eaf9f0;color:#187644}.product-page-stock.out{background:#fff0f0;color:#a33636}.product-page-stock.low{background:#fff7e6;color:#995c00}
.product-page-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin:24px 0}.product-page-actions .btn{min-height:50px}.share-product{border:1px solid #dbe6f1;background:#fff;border-radius:14px;padding:0 16px;font-weight:800;cursor:pointer;color:#0c4e93}
.product-page-section{border-top:1px solid #edf1f6;padding-top:22px;margin-top:22px}.product-page-section h2{font-size:17px;text-transform:uppercase;letter-spacing:.45px;margin:0 0 12px}.product-page-section p{line-height:1.75;color:#627287}
.product-page-specs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.product-page-specs span{background:#f4f7fb;border:1px solid #e5ecf4;padding:11px 12px;border-radius:12px;font-size:13px;font-weight:750}
.product-page-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.product-page-trust div{background:#f8fafc;border-radius:12px;padding:12px;text-align:center;font-size:11px;color:#627287}.product-page-trust b{display:block;color:#102e50;font-size:12px;margin-bottom:3px}
.product-page-loading,.product-page-error{padding:80px 20px;text-align:center;color:#718095}.product-page-error h1{color:#0b2543}
@media(max-width:900px){.product-page-grid{grid-template-columns:1fr;gap:24px}.product-page-gallery{position:static}.product-page-info{padding:24px}.product-page-stage{aspect-ratio:1.2}}
@media(max-width:560px){.product-page-shell{padding:24px 0 90px}.product-page-stage{aspect-ratio:1;padding:14px;border-radius:18px}.product-page-info{border-radius:18px;padding:19px}.product-page-info h1{font-size:30px}.product-page-specs{grid-template-columns:1fr}.product-page-actions{grid-template-columns:1fr}.share-product{min-height:48px}.product-page-trust{grid-template-columns:1fr 1fr}.product-page-thumbs{grid-template-columns:repeat(3,78px)}}


/* ==========================================================
   V5.0 — finition production, accessibilité et stabilité UI
   ========================================================== */
.skip-link{position:fixed;left:14px;top:10px;z-index:9999;transform:translateY(-160%);background:#071b35;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.skip-link:focus{transform:translateY(0)}
.noscript-banner{background:#fff4e5;color:#7a4207;border-bottom:1px solid #ffd49b;padding:12px 18px;text-align:center;font-weight:700}
:focus-visible{outline:3px solid rgba(14,109,204,.45);outline-offset:3px}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.58;box-shadow:none!important;transform:none!important}
img{max-width:100%}
.product-card,.cat-card,.payment-card,.review-card{content-visibility:auto;contain-intrinsic-size:320px}
@media (prefers-reduced-data: reduce){.hero-card img,.why-photo img{filter:none}.reveal-ready{transition:none!important}}
@media print{.header,.topbar,.mobile-nav,.cart-drawer,.drawer-backdrop,.product-modal,.modal-backdrop,.checkout-modal,.checkout-backdrop,.review-modal,.review-backdrop,.install-btn{display:none!important}.section{padding:24px 0}body{background:#fff}.wrap{width:100%}}

/* ==========================================================
   V5.3 — Filtre budget + correction panier mobile
   ========================================================== */
.budget-filter{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:auto minmax(150px,1fr) auto minmax(150px,1fr) auto;
  align-items:end;
  gap:10px;
  padding:12px 14px;
  background:#fff;
  border:1px solid #dfe7ef;
  border-radius:14px;
}
.budget-title{align-self:center;font-weight:900;color:#183452;white-space:nowrap}
.budget-filter label{display:grid;gap:5px;min-width:0}
.budget-filter label span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:#7c8998}
.budget-filter input{
  width:100%;min-width:0;height:42px;border:1px solid #dfe7ef;border-radius:11px;
  padding:0 12px;background:#f9fbfd;color:#101828;font:inherit;outline:none
}
.budget-filter input:focus{border-color:#0e5aa8;box-shadow:0 0 0 3px rgba(14,90,168,.11);background:#fff}
.budget-separator{align-self:center;color:#7c8998;font-weight:800}
.budget-clear{
  height:42px;border:1px solid #dfe7ef;border-radius:11px;padding:0 14px;
  background:#eef4fa;color:#0d4f95;font-weight:800;cursor:pointer
}
.budget-clear:hover{background:#e4eff9}
.catalog-result-info{min-height:20px;margin:-12px 0 18px;color:#667587;font-size:12px;font-weight:700}

/* Le panier doit rester au-dessus de la navigation mobile. */
.cart-drawer{height:100dvh;max-height:100dvh}
.cart-bottom{background:#fff;flex:0 0 auto}

@media(max-width:820px){
  .budget-filter{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}
  .budget-title{grid-column:1/-1}
  .budget-clear{grid-column:1/-1;width:100%}
}

@media(max-width:560px){
  .budget-filter{grid-template-columns:1fr auto 1fr;padding:11px;gap:8px}
  .budget-title{grid-column:1/-1}
  .budget-filter label{min-width:0}
  .budget-filter input{height:44px;padding:0 9px;font-size:14px}
  .budget-clear{grid-column:1/-1;height:40px}
  .catalog-result-info{margin:-7px 2px 16px;font-size:11px}

  /* Lorsque le panier est ouvert, la barre mobile disparaît au lieu de recouvrir WhatsApp. */
  .cart-drawer.open ~ .mobile-nav{display:none!important}
  .cart-drawer{z-index:90;height:100dvh;max-height:100dvh;overflow:hidden}
  .cart-items{min-height:0;overscroll-behavior:contain;padding-bottom:18px}
  .cart-bottom{
    position:relative;z-index:2;
    padding:14px 16px calc(16px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 24px rgba(17,42,70,.06)
  }
  .cart-bottom .btn{min-height:48px}
  .cart-total{margin-bottom:10px}
  .cart-total strong{font-size:20px}
}

/* ============================================================
   V5.4 — Correctif définitif panier mobile
   La navigation inférieure disparaît dès que le panier est ouvert.
   Le bouton WhatsApp reste toujours visible au-dessus de la zone sûre.
   ============================================================ */
body.cart-open{overflow:hidden}
body.cart-open .mobile-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}

@media (max-width: 760px){
  .cart-drawer,
  .cart-drawer.open{
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    z-index:9999!important;
    overflow:hidden!important;
  }

  .drawer-backdrop.open{z-index:9998!important}

  .cart-items{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:20px!important;
  }

  .cart-bottom{
    position:sticky!important;
    bottom:0!important;
    z-index:10000!important;
    flex:0 0 auto!important;
    background:#fff!important;
    padding:14px 16px max(18px, env(safe-area-inset-bottom))!important;
    box-shadow:0 -8px 24px rgba(17,42,70,.10)!important;
  }

  .cart-bottom .btn,
  #whatsappOrder{
    display:flex!important;
    width:100%!important;
    min-height:52px!important;
    position:relative!important;
    z-index:10001!important;
  }
}


/* ============================================================
   V5.5 — Checkout mobile au-dessus de tout
   ============================================================ */
@media (max-width: 760px){
  .checkout-backdrop.open{
    z-index:10020!important;
  }
  .checkout-modal{
    z-index:10021!important;
  }
  .checkout-modal.open{
    z-index:10021!important;
  }
}
