/* ==========================================================
   TEAM UP – Inscriptions ECOS (remplace team-ecos-osce/front.css)
   ========================================================== */

.team-ecos-widget{
  --ecos-red:#850018;
  --ecos-red-2:#a6192e;
  --ecos-red-soft:#fbeef0;
  --ecos-ink:#292326;
  --ecos-muted:#6b6266;
  --ecos-line:#ece4e0;
  --ecos-card:#ffffff;
  --ecos-bg:#fbf8f3;
  --ecos-green:#1f7a4d;
  --ecos-green-soft:#eaf7f0;
  --ecos-amber:#9a5b00;
  --ecos-amber-soft:#fff5e0;
  --ecos-radius:16px;

  font-size:16px;
  line-height:1.55;
  color:var(--ecos-ink);
  background:var(--ecos-card);
  border:1px solid var(--ecos-line);
  border-radius:20px;
  padding:clamp(18px,4vw,28px);
  margin:16px 0;
  box-shadow:0 1px 2px rgba(41,35,38,.04),0 8px 24px rgba(41,35,38,.06);
}
.team-ecos-widget *{box-sizing:border-box}
.team-ecos-widget p{margin:0 0 10px}
.team-ecos-widget p:last-child{margin-bottom:0}

/* ---------- En-tête ---------- */
.team-ecos-header{
  padding-bottom:16px;
  margin-bottom:18px;
  border-bottom:1px solid var(--ecos-line);
}
.team-ecos-header h2{
  margin:0 0 8px;
  font-size:clamp(1.5rem,4vw,1.9rem);
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--ecos-ink);
}
.team-ecos-sub{
  margin:0;
  color:var(--ecos-muted);
  font-size:1rem;
  max-width:62ch;
}

/* ---------- Session ---------- */
.team-ecos-session{margin-bottom:18px}
.team-ecos-session__title{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-weight:700;font-size:1.15rem;margin:0 0 4px;
}
.team-ecos-session__place{color:var(--ecos-muted);margin:0}
.team-ecos-tag{
  display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 10px;border-radius:999px;
  background:var(--ecos-green-soft);color:var(--ecos-green);
}
.team-ecos-tag.is-closed{background:#f1eeec;color:var(--ecos-muted)}

/* État vide */
.team-ecos-empty{
  text-align:center;
  padding:28px 16px;
  border:1px dashed #dccfca;
  border-radius:var(--ecos-radius);
  background:var(--ecos-bg);
}
.team-ecos-empty__icon{font-size:2rem;line-height:1;margin-bottom:8px}
.team-ecos-empty__title{font-weight:700;font-size:1.1rem;margin:0 0 4px !important}
.team-ecos-empty__text{color:var(--ecos-muted);margin:0 !important}

/* Chargement */
.team-ecos-loading{
  color:var(--ecos-muted);padding:18px 0;display:flex;align-items:center;gap:10px;
}
.team-ecos-loading::before{
  content:"";width:18px;height:18px;border-radius:50%;
  border:2px solid var(--ecos-line);border-top-color:var(--ecos-red);
  animation:team-ecos-spin .8s linear infinite;
}
@keyframes team-ecos-spin{to{transform:rotate(360deg)}}

/* ---------- Colonnes ---------- */
.team-ecos-two-cols{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:800px){.team-ecos-two-cols{grid-template-columns:1.4fr 1fr}}
.team-ecos-col h3{
  font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ecos-muted);margin:0 0 12px;
}

