/* =======================
   Pré Délissieu — CSS nettoyé & dédupliqué
   - Variables de thème
   - Layouts & utilitaires
   - Sections (Hero, Producteurs, Produits, Avis, Contact, Footer)
   - Responsive cohérent
======================= */

/* ========== Reset & base ========= */
html, body { height: 100%; }
body { margin: 0; }

:root{
  --brown:#734930;
  --green:#B1C804;
  --green_btn:#afb42b;
  --cream:#F7F2EE;
  --dark:#2B2019;
}

body{
  font-family:"Raleway", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--dark);
  padding-top:76px;
}

/* fond motif fixe derrière tout le site */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background: var(--brown) url("../img/Background.webp") center top / cover no-repeat;
}

/* ========== Typo ========= */
h1, h2, h3{
  font-family:"Anton",sans-serif;
  margin:0 0 2.6rem;
  line-height:1;
}
.hero h1{
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  letter-spacing:.2px;
  margin-bottom: 1rem;
}
.hero p{
  font-size: clamp(1rem, 1.1vw, 1.125rem);
  margin: 0 0 .9rem;
}
.text-on-dark{ color:var(--cream); }
.text-on-dark p{ color:rgba(255,255,255,.92); }

/* ========== Utilitaires ========= */
.container{ width:min(1200px,92%); margin-inline:auto; }
.section{ padding-block:clamp(3rem, 8vw, 6rem); }
.grid{ display:grid; gap:clamp(1rem, 2.5vw, 1.6rem); }
.bg-cream{ background:var(--cream); }
.small{ font-size:.9rem; opacity:.8; }

/* ========== Header ========= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background: transparent;
  transition: background-color .35s ease, border-bottom .3s ease;
}
.site-header.scrolled{
  background: var(--brown);
  border-bottom: 2px solid rgba(0,0,0,.15);
}
.header__grid{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:76px; }

.logo{
  justify-self:center; display:inline-flex; align-items:center;
  background:var(--cream); border-radius:15px; margin:10px 8px; padding:6px 8px;
  box-shadow:0 2px 0 rgba(0,0,0,.15), 0 10px 24px rgba(0,0,0,.12);
}
.logo img{ display:block; height:76px; width:auto; }

.nav{ justify-self:start; }
.nav__list{ display:flex; gap:20px; list-style:none; margin:0; padding:0; }
.nav__link{
  position:relative; display:inline-block;
  padding:.6rem .2rem; text-decoration:none;
  color:rgba(255,255,255,.88);
  font-weight:600; letter-spacing:.2px;
}
.nav__link::after{
  content:""; position:absolute; left:0; right:0; bottom:.25rem; height:2px;
  background:var(--green); transform:scaleX(0);
  transform-origin:left center; transition:transform .22s ease; opacity:.9;
}
.nav__link:hover{ color:var(--cream); }
.nav__link:hover::after{ transform:scaleX(1); }
.nav__link.active{ color:var(--green); }
.nav__link.active::after{ transform:scaleX(1); }

/* Burger */
.menu-btn{
  justify-self:end; width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer;
}
.icon-burger .line{
  stroke:var(--green); stroke-width:8; stroke-linecap:round;
  transition:transform .28s ease, opacity .2s ease;
  transform-box:fill-box; transform-origin:50% 50%;
}
.menu-btn.is-open .top{ transform:translateY(20px) rotate(45deg); }
.menu-btn.is-open .middle{ opacity:0; }
.menu-btn.is-open .bottom{ transform:translateY(-20px) rotate(-45deg); }

