/* events-module/assets/events.css (v4) */

:root {
  --ev-bg: #020617;
  --ev-bg-soft: #020617;
  --ev-card: #020617;
  --ev-border: rgba(148,163,184,.35);
  --ev-text: #e5e7eb;
  --ev-muted: #ffffff;
  --ev-accent: #38bdf8;
  --ev-danger: #f97373;
  --ev-radius: 18px;
  --ev-shadow: 0 18px 45px rgba(15,23,42,.75);
}

/* THEME LIGHT */
.events-theme-light {
  --ev-bg: #f1f5f9;
  --ev-bg-soft: #ffffff;
  --ev-card: #ffffff;
  --ev-border: rgba(148,163,184,.4);
  --ev-text: #020617;
  --ev-muted: #000000;
  --ev-accent: #0ea5e9;
  --ev-shadow: 0 14px 40px rgba(15,23,42,.12);
}

.events-widget,
.events-detail-page,
.events-archive,
.events-admin,
.events-confirm-page,
.events-verify {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ev-text);
}

/* Widget */

.events-widget .widget-wrap {
  background: radial-gradient(circle at top left, rgba(56,189,248,.35), transparent 55%),
              radial-gradient(circle at bottom right, rgba(244,114,182,.3), transparent 55%),
              var(--ev-bg);
  border-radius: 24px;
  padding: 1.5rem 1.6rem 1.8rem;
  border: 1px solid rgba(148,163,184,.35);
  box-shadow: var(--ev-shadow);
}

.events-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1rem;
}

.events-toolbar h2 {
  font-size:1.25rem;
}

.theme-toggle {
  border-radius:999px;
  border:1px solid rgba(148,163,184,.6);
  background:rgba(15,23,42,.72);
  color:var(--ev-text);
  padding:.25rem .75rem;
  display:flex;
  align-items:center;
  gap:.35rem;
  cursor:pointer;
  font-size:.8rem;
}

.events-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem;
}

/* 3 colonnes max sur desktop, 1 sur mobile */
@media (min-width:1024px) {
  .events-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:640px) {
  .events-grid {
    grid-template-columns:1fr;
  }
}

/* cards */

.event-card {
  background:radial-gradient(circle at top left,rgba(30,64,175,.75),rgba(15,23,42,1));
  border-radius:var(--ev-radius);
  overflow:hidden;
  border:1px solid rgba(148,163,184,.45);
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.events-theme-light .event-card {
  background:radial-gradient(circle at top left,rgba(191,219,254,1),rgba(248,250,252,1));
}

.event-cover img {
  display:block;
  width:100%;
  height:170px;
  object-fit:cover;
}

.event-body {
  padding:0.9rem 1rem 1rem;
  display:flex;
  flex-direction:column;
  gap:.45rem;
}

.event-meta {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-bottom:.35rem;
}

.events-widget .pill,
.events-detail-page .pill,
.events-archive .pill,
.events-modal .pill,
.events-admin .pill,
.events-confirm-page .pill,
.events-verify .pill {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.6);
  padding:.1rem .65rem;
  font-size:.75rem;
  backdrop-filter:blur(10px);
  background:rgba(15,23,42,.6);
}

.events-theme-light .pill {
  background:rgba(255,255,255,.85);
}

.events-widget .dot,
.events-detail-page .dot,
.events-archive .dot,
.events-modal .dot,
.events-admin .dot,
.events-confirm-page .dot,
.events-verify .dot {
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background:var(--ev-accent);
}

.event-title {
  font-size:1.05rem;
  margin:0;
}

.event-loc {
  font-size:.85rem;
  color:var(--ev-muted);
}

.event-excerpt {
  font-size:.85rem;
  margin:.1rem 0 .4rem;
  color:var(--ev-muted);
}

.event-actions {
  margin-top:auto;
  display:flex;
  gap:.5rem;
}

.events-actions .btn {
background: inear-gradient( 135deg, color-mix(in srgb, var(--cat-color) 75%, black 10%), var(--cat-color) );
}

.events-widget .btn,
.events-detail-page .btn,
.events-archive .btn,
.events-modal .btn,
.events-admin .btn,
.events-confirm-page .btn,
.events-verify .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  border-radius:999px;
  border:1px solid transparent;
  padding:.4rem .9rem;
  font-size:.82rem;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
}

