/* event-page.css — Cinematic event page (adapted from tour.css) */

/* ─── HERO ─────────────────────────────────────────────── */
.evp-hero { position: relative; width: 100%; min-height: 420px; overflow: hidden; background: #0a0a1a; }
.evp-hero-media { position: absolute; inset: 0; z-index: 0; transition: opacity 0.2s ease; }
.evp-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.evp-hero-media-bg { object-fit: cover; opacity: 0.58; filter: blur(18px); transform: scale(1.08); }
.evp-hero-media img.evp-hero-media-main { inset: auto; top: 50%; left: 50%; width: min(100%, 1200px); height: 100%; transform: translate(-50%, -50%); object-fit: cover; object-position: center; opacity: 0.82; filter: drop-shadow(0 18px 42px rgba(0,0,0,0.38)); }
.evp-hero-media-blur img { filter: blur(20px); transform: scale(1.1); opacity: 0.5; }
.evp-hero-video-thumb { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; width: 50%; max-width: 640px; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 40px rgba(0,0,0,0.5); cursor: pointer; transition: transform 0.2s; }
.evp-hero-video-thumb:hover { transform: translate(-50%, -50%) scale(1.02); }
.evp-hero-video-thumb img { width: 100%; height: auto; display: block; }
.evp-hero-play-btn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.3); transition: background 0.2s; }
.evp-hero-video-thumb:hover .evp-hero-play-btn { background: rgba(0,0,0,0.15); }
.evp-hero-video { position: absolute; inset: 0; pointer-events: none; }
.evp-hero-video-frame { position: absolute; inset: 0; z-index: 1; opacity: 0; transition: opacity 0.25s ease; background: #050510; }
.evp-hero-video-frame iframe,
.evp-hero-video-frame > div { width: 100%; height: 100%; border: 0; display: block; }
.evp-hero-video-play { position: absolute; z-index: 6; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 78px; height: 78px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.28); border-radius: 50%; background: rgba(10,10,26,0.72); color: #fff; box-shadow: 0 16px 48px rgba(0,0,0,0.42); backdrop-filter: blur(10px); cursor: pointer; pointer-events: auto; transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease; }
.evp-hero-video-play:hover { transform: translate(-50%, -50%) scale(1.03); background: rgba(10,10,26,0.88); border-color: rgba(255,255,255,0.44); }
.evp-hero-video-play-icon { width: 54px; height: 54px; border-radius: 50%; background: #fff; color: #1a1a2e; display: flex; align-items: center; justify-content: center; }
.evp-hero-video-play-icon::before { content: ""; display: block; width: 0; height: 0; margin-left: 4px; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 17px solid #1a1a2e; }
.evp-hero-video.is-playing { pointer-events: auto; }
.evp-hero-video.is-playing .evp-hero-video-frame { opacity: 1; }
.evp-hero-video.is-playing .evp-hero-video-play { display: none; }
.evp-hero-video-controls { position: absolute; top: 18px; left: 50%; z-index: 6; width: min(720px, calc(100% - 48px)); min-height: 52px; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid rgba(255,255,255,0.14); border-radius: 12px; background: rgba(7,7,18,0.72); color: #fff; box-shadow: 0 16px 48px rgba(0,0,0,0.35); backdrop-filter: blur(12px); pointer-events: auto; opacity: 1; transform: translateX(-50%); transition: opacity 0.2s ease; }
.evp-hero-video-controls[hidden] { display: none; }
.evp-hero-video-control { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 8px; background: rgba(255,255,255,0.1); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease; }
.evp-hero-video-control:hover { background: rgba(255,255,255,0.18); }
.evp-hero-video-control i { font-size: 17px; }
.evp-video-icon-play,
.evp-video-icon-muted,
.evp-hero-video.is-paused .evp-video-icon-pause,
.evp-hero-video.is-muted .evp-video-icon-volume { display: none; }
.evp-hero-video.is-paused .evp-video-icon-play,
.evp-hero-video.is-muted .evp-video-icon-muted { display: inline-block; }
.evp-hero-video-progress { flex: 1 1 auto; min-width: 80px; height: 28px; display: flex; align-items: center; cursor: pointer; touch-action: none; }
.evp-hero-video-progress-track { position: relative; width: 100%; height: 6px; border-radius: 999px; background: rgba(255,255,255,0.26); overflow: hidden; }
.evp-hero-video-progress-fill { width: 0%; height: 100%; border-radius: inherit; background: #fff; }
.evp-hero-video-time { flex: 0 0 auto; min-width: 78px; color: rgba(255,255,255,0.78); font-size: 12px; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.evp-hero.is-video-playing .evp-hero-media { opacity: 0; pointer-events: none; }
.evp-hero-gradient { position: absolute; z-index: 2; bottom: 0; left: 0; right: 0; height: 70%; background: linear-gradient(to top, rgba(10,10,26,0.97) 0%, rgba(10,10,26,0.6) 40%, transparent 100%); pointer-events: none; }
.evp-hero-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 0 0 32px 0; z-index: 3; }
.evp-hero-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; align-items: flex-end; gap: 24px; }
.evp-poster { width: 160px; height: 220px; border-radius: 10px; border: 3px solid rgba(255,255,255,0.15); object-fit: cover; flex-shrink: 0; box-shadow: 0 8px 32px rgba(0,0,0,0.5); }
.evp-hero-info { flex: 1; min-width: 0; }
.evp-hero-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 14px; border-radius: 20px; background: rgba(245,197,24,0.15); color: #f5c518; font-size: 12px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 10px; backdrop-filter: blur(4px); }
.evp-hero-name { font-size: 36px; font-weight: 800; color: #fff; margin: 0 0 6px 0; line-height: 1.15; text-shadow: 0 2px 12px rgba(0,0,0,0.5); }
.evp-hero-meta { font-size: 15px; color: rgba(255,255,255,0.65); margin: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.evp-hero-meta span { display: inline-flex; align-items: center; gap: 5px; }
.evp-hero-meta svg { opacity: 0.5; }

/* ─── STATS BAR ────────────────────────────────────────── */
.evp-stats { background: #1a1a2e; border-bottom: 1px solid #2a2a3e; }
.evp-stats-inner { max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.evp-stat-organizer { font-size: 14px; color: rgba(255,255,255,0.6); white-space: nowrap; }
.evp-stat-organizer-link { color: #f5c518; font-weight: 700; text-decoration: none; margin-left: 4px; }
.evp-stat-organizer-link:hover { color: #fff; text-decoration: underline; }

/* ─── SHARE ────────────────────────────────────────────── */
.evp-share-wrapper { position: relative; }
.evp-share-btn { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.25); background: transparent; color: rgba(255,255,255,0.7); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; }
.evp-share-btn:hover { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.5); }
.evp-share-menu { display: none; position: absolute; bottom: 100%; right: 0; margin-bottom: 8px; background: #fff; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.15); min-width: 200px; overflow: hidden; z-index: 100; }
.evp-share-menu.open { display: block; }
.evp-share-item { display: flex; align-items: center; gap: 10px; padding: 10px 16px; color: #333; text-decoration: none; font-size: 14px; transition: background 0.15s; }
.evp-share-item:hover { background: #f5f5f5; color: #333; text-decoration: none; }
.evp-share-item i { font-size: 16px; width: 20px; text-align: center; }

/* ─── SECTION NAV ─────────────────────────────────────── */
.evp-nav {
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    position: sticky;
    top: 0;
    z-index: 100;
}
.evp-nav-inner,
.evp-nav:not(:has(.evp-nav-inner)) {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
}
.evp-nav-inner::-webkit-scrollbar,
.evp-nav:not(:has(.evp-nav-inner))::-webkit-scrollbar {
    display: none;
}
.evp-nav-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    border-bottom: 2px solid transparent;
    color: #666;
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s, border-color 0.2s;
}
.evp-nav-item:hover {
    color: #1a1a2e;
    text-decoration: none;
}
.evp-nav-item.active {
    color: #1a1a2e;
    border-bottom-color: #1a1a2e;
}
.evp-nav-item i {
    flex: 0 0 auto;
    color: #999;
    font-size: 18px;
    transition: color 0.2s;
}
.evp-nav-item:hover i,
.evp-nav-item.active i {
    color: #1a1a2e;
}

/* ─── STICKY HEADER + BAR ──────────────────────────────── */
.evp-page .secondary-nav {
    display: none;
}
.evp-page .navbar-overlap::after {
    display: none;
}
.evp-page .navbar {
    position: sticky;
    top: 0;
    z-index: 1040;
    transition: box-shadow 0.3s;
}
.evp-page .navbar.evp-scrolled {
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.evp-sticky-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: #1a1a2e;
    border-bottom: 1px solid #2a2a3e;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.2);
}
.evp-sticky-bar.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.evp-sticky-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    height: 48px;
}
.evp-sticky-name {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 280px;
    flex-shrink: 0;
}
.evp-sticky-nav {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
    flex: 1;
    min-width: 0;
}
.evp-sticky-nav::-webkit-scrollbar { display: none; }
.evp-sticky-nav-item {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s;
}
.evp-sticky-nav-item:hover {
    color: #fff;
    background: rgba(255,255,255,0.1);
    text-decoration: none;
}
.evp-sticky-nav-item.active {
    color: #f5c518;
    background: rgba(245,197,24,0.15);
}

/* ─── CONTENT LAYOUT ───────────────────────────────────── */
.evp-content { width: 1200px; max-width: 100%; margin: 0 auto; padding: 28px 24px 40px; }
.evp-layout { display: flex; gap: 28px; }
.evp-sidebar { flex: 0 0 calc(33.333% - 14px); min-width: 0; }
.evp-main { flex: 0 0 calc(66.667% - 14px); min-width: 0; }
.evp-section { margin-bottom: 36px; }
.evp-section-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #999; margin: 0 0 16px 0; padding-bottom: 10px; border-bottom: 2px solid #f0f0f0; display: flex; align-items: center; gap: 8px; }
.evp-section-title svg { opacity: 0.4; }

/* ─── SIDEBAR ──────────────────────────────────────────── */
.evp-sidebar-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; padding: 16px; margin-bottom: 16px; }
.evp-sidebar-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #999; margin: 0 0 12px 0; }
.evp-sidebar-organizer { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #3b82f6; text-decoration: none; padding: 6px 0; }
.evp-sidebar-organizer:hover { color: #2563eb; text-decoration: underline; }
.evp-sidebar-organizer svg { color: #999; flex-shrink: 0; }
.evp-sidebar-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.evp-sidebar-tag { font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 10px; background: #f0f4ff; color: #3b82f6; }
.evp-sidebar-details { display: grid; gap: 10px; }
.evp-sidebar-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 10px; align-items: start; padding-bottom: 10px; border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
.evp-sidebar-detail-row:last-child { padding-bottom: 0; border-bottom: 0; }
.evp-sidebar-detail-row span { color: #6b7280; font-size: 12px; line-height: 1.35; }
.evp-sidebar-detail-row strong { color: #17172f; font-size: 13px; line-height: 1.35; font-weight: 650; }
.evp-sidebar-card-age { border-color: #eadcc6; background: #fffaf2; }
.evp-age-note { display: flex; gap: 10px; align-items: flex-start; }
.evp-age-icon { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; background: #fff; border: 1px solid #eadcc6; color: #8a4b00; display: flex; align-items: center; justify-content: center; }
.evp-age-icon svg, .evp-age-icon i { width: 15px; height: 15px; font-size: 15px !important; stroke-width: 2; }
.evp-age-copy { min-width: 0; display: grid; gap: 4px; }
.evp-age-title-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.evp-age-title { color: #17172f; font-size: 13px; line-height: 1.25; font-weight: 800; }
.evp-age-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 8px; border-radius: 999px; background: #17172f; color: #fff; font-size: 11px; line-height: 1; font-weight: 800; }
.evp-age-text { color: #6b4b1f; font-size: 13px; line-height: 1.45; }
.evp-sidebar-venue { font-size: 14px; font-weight: 700; color: #1a1a2e; margin: 0 0 4px 0; }
.evp-sidebar-address { font-size: 13px; color: #666; margin: 0 0 12px 0; line-height: 1.5; }
.evp-sidebar-map { width: 100%; height: 180px; border-radius: 8px; overflow: hidden; border: 1px solid #eee; margin-bottom: 10px; background: #eee; }
.evp-sidebar-phones { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.evp-sidebar-phone { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #3b82f6; text-decoration: none; }
.evp-sidebar-phone:hover { text-decoration: underline; }
.evp-sidebar-directions { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #1a1a2e; text-decoration: none; padding: 8px 0 0 0; }
.evp-sidebar-directions:hover { color: #3b82f6; text-decoration: none; }
.evp-sidebar-ticket-price { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid #e4e8ef; border-radius: 8px; background: #f8fafc; color: #17172f; }
.evp-sidebar-ticket-price-icon { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #fff; color: #1a1a2e; border: 1px solid #e4e8ef; }
.evp-sidebar-ticket-price-icon i { font-size: 18px; }
.evp-sidebar-ticket-price-text { min-width: 0; font-size: 13px; line-height: 1.3; font-weight: 800; }
.evp-sidebar-action { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 42px; padding: 10px 14px; border-radius: 8px; background: #1a1a2e; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; }
.evp-sidebar-action:hover { background: #11111f; color: #fff; text-decoration: none; }
.evp-sidebar-action-secondary { border: 1px solid #dde2ea; background: #fff; color: #1a1a2e; }
.evp-sidebar-action-secondary:hover { border-color: #c8d0dc; background: #f8fafc; color: #1a1a2e; }
.evp-sidebar-age-notice { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.5; color: #e65100; background: #fff7ed; padding: 10px 12px; border-radius: 8px; }
.evp-sidebar-age-notice svg { flex-shrink: 0; color: #ea580c; margin-top: 1px; }
/* Sidebar timeline */
.evp-sidebar-timeline { display: flex; flex-direction: column; gap: 0; }
.evp-sidebar-timeline-item { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; border-left: 2px solid #e8e8e8; margin-left: 6px; padding-left: 14px; position: relative; }
.evp-sidebar-timeline-dot { position: absolute; left: -5px; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: #3b82f6; }
.evp-sidebar-timeline-item strong { font-size: 13px; color: #1a1a2e; display: block; }
.evp-sidebar-timeline-time { font-size: 11px; color: #999; font-weight: 500; }

/* ─── ABOUT ────────────────────────────────────────────── */
.evp-about-text { font-size: 15px; line-height: 1.7; color: #444; }
.evp-about-text.clamped { max-height: 200px; overflow: hidden; position: relative; }
.evp-about-text.clamped::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 60px; background: linear-gradient(to top, #fff, transparent); pointer-events: none; }
.evp-about-text.expanded { max-height: none; overflow: visible; }
.evp-about-text.expanded::after { display: none; }
.evp-about-toggle { font-size: 14px; font-weight: 600; color: #3b82f6; cursor: pointer; margin-top: 8px; display: none; }

/* ─── TIMELINE ─────────────────────────────────────────── */
.evp-timeline-list { display: flex; flex-direction: column; gap: 0; }
.evp-timeline-item { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid #f0f0f0; }
.evp-timeline-item:last-child { border-bottom: none; }
.evp-timeline-date { width: 56px; flex-shrink: 0; text-align: center; background: rgba(0,0,0,0.04); border-radius: 8px; padding: 8px 4px; }
.evp-timeline-day { font-size: 22px; font-weight: 800; color: #1a1a2e; display: block; line-height: 1; }
.evp-timeline-month { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #888; }
.evp-timeline-content { flex: 1; }
.evp-timeline-name { font-size: 15px; font-weight: 700; color: #1a1a2e; margin: 0 0 4px 0; }
.evp-timeline-desc { font-size: 13px; color: #666; margin: 0 0 4px 0; line-height: 1.5; }
.evp-timeline-time { font-size: 12px; color: #999; font-weight: 600; }

/* ─── LOCATION ─────────────────────────────────────────── */
.evp-location-row { display: flex; gap: 20px; background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid #e8e8e8; }
.evp-map-container { flex: 1; min-height: 280px; background: #eee; }

.evp-details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.evp-detail-item { padding: 14px 16px; border: 1px solid #e8e8e8; border-radius: 8px; background: #fafafa; }
.evp-detail-item span { display: block; margin-bottom: 4px; color: #777; font-size: 12px; font-weight: 700; }
.evp-detail-item strong { display: block; color: #1a1a2e; font-size: 15px; font-weight: 700; line-height: 1.4; }
@media (max-width: 768px) {
    .evp-details-grid { grid-template-columns: 1fr; }
}
.evp-location-details { flex: 0 0 300px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.evp-location-item { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: #555; }
.evp-location-item svg { flex-shrink: 0; color: #999; }
.evp-btn-directions { margin-top: auto; background: #1a1a2e; color: #fff; border-radius: 8px; padding: 10px 20px; font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; display: inline-block; }
.evp-btn-directions:hover { background: #2d2d44; color: #fff; text-decoration: none; }

/* ─── PRODUCT CARDS ────────────────────────────────────── */
.evp-products-list { display: flex; flex-direction: column; gap: 12px; }
.evp-product-card { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 20px; background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; transition: box-shadow 0.2s; }
.evp-product-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.evp-product-sold-out { opacity: 0.6; }
.evp-product-info { flex: 1; min-width: 0; }
.evp-product-header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.evp-product-name { font-size: 16px; font-weight: 700; color: #1a1a2e; margin: 0; }
.evp-type-badge {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
    padding: 2px 8px; border-radius: 10px; white-space: nowrap; flex-shrink: 0;
}
.evp-type-eticket { background: #e8f4fd; color: #0b76c0; }
.evp-type-voucher { background: #fef3e2; color: #c2710c; }
.evp-type-pack { background: #f0e8ff; color: #7c3aed; }
.evp-bundle-contents {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}
.evp-bundle-label {
    font-size: 11px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.evp-bundle-item {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 10px;
    background: #f0f4ff;
    color: #3b82f6;
}
.evp-comp-type {
    font-size: 9px; font-weight: 700; text-transform: uppercase; opacity: 0.6;
    margin-left: 2px;
}
.evp-bundle-saving {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin-bottom: 6px; font-size: 13px;
}
.evp-bundle-separate { color: #888; }
.evp-bundle-separate s { color: #999; }
.evp-bundle-save-badge {
    font-size: 12px; font-weight: 700; padding: 2px 10px; border-radius: 10px;
    background: #ecfdf5; color: #059669;
}
.evp-voucher-value {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #2fb344;
    font-weight: 500;
    margin-bottom: 4px;
}
.evp-voucher-value strong {
    font-weight: 700;
}
.evp-voucher-usage { margin: 4px 0 6px; }
.evp-usage-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 10px; }
.evp-usage-digital { background: #e8f4fd; color: #206bc4; }
.evp-usage-redeemable { background: #fff4e6; color: #e8590c; }
.evp-product-desc { font-size: 13px; color: #666; margin: 0 0 8px 0; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.evp-product-tag { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 10px; border-radius: 10px; }
.evp-tag-soldout { background: #fee2e2; color: #dc2626; }
.evp-tag-low { background: #fff7ed; color: #ea580c; }

.evp-product-action { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.evp-price-row { display: flex; align-items: baseline; gap: 8px; }
.evp-price-current { font-size: 20px; font-weight: 800; color: #1a1a2e; }
.evp-price-old { font-size: 14px; color: #999; text-decoration: line-through; }
.evp-qty-row { display: flex; align-items: center; gap: 8px; }
.evp-qty-selector { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; }
.evp-qty-btn { width: 36px; height: 36px; border: none; background: #f8f8f8; font-size: 16px; font-weight: 700; cursor: pointer; color: #333; transition: background 0.15s; }
.evp-qty-btn:hover:not(:disabled) { background: #e8e8e8; }
.evp-qty-btn:disabled { color: #ccc; cursor: default; }
.evp-qty-input { width: 40px; height: 36px; border: none; text-align: center; font-size: 14px; font-weight: 600; background: #fff; -moz-appearance: textfield; }
.evp-qty-input::-webkit-outer-spin-button,
.evp-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.evp-add-to-cart { display: inline-flex; align-items: center; gap: 6px; padding: 8px 20px; border-radius: 8px; border: none; font-size: 13px; font-weight: 600; background: #1a1a2e; color: #fff; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
.evp-add-to-cart:hover { background: #2d2d44; }

/* Member price row */
.evp-member-price-row { display: flex; align-items: center; gap: 8px; padding-top: 8px; border-top: 1px dashed #e8e8e8; }
.evp-member-badge { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #7c3aed; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; }
.evp-member-price-val { font-size: 16px; font-weight: 700; color: #7c3aed; }
.evp-add-member { background: #7c3aed; font-size: 12px; padding: 6px 14px; }
.evp-add-member:hover { background: #6d28d9; }

/* ─── MEMBER PRICE IN PRODUCT CARD ────────────────────── */
.evp-member-section {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #e0e0e0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.evp-member-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.evp-member-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    background: #7c3aed;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.evp-member-price-val {
    font-size: 16px;
    font-weight: 700;
    color: #7c3aed;
}
.evp-member-limit {
    font-size: 11px;
    color: #999;
    font-weight: 500;
}
.evp-member-remaining {
    font-size: 11px;
    color: #7c3aed;
    font-weight: 500;
}
.evp-add-member {
    background: #7c3aed;
    font-size: 12px;
    padding: 6px 14px;
}
.evp-add-member:hover {
    background: #6d28d9;
}
.evp-become-member-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    border: 1.5px dashed #7c3aed;
    background: rgba(124,58,237,0.04);
    color: #7c3aed;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}
.evp-become-member-btn:hover {
    background: rgba(124,58,237,0.1);
    color: #6d28d9;
    text-decoration: none;
}

/* ─── MEMBERSHIP OFFCANVAS (event page) ──────────────── */
.evp-mc-offcanvas { max-width: 400px; }
.evp-mc-oc-intro { font-size: 14px; color: #666; line-height: 1.6; margin: 0 0 20px 0; }
.evp-mc-oc-card { border: 1px solid #e8e8e8; border-radius: 12px; overflow: hidden; margin-bottom: 12px; }
.evp-mc-oc-card-header { padding: 14px 16px; background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%); color: #fff; display: flex; align-items: center; gap: 12px; }
.evp-mc-oc-logo { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; border: 2px solid rgba(255,255,255,0.2); }
.evp-mc-oc-name { font-size: 15px; font-weight: 700; margin: 0; }
.evp-mc-oc-price { font-size: 13px; font-weight: 600; color: #f5c518; }
.evp-mc-oc-price-free { color: #2fb344; }
.evp-mc-oc-desc { font-size: 13px; color: #555; margin: 0; padding: 12px 16px; line-height: 1.5; }
.evp-mc-oc-action { padding: 12px 16px; border-top: 1px solid #f0f0f0; }

/* ─── MEMBERSHIP SECTION ──────────────────────────────── */
.evp-membership-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.evp-mc-card { border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid #e8e8e8; transition: box-shadow 0.2s; }
.evp-mc-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.evp-mc-card-active { border-color: #2fb344; border-width: 2px; }
.evp-mc-card-header { padding: 16px; background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%); color: #fff; display: flex; align-items: center; gap: 12px; }
.evp-mc-logo { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; border: 2px solid rgba(255,255,255,0.2); }
.evp-mc-name { font-size: 15px; font-weight: 700; margin: 0; }
.evp-mc-price { font-size: 13px; font-weight: 600; color: #f5c518; }
.evp-mc-price-free { color: #2fb344; }
.evp-mc-desc { font-size: 13px; color: #555; margin: 0; padding: 12px 16px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.evp-mc-footer { padding: 12px 16px; border-top: 1px solid #f0f0f0; }

/* ─── COMMON BUTTONS ──────────────────────────────────── */
.evp-btn-primary { display: inline-flex; align-items: center; gap: 6px; padding: 10px 24px; border-radius: 8px; border: none; font-size: 14px; font-weight: 600; background: #3b82f6; color: #fff; cursor: pointer; text-decoration: none; transition: background 0.2s; }
.evp-btn-primary:hover { background: #2563eb; color: #fff; text-decoration: none; }
.evp-btn-member-active { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 8px; background: #2fb344; color: #fff; font-size: 13px; font-weight: 600; }
.evp-btn-member-pending { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 8px; background: #f59f00; color: #fff; font-size: 13px; font-weight: 600; }

/* ─── ORGANIZER ────────────────────────────────────────── */
.evp-organizer { display: flex; align-items: center; gap: 12px; padding: 16px; background: #fafafa; border-radius: 12px; border: 1px solid #eee; }
.evp-organizer-name { font-size: 15px; font-weight: 600; color: #1a1a2e; }

/* ─── TABLES CTA ──────────────────────────────────────── */
.evp-tables-cta { padding: 20px; background: #fafafa; border-radius: 12px; border: 1px solid #eee; }

/* ─── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 768px) {
    .evp-hero { min-height: 320px; }
    .evp-hero-media img.evp-hero-media-main { top: 50%; width: 100vw; height: 100%; opacity: 0.78; }
    .evp-hero-inner { flex-direction: column; align-items: flex-start; gap: 12px; padding: 0 16px; }
    .evp-poster { width: 100px; height: 140px; }
    .evp-hero-name { font-size: 26px; }
    .evp-stats-inner { padding: 10px 16px; }
    .evp-content { padding: 20px 16px; }
    .evp-nav::after {
        content: "\2192";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 42px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: 12px;
        color: #1a1a2e;
        font-size: 18px;
        font-weight: 800;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(255,255,255,0), #fff 58%);
    }
    .evp-nav-inner,
    .evp-nav:not(:has(.evp-nav-inner)) {
        padding: 0 52px 0 16px;
    }
    .evp-nav-item {
        padding: 12px 14px;
        gap: 7px;
    }
    .evp-hero-video-thumb { width: 80%; }
    .evp-hero-video-play { width: 66px; height: 66px; }
    .evp-hero-video-play-icon { width: 46px; height: 46px; }
    .evp-hero-video-play-icon::before { border-top-width: 9px; border-bottom-width: 9px; border-left-width: 14px; }
    .evp-hero-video-controls { top: 12px; left: 12px; right: 12px; width: auto; transform: none; gap: 8px; padding: 8px; min-height: 48px; }
    .evp-hero-video-control { width: 32px; height: 32px; border-radius: 7px; }
    .evp-hero-video-time { display: none; }
    .evp-sticky-name { max-width: 140px; font-size: 13px; }
    .evp-sticky-inner { padding: 0 16px; gap: 12px; }
    .evp-layout { flex-direction: column; }
    .evp-sidebar { flex: none; order: 2; width: 100%; }
    .evp-main { flex: none; order: 1; width: 100%; }
    .evp-product-card { flex-direction: column; gap: 12px; }
    .evp-product-action { width: 100%; align-items: stretch; }
    .evp-qty-row { justify-content: space-between; }
    .evp-location-row { flex-direction: column; }
    .evp-location-details { flex: none; }
    .evp-membership-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .evp-hero { min-height: 280px; }
    .evp-hero-media img.evp-hero-media-main { top: 50%; width: 100vw; height: 100%; }
    .evp-hero-name { font-size: 22px; }
}

/* ─── OCCURRENCE DATE PICKER (RECURRING EVENTS) ────────── */
.evp-occurrence-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.evp-occurrence-groups {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.evp-occurrence-month {
    margin: 4px 0 -8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}
.evp-occurrence-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.evp-occurrence-card:hover {
    border-color: #206bc4;
    box-shadow: 0 2px 8px rgba(32,107,196,0.12);
    background: #f8faff;
    color: inherit;
}
.evp-occurrence-card svg { color: #206bc4; flex-shrink: 0; }
.evp-occ-calendar {
    width: 58px;
    min-width: 58px;
    height: 62px;
    border-radius: 8px;
    background: #f6f7fb;
    border: 1px solid #e2e6ef;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.evp-occ-dayno {
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    color: #1f2937;
}
.evp-occ-month {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 700;
    color: #206bc4;
    text-transform: uppercase;
}
.evp-occ-date { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.evp-occ-date strong { font-size: 15px; }
.evp-occ-time {
    color: #6c757d;
    font-size: 13px;
}
.evp-occ-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    color: #f5c518;
    background: rgba(245,197,24,0.12);
    padding: 1px 8px;
    border-radius: 10px;
    margin-top: 2px;
    width: fit-content;
}
.evp-occ-status {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #6c4a00;
    background: #fff3cd;
    border: 1px solid #ffe69c;
    padding: 1px 8px;
    border-radius: 10px;
    margin-top: 3px;
    width: fit-content;
    text-transform: uppercase;
}
.evp-occ-cta {
    border-radius: 6px;
    background: #206bc4;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 12px;
    white-space: nowrap;
}
@media (max-width: 480px) {
    .evp-occurrence-card { align-items: flex-start; }
    .evp-occ-cta { display: none; }
}

.evp-prereg-section {
    border: 1px solid rgba(32, 107, 196, 0.18);
    background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}
.evp-prereg-form {
    margin-top: 18px;
}
.evp-prereg-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
}
.evp-prereg-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}
.evp-prereg-field label {
    color: #4b5563;
    font-size: 13px;
    font-weight: 700;
}
.evp-prereg-field input,
.evp-prereg-field select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d8dee9;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    padding: 10px 12px;
}
.evp-prereg-field input:focus,
.evp-prereg-field select:focus {
    border-color: #206bc4;
    box-shadow: 0 0 0 3px rgba(32, 107, 196, 0.12);
    outline: none;
}
.evp-prereg-phone {
    display: grid;
    grid-template-columns: minmax(130px, 0.9fr) minmax(0, 1.1fr);
    gap: 8px;
}
.evp-prereg-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.45;
    margin: 2px 0 16px;
}
.evp-prereg-consent input {
    margin-top: 3px;
}
.evp-prereg-consent a {
    color: #14315f;
    font-weight: 700;
}
.evp-prereg-footer {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.evp-prereg-note {
    color: #6b7280;
    font-size: 13px;
    margin: 0;
}
.evp-prereg-alert {
    margin-top: 14px;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 600;
}
.evp-prereg-alert.success {
    background: #ecfdf3;
    border: 1px solid #b7ebc6;
    color: #166534;
}
.evp-prereg-alert.error {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #9f1239;
}
@media (max-width: 640px) {
    .evp-prereg-grid,
    .evp-prereg-phone {
        grid-template-columns: 1fr;
    }
    .evp-prereg-footer .evp-btn-primary {
        width: 100%;
        justify-content: center;
    }
}