/* Drawer (menu burger) */
.drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:1100;
  width:min(420px, 92vw);
  background:var(--cream); color:var(--dark);
  box-shadow:-20px 0 40px rgba(0,0,0,.25);
  transform:translateX(100%); transition:transform .26s ease-out;
  padding:18px 20px 26px; overflow:auto;
}
.drawer.is-open{ transform:translateX(0); }
.drawer__top{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; }
.drawer__brand img{ display:block; width:140px; height:auto; }
.drawer__close{
  background:var(--cream); border:1px solid #e8e6e4; border-radius:999px;
  width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.drawer__intro{ margin:14px 0 10px; }
.drawer__intro p{ margin:0; line-height:1.5; color:var(--dark); }
.drawer__sep{ border:0; border-top:1px solid #e6e1de; margin:14px 0 12px; }

.drawer__section h3{
  margin:0 0 .6rem; font-family:"Anton",sans-serif;
  font-size:1.35rem; color:var(--brown);
}
.drawer__contacts{ list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.drawer__contacts li{ display:grid; grid-template-columns:28px 1fr; align-items:start; gap:.6rem; }
.drawer__contacts a{ color:var(--dark); text-decoration:none; font-weight:600; }
.drawer__contacts a:hover{ text-decoration:underline; }

/* Icônes inline */
.i{ width:28px; height:28px; display:inline-block; border-radius:10px; background:var(--cream); position:relative; }
.i::before{ content:""; position:absolute; inset:0; margin:auto; width:16px; height:16px; }
.i-map::before{ background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23afb42b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 6-9 12-9 12S3 16 3 10a9 9 0 1118 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.i-phone::before{ background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23afb42b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6A19.79 19.79 0 012.1 4.18 2 2 0 014.11 2h3a2 2 0 012 1.72c.12.9.3 1.78.54 2.63a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.45-1.45a2 2 0 012.11-.45c.85.24 1.73.42 2.63.54A2 2 0 0122 16.92z'/%3E%3C/svg%3E"); }
.i-mail::before{ background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23afb42b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2z'/%3E%3Cpath d='M22 6l-10 7L2 6'/%3E%3C/svg%3E"); }
.i-clock::before{ background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23afb42b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E<circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>"); }

/* Drawer nav (mobile) */
.drawer__nav{ display:none; margin-top:22px; border-top:1px solid #e6e1de; }
.drawer__list{ list-style:none; padding:0; margin:0; }
.drawer__list li + li{ border-top:1px solid #e6e1de; }
.drawer__nav .nav__link{ display:block; color:var(--brown); padding:12px 2px; font-weight:600; text-decoration:none; position:relative; }
.drawer__nav .nav__link::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--green); transform:scaleX(0); transform-origin:left center; transition:transform .22s ease; }
.drawer__nav .nav__link:hover::after{ transform:scaleX(1); }
.drawer__nav .nav__link.active{ color:var(--green); }
.drawer__nav .nav__link.active::after{ transform:scaleX(1); }

/* Fix : garder l’underline pour le lien ACTIF, même sur mobile */
.drawer__nav .nav__link.active::after,
.nav__link.active::after{
  transform: scaleX(1) !important;
}

/* Overlay */
.nav-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.35);
  backdrop-filter:saturate(110%) blur(1px);
  z-index:1000;
}
body.nav-locked{ overflow:hidden; }

/* ========== HERO ========= */
.hero{ position:relative; overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:1fr 0.9fr; align-items:center; gap:3rem; }
.hero__media{
  width: 400px; height: 400px; border-radius: 15px; overflow: hidden; justify-self: end;
}
.hero__media img{ display:block; width:100%; height:100%; object-fit: cover; }

/* ========== Boutons ========= */
.btn-call-to-action{
  display:inline-block; background-color:var(--green); color:var(--dark);
  font-weight:600; font-size:1.1rem; padding:12px 24px;
  border:none; border-radius:15px; cursor:pointer;
  text-decoration:none; transition:background-color .3s ease; margin-right: 2%;
}
.btn-call-to-action:hover{ background-color:var(--green_btn); }

/* ========== Section Producteurs ========= */
.producers{ background: var(--cream); position: relative; isolation: isolate; }
.producers--angled-top{ clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 100%); }
.producers__grid{ display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: clamp(1.2rem, 3vw, 2rem); }
.producers__media{ margin: 0; }
.producers__media img{ display:block; width:100%; height:auto; }
.producers__content h2{
  margin: 0 0 .6rem; font-family: "Anton", sans-serif;
  font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.1;
  color: var(--brown); letter-spacing: .2px;
}
.producers__content .lead{ margin: .6rem 0 1.2rem; font-size: clamp(1rem, 1.2vw, 1.08rem); line-height: 1.6; color: var(--dark); }
.producers__content .lead strong{ color: var(--green_btn); }

/* ========== Produits ========= */
.products { background: transparent; padding: 4rem 0; }
#produits .section__head h2 { font-family: "Anton", sans-serif; font-size: clamp(2rem, 3.2vw, 3rem); color: var(--cream); margin-bottom: 7rem; }
.products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem 2rem; margin-bottom: 3rem; }
.product-card {
  position: relative; background: #fff; border-radius: 18px; padding: 5rem 1.5rem 2rem; text-align: center;
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}
.product-card__icon {
  position: absolute; top: -70px; left: 50%; transform: translateX(-50%);
  width: 150px; height: 150px; border-radius: 50%; background: #fff; display: grid; place-items: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.product-card__icon img{ width: 90px; height: 90px; object-fit: contain; transition: transform .25s ease; will-change: transform; }
.product-card:hover .product-card__icon img{ transform: scale(1.08); }
.product-card__title { font-family: "Anton", sans-serif; font-size: 1.6rem; color: var(--brown); margin-top: 2rem; margin-bottom: 1rem; }
.product-card__divider { display: block; width: 44px; height: 2px; margin: 0 auto 1.1rem; background: rgba(0,0,0,.12); transition: background-color .3s ease; }
.product-card:hover .product-card__divider { background: var(--green); }
.product-card__text { color: #555; font-size: 1.05rem; line-height: 1.6; }

/* ========== Carrousel générique ========= */
.section__head h2{
  margin: 0 0 .6rem; font-family: "Anton", sans-serif;
  font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.1;
  color: var(--brown); letter-spacing: .2px;
}
.carousel{ position:relative; display:flex; flex-direction:column; gap:1rem; overflow:hidden; }
.carousel__track{
  display:flex; gap:1rem; overflow-x:auto;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding: .5rem 0 1rem; scroll-behavior:smooth;
}
.carousel__track::-webkit-scrollbar{ display:none; }
.carousel .card{ flex:0 0 280px; background:var(--cream); border-radius:15px; box-shadow:0 4px 20px rgba(0,0,0,.08); padding:1rem; text-align:center; scroll-snap-align:start; }
.carousel .card img{ width:100%; height:180px; object-fit:cover; border-radius:12px; margin-bottom:.6rem; }
.carousel .card h3{ font-family:"Anton",sans-serif; font-size:1.1rem; color:var(--brown); margin:.3rem 0; }
.carousel .card p{ font-size:.95rem; opacity:.85; }
.carousel__controls{ display:flex; align-items:center; justify-content:space-between; margin-top:.25rem; }
.carousel__dots{ display:flex; align-items:center; gap:.5rem; }
.carousel__dot{ width:8px; height:8px; border-radius:999px; border:none; padding:0; background: rgba(177,200,4,.35); cursor:pointer; }
.carousel__dot.is-active{ background: var(--green); }
.carousel__arrows{ display:flex; gap:.75rem; }
.carousel__btn{
  width:48px; height:48px; border:none; border-radius:999px; cursor:pointer;
  background: var(--brown);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.carousel__btn:hover{ transform: translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.22); }
.carousel__btn:active{ transform: translateY(0); box-shadow:0 4px 14px rgba(0,0,0,.18); }
.carousel__btn[disabled]{ opacity:.45; cursor:not-allowed; }

/* ========== Avis (cartes) ========= */
.stars-row{ display:inline-flex; gap:6px; align-items:center; justify-content:center; margin:.15rem 0 .25rem; }
.star{ width: clamp(22px, 2.4vw, 30px); height:auto; display:block; }
.star--full path{ fill:#fbbc04; }
.star--half .bg{ fill:#ddd; }
.star--half .fg{ fill:#fbbc04; }
.reviews__brand{ width: clamp(110px, 9vw, 160px); height: auto; display:block; margin:.6rem auto 0; }
.reviews__summary{ text-align:center; margin-bottom: clamp(1rem, 4vw, 2rem); }
.reviews__summary h2{ font-family:"Anton",sans-serif; font-size: clamp(1.8rem, 4vw, 2.6rem); color: var(--green); letter-spacing:.5px; margin: 0 0 .25rem; }
.reviews__count{ margin:.2rem 0 0; font-weight:700; color:var(--brown); }

.reviews__grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: clamp(20px, 2.5vw, 32px); margin-top: 2rem; }
.review-card{ background:#fff; border-radius:18px; box-shadow:0 12px 30px rgba(0, 0, 0, 0.1); overflow:hidden; display:flex; flex-direction:column; transition: transform 0.25s ease, box-shadow 0.25s ease; border:1px solid rgba(0,0,0,.06); }
.review-card:hover{ transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15); }
.review-card__body{ padding: 24px 28px 18px; }
.review-card__quote{ width: 42px; height: 42px; margin-bottom: 14px; background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='%23B1C804'%3E%3Cpath d='M18 12h-8a8 8 0 00-8 8v16h16V20h-8a4 4 0 014-4h4V12zm28 0h-8a8 8 0 00-8 8v16h16V20h-8a4 4 0 014-4h4V12z'/%3E%3C/svg%3E"); opacity:.9; }
.review-card__text{ font-size: 1.1rem; line-height: 1.6; color: var(--dark); margin: 0; }
.review-card__footer{ margin-top: auto; display:flex; align-items:center; justify-content:space-between; background:#F7F2EE; border-top:1px solid rgba(0, 0, 0, 0.05); padding: 14px 20px; transition: background-color 0.3s ease; border-radius: 15px; }
.review-card:hover .review-card__footer{ background: var(--green); }
.review-card__user{ display:flex; align-items:center; gap:12px; }
.review-card__avatar{ width:46px; height:46px; border-radius:999px; object-fit:cover; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); }
.review-card__name{ font-weight:800; color:var(--brown); }
.review-card__stars{ color: var(--brown); font-size: 1.1rem; letter-spacing: 2px; font-weight: 800; }

/* ========== Contact ========= */
.contact__grid{ display:grid; grid-template-columns: 0.9fr 1.1fr; align-items:start; gap: clamp(1.2rem, 3vw, 2rem); }
.contact h2{ margin:0 0 .4rem; font-family:"Anton",sans-serif; font-size: clamp(2rem, 3vw, 2.6rem); }
.contact__intro{ margin:0 0 1.2rem; color: rgba(255,255,255,.92); }
.contact__list{ display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.contact__item{ display:grid; grid-template-columns: 44px 1fr; gap:.8rem; align-items:start; padding:.6rem 0; }
.contact__icon{ width:44px; height:44px; border-radius:999px; display:grid; place-items:center; background: rgba(255,255,255,.1); color:var(--cream); }
.contact__icon .i{ background: transparent; }
.contact__icon .i::before{ width:22px; height:22px; }
.contact__item h3{ margin:0 0 .2rem; font-weight:800; color:var(--cream); }
.contact__item a { color: var(--green); text-decoration: none; }
.contact__link{ text-decoration: underline; }
.contact__map{ border-radius:15px; overflow:hidden; }
.contact__map iframe{ display:block; width:100%; aspect-ratio: 16/10; min-height: 600px; border:0; }

/* ========== Footer ========= */
.footer--brand{ color: var(--cream); background: var(--brown); position: relative; }
.footer__grid{ display:grid; grid-template-columns: 1.1fr 1fr 1fr; gap: clamp(1rem, 3vw, 2rem); padding-block: clamp(2rem, 5vw, 3rem); align-items: center; justify-items: center; text-align: center; }
.footer__brand .footer__logo img{ display:block; width:120px; height:auto; }
.footer__tagline{ margin:.6rem 0 1.2rem; max-width: 30ch; color: rgba(255,255,255,.9); }
.footer__title{ margin:0 0 .6rem; font-family:"Anton",sans-serif; font-size: clamp(1.2rem, 2.6vw, 1.4rem); letter-spacing: .2px; }
.footer__fb { border-radius: 12px; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,.15); background: #fff; max-width: 340px; }
.footer__fb iframe { display: block; width: 100%; border: 0; }
.footer__bottom{ border-top: 1px solid rgba(255,255,255,.12); }
.footer__bottom-grid{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block: 1rem; }
.footer__legal{ list-style:none; padding:0; margin:0; display:flex; gap:1rem; flex-wrap:wrap; }
.footer__legal a{ color: rgba(255,255,255,.9); text-decoration:none; }
.footer__legal a:hover{ color: var(--green); text-decoration: underline; }

/* ========== Responsive ========= */
@media (max-width: 980px){
  .nav{ display:none; }
  .header__grid{ grid-template-columns: 1fr auto; gap: 8px; }
  .logo{ justify-self:start; }
  .menu-btn{ justify-self:end; }

  .hero__grid{ grid-template-columns: 1fr; align-items: start; gap: 1.25rem; }
  .hero__media{ width: 100%; height: auto; aspect-ratio: 4 / 3; justify-self: stretch; margin-inline: 0; }
  .hero h1{ letter-spacing: 0; }
  .hero p{ max-width: 60ch; }

  .about__grid{ grid-template-columns: 1fr; }
  .drawer__nav{ display:block; }

  .products__grid{ grid-template-columns: 1fr; }
  .product-card{ padding-top: 4.2rem; }
  .product-card__icon{ top: -58px; }

  .producers__grid{ grid-template-columns: 1fr; }
  .producers--angled-top{ clip-path: polygon(0 6%, 100% 0, 100% 100%, 0 100%); }

  .contact__grid{ grid-template-columns: 1fr; }
  .contact__map{ order:2; }
  .contact__infos{ order:1; }
  .contact__map iframe{ min-height: 320px; }

  .footer__grid{ grid-template-columns: 1fr; }
  .footer__bottom-grid{ flex-direction: column; align-items:flex-start; }

}

@media (max-width: 980px) {
  .product-card__icon {
    width: 110px;
    height: 110px;
    top: -50px;
  }

  .product-card__icon img {
    width: 70px;
    height: 70px;
  }

  .product-card {
    padding-top: 3.8rem;
    margin-bottom: 2rem;
  }

}

@media (max-width: 768px){
  .carousel .card{ flex:0 0 75%; }
  .carousel__btn{ width:44px; height:44px; }
}

@media (max-width: 480px){
  .hero__media{ aspect-ratio: 4 / 3; }
}

@media (max-width: 420px){
  .logo img{ height: 64px; }
  .btn-produits{ font-size: 1rem; padding: 11px 18px; }
  .producers__content h2{ font-size: 1.7rem; }
  .btn-call-to-action { margin-bottom: 20px; }
}

@media (min-width: 981px){
  .hero__grid{ align-items:center; gap: clamp(1.2rem, 3vw, 2rem); }
  .hero__media{ margin-left: 0; }
}

@media (hover: none) and (pointer: coarse){
  .nav__link:hover::after{ transform: scaleX(0) !important; }
}

/* accessibilité */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }


/* ==== Section "Qui sommes-nous ?" ==== */
.about{ background: transparent; }
.about .container{ width:min(1300px, 95%); }
.about__grid{
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: clamp(1.2rem, 3vw, 2rem);
}
.about__text h2{
  margin: 0 0 1rem;
  font-family:"Anton",sans-serif;
  font-size: clamp(2rem, 3.2vw, 3rem);
  letter-spacing: .2px;
}
.about__text p{ margin: 0 0 .8rem; line-height: 1.65; }
.about__text strong{ color: var(--green_btn); }
.about__frame{ padding: clamp(10px, 1.8vw, 16px); }
.about__frame img{ display:block; width:100%; height:auto; border-radius: 12px; }

@media (max-width: 980px){
  .about__grid{ grid-template-columns: 1fr; }
}


/* ==== Liste des horaires (section Contact) ==== */
.hours{
  list-style: none;
  margin: .5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0;
  max-width: 520px;
  border-top: 1px dashed rgba(255,255,255,.18);
}
.hours li{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 1rem;
  padding: .42rem 0;
  border-bottom: 1px dashed rgba(255,255,255,.18);
  font-size: .98rem;
  line-height: 1.35;
  color: rgba(255,255,255,.95);
}
.hours li span:first-child{
  font-weight: 800;
  color: var(--cream);
  letter-spacing: .2px;
}
.hours li span:last-child{
  min-width: 9ch;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.hours li.closed span:last-child{ color: rgba(255,255,255,.7); font-style: italic; }
.hours li.is-today{ background: linear-gradient(90deg, rgba(177,200,4,.10), rgba(177,200,4,0)); }
.hours li.is-today span:first-child{ color: var(--green); }

@media (max-width: 520px){
  .hours li{ font-size: 1rem; }
}

#produits .section__head { margin-bottom: 3rem; }

@media (max-width: 980px){
  .carousel__arrows { display: none !important; }
}

@media (max-width: 980px){
  .reviews__grid{ grid-template-columns: 1fr; }
}

/* ====== Ajustement Footer dessin ====== */
.footer__grid > div:nth-child(2) img {
  max-width: 100%;
}

/* Pour mobile : réduire le dessin */
@media (max-width: 980px) {
  .footer__grid > div:nth-child(2) img {
    width: clamp(180px, 60%, 260px);
  }
}

/* AJOUTS SEO/Accessibilité — à placer en bas de ton fichier */

:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 2px;
}

/* Lien "skip to content" */
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
a.sr-only:focus {
  position: fixed; z-index: 2000;
  top: 8px; left: 8px; width: auto; height: auto; clip: auto; margin: 0;
  background: var(--cream); color: var(--dark); padding: .5rem .75rem; border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

/* Images : empêcher le drag “fantôme” si tu veux une UX plus propre */
img { -webkit-user-drag: none; user-select: none; }
