
:root{--pf-primary:#4f46e5;--pf-secondary:#0f172a;--pf-accent:#ec4899;--pf-bg:#f8fafc;--pf-card:#fff;--pf-text:#0f172a;--pf-muted:#64748b;--pf-border:#e2e8f0;--pf-shadow:0 20px 60px rgba(15,23,42,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--pf-bg);color:var(--pf-text)}
a{color:inherit}.pf-shell{min-height:100vh}.pf-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pf-secondary) 0%,var(--pf-primary) 58%,var(--pf-accent) 100%);color:#fff;padding:32px 22px 56px}.pf-hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 32%),radial-gradient(circle at bottom left,rgba(255,255,255,.12),transparent 26%)}.pf-hero__content{position:relative;max-width:1180px;margin:0 auto}.pf-brand-row{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.pf-brand{display:flex;align-items:center;gap:14px}.pf-logo{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:18px;padding:8px}.pf-brand__tenant{font-weight:800;font-size:1rem}.pf-brand__year{opacity:.8}.pf-badge{padding:.7rem 1rem;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(12px);font-size:.92rem}.pf-hero__grid{display:grid;grid-template-columns:1.6fr .8fr;gap:26px;margin-top:34px}.pf-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;opacity:.82;margin-bottom:12px}.pf-hero h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;margin:0 0 16px;font-weight:800;max-width:12ch}.pf-lead{font-size:1.06rem;line-height:1.8;max-width:64ch;color:rgba(255,255,255,.88)}.pf-intro-card,.pf-contact-card,.pf-form-card,.pf-sidebar-card,.pf-summary{background:var(--pf-card);border:1px solid rgba(255,255,255,.12);box-shadow:var(--pf-shadow)}.pf-intro-card{margin-top:18px;color:#eef2ff;background:rgba(255,255,255,.08);padding:18px 20px;border-radius:22px;border-color:rgba(255,255,255,.12)}.pf-contact-card{padding:24px;border-radius:28px;color:#0f172a}.pf-contact-card h2{margin:0 0 16px;font-size:1.12rem}.pf-contact-card div{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--pf-border)}.pf-contact-card div:first-of-type{border-top:none}.pf-main{max-width:1180px;margin:-34px auto 0;padding:0 22px 42px;position:relative}.pf-summary{border-radius:24px;padding:18px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.pf-summary__item span{display:block;font-size:.82rem;color:var(--pf-muted);margin-bottom:5px}.pf-summary__item strong{font-size:1rem}.pf-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.pf-form-card{border-radius:28px;padding:24px}.pf-section{padding:12px 0 18px;border-bottom:1px solid var(--pf-border)}.pf-section:last-of-type{border-bottom:none}.pf-section__head{margin-bottom:18px}.pf-section__head h2{margin:0 0 6px;font-size:1.2rem}.pf-section__head p{margin:0;color:var(--pf-muted);line-height:1.7}.pf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.pf-field,.pf-checkbox{display:flex;flex-direction:column;gap:8px}.pf-field span{font-weight:600;font-size:.94rem}.pf-field small{color:var(--pf-muted);line-height:1.55}.pf-field input,.pf-field textarea,.pf-field select{width:100%;border:1px solid var(--pf-border);background:#fff;border-radius:16px;padding:14px 15px;font:inherit;color:inherit;outline:none;transition:.18s box-shadow,.18s border-color}.pf-field textarea{min-height:120px;resize:vertical}.pf-field input:focus,.pf-field textarea:focus,.pf-field select:focus{border-color:var(--pf-primary);box-shadow:0 0 0 4px rgba(79,70,229,.12)}.pf-field--full{grid-column:span 6}.pf-field--half{grid-column:span 3}.pf-field--third{grid-column:span 2}.pf-checkbox{grid-column:span 6;flex-direction:row;align-items:center;background:#f8fafc;border:1px solid var(--pf-border);padding:14px 16px;border-radius:16px}.pf-curriculums{display:grid;gap:14px}.pf-curriculum-card{border:1px solid var(--pf-border);border-radius:22px;padding:18px;background:linear-gradient(180deg,#fff 0%,#fafbff 100%)}.pf-curriculum-card__head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.pf-curriculum-card__head h3{margin:0 0 6px;font-size:1.06rem}.pf-curriculum-card__head p{margin:0;color:var(--pf-muted);line-height:1.65}.pf-class-list{display:grid;gap:10px}.pf-class-item{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--pf-border);border-radius:18px;background:#fff;cursor:pointer}.pf-class-item input{margin-top:4px}.pf-class-item span{display:grid;gap:4px}.pf-class-item strong{font-size:.96rem}.pf-class-item small{color:var(--pf-muted);line-height:1.55}.pf-alert{margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--pf-border);color:var(--pf-muted)}.pf-alert--ghost{background:#f8fafc}.pf-alert--error{background:#fff1f2;color:#be123c;border-color:#fecdd3}.pf-alert--success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.pf-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pf-payment-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--pf-border);border-radius:18px;background:#fff;cursor:pointer}.pf-payment-card span{display:grid;gap:4px}.pf-payment-card small{color:var(--pf-muted)}.pf-terms-list{display:grid;gap:12px}.pf-terms-item{border:1px solid var(--pf-border);border-radius:18px;background:#fff;overflow:hidden}.pf-terms-item summary{display:flex;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:16px 18px;font-weight:600}.pf-terms-item summary::-webkit-details-marker{display:none}.pf-terms-content{padding:0 18px 18px;color:#334155;line-height:1.7}.pf-consent{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:16px;border:1px solid var(--pf-border);border-radius:18px;background:#f8fafc}.pf-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:22px;flex-wrap:wrap}.pf-submit{appearance:none;border:none;background:linear-gradient(135deg,var(--pf-primary),var(--pf-accent));color:#fff;padding:16px 24px;border-radius:18px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 18px 45px rgba(79,70,229,.25)}.pf-submit[disabled]{opacity:.65;cursor:not-allowed}.pf-feedback{color:var(--pf-muted);min-height:22px}.pf-sidebar{display:grid;gap:18px;position:sticky;top:18px}.pf-sidebar-card{border-radius:24px;padding:20px}.pf-sidebar-card h3{margin:0 0 16px;font-size:1.06rem}.pf-summary-list{display:grid;gap:10px}.pf-summary-line{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--pf-border);border-radius:16px;background:#fff}.pf-summary-line.is-empty{display:block;color:var(--pf-muted)}.pf-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--pf-border)}.pf-total span{color:var(--pf-muted)}.pf-total strong{font-size:1.22rem}.pf-checklist{margin:0;padding-left:18px;color:#334155;display:grid;gap:10px;line-height:1.6}.pf-footer{max-width:1180px;margin:0 auto;padding:8px 22px 40px;color:var(--pf-muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.92rem}
@media (max-width: 980px){.pf-hero__grid,.pf-layout,.pf-payment-grid,.pf-summary{grid-template-columns:1fr}.pf-sidebar{position:static}.pf-main{margin-top:-24px}}
@media (max-width: 720px){.pf-grid{grid-template-columns:1fr}.pf-field--full,.pf-field--half,.pf-field--third,.pf-checkbox{grid-column:span 1}.pf-hero{padding:24px 16px 44px}.pf-main{padding:0 16px 30px}.pf-form-card,.pf-sidebar-card,.pf-contact-card,.pf-summary{padding:18px}.pf-hero h1{max-width:none}}

