/*
 * Habillage "Montgeroult" pour le plugin Périscolaire - Inscriptions.
 * Ne modifie aucune classe : ne fait que redéfinir l'apparence des
 * sélecteurs déjà utilisés par assets/css/frontend.css du plugin.
 * Chargé après la feuille du plugin (voir functions.php).
 */
:root{
  --forest:#2D4A3E; --moss:#4A6B52; --gold:#E2A72B; --ink:#1A1A1A;
  --cream:#FBF7EC; --paper:#F4EDD8; --stone:#8A837A; --rule:rgba(45,74,62,0.22);
}

.psc-wrap { font-family: 'Work Sans', sans-serif; color: var(--ink); }
.psc-wrap a { color: var(--forest); }
.psc-wrap a:hover { color: var(--gold); }

/* Cartes communes (login, première inscription) */
.psc-card { background: #fff; border: 1px solid rgba(45,74,62,0.15); border-radius: 0; box-shadow: none; }
.psc-card h2 { font-family: 'Fraunces', serif; color: var(--forest); font-weight: 700; }
.psc-card-intro { color: var(--ink); }
.psc-lead { color: var(--forest); font-family: 'Fraunces', serif; font-weight: 600; }
.psc-form-hint { color: var(--stone); }
.psc-steps { color: var(--ink); }
.psc-login-card { box-shadow: none; }
.psc-login-form input[type="email"],
.psc-add-child input[type="text"] {
  border: none; border-bottom: 1px solid var(--forest); border-radius: 0;
  background: transparent; padding: 8px 2px;
}

/* Bandeau compte connecté */
.psc-account { background: var(--forest); color: var(--cream); border-radius: 0; }
.psc-account strong { color: var(--gold); }
.psc-account .psc-link-btn { color: var(--cream); text-decoration: underline; }
.psc-account .psc-link-btn:hover { color: var(--gold); }
.psc-link-btn { color: var(--forest); }
.psc-link-btn:hover { color: var(--gold); }

/* Boutons */
.psc-btn {
  background: var(--gold); color: var(--ink); border-radius: 0;
  box-shadow: 0 2px 0 var(--ink); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; font-size: 0.8em; padding: 11px 22px; border: none;
}
.psc-btn:hover { background: #d59a1f; }
.psc-btn-sm {
  background: var(--forest); color: var(--cream); border-radius: 0;
  text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.72em; border: none;
}
.psc-btn-sm:hover { background: #1f342b; }

/* Notices / toasts */
.psc-notice { border-radius: 0; }
.psc-notice-ok { background: var(--paper); border-left: 3px solid var(--moss); color: var(--ink); }
.psc-notice-err { background: #fbeaea; border-left: 3px solid #b32d2e; }
.psc-toast { border-radius: 0; box-shadow: 0 8px 30px rgba(26,26,26,0.25); }

/* Glossaire des prestations */
.psc-glossary { background: var(--paper); border: 1px solid rgba(45,74,62,0.2); border-radius: 0; color: var(--ink); }

/* Calendrier de déclaration */
.psc-child-name { font-family: 'Fraunces', serif; color: var(--ink); border-bottom: 2px solid var(--gold); font-size: 1.3em; }
.psc-classe { color: var(--stone); }
.psc-calendar th {
  background: var(--paper); color: var(--moss); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.72em;
  border-color: rgba(45,74,62,0.25);
}
.psc-calendar td { border-color: rgba(45,74,62,0.15); }
.psc-daylabel { color: var(--ink); }
.psc-row-locked { background: var(--cream); }
.psc-row-locked .psc-daylabel { color: var(--stone); }
.psc-cell.psc-ok { background: rgba(45,74,62,0.18); }
.psc-lock { color: var(--stone); }

/* Mois repliables */
.psc-month-block { background: #fff; border: 1px solid rgba(45,74,62,0.15); border-radius: 0; }
.psc-month-chevron::before, .psc-month-chevron::after { background: var(--forest); }
.psc-month-name { font-family: 'Fraunces', serif; color: var(--ink); font-weight: 600; }
.psc-badge { background: var(--paper); color: var(--forest); border-radius: 0; text-transform: uppercase; font-size: 0.65em; letter-spacing: 0.05em; }
.psc-month-summary { color: var(--stone); }
.psc-month-summary-active { color: var(--forest); }

/* Bloc de confirmation */
.psc-confirm-block { background: var(--paper); border: none; border-left: 3px solid var(--gold); border-radius: 0; }
.psc-confirm-block h3 { font-family: 'Fraunces', serif; color: var(--ink); }
.psc-ok-text { color: var(--moss); }
.psc-err-text { color: #b32d2e; }

/* Menu de la cantine */
.psc-menu-widget { background: #fff; border: 1px solid rgba(45,74,62,0.15); border-radius: 0; padding: 20px 24px; }
.psc-menu-nav-btn { border: 1px solid var(--forest); border-radius: 0; color: var(--forest); background: #fff; }
.psc-menu-nav-btn:hover { background: var(--paper); }
.psc-menu-week-label { font-family: 'Fraunces', serif; color: var(--forest); }
.psc-menu-today-link { color: var(--gold); }
.psc-menu-table th { background: var(--paper); color: var(--moss); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.72em; }
.psc-menu-table th, .psc-menu-table td { border-color: rgba(45,74,62,0.15); }
.psc-menu-empty { color: var(--stone); font-family: 'Cormorant Garamond', serif; font-style: italic; }

/* Demande de première inscription */
.psc-request-block > summary { font-family: 'Fraunces', serif; color: var(--forest); }
.psc-request-form fieldset { border: 1px solid rgba(45,74,62,0.2); border-radius: 0; }
.psc-request-form legend { color: var(--moss); text-transform: uppercase; font-size: 0.78em; letter-spacing: 0.08em; font-weight: 600; }
.psc-request-form input[type="text"],
.psc-request-form input[type="email"],
.psc-request-form input[type="tel"],
.psc-request-form textarea {
  border: none; border-bottom: 1px solid var(--forest); border-radius: 0;
  background: transparent; padding: 7px 2px;
}
.psc-child-remove { color: var(--stone); }
.psc-req { color: #b32d2e; }
.psc-rgpd { border-left: 3px solid rgba(45,74,62,0.2); color: var(--stone); }
.psc-reglement-box { border: 1px solid rgba(45,74,62,0.2); border-radius: 0; background: var(--cream); color: var(--ink); }
.psc-sepa-block { border-top: 1px dashed rgba(45,74,62,0.3); }
.psc-sepa-creditor { background: var(--paper); border-radius: 0; color: var(--ink); }

/* Gestion des enfants / factures */
.psc-children-mgmt, .psc-invoices-mgmt { border: 1px solid rgba(45,74,62,0.15); border-radius: 0; }
.psc-children-mgmt > summary, .psc-invoices-mgmt > summary { color: var(--forest); font-family: 'Fraunces', serif; font-weight: 700; }
.psc-children-table th, .psc-invoices-table th { color: var(--moss); }
.psc-invoices-table .psc-active { color: var(--forest); }
.psc-toggle-track { background: #ccc; }
.psc-toggle input:checked + .psc-toggle-track { background: var(--forest); }
.psc-add-child-block > summary { color: var(--forest); }