.events-widget .btn.primary,
.events-detail-page .btn.primary,
.events-archive .btn.primary,
.events-modal .btn.primary,
.events-admin .btn.primary,
.events-confirm-page .btn.primary,
.events-verify .btn.primary {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--cat-color) 75%, black 10%),
    var(--cat-color)
);
  color:white;
  box-shadow:0 10px 25px rgba(56,189,248,.4);
}

.events-widget .btn.secondary,
.events-detail-page .btn.secondary,
.events-archive .btn.secondary,
.events-modal .btn.secondary,
.events-admin .btn.secondary,
.events-confirm-page .btn.secondary,
.events-verify .btn.secondary {
  background:transparent;
  color:var(--ev-text);
  border-color:rgba(148,163,184,.7);
}

.events-widget .btn.danger,
.events-detail-page .btn.danger,
.events-archive .btn.danger,
.events-modal .btn.danger,
.events-admin .btn.danger,
.events-confirm-page .btn.danger,
.events-verify .btn.danger {
  background:rgba(239,68,68,.1);
  color:#fecaca;
  border-color:rgba(239,68,68,.7);
}

.events-widget .btn.ghost,
.events-detail-page .btn.ghost,
.events-archive .btn.ghost,
.events-modal .btn.ghost,
.events-admin .btn.ghost,
.events-confirm-page .btn.ghost,
.events-verify .btn.ghost {
  background:transparent;
  border-color:rgba(148,163,184,.5);
  color:var(--ev-muted);
}

.events-widget .btn.waze,
.events-detail-page .btn.waze,
.events-archive .btn.waze,
.events-modal .btn.waze,
.events-admin .btn.waze,
.events-confirm-page .btn.waze,
.events-verify .btn.waze {
  background:#2c89d9;
  color:#fff;
}
.events-widget .btn.gmaps,
.events-detail-page .btn.gmaps,
.events-archive .btn.gmaps,
.events-modal .btn.gmaps,
.events-admin .btn.gmaps,
.events-confirm-page .btn.gmaps,
.events-verify .btn.gmaps {
  background:#1d4ed8;
  color:#fff;
}
.events-widget .btn.apple,
.events-detail-page .btn.apple,
.events-archive .btn.apple,
.events-modal .btn.apple,
.events-admin .btn.apple,
.events-confirm-page .btn.apple,
.events-verify .btn.apple {
  background:#0f172a;
  color:#fff;
}

.events-alert {
  border-radius:999px;
  padding:.35rem .75rem;
  font-size:.8rem;
  margin-bottom:.75rem;
}
.events-alert.ok {
  background:rgba(22,163,74,.1);
  border:1px solid rgba(22,163,74,.6);
  color:#bbf7d0;
}
.events-alert.err {
  background:rgba(239,68,68,.12);
  border:1px solid rgba(239,68,68,.7);
  color:#fecaca;
}

/* modal */

.events-modal-backdrop {
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.78);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  backdrop-filter:blur(16px);
}
.events-modal-backdrop.active {
  display:flex;
}
.events-modal {
  background:radial-gradient(circle at top left,rgba(59,130,246,.5),rgba(15,23,42,1));
  border-radius:24px;
  border:1px solid rgba(148,163,184,.7);
  max-width:860px;
  width:100%;
  max-height:90vh;
  display:flex;
  flex-direction:column;
  box-shadow:var(--ev-shadow);
}
.events-theme-light .events-modal {
  background:radial-gradient(circle at top left,rgba(191,219,254,1),rgba(248,250,252,1));
}

.events-modal-header {
  padding:.75rem .9rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(148,163,184,.5);
}
.events-modal-title {
  font-size:.98rem;
  font-weight:600;
}
.events-modal-close {
  border-radius:999px;
  border:1px solid rgba(148,163,184,.6);
  background:rgba(15,23,42,.6);
  color:var(--ev-text);
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.events-modal-body {
  padding:.75rem .9rem 1rem;
  overflow:auto;
}

.events-modal-cover img {
  border-radius:18px;
  width:100%;
  max-height:260px;
  object-fit:cover;
  margin-bottom:.65rem;
}

.events-modal-meta {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.5rem;
  font-size:.85rem;
  color:var(--ev-muted);
  margin-bottom:.6rem;
}

.events-map {
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.4);
  margin-bottom:.75rem;
}
.events-map iframe {
  width:100%;
  height:220px;
  border:0;
}