.pf-alert--spaced{margin-bottom:14px}.pf-class-item.is-hidden,.pf-curriculum-card.is-hidden{display:none !important}.pf-class-item.is-eligible{border-color:rgba(79,70,229,.18)}.pf-eligibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pf-section-caption{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.pf-section-caption strong{font-size:.96rem}.pf-admin-tip{margin-top:10px;color:var(--pf-muted);font-size:.92rem;line-height:1.6}@media (max-width:720px){.pf-eligibility-grid{grid-template-columns:1fr}}

/* PATCH 20260426 - clics formulaire + colonne droite desktop */
.pf-hero__overlay,.pf-hero__image{pointer-events:none}
.pf-hero__content{position:relative;z-index:1}
.pf-main{position:relative;z-index:2}
.pf-form-card,.pf-sidebar{position:relative;z-index:3}
.pf-payment-card,.pf-consent,.pf-terms-item summary,.pf-class-item{position:relative;z-index:4;user-select:none}
.pf-payment-card input,.pf-consent input,.pf-class-item input{pointer-events:auto}
@media (min-width:861px){.pf-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:22px;align-items:start}.pf-sidebar{display:grid;gap:18px;position:sticky;top:18px}.pf-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.pf-layout,.pf-payment-grid,.pf-summary{grid-template-columns:1fr}.pf-sidebar{position:static}}

/* Header menu + réseaux sociaux configurés depuis le builder */
.pf-nav{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-left:auto;margin-right:auto;position:relative;z-index:20}
.pf-nav a,.pf-nav button{font:inherit}
.pf-nav-link,.pf-nav-trigger{display:inline-flex;align-items:center;gap:.35rem;min-height:38px;padding:.55rem .85rem;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;backdrop-filter:blur(10px);transition:.18s background,.18s transform,.18s border-color;cursor:pointer}
.pf-nav-link:hover,.pf-nav-trigger:hover,.pf-nav-item:focus-within>.pf-nav-trigger{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.28);transform:translateY(-1px)}
.pf-nav-item{position:relative;display:inline-flex}
.pf-subnav{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;padding:.45rem;border-radius:18px;background:#fff;color:#0f172a;border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 50px rgba(15,23,42,.18);display:grid;gap:.2rem;opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:.16s opacity,.16s transform,.16s visibility;z-index:40}
.pf-subnav::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.pf-nav-item:hover .pf-subnav,.pf-nav-item:focus-within .pf-subnav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.pf-subnav a{display:block;padding:.65rem .75rem;border-radius:13px;color:#0f172a;text-decoration:none;font-weight:700;font-size:.88rem;line-height:1.3}
.pf-subnav a:hover{background:#f1f5f9;color:var(--pf-primary)}
.pf-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;position:relative;z-index:15}
.pf-social-links{display:flex;align-items:center;gap:.38rem;flex-wrap:wrap}
.pf-social-links a{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:.76rem;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(10px);transition:.18s background,.18s transform,.18s border-color}
.pf-social-links a:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.34);transform:translateY(-1px)}
@media (max-width:980px){.pf-brand-row{align-items:flex-start}.pf-nav{order:3;width:100%;justify-content:flex-start;margin:6px 0 0}.pf-header-actions{margin-left:0}.pf-nav-link,.pf-nav-trigger{min-height:36px;padding:.5rem .75rem}.pf-subnav{left:0;right:auto}}
@media (max-width:720px){.pf-brand-row{display:grid;grid-template-columns:1fr;gap:14px}.pf-header-actions{justify-content:flex-start}.pf-nav{gap:.35rem}.pf-nav-item{display:grid;width:100%}.pf-nav-link,.pf-nav-trigger{width:100%;justify-content:space-between;font-size:.84rem}.pf-subnav{position:static;min-width:0;margin-top:.35rem;opacity:1;visibility:visible;transform:none;pointer-events:auto;display:none}.pf-nav-item:hover .pf-subnav,.pf-nav-item:focus-within .pf-subnav{display:grid}.pf-social-links a{width:35px;height:35px}}

