/*
Theme Name: Le Fin Grossiste
Author: Neuf Pixels
Description: Thème custom grossiste miel & produits d'exception
Version: 1.0.0
Text Domain: lefingrossiste
*/

/* =============================================
   LE FIN GROSSISTE — Style principal
   ============================================= */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --gold: #D4A03A;
  --gold-light: #EDD07F;
  --gold-pale: #FFF9F0;
  --dark: #1C1C1C;
  --dark-2: #2E2E2E;
  --mid: #6B6B6B;
  --light: #A0A0A0;
  --cream: #FFFFFF;
  --cream-2: #F5F5F5;
  --white: #FFFFFF;
  --border: #E5E5E5;
  --green: #2A7A4A;

  --font-head: 'Kumbh Sans', sans-serif;
  --font-body: 'Kumbh Sans', sans-serif;
  --r: 10px;
  --r-lg: 16px;
  --shadow-lg: 0 16px 48px rgba(0,0,0,.11);
  --muted: #6B6B6B;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  background: var(--cream);
  color: var(--dark);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ---- UTILS ---- */
.container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }

.eyebrow {
  font-size: .75rem; font-weight: 500; letter-spacing: .15em;
  text-transform: uppercase; color: var(--gold);
  display: block; margin-bottom: 12px;
}

.section-head { text-align: center; max-width: 640px; margin: 0 auto 64px; }
.section-head h2 { font-family: var(--font-head); font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 600; line-height: 1.2; color: var(--dark); margin-bottom: 10px; }
.section-sub { color: var(--mid); font-size: .95rem; font-weight: 300; }

