/* ==========================================================================
   JEMER — Feuille de style
   Palette : ivoire / or / bordeaux + touches "blush"
   Polices : Cormorant Garamond (titres) / Jost (texte) / Parisienne (script)
   ========================================================================== */

:root{
  /* Palette principale */
  --ink:#0b0b0c;
  --ink-soft:#111112;
  --ivory:#F6F1E7;
  --ivory-dim:#EDE5D4;
  --gold:#d79a35;
  --gold-soft:#E4CFA0;
  --wine:#5C1F2E;
  --sage:#6E7C5B;
  --text-muted:#8B8290;

  /* Touche féminine */
  --blush:#D9A9A0;
  --blush-bright:#E7B7AC;
  --blush-soft:#F3DFDA;
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  background:var(--ivory);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:400;
  overflow-x:hidden;
}

h1,h2,h3,h4, .font-display{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  letter-spacing:.01em;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-family:'Jost',sans-serif;
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:500;
}
.eyebrow::before{
  content:"❀";
  color:var(--blush-bright);
  font-size:.85em;
  line-height:1;
}

/* petite note manuscrite façon "script" */
.script-note{
  font-family:'Parisienne', cursive;
  color:var(--blush-bright);
  font-size:1.35rem;
  display:inline-block;
  margin-left:.7rem;
  transform:rotate(-3deg);
}

/* mot manuscrit flottant au-dessus d'un H1 : <h1 data-word="ex: doux"> */
h1[data-word]{ position:relative; }
h1[data-word]::before{
  content: attr(data-word);
  font-family:'Parisienne', cursive;
  font-weight:400;
  font-size:.55em;
  color:var(--blush-bright);
  opacity:.35;
  position:absolute;
  top:-.85em; left:50%;
  transform:translateX(-50%) rotate(-4deg);
  white-space:nowrap;
  z-index:0;
  pointer-events:none;
}

/* ---------- Arch motif (élément signature) ---------- */
.arch-divider{ width:100%; display:flex; justify-content:center; margin:0 auto; }
.arch-divider svg{ display:block; }
.arch-frame{
  position:relative;
  border-radius:160px 160px 8px 8px;
  overflow:hidden;
  border:1px solid rgba(198,161,91,.5);
  padding:6px;
}
.arch-frame img{
  border-radius:154px 154px 4px 4px;
  display:block; width:100%; height:100%; object-fit:cover;
}

/* ---------- Navbar ---------- */
.navbar-jemer{ background:var(--ink); padding:1.1rem 0; border-bottom:1px solid rgba(198,161,91,.25); }
.navbar-jemer .navbar-brand{
  font-family:'Cormorant Garamond', serif; font-size:1.9rem; letter-spacing:.12em; color:var(--ivory) !important;
}
.navbar-jemer .navbar-brand span{ color:var(--gold); }
.navbar-jemer .nav-link{
  color:var(--ivory) !important; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  margin:0 .85rem; opacity:.85; transition:opacity .25s, color .25s; position:relative;
}
.navbar-jemer .nav-link:hover{ opacity:1; color:var(--gold) !important; }
.navbar-jemer .nav-link.active{ opacity:1; color:var(--gold) !important; }
.navbar-jemer .nav-link::after{
  content:""; position:absolute; left:50%; bottom:-4px; width:0; height:1px;
  background:var(--gold); transition:width .3s ease, left .3s ease;
}
.navbar-jemer .nav-link:hover::after, .navbar-jemer .nav-link.active::after{ width:70%; left:15%; }

.icon-btn{ color:var(--ivory); font-size:1.05rem; position:relative; margin-left:1.1rem; transition:transform .3s ease, color .25s; display:inline-block; }
.icon-btn:hover{ transform:translateY(-2px); color:var(--gold) !important; }
.icon-btn .badge{
  position:absolute; top:-8px; right:-10px; background:var(--gold); color:var(--ink);
  font-size:.6rem; padding:.15rem .38rem; border-radius:50%;
}

