:root {
  --black: #0c0c0c;
  --black-soft: #161616;
  --cream: #e8cda0;
  --cream-light: #f5e8d2;
  --red: #d71920;
  --red-dark: #aa1015;
  --green: #159337;
  --white: #fff;
  --muted: #6e6a65;
  --line: #e6ded3;
  --surface: #fffdf9;
  --shadow: 0 20px 60px rgba(0, 0, 0, .18);
  --radius: 20px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #171513; background: var(--surface); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
body.no-scroll { overflow: hidden; }
.demo-banner { position: sticky; top: 0; z-index: 100; padding: 9px 20px; text-align: center; color: #221600; background: #ffd86a; font-size: 13px; font-weight: 800; }
.promotion-banner{position:relative;z-index:4;color:#f5e8d2;background:linear-gradient(105deg,#111 0%,#1c1712 52%,#111 100%);border-top:1px solid rgba(232,205,160,.2);border-bottom:1px solid rgba(232,205,160,.34);box-shadow:0 12px 30px rgba(0,0,0,.14)}
.promotion-banner::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 40%,rgba(232,205,160,.09),transparent 35%),linear-gradient(90deg,transparent,rgba(215,25,32,.08),transparent)}
.promotion-banner-inner{position:relative;width:min(1280px,100%);min-height:82px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:center;gap:34px}
.promotion-banner-copy{display:grid;gap:5px;text-align:right}.promotion-banner-kicker{color:var(--cream);font-size:10px;font-weight:950;letter-spacing:.19em;text-transform:uppercase}.promotion-banner-copy>strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;font-weight:850;line-height:1.38;letter-spacing:.015em;text-wrap:balance}
.promotion-banner-code{min-width:205px;display:grid;grid-template-columns:auto auto;grid-template-areas:'label code' 'hint hint';align-items:center;justify-content:center;column-gap:10px;row-gap:2px;padding:10px 18px;color:#19130d;background:linear-gradient(145deg,#f5e8d2,#e8cda0);border:1px solid rgba(255,255,255,.42);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.23);cursor:pointer;transition:transform .18s ease,filter .18s ease}
.promotion-banner-code:hover{transform:translateY(-1px);filter:brightness(1.04)}.promotion-banner-code:focus-visible{outline:3px solid rgba(232,205,160,.35);outline-offset:3px}.promotion-banner-code>span{grid-area:label;color:#7b6550;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.promotion-banner-code>strong{grid-area:code;color:#9f1117;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:19px;letter-spacing:.08em}.promotion-banner-code>small{grid-area:hint;color:#6c5a48;font-size:9px;font-weight:800}
.site-header { height: 84px; position: sticky; top: 0; z-index: 90; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 0 max(28px, calc((100vw - 1280px)/2)); color: white; background: rgba(11,11,11,.96); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.1); }
.demo-banner:not([hidden]) + .site-header { top: 35px; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; text-decoration: none; }
.brand img { width: 66px; height: 66px; display: block; object-fit: cover; border-radius: 50%; }
.brand strong { display: block; font: 900 22px/1 Georgia, serif; letter-spacing: .04em; text-transform: uppercase; }
.brand small { color: var(--cream); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.site-header nav { display: flex; align-items: center; gap: 26px; font-weight: 700; font-size: 14px; }
.site-header nav a { text-decoration: none; opacity: .9; }
.site-header nav a:hover { opacity: 1; color: var(--cream); }
.phone-link { color: var(--cream) !important; }

.header-social-links { display: inline-flex; align-items: center; gap: 8px; margin-left: -10px; }
.header-social-links > a { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; color: var(--cream); background: rgba(255,255,255,.035); border: 1px solid rgba(232,205,160,.42); border-radius: 50%; opacity: 1 !important; transition: .18s ease; }
.header-social-links > a:hover { color: #111; background: var(--cream); border-color: var(--cream); transform: translateY(-1px); }
.header-social-links > a:focus-visible { outline: 3px solid rgba(232,205,160,.28); outline-offset: 2px; }
.header-social-links svg { width: 17px; height: 17px; fill: currentColor; stroke: none; }
.header-social-links a:first-child svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.header-social-links .header-social-dot { fill: currentColor; stroke: none; }
.cart-pill { justify-self: end; display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; color: white; background: var(--red); border: 0; border-radius: 999px; cursor: pointer; font-weight: 800; }
.cart-pill b { min-width: 24px; height: 24px; display: grid; place-items: center; color: var(--red); background: white; border-radius: 50%; font-size: 12px; }
.hero { min-height: 690px; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); align-items: center; gap: 72px; padding: 70px max(32px, calc((100vw - 1280px)/2)); color: white; background-color: var(--black); background-image: linear-gradient(100deg, rgba(0,0,0,.98) 20%, rgba(0,0,0,.86) 60%, rgba(0,0,0,.72)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.075' stroke-width='2'%3E%3Ccircle cx='40' cy='45' r='24'/%3E%3Ccircle cx='32' cy='39' r='3'/%3E%3Ccircle cx='48' cy='51' r='3'/%3E%3Cpath d='M122 18c15 16 21 35 18 58-22-6-38-18-48-36 8-8 18-15 30-22Z'/%3E%3Cpath d='M92 40c20 3 36 14 48 36'/%3E%3Cpath d='M27 159 82 97l21 92Z'/%3E%3Cpath d='M42 143c18 15 37 22 58 21'/%3E%3Ccircle cx='76' cy='139' r='5'/%3E%3Cpath d='M167 151c13-20 30-29 50-26-1 21-13 37-34 48'/%3E%3Cpath d='M168 150c19 2 35-5 49-25'/%3E%3C/g%3E%3C/svg%3E"); }
.hero-copy, .hero-card { position: relative; z-index: 1; }
.eyebrow { margin: 0 0 13px; color: var(--cream); font-size: 13px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.red { color: var(--red); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 760px; margin-bottom: 22px; font: 900 clamp(46px, 5vw, 76px)/.98 Georgia, serif; letter-spacing: -.035em; }
h1 em { color: var(--cream); font-style: italic; font-weight: 500; }
.hero-text { max-width: 630px; margin-bottom: 30px; color: #d8d3cc; font-size: 19px; line-height: 1.55; }
.service-switch { max-width: 680px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 26px; }
.service-button { display: flex; align-items: center; gap: 14px; padding: 16px 18px; text-align: left; color: white; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 16px; cursor: pointer; transition: .2s ease; }
.service-button:hover, .service-button.active { border-color: var(--cream); background: rgba(232,205,160,.13); transform: translateY(-2px); }
.service-button strong, .service-button small { display: block; }
.service-button small { margin-top: 3px; color: #bdb7af; }
body.delivery-unavailable .service-switch { max-width: 680px; grid-template-columns: repeat(2, minmax(0,1fr)); }
body.delivery-unavailable .service-button[data-fulfilment="delivery"] { opacity: .58; cursor: not-allowed; transform: none; }
body.delivery-unavailable .checkout-switch { grid-template-columns: minmax(0,1fr); }
.delivery-unavailable-note { max-width: 680px; margin: -12px 0 24px; padding: 11px 14px; color: #fff4d1; background: rgba(197,122,5,.2); border: 1px solid rgba(232,205,160,.4); border-radius: 11px; font-size: 13px; font-weight: 800; line-height: 1.45; }
.checkout-delivery-unavailable { margin: -12px 0 22px; padding: 11px 13px; color: #6b4900; background: #fff1c8; border: 1px solid #ead092; border-radius: 10px; font-size: 13px; font-weight: 800; line-height: 1.45; }
.pizza-service-limit-note { max-width: 680px; margin: -12px 0 24px; padding: 12px 14px; color: #fff7e2; background: linear-gradient(135deg,rgba(183,24,31,.82),rgba(103,14,18,.88)); border: 1px solid rgba(255,226,178,.42); border-radius: 11px; font-size: 13px; font-weight: 900; line-height: 1.45; box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.pizza-service-limit-note.is-sold-out { background: linear-gradient(135deg,rgba(105,14,18,.94),rgba(47,8,10,.95)); }
.checkout-pizza-service-limit { margin: -12px 0 22px; padding: 11px 13px; color: #6f171b; background: #fff0e1; border: 1px solid #e8b99d; border-radius: 10px; font-size: 13px; font-weight: 850; line-height: 1.45; }
.checkout-pizza-service-limit.is-sold-out { color: #801319; background: #ffe5e6; border-color: #e7aeb1; }
.service-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: var(--black); background: var(--cream); border-radius: 50%; font-size: 20px; font-weight: 900; }
.primary-cta, .primary-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 0 24px; color: white; background: linear-gradient(135deg, var(--red), #a70c12); border: 0; border-radius: 12px; box-shadow: 0 12px 30px rgba(215,25,32,.25); text-decoration: none; font-weight: 900; cursor: pointer; }
.primary-button:hover, .primary-cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.primary-button:disabled { cursor: wait; opacity: .55; transform: none; }
.primary-button.full { width: 100%; }
.hero-card { justify-self: center; width: min(470px, 100%); padding: 25px; text-align: center; background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035)); border: 1px solid rgba(255,255,255,.17); border-radius: 34px; box-shadow: 0 35px 90px rgba(0,0,0,.45); backdrop-filter: blur(6px); transform: rotate(1.5deg); }
/* Logo fourni par Gastonello : affichage circulaire propre, sans recouvrement ni liseré ajouté. */
.hero-logo-frame {
  width: min(390px, 100%);
  aspect-ratio: 1;
  display: block;
  margin: 0 auto;
  overflow: hidden;
  background: #000;
  border-radius: 50%;
  box-shadow: 0 22px 34px rgba(0,0,0,.48);
}
.hero-logo-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border: 0;
  border-radius: 50%;
  filter: none;
}
.hero-badges { display: flex; justify-content: center; gap: 14px; margin-top: 17px; color: #e7e0d7; font-size: 13px; font-weight: 700; }
.order-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; max-width: 1120px; margin: -36px auto 0; position: relative; z-index: 3; overflow: hidden; background: #ded6cb; border-radius: 18px; box-shadow: var(--shadow); }
.order-strip div { display: flex; align-items: center; gap: 14px; padding: 25px 30px; background: white; font-weight: 800; }
.order-strip b { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; color: white; background: var(--red); border-radius: 50%; }
.menu-section { max-width: 1280px; margin: 0 auto; padding: 105px 32px 80px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 32px; }
h2 { margin-bottom: 0; font: 900 clamp(35px, 4vw, 54px)/1.05 Georgia, serif; letter-spacing: -.025em; }
.ingredient-search { position: relative; width: min(330px, 100%); z-index: 20; }
.search-box { display: flex; align-items: center; gap: 9px; width: 100%; padding: 0 14px; background: white; border: 1px solid var(--line); border-radius: 12px; }
.search-box:focus-within { border-color: var(--red); box-shadow: 0 0 0 3px rgba(177, 30, 32, .12); }
.search-box input { width: 100%; height: 48px; border: 0; outline: 0; background: transparent; }
.ingredient-suggestions { position: absolute; top: calc(100% + 7px); left: 0; right: 0; max-height: 310px; overflow-y: auto; padding: 7px; background: #fffdf8; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 34px rgba(0, 0, 0, .18); }
.ingredient-suggestion { display: flex; align-items: center; width: 100%; min-height: 40px; padding: 9px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.ingredient-suggestion::before { content: '⌕'; margin-right: 9px; color: var(--red); font-weight: 800; }
.ingredient-suggestion:hover, .ingredient-suggestion.active { background: rgba(177, 30, 32, .09); color: var(--red); }
.ingredient-suggestions[hidden] { display: none; }
.category-tabs {
  display: flex;
  gap: 9px;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 1px 6px;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.category-tabs::-webkit-scrollbar { display: none; width: 0; height: 0; }
.category-tab { flex: 0 0 auto; scroll-snap-align: start; padding: 11px 17px; background: white; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-weight: 800; }
.category-tab.active { color: white; background: var(--black); border-color: var(--black); }
.menu-category { margin: 32px 0 58px; scroll-margin-top: 130px; }
.category-title { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.category-title h3 { margin: 0; font: 900 30px/1 Georgia, serif; }
.category-line { height: 4px; width: 64px; border-radius: 999px; background: var(--red); }
.category-line.green { background: var(--green); }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.product-card { min-height: 225px; display: flex; flex-direction: column; padding: 22px; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 30px rgba(45,34,24,.045); transition: .2s ease; overflow: hidden; }
.product-card.has-image { padding-top: 0; }
.product-card-image { height: 180px; margin: 0 -22px 20px; overflow: hidden; background: #eee7dd; }
.product-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.product-card:hover .product-card-image img { transform: scale(1.035); }
.product-card:hover { border-color: #c9b99f; transform: translateY(-3px); box-shadow: 0 15px 40px rgba(45,34,24,.09); }
.product-card.unavailable { opacity: .52; filter: grayscale(.5); }
.product-topline { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.product-card h4 { margin: 0; font-size: 20px; letter-spacing: -.01em; text-transform: uppercase; }
.product-card .price { color: var(--red); font-size: 18px; font-weight: 950; white-space: nowrap; }
.product-card p { flex: 1; margin: 12px 0 20px; color: var(--muted); line-height: 1.5; }
.product-card footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0; background: none; border: 0; color: inherit; }
.tags { display: flex; gap: 6px; flex-wrap: wrap; }
.tag { padding: 5px 8px; color: #5a5148; background: #f3eee7; border-radius: 999px; font-size: 11px; font-weight: 800; }
.tag-tone-cream { color: #5a5148; background: #f3eee7; }
.tag-tone-red { color: #8d1118; background: #ffe1e3; }
.tag-tone-green { color: #115e31; background: #dff4e5; }
.tag-tone-gold { color: #6f4b00; background: #ffedbd; }
.tag-tone-black { color: #fff; background: #1a1a1a; }
.tag-tone-blue { color: #174d82; background: #dcecff; }
.tag-tone-purple { color: #63327d; background: #eee0f5; }
.tag-tone-pink { color: #8a3156; background: #f9dfeb; }
.tag-tone-orange { color: #7d3b00; background: #ffe3c2; }
.tag-tone-turquoise { color: #075f61; background: #d8f2f0; }
.tag-tone-brown { color: #5d3927; background: #eadfd6; }
.tag-tone-gray { color: #4f555b; background: #e7eaed; }
.add-button { width: 42px; height: 42px; flex: 0 0 auto; color: white; background: var(--black); border: 0; border-radius: 50%; cursor: pointer; font-size: 24px; line-height: 1; }
.add-button:hover { background: var(--red); }
.loading-card { padding: 40px; text-align: center; color: var(--muted); background: white; border: 1px solid var(--line); border-radius: 18px; }
.values-section { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1280px; margin: 0 auto; padding: 15px 32px 100px; gap: 18px; }
.values-section article { padding: 30px; background: #f1e6d4; border-radius: 20px; }
.values-section article:nth-child(2) { color: white; background: var(--black); }
.values-section article:nth-child(3) { background: #f2dedf; }
.values-section article > span { font-size: 34px; }
.values-section h3 { margin: 17px 0 9px; font-size: 21px; }
.values-section p { margin: 0; color: inherit; opacity: .75; line-height: 1.55; }
.info-section { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 50px; max-width: 1280px; margin: 0 auto 100px; padding: 60px; color: white; background: var(--black); border-radius: 30px; overflow: hidden; }
.info-section > * { min-width: 0; }
.info-section p { max-width: 650px; color: #c8c1b9; font-size: 17px; line-height: 1.6; }
.text-link { color: var(--cream); font-weight: 900; }
.info-card { padding: 28px; color: var(--black); background: var(--cream); border-radius: 20px; }
.info-card h3 { margin-bottom: 7px; }
.info-card p { color: #514332; font-size: 15px; }
/* V5.13.1.38 — réseaux sociaux sur la page d’accueil */
.social-section {
  max-width: 1280px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
  align-items: center;
  gap: 44px;
  margin: 0 auto 100px;
  padding: 48px 52px;
  color: #fff;
  background: linear-gradient(135deg, #161616, #090909);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}
.social-section .eyebrow { margin-bottom: 10px; }
.social-section h2 { max-width: 720px; margin-bottom: 15px; }
.social-section-copy > p:last-child { max-width: 690px; margin: 0; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.6; }
.social-links { display: grid; gap: 12px; }
.social-card {
  min-height: 86px;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 16px 18px;
  color: #fff;
  background: rgba(255,255,255,.065);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 17px;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.social-card:hover { transform: translateY(-2px); border-color: var(--cream); background: rgba(232,205,160,.11); }
.social-card:focus-visible { outline: 3px solid rgba(232,205,160,.35); outline-offset: 3px; }
.social-icon { width: 52px; height: 52px; display: grid; place-items: center; color: #111; background: var(--cream); border-radius: 15px; }
.social-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-icon .social-icon-dot { fill: currentColor; stroke: none; }
.social-icon-facebook svg { fill: currentColor; stroke: none; }
.social-icon-tiktok svg { fill: currentColor; stroke: none; }
.social-card-copy { min-width: 0; display: grid; gap: 3px; }
.social-card-copy small { color: rgba(255,255,255,.62); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.social-card-copy strong { overflow: hidden; text-overflow: ellipsis; font-size: 17px; white-space: nowrap; }
.social-card-arrow { color: var(--cream); font-size: 24px; line-height: 1; }
@media (max-width: 1020px) {
  .social-section { grid-template-columns: 1fr; margin-inline: 20px; }
}
@media (max-width: 680px) {
  .social-section { margin: 0 14px 70px; padding: 32px 22px; border-radius: 22px; }
  .social-section h2 { font-size: 35px; }
  .social-card { min-height: 78px; grid-template-columns: 46px minmax(0,1fr) auto; padding: 14px; }
  .social-icon { width: 46px; height: 46px; border-radius: 13px; }
  .social-icon svg { width: 24px; height: 24px; }
}

/* V5.13.1.45 — footer Gastonello harmonisé */
.site-footer {
  padding: 0 max(32px, calc((100vw - 1280px)/2));
  color: rgba(255,255,255,.72);
  background: linear-gradient(180deg, #101010 0%, #080808 100%);
  border-top: 1px solid rgba(232,205,160,.18);
  font-size: 13px;
}
.footer-shell {
  display: grid;
  grid-template-columns: minmax(260px, 1.15fr) minmax(280px, 1fr) minmax(190px, .65fr);
  gap: clamp(38px, 6vw, 88px);
  padding: 52px 0 42px;
}
.footer-identity { display: grid; align-content: start; justify-items: start; gap: 14px; }
.footer-brand { display: inline-flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; }
.footer-brand img { width: 52px; height: 52px; display: block; border-radius: 50%; }
.footer-brand span { display: grid; gap: 4px; }
.footer-brand strong { font: 900 20px/1 Georgia, serif; letter-spacing: .05em; text-transform: uppercase; }
.footer-brand small { color: var(--cream); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.footer-identity p { margin: 0; color: rgba(255,255,255,.58); line-height: 1.6; }
.footer-phone { color: var(--cream); font-size: 15px; font-weight: 900; text-decoration: none; }
.footer-phone:hover { color: #fff; }
.footer-column { display: grid; align-content: start; justify-items: start; gap: 11px; }
.footer-title { margin-bottom: 5px; color: #fff; font-size: 11px; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }
.footer-column a { color: rgba(255,255,255,.68); text-decoration: none; line-height: 1.4; transition: color .18s ease, transform .18s ease; }
.footer-column a:hover { color: var(--cream); transform: translateX(2px); }
.footer-menu-link { display: inline-flex; align-items: center; gap: 7px; color: var(--cream) !important; font-weight: 850; }
.footer-menu-link span { font-size: 14px; }
.footer-admin-link { margin-top: 12px; padding-top: 14px; color: rgba(255,255,255,.42) !important; border-top: 1px solid rgba(255,255,255,.09); font-size: 11px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding: 18px 0 24px; color: rgba(255,255,255,.38); border-top: 1px solid rgba(255,255,255,.08); font-size: 11px; }
@media (max-width: 900px) {
  .footer-shell { grid-template-columns: 1fr 1fr; }
  .footer-identity { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .site-footer { padding-inline: 20px; }
  .footer-shell { grid-template-columns: 1fr; gap: 34px; padding: 42px 0 34px; }
  .footer-identity { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 7px; }
}
.floating-cart { position: fixed; z-index: 80; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); width: min(560px, calc(100% - 28px)); min-height: 62px; display: none; justify-content: space-between; align-items: center; gap: 18px; padding: 10px 18px; color: white; background: var(--red); border: 0; border-radius: 16px; box-shadow: 0 20px 50px rgba(130,0,0,.35); cursor: pointer; transform: translateX(-50%); }
.floating-cart.visible { display: flex; }
.floating-cart span { font-size: 13px; opacity: .88; }
.floating-cart b { display: inline-grid; width: 24px; height: 24px; place-items: center; margin-right: 4px; color: var(--red); background: white; border-radius: 50%; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 110; background: rgba(0,0,0,.58); backdrop-filter: blur(3px); }
.cart-drawer { position: fixed; z-index: 120; top: 0; right: 0; width: min(475px, 100%); height: 100dvh; display: flex; flex-direction: column; padding: 25px; background: var(--surface); box-shadow: -25px 0 70px rgba(0,0,0,.25); transform: translateX(105%); transition: transform .28s ease; }
.cart-drawer.open { transform: translateX(0); }
.drawer-header { display: flex; justify-content: space-between; align-items: start; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.drawer-header h2 { font-size: 38px; }
.icon-button { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; color: var(--black); background: #eee7dd; border: 0; border-radius: 50%; cursor: pointer; font-size: 28px; line-height: 1; }
.cart-lines { flex: 1; overflow-y: auto; padding: 14px 0; }
.cart-line { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.cart-line h4 { margin: 0 0 5px; font-size: 16px; text-transform: uppercase; }
.cart-line p { margin: 0 0 5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.cart-line strong { color: var(--red); }
.line-actions { display: flex; justify-content: flex-end; align-items: center; gap: 7px; margin-top: 9px; }
.line-actions button { width: 30px; height: 30px; border: 1px solid var(--line); background: white; border-radius: 50%; cursor: pointer; }
.line-actions .remove-line { width: auto; padding: 0 7px; color: var(--muted); border: 0; background: transparent; font-size: 12px; text-decoration: underline; }
.empty-cart { flex: 1; display: grid; place-content: center; text-align: center; color: var(--muted); }
.empty-cart span { font-size: 54px; }
.empty-cart h3 { margin: 10px 0 5px; color: var(--black); }
.drawer-footer { padding-top: 20px; border-top: 1px solid var(--line); }
.subtotal-row { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 19px; }
.delivery-note { color: var(--muted); font-size: 12px; }
dialog { padding: 0; border: 0; border-radius: 24px; box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(0,0,0,.65); backdrop-filter: blur(4px); }
.promo-dialog { width: min(760px, calc(100% - 24px)); max-height: 92dvh; overflow: auto; background: var(--surface); }
.promo-dialog-shell { position: relative; display: grid; grid-template-columns: minmax(250px, .9fr) minmax(300px, 1.1fr); min-height: 430px; }
.promo-dialog-image { min-height: 430px; overflow: hidden; background: #eee7dd; }
.promo-dialog-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.promo-dialog-content { display: flex; flex-direction: column; justify-content: center; padding: 48px 42px; }
.promo-dialog-content h2 { margin-bottom: 18px; font-size: clamp(34px, 5vw, 52px); }
.promo-dialog-content > p:not(.eyebrow) { margin-bottom: 26px; color: var(--muted); font-size: 17px; line-height: 1.6; white-space: pre-line; }
.promo-dialog-content .primary-button { align-self: flex-start; }
.promo-close { position: absolute; z-index: 2; top: 16px; right: 16px; }
.promo-dialog-image[hidden] + .promo-dialog-content { grid-column: 1 / -1; min-height: 390px; text-align: center; align-items: center; }
.promo-dialog-image[hidden] + .promo-dialog-content .primary-button { align-self: center; }
.product-dialog { width: min(640px, calc(100% - 24px)); max-height: 92dvh; overflow: auto; }
.product-dialog form, .checkout-dialog form { position: relative; padding: 35px; }
.dialog-close { position: absolute; top: 18px; right: 18px; }
.product-dialog-image { height: 260px; margin: 0 0 24px; overflow: hidden; background: #eee7dd; border-radius: 16px; }
.product-dialog-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.product-dialog h2 { padding-right: 45px; font-size: 42px; text-transform: uppercase; }
.product-dialog-description { margin: 15px 0; color: var(--muted); font-size: 17px; line-height: 1.55; }
.product-price { margin-bottom: 25px; color: var(--red); font-size: 25px; font-weight: 950; }
fieldset { margin: 0 0 22px; padding: 0; border: 0; }
legend, .field-label { display: block; margin-bottom: 9px; color: #37322d; font-size: 13px; font-weight: 850; }
.supplement-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-height: 250px; overflow-y: auto; }
.supplement-choice { display: flex; align-items: center; gap: 9px; padding: 11px; background: #f6f1ea; border: 1px solid transparent; border-radius: 10px; cursor: pointer; }
.supplement-choice:has(input:checked) { border-color: var(--red); background: #fff1f1; }
.supplement-choice span { margin-left: auto; color: var(--red); font-size: 12px; font-weight: 900; }
textarea, input, select { width: 100%; color: #191613; background: white; border: 1px solid #d8cfc3; border-radius: 10px; outline: 0; }
textarea { padding: 12px; resize: vertical; }
input, select { height: 47px; padding: 0 12px; }
textarea:focus, input:focus, select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(215,25,32,.1); }
.quantity-row { display: flex; justify-content: space-between; align-items: center; margin: 24px 0; font-weight: 850; }
.quantity-control { display: flex; align-items: center; gap: 12px; }
.quantity-control button { width: 38px; height: 38px; border: 1px solid var(--line); background: white; border-radius: 50%; cursor: pointer; font-size: 20px; }
.quantity-control output { min-width: 25px; text-align: center; font-weight: 900; }
.checkout-dialog { width: min(760px, calc(100% - 20px)); max-height: 94dvh; overflow: auto; }
.checkout-dialog h2 { padding-right: 45px; font-size: 40px; }
.checkout-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 24px 0; padding: 5px; background: #eee7dd; border-radius: 12px; }
.checkout-switch button { min-height: 46px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; font-weight: 850; }
.checkout-switch button.active { color: white; background: var(--black); }
.checkout-block { margin: 22px 0; padding: 22px; background: #f7f2eb; border-radius: 16px; }
.checkout-block h3 { margin-bottom: 17px; font-size: 18px; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.promotion-code-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.promotion-code-entry>.field-label{margin-bottom:0}.promotion-code-actions{min-height:47px;display:flex;align-items:stretch;gap:8px}.promotion-code-actions .secondary-button{min-height:47px;white-space:nowrap}
.field-label { margin-bottom: 12px; }
.field-label input, .field-label select, .field-label textarea { margin-top: 7px; font-weight: 500; }
.field-help { margin: 0; color: var(--muted); font-size: 12px; }
.secondary-button { min-height: 45px; padding: 0 17px; color: var(--black); background: var(--cream); border: 0; border-radius: 10px; cursor: pointer; font-weight: 900; }
.quote-result { margin-top: 13px; padding: 14px; color: #164421; background: #e5f6e9; border-radius: 10px; line-height: 1.45; }
.legal-confirmations { display: grid; gap: 10px; padding: 0; background: none; font-size: 13px; }
.legal-confirmations label { display: flex; align-items: start; gap: 9px; }
.legal-confirmations input { width: 17px; height: 17px; margin: 2px 0 0; flex: 0 0 auto; }
.checkout-summary { display: grid; gap: 9px; padding: 18px 0; border-top: 1px solid var(--line); }
.checkout-summary > div { display: flex; justify-content: space-between; }
/* V5.13.1.68 — les lignes de livraison restent absentes du récapitulatif en retrait. */
.checkout-summary > div[hidden] { display: none !important; }
.checkout-total { padding-top: 10px; border-top: 1px solid var(--line); font-size: 23px; }
.checkout-total strong { color: var(--red); }
.form-error { margin-bottom: 12px; padding: 13px; color: #851018; background: #ffe7e8; border-radius: 10px; font-size: 14px; }
.secure-payment { margin: 10px 0 0; text-align: center; color: var(--muted); font-size: 11px; }
.toast { position: fixed; z-index: 200; left: 50%; bottom: 95px; max-width: calc(100% - 30px); padding: 13px 18px; color: white; background: var(--black); border-radius: 10px; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 15px); transition: .2s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 1020px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .hero { grid-template-columns: 1fr; gap: 45px; padding-top: 55px; }
  .hero-card { width: min(500px, 90%); }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .info-section { margin-inline: 20px; }
  footer { flex-wrap: wrap; }
}
@media (max-width: 680px) {
  .demo-banner { font-size: 11px; }
  .promotion-banner-inner{min-height:0;padding:13px 18px;flex-direction:column;gap:10px}.promotion-banner-copy{text-align:center}.promotion-banner-copy>strong{font-size:16px}.promotion-banner-code{width:min(290px,100%);min-width:0}.promotion-code-entry{grid-template-columns:1fr}.promotion-code-actions{width:100%;min-height:0}.promotion-code-actions .secondary-button{flex:1}
  .site-header { height: 69px; padding: 0 14px; }
  .demo-banner:not([hidden]) + .site-header { top: 30px; }
  .brand img { width: 54px; height: 54px; }
  .brand strong { font-size: 17px; }
  .brand small { font-size: 9px; }
  .cart-pill span { display: none; }
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 38px; padding: 50px 18px 80px; }
  h1 { font-size: 44px; }
  .hero-text { font-size: 16px; }
  .service-switch, body.delivery-unavailable .service-switch { max-width: 100%; grid-template-columns: 1fr; }
  .hero-card { width: 100%; padding: 16px; border-radius: 25px; }
  .hero-logo-frame { width: 310px; }
  .hero-badges { flex-wrap: wrap; }
  .order-strip { grid-template-columns: 1fr; margin: -35px 14px 0; }
  .order-strip div { padding: 16px 20px; }
  .menu-section { padding: 75px 14px 65px; }
  .section-heading { align-items: stretch; flex-direction: column; }
  .ingredient-search, .search-box { width: 100%; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 205px; }
  .values-section { grid-template-columns: 1fr; padding: 0 14px 70px; }
  .info-section { grid-template-columns: 1fr; gap: 30px; margin: 0 14px 80px; padding: 32px 22px; border-radius: 22px; }
  footer { padding: 30px 18px 105px; flex-direction: column; align-items: flex-start; }
  .footer-links { flex-direction: column; }
  .floating-cart.visible { display: flex; }
  .cart-drawer { padding: 20px 16px; }
  .product-dialog form, .checkout-dialog form { padding: 27px 18px; }
  .promo-dialog-shell { grid-template-columns: 1fr; }
  .promo-dialog-image { min-height: 240px; height: 240px; }
  .promo-dialog-content { padding: 34px 22px 30px; }
  .promo-dialog-content h2 { font-size: 34px; }
  .product-dialog h2, .checkout-dialog h2 { font-size: 32px; }
  .supplement-choices, .two-columns { grid-template-columns: 1fr; }
  .checkout-block { padding: 17px 14px; }
}


/* Horaires configurables — présentation V5.3 */
.hero-hours {
  display: grid;
  gap: 13px;
  margin-top: 20px;
  padding: 18px 20px 17px;
  color: var(--black);
  text-align: left;
  background: linear-gradient(145deg, #f3dfbb, var(--cream));
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
.hero-hours-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.hero-hours-head > div { min-width: 0; }
.hero-hours-eyebrow { display: block; margin-bottom: 3px; color: rgba(19,16,12,.62); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.hero-hours-head strong { display: block; font: 900 23px/1.05 Georgia, serif; }
.hero-hours-status { flex: 0 0 auto; padding: 6px 10px; color: #0e5827; background: rgba(21,147,55,.14); border: 1px solid rgba(21,147,55,.25); border-radius: 999px; font-size: 11px; font-weight: 900; }
.hero-hours-status.closed { color: #8f1117; background: rgba(215,25,32,.11); border-color: rgba(215,25,32,.22); }
.hero-hours-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.hero-hours-service { display: grid; gap: 4px; min-width: 0; padding: 11px 12px; background: rgba(255,255,255,.52); border: 1px solid rgba(67,45,18,.11); border-radius: 11px; }
.hero-hours-service > span { color: rgba(19,16,12,.62); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.hero-hours-service strong { white-space: nowrap; font-size: 16px; line-height: 1.2; }
.hero-hours-service i { color: rgba(19,16,12,.45); font-style: normal; font-weight: 600; }
.hero-hours-closed { padding: 13px; text-align: center; background: rgba(255,255,255,.45); border: 1px solid rgba(67,45,18,.1); border-radius: 11px; font-weight: 900; }
.hero-hours-note { display: block; color: rgba(16,16,16,.62); font-size: 11px; font-weight: 750; line-height: 1.35; }

.weekly-hours-list { display: grid; gap: 9px; margin-top: 22px; }
.weekly-hours-row { display: grid; grid-template-columns: 125px 1fr; gap: 15px; align-items: center; padding: 12px 13px; border: 1px solid rgba(232,205,160,.17); border-radius: 12px; background: rgba(255,255,255,.045); }
.weekly-hours-row.today { border-color: rgba(232,205,160,.62); background: rgba(232,205,160,.10); box-shadow: inset 3px 0 0 var(--cream); }
.weekly-day { display: grid; gap: 3px; }
.weekly-day > strong { color: #fff; font-size: 14px; }
.weekly-day > small { color: var(--cream); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.weekly-periods { display: flex; gap: 8px; flex-wrap: wrap; }
.weekly-period { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 7px 10px; color: #fff; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.08); border-radius: 9px; }
.weekly-period b { color: var(--cream); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.weekly-period strong { color: rgba(255,255,255,.9); font-size: 12px; white-space: nowrap; }
.weekly-period.closed-day { color: rgba(255,255,255,.5); background: rgba(255,255,255,.025); }
.weekly-period.closed-day b { color: rgba(255,255,255,.45); }

@media (max-width: 680px) {
  .hero-hours { padding: 16px; }
  .hero-hours-head strong { font-size: 22px; }
  .hero-hours-services { grid-template-columns: 1fr; }
  .hero-hours-service { grid-template-columns: 54px 1fr; align-items: center; gap: 10px; }
  .hero-hours-service > span { margin: 0; }
  .hero-hours-service strong { text-align: right; font-size: 17px; }
  .weekly-hours-row { grid-template-columns: 1fr; gap: 10px; padding: 13px; }
  .weekly-day { display: flex; align-items: center; justify-content: space-between; }
  .weekly-periods { display: grid; grid-template-columns: 1fr; }
  .weekly-period { justify-content: space-between; }
}
@media (max-width: 390px) {
  .hero-hours-head { align-items: flex-start; }
  .hero-hours-status { max-width: 120px; white-space: normal; text-align: center; }
  .hero-hours-service strong { font-size: 15px; }
}

/* V5.7 — cadre Livraison strict : aucune extension horizontale ou verticale */
.delivery-info-card {
  position: relative;
  align-self: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 580px;
  min-height: 580px;
  max-height: 580px;
  overflow: hidden;
  isolation: isolate;
}
.delivery-info-card > h3,
.delivery-info-card > p {
  position: relative;
  z-index: 2;
}
.delivery-italy-art {
  position: absolute;
  z-index: 1;
  left: 28px;
  right: 28px;
  bottom: 22px;
  width: auto;
  height: 340px;
  max-width: calc(100% - 56px);
  max-height: 340px;
  margin: 0;
  overflow: hidden;
  background: #ead1a5;
  border: 1px solid rgba(81,67,50,.08);
  border-radius: 14px;
}
.delivery-italy-art::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 22px;
  pointer-events: none;
  background: linear-gradient(to bottom, #ead1a5, rgba(234,209,165,0));
}
.delivery-italy-art img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
  object-position: center center;
}
@media (max-width: 680px) {
  .delivery-info-card {
    height: 540px;
    min-height: 540px;
    max-height: 540px;
  }
  .delivery-italy-art {
    left: 18px;
    right: 18px;
    bottom: 18px;
    height: 300px;
    max-width: calc(100% - 36px);
    max-height: 300px;
  }
}

/* V5.8 — illustration italienne fondue dans le fond du cadre, sans contour visible */
.delivery-italy-art {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
.delivery-italy-art::before,
.delivery-italy-art::after {
  content: none;
  display: none;
}
.delivery-italy-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center bottom;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

/* V5.10 — accès direct à l’itinéraire Google Maps */
.location-actions {
  display: grid;
  justify-items: start;
  gap: 16px;
  margin-top: 22px;
}
.maps-route-button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  width: min(100%, 470px);
  padding: 14px 16px;
  color: var(--black);
  text-decoration: none;
  background: var(--cream);
  border: 1px solid rgba(232,205,160,.68);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.maps-route-button:hover {
  transform: translateY(-2px);
  background: #f0d8ad;
  box-shadow: 0 14px 34px rgba(0,0,0,.27);
}
.maps-route-button:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 3px;
}
.maps-route-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--cream);
  background: var(--red);
  border-radius: 50%;
}
.maps-route-icon svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}
.maps-route-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.maps-route-copy strong {
  font-size: 16px;
  line-height: 1.2;
}
.maps-route-copy small {
  color: #65533d;
  font-size: 13px;
  line-height: 1.35;
}
.maps-route-arrow {
  color: var(--red);
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
}
@media (max-width: 520px) {
  .maps-route-button {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 11px;
    width: 100%;
    padding: 13px;
  }
  .maps-route-icon {
    width: 40px;
    height: 40px;
  }
  .maps-route-copy strong { font-size: 15px; }
  .maps-route-copy small { font-size: 12px; }
}


/* V5.11 — accès GPS précis également placé à côté de « Voir la carte » */
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
}
.hero-route-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 22px;
  color: var(--cream);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(232,205,160,.65);
  border-radius: 12px;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.hero-route-cta:hover {
  color: white;
  background: rgba(232,205,160,.14);
  border-color: var(--cream);
  transform: translateY(-1px);
}
.hero-route-cta:focus-visible {
  outline: 3px solid var(--cream);
  outline-offset: 3px;
}
.hero-route-icon {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
  color: var(--red);
}
.hero-route-icon svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}
@media (max-width: 520px) {
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .hero-actions .primary-cta,
  .hero-route-cta {
    width: 100%;
    min-width: 0;
    padding-inline: 14px;
  }
}
@media (max-width: 360px) {
  .hero-actions { grid-template-columns: 1fr; }
}

/* V5.13.1.9 — saisie structurée et fiable de l’adresse de livraison */
.address-street-grid{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1.65fr);gap:14px}
@media(max-width:640px){.address-street-grid{grid-template-columns:1fr}}


/* V5.13.1.13 — fidélité */
.nav-loyalty-link{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:0}
.nav-loyalty-link:hover{color:var(--red)}
.loyalty-dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:24px;padding:0;box-shadow:var(--shadow)}
.loyalty-dialog::backdrop,.admin-loyalty-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.loyalty-dialog form{position:relative;padding:32px;background:var(--surface)}
.loyalty-dialog h2{margin:0 0 10px}.loyalty-dialog p{color:var(--muted);line-height:1.55}
/* V5.13.1.14 — fidélité plus compacte et harmonisée */
.loyalty-checkout-block{padding:18px;border:1px solid rgba(67,45,18,.10);background:#f7f2eb}
.loyalty-checkout-block h3{margin-bottom:7px}
.loyalty-checkout-block .field-help{max-width:62ch;line-height:1.45}
.loyalty-checkout-block > .secondary-button{min-height:39px;margin-top:12px;padding:0 13px;border:1px solid rgba(67,45,18,.10);font-size:12px}
.loyalty-result{display:grid;gap:4px;margin-top:12px;padding:12px 13px;border:1px solid rgba(28,28,28,.11);border-radius:10px;background:#fff}
.loyalty-result strong{font-size:1rem}.loyalty-result span{color:var(--muted);font-size:12px;line-height:1.4}
.loyalty-result .loyalty-error{color:#a00;font-weight:800}
.loyalty-code-step{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(215,25,32,.18);border-radius:12px;background:#fff8f8}
.loyalty-code-message{margin:0!important;color:var(--muted);font-size:12px;line-height:1.45}
.loyalty-code-step .field-label{margin:0}.loyalty-code-step input{letter-spacing:.16em;font-weight:900}
.loyalty-resend-button{justify-self:center;border:0;background:transparent;color:var(--red);font-size:12px;font-weight:900;cursor:pointer;text-decoration:underline}
.loyalty-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.loyalty-code-row .secondary-button{min-height:43px;margin:0;padding:0 16px}
@media(max-width:560px){.loyalty-code-row{grid-template-columns:1fr}.loyalty-code-row .secondary-button{width:100%}}
.loyalty-reward-choice{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid rgba(28,28,28,.14);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.loyalty-reward-choice:hover{border-color:rgba(215,25,32,.35)}
.loyalty-reward-choice:has(input:checked){border-color:rgba(215,25,32,.45);background:#fff5f5;box-shadow:inset 3px 0 0 var(--red)}
.loyalty-reward-choice input[type="checkbox"]{appearance:auto;width:18px;height:18px;min-width:18px;margin:0;padding:0;border:0;border-radius:4px;box-shadow:none;accent-color:var(--red)}
.loyalty-reward-choice input[type="checkbox"]:focus{box-shadow:none;outline:2px solid rgba(215,25,32,.22);outline-offset:2px}
.loyalty-reward-copy{display:grid;gap:2px;min-width:0;line-height:1.25}
.loyalty-reward-copy strong{font-size:13px;font-weight:900}
.loyalty-reward-copy small{color:var(--muted);font-size:11px;font-weight:650}
#loyaltyDiscountRow strong{color:var(--green)}
.admin-loyalty-dialog{width:min(920px,calc(100% - 24px));max-height:90dvh;border:0;border-radius:24px;padding:0;box-shadow:var(--shadow)}
.admin-loyalty-shell{position:relative;padding:28px;background:var(--surface);overflow:auto;max-height:90dvh}
.admin-loyalty-shell h2{margin-top:0}.loyalty-detail-button{white-space:nowrap;padding:8px 10px}
.loyalty-history-table .loyalty-points-cell{font-weight:900}.loyalty-history-table .positive{color:var(--green)}.loyalty-history-table .negative{color:var(--red)}
@media(max-width:760px){.site-header nav .nav-loyalty-link{display:none}.loyalty-dialog form{padding:26px 20px}.admin-loyalty-shell{padding:24px 16px}}



/* V5.13.1.15 — page Avis clients Google */
.reviews-page{background:var(--black)}
.reviews-header{position:relative}
.reviews-main{min-height:calc(100vh - 84px);background:var(--black)}
.reviews-hero{
  min-height:calc(100vh - 84px - 108px);
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  gap:42px;
  align-items:center;
  padding:82px max(5vw,24px);
  color:#fff;
  background-color:var(--black);
  background-image:linear-gradient(100deg,rgba(0,0,0,.98) 20%,rgba(0,0,0,.86) 60%,rgba(0,0,0,.72)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.075' stroke-width='2'%3E%3Ccircle cx='40' cy='45' r='24'/%3E%3Ccircle cx='32' cy='39' r='3'/%3E%3Ccircle cx='48' cy='51' r='3'/%3E%3Cpath d='M122 18c15 16 21 35 18 58-22-6-38-18-48-36 8-8 18-15 30-22Z'/%3E%3Cpath d='M92 40c20 3 36 14 48 36'/%3E%3Cpath d='M27 159 82 97l21 92Z'/%3E%3Cpath d='M42 143c18 15 37 22 58 21'/%3E%3Ccircle cx='76' cy='139' r='5'/%3E%3Cpath d='M167 151c13-20 30-29 50-26-1 21-13 37-34 48'/%3E%3Cpath d='M168 150c19 2 35-5 49-25'/%3E%3C/g%3E%3C/svg%3E");
}
.reviews-hero h1{margin:8px 0 18px;font-size:clamp(42px,6vw,76px);line-height:.98}
.reviews-hero h1 em{color:var(--cream);font-family:Georgia,serif;font-weight:500}
.reviews-hero>div>p:last-child{max-width:680px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.6}
.reviews-summary{display:grid;justify-items:center;gap:5px;padding:28px 24px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.reviews-google-label{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.reviews-summary-rating{font-size:56px;line-height:1}
.reviews-summary small{color:rgba(255,255,255,.7);text-align:center}
.review-stars{color:#e0a321;letter-spacing:.12em;font-size:17px}
.reviews-summary-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:11px;padding:0 20px;color:#fff;background:var(--red);border:1px solid var(--red);border-radius:10px;text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.02em;box-shadow:0 8px 20px rgba(215,25,32,.24);transition:filter .18s ease,transform .18s ease}
.reviews-summary-link:hover{filter:brightness(1.08);transform:translateY(-1px)}
@media(max-width:900px){.reviews-hero{min-height:auto;grid-template-columns:1fr}.reviews-summary{justify-self:start;width:min(100%,360px)}}
@media(max-width:620px){.reviews-hero{padding:56px 20px}.reviews-header nav a:not(.phone-link){display:none}}



/* V5.13.1.25 — progression fidélité et frais Uber transparents */
.loyalty-progress-copy{display:grid;gap:4px}
.loyalty-progress-copy strong{font-size:1rem}
.loyalty-progress-copy span{color:var(--muted);font-size:12px;line-height:1.45}
.loyalty-progress{height:10px;margin-top:7px;overflow:hidden;border-radius:999px;background:#ece4d9;box-shadow:inset 0 0 0 1px rgba(67,45,18,.08)}
.loyalty-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#ef5a48);transition:width .35s ease}
.delivery-fee-breakdown{display:grid;gap:7px;color:var(--black)}
.delivery-fee-breakdown>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.delivery-fee-breakdown span{font-size:13px;font-weight:750}
.delivery-fee-breakdown strong{white-space:nowrap;font-size:14px}
.delivery-fee-breakdown>div:nth-child(2) strong{color:var(--green)}
.delivery-fee-breakdown .delivery-fee-billed{margin-top:2px;padding-top:8px;border-top:1px solid rgba(22,68,33,.18)}
.delivery-fee-breakdown .delivery-fee-billed strong{color:var(--red);font-size:16px}
.delivery-quote-context{margin:10px 0 0;color:#285c33;font-size:12px;line-height:1.45}
#uberFullFeeRow{color:var(--muted)}
#merchantSubsidyRow strong{color:var(--green)}
#deliveryFeeRow{margin-top:2px;padding-top:8px;border-top:1px dashed var(--line);font-weight:900}
#deliveryFeeRow strong{color:var(--red)}
@media(max-width:480px){.delivery-fee-breakdown>div{gap:10px}.delivery-fee-breakdown span{font-size:12px}}

@media (max-width: 1120px) {
  .site-header nav { gap: 17px; }
  .header-social-links { gap: 6px; margin-left: -5px; }
  .header-social-links > a { width: 31px; height: 31px; }
}

/* V5.13.1.41 — Correctif affichage des suppléments sur mobile et tablette. */
#supplementsFieldset,
.supplement-choices,
.supplement-choice {
  min-width: 0;
  max-width: 100%;
}
.supplement-choices {
  overflow-x: hidden;
}
.supplement-choice {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 9px;
  width: 100%;
}
.supplement-choice input[type="checkbox"] {
  appearance: auto;
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  box-shadow: none;
  accent-color: var(--red);
}
.supplement-choice input[type="checkbox"]:focus {
  box-shadow: none;
  outline: 2px solid rgba(215,25,32,.22);
  outline-offset: 2px;
}
.supplement-choice span {
  margin-left: 0;
  white-space: nowrap;
}
.supplement-choice {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .supplement-choice {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    padding: 12px 10px;
  }
}


/* V5.13.1.47 — sélection d’avis Google en cartes */
.reviews-order-button {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  color: #fff;
  background: var(--red);
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 9px 24px rgba(215,25,32,.22);
}
.reviews-order-button:hover { filter: brightness(1.08); }
.reviews-summary-rating { display: flex; align-items: baseline; gap: 4px; }
.reviews-summary-rating span { color: rgba(255,255,255,.58); font-size: 20px; font-weight: 800; }
.reviews-showcase {
  max-width: 1280px;
  margin: 0 auto;
  padding: 90px 32px 110px;
  color: #171513;
  background: var(--surface);
  border-radius: 34px 34px 0 0;
}
.reviews-section-heading {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr);
  align-items: end;
  gap: 44px;
  margin-bottom: 38px;
}
.reviews-section-heading .eyebrow { color: var(--red); }
.reviews-section-heading h2 { max-width: 680px; }
.reviews-section-heading > p { margin: 0 0 5px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 17px;
}
.review-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(45,34,24,.06);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.review-card:hover {
  transform: translateY(-3px);
  border-color: #ccb895;
  box-shadow: 0 18px 42px rgba(45,34,24,.1);
}
.review-card:nth-child(2), .review-card:nth-child(5) { background: #f4eadb; }
.review-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.review-source {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 10px;
  color: #fff;
  background: var(--black);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.review-stars { color: #e1a400; font-size: 17px; letter-spacing: .07em; white-space: nowrap; }
.review-card blockquote {
  flex: 1;
  margin: 25px 0 28px;
  color: #26211d;
  font: 700 20px/1.55 Georgia, serif;
}
.review-author { display: flex; align-items: center; gap: 12px; padding-top: 17px; border-top: 1px solid rgba(67,45,18,.1); }
.review-avatar {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--black);
  background: var(--cream);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 950;
}
.review-author > div { display: grid; gap: 3px; }
.review-author strong { font-size: 14px; }
.review-author small { color: var(--muted); font-size: 11px; }
.reviews-showcase-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 28px;
  padding: 25px 28px;
  color: #fff;
  background: var(--black);
  border-radius: 18px;
}
.reviews-showcase-footer p { max-width: 650px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.55; }
.reviews-google-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  color: var(--black);
  background: var(--cream);
  border-radius: 11px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}
.reviews-google-cta:hover { background: #f3dbb1; transform: translateY(-1px); }
@media(max-width:980px) {
  .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .reviews-header { grid-template-columns: 1fr auto; }
  .reviews-header nav { display: none; }
  .reviews-order-button { display: inline-flex; }
  .reviews-showcase { padding: 68px 20px 80px; border-radius: 26px 26px 0 0; }
  .reviews-section-heading { grid-template-columns: 1fr; gap: 18px; }
  .reviews-grid { grid-template-columns: 1fr; }
  .review-card { min-height: 0; }
  .reviews-showcase-footer { align-items: stretch; flex-direction: column; padding: 23px; }
  .reviews-google-cta { width: 100%; }
}
@media(max-width:430px) {
  .reviews-order-button { min-height: 38px; padding: 0 13px; font-size: 12px; }
  .review-card { padding: 21px; }
  .review-card blockquote { font-size: 18px; }
}


/* V5.13.1.48 — harmonisation complète de la page Avis */
.reviews-page {
  background: #0c0c0c;
}
.reviews-main {
  position: relative;
  overflow: hidden;
  background: #0c0c0c;
}
.reviews-hero {
  min-height: 560px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 82px 32px 118px;
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
  gap: 72px;
  background-color: transparent;
  background-image: none;
}
.reviews-main::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 650px;
  pointer-events: none;
  background-image:
    linear-gradient(100deg,rgba(0,0,0,.98) 15%,rgba(0,0,0,.88) 62%,rgba(0,0,0,.82)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.065' stroke-width='2'%3E%3Ccircle cx='40' cy='45' r='24'/%3E%3Ccircle cx='32' cy='39' r='3'/%3E%3Ccircle cx='48' cy='51' r='3'/%3E%3Cpath d='M122 18c15 16 21 35 18 58-22-6-38-18-48-36 8-8 18-15 30-22Z'/%3E%3Cpath d='M92 40c20 3 36 14 48 36'/%3E%3Cpath d='M27 159 82 97l21 92Z'/%3E%3Cpath d='M42 143c18 15 37 22 58 21'/%3E%3Ccircle cx='76' cy='139' r='5'/%3E%3Cpath d='M167 151c13-20 30-29 50-26-1 21-13 37-34 48'/%3E%3Cpath d='M168 150c19 2 35-5 49-25'/%3E%3C/g%3E%3C/svg%3E");
}
.reviews-hero > * { position: relative; z-index: 1; }
.reviews-hero-copy .eyebrow { color: var(--cream); }
.reviews-hero h1 {
  max-width: 760px;
  margin: 10px 0 20px;
  font-size: clamp(48px,5.6vw,76px);
}
.reviews-hero-copy > p:last-of-type {
  max-width: 650px;
  margin-bottom: 0;
  color: rgba(255,255,255,.74);
  font-size: 18px;
  line-height: 1.65;
}
.reviews-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.reviews-secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  padding: 0 22px;
  color: var(--cream);
  border: 1px solid rgba(232,205,160,.58);
  border-radius: 12px;
  text-decoration: none;
  font-weight: 900;
  transition: background .18s ease,border-color .18s ease,transform .18s ease;
}
.reviews-secondary-link:hover {
  color: #fff;
  background: rgba(232,205,160,.1);
  border-color: var(--cream);
  transform: translateY(-1px);
}
.reviews-summary {
  position: relative;
  justify-self: end;
  width: min(100%,390px);
  padding: 34px 30px;
  gap: 8px;
  overflow: hidden;
  border: 1px solid rgba(232,205,160,.28);
  border-radius: 28px;
  background: linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
  box-shadow: 0 28px 70px rgba(0,0,0,.3);
  backdrop-filter: blur(8px);
}
.reviews-summary::after {
  content: "“";
  position: absolute;
  right: 18px;
  bottom: -38px;
  color: rgba(232,205,160,.08);
  font: 900 170px/1 Georgia,serif;
}
.reviews-google-label {
  padding: 6px 11px;
  border: 1px solid rgba(232,205,160,.28);
  border-radius: 999px;
  background: rgba(232,205,160,.08);
}
.reviews-summary-rating { margin-top: 9px; font-size: 68px; }
.reviews-summary .review-stars { font-size: 20px; }
.reviews-summary small { font-size: 13px; }
.reviews-summary-place {
  margin-top: 7px;
  color: rgba(255,255,255,.52);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.reviews-showcase {
  position: relative;
  z-index: 2;
  margin-top: -54px;
  padding: 82px 32px 104px;
  border-radius: 34px 34px 0 0;
  box-shadow: 0 -22px 70px rgba(0,0,0,.22);
}
.reviews-section-heading {
  display: block;
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}
.reviews-section-heading .eyebrow { margin-bottom: 11px; }
.reviews-section-heading h2 {
  max-width: none;
  margin: 0;
}
.reviews-section-heading h2 em {
  color: #8f1217;
  font-family: Georgia,serif;
  font-style: italic;
  font-weight: 500;
}
.reviews-grid { gap: 20px; }
.review-card {
  min-height: 292px;
  padding: 26px;
  border-color: rgba(67,45,18,.1);
  border-radius: 22px;
  box-shadow: 0 12px 36px rgba(45,34,24,.055);
}
.review-card:nth-child(2),
.review-card:nth-child(5) { background: #fff; }
.review-card::before {
  content: "“";
  display: block;
  height: 28px;
  margin-bottom: 4px;
  color: rgba(215,25,32,.22);
  font: 900 54px/.7 Georgia,serif;
}
.review-card-head { order: -1; margin-bottom: 18px; }
.review-card blockquote {
  margin: 10px 0 26px;
  font-size: 19px;
  line-height: 1.6;
}
.review-author { margin-top: auto; }
.review-avatar {
  border: 1px solid rgba(67,45,18,.08);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.38);
}
.reviews-showcase-footer {
  margin-top: 34px;
  padding: 28px 30px;
  border: 1px solid rgba(232,205,160,.13);
  border-radius: 20px;
  box-shadow: 0 18px 45px rgba(0,0,0,.13);
}
.reviews-showcase-footer p {
  color: rgba(255,255,255,.74);
  font-size: 15px;
}
.reviews-google-cta {
  min-height: 48px;
  padding: 0 20px;
}
@media(max-width:980px) {
  .reviews-hero { grid-template-columns: 1fr; gap: 38px; padding-bottom: 108px; }
  .reviews-summary { justify-self: start; }
  .reviews-showcase { margin-top: -44px; }
}
@media(max-width:760px) {
  .reviews-hero { padding: 58px 20px 96px; }
  .reviews-hero h1 { font-size: clamp(42px,12vw,58px); }
  .reviews-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .reviews-hero-actions > a { width: 100%; min-width: 0; padding-inline: 14px; }
  .reviews-summary { width: 100%; }
  .reviews-showcase { margin-top: -34px; padding: 62px 20px 76px; }
  .reviews-section-heading { margin-bottom: 32px; text-align: left; }
  .review-card { padding: 23px; }
}
@media(max-width:430px) {
  .reviews-hero-actions { grid-template-columns: 1fr; }
  .reviews-summary { padding: 28px 22px; }
  .reviews-summary-rating { font-size: 58px; }
  .reviews-showcase { border-radius: 25px 25px 0 0; }
}


/* V5.13.1.49 — Header public harmonisé. */
.site-header {
  height: 82px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(20px, 2.5vw, 42px);
  padding: 0 clamp(22px, 3.4vw, 54px);
  background: #0b0b0b;
  border-bottom: 1px solid rgba(232, 205, 160, .16);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .16);
  backdrop-filter: none;
}
.site-header .brand {
  gap: 12px;
  padding: 5px 0;
}
.site-header .brand img {
  width: 58px;
  height: 58px;
  border: 1px solid rgba(232, 205, 160, .22);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.site-header .brand strong {
  font-size: 20px;
  letter-spacing: .055em;
}
.site-header .brand small {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}
.site-header nav {
  min-width: 0;
  justify-content: flex-end;
  gap: clamp(17px, 1.8vw, 28px);
  font-size: 13px;
}
.header-main-links,
.header-contact {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.header-main-links {
  gap: clamp(15px, 1.55vw, 24px);
}
.header-main-links > a,
.header-main-links > .nav-loyalty-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 0;
  color: rgba(255, 255, 255, .88);
  white-space: nowrap;
  text-decoration: none;
  transition: color .18s ease;
}
.header-main-links > a::after,
.header-main-links > .nav-loyalty-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 2px;
  background: var(--cream);
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(.45);
  transition: opacity .18s ease, transform .18s ease;
}
.header-main-links > a:hover,
.header-main-links > .nav-loyalty-link:hover {
  color: var(--cream);
}
.header-main-links > a:hover::after,
.header-main-links > .nav-loyalty-link:hover::after,
.header-main-links > a:focus-visible::after,
.header-main-links > .nav-loyalty-link:focus-visible::after {
  opacity: 1;
  transform: scaleX(1);
}
.header-contact {
  gap: 13px;
  padding-left: clamp(14px, 1.5vw, 22px);
  border-left: 1px solid rgba(232, 205, 160, .22);
}
.site-header .phone-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: var(--cream) !important;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  white-space: nowrap;
}
.site-header .phone-link:hover {
  color: #fff !important;
}
.site-header .header-social-links {
  gap: 7px;
  margin-left: 0;
}
.site-header .header-social-links > a {
  width: 32px;
  height: 32px;
  color: var(--cream);
  background: rgba(255, 255, 255, .025);
  border-color: rgba(232, 205, 160, .35);
}
.site-header .header-social-links > a:hover {
  color: #111;
  background: var(--cream);
  border-color: var(--cream);
}
.site-header .cart-pill,
.site-header .reviews-order-button {
  min-height: 44px;
  justify-self: end;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(215, 25, 32, .22);
}
.site-header .cart-pill {
  padding: 0 15px;
}
.site-header .reviews-order-button {
  padding: 0 20px;
}
.reviews-header {
  position: relative;
}
@media (max-width: 1240px) {
  .site-header {
    gap: 18px;
    padding-inline: 22px;
  }
  .site-header .brand img {
    width: 54px;
    height: 54px;
  }
  .site-header .brand strong {
    font-size: 18px;
  }
  .site-header nav,
  .header-main-links {
    gap: 14px;
  }
  .header-contact {
    gap: 10px;
    padding-left: 13px;
  }
  .site-header .header-social-links {
    gap: 5px;
  }
  .site-header .header-social-links > a {
    width: 30px;
    height: 30px;
  }
}
@media (max-width: 1080px) {
  .site-header {
    height: 72px;
    grid-template-columns: 1fr auto;
    padding-inline: 18px;
  }
  .site-header nav {
    display: none;
  }
  .site-header .brand img {
    width: 52px;
    height: 52px;
  }
  .site-header .brand strong {
    font-size: 18px;
  }
  .site-header .brand small {
    font-size: 9px;
  }
}
@media (max-width: 520px) {
  .site-header {
    height: 68px;
    padding-inline: 12px;
  }
  .site-header .brand {
    gap: 9px;
  }
  .site-header .brand img {
    width: 50px;
    height: 50px;
  }
  .site-header .brand strong {
    font-size: 16px;
  }
  .site-header .brand small {
    margin-top: 2px;
    font-size: 8px;
  }
  .site-header .cart-pill,
  .site-header .reviews-order-button {
    min-height: 42px;
  }
  .site-header .cart-pill {
    padding: 0 11px;
  }
  .site-header .reviews-order-button {
    padding: 0 15px;
    font-size: 12px;
  }
}


/* V5.13.1.50 — Header centré sur la largeur du contenu et navigation mobile complète. */
.site-header {
  min-height: 82px;
  height: auto;
  display: block;
  padding: 0 24px;
  background: #0b0b0b;
}
.site-header-inner {
  width: 100%;
  max-width: 1280px;
  min-height: 82px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 2vw, 32px);
}
.site-header-inner > .brand { justify-self: start; }
.site-header-inner > nav { justify-self: stretch; }
.site-header-inner > .cart-pill,
.site-header-inner > .reviews-order-button { justify-self: end; }
.header-main-links > .nav-loyalty-link {
  font-weight: 700;
}

@media (max-width: 1080px) {
  .site-header {
    padding-inline: 18px;
  }
  .site-header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand action"
      "nav nav";
    row-gap: 0;
    padding: 8px 0 7px;
  }
  .site-header-inner > .brand { grid-area: brand; }
  .site-header-inner > nav {
    grid-area: nav;
    width: 100%;
    display: flex !important;
    justify-content: space-between;
    gap: 18px;
    padding-top: 7px;
    border-top: 1px solid rgba(232, 205, 160, .14);
  }
  .site-header-inner > .cart-pill,
  .site-header-inner > .reviews-order-button { grid-area: action; }
  .header-main-links,
  .header-contact {
    flex: 0 0 auto;
  }
}

@media (max-width: 760px) {
  .site-header {
    padding-inline: 14px;
  }
  .site-header-inner {
    min-height: 0;
    padding: 7px 0 8px;
  }
  .site-header-inner > nav {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 5px;
    padding-top: 7px;
    overflow: visible;
  }
  .header-main-links {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }
  .header-main-links > a,
  .header-main-links > .nav-loyalty-link {
    min-height: 34px;
    font-size: 12px;
  }
  .site-header nav .nav-loyalty-link {
    display: inline-flex !important;
    font-weight: 700;
  }
  .header-contact {
    width: 100%;
    justify-content: center;
    gap: 10px;
    padding: 5px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(232, 205, 160, .12);
  }
  .site-header .phone-link {
    min-height: 32px;
    font-size: 12px;
  }
  .site-header .header-social-links > a {
    width: 29px;
    height: 29px;
  }
  .site-header .header-social-links svg {
    width: 15px;
    height: 15px;
  }
  .reviews-header .header-main-links a,
  .reviews-header .header-contact a {
    display: inline-flex !important;
  }
}

@media (max-width: 430px) {
  .site-header {
    padding-inline: 10px;
  }
  .site-header .brand img {
    width: 46px;
    height: 46px;
  }
  .site-header .brand strong {
    font-size: 15px;
  }
  .site-header .brand small {
    font-size: 7px;
  }
  .header-main-links {
    gap: 7px;
  }
  .header-main-links > a,
  .header-main-links > .nav-loyalty-link {
    font-size: 11px;
  }
  .site-header .phone-link {
    font-size: 11px;
  }
  .site-header .cart-pill {
    min-height: 39px;
    padding-inline: 10px;
  }
}


/* V5.13.1.51 — Gains La Ruota dans le compte fidélité et le paiement */
.loyalty-wheel-summary{display:grid;gap:6px;margin-top:12px;padding:12px 13px;color:#2c241b;background:#fff7e8;border:1px solid rgba(184,145,86,.35);border-radius:11px}
.loyalty-wheel-summary strong{color:#6f4b00}.loyalty-wheel-summary span{font-size:12px;line-height:1.4}
.wheel-rewards-checkout{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(25,22,19,.1)}
.wheel-rewards-heading{display:grid;gap:3px}.wheel-rewards-heading strong{font-size:14px}.wheel-rewards-heading small{color:var(--muted);font-size:11px}
#wheelRewardChoices{display:grid;gap:8px}.wheel-reward-choice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:11px;cursor:pointer}
.wheel-reward-choice:hover{border-color:#c7a56d}.wheel-reward-choice input{appearance:auto;width:18px!important;height:18px!important;min-width:18px;margin:0;padding:0;accent-color:var(--red)}
.wheel-reward-choice span{display:grid;gap:3px;min-width:0}.wheel-reward-choice strong{font-size:13px}.wheel-reward-choice small{color:var(--muted);font-size:11px;line-height:1.35}.wheel-reward-choice>b{color:var(--red);font-size:13px;white-space:nowrap}
.wheel-reward-choice.disabled{opacity:.55;cursor:not-allowed;background:#f4f1ec}.wheel-reward-choice.none{background:#f8f4ee}
@media(max-width:520px){.wheel-reward-choice{grid-template-columns:20px minmax(0,1fr)}.wheel-reward-choice>b{grid-column:2}}


/* V5.13.1.72 — menus composés */
.menu-builder-dialog{width:min(760px,calc(100% - 20px));max-height:94dvh;overflow:auto}
.menu-builder-dialog form{position:relative;padding:35px}
.menu-builder-dialog h2{padding-right:45px;font-size:40px;text-transform:uppercase}
.menu-dialog-image{height:250px;margin:0 0 22px;overflow:hidden;background:#eee7dd;border-radius:16px}
.menu-dialog-image img{width:100%;height:100%;display:block;object-fit:cover}
.menu-dialog-description{margin:12px 0;color:var(--muted);font-size:17px;line-height:1.55}
.menu-base-price,.menu-dialog-total{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;background:#111;color:#fff;border-radius:12px;font-weight:850}
.menu-base-price strong,.menu-dialog-total strong{color:var(--cream);font-size:20px}
.menu-choice-groups{display:grid;gap:14px;margin:18px 0}
.menu-choice-group{padding:16px;background:#f5eee5;border:1px solid var(--line);border-radius:14px}
.menu-choice-group h3{margin:0 0 5px;font:900 23px/1.1 Georgia,serif}
.menu-choice-group>p{margin:0 0 12px;color:var(--muted);font-size:13px}
.menu-choice-slots{display:grid;gap:11px}
.menu-choice-slot{padding:12px;background:#fff;border:1px solid #dfd4c7;border-radius:11px}
.menu-choice-slot .field-label{margin:0}
.menu-choice-slot select{width:100%;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.menu-choice-details{margin-top:10px}
.menu-choice-product-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:#51483f;font-size:13px}
.menu-choice-product-summary strong{color:#171513}
.menu-choice-note{margin-top:9px}
.menu-choice-note textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:9px;resize:vertical}
.menu-dialog-total{margin:18px 0 10px;background:#f1e4d1;color:#171513}
.menu-dialog-total strong{color:var(--red)}
.cart-menu-choices{display:grid;gap:4px;margin:7px 0 0;padding:8px 10px;background:#f5eee5;border-radius:8px;color:#5e554d;font-size:12px;line-height:1.4}
.cart-menu-choices b{color:#171513}
.product-card .tag.menu-tag{color:#fff;background:#8f1118}
@media(max-width:680px){.menu-builder-dialog form{padding:27px 18px}.menu-builder-dialog h2{font-size:31px}.menu-dialog-image{height:210px}.menu-base-price,.menu-dialog-total{align-items:flex-start}.menu-choice-group{padding:13px}}


/* V5.13.1.82 — bandeaux libres flottants, compacts et non gênants */
:root { --promotion-floating-height: 0px; }
body.promotion-floating-visible { padding-bottom: calc(var(--promotion-floating-height) + 24px); }
.promotion-banner[hidden] { display: none !important; }
.promotion-banner-code[hidden], .promotion-banner-action[hidden] { display: none !important; }
.promotion-banner-actions { display: flex; align-items: center; justify-content: center; gap: 10px; }
.promotion-banner-action {
  min-height: 44px;
  padding: 10px 18px;
  color: #19130d;
  background: linear-gradient(145deg, #f5e8d2, #e8cda0);
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
  font: 900 13px/1.15 Inter, ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
  white-space: nowrap;
}
.promotion-banner-action:hover { filter: brightness(1.04); transform: translateY(-1px); }
.promotion-banner-action:focus-visible,
.promotion-banner-close:focus-visible { outline: 3px solid rgba(232,205,160,.42); outline-offset: 3px; }
.promotion-banner-close {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  color: #f5e8d2;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  font: 700 22px/1 Arial, sans-serif;
  cursor: pointer;
}
.promotion-banner-close:hover { background: rgba(255,255,255,.16); }
.promotion-banner.is-floating {
  position: fixed;
  z-index: 75;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  width: min(820px, calc(100% - 28px));
  border: 1px solid rgba(232,205,160,.42);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0,0,0,.32);
  overflow: hidden;
  transform: translateX(-50%);
}
body.has-floating-cart .promotion-banner.is-floating {
  bottom: calc(max(18px, env(safe-area-inset-bottom)) + 76px);
}
.promotion-banner.is-floating .promotion-banner-inner {
  min-height: 0;
  padding: 12px 14px 12px 18px;
  justify-content: space-between;
  gap: 16px;
}
.promotion-banner.is-floating .promotion-banner-copy {
  min-width: 0;
  text-align: left;
}
.promotion-banner.is-floating .promotion-banner-copy > strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}
.promotion-banner.is-floating .promotion-banner-kicker { font-size: 9px; }
.promotion-banner.is-floating .promotion-banner-code:not([hidden]) {
  min-width: 0;
  min-height: 44px;
  padding: 8px 13px;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas: 'label code';
  align-items: center;
  gap: 7px;
  border-radius: 11px;
  white-space: nowrap;
}
.promotion-banner.is-floating .promotion-banner-code > span {
  display: block;
  font-size: 9px;
  letter-spacing: .1em;
}
.promotion-banner.is-floating .promotion-banner-code > strong {
  font-size: 15px;
  line-height: 1;
}
.promotion-banner.is-floating .promotion-banner-code > small { display: none; }

@media (max-width: 680px) {
  body.promotion-floating-visible { padding-bottom: calc(var(--promotion-floating-height) + 12px); }
  .promotion-banner-actions { gap: 7px; }
  .promotion-banner.is-floating {
    width: calc(100% - 16px);
    bottom: max(8px, env(safe-area-inset-bottom));
    border-radius: 14px;
  }
  body.has-floating-cart .promotion-banner.is-floating {
    bottom: calc(max(8px, env(safe-area-inset-bottom)) + 72px);
  }
  .promotion-banner.is-floating .promotion-banner-inner {
    padding: 10px 10px 10px 12px;
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }
  .promotion-banner.is-floating .promotion-banner-copy { text-align: left; gap: 2px; }
  .promotion-banner.is-floating .promotion-banner-copy > strong {
    font-size: 12px;
    line-height: 1.28;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .promotion-banner.is-floating .promotion-banner-kicker { font-size: 8px; letter-spacing: .13em; }
  .promotion-banner-action {
    min-height: 38px;
    max-width: 142px;
    padding: 8px 11px;
    border-radius: 10px;
    font-size: 11px;
    white-space: normal;
  }
  .promotion-banner.is-floating .promotion-banner-code:not([hidden]) {
    min-height: 38px;
    max-width: 132px;
    padding: 7px 10px;
    gap: 5px;
    border-radius: 10px;
  }
  .promotion-banner.is-floating .promotion-banner-code > span { font-size: 8px; }
  .promotion-banner.is-floating .promotion-banner-code > strong { font-size: 12px; }
  .promotion-banner-close { width: 30px; height: 30px; font-size: 19px; }
  .promotion-banner:not(.is-floating) .promotion-banner-actions { width: min(310px,100%); }
  .promotion-banner:not(.is-floating) .promotion-banner-close { position: absolute; top: 8px; right: 8px; }
}

/* V5.13.1.84 — les promotions avec code utilisent elles aussi le bandeau flottant mobile. */


/* V5.13.1.90 — fenêtre de Vente additionnelle multi-catégories */
.additional-sale-dialog{width:min(720px,calc(100% - 22px));max-height:92dvh;overflow:auto}
.additional-sale-shell{position:relative;padding:34px}
.additional-sale-shell h2{margin:0 48px 10px 0;font-size:clamp(32px,5vw,46px);text-transform:uppercase}
.additional-sale-message{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.55}
.additional-sale-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-height:46dvh;overflow:auto;padding:2px 3px 2px 0;scrollbar-width:thin}
.additional-sale-product{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:10px;background:#f7f1e8;border:1px solid var(--line);border-radius:14px}
.additional-sale-product img,.additional-sale-placeholder{width:64px;height:64px;display:grid;place-items:center;background:#eadfce;border-radius:10px;font-size:24px;font-weight:900}
.additional-sale-product img{object-fit:contain;padding:3px;background:#111}
.additional-sale-product-copy{display:grid;gap:4px;min-width:0}
.additional-sale-product-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;text-transform:uppercase}
.additional-sale-product-copy small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.additional-sale-product-copy span{color:var(--red);font-size:12px;font-weight:900}
.additional-sale-add{min-height:38px;padding:0 12px;color:#fff;background:var(--red);border:0;border-radius:9px;font-size:12px;font-weight:900}
.additional-sale-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
@media(max-width:680px){
  .additional-sale-shell{padding:28px 16px 18px}
  .additional-sale-shell h2{font-size:31px}
  .additional-sale-products{grid-template-columns:1fr;max-height:50dvh}
  .additional-sale-product{grid-template-columns:56px minmax(0,1fr) auto;padding:8px}
  .additional-sale-product img,.additional-sale-placeholder{width:56px;height:56px}
  .additional-sale-actions{grid-template-columns:1fr}
}

.additional-sale-product-copy .additional-sale-category-name{display:block;color:#9a161c;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}

.customer-recognition-choice{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:11px 12px;border:1px solid rgba(215,25,32,.15);border-radius:12px;background:#fffaf6}.customer-recognition-choice input{flex:0 0 auto;margin-top:3px}.customer-recognition-choice span{display:grid;gap:2px}.customer-recognition-choice strong{font-size:14px;color:var(--black)}.customer-recognition-choice small{font-size:12px;line-height:1.35;color:var(--muted)}


/* V5.13.1.92 — choix des formats et contenances */
.format-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.format-choice{display:flex;align-items:center;gap:9px;padding:12px;background:#f6f1ea;border:1px solid transparent;border-radius:11px;cursor:pointer}
.format-choice:has(input:checked){border-color:var(--red);background:#fff1f1}
.format-choice input{width:auto;height:auto;margin:0}
.format-choice b{font-size:14px}
.format-choice span{margin-left:auto;color:var(--red);font-size:13px;font-weight:900}
.product-format-note{color:var(--muted);font-size:11px;font-weight:800}
.additional-sale-format{grid-column:2/4;width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:750}
@media(max-width:680px){.format-choices{grid-template-columns:1fr}.additional-sale-format{grid-column:2/4}}


/* V5.13.1.109 — correction renforcée de la fenêtre « Mes points » */
.loyalty-dialog,
.loyalty-dialog form {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: hidden;
}
.loyalty-dialog .customer-recognition-choice {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start !important;
  gap: 10px !important;
  overflow: hidden;
}
.loyalty-dialog .customer-recognition-choice input[type="checkbox"],
#loyaltyRememberDevice {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  accent-color: var(--red);
}
.loyalty-dialog .customer-recognition-choice > span {
  min-width: 0;
  max-width: 100%;
  display: grid;
  gap: 2px;
  overflow-wrap: anywhere;
  word-break: normal;
}
.loyalty-dialog .customer-recognition-choice strong,
.loyalty-dialog .customer-recognition-choice small {
  display: block;
  max-width: 100%;
  white-space: normal;
}
@media (max-width: 560px) {
  .loyalty-dialog form {
    padding: 26px 18px;
  }
}


/* V5.13.1.110 — navigation Contact restaurée et page Contact responsive. */
.header-main-links > a[aria-current="page"] {
  color: var(--cream);
}
.header-main-links > a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

/* Le passage en deux lignes intervient plus tôt afin de préserver la navigation complète. */
@media (max-width: 1180px) {
  .site-header {
    padding-inline: 18px;
  }
  .site-header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand action"
      "nav nav";
    row-gap: 0;
    padding: 8px 0 7px;
  }
  .site-header-inner > .brand { grid-area: brand; }
  .site-header-inner > nav {
    grid-area: nav;
    width: 100%;
    display: flex !important;
    justify-content: space-between;
    gap: 16px;
    padding-top: 7px;
    border-top: 1px solid rgba(232, 205, 160, .14);
  }
  .site-header-inner > .cart-pill,
  .site-header-inner > .reviews-order-button { grid-area: action; }
  .header-main-links,
  .header-contact { flex: 0 0 auto; }
}

@media (max-width: 760px) {
  .site-header-inner > nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    overflow: visible;
  }
  .header-main-links {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
  }
  .header-main-links > a,
  .header-main-links > .nav-loyalty-link {
    min-height: 36px;
    padding: 0 11px;
    justify-content: center;
    color: rgba(255,255,255,.9);
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(232,205,160,.14);
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.15;
    text-align: center;
  }
  .header-main-links > a::after,
  .header-main-links > .nav-loyalty-link::after { display: none; }
  .header-main-links > a[aria-current="page"] {
    color: #17120d;
    background: var(--cream);
    border-color: var(--cream);
  }
  .header-contact {
    min-width: 0;
    padding-top: 6px;
  }
}

@media (max-width: 560px) {
  .site-header { padding-inline: 10px; }
  .site-header-inner { padding-top: 6px; }
  .header-main-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
  .reviews-header .header-main-links,
  .contact-header .header-main-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .header-main-links > a,
  .header-main-links > .nav-loyalty-link {
    width: 100%;
    min-width: 0;
    padding-inline: 5px;
    white-space: normal;
  }
  .site-header .header-social-links > a {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 380px) {
  .site-header .brand span { display: none; }
  .site-header .brand img {
    width: 44px;
    height: 44px;
  }
  .site-header .cart-pill,
  .site-header .reviews-order-button {
    min-height: 38px;
    padding-inline: 11px;
  }
  .header-main-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-header .phone-link { font-size: 10px; }
}

/* Page Contact — même direction artistique que le site. */
.contact-page {
  min-width: 0;
  background: #f5efe6;
  overflow-x: hidden;
}
.contact-header { position: sticky; }
.contact-main {
  min-height: calc(100vh - 82px);
  color: #fff;
  background:
    radial-gradient(circle at 12% 12%, rgba(232,205,160,.12), transparent 34%),
    radial-gradient(circle at 90% 82%, rgba(215,25,32,.12), transparent 28%),
    linear-gradient(135deg, #0c0c0c 0%, #17130f 55%, #0b0b0b 100%);
}
.contact-hero {
  width: min(1280px, 100%);
  margin: 0 auto;
  padding: clamp(58px, 7vw, 92px) 32px clamp(70px, 8vw, 110px);
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  align-items: start;
  gap: clamp(42px, 6vw, 86px);
}
.contact-intro {
  min-width: 0;
  padding-top: 22px;
}
.contact-intro h1 {
  max-width: 650px;
  margin-bottom: 24px;
  font-size: clamp(46px, 5.3vw, 73px);
  text-wrap: balance;
}
.contact-lead {
  max-width: 640px;
  margin-bottom: 30px;
  color: rgba(255,255,255,.73);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.65;
}
.contact-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}
.contact-detail {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 16px;
  color: #fff;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(232,205,160,.2);
  border-radius: 15px;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.contact-detail:hover {
  transform: translateY(-2px);
  border-color: rgba(232,205,160,.58);
  background: rgba(232,205,160,.09);
}
.contact-detail > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #1b130b;
  background: var(--cream);
  border-radius: 50%;
  font-size: 19px;
  font-weight: 900;
}
.contact-detail div { min-width: 0; }
.contact-detail small,
.contact-detail strong { display: block; }
.contact-detail small {
  margin-bottom: 4px;
  color: var(--cream);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contact-detail strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.45;
}
.contact-response-note {
  max-width: 610px;
  margin: 18px 0 0;
  padding-left: 15px;
  color: rgba(255,255,255,.61);
  border-left: 3px solid var(--red);
  font-size: 13px;
  line-height: 1.55;
}
.contact-form-card {
  min-width: 0;
  padding: clamp(24px, 3.2vw, 42px);
  color: #191613;
  background: linear-gradient(150deg, #fffdf9, #f7efe4);
  border: 1px solid rgba(232,205,160,.65);
  border-radius: 28px;
  box-shadow: 0 34px 90px rgba(0,0,0,.42);
}
.contact-form-heading {
  margin-bottom: 25px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(82,58,34,.12);
}
.contact-form-heading h2 {
  margin-bottom: 8px;
  font-size: clamp(34px, 4vw, 50px);
}
.contact-form-heading > p:last-child {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 13px;
}
.contact-form-card form {
  display: grid;
  gap: 17px;
}
.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.contact-field {
  min-width: 0;
  display: grid;
  gap: 7px;
  color: #211d18;
  font-size: 13px;
  font-weight: 850;
}
.contact-field > span { line-height: 1.35; }
.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 12px 13px;
  color: #1d1915;
  background: #fff;
  border: 1px solid #ddd2c3;
  border-radius: 11px;
  outline: 0;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.contact-field input,
.contact-field select { min-height: 48px; }
.contact-field textarea {
  min-height: 165px;
  resize: vertical;
  line-height: 1.55;
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  background: #fff;
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(215,25,32,.1);
}
.contact-field > small {
  justify-self: end;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.contact-consent {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: 19px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 13px 14px;
  color: #413a33;
  background: #fff8ee;
  border: 1px solid #eadbc6;
  border-radius: 11px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
}
.contact-consent input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  accent-color: var(--red);
}
.contact-consent span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.contact-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.contact-form-actions {
  display: grid;
  grid-template-columns: minmax(210px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}
.contact-form-actions .primary-button {
  min-width: 215px;
}
.contact-form-status {
  min-width: 0;
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.contact-form-status.success { color: #107032; }
.contact-form-status.error { color: #a30d14; }

@media (max-width: 1020px) {
  .contact-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
    padding-top: 55px;
  }
  .contact-intro { padding-top: 0; }
  .contact-intro h1 { max-width: 800px; }
  .contact-lead { max-width: 760px; }
  .contact-details { max-width: 760px; }
}

@media (max-width: 680px) {
  .contact-hero {
    padding: 42px 14px 70px;
    gap: 30px;
  }
  .contact-intro h1 {
    margin-bottom: 18px;
    font-size: clamp(39px, 12vw, 55px);
  }
  .contact-lead {
    margin-bottom: 23px;
    font-size: 16px;
  }
  .contact-details,
  .contact-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-detail { padding: 14px; }
  .contact-form-card {
    padding: 25px 16px 21px;
    border-radius: 21px;
  }
  .contact-form-heading {
    margin-bottom: 20px;
    padding-bottom: 17px;
  }
  .contact-form-heading h2 { font-size: 36px; }
  .contact-form-actions {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .contact-form-actions .primary-button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 360px) {
  .contact-hero { padding-inline: 10px; }
  .contact-form-card { padding-inline: 13px; }
  .contact-detail {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
  }
  .contact-detail > span {
    width: 38px;
    height: 38px;
  }
}
.contact-field[hidden] { display: none !important; }

/* V5.13.1.111 — fermeture pour congés datée */
.hero-hours-closed.vacation { display: grid; gap: 5px; color: #791117; background: rgba(215,25,32,.08); border-color: rgba(215,25,32,.2); }
.hero-hours-closed.vacation strong { font-size: 15px; }
.hero-hours-closed.vacation small { color: rgba(62,24,19,.72); font-size: 11px; line-height: 1.4; }
.vacation-closure-notice { display: flex; gap: 14px; align-items: flex-start; margin: 20px 0 4px; padding: 16px 17px; color: #251a11; background: linear-gradient(135deg,rgba(232,205,160,.98),rgba(244,226,194,.95)); border: 1px solid rgba(232,205,160,.85); border-radius: 14px; box-shadow: 0 12px 28px rgba(0,0,0,.14); }
.vacation-closure-notice[hidden] { display: none !important; }
.vacation-closure-notice > span { flex: 0 0 auto; font-size: 24px; line-height: 1; }
.vacation-closure-notice strong { display: block; margin-bottom: 4px; font: 900 18px/1.15 Georgia,serif; }
.vacation-closure-notice p { margin: 0; color: rgba(37,26,17,.75); font-size: 13px; line-height: 1.5; }
.vacation-closure-notice.active { color: #fff4df; background: linear-gradient(135deg,#7f1017,#a61820); border-color: rgba(255,255,255,.15); }
.vacation-closure-notice.active p { color: rgba(255,244,223,.82); }
@media (max-width:560px){
  .vacation-closure-notice { gap: 11px; padding: 14px; }
  .vacation-closure-notice > span { font-size: 21px; }
  .vacation-closure-notice strong { font-size: 16px; }
  .vacation-closure-notice p { font-size: 12px; }
}

/* V5.13.1.112 — fermeture pour congés harmonisée (horaires normaux inchangés) */
.hero-hours-status.vacation {
  color: #fff7e7;
  background: linear-gradient(135deg,#7b1117,#a31b22);
  border-color: rgba(121,17,23,.42);
  box-shadow: 0 6px 14px rgba(121,17,23,.18);
}
.hero-hours-closed.vacation {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 16px 17px;
  color: #301813;
  text-align: left;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.72),transparent 42%),
    linear-gradient(135deg,rgba(255,251,241,.88),rgba(239,210,162,.68));
  border: 1px solid rgba(137,32,36,.22);
  border-left: 4px solid #8d151c;
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72),0 7px 18px rgba(92,44,17,.08);
}
.vacation-card-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #fff8ea;
  background: linear-gradient(145deg,#8b141b,#b3282f);
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  box-shadow: 0 7px 15px rgba(121,17,23,.18);
  font-size: 17px;
  line-height: 1;
}
.vacation-card-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.vacation-card-kicker {
  color: rgba(93,29,25,.66);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}
.hero-hours-closed.vacation strong {
  color: #781218;
  font: 900 20px/1.08 Georgia,serif;
  overflow-wrap: anywhere;
}
.vacation-card-dates {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 3px;
  padding: 5px 9px;
  color: rgba(55,30,21,.78);
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(121,17,23,.12);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}
.hero-hours-note.vacation {
  margin-top: -1px;
  padding: 10px 7px 0;
  color: rgba(45,29,20,.66);
  text-align: center;
  border-top: 1px solid rgba(92,55,27,.12);
  font-size: 10px;
  font-weight: 750;
}
@media (max-width:680px){
  .hero-hours-closed.vacation {
    grid-template-columns: 40px minmax(0,1fr);
    gap: 11px;
    padding: 14px;
  }
  .vacation-card-mark {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }
  .hero-hours-closed.vacation strong { font-size: 18px; }
  .vacation-card-dates {
    white-space: normal;
    font-size: 10px;
  }
}
@media (max-width:390px){
  .hero-hours-closed.vacation {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .vacation-card-copy { justify-items: center; }
  .vacation-card-kicker { letter-spacing: .09em; }
  .vacation-card-dates { justify-content: center; }
  .hero-hours-note.vacation { padding-inline: 2px; }
}


/* V5.13.1.128 — thèmes saisonniers plus reconnaissables, toujours élégants et non bloquants. */
body.seasonal-active { --seasonal-strength: .78; --seasonal-accent: var(--cream); }
body.seasonal-active.seasonal-intensity-standard { --seasonal-strength: 1; }
body.seasonal-active .hero::before,
body.seasonal-active .hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0; }
body.seasonal-active .hero-copy,
body.seasonal-active .hero-card { position: relative; z-index: 1; }
body.seasonal-active .hero-copy::before { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 10px 16px; border-radius: 999px; font-size: 12px; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; box-shadow: 0 14px 34px rgba(0,0,0,.26); }
body.seasonal-active .hero::before { opacity: var(--seasonal-strength); background-repeat: no-repeat; background-position: center; background-size: cover; }
body.seasonal-active .hero::after { opacity: calc(var(--seasonal-strength) * .68); }

body.seasonal-christmas { --seasonal-accent: #d8b574; }
body.seasonal-christmas .hero::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDcyMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgo8ZGVmcz48ZmlsdGVyIGlkPSJnbG93Ij48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI0IiByZXN1bHQ9ImIiLz48ZmVNZXJnZT48ZmVNZXJnZU5vZGUgaW49ImIiLz48ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiLz48L2ZlTWVyZ2U+PC9maWx0ZXI+PGxpbmVhckdyYWRpZW50IGlkPSJnb2xkIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMSI+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZjFjOSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2Q0YTk1ZSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPgo8ZyBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogPGcgb3BhY2l0eT0iLjg2Ij4KICA8cGF0aCBkPSJNLTM1IDM1YzExMiAxMCAyMDYgMzYgMzA2IDkzIiBzdHJva2U9IiMyNDViM2IiIHN0cm9rZS13aWR0aD0iMTgiLz4KICA8cGF0aCBkPSJNLTM1IDMwYzExNSAxMSAyMTAgMzcgMzEwIDk1IiBzdHJva2U9IiM1MjdiNTciIHN0cm9rZS13aWR0aD0iNCIvPgogIDxwYXRoIGQ9Ik0xNDc1IDMwYy0xMTYgMTAtMjEyIDM4LTMxNCA5OCIgc3Ryb2tlPSIjMjQ1YjNiIiBzdHJva2Utd2lkdGg9IjE4Ii8+CiAgPHBhdGggZD0iTTE0NzUgMjVjLTExOCAxMS0yMTUgMzktMzE4IDEwMCIgc3Ryb2tlPSIjNTI3YjU3IiBzdHJva2Utd2lkdGg9IjQiLz4KIDwvZz4KIDxnIHN0cm9rZT0iI2Q4YjU3NCIgc3Ryb2tlLXdpZHRoPSIyLjIiIG9wYWNpdHk9Ii45NSI+CiAgPHBhdGggZD0iTTcwIDUydjc4TTIwNSA4OHY3M00xMzcwIDU0djc2TTEyMzQgOTB2NzAiLz4KIDwvZz4KIDxnIGZpbHRlcj0idXJsKCNnbG93KSI+CiAgPGNpcmNsZSBjeD0iNzAiIGN5PSIxNDAiIHI9IjE5IiBmaWxsPSIjOWYyMDI5IiBzdHJva2U9InVybCgjZ29sZCkiIHN0cm9rZS13aWR0aD0iMyIvPgogIDxjaXJjbGUgY3g9IjIwNSIgY3k9IjE3MSIgcj0iMjQiIGZpbGw9IiNkOGI1NzQiIHN0cm9rZT0iI2ZmZjFjOSIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPGNpcmNsZSBjeD0iMTM3MCIgY3k9IjE0MCIgcj0iMTkiIGZpbGw9IiMyZTZhNDMiIHN0cm9rZT0idXJsKCNnb2xkKSIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPGNpcmNsZSBjeD0iMTIzNCIgY3k9IjE3MCIgcj0iMjMiIGZpbGw9IiM5ZjIwMjkiIHN0cm9rZT0idXJsKCNnb2xkKSIgc3Ryb2tlLXdpZHRoPSIzIi8+CiA8L2c+CiA8ZyBzdHJva2U9IiNmNGUzYmQiIHN0cm9rZS13aWR0aD0iMyIgb3BhY2l0eT0iLjc4Ij4KICA8cGF0aCBkPSJNOTAgMzAwdjM4TTcxIDMxOWgzOE03NyAzMDZsMjYgMjZNMTAzIDMwNmwtMjYgMjYiLz4KICA8cGF0aCBkPSJNMTM1MCAzMjB2NDRNMTMyOCAzNDJoNDRNMTMzNSAzMjdsMzAgMzBNMTM2NSAzMjdsLTMwIDMwIi8+CiA8L2c+CiA8ZyBvcGFjaXR5PSIuNTIiPgogIDxwYXRoIGQ9Ik0tMjUgNjc1YzUwLTUyIDEwNC03NiAxNjgtNjktNDAgMjQtNzAgNTktODcgMTA0aC04MXoiIGZpbGw9IiMxZjUxMzQiLz4KICA8cGF0aCBkPSJNMTQ2NSA2NzRjLTUyLTUwLTExMC03Mi0xNzQtNjIgNDMgMjIgNzYgNTUgOTUgOThoNzl6IiBmaWxsPSIjMWY1MTM0Ii8+CiAgPHBhdGggZD0iTTAgNzA1YzQyLTQyIDg3LTYyIDEzNi02ME0xNDQwIDcwNGMtNDMtNDAtOTAtNTktMTQyLTU2IiBzdHJva2U9IiNkOGI1NzQiIHN0cm9rZS13aWR0aD0iNCIvPgogPC9nPgo8L2c+PC9zdmc+"); }
body.seasonal-christmas .hero::after { background: radial-gradient(circle at 84% 18%, rgba(156,31,39,.30), transparent 30%), radial-gradient(circle at 12% 90%, rgba(32,91,57,.25), transparent 30%), linear-gradient(180deg, rgba(12,12,12,.05), rgba(12,12,12,.18)); }
body.seasonal-christmas.seasonal-scope-home_banner .promotion-banner,
body.seasonal-christmas.seasonal-scope-site .promotion-banner { border-bottom-color: rgba(232,205,160,.85); box-shadow: inset 0 -3px 0 rgba(126,31,35,.58), 0 12px 30px rgba(0,0,0,.14); }
body.seasonal-christmas.seasonal-scope-site .site-header { box-shadow: inset 0 -2px 0 rgba(38,93,59,.55); }
body.seasonal-christmas.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-christmas.seasonal-scope-site .info-section .eyebrow.red { color: #a92228; }

body.seasonal-halloween { --seasonal-accent: #d9903d; }
body.seasonal-halloween .hero::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDcyMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgo8ZGVmcz48ZmlsdGVyIGlkPSJoZyI+PGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iOCIvPjwvZmlsdGVyPjwvZGVmcz4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KIDxjaXJjbGUgY3g9IjEyODAiIGN5PSIxMjgiIHI9IjgyIiBmaWxsPSIjZTBhMjRiIiBvcGFjaXR5PSIuMzAiIGZpbHRlcj0idXJsKCNoZykiLz4KIDxwYXRoIGQ9Ik0xMzA1IDUxYTc4IDc4IDAgMSAwIDQ2IDEzNyA3MCA3MCAwIDEgMS00Ni0xMzd6IiBmaWxsPSIjZDk5MDNkIiBvcGFjaXR5PSIuODgiLz4KIDxnIGZpbGw9IiNkOTkwM2QiIG9wYWNpdHk9Ii43OCI+CiAgPHBhdGggZD0iTTY4MCAxMThjMTgtMjEgMzgtMTcgNTEtMiAxMy0xNSAzMy0xOCA1MyAyLTIxLTYtMzcgMC01MiAxNS0xNC0xNS0zMS0yMS01Mi0xNXoiLz4KICA8cGF0aCBkPSJNMTExMCAyODJjMTUtMTggMzEtMTQgNDEtMiAxMS0xMiAyNy0xNSA0NCAyLTE4LTUtMzEgMC00MyAxMi0xMi0xMi0yNS0xNy00Mi0xMnoiLz4KIDwvZz4KIDxnIHN0cm9rZT0iI2U4Y2RhMCIgc3Ryb2tlLXdpZHRoPSIyIiBvcGFjaXR5PSIuNDQiPjxwYXRoIGQ9Ik0wIDBsMTc1IDE3NU0wIDU1bDEzMCAxMzBNNTUgMGwxMzAgMTMwIi8+PHBhdGggZD0iTTE1IDE2MGM0OC00OCA5Ni05MSAxNDUtMTMwTTQ1IDE3NWMzNC00MCA3Mi03NiAxMTQtMTA4TTgyIDE4MmMyNC0zMSA1MS01OCA4MS04MiIvPjwvZz4KIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcwIDU0OCkgc2NhbGUoLjgyKSIgb3BhY2l0eT0iLjg2Ij48ZWxsaXBzZSBjeD0iOTAiIGN5PSI5NSIgcng9Ijg1IiByeT0iNjYiIGZpbGw9IiNjOTZmMmQiLz48ZWxsaXBzZSBjeD0iOTAiIGN5PSI5NSIgcng9IjU1IiByeT0iNjYiIGZpbGw9IiNlMDhhMzciLz48cGF0aCBkPSJNODIgMzFjMi0yNCAxMi0zOSAzMS00NyIgc3Ryb2tlPSIjNDc2MTNiIiBzdHJva2Utd2lkdGg9IjE0Ii8+PHBhdGggZD0iTTUxIDkxbDIyIDE1IDE3LTE4IDE4IDE4IDI0LTE1IiBzdHJva2U9IiMyYjE3MGYiIHN0cm9rZS13aWR0aD0iNyIvPjxwYXRoIGQ9Ik01OCA2OWwxOC04IDExIDE3TTEyMyA2OWwtMTgtOC0xMSAxNyIgc3Ryb2tlPSIjMmIxNzBmIiBzdHJva2Utd2lkdGg9IjciLz48L2c+CiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAwIDU2Nikgc2NhbGUoLjY1KSIgb3BhY2l0eT0iLjgwIj48ZWxsaXBzZSBjeD0iOTAiIGN5PSI5NSIgcng9Ijg1IiByeT0iNjYiIGZpbGw9IiNiZDYzMjkiLz48ZWxsaXBzZSBjeD0iOTAiIGN5PSI5NSIgcng9IjU1IiByeT0iNjYiIGZpbGw9IiNkYTg0MzUiLz48cGF0aCBkPSJNODIgMzFjMi0yNCAxMi0zOSAzMS00NyIgc3Ryb2tlPSIjNDc2MTNiIiBzdHJva2Utd2lkdGg9IjE0Ii8+PHBhdGggZD0iTTUxIDkxbDIyIDE1IDE3LTE4IDE4IDE4IDI0LTE1IiBzdHJva2U9IiMyYjE3MGYiIHN0cm9rZS13aWR0aD0iNyIvPjxwYXRoIGQ9Ik01OCA2OWwxOC04IDExIDE3TTEyMyA2OWwtMTgtOC0xMSAxNyIgc3Ryb2tlPSIjMmIxNzBmIiBzdHJva2Utd2lkdGg9IjciLz48L2c+CiA8cGF0aCBkPSJNMjgwIDY5MGMxOTAtNzIgMzg0LTMwIDU2OC03IDE3MiAyMiAzNTAgMTIgNTkyLTQyIiBzdHJva2U9IiNkOTkwM2QiIHN0cm9rZS13aWR0aD0iMyIgb3BhY2l0eT0iLjIyIi8+CjwvZz48L3N2Zz4="); }
body.seasonal-halloween .hero::after { background: radial-gradient(circle at 84% 18%, rgba(221,142,59,.34), transparent 28%), radial-gradient(circle at 15% 84%, rgba(116,40,17,.28), transparent 32%), linear-gradient(110deg, rgba(24,10,5,.13), transparent 45%, rgba(116,40,17,.12)); }
body.seasonal-halloween.seasonal-scope-home_banner .promotion-banner,
body.seasonal-halloween.seasonal-scope-site .promotion-banner { border-bottom-color: rgba(217,144,61,.88); box-shadow: inset 0 -3px 0 rgba(217,144,61,.45), 0 12px 30px rgba(0,0,0,.14); }
body.seasonal-halloween.seasonal-scope-site .site-header { box-shadow: inset 0 -2px 0 rgba(217,144,61,.48); }
body.seasonal-halloween.seasonal-scope-site .service-button.active { border-color: #d9903d; background: rgba(217,144,61,.14); }
body.seasonal-halloween.seasonal-scope-site .primary-cta,
body.seasonal-halloween.seasonal-scope-site .primary-button { box-shadow: 0 12px 30px rgba(151,69,24,.28); }

body.seasonal-easter { --seasonal-accent: #c49eb4; }
body.seasonal-easter .hero::before { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDcyMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgo8ZyBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogPGcgb3BhY2l0eT0iLjcyIj48cGF0aCBkPSJNLTI1IDk2YzEyNi0yOCAyMTEtMTIgMzAwIDUxIiBzdHJva2U9IiM3ODlkNzAiIHN0cm9rZS13aWR0aD0iNyIvPjxwYXRoIGQ9Ik03MCAxMTdjLTktNDAtMzEtNjktNjctODhNMTM1IDEyNGM4LTM4IDMwLTY3IDY1LTg3TTIxMSAxNDZjNS0zMSAyMi01NSA1MS03NCIgc3Ryb2tlPSIjNzg5ZDcwIiBzdHJva2Utd2lkdGg9IjUiLz48ZyBmaWxsPSIjYzQ5ZWI0IiBzdHJva2U9IiNmNWU4ZDIiIHN0cm9rZS13aWR0aD0iMiI+PGNpcmNsZSBjeD0iNjIiIGN5PSI3NyIgcj0iMTEiLz48Y2lyY2xlIGN4PSIxNTciIGN5PSI4MiIgcj0iMTAiLz48Y2lyY2xlIGN4PSIyMjUiIGN5PSIxMTkiIHI9IjkiLz48L2c+PHBhdGggZD0iTTE0NjAgOTJjLTEyMC0yNS0yMTUtNi0zMDAgNTgiIHN0cm9rZT0iIzc4OWQ3MCIgc3Ryb2tlLXdpZHRoPSI3Ii8+PHBhdGggZD0iTTEzNzAgMTEyYzgtMzggMzAtNjcgNjUtODhNMTMwMCAxMjZjLTctMzctMjgtNjUtNjEtODZNMTIyMiAxNDljLTMtMzEtMjAtNTYtNDgtNzciIHN0cm9rZT0iIzc4OWQ3MCIgc3Ryb2tlLXdpZHRoPSI1Ii8+PGcgZmlsbD0iI2U0YzM3YiIgc3Ryb2tlPSIjZjVlOGQyIiBzdHJva2Utd2lkdGg9IjIiPjxjaXJjbGUgY3g9IjEzNzQiIGN5PSI3MyIgcj0iMTEiLz48Y2lyY2xlIGN4PSIxMjg1IiBjeT0iODgiIHI9IjEwIi8+PGNpcmNsZSBjeD0iMTIxMCIgY3k9IjEyNiIgcj0iOSIvPjwvZz48L2c+CiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNSA1NTUpIHNjYWxlKC43MCkiIG9wYWNpdHk9Ii44OCI+PGVsbGlwc2UgY3g9IjY1IiBjeT0iODIiIHJ4PSI0OSIgcnk9IjcyIiBmaWxsPSIjYzQ5ZWI0IiBzdHJva2U9IiNmNWU4ZDIiIHN0cm9rZS13aWR0aD0iNCIvPjxwYXRoIGQ9Ik0yOSA4MGMyMC0xOCA0OS0xOCA3MiAwTTI3IDEwNGMyMyAxNiA1MiAxNiA3OCAwTTQ1IDQybDM4IDc4TTg4IDM4TDQ4IDEyMyIgc3Ryb2tlPSIjZjVlOGQyIiBzdHJva2Utd2lkdGg9IjYiIG9wYWNpdHk9Ii44NSIvPjxlbGxpcHNlIGN4PSIxNTAiIGN5PSI5MSIgcng9IjQ1IiByeT0iNjUiIGZpbGw9IiM3ODlkNzAiIHN0cm9rZT0iI2Y1ZThkMiIgc3Ryb2tlLXdpZHRoPSI0Ii8+PHBhdGggZD0iTTExNyA3Mmg2Nk0xMTcgOTloNjZNMTI5IDQybDQyIDk1IiBzdHJva2U9IiNmNWU4ZDIiIHN0cm9rZS13aWR0aD0iNSIgb3BhY2l0eT0iLjgyIi8+PGVsbGlwc2UgY3g9IjIzMiIgY3k9IjkyIiByeD0iNDIiIHJ5PSI2MSIgZmlsbD0iI2Q5Yjc2NCIgc3Ryb2tlPSIjZjVlOGQyIiBzdHJva2Utd2lkdGg9IjQiLz48cGF0aCBkPSJNMjAyIDcwYzE4IDEzIDQyIDEzIDYxIDBNMjAwIDk4YzIwIDE0IDQ1IDE0IDY0IDAiIHN0cm9rZT0iI2Y1ZThkMiIgc3Ryb2tlLXdpZHRoPSI1Ii8+PC9nPgogPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTE5MCA0MjApIHNjYWxlKC43MikiIG9wYWNpdHk9Ii43MCIgZmlsbD0iI2Y1ZThkMiI+PGVsbGlwc2UgY3g9IjEyMCIgY3k9IjE3NiIgcng9IjgzIiByeT0iMTA4Ii8+PGVsbGlwc2UgY3g9Ijc2IiBjeT0iNjgiIHJ4PSIyOCIgcnk9Ijc2IiB0cmFuc2Zvcm09InJvdGF0ZSgtMTYgNzYgNjgpIi8+PGVsbGlwc2UgY3g9IjE1MCIgY3k9IjYyIiByeD0iMjgiIHJ5PSI3OCIgdHJhbnNmb3JtPSJyb3RhdGUoMTQgMTUwIDYyKSIvPjxjaXJjbGUgY3g9IjE5OCIgY3k9IjE4NSIgcj0iMzQiLz48Y2lyY2xlIGN4PSI4OCIgY3k9IjE0NSIgcj0iNyIgZmlsbD0iIzVkNTE0NyIvPjwvZz4KPC9nPjwvc3ZnPg=="); }
body.seasonal-easter .hero::after { background: radial-gradient(circle at 82% 20%, rgba(196,158,180,.24), transparent 31%), radial-gradient(circle at 16% 88%, rgba(121,157,112,.24), transparent 31%), linear-gradient(110deg, transparent 35%, rgba(245,232,210,.10), transparent 68%); }
body.seasonal-easter.seasonal-scope-home_banner .promotion-banner,
body.seasonal-easter.seasonal-scope-site .promotion-banner { border-bottom-color: rgba(202,185,148,.84); box-shadow: inset 0 -3px 0 rgba(121,157,112,.38), 0 12px 30px rgba(0,0,0,.14); }
body.seasonal-easter.seasonal-scope-site .site-header { box-shadow: inset 0 -2px 0 rgba(196,158,180,.42); }
body.seasonal-easter.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-easter.seasonal-scope-site .info-section .eyebrow.red { color: #846b55; }

body.seasonal-active.seasonal-scope-site .site-header { border-bottom-color: color-mix(in srgb, var(--seasonal-accent) 55%, transparent); }
body.seasonal-active.seasonal-scope-site .order-strip { box-shadow: 0 20px 55px color-mix(in srgb, var(--seasonal-accent) 22%, rgba(0,0,0,.18)); }
body.seasonal-christmas .hero-copy::before { content: "🎄 Noël chez Gastonello"; color: #2c1d10; background: linear-gradient(135deg, #f8e9b8, #d8b574 55%, #f4dca1); }
body.seasonal-christmas .hero-card { box-shadow: 0 28px 70px rgba(123, 25, 29, .25); }
body.seasonal-christmas .hero-copy .eyebrow { color: #f6ddad; text-shadow: 0 0 14px rgba(216,181,116,.25); }
body.seasonal-christmas .primary-cta,
body.seasonal-christmas .primary-button { background: linear-gradient(135deg, #c51f2d, #8f141b); }

body.seasonal-halloween .hero-copy::before { content: "🎃 Halloween chez Gastonello"; color: #24160c; background: linear-gradient(135deg, #f4c06d, #d9903d 58%, #f0aa4f); }
body.seasonal-halloween .hero-card { box-shadow: 0 28px 70px rgba(118, 48, 15, .34); }
body.seasonal-halloween .hero-copy .eyebrow { color: #ffce86; text-shadow: 0 0 14px rgba(217,144,61,.25); }
body.seasonal-halloween .primary-cta,
body.seasonal-halloween .primary-button { background: linear-gradient(135deg, #d77724, #8f3a16); box-shadow: 0 12px 30px rgba(151,69,24,.36); }

body.seasonal-easter .hero-copy::before { content: "🐣 Pâques chez Gastonello"; color: #43362b; background: linear-gradient(135deg, #f8e7bf, #ebc8d7 46%, #d3e1aa 100%); }
body.seasonal-easter .hero-card { box-shadow: 0 28px 70px rgba(157, 122, 80, .22); }
body.seasonal-easter .hero-copy .eyebrow { color: #f7e8c8; text-shadow: 0 0 14px rgba(196,158,180,.24); }
body.seasonal-easter .primary-cta,
body.seasonal-easter .primary-button { background: linear-gradient(135deg, #d28db0, #9ab36d); box-shadow: 0 12px 30px rgba(145,114,148,.28); }

body.seasonal-active.seasonal-scope-site .site-header { backdrop-filter: blur(8px); }
body.seasonal-active.seasonal-scope-site .site-header nav a { color: rgba(255,255,255,.95); }
body.seasonal-active.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-active.seasonal-scope-site .info-section .eyebrow.red { letter-spacing: .18em; }


@media (prefers-reduced-motion: reduce) { body.seasonal-active * { animation: none !important; } }
@media (max-width: 680px) {
  body.seasonal-active { --seasonal-strength: .66; }
  body.seasonal-active.seasonal-intensity-standard { --seasonal-strength: .84; }
  body.seasonal-active .hero::before { background-position: center top; }
  body.seasonal-active .hero::after { opacity: calc(var(--seasonal-strength) * .48); }
}


/* V5.13.1.130 — thèmes saisonniers chaleureux, assumés et immédiatement identifiables */
.seasonal-hero-labels { display: none; margin: 0 0 17px; }
.seasonal-hero-label { display: none; width: max-content; max-width: 100%; align-items: center; padding: 11px 17px; border: 1px solid rgba(255,255,255,.46); border-radius: 999px; box-shadow: 0 16px 38px rgba(0,0,0,.34); font-size: 12px; font-weight: 950; letter-spacing: .105em; line-height: 1.25; text-transform: uppercase; }
body.seasonal-active .seasonal-hero-labels { display: flex; }
body.seasonal-christmas .seasonal-hero-label-christmas { display: inline-flex; color: #351b10; background: linear-gradient(135deg,#fff1b8,#efc85d 48%,#fff1b8); }
body.seasonal-halloween .seasonal-hero-label-halloween { display: inline-flex; color: #25110a; background: linear-gradient(135deg,#ffd081,#ec8a2d 54%,#f7b04d); }
body.seasonal-easter .seasonal-hero-label-easter { display: inline-flex; color: #46372e; background: linear-gradient(135deg,#ffe1ef,#f6d99d 48%,#cfe8a8); }
body.seasonal-active .hero-copy::before { display: none !important; content: none !important; }
body.seasonal-active .hero::before { background-position: center !important; background-size: cover !important; opacity: calc(var(--seasonal-strength) * .98) !important; }
body.seasonal-active .hero::after { opacity: 1 !important; }
body.seasonal-christmas .hero::before { background-image: url('/assets/seasonal/christmas-magical-v130.svg') !important; }
body.seasonal-christmas .hero::after { background: linear-gradient(90deg,rgba(10,5,5,.84) 0%,rgba(16,7,7,.47) 52%,rgba(8,18,12,.22) 100%) !important; }
body.seasonal-halloween .hero::before { background-image: url('/assets/seasonal/halloween-night-v130.svg') !important; }
body.seasonal-halloween .hero::after { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%20900%20420%27%3E%0A%3Cg%20fill=%27none%27%20stroke=%27#f8d7a5%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%20opacity=%270.92%27%3E%0A%3Cpath%20d=%27M96%200%20L96%20118%27%20stroke-width=%272.6%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q124%2086%20160%2068%27%20stroke-width=%272.2%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q146%2098%20202%2097%27%20stroke-width=%272.1%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q156%20122%20214%20149%27%20stroke-width=%272%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q142%20146%20184%20192%27%20stroke-width=%271.9%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q120%20164%20132%20216%27%20stroke-width=%271.8%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q74%2090%2040%2072%27%20stroke-width=%272.2%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q46%2098%20-10%2097%27%20stroke-width=%272.1%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q36%20122%20-22%20149%27%20stroke-width=%272%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q50%20146%208%20192%27%20stroke-width=%271.9%27/%3E%0A%3Cpath%20d=%27M96%20118%20Q72%20164%2060%20216%27%20stroke-width=%271.8%27/%3E%0A%3Cpath%20d=%27M44%2044%20Q96%2068%20148%2044%27%20stroke-width=%271.5%27/%3E%0A%3Cpath%20d=%27M25%2073%20Q96%20100%20167%2073%27%20stroke-width=%271.5%27/%3E%0A%3Cpath%20d=%27M12%20110%20Q96%20132%20180%20110%27%20stroke-width=%271.5%27/%3E%0A%3Cpath%20d=%27M18%20151%20Q96%20164%20174%20151%27%20stroke-width=%271.4%27/%3E%0A%3Cpath%20d=%27M30%20191%20Q96%20199%20162%20191%27%20stroke-width=%271.3%27/%3E%0A%3Cpath%20d=%27M55%2028%20Q68%2076%2055%20138%27%20stroke-width=%271.2%27/%3E%0A%3Cpath%20d=%27M76%2016%20Q84%2071%2076%20176%27%20stroke-width=%271.15%27/%3E%0A%3Cpath%20d=%27M116%2016%20Q108%2071%20116%20176%27%20stroke-width=%271.15%27/%3E%0A%3Cpath%20d=%27M137%2028%20Q124%2076%20137%20138%27%20stroke-width=%271.2%27/%3E%0A%3C/g%3E%0A%3Cg%20fill=%27#ffca7c%27%20opacity=%270.96%27%20filter=%27url(#s)%27%3E%0A%3Cpath%20d=%27M640%2086q18-28%2042-20%209-18%2026-18%2015%200%2024%2016%2028-8%2043%2022-18-6-35%204-10%206-17%2017-8-12-18-18-15-9-31-3-10%204-20%2010%203-7%206-10z%27/%3E%0A%3Cpath%20d=%27M728%2044q13-20%2030-14%206-12%2018-12%2011%200%2017%2011%2020-6%2031%2016-13-4-25%203-7%204-12%2012-6-8-13-12-11-7-22-2-8%203-14%207%202-5%204-9z%27/%3E%0A%3Cpath%20d=%27M770%20115q10-16%2024-11%205-10%2014-10%209%200%2014%209%2016-5%2025%2013-10-3-20%202-6%203-10%2010-5-7-11-10-9-5-18-2-6%203-12%206%202-4%204-7z%27/%3E%0A%3C/g%3E%0A%3Cdefs%3E%3Cfilter%20id=%27s%27%20x=%27-20%%27%20y=%27-20%%27%20width=%27140%%27%20height=%27140%%27%3E%3CfeDropShadow%20dx=%270%27%20dy=%270%27%20stdDeviation=%274%27%20flood-color=%27#0b0810%27%20flood-opacity=%270.85%27/%3E%3C/filter%3E%3C/defs%3E%0A%3C/svg%3E"), linear-gradient(90deg,rgba(12,5,16,.64) 0%,rgba(21,6,6,.28) 52%,rgba(48,15,3,.10) 100%) !important; background-repeat: no-repeat, no-repeat !important; background-position: left top, center center !important; background-size: 100% 100%, 100% 100% !important; }
body.seasonal-halloween .seasonal-hero-label-halloween { box-shadow: 0 18px 46px rgba(247,176,77,.28); }
body.seasonal-halloween .hero-card { border-color: rgba(255,190,106,.58); box-shadow: 0 34px 90px rgba(89,27,4,.34); }
body.seasonal-easter .hero::before { background-image: url('/assets/seasonal/easter-spring-v130.svg') !important; }
body.seasonal-easter .hero::after { background: linear-gradient(90deg,rgba(27,13,17,.78) 0%,rgba(34,18,14,.42) 52%,rgba(28,50,20,.12) 100%) !important; }
body.seasonal-active.seasonal-intensity-subtle { --seasonal-strength: .82; }
body.seasonal-active.seasonal-intensity-standard { --seasonal-strength: 1; }
body.seasonal-christmas .hero-card { border-color: rgba(255,220,137,.4); box-shadow: 0 34px 90px rgba(110,12,20,.38); }
body.seasonal-halloween .hero-card { border-color: rgba(245,152,63,.45); box-shadow: 0 34px 90px rgba(89,27,4,.46); }
body.seasonal-easter .hero-card { border-color: rgba(255,225,235,.5); box-shadow: 0 34px 90px rgba(112,75,95,.34); }
body.seasonal-christmas .service-button.active { border-color:#f4ce75; background:rgba(107,21,28,.66); }
body.seasonal-halloween .service-button.active { border-color:#f29a42; background:rgba(116,45,11,.66); }
body.seasonal-easter .service-button.active { border-color:#f0bed5; background:rgba(116,79,97,.52); }
body.seasonal-christmas.seasonal-scope-site { background:#fff8eb; }
body.seasonal-halloween.seasonal-scope-site { background:#fff3e5; }
body.seasonal-easter.seasonal-scope-site { background:#fff8ef; }
body.seasonal-christmas.seasonal-scope-site .site-header { background:rgba(74,8,16,.97); border-bottom-color:rgba(244,206,117,.62); }
body.seasonal-halloween.seasonal-scope-site .site-header { background:rgba(34,10,40,.97); border-bottom-color:rgba(242,154,66,.66); }
body.seasonal-easter.seasonal-scope-site .site-header { background:rgba(88,57,72,.96); border-bottom-color:rgba(241,198,218,.7); }
body.seasonal-christmas.seasonal-scope-site .order-strip b { background:#aa1c29; }
body.seasonal-halloween.seasonal-scope-site .order-strip b { background:#d86f20; }
body.seasonal-easter.seasonal-scope-site .order-strip b { background:#c883a4; }
body.seasonal-active.seasonal-scope-site .values-section article { border-top:5px solid color-mix(in srgb,var(--seasonal-accent) 72%,white); }
@keyframes seasonalBadgeGlow { 0%,100%{transform:translateY(0);filter:brightness(1)} 50%{transform:translateY(-1px);filter:brightness(1.08)} }
body.seasonal-active.seasonal-intensity-standard .seasonal-hero-label { animation:seasonalBadgeGlow 2.8s ease-in-out infinite; }
@media (max-width: 680px) {
  .seasonal-hero-label { width: 100%; justify-content:center; padding:10px 12px; text-align:center; font-size:10px; letter-spacing:.08em; }
  body.seasonal-active .hero::before { background-position:center top !important; }
}
@media (prefers-reduced-motion: reduce) { body.seasonal-active .seasonal-hero-label { animation:none !important; } }


/* V5.13.1.131 — les décors saisonniers restent entièrement sous le header. */
@media (min-width: 1021px) {
  body.seasonal-active .hero::before {
    inset: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center 24px !important;
    background-size: 100% calc(100% - 24px) !important;
  }
  body.seasonal-active .hero::after {
    inset: 0 !important;
  }
}
@media (max-width: 1020px) {
  body.seasonal-active .hero::before {
    background-position: center top !important;
  }
}


/* V5.13.1.132 — chaque décor saisonnier est affiché en entier dans le bandeau. */
body.seasonal-active .hero::before {
  top: 14px !important;
  right: 0 !important;
  bottom: 12px !important;
  left: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
}
body.seasonal-christmas .hero::before {
  background-image: url('/assets/seasonal/christmas-magical-v130.svg?v=132') !important;
}
body.seasonal-halloween .hero::before {
  background-image: url('/assets/seasonal/halloween-night-v130.svg?v=132') !important;
}
body.seasonal-easter .hero::before {
  background-image: url('/assets/seasonal/easter-spring-v130.svg?v=132') !important;
}
@media (max-width: 1020px) {
  body.seasonal-active .hero::before {
    top: 8px !important;
    bottom: 8px !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
  }
}


/* V5.13.1.133 — décors redessinés dans une zone sûre : aucun élément ne touche les bords du hero. */
body.seasonal-active .hero::before {
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  opacity: var(--seasonal-strength) !important;
}
body.seasonal-christmas .hero::before { background-image: url('/assets/seasonal/christmas-magical-v133.svg') !important; }
body.seasonal-halloween .hero::before { background-image: url('/assets/seasonal/halloween-night-v133.svg') !important; }
body.seasonal-easter .hero::before { background-image: url('/assets/seasonal/easter-spring-v133.svg') !important; }
@media (max-width: 1020px) {
  body.seasonal-active .hero::before {
    background-size: auto 100% !important;
    background-position: center center !important;
  }
}


/* V5.13.1.134 — Halloween : chauves-souris et toile d’araignée éclaircies pour une meilleure lisibilité. */
body.seasonal-halloween .hero::after { opacity: 1 !important; }


/* V5.13.1.150 — correction PC : image visible sur toute la largeur, sans zone noire artificielle. */
body.seasonal-school {
  --seasonal-accent: #caa45f;
  --school-green: #123f37;
  --school-green-dark: #0a2722;
  --school-leather: #6c4931;
  --school-paper: #f4ead8;
  --school-ink: #24302c;
  --school-brass: #caa45f;
}

/* Accueil : image hero réaliste déclinée selon le support. */
body.seasonal-school .hero {
  background-color: var(--school-green-dark) !important;
  border-bottom: 1px solid rgba(202,164,95,.36);
}
body.seasonal-school .hero::before {
  background-image:
    linear-gradient(90deg, rgba(12,45,38,.62) 0%, rgba(11,39,33,.45) 19%, rgba(10,32,28,.26) 34%, rgba(9,26,23,.10) 50%, rgba(10,24,21,.04) 68%, rgba(10,24,21,.02) 100%),
    url('/assets/seasonal/school-hero-study-desktop-v150.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-school .hero::after {
  background:
    radial-gradient(circle at 76% 22%, rgba(202,164,95,.14), transparent 24%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.22)) !important;
  opacity: 1 !important;
}
body.seasonal-school .seasonal-hero-label-school {
  display: inline-flex;
  color: #2b2214;
  background: linear-gradient(135deg, #f4e5bd, #d7b16d 62%, #c1944c);
  border: 1px solid rgba(255,255,255,.34);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
}
body.seasonal-school .hero-copy .eyebrow { color: #ead8b2; }
body.seasonal-school .hero-copy h1,
body.seasonal-school .hero-copy p { text-shadow: 0 2px 18px rgba(0,0,0,.48); }
body.seasonal-school .hero-card {
  background: linear-gradient(145deg, rgba(11,40,35,.82), rgba(8,28,24,.76)) !important;
  border-color: rgba(202,164,95,.48) !important;
  box-shadow: 0 30px 84px rgba(0,0,0,.40) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-school .hero-hours {
  background: linear-gradient(145deg, #f7ecd8, #ead9bd) !important;
  border: 1px solid rgba(111,75,46,.18);
}
body.seasonal-school .service-button {
  background: rgba(244,234,216,.055);
  border-color: rgba(244,234,216,.18);
}
body.seasonal-school .service-button:hover,
body.seasonal-school .service-button.active {
  border-color: var(--school-brass);
  background: rgba(202,164,95,.13);
}
body.seasonal-school .service-icon { background: linear-gradient(145deg,#ead6a4,#c79b50); }
body.seasonal-school .primary-cta,
body.seasonal-school .primary-button {
  color: #21170c !important;
  background: linear-gradient(135deg, #d7b16d, #b9853a) !important;
  box-shadow: 0 12px 28px rgba(185,133,58,.28) !important;
}
body.seasonal-school .hero-route-cta {
  border-color: rgba(202,164,95,.48) !important;
  background: rgba(8,28,24,.56) !important;
}

/* Navigation et bandeaux. */
body.seasonal-school.seasonal-scope-home_banner .promotion-banner,
body.seasonal-school.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg,#2e1e14 0%,#5d3e2b 52%,#173f37 100%) !important;
  border-top-color: rgba(202,164,95,.28) !important;
  border-bottom-color: rgba(202,164,95,.65) !important;
}
body.seasonal-school.seasonal-scope-site .site-header {
  background: rgba(9,48,42,.97) !important;
  border-bottom-color: rgba(202,164,95,.52) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.16);
}
body.seasonal-school.seasonal-scope-site .site-header nav a:hover,
body.seasonal-school.seasonal-scope-site .phone-link { color: #e6cf9f !important; }
body.seasonal-school.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg,#8f3e32,#6f2f28) !important;
}

/* Le thème continue sous le hero : papier, cuir, vert et laiton. */
body.seasonal-school.seasonal-scope-site {
  color: var(--school-ink);
  background-color: var(--school-paper) !important;
  background-image:
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(68,95,86,.045) 34px 35px),
    linear-gradient(180deg,#f7efdf 0%,#f1e3ce 100%) !important;
}
body.seasonal-school.seasonal-scope-site .order-strip {
  background: #c7b18c;
  border: 1px solid rgba(108,73,49,.18);
  box-shadow: 0 18px 46px rgba(73,48,31,.16);
}
body.seasonal-school.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg,#fffaf0,#f2e4cd);
}
body.seasonal-school.seasonal-scope-site .order-strip b {
  background: var(--school-green) !important;
  box-shadow: inset 0 0 0 2px rgba(202,164,95,.42);
}
body.seasonal-school.seasonal-scope-site .menu-section { position: relative; }
body.seasonal-school.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-school.seasonal-scope-site .info-section .eyebrow.red {
  color: #8b5a36 !important;
}
body.seasonal-school.seasonal-scope-site .category-tab {
  color: #28443d;
  background: rgba(255,250,240,.88);
  border-color: rgba(108,73,49,.22);
}
body.seasonal-school.seasonal-scope-site .category-tab.active {
  color: #fff7e8;
  background: var(--school-green);
  border-color: var(--school-green);
  box-shadow: 0 8px 20px rgba(18,63,55,.18);
}
body.seasonal-school.seasonal-scope-site .category-line,
body.seasonal-school.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg,var(--school-leather),var(--school-brass));
}
body.seasonal-school.seasonal-scope-site .search-box {
  background: rgba(255,250,240,.92);
  border-color: rgba(108,73,49,.20);
}
body.seasonal-school.seasonal-scope-site .product-card {
  background: linear-gradient(180deg,rgba(255,252,245,.98),rgba(246,236,219,.98));
  border-color: rgba(108,73,49,.20);
  box-shadow: 0 10px 28px rgba(84,56,37,.08);
}
body.seasonal-school.seasonal-scope-site .product-card:hover {
  border-color: rgba(202,164,95,.62);
  box-shadow: 0 16px 40px rgba(84,56,37,.14);
}
body.seasonal-school.seasonal-scope-site .product-card .price { color: #8a5431; }
body.seasonal-school.seasonal-scope-site .tag {
  color: #4c3a2d;
  background: #eadcc7;
  border: 1px solid rgba(108,73,49,.10);
}
body.seasonal-school.seasonal-scope-site .values-section article {
  border-top: 4px solid var(--school-brass);
  box-shadow: 0 12px 32px rgba(84,56,37,.10);
}
body.seasonal-school.seasonal-scope-site .values-section article:nth-child(1) { background: #f5e8d3; }
body.seasonal-school.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fff8ea;
  background: linear-gradient(145deg,#123f37,#0b2c27);
}
body.seasonal-school.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg,#e6d3b9,#d7bea0);
}
body.seasonal-school.seasonal-scope-site .info-section {
  color: #fff8ea;
  background:
    radial-gradient(circle at 78% 20%,rgba(202,164,95,.14),transparent 28%),
    linear-gradient(145deg,#102f2a,#291d16) !important;
  border: 1px solid rgba(202,164,95,.28);
  box-shadow: 0 22px 54px rgba(38,25,16,.20);
}
body.seasonal-school.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg,#0b2f29 0%,#071f1b 100%) !important;
  border-top-color: rgba(202,164,95,.30) !important;
}
body.seasonal-school.seasonal-scope-site .footer-brand small,
body.seasonal-school.seasonal-scope-site .footer-phone,
body.seasonal-school.seasonal-scope-site .footer-menu-link { color: #e3c98f !important; }

/* Tablette : image dédiée plus verticale, sans recadrer les éléments importants. */
@media (max-width: 1180px) {
  body.seasonal-school .hero::before {
    background-image:
      linear-gradient(180deg, rgba(3,10,9,.58) 0%, rgba(4,12,11,.22) 26%, rgba(4,12,11,.08) 40%),
      linear-gradient(90deg, rgba(4,10,9,.86) 0%, rgba(5,13,12,.70) 18%, rgba(7,18,16,.30) 38%, rgba(10,24,21,.06) 58%, transparent 100%),
      url('/assets/seasonal/school-hero-study-tablet-v149.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-school .hero::after {
    background:
      radial-gradient(circle at 76% 22%, rgba(202,164,95,.12), transparent 24%),
      linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.20)) !important;
  }
}

/* Mobile : image portrait dédiée pour garder un rendu propre et complet. */
@media (max-width: 760px) {
  body.seasonal-school .hero::before {
    background-image:
      linear-gradient(180deg, rgba(3,9,8,.72) 0%, rgba(4,12,11,.44) 22%, rgba(4,12,11,.18) 40%, rgba(4,12,11,.10) 58%, rgba(4,12,11,.14) 100%),
      linear-gradient(90deg, rgba(4,10,9,.86) 0%, rgba(5,13,12,.54) 28%, rgba(6,15,14,.18) 48%, rgba(10,24,21,.04) 68%, transparent 100%),
      url('/assets/seasonal/school-hero-study-mobile-v149.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-school .hero::after {
    background:
      radial-gradient(circle at 74% 18%, rgba(202,164,95,.10), transparent 24%),
      linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.24)) !important;
  }
}









/* V5.13.1.151 — thème Noël premium responsive avec hero réaliste sur tous les supports. */
body.seasonal-christmas {
  --seasonal-accent: #e5c57a;
  --christmas-red: #8f1f26;
  --christmas-red-dark: #6f141b;
  --christmas-green: #103830;
  --christmas-green-dark: #071d1a;
  --christmas-paper: #fff8eb;
  --christmas-gold: #e5c57a;
  --christmas-ink: #2d1d14;
}
body.seasonal-christmas .hero {
  background-color: var(--christmas-green-dark) !important;
  border-bottom: 1px solid rgba(229,197,122,.34);
}
body.seasonal-christmas .hero::before {
  background-image:
    linear-gradient(90deg, rgba(4,11,10,.90) 0%, rgba(5,13,12,.82) 18%, rgba(7,16,15,.58) 34%, rgba(9,18,17,.24) 48%, rgba(9,18,17,.06) 68%, transparent 100%),
    url('/assets/seasonal/christmas-hero-desktop-v151.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-christmas .hero::after {
  background:
    radial-gradient(circle at 84% 20%, rgba(232,192,104,.16), transparent 22%),
    radial-gradient(circle at 96% 28%, rgba(168,34,42,.12), transparent 18%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.18)) !important;
  opacity: 1 !important;
}
body.seasonal-christmas .seasonal-hero-label-christmas {
  display: inline-flex;
  color: #341d11;
  background: linear-gradient(135deg, #fff0bd, #e7c673 58%, #d7aa59);
  border: 1px solid rgba(255,255,255,.32);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
}
body.seasonal-christmas .hero-copy .eyebrow { color: #f7e2b0; text-shadow: 0 0 18px rgba(229,197,122,.14); }
body.seasonal-christmas .hero-copy h1,
body.seasonal-christmas .hero-copy p { text-shadow: 0 2px 18px rgba(0,0,0,.42); }
body.seasonal-christmas .hero-card {
  background: linear-gradient(145deg, rgba(11,38,33,.82), rgba(10,27,24,.78)) !important;
  border-color: rgba(229,197,122,.44) !important;
  box-shadow: 0 30px 82px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-christmas .hero-hours {
  background: linear-gradient(145deg, #fbefda, #ecdabd) !important;
  border: 1px solid rgba(116,75,46,.18);
}
body.seasonal-christmas .service-button {
  background: rgba(255,248,235,.05);
  border-color: rgba(255,248,235,.17);
}
body.seasonal-christmas .service-button:hover,
body.seasonal-christmas .service-button.active {
  border-color: var(--christmas-gold);
  background: rgba(143,31,38,.18);
}
body.seasonal-christmas .service-icon { background: linear-gradient(145deg, #f1ddb0, #d6ab58); }
body.seasonal-christmas .primary-cta,
body.seasonal-christmas .primary-button {
  color: #fff9ed !important;
  background: linear-gradient(135deg, var(--christmas-red), var(--christmas-red-dark)) !important;
  box-shadow: 0 12px 28px rgba(111,20,27,.28) !important;
}
body.seasonal-christmas .hero-route-cta {
  border-color: rgba(229,197,122,.46) !important;
  background: rgba(9,30,26,.56) !important;
}
body.seasonal-christmas.seasonal-scope-home_banner .promotion-banner,
body.seasonal-christmas.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #3b0f18 0%, #8f1f26 50%, #123d33 100%) !important;
  border-top-color: rgba(229,197,122,.26) !important;
  border-bottom-color: rgba(229,197,122,.64) !important;
}
body.seasonal-christmas.seasonal-scope-site .site-header {
  background: rgba(60,10,18,.97) !important;
  border-bottom-color: rgba(229,197,122,.52) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.16);
}
body.seasonal-christmas.seasonal-scope-site .site-header nav a:hover,
body.seasonal-christmas.seasonal-scope-site .phone-link { color: #f0d89b !important; }
body.seasonal-christmas.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #8f1f26, #6d141b) !important;
}
body.seasonal-christmas.seasonal-scope-site {
  color: var(--christmas-ink);
  background-color: var(--christmas-paper) !important;
  background-image:
    radial-gradient(circle at top right, rgba(143,31,38,.08), transparent 28%),
    linear-gradient(180deg, #fff8eb 0%, #f7ecd7 100%) !important;
}
body.seasonal-christmas.seasonal-scope-site .order-strip {
  background: #d4c1a2;
  border: 1px solid rgba(111,20,27,.12);
  box-shadow: 0 18px 46px rgba(73,48,31,.15);
}
body.seasonal-christmas.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf5, #f4e8d4);
}
body.seasonal-christmas.seasonal-scope-site .order-strip b {
  background: var(--christmas-red) !important;
}
body.seasonal-christmas.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-christmas.seasonal-scope-site .info-section .eyebrow.red { color: #a92228 !important; }
body.seasonal-christmas.seasonal-scope-site .category-tab {
  color: #3a3025;
  background: rgba(255,251,243,.92);
  border-color: rgba(108,73,49,.20);
}
body.seasonal-christmas.seasonal-scope-site .category-tab.active {
  color: #fff8e8;
  background: var(--christmas-green);
  border-color: var(--christmas-green);
  box-shadow: 0 8px 20px rgba(16,56,48,.18);
}
body.seasonal-christmas.seasonal-scope-site .category-line,
body.seasonal-christmas.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, var(--christmas-red), var(--christmas-gold));
}
body.seasonal-christmas.seasonal-scope-site .search-box {
  background: rgba(255,251,243,.94);
  border-color: rgba(108,73,49,.18);
}
body.seasonal-christmas.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,248,.98), rgba(247,237,221,.98));
  border-color: rgba(108,73,49,.18);
  box-shadow: 0 10px 28px rgba(84,56,37,.08);
}
body.seasonal-christmas.seasonal-scope-site .product-card:hover {
  border-color: rgba(229,197,122,.62);
  box-shadow: 0 16px 40px rgba(84,56,37,.14);
}
body.seasonal-christmas.seasonal-scope-site .product-card .price { color: #8c1f26; }
body.seasonal-christmas.seasonal-scope-site .tag {
  color: #4b3a2d;
  background: #efe0c9;
  border: 1px solid rgba(108,73,49,.10);
}
body.seasonal-christmas.seasonal-scope-site .values-section article {
  border-top: 4px solid var(--christmas-gold);
  box-shadow: 0 12px 32px rgba(84,56,37,.10);
}
body.seasonal-christmas.seasonal-scope-site .values-section article:nth-child(1) { background: #f8e9d2; }
body.seasonal-christmas.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fff8ea;
  background: linear-gradient(145deg, #8f1f26, #5d1017);
}
body.seasonal-christmas.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #ead8be, #dcc4a3);
}
body.seasonal-christmas.seasonal-scope-site .info-section {
  color: #fff8ea;
  background:
    radial-gradient(circle at 78% 20%, rgba(229,197,122,.14), transparent 28%),
    linear-gradient(145deg, #10352d, #3a1018) !important;
  border: 1px solid rgba(229,197,122,.28);
  box-shadow: 0 22px 54px rgba(38,25,16,.20);
}
body.seasonal-christmas.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #102f28 0%, #071e1a 100%) !important;
  border-top-color: rgba(229,197,122,.30) !important;
}
body.seasonal-christmas.seasonal-scope-site .footer-brand small,
body.seasonal-christmas.seasonal-scope-site .footer-phone,
body.seasonal-christmas.seasonal-scope-site .footer-menu-link { color: #edd28f !important; }
@media (max-width: 1180px) {
  body.seasonal-christmas .hero::before {
    background-image:
      linear-gradient(180deg, rgba(3,10,9,.48) 0%, rgba(4,11,10,.16) 26%, rgba(4,11,10,.08) 40%),
      linear-gradient(90deg, rgba(4,11,10,.82) 0%, rgba(5,13,12,.66) 18%, rgba(7,16,15,.30) 38%, rgba(9,18,17,.08) 58%, transparent 100%),
      url('/assets/seasonal/christmas-hero-tablet-v151.png') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-christmas .hero::after {
    background:
      radial-gradient(circle at 84% 20%, rgba(232,192,104,.14), transparent 22%),
      linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.16)) !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-christmas .hero::before {
    background-image:
      linear-gradient(180deg, rgba(3,9,8,.74) 0%, rgba(4,11,10,.44) 22%, rgba(4,11,10,.18) 40%, rgba(4,11,10,.12) 58%, rgba(4,11,10,.16) 100%),
      linear-gradient(90deg, rgba(4,11,10,.84) 0%, rgba(5,13,12,.54) 28%, rgba(7,16,15,.18) 48%, rgba(9,18,17,.06) 68%, transparent 100%),
      url('/assets/seasonal/christmas-hero-mobile-v151.png') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-christmas .hero::after {
    background:
      radial-gradient(circle at 86% 18%, rgba(232,192,104,.12), transparent 24%),
      linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.22)) !important;
  }
}


/* V5.13.1.152 — refonte globale du thème Noël, dans l’esprit premium du thème Rentrée. */
body.seasonal-christmas {
  --seasonal-accent: #e7c87f;
  --christmas-red: #8b1e24;
  --christmas-red-dark: #661218;
  --christmas-green: #0f3a32;
  --christmas-green-dark: #061a17;
  --christmas-paper: #fff8eb;
  --christmas-paper-deep: #f4e7d2;
  --christmas-gold: #e7c87f;
  --christmas-ink: #2b1c13;
}
body.seasonal-christmas .hero {
  background-color: var(--christmas-green-dark) !important;
  border-bottom: 1px solid rgba(231,200,127,.34);
}
body.seasonal-christmas .hero::before {
  background-image:
    linear-gradient(90deg, rgba(4,11,10,.86) 0%, rgba(5,13,12,.76) 18%, rgba(6,15,14,.46) 34%, rgba(8,16,15,.16) 52%, rgba(8,16,15,.04) 70%, transparent 100%),
    url('/assets/seasonal/christmas-hero-desktop-v151.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-christmas .hero::after {
  background:
    radial-gradient(circle at 82% 20%, rgba(231,200,127,.18), transparent 22%),
    radial-gradient(circle at 92% 28%, rgba(139,30,36,.10), transparent 18%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.14)) !important;
  opacity: 1 !important;
}
body.seasonal-christmas .seasonal-hero-label-christmas {
  display: inline-flex;
  color: #351f12;
  background: linear-gradient(135deg, #fff1c5, #e8c56e 58%, #d9a755);
  border: 1px solid rgba(255,255,255,.34);
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
}
body.seasonal-christmas .hero-copy .eyebrow {
  color: #f6e2b4;
  text-shadow: 0 0 16px rgba(231,200,127,.18);
}
body.seasonal-christmas .hero-copy h1,
body.seasonal-christmas .hero-copy p {
  text-shadow: 0 2px 18px rgba(0,0,0,.42);
}
body.seasonal-christmas .hero-card {
  background: linear-gradient(145deg, rgba(11,38,33,.84), rgba(10,27,24,.80)) !important;
  border-color: rgba(231,200,127,.46) !important;
  box-shadow: 0 32px 88px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-christmas .hero-hours {
  background: linear-gradient(145deg, #fbefda, #ecdabd) !important;
  border: 1px solid rgba(116,75,46,.18);
}
body.seasonal-christmas .service-button {
  background: rgba(255,248,235,.05);
  border-color: rgba(255,248,235,.17);
}
body.seasonal-christmas .service-button:hover,
body.seasonal-christmas .service-button.active {
  border-color: var(--christmas-gold);
  background: rgba(139,30,36,.18);
}
body.seasonal-christmas .service-icon { background: linear-gradient(145deg, #f3ddb0, #d5a956); }
body.seasonal-christmas .primary-cta,
body.seasonal-christmas .primary-button {
  color: #fff9ed !important;
  background: linear-gradient(135deg, var(--christmas-red), var(--christmas-red-dark)) !important;
  box-shadow: 0 12px 28px rgba(102,18,24,.28) !important;
}
body.seasonal-christmas .hero-route-cta {
  border-color: rgba(231,200,127,.46) !important;
  background: rgba(9,30,26,.56) !important;
}
body.seasonal-christmas.seasonal-scope-home_banner .promotion-banner,
body.seasonal-christmas.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #3b0f18 0%, #881f26 48%, #123c33 100%) !important;
  border-top-color: rgba(231,200,127,.22) !important;
  border-bottom-color: rgba(231,200,127,.64) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
body.seasonal-christmas.seasonal-scope-site .site-header {
  background: rgba(68,11,19,.97) !important;
  border-bottom-color: rgba(231,200,127,.50) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
body.seasonal-christmas.seasonal-scope-site .site-header nav a:hover,
body.seasonal-christmas.seasonal-scope-site .phone-link { color: #f0d89e !important; }
body.seasonal-christmas.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #8b1e24, #671318) !important;
}
body.seasonal-christmas.seasonal-scope-site {
  color: var(--christmas-ink);
  background-color: var(--christmas-paper) !important;
  background-image:
    radial-gradient(circle at top right, rgba(139,30,36,.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(16,58,50,.06), transparent 30%),
    linear-gradient(180deg, #fff8eb 0%, var(--christmas-paper-deep) 100%) !important;
}
body.seasonal-christmas.seasonal-scope-site .order-strip {
  background: #d7c4a5;
  border: 1px solid rgba(102,18,24,.10);
  box-shadow: 0 18px 46px rgba(73,48,31,.15);
}
body.seasonal-christmas.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf6, #f5ead8);
}
body.seasonal-christmas.seasonal-scope-site .order-strip b { background: var(--christmas-red) !important; }
body.seasonal-christmas.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-christmas.seasonal-scope-site .info-section .eyebrow.red { color: #a92228 !important; }
body.seasonal-christmas.seasonal-scope-site .category-tab {
  color: #3c3025;
  background: rgba(255,251,243,.93);
  border-color: rgba(108,73,49,.20);
}
body.seasonal-christmas.seasonal-scope-site .category-tab.active {
  color: #fff8e8;
  background: var(--christmas-green);
  border-color: var(--christmas-green);
  box-shadow: 0 8px 20px rgba(16,58,50,.18);
}
body.seasonal-christmas.seasonal-scope-site .category-line,
body.seasonal-christmas.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, var(--christmas-red), var(--christmas-gold));
}
body.seasonal-christmas.seasonal-scope-site .search-box {
  background: rgba(255,251,243,.95);
  border-color: rgba(108,73,49,.18);
}
body.seasonal-christmas.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,248,.98), rgba(247,237,221,.98));
  border-color: rgba(108,73,49,.18);
  box-shadow: 0 10px 28px rgba(84,56,37,.08);
}
body.seasonal-christmas.seasonal-scope-site .product-card:hover {
  border-color: rgba(231,200,127,.62);
  box-shadow: 0 16px 40px rgba(84,56,37,.14);
}
body.seasonal-christmas.seasonal-scope-site .product-card .price { color: #8b1e24; }
body.seasonal-christmas.seasonal-scope-site .tag {
  color: #4b3a2d;
  background: #efdfc8;
  border: 1px solid rgba(108,73,49,.10);
}
body.seasonal-christmas.seasonal-scope-site .values-section article {
  border-top: 4px solid var(--christmas-gold);
  box-shadow: 0 12px 32px rgba(84,56,37,.10);
}
body.seasonal-christmas.seasonal-scope-site .values-section article:nth-child(1) { background: #f8ead3; }
body.seasonal-christmas.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fff8ea;
  background: linear-gradient(145deg, #8b1e24, #5c1017);
}
body.seasonal-christmas.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #ebdac0, #dbc4a3);
}
body.seasonal-christmas.seasonal-scope-site .info-section {
  color: #fff8ea;
  background:
    radial-gradient(circle at 78% 20%, rgba(231,200,127,.14), transparent 28%),
    linear-gradient(145deg, #10352d, #371018) !important;
  border: 1px solid rgba(231,200,127,.28);
  box-shadow: 0 22px 54px rgba(38,25,16,.20);
}
body.seasonal-christmas.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #103028 0%, #071e1a 100%) !important;
  border-top-color: rgba(231,200,127,.30) !important;
}
body.seasonal-christmas.seasonal-scope-site .footer-brand small,
body.seasonal-christmas.seasonal-scope-site .footer-phone,
body.seasonal-christmas.seasonal-scope-site .footer-menu-link { color: #edd291 !important; }
@media (max-width: 1180px) {
  body.seasonal-christmas .hero::before {
    background-image:
      linear-gradient(180deg, rgba(3,10,9,.50) 0%, rgba(4,11,10,.18) 26%, rgba(4,11,10,.08) 40%),
      linear-gradient(90deg, rgba(4,11,10,.82) 0%, rgba(5,13,12,.66) 18%, rgba(7,16,15,.30) 38%, rgba(9,18,17,.08) 58%, transparent 100%),
      url('/assets/seasonal/christmas-hero-tablet-v151.png') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-christmas .hero::after {
    background:
      radial-gradient(circle at 84% 20%, rgba(231,200,127,.14), transparent 22%),
      linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.16)) !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-christmas .hero::before {
    background-image:
      linear-gradient(180deg, rgba(3,9,8,.74) 0%, rgba(4,11,10,.44) 22%, rgba(4,11,10,.18) 40%, rgba(4,11,10,.12) 58%, rgba(4,11,10,.16) 100%),
      linear-gradient(90deg, rgba(4,11,10,.84) 0%, rgba(5,13,12,.54) 28%, rgba(7,16,15,.18) 48%, rgba(9,18,17,.06) 68%, transparent 100%),
      url('/assets/seasonal/christmas-hero-mobile-v151.png') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-christmas .hero::after {
    background:
      radial-gradient(circle at 86% 18%, rgba(231,200,127,.12), transparent 24%),
      linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.22)) !important;
  }
}


/* V5.13.1.153 — correction du thème Noël sur PC : suppression de l'effet trop noir à gauche. */
body.seasonal-christmas .hero::before {
  background-image:
    linear-gradient(90deg, rgba(5,14,13,.56) 0%, rgba(6,15,14,.44) 16%, rgba(8,18,17,.22) 32%, rgba(8,18,17,.08) 52%, rgba(8,18,17,.03) 70%, transparent 100%),
    url('/assets/seasonal/christmas-hero-desktop-v153.png') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-christmas .hero::after {
  background:
    radial-gradient(circle at 18% 22%, rgba(232,196,109,.12), transparent 24%),
    radial-gradient(circle at 82% 20%, rgba(231,200,127,.14), transparent 20%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.10)) !important;
  opacity: 1 !important;
}
body.seasonal-christmas .hero-copy h1,
body.seasonal-christmas .hero-copy p {
  text-shadow: 0 2px 14px rgba(0,0,0,.34);
}


/* V5.13.1.154 — thème Noël : fond crème propre, sans lignes façon papier de cahier. */
body.seasonal-christmas.seasonal-scope-site {
  background-image:
    radial-gradient(circle at top right, rgba(139,30,36,.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(16,58,50,.06), transparent 30%),
    linear-gradient(180deg, #fff8eb 0%, #f4e7d2 100%) !important;
}


/* V5.13.1.156 — thème Halloween : hero photographique premium sur tous les supports, sans zone noire à gauche sur PC. */
body.seasonal-halloween {
  --seasonal-accent: #ee9b43;
  --halloween-orange: #e98a2f;
  --halloween-orange-deep: #983f14;
  --halloween-plum: #25121c;
  --halloween-plum-deep: #120910;
  --halloween-paper: #fff3e5;
  --halloween-paper-deep: #f8e7d2;
  --halloween-ink: #2d1b14;
}
body.seasonal-halloween .hero {
  background-color: var(--halloween-plum-deep) !important;
  border-bottom: 1px solid rgba(238,155,67,.28);
}
body.seasonal-halloween .hero::before {
  background-image:
    linear-gradient(90deg, rgba(17,8,12,.54) 0%, rgba(19,9,14,.40) 16%, rgba(24,11,15,.20) 34%, rgba(24,11,15,.08) 52%, rgba(24,11,15,.03) 70%, transparent 100%),
    url('/assets/seasonal/halloween-hero-desktop-v156.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-halloween .hero::after {
  background:
    radial-gradient(circle at 18% 22%, rgba(241,161,82,.11), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(233,138,47,.13), transparent 22%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.10)) !important;
  opacity: 1 !important;
}
body.seasonal-halloween .seasonal-hero-label-halloween {
  display: inline-flex;
  color: #261109;
  background: linear-gradient(135deg, #ffd48f, #ef9a42 54%, #f6b254);
  border: 1px solid rgba(255,255,255,.34);
  box-shadow: 0 16px 38px rgba(0,0,0,.24);
}
body.seasonal-halloween .hero-copy .eyebrow {
  color: #ffd59a;
  text-shadow: 0 0 16px rgba(240,154,67,.14);
}
body.seasonal-halloween .hero-copy h1,
body.seasonal-halloween .hero-copy p {
  text-shadow: 0 2px 14px rgba(0,0,0,.34);
}
body.seasonal-halloween .hero-card {
  background: linear-gradient(145deg, rgba(22,10,18,.84), rgba(13,7,12,.80)) !important;
  border-color: rgba(240,154,67,.46) !important;
  box-shadow: 0 32px 88px rgba(0,0,0,.40) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-halloween .hero-hours {
  background: linear-gradient(145deg, #fdf0df, #efdbc1) !important;
  border: 1px solid rgba(116,75,46,.16);
}
body.seasonal-halloween .service-button {
  background: rgba(255,243,228,.05);
  border-color: rgba(255,243,228,.17);
}
body.seasonal-halloween .service-button:hover,
body.seasonal-halloween .service-button.active {
  border-color: #f09a43;
  background: rgba(122,46,12,.24);
}
body.seasonal-halloween .service-icon { background: linear-gradient(145deg, #ffd494, #df8c32); }
body.seasonal-halloween .primary-cta,
body.seasonal-halloween .primary-button {
  color: #fff9ef !important;
  background: linear-gradient(135deg, var(--halloween-orange), var(--halloween-orange-deep)) !important;
  box-shadow: 0 12px 28px rgba(117,45,14,.28) !important;
}
body.seasonal-halloween .hero-route-cta {
  border-color: rgba(240,154,67,.42) !important;
  background: rgba(18,9,14,.54) !important;
}
body.seasonal-halloween.seasonal-scope-home_banner .promotion-banner,
body.seasonal-halloween.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #2a0f1f 0%, #713115 48%, #32110f 100%) !important;
  border-top-color: rgba(240,154,67,.20) !important;
  border-bottom-color: rgba(240,154,67,.62) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
body.seasonal-halloween.seasonal-scope-site .site-header {
  background: rgba(40,12,24,.96) !important;
  border-bottom-color: rgba(240,154,67,.48) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
body.seasonal-halloween.seasonal-scope-site .site-header nav a:hover,
body.seasonal-halloween.seasonal-scope-site .phone-link { color: #ffd59a !important; }
body.seasonal-halloween.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #b75119, #7d2d10) !important;
}
body.seasonal-halloween.seasonal-scope-site {
  color: var(--halloween-ink);
  background-color: var(--halloween-paper) !important;
  background-image:
    radial-gradient(circle at top right, rgba(233,138,47,.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(60,19,35,.06), transparent 32%),
    linear-gradient(180deg, var(--halloween-paper) 0%, var(--halloween-paper-deep) 100%) !important;
}
body.seasonal-halloween.seasonal-scope-site .order-strip {
  background: #e8d2b8;
  border: 1px solid rgba(117,45,14,.10);
  box-shadow: 0 18px 46px rgba(73,48,31,.15);
}
body.seasonal-halloween.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf9, #f7eadc);
}
body.seasonal-halloween.seasonal-scope-site .order-strip b { background: #c96a22 !important; }
body.seasonal-halloween.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-halloween.seasonal-scope-site .info-section .eyebrow.red { color: #9a4214 !important; }
body.seasonal-halloween.seasonal-scope-site .category-tab {
  color: #3b2b23;
  background: rgba(255,251,245,.94);
  border-color: rgba(117,45,14,.16);
}
body.seasonal-halloween.seasonal-scope-site .category-tab.active {
  color: #fff8ef;
  background: #341321;
  border-color: #341321;
  box-shadow: 0 8px 20px rgba(52,19,33,.16);
}
body.seasonal-halloween.seasonal-scope-site .category-line,
body.seasonal-halloween.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #a04818, #f0a24d);
}
body.seasonal-halloween.seasonal-scope-site .search-box {
  background: rgba(255,251,245,.96);
  border-color: rgba(117,45,14,.16);
}
body.seasonal-halloween.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.98), rgba(247,237,224,.98));
  border-color: rgba(117,45,14,.16);
  box-shadow: 0 10px 28px rgba(84,56,37,.08);
}
body.seasonal-halloween.seasonal-scope-site .product-card:hover {
  border-color: rgba(240,154,67,.56);
  box-shadow: 0 16px 40px rgba(84,56,37,.14);
}
body.seasonal-halloween.seasonal-scope-site .product-card .price { color: #9a4214; }
body.seasonal-halloween.seasonal-scope-site .tag {
  color: #4b3a2d;
  background: #f1dfc9;
  border: 1px solid rgba(117,45,14,.10);
}
body.seasonal-halloween.seasonal-scope-site .values-section article {
  border-top: 4px solid #ee9b43;
  box-shadow: 0 12px 32px rgba(84,56,37,.10);
}
body.seasonal-halloween.seasonal-scope-site .values-section article:nth-child(1) { background: #faead6; }
body.seasonal-halloween.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fff7ee;
  background: linear-gradient(145deg, #7b2b15, #32111d);
}
body.seasonal-halloween.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #ead6bc, #dec19c);
}
body.seasonal-halloween.seasonal-scope-site .info-section {
  color: #fff7ee;
  background:
    radial-gradient(circle at 78% 20%, rgba(240,154,67,.14), transparent 28%),
    linear-gradient(145deg, #33121f, #7b3214) !important;
  border: 1px solid rgba(240,154,67,.24);
  box-shadow: 0 22px 54px rgba(38,25,16,.20);
}
body.seasonal-halloween.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #2c101b 0%, #14080f 100%) !important;
  border-top-color: rgba(240,154,67,.26) !important;
}
body.seasonal-halloween.seasonal-scope-site .footer-brand small,
body.seasonal-halloween.seasonal-scope-site .footer-phone,
body.seasonal-halloween.seasonal-scope-site .footer-menu-link { color: #f3c98b !important; }
@media (max-width: 1180px) {
  body.seasonal-halloween .hero::before {
    background-image:
      linear-gradient(180deg, rgba(15,7,11,.48) 0%, rgba(16,7,11,.18) 24%, rgba(16,7,11,.08) 40%),
      linear-gradient(90deg, rgba(17,8,12,.72) 0%, rgba(19,9,14,.54) 18%, rgba(24,11,15,.24) 40%, rgba(24,11,15,.08) 58%, transparent 100%),
      url('/assets/seasonal/halloween-hero-tablet-v156.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-halloween .hero::after {
    background:
      radial-gradient(circle at 82% 20%, rgba(241,161,82,.12), transparent 22%),
      linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.14)) !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-halloween .hero::before {
    background-image:
      linear-gradient(180deg, rgba(15,7,11,.72) 0%, rgba(16,7,11,.42) 22%, rgba(16,7,11,.18) 40%, rgba(16,7,11,.12) 58%, rgba(16,7,11,.16) 100%),
      linear-gradient(90deg, rgba(17,8,12,.78) 0%, rgba(19,9,14,.48) 28%, rgba(24,11,15,.18) 48%, rgba(24,11,15,.06) 68%, transparent 100%),
      url('/assets/seasonal/halloween-hero-mobile-v156.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-halloween .hero::after {
    background:
      radial-gradient(circle at 80% 18%, rgba(241,161,82,.10), transparent 24%),
      linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.18)) !important;
  }
}


/* V5.13.1.157 — thème Pâques : hero photographique premium sur PC, tablette et mobile. */
body.seasonal-easter {
  --seasonal-accent: #d7b26a;
  --easter-sage: #405544;
  --easter-sage-dark: #24382b;
  --easter-rose: #c98da6;
  --easter-lilac: #9f83b3;
  --easter-cream: #fff9ef;
  --easter-cream-deep: #f2e7d8;
  --easter-ink: #302b26;
}
body.seasonal-easter .hero {
  background-color: var(--easter-sage-dark) !important;
  border-bottom: 1px solid rgba(215,178,106,.30);
}
body.seasonal-easter .hero::before {
  background-image:
    linear-gradient(90deg, rgba(35,55,42,.52) 0%, rgba(43,64,48,.38) 17%, rgba(56,76,58,.18) 34%, rgba(62,80,61,.06) 53%, transparent 72%),
    url('/assets/seasonal/easter-hero-desktop-v157.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-easter .hero::after {
  background:
    radial-gradient(circle at 18% 20%, rgba(245,222,164,.12), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(218,166,189,.13), transparent 23%),
    linear-gradient(180deg, rgba(20,38,27,.02), rgba(20,38,27,.10)) !important;
  opacity: 1 !important;
}
body.seasonal-easter .seasonal-hero-label-easter {
  display: inline-flex;
  color: #3e3226;
  background: linear-gradient(135deg, #fff0c9, #efcf90 42%, #d8b4c5 74%, #c8d8a6);
  border: 1px solid rgba(255,255,255,.46);
  box-shadow: 0 15px 36px rgba(28,46,34,.22);
}
body.seasonal-easter .hero-copy .eyebrow {
  color: #f5ddb0;
  text-shadow: 0 0 16px rgba(215,178,106,.15);
}
body.seasonal-easter .hero-copy h1,
body.seasonal-easter .hero-copy p {
  text-shadow: 0 2px 14px rgba(25,42,31,.38);
}
body.seasonal-easter .hero-card {
  background: linear-gradient(145deg, rgba(39,58,45,.86), rgba(28,45,34,.82)) !important;
  border-color: rgba(229,203,148,.48) !important;
  box-shadow: 0 32px 84px rgba(22,42,30,.34) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-easter .hero-hours {
  background: linear-gradient(145deg, #fff9ef, #eee2d0) !important;
  border: 1px solid rgba(82,99,75,.17);
}
body.seasonal-easter .service-button {
  background: rgba(255,249,239,.055);
  border-color: rgba(255,249,239,.18);
}
body.seasonal-easter .service-button:hover,
body.seasonal-easter .service-button.active {
  border-color: #e4c47f;
  background: rgba(201,141,166,.18);
}
body.seasonal-easter .service-icon {
  background: linear-gradient(145deg, #f5dfa9, #c9d69f);
}
body.seasonal-easter .primary-cta,
body.seasonal-easter .primary-button {
  color: #fffaf1 !important;
  background: linear-gradient(135deg, #b77493, #7d5b8f) !important;
  box-shadow: 0 12px 28px rgba(90,66,104,.24) !important;
}
body.seasonal-easter .hero-route-cta {
  border-color: rgba(229,203,148,.44) !important;
  background: rgba(37,56,43,.54) !important;
}
body.seasonal-easter.seasonal-scope-home_banner .promotion-banner,
body.seasonal-easter.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #465d49 0%, #9c7187 50%, #77658b 100%) !important;
  border-top-color: rgba(255,244,216,.22) !important;
  border-bottom-color: rgba(229,203,148,.62) !important;
  box-shadow: 0 10px 24px rgba(44,57,45,.15);
}
body.seasonal-easter.seasonal-scope-site .site-header {
  background: rgba(53,72,56,.97) !important;
  border-bottom-color: rgba(229,203,148,.46) !important;
  box-shadow: 0 12px 28px rgba(28,45,34,.16);
}
body.seasonal-easter.seasonal-scope-site .site-header nav a:hover,
body.seasonal-easter.seasonal-scope-site .phone-link { color: #f2dbab !important; }
body.seasonal-easter.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #b77493, #7c5b8f) !important;
}
body.seasonal-easter.seasonal-scope-site {
  color: var(--easter-ink);
  background-color: var(--easter-cream) !important;
  background-image:
    radial-gradient(circle at top right, rgba(201,141,166,.09), transparent 29%),
    radial-gradient(circle at bottom left, rgba(91,117,91,.07), transparent 32%),
    linear-gradient(180deg, var(--easter-cream) 0%, var(--easter-cream-deep) 100%) !important;
}
body.seasonal-easter.seasonal-scope-site .order-strip {
  background: #dfcfb9;
  border: 1px solid rgba(84,101,78,.11);
  box-shadow: 0 18px 46px rgba(66,56,47,.13);
}
body.seasonal-easter.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf8, #f4eadc);
}
body.seasonal-easter.seasonal-scope-site .order-strip b {
  background: #a56e88 !important;
}
body.seasonal-easter.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-easter.seasonal-scope-site .info-section .eyebrow.red {
  color: #8b6177 !important;
}
body.seasonal-easter.seasonal-scope-site .category-tab {
  color: #3c352e;
  background: rgba(255,252,246,.94);
  border-color: rgba(79,99,77,.17);
}
body.seasonal-easter.seasonal-scope-site .category-tab.active {
  color: #fffaf1;
  background: #526a56;
  border-color: #526a56;
  box-shadow: 0 8px 20px rgba(57,79,61,.17);
}
body.seasonal-easter.seasonal-scope-site .category-line,
body.seasonal-easter.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #a66f89, #d8b36a, #718b6e);
}
body.seasonal-easter.seasonal-scope-site .search-box {
  background: rgba(255,252,246,.96);
  border-color: rgba(79,99,77,.17);
}
body.seasonal-easter.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.98), rgba(245,237,226,.98));
  border-color: rgba(79,99,77,.16);
  box-shadow: 0 10px 28px rgba(67,57,48,.08);
}
body.seasonal-easter.seasonal-scope-site .product-card:hover {
  border-color: rgba(201,141,166,.54);
  box-shadow: 0 16px 40px rgba(67,57,48,.13);
}
body.seasonal-easter.seasonal-scope-site .product-card .price { color: #956279; }
body.seasonal-easter.seasonal-scope-site .tag {
  color: #4b4138;
  background: #ece1d1;
  border: 1px solid rgba(79,99,77,.10);
}
body.seasonal-easter.seasonal-scope-site .values-section article {
  border-top: 4px solid #d7b26a;
  box-shadow: 0 12px 32px rgba(66,56,47,.10);
}
body.seasonal-easter.seasonal-scope-site .values-section article:nth-child(1) { background: #f7ead9; }
body.seasonal-easter.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fffaf1;
  background: linear-gradient(145deg, #526a56, #354b3b);
}
body.seasonal-easter.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #ead7df, #ddc9d4);
}
body.seasonal-easter.seasonal-scope-site .info-section {
  color: #fffaf1;
  background:
    radial-gradient(circle at 78% 20%, rgba(229,203,148,.14), transparent 28%),
    linear-gradient(145deg, #405744, #7e5b70) !important;
  border: 1px solid rgba(229,203,148,.26);
  box-shadow: 0 22px 54px rgba(45,50,41,.18);
}
body.seasonal-easter.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #3b5140 0%, #26392d 100%) !important;
  border-top-color: rgba(229,203,148,.28) !important;
}
body.seasonal-easter.seasonal-scope-site .footer-brand small,
body.seasonal-easter.seasonal-scope-site .footer-phone,
body.seasonal-easter.seasonal-scope-site .footer-menu-link { color: #efd9a9 !important; }
@media (max-width: 1180px) {
  body.seasonal-easter .hero::before {
    background-image:
      linear-gradient(180deg, rgba(35,55,42,.42) 0%, rgba(40,61,46,.16) 27%, rgba(46,67,51,.06) 42%),
      linear-gradient(90deg, rgba(35,55,42,.70) 0%, rgba(43,64,48,.52) 20%, rgba(56,76,58,.22) 42%, rgba(62,80,61,.06) 60%, transparent 100%),
      url('/assets/seasonal/easter-hero-tablet-v157.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-easter .hero::after {
    background:
      radial-gradient(circle at 82% 18%, rgba(218,166,189,.11), transparent 23%),
      linear-gradient(180deg, rgba(27,45,33,.04), rgba(27,45,33,.12)) !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-easter .hero::before {
    background-image:
      linear-gradient(180deg, rgba(35,55,42,.72) 0%, rgba(39,60,45,.50) 22%, rgba(48,69,52,.23) 42%, rgba(52,73,56,.10) 60%, rgba(52,73,56,.06) 100%),
      linear-gradient(90deg, rgba(35,55,42,.68) 0%, rgba(43,64,48,.38) 32%, rgba(56,76,58,.12) 58%, transparent 100%),
      url('/assets/seasonal/easter-hero-mobile-v157.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-easter .hero::after {
    background:
      radial-gradient(circle at 80% 18%, rgba(218,166,189,.09), transparent 24%),
      linear-gradient(180deg, rgba(27,45,33,.08), rgba(27,45,33,.15)) !important;
  }
}


/* V5.13.1.158 — thèmes saisonniers renforcés sur la carte : descriptions thématiques et bouton d’ajout illustré. */
body.seasonal-active.seasonal-scope-site .product-card p,
body.seasonal-active.seasonal-scope-site .product-dialog-description {
  position: relative;
  overflow: hidden;
  padding: 13px 15px;
  border: 1px solid transparent;
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
}
body.seasonal-active.seasonal-scope-site .product-card footer {
  padding-top: 12px;
  border-top: 1px dashed rgba(86,62,45,.18);
}
body.seasonal-active.seasonal-scope-site .add-button {
  position: relative;
  overflow: visible;
  display: grid;
  place-items: center;
  font-size: 0;
  line-height: 0;
  color: transparent;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.seasonal-active.seasonal-scope-site .add-button::before {
  display: block;
  font-size: 19px;
  line-height: 1;
  transform: translateY(-1px);
}
body.seasonal-active.seasonal-scope-site .add-button::after {
  content: '+';
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #221913;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(34,25,19,.08);
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(0,0,0,.16);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}
body.seasonal-active.seasonal-scope-site .add-button:hover {
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 13px 28px rgba(0,0,0,.18);
  filter: brightness(1.03);
}
body.seasonal-active.seasonal-scope-site .add-button:focus-visible {
  outline: 3px solid rgba(255,255,255,.32);
  outline-offset: 3px;
}
@media (max-width: 680px) {
  body.seasonal-active.seasonal-scope-site .product-card p,
  body.seasonal-active.seasonal-scope-site .product-dialog-description {
    padding: 12px 13px;
    border-radius: 13px;
  }
  body.seasonal-active.seasonal-scope-site .add-button::before { font-size: 18px; }
}

body.seasonal-christmas.seasonal-scope-site .product-card p,
body.seasonal-christmas.seasonal-scope-site .product-dialog-description {
  color: #544132;
  background:
    radial-gradient(circle at 92% 18%, rgba(216,181,116,.20) 0 14px, transparent 15px),
    radial-gradient(circle at 12% 86%, rgba(49,103,66,.10) 0 18px, transparent 19px),
    linear-gradient(135deg, rgba(255,252,246,.98), rgba(243,233,214,.98));
  border-color: rgba(216,181,116,.28);
}
body.seasonal-christmas.seasonal-scope-site .product-card footer { border-top-color: rgba(130,61,44,.22); }
body.seasonal-christmas.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #255b3b, #a61f2a) !important;
}
body.seasonal-christmas.seasonal-scope-site .add-button::before { content: '🎄'; }

body.seasonal-halloween.seasonal-scope-site .product-card p,
body.seasonal-halloween.seasonal-scope-site .product-dialog-description {
  color: #5c3724;
  background:
    radial-gradient(circle at 90% 20%, rgba(233,138,47,.22) 0 15px, transparent 16px),
    radial-gradient(circle at 14% 84%, rgba(86,29,21,.10) 0 18px, transparent 19px),
    linear-gradient(135deg, rgba(255,248,239,.98), rgba(247,226,199,.98));
  border-color: rgba(201,106,34,.28);
}
body.seasonal-halloween.seasonal-scope-site .product-card footer { border-top-color: rgba(116,45,11,.18); }
body.seasonal-halloween.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #2a1020, #d86f20) !important;
}
body.seasonal-halloween.seasonal-scope-site .add-button::before { content: '🦇'; }

body.seasonal-easter.seasonal-scope-site .product-card p,
body.seasonal-easter.seasonal-scope-site .product-dialog-description {
  color: #5b4c45;
  background:
    radial-gradient(circle at 88% 18%, rgba(201,158,177,.22) 0 14px, transparent 15px),
    radial-gradient(circle at 14% 84%, rgba(158,185,120,.13) 0 18px, transparent 19px),
    linear-gradient(135deg, rgba(255,252,247,.98), rgba(245,235,225,.98));
  border-color: rgba(201,158,177,.26);
}
body.seasonal-easter.seasonal-scope-site .product-card footer { border-top-color: rgba(164,136,142,.18); }
body.seasonal-easter.seasonal-scope-site .add-button {
  color: #4f3b31 !important;
  background: linear-gradient(145deg, #f3d4df, #d4e6b2) !important;
}
body.seasonal-easter.seasonal-scope-site .add-button::before { content: '🥚'; }

body.seasonal-school.seasonal-scope-site .product-card p,
body.seasonal-school.seasonal-scope-site .product-dialog-description {
  color: #4c4037;
  background:
    linear-gradient(180deg, rgba(158,122,70,.10) 0 1px, transparent 1px 100%),
    linear-gradient(135deg, rgba(255,250,242,.98), rgba(239,227,211,.98));
  background-size: 100% 28px, 100% 100%;
  border-color: rgba(158,122,70,.22);
}
body.seasonal-school.seasonal-scope-site .product-card footer { border-top-color: rgba(125,92,57,.18); }
body.seasonal-school.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #14322c, #c39a58) !important;
}
body.seasonal-school.seasonal-scope-site .add-button::before { content: '✏️'; }


/* V5.13.1.159 — correction : icônes saisonnières SVG visibles sur tous les navigateurs. */
body.seasonal-active.seasonal-scope-site .add-button::before {
  content: '' !important;
  width: 25px;
  height: 25px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: none;
}
body.seasonal-christmas.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff6dc' d='M32 4l6 10h-4l9 13h-6l11 16H36v10h8v7H20v-7h8V43H16l11-16h-6l9-13h-4z'/%3E%3Ccircle cx='32' cy='9' r='3.5' fill='%23f2c969'/%3E%3Cpath d='M25 31h14M22 40h20' stroke='%23d9a745' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
body.seasonal-halloween.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff0d9' d='M5 21c8 1 14 5 18 11 2-5 5-8 9-8s7 3 9 8c4-6 10-10 18-11-2 7-2 13 1 19-8-1-14 0-20 5-2-5-5-8-8-8s-6 3-8 8c-6-5-12-6-20-5 3-6 3-12 1-19z'/%3E%3Ccircle cx='28' cy='29' r='2' fill='%23d96f20'/%3E%3Ccircle cx='36' cy='29' r='2' fill='%23d96f20'/%3E%3C/svg%3E") !important;
}
body.seasonal-easter.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fffaf3' d='M32 5c-11 0-20 18-20 33 0 13 8 21 20 21s20-8 20-21C52 23 43 5 32 5z'/%3E%3Cpath d='M17 35c6-6 12 6 18 0s12 6 17 0M18 45c5-5 10 5 15 0s10 5 15 0' fill='none' stroke='%23a56f88' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='25' cy='25' r='3' fill='%239db478'/%3E%3Ccircle cx='39' cy='25' r='3' fill='%23d8b36a'/%3E%3C/svg%3E") !important;
}
body.seasonal-school.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg transform='rotate(-35 32 32)'%3E%3Cpath fill='%23f4d187' d='M27 7h10v41H27z'/%3E%3Cpath fill='%23fff8e7' d='M27 7h10v8H27z'/%3E%3Cpath fill='%23d28768' d='M27 7h10v5H27z'/%3E%3Cpath fill='%23fff8e7' d='M27 48h10l-5 10z'/%3E%3Cpath fill='%23242b28' d='M30 54h4l-2 4z'/%3E%3Cpath d='M32 15v33' stroke='%23b17d35' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E") !important;
}
body.seasonal-active.seasonal-scope-site .add-button::after {
  z-index: 2;
}
@media (max-width: 680px) {
  body.seasonal-active.seasonal-scope-site .add-button::before {
    width: 23px;
    height: 23px;
  }
}


/* V5.13.1.161 — thème Saint-Valentin premium, sur le modèle des autres thèmes saisonniers. */
body.seasonal-valentine {
  --seasonal-accent: #e3b26e;
  --valentine-burgundy: #5d1e2d;
  --valentine-burgundy-deep: #2a0e18;
  --valentine-rose: #d79aae;
  --valentine-blush: #f2d8df;
  --valentine-ivory: #fff7f4;
  --valentine-ivory-deep: #f3e7e2;
  --valentine-ink: #33272a;
}
body.seasonal-valentine .hero {
  background-color: var(--valentine-burgundy-deep) !important;
  border-bottom: 1px solid rgba(227,178,110,.30);
}
body.seasonal-valentine .hero::before {
  background-image:
    linear-gradient(90deg, rgba(77,25,37,.56) 0%, rgba(92,31,44,.40) 18%, rgba(113,46,60,.18) 35%, rgba(124,58,72,.07) 53%, transparent 72%),
    url('/assets/seasonal/valentine-hero-desktop-v161.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-valentine .hero::after {
  background:
    radial-gradient(circle at 18% 20%, rgba(255,237,213,.13), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(242,178,196,.14), transparent 24%),
    linear-gradient(180deg, rgba(40,12,22,.03), rgba(40,12,22,.10)) !important;
  opacity: 1 !important;
}
body.seasonal-valentine .seasonal-hero-label-valentine {
  display: inline-flex;
  color: #4b1d29;
  background: linear-gradient(135deg, #ffe2ea, #f1b6c7 54%, #f6d9a2);
  border: 1px solid rgba(255,255,255,.44);
  box-shadow: 0 16px 38px rgba(84,24,38,.20);
}
body.seasonal-valentine .hero-copy .eyebrow {
  color: #ffd9c1;
  text-shadow: 0 0 16px rgba(227,178,110,.15);
}
body.seasonal-valentine .hero-copy h1,
body.seasonal-valentine .hero-copy p {
  text-shadow: 0 2px 14px rgba(42,14,24,.38);
}
body.seasonal-valentine .hero-card {
  background: linear-gradient(145deg, rgba(73,22,35,.86), rgba(39,13,22,.82)) !important;
  border-color: rgba(243,208,160,.44) !important;
  box-shadow: 0 32px 84px rgba(35,12,20,.36) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-valentine .hero-hours {
  background: linear-gradient(145deg, #fff8f2, #f1e1dc) !important;
  border: 1px solid rgba(108,66,77,.16);
}
body.seasonal-valentine .service-button {
  background: rgba(255,248,244,.055);
  border-color: rgba(255,248,244,.18);
}
body.seasonal-valentine .service-button:hover,
body.seasonal-valentine .service-button.active {
  border-color: #e4c27d;
  background: rgba(215,154,174,.19);
}
body.seasonal-valentine .service-icon { background: linear-gradient(145deg, #ffe1b3, #e9b2c3); }
body.seasonal-valentine .primary-cta,
body.seasonal-valentine .primary-button {
  color: #fffaf6 !important;
  background: linear-gradient(135deg, #c16a86, #7f3b54) !important;
  box-shadow: 0 12px 28px rgba(88,38,57,.24) !important;
}
body.seasonal-valentine .hero-route-cta {
  border-color: rgba(243,208,160,.42) !important;
  background: rgba(50,16,25,.54) !important;
}
body.seasonal-valentine.seasonal-scope-home_banner .promotion-banner,
body.seasonal-valentine.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #612133 0%, #b86e88 50%, #7d445d 100%) !important;
  border-top-color: rgba(255,240,228,.22) !important;
  border-bottom-color: rgba(243,208,160,.62) !important;
  box-shadow: 0 10px 24px rgba(61,25,37,.15);
}
body.seasonal-valentine.seasonal-scope-site .site-header {
  background: rgba(88,27,40,.97) !important;
  border-bottom-color: rgba(243,208,160,.46) !important;
  box-shadow: 0 12px 28px rgba(40,13,22,.16);
}
body.seasonal-valentine.seasonal-scope-site .site-header nav a:hover,
body.seasonal-valentine.seasonal-scope-site .phone-link { color: #f6ddbc !important; }
body.seasonal-valentine.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #c26a87, #7d3d56) !important;
}
body.seasonal-valentine.seasonal-scope-site {
  color: var(--valentine-ink);
  background-color: var(--valentine-ivory) !important;
  background-image:
    radial-gradient(circle at top right, rgba(215,154,174,.09), transparent 28%),
    radial-gradient(circle at bottom left, rgba(145,81,97,.07), transparent 33%),
    linear-gradient(180deg, var(--valentine-ivory) 0%, var(--valentine-ivory-deep) 100%) !important;
}
body.seasonal-valentine.seasonal-scope-site .order-strip {
  background: #e8d6d0;
  border: 1px solid rgba(108,66,77,.10);
  box-shadow: 0 18px 46px rgba(76,53,56,.13);
}
body.seasonal-valentine.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdfb, #f5ebe7);
}
body.seasonal-valentine.seasonal-scope-site .order-strip b { background: #b56d84 !important; }
body.seasonal-valentine.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-valentine.seasonal-scope-site .info-section .eyebrow.red { color: #9c576f !important; }
body.seasonal-valentine.seasonal-scope-site .category-tab {
  color: #3d3033;
  background: rgba(255,251,249,.94);
  border-color: rgba(108,66,77,.17);
}
body.seasonal-valentine.seasonal-scope-site .category-tab.active {
  color: #fffaf6;
  background: #7a4357;
  border-color: #7a4357;
  box-shadow: 0 8px 20px rgba(77,36,52,.17);
}
body.seasonal-valentine.seasonal-scope-site .category-line,
body.seasonal-valentine.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #bc7189, #e2b66c, #d7a1b3);
}
body.seasonal-valentine.seasonal-scope-site .search-box {
  background: rgba(255,251,249,.96);
  border-color: rgba(108,66,77,.17);
}
body.seasonal-valentine.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,251,.98), rgba(246,238,234,.98));
  border-color: rgba(108,66,77,.15);
  box-shadow: 0 10px 28px rgba(77,53,56,.08);
}
body.seasonal-valentine.seasonal-scope-site .product-card:hover {
  border-color: rgba(215,154,174,.56);
  box-shadow: 0 16px 40px rgba(77,53,56,.13);
}
body.seasonal-valentine.seasonal-scope-site .product-card .price { color: #9b5770; }
body.seasonal-valentine.seasonal-scope-site .tag {
  color: #4d4043;
  background: #eee3dd;
  border: 1px solid rgba(108,66,77,.10);
}
body.seasonal-valentine.seasonal-scope-site .values-section article {
  border-top: 4px solid #e3b26e;
  box-shadow: 0 12px 32px rgba(76,53,56,.10);
}
body.seasonal-valentine.seasonal-scope-site .values-section article:nth-child(1) { background: #faeee7; }
body.seasonal-valentine.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fffaf6;
  background: linear-gradient(145deg, #7a4357, #4f1d2e);
}
body.seasonal-valentine.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #f0dde3, #e6cfd7);
}
body.seasonal-valentine.seasonal-scope-site .info-section {
  color: #fffaf6;
  background:
    radial-gradient(circle at 78% 20%, rgba(243,208,160,.14), transparent 28%),
    linear-gradient(145deg, #612133, #b06e84) !important;
  border: 1px solid rgba(243,208,160,.26);
  box-shadow: 0 22px 54px rgba(61,25,37,.18);
}
body.seasonal-valentine.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #5a2131 0%, #33121d 100%) !important;
  border-top-color: rgba(243,208,160,.28) !important;
}
body.seasonal-valentine.seasonal-scope-site .footer-brand small,
body.seasonal-valentine.seasonal-scope-site .footer-phone,
body.seasonal-valentine.seasonal-scope-site .footer-menu-link { color: #f1d8b0 !important; }
@media (max-width: 1180px) {
  body.seasonal-valentine .hero::before {
    background-image:
      linear-gradient(180deg, rgba(77,25,37,.42) 0%, rgba(88,29,41,.17) 27%, rgba(97,35,47,.06) 42%),
      linear-gradient(90deg, rgba(77,25,37,.70) 0%, rgba(92,31,44,.52) 20%, rgba(113,46,60,.22) 42%, rgba(124,58,72,.06) 60%, transparent 100%),
      url('/assets/seasonal/valentine-hero-tablet-v161.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-valentine .hero::after {
    background:
      radial-gradient(circle at 82% 18%, rgba(242,178,196,.12), transparent 23%),
      linear-gradient(180deg, rgba(44,15,25,.04), rgba(44,15,25,.12)) !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-valentine .hero::before {
    background-image:
      linear-gradient(180deg, rgba(77,25,37,.72) 0%, rgba(85,29,40,.50) 22%, rgba(96,36,48,.24) 42%, rgba(101,41,52,.11) 60%, rgba(101,41,52,.07) 100%),
      linear-gradient(90deg, rgba(77,25,37,.68) 0%, rgba(92,31,44,.40) 32%, rgba(113,46,60,.13) 58%, transparent 100%),
      url('/assets/seasonal/valentine-hero-mobile-v161.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-valentine .hero::after {
    background:
      radial-gradient(circle at 80% 18%, rgba(242,178,196,.10), transparent 24%),
      linear-gradient(180deg, rgba(44,15,25,.08), rgba(44,15,25,.15)) !important;
  }
}

/* V5.13.1.161 — renfort carte pour le thème Saint-Valentin. */
body.seasonal-valentine.seasonal-scope-site .product-card p,
body.seasonal-valentine.seasonal-scope-site .product-dialog-description {
  color: #5a4348;
  background:
    radial-gradient(circle at 88% 18%, rgba(215,154,174,.22) 0 14px, transparent 15px),
    radial-gradient(circle at 14% 84%, rgba(227,178,110,.14) 0 18px, transparent 19px),
    linear-gradient(135deg, rgba(255,252,249,.98), rgba(245,233,230,.98));
  border-color: rgba(197,111,134,.24);
}
body.seasonal-valentine.seasonal-scope-site .product-card footer { border-top-color: rgba(138,80,95,.18); }
body.seasonal-valentine.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #cf7892, #7d3a53) !important;
}
body.seasonal-valentine.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff7f5' d='M32 56C10 42 7 25 14 16c6-8 17-7 22 2 5-9 16-10 22-2 7 9 4 26-18 40z'/%3E%3Cpath d='M32 20c2-4 6-7 11-7' fill='none' stroke='%23f0c489' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='23' cy='21' r='2.5' fill='%23f0c489'/%3E%3C/svg%3E") !important;
}



/* V5.13.1.162 — motifs thématiques dans les descriptions produits pour tous les thèmes saisonniers. */
body.seasonal-active.seasonal-scope-site .product-card p,
body.seasonal-active.seasonal-scope-site .product-dialog-description {
  background-repeat: repeat, no-repeat !important;
  background-position: center center, 0 0 !important;
}
body.seasonal-christmas.seasonal-scope-site .product-card p,
body.seasonal-christmas.seasonal-scope-site .product-dialog-description {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.16'%3E%0A%3Cpath fill='%232f6d48' d='M26 10l6 10h-4l8 11h-6l9 13H30v8h7v5H17v-5h7v-8H15l9-13h-6l8-11h-4z'/%3E%0A%3Ccircle cx='26' cy='14' r='2.5' fill='%23d8b574'/%3E%0A%3Cpath fill='%232f6d48' d='M87 22l5 8h-3l7 10h-5l8 12H90v7h6v4H78v-4h6v-7h-9l8-12h-5l7-10h-3z'/%3E%0A%3Ccircle cx='87' cy='25' r='2.2' fill='%23d8b574'/%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,246,.98), rgba(243,233,214,.98)) !important;
  background-size: 108px 72px, 100% 100% !important;
  border-color: rgba(216,181,116,.28) !important;
}
body.seasonal-halloween.seasonal-scope-site .product-card p,
body.seasonal-halloween.seasonal-scope-site .product-dialog-description {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.14' fill='%239a4b1a'%3E%0A%3Cpath d='M18 26c8 1 13 5 17 10 2-4 5-7 8-7s6 3 8 7c4-5 9-9 17-10-2 6-2 11 1 16-7-1-12 0-18 4-2-4-5-7-8-7s-6 3-8 7c-6-4-11-5-18-4 3-5 3-10 1-16z'/%3E%0A%3Cpath d='M73 14c6 1 10 4 13 8 2-3 4-5 6-5s4 2 6 5c3-4 7-7 13-8-1 4-1 8 1 12-5-1-9 0-14 3-1-3-3-5-6-5s-5 2-6 5c-5-3-9-4-14-3 2-4 2-8 1-12z'/%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,248,239,.98), rgba(247,226,199,.98)) !important;
  background-size: 112px 72px, 100% 100% !important;
  border-color: rgba(201,106,34,.28) !important;
}
body.seasonal-easter.seasonal-scope-site .product-card p,
body.seasonal-easter.seasonal-scope-site .product-dialog-description {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.16'%3E%0A%3Cg transform='translate(20 12)'%3E%0A%3Cpath fill='%23cf95ab' d='M14 0C6 0 0 13 0 24c0 9 6 15 14 15s14-6 14-15C28 13 22 0 14 0z'/%3E%0A%3Cpath d='M5 20c4-4 7 4 10 0s6 4 9 0M6 27c3-3 5 3 8 0s5 3 8 0' fill='none' stroke='%23fffaf3' stroke-width='2' stroke-linecap='round'/%3E%0A%3C/g%3E%0A%3Cg transform='translate(72 20)'%3E%0A%3Cpath fill='%239db478' d='M12 0C5 0 0 11 0 20c0 8 5 13 12 13s12-5 12-13C24 11 19 0 12 0z'/%3E%0A%3Cpath d='M4 17c3-3 6 3 8 0s5 3 8 0M5 23c2-2 4 2 7 0s4 2 7 0' fill='none' stroke='%23fffaf3' stroke-width='2' stroke-linecap='round'/%3E%0A%3C/g%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,247,.98), rgba(245,235,225,.98)) !important;
  background-size: 108px 72px, 100% 100% !important;
  border-color: rgba(201,158,177,.26) !important;
}
body.seasonal-school.seasonal-scope-site .product-card p,
body.seasonal-school.seasonal-scope-site .product-dialog-description {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.14'%3E%0A%3Cg transform='translate(20 8) rotate(-25 16 24)'%3E%0A%3Cpath fill='%23d8b067' d='M12 0h8v32h-8z'/%3E%3Cpath fill='%23f7efd8' d='M12 0h8v6h-8z'/%3E%3Cpath fill='%23ce886b' d='M12 0h8v4h-8z'/%3E%3Cpath fill='%23f7efd8' d='M12 32h8l-4 10z'/%3E%3Cpath fill='%232a2b2b' d='M15 38h2l-1 4z'/%3E%0A%3C/g%3E%0A%3Cg transform='translate(70 18) rotate(18 16 24)'%3E%0A%3Cpath fill='%23d8b067' d='M12 0h8v32h-8z'/%3E%3Cpath fill='%23f7efd8' d='M12 0h8v6h-8z'/%3E%3Cpath fill='%23ce886b' d='M12 0h8v4h-8z'/%3E%3Cpath fill='%23f7efd8' d='M12 32h8l-4 10z'/%3E%3Cpath fill='%232a2b2b' d='M15 38h2l-1 4z'/%3E%0A%3C/g%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,250,242,.98), rgba(239,227,211,.98)) !important;
  background-size: 110px 72px, 100% 100% !important;
  border-color: rgba(158,122,70,.22) !important;
}
body.seasonal-valentine.seasonal-scope-site .product-card p,
body.seasonal-valentine.seasonal-scope-site .product-dialog-description {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.16'%3E%0A%3Cpath fill='%23c86f8a' d='M28 48C13 38 10 26 15 20c4-6 12-5 16 1 4-6 12-7 16-1 5 6 2 18-19 28z'/%3E%0A%3Cpath fill='%23e3b26e' d='M80 38C69 30 67 21 71 17c3-4 9-4 12 1 3-5 9-5 12-1 4 4 2 13-15 21z'/%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,249,.98), rgba(245,233,230,.98)) !important;
  background-size: 110px 72px, 100% 100% !important;
  border-color: rgba(197,111,134,.24) !important;
}
@media (max-width: 680px) {
  body.seasonal-christmas.seasonal-scope-site .product-card p,
  body.seasonal-christmas.seasonal-scope-site .product-dialog-description,
  body.seasonal-halloween.seasonal-scope-site .product-card p,
  body.seasonal-halloween.seasonal-scope-site .product-dialog-description,
  body.seasonal-easter.seasonal-scope-site .product-card p,
  body.seasonal-easter.seasonal-scope-site .product-dialog-description,
  body.seasonal-school.seasonal-scope-site .product-card p,
  body.seasonal-school.seasonal-scope-site .product-dialog-description,
  body.seasonal-valentine.seasonal-scope-site .product-card p,
  body.seasonal-valentine.seasonal-scope-site .product-dialog-description {
    background-size: 86px 58px, 100% 100% !important;
  }
}


/* V5.13.1.163 — thème Fête des Mères — Jardin italien, premium et responsive. */
body.seasonal-mothersday {
  --seasonal-accent: #d5a05f;
  --mothers-sage: #536a4c;
  --mothers-sage-deep: #344631;
  --mothers-blush: #d997ae;
  --mothers-blush-light: #f2d9e0;
  --mothers-cream: #fffaf0;
  --mothers-cream-deep: #f3e8d6;
  --mothers-ink: #384036;
}
body.seasonal-mothersday .hero {
  color: var(--mothers-ink) !important;
  background-color: #f5ead8 !important;
  border-bottom: 1px solid rgba(169,142,96,.28);
}
body.seasonal-mothersday .hero::before {
  background-image:
    linear-gradient(90deg, rgba(255,249,238,.36) 0%, rgba(255,248,236,.26) 20%, rgba(250,242,226,.10) 40%, transparent 63%),
    url('/assets/seasonal/mothersday-hero-desktop-v163.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-mothersday .hero::after {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.32), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(217,151,174,.10), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(88,108,72,.05)) !important;
  opacity: 1 !important;
}
body.seasonal-mothersday .seasonal-hero-label-mothersday {
  display: inline-flex;
  color: #3e5138;
  background: linear-gradient(135deg, #fff0d1, #efbecf 52%, #cbdcb1);
  border: 1px solid rgba(255,255,255,.64);
  box-shadow: 0 16px 38px rgba(90,107,74,.16);
}
body.seasonal-mothersday .hero-copy { color: #35402f; }
body.seasonal-mothersday .hero-copy .eyebrow {
  color: #63735a;
  text-shadow: none;
}
body.seasonal-mothersday .hero-copy h1 {
  color: #35402f;
  text-shadow: 0 2px 18px rgba(255,255,255,.72);
}
body.seasonal-mothersday .hero-copy h1 em { color: #996279; }
body.seasonal-mothersday .hero-copy .hero-text,
body.seasonal-mothersday .hero-copy p {
  color: #596452;
  text-shadow: 0 1px 12px rgba(255,255,255,.72);
}
body.seasonal-mothersday .service-button {
  color: #35402f;
  background: rgba(255,252,246,.78);
  border-color: rgba(83,106,76,.20);
  box-shadow: 0 8px 20px rgba(86,78,61,.08);
  backdrop-filter: blur(5px);
}
body.seasonal-mothersday .service-button small { color: #687260; }
body.seasonal-mothersday .service-button:hover,
body.seasonal-mothersday .service-button.active {
  border-color: #c8879e;
  background: rgba(255,244,247,.90);
}
body.seasonal-mothersday .service-icon {
  color: #3a4835;
  background: linear-gradient(145deg, #fff0cf, #cadbae);
}
body.seasonal-mothersday .primary-cta,
body.seasonal-mothersday .primary-button {
  color: #fffaf7 !important;
  background: linear-gradient(135deg, #c97f98, #8f596d) !important;
  box-shadow: 0 12px 28px rgba(122,78,94,.22) !important;
}
body.seasonal-mothersday .hero-route-cta {
  color: #3b4836 !important;
  border-color: rgba(82,104,76,.26) !important;
  background: rgba(255,251,244,.74) !important;
}
body.seasonal-mothersday .hero-card {
  color: #fffaf1;
  background: linear-gradient(145deg, rgba(65,85,59,.88), rgba(45,63,42,.84)) !important;
  border-color: rgba(244,218,176,.44) !important;
  box-shadow: 0 32px 84px rgba(55,65,49,.28) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-mothersday .hero-hours {
  color: #35402f;
  background: linear-gradient(145deg, #fffaf2, #eee1cf) !important;
  border: 1px solid rgba(83,106,76,.16);
}
body.seasonal-mothersday.seasonal-scope-home_banner .promotion-banner,
body.seasonal-mothersday.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #607557 0%, #c6819a 50%, #9e745a 100%) !important;
  border-top-color: rgba(255,244,219,.26) !important;
  border-bottom-color: rgba(243,216,169,.62) !important;
  box-shadow: 0 10px 24px rgba(65,80,59,.14);
}
body.seasonal-mothersday.seasonal-scope-site .site-header {
  background: rgba(73,93,66,.97) !important;
  border-bottom-color: rgba(243,216,169,.46) !important;
  box-shadow: 0 12px 28px rgba(48,61,44,.15);
}
body.seasonal-mothersday.seasonal-scope-site .site-header nav a:hover,
body.seasonal-mothersday.seasonal-scope-site .phone-link { color: #f5deb1 !important; }
body.seasonal-mothersday.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #c77d96, #8d566a) !important;
}
body.seasonal-mothersday.seasonal-scope-site {
  color: var(--mothers-ink);
  background-color: var(--mothers-cream) !important;
  background-image:
    radial-gradient(circle at top right, rgba(217,151,174,.09), transparent 29%),
    radial-gradient(circle at bottom left, rgba(92,118,82,.07), transparent 32%),
    linear-gradient(180deg, var(--mothers-cream) 0%, var(--mothers-cream-deep) 100%) !important;
}
body.seasonal-mothersday.seasonal-scope-site .order-strip {
  background: #dfd2bd;
  border: 1px solid rgba(83,106,76,.10);
  box-shadow: 0 18px 46px rgba(66,61,50,.12);
}
body.seasonal-mothersday.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf8, #f4eadc);
}
body.seasonal-mothersday.seasonal-scope-site .order-strip b { background: #b8738c !important; }
body.seasonal-mothersday.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-mothersday.seasonal-scope-site .info-section .eyebrow.red { color: #956378 !important; }
body.seasonal-mothersday.seasonal-scope-site .category-tab {
  color: #3c4237;
  background: rgba(255,252,246,.95);
  border-color: rgba(83,106,76,.16);
}
body.seasonal-mothersday.seasonal-scope-site .category-tab.active {
  color: #fffaf1;
  background: #62765a;
  border-color: #62765a;
  box-shadow: 0 8px 20px rgba(65,84,61,.16);
}
body.seasonal-mothersday.seasonal-scope-site .category-line,
body.seasonal-mothersday.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #bd7891, #d7aa67, #78906d);
}
body.seasonal-mothersday.seasonal-scope-site .search-box {
  background: rgba(255,252,247,.96);
  border-color: rgba(83,106,76,.16);
}
body.seasonal-mothersday.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.98), rgba(246,238,228,.98));
  border-color: rgba(83,106,76,.15);
  box-shadow: 0 10px 28px rgba(68,61,51,.08);
}
body.seasonal-mothersday.seasonal-scope-site .product-card:hover {
  border-color: rgba(217,151,174,.55);
  box-shadow: 0 16px 40px rgba(68,61,51,.13);
}
body.seasonal-mothersday.seasonal-scope-site .product-card .price { color: #946176; }
body.seasonal-mothersday.seasonal-scope-site .tag {
  color: #4c453b;
  background: #eee2d4;
  border: 1px solid rgba(83,106,76,.10);
}
body.seasonal-mothersday.seasonal-scope-site .values-section article {
  border-top: 4px solid #d5a05f;
  box-shadow: 0 12px 32px rgba(67,58,48,.09);
}
body.seasonal-mothersday.seasonal-scope-site .values-section article:nth-child(1) { background: #f9ecdf; }
body.seasonal-mothersday.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fffaf1;
  background: linear-gradient(145deg, #62765a, #42563d);
}
body.seasonal-mothersday.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #efdce3, #e3cbd5);
}
body.seasonal-mothersday.seasonal-scope-site .info-section {
  color: #fffaf1;
  background:
    radial-gradient(circle at 78% 20%, rgba(243,216,169,.14), transparent 28%),
    linear-gradient(145deg, #536a4c, #9b6479) !important;
  border: 1px solid rgba(243,216,169,.25);
  box-shadow: 0 22px 54px rgba(49,58,44,.17);
}
body.seasonal-mothersday.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #4e6348 0%, #31412e 100%) !important;
  border-top-color: rgba(243,216,169,.27) !important;
}
body.seasonal-mothersday.seasonal-scope-site .footer-brand small,
body.seasonal-mothersday.seasonal-scope-site .footer-phone,
body.seasonal-mothersday.seasonal-scope-site .footer-menu-link { color: #f0d9ad !important; }

/* Carte du thème : fleurs en filigrane et bouton d’ajout floral. */
body.seasonal-mothersday.seasonal-scope-site .product-card p,
body.seasonal-mothersday.seasonal-scope-site .product-dialog-description {
  color: #596052;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cg opacity='.15'%3E%3Cg transform='translate(20 16)'%3E%3Ccircle cx='12' cy='12' r='5' fill='%23d5a05f'/%3E%3Ccircle cx='12' cy='3' r='6' fill='%23d997ae'/%3E%3Ccircle cx='21' cy='12' r='6' fill='%23e6b2c3'/%3E%3Ccircle cx='12' cy='21' r='6' fill='%23efc6d2'/%3E%3Ccircle cx='3' cy='12' r='6' fill='%23d7a1b3'/%3E%3C/g%3E%3Cg transform='translate(75 30) scale(.82)'%3E%3Ccircle cx='12' cy='12' r='5' fill='%23d5a05f'/%3E%3Ccircle cx='12' cy='3' r='6' fill='%23b8cc9b'/%3E%3Ccircle cx='21' cy='12' r='6' fill='%23d997ae'/%3E%3Ccircle cx='12' cy='21' r='6' fill='%23efc6d2'/%3E%3Ccircle cx='3' cy='12' r='6' fill='%23b8cc9b'/%3E%3C/g%3E%3Cpath d='M48 58c10-8 18-14 25-25' fill='none' stroke='%238ba074' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M59 47c-7 0-11-3-14-8 7-1 12 1 16 6M68 39c1-7 5-11 11-13 0 7-3 12-9 15' fill='%23a9bd8e'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,247,.98), rgba(245,235,226,.98)) !important;
  background-repeat: repeat, no-repeat !important;
  background-position: center center, 0 0 !important;
  background-size: 110px 72px, 100% 100% !important;
  border-color: rgba(195,135,155,.24) !important;
}
body.seasonal-mothersday.seasonal-scope-site .product-card footer { border-top-color: rgba(119,94,77,.17); }
body.seasonal-mothersday.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #c97f98, #647b5c) !important;
}
body.seasonal-mothersday.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg%3E%3Ccircle cx='32' cy='32' r='7' fill='%23f2c477'/%3E%3Ccircle cx='32' cy='16' r='12' fill='%23fff4f6'/%3E%3Ccircle cx='48' cy='32' r='12' fill='%23f7d2dc'/%3E%3Ccircle cx='32' cy='48' r='12' fill='%23fff4f6'/%3E%3Ccircle cx='16' cy='32' r='12' fill='%23e7b4c4'/%3E%3Ccircle cx='32' cy='32' r='5' fill='%23d89a55'/%3E%3Cpath d='M32 55c1 4 3 6 6 8M35 52c5 0 8-2 11-6' fill='none' stroke='%23b9ce9d' stroke-width='3' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E") !important;
}

@media (max-width: 1180px) {
  body.seasonal-mothersday .hero::before {
    background-image:
      linear-gradient(180deg, rgba(255,249,238,.28) 0%, rgba(255,248,236,.10) 30%, transparent 46%),
      linear-gradient(90deg, rgba(255,249,238,.44) 0%, rgba(255,248,236,.28) 22%, rgba(250,242,226,.08) 48%, transparent 66%),
      url('/assets/seasonal/mothersday-hero-tablet-v163.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-mothersday .hero::before {
    background-image:
      linear-gradient(180deg, rgba(255,249,238,.65) 0%, rgba(255,248,236,.46) 22%, rgba(250,242,226,.20) 43%, rgba(250,242,226,.08) 62%, transparent 80%),
      linear-gradient(90deg, rgba(255,249,238,.38) 0%, rgba(255,248,236,.20) 36%, transparent 68%),
      url('/assets/seasonal/mothersday-hero-mobile-v163.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-mothersday .hero-copy {
    padding: 18px;
    background: rgba(255,250,242,.68);
    border: 1px solid rgba(255,255,255,.54);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(80,87,67,.12);
    backdrop-filter: blur(5px);
  }
  body.seasonal-mothersday.seasonal-scope-site .product-card p,
  body.seasonal-mothersday.seasonal-scope-site .product-dialog-description {
    background-size: 86px 58px, 100% 100% !important;
  }
}


/* V5.13.1.165 — thème Fête des Pères premium et responsive. */
body.seasonal-fathersday {
  --seasonal-accent: #d8ae74;
  --fathers-navy: #1f3038;
  --fathers-navy-deep: #121d23;
  --fathers-olive: #64725f;
  --fathers-olive-light: #b9c5bc;
  --fathers-cognac: #9a6b43;
  --fathers-sand: #fbf6ea;
  --fathers-sand-deep: #efe7d7;
  --fathers-ink: #2f3537;
}
body.seasonal-fathersday .hero {
  color: var(--fathers-ink) !important;
  background-color: #ece4d5 !important;
  border-bottom: 1px solid rgba(159,119,70,.18);
}
body.seasonal-fathersday .hero::before {
  background-image:
    linear-gradient(90deg, rgba(247,242,232,.68) 0%, rgba(244,238,226,.42) 22%, rgba(231,224,209,.18) 42%, rgba(208,194,170,.05) 62%, transparent 78%),
    url('/assets/seasonal/fathersday-hero-desktop-v165.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-fathersday .hero::after {
  background:
    radial-gradient(circle at 18% 20%, rgba(255,247,230,.10), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(216,174,116,.11), transparent 24%),
    linear-gradient(180deg, rgba(28,38,44,.02), rgba(28,38,44,.08)) !important;
  opacity: 1 !important;
}
body.seasonal-fathersday .seasonal-hero-label-fathersday {
  display: inline-flex;
  color: #2d3940;
  background: linear-gradient(135deg, #f7edd7, #dcb885 55%, #b8c7c0);
  border: 1px solid rgba(255,255,255,.50);
  box-shadow: 0 16px 38px rgba(83,102,96,.16);
}
body.seasonal-fathersday .hero-copy { color: #31393b; }
body.seasonal-fathersday .hero-copy .eyebrow {
  color: #7b5a3c;
  text-shadow: 0 0 16px rgba(216,174,116,.12);
}
body.seasonal-fathersday .hero-copy h1 { color: #24343c; }
body.seasonal-fathersday .hero-copy h1 em { color: #7c5b3f; }
body.seasonal-fathersday .hero-copy .hero-text,
body.seasonal-fathersday .hero-copy p {
  color: #445257;
  text-shadow: none;
}
body.seasonal-fathersday .service-button {
  background: rgba(255,251,244,.90);
  border-color: rgba(134,116,92,.12);
}
body.seasonal-fathersday .service-button small { color: #627067; }
body.seasonal-fathersday .service-button:hover,
body.seasonal-fathersday .service-button.active {
  border-color: rgba(154,107,67,.34);
  background: rgba(255,247,234,.96);
}
body.seasonal-fathersday .service-icon {
  background: linear-gradient(145deg, #ead0a0, #97a9a1);
}
body.seasonal-fathersday .primary-cta,
body.seasonal-fathersday .primary-button {
  color: #fefcf7 !important;
  background: linear-gradient(135deg, #6b7c76, #31444d) !important;
  box-shadow: 0 12px 28px rgba(54,74,82,.22) !important;
}
body.seasonal-fathersday .hero-route-cta {
  border-color: rgba(109,124,118,.30) !important;
  background: rgba(250,246,238,.78) !important;
  color: #31444d !important;
}
body.seasonal-fathersday .hero-card {
  background: linear-gradient(145deg, rgba(255,250,242,.86), rgba(245,238,226,.80)) !important;
  border-color: rgba(168,142,106,.24) !important;
  box-shadow: 0 32px 84px rgba(76,82,72,.16) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-fathersday .hero-hours {
  background: linear-gradient(145deg, #fffdf8, #f1e8da) !important;
  border: 1px solid rgba(102,114,95,.14);
}
body.seasonal-fathersday.seasonal-scope-home_banner .promotion-banner,
body.seasonal-fathersday.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #32454d 0%, #6a7a74 50%, #94714b 100%) !important;
  border-top-color: rgba(255,247,235,.18) !important;
  border-bottom-color: rgba(216,174,116,.56) !important;
  box-shadow: 0 10px 24px rgba(49,68,77,.14);
}
body.seasonal-fathersday.seasonal-scope-site .site-header {
  background: rgba(42,57,64,.96) !important;
  border-bottom-color: rgba(216,174,116,.38) !important;
  box-shadow: 0 12px 28px rgba(28,38,44,.15);
}
body.seasonal-fathersday.seasonal-scope-site .site-header nav a:hover,
body.seasonal-fathersday.seasonal-scope-site .phone-link { color: #f0d7ab !important; }
body.seasonal-fathersday.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #8c6643, #31444d) !important;
}
body.seasonal-fathersday.seasonal-scope-site {
  color: var(--fathers-ink);
  background-color: var(--fathers-sand) !important;
  background-image:
    radial-gradient(circle at top right, rgba(216,174,116,.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(100,114,95,.07), transparent 33%),
    linear-gradient(180deg, var(--fathers-sand) 0%, var(--fathers-sand-deep) 100%) !important;
}
body.seasonal-fathersday.seasonal-scope-site .order-strip {
  background: #e7dcc7;
  border: 1px solid rgba(122,112,91,.10);
  box-shadow: 0 18px 46px rgba(76,82,72,.12);
}
body.seasonal-fathersday.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf9, #f4ece1);
}
body.seasonal-fathersday.seasonal-scope-site .order-strip b { background: #7f6d57 !important; }
body.seasonal-fathersday.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-fathersday.seasonal-scope-site .info-section .eyebrow.red { color: #866445 !important; }
body.seasonal-fathersday.seasonal-scope-site .category-tab {
  color: #394446;
  background: rgba(255,252,247,.95);
  border-color: rgba(122,112,91,.14);
}
body.seasonal-fathersday.seasonal-scope-site .category-tab.active {
  color: #fffaf2;
  background: #30444c;
  border-color: #30444c;
  box-shadow: 0 8px 20px rgba(49,68,77,.16);
}
body.seasonal-fathersday.seasonal-scope-site .category-line,
body.seasonal-fathersday.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #64725f, #d2ab74, #30444c);
}
body.seasonal-fathersday.seasonal-scope-site .search-box {
  background: rgba(255,252,247,.96);
  border-color: rgba(122,112,91,.14);
}
body.seasonal-fathersday.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.98), rgba(244,238,228,.98));
  border-color: rgba(122,112,91,.14);
  box-shadow: 0 10px 28px rgba(76,82,72,.08);
}
body.seasonal-fathersday.seasonal-scope-site .product-card:hover {
  border-color: rgba(154,107,67,.42);
  box-shadow: 0 16px 40px rgba(76,82,72,.13);
}
body.seasonal-fathersday.seasonal-scope-site .product-card .price { color: #7e6043; }
body.seasonal-fathersday.seasonal-scope-site .tag {
  color: #4a504d;
  background: #ece4d8;
  border: 1px solid rgba(122,112,91,.10);
}
body.seasonal-fathersday.seasonal-scope-site .values-section article {
  border-top: 4px solid #d8ae74;
  box-shadow: 0 12px 32px rgba(76,82,72,.10);
}
body.seasonal-fathersday.seasonal-scope-site .values-section article:nth-child(1) { background: #f7ede0; }
body.seasonal-fathersday.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fffaf3;
  background: linear-gradient(145deg, #30444c, #697872);
}
body.seasonal-fathersday.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #ebe1d2, #ddd1c0);
}
body.seasonal-fathersday.seasonal-scope-site .info-section {
  color: #fffaf3;
  background:
    radial-gradient(circle at 78% 20%, rgba(216,174,116,.14), transparent 28%),
    linear-gradient(145deg, #30444c, #8e6a45) !important;
  border: 1px solid rgba(216,174,116,.24);
  box-shadow: 0 22px 54px rgba(49,68,77,.18);
}
body.seasonal-fathersday.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #2a3940 0%, #1a252a 100%) !important;
  border-top-color: rgba(216,174,116,.26) !important;
}
body.seasonal-fathersday.seasonal-scope-site .footer-brand small,
body.seasonal-fathersday.seasonal-scope-site .footer-phone,
body.seasonal-fathersday.seasonal-scope-site .footer-menu-link { color: #f0d8b0 !important; }
body.seasonal-fathersday.seasonal-scope-site .product-card p,
body.seasonal-fathersday.seasonal-scope-site .product-dialog-description {
  color: #4d5657;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.16'%3E%0A%3Cpath fill='%235c7280' d='M17 31l18-10c7-4 13-2 17 3l8 10-8 10c-4 5-10 7-17 3L17 37c-5-3-5-3 0-6z'/%3E%0A%3Cpath fill='%235c7280' d='M103 31L85 21c-7-4-13-2-17 3l-8 10 8 10c4 5 10 7 17 3l18-10c5-3 5-3 0-6z'/%3E%0A%3Crect x='52' y='28' width='16' height='12' rx='4' fill='%23c79f6b'/%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,247,.98), rgba(243,236,226,.98)) !important;
  background-size: 110px 72px, 100% 100% !important;
  background-repeat: repeat, no-repeat !important;
  background-position: center center, 0 0 !important;
  border-color: rgba(122,112,91,.18) !important;
}
body.seasonal-fathersday.seasonal-scope-site .product-card footer { border-top-color: rgba(122,112,91,.17); }
body.seasonal-fathersday.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #6e7d77, #30444c) !important;
}
body.seasonal-fathersday.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%0A%3Cpath fill='%2523f9f7f1' d='M6 25l14-8c5-3 9-2 12 2l6 8-6 8c-3 4-7 5-12 2L6 29c-4-2-4-2 0-4z'/%3E%0A%3Cpath fill='%2523f9f7f1' d='M58 25l-14-8c-5-3-9-2-12 2l-6 8 6 8c3 4 7 5 12 2l14-8c4-2 4-2 0-4z'/%3E%0A%3Crect x='26' y='23' width='12' height='8' rx='3' fill='%2523d9b37a'/%3E%0A%3C/svg%3E") !important;
}
@media (max-width: 1180px) {
  body.seasonal-fathersday .hero::before {
    background-image:
      linear-gradient(180deg, rgba(247,242,232,.54) 0%, rgba(244,238,226,.18) 24%, rgba(226,219,205,.06) 42%),
      linear-gradient(90deg, rgba(247,242,232,.70) 0%, rgba(238,231,217,.42) 24%, rgba(208,194,170,.14) 46%, rgba(208,194,170,.04) 62%, transparent 100%),
      url('/assets/seasonal/fathersday-hero-tablet-v165.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-fathersday .hero::before {
    background-image:
      linear-gradient(180deg, rgba(247,242,232,.74) 0%, rgba(242,235,223,.46) 22%, rgba(231,224,209,.20) 44%, rgba(208,194,170,.08) 60%, rgba(208,194,170,.06) 100%),
      linear-gradient(90deg, rgba(247,242,232,.74) 0%, rgba(238,231,217,.38) 32%, rgba(208,194,170,.10) 56%, transparent 100%),
      url('/assets/seasonal/fathersday-hero-mobile-v165.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-fathersday .hero-copy {
    color: #364042;
    background: linear-gradient(180deg, rgba(255,251,244,.88), rgba(255,251,244,.52));
    border-radius: 22px;
    padding: 18px 16px;
  }
  body.seasonal-fathersday.seasonal-scope-site .product-card p,
  body.seasonal-fathersday.seasonal-scope-site .product-dialog-description {
    background-size: 88px 58px, 100% 100% !important;
  }
}


/* V5.13.1.167 — correction de contraste des boutons Emporter / Livraison du thème Fête des Pères. */
body.seasonal-fathersday .service-button,
body.seasonal-fathersday .service-button:hover,
body.seasonal-fathersday .service-button.active {
  color: #26363d !important;
}
body.seasonal-fathersday .service-button strong {
  color: #26363d !important;
}
body.seasonal-fathersday .service-button small {
  color: #59675f !important;
}
body.seasonal-fathersday .service-button[disabled],
body.seasonal-fathersday.delivery-unavailable .service-button[data-fulfilment="delivery"] {
  color: #3f4d52 !important;
}
body.seasonal-fathersday .service-icon {
  color: #223139 !important;
}


/* V5.13.1.168 — thème Nouvel An premium, complet et responsive. */
body.seasonal-newyear {
  --seasonal-accent: #d9b05a;
  --newyear-midnight: #101b2c;
  --newyear-midnight-deep: #07101d;
  --newyear-gold: #d9b05a;
  --newyear-gold-soft: #f1d58d;
  --newyear-ivory: #fff9ef;
  --newyear-ivory-deep: #eee7dc;
  --newyear-ink: #282f38;
}
body.seasonal-newyear .hero {
  background-color: var(--newyear-midnight-deep) !important;
  border-bottom: 1px solid rgba(217,176,90,.30);
}
body.seasonal-newyear .hero::before {
  background-image:
    linear-gradient(90deg, rgba(7,16,29,.48) 0%, rgba(9,20,35,.38) 18%, rgba(12,25,41,.20) 38%, rgba(16,30,45,.08) 56%, transparent 75%),
    url('/assets/seasonal/newyear-hero-desktop-v168.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-newyear .hero::after {
  background:
    radial-gradient(circle at 18% 20%, rgba(241,213,141,.12), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(217,176,90,.14), transparent 22%),
    linear-gradient(180deg, rgba(2,7,13,.04), rgba(2,7,13,.13)) !important;
  opacity: 1 !important;
}
body.seasonal-newyear .seasonal-hero-label-newyear {
  display: inline-flex;
  color: #16202d;
  background: linear-gradient(135deg, #fff0c4, #e3b65e 56%, #f5db98);
  border: 1px solid rgba(255,255,255,.40);
  box-shadow: 0 16px 40px rgba(217,176,90,.20);
}
body.seasonal-newyear .hero-copy .eyebrow {
  color: #f5d58d;
  text-shadow: 0 0 18px rgba(217,176,90,.20);
}
body.seasonal-newyear .hero-copy h1,
body.seasonal-newyear .hero-copy p {
  text-shadow: 0 3px 18px rgba(0,0,0,.44);
}
body.seasonal-newyear .hero-card {
  background: linear-gradient(145deg, rgba(10,21,37,.88), rgba(5,12,22,.83)) !important;
  border-color: rgba(232,198,121,.40) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.46) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-newyear .hero-hours {
  background: linear-gradient(145deg, #fff8ea, #e8dfcf) !important;
  border: 1px solid rgba(125,99,52,.18);
}
body.seasonal-newyear .service-button {
  background: rgba(255,250,239,.06);
  border-color: rgba(255,243,216,.18);
}
body.seasonal-newyear .service-button:hover,
body.seasonal-newyear .service-button.active {
  border-color: rgba(231,190,100,.72);
  background: rgba(139,99,24,.22);
}
body.seasonal-newyear .service-icon {
  background: linear-gradient(145deg, #f4db98, #c9973f);
  color: #18222d !important;
}
body.seasonal-newyear .primary-cta,
body.seasonal-newyear .primary-button {
  color: #17212c !important;
  background: linear-gradient(135deg, #f0d486, #c6983f) !important;
  box-shadow: 0 12px 30px rgba(199,151,63,.28) !important;
}
body.seasonal-newyear .hero-route-cta {
  border-color: rgba(231,190,100,.46) !important;
  background: rgba(7,16,28,.58) !important;
}
body.seasonal-newyear.seasonal-scope-home_banner .promotion-banner,
body.seasonal-newyear.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #101c30 0%, #645027 52%, #1d2b3d 100%) !important;
  border-top-color: rgba(255,244,213,.18) !important;
  border-bottom-color: rgba(231,190,100,.62) !important;
  box-shadow: 0 10px 26px rgba(7,16,29,.20);
}
body.seasonal-newyear.seasonal-scope-site .site-header {
  background: rgba(12,24,40,.97) !important;
  border-bottom-color: rgba(231,190,100,.44) !important;
  box-shadow: 0 12px 30px rgba(2,8,16,.23);
}
body.seasonal-newyear.seasonal-scope-site .site-header nav a:hover,
body.seasonal-newyear.seasonal-scope-site .phone-link { color: #f2d68c !important; }
body.seasonal-newyear.seasonal-scope-site .cart-pill {
  color: #19222c !important;
  background: linear-gradient(135deg, #e5c26f, #b88632) !important;
}
body.seasonal-newyear.seasonal-scope-site {
  color: var(--newyear-ink);
  background-color: var(--newyear-ivory) !important;
  background-image:
    radial-gradient(circle at top right, rgba(217,176,90,.10), transparent 28%),
    radial-gradient(circle at bottom left, rgba(16,28,48,.07), transparent 34%),
    linear-gradient(180deg, var(--newyear-ivory) 0%, var(--newyear-ivory-deep) 100%) !important;
}
body.seasonal-newyear.seasonal-scope-site .order-strip {
  background: #ded3be;
  border: 1px solid rgba(101,79,43,.12);
  box-shadow: 0 18px 48px rgba(45,39,30,.14);
}
body.seasonal-newyear.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdfa, #f2ebe1);
}
body.seasonal-newyear.seasonal-scope-site .order-strip b { background: #b78a38 !important; }
body.seasonal-newyear.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-newyear.seasonal-scope-site .info-section .eyebrow.red { color: #9a732c !important; }
body.seasonal-newyear.seasonal-scope-site .category-tab {
  color: #333a43;
  background: rgba(255,252,246,.95);
  border-color: rgba(101,79,43,.16);
}
body.seasonal-newyear.seasonal-scope-site .category-tab.active {
  color: #fff8e7;
  background: #16263b;
  border-color: #16263b;
  box-shadow: 0 8px 22px rgba(16,28,48,.18);
}
body.seasonal-newyear.seasonal-scope-site .category-line,
body.seasonal-newyear.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #17293e, #d3a748, #17293e);
}
body.seasonal-newyear.seasonal-scope-site .search-box {
  background: rgba(255,252,246,.96);
  border-color: rgba(101,79,43,.16);
}
body.seasonal-newyear.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.99), rgba(244,237,226,.98));
  border-color: rgba(108,84,45,.16);
  box-shadow: 0 10px 30px rgba(40,34,26,.09);
}
body.seasonal-newyear.seasonal-scope-site .product-card:hover {
  border-color: rgba(211,167,72,.52);
  box-shadow: 0 17px 42px rgba(40,34,26,.15);
}
body.seasonal-newyear.seasonal-scope-site .product-card .price { color: #946b23; }
body.seasonal-newyear.seasonal-scope-site .tag {
  color: #474138;
  background: #eee4d4;
  border: 1px solid rgba(101,79,43,.10);
}
body.seasonal-newyear.seasonal-scope-site .values-section article {
  border-top: 4px solid #d9b05a;
  box-shadow: 0 12px 34px rgba(40,34,26,.11);
}
body.seasonal-newyear.seasonal-scope-site .values-section article:nth-child(1) { background: #f9edda; }
body.seasonal-newyear.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fff8e7;
  background: linear-gradient(145deg, #17293e, #0d1b2c);
}
body.seasonal-newyear.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #ead9b9, #ddc79e);
}
body.seasonal-newyear.seasonal-scope-site .info-section {
  color: #fff9ec;
  background:
    radial-gradient(circle at 78% 20%, rgba(241,213,141,.15), transparent 28%),
    linear-gradient(145deg, #14253a, #7f6128) !important;
  border: 1px solid rgba(231,190,100,.28);
  box-shadow: 0 22px 56px rgba(11,20,34,.20);
}
body.seasonal-newyear.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #111f31 0%, #07111d 100%) !important;
  border-top-color: rgba(231,190,100,.30) !important;
}
body.seasonal-newyear.seasonal-scope-site .footer-brand small,
body.seasonal-newyear.seasonal-scope-site .footer-phone,
body.seasonal-newyear.seasonal-scope-site .footer-menu-link { color: #f0d38a !important; }
body.seasonal-newyear.seasonal-scope-site .product-card p,
body.seasonal-newyear.seasonal-scope-site .product-dialog-description {
  color: #4b453c;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.17'%3E%0A%3Cpath fill='%23c89a3d' d='M26 11l3.5 7.2 8 .9-5.8 5.4 1.6 7.8-7.3-4-7.3 4 1.6-7.8-5.8-5.4 8-.9z'/%3E%0A%3Cpath fill='%23c89a3d' d='M87 30l2.8 5.8 6.4.7-4.7 4.3 1.3 6.2-5.8-3.2-5.8 3.2 1.3-6.2-4.7-4.3 6.4-.7z'/%3E%0A%3Ccircle cx='61' cy='17' r='2.4' fill='%23e7c77d'/%3E%0A%3Ccircle cx='52' cy='53' r='2.1' fill='%23d9b35c'/%3E%0A%3Ccircle cx='104' cy='13' r='1.9' fill='%23e7c77d'/%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,245,.99), rgba(242,232,215,.99)) !important;
  background-size: 112px 74px, 100% 100% !important;
  background-repeat: repeat, no-repeat !important;
  background-position: center center, 0 0 !important;
  border-color: rgba(211,167,72,.24) !important;
}
body.seasonal-newyear.seasonal-scope-site .product-card footer { border-top-color: rgba(118,92,44,.18); }
body.seasonal-newyear.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #d9b05a, #17293e) !important;
}
body.seasonal-newyear.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%0A%3Cpath fill='%23fff8e8' d='M32 5l6.6 13.4 14.8 2.1-10.7 10.4 2.5 14.8L32 38.7 18.8 45.7l2.5-14.8L10.6 20.5l14.8-2.1z'/%3E%0A%3Cpath fill='%23e2b557' d='M32 13l3.7 7.5 8.3 1.2-6 5.8 1.4 8.2-7.4-3.9-7.4 3.9 1.4-8.2-6-5.8 8.3-1.2z'/%3E%0A%3Ccircle cx='50' cy='11' r='3' fill='%23fff8e8'/%3E%3Ccircle cx='12' cy='45' r='2.5' fill='%23e2b557'/%3E%0A%3C/svg%3E") !important;
}
@media (max-width: 1180px) {
  body.seasonal-newyear .hero::before {
    background-image:
      linear-gradient(180deg, rgba(7,16,29,.48) 0%, rgba(9,20,35,.18) 26%, rgba(12,25,41,.08) 44%),
      linear-gradient(90deg, rgba(7,16,29,.72) 0%, rgba(9,20,35,.52) 20%, rgba(12,25,41,.23) 43%, rgba(16,30,45,.08) 60%, transparent 100%),
      url('/assets/seasonal/newyear-hero-tablet-v168.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-newyear .hero::before {
    background-image:
      linear-gradient(180deg, rgba(7,16,29,.76) 0%, rgba(9,20,35,.48) 22%, rgba(12,25,41,.24) 43%, rgba(16,30,45,.14) 61%, rgba(16,30,45,.18) 100%),
      linear-gradient(90deg, rgba(7,16,29,.72) 0%, rgba(9,20,35,.42) 30%, rgba(12,25,41,.15) 54%, transparent 100%),
      url('/assets/seasonal/newyear-hero-mobile-v168.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-newyear.seasonal-scope-site .product-card p,
  body.seasonal-newyear.seasonal-scope-site .product-dialog-description {
    background-size: 88px 58px, 100% 100% !important;
  }
}


/* V5.13.1.169 — thème USAP pour les soirs de match. */
body.seasonal-usap {
  --seasonal-accent: #f2bf33;
  --usap-red: #b51f34;
  --usap-red-deep: #6c101d;
  --usap-gold: #f2bf33;
  --usap-gold-soft: #f7df8b;
  --usap-navy: #182853;
  --usap-navy-deep: #0f1a35;
  --usap-ivory: #fff8ef;
  --usap-ivory-deep: #efe6d8;
  --usap-ink: #2b2b31;
}
body.seasonal-usap .hero {
  background-color: var(--usap-navy-deep) !important;
  border-bottom: 1px solid rgba(242,191,51,.28);
}
body.seasonal-usap .hero::before {
  background-image:
    linear-gradient(90deg, rgba(15,26,53,.72) 0%, rgba(18,33,66,.52) 22%, rgba(36,16,22,.18) 44%, rgba(36,16,22,.06) 62%, transparent 78%),
    url('/assets/seasonal/usap-hero-desktop-v169.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-usap .hero::after {
  background:
    radial-gradient(circle at 18% 20%, rgba(242,191,51,.10), transparent 22%),
    radial-gradient(circle at 84% 18%, rgba(181,31,52,.12), transparent 24%),
    linear-gradient(180deg, rgba(7,13,26,.04), rgba(7,13,26,.10)) !important;
  opacity: 1 !important;
}
body.seasonal-usap .seasonal-hero-label-usap {
  display: inline-flex;
  color: #182853;
  background: linear-gradient(135deg, #fff1be, #f1bd34 48%, #c72e3f);
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 18px 42px rgba(12,20,42,.24);
}
body.seasonal-usap .hero-copy .eyebrow {
  color: #f6d989;
  text-shadow: 0 0 16px rgba(242,191,51,.15);
}
body.seasonal-usap .hero-copy h1,
body.seasonal-usap .hero-copy p {
  text-shadow: 0 3px 18px rgba(4,8,18,.36);
}
body.seasonal-usap .hero-card {
  background: linear-gradient(145deg, rgba(16,25,49,.84), rgba(73,15,25,.80)) !important;
  border-color: rgba(247,223,139,.26) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.38) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-usap .hero-hours {
  background: linear-gradient(145deg, #fff7ec, #f1e3c7) !important;
  border: 1px solid rgba(91,74,45,.16);
}
body.seasonal-usap .service-button {
  background: rgba(255,248,236,.08);
  border-color: rgba(255,244,224,.20);
}
body.seasonal-usap .service-button:hover,
body.seasonal-usap .service-button.active {
  border-color: rgba(242,191,51,.64);
  background: rgba(181,31,52,.22);
}
body.seasonal-usap .service-icon {
  background: linear-gradient(145deg, #f3c33d, #b41f34);
}
body.seasonal-usap .primary-cta,
body.seasonal-usap .primary-button {
  background: linear-gradient(135deg, #c92e3f, #1d2f63) !important;
  color: #fffaf2 !important;
  box-shadow: 0 12px 30px rgba(26,40,83,.28) !important;
}
body.seasonal-usap .hero-route-cta {
  border-color: rgba(242,191,51,.36) !important;
  background: rgba(15,26,53,.54) !important;
}
body.seasonal-usap.seasonal-scope-home_banner .promotion-banner,
body.seasonal-usap.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #182853 0%, #c92e3f 48%, #f2bf33 100%) !important;
  border-top-color: rgba(255,248,234,.18) !important;
  border-bottom-color: rgba(255,232,174,.56) !important;
  box-shadow: 0 10px 24px rgba(24,40,83,.16);
}
body.seasonal-usap.seasonal-scope-site .site-header {
  background: rgba(18,29,60,.97) !important;
  border-bottom-color: rgba(242,191,51,.44) !important;
  box-shadow: 0 12px 28px rgba(15,26,53,.18);
}
body.seasonal-usap.seasonal-scope-site .site-header nav a:hover,
body.seasonal-usap.seasonal-scope-site .phone-link { color: #f6d989 !important; }
body.seasonal-usap.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #c92e3f, #1d2f63) !important;
}
body.seasonal-usap.seasonal-scope-site {
  color: var(--usap-ink);
  background-color: var(--usap-ivory) !important;
  background-image:
    radial-gradient(circle at top right, rgba(242,191,51,.09), transparent 28%),
    radial-gradient(circle at bottom left, rgba(181,31,52,.07), transparent 33%),
    linear-gradient(180deg, var(--usap-ivory) 0%, var(--usap-ivory-deep) 100%) !important;
}
body.seasonal-usap.seasonal-scope-site .order-strip {
  background: #eadfca;
  border: 1px solid rgba(109,92,63,.10);
  box-shadow: 0 18px 46px rgba(56,46,42,.10);
}
body.seasonal-usap.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf9, #f4ecdf);
}
body.seasonal-usap.seasonal-scope-site .order-strip b { background: #b41f34 !important; }
body.seasonal-usap.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-usap.seasonal-scope-site .info-section .eyebrow.red { color: #ad2035 !important; }
body.seasonal-usap.seasonal-scope-site .category-tab {
  color: #36363d;
  background: rgba(255,252,247,.96);
  border-color: rgba(109,92,63,.14);
}
body.seasonal-usap.seasonal-scope-site .category-tab.active {
  color: #fffaf1;
  background: #1d2f63;
  border-color: #1d2f63;
  box-shadow: 0 8px 20px rgba(29,47,99,.16);
}
body.seasonal-usap.seasonal-scope-site .category-line,
body.seasonal-usap.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #c92e3f, #f2bf33, #1d2f63);
}
body.seasonal-usap.seasonal-scope-site .search-box {
  background: rgba(255,252,247,.96);
  border-color: rgba(109,92,63,.14);
}
body.seasonal-usap.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.98), rgba(244,238,228,.98));
  border-color: rgba(109,92,63,.14);
  box-shadow: 0 10px 28px rgba(56,46,42,.08);
}
body.seasonal-usap.seasonal-scope-site .product-card:hover {
  border-color: rgba(201,46,63,.38);
  box-shadow: 0 16px 40px rgba(56,46,42,.13);
}
body.seasonal-usap.seasonal-scope-site .product-card .price { color: #1d2f63; }
body.seasonal-usap.seasonal-scope-site .tag {
  color: #4a4c53;
  background: #ece4d7;
  border: 1px solid rgba(109,92,63,.10);
}
body.seasonal-usap.seasonal-scope-site .values-section article {
  border-top: 4px solid #f2bf33;
  box-shadow: 0 12px 32px rgba(56,46,42,.10);
}
body.seasonal-usap.seasonal-scope-site .values-section article:nth-child(1) { background: #faf0de; }
body.seasonal-usap.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fffaf2;
  background: linear-gradient(145deg, #1d2f63, #b41f34);
}
body.seasonal-usap.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #eee2d0, #e3d5bf);
}
body.seasonal-usap.seasonal-scope-site .info-section {
  color: #fffaf2;
  background:
    radial-gradient(circle at 78% 20%, rgba(242,191,51,.14), transparent 28%),
    linear-gradient(145deg, #182853, #b41f34) !important;
  border: 1px solid rgba(242,191,51,.24);
  box-shadow: 0 22px 54px rgba(24,40,83,.18);
}
body.seasonal-usap.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #182853 0%, #0d1630 100%) !important;
  border-top-color: rgba(242,191,51,.26) !important;
}
body.seasonal-usap.seasonal-scope-site .footer-brand small,
body.seasonal-usap.seasonal-scope-site .footer-phone,
body.seasonal-usap.seasonal-scope-site .footer-menu-link { color: #f4d891 !important; }
body.seasonal-usap.seasonal-scope-site .product-card p,
body.seasonal-usap.seasonal-scope-site .product-dialog-description {
  color: #56453c;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.16'%3E%0A%3Cg transform='translate(14 16) rotate(-18 22 16)'%3E%0A%3Cellipse cx='22' cy='16' rx='18' ry='10' fill='%23bf2d38'/%3E%0A%3Cpath d='M10 16h24' stroke='%23f6d06f' stroke-width='2.5' stroke-linecap='round'/%3E%0A%3Cpath d='M22 11v10' stroke='%23fff7de' stroke-width='2' stroke-linecap='round'/%3E%0A%3Cpath d='M18 13l4-2 4 2M18 19l4 2 4-2' stroke='%23fff7de' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%0A%3C/g%3E%0A%3Cg transform='translate(72 34) rotate(14 18 12)'%3E%0A%3Cellipse cx='18' cy='12' rx='14' ry='8' fill='%231c2e61'/%3E%0A%3Cpath d='M9 12h18' stroke='%23f4bc32' stroke-width='2.2' stroke-linecap='round'/%3E%0A%3Cpath d='M18 8v8' stroke='%23fff7de' stroke-width='1.8' stroke-linecap='round'/%3E%0A%3Cpath d='M15 10l3-2 3 2M15 14l3 2 3-2' stroke='%23fff7de' stroke-width='1.3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%0A%3C/g%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,252,247,.98), rgba(243,236,226,.98)) !important;
  background-size: 112px 72px, 100% 100% !important;
  background-repeat: repeat, no-repeat !important;
  background-position: center center, 0 0 !important;
  border-color: rgba(201,46,63,.16) !important;
}
body.seasonal-usap.seasonal-scope-site .product-card footer { border-top-color: rgba(109,92,63,.17); }
body.seasonal-usap.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #c92e3f, #1d2f63) !important;
}
body.seasonal-usap.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%0A%3Cellipse cx='32' cy='32' rx='20' ry='12' fill='%2523fff7e5'/%3E%0A%3Cpath d='M18 32h28' stroke='%2523c92e3f' stroke-width='3' stroke-linecap='round'/%3E%0A%3Cpath d='M32 25v14' stroke='%25231b2d5b' stroke-width='2.4' stroke-linecap='round'/%3E%0A%3Cpath d='M26 28l6-3 6 3M26 36l6 3 6-3' stroke='%25231b2d5b' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%0A%3C/svg%3E") !important;
}
@media (max-width: 1180px) {
  body.seasonal-usap .hero::before {
    background-image:
      linear-gradient(180deg, rgba(15,26,53,.56) 0%, rgba(18,33,66,.20) 24%, rgba(36,16,22,.08) 42%),
      linear-gradient(90deg, rgba(15,26,53,.74) 0%, rgba(18,33,66,.48) 24%, rgba(181,31,52,.16) 46%, rgba(181,31,52,.05) 62%, transparent 100%),
      url('/assets/seasonal/usap-hero-tablet-v169.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-usap .hero::before {
    background-image:
      linear-gradient(180deg, rgba(15,26,53,.80) 0%, rgba(18,33,66,.50) 22%, rgba(36,16,22,.24) 44%, rgba(36,16,22,.10) 60%, rgba(36,16,22,.08) 100%),
      linear-gradient(90deg, rgba(15,26,53,.74) 0%, rgba(18,33,66,.40) 32%, rgba(181,31,52,.12) 56%, transparent 100%),
      url('/assets/seasonal/usap-hero-mobile-v169.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-usap.seasonal-scope-site .product-card p,
  body.seasonal-usap.seasonal-scope-site .product-dialog-description {
    background-size: 88px 58px, 100% 100% !important;
  }
}


/* V5.13.1.170 — thème Équipe de France pour les soirs de match. */
body.seasonal-france {
  --seasonal-accent: #e03a49;
  --france-blue: #173f8f;
  --france-blue-deep: #081a42;
  --france-red: #df3546;
  --france-white: #fffaf2;
  --france-ivory: #f8f5ef;
  --france-ivory-deep: #e8e4dc;
  --france-ink: #28313d;
}
body.seasonal-france .hero {
  background-color: var(--france-blue-deep) !important;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
body.seasonal-france .hero::before {
  background-image:
    linear-gradient(90deg, rgba(5,18,50,.78) 0%, rgba(8,28,67,.60) 22%, rgba(17,43,89,.24) 43%, rgba(17,43,89,.08) 62%, transparent 78%),
    url('/assets/seasonal/france-hero-desktop-v170.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 1 !important;
}
body.seasonal-france .hero::after {
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.09), transparent 23%),
    radial-gradient(circle at 84% 18%, rgba(223,53,70,.13), transparent 24%),
    linear-gradient(180deg, rgba(3,11,31,.04), rgba(3,11,31,.13)) !important;
  opacity: 1 !important;
}
body.seasonal-france .seasonal-hero-label-france {
  display: inline-flex;
  color: #153a82;
  background: linear-gradient(135deg, #fffdf6 0%, #edf2fb 44%, #e35662 100%);
  border: 1px solid rgba(255,255,255,.46);
  box-shadow: 0 18px 42px rgba(5,18,50,.28);
}
body.seasonal-france .hero-copy .eyebrow {
  color: #dce8ff;
  text-shadow: 0 0 16px rgba(255,255,255,.10);
}
body.seasonal-france .hero-copy h1,
body.seasonal-france .hero-copy p {
  text-shadow: 0 3px 18px rgba(2,8,23,.44);
}
body.seasonal-france .hero-card {
  background: linear-gradient(145deg, rgba(8,25,61,.86), rgba(21,45,91,.80)) !important;
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.40) !important;
  backdrop-filter: blur(8px) !important;
}
body.seasonal-france .hero-hours {
  background: linear-gradient(145deg, #fffaf4, #e9e3da) !important;
  border: 1px solid rgba(53,67,92,.16);
}
body.seasonal-france .service-button {
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.20);
}
body.seasonal-france .service-button:hover,
body.seasonal-france .service-button.active {
  border-color: rgba(255,255,255,.62);
  background: rgba(223,53,70,.24);
}
body.seasonal-france .service-icon {
  background: linear-gradient(145deg, #fff8ee, #df3546);
}
body.seasonal-france .primary-cta,
body.seasonal-france .primary-button {
  color: #fffaf4 !important;
  background: linear-gradient(135deg, #173f8f, #df3546) !important;
  box-shadow: 0 12px 30px rgba(8,26,66,.30) !important;
}
body.seasonal-france .hero-route-cta {
  border-color: rgba(255,255,255,.34) !important;
  background: rgba(8,26,66,.58) !important;
}
body.seasonal-france.seasonal-scope-home_banner .promotion-banner,
body.seasonal-france.seasonal-scope-site .promotion-banner {
  background: linear-gradient(105deg, #173f8f 0%, #f7f4ed 50%, #df3546 100%) !important;
  color: #101f42 !important;
  border-top-color: rgba(255,255,255,.22) !important;
  border-bottom-color: rgba(23,63,143,.44) !important;
  box-shadow: 0 10px 24px rgba(8,26,66,.16);
}
body.seasonal-france.seasonal-scope-site .site-header {
  background: rgba(10,31,75,.97) !important;
  border-bottom-color: rgba(255,255,255,.30) !important;
  box-shadow: 0 12px 28px rgba(8,26,66,.20);
}
body.seasonal-france.seasonal-scope-site .site-header nav a:hover,
body.seasonal-france.seasonal-scope-site .phone-link { color: #ffffff !important; }
body.seasonal-france.seasonal-scope-site .cart-pill {
  background: linear-gradient(135deg, #173f8f, #df3546) !important;
}
body.seasonal-france.seasonal-scope-site {
  color: var(--france-ink);
  background-color: var(--france-ivory) !important;
  background-image:
    radial-gradient(circle at top right, rgba(23,63,143,.08), transparent 28%),
    radial-gradient(circle at bottom left, rgba(223,53,70,.07), transparent 33%),
    linear-gradient(180deg, var(--france-ivory) 0%, var(--france-ivory-deep) 100%) !important;
}
body.seasonal-france.seasonal-scope-site .order-strip {
  background: #dfe4ee;
  border: 1px solid rgba(38,62,105,.10);
  box-shadow: 0 18px 46px rgba(47,53,67,.11);
}
body.seasonal-france.seasonal-scope-site .order-strip div {
  background: linear-gradient(180deg, #fffdf9, #f0ece6);
}
body.seasonal-france.seasonal-scope-site .order-strip b { background: #173f8f !important; }
body.seasonal-france.seasonal-scope-site .section-heading .eyebrow.red,
body.seasonal-france.seasonal-scope-site .info-section .eyebrow.red { color: #c52e3d !important; }
body.seasonal-france.seasonal-scope-site .category-tab {
  color: #333b49;
  background: rgba(255,253,249,.96);
  border-color: rgba(38,62,105,.14);
}
body.seasonal-france.seasonal-scope-site .category-tab.active {
  color: #fffaf3;
  background: #173f8f;
  border-color: #173f8f;
  box-shadow: 0 8px 20px rgba(23,63,143,.18);
}
body.seasonal-france.seasonal-scope-site .category-line,
body.seasonal-france.seasonal-scope-site .category-line.green {
  background: linear-gradient(90deg, #173f8f, #f8f5ef, #df3546);
}
body.seasonal-france.seasonal-scope-site .search-box {
  background: rgba(255,253,249,.96);
  border-color: rgba(38,62,105,.14);
}
body.seasonal-france.seasonal-scope-site .product-card {
  background: linear-gradient(180deg, rgba(255,253,249,.98), rgba(241,237,230,.98));
  border-color: rgba(38,62,105,.14);
  box-shadow: 0 10px 28px rgba(47,53,67,.08);
}
body.seasonal-france.seasonal-scope-site .product-card:hover {
  border-color: rgba(23,63,143,.38);
  box-shadow: 0 16px 40px rgba(47,53,67,.13);
}
body.seasonal-france.seasonal-scope-site .product-card .price { color: #173f8f; }
body.seasonal-france.seasonal-scope-site .tag {
  color: #474c56;
  background: #e7e8ed;
  border: 1px solid rgba(38,62,105,.10);
}
body.seasonal-france.seasonal-scope-site .values-section article {
  border-top: 4px solid #df3546;
  box-shadow: 0 12px 32px rgba(47,53,67,.10);
}
body.seasonal-france.seasonal-scope-site .values-section article:nth-child(1) { background: #f4efe7; }
body.seasonal-france.seasonal-scope-site .values-section article:nth-child(2) {
  color: #fffaf4;
  background: linear-gradient(145deg, #173f8f, #0d285f);
}
body.seasonal-france.seasonal-scope-site .values-section article:nth-child(3) {
  background: linear-gradient(145deg, #f1e2e4, #e8d5d7);
}
body.seasonal-france.seasonal-scope-site .info-section {
  color: #fffaf4;
  background:
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.12), transparent 28%),
    linear-gradient(145deg, #173f8f, #df3546) !important;
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 22px 54px rgba(8,26,66,.18);
}
body.seasonal-france.seasonal-scope-site .site-footer {
  background: linear-gradient(180deg, #102f70 0%, #071a40 100%) !important;
  border-top-color: rgba(255,255,255,.22) !important;
}
body.seasonal-france.seasonal-scope-site .footer-brand small,
body.seasonal-france.seasonal-scope-site .footer-phone,
body.seasonal-france.seasonal-scope-site .footer-menu-link { color: #f3e5e7 !important; }
body.seasonal-france.seasonal-scope-site .product-card p,
body.seasonal-france.seasonal-scope-site .product-dialog-description {
  color: #4b4e57;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%0A%3Cg opacity='.15'%3E%0A%3Cg transform='translate(12 10)'%3E%0A%3Ccircle cx='22' cy='22' r='17' fill='%23f8f8f4'/%3E%0A%3Cpath fill='%23183f8d' d='M22 13l6 4-2 7h-8l-2-7z'/%3E%0A%3Cpath d='M22 5v8M8 16l8 3M36 16l-8 3M12 35l7-10M32 35l-7-10' stroke='%23df3444' stroke-width='2.4' stroke-linecap='round'/%3E%0A%3C/g%3E%0A%3Cg transform='translate(69 34) scale(.82)'%3E%0A%3Ccircle cx='22' cy='22' r='17' fill='%23f8f8f4'/%3E%0A%3Cpath fill='%23df3444' d='M22 13l6 4-2 7h-8l-2-7z'/%3E%0A%3Cpath d='M22 5v8M8 16l8 3M36 16l-8 3M12 35l7-10M32 35l-7-10' stroke='%23183f8d' stroke-width='2.4' stroke-linecap='round'/%3E%0A%3C/g%3E%0A%3C/g%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(255,253,249,.98), rgba(239,237,234,.98)) !important;
  background-size: 112px 72px, 100% 100% !important;
  background-repeat: repeat, no-repeat !important;
  background-position: center center, 0 0 !important;
  border-color: rgba(23,63,143,.17) !important;
}
body.seasonal-france.seasonal-scope-site .product-card footer { border-top-color: rgba(38,62,105,.17); }
body.seasonal-france.seasonal-scope-site .add-button {
  background: linear-gradient(145deg, #173f8f, #df3546) !important;
}
body.seasonal-france.seasonal-scope-site .add-button::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%0A%3Ccircle cx='32' cy='32' r='23' fill='%23fffaf2'/%3E%0A%3Cpath fill='%23193f8f' d='M32 20l8 6-3 10H27l-3-10z'/%3E%0A%3Cpath d='M32 9v11M12 24l12 4M52 24l-12 4M18 50l10-14M46 50L36 36' stroke='%23df3646' stroke-width='4' stroke-linecap='round'/%3E%0A%3Cpath d='M18 50l-7-12 1-14 10-11M46 50l7-12-1-14-10-11' fill='none' stroke='%23193f8f' stroke-width='3' stroke-linejoin='round'/%3E%0A%3C/svg%3E") !important;
}
@media (max-width: 1180px) {
  body.seasonal-france .hero::before {
    background-image:
      linear-gradient(180deg, rgba(5,18,50,.60) 0%, rgba(8,28,67,.22) 24%, rgba(17,43,89,.08) 42%),
      linear-gradient(90deg, rgba(5,18,50,.78) 0%, rgba(8,28,67,.52) 24%, rgba(223,53,70,.12) 48%, rgba(223,53,70,.04) 64%, transparent 100%),
      url('/assets/seasonal/france-hero-tablet-v170.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
}
@media (max-width: 760px) {
  body.seasonal-france .hero::before {
    background-image:
      linear-gradient(180deg, rgba(5,18,50,.82) 0%, rgba(8,28,67,.54) 22%, rgba(17,43,89,.27) 44%, rgba(17,43,89,.11) 60%, rgba(17,43,89,.08) 100%),
      linear-gradient(90deg, rgba(5,18,50,.74) 0%, rgba(8,28,67,.40) 32%, rgba(223,53,70,.10) 58%, transparent 100%),
      url('/assets/seasonal/france-hero-mobile-v170.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  body.seasonal-france.seasonal-scope-site .product-card p,
  body.seasonal-france.seasonal-scope-site .product-dialog-description {
    background-size: 88px 58px, 100% 100% !important;
  }
}


/* V5.13.1.171 — thème Fête des Grand-Mères premium et responsive. */
body.seasonal-grandmothersday {
  --seasonal-accent: #c9a06b;
  --grandmothers-plum: #66516d;
  --grandmothers-plum-deep: #49384f;
  --grandmothers-blush: #c990a4;
  --grandmothers-sage: #788b70;
  --grandmothers-cream: #fffaf1;
  --grandmothers-cream-deep: #f1e7d9;
  --grandmothers-ink: #3e403c;
}
body.seasonal-grandmothersday .hero { color:var(--grandmothers-ink)!important;background-color:#f3eadf!important;border-bottom:1px solid rgba(138,118,145,.24); }
body.seasonal-grandmothersday .hero::before {
  background-image:linear-gradient(90deg,rgba(255,250,242,.42) 0%,rgba(251,245,236,.28) 21%,rgba(244,234,225,.10) 42%,transparent 64%),url('/assets/seasonal/grandmothersday-hero-desktop-v171.jpg')!important;
  background-repeat:no-repeat!important;background-size:cover!important;background-position:center center!important;opacity:1!important;
}
body.seasonal-grandmothersday .hero::after { background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.34),transparent 27%),radial-gradient(circle at 84% 18%,rgba(201,144,164,.09),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(102,81,109,.04))!important;opacity:1!important; }
body.seasonal-grandmothersday .seasonal-hero-label-grandmothersday { display:inline-flex;color:#59445f;background:linear-gradient(135deg,#fff0dc,#d9b7d2 52%,#bdcbaa);border:1px solid rgba(255,255,255,.68);box-shadow:0 16px 38px rgba(95,75,101,.15); }
body.seasonal-grandmothersday .hero-copy { color:#45453f; }
body.seasonal-grandmothersday .hero-copy .eyebrow { color:#77627e;text-shadow:none; }
body.seasonal-grandmothersday .hero-copy h1 { color:#453e46;text-shadow:0 2px 18px rgba(255,255,255,.74); }
body.seasonal-grandmothersday .hero-copy h1 em { color:#9b6378; }
body.seasonal-grandmothersday .hero-copy .hero-text,body.seasonal-grandmothersday .hero-copy p { color:#62615a;text-shadow:0 1px 12px rgba(255,255,255,.76); }
body.seasonal-grandmothersday .service-button { color:#45453f;background:rgba(255,252,247,.82);border-color:rgba(120,139,112,.20);box-shadow:0 8px 20px rgba(85,73,66,.08);backdrop-filter:blur(5px); }
body.seasonal-grandmothersday .service-button strong { color:#45453f; }
body.seasonal-grandmothersday .service-button small { color:#6a6c63; }
body.seasonal-grandmothersday .service-button:hover,body.seasonal-grandmothersday .service-button.active { border-color:#b98096;background:rgba(255,244,248,.92); }
body.seasonal-grandmothersday .service-icon { color:#4d4b47;background:linear-gradient(145deg,#fff0d9,#d2c1dd); }
body.seasonal-grandmothersday .primary-cta,body.seasonal-grandmothersday .primary-button { color:#fffaf7!important;background:linear-gradient(135deg,#b87892,#69526f)!important;box-shadow:0 12px 28px rgba(106,78,111,.22)!important; }
body.seasonal-grandmothersday .hero-route-cta { color:#504653!important;border-color:rgba(122,104,129,.26)!important;background:rgba(255,251,245,.78)!important; }
body.seasonal-grandmothersday .hero-card { color:#fffaf3;background:linear-gradient(145deg,rgba(91,70,96,.89),rgba(66,51,70,.85))!important;border-color:rgba(242,218,184,.42)!important;box-shadow:0 32px 84px rgba(76,60,81,.27)!important;backdrop-filter:blur(8px)!important; }
body.seasonal-grandmothersday .hero-hours { color:#45453f;background:linear-gradient(145deg,#fffaf3,#eee1d4)!important;border:1px solid rgba(120,139,112,.15); }
body.seasonal-grandmothersday.seasonal-scope-home_banner .promotion-banner,body.seasonal-grandmothersday.seasonal-scope-site .promotion-banner { background:linear-gradient(105deg,#6c5772 0%,#bc7d95 50%,#8a9276 100%)!important;border-top-color:rgba(255,244,221,.24)!important;border-bottom-color:rgba(242,216,175,.58)!important;box-shadow:0 10px 24px rgba(89,69,94,.14); }
body.seasonal-grandmothersday.seasonal-scope-site .site-header { background:rgba(85,65,91,.97)!important;border-bottom-color:rgba(242,216,175,.42)!important;box-shadow:0 12px 28px rgba(62,48,66,.15); }
body.seasonal-grandmothersday.seasonal-scope-site .site-header nav a:hover,body.seasonal-grandmothersday.seasonal-scope-site .phone-link { color:#f5ddb5!important; }
body.seasonal-grandmothersday.seasonal-scope-site .cart-pill { background:linear-gradient(135deg,#b97891,#6a526f)!important; }
body.seasonal-grandmothersday.seasonal-scope-site { color:var(--grandmothers-ink);background-color:var(--grandmothers-cream)!important;background-image:radial-gradient(circle at top right,rgba(201,144,164,.09),transparent 29%),radial-gradient(circle at bottom left,rgba(120,139,112,.07),transparent 32%),linear-gradient(180deg,var(--grandmothers-cream) 0%,var(--grandmothers-cream-deep) 100%)!important; }
body.seasonal-grandmothersday.seasonal-scope-site .order-strip { background:#ddd0c1;border:1px solid rgba(120,139,112,.10);box-shadow:0 18px 46px rgba(67,58,53,.11); }
body.seasonal-grandmothersday.seasonal-scope-site .order-strip div { background:linear-gradient(180deg,#fffdf9,#f3eadf); }
body.seasonal-grandmothersday.seasonal-scope-site .order-strip b { background:#9d687e!important; }
body.seasonal-grandmothersday.seasonal-scope-site .section-heading .eyebrow.red,body.seasonal-grandmothersday.seasonal-scope-site .info-section .eyebrow.red { color:#95667a!important; }
body.seasonal-grandmothersday.seasonal-scope-site .category-tab { color:#44413f;background:rgba(255,252,247,.95);border-color:rgba(122,104,129,.15); }
body.seasonal-grandmothersday.seasonal-scope-site .category-tab.active { color:#fffaf3;background:#69546f;border-color:#69546f;box-shadow:0 8px 20px rgba(91,70,96,.16); }
body.seasonal-grandmothersday.seasonal-scope-site .category-line,body.seasonal-grandmothersday.seasonal-scope-site .category-line.green { background:linear-gradient(90deg,#b87991,#c8a06c,#829079); }
body.seasonal-grandmothersday.seasonal-scope-site .search-box { background:rgba(255,252,247,.96);border-color:rgba(122,104,129,.15); }
body.seasonal-grandmothersday.seasonal-scope-site .product-card { background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(245,238,230,.98));border-color:rgba(122,104,129,.14);box-shadow:0 10px 28px rgba(67,58,53,.08); }
body.seasonal-grandmothersday.seasonal-scope-site .product-card:hover { border-color:rgba(201,144,164,.52);box-shadow:0 16px 40px rgba(67,58,53,.13); }
body.seasonal-grandmothersday.seasonal-scope-site .product-card .price { color:#8f5f74; }
body.seasonal-grandmothersday.seasonal-scope-site .tag { color:#4d4743;background:#eee3d8;border:1px solid rgba(122,104,129,.10); }
body.seasonal-grandmothersday.seasonal-scope-site .values-section article { border-top:4px solid #c9a06b;box-shadow:0 12px 32px rgba(67,58,53,.09); }
body.seasonal-grandmothersday.seasonal-scope-site .values-section article:nth-child(1) { background:#f8ece2; }
body.seasonal-grandmothersday.seasonal-scope-site .values-section article:nth-child(2) { color:#fffaf3;background:linear-gradient(145deg,#69546f,#49384f); }
body.seasonal-grandmothersday.seasonal-scope-site .values-section article:nth-child(3) { background:linear-gradient(145deg,#eadde9,#ddcedf); }
body.seasonal-grandmothersday.seasonal-scope-site .info-section { color:#fffaf3;background:radial-gradient(circle at 78% 20%,rgba(242,216,175,.14),transparent 28%),linear-gradient(145deg,#69546f,#9a687c)!important;border:1px solid rgba(242,216,175,.24);box-shadow:0 22px 54px rgba(70,54,75,.17); }
body.seasonal-grandmothersday.seasonal-scope-site .site-footer { background:linear-gradient(180deg,#5a4660 0%,#3d3042 100%)!important;border-top-color:rgba(242,216,175,.26)!important; }
body.seasonal-grandmothersday.seasonal-scope-site .footer-brand small,body.seasonal-grandmothersday.seasonal-scope-site .footer-phone,body.seasonal-grandmothersday.seasonal-scope-site .footer-menu-link { color:#f1d9b3!important; }
body.seasonal-grandmothersday.seasonal-scope-site .product-card p,body.seasonal-grandmothersday.seasonal-scope-site .product-dialog-description { color:#5d5d56;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'%3E%3Cg opacity='.15'%3E%3Cg transform='translate(12 18)'%3E%3Cpath fill='%23d6b9d2' d='M5 8h33v14c0 10-7 17-16 17S5 32 5 22z'/%3E%3Cpath d='M38 13h5c9 0 9 13 0 13h-6' fill='none' stroke='%23947b9d' stroke-width='3'/%3E%3Cpath d='M10 39h26' stroke='%238b967f' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M17 17c5-7 10 7 15 0' fill='none' stroke='%23fff7ee' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M18 4c-3-5 2-7 0-11M28 4c-3-5 2-7 0-11' fill='none' stroke='%239a829f' stroke-width='2' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='translate(74 30) scale(.78)'%3E%3Ccircle cx='12' cy='12' r='4' fill='%23c49770'/%3E%3Ccircle cx='12' cy='3' r='6' fill='%23c995a8'/%3E%3Ccircle cx='21' cy='12' r='6' fill='%23e0bfd0'/%3E%3Ccircle cx='12' cy='21' r='6' fill='%23d8c1de'/%3E%3Ccircle cx='3' cy='12' r='6' fill='%23aab89e'/%3E%3Cpath d='M12 26c0 9 5 13 11 17' fill='none' stroke='%237e9275' stroke-width='3' stroke-linecap='round'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,rgba(255,252,247,.98),rgba(244,235,228,.98))!important;background-repeat:repeat,no-repeat!important;background-position:center center,0 0!important;background-size:112px 72px,100% 100%!important;border-color:rgba(185,128,150,.22)!important; }
body.seasonal-grandmothersday.seasonal-scope-site .product-card footer { border-top-color:rgba(122,104,129,.16); }
body.seasonal-grandmothersday.seasonal-scope-site .add-button { background:linear-gradient(145deg,#b87892,#6a536f)!important; }
body.seasonal-grandmothersday.seasonal-scope-site .add-button::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff9f2' d='M10 20h34v17c0 12-8 20-17 20S10 49 10 37z'/%3E%3Cpath d='M44 25h5c12 0 12 17 0 17h-7' fill='none' stroke='%23f1d8e3' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M9 57h39' stroke='%23c8d2bd' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M18 31c5-7 11 7 16 0' fill='none' stroke='%23bb7f97' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M20 16c-4-6 3-8 0-14M31 16c-4-6 3-8 0-14' fill='none' stroke='%23fff0db' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='28' cy='39' r='3' fill='%23c69b67'/%3E%3C/svg%3E")!important; }
@media (max-width:1180px) { body.seasonal-grandmothersday .hero::before { background-image:linear-gradient(180deg,rgba(255,250,242,.30) 0%,rgba(251,245,236,.11) 30%,transparent 46%),linear-gradient(90deg,rgba(255,250,242,.46) 0%,rgba(251,245,236,.29) 22%,rgba(244,234,225,.08) 48%,transparent 66%),url('/assets/seasonal/grandmothersday-hero-tablet-v171.jpg')!important;background-position:center top!important;background-size:cover!important; } }
@media (max-width:760px) {
  body.seasonal-grandmothersday .hero::before { background-image:linear-gradient(180deg,rgba(255,250,242,.67) 0%,rgba(251,245,236,.48) 22%,rgba(244,234,225,.21) 43%,rgba(244,234,225,.08) 62%,transparent 80%),linear-gradient(90deg,rgba(255,250,242,.40) 0%,rgba(251,245,236,.21) 36%,transparent 68%),url('/assets/seasonal/grandmothersday-hero-mobile-v171.jpg')!important;background-position:center top!important;background-size:cover!important; }
  body.seasonal-grandmothersday .hero-copy { padding:18px;background:rgba(255,250,243,.70);border:1px solid rgba(255,255,255,.56);border-radius:22px;box-shadow:0 18px 44px rgba(86,72,91,.12);backdrop-filter:blur(5px); }
  body.seasonal-grandmothersday.seasonal-scope-site .product-card p,body.seasonal-grandmothersday.seasonal-scope-site .product-dialog-description { background-size:88px 58px,100% 100%!important; }
}
