/* Calendar detail: scoped to avoid changing news and calendar listings. */
.event-detail-page { --event-blue:#164e87; --event-green:#8cc63f; --event-ink:#172536; --event-muted:#58697a; --event-line:#e1e8ef; }
.event-detail-page .event-detail-intro { margin-top:32px; padding:28px 0 32px; background:linear-gradient(135deg,#f2f7fb,#fff); border-bottom:1px solid var(--event-line); }
.event-detail-page .event-detail-intro .section-title .event-calendar-link { display:inline-block; font-size:clamp(24px,2.2vw,32px); line-height:1.2; font-weight:800; color:var(--event-blue); margin-bottom:14px; }
.event-detail-page .event-heading > .flex-grow-1 { min-width:0; }
.event-detail-page h1 { font-size:clamp(27px,3.1vw,44px); line-height:1.12; letter-spacing:-.025em; color:var(--event-ink); overflow-wrap:anywhere; }
.event-detail-page .event-date-card { width:82px; flex:0 0 82px; border-radius:12px; overflow:hidden; text-align:center; color:var(--event-blue); background:white; border:1px solid var(--event-line); box-shadow:0 5px 18px #164e870c; }
.event-detail-page .event-date-top { border-top:5px solid var(--event-green); padding:12px 4px; }
.event-detail-page .event-day { font-size:32px; font-weight:800; line-height:1.1; }
.event-detail-page .event-day.date-range { font-size:23px; }
.event-detail-page .event-month { font-size:13px; margin-top:4px; }
.event-detail-page .event-time { background:var(--event-blue); color:#fff; font-weight:700; font-size:17px; padding:8px 3px; }
.event-detail-page .event-facts { margin:18px 0; padding:14px 0; border-top:1px solid var(--event-line); border-bottom:1px solid var(--event-line); }
.event-detail-page .event-facts p { display:flex; align-items:baseline; gap:14px; margin:0 0 8px; line-height:1.5; font-size:15px; overflow-wrap:anywhere; }
.event-detail-page .event-facts p:last-child { margin-bottom:0; }
.event-detail-page .event-fact-label { flex:0 0 32px; color:var(--event-muted); font-size:12px; font-weight:700; text-transform:uppercase; }
.event-detail-page .event-facts a { color:var(--event-blue); font-weight:700; }
.event-detail-page .event-fact-city { font-weight:400; }
.event-detail-page .event-perex { color:var(--event-muted); font-size:17px; line-height:1.7; font-style:normal!important; }
.event-detail-page .event-actions a { min-height:44px; padding:10px 18px; border-radius:8px!important; }
.event-detail-page .single-img { width:100%; text-align:center; }
.event-detail-page .single-img img { width:auto; max-width:100%; max-height:520px!important; object-fit:contain; border-radius:12px; }
.event-detail-page .event-detail-content { padding:24px 0; }
.event-detail-page .content_detail { max-width:900px; margin:0 auto; line-height:1.8; overflow-wrap:anywhere; }
.event-detail-page .content_detail img,.event-detail-page .content_detail iframe { max-width:100%; }
.event-detail-page .content_detail img { height:auto; }
.event-detail-page .event-location { display:grid; grid-template-columns:1fr 1.2fr; border:1px solid var(--event-line); border-radius:14px; overflow:hidden; margin:12px 0 40px; background:#f6f9fc; scroll-margin-top:100px; }
.event-detail-page .event-location-info { padding:32px; overflow-wrap:anywhere; }
.event-detail-page .event-eyebrow { display:block; color:var(--event-blue); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.event-detail-page .event-location h2,.event-detail-page .event-discover h2 { font-size:26px; line-height:1.2; color:var(--event-ink); margin:0 0 18px; }
.event-detail-page .event-location h3 { font-size:21px; line-height:1.35; margin:0 0 10px; }
.event-detail-page .event-location p { color:var(--event-muted); margin-bottom:16px; }
.event-detail-page .event-primary-link { display:inline-flex; align-items:center; gap:20px; background:var(--event-blue); color:white; padding:12px 18px; border-radius:8px; min-height:44px; font-weight:700; }
.event-detail-page .event-primary-link:hover { background:#103d6c; }
.event-detail-page .event-location-contact { border-top:1px solid var(--event-line); margin-top:24px; padding-top:18px; font-size:14px; }
.event-detail-page .event-location-contact p { margin:6px 0; }
.event-detail-page .event-location-map { min-height:340px; z-index:0; background:#e8eef4; }
.event-detail-page .event-discover { margin-bottom:36px; }
.event-detail-page .event-discover-head { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:3px solid var(--event-green); padding-top:20px; margin-bottom:20px; }
.event-detail-page .event-discover-head h2 { margin:0; }
.event-detail-page .event-discover-head > a { color:var(--event-blue); font-size:13px; white-space:nowrap; padding:10px 0; }
.event-detail-page .event-discover-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.event-detail-page .event-suggestion { border:1px solid var(--event-line); border-radius:12px; overflow:hidden; background:#fff; min-width:0; }
.event-detail-page .event-suggestion-image { width:100%; height:180px; object-fit:cover; }
.event-detail-page .event-suggestion-body { display:flex; align-items:flex-start; gap:12px; padding:18px; }
.event-detail-page .event-mini-date { flex:0 0 54px; text-align:center; border-top:3px solid var(--event-green); border-radius:6px; background:#f0f5f9; color:var(--event-blue); padding:7px 2px; }
.event-detail-page .event-mini-date strong { display:block; font-size:25px; line-height:1.1; }
.event-detail-page .event-mini-date span { font-size:10px; }
.event-detail-page .event-suggestion-text { min-width:0; }
.event-detail-page .event-suggestion h3 { font-size:18px; line-height:1.3; margin:5px 0 8px; overflow-wrap:anywhere; }
.event-detail-page .event-suggestion h3 a { color:var(--event-ink); }
.event-detail-page .event-suggestion h3 a:hover { color:var(--event-blue); text-decoration:underline; }
.event-detail-page .event-suggestion-time { font-size:11px; font-weight:700; color:var(--event-blue); margin:0; }
.event-detail-page .event-suggestion-place { font-size:13px; line-height:1.5; color:var(--event-muted); margin:0; overflow-wrap:anywhere; }
.event-detail-page .event-empty { padding:20px; background:#f6f9fc; border-radius:10px; color:var(--event-muted); }
.event-detail-page a:focus-visible { outline:3px solid var(--event-green); outline-offset:4px; }
@media(max-width:991.98px) {
 .event-detail-page .event-detail-intro { margin-top:16px; padding:20px 0; }
 .event-detail-page .event-detail-intro .news-details { row-gap:20px; }
 .event-detail-page .event-detail-intro .news-details > div { margin-bottom:0!important; }
 .event-detail-page .event-location { grid-template-columns:1fr; }
 .event-detail-page .event-location-map { height:300px; min-height:300px; }
 .event-detail-page .event-detail-content { padding:16px 0; }
 .event-detail-page .single-img img { max-height:440px!important; }
}
@media(max-width:575.98px) {
 .event-detail-page .event-heading { gap:12px!important; }
 .event-detail-page .event-date-card { width:60px; flex-basis:60px; border-radius:8px; }
 .event-detail-page .event-day { font-size:27px; }
 .event-detail-page .event-day.date-range { font-size:18px; }
 .event-detail-page .event-month { font-size:11px; }
 .event-detail-page .event-time { font-size:14px; }
 .event-detail-page h1 { font-size:27px; }
 .event-detail-page .event-facts p { display:block; font-size:14px; }
 .event-detail-page .event-fact-label { display:block; margin-bottom:3px; }
 .event-detail-page .event-facts { margin:14px 0 0; }
 .event-detail-page .event-perex { font-size:16px; }
 .event-detail-page .event-actions > a { flex:1; justify-content:center; }
 .event-detail-page .event-location-info { padding:22px; }
 .event-detail-page .event-location h2,.event-detail-page .event-discover h2 { font-size:23px; }
 .event-detail-page .event-discover-grid { grid-template-columns:1fr; }
 .event-detail-page .event-discover-head { align-items:flex-start; gap:10px; }
 .event-detail-page .event-suggestion-image { height:190px; }
 .event-detail-page .event-suggestion-body { padding:16px; }
 .event-detail-page .event-location { margin-bottom:28px; }
}
.event-detail-page .content_detail h2 { font-size:clamp(24px,2.4vw,32px); line-height:1.25; }
.event-detail-page .content_detail h3 { font-size:22px; line-height:1.3; }

/* Same cards and natural image proportions as the calendar listing. */
.event-detail-page .event-nearest .event-card{
    position:relative;
    border:0;
    border-radius:18px;
    overflow:visible;
    background:#fff;
    box-shadow:0 4px 16px rgba(0,0,0,.06);
    width:100%;
    height:auto;
}

/* ===== Klidné načítání obrázků ===== */
.event-detail-page .event-nearest .event-media{
    position:relative;
    margin:0;
    padding:0;
    overflow:visible;
    background:transparent;
    border-radius:18px 18px 0 0;
}

.event-detail-page .event-nearest .event-media > a{
    display:block;
    text-decoration:none;
}

.event-detail-page .event-nearest .event-media > img,
.event-detail-page .event-nearest .event-media > a > img{
    display:block;
    width:100%;
    height:auto;
    border-radius:18px 18px 0 0;
    background:#eef2f5;
}









.event-detail-page .event-nearest .event-badge,
.event-detail-page .event-nearest .event-badge-static{
    width:88px;
    border-radius:14px;
    overflow:hidden;
    text-align:center;
    box-shadow:0 8px 18px rgba(0,0,0,.14);
}

.event-detail-page .event-nearest .event-badge{
    position:absolute;
    top:-69px;
    left:18px;
    z-index:8;
}

.event-detail-page .event-nearest .event-badge .d,
.event-detail-page .event-nearest .event-badge-static .d{
    background:#8bc53f;
    color:#fff;
    padding:10px 6px 4px;
    font-weight:800;
    font-size:30px;
    line-height:1;
}

.event-detail-page .event-nearest .event-badge .m,
.event-detail-page .event-nearest .event-badge-static .m{
    background:#8bc53f;
    color:#fff;
    padding:0 6px 10px;
    font-weight:700;
    font-size:14px;
    line-height:1.1;
}

.event-detail-page .event-nearest .event-badge .t,
.event-detail-page .event-nearest .event-badge-static .t{
    background:#8bc53f;
    color:#fff;
    padding:10px 6px;
    font-weight:800;
    font-size:18px;
    line-height:1;
    border-top:1px solid rgba(255,255,255,.35);
}

.event-detail-page .event-nearest .event-body{
    padding:16px 18px 18px;
    background:#fff;
    border-radius:0 0 18px 18px;
}

.event-detail-page .event-nearest .event-title{
    font-size:30px;
    font-weight:800;
    margin:0 0 10px;
    line-height:1.2;
}

.event-detail-page .event-nearest .event-title a{
    color:#111;
    text-decoration:none;
}

.event-detail-page .event-nearest .event-title a:hover{
    text-decoration:underline;
}

.event-detail-page .event-nearest .event-meta{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    color:#737b89;
    font-size:14px;
    line-height:18px;
}

.event-detail-page .event-nearest .event-meta .meta-item{
    display:inline-flex;
    gap:8px;
}

.event-detail-page .event-nearest .event-meta i{
    opacity:.75;
}

.event-detail-page .event-nearest .event-card.no-image{
    background:#f3f3f5;
    padding:16px;
    border:1px solid #ececec;
    border-radius:18px;
    overflow:hidden;
    margin-top:0;
}

.event-detail-page .event-nearest .event-card.no-image.no-image-tone-1{
    background:#f8f8f8;
}

.event-detail-page .event-nearest .event-card.no-image.no-image-tone-2{
    background:#f5f5f5;
}

.event-detail-page .event-nearest .event-card.no-image.no-image-tone-3{
    background:#f2f2f2;
}

.event-detail-page .event-nearest .event-card.no-image.no-image-tone-4{
    background:#efefef;
}

.event-detail-page .event-nearest .event-card.no-image .event-row{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.event-detail-page .event-nearest .event-card.no-image .event-badge-static{
    flex:0 0 88px;
}

.event-detail-page .event-nearest .event-card.no-image .event-content{
    flex:1 1 auto;
    min-width:0;
    padding-top:8px;
}

.event-detail-page .event-nearest .event-card.no-image .event-title{
    margin-bottom:12px;
    font-size:26px;
}

.event-detail-page .event-nearest .event-card.no-image .event-meta{
    gap:10px;
}


/* Detail refinements: header clearance, category, listing and sidebar. */
.event-detail-page .event-detail-intro { margin-top:100px; padding-top:32px; }
.event-detail-page .event-place-name { color:var(--event-ink); }
.event-detail-page .event-place-name .event-fact-city { font-weight:700; }
.event-detail-page .event-category-tag { display:inline-flex; padding:7px 13px; margin:2px 0 20px; border:1px solid #d5e7bd; border-radius:7px; background:#f0f7e8; color:#315519; font-size:13px; font-weight:700; line-height:1.4; }
.event-detail-page .event-map-placeholder { background:#edf0f2 url("/uws_templates/default5/assets/img/katalog/default_map.jpg") center/cover no-repeat; }
.event-detail-page .event-detail-sidebar { margin-top:30px; padding-top:0; }
.event-detail-page .event-sidebar-recommendations { margin-top:30px; }
.event-detail-page .event-sidebar-recommendations .event-discover-grid { grid-template-columns:1fr; }
.event-detail-page .event-sidebar-recommendations .event-suggestion-body { display:block; }
.event-detail-page .event-sidebar-recommendations .event-discover-head { display:block; }
.event-detail-page .event-sidebar-recommendations .event-discover-head > a { display:inline-block; margin-top:6px; }
.event-detail-page .event-sidebar-recommendations h2 { font-size:24px; }
.event-detail-page .event-nearest .masonry { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:88px 24px; padding-top:65px; columns:auto; }
.event-detail-page .event-nearest .masonry-item { break-inside:avoid; margin:0; min-width:0; }
.event-detail-page .event-nearest .event-media img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; opacity:1; }
.event-detail-page .event-nearest .event-badge .d.date-range,
.event-detail-page .event-nearest .event-badge-static .d.date-range { font-size:22px; }
.event-detail-page .event-nearest .event-card.no-image .event-title { font-size:23px; }
@media(max-width:991.98px) {
 .event-detail-page .event-detail-intro { margin-top:85px; padding-top:24px; }
}
@media(max-width:575.98px) {
 .event-detail-page .event-detail-intro { margin-top:80px; padding-top:20px; }
 .event-detail-page .event-category-tag { margin-top:12px; margin-bottom:6px; }
 .event-detail-page .event-nearest .masonry { grid-template-columns:1fr; }
 .event-detail-page .event-nearest .event-title { font-size:26px; }
 .event-detail-page .event-nearest .event-badge,
 .event-detail-page .event-nearest .event-badge-static { width:76px; }
 .event-detail-page .event-nearest .event-card.no-image .event-badge-static { flex-basis:76px; }
}
/* Pack each next card into the shorter column, as in the calendar listing. */
.event-detail-page .event-nearest .masonry.is-ready { display:block; position:relative; padding:0; }
.event-detail-page .event-nearest .masonry.is-ready .masonry-item { position:absolute; margin:0; padding:0; }
.event-detail-page .event-nearest .masonry.is-ready .masonry-item.has-event-image { padding-top:69px; }
/* Keep the banner and recommendations together below the fixed desktop header. */
.event-detail-page .event-sidebar-recommendations .event-discover-head { border-top:0; padding-top:0; margin-bottom:20px; }
.event-detail-page .event-sidebar-recommendations h2 { padding-bottom:14px; border-bottom:3px solid var(--event-green); line-height:1.25; }
.event-detail-page .event-sidebar-recommendations .event-discover-grid { gap:14px; }
.event-detail-page .event-sidebar-recommendations .event-suggestion-body { padding:18px 20px; }
@media(min-width:992px) {
 .event-detail-page .event-sidebar-column { align-self:stretch; overflow:visible; }
 .event-detail-page .event-detail-sidebar { position:sticky; top:110px; }
}
@media(max-width:991.98px) {
 .event-detail-page .event-detail-sidebar { position:static; }
}
body.event-detail-page { overflow-x:clip; overflow-y:visible; }

/* One shared inset aligns the banner, heading and recommendation cards. */
.event-detail-page .event-detail-sidebar { padding-left:20px; padding-bottom:48px; }
.event-detail-page .event-detail-sidebar > .sidebar-widget { padding-left:0; }
.event-detail-page .event-detail-sidebar > .event-sidebar-recommendations { margin-bottom:0; }
@media(max-width:991.98px) {
 .event-detail-page .event-detail-sidebar { padding-left:0; padding-bottom:32px; }
}
/* Tighter intro and article-to-location spacing, with room for the author. */
@media(min-width:992px) {
 .event-detail-page .event-detail-intro { padding-top:18px; }
}
.event-detail-page .event-detail-content { padding-bottom:0; margin-bottom:8px!important; }
.event-detail-page .event-detail-content .col-12 { margin-bottom:0!important; }
.event-detail-page .event-detail-content .content_detail > :last-child { margin-bottom:0; }
.event-detail-page .event-mobile-ma:has(> .top_banner),
.event-detail-page .event-mobile-ma:has(> .region24-google-ad) { margin:12px 0 20px; }
.event-detail-page .event-mobile-ma img { max-width:100%; height:auto; }
@media(max-width:991.98px) {
 .event-detail-page .event-detail-intro { padding-top:14px; }
 .event-detail-page .event-detail-intro .event-detail-author { margin-top:16px; }
 .event-detail-page .event-location { margin-top:8px; }
}
/* Balanced mobile spacing between the ad, description and location panel. */
@media(max-width:991.98px) {
 .event-detail-page .event-mobile-ma:has(> .top_banner),
 .event-detail-page .event-mobile-ma:has(> .region24-google-ad) { margin-bottom:12px; }
 .event-detail-page .event-detail-content { padding-top:12px; margin-bottom:24px!important; }
 .event-detail-page .event-detail-content .content_detail { margin-top:0!important; }
 .event-detail-page .event-detail-content .content_detail > :first-child { margin-top:0; }
 .event-detail-page .event-detail-content + .container .event-location { margin-top:0; }
}