/* Multi-inscrits dynamique */
.pf-secondary-btn{appearance:none;border:1px solid var(--pf-border);background:#fff;color:var(--pf-primary);border-radius:14px;padding:.75rem 1rem;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.pf-secondary-btn:hover{border-color:var(--pf-primary);box-shadow:0 12px 30px rgba(79,70,229,.12)}
.pf-secondary-btn:disabled{opacity:.55;cursor:not-allowed}
.pf-students-stack{display:grid;gap:18px}.pf-student-card{border:1px solid var(--pf-border);border-radius:24px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);padding:18px;box-shadow:0 12px 35px rgba(15,23,42,.06)}
.pf-student-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.pf-student-card__head h3{margin:0 0 5px;font-size:1.08rem}.pf-student-card__head p{margin:0;color:var(--pf-muted);line-height:1.55}.pf-icon-btn{width:36px;height:36px;border-radius:999px;border:1px solid var(--pf-border);background:#fff;color:#64748b;font-size:1.35rem;line-height:1;display:grid;place-items:center;cursor:pointer}.pf-icon-btn:hover{color:#be123c;border-color:#fecdd3;background:#fff1f2}.pf-icon-btn[hidden]{display:none!important}.pf-student-curriculums{margin-top:18px;border-top:1px dashed var(--pf-border);padding-top:18px}.pf-section__head--compact{margin-bottom:12px}.pf-section__head--compact h4{margin:0 0 4px;font-size:1rem}.pf-checkbox--highlight{background:#eef2ff;border-color:#c7d2fe;color:#312e81;font-weight:700}.pf-field--full .pf-grid{width:100%}.pf-summary-line span strong{font-size:.95rem}.pf-summary-line small{color:var(--pf-muted)}
#legalRepresentativeSection[hidden]{display:none!important}.pf-student-card .pf-curriculum-card{box-shadow:none}.pf-student-card .pf-curriculum-card + .pf-curriculum-card{margin-top:0}
@media (max-width:720px){.pf-student-card{padding:15px}.pf-student-card__head{align-items:flex-start}.pf-secondary-btn{width:100%}}


/* Parcours d'inscription clarifié */
.pf-pathway-card{grid-column:span 6;border:1px solid var(--pf-border);background:#f8fafc;border-radius:20px;padding:16px}
.pf-pathway-card .pf-section__head{margin-bottom:12px}
.pf-pathway-card h3{margin:0 0 6px;font-size:1.05rem}
.pf-pathway-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pf-pathway-options .pf-checkbox{grid-column:auto;margin:0}
.pf-student-add-row{display:flex;justify-content:flex-start;margin-top:16px}
.pf-student-card.is-contact-student{border-color:#c7d2fe;background:linear-gradient(180deg,#eef2ff 0%,#fff 100%)}
.pf-student-card [hidden]{display:none!important}
@media (max-width:720px){.pf-pathway-options{grid-template-columns:1fr}.pf-pathway-card{grid-column:span 1}.pf-student-add-row .pf-secondary-btn{width:100%}}

.pf-muted-inline{font-style:normal;font-weight:600;color:var(--pf-muted);font-size:.86em}

/* Bloc anti-doublon formulaire public */
.pf-duplicate-card{width:100%;max-width:760px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:18px;padding:16px 18px;line-height:1.6;box-shadow:0 12px 30px rgba(37,99,235,.10)}
.pf-duplicate-card strong{display:block;margin-bottom:4px;color:#1e40af;font-size:1rem}.pf-duplicate-card p{margin:.25rem 0 .65rem}.pf-duplicate-ref{font-size:.92rem;margin:.35rem 0;color:#334155}.pf-duplicate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.pf-duplicate-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfdbfe;background:#fff;color:#1d4ed8;text-decoration:none;border-radius:999px;padding:.72rem 1rem;font-weight:800;font-size:.92rem}.pf-duplicate-btn:hover{border-color:#60a5fa;background:#dbeafe}.pf-duplicate-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.pf-duplicate-btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}

/* Patch CGU/CGI modal front */
.pf-terms-item--modal{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}.pf-terms-item__main{display:grid;gap:4px}.pf-terms-item__main small{color:var(--pf-muted)}.pf-terms-open{appearance:none;border:1px solid var(--pf-border);background:#fff;color:var(--pf-primary);border-radius:999px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.pf-terms-open:hover{border-color:var(--pf-primary);box-shadow:0 8px 24px rgba(15,23,42,.08)}.pf-modal{position:fixed;inset:0;z-index:9999;display:none}.pf-modal.is-open{display:block}.pf-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}.pf-modal__dialog{position:relative;width:min(920px,calc(100vw - 28px));max-height:calc(100vh - 40px);margin:20px auto;background:#fff;color:#0f172a;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.35);display:flex;flex-direction:column;overflow:hidden}.pf-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--pf-border);background:#f8fafc}.pf-modal__head h3{margin:0;font-size:1.2rem}.pf-modal__head p{margin:.25rem 0 0;color:var(--pf-muted)}.pf-modal__close{appearance:none;border:0;background:#fff;color:#0f172a;border-radius:999px;width:38px;height:38px;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.08)}.pf-modal__body{padding:22px;overflow:auto;line-height:1.75}.pf-modal__body h1,.pf-modal__body h2,.pf-modal__body h3{margin:1.1rem 0 .6rem;font-weight:800}.pf-modal__body p{margin:.65rem 0}.pf-modal__body table{width:100%;border-collapse:collapse;margin:1rem 0}.pf-modal__body td,.pf-modal__body th{border:1px solid #cbd5e1;padding:.55rem;vertical-align:top}.pf-modal__body ul,.pf-modal__body ol{padding-left:1.35rem}.pf-modal__foot{padding:14px 22px;border-top:1px solid var(--pf-border);background:#f8fafc;text-align:right}.pf-modal__ok{appearance:none;border:0;background:linear-gradient(135deg,var(--pf-primary),var(--pf-accent));color:#fff;border-radius:14px;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer}@media(max-width:640px){.pf-terms-item--modal{align-items:stretch;flex-direction:column}.pf-terms-open{width:100%}.pf-modal__dialog{margin:10px auto;max-height:calc(100vh - 20px);border-radius:18px}.pf-modal__head,.pf-modal__body,.pf-modal__foot{padding:16px}}

.pf-modal-open{overflow:hidden}


/* Hotfix CGU/CGI modal: la modal doit passer au-dessus du récapitulatif sticky. */
html.pf-modal-open,
body.pf-modal-open {
  overflow: hidden !important;
}

.pf-modal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 2147483000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  isolation: isolate !important;
}

.pf-modal.is-open {
  display: flex !important;
}

.pf-modal__backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(15, 23, 42, 0.62) !important;
  backdrop-filter: blur(4px) !important;
}

.pf-modal__dialog {
  position: relative !important;
  z-index: 2 !important;
  width: min(920px, calc(100vw - 28px)) !important;
  max-height: calc(100vh - 32px) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

.pf-modal__body {
  overflow: auto !important;
}

/* Sécurité supplémentaire si un élément sticky possède un z-index forcé. */
html.pf-modal-open .pf-sidebar,
html.pf-modal-open .pf-sidebar-card,
html.pf-modal-open .pf-summary,
html.pf-modal-open .pf-form-card,
body.pf-modal-open .pf-sidebar,
body.pf-modal-open .pf-sidebar-card,
body.pf-modal-open .pf-summary,
body.pf-modal-open .pf-form-card {
  z-index: 0 !important;
}

html.pf-modal-open .pf-modal,
body.pf-modal-open .pf-modal {
  z-index: 2147483000 !important;
}

@media (max-width: 640px) {
  .pf-modal {
    padding: 10px !important;
  }

  .pf-modal__dialog {
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 18px !important;
  }
}

/* PATCH 20260503 - visibilité paiement + footer contact */
.pf-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pf-hero__grid--single{grid-template-columns:1fr}
.pf-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.pf-social-links a svg{width:18px;height:18px;display:block}
.pf-payment-rule{margin-top:10px!important;font-size:1rem!important;font-weight:700;color:#1e293b!important}
.pf-payment-highlight{margin:0 0 16px;padding:18px 18px 16px;border-radius:22px;border:1px solid rgba(79,70,229,.16);background:linear-gradient(135deg,rgba(79,70,229,.08),rgba(236,72,153,.08));box-shadow:0 16px 38px rgba(79,70,229,.10)}
.pf-payment-highlight.is-empty{background:#f8fafc;border-style:dashed;box-shadow:none}
.pf-payment-highlight__eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.85);color:var(--pf-primary);font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.pf-payment-highlight__title{margin:12px 0 6px;font-size:1.15rem;font-weight:800;color:#0f172a}
.pf-payment-highlight__subtitle{margin:0;color:#475569;line-height:1.6}
.pf-payment-highlight__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.pf-payment-highlight__item{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(79,70,229,.12)}
.pf-payment-highlight__item span{display:block;font-size:.82rem;font-weight:700;color:#64748b;margin-bottom:6px}
.pf-payment-highlight__item strong{display:block;font-size:1.08rem;line-height:1.3;color:#0f172a}
.pf-payment-highlight__note{margin-top:12px;font-size:.9rem;color:#475569;font-weight:600}
.pf-payment-highlight--compact{margin:0;padding:16px}
.pf-payment-highlight--compact .pf-payment-highlight__title{font-size:1rem}
.pf-payment-highlight--compact .pf-payment-highlight__grid{grid-template-columns:1fr;gap:10px}
.pf-payment-grid--compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pf-payment-card small{font-size:.88rem;line-height:1.45}
.pf-sidebar-card--payment{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.pf-footer{max-width:1180px;margin:16px auto 0;padding:0 22px 42px;color:var(--pf-text)}
.pf-footer-card{background:#fff;border:1px solid var(--pf-border);border-radius:28px;padding:22px;box-shadow:var(--pf-shadow)}
.pf-footer__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.pf-footer__brand{font-size:1.1rem;font-weight:800;margin-bottom:6px;color:#0f172a}
.pf-footer__text{color:#64748b;line-height:1.7;max-width:66ch}
.pf-footer__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pf-footer__item{padding:16px;border-radius:18px;background:#f8fafc;border:1px solid var(--pf-border)}
.pf-footer__item--wide{grid-column:span 2}
.pf-footer__item span{display:block;font-size:.82rem;font-weight:700;color:#64748b;margin-bottom:6px}
.pf-footer__item strong{display:block;font-size:1rem;line-height:1.6;color:#0f172a}
.pf-social-links--footer a{background:#f8fafc;color:var(--pf-primary);border-color:rgba(79,70,229,.12)}
.pf-social-links--footer a:hover{background:#eef2ff;border-color:rgba(79,70,229,.22)}
@media (max-width:980px){.pf-payment-highlight__grid,.pf-footer__grid{grid-template-columns:1fr 1fr}.pf-footer__item--wide{grid-column:span 2}}
@media (max-width:720px){.pf-payment-highlight__grid,.pf-footer__grid{grid-template-columns:1fr}.pf-footer__item--wide{grid-column:span 1}.pf-footer{padding:0 16px 28px}.pf-footer-card{padding:18px}.pf-payment-highlight{padding:16px}.pf-payment-card{align-items:flex-start}}


/* PATCH 20260503 - restauration parcours inscription front */
.pf-checkbox span{display:grid;gap:4px;line-height:1.45}
.pf-checkbox span strong{font-weight:800;color:inherit}
.pf-checkbox span small{display:block;color:var(--pf-muted);font-weight:600;line-height:1.5}
.pf-checkbox--highlight span small{color:#4338ca}

/* --------------------------------------------------------------------------
   PATCH 2026-05-03 - Formulaire intégré au template public global
   -------------------------------------------------------------------------- */
body.ps-form-page {
  --pf-primary: var(--ps-primary);
  --pf-secondary: var(--ps-primary-3);
  --pf-accent: var(--ps-gold);
  --pf-bg: var(--ps-bg);
  --pf-card: #ffffff;
  --pf-text: var(--ps-text);
  --pf-muted: var(--ps-muted);
  --pf-border: var(--ps-border);
  font-family: var(--ps-body-font);
}

.ps-form-page .pf-shell,
.ps-form-shell {
  min-height: 100vh;
  background: transparent;
}

.ps-form-page .ps-topbar {
  position: sticky;
  top: 0;
  z-index: 80;
}

.ps-form-page .ps-nav .ps-btn.is-active {
  background: linear-gradient(135deg, var(--ps-primary), color-mix(in srgb, var(--ps-primary) 82%, #000));
  color: #fff !important;
}

.ps-form-hero {
  position: relative;
  overflow: hidden;
  padding: 66px 0 84px;
  background:
    radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--ps-gold) 14%, transparent), transparent 24rem),
    radial-gradient(circle at 90% 16%, color-mix(in srgb, var(--ps-primary) 11%, transparent), transparent 30rem),
    linear-gradient(135deg, rgba(255,252,246,.98), rgba(250,243,229,.92));
  border-bottom: 1px solid rgba(23,35,29,.08);
}

.ps-form-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(45deg, transparent 45%, rgba(199,155,58,.07) 46% 54%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, rgba(199,155,58,.07) 46% 54%, transparent 55%);
  background-size: 76px 76px;
  opacity: .62;
  mask-image: radial-gradient(circle at 0 10%, rgba(0,0,0,.45), transparent 24rem), radial-gradient(circle at 100% 80%, rgba(0,0,0,.35), transparent 28rem);
}

.ps-form-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 54px;
}

.ps-form-hero__content {
  max-width: 790px;
}

.ps-form-hero h1 {
  margin: 0;
  font-family: var(--ps-title-font);
  font-size: clamp(3.2rem, 8vw, 6.8rem);
  line-height: .95;
  letter-spacing: -.07em;
  color: var(--ps-primary-3);
}

.ps-form-hero .ps-lead {
  color: rgba(23,35,29,.72);
  max-width: 720px;
  font-weight: 750;
}

.ps-form-hero__panel {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(23,35,29,.12);
  border-radius: 32px;
  padding: 26px;
  box-shadow: 0 24px 70px rgba(15,55,35,.12);
  backdrop-filter: blur(18px);
}

.ps-form-hero__panel-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: var(--ps-primary);
  background: color-mix(in srgb, var(--ps-primary) 10%, #fff);
  border: 1px solid rgba(0,75,63,.16);
}

.ps-form-hero__panel-icon svg,
.ps-form-page .ps-btn-ico svg,
.ps-form-page .ps-eyebrow svg,
.ps-form-page .ps-ornament svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ps-form-hero__panel span {
  display: block;
  color: var(--ps-muted);
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.ps-form-hero__panel strong {
  display: block;
  margin-top: 8px;
  color: var(--ps-primary-3);
  font-size: 1.35rem;
  line-height: 1.18;
  letter-spacing: -.035em;
}

.ps-form-hero__panel small {
  display: inline-flex;
  margin-top: 14px;
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff8e8;
  color: #8b641f;
  border: 1px solid rgba(199,155,58,.22);
  font-weight: 900;
}

.ps-form-page .pf-main {
  width: min(1280px, calc(100% - 64px));
  max-width: none;
  margin: -42px auto 0;
  padding: 0 0 64px;
  position: relative;
  z-index: 3;
}

.ps-form-page .pf-summary {
  border-radius: 28px;
  padding: 18px 22px;
  margin-bottom: 24px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(23,35,29,.10);
  box-shadow: 0 18px 54px rgba(15,55,35,.08);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ps-form-page .pf-summary__item span,
.ps-form-page .pf-section__head p,
.ps-form-page .pf-field small,
.ps-form-page .pf-payment-card small,
.ps-form-page .pf-summary-line.is-empty,
.ps-form-page .pf-total span {
  color: var(--ps-muted);
}

.ps-form-page .pf-summary__item strong,
.ps-form-page .pf-section__head h2,
.ps-form-page .pf-section__head h3,
.ps-form-page .pf-section__head h4,
.ps-form-page .pf-curriculum-card__head h3,
.ps-form-page .pf-sidebar-card h3,
.ps-form-page .pf-total strong {
  color: var(--ps-primary-3);
}

.ps-form-page .pf-layout {
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 28px;
}

.ps-form-page .pf-form-card,
.ps-form-page .pf-sidebar-card {
  border-radius: 32px;
  border: 1px solid rgba(23,35,29,.12);
  box-shadow: 0 22px 70px rgba(15,55,35,.09);
  background: rgba(255,255,255,.94);
}

.ps-form-page .pf-form-card {
  padding: 30px;
}

.ps-form-page .pf-section {
  border-bottom-color: rgba(23,35,29,.10);
  padding: 16px 0 24px;
}

.ps-form-page .pf-field input,
.ps-form-page .pf-field textarea,
.ps-form-page .pf-field select {
  border-color: rgba(23,35,29,.16);
  background: rgba(255,255,255,.96);
  border-radius: 18px;
}

.ps-form-page .pf-field input:focus,
.ps-form-page .pf-field textarea:focus,
.ps-form-page .pf-field select:focus {
  border-color: color-mix(in srgb, var(--ps-primary) 55%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ps-primary) 12%, transparent);
}

.ps-form-page .pf-pathway-card,
.ps-form-page .pf-checkbox,
.ps-form-page .pf-consent,
.ps-form-page .pf-alert--ghost {
  background: color-mix(in srgb, var(--ps-primary) 4%, #fff);
  border-color: rgba(23,35,29,.12);
}

.ps-form-page .pf-checkbox--highlight {
  background: color-mix(in srgb, var(--ps-primary) 7%, #fff);
  border-color: color-mix(in srgb, var(--ps-primary) 18%, transparent);
  color: var(--ps-primary-3);
}

.ps-form-page .pf-checkbox--highlight span small {
  color: color-mix(in srgb, var(--ps-primary) 72%, #334155);
}

.ps-form-page .pf-curriculum-card,
.ps-form-page .pf-student-card {
  border-color: rgba(23,35,29,.12);
  background: linear-gradient(180deg, #fff 0%, #fffaf0 100%);
  box-shadow: 0 14px 38px rgba(15,55,35,.055);
}

.ps-form-page .pf-class-item,
.ps-form-page .pf-payment-card,
.ps-form-page .pf-terms-item,
.ps-form-page .pf-summary-line,
.ps-form-page .pf-payment-highlight__item {
  border-color: rgba(23,35,29,.13);
  background: #fff;
}

.ps-form-page .pf-payment-highlight {
  background: linear-gradient(135deg, color-mix(in srgb, var(--ps-primary) 8%, #fff), color-mix(in srgb, var(--ps-gold) 12%, #fff));
  border-color: rgba(23,35,29,.12);
  box-shadow: 0 16px 42px rgba(15,55,35,.07);
}

.ps-form-page .pf-payment-highlight__eyebrow,
.ps-form-page .pf-terms-open,
.ps-form-page .pf-secondary-btn {
  color: var(--ps-primary);
}

.ps-form-page .pf-submit,
.ps-form-page .pf-modal__ok {
  background: linear-gradient(135deg, var(--ps-primary), color-mix(in srgb, var(--ps-primary) 82%, #000));
  color: #fff;
  border-radius: 999px;
  box-shadow: 0 18px 40px color-mix(in srgb, var(--ps-primary) 24%, transparent);
}

.ps-form-page .pf-submit:hover,
.ps-form-page .pf-secondary-btn:hover {
  transform: translateY(-1px);
}

.ps-form-page .pf-sidebar {
  top: 98px;
}

.ps-form-page .pf-sidebar-card {
  padding: 22px;
}

.ps-form-page .pf-total {
  border-top-color: rgba(23,35,29,.12);
}

.ps-form-page .pf-duplicate-card {
  background: color-mix(in srgb, var(--ps-primary) 8%, #fff);
  border-color: color-mix(in srgb, var(--ps-primary) 18%, transparent);
  color: var(--ps-primary-3);
}

.ps-form-page .pf-duplicate-card strong,
.ps-form-page .pf-duplicate-ref {
  color: var(--ps-primary-3);
}

.ps-form-page .pf-duplicate-btn,
.ps-form-page .pf-duplicate-btn--primary {
  border-color: var(--ps-primary);
  color: var(--ps-primary);
}

.ps-form-page .pf-duplicate-btn--primary {
  background: var(--ps-primary);
  color: #fff;
}

.ps-form-page .pf-site-footer {
  margin-top: 0;
  background: var(--ps-primary-3);
  color: rgba(255,255,255,.82);
  padding: 54px 0;
}

.ps-form-page .pf-site-footer__inner {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: 42px;
}

.ps-form-page .pf-site-footer__brand-block p {
  max-width: 46ch;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  margin: 12px 0 18px;
}

.ps-form-page .pf-site-footer__contacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ps-form-page .pf-site-footer__contacts > div {
  border-radius: 20px;
  padding: 16px 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.ps-form-page .pf-site-footer__contacts span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.62);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.ps-form-page .pf-site-footer__contacts strong {
  color: #fff;
  font-size: .98rem;
}

.ps-form-page .pf-site-footer__wide,
.ps-form-page .pf-site-footer__socials {
  grid-column: span 2;
}

.ps-form-page .pf-social-links--site-footer a {
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}

.ps-form-page .pf-social-links--site-footer a svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 1100px) {
  .ps-form-hero__grid,
  .ps-form-page .pf-layout,
  .ps-form-page .pf-site-footer__inner {
    grid-template-columns: 1fr;
  }
  .ps-form-hero__panel { max-width: 520px; }
  .ps-form-page .pf-sidebar { position: static; }
}

@media (max-width: 720px) {
  .ps-form-hero { padding: 46px 0 62px; }
  .ps-form-hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .ps-form-page .pf-main { width: min(100% - 24px, 1280px); margin-top: -30px; padding-bottom: 42px; }
  .ps-form-page .pf-form-card { padding: 20px; border-radius: 26px; }
  .ps-form-page .pf-summary { grid-template-columns: 1fr; }
  .ps-form-page .pf-site-footer__contacts,
  .ps-form-page .pf-site-footer__wide,
  .ps-form-page .pf-site-footer__socials { grid-template-columns: 1fr; grid-column: auto; }
}

/* Patch 2026-05-04 · actions footer formulaire */
.pf-site-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.pf-site-footer__actions .ps-btn { min-height: 44px; }
@media (max-width: 640px) {
  .pf-site-footer__actions { display: grid; }
}

/* PATCH 2026-05-05 — formulaire public plus compact et homogène */
.ps-form-page .ps-form-hero {
  padding: clamp(34px, 4vw, 56px) 0 clamp(56px, 6vw, 82px) !important;
}

.ps-form-page .ps-form-hero__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(250px, .55fr) !important;
  gap: clamp(20px, 3vw, 34px) !important;
  align-items: center !important;
}

.ps-form-page .ps-form-hero h1 {
  font-size: clamp(2.05rem, 5vw, 4.1rem) !important;
  line-height: .98 !important;
  max-width: 12ch !important;
}

.ps-form-page .ps-form-hero .ps-lead {
  max-width: 58ch !important;
  font-size: clamp(.96rem, 1.2vw, 1.08rem) !important;
  line-height: 1.68 !important;
}

.ps-form-page .ps-form-hero__panel {
  border-radius: 24px !important;
  padding: 22px !important;
  min-height: auto !important;
}

.ps-form-page .ps-form-hero__panel strong {
  font-size: clamp(1.15rem, 2vw, 1.55rem) !important;
  line-height: 1.2 !important;
}

.ps-form-page .pf-main {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: -42px auto 0 !important;
  padding: 0 0 52px !important;
}

.ps-form-page .pf-summary {
  border-radius: 22px !important;
  padding: 14px 18px !important;
  margin-bottom: 18px !important;
}

.ps-form-page .pf-layout {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 20px !important;
}

.ps-form-page .pf-form-card {
  border-radius: 24px !important;
  padding: 22px !important;
}

.ps-form-page .pf-sidebar-card {
  border-radius: 22px !important;
  padding: 18px !important;
}

.ps-form-page .pf-section {
  padding: 12px 0 18px !important;
}

.ps-form-page .pf-section__head {
  margin-bottom: 14px !important;
}

.ps-form-page .pf-section__head h2 {
  font-size: 1.08rem !important;
}

.ps-form-page .pf-grid {
  gap: 12px !important;
}

.ps-form-page .pf-field {
  gap: 6px !important;
}

.ps-form-page .pf-field span {
  font-size: .88rem !important;
}

.ps-form-page .pf-field input,
.ps-form-page .pf-field textarea,
.ps-form-page .pf-field select {
  min-height: 42px !important;
  border-radius: 13px !important;
  padding: 11px 12px !important;
  font-size: .94rem !important;
}

.ps-form-page .pf-field textarea {
  min-height: 98px !important;
}

.ps-form-page .pf-curriculum-card,
.ps-form-page .pf-student-card,
.ps-form-page .pf-class-item,
.ps-form-page .pf-payment-card,
.ps-form-page .pf-consent,
.ps-form-page .pf-terms-item {
  border-radius: 16px !important;
}

.ps-form-page .pf-curriculum-card,
.ps-form-page .pf-student-card {
  padding: 15px !important;
}

.ps-form-page .pf-class-item {
  padding: 12px !important;
}

.ps-form-page .pf-payment-grid {
  gap: 10px !important;
}

.ps-form-page .pf-payment-card {
  padding: 13px !important;
}

.ps-form-page .pf-payment-highlight {
  padding: 16px !important;
  border-radius: 18px !important;
}

.ps-form-page .pf-submit {
  min-height: 44px !important;
  padding: 12px 20px !important;
  font-size: .95rem !important;
}

.ps-form-page .pf-site-footer {
  padding: 36px 0 42px !important;
}

.ps-form-page .pf-site-footer__inner {
  width: min(1180px, calc(100% - 48px)) !important;
  gap: 28px !important;
}

.ps-form-page .pf-site-footer__contacts > div {
  border-radius: 17px !important;
  padding: 13px 15px !important;
}

@media (max-width: 1100px) {
  .ps-form-page .ps-form-hero__grid,
  .ps-form-page .pf-layout,
  .ps-form-page .pf-site-footer__inner {
    grid-template-columns: 1fr !important;
  }
  .ps-form-page .pf-sidebar { position: static !important; }
}

@media (max-width: 720px) {
  .ps-form-page .ps-form-hero { padding: 32px 0 58px !important; }
  .ps-form-page .ps-form-hero h1 { font-size: clamp(2.1rem, 12vw, 3.15rem) !important; max-width: none !important; }
  .ps-form-page .pf-main { width: min(100% - 24px, 1180px) !important; margin-top: -34px !important; }
  .ps-form-page .pf-form-card { padding: 18px !important; }
  .ps-form-page .pf-summary { grid-template-columns: 1fr !important; }
}


/* Patch Madrassa Essalam */
.pf-madrassa-panel{border:1px solid rgba(122,163,38,.22);background:linear-gradient(135deg,rgba(122,163,38,.07),rgba(255,250,240,.72));border-radius:22px;padding:18px;margin-top:8px}.pf-summary-line--discount{color:#275b2a;background:rgba(122,163,38,.08);border-radius:14px;padding:10px}.pf-field input[type=file]{padding:11px;background:#fff;border:1px dashed rgba(122,163,38,.45)}

.pf-payment-card.is-hidden,.pf-payment-card[hidden],[data-billing-days-wrap].is-hidden,[data-billing-days-wrap][hidden]{display:none!important}

/* Patch 20260523 — formulaire en 3 étapes lisible */
.ps-form-page .pf-stepper{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 22px;
  padding:10px;
  border:1px solid rgba(122,92,45,.13);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,250,240,.72));
  box-shadow:0 14px 34px rgba(31,25,15,.06);
}
.ps-form-page .pf-stepper__item{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  border:1px solid rgba(122,92,45,.12);
  border-radius:16px;
  background:#fff;
  color:#7b715f;
  padding:10px 12px;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}
.ps-form-page .pf-stepper__item span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#f4ead9;
  color:#8a642c;
  font-weight:800;
  flex:0 0 auto;
}
.ps-form-page .pf-stepper__item strong{font-size:.92rem;line-height:1.15;color:inherit}
.ps-form-page .pf-stepper__item.is-active{
  border-color:rgba(143,105,41,.45);
  background:linear-gradient(135deg,#fff7e9,#fff);
  color:#382710;
  box-shadow:0 10px 22px rgba(143,105,41,.12);
}
.ps-form-page .pf-stepper__item.is-active span,
.ps-form-page .pf-stepper__item.is-complete span{
  background:#9b742f;
  color:#fff;
}
.ps-form-page .pf-form-step{display:none;animation:pfStepIn .22s ease both}
.ps-form-page .pf-form-step.is-active{display:block}
.ps-form-page .pf-step-actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin:20px 0 4px;
  padding-top:16px;
  border-top:1px solid rgba(122,92,45,.1);
}
.ps-form-page .pf-step-actions--split{justify-content:space-between}
.ps-form-page .pf-step-actions--final{margin-bottom:0}
.ps-form-page .pf-step-next,
.ps-form-page .pf-step-prev{
  border:0;
  border-radius:999px;
  min-height:46px;
  padding:12px 20px;
  font-weight:800;
  cursor:pointer;
}
.ps-form-page .pf-step-next{background:#8f6929;color:#fff;box-shadow:0 12px 24px rgba(143,105,41,.18)}
.ps-form-page .pf-step-prev{background:#f6efe4;color:#5f513d}
.ps-form-page .pf-curriculum-card[hidden],
.ps-form-page .pf-class-item[hidden]{display:none!important}
@keyframes pfStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){
  .ps-form-page .pf-stepper{grid-template-columns:1fr;gap:8px}
  .ps-form-page .pf-stepper__item{min-height:46px}
  .ps-form-page .pf-step-actions,.ps-form-page .pf-step-actions--split{flex-direction:column-reverse}
  .ps-form-page .pf-step-next,.ps-form-page .pf-step-prev{width:100%}
}


/* PATCH 20260606 — erreurs front visibles + scroll vers champ/fichier manquant */
.ps-form-page .pf-field-error,
.ps-form-page .pf-consent.pf-field-error,
.ps-form-page .pf-checkbox.pf-field-error,
.ps-form-page .pf-student-curriculums.pf-field-error,
.ps-form-page .pf-madrassa-panel.pf-field-error,
.ps-form-page .pf-section.pf-field-error {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 4px rgba(220, 38, 38, .11) !important;
}

.ps-form-page .pf-field-error > span,
.ps-form-page .pf-field-error > strong,
.ps-form-page .pf-field-error h2,
.ps-form-page .pf-field-error h3,
.ps-form-page .pf-field-error h4 {
  color: #b91c1c !important;
}

.ps-form-page .pf-field-error input,
.ps-form-page .pf-field-error textarea,
.ps-form-page .pf-field-error select {
  border-color: #dc2626 !important;
  background: #fff7f7 !important;
}

.ps-form-page .pf-field-error input[type="file"] {
  border-style: solid !important;
}

.ps-form-page .pf-validation-message {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #b91c1c;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.45;
}

.ps-form-page .pf-feedback:not(:empty) {
  color: #b91c1c;
  font-weight: 800;
}

.ps-form-page .pf-feedback.is-success {
  color: #047857;
}