.navbar-jemer .dropdown-toggle::after{ border-top-color:var(--gold); margin-left:.4rem; vertical-align:.15em; transition:transform .25s ease; }
.navbar-jemer .nav-item.dropdown:hover .dropdown-toggle::after{ transform:rotate(180deg); }
.navbar-jemer .dropdown-menu{
  background:var(--ink-soft); border:1px solid rgba(198,161,91,.25); border-radius:4px; padding:.5rem 0;
  margin-top:.6rem; opacity:0; visibility:hidden; transform:translateY(8px); display:block;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
}
.navbar-jemer .nav-item.dropdown:hover .dropdown-menu, .navbar-jemer .dropdown-menu.show{
  opacity:1; visibility:visible; transform:translateY(0);
}
.navbar-jemer .dropdown-item{
  color:var(--ivory); font-size:.82rem; letter-spacing:.06em; padding:.55rem 1.3rem; background:transparent;
  transition:padding-left .2s ease, color .2s ease;
}
.navbar-jemer .dropdown-item:hover, .navbar-jemer .dropdown-item:focus{
  background:transparent; color:var(--gold); padding-left:1.6rem;
}

/* ---------- Hero de page ---------- */
.hero,
.page-hero{
  background:radial-gradient(ellipse at top, #111112 0%, var(--ink) 62%);
  color:var(--ivory);
  position:relative;
  padding:5.5rem 0 6rem;
  overflow:hidden;
  text-align:center;
}
.hero::before,
.page-hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(90deg, rgba(198,161,91,.05) 0 1px, transparent 1px 90px);
  pointer-events:none;
}
.hero::after,
.page-hero::after{
  content:"";
  position:absolute;
  top:-90px; right:-90px;
  width:280px; height:280px;
  background:radial-gradient(circle, rgba(217,169,160,.32), transparent 70%);
  pointer-events:none;
  z-index:1;
}
.hero-bg{
  position:absolute; inset:0;
  z-index:0;
}
.hero-bg img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 30%;
  display:block;
}
.hero-overlay{
  position:absolute; inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(11,11,12,.88) 0%, rgba(11,11,12,.72) 55%, rgba(11,11,12,.88) 100%);
}

