:root{
  --noir:#141110;
  --noir-2:#1c1815;
  --or:#c9a227;
  --or-clair:#e3c766;
  --creme:#f6f0e4;
  --gris:#9b9184;
  --ft:'Playfair Display', serif;
  --fb:'Poppins', sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--noir); color:var(--creme); font-family:var(--fb);
  font-weight:300; line-height:1.55; -webkit-text-size-adjust:100%;
}

.pub-head{text-align:center; padding:34px 20px 16px;}
.pub-head img{width:92px; height:92px; margin:0 auto 12px; display:block; object-fit:contain;}
.pub-head h1{font-family:var(--ft); font-weight:700; font-size:27px; margin:0; color:var(--creme);}
.pub-head .sub{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--or-clair); margin:6px 0 0;}

/* Onglets collants */
.tabs-zone{
  position:sticky; top:0; z-index:10;
  background:rgba(20,17,16,.97); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(201,162,39,.22);
  padding-top:env(safe-area-inset-top);
}
.tabs{
  display:flex; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  padding:12px 14px 10px;
  scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none;}
.tab{
  flex:none; padding:10px 17px; border-radius:30px; cursor:pointer;
  font-size:13.5px; font-weight:600; white-space:nowrap;
  color:var(--creme); background:rgba(246,240,228,.07); border:1px solid transparent;
  transition:background .15s, color .15s, border-color .15s;
  -webkit-tap-highlight-color:transparent;
}
.tab.active{background:var(--or); color:var(--noir); border-color:var(--or);}

/* Chips d'accès rapide aux sections (longues cartes) */
.jump{
  display:flex; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  padding:0 14px 10px; scrollbar-width:none;
}
.jump::-webkit-scrollbar{display:none;}
.jump:empty{display:none;}
.jump button{
  flex:none; font-family:var(--fb); font-size:11px; font-weight:500;
  color:var(--or-clair); background:none; border:1px solid rgba(201,162,39,.35);
  border-radius:20px; padding:5px 11px; cursor:pointer; white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.jump button:active{background:rgba(201,162,39,.18);}

/* Retour en haut */
#topBtn{
  position:fixed; right:16px; bottom:calc(18px + env(safe-area-inset-bottom)); z-index:20;
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(201,162,39,.5);
  background:rgba(20,17,16,.92); color:var(--or-clair); font-size:19px; cursor:pointer;
  opacity:0; pointer-events:none; transition:opacity .2s;
  -webkit-tap-highlight-color:transparent;
}
#topBtn.show{opacity:1; pointer-events:auto;}

main{max-width:760px; margin:0 auto; padding:24px 20px 10px;}
.loading{text-align:center; color:var(--gris); padding:60px 0;}

.m-section{margin:0 0 30px;}
.m-section > h2{
  font-family:var(--ft); font-weight:700; font-size:21px; color:var(--creme);
  text-transform:uppercase; letter-spacing:.03em;
  border-bottom:1px solid rgba(201,162,39,.4); padding-bottom:8px; margin:0 0 4px;
}
.m-section > h2 .en{font-family:var(--fb); font-size:12px; font-style:italic; font-weight:300; color:var(--gris); text-transform:none; letter-spacing:0;}
.m-head{color:var(--or-clair); font-weight:600; font-size:14.5px; letter-spacing:.02em; margin:16px 0 6px;}
.m-note{font-size:12px; font-style:italic; color:var(--gris); margin:6px 0;}
.m-formule{color:var(--or-clair); font-weight:500; font-size:15px; margin:4px 0;}
.m-formule.heading{font-family:var(--ft); font-size:20px; font-weight:700; color:var(--creme);}

.m-item{display:flex; align-items:baseline; gap:8px; padding:7px 0; border-bottom:1px solid rgba(255,255,255,.04);}
.m-item .n{flex:1;}
.m-item .fr{font-size:14.5px; font-weight:500; color:var(--creme);}
.m-item .en{font-size:12px; font-style:italic; font-weight:300; color:var(--gris); margin-top:1px;}
.m-item .dots{flex:none; width:14px;}
.m-item .p{font-size:14.5px; font-weight:600; color:var(--or-clair); white-space:nowrap;}
.item-tag{width:14px; height:14px; margin-left:6px; vertical-align:-2px; display:inline-block;}
.m-image{display:flex; justify-content:center; margin:10px 0 18px;}
.m-image img{max-width:100%; height:auto;}

.pub-foot{text-align:center; color:var(--gris); font-size:12px; padding:26px 20px 40px;}
.pub-foot .tiny{font-size:11px; opacity:.7; margin-top:4px;}
.err{text-align:center; color:var(--gris); padding:50px 20px;}

/* Thème « Vigne » : ornements sur fond sombre */
.vigne .m-section > h2{
  text-align:center; border-bottom:none; padding-bottom:0; letter-spacing:.08em;
}
.vigne .m-section > h2::after{
  content:''; display:block; height:15px; margin:6px auto 2px; max-width:220px;
  background:url('assets/ornament-vine-gold.svg') center/contain no-repeat;
}
.vigne .m-section > h2 .en{display:block; margin-top:1px;}
.vigne .m-head{
  text-align:center; text-transform:uppercase; letter-spacing:.24em;
  font-size:11px;
}

@media (min-width:620px){
  .m-cols{columns:2; column-gap:44px;}
  .m-cols .m-section{break-inside:avoid;}
}