.events-map-links {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin:0 0 .75rem;
}

.events-modal-content {
  font-size:.9rem;
  color:var(--ev-text);
}
.events-modal-content p {
  margin:.4rem 0;
}
.events-modal-content a {
  color:#38bdf8;
  text-decoration:underline;
}

.events-modal-extra {
  margin-top:.8rem;
}

/* registration */

.events-reg {
  margin-top:1rem;
  padding:.7rem .8rem;
  border-radius:18px;
  border:1px dashed rgba(148,163,184,.6);
  background:rgba(15,23,42,.5);
}
.events-theme-light .events-reg {
  background:rgba(255,255,255,.9);
}

.events-reg h4 {
  margin:0 0 .6rem;
  font-size:.9rem;
}

.events-widget .reg-grid,
.events-detail-page .reg-grid,
.events-archive .reg-grid,
.events-modal .reg-grid,
.events-admin .reg-grid,
.events-confirm-page .reg-grid,
.events-verify .reg-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:.5rem .75rem;
}
.reg-grid label {
  font-size:.8rem;
  display:block;
  margin-bottom:.1rem;
}
.reg-grid input,
.reg-grid select,
.admin-main input,
.admin-main select,
.admin-main textarea {
  width:100%;
  box-sizing:border-box;
  border-radius:10px;
  border:1px solid rgba(148,163,184,.7);
  padding:.35rem .45rem;
  background:rgba(15,23,42,.8);
  color:var(--ev-text);
  font-size:.85rem;
}
.events-theme-light .reg-grid input,
.events-theme-light .reg-grid select,
.events-theme-light .admin-main input,
.events-theme-light .admin-main select,
.events-theme-light .admin-main textarea {
  background:rgba(255,255,255,.96);
  color:var(--ev-text);
}

.events-widget .reg-actions,
.events-detail-page .reg-actions,
.events-archive .reg-actions,
.events-modal .reg-actions,
.events-admin .reg-actions,
.events-confirm-page .reg-actions,
.events-verify .reg-actions {
  margin-top:.8rem;
  display:flex;
  justify-content:flex-end;
}

/* detail page */

.detail-wrap {
  max-width:1100px;
  margin:1.5rem auto;
  padding:1.5rem;
  background:var(--ev-bg);
  border-radius:24px;
  border:1px solid rgba(148,163,184,.35);
  box-shadow:var(--ev-shadow);
}

.detail-cover img {
  width:100%;
  max-height:320px;
  object-fit:cover;
  border-radius:22px;
  margin-bottom:1rem;
}

.detail-header h1 {
  margin:.5rem 0;
  font-size:1.8rem;
  text-align:center;
  color:var(--ev-text);
}

.detail-loc {
  margin:0 0 1rem;
  color:var(--ev-muted);
}

.detail-layout {
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(0,1.4fr);
  gap:1.2rem;
}
@media (max-width:900px) {
  .detail-layout {
    grid-template-columns:1fr;
  }
}

/* archive */

.archive-wrap {
  max-width:1100px;
  margin:1.5rem auto;
  padding:1.4rem;
  background:var(--ev-bg);
  border-radius:24px;
  border:1px solid rgba(148,163,184,.35);
  box-shadow:var(--ev-shadow);
}
.archive-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:1rem;
}
.archive-sub {
  margin:.15rem 0 0;
  font-size:.85rem;
  color:var(--ev-muted);
}
.archive-filters {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.75rem;
  margin-bottom:1.1rem;
}
.events-widget .filters-actions,
.events-detail-page .filters-actions,
.events-archive .filters-actions,
.events-modal .filters-actions,
.events-admin .filters-actions,
.events-confirm-page .filters-actions,
.events-verify .filters-actions {
  display:flex;
  align-items:flex-end;
}

/* admin */