.hero > .container,
.page-hero > .container{
  position:relative;
  z-index:2;
}
.page-hero .stitch-line{ width:64px; height:1px; background:var(--gold); display:inline-block; margin-bottom:1.4rem; }
.page-hero h1{ font-size:clamp(2.4rem, 4.6vw, 3.8rem); color:var(--ivory); }
.page-hero h1 em{ font-style:italic; color:var(--gold-soft); }
.page-hero p.lead{ color:#C9C0D1; font-size:1.05rem; max-width:560px; margin:0 auto; font-weight:300; }

.hero-visual{ /* dimension par défaut, réduite en mobile plus bas */ }

section{ padding:6rem 0; }
.section-head{ margin-bottom:3rem; }
.section-head h2{ font-size:2.6rem; margin-top:.4rem; }
.section-head .divider-mini{
  width:46px; height:3px; border-radius:3px; border:none;
  background:linear-gradient(90deg, var(--gold), var(--blush));
  margin-top:1rem;
}

/* ---------- Section fondateur ---------- */
.founder-portrait{ height:560px; }
.founder-portrait .arch-frame{ height:100%; }
.founder-signature{ height:46px; margin-top:1.5rem; opacity:.9; }
.founder-bio p{ font-size:1rem; line-height:1.85; color:#3A3340; }
.founder-bio p.first-line::first-letter{
  font-family:'Cormorant Garamond', serif;
  font-size:3.4rem; color:var(--gold); float:left; line-height:1; margin:.05em .12em 0 0; font-weight:600;
}
.founder-quote{
  border-left:2px solid var(--gold);
  padding-left:1.4rem;
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:1.3rem;
  color:var(--wine);
  margin:2rem 0;
}
.founder-role{
  display:inline-flex; align-items:center; gap:.6rem;
  background:var(--ivory-dim); padding:.5rem 1rem; border-radius:30px; margin-bottom:1.2rem;
}
.founder-role span{ font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--wine); font-weight:500; }

/* ---------- Cartes équipe / structure ---------- */
.team-card{
  background:#fff;
  border:1px solid rgba(27,22,32,.08);
  border-radius:20px;
  padding:2.4rem 2rem;
  height:100%;
  text-align:center;
  transition:transform .35s ease, box-shadow .35s ease;
}
.team-card:hover{ transform:translateY(-8px); box-shadow:0 24px 48px rgba(27,22,32,.1); }
.team-card .num{
  font-family:'Cormorant Garamond', serif;
  font-size:1rem; color:var(--gold); letter-spacing:.2em; margin-bottom:1rem; display:block;
}
.team-card i{
  width:56px; height:56px; border-radius:50%;
  background:var(--ink); color:var(--gold-soft);
  display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; margin:0 auto 1.2rem;
}
.team-card h4{ font-size:1.3rem; margin-bottom:.6rem; }
.team-card p{ font-size:.9rem; color:var(--text-muted); margin:0; }

/* ---------- Timeline historique ---------- */
.history-section{ background:var(--ivory-dim); }
.timeline{ position:relative; padding-left:2.6rem; }
.timeline::before{
  content:""; position:absolute; left:9px; top:6px; bottom:6px; width:1px;
  background:linear-gradient(180deg, var(--gold), rgba(198,161,91,.15));
}
.timeline-item{ position:relative; padding-bottom:2.6rem; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{
  content:""; position:absolute; left:-2.6rem; top:.3rem; width:19px; height:19px;
  background:var(--ivory-dim); border:2px solid var(--gold); border-radius:50%;
}
.timeline-item h5{ font-size:1.3rem; margin-bottom:.5rem; }
.timeline-item p{ font-size:.94rem; color:var(--text-muted); max-width:640px; margin-bottom:0; }

.sector-pill{
  display:inline-block; background:#fff; border:1px solid rgba(27,22,32,.1);
  color:var(--ink); font-size:.78rem; letter-spacing:.03em;
  padding:.45rem 1rem; border-radius:30px; margin:.3rem .4rem .3rem 0;
  transition:.25s;
}
.sector-pill:hover{ border-color:var(--gold); color:var(--wine); transform:translateY(-2px); }

/* ---------- Valeurs ---------- */
.value-card{
  padding:2rem 0;
  border-bottom:1px solid rgba(27,22,32,.08);
  display:flex; gap:1.6rem; align-items:flex-start;
  border-radius:20px;
}
.value-card:last-child{ border-bottom:none; }
.value-card .v-index{
  font-family:'Cormorant Garamond', serif; font-size:2.4rem; color:var(--gold-soft); line-height:1; min-width:64px;
}
.value-card h4{ font-size:1.35rem; margin-bottom:.4rem; }
.value-card p{ color:var(--text-muted); font-size:.94rem; margin:0; max-width:520px; }

/* ---------- Bandeau verset / citation ---------- */
.verse-band{ background:var(--ink); color:var(--ivory); text-align:center; padding:5rem 0; position:relative; }
.verse-band .arch-divider svg{ margin-bottom:1.6rem; }
.verse-band .eyebrow::before{ color:var(--blush-soft); }
.verse-band p{
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:clamp(1.4rem, 2.4vw, 2rem); max-width:720px; margin:0 auto; color:var(--ivory-dim);
}
.verse-band cite{
  display:block; margin-top:1.2rem; font-family:'Jost',sans-serif; font-style:normal;
  font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
}

/* ---------- Bandeau CTA ---------- */
.cta-band{
  background:var(--wine); color:var(--ivory); border-radius:20px;
  padding:3.5rem 3rem; position:relative; overflow:hidden; text-align:center;
}
.cta-band::after{
  content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px;
  border:1px solid rgba(246,241,231,.15); border-radius:50%;
}
.cta-band::before{
  content:""; position:absolute; left:-60px; bottom:-60px; width:220px; height:220px;
  border:1px solid rgba(246,241,231,.15); border-radius:50%;
}
.cta-band h3{ font-size:2.1rem; margin-bottom:.8rem; }

/* ---------- Boutons ---------- */
.btn-gold{
  background:var(--gold); border:1px solid var(--gold); color:var(--ink);
  padding:.85rem 2.1rem; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase;
  border-radius:30px !important; transition:background-color .3s ease, color .3s ease, transform .25s ease;
}
.btn-gold:hover{ background:transparent; color:var(--gold); }
.btn-gold:active{ transform:scale(.96); }

.btn-outline-ivory,
.btn-outline-ink,
.product-info .btn-cart,
.btn-cart{
  border-radius:30px !important;
}

.qty-stepper{ border-radius:30px; overflow:hidden; }

/* Cartes/panneaux au rayon uniforme */
.product-card, .testi-card, .info-card, .soon-card,
.contact-panel, .newsletter, .filter-bar, .map-wrap{
  border-radius:20px !important;
}
.product-media{ border-radius:20px 20px 0 0; overflow:hidden; }
.price-tag, .map-badge{ border-radius:14px; }

.testi-card{ border-left-color: var(--blush); }

/* ---------- Footer ---------- */
footer{ background:var(--ink); color:rgba(246,241,231,.65); padding:5rem 0 0; }
footer h6{
  font-family:'Jost',sans-serif; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ivory); margin-bottom:1.2rem;
}
footer a{ color:rgba(246,241,231,.65); text-decoration:none; font-size:.88rem; display:block; margin-bottom:.6rem; transition:color .25s; }
footer a:hover{ color:var(--gold); }
footer .brand-mark{ font-family:'Cormorant Garamond', serif; font-size:1.7rem; color:var(--ivory); }
.footer-bottom{ border-top:1px solid rgba(246,241,231,.12); margin-top:3.5rem; padding:1.5rem 0; font-size:.78rem; }
.social-circle{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(246,241,231,.25);
  display:inline-flex; align-items:center; justify-content:center; color:var(--ivory); margin-right:.6rem; transition:.25s;
}
.social-circle:hover{ border-color:var(--gold); color:var(--gold); }

/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes fadeUp{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:translateY(0); } }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }

