/* ==========================================================================
   Wydarzenia dodane ręcznie w panelu (events_manual / core/ManualEvents.php)
   - strona /wydarzenie/<slug>, blok „Polecane wydarzenia” na /wydarzenia,
     dodatki do widżetu i modala na stronie głównej.
   Kolory z motywu portalu (--primary*, --accent), zielony = wstęp wolny.
   ========================================================================== */
:root {
    --evm-p: var(--primary, #6b5b95);
    --evm-pd: var(--primary-dark, #4a3f6b);
    --evm-pl: var(--primary-light, #8b7bb5);
    --evm-acc: var(--accent, #f0ad4e);
    --evm-free: #16a34a;
    --evm-free-bg: #ecfdf3;
    --evm-text: var(--text, #333);
}

/* ---------- Strona wydarzenia: hero ---------- */
.evm-preview-bar { background: #fef3c7; color: #92400e; text-align: center; font-weight: 700; font-size: 14px; padding: 10px 16px; }
.evm-preview-bar i { margin-right: 6px; }

.evm-hero { position: relative; overflow: hidden; isolation: isolate; color: #fff; padding: 26px 0 46px;
    background: linear-gradient(135deg, var(--evm-pd), var(--evm-p)); }
.evm-hero__bg { position: absolute; inset: -60px; z-index: -2; background-size: cover; background-position: center;
    filter: blur(32px) saturate(1.3); opacity: .6; transform: scale(1.08); }
.evm-hero::after { content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(18, 14, 34, .9) 0%, rgba(18, 14, 34, .7) 55%, rgba(18, 14, 34, .4) 100%); }
.evm-hero__in { position: relative; }

.evm-crumbs { display: flex; flex-wrap: wrap; align-items: center; font-size: 13px; margin-bottom: 24px; opacity: .88; }
.evm-crumbs a { color: #fff; text-decoration: none; }
.evm-crumbs a:hover { text-decoration: underline; }
.evm-crumbs i { font-size: 9px; margin: 0 9px; opacity: .7; }
.evm-crumbs span { max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .8; }

.evm-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: center; }
.evm-hero__grid.no-poster { grid-template-columns: minmax(0, 1fr); }

.evm-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.evm-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 20px;
    font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
    background: rgba(255, 255, 255, .16); color: #fff; backdrop-filter: blur(4px); }
.evm-chip--star { background: var(--evm-acc); color: #2b2b2b; }
.evm-chip--today, .evm-chip--tomorrow { background: #fff; color: var(--evm-pd); }
.evm-chip--live { background: #dc2626; }
/* Koncert w okolicy (miejscowość inna niż portal): obrys zamiast tła + odległość na kartach */
.evm-chip--near { background: transparent; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); }
.evm-km { color: #6b7280; font-weight: 600; white-space: nowrap; }
.evm-dot { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: evmPulse 1.4s infinite; }
@keyframes evmPulse { 50% { opacity: .25; } }

.evm-title { margin: 0 0 10px; color: #fff; font-size: clamp(28px, 4.2vw, 46px); font-weight: 900; line-height: 1.08; letter-spacing: -.5px; }
.evm-sub { margin: 0 0 22px; font-size: 18px; font-weight: 500; opacity: .92; }

.evm-facts { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 10px; }
.evm-facts li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; }
.evm-facts i { width: 18px; margin-top: 3px; text-align: center; opacity: .85; }
.evm-facts em { font-style: normal; opacity: .8; }

.evm-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.evm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 14px 26px;
    border: 0; border-radius: 14px; font-size: 15px; font-weight: 800; line-height: 1.1; text-decoration: none;
    cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.evm-btn--buy { background: var(--evm-acc); color: #222; box-shadow: 0 8px 22px rgba(240, 173, 78, .35); }
.evm-btn--buy:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(240, 173, 78, .45); color: #222; }
.evm-btn--ghost { background: rgba(255, 255, 255, .1); color: #fff; border: 1.5px solid rgba(255, 255, 255, .45); }
.evm-btn--ghost:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.evm-btn--block { width: 100%; }
.evm-price { font-size: 20px; font-weight: 900; }
.evm-pill { display: inline-flex; align-items: center; gap: 9px; padding: 12px 20px; border-radius: 14px;
    background: rgba(255, 255, 255, .14); font-weight: 800; }
.evm-pill--free { padding: 14px 26px; background: var(--evm-free); color: #fff; font-size: 18px;
    box-shadow: 0 8px 24px rgba(22, 163, 74, .45); }

.evm-hero__poster { position: relative; display: block; padding: 0; border: 0; background: none; cursor: zoom-in;
    border-radius: 18px; overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
    transform: rotate(1.5deg); transition: transform .3s; }
.evm-hero__poster:hover { transform: rotate(0) scale(1.01); }
.evm-hero__poster img { display: block; width: 100%; height: auto; }
.evm-zoom { position: absolute; right: 12px; bottom: 12px; width: 38px; height: 38px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .55); color: #fff; font-size: 15px; }
.evm-hero.is-past .evm-hero__poster img { filter: grayscale(.6); }

/* ---------- Strona wydarzenia: treść + panel boczny ---------- */
.evm-body { padding: 40px 0 56px; }
.evm-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 36px; align-items: start; }
.evm-main { min-width: 0; }
.evm-note { margin-bottom: 22px; padding: 14px 16px; border-radius: 12px; background: #f5f3ff; color: #4b5563; font-size: 15px; }
.evm-note i { margin-right: 6px; color: var(--evm-p); }
.evm-note a { color: var(--evm-p); font-weight: 700; }
.evm-lead { margin: 0 0 22px; color: var(--evm-text); font-size: 19px; font-weight: 600; line-height: 1.65; }
.evm-desc { color: #374151; font-size: 17px; line-height: 1.75; }
.evm-desc p { margin: 0 0 18px; }
.evm-quote { margin: 26px 0; padding: 20px 24px 20px 26px; border-left: 4px solid var(--evm-p); border-radius: 0 14px 14px 0;
    background: #f7f5fc; color: #2f2a44; font-size: 17px; font-style: italic; }
.evm-quote p { margin: 0; }
.evm-quote cite { display: block; margin-top: 10px; color: var(--evm-p); font-size: 14px; font-style: normal; font-weight: 700; }

.evm-section { margin-top: 40px; }
.evm-h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--evm-text); font-size: 22px; font-weight: 800; }
.evm-h2 .fa-youtube { color: #ff0033; }
.evm-small { margin: 10px 0 0; color: #6b7280; font-size: 12.5px; }

/* Wideo: miniatura → iframe po kliknięciu. Shorts w pionie 9:16, poziome na całą szerokość. */
.evm-videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 320px)); gap: 18px; }
.evm-video { position: relative; grid-column: 1 / -1; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; }
.evm-video--short { grid-column: auto; aspect-ratio: 9 / 16; }
.evm-video__play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #000; cursor: pointer; }
.evm-video__play img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .88; transition: opacity .2s, transform .4s; }
.evm-video__play:hover img { opacity: 1; transform: scale(1.03); }
.evm-video__btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 68px; height: 68px;
    padding-left: 4px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: rgba(255, 0, 51, .92); color: #fff; font-size: 24px; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); }
.evm-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Galeria: parzysta siatka; przy nieparzystej liczbie pierwsze zdjęcie na całą szerokość. */
.evm-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.evm-gallery__item { position: relative; aspect-ratio: 4 / 3; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: #eee; cursor: zoom-in; }
.evm-gallery.is-odd .evm-gallery__item:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.evm-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.evm-gallery__item:hover img { transform: scale(1.04); }

/* --evm-nav = wysokość przyklejonego menu portalu (ustawia skrypt strony; 62px = menu motywu domyślnego) */
.evm-side { display: grid; gap: 18px; position: sticky; top: calc(var(--evm-nav, 62px) + 18px); }
/* Short w pasku bocznym: cały pasek byłby wtedy wyższy niż ekran, więc przypięty (sticky) jest tylko short.
   Pasek rozciąga się na wysokość treści — flex, nie grid (w gridzie sticky nie wyjdzie poza własny wiersz). */
.evm-side.has-pin { position: static; align-self: stretch; display: flex; flex-direction: column; }
.evm-pin { position: sticky; top: calc(var(--evm-nav, 62px) + 18px); align-self: center;
    width: min(100%, calc((100vh - var(--evm-nav, 62px) - 150px) * 9 / 16)); } /* 150px: podpis + przycisk „do góry” portalu */
.evm-pin.has-more { width: min(100%, calc((100vh - var(--evm-nav, 62px) - 240px) * 9 / 16)); }
#evm-short, #evm-nagrania { scroll-margin-top: calc(var(--evm-nav, 62px) + 18px); }
/* Pasek bez shorta (~770px + menu) nie mieści się na niskim ekranie — wtedy bez przypinania, żeby dół nie był ucięty. */
@media (max-height: 880px) { .evm-side:not(.has-pin) { position: static; } }
.evm-pin .evm-video { box-shadow: 0 10px 28px rgba(0, 0, 0, .18); }
.evm-pin .evm-small { text-align: center; }
.evm-pin .evm-small .fa-youtube { color: #ff0033; }
.evm-pin__more { display: flex; justify-content: center; gap: 8px; margin-top: 10px; }
.evm-pin__thumb { width: 46px; aspect-ratio: 9 / 16; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden;
    background: #000; opacity: .65; cursor: pointer; transition: opacity .2s, border-color .2s; }
.evm-pin__thumb:hover, .evm-pin__thumb.is-on { border-color: var(--evm-p); opacity: 1; }
.evm-pin__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.evm-card { padding: 22px; border: 1px solid #eef0f4; border-radius: 18px; background: #fff; box-shadow: 0 2px 12px rgba(0, 0, 0, .05); }
.evm-card__title { margin: 0 0 14px; color: #6b7280; font-size: 13px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }

.evm-tickets { text-align: center; border-top: 4px solid var(--evm-p); }
.evm-tickets__label { color: #6b7280; font-size: 12px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.evm-tickets__price { margin: 6px 0 8px; color: var(--evm-p); font-size: 30px; font-weight: 900; line-height: 1.1; }
.evm-tickets__info { margin: 0 0 16px; color: #4b5563; font-size: 14px; }
.evm-tickets.is-free { border-top-color: var(--evm-free); background: linear-gradient(180deg, var(--evm-free-bg), #fff 75%); }
.evm-tickets.is-free .evm-tickets__price { color: var(--evm-free); }
.evm-tickets.is-free .evm-tickets__info { margin-bottom: 0; }
.evm-tickets__icon { width: 56px; height: 56px; margin: 0 auto 10px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--evm-free); color: #fff; font-size: 22px; box-shadow: 0 8px 20px rgba(22, 163, 74, .35); }

.evm-dl { margin: 0; display: grid; gap: 4px; }
.evm-dl dt { margin-top: 12px; color: #9ca3af; font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.evm-dl dt:first-child { margin-top: 0; }
.evm-dl dt i { width: 16px; margin-right: 4px; color: var(--evm-p); }
.evm-dl dd { margin: 0; color: #1f2937; font-size: 15px; line-height: 1.5; }
.evm-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--evm-p); font-size: 14px; font-weight: 700; cursor: pointer; }
.evm-link:hover { text-decoration: underline; }
.evm-cal { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #f0f0f3; }
.evm-chipbtn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 10px;
    background: #f5f3ff; color: var(--evm-pd); font-size: 13px; font-weight: 700; text-decoration: none; cursor: pointer; }
.evm-chipbtn:hover { background: #ede9fe; color: var(--evm-pd); }
.evm-more { margin: 12px 0 0; }

.evm-share { display: flex; flex-wrap: wrap; gap: 8px; }
.evm-share__btn { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 12px;
    border: 1.5px solid #e5e7eb; border-radius: 10px; background: #fff; color: #374151; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.evm-share__btn:hover { background: #f9fafb; }
.evm-share__btn--fb { border-color: #1877f2; background: #1877f2; color: #fff; }
.evm-share__btn--fb:hover { background: #166fe5; }
.evm-share__btn[hidden] { display: none; }

/* Inne wydarzenia (pod treścią) */
.evm-others { padding: 4px 0 56px; }
.evm-others__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.evm-others__head .evm-h2 { margin: 0; }
.evm-others__all { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border: 2px solid var(--evm-p); border-radius: 20px;
    color: var(--evm-p); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: all .3s; }
.evm-others__all:hover { background: var(--evm-p); color: #fff; }
.evm-others__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.evm-others__grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evm-mini { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #f0f0f0; border-radius: 16px; background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06); color: inherit; text-decoration: none; cursor: pointer; transition: transform .3s, box-shadow .3s; }
.evm-mini:hover { transform: translateY(-4px); box-shadow: 0 8px 25px rgba(0, 0, 0, .1); }
.evm-mini__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f5f3ff; }
.evm-mini__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.evm-mini__date, .evm-feat__date { position: absolute; top: 10px; left: 10px; padding: 5px 9px; border-radius: 8px; background: var(--evm-p);
    color: #fff; font-size: 9px; font-weight: 700; line-height: 1.15; text-align: center; text-transform: uppercase; }
.evm-mini__date b, .evm-feat__date b { display: block; font-size: 17px; font-weight: 900; }
.evm-mini__body { display: flex; flex-direction: column; gap: 5px; padding: 12px 14px 14px; }
.evm-mini__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    color: var(--evm-text); font-size: 15px; font-weight: 800; line-height: 1.3; }
.evm-mini__meta { overflow: hidden; color: #6b7280; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.evm-mini__price { color: var(--evm-p); font-size: 13px; font-weight: 800; }
.evm-mini__price.is-free { color: var(--evm-free); }

/* Lightbox */
.evm-lb { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center;
    padding: 56px 72px; background: rgba(10, 8, 20, .93); }
.evm-lb[hidden] { display: none; }
.evm-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); }
.evm-lb__close, .evm-lb__nav { position: absolute; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%;
    background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; }
.evm-lb__close { top: 14px; right: 16px; width: 44px; height: 44px; font-size: 20px; }
.evm-lb__nav { top: 50%; width: 48px; height: 48px; font-size: 18px; transform: translateY(-50%); }
.evm-lb__nav--prev { left: 14px; }
.evm-lb__nav--next { right: 14px; }
.evm-lb__close:hover, .evm-lb__nav:hover { background: rgba(255, 255, 255, .26); }
.evm-lb__count { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 13px; opacity: .8; }

/* ---------- /wydarzenia: blok „Polecane wydarzenia” ---------- */
.evm-feat { margin-bottom: 36px; }
.evm-feat__title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; color: var(--evm-text); font-size: 20px; font-weight: 800; }
.evm-feat__title i { color: var(--evm-acc); }
.evm-feat__list { display: grid; gap: 16px; }
.evm-feat__card { display: grid; grid-template-columns: 250px minmax(0, 1fr); overflow: hidden; border-radius: 18px; background: #fff;
    color: inherit; text-decoration: none; box-shadow: 0 0 0 2px var(--evm-acc), 0 8px 24px rgba(0, 0, 0, .08); transition: transform .3s, box-shadow .3s; }
.evm-feat__card:hover { transform: translateY(-3px); box-shadow: 0 0 0 2px var(--evm-acc), 0 14px 32px rgba(0, 0, 0, .12); }
.evm-feat__img { position: relative; min-height: 230px; background: #f5f3ff; }
.evm-feat__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.evm-feat__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 24px; }
.evm-feat__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.evm-tag { padding: 3px 9px; border-radius: 20px; background: #f5f3ff; color: var(--evm-p); font-size: 10.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.evm-tag--star { background: var(--evm-acc); color: #2b2b2b; }
.evm-tag--free { background: var(--evm-free); color: #fff; }
.evm-tag--when { background: var(--evm-pd); color: #fff; }
.evm-feat__name { color: var(--evm-text); font-size: 22px; font-weight: 900; line-height: 1.2; }
.evm-feat__sub { color: #4b5563; font-size: 14.5px; font-weight: 600; }
.evm-feat__facts { display: flex; flex-wrap: wrap; gap: 4px 16px; color: #4b5563; font-size: 14px; }
.evm-feat__facts i { margin-right: 5px; color: var(--evm-p); }
.evm-feat__intro { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #6b7280; font-size: 14px; line-height: 1.55; }
.evm-feat__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 8px; }
.evm-feat__price { color: var(--evm-p); font-size: 17px; font-weight: 900; }
.evm-feat__price.is-free { color: var(--evm-free); }
.evm-feat__go { color: var(--evm-p); font-size: 13.5px; font-weight: 800; white-space: nowrap; }
.evm-feat__go i { margin-left: 4px; font-size: 11px; }

/* ---------- Strona główna: dodatki do karty i modala ---------- */
.ev-card.evm-is-featured { box-shadow: 0 0 0 2px var(--evm-acc), 0 8px 22px rgba(240, 173, 78, .22); }
.evm-badges { position: absolute; top: 10px; right: 10px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.evm-badges .ev-card-poster-badge { position: static; }
.evm-badge-star { padding: 4px 9px; border-radius: 6px; background: var(--evm-acc); color: #2b2b2b; font-size: 10px; font-weight: 800;
    letter-spacing: .5px; text-transform: uppercase; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.evm-ribbon { position: absolute; left: 0; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px 7px 12px;
    border-radius: 0 20px 20px 0; background: var(--evm-free); color: #fff; font-size: 12px; font-weight: 800; box-shadow: 0 4px 12px rgba(22, 163, 74, .4); }
.evm-has-video { position: absolute; right: 10px; bottom: 10px; width: 34px; height: 34px; padding-left: 2px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; background: rgba(255, 0, 51, .92); color: #fff; font-size: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, .3); }
.evm-card-link { color: inherit; text-decoration: none; }
.evm-card-link:hover { color: var(--evm-p); }
.evm-price-free { color: var(--evm-free); }
.evm-card-intro { display: none; }

/* Widżet z 1–2 kartami (np. gdy z Biletyny nic nie ma plakatu): karty poziome zamiast pustych kolumn */
.ev-widget-grid.evm-n1 { grid-template-columns: minmax(0, 1fr); --evm-hc: 300px; }
.ev-widget-grid.evm-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); --evm-hc: 210px; }
.evm-n1 .ev-card, .evm-n2 .ev-card { display: grid; grid-template-columns: var(--evm-hc) minmax(0, 1fr); grid-template-rows: 1fr auto; }
.evm-n1 .ev-card-poster, .evm-n2 .ev-card-poster,
.evm-n1 .ev-card-header, .evm-n2 .ev-card-header { grid-column: 1; grid-row: 1 / span 2; }
.evm-n1 .ev-card-poster, .evm-n2 .ev-card-poster { aspect-ratio: auto; min-height: var(--evm-hc); }
.evm-n1 .ev-card-body, .evm-n2 .ev-card-body,
.evm-n1 .ev-card-footer, .evm-n2 .ev-card-footer { grid-column: 2; }
.evm-n1 .ev-card-body, .evm-n2 .ev-card-body { justify-content: center; }
.evm-n1 .ev-card-body { padding: 28px 34px 12px; gap: 10px; }
.evm-n1 .ev-card-footer { padding: 14px 34px 22px; }
.evm-n1 .ev-card-title { font-size: 26px; line-height: 1.2; -webkit-line-clamp: 3; }
.evm-n1 .ev-card-venue { font-size: 14px; }
.evm-n1 .ev-card-price { font-size: 18px; }
.evm-n1 .evm-card-intro, .evm-n2 .evm-card-intro { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
    margin: 2px 0 0; color: #4b5563; font-size: 13.5px; line-height: 1.55; }
.evm-n1 .evm-card-intro { max-width: 68ch; font-size: 15px; -webkit-line-clamp: 4; }

.evm-modal-media { position: relative; display: flex; justify-content: center; margin-bottom: 14px; border-radius: 12px; overflow: hidden; background: #000; }
.evm-modal-media img { display: block; max-width: 100%; max-height: 320px; }
.evm-modal-media.is-playing { width: 100%; aspect-ratio: 16 / 9; }
.evm-modal-media.is-short.is-playing { width: min(100%, calc(68vh * 9 / 16)); aspect-ratio: 9 / 16; margin: 0 auto 14px; }
.evm-modal-media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.evm-modal-play { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px; border: 0; border-radius: 24px; background: rgba(255, 0, 51, .95); color: #fff; font-size: 14px; font-weight: 800;
    white-space: nowrap; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.evm-modal-sub { margin: 0 0 10px; color: #4b5563; font-weight: 700; }
.evm-modal-facts { list-style: none; display: grid; gap: 6px; margin: 0 0 14px; padding: 0; color: #374151; font-size: 14px; }
.evm-modal-facts i { width: 18px; margin-right: 6px; color: var(--evm-p); text-align: center; }
.evm-modal-free, .evm-modal-price { padding: 14px; border-radius: 12px; font-size: 20px; font-weight: 900; text-align: center; }
.evm-modal-free { border: 1.5px solid #bbf7d0; background: var(--evm-free-bg); color: var(--evm-free); }
.evm-modal-price { background: #f5f3ff; color: var(--evm-p); }
.evm-modal-free small, .evm-modal-price small { display: block; margin-top: 4px; color: #6b7280; font-size: 12.5px; font-weight: 600; }
.evm-modal-intro { margin: 14px 0 0; color: #4b5563; font-size: 14.5px; line-height: 1.6; }
.evm-modal-go { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.evm-modal-go:hover { color: #fff; }

/* ---------- Responsywność ---------- */
@media (max-width: 980px) {
    .ev-widget-grid.evm-n1 { --evm-hc: 240px; }
    .ev-widget-grid.evm-n2 { --evm-hc: 150px; }
    .evm-n2 .ev-card-body { padding: 12px 14px; }
    .evm-n2 .ev-card-footer { padding: 8px 14px 12px; }
    .evm-hero__grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 30px; }
    .evm-layout { grid-template-columns: minmax(0, 1fr); }
    .evm-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .evm-side > .evm-tickets { grid-column: 1 / -1; }
    /* pasek boczny spada pod treść: bilety → short (bez przypięcia) → informacje | udostępnianie */
    .evm-side.has-pin { display: grid; }
    .evm-side.has-pin > .evm-tickets { order: -2; }
    .evm-pin, .evm-pin.has-more { position: static; order: -1; grid-column: 1 / -1; justify-self: center; width: 100%; max-width: 340px; }
}
@media (max-width: 768px) {
    /* telefon: widżet i tak jest w jednej kolumnie → zwykłe karty pionowe */
    .ev-widget-grid.evm-n2 { grid-template-columns: minmax(0, 1fr); }
    .evm-n1 .ev-card, .evm-n2 .ev-card { display: flex; }
    .evm-n1 .ev-card-poster, .evm-n2 .ev-card-poster { aspect-ratio: 1 / 1; min-height: 0; }
    .evm-n1 .ev-card-body, .evm-n2 .ev-card-body { padding: 14px 16px; gap: 6px; }
    .evm-n1 .ev-card-footer, .evm-n2 .ev-card-footer { padding: 10px 16px 14px; }
    .evm-n1 .ev-card-title { font-size: 18px; }
    .evm-n1 .evm-card-intro { font-size: 14px; -webkit-line-clamp: 3; }
}
@media (max-width: 700px) {
    .evm-hero { padding: 16px 0 30px; }
    .evm-crumbs { margin-bottom: 16px; }
    .evm-crumbs span, .evm-crumbs i:last-of-type { display: none; }
    .evm-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .evm-hero__poster { order: -1; width: 100%; max-width: 300px; margin: 0 auto; transform: none; }
    .evm-sub { font-size: 16px; }
    .evm-facts li { font-size: 15px; }
    .evm-cta .evm-btn--buy { flex: 1 1 auto; }
    .evm-body { padding: 26px 0 40px; }
    .evm-lead { font-size: 17px; }
    .evm-desc, .evm-quote { font-size: 16px; }
    .evm-side { grid-template-columns: minmax(0, 1fr); }
    .evm-videos { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
    .evm-others__grid, .evm-others__grid.cols-2 { grid-template-columns: minmax(0, 1fr); }
    .evm-others__head .evm-h2 { font-size: 19px; }
    .evm-feat__card { grid-template-columns: minmax(0, 1fr); }
    .evm-feat__img { min-height: 0; aspect-ratio: 16 / 10; }
    .evm-feat__body { padding: 16px 18px 18px; }
    .evm-feat__name { font-size: 19px; }
    .evm-lb { padding: 56px 8px; }
    .evm-lb__nav { top: auto; bottom: 10px; transform: none; width: 44px; height: 44px; }
}
