

/* ---------- TOKENS ---------- */
:root{
  --white:#FFFFFF;
  --ink:#111111;
  --ink-2:#1a1a1a;
  --gray-50:#F7F7F9;
  --gray-100:#EFEFF2;
  --gray-200:#E4E4E8;
  --gray-300:#D1D1D6;
  --gray-500:#8A8A92;
  --gray-700:#4A4A52;
  --magenta:#E32285;
  --magenta-dark:#C71A73;
  --yellow:#FFD207;
  --yellow-dark:#E6BC00;
  --cyan:#29ABE3;
  --sans: 'Inter', system-ui, sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --maxw: 1280px;
  --pad: clamp(20px, 4vw, 56px);
  --radius: 6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-size:15px;
  line-height:1.5;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img,svg{display:block;max-width:100%}
ul{list-style:none}

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}

/* ---------- 1. TOP BAR ---------- */
.topbar{
  background:var(--ink);
  color:#fff;
  font-size:12.5px;
  font-weight:500;
}
.topbar .container{
  height:34px;
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.topbar-item{display:inline-flex;align-items:center;gap:8px;color:#e4e4e8}
.topbar-item svg{width:13px;height:13px;flex:0 0 13px}
.topbar-spacer{flex:1}
.topbar-right{display:flex;gap:18px}
.topbar-right a{font-size:12px;color:#bfbfc6;letter-spacing:.02em}
.topbar-right a:hover{color:#fff}
@media (max-width:780px){
  .topbar{font-size:11.5px}
  .topbar .container{gap:16px;height:auto;padding-top:8px;padding-bottom:8px}
  .topbar-right{display:none}
}

/* ---------- 2. HEADER ---------- */
.header{
  position:sticky;top:0;z-index:50;
  background:#fff;
  border-bottom:1px solid var(--gray-200);
}
.header .container{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:32px;
  align-items:center;
  padding-top:14px;
  padding-bottom:14px;
}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:52px;width:auto}
.search{
  display:flex;
  align-items:center;
  background:var(--gray-50);
  border:1px solid var(--gray-200);
  border-radius:999px;
  padding:6px 6px 6px 20px;
  transition:border-color .15s, background .15s;
  max-width:520px;
  width:100%;
  justify-self:center;
}
.search:focus-within{border-color:var(--ink);background:#fff}
.search input{
  flex:1;border:none;outline:none;background:transparent;
  font:500 14px var(--sans);color:var(--ink);
  padding:6px 0;
}
.search input::placeholder{color:var(--gray-500);font-weight:400}
.search-btn{
  width:36px;height:36px;border-radius:50%;
  background:var(--magenta);color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.search-btn:hover{background:var(--magenta-dark)}
.search-btn svg{width:16px;height:16px}
.header-right{display:flex;align-items:center;gap:22px}
.header-right .link{
  font-size:13px;font-weight:500;color:var(--gray-700);
  display:inline-flex;align-items:center;gap:6px;
}
.header-right .link:hover{color:var(--ink)}
.icon-btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  color:var(--ink);
  transition:background .15s;
}
.icon-btn:hover{background:var(--gray-50)}
.icon-btn svg{width:20px;height:20px}
.cart-badge{
  position:absolute;top:2px;right:0;
  min-width:18px;height:18px;padding:0 5px;
  background:var(--magenta);color:#fff;
  font:700 10px/18px var(--sans);
  text-align:center;border-radius:9px;
  border:2px solid #fff;
}
@media (max-width:880px){
  .header .container{grid-template-columns:auto 1fr;gap:16px}
  .search{order:3;grid-column:1/-1;max-width:none}
  .header-right .link{display:none}
}

/* ---------- 3. NAV MENU ---------- */
.nav{
  background:var(--ink);
  color:#fff;
  position:relative;
  z-index:40;
}
.nav .container{
  display:flex;
  align-items:stretch;
  gap:0;
  height:48px;
}
.nav-list{display:flex;flex:1;gap:2px;align-items:stretch;overflow:hidden}
.nav-item{position:relative;display:flex;align-items:center}
.nav-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:0 14px;height:100%;
  font:600 12.5px var(--sans);
  color:#fff;letter-spacing:.02em;
  white-space:nowrap;
  transition:background .15s;
}
.nav-link:hover{background:#222}
.nav-link .chev{
  width:9px;height:9px;
  transition:transform .2s;
}
.nav-item:hover .chev{transform:rotate(180deg)}
.nav-link.active{color:var(--yellow)}
.submenu{
  position:absolute;top:100%;left:0;
  min-width:280px;
  background:#fff;color:var(--ink);
  border:1px solid var(--gray-200);
  border-top:3px solid var(--magenta);
  box-shadow:0 12px 40px rgba(0,0,0,.08);
  padding:14px;
  display:none;
  flex-direction:column;
  gap:2px;
}
.nav-item:hover .submenu{display:flex}
.submenu a{
  font:500 13px var(--sans);
  padding:8px 12px;
  border-radius:4px;
  color:var(--ink);
}
.submenu a:hover{background:var(--gray-50);color:var(--magenta)}
.nav-cta{
  align-self:stretch;
  display:inline-flex;align-items:center;gap:8px;
  background:var(--yellow);color:var(--ink);
  font:800 12.5px var(--sans);
  letter-spacing:.04em;
  padding:0 22px;
  transition:background .15s;
}
.nav-cta:hover{background:var(--yellow-dark)}
.nav-cta svg{width:14px;height:14px}
@media (max-width:980px){
  .nav-list{overflow-x:auto;scrollbar-width:none}
  .nav-list::-webkit-scrollbar{display:none}
  .nav-cta{padding:0 14px;font-size:11.5px}
}

/* ---------- 4. HERO SLIDER ---------- */
.hero{
  background:#fff;
  border-bottom:1px solid var(--gray-200);
  position:relative;
}
.hero-track{
  position:relative;
  overflow:hidden;
  height:480px;
}
.slide{
  position:absolute;inset:0;
  display:flex;
  opacity:0;
  pointer-events:none;
  transition:opacity .6s ease;
}
.slide.active{opacity:1;pointer-events:auto}
.slide .container{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  padding-top:40px;
  padding-bottom:40px;
}

/* Slide 1 */
.slide-1 .surtitle{
  font:800 11px var(--sans);
  color:var(--magenta);
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:18px;
  display:inline-flex;align-items:center;gap:10px;
}
.slide-1 .surtitle::before{
  content:"";width:24px;height:2px;background:var(--magenta);
}
.slide-1 h1{
  font:800 56px/1.02 var(--sans);
  letter-spacing:-.025em;
  color:var(--ink);
  margin-bottom:22px;
}
.slide-1 h1 em{
  font-style:normal;color:var(--magenta);
}
.slide-1 .sub{
  font-size:16px;color:var(--gray-700);
  max-width:480px;margin-bottom:32px;
}
.slide-1 .actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font:700 13.5px var(--sans);
  letter-spacing:.03em;
  padding:14px 22px;
  border-radius:var(--radius);
  transition:all .15s;
  text-transform:uppercase;
}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#333}
.btn-magenta{background:var(--magenta);color:#fff}
.btn-magenta:hover{background:var(--magenta-dark)}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-yellow:hover{background:var(--yellow-dark)}
.btn-outline{
  background:#fff;color:var(--ink);
  border:1.5px solid var(--ink);
}
.btn-outline:hover{background:var(--ink);color:#fff}

/* Slide 1 visual — stacked cards mockup */
.cards-mockup{
  position:relative;
  width:100%;height:380px;
  display:flex;align-items:center;justify-content:center;
}
.bizcard{
  position:absolute;
  width:280px;height:170px;
  border-radius:8px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.25), 0 8px 20px rgba(0,0,0,.08);
  background:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:20px;
  overflow:hidden;
}
.bizcard.b1{
  background:linear-gradient(135deg, #111 0%, #2a2a2a 100%);
  color:#fff;
  transform:rotate(-8deg) translate(-50px, 30px);
}
.bizcard.b2{
  background:#fff;
  transform:rotate(4deg) translate(20px, -20px);
  border:1px solid var(--gray-200);
}
.bizcard.b3{
  background:var(--magenta);
  color:#fff;
  transform:rotate(-3deg) translate(100px, 60px);
}
.bizcard .bc-name{font:800 16px/1.1 var(--sans);letter-spacing:-.01em}
.bizcard .bc-role{font:500 11px var(--sans);opacity:.7;margin-top:2px}
.bizcard .bc-foot{font:500 10px var(--mono);opacity:.6;letter-spacing:.04em}
.bizcard .bc-mark{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:900 18px var(--sans);
  background:rgba(255,255,255,.12);
}
.bizcard.b2 .bc-mark{background:var(--ink);color:#fff}
.bizcard.b3 .bc-mark{background:rgba(255,255,255,.2)}
.bizcard .bc-dots{display:flex;gap:3px}
.bizcard .bc-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}

/* Slide 2 — 24H typo */
.slide-2 .container{grid-template-columns:1fr;text-align:center;padding-top:30px;padding-bottom:30px}
.slide-2 .label{
  font:700 11px var(--sans);
  color:var(--magenta);letter-spacing:.22em;text-transform:uppercase;
  margin-bottom:8px;
}
.slide-2 .giant{
  font:900 260px/.85 var(--sans);
  letter-spacing:-.06em;
  color:var(--ink);
  position:relative;
  display:inline-block;
  margin:0 auto;
}
.slide-2 .fish-c{
  position:absolute;
  width:48px;height:48px;
  top:18px;left:-28px;
  color:var(--cyan);
}
.slide-2 .fish-m{
  position:absolute;
  width:48px;height:48px;
  bottom:8px;right:-12px;
  color:var(--magenta);
}
.slide-2 h2{
  font:800 28px var(--sans);
  letter-spacing:-.02em;
  margin-top:-8px;
}
.slide-2 .meta{
  font-size:13px;color:var(--gray-500);
  margin-top:10px;margin-bottom:22px;
  font-family:var(--mono);
  letter-spacing:.02em;
}
@media (max-width:780px){
  .slide-2 .giant{font-size:180px}
}

/* Slide 3 — Atelier */
.slide-3 .container{grid-template-columns:1.5fr 1fr;align-items:center}
.slide-3 .pasteur{
  font:900 92px/.92 var(--sans);
  letter-spacing:-.04em;
  color:var(--ink);
  margin-bottom:18px;
}
.slide-3 .pasteur span{display:block}
.slide-3 .sub{
  font:500 17px var(--sans);
  color:var(--gray-700);
  margin-bottom:28px;
}
.slide-3 .sub em{font-style:normal;color:var(--magenta);font-weight:700}
.badge-stack{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;
  border:1.5px solid var(--ink);
  border-radius:999px;
  font:700 13px var(--sans);letter-spacing:.04em;
  background:#fff;
}
.badge.stars{background:var(--ink);color:#fff}
.badge.stars .stars-row{display:inline-flex;gap:2px;color:var(--yellow)}
.badge.stars svg{width:13px;height:13px;fill:currentColor}
@media (max-width:780px){
  .slide-3 .pasteur{font-size:48px}
  .slide-3 .container{grid-template-columns:1fr}
}

/* Slider controls */
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:#fff;border:1px solid var(--gray-200);
  display:flex;align-items:center;justify-content:center;
  z-index:5;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  transition:all .15s;
}
.hero-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero-arrow.prev{left:18px}
.hero-arrow.next{right:18px}
.hero-arrow svg{width:16px;height:16px}
.hero-dots{
  position:absolute;
  bottom:20px;left:50%;transform:translateX(-50%);
  display:flex;gap:8px;z-index:5;
}
.hero-dots button{
  width:8px;height:8px;border-radius:50%;
  background:var(--gray-300);
  transition:all .2s;
}
.hero-dots button.active{
  background:var(--ink);width:24px;border-radius:4px;
}
@media (max-width:780px){
  .hero-track{height:auto;min-height:560px}
  .slide-1 h1{font-size:36px}
  .slide .container{grid-template-columns:1fr;gap:30px}
  .cards-mockup{height:260px}
  .hero-arrow{display:none}
}

/* ---------- 5. USPS ---------- */
.usps{background:var(--gray-50);padding:36px 0;border-bottom:1px solid var(--gray-200)}
.usps-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
}
.usp{display:flex;align-items:flex-start;gap:14px}
.usp-icon{
  width:42px;height:42px;flex:0 0 42px;
  border-radius:8px;
  background:#fff;
  border:1px solid var(--gray-200);
  display:flex;align-items:center;justify-content:center;
  color:var(--ink);
}
.usp-icon svg{width:20px;height:20px}
.usp h3{font:800 14px var(--sans);letter-spacing:-.005em;margin-bottom:2px}
.usp p{font-size:12.5px;color:var(--gray-500)}
@media (max-width:780px){.usps-grid{grid-template-columns:repeat(2,1fr);gap:20px}}

/* ---------- 6. BESTSELLERS ---------- */
.section{padding:72px 0}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:36px;gap:24px;flex-wrap:wrap;
}
.section-head h2{
  font:800 36px var(--sans);letter-spacing:-.025em;
}
.section-head .sub{
  font-size:14px;color:var(--gray-500);margin-top:6px;
}
.section-controls{display:flex;gap:8px}
.ctrl-arrow{
  width:42px;height:42px;border-radius:50%;
  background:#fff;border:1px solid var(--gray-200);
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.ctrl-arrow:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}
.ctrl-arrow:disabled{opacity:.35;cursor:not-allowed}
.ctrl-arrow svg{width:15px;height:15px}

.products{
  display:flex;gap:20px;
  overflow-x:auto;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:8px;
}
.products::-webkit-scrollbar{display:none}
.product{
  flex:0 0 280px;
  scroll-snap-align:start;
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:8px;
  display:flex;flex-direction:column;
  overflow:hidden;
  transition:box-shadow .2s, transform .2s;
}
.product:hover{
  box-shadow:0 14px 40px -16px rgba(0,0,0,.18);
  transform:translateY(-3px);
}
.product-img{
  aspect-ratio:1;
  background:var(--gray-50);
  position:relative;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.product-img .tag{
  position:absolute;top:12px;left:12px;
  background:var(--ink);color:#fff;
  font:800 9.5px var(--sans);letter-spacing:.1em;
  padding:5px 8px;border-radius:3px;
}
.product-img .tag.promo{background:var(--magenta)}
.product-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.product-cat{
  font:700 10.5px var(--sans);
  color:var(--gray-500);
  letter-spacing:.14em;text-transform:uppercase;
}
.product-name{font:800 17px var(--sans);letter-spacing:-.01em;color:var(--ink)}
.product-spec{font-size:12.5px;color:var(--gray-500);line-height:1.45;margin-bottom:6px}
.product-foot{
  margin-top:auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding-top:12px;
  border-top:1px solid var(--gray-100);
}
.price{
  font:800 16px var(--sans);
  color:var(--ink);
  letter-spacing:-.01em;
  display:flex;flex-direction:column;line-height:1.1;
}
.price small{
  font:500 10px var(--sans);
  color:var(--gray-500);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.product-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--yellow);color:var(--ink);
  font:800 11px var(--sans);
  letter-spacing:.08em;
  padding:9px 14px;
  border-radius:4px;
  transition:background .15s;
}
.product-cta:hover{background:var(--yellow-dark)}
.product-cta svg{width:11px;height:11px}

/* product placeholder visuals */
.ph{
  width:78%;height:78%;
  border-radius:6px;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.ph-cv{background:linear-gradient(135deg,#fff 0%,#fafafa 100%);box-shadow:0 8px 24px rgba(0,0,0,.08);border:1px solid #eaeaea}
.ph-cv::before{content:"MARSEILLE";position:absolute;top:34%;left:14%;font:800 11px var(--sans);color:#111;letter-spacing:.02em}
.ph-cv::after{content:"IMPRIMERIE";position:absolute;top:44%;left:14%;font:500 8px var(--mono);color:#888;letter-spacing:.1em}
.ph-flyer{background:#fff;border:1px solid #eaeaea}
.ph-flyer::before{content:"";position:absolute;inset:18% 18% 50% 18%;background:repeating-linear-gradient(180deg,#111 0 2px,transparent 2px 5px)}
.ph-flyer::after{content:"";position:absolute;inset:60% 18% 22% 18%;background:repeating-linear-gradient(180deg,#999 0 1px,transparent 1px 4px)}
.ph-tshirt{
  background:radial-gradient(circle at 50% 30%, #fff, #f0f0f3);
  display:flex;align-items:center;justify-content:center;
}
.ph-tshirt::before{
  content:"";width:60%;height:70%;
  background:#222;
  clip-path:polygon(20% 12%, 35% 0%, 65% 0%, 80% 12%, 100% 22%, 95% 38%, 80% 32%, 80% 100%, 20% 100%, 20% 32%, 5% 38%, 0% 22%);
}
.ph-tote{
  background:linear-gradient(180deg,#f5f3ec,#e9e6d8);
  display:flex;align-items:center;justify-content:center;
}
.ph-tote::before{
  content:"";width:55%;height:62%;background:#d9c89e;border-radius:0 0 4px 4px;
}
.ph-tote::after{
  content:"";width:55%;height:30%;border:3px solid #d9c89e;border-bottom:0;border-radius:50% 50% 0 0;background:transparent;position:absolute;top:14%;
}
.ph-mug{
  background:linear-gradient(180deg,#fff,#f4f4f7);
  display:flex;align-items:center;justify-content:center;
}
.ph-mug::before{
  content:"";width:50%;height:55%;background:var(--magenta);border-radius:6px 6px 14px 14px;
}
.ph-mug::after{
  content:"";width:18%;height:30%;border:8px solid var(--magenta);border-left:0;border-radius:0 50% 50% 0;position:absolute;left:65%;top:33%;
}
.ph-sticker{
  background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.ph-sticker::before{
  content:"";width:60%;height:60%;
  background:var(--cyan);
  clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

/* ---------- 7. ATELIER BAND ---------- */
.atelier{padding:80px 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}
.atelier-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;
}
.facade{
  aspect-ratio:5/4;
  background:
    repeating-linear-gradient(135deg, transparent 0 12px, rgba(0,0,0,.025) 12px 13px),
    var(--gray-100);
  border-radius:8px;
  position:relative;
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:24px;
  overflow:hidden;
  border:1px solid var(--gray-200);
}
.facade-label{
  background:#fff;
  border:1px solid var(--gray-200);
  padding:10px 14px;
  font:600 11px var(--mono);
  color:var(--gray-700);
  letter-spacing:.08em;
}
.facade-corner{
  position:absolute;top:24px;right:24px;
  font:800 10px var(--sans);
  color:var(--gray-500);
  letter-spacing:.16em;
}
.atelier h2{
  font:800 44px/1.05 var(--sans);
  letter-spacing:-.03em;
  margin-bottom:22px;
}
.atelier h2 em{font-style:normal;color:var(--magenta)}
.atelier p{
  font-size:16px;color:var(--gray-700);
  margin-bottom:30px;max-width:480px;
}
.atelier ul{
  display:flex;flex-direction:column;gap:10px;
  margin-bottom:32px;
  max-width:480px;
}
.atelier ul li{
  display:flex;gap:12px;align-items:flex-start;
  font-size:14px;color:var(--ink);
}
.atelier ul li::before{
  content:"";width:18px;height:18px;flex:0 0 18px;
  background:var(--magenta);
  border-radius:50%;
  position:relative;
  margin-top:2px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'><polyline points='5 12 10 17 19 7'/></svg>");
  background-size:12px;background-position:center;background-repeat:no-repeat;
}
@media (max-width:880px){
  .atelier-grid{grid-template-columns:1fr;gap:30px}
  .atelier h2{font-size:32px}
}

/* ---------- 8. INSTAGRAM ---------- */
.insta{padding:80px 0}
.insta-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:20px;margin-bottom:34px;
}
.insta-head .surt{
  font:800 11px var(--sans);
  color:var(--cyan);letter-spacing:.22em;text-transform:uppercase;
  margin-bottom:10px;
}
.insta-head h2{font:800 36px var(--sans);letter-spacing:-.025em}
.insta-handle{
  display:inline-flex;align-items:center;gap:8px;
  font:700 13px var(--sans);
  color:var(--magenta);
  border:1.5px solid var(--magenta);
  padding:10px 18px;border-radius:999px;
  transition:all .15s;
}
.insta-handle:hover{background:var(--magenta);color:#fff}
.insta-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;
}
.insta-tile{
  aspect-ratio:1;
  background:var(--gray-100);
  position:relative;
  overflow:hidden;
  border-radius:4px;
  transition:transform .2s, box-shadow .2s;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.insta-tile:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(0,0,0,.15)}
.insta-tile .ig-label{
  font:600 9px var(--mono);
  color:var(--gray-500);letter-spacing:.12em;
  position:absolute;top:8px;left:8px;
}
.insta-tile.it1{background:#1a1a1a}
.insta-tile.it1::before{
  content:"";width:60%;height:60%;background:var(--yellow);transform:rotate(15deg);
}
.insta-tile.it2{background:var(--magenta);position:relative;color:#fff}
.insta-tile.it2::after{content:"24H";font:900 48px var(--sans);color:#fff;letter-spacing:-.04em}
.insta-tile.it3{
  background:repeating-linear-gradient(45deg, var(--cyan) 0 14px, #2196d4 14px 28px);
}
.insta-tile.it4{background:#fff;border:1px solid var(--gray-200)}
.insta-tile.it4::after{content:"";width:60%;height:8%;background:var(--ink);box-shadow:0 16px 0 var(--magenta),0 -16px 0 var(--cyan)}
.insta-tile.it5{background:linear-gradient(135deg,#111 50%,var(--yellow) 50%)}
.insta-tile.it6{background:#f4f0e3}
.insta-tile.it6::after{content:"";width:50%;height:60%;background:var(--ink);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%)}
@media (max-width:780px){.insta-grid{grid-template-columns:repeat(3,1fr)}}

/* ---------- 9. OTHER CATEGORIES ---------- */
.others{background:var(--gray-50);padding:80px 0}
.others-head{text-align:center;margin-bottom:40px}
.others-head .surt{
  font:800 11px var(--sans);color:var(--gray-500);
  letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px;
}
.others-head h2{font:800 36px var(--sans);letter-spacing:-.025em;margin-bottom:8px}
.others-head p{color:var(--gray-700);font-size:15px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cat{
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:8px;
  padding:18px;
  display:flex;align-items:center;gap:14px;
  transition:all .15s;
  min-height:108px;
  position:relative;
}
.cat:hover{border-color:var(--ink);transform:translateY(-2px)}
.cat-ic{
  width:42px;height:42px;flex:0 0 42px;
  background:var(--gray-50);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink);
}
.cat-ic svg{width:22px;height:22px}
.cat h4{
  font:700 14px var(--sans);
  letter-spacing:-.005em;
  margin-bottom:4px;
}
.cat .more{
  font:600 11px var(--sans);
  color:var(--gray-500);
  display:inline-flex;align-items:center;gap:4px;
}
.cat:hover .more{color:var(--magenta)}
.cat:hover .more svg{transform:translateX(2px)}
.cat .more svg{width:10px;height:10px;transition:transform .15s}
@media (max-width:880px){.cat-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 10. REVIEWS ---------- */
.reviews{padding:80px 0;border-top:1px solid var(--gray-200)}
.reviews-head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:20px;margin-bottom:30px;
}
.reviews-head .surt{
  font:800 11px var(--sans);
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gray-500);margin-bottom:8px;
}
.reviews-head h2{font:800 36px var(--sans);letter-spacing:-.025em;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.reviews-head h2 .stars-inline{color:var(--yellow);font-size:32px;letter-spacing:-.02em;display:inline-flex;gap:1px}
.verified-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--gray-50);border:1px solid var(--gray-200);
  padding:6px 12px;border-radius:999px;
  font:700 11px var(--sans);color:var(--gray-700);letter-spacing:.06em;
}
.verified-pill svg{width:12px;height:12px;color:#4285F4}
.reviews-track{
  display:flex;gap:16px;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;padding-bottom:6px;
}
.reviews-track::-webkit-scrollbar{display:none}
.review{
  flex:0 0 360px;
  scroll-snap-align:start;
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:8px;
  padding:22px;
  display:flex;flex-direction:column;gap:12px;
}
.rev-head{display:flex;align-items:center;gap:12px}
.rev-avatar{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font:800 14px var(--sans);color:#fff;
  flex:0 0 42px;
}
.rev-name{font:700 13.5px var(--sans);letter-spacing:-.005em}
.rev-date{font-size:11.5px;color:var(--gray-500)}
.rev-stars{display:inline-flex;gap:1px;color:var(--yellow)}
.rev-stars svg{width:14px;height:14px;fill:currentColor}
.rev-text{font-size:13.5px;color:var(--gray-700);line-height:1.55;flex:1}
.rev-google{
  font:600 11px var(--sans);color:var(--gray-500);
  display:inline-flex;align-items:center;gap:6px;
}
.rev-google svg{width:11px;height:11px}

/* ---------- 11. FOOTER ---------- */
.footer{
  background:var(--ink);color:#dcdce0;
  padding:64px 0 0;
  font-size:13.5px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:48px;
}
.footer .logo-foot{
  display:flex;align-items:center;gap:10px;
  margin-bottom:20px;
}
.footer .logo-foot img{height:48px;filter:brightness(0) invert(1)}
.footer .addr{line-height:1.7;color:#bdbdc4}
.footer .addr strong{color:#fff;font-weight:700;display:block;margin-bottom:6px}
.footer h5{
  font:800 12px var(--sans);
  letter-spacing:.16em;text-transform:uppercase;
  color:#fff;margin-bottom:18px;
}
.footer ul li{margin-bottom:9px}
.footer ul a{color:#bdbdc4;transition:color .15s}
.footer ul a:hover{color:var(--magenta)}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.soc{
  width:36px;height:36px;border-radius:50%;
  background:#222;color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.soc:hover{background:var(--magenta)}
.soc svg{width:15px;height:15px}
.footer-bottom{
  border-top:1px solid #2a2a2a;
  padding:22px 0;
  color:#8a8a92;font-size:12px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.footer-bottom .accent{color:var(--magenta)}
@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
}

/* ---------- HELPER ICONS ---------- */
.ico{display:inline-block;vertical-align:middle}


/* ---- PRODUITS XL (2 cartes centrees) ---- */
/* PRODUCT_IDS: 13136 (CDV), 2499 (Mug) — ajouter ici pour etendre */
.products-xl{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:820px;margin:0 auto}
.product-xl{background:#fff;border:1px solid var(--gray-200);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}
.product-xl:hover{box-shadow:0 14px 40px -16px rgba(0,0,0,.18);transform:translateY(-3px)}
.product-xl .product-img{aspect-ratio:4/3;background:var(--gray-50);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-xl .product-img img{width:100%;height:100%;object-fit:cover}
.product-xl .product-body{padding:24px 24px 20px;display:flex;flex-direction:column;gap:7px;flex:1}
.product-xl .product-spec{font-size:13px;color:var(--gray-500);line-height:1.45;margin-bottom:4px}
.product-xl .product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:14px;border-top:1px solid var(--gray-100)}
.product-xl .price{font:800 20px var(--sans);color:var(--ink);display:flex;flex-direction:column;line-height:1.1}
.product-xl .price small{font:500 10px var(--sans);color:var(--gray-500);letter-spacing:.04em;text-transform:uppercase}
.product-xl .product-cta{display:inline-flex;align-items:center;gap:6px;background:var(--yellow);color:var(--ink);font:800 12px var(--sans);letter-spacing:.08em;padding:11px 18px;border-radius:4px;transition:background .15s;text-decoration:none}
.product-xl .product-cta:hover{background:var(--yellow-dark)}
.product-xl .product-cta svg{width:11px;height:11px}
@media(max-width:600px){.products-xl{grid-template-columns:1fr}}

/* ─── Elementor Nav Menu override ─── */
.elementor-widget-nav-menu,.elementor-section:has(.elementor-widget-nav-menu){background:var(--ink,#111111)}
.elementor-nav-menu--main.elementor-nav-menu__container{
  max-width:var(--maxw,1280px);margin:0 auto;
  padding:0 clamp(20px,4vw,56px);
  height:48px;display:flex;align-items:center;
}
.elementor-nav-menu--main .elementor-nav-menu{
  display:flex;align-items:stretch;height:48px;gap:0;flex:1;
}
.elementor-nav-menu--main .menu-item{display:flex;align-items:center;position:relative}
.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--main a.elementor-item{
  display:inline-flex!important;align-items:center;gap:6px;
  padding:0 14px!important;height:48px;
  font-family:"Inter",system-ui,sans-serif!important;
  font-size:12.5px!important;font-weight:600!important;
  color:#fff!important;letter-spacing:.02em;white-space:nowrap;
  transition:background .15s;background:transparent!important;
}
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main a.elementor-item:hover{background:#222!important;color:#fff!important}
.elementor-nav-menu--main .elementor-item-active,
.elementor-nav-menu--main a.elementor-item-active{color:#FFD207!important}
.elementor-nav-menu--dropdown{
  position:absolute;top:100%;left:0;min-width:280px;
  background:#fff;color:#111;
  border:1px solid #E4E4E8;border-top:3px solid #E32285;
  box-shadow:0 12px 40px rgba(0,0,0,.08);
  padding:14px;z-index:100;display:none;flex-direction:column;gap:2px;
}
.elementor-nav-menu--main .menu-item:hover>.elementor-nav-menu--dropdown{display:flex}
.elementor-nav-menu--dropdown .elementor-sub-item{
  display:block;font-family:"Inter",system-ui,sans-serif;
  font-size:13px;font-weight:500;padding:8px 12px;
  border-radius:4px;color:#111;
}
.elementor-nav-menu--dropdown .elementor-sub-item:hover{background:#F7F7F9;color:#E32285}

/* ─── Fix rectangle rose (menu toggle + accent Elementor) ─── */
.elementor-element-8065ce04{background-color:#111111!important}
.elementor-element-8065ce04 .elementor-widget-container{background:transparent!important}
.elementor-element-8065ce04 .elementor-menu-toggle,
.elementor-element-8065ce04 .e-n-menu-toggle,
.elementor-element-8065ce04 [class*="toggle"]{
  background-color:#111111!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.2)!important;
}
.elementor-element-8065ce04 .elementor-nav-menu--pointer-background .elementor-item::before,
.elementor-element-8065ce04 .elementor-nav-menu--pointer-background .elementor-item::after{
  background-color:#222!important;
}
.elementor-element-8065ce04{
  --e-global-color-accent:#FFD207!important;
  --e-global-color-primary:#111111!important;
}
/* Fix logo URL — image via <img> */
.logo img{max-height:52px;width:auto;display:block}
/* Search btn centering hard-fix */
.search-btn{padding:0!important;line-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}
.search-btn svg{display:block!important;width:18px!important;height:18px!important;flex-shrink:0!important}

/* ─── Fix rectangle rose (menu toggle + accent Elementor) ─── */
.elementor-element-8065ce04{background-color:#111111!important}
.elementor-element-8065ce04 .elementor-widget-container{background:transparent!important}
.elementor-element-8065ce04 .elementor-menu-toggle,
.elementor-element-8065ce04 .e-n-menu-toggle,
.elementor-element-8065ce04 [class*="toggle"]{
  background-color:#111111!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.2)!important;
}
.elementor-element-8065ce04 .elementor-nav-menu--pointer-background .elementor-item::before,
.elementor-element-8065ce04 .elementor-nav-menu--pointer-background .elementor-item::after{
  background-color:#222!important;
}
.elementor-element-8065ce04{
  --e-global-color-accent:#FFD207!important;
  --e-global-color-primary:#111111!important;
}
/* Fix logo URL — image via <img> */
.logo img{max-height:52px;width:auto;display:block}
/* Search btn centering hard-fix */
.search-btn{padding:0!important;line-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}
.search-btn svg{display:block!important;width:18px!important;height:18px!important;flex-shrink:0!important}

/* ─── POINT 1 : Topbar — alignement vertical centré ─── */
.topbar .container{
  align-items:center!important;
}
.topbar-right{
  align-items:center!important;
}

/* ─── POINT 2 : Devis personnalisé — bouton magenta ─── */
.topbar-right a.btn-devis{
  background:#E32285!important;
  color:#fff!important;
  padding:5px 13px!important;
  border-radius:4px!important;
  text-decoration:none!important;
  font-weight:600!important;
  font-size:12px!important;
  line-height:1.4!important;
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
  transition:opacity .2s!important;
}
.topbar-right a.btn-devis:hover{
  opacity:.82!important;
  color:#fff!important;
}

/* ─── POINT 3 : Search bar — centering bouton magenta ─── */
form.search{
  align-items:center!important;
  align-self:center!important;
  margin:0!important;
}
form.search > input[type="text"]{
  align-self:center!important;
}
form.search > .search-btn{
  align-self:center!important;
  flex-shrink:0!important;
  margin:0!important;
}

/* ─── POINT 4 : Menu — 2 lignes de 4 (desktop uniquement) ─── */
@media (min-width:768px){
  .elementor-element-8065ce04 > .elementor-container,
  .elementor-element-8065ce04 > .elementor-container > .elementor-row,
  .elementor-element-8065ce04 > .elementor-widget-container{
    height:auto!important;
    min-height:0!important;
  }
  .elementor-element-a18b626c .elementor-nav-menu--main{
    flex-wrap:wrap!important;
    width:100%!important;
    align-items:stretch!important;
  }
  .elementor-element-a18b626c .elementor-nav-menu--main > li{
    flex:0 0 25%!important;
    box-sizing:border-box!important;
    text-align:center!important;
  }
  .elementor-element-a18b626c .elementor-nav-menu--main > li > a.elementor-item{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* ─── POINT 1 CORRIGÉ : topbar flex-wrap:nowrap ─── */
.topbar .container{
  flex-wrap:nowrap!important;
  height:auto!important;
  min-height:34px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
  align-items:center!important;
}

/* ─── POINT 4 CORRIGÉ : nav menu 2×4 lignes ─── */
@media (min-width:768px){
  /* Libérer les hauteurs fixes qui bloquaient le wrap */
  .elementor-nav-menu--main.elementor-nav-menu__container{
    height:auto!important;
    min-height:48px!important;
    align-items:flex-start!important;
  }
  .elementor-nav-menu--main .elementor-nav-menu{
    height:auto!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
  }
  /* Chaque item = 25% → 4 par ligne, 2 lignes */
  .elementor-nav-menu--main .menu-item{
    flex:0 0 25%!important;
    box-sizing:border-box!important;
  }
  /* Centrer le texte dans chaque cellule */
  .elementor-nav-menu--main .elementor-item,
  .elementor-nav-menu--main a.elementor-item{
    justify-content:center!important;
    width:100%!important;
  }
}

/* ─── HAMBURGER : masqué en desktop, visible en mobile ─── */
@media (min-width:768px){
  .elementor-element-a18b626c .elementor-menu-toggle{
    display:none!important;
  }
  /* S'assurer que la nav principale reste visible en desktop */
  .elementor-element-a18b626c .elementor-nav-menu--main{
    display:flex!important;
  }
}
/* Mobile : toggle visible + nav cachée (comportement Elementor par défaut) */
@media (max-width:767px){
  .elementor-element-a18b626c .elementor-menu-toggle{
    display:flex!important;
  }
}