.page-hero .stitch-line{ animation:fadeIn .8s ease .1s both; }
.page-hero .eyebrow{ animation:fadeUp .7s ease .15s both; }
.page-hero h1{ animation:fadeUp .8s ease .28s both; }
.page-hero p.lead{ animation:fadeUp .8s ease .42s both; }

.reveal{
  opacity:0; transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal[data-reveal="right"]{ transform:translateX(34px); }
.reveal[data-reveal="left"]{ transform:translateX(-34px); }
.reveal.is-visible{ opacity:1; transform:none; }
.reveal-group .reveal:nth-child(1){ transition-delay:0s; }
.reveal-group .reveal:nth-child(2){ transition-delay:.1s; }
.reveal-group .reveal:nth-child(3){ transition-delay:.2s; }
.reveal-group .reveal:nth-child(4){ transition-delay:.3s; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:991px){
  .hero-visual{ height:340px; margin-top:3rem; }
  .price-tag{ left:10px; }

  /* Correctif : le menu "Collections" ne doit réserver aucun espace
     tant qu'il n'est pas ouvert (bug d'espace vide en accordéon mobile) */
  .navbar-jemer .dropdown-menu{
    position:static;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    margin-top:.3rem;
    margin-left:.5rem;
    margin-bottom:.4rem;
    border-left:2px solid var(--gold);
    border-top:none;
    border-right:none;
    border-bottom:none;
    border-radius:0;
    background:transparent;
    padding:.2rem 0 .2rem .8rem;
  }
  .navbar-jemer .dropdown-menu.show{
    display:block;
  }
  .navbar-jemer .dropdown-item{
    padding:.4rem 1rem;
  }
}

@media (max-width:767px){
  h1[data-word]::before{ font-size:.4em; }
  .filter-bar{ margin-top:1.4rem; }
  .quickview-box{ flex-direction:column; max-height:92vh; }
  .quickview-media{ flex:0 0 260px; }
}
