:root{--navy:#06265f;--blue:#0757a6;--gold:#f6ad00;--gold-soft:#fff3cf;--ink:#10203c;--muted:#68758a;--line:#dce3ed;--paper:#fff;--cloud:#f5f7fa;--success:#16874f;--danger:#c9362b;--shadow:0 18px 50px rgba(6,38,95,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.5}
body.drawer-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
img{display:block;max-width:100%}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:#fff;padding:12px 16px;border:2px solid var(--gold);font-weight:800}.skip-link:focus{top:16px}
.announcement{min-height:36px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 20px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em}.announcement span{color:var(--gold)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.header-inner{width:min(1240px,calc(100% - 40px));height:86px;margin:auto;display:flex;align-items:center;gap:34px}
.brand{width:210px;flex:0 0 auto}.brand img{width:100%;height:70px;object-fit:contain}
.main-nav{display:flex;align-items:center;justify-content:center;gap:34px;margin-left:auto}.main-nav a{text-decoration:none;font-size:14px;font-weight:800;color:var(--navy)}.main-nav a:hover,.main-nav a:focus{color:var(--blue)}
.menu-toggle{display:none}
.cart-button{border:0;background:var(--gold);color:var(--navy);min-height:48px;padding:0 18px;font-weight:900;cursor:pointer}.cart-button span{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;min-width:24px;height:24px;background:var(--navy);color:#fff;border-radius:50%;font-size:12px}
.hero{background:var(--navy);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.95fr);min-height:650px;overflow:hidden}
.hero-copy{align-self:center;padding:90px max(48px,calc((100vw - 1240px)/2)) 90px max(48px,calc((100vw - 1240px)/2));padding-right:70px}
.eyebrow{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.16em;color:#a9c8ec}.eyebrow.gold{color:#c98600}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5vw,78px);line-height:1.03;letter-spacing:-.04em;margin:0 0 26px;max-width:780px}.hero h1 em{font-style:normal;color:var(--gold)}
.hero-lead{max-width:650px;color:#dbe8f8;font-size:18px;line-height:1.75;margin:0 0 34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid transparent;text-decoration:none;font-weight:900;cursor:pointer}.button-gold{background:var(--gold);color:var(--navy)}.button-light{border-color:#fff;background:transparent;color:#fff}.button-navy{background:var(--navy);color:#fff}.button-whatsapp{width:100%;background:#16874f;color:#fff}.button:hover{transform:translateY(-1px)}
.hero-points{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:34px 0 0;padding:0;color:#fff;font-size:13px;font-weight:800}.hero-points li{padding-left:16px;position:relative}.hero-points li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--gold);border-radius:50%}
.hero-gallery{background:var(--gold);display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:6px;padding:6px}.hero-gallery figure{position:relative;margin:0;overflow:hidden;background:#fff}.hero-gallery .hero-main{grid-row:1/3}.hero-gallery img{width:100%;height:100%;object-fit:cover}.hero-gallery figcaption{position:absolute;left:14px;bottom:14px;background:var(--navy);color:#fff;padding:8px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.category-strip{display:flex;justify-content:center;gap:1px;background:var(--navy);padding:0 max(20px,calc((100vw - 1240px)/2))}.category-strip button{flex:1;max-width:248px;min-height:70px;border:0;border-right:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font-weight:900;cursor:pointer}.category-strip button:hover,.category-strip button:focus{background:var(--gold);color:var(--navy)}
.catalogue-section{width:min(1240px,calc(100% - 40px));margin:auto;padding:100px 0}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.section-heading h2,.services h2,.contact-section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-.03em;margin:0 0 12px;color:var(--navy)}.section-heading p{margin:0;color:var(--muted)}.whatsapp-link{font-weight:900;color:var(--success);text-underline-offset:4px}
.catalogue-tools{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:14px;padding:18px;background:var(--cloud);border:1px solid var(--line);margin-bottom:32px}.catalogue-tools label{display:grid;gap:7px}.catalogue-tools label span{font-size:12px;font-weight:900;color:var(--navy)}.catalogue-tools input,.catalogue-tools select{width:100%;height:52px;padding:0 14px;border:1px solid #cbd4e0;background:#fff;color:var(--ink);outline:none}.catalogue-tools input:focus,.catalogue-tools select:focus,.order-form input:focus,.order-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,87,166,.14)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.product-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#fff;transition:.2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.product-image{aspect-ratio:1/1;background:#f7f7f7;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.product-card:hover .product-image img{transform:scale(1.035)}
.stock-badge{position:absolute;top:12px;left:12px;background:#fff;color:var(--success);border:1px solid #cce5d8;padding:6px 9px;font-size:11px;font-weight:900}.stock-badge.out{color:var(--danger);border-color:#f0c9c6}
.product-content{display:flex;flex-direction:column;flex:1;padding:18px}.product-category{font-size:11px;font-weight:900;color:var(--blue);letter-spacing:.1em;text-transform:uppercase}.product-card h3{font-size:17px;line-height:1.35;margin:8px 0 12px;color:var(--navy);min-height:46px}.product-meta{margin:0 0 16px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.product-price{font-size:20px;color:var(--navy);font-weight:900}.add-button{min-height:42px;border:0;background:var(--gold);color:var(--navy);padding:0 13px;font-weight:900;cursor:pointer}.add-button:disabled{background:#e6e9ee;color:#7d8795;cursor:not-allowed}
.empty-state{text-align:center;padding:70px 20px;background:var(--cloud)}.empty-state h3{font-size:26px;color:var(--navy);margin:0 0 6px}.empty-state p{color:var(--muted);margin:0 0 20px}.load-more{display:block;margin:36px auto 0;border:2px solid var(--navy);background:#fff;color:var(--navy);min-height:50px;padding:0 28px;font-weight:900;cursor:pointer}
.services{background:var(--cloud);padding:90px max(40px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.services-intro p:last-child{color:var(--muted);font-size:17px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd8e5}.service-list article{background:#fff;padding:34px 26px}.service-list span{display:block;color:var(--gold);font-family:Georgia,serif;font-size:38px;font-weight:900}.service-list h3{font-size:20px;color:var(--navy);margin:12px 0 8px}.service-list p{font-size:14px;color:var(--muted);margin:0}
.contact-section{background:var(--navy);color:#fff;padding:72px max(40px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-section h2{color:#fff}.contact-section p{color:#dbe8f8}.contact-actions{display:flex;gap:12px}.contact-actions a{display:block;min-width:260px;border:1px solid rgba(255,255,255,.35);padding:18px;text-decoration:none;color:#dbe8f8}.contact-actions strong{color:var(--gold);font-size:19px}
footer{background:#031b45;color:#cbd8eb;display:grid;grid-template-columns:220px 1fr auto auto;align-items:center;gap:28px;padding:30px max(40px,calc((100vw - 1240px)/2));font-size:13px}footer img{width:200px;background:#fff;padding:5px}footer a{color:#fff}
.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:90;background:#16874f;color:#fff;text-decoration:none;font-weight:900;padding:15px 20px;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.drawer-backdrop{position:fixed;inset:0;z-index:300;background:rgba(2,18,48,.62)}
.cart-drawer{position:fixed;right:0;top:0;bottom:0;z-index:310;width:min(470px,100%);background:#fff;box-shadow:-20px 0 60px rgba(6,38,95,.18);padding:26px;display:flex;flex-direction:column;transform:translateX(104%);transition:transform .25s ease;overflow-y:auto}.cart-drawer.open{transform:translateX(0)}
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.drawer-header h2{margin:0;color:var(--navy);font-family:Georgia,serif;font-size:34px}.drawer-close{border:0;background:var(--cloud);padding:10px 12px;color:var(--navy);font-weight:900;cursor:pointer}
.cart-items{display:grid;gap:14px;padding:20px 0}.cart-line{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.cart-line img{width:70px;height:70px;object-fit:cover;background:#f5f5f5}.cart-line h3{font-size:14px;line-height:1.3;color:var(--navy);margin:0 0 6px}.cart-line-price{font-size:13px;font-weight:900}.quantity-control{display:flex;align-items:center;gap:7px;margin-top:8px}.quantity-control button{width:29px;height:29px;border:1px solid var(--line);background:#fff;cursor:pointer}.remove-line{border:0;background:transparent;color:var(--danger);font-size:12px;text-decoration:underline;cursor:pointer}.cart-empty{text-align:center;padding:50px 18px;color:var(--muted)}.cart-empty h3{color:var(--navy)}
.order-form{display:grid;gap:12px;margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.order-form[hidden]{display:none}.cart-total{display:flex;align-items:center;justify-content:space-between;font-size:16px}.cart-total strong{font-size:23px;color:var(--navy)}.order-note{font-size:12px;color:var(--muted);margin:0}.order-form label{display:grid;gap:5px;font-size:12px;font-weight:900;color:var(--navy)}.order-form input,.order-form textarea{width:100%;border:1px solid #cbd4e0;padding:11px 12px;outline:none;resize:vertical}
.toast{position:fixed;left:50%;bottom:28px;z-index:500;transform:translate(-50%,30px);opacity:0;background:var(--navy);color:#fff;padding:13px 18px;font-weight:800;pointer-events:none;transition:.2s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:1050px){.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:72px 40px}.hero-gallery{height:530px}.product-grid{grid-template-columns:repeat(3,1fr)}.services{grid-template-columns:1fr;gap:35px}.contact-section{align-items:flex-start;flex-direction:column}.contact-actions{width:100%}.contact-actions a{flex:1;min-width:0}footer{grid-template-columns:190px 1fr auto}footer p:nth-of-type(2){display:none}}
@media(max-width:780px){.announcement{font-size:11px}.header-inner{width:calc(100% - 28px);height:72px;gap:12px}.brand{width:150px}.brand img{height:58px}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:#fff;min-height:42px;padding:0 12px;font-weight:900;color:var(--navy)}.main-nav{position:absolute;left:0;right:0;top:72px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px}.main-nav.open{display:flex}.main-nav a{padding:14px 4px;border-bottom:1px solid var(--line)}.cart-button{min-height:42px;padding:0 11px}.hero-copy{padding:58px 24px}.hero h1{font-size:44px}.hero-lead{font-size:16px}.hero-gallery{height:430px;grid-template-columns:1.2fr .8fr}.hero-gallery figcaption{font-size:10px}.category-strip{overflow-x:auto;justify-content:flex-start;padding:0}.category-strip button{flex:0 0 180px}.catalogue-section{width:calc(100% - 28px);padding:70px 0}.section-heading{align-items:flex-start;flex-direction:column}.catalogue-tools{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr);gap:13px}.product-content{padding:14px}.product-card h3{font-size:15px;min-height:61px}.product-price{font-size:16px}.product-bottom{align-items:stretch;flex-direction:column}.services{padding:70px 20px}.service-list{grid-template-columns:1fr}.contact-section{padding:60px 24px}.contact-actions{flex-direction:column}.contact-actions a{width:100%}footer{grid-template-columns:1fr;text-align:center;justify-items:center;padding:30px 20px}footer p:nth-of-type(2){display:block}.floating-whatsapp{right:14px;bottom:14px;padding:12px 15px}}
@media(max-width:430px){.brand{width:130px}.cart-button{font-size:12px}.cart-button span{margin-left:3px}.hero h1{font-size:38px}.hero-gallery{height:350px}.hero-gallery figcaption{left:7px;bottom:7px;padding:6px}.product-grid{grid-template-columns:1fr}.product-card h3{min-height:0}.product-bottom{flex-direction:row;align-items:center}.cart-drawer{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card,.product-image img,.cart-drawer,.toast{transition:none}}

/* Boutique v3.3 — vitrine promotionnelle */
.header-back{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:900;cursor:pointer}.header-back:hover,.header-back:focus{background:var(--cloud)}
.hero-slider{position:relative;min-height:610px;overflow:hidden;background:#031b45;color:#fff}.hero-slide{position:absolute;inset:0;display:grid;align-items:center;padding:80px max(48px,calc((100vw - 1240px)/2));opacity:0;visibility:hidden;transition:opacity .5s ease;isolation:isolate}.hero-slide:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--slide-image) 76% center/cover no-repeat}.hero-slide:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,27,69,.98) 0%,rgba(3,27,69,.88) 42%,rgba(3,27,69,.25) 70%,rgba(3,27,69,.08) 100%)}.hero-slide.active{opacity:1;visibility:visible}.hero-slide-copy{max-width:680px}.hero-slide h1,.hero-slide h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,6vw,82px);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px}.hero-slide h1 em{font-style:normal;color:var(--gold)}.hero-slide-copy>p:not(.eyebrow){max-width:580px;color:#e5edf8;font-size:18px;line-height:1.7;margin:0 0 30px}.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:64px;border:1px solid rgba(255,255,255,.35);background:rgba(3,27,69,.65);color:#fff;font-size:38px;cursor:pointer}.slider-arrow.prev{left:18px}.slider-arrow.next{right:18px}.slider-dots{position:absolute;z-index:5;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:9px}.slider-dots button{width:34px;height:5px;border:0;background:rgba(255,255,255,.42);cursor:pointer}.slider-dots button.active{background:var(--gold)}
.promo-badge{position:absolute;right:12px;top:12px;background:#d92d20;color:#fff;padding:7px 10px;font-size:12px;font-weight:900}.price-stack{display:grid;gap:1px}.old-price{font-size:12px;color:var(--muted);text-decoration:line-through}.product-card.has-discount{border-color:#f1b7b2}.product-card.has-discount .product-price{color:#b42318}
@media(max-width:780px){.header-back span{display:none}.header-back{width:42px;padding:0;justify-content:center;order:-1}.header-inner{gap:8px}.hero-slider{min-height:520px}.hero-slide{padding:64px 28px;align-items:flex-end}.hero-slide:before{background-position:62% center}.hero-slide:after{background:linear-gradient(0deg,rgba(3,27,69,.98) 0%,rgba(3,27,69,.82) 55%,rgba(3,27,69,.22) 100%)}.hero-slide h1,.hero-slide h2{font-size:44px}.hero-slide-copy>p:not(.eyebrow){font-size:15px}.slider-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Boutique v3.3.3 — rendu fiable du carrousel, même après une ancienne version en cache */
.hero-slider{display:block;min-height:610px}
.hero-slider .hero-slide{z-index:0;min-height:610px;pointer-events:none;isolation:auto}
.hero-slider .hero-slide:before{z-index:0;background-color:#031b45;background-image:var(--slide-image);background-position:76% center;background-size:cover;background-repeat:no-repeat}
.hero-slider .hero-slide:after{z-index:1}
.hero-slider .hero-slide.active{z-index:2;pointer-events:auto}
.hero-slider .hero-slide-copy{position:relative;z-index:2}
@media(max-width:780px){.hero-slider,.hero-slider .hero-slide{min-height:520px}.hero-slider .hero-slide:before{background-position:62% center}}
.hero-slide-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:76% center}.hero-slider .hero-slide:has(.hero-slide-image):before{background-image:none}.hero-slider .hero-slide:has(.hero-slide-image):after{z-index:1}
