
:root{
  --ink:#171118;--blackberry:#140f17;--plum:#3a263f;--violet:#745782;
  --paper:#f1e9df;--bone:#f8f3ec;--line:rgba(23,17,24,.14);--gold:#b88a54;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{display:block;width:100%}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:700;opacity:.58}
.top{
  min-height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);background:rgba(241,233,223,.92);backdrop-filter:blur(14px);
  position:sticky;top:0;z-index:20
}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white}
.brand strong{font-family:"Cinzel Decorative";font-size:12px}
.brand small{display:block;margin-top:3px;font-size:7px;letter-spacing:.14em;text-transform:uppercase;opacity:.48}
.nav{display:flex;gap:18px;font-size:10px}
.nav a:hover{text-decoration:underline}
.header-actions{display:flex;gap:8px}
.header-actions a{min-height:40px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid var(--line);border-radius:100px;font-size:9px}
.header-actions .admin{border-color:rgba(116,87,130,.35);color:var(--plum);background:rgba(116,87,130,.06)}
.hero{
  display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;border-bottom:1px solid var(--line)
}
.hero-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-family:"Cormorant Garamond";font-size:clamp(54px,7vw,96px);line-height:.85;margin:18px 0;letter-spacing:-.04em}
.hero-copy h1 em{display:block;color:var(--violet);font-weight:500}
.hero-copy p{max-width:570px;font-size:13px;line-height:1.85;color:rgba(23,17,24,.62)}
.hero-visual{position:relative;overflow:hidden;background:#211726}
.hero-visual img{height:100%;object-fit:cover}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,10,18,.48))}
.hero-label{position:absolute;left:22px;bottom:22px;z-index:2;background:rgba(244,236,229,.88);padding:14px 16px;font-size:9px}
.hero-label strong{display:block;font-family:"Cormorant Garamond";font-size:20px;margin-top:3px}
.category-switch{padding:22px 5vw;display:flex;gap:8px;flex-wrap:wrap;background:#211726;color:white}
.category-switch a{padding:10px 15px;border:1px solid rgba(255,255,255,.15);border-radius:100px;font-size:9px}
.category-switch a.active{background:white;color:var(--ink)}
.content{padding:90px 5vw}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}
.section-head h2{font-family:"Cormorant Garamond";font-size:48px;margin:8px 0 0}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product-card{min-width:0}
.product-image{position:relative;aspect-ratio:4/5;background:#ded2c6;overflow:hidden}
.product-image img{height:100%;object-fit:cover;transition:.5s}
.product-card:hover img{transform:scale(1.03)}
.badge{position:absolute;z-index:2;left:13px;top:13px;background:var(--ink);color:white;padding:7px 9px;font-size:7px;text-transform:uppercase;letter-spacing:.1em}
.product-meta{display:flex;justify-content:space-between;gap:15px;padding:13px 2px}
.product-meta h3{font-family:"Cormorant Garamond";font-size:24px;margin:0 0 4px}
.product-meta p{font-size:9px;opacity:.52;margin:0}
.product-meta strong{font-size:10px;white-space:nowrap}
.bookmark-wrap{aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(145deg,#e5d8ca,#cbb9a6)}
.bookmark-wrap .strip{width:34%;height:78%;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.22)}
.bookmark-wrap .strip img{height:100%;object-fit:cover}
.empty{padding:30px;border:1px solid var(--line);background:var(--bone);font-size:10px;opacity:.55}
footer{background:#100c12;color:white;padding:55px 5vw 30px}
footer strong{font-family:"Cinzel Decorative";font-size:12px}
footer p{font-size:8px;opacity:.5}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:9px;color:rgba(255,255,255,.65)}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-visual{min-height:460px}.product-grid{grid-template-columns:repeat(2,1fr)}.nav{display:none}}
@media(max-width:620px){.top{padding:0 15px}.brand small{display:none}.header-actions a:first-child{display:none}.hero-copy{padding:70px 20px}.hero-copy h1{font-size:56px}.hero-visual{min-height:400px}.content{padding:70px 18px}.product-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}


/* V6.6 — pages catégories mobile/tablette */
.category-mobile-nav{display:none}

@media(min-width:621px) and (max-width:980px){
  .top{padding-inline:3vw}
  .hero-copy{padding:80px 5vw}
  .hero-copy h1{font-size:72px}
  .content{padding:75px 4vw}
  .product-grid{gap:15px}
}

@media(max-width:700px){
  html{scroll-padding-bottom:82px}
  body{padding-bottom:75px;overflow-x:hidden}
  input,select,textarea{font-size:16px!important}
  .top{
    min-height:66px;
    height:66px;
    padding:0 12px;
    gap:7px;
  }
  .brand{min-width:0}
  .brand-mark{width:36px;height:36px;flex:0 0 36px}
  .brand strong{
    display:block;
    max-width:150px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:9px;
  }
  .header-actions{gap:5px}
  .header-actions a{min-height:40px;padding:0 10px}
  .header-actions a:first-child{display:none}
  .header-actions .admin{width:40px;padding:0;font-size:0}
  .header-actions .admin:before{content:"⌁";font-size:16px}

  .hero{min-height:auto}
  .hero-copy{padding:55px 18px 44px}
  .hero-copy h1{font-size:clamp(48px,14vw,60px)}
  .hero-copy p{font-size:12px;line-height:1.7}
  .hero-visual{min-height:390px}
  .hero-label{left:12px;right:12px;bottom:12px}
  .category-switch{
    overflow:auto;
    flex-wrap:nowrap;
    padding:14px 12px;
    scrollbar-width:none;
  }
  .category-switch::-webkit-scrollbar{display:none}
  .category-switch a{white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
  .content{padding:58px 15px}
  .section-head{margin-bottom:24px}
  .section-head h2{font-size:42px}
  .product-grid{gap:24px}
  .product-meta h3{font-size:25px}
  .product-meta p{font-size:9px;line-height:1.5}
  .product-meta strong{font-size:10px}

  .category-mobile-nav{
    position:fixed;
    z-index:30;
    left:10px;
    right:10px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    min-height:60px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    overflow:hidden;
    background:rgba(20,15,23,.95);
    color:white;
    box-shadow:0 14px 45px rgba(0,0,0,.28);
    backdrop-filter:blur(18px);
  }
  .category-mobile-nav a{
    min-width:0;
    min-height:60px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:6px 2px;
    color:rgba(255,255,255,.62);
  }
  .category-mobile-nav a span{font-size:16px}
  .category-mobile-nav a b{font-size:7px}
  .category-mobile-nav a.active{background:rgba(255,255,255,.08);color:white}
}


/* V6.10 — logo officiel */
.brand-logo{
  overflow:hidden;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.brand-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:50%;
}

/* V6.11 — logo header catégories */
.top .brand-logo{
  width:52px;
  height:52px;
  flex:0 0 52px;
  background:#100d12!important;
}
.top .brand-logo img{
  object-fit:contain!important;
}
@media(max-width:700px){
  .top .brand-logo{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
  }
}


/* =====================================================
   V6.15 — meilleure visibilité du logo dans les headers
   ===================================================== */

.top{
  min-height:92px;
  padding-left:5vw;
  padding-right:5vw;
}

.top .brand{
  gap:14px;
}

.top .brand-logo{
  width:76px!important;
  height:76px!important;
  flex:0 0 76px!important;
  border-radius:50%;
  background:#120e14!important;
  box-shadow:
    0 0 0 2px rgba(108,72,124,.22),
    0 0 0 7px rgba(108,72,124,.06),
    0 8px 24px rgba(30,20,34,.12);
}

.top .brand-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:50%;
}

.top .brand strong{
  font-size:14px!important;
  line-height:1.05;
  letter-spacing:-.01em;
}

.top .brand small{
  margin-top:5px;
  font-size:8px!important;
  letter-spacing:.12em;
  opacity:.48;
}

@media(max-width:900px){
  .top{
    min-height:82px;
    padding-inline:18px;
  }

  .top .brand-logo{
    width:62px!important;
    height:62px!important;
    flex:0 0 62px!important;
  }

  .top .brand strong{
    font-size:12px!important;
  }
}

@media(max-width:700px){
  .top{
    min-height:72px;
    height:auto;
    padding-inline:12px;
  }

  .top .brand{
    gap:9px;
  }

  .top .brand-logo{
    width:50px!important;
    height:50px!important;
    flex:0 0 50px!important;
    box-shadow:
      0 0 0 1px rgba(108,72,124,.22),
      0 0 0 4px rgba(108,72,124,.05);
  }

  .top .brand strong{
    max-width:175px;
    font-size:10px!important;
  }

  .top .brand small{
    font-size:6.5px!important;
  }
}


/* =====================================================
   V6.16 — catégories plus visibles sans en retirer
   Verres · Cartes · Marque-pages · Personnalisation
   ===================================================== */

.top .nav{
  display:flex;
  gap:26px;
  font-size:13px!important;
  font-weight:600;
  align-items:center;
}

.top .nav a{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  position:relative;
  white-space:nowrap;
}

.top .nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:7px;
  height:1px;
  background:var(--violet);
  transition:right .2s ease;
}