.events-admin {
  display:flex;
  min-height:100vh;
  background:radial-gradient(circle at top left,rgba(56,189,248,.25),transparent 55%),
             radial-gradient(circle at bottom right,rgba(244,114,182,.2),transparent 55%),
             #020617;
}

.admin-sidebar {
  width:230px;
  padding:1rem;
  border-right:1px solid rgba(148,163,184,.35);
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.admin-sidebar h1 {
  font-size:1.2rem;
  margin:0 0 .5rem;
}
.admin-sidebar nav {
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.admin-sidebar nav a {
  padding:.35rem .6rem;
  border-radius:999px;
  font-size:.86rem;
  text-decoration:none;
  color:var(--ev-text);
}
.admin-sidebar nav a.active {
  background:linear-gradient(135deg,#38bdf8,#a855f7);
  box-shadow:0 12px 30px rgba(56,189,248,.4);
}

.admin-main {
  flex:1;
  padding:1.1rem 1.3rem 1.5rem;
  overflow:auto;
}

.admin-section-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.9rem;
}

.admin-card {
  background:rgba(15,23,42,.95);
  border-radius:20px;
  border:1px solid rgba(148,163,184,.4);
  padding:1rem 1.1rem;
  margin-bottom:1rem;
  box-shadow:0 14px 40px rgba(15,23,42,.9);
}
.events-theme-light .admin-card {
  background:rgba(255,255,255,.97);
}
.admin-card-sub {
  margin-top:1rem;
  padding-top:.75rem;
  border-top:1px dashed rgba(148,163,184,.5);
}

.events-widget .lbl,
.events-detail-page .lbl,
.events-archive .lbl,
.events-modal .lbl,
.events-admin .lbl,
.events-confirm-page .lbl,
.events-verify .lbl {
  display:block;
  font-size:.8rem;
  margin:.4rem 0 .15rem;
}
.events-widget .two-cols,
.events-detail-page .two-cols,
.events-archive .two-cols,
.events-modal .two-cols,
.events-admin .two-cols,
.events-confirm-page .two-cols,
.events-verify .two-cols {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.6rem .9rem;
}
.events-widget .three-cols,
.events-detail-page .three-cols,
.events-archive .three-cols,
.events-modal .three-cols,
.events-admin .three-cols,
.events-confirm-page .three-cols,
.events-verify .three-cols {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.6rem .9rem;
}

.admin-actions {
  margin-top:1rem;
  display:flex;
  gap:.5rem;
}

.admin-table {
  width:100%;
  border-collapse:collapse;
  font-size:.84rem;
}
.admin-table th,
.admin-table td {
  padding:.4rem .5rem;
  border-bottom:1px solid rgba(148,163,184,.3);
}
.admin-table th {
  text-align:left;
  font-weight:500;
  color:var(--ev-muted);
}
.admin-table tr:hover td {
  background:rgba(15,23,42,.7);
}

/* switches */

.events-widget .switch,
.events-detail-page .switch,
.events-archive .switch,
.events-modal .switch,
.events-admin .switch,
.events-confirm-page .switch,
.events-verify .switch {
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.85rem;
  margin:.15rem 0;
}
.switch input[type=checkbox] {
  width:auto;
}

/* color picker */

.events-widget .color-picker-row,
.events-detail-page .color-picker-row,
.events-archive .color-picker-row,
.events-modal .color-picker-row,
.events-admin .color-picker-row,
.events-confirm-page .color-picker-row,
.events-verify .color-picker-row {
  display:flex;
  align-items:center;
  gap:.75rem;
}
.events-widget .color-input,
.events-detail-page .color-input,
.events-archive .color-input,
.events-modal .color-input,
.events-admin .color-input,
.events-confirm-page .color-input,
.events-verify .color-input {
  width:54px;
  height:32px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.7);
  background:transparent;
}
.events-widget .color-palette,
.events-detail-page .color-palette,
.events-archive .color-palette,
.events-modal .color-palette,
.events-admin .color-palette,
.events-confirm-page .color-palette,
.events-verify .color-palette {
  display:flex;
  gap:.3rem;
  flex-wrap:wrap;
}
.events-widget .color-dot,
.events-detail-page .color-dot,
.events-archive .color-dot,
.events-modal .color-dot,
.events-admin .color-dot,
.events-confirm-page .color-dot,
.events-verify .color-dot {
  width:20px;
  height:20px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(15,23,42,.8);
}

/* tickets rows */

.ticket-row {
  display:flex;
  gap:.35rem;
  margin-bottom:.3rem;
}

/* login */

.events-admin-login,
.events-confirm-page {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at top left,rgba(56,189,248,.25),transparent 55%),
             radial-gradient(circle at bottom right,rgba(244,114,182,.2),transparent 55%),
             #020617;
}
.admin-login-card,
.events-widget .confirm-wrap,
.events-detail-page .confirm-wrap,
.events-archive .confirm-wrap,
.events-modal .confirm-wrap,
.events-admin .confirm-wrap,
.events-confirm-page .confirm-wrap,
.events-verify .confirm-wrap {
  background:rgba(15,23,42,.96);
  border-radius:22px;
  padding:1.5rem 1.7rem;
  border:1px solid rgba(148,163,184,.4);
  box-shadow:0 18px 48px rgba(15,23,42,.9);
  max-width:480px;
  width:100%;
}
.confirm-wrap h1 {
  margin:0 0 .6rem;
}
.ticket-card {
  margin-top:1rem;
  padding:1rem;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.5);
  background:rgba(15,23,42,.85);
}
.ticket-card.ticket-valid {
  border-color:rgba(22,163,74,.8);
}
.ticket-card.ticket-pending {
  border-color:rgba(234,179,8,.8);
}

