/* SPG Pro UI - scoped styles (Elementor-friendly) */
.spg-ui {
  --spg-bg: #ffffff;
  --spg-surface: #ffffff;
  --spg-border: #e5e7eb;
  --spg-text: #111827;
  --spg-muted: #6b7280;
  --spg-shadow: 0 10px 25px rgba(0,0,0,0.06);
  --spg-radius: 14px;
  --spg-pad: 16px;
  --spg-gap: 12px;
  --spg-btn-bg: #111827;
  --spg-btn-text: #ffffff;
}

.spg-ui * { box-sizing: border-box; }

.spg-ui.spg-card {
  background: var(--spg-surface);
  border: 1px solid var(--spg-border);
  border-radius: var(--spg-radius);
  box-shadow: var(--spg-shadow);
  overflow: hidden;
  max-width: 520px;
}

.spg-ui.spg-card--wide { max-width: 860px; }

.spg-ui .spg-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spg-gap);
  padding: var(--spg-pad);
  background: var(--spg-bg);
  border-bottom: 1px solid var(--spg-border);
}

.spg-ui .spg-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--spg-text);
  line-height: 1.2;
}

.spg-ui .spg-card__subtitle {
  margin-top: 4px;
  font-size: 13px;
  color: var(--spg-muted);
}

.spg-ui .spg-card__body { padding: var(--spg-pad); }

.spg-ui .spg-muted { color: var(--spg-muted); font-size: 14px; }

.spg-ui.spg-stack { display: grid; gap: 14px; }

/* WP login form */
.spg-ui form#spg-loginform,
.spg-ui form#loginform { margin: 0; }

.spg-ui form p { margin: 0 0 12px 0; }

.spg-ui label {
  display: block;
  font-size: 13px;
  color: var(--spg-muted);
  margin-bottom: 6px;
}

.spg-ui input[type="text"],
.spg-ui input[type="password"]{
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--spg-border);
  border-radius: 10px;
  font-size: 14px;
  color: var(--spg-text);
  background: #fff;
}

.spg-ui textarea{
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--spg-border);
  border-radius: 10px;
  font-size: 14px;
  color: var(--spg-text);
  background: #fff;
  resize: vertical;
}

.spg-ui input[type="text"]:focus,
.spg-ui input[type="password"]:focus,
.spg-ui textarea:focus{
  outline: none;
  border-color: #c7cdd6;
}

.spg-ui .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.spg-ui input[type="checkbox"] { transform: translateY(1px); }

.spg-ui .login-submit { margin-top: 10px; }

.spg-ui input[type="submit"] {
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 11px 12px;
  background: var(--spg-btn-bg);
  color: var(--spg-btn-text);
  font-weight: 700;
  cursor: pointer;
}

.spg-ui input[type="submit"]:hover { filter: brightness(0.95); }

.spg-ui .spg-row--links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.spg-ui .spg-link {
  font-size: 13px;
  color: var(--spg-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.spg-ui .spg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

/* Documents list (member) */
.spg-ui .spg-doc-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid var(--spg-border);
  border-radius:16px;
  background: var(--spg-surface);
}
.spg-ui .spg-doc-meta{ min-width:0; }
.spg-ui .spg-doc-titlewrap{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.spg-ui .spg-doc-title{ font-size:14px; font-weight:700; color: var(--spg-text); line-height:1.25; }
.spg-ui .spg-doc-date{ margin-top:4px; font-size:12px; color: var(--spg-muted); }
.spg-ui .spg-doc-action{ flex:0 0 auto; }

@media (max-width: 640px){
  .spg-ui .spg-doc-line{ align-items:flex-start; }
  .spg-ui .spg-doc-action{ margin-top:8px; }
  .spg-ui .spg-doc-line{ flex-direction:column; }
  .spg-ui .spg-btn{ width:100%; }
}

.spg-ui .spg-btn--ghost {
  background: transparent;
  border: 1px solid var(--spg-border);
  color: var(--spg-text);
}

.spg-ui .spg-btn--ghost:hover { background: rgba(17,24,39,0.03); }

.spg-ui .spg-btn--primary {
  background: var(--spg-btn-bg);
  color: var(--spg-btn-text);
  border: 0;
}

.spg-ui .spg-btn--primary:hover { filter: brightness(0.95); }

.spg-ui .spg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 640px) {
  .spg-ui .spg-grid { grid-template-columns: 1fr; }
}

.spg-ui .spg-alert {
  border: 1px solid var(--spg-border);
  background: rgba(17,24,39,0.02);
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--spg-text);
  font-size: 14px;
  margin-bottom: 12px;
}

.spg-ui .spg-alert--ok {
  background: rgba(16,185,129,0.08);
  border-color: rgba(16,185,129,0.25);
}

