body {
  font-family: Arial, sans-serif;
  margin: 2em;
  background: #f5f8fa;
  color: #333;
}
h1, h2, h3 { color: #ff8c00; }
fieldset {
  margin-bottom: 1.5em;
  padding: 1em;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
}
label { display: block; margin-top: 0.5em; }
input[type="text"], input[type="email"], input[type="tel"] {
  width: 100%;
  padding: 0.5em;
  margin-top: 0.3em;
  border: 1px solid #ccc;
  border-radius: 5px;
}
button, .button {
  display: inline-block;
  padding: 10px 20px;
  background: #ff8c00;
  color: white;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  cursor: pointer;
  margin-top: 1em;
}
button:hover, .button:hover { background: #e67600; }
ul { list-style: none; padding-left: 0; }

/* --- Tableaux génériques (fallback) --- */
table.recap { border-collapse: collapse; table-layout: auto; width: auto; margin: 0; }
table.recap th, table.recap td { border: 1px solid #ccc; padding: .45rem .6rem; text-align: left; white-space: nowrap; }
table.recap thead th { background: #f7f7f7; }
table.recap tbody tr:nth-child(even) { background: #fafafa; }
table.recap tbody tr.day-start td { border-top: 3px solid #333; }
table.recap tbody tr.pm-start td { border-top: 2px solid #777; }
table.recap th.desc, table.recap td.desc { white-space: normal; }
/* Admin sortable tables: auto width based on content */
table.sortable { table-layout: auto; width: auto; margin: .5rem 0 1.5rem; }
table.sortable th, table.sortable td { white-space: nowrap; }

/* --- Accueil (home) : thème orange/jaune --- */
body.home, body.inscription {
  background: #fff8e1; /* jaune très clair */
  color: #3d2a00;
}
body.home h1, body.home h2, body.home h3,
body.inscription h1, body.inscription h2, body.inscription h3 {
  color: #ff8c00; /* orange */
}
/* Bannière */
body.home .hero-banner {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem 0;
  border-radius: 8px;
}
/* Bandeau session */
body.home .session-banner {
  margin: .5rem 0 1rem;
  font-weight: 600;
  padding: .4rem .6rem;
  background: #fff3cd; /* jaune pâle */
  border: 1px solid #ffcc80; /* jaune/orange */
  color: #7a4b00;
  display: inline-block;
  border-radius: 6px;
}
/* Tableau récapitulatif */
body.home table.recap { border-collapse: collapse; table-layout: auto; width: auto; margin: 0; border: 1px solid #d39e00; }
body.home table.recap th, body.home table.recap td {
  border: 1px solid #d39e00; /* plus contrasté */
  padding: .45rem .6rem;
  text-align: left;
  white-space: nowrap;
}
body.home table.recap thead th { background: #ffe08a; color: #5a3b00; }
body.home table.recap tbody tr:nth-child(even) { background: #fff9e6; }
body.home table.recap tbody tr.day-start td { border-top: 4px solid #ff9800; }
body.home table.recap tbody tr.pm-start td { border-top: 3px solid #ff9800; }
body.home table.recap th.desc, body.home table.recap td.desc { white-space: normal; }
/* Bouton accueil */
/* Boutons orange (accueil + inscription) */
body.home .button, body.inscription .button { background: #ff8c00; }
body.home .button:hover, body.inscription .button:hover { background: #e67600; }
body.home button, body.inscription button { background: #ff8c00; }
body.home button:hover, body.inscription button:hover { background: #e67600; }
/* CTA spacing */
body.home .cta { margin-top: 1rem; }
/* Inscription layout tweaks */
body.inscription fieldset { margin-bottom: 1rem; }
body.inscription fieldset { width: 100%; max-width: 700px; }
/* Inputs plus étroits sur la page d'inscription */
body.inscription input[type="text"],
body.inscription input[type="email"],
body.inscription input[type="tel"] {
  width: 100%;
  max-width: 300px;
}
body.inscription label { display:block; margin-top: .5rem; }
body.inscription h3 { margin: .75rem 0 .25rem; }
body.inscription h4 { margin: .5rem 0 .25rem; }
body.inscription ul { margin: .25rem 0 1rem; }
body.inscription li { margin: .25rem 0; }
body.inscription .muted { color:#666; font-size:.9em; }
/* content wrapper used to sync width with home table */
.content-wrap { display: block; }
/* Deadline info */
body.home .deadline { margin: .25rem 0 1rem; font-weight: 600; }
body.home .deadline.open { color: #7a4b00; }
body.home .deadline.expired { color: #c0392b; }