.events-widget .color-swatch,
.events-detail-page .color-swatch,
.events-archive .color-swatch,
.events-modal .color-swatch,
.events-admin .color-swatch,
.events-confirm-page .color-swatch,
.events-verify .color-swatch {
  display:inline-block;
  width:15px;
  height:15px;
  border-radius:999px;
  margin-right:.3rem;
}

/* responsive tweaks */

@media (max-width:700px) {
  .events-widget .widget-wrap,
  .detail-wrap,
  .archive-wrap {
    padding:1.1rem 1rem 1.2rem;
    border-radius:18px;
  }
  .events-modal {
    max-width:95vw;
  }
  .admin-sidebar {
    display:none;
  }
}
.admin-table {
    width: 100%;
    border-collapse: collapse;
    color: white;
}
.ticket-mini{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.ticket-code{
  font-size:.75rem;
  opacity:.75;
}
.ticket-qr{
  width:70px;
  height:70px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.2);
}


/* === Enhanced card & detail styles (v7) === */

.event-card .event-cover {
  position: relative;
  padding: 3px;
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.85), transparent 60%),
    radial-gradient(circle at bottom right, rgba(15,23,42,.9), transparent 55%),
    linear-gradient(135deg,
      rgba(255,255,255,.5),
      var(--cat-color, var(--ev-accent)),
      rgba(15,23,42,.95));
}

.event-card .event-cover img {
  border-radius: 16px;
  display:block;
}

/* Résumé sous le titre */
.event-excerpt {
  margin:.35rem 0 .25rem;
  font-size:.9rem;
  color:var(--ev-muted);
}

/* Détail événement : boîte lisible et responsive */
.event-detail-shell {
  max-width:960px;
  margin:1.5rem auto;
  padding:1.5rem;
  border-radius:24px;
  background:var(--ev-bg-soft);
  box-shadow:var(--ev-shadow);
  border:1px solid var(--ev-border);
}

.event-detail-shell h1 {
  font-size:2rem;
  text-align:center;
  margin-bottom:1rem;
  color:var(--ev-text);
}

.event-detail-meta {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.5rem;
  justify-content:center;
  font-size:.95rem;
  color:var(--ev-muted);
}

.event-detail-meta strong {
  color:var(--ev-text);
}

@media (max-width: 768px) {
  .event-detail-shell {
    margin:1rem .75rem;
    padding:1.1rem;
  }
  .event-detail-shell h1 {
    font-size:1.4rem;
  }
}

