/* LPG Père Noël — RDV (booking) 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:#fff;
  background:linear-gradient(165deg,var(--red) 0%,var(--red-dark) 55%,var(--red-deep) 100%);
  min-height:100vh; display:flex; flex-direction:column; align-items:center;
}
.wrap{width:min(94%,440px); display:flex; flex-direction:column; align-items:center; flex:1}

/* Santa header band */
.santa-band{width:100%; text-align:center; padding:30px 0 8px}
.santa-band .santa{font-size:72px; filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}
h1.title{
  font-family:'Mountains of Christmas',cursive; font-weight:700;
  font-size:40px; text-align:center; line-height:1.05; margin:8px 0 4px;
  text-shadow:0 2px 0 rgba(0,0,0,.18);
}
.subtitle{text-align:center; font-size:15px; opacity:.92; margin-bottom:28px}

/* white pill buttons (landing-style choices) */
.pill{
  display:block; width:100%; background:#fff; color:var(--red-dark); text-decoration:none;
  text-align:center; font-weight:700; font-size:17px; padding:16px; border-radius:40px;
  margin-bottom:14px; box-shadow:0 6px 16px rgba(0,0,0,.18); transition:transform .15s ease;
}
.pill:hover{transform:translateY(-2px)}
.pill small{display:block; font-weight:500; font-size:12.5px; color:var(--muted)}

/* language toggle */
.lang{margin-top:10px; font-size:14px}
.lang a{color:#fff; text-decoration:underline; opacity:.8; margin:0 6px}
.lang a.active{font-weight:700; opacity:1; text-decoration:none}

/* white form card (inner pages) */
.card{
  background:#fff; color:var(--ink); width:100%; border-radius:22px;
  padding:24px 20px 28px; box-shadow:0 14px 32px rgba(0,0,0,.2); margin-bottom:18px;
}
.card h2{font-family:'Mountains of Christmas',cursive; font-size:30px; color:var(--red); text-align:center; margin-bottom:8px}
label{display:block; font-weight:600; font-size:14px; margin:14px 0 6px; color:var(--ink)}
input[type=text],input[type=email],input[type=tel],input[type=password],select{
  width:100%; padding:13px 16px; font-size:15px; font-family:inherit;
  border:2px dashed #e3b9bf; border-radius:30px; background:#fffafa; color:var(--ink);
}
input:focus,select:focus{outline:none; border-color:var(--red); border-style:solid}
.btn-red{
  width:100%; background:linear-gradient(180deg,var(--red),var(--red-dark)); color:#fff; border:none;
  font-family:inherit; font-weight:700; font-size:16px; padding:16px; border-radius:40px;
  margin-top:18px; cursor:pointer; box-shadow:0 6px 16px rgba(200,32,47,.3);
}
.note{background:#fff7e6; border:1px solid #f0d9a0; color:#7a5a1e; border-radius:12px; padding:12px 14px; font-size:13.5px; text-align:center; margin:14px 0}

/* top nav for inner pages */
.topnav{width:100%; display:flex; justify-content:space-between; align-items:center; padding:16px 4px; font-size:15px}
.topnav a{color:#fff; text-decoration:none; font-weight:600}
.langtoggle a{color:#fff; font-weight:600; opacity:.7; text-decoration:none}
.langtoggle a.active{opacity:1; text-decoration:underline}
.optional{color:#b3a6a6; font-weight:400}
.nopass{background:#eef7ef; border:1px solid #cbe6cf; color:#2e7d52; border-radius:12px; padding:11px 14px; font-size:13px; text-align:center; margin:16px 0 0}

footer{padding:18px 0 24px; font-size:12px; opacity:.8; text-align:center}

/* registration / form extras */
.muted-sub{text-align:center; color:var(--muted); font-size:13px; margin:-4px 0 8px}
.card h3{font-size:16px; color:var(--red-dark); margin:20px 0 8px; border-top:1px solid #f0e3e3; padding-top:16px}
.child-row{display:flex; gap:8px; margin-bottom:10px; align-items:center}
.child-row input{flex:2}
.child-row select{flex:1.4}
.child-row .rm{flex:0 0 auto; background:none; border:none; color:var(--red); font-size:22px; line-height:1; cursor:pointer; padding:0 4px}
.add-child{width:100%; background:#fff; border:2px dashed var(--red); color:var(--red); font-family:inherit; font-weight:700; font-size:14px; padding:12px; border-radius:30px; margin-top:2px; cursor:pointer}
.consent{display:flex; gap:10px; align-items:flex-start; text-align:left; font-weight:500; font-size:13px; color:var(--ink); margin:14px 0 0; cursor:pointer}
.consent input{width:auto; flex:0 0 auto; margin-top:2px; accent-color:var(--red)}
.consent a{color:var(--red)}
.switch-link{text-align:center; font-size:13.5px; color:var(--muted); margin-top:16px}
.switch-link a{color:var(--red); font-weight:700; text-decoration:none}
