/**
 * 500 Degrés 2 — pages de contenu : en-tête de page, concept, infos & contact, légal, liens, 404.
 */

.m5-kick--dark { color: #000; }

/* ---------- En-tête de page sombre ---------- */
.m5-phead { position: relative; isolation: isolate; overflow: hidden; background: #000; color: #fff; }
.m5-phead__in { display: grid; gap: 60px; align-items: end; padding-top: 70px; padding-bottom: 60px; }
.m5-phead__in.has-aside { grid-template-columns: 1.1fr 1fr; }
.m5-phead__t { margin: 18px 0 0; font-family: var(--m5-k); font-weight: 400; font-size: clamp(64px, 8vw, 110px); line-height: .88; text-transform: uppercase; color: #fff; }
.m5-phead .m5-lead { animation: none; margin-bottom: 0; }
.m5-quick { display: flex; flex-direction: column; gap: 10px; }
.m5-qa { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: 22px; background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.18); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; text-decoration: none; transition: background .25s, transform .25s, color .25s; }
.m5-qa:hover { background: #fff; color: #000; transform: translateX(6px); }
.m5-qa .m5-ico { width: 28px; height: 28px; }
.m5-qa small { display: block; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; opacity: .7; }
.m5-qa b { display: block; font-family: var(--m5-k); font-weight: 400; font-size: 30px; line-height: 1.05; text-transform: uppercase; }

/* ---------- Le concept ---------- */
.m5-chero { position: relative; isolation: isolate; overflow: hidden; background: #000; color: #fff; }
.m5-chero__in { display: grid; grid-template-columns: 1.05fr 1fr; align-items: end; gap: 20px; min-height: 740px; padding-top: 40px; }
.m5-chero__txt { align-self: center; max-width: 600px; text-shadow: 0 2px 30px rgba(0,0,0,.6); }
.m5-chero__txt .m5-ctas { text-shadow: none; }
.m5-chero__vis { position: relative; align-self: end; height: 700px; cursor: pointer; outline: none; }
.m5-flame { position: absolute; left: 44%; bottom: -10px; width: 820px; height: 820px; transform: translateX(-50%); transform-origin: 50% 100%;
	background: linear-gradient(160deg, #FFB347 0%, #E52421 55%, #B8321A 100%);
	-webkit-mask: var(--flame) center/contain no-repeat; mask: var(--flame) center/contain no-repeat;
	animation: m5-flicker 3.2s ease-in-out infinite; transition: background .5s; }
@keyframes m5-flicker { 0%, 100% { transform: translateX(-50%) scale(1, 1); } 30% { transform: translateX(-50%) scale(1.03, .97); } 60% { transform: translateX(-50%) scale(.98, 1.04); } }
.m5-guy { position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; height: 92%; width: auto; max-width: none; filter: drop-shadow(0 30px 40px rgba(0,0,0,.6)); transition: opacity .45s ease, transform .6s var(--m5-ease); }
.m5-guy--a { -webkit-mask: linear-gradient(90deg, transparent 0, #000 9%, #000 90%, transparent 100%); mask: linear-gradient(90deg, transparent 0, #000 9%, #000 90%, transparent 100%); }
.m5-guy--b { opacity: 0; transform: translateY(30px) scale(.96); }
.m5-chero__vis:hover .m5-guy--a, .m5-chero__vis:focus .m5-guy--a { opacity: 0; transform: translateY(30px) scale(.96); }
.m5-chero__vis:hover .m5-guy--b, .m5-chero__vis:focus .m5-guy--b { opacity: 1; transform: none; }
.m5-chero__vis:hover .m5-flame, .m5-chero__vis:focus .m5-flame { background: linear-gradient(160deg, #F4A9AC 0%, #CC3366 55%, #E52421 100%); }
.m5-chero__hint { position: absolute; right: 6%; top: 18%; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; transform: rotate(8deg); transition: opacity .3s; }
.m5-chero__vis:hover .m5-chero__hint { opacity: 0; }

.m5-pate__g { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.m5-pate__aside { position: sticky; top: 110px; }
.m5-pate__photo { margin-top: 34px; border-radius: 30px; overflow: hidden; aspect-ratio: 4 / 3; }
.m5-pate__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.m5-pate__photo:hover img { transform: scale(1.06); }
.m5-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.m5-step { display: grid; grid-template-columns: 130px 1fr; gap: 24px; align-items: start; padding: 30px; border-radius: 30px; background: #f4f4f4; }
.m5-step > b { font-family: var(--m5-k); font-weight: 400; font-size: 72px; line-height: .85; }
.m5-step h3 { margin: 0; font-family: var(--m5-k); font-size: 36px; text-transform: uppercase; }
.m5-step p { margin: 8px 0 0; font-size: 17px; line-height: 1.55; color: #3a3a3a; }
.m5-step--hot { background: #000; color: #fff; }
.m5-step--hot h3 { color: #fff; }
.m5-step--hot > b { font-size: 58px; }
.m5-step--hot p { color: #d6d6d6; }

.m5-ingr { background: #000; color: #fff; }
.m5-ingr .m5-sub { color: #c9c9c9; max-width: 480px; }
.m5-ingr__g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.m5-ing { margin: 0; border-radius: 30px; background: #000; border: 1px solid #222; overflow: hidden; display: flex; flex-direction: column; }
.m5-ing > img, .m5-ing__sauce { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 24px; transition: transform .5s; display: block; }
.m5-ing:hover > img { transform: scale(1.06) rotate(-3deg); }
.m5-ing__sauce { padding: 40px; }
.m5-ing__sauce img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; transform: scale(1.15); }
.m5-ing figcaption { padding: 4px 24px 26px; }
.m5-ing figcaption b { display: block; font-family: var(--m5-k); font-weight: 400; font-size: 34px; text-transform: uppercase; }
.m5-ing figcaption span { display: block; margin-top: 6px; font-size: 15px; color: #bdbdbd; }

.m5-vibe { padding-bottom: 110px; overflow: hidden; }
.m5-band { background: #000; color: #fff; white-space: nowrap; overflow: hidden; transform: rotate(-2deg); margin: 40px -20px 0; padding: 14px 0; }
.m5-band__t { display: inline-flex; align-items: center; animation: m5-defile 30s linear infinite; }
.m5-band span { font-family: var(--m5-k); font-size: 64px; text-transform: uppercase; padding: 0 28px; line-height: 1; }
.m5-band i { font-style: normal; font-size: 26px; }
.m5-vibe__head { margin-top: 90px; }
.m5-tiles { margin-top: 40px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: end; }
.m5-tile { position: relative; border-radius: 30px; overflow: hidden; height: 440px; display: flex; align-items: flex-end; justify-content: center; transition: transform .4s; }
.m5-tile:hover { transform: translateY(-6px) rotate(-1deg); }
.m5-tile img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
.m5-tile--tall { height: 520px; }
.m5-tile--g { background: var(--m5-vert); }
.m5-tile--k { background: #000; }
.m5-tile--p { background: var(--m5-rose); }
.m5-tile--grad { background: linear-gradient(160deg, #2CAD64 0%, #000 55%, #CC3366 100%); }
.m5-tile--pizza { align-items: center; }
.m5-tile--pizza img { width: 86%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; filter: drop-shadow(0 24px 30px rgba(0,0,0,.5)); animation: m5-spin1 60s linear infinite; }
.m5-tile__lab { position: absolute; left: 16px; top: 16px; padding: 6px 12px; border-radius: 999px; background: #fff; color: #000; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.m5-chef { background: #f4f4f4; }
.m5-chef__g { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.m5-chef__photo { border-radius: 30px; overflow: hidden; aspect-ratio: 4 / 5; }
.m5-chef__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .6s; }
.m5-chef__photo:hover img { filter: none; }

.m5-deliv { display: grid; grid-template-columns: 1fr 1.1fr; gap: 14px; padding: 14px; background: #000; color: #fff; }
.m5-deliv__photo { border-radius: 30px; overflow: hidden; min-height: 560px; }
.m5-deliv__photo img { width: 100%; height: 100%; object-fit: cover; }
.m5-deliv__txt { border-radius: 30px; padding: 60px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(150deg, #1a0a0e 0%, #000 60%); }
.m5-deliv__txt .m5-sub { color: #cfcfcf; }

/* ---------- Infos & contact ---------- */
.m5-places__g { margin-top: 40px; display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px; }
.m5-place { border-radius: 30px; padding: 34px; display: flex; flex-direction: column; color: #fff; }
.m5-place--k { background: #000; }
.m5-place--p { background: var(--m5-rose); }
.m5-place__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.m5-place__tags span { padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.7); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.m5-place h3 { margin: 18px 0 0; font-family: var(--m5-k); font-size: 72px; text-transform: uppercase; color: #fff; }
.m5-place__adr { margin: 8px 0 0; font-size: 18px; line-height: 1.5; }
.m5-hours { list-style: none; margin: 24px 0 0; padding: 0; font-size: 15px; }
.m5-hours li { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid #222; color: #cfcfcf; }
.m5-hours--light li { border-color: rgba(255,255,255,.35); color: #fff; }
.m5-hours li.is-today { font-weight: 900; color: #fff; }
.m5-hours li.is-today span:first-child::after { content: "Aujourd’hui"; margin-left: 10px; padding: 2px 8px; border-radius: 999px; background: #fff; color: #000; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; vertical-align: 2px; }
.m5-place__cta { margin-top: auto; padding-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; }
.m5-halles-note { margin-top: 24px; display: flex; gap: 14px; align-items: flex-start; padding: 20px; border-radius: 22px; background: rgba(255,255,255,.22); }
.m5-halles-note .m5-ico { width: 28px; height: 28px; }
.m5-halles-note p { margin: 0; font-size: 16px; line-height: 1.55; }
.m5-place__hrs { margin: 16px 0 0; font-size: 15px; }

.m5-zones { background: #000; color: #fff; }
.m5-zones .m5-sub { color: #cfcfcf; }
.m5-zones__g { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: center; }
.m5-zone-res { margin-top: 28px; padding: 20px 22px; border-radius: 22px; border: 1px solid #333; display: flex; flex-direction: column; gap: 4px; transition: background .3s, border-color .3s; }
.m5-zone-res b { font-family: var(--m5-k); font-weight: 400; font-size: 34px; text-transform: uppercase; }
.m5-zone-res span { font-size: 15px; color: #d6d6d6; }
.m5-zone-res.is-ok { background: var(--m5-vert); border-color: var(--m5-vert); }
.m5-zone-res.is-ok span { color: #fff; }
.m5-zone-res.is-no { background: #1a1a1a; border-color: var(--m5-rose); }
.m5-arr { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.m5-arr__b { min-height: 86px; border-radius: 20px; border: 1.5px solid #333; background: #0d0d0d; color: #fff; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-family: var(--m5-f); transition: transform .2s, background .2s, border-color .2s; }
.m5-arr__b:hover { transform: translateY(-3px); border-color: #fff; }
.m5-arr__b b { font-family: var(--m5-k); font-weight: 400; font-size: 32px; line-height: 1; }
.m5-arr__b small { font-size: 12px; color: #9a9a9a; }
.m5-arr__b.is-served { border-color: var(--m5-vert); }
.m5-arr__b.is-served small { color: var(--m5-vert); }
.m5-arr__b[aria-pressed="true"].is-served { background: var(--m5-vert); }
.m5-arr__b[aria-pressed="true"].is-out { background: var(--m5-rose); border-color: var(--m5-rose); }
.m5-arr__b[aria-pressed="true"] small { color: #fff; }

.m5-faq__g { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.m5-faq__list { display: flex; flex-direction: column; gap: 10px; }
.m5-faq__list details, .m5-qa-item { border-radius: 22px; background: #f4f4f4; padding: 0 24px; transition: background .25s; }
.m5-faq__list details[open], .m5-qa-item[open] { background: #000; color: #fff; }
.m5-faq__list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 72px; font-family: var(--m5-k); font-size: 28px; text-transform: uppercase; line-height: 1.05; }
.m5-faq__list summary::-webkit-details-marker { display: none; }
.m5-faq__list summary::after { content: "+"; flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid currentColor; display: flex; align-items: center; justify-content: center; font-family: var(--m5-f); font-size: 22px; transition: transform .3s; }
.m5-faq__list details[open] summary::after { transform: rotate(45deg); }
.m5-faq__list details p { margin: 0; padding: 0 0 22px; font-size: 16px; line-height: 1.6; color: #d6d6d6; max-width: 620px; }

.m5-contact { background: #f4f4f4; }
.m5-contact__g { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: start; }
.m5-coords { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.m5-coords small { display: block; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: #777; }
.m5-coords a { font-family: var(--m5-k); font-size: 34px; text-transform: uppercase; line-height: 1.05; color: #000; text-decoration: none; }
.m5-recrute { margin-top: 28px; padding: 22px; border-radius: 22px; background: var(--m5-vert); color: #fff; display: flex; flex-direction: column; gap: 6px; }
.m5-recrute b { font-family: var(--m5-k); font-weight: 400; font-size: 32px; text-transform: uppercase; }
.m5-recrute span { font-size: 15px; line-height: 1.5; }
.m5-form { background: #fff; border-radius: 30px; padding: 30px; }
.m5-hp { position: absolute !important; left: -9999px; }
.m5-subjects { border: 0; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.m5-subj input { position: absolute; opacity: 0; }
.m5-subj span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1.5px solid #ddd; font-weight: 900; font-size: 13px; cursor: pointer; }
.m5-subj input:checked + span { background: #000; border-color: #000; color: #fff; }
.m5-subj input:focus-visible + span { outline: 2px solid #000; outline-offset: 2px; }
.m5-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.m5-field { margin: 0; }
.m5-field--full { grid-column: 1 / -1; }
.m5-field label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.m5-field input, .m5-field textarea { width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 16px; border-radius: 14px; border: 1.5px solid #ddd; background: #fff; font: inherit; font-size: 16px; }
.m5-field input:focus, .m5-field textarea:focus { border-color: #000; outline: none; }
.m5-rgpd { margin: 12px 0 0; font-size: 13px; color: #888; }
.m5-form__go { width: 100%; margin-top: 16px; }
.m5-form__msg { margin: 0 0 16px; padding: 14px 16px; border-radius: 14px; font-weight: 700; }
.m5-form__msg.is-ok { background: #e8f7ef; color: #11633a; }
.m5-form__msg.is-err { background: #fdecef; color: #9b1c3c; }

/* ---------- Pages légales ---------- */
.m5-lghead { background: #fff; border-bottom: 1px solid #eee; }
.m5-lghead .m5-wrap { padding-top: 50px; padding-bottom: 26px; }
.m5-lghead h1 { margin: 14px 0 0; font-family: var(--m5-k); font-size: clamp(52px, 7vw, 96px); text-transform: uppercase; }
.m5-lghead__upd { margin: 8px 0 0; font-size: 14px; color: #777; }
.m5-lgtabs { margin-top: 26px; display: flex; gap: 8px; flex-wrap: wrap; }
.m5-lgtab { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 1px solid #ddd; color: #000; text-decoration: none; font-family: var(--m5-k); font-size: 22px; text-transform: uppercase; }
.m5-lgtab:hover { border-color: #000; }
.m5-lgtab.is-on { background: #000; border-color: #000; color: #fff; }
.m5-lg { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 60px; align-items: start; padding-top: 44px; padding-bottom: 100px; }
.m5-toc { position: sticky; top: 110px; padding: 24px; border-radius: 24px; background: #f4f4f4; }
.m5-toc__t { margin: 0; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: #777; }
.m5-toc ol { margin: 12px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.m5-toc a { color: #000; text-decoration: none; font-size: 15px; line-height: 1.35; }
.m5-toc a:hover { text-decoration: underline; }
.m5-toc__print { margin-top: 18px; padding: 0; border: 0; background: none; font: inherit; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; text-decoration: underline; }
.m5-legal { max-width: 760px; font-size: 17px; line-height: 1.7; color: #333; }
.m5-legal h2 { display: flex; gap: 16px; align-items: baseline; margin: 40px 0 10px; padding-top: 26px; border-top: 1px solid #eee; font-family: var(--m5-k); font-size: 40px; text-transform: uppercase; color: #000; scroll-margin-top: 110px; }
.m5-legal h2:first-child { margin-top: 0; }
.m5-legal__n { font-size: 22px; color: #bbb; min-width: 34px; }
.m5-legal h3 { font-family: var(--m5-f); font-weight: 900; font-size: 18px; text-transform: none; }
@media print { .m5-header, .m5-marq, .m5-footer, .m5-mbar, .m5-toc, .m5-lgtabs { display: none !important; } .m5-lg { display: block; } }

/* ---------- Liens ---------- */
.m5-liens-body { background: #000; }
.m5-lk { position: relative; isolation: isolate; min-height: 100vh; overflow: hidden; color: #fff; }
.m5-lk .m5-bg::before { display: none; }
.m5-lk .m5-blob--1 { width: 420px; height: 420px; left: -30%; top: -8%; }
.m5-lk .m5-blob--2 { width: 520px; height: 520px; right: -40%; top: 30%; }
.m5-lk .m5-blob--3 { width: 520px; height: 520px; left: -20%; bottom: -10%; right: auto; }
.m5-lk__in { position: relative; max-width: 460px; margin: 0 auto; padding: 40px 18px 34px; display: flex; flex-direction: column; gap: 10px; }
.m5-lk__head { text-align: center; margin-bottom: 14px; }
.m5-lk__logo img { height: 66px; }
.m5-lk__tag { margin: 12px 0 0; font-family: var(--m5-k); font-size: 30px; text-transform: uppercase; }
.m5-lk__open { margin: 8px 0 0; display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 13px; }
.m5-lk__open i { width: 8px; height: 8px; border-radius: 50%; background: var(--m5-vert); }
.m5-lk__moment { display: grid; grid-template-columns: 96px 1fr auto; gap: 14px; align-items: center; padding: 12px 18px 12px 12px; border-radius: 26px; color: #fff; text-decoration: none; background: radial-gradient(140% 160% at 0% 50%, var(--b1, #F28C28) 0%, color-mix(in srgb, var(--b2, #E52421) 50%, #000) 45%, #111 80%); }
.m5-lk__pz img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; animation: m5-spin1 40s linear infinite; }
.m5-lk__pz.is-cut img { border-radius: 0; object-fit: contain; }
.m5-lk__mt small { display: block; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; opacity: .8; }
.m5-lk__mt b { display: block; font-family: var(--m5-k); font-weight: 400; font-size: 40px; line-height: 1; text-transform: uppercase; }
.m5-lk__mt span { display: block; font-size: 13px; color: #e8e8e8; }
.m5-lk__btn { display: flex; align-items: center; gap: 14px; min-height: 68px; padding: 12px 20px; border-radius: 22px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; text-decoration: none; transition: background .25s, transform .25s, color .25s; }
.m5-lk__btn:hover { background: #fff; color: #000; transform: translateY(-2px); }
.m5-lk__btn .m5-ico { width: 26px; height: 26px; }
.m5-lk__btn b { display: block; font-weight: 900; font-size: 16px; }
.m5-lk__btn small { display: block; font-size: 13px; opacity: .75; }
.m5-lk__btn--main { background: #fff; color: #000; min-height: 76px; }
.m5-lk__btn--main b { font-family: var(--m5-k); font-weight: 400; font-size: 30px; line-height: 1; text-transform: uppercase; }
.m5-lk__btn--main:hover { background: #000; color: #fff; }
.m5-lk__g { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: #4285F4; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 18px; }
.m5-lk__stars { margin-left: auto; color: var(--m5-rose); font-size: 14px; }
.m5-lk__label { margin: 14px 0 2px 6px; font-size: 11px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; color: #bdbdbd; }
.m5-lk__soc { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.m5-lk__btn--soc { justify-content: center; }
.m5-lk__offers { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.m5-lk__offer { border-radius: 22px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.m5-lk__offer b { font-family: var(--m5-k); font-weight: 400; font-size: 24px; line-height: 1.05; text-transform: uppercase; }
.m5-lk__offer span { font-size: 12px; line-height: 1.4; }
.m5-lk__offer--g { background: var(--m5-vert); }
.m5-lk__offer--p { background: var(--m5-rose); }
.m5-lk__offer--p b { font-size: 44px; }
.m5-lk__legal p { margin: 6px 0 0; font-size: 11px; line-height: 1.5; color: #8a8a8a; text-align: center; }
.m5-lk__foot { text-align: center; font-size: 13px; margin: 8px 0 0; }
.m5-lk__foot a { color: #cfcfcf; }
.m5-liens-body .m5-mbar { display: none !important; }

/* ---------- 404 ---------- */
.m5-404__in { padding-top: 120px; padding-bottom: 140px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.m5-404 .m5-phead__t { max-width: 900px; }
.m5-404 .m5-ctas { justify-content: center; margin-top: 24px; }

/* ---------- Tablette / téléphone ---------- */
@media (max-width: 1100px) {
	.m5-phead__in.has-aside, .m5-zones__g, .m5-faq__g, .m5-contact__g, .m5-pate__g, .m5-chef__g, .m5-deliv, .m5-places__g { grid-template-columns: 1fr; gap: 30px; }
	.m5-chero__in { grid-template-columns: 1fr; min-height: 0; padding-bottom: 0; }
	.m5-chero__vis { height: 520px; }
	.m5-flame { width: 560px; height: 560px; left: 50%; }
	.m5-pate__aside { position: static; }
	.m5-ingr__g, .m5-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.m5-tile, .m5-tile--tall { height: 420px; }
	.m5-lg { grid-template-columns: 1fr; gap: 24px; }
	.m5-toc { position: static; }
}
@media (max-width: 760px) {
	.m5-phead__in { padding-top: 40px; padding-bottom: 36px; }
	.m5-qa { padding: 12px 16px; }
	.m5-qa b { font-size: 24px; }
	.m5-chero__in { padding-top: 28px; gap: 0; }
	.m5-chero__vis { height: 430px; }
	.m5-flame { width: 420px; height: 420px; bottom: 0; }
	.m5-step { grid-template-columns: 1fr; gap: 10px; padding: 24px; }
	.m5-step > b { font-size: 56px; }
	.m5-step h3 { font-size: 30px; }
	.m5-ingr__g { gap: 12px; }
	.m5-ing figcaption { padding: 0 16px 18px; }
	.m5-ing figcaption b { font-size: 26px; }
	.m5-band span { font-size: 44px; padding: 0 18px; }
	.m5-vibe__head { margin-top: 60px; }
	.m5-tiles { gap: 10px; }
	.m5-tile, .m5-tile--tall { height: 260px; border-radius: 22px; }
	.m5-deliv__photo { min-height: 380px; }
	.m5-deliv__txt { padding: 34px 22px; }
	.m5-place { padding: 24px; border-radius: 24px; }
	.m5-place h3 { font-size: 54px; }
	.m5-arr { gap: 8px; }
	.m5-arr__b { min-height: 68px; border-radius: 16px; }
	.m5-arr__b b { font-size: 26px; }
	.m5-arr__b small { font-size: 10px; }
	.m5-zone-res b { font-size: 26px; }
	.m5-faq__list summary { font-size: 22px; min-height: 64px; }
	.m5-form { padding: 20px; border-radius: 24px; }
	.m5-fields { grid-template-columns: 1fr; }
	.m5-coords a { font-size: 28px; }
	.m5-legal h2 { font-size: 30px; gap: 10px; }
}