/* Boutons Waze / Plans / Maps – couleurs officielles lisibles */
.events-widget .btn.waze,
.events-detail-page .btn.waze,
.events-archive .btn.waze,
.events-modal .btn.waze,
.events-admin .btn.waze,
.events-confirm-page .btn.waze,
.events-verify .btn.waze {
  background:#09f;
  color:#fff;
}

.events-widget .btn.apple,
.events-detail-page .btn.apple,
.events-archive .btn.apple,
.events-modal .btn.apple,
.events-admin .btn.apple,
.events-confirm-page .btn.apple,
.events-verify .btn.apple {
  background:#000;
  color:#fff;
}

.events-widget .btn.gmaps,
.events-detail-page .btn.gmaps,
.events-archive .btn.gmaps,
.events-modal .btn.gmaps,
.events-admin .btn.gmaps,
.events-confirm-page .btn.gmaps,
.events-verify .btn.gmaps {
  background:#34a853;
  color:#fff;
}


/* Modern archive filters & dashboard highlight */

.archive-filters-modern {
  margin-bottom:1.25rem;
  padding:.9rem 1.1rem;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(15,23,42,.95), rgba(30,64,175,.85));
  box-shadow:var(--ev-shadow-soft);
}

.archive-filters-modern .filters-row {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.25rem;
  align-items:flex-end;
}

@media (max-width:768px) {
  .archive-filters-modern .filters-row {
    align-items:stretch;
  }
  .archive-filters-modern .filter-group.filter-search {
    flex:0 0 100%;
  }
  .archive-filters-modern .filter-group:not(.filter-search) {
    flex:1 1 calc(50% - .5rem);
  }
  .archive-filters-modern .filters-actions {
    flex:0 0 100%;
    margin-left:0;
  }
}

.archive-filters-modern .filter-group {
  display:flex;
  flex-direction:column;
  min-width:160px;
}

.archive-filters-modern .filter-group.filter-search {
  flex:1 1 220px;
}

.archive-filters-modern label {
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(248,250,252,.8);
  margin-bottom:.15rem;
}

.archive-filters-modern input,
.archive-filters-modern select {
  border-radius:999px;
  border:none;
  padding:.45rem .75rem;
  font-size:.9rem;
}

.archive-filters-modern .filters-actions {
  margin-left:auto;
}