.top .nav a:hover::after{
  right:0;
}

/* Le sélecteur sous le hero garde exactement les 4 catégories */
.category-switch{
  gap:10px!important;
  padding:18px 5vw!important;
}

.category-switch a{
  min-height:48px!important;
  padding:0 20px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:11px!important;
  font-weight:650;
  white-space:nowrap;
}

.category-switch a.active{
  background:var(--ink)!important;
  color:white!important;
}

/* Tablette : on garde les catégories visibles dans le header */
@media (min-width:761px) and (max-width:980px){
  .top{
    padding-inline:15px!important;
  }

  .top .nav{
    display:flex!important;
    gap:12px!important;
    font-size:10px!important;
  }

  .top .brand strong{
    font-size:11px!important;
  }

  .top .brand small{
    display:none;
  }

  .top .header-actions{
    gap:4px;
  }

  .top .header-actions a{
    padding-inline:9px;
  }
}

/* Téléphone : les mêmes catégories restent disponibles dans la nav du bas */
@media(max-width:760px){
  .top .nav{
    display:none!important;
  }

  .category-switch{
    display:flex!important;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    padding:14px 12px!important;
    scrollbar-width:none;
  }

  .category-switch::-webkit-scrollbar{
    display:none;
  }

  .category-switch a{
    min-height:44px!important;
    padding:0 16px!important;
    font-size:10px!important;
    flex:0 0 auto;
  }

  .category-mobile-nav b{
    font-size:8px!important;
  }
}


