/* Polices de la marque, allegees (caracteres latins et francais uniquement,
   WOFF2) et prechargees dans l'en-tete de chaque page.
   Sekuya (titres) : "swap" -> les titres restent visibles pendant le chargement.
   Google Sans Flex (texte) : "swap" -> texte lisible tout de suite. */
@font-face {
  font-family: "Sekuya";
  src: url("assets-maitre-du-pain/fonts/Sekuya-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans Flex";
  src: url("assets-maitre-du-pain/fonts/GoogleSansFlex-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}

:root,
body {
  --mdp-red: #a81718;
  --mdp-red-dark: #7c1013;
  --mdp-cream: #fff4c9;
  --mdp-cream-soft: #fff9e8;
  --mdp-ink: #1e1d1b;
  /* halo et ombre des icones (#1E1E1E), legers pour garder les icones lisibles */
  --mdp-icon-halo: .2;
  --mdp-icon-shadow: .05;
  --mdp-display: "Sekuya", Georgia, serif;
  --mdp-sans: "Google Sans Flex", Arial, sans-serif;

  /* Couleurs mdp d'origine réaffectées à l'identité Les Maîtres du Pain. */
  --token-6bb30bad-8756-4356-9c41-728d60b200cc: var(--mdp-red) !important;
  --token-86af3992-a5bb-447d-94d3-5391f479d420: var(--mdp-red) !important;
  --token-0f1215d1-a939-4d93-b5f3-fa7d349fb892: var(--mdp-cream) !important;
  --token-4afec5b3-c9ca-4318-8586-8033acd8e73b: var(--mdp-cream-soft) !important;
  --token-e4fc807d-102e-4839-b91e-d6f174f62c2e: var(--mdp-cream) !important;
  --token-955a487d-0233-4fc4-9ec9-1e13d781a048: var(--mdp-red-dark) !important;
  --token-f4d57b22-9fe4-47e8-85a5-6976a41ca803: var(--mdp-red-dark) !important;
  --token-a1d1db55-0222-4ade-a9f1-09b6162be2a3: var(--mdp-ink) !important;
}

/* Masque définitivement tout ancien badge promotionnel. */
#__framer-badge-container,
.__framer-badge {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body,
.mdp-menu,
button,
input,
textarea,
select,
p,
small {
  font-family: var(--mdp-sans) !important;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6,
.mdp-menu h2,
.mdp-hero-marquee__track span {
  font-family: var(--mdp-display) !important;
  font-weight: 400 !important;
}

/* Sekuya porte les titres ; Google Sans Flex reste réservé aux textes courants. */
.mdp-menu__eyebrow {
  font-family: var(--mdp-display) !important;
}

/* Ajustements de taille nécessaires car Sekuya est plus large que la police du template. */
.framer-UD4Xq .framer-129wwwz h2 {
  font-size: clamp(72px, 7.2vw, 92px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
}

.framer-UD4Xq .framer-1sr9xqo .framer-5d5ezx h2 {
  font-size: clamp(56px, 5.4vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
}

.framer-UD4Xq .framer-ldclc7-container h1,
.framer-UD4Xq .framer-ldclc7-container h2 {
  font-size: clamp(56px, 6vw, 76px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
}

.framer-UD4Xq .framer-UX7Aw h3 {
  font-size: clamp(24px, 2.15vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.015em !important;
}

/* Le logo d'origine était horizontal. Ces règles accueillent le sceau rond sans le recadrer. */
.framer-3W98M .framer-chgpd4[data-framer-name="Logo"] {
  height: 48px !important;
}

.framer-3W98M .framer-5itbss {
  width: 48px !important;
  height: 48px !important;
  aspect-ratio: 1 !important;
}

/* Navigation principale simplifiée pour les quatre pages de la maison. */
.mdp-nav-host {
  overflow: visible !important;
}

.mdp-nav-host > :not(.mdp-main-nav):not(.mdp-menu-toggle) {
  display: none !important;
}

.mdp-menu-toggle {
  position: relative;
  z-index: 1002;
  display: none;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
  padding: 11px;
  color: var(--mdp-red);
  background: var(--mdp-cream-soft);
  border: 1.5px solid currentColor;
  border-radius: 50%;
  cursor: pointer;
}

.mdp-menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
  transform-origin: center;
  transition: opacity .2s ease, transform .24s ease;
}

.mdp-main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(8px, 1vw, 16px);
  color: var(--mdp-red);
  white-space: nowrap;
}

.mdp-main-nav__item {
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 1vw, 16px);
}

.mdp-main-nav a {
  position: relative;
  color: inherit;
  font-family: var(--mdp-sans) !important;
  font-size: clamp(13px, 1.2vw, 18px);
  font-weight: 650;
  letter-spacing: -.015em;
  line-height: 1.1;
  text-decoration: none;
}

.mdp-main-nav a::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  height: 2px;
  content: "";
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}

.mdp-main-nav a:hover::after,
.mdp-main-nav a[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

.mdp-main-nav__separator {
  color: var(--mdp-red-dark);
  font-size: 15px;
  opacity: .72;
}

a[data-framer-name="Logo"] img {
  object-fit: contain !important;
}

/* Trait décoratif de la section histoire dans le rouge principal du logo. */
.framer-1sr9xqo path[stroke*="token-0f1215d1"] {
  stroke: var(--mdp-red) !important;
}

/* La première pâtisserie de l'introduction passe derrière le grand titre. */
.framer-UD4Xq .framer-12wxb8z {
  z-index: 0 !important;
}

@media (min-width: 1200px) {
  .framer-UD4Xq .framer-12wxb8z,
  .framer-UD4Xq .framer-1wkxulb,
  .framer-UD4Xq .framer-7atjaf {
    right: 100px !important;
  }
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-UD4Xq .framer-12wxb8z,
  .framer-UD4Xq .framer-1wkxulb,
  .framer-UD4Xq .framer-7atjaf {
    right: 70px !important;
  }
}

/* Le logo remplace le donut du loader tout en conservant sa rotation mdp. */
.framer-IhtTe .framer-ijok8 {
  width: 96px !important;
}

.framer-IhtTe .framer-ijok8 img {
  object-fit: contain !important;
}

@media (max-width: 809.98px) {
  .framer-IhtTe .framer-ijok8 {
    width: 76px !important;
  }
}

/* Étapes de fabrication : palette bordeaux/crème du logo et contraste renforcé. */
.framer-hdtv9b-container .framer-UX7Aw,
.framer-1t5xsuh-container .framer-UX7Aw {
  background-color: var(--mdp-red) !important;
}

.framer-1rczfut-container .framer-UX7Aw,
.framer-dwdxqr-container .framer-UX7Aw {
  background-color: var(--mdp-cream) !important;
  box-shadow: inset 0 0 0 2px rgba(168, 23, 24, .18);
}

.framer-hdtv9b-container .framer-text,
.framer-1t5xsuh-container .framer-text {
  --framer-text-color: var(--mdp-cream-soft) !important;
  color: var(--mdp-cream-soft) !important;
}

.framer-1rczfut-container .framer-text,
.framer-dwdxqr-container .framer-text {
  --framer-text-color: var(--mdp-red-dark) !important;
  color: var(--mdp-red-dark) !important;
}

/* Cartes de la carte : uniquement la palette bordeaux/crème, avec contraste lisible. */
.framer-ArXOl.framer-v-ux1zie {
  background-color: var(--mdp-red-dark) !important;
}

.framer-ArXOl.framer-v-1mam9tf {
  background-color: var(--mdp-red) !important;
}

.framer-ArXOl.framer-v-rjp8cu {
  background-color: var(--mdp-cream) !important;
  box-shadow: inset 0 0 0 2px rgba(168, 23, 24, .2);
}

.framer-ArXOl.framer-v-ux1zie .framer-6u60hl .framer-text,
.framer-ArXOl.framer-v-ux1zie .framer-ccr729 .framer-text,
.framer-ArXOl.framer-v-1mam9tf .framer-6u60hl .framer-text,
.framer-ArXOl.framer-v-1mam9tf .framer-ccr729 .framer-text {
  --framer-text-color: var(--mdp-cream-soft) !important;
  color: var(--mdp-cream-soft) !important;
}

.framer-ArXOl.framer-v-rjp8cu .framer-6u60hl .framer-text,
.framer-ArXOl.framer-v-rjp8cu .framer-ccr729 .framer-text {
  --framer-text-color: var(--mdp-red-dark) !important;
  color: var(--mdp-red-dark) !important;
}

.framer-ArXOl.framer-v-ux1zie .framer-3fbfz,
.framer-ArXOl.framer-v-1mam9tf .framer-3fbfz,
.framer-ArXOl.framer-v-ux1zie .framer-1wc2348,
.framer-ArXOl.framer-v-1mam9tf .framer-1wc2348,
.framer-ArXOl.framer-v-ux1zie .framer-mapqv1,
.framer-ArXOl.framer-v-1mam9tf .framer-mapqv1 {
  background-color: var(--mdp-cream-soft) !important;
}

.framer-ArXOl.framer-v-ux1zie .framer-3fbfz .framer-text,
.framer-ArXOl.framer-v-1mam9tf .framer-3fbfz .framer-text,
.framer-ArXOl.framer-v-ux1zie .framer-1wc2348 .framer-text,
.framer-ArXOl.framer-v-1mam9tf .framer-1wc2348 .framer-text {
  --framer-text-color: var(--mdp-red-dark) !important;
  color: var(--mdp-red-dark) !important;
}

.framer-ArXOl.framer-v-rjp8cu .framer-3fbfz,
.framer-ArXOl.framer-v-rjp8cu .framer-1wc2348,
.framer-ArXOl.framer-v-rjp8cu .framer-mapqv1 {
  background-color: var(--mdp-red) !important;
}

.framer-ArXOl.framer-v-rjp8cu .framer-3fbfz .framer-text,
.framer-ArXOl.framer-v-rjp8cu .framer-1wc2348 .framer-text {
  --framer-text-color: var(--mdp-cream-soft) !important;
  color: var(--mdp-cream-soft) !important;
}

/* Les cartes d'accueil présentent des familles de produits, pas un article isolé. */
.mdp-category-card .framer-6u60hl .framer-text {
  font-size: clamp(27px, 3vw, 45px) !important;
  line-height: 1.12 !important;
}

.mdp-category-card .framer-ccr729 {
  align-items: baseline !important;
  gap: 7px !important;
}

.mdp-category-card .framer-ccr729 .framer-text {
  font-size: clamp(13px, 1.35vw, 19px) !important;
}

/* Titre principal complet, répété dans un défilement continu vers la droite. */
.mdp-hero-marquee {
  width: calc(100% + 80px);
  margin-inline: -40px;
  flex: none;
  overflow: hidden;
  color: #fff;
  position: relative;
}

.mdp-hero-marquee__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: mdp-hero-marquee-right 16s linear infinite;
}

.mdp-hero-marquee__track span {
  flex: none;
  padding: .14em clamp(70px, 7vw, 140px) .08em 0;
  font-family: var(--mdp-display) !important;
  font-size: clamp(78px, 8vw, 148px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.12;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes mdp-hero-marquee-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@media (max-width: 809.98px) {
  .mdp-hero-marquee {
    width: calc(100% + 40px);
    margin-inline: -20px;
  }

  .mdp-hero-marquee__track {
    animation-duration: 12s;
  }

  .mdp-hero-marquee__track span {
    padding-right: 48px;
    font-size: clamp(58px, 18vw, 100px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-hero-marquee__track {
    animation: none;
    transform: none;
  }
}

/* Le panier Shopify est neutralisé : la carte sert aujourd'hui de menu consultable. */
.framer-1cd69dh-container {
  display: none !important;
}

a[title^="Create a free website with mdp"] {
  display: none !important;
}

.mdp-menu {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: clamp(72px, 9vw, 140px) clamp(20px, 4vw, 64px);
  color: var(--mdp-ink);
  background: var(--mdp-cream-soft);
  font-family: "Instrument Sans", "Inter", Arial, sans-serif;
}

.mdp-menu__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}

.mdp-menu__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: var(--mdp-red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.mdp-menu__eyebrow::before {
  width: 42px;
  height: 1px;
  content: "";
  background: currentColor;
}

.mdp-menu h2 {
  max-width: 1050px;
  margin: 0;
  color: var(--mdp-red);
  font-family: var(--mdp-display) !important;
  font-size: clamp(42px, 7vw, 108px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .98;
  text-transform: uppercase;
}

.mdp-menu__intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-top: 26px;
}

.mdp-menu__intro > p {
  max-width: 620px;
  margin: 0;
  font-size: clamp(17px, 1.8vw, 24px);
  line-height: 1.45;
}

.mdp-menu__intro small {
  color: rgba(30, 29, 27, .64);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mdp-menu__tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: clamp(44px, 7vw, 90px);
  padding-bottom: 15px;
  border-bottom: 2px solid var(--mdp-ink);
}

.mdp-menu__search {
  display: flex;
  width: min(680px, 100%);
  align-items: center;
  gap: 12px;
}

.mdp-menu__search svg {
  width: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.mdp-menu__search input {
  width: 100%;
  padding: 6px 0;
  color: var(--mdp-ink);
  background: transparent;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: clamp(16px, 1.6vw, 22px);
}

.mdp-menu__search input::placeholder {
  color: rgba(30, 29, 27, .48);
}

.mdp-menu__count {
  margin: 0;
  color: var(--mdp-red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: right;
  text-transform: uppercase;
}

.mdp-menu__tabs {
  display: flex;
  width: max-content;
  max-width: 100%;
  gap: 3px;
  margin-top: 24px;
  padding: 4px;
  border: 1.5px solid var(--mdp-red);
  border-radius: 999px;
  background: rgba(255, 248, 226, .88);
  overflow-x: auto;
  scrollbar-width: none;
}

.mdp-menu__tabs[hidden] {
  display: none;
}

.mdp-menu__tabs::-webkit-scrollbar {
  display: none;
}

.mdp-menu__tab {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 17px;
  color: var(--mdp-red-dark);
  background: transparent;
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: color .18s ease, background .18s ease, transform .18s ease;
  cursor: pointer;
}

.mdp-menu__tab:hover {
  background: rgba(185, 24, 29, .1);
}

.mdp-menu__tab[aria-selected="true"] {
  color: var(--mdp-cream);
  background: var(--mdp-red);
  border-color: var(--mdp-red);
}

.mdp-menu__note {
  min-height: 20px;
  margin: 10px 0 0;
  color: var(--mdp-red);
  font-size: 12px;
  font-weight: 650;
}

.mdp-menu__content {
  margin-top: 30px;
  border-top: 2px solid var(--mdp-ink);
}

.mdp-group {
  border-bottom: 1px solid var(--mdp-ink);
}

.mdp-group__heading {
  margin: 0;
}

.mdp-group__toggle {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 18px;
  align-items: center;
  padding: 25px 0;
  color: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.mdp-group__title {
  color: var(--mdp-red);
  font-family: "Boldonse", "Arial Black", sans-serif;
  font-size: clamp(25px, 4vw, 57px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1;
  text-transform: uppercase;
}

.mdp-group__meta {
  color: rgba(30, 29, 27, .58);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mdp-group__icon {
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.mdp-group__icon::before,
.mdp-group__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13px;
  height: 1px;
  content: "";
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .2s ease;
}

.mdp-group__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.mdp-group__toggle[aria-expanded="true"] .mdp-group__icon::after {
  transform: translate(-50%, -50%);
}

.mdp-group__panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .28s ease, opacity .2s ease;
}

.mdp-group__panel.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
}

.mdp-group__inner {
  min-height: 0;
  overflow: hidden;
}

.mdp-group__note {
  margin: 0 0 16px;
  color: var(--mdp-red);
  font-size: 13px;
  font-weight: 650;
}

.mdp-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(30px, 6vw, 90px);
  padding: 0 0 34px;
}

.mdp-products--cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.2vw, 30px);
  padding-top: 4px;
}

.mdp-product {
  display: grid;
  grid-template-columns: minmax(0, auto) 1fr auto;
  gap: 7px 10px;
  align-content: start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(30, 29, 27, .2);
}

.mdp-product__name {
  font-weight: 700;
}

.mdp-product__dots {
  min-width: 18px;
  margin-top: 13px;
  border-top: 1px dotted rgba(30, 29, 27, .46);
}

.mdp-product__price {
  color: var(--mdp-red);
  font-weight: 800;
  white-space: nowrap;
}

.mdp-product__description {
  grid-column: 1 / -1;
  margin: 0;
  color: rgba(30, 29, 27, .65);
  font-size: 13px;
  line-height: 1.45;
}

.mdp-product--with-image {
  display: block;
  padding: 0;
  overflow: hidden;
  background: #fffdf6;
  border: 1px solid rgba(124, 16, 19, .34);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(124, 16, 19, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}

.mdp-product--with-image:hover {
  box-shadow: 0 22px 48px rgba(124, 16, 19, .14);
  transform: translateY(-4px);
}

.mdp-product__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  /* Fond blanc : les photos détourées (transparentes) ressortent mieux. */
  background: #fff;
}

.mdp-product__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}

.mdp-product--with-image:hover .mdp-product__media img {
  transform: scale(1.025);
}

.mdp-product__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 16px;
  align-items: start;
  padding: 20px;
}

.mdp-product--with-image .mdp-product__name {
  color: var(--mdp-red-dark);
  font-family: var(--mdp-display) !important;
  font-size: clamp(21px, 2.1vw, 31px);
  font-weight: 400;
  line-height: 1.05;
  text-transform: uppercase;
}

.mdp-product--with-image .mdp-product__price {
  padding: 7px 10px;
  color: var(--mdp-cream-soft);
  background: var(--mdp-red);
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
}

.mdp-product--with-image .mdp-product__description {
  grid-column: 1 / -1;
  color: rgba(30, 29, 27, .7);
}

.mdp-products--cards .mdp-product--text {
  grid-column: 1 / -1;
}

.mdp-search-group__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 0 14px;
  border-bottom: 1px solid rgba(30, 29, 27, .2);
}

.mdp-search-group__heading h3 {
  margin: 0;
  color: var(--mdp-red);
  font-family: "Boldonse", "Arial Black", sans-serif;
  font-size: clamp(23px, 3vw, 42px);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.mdp-search-group__heading p {
  margin: 0;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mdp-menu__empty {
  padding: 70px 0;
  text-align: center;
}

.mdp-menu__empty strong {
  display: block;
  color: var(--mdp-red);
  font-family: "Boldonse", "Arial Black", sans-serif;
  font-size: clamp(28px, 5vw, 60px);
  font-weight: 400;
  text-transform: uppercase;
}

.mdp-menu :focus-visible {
  outline: 3px solid #1769d2;
  outline-offset: 4px;
}

@media (max-width: 809px) {
  nav:has(.mdp-nav-host),
  nav:has(.mdp-nav-host) > div,
  nav:has(.mdp-nav-host) > div > .mdp-nav-host {
    overflow: visible !important;
  }

  nav:has(.mdp-nav-host) {
    z-index: 1000 !important;
  }

  body.mdp-catalogue-page,
  body.mdp-catalogue-page #main,
  body.mdp-catalogue-page #main > div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  .framer-3W98M .framer-chgpd4[data-framer-name="Logo"],
  .framer-3W98M .framer-5itbss {
    width: 42px !important;
    height: 42px !important;
  }

  .mdp-menu-toggle {
    display: flex !important;
  }

  .mdp-nav-host.is-open .mdp-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .mdp-nav-host.is-open .mdp-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .mdp-nav-host.is-open .mdp-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .mdp-main-nav {
    position: fixed;
    top: 76px;
    right: 14px;
    left: 14px;
    z-index: 1001;
    display: flex;
    max-height: calc(100dvh - 92px);
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    padding: 20px 24px;
    overflow-y: auto;
    color: var(--mdp-cream-soft);
    background: var(--mdp-red);
    border: 1.5px solid var(--mdp-red-dark);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(65, 8, 10, .32);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px) scale(.98);
    transform-origin: top right;
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
  }

  .mdp-nav-host.is-open .mdp-main-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .mdp-main-nav__item {
    display: block;
    border-bottom: 1px solid rgba(255, 249, 232, .34);
  }

  .mdp-main-nav__item:last-child {
    border-bottom: 0;
  }

  .mdp-main-nav a {
    display: block;
    padding: 14px 0 13px;
    color: inherit;
    font-family: var(--mdp-display) !important;
    font-size: clamp(23px, 7.2vw, 35px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1;
    text-transform: uppercase;
    white-space: normal;
  }

  .mdp-main-nav a::after,
  .mdp-main-nav__separator {
    display: none;
  }

  .mdp-main-nav a[aria-current="page"] {
    color: var(--mdp-cream);
    opacity: .72;
  }

  body.mdp-mobile-menu-open {
    overflow: hidden;
  }

  .mdp-menu {
    width: 100%;
    min-width: 0;
    max-width: 100vw;
    padding: 52px 18px 76px;
    overflow: hidden;
  }

  .mdp-menu *,
  .mdp-menu *::before,
  .mdp-menu *::after {
    box-sizing: border-box;
  }

  .mdp-menu__inner,
  .mdp-menu__content,
  .mdp-products,
  .mdp-product,
  .mdp-product__body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .mdp-menu__eyebrow {
    gap: 10px;
    margin-bottom: 15px;
    font-size: 10px;
    letter-spacing: .12em;
  }

  .mdp-menu__eyebrow::before {
    width: 28px;
  }

  .mdp-menu h2 {
    max-width: 100%;
    font-size: clamp(34px, 11vw, 58px);
    letter-spacing: -.04em;
    line-height: 1.01;
    overflow-wrap: anywhere;
  }

  .mdp-menu__intro,
  .mdp-menu__tools {
    align-items: flex-start;
    flex-direction: column;
  }

  .mdp-menu__intro {
    gap: 15px;
    margin-top: 18px;
  }

  .mdp-menu__intro > p {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.42;
  }

  .mdp-menu__intro small {
    font-size: 10px;
    line-height: 1.4;
  }

  .mdp-menu__tools {
    width: 100%;
    gap: 11px;
    margin-top: 36px;
  }

  .mdp-menu__search,
  .mdp-menu__search input {
    width: 100%;
    min-width: 0;
  }

  .mdp-menu__count {
    font-size: 10px;
    text-align: left;
  }

  .mdp-menu__tabs {
    width: 100%;
    max-width: 100%;
    margin-top: 18px;
    border-radius: 20px;
  }

  .mdp-menu__tab {
    min-height: 40px;
    padding: 8px 13px;
    font-size: 11px;
  }

  .mdp-menu__content {
    margin-top: 22px;
  }

  .mdp-group__toggle {
    gap: 11px;
    padding: 20px 0;
  }

  .mdp-group__title {
    min-width: 0;
    font-family: var(--mdp-display) !important;
    font-size: clamp(26px, 8vw, 43px);
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
  }

  .mdp-group__icon {
    width: 36px;
    height: 36px;
  }

  .mdp-products {
    grid-template-columns: 1fr;
  }

  .mdp-product__name,
  .mdp-product__description {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .mdp-products--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mdp-products--cards .mdp-product--text {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .mdp-menu {
    padding: 44px 14px 68px;
  }

  .mdp-menu h2 {
    font-size: clamp(32px, 12vw, 48px);
  }

  .mdp-main-nav {
    top: 70px;
    right: 10px;
    left: 10px;
    padding: 18px 20px;
    border-radius: 20px;
  }

  .mdp-group__toggle {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .mdp-group__meta {
    display: none;
  }

  .mdp-product__name {
    font-size: 14px;
  }

  .mdp-search-group__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .mdp-products--cards {
    grid-template-columns: 1fr;
  }

  .mdp-product__body {
    padding: 17px;
  }
}

/* Reel vertical flottant — ordinateur uniquement. */
.mdp-reel-widget {
  position: fixed;
  z-index: 9998;
  bottom: 22px;
  left: 22px;
  display: none;
  width: clamp(170px, 12vw, 210px);
  aspect-ratio: 9 / 14;
  overflow: hidden;
  color: var(--mdp-cream-soft);
  background: var(--mdp-red-dark);
  /* bordure : rouge principal du logo */
  border: 3px solid var(--mdp-red);
  border-radius: 20px;
  box-shadow: 0 20px 55px rgba(68, 5, 7, .3), 0 0 0 1px rgba(168, 23, 24, .4);
  isolation: isolate;
  animation: mdp-reel-enter .5s cubic-bezier(.22, 1, .36, 1) both;
}

.mdp-reel-widget__video,
.mdp-reel-widget__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.mdp-reel-widget__video {
  z-index: -2;
  display: block;
  object-fit: cover;
}

.mdp-reel-widget__shade {
  z-index: -1;
  background: linear-gradient(180deg, rgba(44, 6, 7, .08) 32%, rgba(68, 7, 9, .88) 100%);
  pointer-events: none;
}

.mdp-reel-widget__controls {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 7px;
}

.mdp-reel-widget__control {
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  color: var(--mdp-cream-soft);
  background: transparent;
  border: 0;
  border-radius: 50%;
  place-items: center;
  font-family: var(--mdp-sans) !important;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  filter: drop-shadow(0 2px 5px rgba(45, 4, 6, .8));
  transition: opacity .2s ease, transform .2s ease;
}

.mdp-reel-widget__control span {
  font-size: 15px;
}

.mdp-reel-widget__control:hover {
  color: var(--mdp-cream-soft);
  background: transparent;
  opacity: .72;
  transform: translateY(-1px);
}

.mdp-reel-widget__control:focus-visible {
  outline: 3px solid var(--mdp-cream);
  outline-offset: 3px;
}

.mdp-reel-widget__copy {
  position: absolute;
  right: 14px;
  bottom: 16px;
  left: 14px;
  text-shadow: 0 2px 18px rgba(45, 4, 6, .75);
}

.mdp-reel-widget__copy span {
  display: block;
  margin-bottom: 8px;
  color: var(--mdp-cream);
  font-family: var(--mdp-sans) !important;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
}

.mdp-reel-widget__copy strong {
  display: block;
  font-family: var(--mdp-display) !important;
  font-size: clamp(20px, 1.55vw, 27px);
  font-weight: 400;
  line-height: .98;
  text-transform: uppercase;
}

.mdp-reel-widget__copy p {
  margin: 7px 0 0;
  color: rgba(255, 249, 232, .9);
  font-size: 12px;
  line-height: 1.3;
}

@media (min-width: 1024px) {
  .mdp-reel-widget {
    display: block;
  }
}

@media (max-width: 1023.98px) {
  .mdp-reel-widget {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-reel-widget {
    animation: none;
  }
}

@keyframes mdp-reel-enter {
  from {
    opacity: 0;
    transform: translateY(24px) scale(.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-menu *,
  .mdp-menu *::before,
  .mdp-menu *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* Les filtres de la carte restent contrastés sur le fond crème. */
.framer-DoxSh[data-framer-name="Default"] .framer-text {
  --framer-text-color: var(--mdp-red-dark) !important;
  color: var(--mdp-red-dark) !important;
}

.framer-DoxSh[data-framer-name="Default"] svg {
  --21h8s6: var(--mdp-red-dark) !important;
}

.framer-DoxSh[data-framer-name="On Choose"] {
  background-color: var(--mdp-red) !important;
}

.framer-DoxSh[data-framer-name="On Choose"] .framer-text {
  --framer-text-color: var(--mdp-cream-soft) !important;
  color: var(--mdp-cream-soft) !important;
}

.framer-DoxSh[data-framer-name="On Choose"] svg {
  --21h8s6: var(--mdp-cream-soft) !important;
}

/* Présentation du GIF et du slogan sur la page Maison. */
.framer-1mflu6f:has(img[src*="maison-croissant.webp"]) {
  aspect-ratio: 4 / 3 !important;
  background: var(--mdp-red-dark) !important;
}

img[src*="maison-croissant.webp"] {
  object-fit: cover !important;
}

.framer-z49eye .framer-text {
  --framer-text-color: var(--mdp-red-dark) !important;
  color: var(--mdp-red-dark) !important;
}

/* ==========================================================================
   CORRECTIFS TITRES — 26/09/2026
   Les titres hero sont des SVG Framer "fit-text" dont le viewBox et le
   font-size ont ete calculees pour le texte anglais d'origine. Les mots
   francais, plus longs, debordaient et etaient coupes ("NOTRI", "HISTOI").
   On neutralise le dimensionnement fige et on laisse le texte se poser
   naturellement dans sa colonne.
   ========================================================================== */

/* --- index.html : titre "NOS SPECIALITES" --------------------------------- */

/* Specificite renforcee : Framer cible .framer-UD4Xq .framer-a2iwfj,
   qui l'emportait sur une simple classe. */
.framer-UD4Xq .framer-a2iwfj,
.framer-a2iwfj.mdp-title-block {
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  white-space: normal !important;
  text-align: center !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Titre sobre et centre : les deux mots sont sur la meme ligne de base,
   et le bloc ne chevauche plus les cartes produits. */
.framer-UD4Xq .framer-a2iwfj h2,
.framer-a2iwfj.mdp-title-block h2,
.framer-a2iwfj.mdp-title-block .framer-text {
  --framer-font-size: clamp(2rem, 1.2rem + 2.6vw, 3.25rem) !important;
  font-size: clamp(2rem, 1.2rem + 2.6vw, 3.25rem) !important;
  --framer-line-height: 1.2 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Le span "specialites" reste dans le flux du texte, sans retour force. */
.framer-a2iwfj.mdp-title-block h2 .framer-text {
  display: inline !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* --- index.html : titre "NOS SPECIALITES" par palier d'ecran -------------- */
/* clamp() seul ne suffit pas : sur mobile, 2.6vw donne une valeur minuscule.
   On fixe donc une taille lisible pour chaque famille d'ecrans. */

/* Tablette */
@media (max-width: 1199.98px) {
  .framer-UD4Xq .framer-a2iwfj h2,
  .framer-a2iwfj.mdp-title-block h2,
  .framer-a2iwfj.mdp-title-block .framer-text {
    --framer-font-size: clamp(2.1rem, 0.9rem + 3.4vw, 2.9rem) !important;
    font-size: clamp(2.1rem, 0.9rem + 3.4vw, 2.9rem) !important;
  }
}

/* Mobile : le titre doit rester une vraie accroche de section. */
@media (max-width: 809.98px) {
  .framer-UD4Xq .framer-a2iwfj,
  .framer-a2iwfj.mdp-title-block {
    padding: 0 12px !important;
  }
  .framer-UD4Xq .framer-a2iwfj h2,
  .framer-a2iwfj.mdp-title-block h2,
  .framer-a2iwfj.mdp-title-block .framer-text {
    --framer-font-size: clamp(1.9rem, 0.6rem + 6.4vw, 2.6rem) !important;
    font-size: clamp(1.9rem, 0.6rem + 6.4vw, 2.6rem) !important;
    --framer-line-height: 1.15 !important;
    line-height: 1.15 !important;
  }
}

/* Petits mobiles */
@media (max-width: 400px) {
  .framer-UD4Xq .framer-a2iwfj h2,
  .framer-a2iwfj.mdp-title-block h2,
  .framer-a2iwfj.mdp-title-block .framer-text {
    --framer-font-size: 1.75rem !important;
    font-size: 1.75rem !important;
  }
}

/* ==========================================================================
   Accueil : "Nos specialites" en 4 cartes (grille inseree par brand-runtime.js)
   La grille Framer d'origine est masquee des que la notre est en place.
   ========================================================================== */

html[data-mdp-cat-grid="true"] [data-framer-name="Product Frame"] {
  display: none !important;
}

.mdp-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  max-width: 1840px;
}

.mdp-cat-card {
  --card-bg: var(--mdp-red);
  --card-ink: var(--mdp-cream-soft);
  --tag-bg: var(--mdp-cream-soft);
  --tag-ink: var(--mdp-red);
  --btn-bg: var(--mdp-cream-soft);
  --btn-ink: var(--mdp-red);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 3px;
  border-radius: 28px;
  background: var(--card-bg);
  color: var(--card-ink);
  text-decoration: none;
  transition: transform .25s ease;
}
.mdp-cat-card:hover { transform: translateY(-4px); }

.mdp-cat-card--1 { --card-bg: var(--mdp-red-dark); }
.mdp-cat-card--2 {
  --card-bg: var(--mdp-cream);
  --card-ink: var(--mdp-red);
  --tag-bg: var(--mdp-red);
  --tag-ink: var(--mdp-cream-soft);
  --btn-bg: var(--mdp-red);
  --btn-ink: var(--mdp-cream-soft);
  box-shadow: inset 0 0 0 2px #f1d9b8;
}

.mdp-cat-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 26px;
}
.mdp-cat-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mdp-cat-card__tag {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--tag-bg);
  color: var(--tag-ink);
  font-family: var(--mdp-sans);
  font-size: .95rem;
  letter-spacing: .02em;
}

.mdp-cat-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
  padding: 26px 18px 18px;
}
.mdp-cat-card__title {
  /* toujours 2 lignes reservees : prix et boutons alignes d'une carte a l'autre */
  min-height: 2.3em;
  font-family: var(--mdp-display);
  font-size: clamp(1rem, 1.35vw, 1.5rem);
  line-height: 1.15;
  text-transform: uppercase;
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}
.mdp-cat-card__price {
  min-height: 1.4em;
  margin-top: auto;
  font-family: var(--mdp-sans);
  font-size: 1.15rem;
  text-transform: uppercase;
}
.mdp-cat-card__button {
  display: block;
  padding: 16px 12px;
  border-radius: 999px;
  background: var(--btn-bg);
  color: var(--btn-ink);
  font-family: var(--mdp-sans);
  font-size: 1.05rem;
  text-align: center;
  text-transform: uppercase;
}

/* Tablette : 2 x 2 */
@media (max-width: 1199.98px) {
  .mdp-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mdp-cat-card__title { font-size: clamp(1.2rem, 2.6vw, 1.6rem); }
}

/* Mobile : une carte par ligne */
@media (max-width: 809.98px) {
  .mdp-cat-grid { grid-template-columns: 1fr; gap: 16px; }
  .mdp-cat-card__title { font-size: clamp(1.25rem, 6vw, 1.7rem); }
}

/* ==========================================================================
   Notre histoire : bandeau "NOTRE HISTOIRE DEPUIS 1972"
   Meme composant que le bandeau de l'accueil, en rouge sur fond creme,
   et defilant vers la gauche.
   ========================================================================== */
.mdp-hero-marquee--about {
  color: var(--mdp-red);
}

.mdp-hero-marquee--about .mdp-hero-marquee__track {
  animation-name: mdp-hero-marquee-left;
  animation-duration: 22s;
}

@keyframes mdp-hero-marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Le conteneur Framer de la page a 32px de marge sur tablette (40px ailleurs). */
@media (min-width: 810px) and (max-width: 1199.98px) {
  .mdp-hero-marquee--about {
    width: calc(100% + 64px);
    margin-inline: -32px;
  }
}

@media (max-width: 809.98px) {
  .mdp-hero-marquee--about .mdp-hero-marquee__track {
    animation-duration: 16s;
  }
}

/* Pied de page : pas de compte X ni de page Facebook, seul Instagram reste. */
.framer-1qryzc-container {
  display: none !important;
}

/* Reel : sortie en fondu (croix ou defilement a 60 % de la page). */
.mdp-reel-widget.is-leaving {
  pointer-events: none;
  animation: mdp-reel-leave .35s cubic-bezier(.4, 0, 1, 1) both;
}

@keyframes mdp-reel-leave {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to   { opacity: 0; transform: translateY(24px) scale(.96); }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-reel-widget.is-leaving {
    animation: none;
    opacity: 0;
  }
}

/* ==========================================================================
   Notre histoire : galerie "L'atelier, chaque matin" (inseree par le script)
   ========================================================================== */
.mdp-atelier {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding: clamp(80px, 9vw, 150px) 40px;
  background: var(--mdp-cream-soft);
  color: var(--mdp-red);
}

.mdp-atelier__intro {
  max-width: 760px;
  margin: 0 auto clamp(40px, 5vw, 70px);
  text-align: center;
}

.mdp-atelier__eyebrow {
  margin: 0 0 14px;
  font-family: var(--mdp-sans);
  font-size: .95rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mdp-atelier__title {
  margin: 0 0 20px;
  font-family: var(--mdp-display);
  font-size: clamp(2rem, 4.4vw, 4rem);
  font-weight: 400;
  line-height: 1.05;
  text-transform: uppercase;
}

.mdp-atelier__text {
  margin: 0;
  color: var(--mdp-ink);
  font-family: var(--mdp-sans);
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  line-height: 1.6;
}

/* 1 grande photo + 4 petites */
.mdp-atelier__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: clamp(180px, 17vw, 300px);
  gap: 16px;
}

.mdp-atelier__item {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: var(--mdp-cream);
}
.mdp-atelier__item:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

.mdp-atelier__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.mdp-atelier__item:hover img { transform: scale(1.04); }

.mdp-atelier__item figcaption {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 7px 16px;
  border-radius: 999px;
  background: var(--mdp-cream-soft);
  color: var(--mdp-red);
  font-family: var(--mdp-sans);
  font-size: .9rem;
}

@media (max-width: 1199.98px) {
  .mdp-atelier { padding-inline: 32px; }
  .mdp-atelier__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(180px, 30vw, 300px); }
}

@media (max-width: 809.98px) {
  .mdp-atelier { padding-inline: 20px; }
  .mdp-atelier__grid { gap: 12px; grid-auto-rows: 46vw; }
  .mdp-atelier__item:first-child { grid-row: span 1; }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-atelier__item img { transition: none; }
}

/* ==========================================================================
   Notre histoire : mot du directeur (insere par le script)
   ========================================================================== */
.mdp-director {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: clamp(32px, 5vw, 90px);
  width: calc(100% - 80px);
  max-width: 1840px;
  margin: 0 auto clamp(80px, 9vw, 150px);
  padding: clamp(28px, 4vw, 64px);
  border-radius: 36px;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
}

.mdp-director__portrait {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 2 / 3;
  border: 3px solid var(--mdp-cream);
  border-radius: 28px;
}
.mdp-director__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mdp-director__eyebrow {
  margin: 0 0 22px;
  font-family: var(--mdp-sans);
  font-size: .95rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .85;
}

.mdp-director__quote {
  position: relative;
  margin: 0;
  padding: 0;
  font-family: var(--mdp-sans);
  font-size: clamp(1.1rem, 1.55vw, 1.5rem);
  line-height: 1.6;
}
.mdp-director__quote::before {
  content: "“";
  position: absolute;
  top: -.55em;
  left: -.08em;
  font-family: var(--mdp-display);
  font-size: 4.5em;
  line-height: 1;
  opacity: .18;
}
.mdp-director__quote p { margin: 0 0 1em; }
.mdp-director__quote p:first-child {
  font-family: var(--mdp-display);
  font-size: clamp(1.35rem, 2.1vw, 2.1rem);
  line-height: 1.25;
  text-transform: uppercase;
}

.mdp-director__signature {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 28px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 249, 232, .35);
  font-family: var(--mdp-sans);
}
.mdp-director__signature strong {
  font-family: var(--mdp-display);
  font-size: clamp(1.3rem, 1.8vw, 1.7rem);
  font-weight: 400;
  text-transform: uppercase;
}
.mdp-director__signature span { font-size: .95rem; opacity: .85; }

@media (max-width: 1199.98px) {
  .mdp-director { width: calc(100% - 64px); }
}

@media (max-width: 809.98px) {
  .mdp-director {
    grid-template-columns: 1fr;
    width: calc(100% - 40px);
    border-radius: 28px;
  }
  .mdp-director__portrait { aspect-ratio: 4 / 5; }
}

/* Notre histoire, chapitres 02 "Le levain" et 04 "Aujourd'hui" : fond creme
   (vert et rose du template), donc texte rouge -- le texte blanc du template
   y etait illisible. Les chapitres 01 et 03 gardent leur fond rouge. */
.framer-ng5ci9 .framer-text,
.framer-ng5ci9 p,
.framer-ng5ci9 h2,
.framer-ng5ci9 h3,
.framer-1vtzt66 .framer-text,
.framer-1vtzt66 p,
.framer-1vtzt66 h2,
.framer-1vtzt66 h3 {
  --framer-text-color: var(--mdp-red) !important;
  color: var(--mdp-red) !important;
}

/* Notre histoire : section "Une maison, des savoir-faire" retiree. */
section.framer-ulbn9i[data-framer-name="Section: Member"] {
  display: none !important;
}

/* Gamme de produits : l'ancien catalogue du template est retire par le script,
   mais apres le saut vers #menu-complet, ce qui faisait remonter la page.
   On le masque des le premier affichage (il n'existe que sur carte.html). */
.framer-02EKX {
  display: none !important;
}

/* Navigation principale : Google Sans Flex, en capitales (ordinateur et mobile). */
.mdp-main-nav a {
  font-family: var(--mdp-sans) !important;
  font-weight: 650 !important;
  text-transform: uppercase !important;
}

/* Ordinateur : capitales un peu espacees, taille calibree pour que les
   4 liens tiennent sur une ligne a cote du logo. */
@media (min-width: 1024px) {
  .mdp-main-nav a {
    font-size: clamp(12px, 1.05vw, 16px) !important;
    letter-spacing: .04em !important;
    line-height: 1.1 !important;
  }
}

/* Chargement : l'ecran de chargement du template Framer affichait un donut.
   On ne l'affiche plus du tout ; la page apparait directement. */
[data-framer-name="Loading"],
.framer-IhtTe:has([data-framer-name="Loading"]) {
  display: none !important;
}

/* Images du template sans equivalent Les Maitres du Pain : jamais affichees. */
img[data-mdp-hidden="true"] {
  visibility: hidden !important;
}

/* Navigation (ordinateur et tablette, fond clair) : texte #1E1E1E.
   Le menu mobile garde son texte creme sur fond rouge. */
@media (min-width: 810px) {
  .mdp-main-nav,
  .mdp-main-nav a,
  .mdp-main-nav__separator {
    color: #1e1e1e !important;
  }
}

/* Panier du template ("Cart (0)") : la maison ne vend pas en ligne. */
.framer-T6oBh,
.framer-1cd69dh-container {
  display: none !important;
}

/* ==========================================================================
   Pied de page : bandeau "LES MAITRES DU PAIN" a la place du grand texte
   du template, en blanc sur rouge, defilant vers la gauche.
   ========================================================================== */
.framer-1pg413i {
  display: none !important;
}

.mdp-footer-marquee {
  width: 100%;
  overflow: hidden;
  color: #fff;
}

.mdp-footer-marquee__track {
  display: flex;
  width: max-content;
  will-change: transform;
  /* 4 repetitions : on decale de la moitie pour une boucle sans a-coup */
  animation: mdp-hero-marquee-left 26s linear infinite;
}

.mdp-footer-marquee__track span {
  flex: none;
  padding: .1em clamp(40px, 4vw, 80px) .06em 0;
  font-family: var(--mdp-display) !important;
  font-size: clamp(44px, 5.6vw, 104px);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 809.98px) {
  .mdp-footer-marquee__track { animation-duration: 18s; }
  .mdp-footer-marquee__track span {
    padding-right: 32px;
    font-size: clamp(36px, 11vw, 60px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-footer-marquee__track { animation: none; }
}

/* ==========================================================================
   Animations : une fois le bas de la page atteint, les elements animes par
   le defilement reviennent a leur etat de repos (remontee sans effet).
   ========================================================================== */
/* Les 7 effets lies au defilement du template (onScrollTarget), dans leur
   etat de repos. Accueil : image du hero qui retrecit, 2 images qui
   grandissent. Notre histoire : panneaux et fonds des chapitres qui pivotent. */
html.mdp-settled .framer-1uajrhf,
html.mdp-settled .framer-r6fpv8,
html.mdp-settled .framer-6sofmi,
html.mdp-settled .framer-1xfx0dp,
html.mdp-settled .framer-bb2z9i,
html.mdp-settled .framer-1eazkxn,
html.mdp-settled .framer-mj8h84 {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
}

/* ==========================================================================
   Bouton "retour en haut" (bas a droite)
   ========================================================================== */
.mdp-back-to-top {
  position: fixed;
  z-index: 9997;
  right: 22px;
  bottom: 22px;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 2px solid var(--mdp-cream);
  border-radius: 50%;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
  box-shadow: 0 12px 30px rgba(68, 5, 7, .28);
  cursor: pointer;
  opacity: 0;
  transform: translateY(16px) scale(.9);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease, background-color .2s ease;
}
.mdp-back-to-top.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.mdp-back-to-top:hover { background: var(--mdp-red-dark); }
.mdp-back-to-top:focus-visible { outline: 3px solid var(--mdp-cream); outline-offset: 3px; }
.mdp-back-to-top svg { width: 24px; height: 24px; }

@media (max-width: 809.98px) {
  .mdp-back-to-top { right: 16px; bottom: 16px; width: 48px; height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-back-to-top { transition: none; }
}

/* Mot du directeur : signature manuscrite de Rachid Akki (creme sur rouge). */
.mdp-director__signature-img {
  display: block;
  width: clamp(150px, 15vw, 230px);
  height: auto;
  margin: 0 0 6px -6px;
}

/* ==========================================================================
   Bouton WhatsApp flottant (bas a gauche), aux couleurs du site
   ========================================================================== */
.mdp-whatsapp {
  position: fixed;
  z-index: 9998;
  left: 22px;
  bottom: 22px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 2px solid var(--mdp-cream);
  border-radius: 50%;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
  box-shadow: 0 12px 30px rgba(68, 5, 7, .3);
  text-decoration: none;
  transition: left .35s ease, bottom .3s ease, background-color .2s ease, transform .2s ease;
}
.mdp-whatsapp:hover { background: var(--mdp-red-dark); transform: scale(1.05); }
.mdp-whatsapp:focus-visible { outline: 3px solid var(--mdp-cream); outline-offset: 3px; }
.mdp-whatsapp svg { width: 30px; height: 30px; }

/* Accueil (ordinateur) : tant que la video Reel occupe le coin, le bouton
   se place juste a sa droite ; il revient dans le coin quand elle se ferme. */
body:has(.mdp-reel-widget:not(.is-leaving)) .mdp-whatsapp {
  left: calc(22px + clamp(170px, 12vw, 210px) + 14px);
}

/* petite bulle au survol (ordinateur), ouverte vers la droite */
.mdp-whatsapp__bubble {
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--mdp-cream-soft);
  color: var(--mdp-red);
  box-shadow: 0 8px 22px rgba(68, 5, 7, .18);
  font-family: var(--mdp-sans);
  font-size: .9rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-8px, -50%);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}
.mdp-whatsapp:hover .mdp-whatsapp__bubble,
.mdp-whatsapp:focus-visible .mdp-whatsapp__bubble {
  opacity: 1;
  transform: translate(0, -50%);
}

@media (max-width: 809.98px) {
  .mdp-whatsapp { left: 16px; bottom: 16px; width: 52px; height: 52px; }
  .mdp-whatsapp svg { width: 27px; height: 27px; }
  .mdp-whatsapp__bubble { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-whatsapp, .mdp-whatsapp__bubble { transition: none; }
}

/* ==========================================================================
   Accueil : titre "Une conviction guide chaque fournee : le bon pain ne se
   presse pas." -- phrase longue : taille reduite, retour a la ligne naturel
   dans une colonne a gauche des viennoiseries.
   ========================================================================== */
.framer-UD4Xq .framer-129wwwz { display: none !important; }

.mdp-conviction {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  align-self: center;
  max-width: 58%;
  margin: 0 auto 0 0;
  color: var(--mdp-red);
  font-family: var(--mdp-display) !important;
  font-size: clamp(40px, 5.6vw, 92px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.02em;
  text-transform: uppercase;
  text-wrap: balance;
}

@media (max-width: 809.98px) {
  /* mobile : les viennoiseries en haut, le titre dessous */
  .mdp-conviction {
    max-width: 100%;
    margin-top: 190px;
    font-size: clamp(34px, 11vw, 52px);
  }
  .framer-UD4Xq .framer-12wxb8z,
  .framer-UD4Xq .framer-7atjaf,
  .framer-UD4Xq .framer-1wkxulb {
    top: 40px !important;
    bottom: auto !important;
  }
}

/* Accueil : mot changeant "BON spot / pain / hmm" toujours sur une ligne. */
.framer-1hsqa3f-container,
.framer-1hsqa3f-container .framer-5vCaE {
  overflow: visible !important;
}
.framer-1hsqa3f-container h2 {
  white-space: nowrap !important;
}

/* Bouton WhatsApp : vert profond (#1F3B2D). */
.mdp-whatsapp { background: #1f3b2d !important; }
.mdp-whatsapp:hover { background: #16291f !important; }

/* Accueil : titre "Nos / offres" (insere par le script), centre, 2 lignes. */
.framer-UD4Xq .framer-a2iwfj { display: none !important; }
.mdp-offres-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0;
  font-family: var(--mdp-display) !important;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.02em;
  text-align: center;
  text-transform: uppercase;
}
.mdp-offres-title__nos { color: var(--mdp-red); font-size: clamp(40px, 5vw, 80px); }
.mdp-offres-title__mot { color: #1e1e1e; font-size: clamp(56px, 8vw, 132px); }
@media (max-width: 809.98px) {
  .mdp-offres-title__nos { font-size: clamp(34px, 10vw, 48px); }
  .mdp-offres-title__mot { font-size: clamp(48px, 16vw, 76px); }
}

/* Accueil (mobile) : "Notre savoir-faire" -- meme police que sur ordinateur,
   et pas de coupure au trait d'union. */
.framer-v86k1x span,
.framer-v86k1x .framer-text span {
  font-family: var(--mdp-display) !important;
  --framer-font-family: var(--mdp-display) !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  font-size: clamp(24px, 7.6vw, 40px) !important;
  --framer-font-size: clamp(24px, 7.6vw, 40px) !important;
  line-height: 1.1 !important;
}

/* Formulaire de contact : message de confirmation / d'erreur sous le bouton. */
.mdp-form-status {
  width: 100%;
  margin: 0;
  font-family: var(--mdp-sans);
  font-size: 16px;
  line-height: 1.4;
}
.mdp-form-status[data-state="ok"] { color: #1f3b2d; }
.mdp-form-status[data-state="error"] { color: #9e2a22; }

/* Accueil : titre "En famille, entre amis ou entre deux cours." un peu plus petit. */
.framer-UD4Xq .framer-ma9mfq h2 {
  --framer-font-size: 42px !important;
  font-size: 42px !important;
}
@media (max-width: 809.98px) {
  .framer-UD4Xq .framer-ma9mfq h2 {
    --framer-font-size: 26px !important;
    font-size: 26px !important;
  }
}

/* ==========================================================================
   Page Franchise : formulaire de candidature (insere par brand-runtime.js)
   a la place du formulaire de contact Framer.
   ========================================================================== */
html[data-mdp-page="franchise"] section[data-framer-name="Section: Hero"] form:not(.mdp-franchise-form) {
  display: none !important;
}

.mdp-franchise {
  flex: none;
  width: 55%;
  margin: 0;
  font-family: var(--mdp-sans);
  color: var(--mdp-ink);
}

.mdp-franchise__intro { margin-bottom: 36px; }
.mdp-franchise__eyebrow {
  margin: 0 0 12px;
  color: var(--mdp-red);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mdp-franchise__title {
  margin: 0 0 14px;
  color: var(--mdp-red);
  font-family: var(--mdp-display) !important;
  font-size: clamp(28px, 3.4vw, 46px);
  font-weight: 400;
  line-height: 1.12;
  text-transform: uppercase;
}
.mdp-franchise__text {
  max-width: 720px;
  margin: 0;
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.55;
}

.mdp-franchise-form fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  margin: 0 0 28px;
  padding: 26px 0 0;
  border: 0;
  border-top: 1px solid rgba(168, 23, 24, .25);
}
.mdp-franchise-form legend {
  float: left;
  grid-column: 1 / -1;
  margin: 0 0 4px;
  padding: 0;
  color: var(--mdp-red);
  font-family: var(--mdp-display) !important;
  font-size: 20px;
  text-transform: uppercase;
}
.mdp-franchise-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
}
.mdp-franchise-form__wide { grid-column: 1 / -1; }
.mdp-franchise-form input:not([type="checkbox"]),
.mdp-franchise-form select,
.mdp-franchise-form textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid rgba(30, 29, 27, .22);
  border-radius: 12px;
  background: #fff;
  color: var(--mdp-ink);
  font: 400 16px/1.4 var(--mdp-sans);
  box-sizing: border-box;
}
.mdp-franchise-form textarea { resize: vertical; }
.mdp-franchise-form input:focus,
.mdp-franchise-form select:focus,
.mdp-franchise-form textarea:focus {
  outline: 2px solid var(--mdp-red);
  outline-offset: 1px;
  border-color: transparent;
}
.mdp-franchise-form__trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.mdp-franchise-form .mdp-franchise-form__consent {
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 24px;
  font-weight: 400;
  line-height: 1.45;
}
.mdp-franchise-form__consent input {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--mdp-red);
}
.mdp-franchise-form__submit {
  min-height: 56px;
  padding: 14px 34px;
  border: 0;
  border-radius: 999px;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
  font: 700 16px/1 var(--mdp-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.mdp-franchise-form__submit:hover { background: var(--mdp-red-dark); transform: translateY(-2px); }
.mdp-franchise-form__submit:disabled { opacity: .6; cursor: wait; transform: none; }
.mdp-franchise-form .mdp-form-status { margin-top: 16px; }

@media (max-width: 809.98px) {
  .mdp-franchise-form fieldset { grid-template-columns: 1fr; }
  .mdp-franchise-form__submit { width: 100%; }
}

/* Contact et Franchise : la photo (paysage) dans un cadre 4:3 au lieu du
   portrait 4:5 de la maquette, pour ne pas la recadrer trop serre. */
html[data-mdp-page="contact"] section[data-framer-name="Section: Hero"] .framer-xkc9rn,
html[data-mdp-page="franchise"] section[data-framer-name="Section: Hero"] .framer-xkc9rn {
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
}
/* Franchise : la photo reste visible pendant qu'on remplit le formulaire. */
@media (min-width: 810px) {
  html[data-mdp-page="franchise"] section[data-framer-name="Section: Hero"] .framer-xkc9rn {
    position: sticky !important;
    top: 120px;
  }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .mdp-franchise { width: 60%; }
}
@media (max-width: 809.98px) {
  .mdp-franchise { width: 100%; order: 0; }
}

/* ==========================================================================
   Carte : barre flottante en verre avec icones 3D (bas de l'ecran)
   ========================================================================== */
.mdp-dock {
  position: fixed;
  z-index: 9999;
  left: 50%;
  bottom: 22px;
  display: flex;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 24px;
  background: rgba(255, 249, 232, .55);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  backdrop-filter: blur(18px) saturate(1.5);
  box-shadow: 0 18px 40px rgba(68, 5, 7, .18), inset 0 1px 0 rgba(255, 255, 255, .7);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 24px);
  transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
.mdp-dock.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition: opacity .3s ease, transform .3s ease, visibility 0s;
}

.mdp-dock__item {
  position: relative;
  display: grid;
  place-items: center;
  width: 62px;
  height: 58px;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  cursor: pointer;
}
/* halo rouge derriere la categorie active */
.mdp-dock__item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  /* halo #1E1E1E : plein au centre de l'icone, qui s'efface vers les bords */
  background: radial-gradient(circle closest-side, rgba(30, 30, 30, var(--mdp-icon-halo)) 0%, rgba(30, 30, 30, var(--mdp-icon-halo)) 40%, rgba(30, 30, 30, 0) 100%);
  opacity: 0;
  transform: scale(.6);
  transition: opacity .25s ease, transform .25s ease;
}
.mdp-dock__item[aria-current="true"]::before {
  opacity: 1;
  transform: scale(1);
}
.mdp-dock__item:focus-visible {
  outline: 2px solid var(--mdp-red);
  outline-offset: 2px;
}

.mdp-dock__icon {
  position: relative;
  width: 44px;
  height: 44px;
  filter: drop-shadow(0 6px 6px rgba(30, 30, 30, var(--mdp-icon-shadow)));
  transition: transform .22s cubic-bezier(.3, 1.6, .5, 1);
}
.mdp-dock__item:hover .mdp-dock__icon,
.mdp-dock__item:focus-visible .mdp-dock__icon {
  transform: translateY(-6px) scale(1.18);
}
.mdp-dock__item[aria-current="true"] .mdp-dock__icon {
  transform: translateY(-3px) scale(1.08);
}

/* nom de la categorie au-dessus de l'icone (active, ou survolee) */
.mdp-dock__label {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
  box-shadow: 0 8px 18px rgba(68, 5, 7, .2);
  font-family: var(--mdp-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, 4px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.mdp-dock__item[aria-current="true"] .mdp-dock__label,
.mdp-dock__item:hover .mdp-dock__label,
.mdp-dock__item:focus-visible .mdp-dock__label {
  opacity: 1;
  transform: translate(-50%, 0);
}
/* une seule etiquette a la fois : celle survolee prend le dessus */
.mdp-dock:hover .mdp-dock__item[aria-current="true"]:not(:hover) .mdp-dock__label {
  opacity: 0;
}

@media (max-width: 809.98px) {
  /* barre pleine largeur : les 8 icones se partagent l'espace, quel que soit l'ecran */
  .mdp-dock {
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 20px);
    justify-content: space-between;
    gap: 0;
    padding: 5px 6px;
    border-radius: 20px;
  }
  .mdp-dock__item {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 48px;
    border-radius: 12px;
  }
  .mdp-dock__icon { width: min(34px, 8.5vw); height: min(34px, 8.5vw); }
  .mdp-dock__label { font-size: 11px; padding: 5px 9px; }
  /* l'etiquette n'est jamais coupee par le bord de l'ecran */
  .mdp-dock__item:first-child .mdp-dock__label { left: 0; transform: none; }
  .mdp-dock__item:last-child .mdp-dock__label { left: auto; right: 0; transform: none; }
  /* page Carte : pas de bouton WhatsApp sur mobile ; le retour en haut
     passe au-dessus de la barre et de son etiquette */
  body:has(.mdp-dock) .mdp-whatsapp { display: none; }
  body.mdp-dock-on .mdp-back-to-top { bottom: calc(108px + env(safe-area-inset-bottom, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-dock, .mdp-dock__item::before, .mdp-dock__icon, .mdp-dock__label { transition: none; }
}

/* ==========================================================================
   Page Franchise : presentation complete (inseree par brand-runtime.js
   entre le bandeau "Devenez franchise" et le formulaire)
   ========================================================================== */
html[data-mdp-page="franchise"] section[data-framer-name="Section: Hero"] [data-framer-name="Container"] {
  flex-wrap: wrap;
}
.mdp-fr {
  width: 100%;
  margin: 0 0 clamp(56px, 8vw, 110px);
  color: var(--mdp-ink);
  font-family: var(--mdp-sans);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.6;
}
.mdp-fr *, .mdp-fr *::before, .mdp-fr *::after { box-sizing: border-box; }
.mdp-fr img { display: block; max-width: 100%; }
.mdp-fr figure { margin: 0; }
.mdp-fr p { margin: 0 0 16px; }
#candidature { scroll-margin-top: 120px; }

.mdp-fr__block {
  margin-top: clamp(72px, 10vw, 140px);
  scroll-margin-top: 120px;
}

.mdp-fr__eyebrow {
  margin: 0 0 14px !important;
  color: var(--mdp-red);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mdp-fr__eyebrow--light { color: var(--mdp-cream); }

.mdp-fr__title,
.mdp-fr__big {
  margin: 0 0 24px;
  color: var(--mdp-red);
  font-family: "Boldonse", "Arial Black", sans-serif;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1;
  text-transform: uppercase;
  text-wrap: balance;
}
.mdp-fr__title { font-size: clamp(30px, 4vw, 58px); }
.mdp-fr__big { font-size: clamp(30px, 5vw, 72px); }

.mdp-fr__sub {
  margin: 0 0 10px;
  color: var(--mdp-red);
  font-family: var(--mdp-display) !important;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
}
.mdp-fr__lead {
  max-width: 640px;
  font-size: clamp(17px, 1.45vw, 21px);
}

/* boutons */
.mdp-fr__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 26px;
  margin-top: 28px;
}
.mdp-fr__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  margin-top: 28px;
  padding: 14px 30px;
  border-radius: 999px;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft) !important;
  font: 700 15px/1 var(--mdp-sans);
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease, transform .2s ease;
}
.mdp-fr__actions .mdp-fr__cta { margin-top: 0; }
.mdp-fr__cta span { font-size: 18px; transition: transform .2s ease; }
.mdp-fr__cta:hover { background: var(--mdp-red-dark); transform: translateY(-2px); }
.mdp-fr__cta:hover span { transform: translateX(4px); }
.mdp-fr__cta:focus-visible,
.mdp-fr__link:focus-visible { outline: 3px solid var(--mdp-red); outline-offset: 3px; }
.mdp-fr__link {
  color: var(--mdp-red) !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
}

/* 1. accroche + galerie */
.mdp-fr__hero {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  margin-top: clamp(28px, 4vw, 56px);
}
.mdp-fr__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: clamp(120px, 12vw, 190px);
  gap: 12px;
}
.mdp-fr__shot { overflow: hidden; border-radius: 18px; background: var(--mdp-cream); }
.mdp-fr__shot--wide { grid-column: span 2; }
.mdp-fr__shot--full { grid-column: 1 / -1; }
.mdp-fr__shot img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mdp-fr__shot:hover img { transform: scale(1.04); }

/* 2. chiffres cles + arguments */
.mdp-fr__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 clamp(40px, 5vw, 64px);
  padding: 0;
  list-style: none;
}
.mdp-fr__stats li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 26px 16px 22px;
  border: 1.5px solid rgba(168, 23, 24, .2);
  border-radius: 22px;
  background: var(--mdp-cream-soft);
  text-align: center;
}
.mdp-fr__stats img { width: 64px; height: 64px; margin-bottom: 8px; filter: drop-shadow(0 8px 8px rgba(30, 30, 30, var(--mdp-icon-shadow))); }
.mdp-fr__stats strong {
  color: var(--mdp-red);
  font-family: var(--mdp-display);
  font-size: clamp(18px, 1.8vw, 26px);
  font-weight: 400;
  line-height: 1.15;
  text-transform: uppercase;
}
.mdp-fr__stats span { font-size: 14px; line-height: 1.4; }

.mdp-fr__split {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
}
.mdp-fr__list { margin: 0; padding: 0; list-style: none; }
.mdp-fr__list li {
  position: relative;
  padding: 12px 0 12px 30px;
  border-bottom: 1px solid rgba(30, 29, 27, .14);
}
.mdp-fr__list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 21px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--mdp-red);
}
.mdp-fr__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mdp-fr__card {
  padding: 26px 22px;
  border-radius: 22px;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
}
.mdp-fr__card h4 {
  margin: 0 0 12px;
  font-family: var(--mdp-display);
  font-size: clamp(16px, 1.3vw, 19px);
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
}
.mdp-fr__card p { margin: 0; font-size: 15px; line-height: 1.55; }

/* 3. histoire */
.mdp-fr__story {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: center;
}
.mdp-fr__story-img { overflow: hidden; border-radius: 24px; aspect-ratio: 4 / 5; }
.mdp-fr__story-img img { width: 100%; height: 100%; object-fit: cover; }

/* 4. aventure (panneau rouge) */
.mdp-fr__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  padding: clamp(32px, 5vw, 72px);
  border-radius: 32px;
  background: var(--mdp-red);
  color: var(--mdp-cream-soft);
}
.mdp-fr__panel .mdp-fr__big { color: var(--mdp-cream); }
.mdp-fr__panel .mdp-fr__cta { background: var(--mdp-cream); color: var(--mdp-red) !important; }
.mdp-fr__panel .mdp-fr__cta:hover { background: #fff; }
.mdp-fr__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mdp-fr__duo figure { overflow: hidden; border-radius: 20px; aspect-ratio: 3 / 4; }
.mdp-fr__duo figure:last-child { transform: translateY(32px); }
.mdp-fr__duo img { width: 100%; height: 100%; object-fit: cover; }

/* 5. frise */
.mdp-fr__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 34px 0 0;
  list-style: none;
}
.mdp-fr__timeline::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--mdp-red);
}
.mdp-fr__timeline li { position: relative; }
.mdp-fr__timeline li::before {
  content: "";
  position: absolute;
  top: -34px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 3px solid var(--mdp-cream-soft);
  border-radius: 50%;
  background: var(--mdp-red);
  box-shadow: 0 0 0 2px var(--mdp-red);
}
.mdp-fr__year {
  display: block;
  margin-bottom: 10px;
  color: var(--mdp-red);
  font-family: var(--mdp-display);
  font-size: clamp(18px, 1.7vw, 26px);
  line-height: 1.15;
  text-transform: uppercase;
}
.mdp-fr__timeline h3 {
  margin: 0 0 6px;
  font-family: var(--mdp-sans);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .08em;
  font-weight: 400;
  text-transform: uppercase;
}
.mdp-fr__timeline p { margin: 0; font-size: 15px; line-height: 1.5; }

/* 6. qualite + 8. pourquoi choisir */
.mdp-fr__wide-img { overflow: hidden; margin-bottom: clamp(32px, 4vw, 56px) !important; border-radius: 28px; aspect-ratio: 21 / 8; }
.mdp-fr__wide-img img { width: 100%; height: 100%; object-fit: cover; }
.mdp-fr__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 44px);
  padding-top: 26px;
  border-top: 2px solid var(--mdp-ink);
}
.mdp-fr__columns p { margin: 0; }

/* 7. outils */
.mdp-fr__tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mdp-fr__tool {
  padding: 30px 26px;
  border: 1.5px solid rgba(168, 23, 24, .2);
  border-radius: 24px;
  background: var(--mdp-cream-soft);
  transition: transform .25s ease, box-shadow .25s ease;
}
.mdp-fr__tool:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(68, 5, 7, .1); }
.mdp-fr__tool img { width: 72px; height: 72px; margin-bottom: 14px; filter: drop-shadow(0 8px 8px rgba(30, 30, 30, var(--mdp-icon-shadow))); }
.mdp-fr__tool h3 {
  margin: 0 0 10px;
  color: var(--mdp-red);
  font-family: var(--mdp-display);
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
}
.mdp-fr__tool p { margin: 0; font-size: 15px; }

/* 8. citation */
.mdp-fr__quote {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: center;
}
.mdp-fr__quote figure { overflow: hidden; border-radius: 24px; aspect-ratio: 4 / 5; }
.mdp-fr__quote figure img { width: 100%; height: 100%; object-fit: cover; }
.mdp-fr__quote blockquote { margin: 0; }
.mdp-fr__quote blockquote p {
  color: var(--mdp-red);
  font-family: var(--mdp-display);
  font-size: clamp(22px, 2.6vw, 38px);
  line-height: 1.25;
}
.mdp-fr__quote footer { display: flex; flex-direction: column; gap: 2px; }
.mdp-fr__quote footer strong { font-size: 18px; }
.mdp-fr__quote footer span { color: rgba(30, 29, 27, .7); font-size: 14px; }

/* 9. bande photos */
.mdp-fr__band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(72px, 10vw, 140px);
}
.mdp-fr__band figure { overflow: hidden; border-radius: 22px; aspect-ratio: 4 / 5; }
.mdp-fr__band img { width: 100%; height: 100%; object-fit: cover; }

/* 10. lancement + video */
.mdp-fr__launch {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: center;
}
.mdp-fr__video {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: 640px;
  border-radius: 24px;
  background: var(--mdp-ink);
  object-fit: cover;
}

/* tablette */
@media (max-width: 1199.98px) {
  .mdp-fr__split { grid-template-columns: 1fr; }
  .mdp-fr__timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 48px; }
  .mdp-fr__timeline::before { display: none; }
  .mdp-fr__timeline li { padding-top: 0; }
}

/* mobile */
@media (max-width: 809.98px) {
  .mdp-fr__hero,
  .mdp-fr__story,
  .mdp-fr__panel,
  .mdp-fr__quote,
  .mdp-fr__launch { grid-template-columns: 1fr; }
  .mdp-fr__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 140px; gap: 8px; }
  .mdp-fr__shot--wide { grid-column: span 2; }
  .mdp-fr__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mdp-fr__stats li { padding: 20px 10px 18px; }
  .mdp-fr__stats img { width: 52px; height: 52px; }
  .mdp-fr__cards,
  .mdp-fr__columns,
  .mdp-fr__tools { grid-template-columns: 1fr; }
  .mdp-fr__columns { gap: 24px; }
  .mdp-fr__panel { border-radius: 24px; }
  .mdp-fr__duo figure:last-child { transform: none; }
  .mdp-fr__timeline {
    grid-template-columns: 1fr;
    row-gap: 28px;
    padding: 0 0 0 34px;
  }
  .mdp-fr__timeline::before { display: block; top: 0; bottom: 0; left: 9px; right: auto; width: 2px; height: auto; }
  .mdp-fr__timeline li::before { top: 4px; left: -34px; }
  .mdp-fr__wide-img { aspect-ratio: 4 / 3; }
  .mdp-fr__quote figure { max-width: 320px; }
  .mdp-fr__band { grid-template-columns: repeat(3, 70%); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .mdp-fr__band figure { scroll-snap-align: start; }
  .mdp-fr__video { max-height: 560px; }
  .mdp-fr__cta { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-fr__cta, .mdp-fr__cta span, .mdp-fr__shot img, .mdp-fr__tool { transition: none; }
}

/* ==========================================================================
   Accueil : la carte en PDF a telecharger (couverture a gauche, bouton a
   droite), sur fond uni #1E1E1E.
   Tailles fluides (clamp / vh) : s'adapte de 320 px a l'ecran 4K.
   ========================================================================== */
.mdp-menu-dl {
  /* comme les autres sections : passe au-dessus du hero colle en haut */
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  padding: clamp(48px, 8vw, 120px) clamp(16px, 4vw, 64px);
  background: #1e1e1e;
  font-family: var(--mdp-sans);
  isolation: isolate;
}
/* halo chaud derriere la couverture (rouge du logo -> fond #1E1E1E) */
.mdp-menu-dl::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse 55% 75% at 26% 50%, rgba(168, 23, 24, .55) 0%, rgba(124, 16, 19, .28) 38%, rgba(30, 30, 30, 0) 72%),
    radial-gradient(ellipse 40% 60% at 85% 85%, rgba(232, 160, 126, .12) 0%, rgba(30, 30, 30, 0) 70%);
  pointer-events: none;
}
/* grain (bruit SVG) par-dessus le degrade */
.mdp-menu-dl::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  opacity: .22;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.mdp-menu-dl *, .mdp-menu-dl *::before, .mdp-menu-dl *::after { box-sizing: border-box; }
.mdp-menu-dl__inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(28px, 6vw, 110px);
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
}
.mdp-menu-dl__cover {
  justify-self: center;
  display: block;
  /* jamais plus haute que l'ecran, quelle que soit sa largeur */
  width: min(100%, 400px, calc(72vh * 861 / 1643));
  aspect-ratio: 861 / 1643;
  border-radius: clamp(10px, 1.4vw, 18px);
  overflow: hidden;
  box-shadow: 0 clamp(16px, 3vw, 34px) clamp(30px, 5vw, 70px) rgba(20, 4, 4, .45);
  transform: rotate(-3deg);
  transition: transform .35s ease;
}
.mdp-menu-dl__cover:hover { transform: rotate(0) scale(1.02); }
.mdp-menu-dl__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }

.mdp-menu-dl__body { min-width: 0; color: var(--mdp-cream-soft); }
.mdp-menu-dl__eyebrow {
  margin: 0 0 clamp(10px, 1.2vw, 16px);
  color: var(--mdp-cream);
  font-size: clamp(11px, 1vw, 13px);
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mdp-menu-dl__title {
  margin: 0 0 clamp(14px, 1.8vw, 22px);
  color: var(--mdp-cream);
  font-family: "Boldonse", "Arial Black", sans-serif;
  font-size: clamp(30px, 5.2vw, 76px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.02;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.mdp-menu-dl__text {
  max-width: 34em;
  margin: 0 0 clamp(22px, 2.6vw, 32px);
  font-size: clamp(15px, 1.3vw, 19px);
  line-height: 1.55;
}
.mdp-menu-dl__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  max-width: 100%;
  padding: 14px clamp(22px, 2.4vw, 34px);
  border-radius: 999px;
  background: var(--mdp-cream-soft);
  color: var(--mdp-red) !important;
  font-size: clamp(14px, 1.15vw, 16px);
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .3);
  transition: transform .2s ease, background .2s ease;
}
.mdp-menu-dl__button:hover { background: #fff; transform: translateY(-2px); }
.mdp-menu-dl__button:focus-visible,
.mdp-menu-dl__cover:focus-visible { outline: 3px solid var(--mdp-cream); outline-offset: 4px; }
.mdp-menu-dl__button svg {
  flex: none;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mdp-menu-dl__meta {
  margin: 14px 0 0;
  color: rgba(255, 249, 232, .75);
  font-size: 13px;
  letter-spacing: .06em;
}

/* tablette : les deux colonnes restent, couverture un peu plus petite */
@media (max-width: 1199.98px) {
  .mdp-menu-dl__inner { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
}

/* mobile et petite tablette : tout en colonne */
@media (max-width: 809.98px) {
  .mdp-menu-dl::before {
    background: radial-gradient(ellipse 90% 45% at 50% 28%, rgba(168, 23, 24, .55) 0%, rgba(124, 16, 19, .25) 45%, rgba(30, 30, 30, 0) 80%);
  }
  .mdp-menu-dl__inner { grid-template-columns: 1fr; text-align: center; }
  .mdp-menu-dl__cover { width: min(66%, 280px, calc(58vh * 861 / 1643)); transform: rotate(-2deg); }
  .mdp-menu-dl__text { margin-left: auto; margin-right: auto; }
  .mdp-menu-dl__button { width: min(100%, 420px); }
}

/* telephone a l'horizontale (peu de hauteur) : on garde 2 colonnes */
@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {
  .mdp-menu-dl__inner { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); text-align: left; }
  .mdp-menu-dl__cover { width: min(100%, calc(82vh * 861 / 1643)); }
  .mdp-menu-dl__button { width: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .mdp-menu-dl__cover, .mdp-menu-dl__button { transition: none; }
}
