/* eANPS 2 - Portail UDPS 90
   Correctif contraste / themes saisonniers
   Version 2026-10-22.4
*/

.eanps-home-block{margin-top:24px}

/* ---------- Base : contraste autonome ---------- */
.eanps-home-block .cockpit-title h2,
.eanps-home-block .cockpit-title a,
.eanps-home-block .eyebrow,
.eanps-summary-card,
.eanps-summary-card *,
.eanps-state-card,
.eanps-state-card *,
.eanps-profile-card,
.eanps-profile-card *,
.eanps-activity-item,
.eanps-activity-item *,
.eanps-membership-grid>div,
.eanps-membership-grid>div *,
.eanps-chip,
.eanps-chip *,
.eanps-info-note{
  text-shadow:none;
}

.eanps-state-card{
  padding:18px 20px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  color:#334155;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.eanps-state-card strong{display:block;color:#0f2746;font-size:1.05rem}
.eanps-state-card p{margin:.4rem 0 0;color:#526277}

.eanps-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.eanps-summary-card{
  min-width:0;
  background:rgba(255,255,255,.95);
  color:#334155;
  border:1px solid rgba(148,163,184,.26);
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 30px rgba(15,39,70,.12);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.eanps-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.eanps-card-head>span{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:12px;
  background:#eef4fb;
  color:#0f2746;
  font-weight:800;
}
.eanps-card-head small,.eanps-card-head strong{display:block}
.eanps-card-head small{
  font-size:.7rem;
  letter-spacing:.08em;
  color:#65758b;
  font-weight:800;
}
.eanps-card-head strong{
  color:#0f2746;
  font-weight:800;
}

.eanps-event-line{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:11px 0;
  border-top:1px solid rgba(148,163,184,.22);
}
.eanps-event-line:first-of-type{border-top:0}
.eanps-event-line>div{min-width:0}
.eanps-event-line strong,.eanps-event-line small{display:block}
.eanps-event-line strong{
  color:#172b46;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.eanps-event-line small{
  color:#5f6f84;
  margin-top:3px;
  line-height:1.45;
}
.eanps-event-line>span{
  flex:none;
  color:#40516a;
  font-size:.82rem;
}

.eanps-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-weight:800;
  font-size:.74rem;
  white-space:nowrap;
}
.eanps-badge.ok{background:#e9f8ef;color:#146c3b}
.eanps-badge.need{background:#fff0e7;color:#a94308}
.eanps-empty{color:#64748b;margin:.6rem 0}

/* ---------- Page Mon activite ---------- */
.eanps-profile-card{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:24px;
  border-radius:22px;
  background:rgba(16,42,75,.96);
  color:#fff;
  margin-bottom:22px;
  box-shadow:0 14px 34px rgba(2,8,23,.18);
}
.eanps-profile-card .eyebrow,
.eanps-profile-card p{color:rgba(255,255,255,.78)!important}
.eanps-profile-card h2{margin:.2rem 0;color:#fff!important}
.eanps-profile-meta{text-align:right}
.eanps-profile-meta small,.eanps-profile-meta strong{display:block}
.eanps-profile-meta small{color:rgba(255,255,255,.72)!important}
.eanps-profile-meta strong{color:#fff!important}

.eanps-chip-list{display:flex;flex-wrap:wrap;gap:9px}
.eanps-chip{
  display:inline-flex;
  gap:7px;
  align-items:center;
  padding:8px 11px;
  background:rgba(242,245,249,.96);
  border:1px solid #dce4ed;
  border-radius:999px;
  color:#334155;
}
.eanps-chip strong{color:#26384f!important}
.eanps-chip.valid{background:#edf8f1;border-color:#d7eedf}
.eanps-chip small{color:#64748b!important}
.eanps-chip-list.compact .eanps-chip{padding:5px 8px;font-size:.8rem}

.eanps-activity-list{display:grid;gap:10px}
.eanps-activity-item{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:15px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  color:#334155;
  border:1px solid rgba(148,163,184,.26);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.eanps-date-box strong,.eanps-date-box small{display:block}
.eanps-date-box strong{color:#0f2746!important}
.eanps-date-box small{color:#64748b!important}
.eanps-activity-copy h3{margin:0;color:#0f2746!important}
.eanps-activity-copy p{margin:.25rem 0;color:#5f6f84!important}
.eanps-activity-copy .eanps-meta{font-size:.86rem;color:#526277!important}
.eanps-activity-status{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

.eanps-membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.eanps-membership-grid>div{
  padding:14px 16px;
  border-radius:15px;
  background:rgba(255,255,255,.94);
  color:#334155;
  border:1px solid rgba(148,163,184,.26);
}
.eanps-membership-grid small,.eanps-membership-grid strong{display:block}
.eanps-membership-grid small{color:#64748b!important}
.eanps-membership-grid strong{margin-top:4px;color:#0f2746!important}
.eanps-info-note{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(236,242,249,.94);
  color:#536176!important;
  border:1px solid rgba(148,163,184,.22);
  font-size:.9rem;
}

/* ---------- Themes sombres : Halloween / Noel / Nouvel an ---------- */
body.season-halloween .eanps-summary-card,
body.season-christmas .eanps-summary-card,
body.season-newyear .eanps-summary-card,
body.season-halloween .eanps-activity-item,
body.season-christmas .eanps-activity-item,
body.season-newyear .eanps-activity-item,
body.season-halloween .eanps-membership-grid>div,
body.season-christmas .eanps-membership-grid>div,
body.season-newyear .eanps-membership-grid>div,
body.season-halloween .eanps-state-card,
body.season-christmas .eanps-state-card,
body.season-newyear .eanps-state-card{
  background:rgba(10,15,29,.88)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#f8fafc!important;
  box-shadow:0 14px 32px rgba(0,0,0,.26)!important;
}

body.season-halloween .eanps-card-head strong,
body.season-christmas .eanps-card-head strong,
body.season-newyear .eanps-card-head strong,
body.season-halloween .eanps-event-line strong,
body.season-christmas .eanps-event-line strong,
body.season-newyear .eanps-event-line strong,
body.season-halloween .eanps-activity-copy h3,
body.season-christmas .eanps-activity-copy h3,
body.season-newyear .eanps-activity-copy h3,
body.season-halloween .eanps-date-box strong,
body.season-christmas .eanps-date-box strong,
body.season-newyear .eanps-date-box strong,
body.season-halloween .eanps-membership-grid strong,
body.season-christmas .eanps-membership-grid strong,
body.season-newyear .eanps-membership-grid strong,
body.season-halloween .eanps-state-card strong,
body.season-christmas .eanps-state-card strong,
body.season-newyear .eanps-state-card strong{
  color:#fff!important;
}

body.season-halloween .eanps-card-head small,
body.season-christmas .eanps-card-head small,
body.season-newyear .eanps-card-head small,
body.season-halloween .eanps-event-line small,
body.season-christmas .eanps-event-line small,
body.season-newyear .eanps-event-line small,
body.season-halloween .eanps-event-line>span,
body.season-christmas .eanps-event-line>span,
body.season-newyear .eanps-event-line>span,
body.season-halloween .eanps-activity-copy p,
body.season-christmas .eanps-activity-copy p,
body.season-newyear .eanps-activity-copy p,
body.season-halloween .eanps-activity-copy .eanps-meta,
body.season-christmas .eanps-activity-copy .eanps-meta,
body.season-newyear .eanps-activity-copy .eanps-meta,
body.season-halloween .eanps-date-box small,
body.season-christmas .eanps-date-box small,
body.season-newyear .eanps-date-box small,
body.season-halloween .eanps-membership-grid small,
body.season-christmas .eanps-membership-grid small,
body.season-newyear .eanps-membership-grid small,
body.season-halloween .eanps-state-card p,
body.season-christmas .eanps-state-card p,
body.season-newyear .eanps-state-card p,
body.season-halloween .eanps-empty,
body.season-christmas .eanps-empty,
body.season-newyear .eanps-empty{
  color:#cbd5e1!important;
}

body.season-halloween .eanps-event-line,
body.season-christmas .eanps-event-line,
body.season-newyear .eanps-event-line{
  border-top-color:rgba(255,255,255,.12)!important;
}

body.season-halloween .eanps-card-head>span,
body.season-christmas .eanps-card-head>span,
body.season-newyear .eanps-card-head>span{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12);
}

body.season-halloween .eanps-chip,
body.season-christmas .eanps-chip,
body.season-newyear .eanps-chip{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
body.season-halloween .eanps-chip strong,
body.season-christmas .eanps-chip strong,
body.season-newyear .eanps-chip strong{color:#fff!important}
body.season-halloween .eanps-chip small,
body.season-christmas .eanps-chip small,
body.season-newyear .eanps-chip small{color:#cbd5e1!important}

body.season-halloween .eanps-info-note,
body.season-christmas .eanps-info-note,
body.season-newyear .eanps-info-note{
  background:rgba(10,15,29,.84)!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#dbe4ef!important;
}

/* Accent Halloween */
body.season-halloween .eanps-card-head small,
body.season-halloween .eanps-home-block .eyebrow{color:#ff8a28!important}
body.season-halloween .eanps-card-head>span{color:#ff9a3d!important;border-color:rgba(255,138,40,.28)}
body.season-halloween .eanps-summary-card{border-color:rgba(255,119,24,.26)!important}

/* Accent Noel */
body.season-christmas .eanps-card-head small,
body.season-christmas .eanps-home-block .eyebrow{color:#f5d98e!important}
body.season-christmas .eanps-card-head>span{color:#f5d98e!important}

/* Accent Nouvel an */
body.season-newyear .eanps-card-head small,
body.season-newyear .eanps-home-block .eyebrow{color:#f3d47a!important}
body.season-newyear .eanps-card-head>span{color:#f3d47a!important}

/* ---------- Themes clairs : Paques / Ete ---------- */
body.season-easter .eanps-summary-card,
body.season-summer .eanps-summary-card,
body.season-easter .eanps-activity-item,
body.season-summer .eanps-activity-item,
body.season-easter .eanps-membership-grid>div,
body.season-summer .eanps-membership-grid>div,
body.season-easter .eanps-state-card,
body.season-summer .eanps-state-card{
  background:rgba(255,255,255,.90)!important;
  color:#24364e!important;
  box-shadow:0 14px 30px rgba(15,39,70,.14)!important;
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .eanps-summary-grid{grid-template-columns:1fr}
  .eanps-summary-card{padding:16px}
  .eanps-membership-grid{grid-template-columns:1fr}
}

@media (max-width:700px){
  .eanps-home-block{margin-top:18px}
  .eanps-home-block .cockpit-title{align-items:flex-end;gap:12px}
  .eanps-home-block .cockpit-title h2{font-size:1.55rem}
  .eanps-home-block .cockpit-title a{white-space:nowrap}

  .eanps-summary-grid{gap:12px}
  .eanps-summary-card{border-radius:18px;padding:15px}
  .eanps-event-line{align-items:flex-start;padding:12px 0}
  .eanps-event-line>span{margin-top:2px}
  .eanps-event-line strong{white-space:normal;overflow:visible;text-overflow:clip}

  .eanps-profile-card{display:block;padding:19px}
  .eanps-profile-meta{text-align:left;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}

  .eanps-activity-item{
    grid-template-columns:1fr;
    gap:8px;
    padding:14px;
  }
  .eanps-date-box{display:flex;gap:8px;align-items:center}
  .eanps-date-box strong,.eanps-date-box small{display:inline}
  .eanps-activity-status{justify-content:flex-start}
}

/* ===== v4 - cartes compactes + renforts lisibles ===== */
.eanps-summary-grid{
  align-items:start;
}
.eanps-summary-card{
  align-self:start;
  height:auto !important;
  min-height:0 !important;
}
.eanps-needs-card .eanps-event-line{
  align-items:flex-start;
}
.eanps-need-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
  max-width:48%;
}
.eanps-badge.need{
  background:#fff0e7 !important;
  color:#a63f00 !important;
  border:1px solid rgba(166,63,0,.12);
}
.eanps-badge.skill{
  background:#eef4fb !important;
  color:#173b63 !important;
  border:1px solid rgba(23,59,99,.12);
}

body.season-halloween .eanps-badge.need{
  background:rgba(255,122,24,.18) !important;
  border-color:rgba(255,138,40,.42) !important;
  color:#ffb36f !important;
}
body.season-halloween .eanps-badge.skill{
  background:rgba(255,255,255,.09) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#f8fafc !important;
}
body.season-christmas .eanps-badge.need,
body.season-newyear .eanps-badge.need{
  background:rgba(245,217,142,.14) !important;
  border-color:rgba(245,217,142,.32) !important;
  color:#f8df9c !important;
}
body.season-christmas .eanps-badge.skill,
body.season-newyear .eanps-badge.skill{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#f8fafc !important;
}

@media (max-width:700px){
  .eanps-need-line{
    display:block;
  }
  .eanps-need-badges{
    max-width:none;
    justify-content:flex-start;
    margin-top:8px;
  }
}

/* ===== V5.1 - statut inscription plus lisible ===== */
.eanps-badge.ok{background:#e6f7ed!important;color:#17663f!important;border:1px solid rgba(23,102,63,.16)!important}
body.season-halloween .eanps-badge.ok,body.season-christmas .eanps-badge.ok,body.season-newyear .eanps-badge.ok{background:rgba(46,204,113,.14)!important;color:#8ff0b7!important;border-color:rgba(94,234,157,.28)!important}
