/* ==========================================================================
   PASSPAM 2.68.0 — THÈMES « EVENTPLACE » (EventPlace, EventPlace Nuit, EventPlace Vibe)
   D'après le template EventPlace (Themewinter, ThemeForest — licence achetée par l'exploitant pour passpam.com ;
   ancien site WordPress de Passpam). Langage visuel repris de ses feuilles (master.css / sass/variable.scss) :
   indigo #2f2f89 (titres, boutons, liens), titres de cartes #283746, texte #5d616a, fond lavande #f3f0fb,
   accents rose #fe2676 / corail #f9617b, police Gothic A1, coins 12 px, boutons 6 px en capitales grasses,
   grand bandeau en dégradé violet avec recherche en barre blanche, cartes d'événements blanches (vignette
   « logo » en haut à gauche, prix en pastille cerclée), catégories à pastille ronde colorée, lieux et
   organisateurs en cartes centrées, formes créatives (cercles, zigzags, triangles, halos flous).
   Aucune image, aucun texte ni aucun script du template : seulement des règles CSS écrites pour Passpam.
   Chargé APRÈS passpam.css et theme-dcode.css (composants du Classique), comme Lumière.
   Variantes : body.pp-theme-eventplace_nuit (sombre, contrastes AA) et body.pp-theme-eventplace_vibe (rose / corail).
   Contrastes (WCAG) : #283746 / blanc 12.2:1 ; #5d616a / #f3f0fb 5.5:1 ; texte blanc / #2f2f89 11.1:1 ;
   rose texte #c8155f / blanc 5.6:1 ; bouton bleu #3a5bd9 / blanc 5.7:1. Vert seulement pour les statuts « réussi ».
   ========================================================================== */

