/* Safi Surf Camp – Réservation | assets/css/reservation.css */
.sscr-form-wrap{
  font-family:'Work Sans',-apple-system,sans-serif; color:#23201C; max-width:1000px; margin:0 auto;
  background:#FAF7F2; border:1px solid #E3D9CB; border-radius:20px; padding:1.8rem;
}
.sscr-form-wrap *{box-sizing:border-box}

.sscr-notice{padding:.9em 1.1em;border-radius:8px;font-size:.9rem;margin-bottom:1.2rem}
.sscr-notice.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}
.sscr-notice.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.sscr-prefill-notice{padding:.9em 1.1em;border-radius:8px;font-size:.87rem;margin-bottom:1.2rem;background:#F3ECE1;color:#0E4D6E;border:1px solid #E3D9CB}

/* -------- Disposition horizontale (par défaut) -------- */
.sscr-fields-flow{
  display:flex; flex-wrap:wrap; gap:1rem 1.2rem; align-items:flex-start;
}
.sscr-field{ display:flex; flex-direction:column; gap:.4rem; }
.sscr-field.w-25 { flex:1 1 calc(25% - 0.9rem); min-width:150px; }
.sscr-field.w-33 { flex:1 1 calc(33.333% - 0.8rem); min-width:180px; }
.sscr-field.w-50 { flex:1 1 calc(50% - 0.6rem); min-width:220px; }
.sscr-field.w-100{ flex:1 1 100%; }

/* Disposition verticale : tout empilé, un champ = une ligne complète */
.sscr-layout-vertical .sscr-field{ flex:1 1 100% !important; }

.sscr-heading{ margin-top:0; }
.sscr-heading h3{
  font-family:'Work Sans',-apple-system,sans-serif; font-size:.72rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:#0E4D6E;
  margin:1.5rem 0 .75rem; padding-bottom:.4rem; border-bottom:2px solid #F3ECE1;
}
.sscr-heading:first-child h3{ margin-top:0; }

.sscr-field label{ font-size:.75rem; font-weight:600; color:#23201C; letter-spacing:.03em; }
.sscr-field input[type=text],
.sscr-field input[type=email],
.sscr-field input[type=tel],
.sscr-field input[type=number],
.sscr-field input[type=date],
.sscr-field select,
.sscr-field textarea{
  padding:.65rem .85rem; border:1.5px solid #E3D9CB; border-radius:8px;
  font-size:.85rem; width:100%; background:#fff; color:#23201C; outline:none;
  transition:border-color .2s;
}
.sscr-field input:focus, .sscr-field select:focus, .sscr-field textarea:focus{ border-color:#E08A5B; }
.sscr-field textarea{ min-height:90px; resize:vertical; }

.sscr-choice-group{ display:grid; grid-template-columns:1fr 1fr; gap:.35rem; margin-top:.2rem; }
.sscr-choice-group-label{ grid-column:1 / -1; font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#0E4D6E; margin:.6rem 0 .1rem; }
.sscr-choice-group-label:first-child{ margin-top:0; }
.sscr-choice{ display:flex; align-items:center; gap:.5rem; font-size:.82rem; font-weight:400; color:#5A5347; cursor:pointer; }
.sscr-choice input[type=checkbox],.sscr-choice input[type=radio]{ width:15px; height:15px; accent-color:#0E4D6E; flex-shrink:0; cursor:pointer; }
@media(max-width:600px){ .sscr-choice-group{ grid-template-columns:1fr 1fr; } }
.sscr-choice input{ accent-color:#0E4D6E; }
.sscr-checkbox-inline{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; font-weight:600; cursor:pointer; }
.sscr-checkbox-inline input{ accent-color:#0E4D6E; width:16px; height:16px; }

.sscr-form-actions{ display:flex; gap:.7rem; margin-top:1.4rem; flex-wrap:wrap; }
.sscr-submit-btn{
  flex:1 1 auto; background:#C1592D; color:#fff; border:none;
  padding:.9rem; border-radius:8px; font-size:.95rem; font-weight:600; cursor:pointer;
  transition:background .2s;
}
.sscr-submit-btn:hover{ background:#9C441F; }
.sscr-cancel-btn{
  background:transparent; color:#5A5347; border:1.5px solid #d6c9b6;
  padding:.9rem 1.4rem; border-radius:8px; font-size:.95rem; font-weight:600; cursor:pointer;
  transition:all .2s;
}
.sscr-cancel-btn:hover{ background:#f3ece1; border-color:#c1592d; color:#C1592D; }
@media(max-width:480px){ .sscr-form-actions{ flex-direction:column-reverse; } }

@media(max-width:640px){
  .sscr-field.w-25, .sscr-field.w-33, .sscr-field.w-50{ flex:1 1 100%; }
  .sscr-form-wrap{ padding:1.3rem; border-radius:14px; }
}
