/* Detail akce / clanku — Figma 711:2442 "INDIVIDUAL EVENT". Prefix ev-.
   Karty "Past events" = .ne-list/.ne-card z news-events.css. */

/* ---------------------------------------------------------------- HERO (Introduction 1920x788) */
.ev-hero { position: relative; height: calc(788 * var(--u)); min-height: 480px; color: #fff; background: var(--c-navy); overflow: hidden; }
.ev-hero__media { position: absolute; inset: 0; z-index: 0; }
.ev-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ev-hero__media::after { /* Figma: INNER_SHADOW #000/.40 r48.7; + jemny prechod kvuli citelnosti nadpisu na libovolne fotce */
  content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 48.7px rgba(0, 0, 0, .40);
  background: linear-gradient(180deg, rgba(0, 14, 60, 0) 55%, rgba(0, 14, 60, .35) 100%); }
.ev-hero__inner { position: absolute; z-index: 51; /* nad prechodem hlavicky (.cs-hd::before), Figma ho na detailu nema */ left: 0; right: 0; bottom: 0; max-width: var(--maxw); margin-inline: auto; padding: 0 calc(91 * var(--u)) calc(34 * var(--u)) calc(85 * var(--u)); display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
.ev-hero__left { display: flex; flex-direction: column; gap: calc(9 * var(--u)); min-width: 0; }
.ev-hero__date { padding-left: calc(8 * var(--u)); font-weight: 600; font-size: max(20px, calc(40 * var(--u))); line-height: calc(27.2 / 40 * 1.25); color: #cc994a; text-transform: uppercase; }
.ev-hero__h { font-weight: 700; font-size: max(36px, calc(96 * var(--u))); line-height: 1.1; text-transform: uppercase; max-width: calc(1400 * var(--u)); text-wrap: balance; }
.ev-hero--mid .ev-hero__h { font-size: max(32px, calc(72 * var(--u))); }
.ev-hero--long .ev-hero__h { font-size: max(26px, calc(54 * var(--u))); max-width: calc(1300 * var(--u)); }
.ev-hero__right { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: calc(12 * var(--u)); padding-bottom: calc(20 * var(--u)); }
.ev-hero__price { display: flex; flex-direction: column; align-items: flex-end; gap: calc(4 * var(--u)); text-align: right; }
.ev-hero__price span { font-weight: 600; font-size: max(13px, calc(16 * var(--u))); line-height: 1.22; color: rgba(255, 255, 255, .8); }
.ev-hero__price b { font-weight: 800; font-size: max(30px, calc(44 * var(--u))); line-height: 1.22; }
.ev-hero__cta { display: inline-flex; align-items: center; gap: 10px; height: max(46px, calc(56 * var(--u))); padding: 0 calc(24 * var(--u)); margin-top: calc(12 * var(--u)); background: #cc994a; color: #fff; font-weight: 800; font-size: max(15px, calc(20 * var(--u))); letter-spacing: .4px; text-transform: uppercase; box-shadow: 0 4px 24px rgba(0, 0, 0, .15); transition: background-color .2s; }
.ev-hero__cta .cs-ico { width: 18px; height: 18px; }
.ev-hero__cta:hover { background: #b7873f; }

/* ---------------------------------------------------------------- INTRO (why-martock-section 711:2627) */
.ev-intro { max-width: var(--maxw); margin-inline: auto; display: flex; gap: calc(80 * var(--u)); padding: calc(60 * var(--u)) calc(95 * var(--u)) calc(96 * var(--u)); background: #fff; color: var(--c-navy-2); }
.ev-intro__text { flex: 0 0 calc(705 * var(--u)); display: flex; flex-direction: column; gap: calc(16 * var(--u)); font-size: max(16px, calc(24 * var(--u))); line-height: 1.6; }
.ev-intro__text > p:not(.ev-intro__kicker), .ev-intro__lead { max-width: calc(560 * var(--u) + 60px); }
.ev-intro__kicker { font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: 1.45; letter-spacing: .15em; text-transform: uppercase; color: #cc994a; }
.ev-intro__lead { font-weight: 600; font-size: 1em; line-height: 1.6; }
.ev-intro__media { flex: 1; min-width: 0; }
.ev-intro__media img { width: 100%; height: calc(471 * var(--u)); min-height: 240px; object-fit: cover; }
.ev-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: calc(24 * var(--u)); }
.ev-chip { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 12px 16px; background: #f2f4fa; border: 1px solid #e5e7eb; font-weight: 600; font-size: max(14px, calc(16 * var(--u))); line-height: 1.22; color: var(--c-navy-2); }
.ev-chip .cs-ico { width: 18px; height: 18px; }

/* ---------------------------------------------------------------- PROGRAM (Schedule-Timeline 711:2561) */
.ev-sched { background: var(--c-navy-2); color: #fff; }
.ev-sched__wrap { max-width: var(--maxw); margin-inline: auto; padding: calc(110 * var(--u)) calc(90 * var(--u)) calc(96 * var(--u)) calc(95 * var(--u)); }
.ev-sched__h { font-weight: 700; font-size: max(28px, calc(45 * var(--u))); line-height: 1.22; }
.ev-sched__cols { display: grid; grid-template-columns: calc(917 * var(--u)) 1fr; gap: calc(80 * var(--u)); align-items: start; margin-top: calc(22 * var(--u)); }
.ev-sched__intro { font-size: max(16px, calc(20 * var(--u))); line-height: 1.5; max-width: calc(820 * var(--u)); }
.ev-tl { margin: calc(16 * var(--u)) 0 0 calc(-31 * var(--u)); }
.ev-tl__item { display: grid; grid-template-columns: calc(187 * var(--u)) calc(53 * var(--u)) 1fr; column-gap: calc(32 * var(--u)); align-items: center; min-height: calc(158 * var(--u)); padding: calc(32 * var(--u)); border-radius: 16px; }
.ev-tl__time { font-weight: 700; font-size: max(17px, calc(24 * var(--u))); line-height: 1.22; }
.ev-tl__dot { justify-self: center; width: 21px; height: 21px; border-radius: 50%; border: 2.67px solid #fff; background: radial-gradient(circle, #fff 0 5.5px, transparent 6px); }
.ev-tl__t { font-weight: 700; font-size: max(18px, calc(24 * var(--u))); line-height: 1.22; }
.ev-tl__p { margin-top: calc(5 * var(--u)); font-size: max(15px, calc(20 * var(--u))); line-height: 1.5; max-width: calc(549 * var(--u) + 40px); }
.ev-dates { display: grid; gap: 18px; }
.ev-date { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: calc(28 * var(--u)) 0; border-top: 1px solid rgba(204, 153, 74, .7); border-bottom: 1px solid rgba(255, 255, 255, .15); }
.ev-date > .cs-ico { width: 28px; height: 28px; color: #cc994a; margin-bottom: 6px; }
.ev-date__n { font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #cc994a; }
.ev-date strong { font-weight: 700; font-size: max(22px, calc(32 * var(--u))); line-height: 1.15; }
.ev-date .ev-btn { margin-top: 14px; }

/* ---------------------------------------------------------------- TLACITKA (vstupenky) */
.ev-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 2px solid currentColor; border-radius: 7px; font-weight: 700; font-size: max(12px, calc(14 * var(--u))); letter-spacing: .1em; text-transform: uppercase; transition: background-color .2s, color .2s, border-color .2s; }
.ev-btn--gold { background: #cc994a; border-color: #cc994a; color: #fff; }
.ev-btn--gold:hover { background: #b7873f; border-color: #b7873f; }
.ev-btn:not(.ev-btn--gold):hover { background: #fff; color: var(--c-navy-2); border-color: #fff; }
.ev-sec .ev-btn:not(.ev-btn--gold):hover { background: var(--c-navy-2); color: #fff; border-color: var(--c-navy-2); }
.ev-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* ---------------------------------------------------------------- OBSAHOVE SEKCE (line-up, vstupenky, vyhody) */
.ev-sec { background: #fff; color: var(--c-navy-2); }
.ev-sec + .ev-sec { background: var(--c-bg); }
.ev-sec + .ev-sec + .ev-sec { background: #fff; }
.ev-sec__wrap { max-width: var(--maxw); margin-inline: auto; padding: calc(96 * var(--u)) calc(95 * var(--u)); }
.ev-sec__h { font-weight: 800; font-size: max(28px, calc(45 * var(--u))); line-height: 1.22; }
.ev-sec__sub { margin-top: 10px; font-weight: 600; font-size: max(16px, calc(20 * var(--u))); line-height: 1.4; }
.ev-lineup__cols, .ev-tickets__cols { display: grid; grid-template-columns: 1fr 1fr; gap: calc(32 * var(--u)); margin-top: calc(48 * var(--u)); }
.ev-venue { border: 1px solid var(--c-navy-2); border-radius: 7px; overflow: hidden; display: flex; flex-direction: column; }
.ev-venue__head { background: var(--c-navy-2); color: #fff; padding: calc(30 * var(--u)) calc(36 * var(--u)); }
.ev-venue__eyebrow { font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #cc994a; }
.ev-venue__h { margin-top: 6px; font-weight: 800; font-size: max(26px, calc(40 * var(--u))); line-height: 1.1; text-transform: uppercase; }
.ev-venue__place { margin-top: 6px; font-size: 15px; opacity: .8; }
.ev-venue__body { padding: calc(30 * var(--u)) calc(36 * var(--u)) calc(36 * var(--u)); font-size: max(15px, calc(18 * var(--u))); line-height: 1.55; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; flex: 1; }
.ev-venue__lead { font-weight: 700; font-size: max(17px, calc(22 * var(--u))); line-height: 1.3; }
.ev-artists { width: 100%; margin: 6px 0 10px; }
.ev-artists li { display: flex; gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(2, 22, 117, .12); font-weight: 700; font-size: max(17px, calc(22 * var(--u))); }
.ev-artists li span { font-size: 13px; font-weight: 700; color: #cc994a; letter-spacing: .1em; }
.ev-venue__body .ev-btn { margin-top: auto; }
.ev-tcard { padding: calc(36 * var(--u)); background: #fff; border: 1px solid var(--c-navy-2); border-radius: 7px; font-size: max(15px, calc(18 * var(--u))); line-height: 1.55; }
.ev-tcard--vip { background: var(--c-navy-2); color: #fff; border-color: var(--c-navy-2); }
.ev-tcard__h { font-weight: 800; font-size: max(22px, calc(30 * var(--u))); line-height: 1.2; text-transform: uppercase; margin-bottom: 12px; }
.ev-tcard__sub { margin-top: 24px; font-weight: 700; font-size: max(16px, calc(20 * var(--u))); }
.ev-table { width: 100%; margin-top: 16px; font-size: max(14px, calc(17 * var(--u))); }
.ev-table th, .ev-table td { padding: 14px 12px 14px 0; text-align: left; vertical-align: top; border-bottom: 1px solid currentColor; border-bottom-color: rgba(127, 140, 190, .35); }
.ev-table thead th { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #cc994a; }
.ev-table strong { font-weight: 800; font-size: 1.15em; white-space: nowrap; }
.ev-note { margin-top: 14px; font-size: max(13px, calc(15 * var(--u))); opacity: .85; }
.ev-check li { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.ev-check .cs-ico { width: 20px; height: 20px; color: #cc994a; }
.ev-tcard--vip .ev-btn:not(.ev-btn--gold) { color: #fff; }
.ev-tcard--vip .ev-btn:not(.ev-btn--gold):hover { background: #fff; color: var(--c-navy-2); border-color: #fff; }
.ev-perks__cols { display: grid; grid-template-columns: 1fr 1fr; gap: calc(80 * var(--u)); }
.ev-perks__list { margin-top: 28px; display: grid; gap: 18px; }
.ev-perks__list li { display: flex; gap: 16px; padding: 24px; border: 1px solid var(--c-navy-2); border-radius: 7px; background: #fff; }
.ev-perks__list .cs-ico { width: 28px; height: 28px; color: #cc994a; }
.ev-perks__list h3 { font-weight: 700; font-size: max(17px, calc(22 * var(--u))); }
.ev-perks__list p { margin-top: 4px; font-size: max(15px, calc(18 * var(--u))); }
.ev-partners { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ev-partners a { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 96px; padding: 16px; border: 1px solid var(--c-navy-2); border-radius: 7px; font-weight: 700; font-size: max(15px, calc(18 * var(--u))); text-transform: uppercase; transition: background-color .2s, color .2s; }
.ev-partners a:hover { box-shadow: 0 6px 18px rgba(2, 22, 117, .15); }
.ev-partners img { width: auto; height: auto; max-width: 70%; max-height: 72px; object-fit: contain; }
.ev-partners a { position: relative; background: #fff; transition: box-shadow .2s; }
.ev-final { background: var(--c-navy-3); color: #fff; }
.ev-final__wrap { max-width: var(--maxw); margin-inline: auto; padding: calc(96 * var(--u)) calc(95 * var(--u)); display: grid; grid-template-columns: 1.2fr 1fr; gap: calc(80 * var(--u)); font-size: max(16px, calc(20 * var(--u))); line-height: 1.55; }
.ev-final__text > p + p { margin-top: 10px; }
.ev-final__h { margin: 8px 0 18px; font-weight: 800; font-size: max(28px, calc(45 * var(--u))); line-height: 1.2; text-transform: uppercase; }
.ev-final__contacts { display: grid; gap: 18px; align-content: start; }
.ev-final__contacts > div { padding: 28px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 7px; }
.ev-final__contacts h3 { font-weight: 700; font-size: max(18px, calc(24 * var(--u))); margin-bottom: 10px; }
.ev-final__contacts a { text-decoration: underline; text-decoration-color: #cc994a; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ev-btn--light { color: #fff; }

/* ---------------------------------------------------------------- CLANEK (obecna sablona) */
.ev-article { background: #fff; color: var(--c-navy-2); }
.ev-article__body { max-width: calc(1100 * var(--u) + 2 * 95 * var(--u)); padding: calc(80 * var(--u)) calc(95 * var(--u)) calc(40 * var(--u)); font-size: max(16px, calc(20 * var(--u))); line-height: 1.6; }
.ev-article__body > * + * { margin-top: 1em; }
.ev-article__body > p:first-child { font-weight: 600; font-size: max(18px, calc(24 * var(--u))); line-height: 1.6; }
.ev-article__body h2 { margin-top: 1.6em; font-weight: 800; font-size: max(24px, calc(36 * var(--u))); line-height: 1.22; }
.ev-article__body h3 { margin-top: 1.4em; font-weight: 700; font-size: max(19px, calc(26 * var(--u))); line-height: 1.3; }
.ev-article__body h4 { margin-top: 1.2em; font-weight: 700; font-size: max(17px, calc(22 * var(--u))); }
.ev-article__body a { text-decoration: underline; text-decoration-color: #cc994a; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ev-article__body a:hover { color: #cc994a; }
.ev-article__body ul, .ev-article__body ol { padding-left: 1.3em; }
.ev-article__body ul li { list-style: disc; }
.ev-article__body ol li { list-style: decimal; }
.ev-article__body li + li { margin-top: .35em; }
.ev-article__body li::marker { color: #cc994a; }
.ev-article__body blockquote { padding: 4px 0 4px 24px; border-left: 4px solid #cc994a; font-style: italic; }
.ev-fig { margin-block: 1.6em; }
.ev-fig img { width: 100%; height: auto; border-radius: 7px; }
.ev-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 40px; margin-block: 1.2em 1.8em; }
.ev-logo { display: inline-flex; align-items: center; transition: opacity .2s; }
.ev-logo:hover { opacity: .75; }
.ev-logo img { width: auto; height: auto; max-width: 160px; max-height: 96px; object-fit: contain; }
@media (max-width: 767px) { .ev-logos { gap: 16px 28px; } .ev-logo img { max-width: 120px; max-height: 72px; } }
.ev-embed { position: relative; margin-block: 1.6em; border-radius: 7px; overflow: hidden; background: var(--c-bg); }
.ev-embed--video { aspect-ratio: 16 / 9; }
.ev-embed--map { aspect-ratio: 16 / 10; }
.ev-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ev-past .ne-list__wrap { padding-top: calc(96 * var(--u)); padding-bottom: calc(96 * var(--u)); }
.ev-past__h { text-transform: none; }

/* ---------------------------------------------------------------- RESPONZIVITA */
@media (max-width: 1279px) {
  .ev-sched__cols { grid-template-columns: 1fr; }
  .ev-dates { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 1023px) {
  .ev-hero__inner { padding: 0 var(--gut) 32px; flex-direction: column; align-items: flex-start; }
  .ev-hero__right { align-items: flex-start; padding-bottom: 0; }
  .ev-hero__price { align-items: flex-start; text-align: left; }
  .ev-intro { flex-direction: column; padding: 48px var(--gut) 56px; }
  .ev-intro__text { flex: none; }
  .ev-sched__wrap, .ev-sec__wrap, .ev-final__wrap { padding: 64px var(--gut); }
  .ev-tl { margin-left: 0; }
  .ev-tl__item { padding: 20px 0; grid-template-columns: 150px 32px 1fr; column-gap: 16px; }
  .ev-lineup__cols, .ev-tickets__cols, .ev-perks__cols, .ev-final__wrap { grid-template-columns: 1fr; }
  .ev-article__body { padding: 48px var(--gut) 24px; }
}
@media (max-width: 767px) {
  .ev-hero { height: auto; min-height: 460px; display: flex; flex-direction: column; justify-content: flex-end; }
  .ev-hero__inner { position: relative; padding-top: 140px; }
  .ev-hero__date { padding-left: 0; }
  .ev-tl__item { grid-template-columns: 24px 1fr; row-gap: 4px; }
  .ev-tl__time { grid-column: 2; }
  .ev-tl__dot { grid-row: 1; grid-column: 1; }
  .ev-tl__item > div { grid-column: 2; }
  .ev-dates { grid-template-columns: 1fr; }
  .ev-partners { grid-template-columns: 1fr; }
  .ev-table thead { display: none; }
  .ev-table tr { display: grid; grid-template-columns: 1fr auto; padding: 10px 0; border-bottom: 1px solid rgba(127, 140, 190, .35); }
  .ev-table th, .ev-table td { border: 0; padding: 2px 0; }
  .ev-table td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
}

/* Figma: ls 0 (base body ma .3px) */
.ev-hero, .ev-intro, .ev-sched, .ev-sec, .ev-article, .ev-final { letter-spacing: 0; }
.ev-hero__h { text-shadow: 0 2px 18px rgba(0, 0, 0, .25); }

/* clanky z capesmokey.ca: vlozena media a dlouha slova se nesmi roztahnout pres sirku */
.ev-article__body img, .ev-article__body iframe, .ev-article__body video, .ev-article__body table { max-width: 100%; }
.ev-article__body iframe { width: 100%; }
.ev-article__body table { display: block; overflow-x: auto; }
.ev-article__body, .ev-hero__h, .ev-hero__inner { overflow-wrap: anywhere; }