/* =====================================================
   V6.17 — NAV IDENTIQUE À L'ACCUEIL SUR LES CATÉGORIES
   ===================================================== */

/* Desktop : EXACTEMENT la même taille/espacement que l'accueil */
.top .nav{
  display:flex!important;
  align-items:center;
  gap:28px!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1;
}

.top .nav a{
  min-height:44px!important;
  padding:12px 0!important;
  display:inline-flex!important;
  align-items:center!important;
  color:inherit;
  white-space:nowrap;
  font-size:inherit!important;
  font-weight:inherit!important;
}

/* Tablette : mêmes règles que l'accueil */
@media(max-width:1080px) and (min-width:981px){
  .top .nav{
    gap:18px!important;
    font-size:12px!important;
  }
}

@media(min-width:761px) and (max-width:980px){
  .top .nav{
    display:flex!important;
    gap:13px!important;
    font-size:11px!important;
  }
}

/* Téléphone : comme l'accueil, la nav desktop se masque.
   Les catégories restent dans la barre mobile + le sélecteur horizontal. */
@media(max-width:760px){
  .top .nav{
    display:none!important;
  }
}


/* =====================================================
   V6.20 — navigation identique à l'accueil
   ===================================================== */
.top .category-home-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:28px!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
}

.top .category-home-nav a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:44px!important;
  padding:12px 0!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  white-space:nowrap!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:1080px) and (min-width:981px){
  .top .category-home-nav{
    gap:18px!important;
    font-size:12px!important;
  }
}

@media(min-width:761px) and (max-width:980px){
  .top .category-home-nav{
    display:flex!important;
    gap:13px!important;
    font-size:11px!important;
  }
}

@media(max-width:760px){
  .top .category-home-nav{
    display:none!important;
  }
}


/* =====================================================
   V6.21 — bandeau noir de l'accueil sur toutes les catégories
   ===================================================== */
.announcement{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:8px 18px;
  background:var(--blackberry);
  color:#f4ecf5;
  text-align:center;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.announcement span{color:#c5a8d1;font-size:14px}
.announcement i{font-style:normal;color:var(--gold);font-size:9px}
@media (max-width:760px){
  .announcement{font-size:8px;gap:7px;letter-spacing:.08em;padding:7px 10px}
  .announcement span{font-size:12px}
}
@media (max-width:520px){
  .announcement i:nth-of-type(n+1),
  .announcement span:last-child{display:none}
}

/* V6.22 — Box Mystère dans les catégories */
@media(max-width:700px){
  .category-mobile-nav{grid-template-columns:repeat(6,1fr)!important}
}