.events-theme-light .archive-filters-modern {
  background:linear-gradient(135deg, #e0f2fe, #e5e7eb);
}

.dash-card-highlight {
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#ecfdf5;
  box-shadow:0 18px 45px rgba(22,163,74,.45);
}
.dash-card-highlight .dash-label {
  color:rgba(226,232,240,.9);
}

/* Lisibilité sur mobile */
@media (max-width:640px) {
  .event-title {
    font-size:1.15rem;
    line-height:1.3;
  }
  .event-excerpt {
    font-size:.95rem;
  }
  .event-loc,
  .event-meta .pill {
    font-size:.9rem;
  }
}

.detail-meta-highlight {
  margin:1rem 0 1.5rem;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.75rem;
}

.detail-meta-highlight .meta-item {
  background:rgba(15,23,42,.8);
  border-radius:1rem;
  padding:.75rem .9rem;
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  color:var(--ev-muted);
}

.events-theme-light .detail-meta-highlight .meta-item {
  background:rgba(241,245,249,.95);
  color:#0f172a;
}

.detail-meta-highlight .meta-icon {
  font-size:1.4rem;
  line-height:1;
}

.detail-meta-highlight .meta-texts {
  display:flex;
  flex-direction:column;
}

.detail-meta-highlight .meta-label {
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  opacity:.8;
}

.detail-meta-highlight .meta-value {
  font-size:.95rem;
  font-weight:500;
}

/* Micro-grille et boutons encapsulés pour le module événements (léger, SEO-friendly) */
.events-shell .ev-row {
  display:flex;
  flex-wrap:wrap;
  margin-left:-0.75rem;
  margin-right:-0.75rem;
}

.events-shell .ev-col {
  padding-left:0.75rem;
  padding-right:0.75rem;
  box-sizing:border-box;
  flex:0 0 100%;
  max-width:100%;
}

@media (min-width:768px) {
  .events-shell .ev-col-md-6 {
    flex:0 0 50%;
    max-width:50%;
  }
}

@media (min-width:1024px) {
  .events-shell .ev-col-lg-4 {
    flex:0 0 33.3333%;
    max-width:33.3333%;
  }
}

/* Boutons encapsulés pour usage optionnel */
.events-shell .ev-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:none;
  font-size:.9rem;
  padding:.45rem .9rem;
  cursor:pointer;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.events-shell .ev-btn-primary {
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:#f9fafb;
  box-shadow:0 10px 25px rgba(37,99,235,.35);
}
.events-shell .ev-btn-primary:hover {
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(37,99,235,.45);
}


/* Mobile readability boost */
@media (max-width:700px) {
  .events-widget,
  .events-archive,
  .events-detail-page,
  .events-verify,
  .events-confirm-page {
    font-size: 16px;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
  }

  .events-toolbar h2 { font-size: 1.15rem; }

  .events-widget input[type="text"],
  .events-widget input[type="search"],
  .events-widget select,
  .events-archive input[type="text"],
  .events-archive input[type="search"],
  .events-archive select,
  .events-detail-page input[type="text"],
  .events-detail-page input[type="search"],
  .events-detail-page select {
    font-size: 1rem;
    min-height: 44px;
  }

  .archive-filters-modern input,
  .archive-filters-modern select {
    padding: .6rem 1rem;
    font-size: 1rem;
    min-height: 44px;
  }

  .events-widget .event-excerpt,
  .events-archive .event-excerpt,
  .events-detail-page .event-excerpt {
    font-size: .95rem;
  }

  .events-widget .btn,
  .events-archive .btn,
  .events-detail-page .btn,
  .events-modal .btn,
  .events-confirm-page .btn,
  .events-verify .btn {
    padding: .6rem 1rem;
    font-size: .95rem;
    min-height: 44px;
  }

  .events-widget .pill,
  .events-archive .pill,
  .events-detail-page .pill {
    font-size: .85rem;
    padding: .2rem .75rem;
  }

  .detail-meta-highlight {
    grid-template-columns: 1fr;
  }
  .detail-meta-highlight .meta-label { font-size: .82rem; }
  .detail-meta-highlight .meta-value { font-size: 1rem; }
}
.widget-card{
  background:#0f172a;
  border-radius:18px;
  overflow:hidden;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  transition:.3s;
  margin-bottom:2rem;
}

.widget-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}

.widget-separator{
  height:6px;
  background:var(--cat-color);
}

.widget-cover img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.widget-body{
  padding:1.5rem;
}

.widget-category{
  display:inline-block;
  padding:.35rem .9rem;
  border-radius:30px;
  background:var(--cat-color);
  color:#fff;
  font-weight:600;
  font-size:.75rem;
  margin-bottom:.7rem;
}

.widget-title{
  font-size:1.4rem;
  font-weight:700;
  margin-bottom:.5rem;
}

.widget-excerpt{
  opacity:.8;
  font-size:.95rem;
  margin-bottom:1rem;
}

.widget-date{
  font-weight:700;
  color:var(--cat-color);
  margin-bottom:.4rem;
}

.widget-location{
  opacity:.85;
  margin-bottom:.8rem;
}

.widget-places{
  padding:.5rem;
  border-radius:8px;
  border:1px solid var(--cat-color);
  margin-bottom:1rem;
  font-size:.85rem;
}

.widget-places.full{
  background:#7f1d1d;
  border-color:#ef4444;
}

.widget-btn{
  display:inline-block;
  padding:.7rem 1.6rem;
  border-radius:30px;
  background:linear-gradient(135deg,var(--cat-color),#38bdf8);
  color:#fff;
  font-weight:600;
  text-decoration:none;
  transition:.3s;
}

.widget-btn:hover{
  transform:scale(1.05);
}
.event-finished{
position:absolute;
top:18px;
right:18px;
background:#475569;
color:#fff;
font-size:.7rem;
font-weight:900;
padding:6px 14px;
border-radius:999px;
z-index:2;
opacity:.9;
}
/* ================================
   APPLE VISION PRO BADGES
================================ */



@keyframes livePulse{
0%{box-shadow:0 0 0 0 rgba(255,0,0,.7);}
70%{box-shadow:0 0 0 18px rgba(255,0,0,0);}
100%{box-shadow:0 0 0 0 rgba(255,0,0,0);}
}

/* Compteur */
.live-countdown{
font-weight:600;
font-size:.7rem;
opacity:.85;
}
/* =========================================
   VISION PRO ULTRA CARD SYSTEM
========================================= */

.events-grid{
perspective:1200px;
}



/* Depth hover */
.event-card.depth-hover{
transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.03);
box-shadow:0 60px 160px rgba(0,0,0,.9);
z-index:10;
}