/* ---------- Alertes ---------- */
.team-ecos-alert{
  padding:12px 16px;border-radius:12px;margin:0 0 16px;font-weight:600;
  border-left:4px solid;
}
.team-ecos-alert.is-error{background:var(--ecos-red-soft);border-color:var(--ecos-red-2);color:#6d0014}
.team-ecos-alert.is-success{background:var(--ecos-green-soft);border-color:var(--ecos-green);color:#155a38}

.team-ecos-notice{
  padding:12px 16px;border-radius:12px;margin:0 0 12px;
  background:var(--ecos-amber-soft);color:#6b4100;border:1px solid #f3dfb4;
}

/* ---------- Créneaux ---------- */
.team-ecos-slotlist{display:flex;flex-direction:column;gap:10px}
.team-ecos-slot{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:6px 16px;
  background:var(--ecos-card);
  border:1px solid var(--ecos-line);
  border-radius:var(--ecos-radius);
  padding:14px 16px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.team-ecos-slot:hover{border-color:#d9c5c0;box-shadow:0 2px 10px rgba(41,35,38,.06)}
.team-ecos-slot.is-full,.team-ecos-slot.is-closed{background:var(--ecos-bg)}
.team-ecos-slot__label{font-weight:700;font-size:1.05rem;line-height:1.3}
.team-ecos-slot__meta{
  grid-column:1;display:flex;align-items:center;gap:10px;
  font-size:.92rem;color:var(--ecos-muted);
}
.team-ecos-slot .team-ecos-btn{grid-column:2;grid-row:1 / span 2}
.team-ecos-bar{
  flex:0 0 90px;height:6px;border-radius:999px;background:#efe7e4;overflow:hidden;
}
.team-ecos-bar > span{display:block;height:100%;border-radius:inherit;background:var(--ecos-green)}
.team-ecos-slot.is-almost .team-ecos-bar > span{background:#d98a00}
.team-ecos-slot.is-full .team-ecos-bar > span{background:var(--ecos-red-2)}
.team-ecos-slot.is-almost .team-ecos-slot__left{color:var(--ecos-amber);font-weight:600}
.team-ecos-slot.is-full .team-ecos-slot__left{color:var(--ecos-red-2);font-weight:600}

@media (max-width:520px){
  .team-ecos-slot{grid-template-columns:1fr}
  .team-ecos-slot .team-ecos-btn{grid-column:1;grid-row:auto;width:100%;margin-top:6px}
}

/* ---------- Boutons ---------- */
.team-ecos-widget .team-ecos-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:42px;padding:10px 20px !important;
  border-radius:999px !important;border:1.5px solid var(--ecos-red) !important;
  background:var(--ecos-red) !important;color:#fff !important;
  font:inherit;font-size:.95rem;font-weight:700;line-height:1.2;
  text-decoration:none !important;white-space:nowrap;cursor:pointer;
  transition:background .15s ease,transform .1s ease,box-shadow .15s ease;
}
.team-ecos-widget .team-ecos-btn:hover{background:#6a0013 !important;border-color:#6a0013 !important;box-shadow:0 4px 12px rgba(133,0,24,.22)}
.team-ecos-widget .team-ecos-btn:active{transform:translateY(1px)}
.team-ecos-widget .team-ecos-btn:focus-visible{outline:3px solid rgba(166,25,46,.35);outline-offset:2px}
.team-ecos-widget .team-ecos-btn.is-secondary{
  background:transparent !important;color:var(--ecos-red) !important;
}
.team-ecos-widget .team-ecos-btn.is-secondary:hover{background:var(--ecos-red-soft) !important;box-shadow:none}
.team-ecos-widget .team-ecos-btn.is-wait{
  background:var(--ecos-amber-soft) !important;border-color:#e8c27a !important;color:#6b4100 !important;
}
.team-ecos-widget .team-ecos-btn.is-wait:hover{background:#ffecc2 !important;box-shadow:none}
.team-ecos-widget .team-ecos-btn[disabled],
.team-ecos-widget .team-ecos-btn[disabled]:hover{
  background:#eeeae8 !important;border-color:#e2dcd9 !important;color:#8a8084 !important;
  cursor:not-allowed;box-shadow:none;transform:none;
}
.team-ecos-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* ---------- Mon inscription ---------- */
.team-ecos-card{
  background:var(--ecos-bg);
  border:1px solid var(--ecos-line);
  border-radius:var(--ecos-radius);
  padding:18px;
}
.team-ecos-card.is-registered{background:var(--ecos-green-soft);border-color:#c6e8d5}
.team-ecos-status{
  display:flex;align-items:center;gap:8px;font-weight:700;margin:0 0 14px;
}
.team-ecos-status.is-ok{color:var(--ecos-green)}
.team-ecos-status.is-none{color:var(--ecos-muted);font-weight:600}

.team-ecos-info{margin:0;display:grid;gap:10px}
.team-ecos-info > div{
  display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:12px;align-items:baseline;
  padding-bottom:10px;border-bottom:1px solid rgba(41,35,38,.08);
}
.team-ecos-info > div:last-child{border-bottom:0;padding-bottom:0}
.team-ecos-info dt{font-size:.85rem;color:var(--ecos-muted);margin:0}
.team-ecos-info dd{margin:0;font-weight:700;font-size:1rem;word-break:break-word}

.team-ecos-pill{
  display:inline-block;padding:2px 10px;border-radius:8px;
  background:#fff;border:1px solid var(--ecos-line);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.02em;
}

.team-ecos-rules{
  display:flex;gap:10px;align-items:flex-start;
  color:#6d0014;background:var(--ecos-red-soft);
  border:1px solid #f1cfd5;border-radius:12px;
  padding:12px 14px;margin:0 0 14px;font-size:.95rem;
}
.team-ecos-rules::before{content:"⚠️";line-height:1.5}
.team-ecos-rules p{margin:0}

.team-ecos-wait{
  padding:12px 14px;border-radius:12px;margin:0 0 12px;
  border:1px solid #f3dfb4;background:var(--ecos-amber-soft);color:#6b4100;
}

.team-ecos-hint{font-size:.9rem;color:var(--ecos-muted);margin-top:12px !important}

/* ---------- WhatsApp ---------- */
.team-ecos-whatsapp-box{
  margin:0 0 14px;padding:14px 16px;
  border:1px solid #bfe8cf;background:#f3fcf7;border-radius:14px;
}
.team-ecos-whatsapp-box__text{margin-bottom:10px}
.team-ecos-whatsapp-box__sub{margin-top:4px;font-size:.92rem;color:var(--ecos-muted)}
.team-ecos-whatsapp-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:#1faa55 !important;color:#fff !important;text-decoration:none !important;
  font-weight:700;padding:10px 18px;border-radius:999px;border:0;
  transition:background .15s ease;
}
.team-ecos-whatsapp-btn:hover,.team-ecos-whatsapp-btn:focus{background:#178a45 !important;color:#fff !important}
.team-ecos-whatsapp-btn:visited{color:#fff !important}

/* ---------- Bannière ---------- */
.team-ecos-banner{position:sticky;top:0;z-index:9999;background:var(--ecos-red,#850018);color:#fff;padding:10px 12px}
.team-ecos-banner__inner{max-width:1100px;margin:0 auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.team-ecos-banner__link{color:#fff;text-decoration:underline;margin-left:auto;font-weight:700}

/* ---------- Mode sombre du site ---------- */
html.tu-dark .team-ecos-widget{
  --ecos-ink:#f3ecee;--ecos-muted:#b9adb2;--ecos-line:#3a3034;
  --ecos-card:#1f1a1c;--ecos-bg:#262022;
  --ecos-red-soft:#3a1a20;--ecos-green-soft:#173126;--ecos-amber-soft:#3a2c12;
  box-shadow:none;
}
html.tu-dark .team-ecos-pill{background:#2d2629}
html.tu-dark .team-ecos-rules{color:#ffd6dc;border-color:#5a2a33}
html.tu-dark .team-ecos-wait,html.tu-dark .team-ecos-notice{color:#ffe0a8;border-color:#5a4520}
html.tu-dark .team-ecos-card.is-registered{border-color:#2c5440}
html.tu-dark .team-ecos-alert.is-error{color:#ffd6dc}
html.tu-dark .team-ecos-alert.is-success{color:#c4f0d7}
