/* Alfred — adaptation mobile & tablette
   Le site est construit avec des styles en ligne pensés pour ≥1280px.
   Ces règles ne s'appliquent qu'en dessous de 900px et reprennent la main via !important. */
.m-burger, .m-menu { display: none; }
.m-menu, .m-menu button, [aria-label="Gestion des cookies"], [aria-label="Gestion des cookies"] button { font-family: 'Sweet Sans Pro','Jost',system-ui,sans-serif; }

@media (max-width: 900px) {
  html { overflow-x: hidden !important; }
  html, body { overflow-x: clip !important; }
  [style*="min-width: 1280px"] { min-width: 0 !important; }

  /* ---------- en-tête ---------- */
  header[data-nav] { padding: 14px 20px !important; gap: 12px !important; top: 37px !important; }
  header[data-nav] [data-nav-logo] { height: 16px !important; }
  header[data-nav] nav[data-nav-links], header[data-nav] [data-nav-cta] { display: none !important; }
  .m-burger { color: #F5F1E6 !important; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -10px;
    background: transparent; border: 0; cursor: pointer; color: inherit; }
  .m-burger.dark { color: #0E0F10 !important; }
  .m-burger span, .m-burger span::before, .m-burger span::after { display: block; width: 22px; height: 1.5px; background: currentColor; position: relative; transition: transform .3s; }
  .m-burger span::before, .m-burger span::after { content: ""; position: absolute; left: 0; }
  .m-burger span::before { top: -7px; } .m-burger span::after { top: 7px; }
  .m-menu { position: fixed; inset: 0; z-index: 300; background: #0E0F10; color: #F5F1E6; flex-direction: column;
    padding: 96px 28px 40px; gap: 6px; overflow-y: auto; }
  .m-menu.open { display: flex; }
  .m-menu a { color: #F5F1E6; font-size: 34px; font-weight: 200; line-height: 1.25; padding: 10px 0; border-bottom: 1px solid rgba(247,242,230,.14); }
  .m-menu a.m-cta { margin-top: 28px; border: 1.5px solid #F5F1E6; font-size: 17px; font-weight: 500; text-align: center; padding: 16px; }
  .m-menu .m-close { position: absolute; top: 22px; right: 18px; width: 44px; height: 44px; background: none; border: 0; color: #F5F1E6; font-size: 30px; line-height: 1; cursor: pointer; }
  .m-menu .m-info { margin-top: auto; padding-top: 30px; font-size: 14px; font-weight: 300; color: rgba(247,242,230,.7); display: flex; flex-direction: column; gap: 8px; }
  .m-menu .m-info a { font-size: 15px; border: 0; padding: 0; color: rgba(247,242,230,.85); }

  /* ---------- marges & grilles ---------- */
  section, footer { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="padding: 200px 64px 0px 364px"] { padding: 150px 20px 0 !important; }
  [style*="padding: 0px 64px 80px 364px"], [style*="padding: 0px 64px 110px 364px"], [style*="padding: 0px 64px 64px 200px"] { padding: 0 20px 56px !important; width: 100% !important; }
  [style*="width: 64%"] { width: 100% !important; }
  [style*="padding-right: 64px"] { padding-right: 0 !important; }

  [style*="grid-template-columns: 220px 1fr"],
  [style*="grid-template-columns: 190px 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr)"],
  [style*="grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"],
  [style*="grid-template-columns: repeat(3, minmax"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: 1fr 1fr !important; gap: 36px 24px !important; }
  [style*="grid-template-columns: 220px 1fr"] { gap: 18px !important; }
  [style*="grid-template-columns: 190px 1fr"] { gap: 20px !important; justify-items: start; }
  [style*="grid-template-columns: 190px 1fr"] > img { justify-self: start !important; height: 90px !important; }

  [style*="gap: 150px"], [style*="gap: 110px"] { gap: 56px !important; }
  [style*="gap: 96px"], [style*="gap: 88px"], [style*="gap: 80px"], [style*="gap: 72px"], [style*="gap: 64px"] { gap: 36px !important; }

  [style*="padding-top: 200px"] { padding-top: 90px !important; }
  [style*="padding-top: 130px"], [style*="padding-top: 110px"], [style*="padding-top: 96px"] { padding-top: 64px !important; }
  [style*="padding-bottom: 150px"], [style*="padding-bottom: 130px"] { padding-bottom: 72px !important; }
  [style*="padding-top: 96px; border-top"] { padding-top: 40px !important; }
  [style*="padding: 180px 0px 240px"], [style*="padding: 170px 0px 180px"], [style*="padding: 130px 0px 140px"],
  [style*="padding: 120px 0px 130px"], [style*="padding: 110px 0px"] { padding: 72px 0 !important; }
  section[style*="padding: 130px 64px 150px"] { padding: 72px 20px !important; }
  [style*="padding: 140px clamp"], [style*="padding: 110px clamp"] { padding-top: 72px !important; padding-bottom: 72px !important; }
  [style*="margin-top: 200px"] { margin-top: 90px !important; }
  [style*="margin-top: 150px"], [style*="margin-top: 100px"] { margin-top: 56px !important; }
  [style*="margin-top: 80px"] { margin-top: 40px !important; }

  /* ---------- typographie ---------- */
  h1 { font-size: 48px !important; line-height: 1.04 !important; }
  [style*="font-size: 104px"], [style*="font-size: 92px"], [style*="font-size: 88px"] { font-size: 48px !important; }
  [style*="font-size: 72px"], [style*="font-size: 66px"] { font-size: 38px !important; }
  [style*="font-size: 58px"], [style*="font-size: 54px"], [style*="font-size: 52px"] { font-size: 32px !important; }
  [style*="font-size: 46px"] { font-size: 30px !important; }
  [style*="font-size: 40px"] { font-size: 28px !important; }
  [style*="font-size: 22px"] { font-size: 18px !important; }
  [style*="font-size: 20px"], [style*="font-size: 19px"] { font-size: 17px !important; }
  p { max-width: 100% !important; }

  /* ---------- hauteurs fixes ---------- */
  [style*="min-height: 880px"], [style*="min-height: 760px"], [style*="min-height: 680px"], [style*="min-height: 600px"] { min-height: 520px !important; }
  [style*="height: 880px"], [style*="height: 760px"], [style*="height: 680px"] { height: auto !important; }
  #top[style*="height: 100vh"] { height: auto !important; min-height: 100svh !important; padding-bottom: 40px !important; }

  /* rangées d'éléments sur une ligne : autoriser le retour à la ligne */
  [style*="white-space: nowrap"]:not([data-promo] *):not([style*="text-transform: uppercase"]) { white-space: normal !important; flex-wrap: wrap !important; }

  /* ---------- pied de page ---------- */
  footer [style*="justify-content: space-between"] { flex-direction: column !important; gap: 10px !important; }

  /* ---------- formulaire ---------- */
  form[data-form] [style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 36px !important; }
  form[data-form] { gap: 36px !important; }
  input, textarea, select { font-size: 16px !important; } /* évite le zoom auto iOS */

  /* ---------- popup newsletter ---------- */
  [data-pop-back] { padding: 14px !important; }
  [data-pop] { min-height: 70vh !important; }
  [data-pop] > div[style*="padding: 0px 64px 60px"] { padding: 0 22px 30px !important; gap: 18px !important; }

  /* ---------- accueil ---------- */
  [data-badge] { width: 112px !important; height: 112px !important; right: 18px !important; bottom: auto !important; top: 112px !important; }
  [data-badge] > span:nth-child(2) { font-size: 32px !important; }
  [data-badge] > span:nth-child(2) span { font-size: 18px !important; }
  [data-badge] [data-badge-spin], [data-badge] [data-badge-note] { font-size: 8.5px !important; letter-spacing: .08em !important; }
  [data-badge] [data-badge-rule] { margin: 3px 0 2px !important; }
  [data-stat-stage] { height: 170px !important; }
  [data-stat-fig] { font-size: 64px !important; }

  /* rangées titre / info côte à côte : passage à la ligne */
  [style*="justify-content: space-between"]:not(header):not(header *) { flex-wrap: wrap !important; row-gap: 18px !important; }

  /* ---------- services ---------- */
  #prestations { margin: 0 !important; padding: 0 20px !important; }
  #snacking[data-svc-row] { margin: 0 -20px !important; padding: 64px 20px !important; }
  [data-svc-row] h3 { font-size: 22px !important; letter-spacing: .06em !important; }
  a[data-price] { grid-template-columns: 26px 1fr auto !important; gap: 14px !important; padding: 28px 0 !important; }
  a[data-price] h3, a[data-price] [style*="text-transform: uppercase"] { font-size: 20px !important; }

  /* ---------- contact ---------- */
  button[data-send] { flex: 0 0 auto !important; white-space: nowrap !important; }
  form[data-form] > div:has(> button[data-send]) { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }

  /* ---------- page snacking offert ---------- */
  [style*="min-height: 100vh; display: grid"] > div:first-child { min-height: 46vh !important; }
  [style*="min-height: 100vh; display: grid"] > div:first-child > div:last-child { left: 20px !important; right: 20px !important; bottom: 26px !important; }
  [style*="min-height: 100vh; display: grid"] > div:first-child > a { top: 22px !important; left: 20px !important; }
  [style*="font-size: 64px"] { font-size: 42px !important; }
  [style*="padding: 96px clamp"] { padding: 44px 20px 60px !important; }
  [data-form-wrap] form [style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 26px !important; }
  [data-form-wrap] button[data-send] + span { max-width: 100% !important; }
  [data-form-wrap] form > div:last-child { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
}