.event-card::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(
circle at var(--mx,50%) var(--my,50%),
rgba(255,255,255,.15),
transparent 60%
);
opacity:.25;
pointer-events:none;
mix-blend-mode:overlay;
}


/* Light follow layer */
.event-card::after{
content:"";
position:absolute;
inset:0;
background:radial-gradient(
circle at var(--mx,50%) var(--my,50%),
rgba(255,255,255,.25),
transparent 60%
);
opacity:0;
transition:opacity .3s ease;
pointer-events:none;
}

.event-card.light-active::after{
opacity:.6;
}

/* Smart priority blur */
.events-grid.priority-mode .event-card{

transform:scale(.97);
filter:none;
}


.events-grid.priority-mode .event-card.priority{
filter:none;
transform:scale(1.05);
z-index:15;
}

/* Premium mode */



.event-card.premium .event-title{
background:linear-gradient(90deg,#fff,#ffd700);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
.event-badge.premium-badge{
top:18px;
left:18px;
right:auto;
background:rgba(255,215,0,.15);
color:#ffd700;
box-shadow:0 0 30px rgba(255,215,0,.6);
}
@media(max-width:768px){
.event-card{
transform:none !important;
filter:none !important;
}
.events-grid.priority-mode .event-card{
transform:none !important;
filter:none !important;
}
}
.event-badge{
display:inline-block;
padding:8px 18px;
border-radius:999px;
font-size:.75rem;
font-weight:900;
letter-spacing:.05em;
backdrop-filter:blur(20px);
border:1px solid rgba(255,255,255,.15);
margin-bottom:15px;
}

.event-badge.live{
background:rgba(239,68,68,.15);
color:#ff4d4d;
box-shadow:0 0 20px rgba(239,68,68,.6);
animation:pulseLive 1.5s infinite;
}

.event-badge.finished{
background:rgba(148,163,184,.15);
color:#94a3b8;
box-shadow:0 0 20px rgba(148,163,184,.4);
}


.event-live{
position:absolute;
top:18px;
right:18px;
padding:8px 18px;
border-radius:999px;
font-weight:800;
font-size:.75rem;
backdrop-filter:blur(20px);
background:rgba(239,68,68,.25);
border:1px solid rgba(255,255,255,.2);
box-shadow:0 0 40px rgba(239,68,68,.5);
animation:pulseLive 2s infinite;
}

.event-live.full{
background:rgba(148,163,184,.2);
color:#e2e8f0;
box-shadow:none;
animation:none;
}

@keyframes pulseLive{
0%{box-shadow:0 0 0 0 rgba(239,68,68,.7)}
70%{box-shadow:0 0 0 18px rgba(239,68,68,0)}
100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}
}
.event-card.premium{
background:
linear-gradient(160deg,#111827,#0b1220),
linear-gradient(135deg,rgba(255,215,0,.15),transparent);
border:1px solid rgba(255,215,0,.35);
box-shadow:0 0 50px rgba(255,215,0,.25);
}

.event-card {
  background: rgba(15,23,42,.75);
  backdrop-filter: blur(30px);
  border: 1px solid rgba(255,255,255,.08);
}


.event-card.visible{
opacity:1;
transform:translateY(0) scale(1);
}
.events-widget{
  background: transparent;
  padding: 40px 0;
}
.event-cover .event-badge.full{
    right:12px;
    background:rgba(148,163,184,.25);
    color:#fff;
    box-shadow:0 0 15px rgba(148,163,184,.5);
}

.event-cover .event-badge.finished{
    right:12px;
    background:rgba(71,85,105,.35);
    color:#e2e8f0;
}