.btn {
  display: inline-block; padding: 10px 20px; border-radius: var(--r);
  font-family: var(--font-body); font-size: .84rem; font-weight: 500;
  text-decoration: none; cursor: pointer; transition: all .2s; border: 2px solid transparent;
}
.btn--gold { background: var(--gold); color: var(--white); border-color: var(--gold); }
.btn--gold:hover { background: #bc8a28; border-color: #bc8a28; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(212,160,58,.28); }
.btn--add-cart { text-transform: uppercase; letter-spacing: .088em; border-radius: 30px; font-size: .756rem; font-weight: 400; }
.btn--sm { padding: 8px 16px; font-size: .78rem; }
.btn--full { width: 100%; text-align: center; }



/* =============================================
   NAV — social | logo centré | panier + menu sous le logo
   ============================================= */
.nav {
  position: sticky;
  top: 0; z-index: 100;
  background: var(--white);
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.nav__bar { }

/* — LIGNE PRINCIPALE : social | logo | panier — */
.nav__header {
  max-width: 1280px; margin: 0 auto;
  padding: 20px 32px 14px;
  display: flex;
  align-items: center;
}
.nav__left { flex: 1; display: flex; align-items: center; gap: 8px; }
.nav__social { display: flex; align-items: center; gap: 8px; }
.nav__logo { flex: 0 0 auto; }
.nav__topright { flex: 1; display: flex; justify-content: flex-end; align-items: center; }

/* — COMPTE + PANIER — */
.nav__account { display: flex; align-items: center; color: var(--dark); text-decoration: none; transition: color .18s; margin-right: 14px; }
.nav__account:hover { color: var(--gold); }
.nav__account svg { width: 21px; height: 21px; }
.nav__cart { position: relative; display: flex; align-items: center; color: var(--dark); text-decoration: none; transition: color .18s; }
.nav__cart:hover { color: var(--gold); }
.nav__cart svg { width: 22px; height: 22px; }
.nav__cart-badge:empty, .nav__cart-badge[data-count="0"] { display: none !important; }
.nav__cart-badge { position: absolute; top: -7px; right: -8px; background: var(--gold); color: #fff; border-radius: 50%; width: 17px; height: 17px; font-size: .62rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }

/* — LOGO — */
.nav__logo { display: flex; align-items: center; text-decoration: none; }
.nav__logo-img { height: 64px; width: auto; display: block; }

/* — BARRE NAV + SEARCH — */
.nav__bar-inner { max-width: 1280px; margin: 0 auto; padding: 20px 32px 14px; display: flex; align-items: center; justify-content: center; position: relative; }
.nav__links { display: flex; align-items: center; gap: 6px; }
.nav__links a { color: #000000; text-decoration: none; font-size: .878rem; font-weight: 600; letter-spacing: .084em; text-transform: uppercase; padding: 8px 16px; transition: color .18s; white-space: nowrap; font-family: 'Poppins', sans-serif; }
.nav__links a:hover, .nav__links a.nav__active { color: var(--gold); }
.nav__links a.nav__cta { background: var(--gold); color: var(--white); padding: 6px 15px; border-radius: 30px; font-weight: 500; font-size: .790rem; margin-left: 18px; }
.nav__links a.nav__cta:hover { background: #bc8a28; color: var(--white); }


/* — BURGER + MENU MOBILE — */
.nav__burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.nav__burger span { display: block; width: 24px; height: 2px; background: var(--dark); border-radius: 2px; transition: all .2s; }
.nav__mobile { display: none; flex-direction: column; background: var(--cream-2); padding: 16px 32px; }
.nav__mobile a { color: var(--mid); text-decoration: none; padding: 13px 0; font-size: .95rem; border-bottom: 1px solid var(--border); transition: color .18s; }
.nav__mobile a:last-child { border-bottom: none; }
.nav__mobile a:hover { color: var(--gold); }
.nav__mobile.open { display: flex; }

@media (max-width: 900px) {
  .nav__links { display: none; }
  .nav__burger { display: flex; }
  .nav__logo-img { height: 44px; }
  .nav__header { padding: 14px 20px 10px; }
  .nav__bar-inner { display: none; }
  .nav__social { display: none; }
  /* Compte supprimé — pas besoin de règle supplémentaire */
}


/* =============================================
   HERO — image plein écran
   ============================================= */
.hero {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255,255,255,.82) 0%,
    rgba(255,255,255,.68) 30%,
    rgba(255,255,255,.32) 52%,
    rgba(255,255,255,.0) 72%,
    transparent 100%
  );
  z-index: 1;
}
.hero__content {
  position: absolute;
  z-index: 2;
  top: 44%;
  left: 6vw;
  transform: translateY(-50%);
  max-width: 480px;
  padding: 0;
}
.hero__eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; display: block; }
.hero__title { font-family: var(--font-head); font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 700; line-height: 1.1; color: var(--dark); margin-bottom: 20px; }
.hero__sub { font-size: .97rem; color: var(--mid); line-height: 1.7; margin-bottom: 36px; max-width: 420px; }
.hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

@media (max-width: 900px) {
  .hero { height: auto; min-height: 88vh; }
  .hero::before { background: rgba(255,255,255,.68); }
  .hero__content {
    left: 0; top: auto; transform: none;
    position: relative; z-index: 2;
    padding: 72px 24px 60px;
    max-width: 100%;
  }
  .hero__title { font-size: 2.2rem; }
  .hero__actions { flex-direction: column; }
}


/* =============================================
   PAGE HEADER (pages internes)
   ============================================= */
.page-header {
  background: linear-gradient(135deg, #FFFBF0 0%, #FFF3C8 100%);
  min-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 80px 32px;
}
.page-header::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 100% at 50% 50%, rgba(212,160,58,.1) 0%, transparent 70%), url("data:image/svg+xml,%3Csvg width='80' height='92' viewBox='0 0 80 92' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 0L80 23V69L40 92L0 69V23L40 0z' fill='none' stroke='%23D4A03A' stroke-opacity='0.04' stroke-width='1'/%3E%3C/svg%3E") 0 0 / 80px 92px; }
.page-header .container { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
.page-header h1 { font-family: var(--font-head); font-size: clamp(2rem, 4.5vw, 3.4rem); font-weight: 600; color: var(--dark); margin-bottom: 0; line-height: 1.15; }
.page-header p { color: var(--mid); font-size: .95rem; font-weight: 300; margin-top: 16px; max-width: 560px; }


/* =============================================
   CARROUSEL (bestsellers & promos)
   ============================================= */
.carousel-section { padding: 96px 0; }
.carousel-section--alt { background: var(--cream-2); }

.carousel__track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.carousel__track--3 {
  grid-template-columns: repeat(3, 1fr);
  max-width: 1020px;
  margin: 0 auto;
}
.carousel-section .container { max-width: 1340px; }

/* Carte produit carrousel */
.product-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.product-card__img {
  aspect-ratio: 1 / 1;
  background: var(--cream-2);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.product-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.product-card__body h3 { font-family: var(--font-head); font-size: .95rem; font-weight: 600; color: var(--dark); }
.product-card__body p { color: var(--mid); font-size: .82rem; font-weight: 300; line-height: 1.55; flex: 1; }
.product-card .btn { margin-top: 12px; }
.stars { color: #E8A820; font-size: 1rem; letter-spacing: 1px; }
.stars-count { font-size: .75rem; color: var(--mid); font-weight: 300; }

/* Carte promo */
.promo-card { position: relative; }
.promo-card__badge { position: absolute; top: 12px; right: 12px; background: #D44A2A; color: var(--white); font-size: .68rem; font-weight: 700; letter-spacing: .06em; padding: 3px 9px; border-radius: 4px; text-transform: uppercase; z-index: 2; }
.promo-card .product-card__body { gap: 6px; }
.promo-card__prices { display: flex; align-items: center; gap: 10px; margin-top: 4px; }
.promo-card__old { font-size: .85rem; color: var(--light); text-decoration: line-through; font-family: var(--font-head); }
.promo-card__new { font-size: 1.1rem; color: #D44A2A; font-weight: 700; font-family: var(--font-head); }

.carousel__cta { text-align: center; margin-top: 48px; }

/* BEST SELLERS — style éditorial sans cards */
.bestsellers__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 80px; }
.bestseller__item { display: flex; flex-direction: column; gap: 14px; height: 100%; }
.bestseller__img { width: 100%; aspect-ratio: 1/1; overflow: hidden; border-radius: 12px; background: var(--white); display: flex; align-items: center; justify-content: center; }
.bestseller__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bestseller__img img.img--contain { object-fit: contain; }
.bestseller__item:hover .bestseller__img img { transform: scale(1.04); }
.bestseller__name { font-family: var(--font-head); font-size: 1rem; font-weight: 600; color: var(--dark); }
.bestseller__stars { display: flex; align-items: center; gap: 6px; }
.bestseller__stars .stars { font-size: .85rem; }
.bestseller__stars .stars-count { font-size: .78rem; color: var(--mid); }
.bestseller__price { font-size: .92rem; font-weight: 600; color: var(--gold); }
.bestseller__link { margin-top: auto; font-size: .78rem; font-weight: 500; color: var(--mid); text-decoration: none; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--border); padding-bottom: 2px; width: fit-content; transition: color .18s, border-color .18s; }
.bestseller__link:hover { color: var(--dark); border-color: var(--dark); }
@media (max-width: 900px) { .bestsellers__grid { grid-template-columns: repeat(2, 1fr); column-gap: 20px; row-gap: 40px; } }

@media (max-width: 1100px) { .carousel__track { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .carousel__track { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .carousel__track { grid-template-columns: 1fr; } }



/* =============================================
   SE LANCER CTA (accueil)
   ============================================= */
.selancer-cta { padding: 80px 0; background: var(--gold-pale); border-top: 1px solid #E5E5E5; border-bottom: 1px solid #E5E5E5; }
.selancer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.selancer-cta__inner h2 { font-family: var(--font-head); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 600; color: var(--dark); margin-bottom: 8px; line-height: 1.2; }
.selancer-cta__inner p { color: var(--mid); font-size: .9rem; font-weight: 300; }
.selancer-cta__inner .btn { flex-shrink: 0; }
@media (max-width: 700px) { .selancer-cta__inner { flex-direction: column; } }


/* =============================================
   BANDEAU RÉASSURANCE
   ============================================= */
.reassurance { background: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 28px 0; }
.reassurance__inner { display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; }
.reassurance__item { display: flex; align-items: center; gap: 9px; padding: 10px 36px; border-right: 1px solid var(--border); }
.reassurance__item:last-child { border-right: none; }
.reassurance__item svg { width: 20px; height: 20px; color: var(--gold); flex-shrink: 0; }
.reassurance__item span { font-size: .82rem; font-weight: 500; color: var(--dark); white-space: nowrap; }
@media (max-width: 900px) { .reassurance__item { border-right: none; border-bottom: 1px solid var(--border); width: 50%; justify-content: center; } .reassurance__item:nth-child(even) { border-left: 1px solid var(--border); } }
/* breakpoint 480px réassurance supprimé — unifié à 900px */



/* =============================================
   CATALOGUE MIELS & ACCESSOIRES — 4 colonnes, style PNG
   ============================================= */
.catalogue { padding: 64px 0 96px; background: var(--cream); }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 29px; }

a.product-item, .product-item__link { text-decoration: none; color: inherit; }
.product-item { display: flex; flex-direction: column; align-items: center; text-align: center; cursor: pointer; padding: 28px 12px; gap: 8px; }
.product-item.hidden { display: none; }
/* Placeholder PNG : cercle discret */
.product-img-ph {
  width: 75%; height: 75%;
  border-radius: 50%;
  background: radial-gradient(circle, #EDD5A0 0%, #E8C56D44 60%, transparent 100%);
  display: flex; align-items: center; justify-content: center;
  transition: transform .3s;
}
.product-item:hover .product-img-ph { transform: scale(1.04); }
.product-img-ph svg { width: 52px; height: 52px; color: #D4A03A; opacity: .45; }



@media (max-width: 1000px) { .product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px) { .product-grid { grid-template-columns: 1fr; } }


/* =============================================
   GUIDE SE LANCER
   ============================================= */
.guide { padding: 72px 0 96px; background: var(--cream); }
.guide__inner { display: grid; grid-template-columns: 220px 1fr; gap: 64px; align-items: start; }
.guide__toc { position: sticky; top: 80px; background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 24px; }
.guide__toc-title { font-family: var(--font-head); font-size: .73rem; font-weight: 600; color: var(--mid); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px; }
.guide__toc ol { list-style: none; }
.guide__toc a { display: block; font-size: .83rem; color: var(--mid); font-weight: 300; text-decoration: none; padding: 7px 0; border-bottom: 1px solid var(--border); transition: color .18s; }
.guide__toc li:last-child a { border-bottom: none; }
.guide__toc a:hover { color: var(--gold); }
.guide__content { display: flex; flex-direction: column; gap: 56px; }
.guide__section h2 { font-family: var(--font-head); font-size: 1.5rem; font-weight: 600; color: var(--dark); margin-bottom: 20px; }
.guide__section h4 { font-family: var(--font-head); font-size: 1rem; font-weight: 600; color: var(--dark); margin: 22px 0 8px; }
.guide__section p { color: var(--mid); font-size: .9rem; font-weight: 300; line-height: 1.75; margin-bottom: 12px; }
.guide__callout { background: var(--cream-2); border-left: 3px solid var(--gold); padding: 16px 20px; border-radius: 0 var(--r) var(--r) 0; margin-top: 16px; font-size: .88rem; color: var(--mid); font-weight: 300; }
.guide__callout strong { color: var(--dark); font-weight: 600; }
.guide__callout a { color: var(--gold); text-decoration: none; }
.guide__table-wrap { overflow-x: auto; margin: 16px 0; }
.guide__table { width: 100%; border-collapse: collapse; font-size: .87rem; }
.guide__table th { background: var(--dark); color: rgba(255,255,255,.65); font-weight: 500; font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; padding: 10px 16px; text-align: left; }
.guide__table td { padding: 11px 16px; border-bottom: 1px solid var(--border); color: var(--mid); font-weight: 300; }
.guide__table tr:last-child td { border-bottom: none; }
.guide__table tr:hover td { background: var(--cream); }
.guide__table td strong { color: var(--dark); font-weight: 600; }
.guide__steps { display: flex; flex-direction: column; }
.guide__step { display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--border); }
.guide__step:last-child { border-bottom: none; }
.guide__step-num { font-family: var(--font-head); font-size: 1.8rem; font-weight: 700; color: var(--gold); opacity: .25; flex-shrink: 0; line-height: 1; }
.guide__step h4 { font-family: var(--font-head); font-size: 1rem; font-weight: 600; color: var(--dark); margin-bottom: 6px; }
.guide__step p { color: var(--mid); font-size: .88rem; font-weight: 300; line-height: 1.65; }
.guide__step a { color: var(--gold); text-decoration: none; }
@media (max-width: 800px) { .guide__inner { grid-template-columns: 1fr; } .guide__toc { display: none; } }


/* =============================================
   FAQ
   ============================================= */
.faq-page { padding: 72px 0 96px; background: var(--cream); }
.faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 64px; }
.faq__group h2 { font-family: var(--font-head); font-size: 1.1rem; font-weight: 600; color: var(--dark); margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--gold); display: inline-block; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item__q { width: 100%; text-align: left; background: none; border: none; cursor: pointer; padding: 16px 0; font-family: var(--font-body); font-size: .9rem; font-weight: 500; color: var(--dark); display: flex; justify-content: space-between; align-items: center; gap: 12px; transition: color .18s; }
.faq-item__q:hover { color: var(--gold); }
.faq-item__q::after { content: '+'; font-size: 1.2rem; font-weight: 300; color: var(--gold); flex-shrink: 0; transition: transform .2s; }
.faq-item__q[aria-expanded="true"]::after { transform: rotate(45deg); }
.faq-item__a { display: none; padding-bottom: 16px; }
.faq-item__a.open { display: block; }
.faq-item__a p { color: var(--mid); font-size: .87rem; font-weight: 300; line-height: 1.7; }
.faq-item__a a { color: var(--gold); text-decoration: none; }
@media (max-width: 800px) { .faq__grid { grid-template-columns: 1fr; gap: 36px; } }


/* =============================================
   CONTACT
   ============================================= */
.contact-page { padding: 72px 0 96px; background: var(--cream); }
.contact__grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 72px; align-items: start; }
.contact__info h2 { font-family: var(--font-head); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 600; color: var(--dark); margin-bottom: 14px; line-height: 1.2; }
.contact__info > p { color: var(--mid); font-size: .9rem; font-weight: 300; line-height: 1.7; margin-bottom: 32px; }
.contact__usecases { display: flex; flex-direction: column; gap: 20px; }
.usecase { display: flex; gap: 14px; align-items: flex-start; }
.usecase__icon { width: 38px; height: 38px; background: var(--gold-pale); border-radius: var(--r); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.usecase__icon svg { width: 17px; height: 17px; color: var(--gold); }
.usecase h4 { font-family: var(--font-head); font-size: .93rem; font-weight: 600; color: var(--dark); margin-bottom: 3px; }
.usecase p { color: var(--mid); font-size: .83rem; font-weight: 300; line-height: 1.55; }
.contact__form { background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 36px; display: flex; flex-direction: column; gap: 16px; }
.contact__form h3 { font-family: var(--font-head); font-size: 1.2rem; font-weight: 600; color: var(--dark); }
.form__intro { color: var(--mid); font-size: .84rem; font-weight: 300; line-height: 1.6; margin-top: -4px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form__group { display: flex; flex-direction: column; gap: 5px; }
.form__group label { font-size: .78rem; font-weight: 500; color: var(--dark); }
.form__group input, .form__group select, .form__group textarea { width: 100%; padding: 11px 13px; border: 1.5px solid var(--border); border-radius: var(--r); font-family: var(--font-body); font-size: .875rem; color: var(--dark); background: var(--cream); transition: border-color .18s, box-shadow .18s; outline: none; appearance: none; }
.form__group input:focus, .form__group select:focus, .form__group textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212,160,58,.1); background: var(--white); }
.form__group textarea { resize: vertical; min-height: 100px; }
.form__note { text-align: center; font-size: .74rem; color: var(--light); font-weight: 300; }
.contact__socials { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--border); }
.contact__socials-label { font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
.contact__socials-links { display: flex; gap: 10px; align-items: center; }
.contact__socials-handle { font-size: .8rem; color: var(--mid); font-weight: 300; margin-left: 4px; }
.contact__social-item { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); color: var(--mid); text-decoration: none; transition: all .18s; }
.contact__social-item:hover { border-color: var(--gold); color: var(--gold); }
.contact__social-item svg { width: 15px; height: 15px; flex-shrink: 0; }
@media (max-width: 800px) { .contact__grid { grid-template-columns: 1fr; gap: 48px; } .form__row { grid-template-columns: 1fr; } .contact__form { padding: 22px; } }


/* =============================================
   PAGES LÉGALES
   ============================================= */
.legal-page { padding: 72px 0 96px; background: var(--cream); }
.legal__content { max-width: 800px; margin: 0 auto; }
.legal__section h2 { font-family: var(--font-head); font-size: 1.3rem; font-weight: 600; color: var(--dark); margin: 40px 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.legal__section:first-child h2 { margin-top: 0; }
.legal__section h3 { font-family: var(--font-head); font-size: 1rem; font-weight: 600; color: var(--dark); margin: 22px 0 8px; }
.legal__section p { color: var(--mid); font-size: .9rem; font-weight: 300; line-height: 1.75; margin-bottom: 12px; }
.legal__section ul { color: var(--mid); font-size: .9rem; font-weight: 300; line-height: 1.75; margin: 8px 0 12px 20px; }
.legal__section li { margin-bottom: 4px; }
.legal__section strong { color: var(--dark); font-weight: 500; }
.legal__section a { color: var(--gold); text-decoration: none; }
.legal__section { margin-bottom: 8px; }

/* product-item modifiers for catalogue pages */
.product-origin { font-size: .74rem; color: var(--light); font-weight: 300; margin-bottom: 6px; letter-spacing: .04em; text-transform: uppercase; }
.product-price { font-family: var(--font-head); font-size: .95rem; color: var(--dark); margin-top: 4px; }
.product-price strong { font-weight: 700; color: var(--gold); }
.product-item h3 { font-family: var(--font-head); font-size: .95rem; font-weight: 600; color: var(--dark); margin-bottom: 2px; }
.product-img-wrap { margin-bottom: 5px; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 12px; background: #fff; }
.product-img-real { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.product-item:hover .product-img-real { transform: scale(1.04); }
.product-card__img-real { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.product-card:hover .product-card__img-real { transform: scale(1.05); }

/* =============================================
   PAGE PRODUIT UNIQUE
   ============================================= */
/* =============================================
   TARIFS PRODUIT
   ============================================= */
.produit-tarifs { padding: 72px 0; background: var(--cream-2); }
.produit-tarifs__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.produit-tarifs__title { font-family: var(--font-head); font-size: 1.4rem; font-weight: 600; color: var(--dark); margin-bottom: 8px; }
.produit-tarifs__sub { font-size: .88rem; color: var(--mid); margin-bottom: 40px; }
.tarifs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.tarif-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r); padding: 28px 20px; display: flex; flex-direction: column; align-items: center; gap: 10px; transition: border-color .2s, box-shadow .2s; }
.tarif-card:hover { border-color: var(--gold); box-shadow: 0 4px 16px rgba(212,160,58,.12); }
.tarif-poids { font-size: .75rem; font-weight: 500; color: var(--mid); text-transform: uppercase; letter-spacing: .1em; }
.tarif-prix { font-size: 1.5rem; font-weight: 700; color: var(--dark); font-family: var(--font-head); }
.tarif-prix-old { font-size: .82rem; color: var(--light); text-decoration: line-through; }
.tarif-badge { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; background: var(--gold); color: var(--white); border-radius: 20px; padding: 2px 10px; }
.tarif-card--promo { border-color: var(--gold); }
.tarif-card .btn { margin-top: 6px; }
.tarifs-note { margin-top: 24px; font-size: .8rem; color: var(--light); }

/* ── Hero produit ── */
.produit-page { background: var(--cream); padding: 56px 0 72px; }
.produit-hero { display: grid; grid-template-columns: 55fr 45fr; gap: 80px; align-items: center; max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.produit-hero__gallery { position: relative; display: flex; justify-content: flex-end; }
.produit-hero__img-main { width: 550px; height: 550px; object-fit: cover; border-radius: var(--r-lg); display: block; }
.produit-hero__img-ph { width: 550px; height: 550px; border-radius: var(--r-lg); background: linear-gradient(135deg, #F5E8A0 0%, #D4A03A 100%); }
.produit-hero__info { display: flex; flex-direction: column; gap: 20px; padding-top: 8px; }
.produit-breadcrumb { display: flex; align-items: center; gap: 7px; font-size: .72rem; color: var(--light); margin-bottom: 28px; }
.produit-breadcrumb a { color: var(--mid); text-decoration: none; transition: color .18s; }
.produit-breadcrumb a:hover { color: var(--gold); }
.produit-hero__info .product-origin { font-size: .78rem; color: var(--light); font-weight: 300; letter-spacing: .08em; text-transform: uppercase; margin-top: -4px; }
.produit-hero__info h1 { font-family: var(--font-head); font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 600; color: var(--dark); line-height: 1.15; }
.produit-hero__info .produit-desc { font-size: .93rem; color: var(--mid); font-weight: 300; line-height: 1.8; }
.produit-specs { display: flex; flex-wrap: wrap; gap: 8px; }
.produit-spec { font-size: .73rem; font-weight: 500; color: var(--dark); background: var(--cream-2); border: 1px solid var(--border); padding: 5px 13px; border-radius: 100px; }
.produit-poids { border-top: 1px solid var(--border); padding-top: 20px; display: flex; flex-direction: column; gap: 12px; }
.produit-poids__label { font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; color: var(--light); }
.produit-poids__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.produit-poids__btn { padding: 9px 22px; border: 1.5px solid var(--border); border-radius: 100px; background: var(--white); color: var(--dark); font-family: var(--font-body); font-size: .85rem; font-weight: 500; cursor: pointer; transition: all .18s; }
.produit-poids__btn:hover { border-color: var(--gold); color: var(--gold); }
.produit-poids__btn.active { background: var(--gold); border-color: var(--gold); color: var(--white); }
.produit-price { font-family: var(--font-head); font-size: 1rem; color: var(--mid); font-weight: 300; }
.produit-price__val { color: var(--dark); font-size: 1.6rem; font-weight: 700; font-family: var(--font-head); }
.produit-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.produit-devis-link { font-size: .8rem; color: var(--mid); text-decoration: none; font-weight: 300; transition: color .18s; }
.produit-devis-link span { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.produit-devis-link:hover span { color: var(--dark); }
.produit-back { font-size: .82rem; color: var(--mid); text-decoration: none; font-weight: 400; transition: color .18s; }
.produit-back:hover { color: var(--gold); }

/* ── Profil produit ── */
.produit-profil { padding: 0; background: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.produit-profil__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.produit-profil__item { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 20px; border-right: 1px solid var(--border); }
.produit-profil__item:last-child { border-right: none; }
.produit-profil__icon { width: 28px; height: 28px; color: var(--gold); margin-bottom: 14px; flex-shrink: 0; }
.produit-profil__label { font-size: .68rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--light); margin-bottom: 7px; }
.produit-profil__value { font-size: .88rem; font-weight: 500; color: var(--dark); line-height: 1.4; }

/* ── Description + bienfaits ── */
.produit-detail { padding: 80px 0; background: var(--cream-2); }
.produit-detail__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.produit-detail__text .eyebrow { margin-bottom: 14px; }
.produit-detail__text h2 { font-family: var(--font-head); font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 600; color: var(--dark); line-height: 1.3; margin-bottom: 24px; }
.produit-detail__text p { color: var(--mid); font-size: .92rem; font-weight: 300; line-height: 1.85; margin-bottom: 14px; }
.produit-detail__text p:last-child { margin-bottom: 0; }
.produit-detail__bienfaits .eyebrow { margin-bottom: 20px; }
.produit-bienfaits { list-style: none; display: flex; flex-direction: column; gap: 22px; }
.produit-bienfait { display: flex; align-items: flex-start; gap: 16px; }
.produit-bienfait svg { width: 20px; height: 20px; color: var(--gold); flex-shrink: 0; margin-top: 2px; }
.produit-bienfait div { display: flex; flex-direction: column; gap: 3px; }
.produit-bienfait strong { font-size: .9rem; font-weight: 600; color: var(--dark); }
.produit-bienfait span { font-size: .83rem; color: var(--mid); font-weight: 300; line-height: 1.6; }

/* ── CTA dark produit ── */
.produit-cta-dark { padding: 80px 0; background: var(--dark); text-align: center; }
.produit-cta-dark .eyebrow { color: var(--gold); }
.produit-cta-dark h2 { font-family: var(--font-head); font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 600; color: var(--white); margin-bottom: 12px; }
.produit-cta-dark p { color: rgba(255,255,255,.5); font-size: .92rem; font-weight: 300; margin-bottom: 32px; max-width: 480px; margin-left: auto; margin-right: auto; }

/* ── Related products ── */
.produit-related { padding: 80px 0; }
.produit-related__head { margin-bottom: 48px; text-align: center; }
.produit-related__head h2 { font-family: var(--font-head); font-size: clamp(1.6rem, 2.5vw, 2.2rem); font-weight: 600; color: var(--dark); }
.produit-related__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.produit-related__card { display: block; text-decoration: none; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--border); background: var(--white); transition: transform .25s, box-shadow .25s; }
.produit-related__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.produit-related__card-img { aspect-ratio: 4/3; overflow: hidden; background: var(--cream-2); }
.produit-related__card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.produit-related__card:hover .produit-related__card-img img { transform: scale(1.04); }
.produit-related__card-body { padding: 20px 22px 24px; }
.produit-related__card-origin { font-size: .68rem; text-transform: uppercase; letter-spacing: .09em; color: var(--light); font-weight: 300; margin-bottom: 6px; display: block; }
.produit-related__card-name { font-family: var(--font-head); font-size: .97rem; font-weight: 600; color: var(--dark); margin-bottom: 6px; }
.produit-related__card-price { font-size: .85rem; color: var(--mid); font-weight: 300; }
.produit-related__card-price strong { color: var(--gold); font-weight: 600; }

/* se-lancer cta note */
.selancer-cta__note { font-size: .8rem; color: var(--mid); font-weight: 300; margin-top: 6px; }


/* =============================================
   HOME ABOUT / SEO SECTION
   ============================================= */
.home-about {
  padding: 100px 0 80px;
  background: var(--white);
  border-top: 1px solid var(--border);
}
.home-about__head {
  max-width: 720px;
  margin: 0 auto 72px;
  text-align: center;
}
.home-about__head h2 {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  font-weight: 600;
  color: var(--dark);
  line-height: 1.18;
  margin-bottom: 20px;
}
.home-about__head h2 em {
  font-style: normal;
  color: var(--gold);
}
.home-about__head p {
  font-size: 1rem;
  font-weight: 300;
  color: var(--mid);
  line-height: 1.85;
  max-width: 600px;
  margin: 0 auto;
}
.home-about__pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 72px;
}
.home-about__pillar {
  background: var(--gold-pale);
  border: 1px solid #EDE3CE;
  border-radius: var(--r-lg);
  padding: 40px 36px;
  transition: box-shadow .25s, transform .25s;
}
.home-about__pillar:hover {
  box-shadow: 0 12px 40px rgba(212,160,58,.12);
  transform: translateY(-4px);
}
.home-about__pillar-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.home-about__pillar-icon svg {
  width: 24px;
  height: 24px;
  stroke: #fff;
}
.home-about__pillar h3 {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 12px;
}
.home-about__pillar p {
  font-size: .88rem;
  font-weight: 300;
  color: var(--mid);
  line-height: 1.8;
}
.home-about__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.home-about__stat {
  background: var(--white);
  padding: 36px 24px;
  text-align: center;
}
.home-about__stat-num {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 8px;
  display: block;
}
.home-about__stat-label {
  font-size: .8rem;
  font-weight: 500;
  color: var(--mid);
  text-transform: uppercase;
  letter-spacing: .07em;
}

/* HOME DISCOVER (also/accessories) */
.home-discover {
  padding: 80px 0;
  background: var(--cream-2);
  border-top: 1px solid var(--border);
}
.home-discover__head {
  text-align: center;
  margin-bottom: 52px;
}
.home-discover__head h2 {
  font-family: var(--font-head);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 10px;
}
.home-discover__head p {
  font-size: .9rem;
  font-weight: 300;
  color: var(--mid);
}
.home-discover__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.home-discover__card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow .25s, transform .25s;
  display: flex;
  flex-direction: column;
}
.home-discover__card:hover {
  box-shadow: 0 10px 36px rgba(0,0,0,.09);
  transform: translateY(-4px);
}
.home-discover__card-img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-discover__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.home-discover__card-img img.img--contain {
  object-fit: contain;
  padding: 16px;
}
.home-discover__card:hover .home-discover__card-img img {
  transform: scale(1.04);
}
.home-discover__card-body {
  padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.home-discover__card-tag {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.home-discover__card h3 {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 8px;
}
.home-discover__card p {
  font-size: .85rem;
  font-weight: 300;
  color: var(--mid);
  line-height: 1.7;
  flex: 1;
}
.home-discover__card-cta {
  display: inline-block;
  margin-top: 18px;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold);
  border-bottom: 1px solid var(--gold);
  padding-bottom: 2px;
  width: fit-content;
  transition: opacity .18s;
}
.home-discover__card:hover .home-discover__card-cta { opacity: .7; }

@media (max-width: 900px) {
  .home-about__pillars { grid-template-columns: repeat(2, 1fr); }
  .home-about__stats { grid-template-columns: repeat(2, 1fr); }
  .home-discover__grid { grid-template-columns: repeat(2, 1fr); }
}

/* =============================================
   FOOTER
   ============================================= */
.footer { background: #F8F5F0; box-shadow: 0 -1px 0 var(--border); }

.footer__newsletter {
  border-bottom: 1px solid var(--border);
  padding: 40px 0;
}
.footer__newsletter-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
.footer__newsletter h4 { font-family: var(--font-head); font-size: 1.05rem; font-weight: 600; color: var(--dark); margin-bottom: 4px; }
.footer__newsletter p { color: var(--mid); font-size: .83rem; font-weight: 300; }
.newsletter-form { display: flex; gap: 0; flex-shrink: 0; }
.newsletter-form input { padding: 12px 16px; border: 1.5px solid var(--border); border-right: none; border-radius: var(--r) 0 0 var(--r); background: var(--white); color: var(--dark); font-family: var(--font-body); font-size: .875rem; outline: none; width: 260px; transition: border-color .18s; }
.newsletter-form input::placeholder { color: var(--light); }
.newsletter-form input:focus { border-color: var(--gold); }
.newsletter-form button { border-radius: 0 var(--r) var(--r) 0; padding: 12px 40px; white-space: nowrap; cursor: pointer; font-family: var(--font-body); font-size: .875rem; font-weight: 500; background: var(--gold); color: var(--white); border: 2px solid var(--gold); transition: background .18s; }
.newsletter-form button:hover { background: #bc8a28; }
@media (max-width: 800px) { .footer__newsletter-inner { flex-direction: column; align-items: flex-start; } .newsletter-form { width: 100%; } .newsletter-form input { flex: 1; width: auto; } }

.footer__main { display: grid; grid-template-columns: 1.2fr 2fr; gap: 64px; padding: 52px 0 44px; }
.footer__logo { display: inline-flex; text-decoration: none; margin-bottom: 14px; }
.footer__logo-img { height: 52px; width: auto; }
.footer__brand p { color: var(--mid); font-size: .83rem; font-weight: 300; line-height: 1.65; max-width: 240px; }
.footer__nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.footer__col h4 { font-family: var(--font-head); font-size: .73rem; font-weight: 600; color: var(--dark); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 16px; }
.footer__col a { display: block; color: var(--mid); text-decoration: none; font-size: .83rem; font-weight: 300; margin-bottom: 9px; transition: color .18s; }
.footer__col a:hover { color: var(--gold); }

.footer__bottom { border-top: 1px solid var(--border); padding: 20px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.footer__bottom p { color: var(--light); font-size: .76rem; }
.footer__credit { text-align: center; }
.footer__credit a { color: var(--gold); text-decoration: none; font-style: italic; }
.footer__credit a:hover { text-decoration: underline; }
.footer__payments { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.payment-icon-img { height: 26.5px !important; width: auto; border-radius: 3px; display: block; opacity: .85; }
.payment-icon-img--klarna { height: 20px !important; }

@media (max-width: 860px) { .footer__main { grid-template-columns: 1fr; gap: 36px; } .footer__nav { grid-template-columns: 1fr 1fr; } .footer__bottom { flex-direction: column; align-items: flex-start; } }
@media (max-width: 480px) { .footer__nav { grid-template-columns: 1fr; } }


/* =============================================
   ICONES SOCIALES
   ============================================= */
.nav__social a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--gold); border-radius: 50%; transition: color .18s; }
.nav__social a:hover { color: #bc8a28; }
.nav__social svg { width: 16px; height: 16px; }
.nav__social--mobile { display: flex; gap: 12px; padding-top: 14px; margin-top: 8px; border-top: 1px solid var(--border); }
.nav__social--mobile a { color: var(--gold); width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--gold); display: flex; align-items: center; justify-content: center; transition: all .18s; }
.nav__social--mobile a:hover { color: #bc8a28; border-color: #bc8a28; }

.footer__social { display: flex; gap: 10px; margin-top: 18px; }
.footer__social a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--gold); color: var(--gold); transition: all .18s; }
.footer__social a:hover { border-color: #bc8a28; color: #bc8a28; }
.footer__social svg { width: 15px; height: 15px; }

/* =============================================
   BLOG — liste d'articles
   ============================================= */
/* Blog — index */
.blog-section { padding: 72px 0 120px; background: #fff; }

/* Hero — premier article */
.blog-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 1280px; margin: 0 auto 72px; padding: 0 48px; text-decoration: none; color: inherit; }
.blog-hero__img { aspect-ratio: 4/3; overflow: hidden; border-radius: var(--r-lg) 0 0 var(--r-lg); }
.blog-hero__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.blog-hero:hover .blog-hero__img img { transform: scale(1.03); }
.blog-hero__body { background: var(--cream); border-radius: 0 var(--r-lg) var(--r-lg) 0; padding: 56px 52px; display: flex; flex-direction: column; justify-content: center; }
.blog-hero__cat { font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; display: block; }
.blog-hero__title { font-family: var(--font-head); font-size: 1.7rem; font-weight: 700; color: var(--dark); line-height: 1.3; margin-bottom: 18px; letter-spacing: -.02em; }
.blog-hero__excerpt { font-size: .9rem; color: var(--muted); line-height: 1.75; margin-bottom: 32px; }
.blog-hero__read { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--gold); }
.blog-hero__read::after { content: '→'; transition: transform .2s; }
.blog-hero:hover .blog-hero__read::after { transform: translateX(4px); }
.blog-hero__date { font-size: .72rem; color: var(--muted); margin-top: 24px; }

/* Séparateur */
.blog-divider { max-width: 1280px; margin: 0 auto 56px; padding: 0 48px; }
.blog-divider hr { border: none; border-top: 1px solid var(--border); }

/* Grille — reste des articles */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 36px; max-width: 1280px; margin: 0 auto; padding: 0 48px; }
.blog-card { text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.blog-card__img { aspect-ratio: 3/2; overflow: hidden; border-radius: var(--r); margin-bottom: 20px; }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.blog-card:hover .blog-card__img img { transform: scale(1.04); }
.blog-card__img-ph { width: 100%; height: 100%; background: linear-gradient(135deg, #F5E8A0 0%, #D4A03A 100%); }
.blog-card__cat { font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; display: block; }
.blog-card__title { font-family: var(--font-head); font-size: 1rem; font-weight: 600; color: var(--dark); line-height: 1.45; margin-bottom: 10px; }
.blog-card__excerpt { font-size: .83rem; color: var(--muted); line-height: 1.7; flex: 1; margin-bottom: 16px; }
.blog-card__meta { display: flex; align-items: center; justify-content: space-between; font-size: .72rem; color: var(--muted); border-top: 1px solid var(--border); padding-top: 14px; margin-top: auto; }
.blog-card__read { color: var(--gold); font-weight: 600; font-size: .75rem; }

@media (max-width: 1024px) {
  .blog-hero, .blog-divider, .blog-grid { padding: 0 32px; }
}
@media (max-width: 900px) {
  .blog-hero { grid-template-columns: 1fr; }
  .blog-hero__img { border-radius: var(--r-lg) var(--r-lg) 0 0; aspect-ratio: 16/9; }
  .blog-hero__body { border-radius: 0 0 var(--r-lg) var(--r-lg); padding: 36px 32px; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 36px 24px; }
}
@media (max-width: 560px) {
  .blog-hero, .blog-divider, .blog-grid { padding: 0 20px; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-hero__title { font-size: 1.3rem; }
}

/* =============================================
   ARTICLE — page individuelle
   ============================================= */
.article-page { padding: 72px 0 100px; background: var(--cream); }

/* Layout 2 colonnes */
.article-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 64px;
  align-items: start;
}
.article-main { min-width: 0; }
.article-sidebar { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 24px; }

/* Retour + meta */
.article-back { display: inline-flex; align-items: center; gap: 8px; color: var(--gold); text-decoration: none; font-size: .83rem; font-weight: 500; margin-bottom: 36px; }
.article-back:hover { text-decoration: underline; }
.article-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; flex-wrap: wrap; }
.article-meta__cat { font-size: .67rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); background: rgba(212,160,58,.1); padding: 4px 10px; border-radius: 100px; }
.article-meta__date { font-size: .78rem; color: var(--light); font-weight: 300; }

/* Image hero */
.article-img { width: 100%; aspect-ratio: 16/9; border-radius: var(--r); overflow: hidden; margin-bottom: 44px; }
.article-img-ph { width: 100%; height: 100%; background: linear-gradient(135deg, #F5E8A0 0%, #D4A03A 100%); }

/* Corps de l'article */
.article-body h2 { font-family: var(--font-head); font-size: 1.22rem; font-weight: 600; color: var(--dark); margin: 38px 0 12px; }
.article-body p { font-size: .93rem; color: var(--mid); font-weight: 300; line-height: 1.85; margin-bottom: 16px; }
.article-body strong { color: var(--dark); font-weight: 500; }
.article-body ul { margin: 8px 0 16px 20px; }
.article-body li { font-size: .93rem; color: var(--mid); font-weight: 300; line-height: 1.75; margin-bottom: 6px; }
.article-callout { background: var(--white); border-left: 3px solid var(--gold); border-radius: 0 var(--r) var(--r) 0; padding: 16px 20px; margin: 28px 0; font-size: .9rem; color: var(--mid); font-weight: 300; line-height: 1.7; }
.article-callout a { color: var(--gold); text-decoration: none; }

/* ── Sommaire ── */
.article-toc {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 24px 22px;
}
.article-toc__title {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mid);
  margin-bottom: 14px;
}
.article-toc__list {
  list-style: none;
  counter-reset: toc;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.article-toc__list li { counter-increment: toc; }
.article-toc__list a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: .82rem;
  color: var(--mid);
  font-weight: 300;
  text-decoration: none;
  padding: 6px 0;
  border-bottom: 1px solid var(--border);
  transition: color .18s;
  line-height: 1.45;
}
.article-toc__list li:last-child a { border-bottom: none; }
.article-toc__list a::before {
  content: counter(toc);
  font-size: .68rem;
  font-weight: 600;
  color: var(--gold);
  flex-shrink: 0;
  width: 16px;
}
.article-toc__list a:hover,
.article-toc__list a.active { color: var(--dark); }
.article-toc__list a.active { font-weight: 500; }

/* ── Bloc promo ── */
.article-promo {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--gold-pale);
  border: 1.5px solid #E8D59A;
  border-radius: var(--r-lg);
  padding: 24px 22px;
  text-decoration: none;
  transition: box-shadow .2s, transform .2s;
}
.article-promo:hover {
  box-shadow: 0 8px 28px rgba(212,160,58,.18);
  transform: translateY(-2px);
}
.article-promo__tag {
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
}
.article-promo__name {
  font-family: var(--font-head);
  font-size: .97rem;
  font-weight: 600;
  color: var(--dark);
  line-height: 1.3;
}
.article-promo__sub {
  font-size: .8rem;
  color: var(--mid);
  font-weight: 300;
  line-height: 1.5;
}
.article-promo__cta {
  display: inline-block;
  margin-top: 6px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: .04em;
}

/* =============================================
   SEO TEXT (bas de pages produits)
   ============================================= */
.seo-section { padding: 64px 0 80px; background: var(--white); border-top: 1px solid var(--border); }
.seo-section__inner { max-width: 860px; }
.seo-section h2 { font-family: var(--font-head); font-size: 1.1rem; font-weight: 600; color: var(--dark); margin-bottom: 12px; }
.seo-section h3 { font-family: var(--font-head); font-size: .95rem; font-weight: 600; color: var(--dark); margin: 26px 0 10px; }
.seo-section p { font-size: .9rem; color: var(--mid); font-weight: 300; line-height: 1.85; margin-bottom: 14px; }
.seo-section a { color: var(--gold); text-decoration: none; }
.seo-section a:hover { text-decoration: underline; }

/* =============================================
   ANIMATIONS
   ============================================= */
.fade-in { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.fade-in.visible { opacity: 1; transform: none; }
.fade-in-delay-1 { transition-delay: .1s; }
.fade-in-delay-2 { transition-delay: .2s; }


/* =============================================
   RESPONSIVE GLOBAL — consolidé
   ============================================= */

/* ── Mobile & Tablette (≤ 900px) — un seul breakpoint pour tous les mobiles ── */
@media (max-width: 900px) {
  .container { padding: 0 18px; }

  /* Nav */
  .nav__header { padding: 12px 18px 8px; }
  .nav__bar-inner { padding: 8px 18px; }

  /* Sections */
  .carousel-section { padding: 48px 0; }
  .home-about { padding: 56px 0 44px; }
  .home-about__head { margin-bottom: 36px; }
  .home-about__head h2 { font-size: 1.75rem; }
  .home-about__pillar { padding: 28px 22px; }
  .home-about__pillars { grid-template-columns: 1fr; }
  .home-about__stats { grid-template-columns: 1fr 1fr; }
  .home-about__stat { padding: 26px 16px; }
  .home-discover { padding: 48px 0; }
  .home-discover__head { margin-bottom: 32px; }
  .home-discover__grid { grid-template-columns: 1fr; }
  .home-discover__card-body { padding: 18px 20px 22px; }
  .reassurance { padding: 20px 0; }
  .selancer-cta { padding: 60px 0; }

  /* Section head */
  .section-head { margin-bottom: 32px; }
  .section-head h2 { font-size: 1.6rem; }

  /* Page header */
  .page-header { padding: 44px 18px; min-height: auto; }

  /* Bestsellers : 2 colonnes */
  .bestsellers__grid { grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 40px; }
  .bestseller__name { font-size: .88rem; }
  .bestseller__price { font-size: .82rem; }

  /* Carousel promo */
  .carousel__track--3 { grid-template-columns: 1fr; }
  .carousel__cta { margin-top: 32px; }

  /* Catalogue miels */
  .product-grid { grid-template-columns: 1fr 1fr; gap: 16px 14px; }
  .product-item { padding: 18px 8px; }

  /* Page produit */
  .produit-page { padding: 36px 0 52px; }
  .produit-hero { grid-template-columns: 1fr; gap: 36px; }
  .produit-hero__gallery { justify-content: center; }
  .produit-hero__img-main { width: 100%; height: auto; max-height: 320px; object-fit: cover; }
  .produit-hero__img-ph { width: 100%; height: 340px; }
  .produit-hero h1 { font-size: 1.5rem; }
  .produit-detail__grid { grid-template-columns: 1fr; gap: 48px; }
  .produit-detail { padding: 60px 0; }
  .produit-tarifs { padding: 40px 0; }
  .tarifs-grid { grid-template-columns: repeat(2, 1fr); }
  .produit-profil__grid { grid-template-columns: repeat(2, 1fr); }
  .produit-profil__item:nth-child(2) { border-right: none; }
  .produit-profil__item { border-bottom: 1px solid var(--border); }
  .produit-profil__item:nth-child(3),
  .produit-profil__item:nth-child(4) { border-bottom: none; }
  .produit-related__grid { grid-template-columns: 1fr; }
  .produit-cta-dark { padding: 48px 0; }
  .produit-related { padding: 48px 0; }

  /* Badge promo catalogue */
  .product-badge-promo { font-size: .6rem; padding: 2px 7px; }

  /* Guide / FAQ / Contact */
  .faq-page, .contact-page, .legal-page, .guide { padding: 40px 0 60px; }
  .blog-section { padding: 40px 0 60px; }
  .seo-section { padding: 36px 0 52px; }
  .article-page { padding: 40px 0 72px; }
  .article-layout { grid-template-columns: 1fr; gap: 40px; }
  .article-sidebar { position: static; flex-direction: row; flex-wrap: wrap; }
  .article-toc, .article-promo { flex: 1 1 280px; }

  /* Footer */
  .footer__bottom { align-items: flex-start; gap: 10px; }
  .footer__payments { flex-wrap: wrap; }
  .newsletter-form { flex-direction: column; gap: 0; }
  .newsletter-form input { border-radius: var(--r) var(--r) 0 0; border-right: 1.5px solid var(--border); border-bottom: none; width: 100%; }
  .newsletter-form button { border-radius: 0 0 var(--r) var(--r); width: 100%; padding: 12px 20px; }

  /* Legal */
  .legal__content { max-width: 100%; }
}

/* breakpoint 380px supprimé — tout est unifié à 900px */
/* =============================================
   WOOCOMMERCE — Panier & Compte
   ============================================= */

/* Désactiver max-width sous-éléments WC block (inline styles React) */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-cart.alignfull,
.wp-block-woocommerce-filled-cart-block,
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart,
.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart-totals-block {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Wrapper cart — après alignfull pour gagner la cascade ── */
.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1250px !important;
  margin: 0 auto !important;
  padding: 0 48px 96px !important;
  box-sizing: border-box !important;
}

/* ── Titre "Votre panier" (injecté via render_block avant le bloc) ── */
.cart-page-header {
  max-width: 1250px !important;
  margin: 32px auto 20px !important;
  padding: 0 48px !important;
  box-sizing: border-box !important;
}
.cart-page-header h1 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--dark);
  letter-spacing: -.025em;
  margin: 0;
}

/* ── Layout 2 colonnes ── */
.wc-block-cart {
  display: flex !important;
  gap: 64px !important;
  align-items: flex-start !important;
}
.wp-block-woocommerce-cart-items-block {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.wp-block-woocommerce-cart-totals-block {
  width: 320px !important;
  flex-shrink: 0 !important;
}

/* ── Panier vide ── */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.with-empty-cart-icon::before {
  display: none !important; content: none !important;
}
.wp-block-woocommerce-empty-cart-block {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; padding: 80px 24px 100px;
}
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2 {
  font-family: 'Poppins', sans-serif; font-size: 1.55rem; font-weight: 600;
  color: var(--dark); letter-spacing: -.02em; margin: 0 0 16px !important;
}
.wp-block-woocommerce-empty-cart-block p {
  font-size: .95rem; color: var(--muted); max-width: 340px; margin: 0 0 32px !important;
}
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block hr { display: none !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-element-button,
.wp-block-woocommerce-empty-cart-block a.button {
  display: inline-block !important; padding: 10px 26px !important;
  background: var(--gold) !important; color: #fff !important;
  font-family: 'Poppins', sans-serif !important; font-size: .78rem !important;
  font-weight: 600 !important; letter-spacing: .07em !important;
  text-transform: uppercase !important; border: none !important;
  border-radius: 50px !important; text-decoration: none !important; cursor: pointer !important;
  transition: background .18s !important;
}
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wp-element-button:hover,
.wp-block-woocommerce-empty-cart-block a.button:hover { background: #b8882e !important; }

/* ── Header tableau produits ── */
.wc-block-cart-items__header {
  border-bottom: 1.5px solid var(--border);
  padding-bottom: 12px;
  font-family: 'Poppins', sans-serif;
  font-size: .72rem; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase;
  color: var(--muted);
}

/* ── Ligne produit ── */
.wc-block-cart-item {
  border-bottom: 1px solid var(--border);
  padding: 22px 0;
}
.wc-block-cart-item__image img {
  border-radius: 8px;
  width: 90px !important; height: 90px !important;
  object-fit: cover;
}

/* Nom produit — sans lien bleu */
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a,
.wp-block-woocommerce-cart-line-items-block a:not(.wc-block-cart__submit-button),
.wp-block-woocommerce-filled-cart-block a:not(.wc-block-cart__submit-button) {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important; font-size: .95rem !important;
  color: var(--dark) !important; text-decoration: none !important;
}
.wc-block-cart-item__product-name a:hover { color: var(--gold) !important; }

/* Prix produit */
.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-cart-item__prices .wc-block-components-product-price * {
  color: var(--muted) !important; font-size: .88rem !important;
}

/* Variation / attribut */
.wc-block-components-product-metadata__description p,
.wc-block-cart-item__product-details p {
  font-size: .8rem !important; color: var(--muted) !important; margin: 2px 0 !important;
}

/* Total ligne */
.wc-block-cart-item__totals-price,
.wc-block-cart-item__total .wc-block-formatted-money-amount {
  font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .95rem;
  color: var(--dark) !important;
}

/* Quantité */
.wc-block-components-quantity-selector {
  border: 1.5px solid var(--border) !important; border-radius: 8px !important; overflow: hidden;
}
.wc-block-components-quantity-selector__button {
  background: transparent !important; border: none !important;
  color: var(--dark) !important; font-size: 1rem !important; width: 32px !important;
}
.wc-block-components-quantity-selector__button:hover { background: var(--cream) !important; }
.wc-block-components-quantity-selector input {
  border: none !important; font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important; width: 40px !important; text-align: center;
}

/* ── Récap commande (colonne droite) ── */
.wc-block-cart__totals,
.wp-block-woocommerce-cart-totals-block {
  background: none !important; border: none !important;
  border-radius: 0 !important; padding: 0 !important;
}

/* Titre "Total panier" */
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
  font-family: 'Poppins', sans-serif;
  font-size: .75rem; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase; color: var(--muted);
  border-bottom: 1.5px solid var(--border);
  padding-bottom: 14px; margin-bottom: 0 !important;
}

/* Lignes totaux */
.wc-block-components-totals-item {
  border-bottom: 1px solid var(--border); padding: 14px 0; font-size: .9rem;
}
.wc-block-components-totals-item__label { color: var(--muted); }
.wc-block-components-totals-item__value { font-weight: 600; color: var(--dark); }

/* Total final */
.wc-block-components-totals-footer-item {
  border-top: 1.5px solid var(--border); border-bottom: none !important; padding: 18px 0 20px;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.05rem !important; font-weight: 700 !important; color: var(--dark) !important;
}

/* ── Bouton valider — outline doré ── */
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
  display: block !important; width: 100% !important;
  padding: 10px 20px !important;
  background: #fff !important; color: var(--gold) !important;
  font-family: 'Poppins', sans-serif !important; font-size: .8rem !important;
  font-weight: 500 !important; letter-spacing: .01em !important;
  text-transform: none !important; text-align: center !important;
  border: 1.5px solid var(--gold) !important; border-radius: 50px !important;
  cursor: pointer; transition: background .18s, color .18s !important;
  margin-top: 16px !important;
}
.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--gold) !important; color: #fff !important;
}

/* Coupon */
.wc-block-components-totals-coupon__form { display: flex; gap: 8px; }
.wc-block-components-totals-coupon__input .wc-block-components-text-input {
  border: 1.5px solid var(--border); border-radius: 8px; padding: 10px 14px; font-size: .88rem;
}

/* Cacher messages d'erreur validation variante */
.wc-block-components-notice-banner.is-error { display: none !important; }

/* Label lot sur prix single product */
.produit-price__lot {
  font-size: .82rem;
  font-weight: 400;
  color: var(--muted);
}

/* Badge promo sur image produit */
.product-img-wrap { position: relative; }
.product-badge-promo {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--gold);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 50px;
  pointer-events: none;
}

/* ── Mon compte ── */
.woocommerce-account .woocommerce {
  max-width: 1250px; margin: 0 auto;
  display: flex; gap: 40px; align-items: flex-start; padding: 48px 48px 96px;
}
.woocommerce-account .woocommerce-MyAccount-navigation { width: 220px; flex-shrink: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; padding: 0; margin: 0;
  border: 1.5px solid var(--border); border-radius: 10px; overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 13px 18px;
  font-family: 'Poppins', sans-serif; font-size: .88rem; font-weight: 500;
  color: var(--dark); text-decoration: none;
  border-bottom: 1px solid var(--border); transition: background .14s, color .14s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--cream); color: var(--gold);
}
.woocommerce-account .woocommerce-MyAccount-content { flex: 1; }
.woocommerce-account .woocommerce-MyAccount-content p { font-size: .95rem; color: var(--muted); line-height: 1.7; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--gold); color: #fff;
  font-family: 'Poppins', sans-serif; font-weight: 600;
  border-radius: var(--r); border: none; padding: 11px 24px;
  font-size: .88rem; cursor: pointer; transition: background .18s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: #b8882e; color: #fff; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .woocommerce-cart .wp-block-woocommerce-cart { padding: 32px 20px 72px !important; }
  .cart-page-header { margin: 32px auto 20px !important; padding: 0 20px !important; }
  .wc-block-cart { flex-direction: column !important; gap: 40px !important; }
  .wp-block-woocommerce-cart-totals-block { width: 100% !important; }
  .woocommerce-account .woocommerce { padding: 32px 20px 72px; flex-direction: column; }
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; }
}

/* =============================================
   WOOCOMMERCE — Checkout
   ============================================= */

/* Wrapper — max-width centré uniquement */
.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1250px !important;
  margin: 0 auto !important;
  padding: 32px 48px 96px !important;
  box-sizing: border-box !important;
}

/* Bouton Commander — gold plein */
.wc-block-components-checkout-place-order-button {
  background: var(--gold) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 50px !important;
  transition: background .18s !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: #b8882e !important;
}

/* Fond noir zone actions */
.wc-block-checkout__actions_row {
  background: none !important;
  border-top: none !important;
}

/* Bouton "Appliquer" coupon */
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon .wc-block-components-button {
  background: none !important;
  color: var(--gold) !important;
  border: 1.5px solid var(--gold) !important;
  border-radius: 50px !important;
  padding: 7px 16px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
  transition: background .15s, color .15s !important;
}
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon .wc-block-components-button:hover {
  background: var(--gold) !important;
  color: #fff !important;
}

/* Supprimer les traits en double dans le résumé commande */
.wc-block-components-totals-coupon { border-bottom: none !important; }
.wc-block-components-totals-item:first-of-type { border-top: none !important; }

@media (max-width: 900px) {
  .woocommerce-checkout .wp-block-woocommerce-checkout { padding: 32px 20px 72px !important; }
}
