:root {
  --valou-teal:#0d514e;
  --valou-teal-deep:#073d3b;
  --valou-red:#9d2924;
  --valou-gold:#e5b84a;
  --valou-parch:#f4ebd8;
  --valou-parch-dark:#ddc9a6;
  --valou-ink:#281b13;
  --valou-muted:#604a36;
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{background:var(--valou-parch)!important;color:var(--valou-ink)!important;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(rgba(96,74,54,.09) .65px,transparent .7px);background-size:6px 6px;mix-blend-mode:multiply;opacity:.42}
body>*{position:relative;z-index:2}
header{background:rgba(7,61,59,.97)!important;border-bottom-color:var(--valou-gold)!important;box-shadow:0 8px 30px rgba(20,10,5,.22);backdrop-filter:blur(12px)}
header nav{min-height:82px}
header img{background:var(--valou-parch)!important;border-color:var(--valou-gold)!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25))}
.site-logo-badge{box-sizing:border-box;display:grid;place-items:center;flex:0 0 auto;width:3.5rem;height:3.5rem;aspect-ratio:1;padding:.3rem;border:2px solid var(--valou-gold);border-radius:50%;background:var(--valou-parch);box-shadow:0 6px 14px rgba(0,0,0,.26);overflow:visible}
.site-logo-badge--large{width:4rem;height:4rem}
.site-logo-badge--small{width:3rem;height:3rem}
.site-logo-badge>img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:contain;background:transparent!important;border:0!important;border-radius:0!important;filter:none!important}
header ul{gap:1.35rem!important}
header a:focus-visible,button:focus-visible{outline:3px solid var(--valou-gold);outline-offset:4px}
section{position:relative;isolation:isolate}
section:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;z-index:4;background:repeating-linear-gradient(90deg,var(--valou-red) 0 34px,var(--valou-parch) 34px 68px);box-shadow:0 3px 0 var(--valou-gold),0 6px 0 var(--valou-teal-deep);pointer-events:none}
body>section:first-of-type{min-height:min(72vh,760px)!important;padding:6.5rem 1.25rem 4rem}
body>section:first-of-type>div:first-child{filter:saturate(.82) contrast(1.08) sepia(.08);transform:scale(1.025)}
body>section:first-of-type h1{text-shadow:0 5px 22px rgba(0,0,0,.48);letter-spacing:-.025em;text-wrap:balance}
h1,h2,h3{text-wrap:balance}
h2{line-height:1.05!important}
.ribbon{background:var(--valou-gold)!important;color:var(--valou-ink)!important;border:1px solid rgba(40,27,19,.6);box-shadow:4px 4px 0 var(--valou-red)!important}
.btn-stamp{background:var(--valou-red)!important;color:var(--valou-parch)!important;border-color:var(--valou-ink)!important;border-radius:999px!important;box-shadow:4px 5px 0 var(--valou-ink)!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.btn-stamp:hover{transform:translate(2px,2px);box-shadow:2px 3px 0 var(--valou-ink)!important}
.price-tag{background:var(--valou-red)!important;color:var(--valou-parch)!important;border-color:var(--valou-ink)!important;border-radius:999px!important}
.bg-teal,.bg-teal-deep{background-color:var(--valou-teal-deep)!important}
.bg-teal-dark{background-color:var(--valou-teal)!important}
.bg-parch{background-color:var(--valou-parch)!important}
.bg-parch-dark\/40{background-color:rgba(221,201,166,.42)!important}
.text-gold{color:var(--valou-gold)!important}
.text-circus{color:var(--valou-red)!important}
.border-gold{border-color:var(--valou-gold)!important}
section.bg-parch,section.bg-parch-dark\/40{background-image:linear-gradient(90deg,rgba(157,41,36,.025),transparent 35%,rgba(13,81,78,.03)),radial-gradient(rgba(96,74,54,.08) .65px,transparent .7px);background-size:100% 100%,6px 6px}
.grid>a,.grid>article,.grid>div[class*="rounded"]{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;box-shadow:0 14px 0 rgba(40,27,19,.04),0 20px 42px rgba(40,27,19,.10)}
.grid>a:hover,.grid>article:hover{transform:translateY(-5px);box-shadow:0 18px 0 rgba(40,27,19,.04),0 28px 55px rgba(40,27,19,.16)}
footer{background:var(--valou-ink)!important;border-top:4px solid var(--valou-gold)}
img{max-width:100%;height:auto}
.social-rail{position:fixed;right:0;top:50%;z-index:70;display:flex;flex-direction:column;gap:6px;transform:translateY(-50%);padding:8px 7px;background:rgba(7,61,59,.94);border:2px solid var(--valou-gold);border-right:0;border-radius:18px 0 0 18px;box-shadow:0 12px 30px rgba(0,0,0,.24);backdrop-filter:blur(10px)}
.social-rail-link{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--valou-parch);color:var(--valou-teal-deep);font:800 20px/1 'Oswald',sans-serif;border:2px solid var(--valou-gold);transition:transform .2s ease,background .2s ease,color .2s ease}
.social-rail-link img{width:23px;height:23px;display:block}
a.social-rail-link:hover{transform:translateX(-5px) scale(1.06);background:var(--valou-red);color:var(--valou-parch)}
.social-rail-link.is-pending{opacity:.42;cursor:not-allowed}
.social-follow-prompt{position:fixed;right:68px;top:50%;z-index:69;width:min(330px,calc(100vw - 100px));padding:22px 22px 20px;transform:translate(30px,-50%);opacity:0;visibility:hidden;background:var(--valou-parch);color:var(--valou-ink);border:3px solid var(--valou-gold);border-radius:20px;box-shadow:8px 8px 0 rgba(40,27,19,.8),0 20px 45px rgba(0,0,0,.24);transition:opacity .35s ease,transform .35s ease,visibility .35s}
.social-follow-prompt.is-visible{opacity:1;visibility:visible;transform:translate(0,-50%)}
.social-follow-prompt:after{content:"";position:absolute;right:-12px;top:50%;width:20px;height:20px;background:var(--valou-parch);border-top:3px solid var(--valou-gold);border-right:3px solid var(--valou-gold);transform:translateY(-50%) rotate(45deg)}
.social-follow-prompt strong{display:block;margin:5px 26px 7px 0;font:900 1.25rem/1.12 'Playfair Display',serif;color:var(--valou-teal-deep)}
.social-follow-prompt p{margin:0 0 14px;font:600 .88rem/1.5 'Open Sans',sans-serif;color:var(--valou-ink-soft)}
.social-follow-kicker{display:block;font:800 .72rem/1.3 'Oswald',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--valou-red)}
.social-follow-prompt>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:10px;background:var(--valou-red);color:#fff;font:800 .82rem/1 'Oswald',sans-serif;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--valou-ink);box-shadow:3px 3px 0 var(--valou-ink);transition:transform .2s ease,box-shadow .2s ease}
.social-follow-prompt>a:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--valou-ink)}
.social-follow-close{position:absolute;right:10px;top:8px;z-index:1;width:32px;height:32px;border:0;background:transparent;color:var(--valou-ink-soft);font:700 26px/1 sans-serif;cursor:pointer}
@media(max-width:767px){
  header nav{min-height:70px;padding:10px 16px!important}
  header nav .site-logo-badge{width:48px;height:48px}
  header nav .site-logo-badge>img{width:100%!important;height:100%!important}
  header nav span.text-2xl{font-size:1.25rem!important}
  section:before{height:9px;background-size:auto}
  body>section:first-of-type{min-height:66vh!important;padding-top:5rem}
  body>section:first-of-type h1{font-size:clamp(2.65rem,13vw,4.25rem)!important}
  section{padding-top:4.5rem!important;padding-bottom:4.5rem!important}
  section h2{font-size:clamp(2.1rem,10vw,3.2rem)!important}
  .grid{gap:1.15rem!important}
  .grid>a,.grid>article,.grid>div[class*="rounded"]{box-shadow:0 10px 28px rgba(40,27,19,.11)}
  #mobile-menu{padding:5.5rem 1.25rem 2rem;overflow-y:auto;gap:1rem!important;background:var(--valou-teal-deep)!important}
  #mobile-menu a{font-size:clamp(1.25rem,6vw,1.8rem)!important;text-align:center}
  .social-rail{top:auto;right:50%;bottom:10px;flex-direction:row;transform:translateX(50%);border-right:2px solid var(--valou-gold);border-radius:18px;padding:6px 9px}
  .social-rail-link{width:38px;height:38px;font-size:18px}
  .social-rail-link img{width:21px;height:21px}
  .social-follow-prompt{right:12px;left:12px;top:auto;bottom:78px;width:auto;transform:translateY(24px);padding:18px 20px 17px}
  .social-follow-prompt.is-visible{transform:translateY(0)}
  .social-follow-prompt:after{display:none}
  .social-follow-prompt strong{font-size:1.08rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}*{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Révélation festive de la pizza du mois */
.reveal.pizza-month-showtime{position:relative;isolation:isolate;transform:translateY(48px) scale(.965);transform-origin:50% 55%;transition:opacity .75s ease,transform .95s cubic-bezier(.16,1,.3,1),box-shadow 1s ease}
.reveal.pizza-month-showtime.visible{transform:translateY(0) scale(1);box-shadow:0 28px 70px rgba(20,39,36,.28),0 0 0 1px rgba(214,170,76,.22)}
.pizza-month-showtime::after{content:"";position:absolute;z-index:5;inset:-45% auto -45% -35%;width:24%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,244,209,.34),transparent);transform:translateX(-180%) rotate(7deg)}
.pizza-month-showtime.visible::after{animation:pizza-month-shine 1.15s .45s cubic-bezier(.22,.61,.36,1) both}
.pizza-month-visual,.pizza-month-copy{opacity:0;transform:translateY(22px)}
.pizza-month-showtime.visible .pizza-month-visual{animation:pizza-month-content .68s .22s cubic-bezier(.16,1,.3,1) forwards}
.pizza-month-showtime.visible .pizza-month-copy{animation:pizza-month-content .72s .38s cubic-bezier(.16,1,.3,1) forwards}
.pizza-month-photo{transform:scale(1.08);filter:saturate(.92) contrast(1.03);transition:transform 1.7s cubic-bezier(.16,1,.3,1),filter 1.2s ease}
.pizza-month-showtime.visible .pizza-month-photo{transform:scale(1);filter:saturate(1.04) contrast(1.04)}
.pizza-month-spotlight{position:absolute;inset:-20%;background:radial-gradient(circle,rgba(255,225,143,.28) 0,rgba(214,170,76,.08) 32%,transparent 68%);opacity:0;transform:scale(.55)}
.pizza-month-showtime.visible .pizza-month-spotlight{animation:pizza-month-spotlight 1.25s .1s ease-out forwards}
.pizza-month-icon{display:block;filter:drop-shadow(0 12px 13px rgba(25,11,8,.32));transform:scale(.72) rotate(-8deg)}
.pizza-month-showtime.visible .pizza-month-icon{animation:pizza-month-icon .85s .34s cubic-bezier(.2,1.45,.35,1) forwards}
.pizza-month-badge{position:relative;background:rgba(8,52,51,.7);box-shadow:0 0 0 0 rgba(214,170,76,.42)}
.pizza-month-showtime.visible .pizza-month-badge{animation:pizza-month-badge 1.05s .68s ease-out both}
.pizza-month-confetti{position:absolute;z-index:8;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.pizza-month-confetti i{position:absolute;top:-18px;left:var(--x);display:block;width:8px;height:14px;border-radius:2px;background:var(--confetti);opacity:0;transform:translate3d(0,-15px,0) rotate(0)}
.pizza-month-confetti i.is-round{width:9px;height:9px;border-radius:50%}
.pizza-month-showtime.visible .pizza-month-confetti i{animation:pizza-month-confetti var(--duration) var(--delay) cubic-bezier(.2,.62,.45,1) both}
@keyframes pizza-month-content{to{opacity:1;transform:translateY(0)}}
@keyframes pizza-month-icon{0%{transform:scale(.72) rotate(-8deg)}65%{transform:scale(1.09) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
@keyframes pizza-month-spotlight{0%{opacity:0;transform:scale(.55)}45%{opacity:1}100%{opacity:.72;transform:scale(1)}}
@keyframes pizza-month-shine{0%{transform:translateX(-180%) rotate(7deg)}100%{transform:translateX(720%) rotate(7deg)}}
@keyframes pizza-month-badge{0%{box-shadow:0 0 0 0 rgba(214,170,76,.46)}70%{box-shadow:0 0 0 15px rgba(214,170,76,0)}100%{box-shadow:0 0 0 0 rgba(214,170,76,0)}}
@keyframes pizza-month-confetti{0%{opacity:0;transform:translate3d(0,-15px,0) rotate(0)}14%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),190px,0) rotate(var(--rotation))}}
@media(max-width:640px){.pizza-month-confetti i:nth-child(3n){display:none}.pizza-month-showtime::after{width:34%}}
@media(prefers-reduced-motion:reduce){.pizza-month-visual,.pizza-month-copy,.pizza-month-icon,.pizza-month-spotlight,.pizza-month-photo{opacity:1!important;transform:none!important}.pizza-month-confetti,.pizza-month-showtime::after{display:none!important}}
