/* LPG Père Noël — public site (picker + per-location) shared design system */
:root{
  --red:#c8202f; --red-dark:#9c1822; --red-deep:#7a131b;
  --green:#2e7d52; --green-dark:#1f5e3c;
  --gold:#e8b923; --cream:#fff8f4; --ink:#3a2b2b; --muted:#8a7676;
}
*{box-sizing:border-box; margin:0; padding:0}
body{
  font-family:'Quicksand',system-ui,Arial,sans-serif; color:var(--ink);
  background:var(--cream); min-height:100vh;
  display:flex; flex-direction:column; align-items:center; overflow-x:hidden;
}
.hero{
  width:100%; text-align:center; color:#fff; padding:44px 20px 72px; position:relative;
  background:linear-gradient(160deg,var(--red) 0%,var(--red-dark) 60%,var(--red-deep) 100%);
  border-bottom-left-radius:50% 24px; border-bottom-right-radius:50% 24px;
  box-shadow:0 6px 22px rgba(122,19,27,.28);
}
.santa{font-size:74px; line-height:1; filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.hero h1{font-family:'Mountains of Christmas',cursive; font-weight:700; font-size:48px; margin-top:4px; letter-spacing:1px; text-shadow:0 2px 0 rgba(0,0,0,.18)}
.hero .tag{font-size:15.5px; opacity:.92; margin-top:2px; font-weight:500}
.eyebrow{display:inline-block; background:rgba(255,255,255,.18); color:#fff; font-weight:700; font-size:13px; padding:5px 15px; border-radius:30px; margin-bottom:6px; letter-spacing:.3px}
.back{display:inline-block; margin-top:14px; color:#fff; text-decoration:none; font-size:13.5px; opacity:.9}
.back:hover{opacity:1; text-decoration:underline}

.card{width:min(92%,440px); background:#fff; margin-top:-36px; position:relative; z-index:2; border-radius:24px; padding:26px 22px 30px; text-align:center; box-shadow:0 16px 38px rgba(122,19,27,.16)}
.card h2{font-size:20px; color:var(--red-dark); margin-bottom:3px}
.card h2 span{font-weight:500; color:#9a8585}
.card .sub{font-size:14px; color:#8a7676; margin-bottom:22px}

.btn{display:flex; align-items:center; gap:14px; width:100%; text-align:left; text-decoration:none; color:#fff; font-weight:700; font-size:17px; padding:17px 20px; border-radius:44px; margin-bottom:14px; transition:transform .15s ease, box-shadow .15s ease}
.btn .ico{font-size:25px; line-height:1}
.btn small{display:block; font-weight:500; font-size:12.5px; opacity:.88; letter-spacing:.2px}
.btn-rdv{background:linear-gradient(180deg,var(--red),var(--red-dark)); box-shadow:0 7px 18px rgba(200,32,47,.32)}
.btn-photos{background:linear-gradient(180deg,var(--green),var(--green-dark)); box-shadow:0 7px 18px rgba(31,94,60,.3)}
.btn-rdv:hover,.btn-photos:hover{transform:translateY(-2px)}
.btn-soon{background:#ece5e5; color:#a99c9c; cursor:default; box-shadow:none}
.btn-soon small{opacity:1; color:#b3a6a6}

.lang{margin-top:10px; font-size:13px; color:#ab9c9c}
footer{margin:26px 0 32px; font-size:12px; color:#bcaeae; text-align:center}

.snow{position:fixed; top:-12px; color:#fff; opacity:.8; pointer-events:none; z-index:1; animation:fall linear infinite}
@keyframes fall{to{transform:translateY(106vh)}}
@media (max-width:380px){ .hero h1{font-size:42px} .btn{font-size:16px} }