.spg-ui .spg-list { margin: 0; padding-left: 18px; }
.spg-ui .spg-list__item { margin: 6px 0; }

@media (max-width: 480px){
  .spg-ui.spg-card { max-width: 100%; }
  .spg-ui .spg-card__header { align-items: flex-start; }
  .spg-ui .spg-btn--ghost { padding: 9px 10px; }
}


/* Documents: download button states */
.spg-ui .spg-btn--download-new{
  background: #d11a2a;
  color: #ffffff;
  border: 1px solid #d11a2a;
}
.spg-ui .spg-btn--download-new:hover{ filter: brightness(0.95); }

.spg-ui .spg-btn--download-seen{
  background: #ffffff;
  color: #111111;
  border: 1px solid rgba(0,0,0,0.15);
}
.spg-ui .spg-btn--download-seen:hover{ background: rgba(0,0,0,0.03); }


/* Interviews (member cards) */
.spg-interviews { display: grid; gap: 90px !important; }

/* Rencontres/Interviews: cards are rendered inside tab panels.
   Use a flex column + gap to guarantee consistent spacing between stacked cards
   (avoid margin-collapsing / theme overrides). */
.spg-interviews .spg-rencontres-panel{
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.spg-interviews .spg-rencontres-panel.is-active{ display: flex; }
.spg-interview-card{
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 0;
  border: 1px solid #eef1f4;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 30px rgba(0,0,0,0.06);
  transition: transform .2s ease;
}
.spg-interview-card:hover{ transform: translateY(-3px); }
@media (max-width: 680px){
  .spg-interview-card{ grid-template-columns: 1fr; }
  .spg-interview-media{ min-height: 300px; }
  .spg-interview-media img{ min-height: 300px !important; }
}
.spg-interview-media{ background: #f3f4f6; }
.spg-interview-media{ min-height: 380px; }
.spg-interview-media img{
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  object-fit: cover !important;
  display: block;
  transform: scale(1.06) !important;
}
.spg-interview-media--empty{ background: linear-gradient(135deg, #f3f4f6, #eef2f7); }
.spg-interview-body{ padding: 28px; display: grid; gap: 12px; }
@media (max-width: 680px){
  .spg-interview-body{ padding: 18px; }
}
.spg-interview-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.spg-interview-title{ font-size: 18px; font-weight: 700; color:#111827; line-height:1.25; }
.spg-interview-badges{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.spg-pill{
  display:inline-flex;
  align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid #e5e7eb;
  background:#fff;
  color:#111827;
}
.spg-pill--live{ background:#e8f3ff; color:#0066cc; border-color: rgba(0,102,204,0.18); }
.spg-pill--presentiel{ background:#eaf8ef; color:#1b7f3b; border-color: rgba(27,127,59,0.18); }
.spg-pill--differee{ background:#f3f0ff; color:#4c1d95; border-color: rgba(76,29,149,0.18); }
.spg-pill--places{ background:#fff4e5; color:#b35b00; border-color: rgba(179,91,0,0.18); }
.spg-pill--subtle{ background:#f9fafb; color:#374151; }
.spg-interview-desc{ color:#374151; font-size: 14px; }
.spg-interview-meta{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 30px;
  font-size: 13px;
  color:#111827;
}
.spg-interview-meta > div{ min-width: 0; }
@media (max-width: 680px){
  .spg-interview-meta{ grid-template-columns: 1fr; }
}
.spg-interview-meta strong{ font-weight: 700; }
.spg-interview-staff{
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed #d1d5db;
  background: #fafafa;
}
.spg-interview-footer{
  margin-top: 10px;
  padding-top: 18px;
  border-top: 1px solid #eef1f4;
}
.spg-interview-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

/* spacing handled by panel gap */
.spg-interview-card { margin-bottom: 0 !important; }

/* ========================================================================== */
/* SPG PRO — CHARTE UNPNC / SAFECHECK                                          */
/* Référence: UNPNC App 7 / safecheck-parity.css                               */
/* Couche purement visuelle : aucune logique métier, route ou donnée modifiée. */
/* ========================================================================== */

.spg-ui,
.spg-adherent-wrapper[data-spg-adherent="1"]{
  --spg-blue-950:#061522;
  --spg-blue-900:#071c2b;
  --spg-blue-850:#0a2233;
  --spg-blue-800:#0d2c41;
  --spg-blue-700:#0b4f7c;
  --spg-blue-600:#0a69a8;
  --spg-blue-500:#1284c5;
  --spg-cyan:#70cff4;
  --spg-white:#f7fbff;
  --spg-text:#dbe8f1;
  --spg-muted:#8ca5b5;
  --spg-line:rgba(125,173,201,.19);
  --spg-panel:rgba(12,37,54,.92);
  --spg-panel-2:rgba(16,48,69,.86);
  --spg-success:#39c994;
  --spg-warning:#ffb642;
  --spg-danger:#f0656b;
  --spg-shadow:0 18px 50px rgba(0,0,0,.26);

  /* Compatibilité avec les variables historiques SPG. */
  --spg-bg:var(--spg-blue-950);
  --spg-surface:var(--spg-panel);
  --spg-border:var(--spg-line);
  --spg-btn-bg:linear-gradient(135deg,var(--spg-blue-600),var(--spg-blue-500));
  --spg-btn-text:#fff;
  --spg-radius:14px;

  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  color:var(--spg-text) !important;
  color-scheme:dark;
}

/* Cadre principal de l'espace adhérent : même profondeur visuelle qu'UNPNC. */
.spg-adherent-wrapper[data-spg-adherent="1"]{
  position:relative;
  width:calc(100% - 28px) !important;
  max-width:1180px !important;
  margin:28px auto !important;
  padding:24px !important;
  border:1px solid var(--spg-line) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 80% -10%,rgba(11,105,168,.22),transparent 34%),
    linear-gradient(135deg,var(--spg-blue-950),#06111c 55%,#071c2a) !important;
  box-shadow:var(--spg-shadow) !important;
  overflow:hidden;
  isolation:isolate;
}
.spg-adherent-wrapper[data-spg-adherent="1"] *,
.spg-ui *{box-sizing:border-box}
.spg-adherent-wrapper[data-spg-adherent="1"] a{color:var(--spg-cyan)}
.spg-adherent-wrapper[data-spg-adherent="1"] a:hover{color:#a4e2fb}
.spg-adherent-wrapper[data-spg-adherent="1"] button,
.spg-adherent-wrapper[data-spg-adherent="1"] input,
.spg-adherent-wrapper[data-spg-adherent="1"] select,
.spg-adherent-wrapper[data-spg-adherent="1"] textarea,
.spg-ui button,.spg-ui input,.spg-ui select,.spg-ui textarea{font:inherit}
.spg-adherent-wrapper[data-spg-adherent="1"] button:focus-visible,
.spg-adherent-wrapper[data-spg-adherent="1"] input:focus-visible,
.spg-adherent-wrapper[data-spg-adherent="1"] select:focus-visible,
.spg-adherent-wrapper[data-spg-adherent="1"] textarea:focus-visible,
.spg-adherent-wrapper[data-spg-adherent="1"] a:focus-visible,
.spg-ui button:focus-visible,.spg-ui input:focus-visible,.spg-ui select:focus-visible,.spg-ui textarea:focus-visible,.spg-ui a:focus-visible{
  outline:3px solid rgba(112,207,244,.48) !important;
  outline-offset:2px !important;
}

/* En-tête et navigation principale. */
.spg-adherent-header{
  align-items:center !important;
  gap:18px !important;
  margin:0 0 22px !important;
  padding-bottom:20px !important;
  border-bottom:1px solid var(--spg-line) !important;
}
.spg-adherent-title{
  color:var(--spg-white) !important;
  font-size:clamp(25px,3vw,38px) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}
.spg-tabs,
.spg-prof-seg,
.spg-docs-seg,
.spg-msg-seg,
.spg-form-seg,
.spg-votes .votes-seg,
.spg-interviews .spg-rencontres-seg__wrap,
.spg-rdv-seg{
  gap:6px !important;
  padding:6px !important;
  border:1px solid var(--spg-line) !important;
  border-radius:14px !important;
  background:rgba(10,32,47,.78) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.spg-tab,
.spg-prof-seg__btn,
.spg-docs-seg__btn,
.spg-msg-seg__btn,
.spg-form-seg__btn,
.spg-votes .votes-seg__btn,
.spg-interviews .spg-rencontres-seg__btn,
.spg-rdv-seg__btn{
  min-height:40px !important;
  padding:9px 13px !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  background:transparent !important;
  color:var(--spg-text) !important;
  font-size:13px !important;
  font-weight:750 !important;
  box-shadow:none !important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease !important;
}
.spg-tab:hover,
.spg-prof-seg__btn:hover,
.spg-docs-seg__btn:hover,
.spg-msg-seg__btn:hover,
.spg-form-seg__btn:hover,
.spg-votes .votes-seg__btn:hover,
.spg-interviews .spg-rencontres-seg__btn:hover,
.spg-rdv-seg__btn:hover{
  transform:translateY(-1px);
  border-color:rgba(112,207,244,.38) !important;
  background:rgba(20,86,126,.20) !important;
  color:#fff !important;
}
.spg-tab.is-active,
.spg-prof-seg__btn.is-active,
.spg-docs-seg__btn.is-active,
.spg-msg-seg__btn.is-active,
.spg-form-seg__btn.is-active,
.spg-votes .votes-seg__btn.is-active,
.spg-interviews .spg-rencontres-seg__btn.is-active,
.spg-rdv-seg__btn.is-active{
  background:linear-gradient(135deg,rgba(9,105,168,.76),rgba(10,75,122,.76)) !important;
  border-color:rgba(112,207,244,.30) !important;
  color:#fff !important;
  box-shadow:inset 3px 0 var(--spg-cyan) !important;
}
.spg-tab-badge{
  border:1px solid rgba(112,207,244,.26) !important;
  background:rgba(18,132,197,.22) !important;
  color:var(--spg-white) !important;
}
.spg-tab-badge--danger,
.spg-msg .spg-tab-badge{
  border-color:rgba(240,101,107,.45) !important;
  background:var(--spg-danger) !important;
  color:#fff !important;
}

/* Cartes et surfaces. */
.spg-card,
.spg-ui.spg-card,
.spg-form-card,
.spg-msg .spg-msg-card,
.spg-votes .vote-card,
.spg-rdv .rdv-card,
.spg-partner-card,
.spg-interview-card,
.spg-prof-greet,
.spg-form-box,
.spg-form-info,
.spg-form-lastmin,
#calculateur{
  border:1px solid var(--spg-line) !important;
  border-radius:14px !important;
  background:linear-gradient(145deg,rgba(14,43,61,.96),rgba(8,28,42,.96)) !important;
  color:var(--spg-text) !important;
  box-shadow:0 8px 25px rgba(0,0,0,.10) !important;
}
.spg-card,
.spg-ui.spg-card{max-width:none !important}
.spg-card-title,
.spg-card__header{
  border-bottom:1px solid var(--spg-line) !important;
  background:rgba(10,34,51,.58) !important;
}
.spg-card-title{
  color:var(--spg-white) !important;
  font-size:18px !important;
  font-weight:800 !important;
  padding:17px 19px !important;
}
.spg-card-content{padding:20px !important}
.spg-ui .spg-card__header{padding:16px 18px !important}
.spg-ui .spg-card__body{padding:18px !important}
.spg-ui .spg-card__title,
.spg-form-title,
.spg-interview-title,
.spg-msg .spg-msg-title,
.spg-votes .vote-title,
.spg-rdv .rdv-big,
.spg-prof-greet__title,
.spg-partner-title,
#calculateur h2{
  color:var(--spg-white) !important;
}
.spg-ui .spg-card__subtitle,
.spg-muted,
.spg-prof-greet__sub,
.spg-doc-date,
.spg-interview-desc,
.spg-vote-tz,
.spg-msg .spg-msg-meta,
.spg-msg .spg-muted,
.spg-votes .vote-meta,
.spg-votes .muted,
.spg-rdv .rdv-sub,
.spg-rdv .slot-meta,
.spg-partner-meta,
.spg-rating-note,
.spg-form-loc,
.spg-form-box .spg-form-box__content{
  color:var(--spg-muted) !important;
}

/* Champs / formulaires. */
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="text"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="email"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="password"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="number"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="date"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="datetime-local"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="tel"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="url"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="file"],
.spg-adherent-wrapper[data-spg-adherent="1"] select,
.spg-adherent-wrapper[data-spg-adherent="1"] textarea,
.spg-ui input[type="text"],.spg-ui input[type="email"],.spg-ui input[type="password"],
.spg-ui input[type="number"],.spg-ui input[type="date"],.spg-ui input[type="datetime-local"],
.spg-ui input[type="tel"],.spg-ui input[type="url"],.spg-ui input[type="file"],
.spg-ui select,.spg-ui textarea,
#calculateur input[type="text"],#calculateur input[type="password"],#calculateur input[type="file"]{
  min-height:46px !important;
  border:1px solid var(--spg-line) !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.035) !important;
  color:var(--spg-white) !important;
  box-shadow:none !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] input::placeholder,
.spg-adherent-wrapper[data-spg-adherent="1"] textarea::placeholder,
.spg-ui input::placeholder,.spg-ui textarea::placeholder{color:#7895a6 !important;opacity:1}
.spg-adherent-wrapper[data-spg-adherent="1"] select option,
.spg-ui select option{background:var(--spg-blue-900);color:var(--spg-white)}
.spg-adherent-wrapper[data-spg-adherent="1"] label,
.spg-ui label,
.spg-label,
.spg-rdv label{color:var(--spg-text) !important}
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="checkbox"],
.spg-adherent-wrapper[data-spg-adherent="1"] input[type="radio"],
.spg-ui input[type="checkbox"],.spg-ui input[type="radio"]{accent-color:var(--spg-blue-500)}

/* Boutons et liens d'action. */
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-btn,
.spg-ui .spg-btn,
.spg-ui input[type="submit"],
.spg-votes .btn,
.spg-rdv .btn,
#calculateur button{
  min-height:41px !important;
  border:1px solid rgba(112,207,244,.35) !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,var(--spg-blue-600),var(--spg-blue-500)) !important;
  color:#fff !important;
  font-weight:750 !important;
  box-shadow:none !important;
  transition:transform .16s ease,border-color .16s ease,filter .16s ease !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-btn:hover,
.spg-ui .spg-btn:hover,
.spg-ui input[type="submit"]:hover,
.spg-votes .btn:hover,
.spg-rdv .btn:hover,
#calculateur button:hover{
  transform:translateY(-1px);
  border-color:rgba(112,207,244,.58) !important;
  filter:brightness(1.08);
}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-btn.is-secondary,
.spg-ui .spg-btn--ghost,
.spg-rdv .btn.ghost,
.spg-btn--download-seen{
  border-color:var(--spg-line) !important;
  background:var(--spg-panel-2) !important;
  color:var(--spg-white) !important;
}
.spg-btn--download-new,
.spg-msg .spg-btn-urgent,
.spg-rdv .btn.danger{
  border-color:rgba(240,101,107,.60) !important;
  background:linear-gradient(135deg,#b73f49,var(--spg-danger)) !important;
  color:#fff !important;
}
.spg-link{color:var(--spg-cyan) !important}

/* Documents. */
.spg-ui .spg-doc-line{
  border:1px solid var(--spg-line) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.025) !important;
}
.spg-ui .spg-doc-title{color:var(--spg-white) !important}
.spg-badge-new{
  border:1px solid rgba(240,101,107,.38) !important;
  border-radius:999px !important;
  background:rgba(240,101,107,.16) !important;
  color:#ffb7ba !important;
}

/* Profil. */
.spg-prof-greet{padding:15px 16px !important}
.spg-prof-greet__sub{font-size:13px !important}

/* Messages. */
.spg-msg .spg-msg-card{padding:16px !important}
.spg-msg .spg-msg-card.is-urgent,
.spg-msg .spg-msg-card.is-urgent-ack{border-color:rgba(240,101,107,.48) !important}
.spg-msg .spg-msg-body{color:var(--spg-text) !important}
.spg-msg .spg-msg-level-info{color:var(--spg-muted) !important}
.spg-msg .spg-msg-level-important{color:var(--spg-warning) !important}
.spg-msg .spg-msg-level-urgent{color:#ff8f94 !important}
.spg-badge{
  border-color:var(--spg-line) !important;
  background:rgba(255,255,255,.035) !important;
  color:var(--spg-text) !important;
}
.spg-badge-danger{border-color:rgba(240,101,107,.35) !important;background:rgba(240,101,107,.11) !important;color:#ff9ca1 !important}
.spg-badge-warn{border-color:rgba(255,182,66,.30) !important;background:rgba(255,182,66,.10) !important;color:#ffd38a !important}
.spg-badge-neutral{border-color:var(--spg-line) !important;background:rgba(255,255,255,.035) !important;color:var(--spg-muted) !important}

/* Vote. */
.spg-votes .vote-desc{color:var(--spg-text) !important}
.spg-votes .vote-option{
  border-color:var(--spg-line) !important;
  background:rgba(255,255,255,.025) !important;
  color:var(--spg-text) !important;
}
.spg-votes .results{border-color:var(--spg-line) !important}
.spg-votes .bar{background:rgba(112,207,244,.12) !important}
.spg-votes .bar > i{background:linear-gradient(90deg,var(--spg-blue-600),var(--spg-cyan)) !important}
.spg-vote-tz strong{color:var(--spg-white) !important}

/* Formation. */
.spg-form-card{padding:20px !important}
.spg-form-box,
.spg-form-info,
.spg-form-lastmin{background:rgba(255,255,255,.025) !important}
.spg-form-box h4{
  color:var(--spg-cyan) !important;
  font-size:12px !important;
  letter-spacing:.12em !important;
}
.spg-form-desc,.spg-form-desc p{color:var(--spg-text) !important}
.spg-form-loc strong{color:var(--spg-white) !important}
.spg-form-history h3{color:var(--spg-white) !important}
.spg-form-history .spg-table thead th{
  border-color:var(--spg-line) !important;
  color:var(--spg-muted) !important;
}
.spg-form-history .spg-table tbody td{
  border-color:var(--spg-line) !important;
  color:var(--spg-text) !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-badge.is-ok{border-color:rgba(57,201,148,.30) !important;background:rgba(57,201,148,.10) !important;color:#93e4c6 !important}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-badge.is-warn{border-color:rgba(255,182,66,.30) !important;background:rgba(255,182,66,.10) !important;color:#ffd38a !important}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-badge.is-neutral{border-color:var(--spg-line) !important;background:rgba(255,255,255,.03) !important;color:var(--spg-muted) !important}

/* RDV. */
.spg-rdv .rdv-note{
  border-color:var(--spg-line) !important;
  background:rgba(255,255,255,.025) !important;
  color:var(--spg-text) !important;
}
.spg-rdv .rdv-card h3{color:var(--spg-cyan) !important}
.spg-rdv .slots-day{border-color:var(--spg-line) !important}
.spg-rdv .slots-date,.spg-rdv .slot-time{color:var(--spg-white) !important}
.spg-rdv .slot-row{
  border-color:var(--spg-line) !important;
  background:rgba(255,255,255,.025) !important;
}
.spg-rdv .pill{background:rgba(18,132,197,.18) !important;color:var(--spg-cyan) !important}
.spg-rdv .badge{border-color:var(--spg-line) !important;background:rgba(255,255,255,.03) !important;color:var(--spg-text) !important}
.spg-rdv .badge.ok{border-color:rgba(57,201,148,.30) !important;background:rgba(57,201,148,.10) !important;color:#93e4c6 !important}
.spg-rdv .badge.warn{border-color:rgba(255,182,66,.30) !important;background:rgba(255,182,66,.10) !important;color:#ffd38a !important}
.spg-rdv .badge.bad{border-color:rgba(240,101,107,.35) !important;background:rgba(240,101,107,.10) !important;color:#ff9ca1 !important}
.spg-rdv .badge.neutral{border-color:var(--spg-line) !important;background:rgba(255,255,255,.03) !important;color:var(--spg-muted) !important}

/* Rencontres. */
.spg-interview-card{grid-template-columns:380px minmax(0,1fr) !important}
.spg-interview-media,
.spg-interview-media--empty{background:linear-gradient(145deg,var(--spg-blue-850),var(--spg-blue-900)) !important}
.spg-interview-body{background:transparent !important}
.spg-interview-footer{border-color:var(--spg-line) !important}
.spg-interview-meta{color:var(--spg-text) !important}
.spg-interview-staff{
  border-color:rgba(112,207,244,.24) !important;
  background:rgba(18,132,197,.06) !important;
}
.spg-pill{
  border-color:var(--spg-line) !important;
  background:rgba(255,255,255,.035) !important;
  color:var(--spg-text) !important;
}
.spg-pill--live{border-color:rgba(112,207,244,.28) !important;background:rgba(18,132,197,.12) !important;color:var(--spg-cyan) !important}
.spg-pill--presentiel,.spg-pill--registered{border-color:rgba(57,201,148,.28) !important;background:rgba(57,201,148,.10) !important;color:#93e4c6 !important}
.spg-pill--differee{border-color:rgba(167,139,250,.28) !important;background:rgba(139,92,246,.10) !important;color:#c9b8ff !important}
.spg-pill--places{border-color:rgba(255,182,66,.28) !important;background:rgba(255,182,66,.10) !important;color:#ffd38a !important}
.spg-pill--subtle{color:var(--spg-muted) !important}

/* Partenaires. */
.spg-partners-filters select{
  border-color:var(--spg-line) !important;
  background:rgba(255,255,255,.035) !important;
  color:var(--spg-white) !important;
}
.spg-partners-filters .spg-filter-label{color:var(--spg-muted) !important}
.spg-partner-actions .spg-btn{border-color:var(--spg-line) !important}
.spg-star{color:var(--spg-warning) !important}
.spg-star.is-off{color:var(--spg-muted) !important;opacity:.34 !important}
.spg-partner-contacts a{color:var(--spg-cyan) !important}

/* Alertes. */
.spg-ui .spg-alert,
.spg-alert{
  border-color:var(--spg-line) !important;
  background:rgba(18,132,197,.08) !important;
  color:var(--spg-text) !important;
}
.spg-ui .spg-alert--ok,.spg-alert--success{border-color:rgba(57,201,148,.30) !important;background:rgba(57,201,148,.10) !important;color:#b9f0dc !important}
.spg-alert--warn{border-color:rgba(255,182,66,.30) !important;background:rgba(255,182,66,.10) !important;color:#ffe0a1 !important}
.spg-alert--danger,.spg-alert--err,.spg-alert--error{border-color:rgba(240,101,107,.35) !important;background:rgba(240,101,107,.10) !important;color:#ffc1c4 !important}

/* Tables génériques. */
.spg-adherent-wrapper[data-spg-adherent="1"] table{color:var(--spg-text)}
.spg-adherent-wrapper[data-spg-adherent="1"] th{color:var(--spg-muted)}
.spg-adherent-wrapper[data-spg-adherent="1"] th,
.spg-adherent-wrapper[data-spg-adherent="1"] td{border-color:var(--spg-line) !important}

/* Login / cartes SPG hors espace adhérent. */
.spg-ui{
  --spg-bg:var(--spg-blue-950);
  --spg-surface:var(--spg-panel);
  --spg-border:var(--spg-line);
  --spg-text:#dbe8f1;
  --spg-muted:#8ca5b5;
}
.spg-ui.spg-card{
  border:1px solid var(--spg-line) !important;
  background:
    radial-gradient(circle at 90% -12%,rgba(11,105,168,.20),transparent 34%),
    linear-gradient(145deg,rgba(14,43,61,.98),rgba(8,28,42,.98)) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.24) !important;
}

/* Responsive — conserve les comportements SPG, adopte les dimensions UNPNC. */
@media (max-width:900px){
  .spg-adherent-wrapper[data-spg-adherent="1"]{width:calc(100% - 20px) !important;margin:18px auto !important;padding:18px !important;border-radius:17px !important}
  .spg-adherent-header{align-items:flex-start !important}
  .spg-tabs{width:100% !important;overflow-x:auto !important;justify-content:flex-start !important;scrollbar-width:thin}
  .spg-tab{flex:0 0 auto !important}
  .spg-interview-card{grid-template-columns:300px minmax(0,1fr) !important}
}
@media (max-width:700px){
  .spg-adherent-wrapper[data-spg-adherent="1"]{width:100% !important;margin:0 !important;padding:14px !important;border-left:0 !important;border-right:0 !important;border-radius:0 !important}
  .spg-adherent-title{font-size:25px !important}
  .spg-card-content,.spg-ui .spg-card__body{padding:15px !important}
  .spg-form-card{padding:15px !important}
  .spg-interview-card{grid-template-columns:1fr !important}
  .spg-interview-body{padding:17px !important}
  .spg-interview-media,.spg-interview-media img{min-height:260px !important}
  .spg-docs-seg,.spg-msg-seg,.spg-form-seg,.spg-prof-seg,.spg-votes .votes-seg,.spg-interviews .spg-rencontres-seg__wrap,.spg-rdv-seg{max-width:100%;overflow-x:auto;flex-wrap:nowrap !important}
}
@media (max-width:480px){
  .spg-adherent-wrapper[data-spg-adherent="1"]{padding:12px !important}
  .spg-adherent-header{padding-bottom:14px !important;margin-bottom:16px !important}
  .spg-adherent-title{font-size:23px !important}
  .spg-tab,.spg-prof-seg__btn,.spg-docs-seg__btn,.spg-msg-seg__btn,.spg-form-seg__btn,.spg-votes .votes-seg__btn,.spg-interviews .spg-rencontres-seg__btn,.spg-rdv-seg__btn{min-height:38px !important;padding:8px 11px !important;font-size:12px !important}
  .spg-card-title{padding:15px !important;font-size:16px !important}
}

/* Modales frontales SPG : alignées sur les panneaux UNPNC malgré les styles inline. */
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-msg-acklist-panel,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-interview-planning-panel{
  border:1px solid var(--spg-line) !important;
  background:linear-gradient(145deg,rgba(14,43,61,.99),rgba(8,28,42,.99)) !important;
  color:var(--spg-text) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.42) !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-msg-acklist-panel > div:first-child,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-interview-planning-panel > div:first-child{
  border-color:var(--spg-line) !important;
  background:rgba(10,34,51,.72) !important;
  color:var(--spg-white) !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-msg-acklist-status,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-interview-planning-content{color:var(--spg-muted) !important}
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-msg-acklist-close,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-interview-planning-close{
  border:1px solid var(--spg-line) !important;
  background:var(--spg-panel-2) !important;
  color:var(--spg-white) !important;
}

/* Audit 1.7.9 — corrections de conformité visuelle sans impact métier. */
.spg-adherent-wrapper[data-spg-adherent="1"]{
  box-sizing:border-box !important;
}
.spg-votes .spg-card__header > div:first-child,
.spg-votes [data-vtab-panel="historique"] > div:first-child{
  color:var(--spg-white) !important;
}


/* SPG Pro 1.8.0 — pleine largeur / plein écran, même stratégie hôte que UNPNC.
   Le shortcode sort immédiatement des conteneurs max-width Elementor/WordPress,
   puis le JS marque les ancêtres afin de neutraliser leurs marges et paddings. */
.spg-adherent-wrapper[data-spg-adherent="1"]{
  width:100vw !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px)) !important;
  min-height:calc(100dvh - var(--wp-admin--admin-bar--height,0px)) !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:clamp(18px,2.2vw,34px) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  overflow-x:clip !important;
}

html.spg-host-page,
body.spg-host-page{
  width:100% !important;
  max-width:none !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  background:#061522 !important;
}
body.spg-host-page .spg-host-shell{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  background:#061522 !important;
}
body.spg-host-page .spg-adherent-wrapper[data-spg-adherent="1"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  vertical-align:top;
}

/* Les panneaux et contenus peuvent réellement occuper toute la largeur disponible. */
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-panels,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-panel,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-panel.is-active,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-card,
.spg-adherent-wrapper[data-spg-adherent="1"] .spg-card-content{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] img,
.spg-adherent-wrapper[data-spg-adherent="1"] video,
.spg-adherent-wrapper[data-spg-adherent="1"] iframe,
.spg-adherent-wrapper[data-spg-adherent="1"] canvas{
  max-width:100% !important;
}
.spg-adherent-wrapper[data-spg-adherent="1"] table{
  max-width:100% !important;
}

/* Tablette : pleine largeur, marges internes confortables. */
@media (max-width:1024px){
  .spg-adherent-wrapper[data-spg-adherent="1"]{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)) !important;
  }
  body.spg-host-page .spg-adherent-wrapper[data-spg-adherent="1"]{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* Téléphone : aucun élément ne doit imposer une largeur fixe. */
@media (max-width:700px){
  .spg-adherent-wrapper[data-spg-adherent="1"]{
    width:100vw !important;
    min-height:calc(100svh - var(--wp-admin--admin-bar--height,0px)) !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:14px max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)) !important;
    overflow-x:hidden !important;
  }
  body.spg-host-page .spg-adherent-wrapper[data-spg-adherent="1"]{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .spg-adherent-wrapper[data-spg-adherent="1"] > *,
  .spg-adherent-wrapper[data-spg-adherent="1"] .spg-panels > *,
  .spg-adherent-wrapper[data-spg-adherent="1"] [style*="min-width:320px"],
  .spg-adherent-wrapper[data-spg-adherent="1"] [style*="min-width:360px"]{
    min-width:0 !important;
    max-width:100% !important;
  }
  .spg-adherent-wrapper[data-spg-adherent="1"] [style*="width:240px"],
  .spg-adherent-wrapper[data-spg-adherent="1"] [style*="width:220px"]{
    width:100% !important;
    max-width:100% !important;
  }
  .spg-adherent-wrapper[data-spg-adherent="1"] table{
    display:block;
    width:100% !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .spg-tabs{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width:420px){
  .spg-adherent-wrapper[data-spg-adherent="1"]{
    padding-left:max(10px,env(safe-area-inset-left)) !important;
    padding-right:max(10px,env(safe-area-inset-right)) !important;
  }
  .spg-adherent-title{font-size:22px !important}
}
\n\n/* SPG Pro 1.8.1 — bouton Déconnexion dans le menu adhérent. */\n.spg-adherent-wrapper[data-spg-adherent="1"] .spg-menu-logout{\n  flex:0 0 auto !important;\n  min-height:40px !important;\n  display:inline-flex !important;\n  align-items:center !important;\n  justify-content:center !important;\n  padding:9px 13px !important;\n  border:1px solid rgba(112,207,244,.26) !important;\n  border-radius:10px !important;\n  background:rgba(18,132,197,.08) !important;\n  color:var(--spg-text) !important;\n  font-size:13px !important;\n  font-weight:750 !important;\n  line-height:1 !important;\n  text-decoration:none !important;\n  white-space:nowrap !important;\n  box-shadow:none !important;\n  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease !important;\n}\n.spg-adherent-wrapper[data-spg-adherent="1"] .spg-menu-logout:hover{\n  transform:translateY(-1px);\n  border-color:rgba(112,207,244,.48) !important;\n  background:rgba(20,86,126,.28) !important;\n  color:#fff !important;\n}\n.spg-adherent-wrapper[data-spg-adherent="1"] .spg-menu-logout:focus-visible{\n  outline:3px solid rgba(112,207,244,.48) !important;\n  outline-offset:2px !important;\n}\n@media (max-width:480px){\n  .spg-adherent-wrapper[data-spg-adherent="1"] .spg-menu-logout{\n    min-height:38px !important;\n    padding:8px 11px !important;\n    font-size:12px !important;\n  }\n}\n