/* Police auto-hébergée (SIL OFL, voir assets/fonts/LICENSE-gothic-a1.txt) : aucune requête externe, CSP inchangée. */
@font-face { font-family: "Gothic A1"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/gothic-a1-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Gothic A1"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/gothic-a1-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Gothic A1"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/gothic-a1-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Gothic A1"; font-style: normal; font-weight: 900; font-display: swap; src: url("fonts/gothic-a1-latin-900-normal.woff2") format("woff2"); }

/* ---------- Jetons ---------- */
.pp-theme-eventplace {
  --pp-font: "Gothic A1", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --pp-font-display: "Gothic A1", "Segoe UI", system-ui, sans-serif;
  --pp-font-accent: "Gothic A1", "Segoe UI", system-ui, sans-serif;

  --ep-indigo: #2f2f89;          /* $primary-color */
  --ep-indigo-2: #23236b;
  --ep-title: #283746;           /* $title-color */
  --ep-text: #5d616a;            /* $text-color */
  --ep-bg: #f3f0fb;              /* $body-bg */
  --ep-pink: #fe2676;            /* décoratif (formes, halos) */
  --ep-coral: #f9617b;           /* décoratif */
  --ep-pink-ink: #c8155f;        /* rose pour du TEXTE : 5.6:1 sur blanc */
  --ep-blue: #3a5bd9;            /* bouton « Créer un événement » de l'en-tête : 5.7:1 avec texte blanc */
  --ep-cyan: #5cdcf2;            /* accroche du bandeau (sur violet : 5.9:1) */
  --ep-hero: linear-gradient(118deg, #e0377f -12%, #9a2fc4 16%, #6a2bc4 40%, #4a2ab0 68%, #2f2f89 100%);
  --ep-banner: linear-gradient(92deg, #2f2f89 0%, #493faf 40%, #3a3cb2 70%, #4a5fd8 100%);
  --ep-card-shadow: 0 10px 60px rgba(0, 0, 0, .06);
  --ep-card-shadow-h: 0 10px 60px rgba(0, 0, 0, .1);

  --pp-ink: #283746;
  --pp-ink-2: #3c4654;
  --pp-muted: #5d616a;
  --pp-line: #e4e0f1;
  --pp-bg: #f3f0fb;
  --pp-surface: #ffffff;
  --pp-surface-2: #f6f4fc;
  --pp-tint: #efeafb;
  --pp-night: #1d1d5c;
  --pp-night-2: #2f2f89;
  --pp-ember: #fe2676;
  --pp-amber: #f9617b;
  --pp-coral: #fe2676;
  --pp-coral-2: #f9617b;
  --pp-coral-ink: #2f2f89;       /* liens et textes d'accent : indigo */
  --pp-coral-btn: #2f2f89;
  --pp-coral-btn-2: #23236b;
  --pp-coral-soft: #ebeafb;
  --pp-gold: #f9617b;
  --pp-grad: linear-gradient(120deg, #fe2676 0%, #f9617b 100%);
  --pp-grad-btn: linear-gradient(180deg, #34349a 0%, #2f2f89 100%);
  --pp-grad-night: linear-gradient(135deg, #3b2fa6 0%, #1d1d5c 75%);
  --pp-radius-s: 6px; --pp-radius: 12px; --pp-radius-l: 16px;
  --pp-shadow-s: 0 2px 8px rgba(40, 55, 70, .06);
  --pp-shadow: 0 10px 40px rgba(40, 40, 100, .08);
  --pp-shadow-l: 0 18px 60px rgba(40, 40, 100, .14);
  --pp-glow: 0 10px 30px rgba(47, 47, 137, .24);
  --pp-focus: 0 0 0 3px rgba(58, 91, 217, .5);
}

/* ---------- Base ---------- */
body.pp-theme-eventplace { font-family: var(--pp-font); background: var(--ep-bg); color: var(--ep-text); font-size: 16px; line-height: 1.62; }
.pp-theme-eventplace main { background: transparent; }
.pp-theme-eventplace h1, .pp-theme-eventplace h2 { color: var(--ep-indigo); font-weight: 800; letter-spacing: -.01em; }
.pp-theme-eventplace h3, .pp-theme-eventplace h4 { color: var(--ep-title); font-weight: 800; }
.pp-theme-eventplace .pp-accent { font-family: var(--pp-font); font-style: normal; font-weight: 800; color: var(--ep-pink-ink); }
.pp-theme-eventplace ::selection { background: #2f2f89; color: #fff; }
.pp-theme-eventplace .pp-link, .pp-theme-eventplace .pp-prose a { color: var(--ep-indigo); }
.pp-theme-eventplace :focus-visible { outline: 2px solid var(--ep-blue); outline-offset: 2px; box-shadow: var(--pp-focus); }
.pp-theme-eventplace .pp-muted { color: var(--ep-text); }
.pp-theme-eventplace .skip-link { background: var(--ep-indigo); }

/* ---------- Boutons : 6 px, capitales grasses (« .btn » du template), plein indigo ou cerclé ---------- */
.pp-theme-eventplace .pp-btn { border-radius: 6px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: .86rem; }
.pp-theme-eventplace .pp-btn--lg { font-size: .92rem; padding-left: 28px; padding-right: 28px; }
.pp-theme-eventplace .pp-btn--sm { font-size: .76rem; }
.pp-theme-eventplace .pp-btn--primary, .pp-theme-eventplace .pp-home .pp-btn--primary, .pp-theme-eventplace .pp-evpage .pp-btn--primary { background: var(--ep-indigo); background-image: none; color: #fff; border: 0; box-shadow: 0 10px 30px rgba(47, 47, 137, .24); }
.pp-theme-eventplace .pp-btn--primary:hover, .pp-theme-eventplace .pp-evpage .pp-btn--primary:hover { background: var(--ep-indigo-2); background-image: none; filter: none; box-shadow: 0 14px 34px rgba(47, 47, 137, .32); }
.pp-theme-eventplace .pp-btn--ghost, .pp-theme-eventplace .pp-evpage .pp-btn--ghost { background: transparent; color: var(--ep-indigo); border: 2px solid var(--ep-indigo); }
.pp-theme-eventplace .pp-btn--ghost:hover, .pp-theme-eventplace .pp-evpage .pp-btn--ghost:hover { background: var(--ep-indigo); color: #fff; border-color: var(--ep-indigo); }
.pp-theme-eventplace .pp-btn--soft { background: var(--pp-coral-soft); color: var(--ep-indigo); }
.pp-theme-eventplace .pp-btn--soft:hover { background: #dedcf7; }
.pp-theme-eventplace .pp-btn--dark { background: var(--pp-night); color: #fff; }
.pp-theme-eventplace .pp-btn--light { background: #fff; color: var(--ep-indigo); border: 2px solid #fff; }
.pp-theme-eventplace .pp-chip { font-weight: 700; }
.pp-theme-eventplace .pp-chip--light { background: #fff; color: var(--ep-title); border-color: #dedaf0; }
.pp-theme-eventplace .pp-chip--light:hover { border-color: var(--ep-indigo); color: var(--ep-indigo); }
.pp-theme-eventplace .pp-chip--active { background: var(--ep-indigo); border-color: var(--ep-indigo); color: #fff; }
.pp-theme-eventplace .pp-input, .pp-theme-eventplace .pp-select, .pp-theme-eventplace .pp-textarea { border-radius: 6px; border-color: #d9d9d9; background: #fff; }
.pp-theme-eventplace .pp-input:focus, .pp-theme-eventplace .pp-select:focus, .pp-theme-eventplace .pp-textarea:focus { border-color: var(--ep-blue); box-shadow: var(--pp-focus); }
.pp-theme-eventplace .pp-check input { accent-color: var(--ep-indigo); }
.pp-theme-eventplace .pp-badge--featured { background: #fff; color: var(--ep-pink-ink); box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
.pp-theme-eventplace .pp-badge--hot { background: var(--ep-pink-ink); box-shadow: 0 2px 8px rgba(200, 21, 95, .3); }
.pp-theme-eventplace .pp-badge--verified { background: var(--pp-coral-soft); color: var(--ep-indigo); }
.pp-theme-eventplace .pp-pagination [aria-current="page"] { background: var(--ep-indigo); border-color: var(--ep-indigo); color: #fff; }
.pp-theme-eventplace .pp-alert { border-radius: 12px; }

/* ---------- En-tête : bande indigo (le template pose son menu blanc sur le dégradé du bandeau) ---------- */
.pp-theme-eventplace .pp-header, body.pp-theme-eventplace:has(.pp-home) .pp-header, body.pp-theme-eventplace:has(.pp-evpage) .pp-header, body.pp-theme-eventplace:has(.pp-stage) .pp-header {
  background: linear-gradient(92deg, #2a2a7e 0%, #3a2c9e 55%, #4b2bb0 100%); color: #fff; border-bottom: 0;
  box-shadow: 0 6px 24px rgba(29, 29, 92, .22); -webkit-backdrop-filter: none; backdrop-filter: none;
}
.pp-theme-eventplace .pp-header .pp-logo { color: #fff; font-weight: 900; letter-spacing: -.01em; }
.pp-theme-eventplace .pp-header .pp-logo__mark { background: #fff; border-radius: 9px; padding: 3px; }
.pp-theme-eventplace .pp-nav a { color: rgba(255, 255, 255, .9); font-weight: 700; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; border-radius: 0; box-shadow: none; white-space: nowrap; padding-left: 10px; padding-right: 10px; }
.pp-theme-eventplace .pp-header .pp-btn { white-space: nowrap; }
/* 2.71.0 : menu un peu plus serré sous 1440 px (le lien « Intervenants » de l'annuaire est plus long qu'« Artistes »). */
@media (max-width: 1439px) { .pp-theme-eventplace .pp-nav a { padding-left: 7px; padding-right: 7px; letter-spacing: .03em; } }
@media (max-width: 1199px) { .pp-theme-eventplace .pp-nav a { padding-left: 5px; padding-right: 5px; letter-spacing: .02em; } }
.pp-theme-eventplace .pp-nav a:hover, .pp-theme-eventplace .pp-nav a[aria-current="page"] { color: #fff; background: transparent; box-shadow: inset 0 -3px 0 var(--ep-cyan); }
.pp-theme-eventplace .pp-nav a::after { display: none !important; }
.pp-theme-eventplace .pp-nav a[href="/organizers"] { align-self: center; background: var(--ep-blue); color: #fff; border-radius: 6px; padding: 9px 16px; box-shadow: 0 8px 20px rgba(10, 20, 80, .3); }
.pp-theme-eventplace .pp-nav a[href="/organizers"]:hover { background: #2f4cc0; box-shadow: 0 8px 20px rgba(10, 20, 80, .3); }
.pp-theme-eventplace .pp-header .pp-iconbtn { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; }
.pp-theme-eventplace .pp-header .pp-iconbtn:hover { background: #fff; color: var(--ep-indigo); }
.pp-theme-eventplace .pp-header .pp-btn--light { background: transparent; color: #fff; border: 2px solid rgba(255, 255, 255, .7); }
.pp-theme-eventplace .pp-header .pp-btn--light:hover { background: #fff; color: var(--ep-indigo); border-color: #fff; }
.pp-theme-eventplace .pp-header .pp-btn--primary { background: var(--ep-blue); box-shadow: 0 8px 20px rgba(10, 20, 80, .3); }
.pp-theme-eventplace .pp-header .pp-socials__link { background: rgba(255, 255, 255, .1); color: #fff; }
.pp-theme-eventplace .pp-avatar { background: linear-gradient(135deg, #fe2676, #f9617b); color: #fff; box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); }
.pp-theme-eventplace .pp-menu__panel { border-radius: 12px; box-shadow: var(--pp-shadow-l); }
.pp-theme-eventplace .pp-menu__panel a:hover, .pp-theme-eventplace .pp-menu__panel button:hover { background: var(--pp-coral-soft); color: var(--ep-indigo); }
.pp-theme-eventplace .pp-notifdot { background: var(--ep-pink); box-shadow: 0 0 0 2px #3a2c9e; }
.pp-theme-eventplace .pp-themepreview { background: #1d1d5c; }

/* Barre d'onglets du téléphone : blanche, onglet actif indigo souligné */
.pp-theme-eventplace .pp-mobilenav { background: #fff; border-top: 0; box-shadow: 0 -8px 30px rgba(29, 29, 92, .1); }
.pp-theme-eventplace .pp-mobilenav a { color: var(--ep-text); font-weight: 700; }
.pp-theme-eventplace .pp-mobilenav a[aria-current="page"] { color: var(--ep-indigo); box-shadow: inset 0 3px 0 var(--ep-pink); }

/* ---------- Pied de page : indigo profond, liens soulignés au survol ---------- */
.pp-theme-eventplace .pp-footer, body.pp-theme-eventplace:has(.pp-home) .pp-footer, body.pp-theme-eventplace:has(.pp-evpage) .pp-footer {
  margin-top: 60px; padding-top: 64px; border-radius: 0; color: #c9cbef;
  background: radial-gradient(600px 260px at 92% 0%, rgba(254, 38, 118, .18), transparent 70%), radial-gradient(700px 300px at 0% 0%, rgba(92, 220, 242, .1), transparent 70%), linear-gradient(180deg, #23236b 0%, #17174a 100%);
}
.pp-theme-eventplace .pp-footer .pp-wave, .pp-theme-eventplace .pp-footer > svg { display: none; }
.pp-theme-eventplace .pp-footer::before, .pp-theme-eventplace .pp-footer::after { display: none; }
.pp-theme-eventplace .pp-footer h4, .pp-theme-eventplace .pp-footer .pp-logo { color: #fff; }
.pp-theme-eventplace .pp-footer h4 { text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; }
.pp-theme-eventplace .pp-footer a { color: #d9daf6; }
.pp-theme-eventplace .pp-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.pp-theme-eventplace .pp-footer p, .pp-theme-eventplace .pp-footer small { color: #c9cbef; }
.pp-theme-eventplace .pp-lang a { border-radius: 6px; }
.pp-theme-eventplace .pp-lang a[aria-current="true"], .pp-theme-eventplace .pp-footer .pp-lang a[aria-current="true"] { background: var(--ep-pink-ink); border-color: var(--ep-pink-ink); color: #fff; }

/* ==========================================================================
   CARTES D'ÉVÉNEMENT (« event-wrapper ») — partout : accueil, catalogue, similaires, favoris…
   ========================================================================== */
.pp-theme-eventplace .pp-event, .pp-theme-eventplace .pp-home .pp-event, .pp-theme-eventplace .pp-evpage .pp-evsimilar .pp-event {
  background: #fff; border: 0; border-radius: 12px; overflow: hidden; box-shadow: var(--ep-card-shadow); -webkit-backdrop-filter: none; backdrop-filter: none; transition: box-shadow .4s ease, transform .4s ease;
}
.pp-theme-eventplace .pp-event:hover, .pp-theme-eventplace .pp-home .pp-event:hover { background: #fff; transform: translateY(-4px); box-shadow: var(--ep-card-shadow-h); }
.pp-theme-eventplace .pp-event__media, .pp-theme-eventplace .pp-home .pp-event__media { margin: 0; border-radius: 12px 12px 0 0; aspect-ratio: 16 / 10; }
.pp-theme-eventplace .pp-event__fallback { background: linear-gradient(135deg, #6a2bc4 0%, #2f2f89 70%); }
/* Vignette carrée en haut à gauche (« event-logo ») : le jour et le mois */
.pp-theme-eventplace .pp-event__date, .pp-theme-eventplace .pp-home .pp-event__date { left: 15px; top: 15px; min-width: 58px; padding: 7px 8px 8px; border-radius: 6px; background: #fff; color: var(--ep-title); box-shadow: 0 6px 18px rgba(0, 0, 0, .16); -webkit-backdrop-filter: none; backdrop-filter: none; overflow: hidden; }
.pp-theme-eventplace .pp-event__date::before, .pp-theme-eventplace .pp-home .pp-event__date::before { display: none; }
.pp-theme-eventplace .pp-event__date b { padding: 0; font-size: 1.45rem; font-weight: 900; color: var(--ep-indigo); }
.pp-theme-eventplace .pp-event__date span { color: var(--ep-pink-ink); font-weight: 800; }
.pp-theme-eventplace .pp-event__fav, .pp-theme-eventplace .pp-home .pp-event__fav { background: #fff; border: 0; color: var(--ep-indigo); box-shadow: 0 6px 18px rgba(0, 0, 0, .14); }
.pp-theme-eventplace .pp-event__fav[aria-pressed="true"] { color: var(--ep-pink); }
.pp-theme-eventplace .pp-event__body { padding: 20px 22px 20px; gap: 8px; }
.pp-theme-eventplace .pp-event__title, .pp-theme-eventplace .pp-home .pp-event__title a { font-size: 1.15rem; font-weight: 800; line-height: 1.35; color: var(--ep-title); }
.pp-theme-eventplace .pp-event__title a:hover { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-event__meta, .pp-theme-eventplace .pp-home .pp-event__meta { color: var(--ep-text); font-size: .88rem; gap: 4px; }
.pp-theme-eventplace .pp-event__meta span { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.pp-theme-eventplace .pp-event__meta span::before { content: ""; flex: none; width: 15px; height: 15px; margin-top: 3px; background: var(--ep-title); -webkit-mask: var(--ep-ico) no-repeat center / contain; mask: var(--ep-ico) no-repeat center / contain; }
.pp-theme-eventplace .pp-event__meta span:nth-child(1) { --ep-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 10h18M8 3v4M16 3v4'/></svg>"); }
.pp-theme-eventplace .pp-event__meta span:nth-child(2) { --ep-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/><circle cx='12' cy='10' r='2.6'/></svg>"); }
.pp-theme-eventplace .pp-event__meta span:nth-child(3) { --ep-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><circle cx='12' cy='8' r='4'/><path d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/></svg>"); color: var(--ep-indigo); font-weight: 700; }
.pp-theme-eventplace .pp-event__price { padding-top: 12px; margin-top: auto; border-top: 1px solid #eeebf6; justify-content: flex-end; }
.pp-theme-eventplace .pp-event__price span:not(:empty) { display: inline-block; padding: 7px 12px 6px; border: 2px solid var(--ep-indigo); border-radius: 6px; color: var(--ep-indigo); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2; transition: background .3s ease, color .3s ease; }
.pp-theme-eventplace .pp-event:hover .pp-event__price span:not(:empty) { background: var(--ep-indigo); color: #fff; box-shadow: 0 10px 30px rgba(47, 47, 137, .24); }
.pp-theme-eventplace .pp-event__price span:empty { display: none; }
.pp-theme-eventplace .pp-event__price:has(span:empty) { border-top: 0; padding-top: 0; }
.pp-theme-eventplace .pp-event .pp-badge--free { background: var(--ep-blue); color: #fff; }

/* ==========================================================================
   ACCUEIL EVENTPLACE (vue themes/eventplace/pages/home.php)
   ========================================================================== */
.ep-home { position: relative; }
/* Bandeau : dégradé violet, arc lumineux, trame de points, affiches réelles en cadres arrondis */
.ep-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--ep-hero); padding: 70px 0 92px; }
.ep-hero__art { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ep-hero__arc { position: absolute; left: -22%; top: 18%; width: 980px; height: 980px; border-radius: 50%; background: radial-gradient(circle at 55% 35%, rgba(255, 255, 255, .13) 0%, rgba(255, 255, 255, .05) 45%, rgba(255, 255, 255, 0) 70%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
.ep-hero__glow { position: absolute; left: -120px; top: -140px; width: 420px; height: 420px; border-radius: 50%; background: rgba(255, 120, 90, .45); filter: blur(90px); }
.ep-hero__dots { position: absolute; right: 3%; top: 16%; width: 120px; height: 120px; background-image: radial-gradient(circle, rgba(255, 140, 200, .9) 2.4px, transparent 3px); background-size: 20px 20px; opacity: .65; }
.ep-hero__ph { position: absolute; overflow: hidden; background: rgba(255, 255, 255, .1); display: none; }
.ep-hero__ph img { width: 100%; height: 100%; object-fit: cover; }
.ep-hero__ph--a { right: 17%; top: 10%; width: 190px; height: 170px; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; box-shadow: 0 0 0 7px #2fc4e6, 0 26px 50px rgba(10, 8, 60, .4); transform: rotate(-6deg); }
.ep-hero__ph--b { right: -60px; bottom: 6%; width: 330px; height: 330px; border-radius: 50%; box-shadow: 0 0 0 10px rgba(255, 196, 64, .9), 0 30px 70px rgba(10, 8, 60, .45); }
.ep-shape { position: absolute; display: none; }
.ep-hero__inner { position: relative; max-width: var(--pp-container); }
.ep-hero__kicker { margin: 0 0 10px; color: var(--ep-cyan); font-weight: 800; font-size: 1.12rem; letter-spacing: .01em; }
.ep-hero h1 { margin: 0; max-width: 15ch; color: #fff; font-size: clamp(2.2rem, 3.8vw + .6rem, 4rem); line-height: 1.08; font-weight: 900; letter-spacing: -.02em; text-wrap: balance; }
.ep-hero h1 span { color: #fff; display: block; }
.ep-hero__lead { margin: 16px 0 0; max-width: 46ch; color: rgba(255, 255, 255, .88); font-size: 1.06rem; }
/* Recherche en barre blanche (« etn-event-search-wrapper ») à cellules séparées et bouton bleu */
.ep-hero__search { margin-top: 30px; max-width: 860px; }
.pp-theme-eventplace .ep-hero__search .pp-search { padding: 10px; border-radius: 12px; background: #fff; box-shadow: 0 10px 73px rgba(0, 0, 0, .16); gap: 0; border: 0; }
.pp-theme-eventplace .ep-hero__search .pp-search__cell { background: transparent; border-radius: 0; border: 0; border-bottom: 1px solid #e3e3e8; min-height: 54px; color: var(--ep-text); }
.pp-theme-eventplace .ep-hero__search .pp-search__cell svg { color: var(--ep-indigo); }
.pp-theme-eventplace .ep-hero__search .pp-search__cell input, .pp-theme-eventplace .ep-hero__search .pp-search__cell select { color: var(--ep-text); font-weight: 600; }
.pp-theme-eventplace .ep-hero__search .pp-search__cell input::placeholder { color: var(--ep-text); opacity: 1; }
.pp-theme-eventplace .ep-hero__search .pp-search__cell:focus-within { background: #f7f6fd; box-shadow: inset 0 -2px 0 var(--ep-blue); }
.pp-theme-eventplace .ep-hero__search .pp-search .pp-btn { margin-top: 10px; background: var(--ep-blue); box-shadow: 0 10px 26px rgba(58, 91, 217, .35); }
.pp-theme-eventplace .ep-hero__search .pp-search .pp-btn:hover { background: #2f4cc0; }
.ep-hero__chips { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.ep-hero__chips .pp-chip { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .3); color: #fff; }
.ep-hero__chips .pp-chip:hover { background: #fff; color: var(--ep-indigo); }
.ep-hero__chips .pp-chip svg { color: currentColor; }
@media (min-width: 768px) {
  .pp-theme-eventplace .ep-hero__search .pp-search { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; padding: 8px 8px 8px 6px; }
  .pp-theme-eventplace .ep-hero__search .pp-search__cell { border-bottom: 0; border-right: 1px solid #d8d8d8; padding: 0 18px; }
  .pp-theme-eventplace .ep-hero__search .pp-search__cell:nth-child(3) { border-right: 0; }
  .pp-theme-eventplace .ep-hero__search .pp-search .pp-btn { margin: 0 0 0 8px; min-height: 52px; border-radius: 999px; padding: 0 26px; }
}
@media (min-width: 1100px) {
  .ep-hero { padding: 104px 0 128px; }
  .ep-hero__ph { display: block; }
  .ep-hero__inner { padding-right: 360px; }
}
@media (min-width: 1100px) and (max-width: 1279px) { .ep-hero__ph--a { right: 22%; } .ep-hero__ph--b { width: 280px; height: 280px; } }
@media (max-width: 599px) { .ep-hero { padding: 44px 0 64px; } .ep-hero__arc { left: -80%; top: 30%; } .ep-hero__dots { top: 6%; right: -20px; } }

/* En-têtes de section : accroche rose + grand titre indigo, centrés (« Upcoming Event / Featured Events ») */
.ep-section { position: relative; padding-top: 56px; padding-bottom: 40px; }
.ep-head { text-align: center; max-width: 720px; margin: 0 auto 36px; }
.ep-head__kicker { display: block; margin-bottom: 6px; color: var(--ep-pink-ink); font-weight: 800; font-size: 1rem; letter-spacing: .02em; }
.ep-head h2 { margin: 0; font-size: clamp(1.75rem, 1.6vw + 1.1rem, 2.5rem); font-weight: 900; color: var(--ep-indigo); }
.ep-head p { margin: 10px auto 0; color: var(--ep-text); max-width: 56ch; }
.ep-head__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-weight: 800; color: var(--ep-indigo); }
.ep-railhead .ep-head__kicker { margin-bottom: 4px; }
.pp-theme-eventplace .pp-hsection__head h2 { color: var(--ep-indigo); font-weight: 900; }
.pp-theme-eventplace .pp-hsection__more { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-railbtn, .pp-theme-eventplace .pp-home .pp-railbtn { width: 46px; height: 46px; border-radius: 50%; background: var(--ep-indigo); color: #fff; border: 2px solid var(--ep-indigo); box-shadow: none; }
.pp-theme-eventplace .pp-railbtn:hover:not(:disabled) { background: #fff; color: var(--ep-indigo); }
.ep-grid { gap: 30px; }
.ep-center { text-align: center; margin-top: 34px; }
/* Décor discret de la section « À la une » (fleur au trait du template, recréée en CSS) */
.ep-deco--flower { position: absolute; right: 4%; top: 18px; width: 90px; height: 90px; opacity: .55; pointer-events: none; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23b9b3e6' stroke-width='1.6' stroke-linecap='round'><path d='M50 50c-6-14-4-30 6-40 6 12 4 28-6 40zM50 50c14-6 30-4 40 6-12 6-28 4-40-6zM50 50c6 14 4 30-6 40-6-12-4-28 6-40zM50 50c-14 6-30 4-40-6 12-6 28-4 40 6z'/></svg>") no-repeat center / contain; }
@media (max-width: 767px) { .ep-deco--flower { display: none; } }
/* Catégories (« category slider ») : cartes blanches centrées, pastille ronde colorée */
.ep-catbar { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 20px; }
.pp-theme-eventplace .pp-catbar__item, .pp-theme-eventplace .pp-home .pp-catbar__item { align-items: center; text-align: center; gap: 4px; padding: 28px 16px 22px; min-height: 186px; border-radius: 12px; background: #fff; border: 0; box-shadow: var(--ep-card-shadow); color: var(--ep-title); }
.pp-theme-eventplace .pp-catbar__item:hover { transform: translateY(-4px); box-shadow: var(--ep-card-shadow-h); border: 0; }
.pp-theme-eventplace .pp-catbar__icon { --c: #7840e3; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 50%; background: var(--c); color: #fff; box-shadow: 0 10px 30px color-mix(in srgb, var(--c) 40%, transparent); }
.pp-theme-eventplace .pp-catbar__item:hover .pp-catbar__icon { background: var(--c); color: #fff; transform: scale(1.06); }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+2) .pp-catbar__icon { --c: #1877f2; }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+3) .pp-catbar__icon { --c: #cf37b2; }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+4) .pp-catbar__icon { --c: #a34e00; }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+5) .pp-catbar__icon { --c: #2f2f89; }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+6) .pp-catbar__icon { --c: #e2445f; }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+7) .pp-catbar__icon { --c: #5b4bd6; }
.pp-theme-eventplace .pp-catbar li:nth-child(8n+8) .pp-catbar__icon { --c: #c8155f; }
.pp-theme-eventplace .pp-catbar__item b { font-size: 1rem; font-weight: 800; color: var(--ep-title); }
.pp-theme-eventplace .pp-catbar__item small { color: var(--ep-text); font-size: .86rem; font-weight: 600; }
@media (max-width: 599px) { .ep-catbar { grid-template-columns: none; grid-auto-columns: 40%; gap: 14px; padding-bottom: 22px; } .pp-theme-eventplace .pp-catbar__item { min-height: 160px; padding: 22px 12px 18px; } }
/* « À la une » sur téléphone : rangée qui défile (comme les autres rangées), pas six grandes cartes empilées */
@media (max-width: 767px) {
  .ep-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--pp-space-4)); padding: 4px var(--pp-space-4) 24px; }
  .ep-grid::-webkit-scrollbar { display: none; }
  .ep-grid > * { scroll-snap-align: start; }
  .ep-center { margin-top: 10px; }
}
/* Rangées */
.pp-theme-eventplace .pp-railx__track { padding-bottom: 26px; }
/* « Comment ça marche » : bandeau indigo du template */
.ep-how, .pp-theme-eventplace .pp-how { margin: 40px 0; padding: 0; background: transparent; color: #fff; overflow: visible; }
.pp-theme-eventplace .pp-how::before { display: none; }
.pp-theme-eventplace .pp-how .pp-wave { display: none; }
.pp-theme-eventplace .pp-how__grid, .pp-theme-eventplace .pp-home .pp-how__grid { position: relative; overflow: hidden; padding: 48px 40px; border-radius: 16px; border: 0; background: radial-gradient(500px 300px at 100% 0%, rgba(254, 38, 118, .35), transparent 70%), var(--ep-banner); box-shadow: 0 30px 70px rgba(47, 47, 137, .25); -webkit-backdrop-filter: none; backdrop-filter: none; }
@media (max-width: 599px) { .pp-theme-eventplace .pp-how__grid { padding: 32px 20px; } }
.pp-theme-eventplace .pp-how h2, .pp-theme-eventplace .pp-home .pp-how h2 { color: #fff; }
.pp-theme-eventplace .pp-how h2 .pp-accent { color: var(--ep-cyan); }
.pp-theme-eventplace .pp-how__lead, .pp-theme-eventplace .pp-how__steps span, .pp-theme-eventplace .pp-home .pp-how__lead, .pp-theme-eventplace .pp-home .pp-how__steps span { color: rgba(255, 255, 255, .86); }
.pp-theme-eventplace .pp-how__steps li, .pp-theme-eventplace .pp-home .pp-how__steps li { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); box-shadow: none; border-radius: 12px; }
.pp-theme-eventplace .pp-how__steps b { color: #fff; }
.pp-theme-eventplace .pp-how__steps li::before, .pp-theme-eventplace .pp-home .pp-how__steps li::before { background: #fff; color: var(--ep-indigo); font-family: var(--pp-font); font-style: normal; }
/* Lieux (« event locations ») : cartes blanches, nom centré, nombre dans une pastille cerclée */
.ep-locgrid { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.ep-loc { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 0 16px 26px; border-radius: 12px; background: #fff; box-shadow: var(--ep-card-shadow); color: var(--ep-title); overflow: hidden; transition: box-shadow .4s ease, transform .4s ease; }
.ep-loc::before { content: ""; align-self: stretch; height: 92px; margin: 0 -16px 0; background: radial-gradient(120px 80px at 80% 10%, rgba(255, 255, 255, .25), transparent 70%), linear-gradient(120deg, hsl(calc(250 + var(--i, 0) * 18) 62% 52%) 0%, hsl(calc(285 + var(--i, 0) * 14) 60% 46%) 100%); }
.ep-loc__pin { width: 54px; height: 54px; margin-top: -40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--ep-indigo); box-shadow: 0 8px 24px rgba(0, 0, 0, .14); }
.ep-loc__name { font-size: 1.15rem; font-weight: 800; color: var(--ep-title); }
.ep-loc__count { display: inline-block; padding: 7px 12px 6px; border: 2px solid rgba(54, 53, 143, .2); border-radius: 6px; font-size: .9rem; line-height: 1.1; color: var(--ep-text); }
.ep-loc:hover { transform: translateY(-4px); box-shadow: var(--ep-card-shadow-h); }
.ep-loc:hover .ep-loc__name { color: var(--ep-indigo); }
@media (max-width: 599px) { .ep-locgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .ep-loc__name { font-size: 1rem; } }
/* Organisateurs (« organizer grid ») */
.pp-theme-eventplace .pp-org, .pp-theme-eventplace .pp-orgcard, .pp-theme-eventplace .pp-home .pp-org { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--ep-card-shadow); padding: 20px; }
.pp-theme-eventplace .pp-org__logo, .pp-theme-eventplace .pp-home .pp-org__logo, .pp-theme-eventplace .pp-evpage .pp-org__logo { border-radius: 50%; background: linear-gradient(135deg, #ebeafb, #fde3ee); color: var(--ep-indigo); font-weight: 900; }
.pp-theme-eventplace .pp-org__name { color: var(--ep-title); font-weight: 800; }
/* Partenaires, collections, blocs d'accueil communs */
.pp-theme-eventplace .pp-partners__item a, .pp-theme-eventplace .pp-partners__item span { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--ep-card-shadow); }
.pp-theme-eventplace .pp-collection-chip { border-radius: 12px; border: 0; box-shadow: var(--ep-card-shadow); }
.pp-theme-eventplace .pp-orgsteps__kicker, .pp-theme-eventplace .pp-artisthead__kicker { color: var(--ep-pink-ink); }
.pp-theme-eventplace .pp-orgsteps__step { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--ep-card-shadow); }
.pp-theme-eventplace .pp-orgsteps__ico { background: var(--pp-coral-soft); color: var(--ep-indigo); border-radius: 50%; }
.pp-theme-eventplace .pp-orgsteps__num { color: #e3e0f3; }
.pp-theme-eventplace .pp-appdl__card { border-radius: 16px; background: var(--ep-banner); }
.pp-theme-eventplace .pp-appdl__card h2, .pp-theme-eventplace .pp-appdl__card h3 { color: #fff; }
.pp-theme-eventplace .pp-appdl__card p { color: rgba(255, 255, 255, .88); }
.pp-theme-eventplace .pp-cta h2 { text-wrap: balance; }
/* Appel final : carte blanche avec halo rose et formes du template */
.pp-theme-eventplace .pp-cta, .pp-theme-eventplace .pp-home .pp-cta { position: relative; overflow: hidden; border-radius: 16px; border: 0; background: #fff; box-shadow: var(--ep-card-shadow); color: var(--ep-title); }
.pp-theme-eventplace .pp-cta::before { display: none; }
.pp-theme-eventplace .pp-cta h2 { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-cta p { color: var(--ep-text); }
.ep-cta__shapes { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(260px 200px at 100% 100%, rgba(254, 38, 118, .14), transparent 70%), radial-gradient(240px 180px at 0% 0%, rgba(47, 47, 137, .1), transparent 70%); }
.pp-theme-eventplace .pp-empty { border-radius: 12px; background: #fff; border: 0; box-shadow: var(--ep-card-shadow); }

/* ==========================================================================
   PAGES INTÉRIEURES : catalogue, fil d'Ariane, filtres, pages fixes
   ========================================================================== */
.pp-theme-eventplace .pp-crumbs, .pp-theme-eventplace .pp-breadcrumb { color: var(--ep-text); }
.pp-theme-eventplace .pp-crumbs a:hover { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-search { border-radius: 12px; box-shadow: 0 10px 40px rgba(40, 40, 100, .08); }
.pp-theme-eventplace .pp-search__cell { background: var(--pp-surface-2); border-radius: 6px; }
.pp-theme-eventplace .pp-search__cell svg { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-searchlayout .pp-search .pp-btn, .pp-theme-eventplace main > .pp-container > .pp-search .pp-btn { background: var(--ep-indigo); }
.pp-theme-eventplace .pp-filters { border-radius: 12px; }
.pp-theme-eventplace .pp-filters legend { color: var(--ep-title); font-weight: 800; }
.pp-theme-eventplace .pp-hero:not(.pp-hero--home) { color: #fff; background: radial-gradient(500px 260px at 90% 0%, rgba(254, 38, 118, .3), transparent 70%), var(--ep-banner); }
.pp-theme-eventplace .pp-hero:not(.pp-hero--home) h1, .pp-theme-eventplace .pp-hero:not(.pp-hero--home) h2, .pp-theme-eventplace .pp-hero:not(.pp-hero--home) p { color: #fff; }
.pp-theme-eventplace .pp-hero .pp-wave { display: none; }
.pp-theme-eventplace .pp-card, .pp-theme-eventplace .pp-panel { border-radius: 12px; border-color: #ebe8f5; }
.pp-theme-eventplace .pp-tabs a[aria-current="page"], .pp-theme-eventplace .pp-tabs [aria-selected="true"] { color: var(--ep-indigo); border-color: var(--ep-indigo); }
.pp-theme-eventplace .pp-faq[open] { border-color: rgba(47, 47, 137, .35); }

/* ==========================================================================
   PAGE ÉVÉNEMENT (« single event ») — bandeau en dégradé, sections en cartes blanches
   ========================================================================== */
.pp-theme-eventplace .pp-evpage {
  --g-bg: #fff; --g-bg-strong: #fff; --g-line: transparent;
  --g-shadow: 0 10px 60px rgba(0, 0, 0, .06); --g-blur: none;
  --soft-ink: #283746; --soft-accent: linear-gradient(135deg, #fe2676 0%, #f9617b 100%);
  background: var(--ep-bg);
}
body.pp-theme-eventplace:has(.pp-evpage) { background: var(--ep-bg); }
.pp-theme-eventplace .pp-evpage .pp-eventhero::before { background: radial-gradient(700px 400px at 90% 0%, rgba(254, 38, 118, .28), transparent 62%), linear-gradient(118deg, rgba(106, 43, 196, .9) 0%, rgba(74, 42, 176, .92) 45%, rgba(47, 47, 137, .95) 100%); }
.pp-theme-eventplace .pp-evpage .pp-eventhero::after { background: linear-gradient(180deg, rgba(243, 240, 251, 0) 0%, rgba(243, 240, 251, .85) 75%, #f3f0fb 100%); }
.pp-theme-eventplace .pp-evpage .pp-evhero__bg { opacity: .55; }
.pp-theme-eventplace .pp-eventhero h1, .pp-theme-eventplace .pp-evhero__title, .pp-theme-eventplace .pp-eventhero h2 { color: #fff; }
.pp-theme-eventplace .pp-evfacts small, .pp-theme-eventplace .pp-eventhero small, .pp-theme-eventplace .pp-evhero__lead { color: rgba(255, 255, 255, .84); }
.pp-theme-eventplace .pp-evtickets__head h2, .pp-theme-eventplace .pp-evpage .pp-evtickets__head h2 { color: #fff; }
.pp-theme-eventplace .pp-evtickets__head small, .pp-theme-eventplace .pp-evtickets__head .pp-plusfees { color: rgba(255, 255, 255, .78); }
.pp-theme-eventplace .pp-evpage .pp-countdown__label, .pp-theme-eventplace .pp-evpage .pp-evfacts__ico { color: var(--ep-cyan); font-family: var(--pp-font); font-style: normal; font-weight: 800; }
.pp-theme-eventplace .pp-evfacts a, .pp-theme-eventplace a.pp-evhero__chip { color: var(--ep-cyan); }
.pp-theme-eventplace .pp-evhero__poster, .pp-theme-eventplace .pp-eventhero__media { border-radius: 12px; }
.pp-theme-eventplace .pp-evpage .pp-evnav { background: #fff; border: 0; box-shadow: 0 8px 30px rgba(40, 40, 100, .08); -webkit-backdrop-filter: none; backdrop-filter: none; }
.pp-theme-eventplace .pp-evpage .pp-evnav a { color: var(--ep-text); font-weight: 700; text-transform: uppercase; font-size: .8rem; letter-spacing: .05em; }
.pp-theme-eventplace .pp-evpage .pp-evnav a::after { background: var(--ep-indigo); }
.pp-theme-eventplace .pp-evpage .pp-evnav a[aria-current="true"], .pp-theme-eventplace .pp-evpage .pp-evnav a:hover { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-evpage .pp-evsection, .pp-theme-eventplace .pp-evpage .pp-evcard, .pp-theme-eventplace .pp-evpage .pp-org { background: #fff; border: 0; border-radius: 12px; box-shadow: var(--ep-card-shadow); -webkit-backdrop-filter: none; backdrop-filter: none; }
.pp-theme-eventplace .pp-evpage .pp-evsection h2, .pp-theme-eventplace .pp-evpage .pp-evcard h2 { color: var(--ep-indigo); font-weight: 800; }
.pp-theme-eventplace .pp-evpage .pp-evsection > h2::before { background: linear-gradient(180deg, #fe2676, #f9617b); }
.pp-theme-eventplace .pp-evpage .pp-evsection .pp-prose { color: var(--ep-text); }
.pp-theme-eventplace .pp-evpage .pp-evcard__ico { background: var(--pp-coral-soft); color: var(--ep-indigo); }
.pp-theme-eventplace .pp-evpage .pp-evcard__tile { background: #fff; border-color: #e8e5f4; }
.pp-theme-eventplace .pp-evpage .pp-evcard__tile span { background: var(--ep-indigo); color: #fff; }
.pp-theme-eventplace .pp-evpage .pp-goodtoknow > div, .pp-theme-eventplace .pp-evpage .pp-faq details { background: var(--pp-surface-2); border: 1px solid #ebe8f5; }
.pp-theme-eventplace .pp-evpage .pp-evsimilar h2::after, .pp-theme-eventplace .pp-section__head h2::after { background: var(--pp-grad); }
/* Billets (« ticket widget ») : en-tête indigo, lignes à bordure fine */
.pp-theme-eventplace .pp-evpage .pp-evtickets { background: #fff; border: 0; border-radius: 12px; box-shadow: 0 18px 60px rgba(40, 40, 100, .12); }
.pp-theme-eventplace .pp-evpage .pp-evtickets__head, .pp-theme-eventplace .pp-evtickets__head { background: var(--ep-banner); color: #fff; }
.pp-theme-eventplace .pp-evpage .pp-evtickets__head span { color: #ffd0e2; }
.pp-theme-eventplace .pp-evpage .pp-ticket, .pp-theme-eventplace .pp-ticket { background: #fff; border: 1px solid #e6e2f3; border-radius: 10px; box-shadow: none; }
.pp-theme-eventplace .pp-qty button, .pp-theme-eventplace .pp-stepper button { border-radius: 50%; color: var(--ep-indigo); border-color: #d7d3ee; }
.pp-theme-eventplace .pp-buybar, body.pp-theme-eventplace:has(.pp-evpage) .pp-buybar { background: #fff; border-top: 0; box-shadow: 0 -10px 30px rgba(29, 29, 92, .12); color: var(--ep-title); }
.pp-theme-eventplace .pp-share__btn, .pp-theme-eventplace .pp-share a { border-radius: 50%; }
/* 2.66 / 2.67 : Jour J, questions, avis, « Qui y va ? », galerie et vidéos, statuts */
.pp-theme-eventplace .pp-daychip--live { background: #fde3ee; color: var(--ep-pink-ink); }
.pp-theme-eventplace .pp-day__note { background: #fdf0f5; border-color: #f7c6da; }
.pp-theme-eventplace .pp-qa__badge { background: #fde3ee; color: var(--ep-pink-ink); }
.pp-theme-eventplace .pp-qa__msg--org { background: var(--pp-coral-soft); border-left-color: var(--ep-indigo); }
.pp-theme-eventplace .pp-agenda__artist, .pp-theme-eventplace .pp-aff--busy { color: var(--ep-pink-ink); }
.pp-theme-eventplace .pp-stars, .pp-theme-eventplace .pp-review-sum .pp-stars { color: #f5a524; }
.pp-theme-eventplace .pp-gallery a, .pp-theme-eventplace .pp-gallery button, .pp-theme-eventplace .pp-gallery img { border-radius: 10px; }
.pp-theme-eventplace .pp-gallery__video::after { border-color: #fff; }
.pp-theme-eventplace .pp-story-ring.is-unseen .pp-story-ring__pic { background: conic-gradient(from 210deg, #fe2676, #6a2bc4, #f9617b, #fe2676); }
.pp-theme-eventplace .pp-who .pp-avatar, .pp-theme-eventplace .pp-holders .pp-avatar { box-shadow: 0 0 0 2px #fff; }

/* ==========================================================================
   PAIEMENT, COMPTE, CONNEXION
   ========================================================================== */
.pp-theme-eventplace .pp-steps [aria-current="step"], .pp-theme-eventplace .pp-steps .is-active { color: var(--ep-indigo); }
.pp-theme-eventplace .pp-payopt:has(input:checked) { border-color: var(--ep-indigo); box-shadow: 0 0 0 3px rgba(47, 47, 137, .15); }
.pp-theme-eventplace .pp-account__nav a[aria-current="page"] { background: var(--pp-coral-soft); color: var(--ep-indigo); }
.pp-theme-eventplace .pp-dticket__top { background: var(--ep-banner); }
.pp-theme-eventplace .pp-auth { border-radius: 16px; box-shadow: var(--pp-shadow-l); }
.pp-theme-eventplace .pp-auth h1 { color: #fff; background-color: var(--ep-indigo); background-image: radial-gradient(circle at 92% 0, rgba(254, 38, 118, .55), transparent 55%), var(--ep-hero); }
.pp-theme-eventplace .pp-queue__card { background: var(--ep-banner); }
.pp-theme-eventplace .pp-heroticket__stub::before, .pp-theme-eventplace .pp-heroticket__stub::after { background: var(--ep-bg); }
.pp-theme-eventplace .pp-simpay { border-color: #f9617b; background: #fff6f8; }
.pp-theme-eventplace .pp-qr, .pp-theme-eventplace .pp-qrfull { background: #fff; }

/* ==========================================================================
   VARIANTE « EVENTPLACE NUIT » — même design, fond sombre (contrastes AA vérifiés)
   Texte #eef0ff / #10102a 16.4:1 ; secondaire #b3b6d9 / #191a3d 8.4:1 ; liens #a5a8ff / #191a3d 7.7:1 ;
   rose #ff7aa8 / #191a3d 6.9:1 ; bouton #4b4bd6 / texte blanc 6.4:1. Les QR restent sur blanc.
   ========================================================================== */
.pp-theme-eventplace_nuit {
  color-scheme: dark;
  --ep-title: #eef0ff; --ep-text: #b3b6d9; --ep-bg: #10102a; --ep-pink-ink: #ff7aa8; --ep-indigo-l: #a5a8ff;
  --ep-card-shadow: 0 12px 40px rgba(0, 0, 0, .35); --ep-card-shadow-h: 0 18px 50px rgba(0, 0, 0, .5), 0 0 0 1px rgba(165, 168, 255, .25);
  --pp-ink: #eef0ff; --pp-ink-2: #d4d6f3; --pp-muted: #b3b6d9; --pp-line: #2c2d5e; --pp-border: #2c2d5e;
  --pp-bg: #10102a; --pp-surface: #191a3d; --pp-surface-2: #22234f; --pp-tint: #16163a;
  --pp-coral-ink: #a5a8ff; --pp-coral-btn: #4b4bd6; --pp-coral-btn-2: #3c3cc0; --pp-coral-soft: #26275a;
  --pp-ok: #7ddc9f; --pp-ok-soft: #15332a; --pp-warn: #ffc46b; --pp-warn-soft: #3a2c14; --pp-err: #ff8a8a; --pp-err-soft: #3d1628;
  --pp-shadow-s: 0 2px 8px rgba(0, 0, 0, .35); --pp-shadow: 0 12px 30px rgba(0, 0, 0, .4); --pp-shadow-l: 0 24px 60px rgba(0, 0, 0, .55);
  --pp-glow: 0 10px 28px rgba(75, 75, 214, .4); --pp-focus: 0 0 0 3px rgba(165, 168, 255, .6);
}
body.pp-theme-eventplace_nuit { background: #10102a; color: var(--ep-text); }
.pp-theme-eventplace_nuit h1, .pp-theme-eventplace_nuit h2, .pp-theme-eventplace_nuit .ep-head h2, .pp-theme-eventplace_nuit .pp-hsection__head h2 { color: #eef0ff; }
.pp-theme-eventplace_nuit h3, .pp-theme-eventplace_nuit h4 { color: #eef0ff; }
.pp-theme-eventplace_nuit ::selection { background: #a5a8ff; color: #10102a; }
.pp-theme-eventplace_nuit a { color: inherit; }
.pp-theme-eventplace_nuit .pp-link, .pp-theme-eventplace_nuit .pp-prose a, .pp-theme-eventplace_nuit .pp-hsection__more, .pp-theme-eventplace_nuit .ep-head__more { color: #a5a8ff; }
.pp-theme-eventplace_nuit :focus-visible { outline-color: #a5a8ff; }
/* Boutons */
.pp-theme-eventplace_nuit .pp-btn--primary, .pp-theme-eventplace_nuit .pp-evpage .pp-btn--primary, .pp-theme-eventplace_nuit .pp-home .pp-btn--primary { background: #4b4bd6; box-shadow: 0 10px 30px rgba(75, 75, 214, .35); }
.pp-theme-eventplace_nuit .pp-btn--primary:hover, .pp-theme-eventplace_nuit .pp-evpage .pp-btn--primary:hover { background: #3c3cc0; }
.pp-theme-eventplace_nuit .pp-btn--ghost, .pp-theme-eventplace_nuit .pp-evpage .pp-btn--ghost { color: #d4d6f3; border-color: #4a4c8f; background: transparent; }
.pp-theme-eventplace_nuit .pp-btn--ghost:hover, .pp-theme-eventplace_nuit .pp-evpage .pp-btn--ghost:hover { background: #4b4bd6; border-color: #4b4bd6; color: #fff; }
.pp-theme-eventplace_nuit .pp-btn--soft { background: #26275a; color: #d4d6f3; }
.pp-theme-eventplace_nuit .pp-btn--soft:hover { background: #30316b; }
.pp-theme-eventplace_nuit .pp-btn--light { background: #22234f; color: #eef0ff; border-color: #22234f; }
.pp-theme-eventplace_nuit .pp-chip--light { background: #191a3d; color: #d4d6f3; border-color: #34356a; }
.pp-theme-eventplace_nuit .pp-chip--active { background: #4b4bd6; border-color: #4b4bd6; }
.pp-theme-eventplace_nuit .pp-input, .pp-theme-eventplace_nuit .pp-select, .pp-theme-eventplace_nuit .pp-textarea { background: #141535; color: #eef0ff; border-color: #34356a; }
.pp-theme-eventplace_nuit .pp-input::placeholder, .pp-theme-eventplace_nuit .pp-textarea::placeholder { color: #9ea2c9; }
/* En-tête, onglets, pied de page */
.pp-theme-eventplace_nuit .pp-header, body.pp-theme-eventplace_nuit:has(.pp-home) .pp-header, body.pp-theme-eventplace_nuit:has(.pp-evpage) .pp-header { background: linear-gradient(92deg, #17174a 0%, #221d63 60%, #2d1f74 100%); box-shadow: 0 6px 24px rgba(0, 0, 0, .4); border-bottom: 1px solid rgba(165, 168, 255, .14); }
.pp-theme-eventplace_nuit .pp-mobilenav, .pp-theme-eventplace_nuit .pp-buybar, body.pp-theme-eventplace_nuit:has(.pp-evpage) .pp-buybar { background: #17183a; border-top: 1px solid #2c2d5e; box-shadow: 0 -8px 28px rgba(0, 0, 0, .45); color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-mobilenav a { color: #b3b6d9; }
.pp-theme-eventplace_nuit .pp-mobilenav a[aria-current="page"] { color: #fff; }
.pp-theme-eventplace_nuit .pp-footer, body.pp-theme-eventplace_nuit:has(.pp-home) .pp-footer, body.pp-theme-eventplace_nuit:has(.pp-evpage) .pp-footer { background: radial-gradient(600px 260px at 92% 0%, rgba(254, 38, 118, .14), transparent 70%), linear-gradient(180deg, #0c0c22 0%, #08081a 100%); border-top: 1px solid #22234f; }
.pp-theme-eventplace_nuit .pp-menu__panel { background: #191a3d; color: #eef0ff; border: 1px solid #2c2d5e; }
.pp-theme-eventplace_nuit .pp-menu__panel a:hover, .pp-theme-eventplace_nuit .pp-menu__panel button:hover { background: #26275a; color: #fff; }
.pp-theme-eventplace_nuit .pp-notifdot { box-shadow: 0 0 0 2px #221d63; }
/* Cartes */
.pp-theme-eventplace_nuit .pp-event, .pp-theme-eventplace_nuit .pp-home .pp-event, .pp-theme-eventplace_nuit .pp-evpage .pp-evsimilar .pp-event, .pp-theme-eventplace_nuit .pp-event:hover,
.pp-theme-eventplace_nuit .pp-catbar__item, .pp-theme-eventplace_nuit .ep-loc, .pp-theme-eventplace_nuit .pp-org, .pp-theme-eventplace_nuit .pp-orgcard, .pp-theme-eventplace_nuit .pp-home .pp-org,
.pp-theme-eventplace_nuit .pp-partners__item a, .pp-theme-eventplace_nuit .pp-partners__item span, .pp-theme-eventplace_nuit .pp-collection-chip, .pp-theme-eventplace_nuit .pp-orgsteps__step,
.pp-theme-eventplace_nuit .pp-cta, .pp-theme-eventplace_nuit .pp-empty, .pp-theme-eventplace_nuit .pp-card, .pp-theme-eventplace_nuit .pp-panel, .pp-theme-eventplace_nuit .pp-filters, .pp-theme-eventplace_nuit .pp-auth {
  background: #191a3d; color: #eef0ff; border-color: #2c2d5e;
}
.pp-theme-eventplace_nuit .pp-event, .pp-theme-eventplace_nuit .pp-catbar__item, .pp-theme-eventplace_nuit .ep-loc, .pp-theme-eventplace_nuit .pp-cta, .pp-theme-eventplace_nuit .pp-org { box-shadow: var(--ep-card-shadow), inset 0 0 0 1px rgba(165, 168, 255, .1); }
.pp-theme-eventplace_nuit .pp-event__date, .pp-theme-eventplace_nuit .pp-home .pp-event__date { background: #fff; }
.pp-theme-eventplace_nuit .pp-event__date b { color: #2f2f89; }
.pp-theme-eventplace_nuit .pp-event__date span { color: #c8155f; }
.pp-theme-eventplace_nuit .pp-event__title a, .pp-theme-eventplace_nuit .pp-event__title { color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-event__title a:hover { color: #a5a8ff; }
.pp-theme-eventplace_nuit .pp-event__meta span::before { background: #a5a8ff; }
.pp-theme-eventplace_nuit .pp-event__meta span:nth-child(3) { color: #a5a8ff; }
.pp-theme-eventplace_nuit .pp-event__price { border-top-color: #2c2d5e; }
.pp-theme-eventplace_nuit .pp-event__price span:not(:empty) { border-color: #a5a8ff; color: #d4d6f3; }
.pp-theme-eventplace_nuit .pp-event:hover .pp-event__price span:not(:empty) { background: #4b4bd6; border-color: #4b4bd6; color: #fff; }
.pp-theme-eventplace_nuit .pp-event__fav, .pp-theme-eventplace_nuit .pp-home .pp-event__fav { background: #191a3d; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-event .pp-badge--free { background: #4b4bd6; }
.pp-theme-eventplace_nuit .pp-badge--featured { background: #26275a; color: #ffb3cd; box-shadow: none; }
.pp-theme-eventplace_nuit .pp-badge--past, .pp-theme-eventplace_nuit .pp-badge { border-color: #34356a; }
.pp-theme-eventplace_nuit .pp-badge--soon { background: #2d2560; color: #d6ccff; }
.pp-theme-eventplace_nuit .pp-badge--online { background: #13304a; color: #9fd8ff; }
.pp-theme-eventplace_nuit .pp-catbar__item b, .pp-theme-eventplace_nuit .ep-loc__name, .pp-theme-eventplace_nuit .pp-org__name { color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-catbar__item small, .pp-theme-eventplace_nuit .ep-loc__count { color: #b3b6d9; border-color: #34356a; }
.pp-theme-eventplace_nuit .ep-loc__pin { background: #22234f; color: #fff; }
.pp-theme-eventplace_nuit .pp-org__logo, .pp-theme-eventplace_nuit .pp-home .pp-org__logo, .pp-theme-eventplace_nuit .pp-evpage .pp-org__logo { background: linear-gradient(135deg, #2d2e6b, #4a2153); color: #fff; }
.pp-theme-eventplace_nuit .pp-orgsteps__ico { background: #26275a; color: #fff; }
.pp-theme-eventplace_nuit .pp-orgsteps__num { color: rgba(255, 255, 255, .12); }
.pp-theme-eventplace_nuit .pp-cta h2 { color: #fff; }
.pp-theme-eventplace_nuit .ep-cta__shapes { background: radial-gradient(260px 200px at 100% 100%, rgba(254, 38, 118, .2), transparent 70%), radial-gradient(240px 180px at 0% 0%, rgba(165, 168, 255, .14), transparent 70%); }
.pp-theme-eventplace_nuit .pp-railbtn, .pp-theme-eventplace_nuit .pp-home .pp-railbtn { background: #4b4bd6; border-color: #4b4bd6; }
.pp-theme-eventplace_nuit .pp-railbtn:hover:not(:disabled) { background: transparent; color: #fff; border-color: #a5a8ff; }
/* Bandeau d'accueil : nuit profonde, halos indigo et rose */
.pp-theme-eventplace_nuit .ep-hero { background: radial-gradient(700px 420px at 85% 30%, rgba(254, 38, 118, .22), transparent 65%), radial-gradient(800px 500px at 10% 0%, rgba(106, 43, 196, .45), transparent 65%), linear-gradient(160deg, #1b1650 0%, #121238 55%, #10102a 100%); }
.pp-theme-eventplace_nuit .ep-hero__glow { background: rgba(106, 43, 196, .55); }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search { background: #191a3d; box-shadow: 0 10px 60px rgba(0, 0, 0, .5), inset 0 0 0 1px #2c2d5e; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search__cell { border-color: #34356a; color: #eef0ff; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search__cell svg { color: #a5a8ff; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search__cell input, .pp-theme-eventplace_nuit .ep-hero__search .pp-search__cell select { color: #eef0ff; background: transparent; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search__cell input::placeholder { color: #b3b6d9; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search__cell:focus-within { background: #22234f; box-shadow: inset 0 -2px 0 #a5a8ff; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search .pp-btn { background: #4b4bd6; }
.pp-theme-eventplace_nuit .ep-hero__search .pp-search .pp-btn:hover { background: #3c3cc0; }
.pp-theme-eventplace_nuit select option { background: #191a3d; color: #eef0ff; }
.pp-theme-eventplace_nuit .ep-deco--flower { opacity: .3; }
/* Catalogue et pages intérieures */
.pp-theme-eventplace_nuit .pp-search, .pp-theme-eventplace_nuit .pp-home .pp-search { background: #191a3d; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
.pp-theme-eventplace_nuit .pp-search__cell { background: #22234f; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-search__cell svg { color: #a5a8ff; }
.pp-theme-eventplace_nuit .pp-search input, .pp-theme-eventplace_nuit .pp-search select { color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-search input::placeholder { color: #9ea2c9; }
.pp-theme-eventplace_nuit .pp-searchlayout .pp-search .pp-btn, .pp-theme-eventplace_nuit main > .pp-container > .pp-search .pp-btn { background: #4b4bd6; }
.pp-theme-eventplace_nuit .pp-sheet, .pp-theme-eventplace_nuit .pp-modal__box, .pp-theme-eventplace_nuit .pp-drawer, .pp-theme-eventplace_nuit dialog { background: #191a3d; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-skel { background: linear-gradient(90deg, #1d1e45 0%, #26275a 40%, #1d1e45 80%); background-size: 800px 100%; }
.pp-theme-eventplace_nuit .pp-crumbs a, .pp-theme-eventplace_nuit .pp-crumbs { color: #b3b6d9; }
.pp-theme-eventplace_nuit .pp-table th { color: #b3b6d9; }
.pp-theme-eventplace_nuit .pp-table td, .pp-theme-eventplace_nuit .pp-table th { border-color: #2c2d5e; }
.pp-theme-eventplace_nuit .pp-alert--info { background: #1b2550; color: #cfe0ff; }
.pp-theme-eventplace_nuit .pp-alert--warn { background: #3a2c14; color: #ffd796; }
.pp-theme-eventplace_nuit .pp-alert--err { background: #3d1628; color: #ffb3b3; }
.pp-theme-eventplace_nuit .pp-alert--ok { background: #15332a; color: #a6f0c2; }
/* Page événement */
.pp-theme-eventplace_nuit .pp-evpage { --g-bg: #191a3d; --soft-ink: #eef0ff; background: radial-gradient(900px 600px at 95% 30%, rgba(106, 43, 196, .18), transparent 62%), #10102a; color: #eef0ff; }
body.pp-theme-eventplace_nuit:has(.pp-evpage) { background: #10102a; }
.pp-theme-eventplace_nuit .pp-evpage .pp-eventhero::after { background: linear-gradient(180deg, rgba(16, 16, 42, 0) 0%, rgba(16, 16, 42, .85) 75%, #10102a 100%); }
.pp-theme-eventplace_nuit .pp-evpage .pp-eventhero::before { background: radial-gradient(700px 400px at 90% 0%, rgba(254, 38, 118, .22), transparent 62%), linear-gradient(118deg, rgba(40, 24, 100, .92) 0%, rgba(22, 20, 70, .95) 60%, rgba(16, 16, 42, .97) 100%); }
.pp-theme-eventplace_nuit .pp-evpage .pp-evnav { background: #17183a; box-shadow: 0 8px 30px rgba(0, 0, 0, .4); border-bottom: 1px solid #2c2d5e; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evnav a { color: #b3b6d9; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evnav a[aria-current="true"], .pp-theme-eventplace_nuit .pp-evpage .pp-evnav a:hover { color: #fff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evnav a::after { background: #a5a8ff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evsection, .pp-theme-eventplace_nuit .pp-evpage .pp-evcard, .pp-theme-eventplace_nuit .pp-evpage .pp-org, .pp-theme-eventplace_nuit .pp-evpage .pp-evtickets { background: #191a3d; color: #eef0ff; box-shadow: var(--ep-card-shadow), inset 0 0 0 1px rgba(165, 168, 255, .1); }
.pp-theme-eventplace_nuit .pp-evpage .pp-evsection h2, .pp-theme-eventplace_nuit .pp-evpage .pp-evcard h2 { color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evsection .pp-prose, .pp-theme-eventplace_nuit .pp-prose { color: #d4d6f3; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evcard__ico { background: #26275a; color: #c9cbff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evcard__tile { background: #22234f; border-color: #34356a; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evcard__tile span { background: #4b4bd6; }
.pp-theme-eventplace_nuit .pp-evpage .pp-goodtoknow > div, .pp-theme-eventplace_nuit .pp-evpage .pp-faq details { background: #22234f; border-color: #34356a; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-ticket, .pp-theme-eventplace_nuit .pp-ticket { background: #22234f; border-color: #34356a; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-evpage .pp-evtickets__head, .pp-theme-eventplace_nuit .pp-evtickets__head { background: linear-gradient(92deg, #2f2f89 0%, #4a2ab0 100%); }
.pp-theme-eventplace_nuit .pp-qty button, .pp-theme-eventplace_nuit .pp-stepper button { background: #26275a; color: #eef0ff; border-color: #34356a; }
.pp-theme-eventplace_nuit .pp-daychip--live, .pp-theme-eventplace_nuit .pp-qa__badge { background: rgba(254, 38, 118, .18); color: #ffb3cd; }
.pp-theme-eventplace_nuit .pp-day__note { background: rgba(254, 38, 118, .1); border-color: rgba(254, 38, 118, .3); }
.pp-theme-eventplace_nuit .pp-qa__msg--org { background: #26275a; border-left-color: #a5a8ff; }
.pp-theme-eventplace_nuit .pp-agenda__artist, .pp-theme-eventplace_nuit .pp-aff--busy { color: #ffb3cd; }
.pp-theme-eventplace_nuit .pp-who .pp-avatar, .pp-theme-eventplace_nuit .pp-holders .pp-avatar { box-shadow: 0 0 0 2px #191a3d; }
/* Compte, paiement, billets, connexion — les QR restent sur blanc pour le scan */
.pp-theme-eventplace_nuit .pp-account__nav a[aria-current="page"] { background: #26275a; color: #fff; }
.pp-theme-eventplace_nuit .pp-payopt { background: #191a3d; border-color: #34356a; }
.pp-theme-eventplace_nuit .pp-payopt:has(input:checked) { border-color: #a5a8ff; box-shadow: 0 0 0 3px rgba(165, 168, 255, .2); }
.pp-theme-eventplace_nuit .pp-heroticket { background: #191a3d; color: #eef0ff; }
.pp-theme-eventplace_nuit .pp-heroticket__stub::before, .pp-theme-eventplace_nuit .pp-heroticket__stub::after { background: #10102a; }
.pp-theme-eventplace_nuit .pp-simpay { background: #2a1f30; border-color: #f9617b; }
.pp-theme-eventplace_nuit .pp-offline-note { background: #3a2c14; color: #ffc46b; border-color: #6b4a1a; }
.pp-theme-eventplace_nuit .pp-qrfull, .pp-theme-eventplace_nuit .pp-qr, .pp-theme-eventplace_nuit .pp-qr img, .pp-theme-eventplace_nuit .pp-ticketqr, .pp-theme-eventplace_nuit .pp-dynqr svg { background: #fff; }
.pp-theme-eventplace_nuit .pp-qrfull { color: #14122b; }
.pp-theme-eventplace_nuit .pp-row__thumb { background: linear-gradient(135deg, #2d2e6b, #4a2153); color: #fff; }

/* ==========================================================================
   VARIANTE « EVENTPLACE VIBE » — esprit « Eventin Pro » : base indigo, actions rose / corail, formes créatives
   Bouton #d1105a → #b80d4f / texte blanc 5.3–6.6:1 ; rose texte #c2105a / blanc 6:1. Le rose vif #fe2676 et le
   corail #f9617b restent décoratifs (formes, halos, filets).
   ========================================================================== */
.pp-theme-eventplace_vibe {
  --ep-bg: #f8f3fb; --ep-pink-ink: #c2105a; --ep-blue: #d1105a;
  --pp-bg: #f8f3fb; --pp-coral-soft: #fde6ef; --pp-tint: #fdeef4;
  --pp-coral-btn: #d1105a; --pp-coral-btn-2: #b80d4f;
  --pp-grad-btn: linear-gradient(135deg, #d1105a 0%, #b80d4f 100%);
  --pp-glow: 0 12px 30px rgba(209, 16, 90, .3);
  --pp-focus: 0 0 0 3px rgba(209, 16, 90, .4);
  --ep-hero: linear-gradient(135deg, #1d1a5e 0%, #2f2f89 45%, #3b2392 75%, #1d1a5e 100%);
}
body.pp-theme-eventplace_vibe { background: var(--ep-bg); }
.pp-theme-eventplace_vibe .pp-btn--primary, .pp-theme-eventplace_vibe .pp-home .pp-btn--primary, .pp-theme-eventplace_vibe .pp-evpage .pp-btn--primary { background: var(--pp-grad-btn); box-shadow: 0 12px 30px rgba(209, 16, 90, .32); border-radius: 999px; }
.pp-theme-eventplace_vibe .pp-btn--primary:hover, .pp-theme-eventplace_vibe .pp-evpage .pp-btn--primary:hover { background: linear-gradient(135deg, #b80d4f 0%, #9e0b44 100%); box-shadow: 0 16px 36px rgba(209, 16, 90, .4); }
.pp-theme-eventplace_vibe .pp-btn { border-radius: 999px; }
.pp-theme-eventplace_vibe .pp-btn--soft { background: #fde6ef; color: #9e0b44; }
.pp-theme-eventplace_vibe .pp-btn--soft:hover { background: #fbd3e3; }
.pp-theme-eventplace_vibe :focus-visible { outline-color: #d1105a; }
.pp-theme-eventplace_vibe .pp-header, body.pp-theme-eventplace_vibe:has(.pp-home) .pp-header, body.pp-theme-eventplace_vibe:has(.pp-evpage) .pp-header { background: #1d1a5e; box-shadow: 0 6px 24px rgba(29, 26, 94, .3); }
.pp-theme-eventplace_vibe .pp-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, #fe2676, #f9617b 50%, #6a2bc4); }
.pp-theme-eventplace_vibe .pp-nav a:hover, .pp-theme-eventplace_vibe .pp-nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 #f9617b; }
.pp-theme-eventplace_vibe .pp-nav a[href="/organizers"] { background: var(--pp-grad-btn); border-radius: 999px; }
.pp-theme-eventplace_vibe .pp-nav a[href="/organizers"]:hover { background: linear-gradient(135deg, #b80d4f 0%, #9e0b44 100%); }
.pp-theme-eventplace_vibe .pp-header .pp-btn--primary { background: var(--pp-grad-btn); }
.pp-theme-eventplace_vibe .pp-mobilenav a[aria-current="page"] { color: #c2105a; box-shadow: inset 0 3px 0 #fe2676; }
.pp-theme-eventplace_vibe .pp-link, .pp-theme-eventplace_vibe .pp-hsection__more, .pp-theme-eventplace_vibe .ep-head__more { color: #c2105a; }
.pp-theme-eventplace_vibe .pp-railbtn, .pp-theme-eventplace_vibe .pp-home .pp-railbtn { background: #fff; color: #c2105a; border-color: #f4b7cf; }
.pp-theme-eventplace_vibe .pp-railbtn:hover:not(:disabled) { background: #d1105a; border-color: #d1105a; color: #fff; }
/* Titres de section : soulignés d'un zigzag rose (forme du template) */
.pp-theme-eventplace_vibe .ep-head h2::after, .pp-theme-eventplace_vibe .ep-railhead h2::after { content: ""; display: block; width: 74px; height: 12px; margin: 12px auto 0; background: linear-gradient(90deg, #fe2676, #f9617b); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 26.3'><path d='M17.6 26.3L0 4l2.8-2.2 14.8 18.7L33.8 0 50 20.5 66.2 0l16.2 20.5L97.2 1.8 100 4 82.4 26.3 66.2 5.8 50 26.3 33.8 5.8z'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 26.3'><path d='M17.6 26.3L0 4l2.8-2.2 14.8 18.7L33.8 0 50 20.5 66.2 0l16.2 20.5L97.2 1.8 100 4 82.4 26.3 66.2 5.8 50 26.3 33.8 5.8z'/></svg>") no-repeat center / contain; }
.pp-theme-eventplace_vibe .ep-railhead h2::after { margin-left: 0; }
.pp-theme-eventplace_vibe .ep-head__kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; }
/* Bandeau : indigo profond, halos rose / corail flous et formes géométriques (« creative shape ») */
.pp-theme-eventplace_vibe .ep-hero { background: radial-gradient(520px 420px at 82% 22%, rgba(254, 38, 118, .5), transparent 65%), radial-gradient(460px 360px at 96% 92%, rgba(249, 97, 123, .45), transparent 65%), radial-gradient(500px 400px at 0% 0%, rgba(106, 43, 196, .55), transparent 65%), var(--ep-hero); }
.pp-theme-eventplace_vibe .ep-hero__glow { background: rgba(249, 97, 123, .4); }
.pp-theme-eventplace_vibe .ep-hero__arc { box-shadow: inset 0 0 0 2px rgba(249, 97, 123, .2); }
.pp-theme-eventplace_vibe .ep-hero__kicker { color: #ffb3cd; text-transform: uppercase; letter-spacing: .14em; font-size: .9rem; }
.pp-theme-eventplace_vibe .ep-hero h1 span { background: linear-gradient(90deg, #ff7aa8, #f9617b 50%, #ffc1a1); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pp-theme-eventplace_vibe .ep-hero__ph--a { box-shadow: 0 0 0 7px #fe2676, 0 26px 50px rgba(10, 8, 60, .45); border-radius: 30% 70% 62% 38% / 42% 38% 62% 58%; }
.pp-theme-eventplace_vibe .ep-hero__ph--b { box-shadow: 0 0 0 10px #f9617b, 0 0 0 22px rgba(249, 97, 123, .25), 0 30px 70px rgba(10, 8, 60, .5); }
.pp-theme-eventplace_vibe .ep-hero__dots { background-image: radial-gradient(circle, rgba(255, 179, 205, .95) 2.4px, transparent 3px); }
.pp-theme-eventplace_vibe .ep-shape { display: block; }
.pp-theme-eventplace_vibe .ep-shape--ring { left: 46%; top: 12%; width: 54px; height: 54px; border-radius: 50%; border: 8px solid rgba(249, 97, 123, .7); }
.pp-theme-eventplace_vibe .ep-shape--zigzag { left: 6%; bottom: 12%; width: 110px; height: 16px; background: #fe2676; opacity: .8; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 14.8'><path d='M63.4 14.8L54.5 3.5l-9 11.3-8.9-11.3-8.9 11.3-9-11.3-8.9 11.3L0 2.5l1.7-1.4 8.1 10.2L18.7 0l9 11.3L36.6 0l8.9 11.3 9-11.3 8.9 11.3L72.3 0l9 11.3L90.2 0l9.8 12.4-1.7 1.3-8.1-10.2-8.9 11.3-9-11.3z'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 14.8'><path d='M63.4 14.8L54.5 3.5l-9 11.3-8.9-11.3-8.9 11.3-9-11.3-8.9 11.3L0 2.5l1.7-1.4 8.1 10.2L18.7 0l9 11.3L36.6 0l8.9 11.3 9-11.3 8.9 11.3L72.3 0l9 11.3L90.2 0l9.8 12.4-1.7 1.3-8.1-10.2-8.9 11.3-9-11.3z'/></svg>") no-repeat center / contain; }
.pp-theme-eventplace_vibe .ep-shape--tri { right: 40%; bottom: 14%; width: 46px; height: 42px; background: #5cdcf2; opacity: .75; transform: rotate(16deg); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 93.9'><path d='M59.8 93.9c-1.9 0-3.8-.9-5-2.5L1.3 21.3c-1.4-1.8-1.7-4.1-.8-6.2s2.7-3.5 5-3.8L93 .1c2.2-.3 4.4.6 5.7 2.4 1.4 1.8 1.7 4.1.8 6.2l-34 81.4c-.9 2.1-2.7 3.5-5 3.8h-.7zM17.7 22.3l40.4 53 25.7-61.5-66.1 8.5z'/></svg>") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 93.9'><path d='M59.8 93.9c-1.9 0-3.8-.9-5-2.5L1.3 21.3c-1.4-1.8-1.7-4.1-.8-6.2s2.7-3.5 5-3.8L93 .1c2.2-.3 4.4.6 5.7 2.4 1.4 1.8 1.7 4.1.8 6.2l-34 81.4c-.9 2.1-2.7 3.5-5 3.8h-.7zM17.7 22.3l40.4 53 25.7-61.5-66.1 8.5z'/></svg>") no-repeat center / contain; animation: ep-float 7s ease-in-out infinite alternate; }
@media (max-width: 767px) { .pp-theme-eventplace_vibe .ep-shape--ring { left: auto; right: 8%; top: auto; bottom: 8%; width: 40px; height: 40px; border-width: 6px; } .pp-theme-eventplace_vibe .ep-shape--tri { display: none; } .pp-theme-eventplace_vibe .ep-shape--zigzag { bottom: 4%; width: 80px; } }
@keyframes ep-float { from { transform: rotate(16deg) translateY(0); } to { transform: rotate(4deg) translateY(-12px); } }
.pp-theme-eventplace_vibe .ep-hero__search .pp-search .pp-btn { background: var(--pp-grad-btn); box-shadow: 0 10px 26px rgba(209, 16, 90, .35); }
.pp-theme-eventplace_vibe .ep-hero__search .pp-search .pp-btn:hover { background: linear-gradient(135deg, #b80d4f 0%, #9e0b44 100%); }
.pp-theme-eventplace_vibe .ep-hero__search .pp-search__cell svg { color: #c2105a; }
.pp-theme-eventplace_vibe .ep-hero__search .pp-search__cell:focus-within { box-shadow: inset 0 -2px 0 #d1105a; }
.pp-theme-eventplace_vibe .ep-hero__chips .pp-chip:hover { color: #c2105a; }
/* Halos flous dans les sections (formes « creative shape » floues du template) */
.pp-theme-eventplace_vibe .ep-section::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 380px; height: 380px; border-radius: 50%; filter: blur(80px); opacity: .5; }
.pp-theme-eventplace_vibe .ep-home { isolation: isolate; overflow: hidden; }
.pp-theme-eventplace_vibe .ep-featured::before { right: -120px; top: 40px; background: #ffc2d8; }
.pp-theme-eventplace_vibe .ep-cats::before { left: -140px; top: 60px; background: #d8ccff; }
.pp-theme-eventplace_vibe .ep-locations::before { right: -100px; bottom: 0; background: #ffd3c6; }
.pp-theme-eventplace_vibe .ep-orgs::before { left: -120px; top: 20px; background: #ffd0e2; }
/* Cartes : liseré rose au survol, prix en pastille rose, vignette de date rose */
.pp-theme-eventplace_vibe .pp-event:hover { box-shadow: 0 18px 50px rgba(209, 16, 90, .16), 0 0 0 2px rgba(254, 38, 118, .35); }
.pp-theme-eventplace_vibe .pp-event__price span:not(:empty) { border-color: #d1105a; color: #c2105a; border-radius: 999px; }
.pp-theme-eventplace_vibe .pp-event:hover .pp-event__price span:not(:empty) { background: var(--pp-grad-btn); border-color: transparent; color: #fff; box-shadow: 0 10px 26px rgba(209, 16, 90, .3); }
.pp-theme-eventplace_vibe .pp-event__date { border-radius: 12px; box-shadow: 0 6px 18px rgba(0, 0, 0, .16), inset 0 -4px 0 #fe2676; padding-bottom: 10px; }
.pp-theme-eventplace_vibe .pp-event .pp-badge--free { background: #d1105a; }
.pp-theme-eventplace_vibe .pp-event__fav[aria-pressed="true"] { color: #d1105a; }
/* Catégories : pastilles en dégradé indigo → rose */
.pp-theme-eventplace_vibe .pp-catbar__icon { border-radius: 18px; background: linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 55%, #fe2676)); transform: rotate(-6deg); }
.pp-theme-eventplace_vibe .pp-catbar__icon > * { transform: rotate(6deg); }
.pp-theme-eventplace_vibe .pp-catbar__item:hover .pp-catbar__icon { background: linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 55%, #fe2676)); transform: rotate(0) scale(1.06); }
.pp-theme-eventplace_vibe .pp-catbar__item:hover { box-shadow: 0 18px 50px rgba(209, 16, 90, .14); }
.pp-theme-eventplace_vibe .ep-loc::before { background: radial-gradient(120px 80px at 80% 10%, rgba(255, 255, 255, .25), transparent 70%), linear-gradient(120deg, hsl(calc(330 + var(--i, 0) * 8) 82% 56%) 0%, hsl(calc(260 + var(--i, 0) * 10) 60% 42%) 100%); }
.pp-theme-eventplace_vibe .ep-loc__pin { color: #c2105a; }
.pp-theme-eventplace_vibe .ep-loc__count { border-color: rgba(209, 16, 90, .25); }
/* Bandeaux indigo (comment ça marche, billets, appli) avec halo corail */
.pp-theme-eventplace_vibe .pp-how__grid, .pp-theme-eventplace_vibe .pp-home .pp-how__grid { background: radial-gradient(420px 300px at 100% 0%, rgba(254, 38, 118, .55), transparent 70%), radial-gradient(360px 260px at 0% 100%, rgba(249, 97, 123, .35), transparent 70%), #1d1a5e; }
.pp-theme-eventplace_vibe .pp-how h2 .pp-accent { color: #ffb3cd; }
.pp-theme-eventplace_vibe .pp-how__steps li::before { background: linear-gradient(135deg, #fe2676, #f9617b); color: #fff; }
.pp-theme-eventplace_vibe .pp-cta { background: linear-gradient(135deg, #1d1a5e 0%, #2f2f89 100%); color: #fff; }
.pp-theme-eventplace_vibe .pp-cta h2 { color: #fff; }
.pp-theme-eventplace_vibe .pp-cta p { color: rgba(255, 255, 255, .86); }
.pp-theme-eventplace_vibe .ep-cta__shapes { background: radial-gradient(300px 240px at 100% 100%, rgba(254, 38, 118, .5), transparent 70%), radial-gradient(240px 180px at 0% 0%, rgba(249, 97, 123, .3), transparent 70%); }
.pp-theme-eventplace_vibe .pp-cta__img { filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .35)); }
.pp-theme-eventplace_vibe .pp-evpage .pp-evtickets__head, .pp-theme-eventplace_vibe .pp-evtickets__head, .pp-theme-eventplace_vibe .pp-dticket__top, .pp-theme-eventplace_vibe .pp-appdl__card { background: radial-gradient(300px 200px at 100% 0%, rgba(254, 38, 118, .5), transparent 70%), #1d1a5e; }
.pp-theme-eventplace_vibe .pp-evpage .pp-eventhero::before { background: radial-gradient(600px 400px at 88% 10%, rgba(254, 38, 118, .45), transparent 62%), radial-gradient(500px 360px at 0% 100%, rgba(249, 97, 123, .3), transparent 62%), linear-gradient(135deg, rgba(29, 26, 94, .94) 0%, rgba(47, 47, 137, .92) 100%); }
.pp-theme-eventplace_vibe .pp-evpage .pp-countdown__label, .pp-theme-eventplace_vibe .pp-evpage .pp-evfacts__ico, .pp-theme-eventplace_vibe .pp-evfacts a, .pp-theme-eventplace_vibe a.pp-evhero__chip { color: #ffb3cd; }
.pp-theme-eventplace_vibe .pp-evpage .pp-evnav a::after { background: linear-gradient(90deg, #fe2676, #f9617b); }
.pp-theme-eventplace_vibe .pp-evpage .pp-evnav a[aria-current="true"], .pp-theme-eventplace_vibe .pp-evpage .pp-evnav a:hover { color: #c2105a; }
.pp-theme-eventplace_vibe .pp-evpage .pp-evcard__ico { background: #fde6ef; color: #c2105a; }
.pp-theme-eventplace_vibe .pp-evpage .pp-evcard__tile span { background: linear-gradient(135deg, #fe2676, #d1105a); }
.pp-theme-eventplace_vibe .pp-qty button, .pp-theme-eventplace_vibe .pp-stepper button { color: #c2105a; border-color: #f4b7cf; }
.pp-theme-eventplace_vibe .pp-auth h1 { background-image: radial-gradient(circle at 92% 0, rgba(254, 38, 118, .7), transparent 55%), var(--ep-hero); }
.pp-theme-eventplace_vibe .pp-chip--active, .pp-theme-eventplace_vibe .pp-pagination [aria-current="page"] { background: #d1105a; border-color: #d1105a; }
.pp-theme-eventplace_vibe .pp-account__nav a[aria-current="page"] { background: #fde6ef; color: #9e0b44; }
.pp-theme-eventplace_vibe .pp-payopt:has(input:checked) { border-color: #d1105a; box-shadow: 0 0 0 3px rgba(209, 16, 90, .15); }
.pp-theme-eventplace_vibe .pp-check input { accent-color: #d1105a; }
.pp-theme-eventplace_vibe .pp-lang a[aria-current="true"], .pp-theme-eventplace_vibe .pp-footer .pp-lang a[aria-current="true"] { background: #d1105a; border-color: #d1105a; }
.pp-theme-eventplace_vibe .pp-footer, body.pp-theme-eventplace_vibe:has(.pp-home) .pp-footer, body.pp-theme-eventplace_vibe:has(.pp-evpage) .pp-footer { background: radial-gradient(500px 260px at 92% 0%, rgba(254, 38, 118, .3), transparent 70%), radial-gradient(500px 260px at 0% 100%, rgba(249, 97, 123, .18), transparent 70%), #17154d; }

/* ---------- Décors saisonniers par-dessus EventPlace : en-tête sombre, le logo reste lisible ---------- */
.pp-theme-eventplace.pp-decor .pp-header { z-index: 50; }
.pp-theme-eventplace .pp-decorbanner { border-radius: 0; }

/* ---------- Mouvement réduit, impression ---------- */
@media (prefers-reduced-motion: reduce) {
  .pp-theme-eventplace .pp-event, .pp-theme-eventplace .pp-catbar__item, .ep-loc, .pp-theme-eventplace .pp-event__price span, .pp-theme-eventplace .pp-catbar__icon { transition: none !important; }
  .pp-theme-eventplace .pp-event:hover, .pp-theme-eventplace .pp-catbar__item:hover, .ep-loc:hover { transform: none; }
  .pp-theme-eventplace_vibe .ep-shape--tri { animation: none; }
}
@media print { .ep-hero__art, .ep-deco, .ep-cta__shapes { display: none !important; } .ep-hero { background: none; color: #000; } .ep-hero h1, .ep-hero h1 span { color: #000; } }

/* ---------- Ajustements après revue visuelle ---------- */
/* Barre d'achat du téléphone : bouton en casse normale (libellés longs : « Cet événement est terminé. ») */
@media (max-width: 899px) { .pp-theme-eventplace .pp-buybar .pp-btn { text-transform: none; letter-spacing: .01em; font-size: .95rem; white-space: nowrap; padding-left: 18px; padding-right: 18px; } }
/* Nuit : vignette de date du bandeau de l'événement sur blanc (lisible), langue active en rose foncé (texte blanc 5.6:1) */
.pp-theme-eventplace_nuit .pp-evhero__date, .pp-theme-eventplace_nuit .pp-stage__date { background: #fff; color: #c8155f; }
.pp-theme-eventplace_nuit .pp-evhero__date b, .pp-theme-eventplace_nuit .pp-stage__date b { color: #2f2f89; }
.pp-theme-eventplace_nuit .pp-evhero__date span { color: #c8155f; }
.pp-theme-eventplace_nuit .pp-lang a[aria-current="true"], .pp-theme-eventplace_nuit .pp-footer .pp-lang a[aria-current="true"] { background: #c8155f; border-color: #c8155f; color: #fff; }
.pp-theme-eventplace_nuit .pp-catbar li:nth-child(8n+5) .pp-catbar__icon { --c: #4b4bd6; }
@media (max-width: 599px) { .ep-hero__dots { display: none; } }
.pp-theme-eventplace_vibe .ep-btn-outline { color: #c2105a; border-color: #d1105a; }
.pp-theme-eventplace_vibe .ep-btn-outline:hover { background: #d1105a; border-color: #d1105a; color: #fff; }
/* Boutons cerclés posés sur le bandeau sombre de l'événement (partage, favori) : blancs */
.pp-theme-eventplace .pp-eventhero .pp-btn--ghost, .pp-theme-eventplace .pp-evhero__share .pp-share__btn { color: #fff; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .35); }
.pp-theme-eventplace .pp-eventhero .pp-btn--ghost:hover, .pp-theme-eventplace .pp-evhero__share .pp-share__btn:hover { background: #fff; color: #2f2f89; border-color: #fff; }

/* ---------- 2.68.1 : vitrine défilante des événements à la une dans le bandeau (à la place des deux affiches rondes) ---------- */
.ep-hero__ph { display: none !important; }
.ep-hero__inner--slider { display: grid; gap: 36px; }
.ep-slider { position: relative; width: 100%; max-width: 560px; }
.ep-slider__slides { position: relative; }
.ep-slide { display: none; background: #fff; color: var(--ep-text); border-radius: 18px; overflow: hidden; box-shadow: 0 30px 70px rgba(10, 8, 60, .35); }
.ep-slide.is-active { display: block; animation: ep-slide-in .5s ease both; }
@keyframes ep-slide-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.ep-slide__media { position: relative; aspect-ratio: 16 / 10; background: #e9e6f8; }
.ep-slide__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ep-slide__date { position: absolute; left: 14px; top: 14px; display: grid; place-items: center; min-width: 54px; padding: 6px 8px; border-radius: 10px; background: #fff; color: var(--ep-indigo); font-size: .72rem; font-weight: 800; text-transform: uppercase; line-height: 1.1; box-shadow: 0 6px 18px rgba(10, 8, 60, .2); }
.ep-slide__date b { font-size: 1.45rem; font-weight: 900; }
.ep-slide__label { position: absolute; left: 14px; bottom: 14px; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--ep-indigo); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.ep-slide__body { padding: 18px 20px 20px; }
.ep-slide__title { margin: 0; font-size: 1.3rem; line-height: 1.25; font-weight: 800; }
.ep-slide__title a { color: var(--ep-indigo); text-decoration: none; }
.ep-slide__title a:hover { text-decoration: underline; }
.ep-slide__meta { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; color: var(--ep-muted, #5d616a); font-size: .92rem; }
.ep-slide__meta li { display: flex; gap: 8px; align-items: flex-start; }
.ep-slide__meta svg { flex: none; margin-top: 2px; color: var(--ep-indigo); }
.ep-slide__cta { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.ep-slide__price { padding: 6px 14px; border-radius: 999px; border: 1.5px solid var(--ep-indigo); color: var(--ep-indigo); font-weight: 800; font-size: .86rem; }
.ep-slider__nav { margin-top: 16px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.ep-slider__arrow { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; }
.ep-slider__arrow:hover { background: #fff; color: var(--ep-indigo); }
.ep-slider__arrow:not(.ep-slider__arrow--next) svg { transform: rotate(180deg); }
.ep-slider__dots { display: flex; gap: 8px; }
.ep-slider__dots button { width: 22px; height: 22px; padding: 0; border: 0; background: none; display: grid; place-items: center; cursor: pointer; }
.ep-slider__dots button span { width: 9px; height: 9px; border-radius: 999px; background: rgba(255, 255, 255, .45); transition: width .25s ease, background .25s ease; }
.ep-slider__dots button[aria-selected="true"] span { width: 26px; background: #fff; }
.ep-slider__arrow:focus-visible, .ep-slider__dots button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (min-width: 1100px) {
  .ep-hero__inner--slider { padding-right: 0; grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); align-items: center; gap: 56px; }
  .ep-hero__inner--slider .ep-hero__search { max-width: none; }
  .ep-slider { justify-self: end; }
}
@media (max-width: 1099px) { .ep-slider { margin-inline: auto; } }
@media (prefers-reduced-motion: reduce) { .ep-slide.is-active { animation: none; } .ep-slider__dots button span { transition: none; } }
/* Nuit */
.pp-theme-eventplace_nuit .ep-slide { background: #191a3d; color: #eef0ff; box-shadow: 0 30px 70px rgba(0, 0, 0, .55), inset 0 0 0 1px #2c2d5e; }
.pp-theme-eventplace_nuit .ep-slide__title a { color: #fff; }
.pp-theme-eventplace_nuit .ep-slide__meta { color: #c4c7ec; }
.pp-theme-eventplace_nuit .ep-slide__meta svg { color: #9ea8ff; }
.pp-theme-eventplace_nuit .ep-slide__price { border-color: #9ea8ff; color: #dfe2ff; }
/* Vibe */
.pp-theme-eventplace_vibe .ep-slide { box-shadow: 0 0 0 6px rgba(254, 38, 118, .55), 0 30px 70px rgba(10, 8, 60, .45); }
.pp-theme-eventplace_vibe .ep-slide__date, .pp-theme-eventplace_vibe .ep-slide__label { color: #c2185b; }
.pp-theme-eventplace_vibe .ep-slide__price { border-color: #c2185b; color: #c2185b; }
.pp-theme-eventplace_vibe .ep-slider__dots button[aria-selected="true"] span { background: #ffb3cd; }
/* Bandeau à vitrine : texte | vitrine, puis recherche sur toute la largeur (téléphone : texte, recherche, vitrine) */
.ep-hero__inner--slider { grid-template-areas: "copy" "find" "slider"; }
.ep-hero__inner--slider .ep-hero__copy { grid-area: copy; }
.ep-hero__inner--slider .ep-hero__find { grid-area: find; }
.ep-hero__inner--slider .ep-slider { grid-area: slider; }
.ep-hero__inner--slider .ep-hero__search { margin-top: 0; }
@media (min-width: 1100px) {
  .ep-hero__inner--slider { grid-template-areas: "copy slider" "find find"; row-gap: 40px; }
  .ep-hero__inner--slider .ep-hero__search { max-width: 980px; }
}
.ep-slide__cta { flex-wrap: nowrap; }
.ep-slide__cta .pp-btn { width: auto; flex: 0 1 auto; min-width: 0; }
.ep-slide__price { flex: none; white-space: nowrap; }
@media (max-width: 380px) { .ep-slide__cta { flex-wrap: wrap; } }
.ep-hero__inner--slider { grid-template-columns: minmax(0, 1fr); }
.ep-slider, .ep-slide { min-width: 0; }
@media (max-width: 479px) { .ep-slide__cta { flex-wrap: wrap; } .ep-slide__meta span { overflow-wrap: anywhere; } }
