/*
Theme Name: KTV
Theme URI: https://ktv.mk/
Author: KTV
Description: Lightweight news theme for KTV.
Version: 0.1.4
Text Domain: ktv
*/

:root {
	--ktv-ink: #292929;
	--ktv-muted: #777;
	--ktv-line: #e4e4e4;
	--ktv-surface: #fff;
	--ktv-page: #f7f7f7;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ktv-ink); background: var(--ktv-page); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ktv-muted); }
.site-header { background: var(--ktv-surface); border-bottom: 1px solid var(--ktv-line); }
.header-inner { width: min(1280px, calc(100% - 40px)); min-height: 84px; margin: 0 auto; display: flex; align-items: center; gap: 30px; }
.site-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.site-logo { display: block; width: 108px; height: auto; max-height: 66px; object-fit: contain; }
.nav-toggle, .dropdown-toggle { display: none; }
.primary-navigation { margin-left: auto; }
.primary-navigation ul { margin: 0; padding: 0; list-style: none; }
.nav-list { display: flex; align-items: center; gap: 26px; }
.nav-item { position: relative; white-space: nowrap; font-size: 15px; font-weight: 600; }
.nav-link { display: inline-block; padding: 14px 0; }
.has-dropdown > .nav-link::after { content: ''; display: inline-block; margin: 0 0 3px 5px; border: 4px solid transparent; border-top-color: currentColor; vertical-align: middle; }
.dropdown { position: absolute; z-index: 20; top: calc(100% - 2px); left: -17px; display: none; width: 218px; padding: 8px 0; background: #fff; border: 1px solid #d9d9d9; border-radius: 6px; box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.dropdown a { display: block; padding: 8px 20px; font-weight: 400; font-size: 15px; }
.dropdown a:hover { background: #f5f5f5; color: #111; }
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown { display: block; }
.header-search { display: flex; flex: 0 1 250px; min-width: 180px; }
.header-search input { width: 100%; height: 37px; padding: 8px 11px; border: 1px solid #d7d7d7; border-right: 0; border-radius: 4px 0 0 4px; outline: 0; font: inherit; }
.header-search input:focus { border-color: #a9a9a9; }
.header-search button { display: grid; width: 43px; height: 37px; padding: 0; place-items: center; border: 1px solid #9b9b9b; border-radius: 0 4px 4px 0; background: #fff; color: #666; cursor: pointer; }
.header-search button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.header-search button:hover { background: #f4f4f4; }
.site-page-layout { width: min(1120px, calc(100% - 40px)); margin: 40px auto 64px; }
.site-page-layout.has-global-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 300px); gap: 28px; align-items: start; }
body.home .site-page-layout { width: min(1280px, calc(100% - 40px)); }
.site-main { min-width: 0; }
.global-banner-sidebar { min-width: 0; }
.global-banner-sidebar .region-sidebar-widget { margin-bottom: 22px; }
.global-banner-sidebar .wp-block-image { margin: 0; }
.global-banner-sidebar .wp-block-image img { display: block; width: 100%; height: auto; }
.home-news { padding-top: 0; }
.home-news-title { margin: 0; font-size: 26px; font-weight: 700; }
.top-news-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.featured-video { display: flex; min-width: 0; flex-direction: column; }
.featured-video .video-frame, .featured-video .video-placeholder { margin: 0; }
.featured-video-banner { width: 100%; max-width: 100%; margin-top: 18px; overflow: hidden; box-sizing: border-box; }
.featured-video-banner a { display: block; width: 100%; max-width: 100%; }
.featured-video-banner-image { display: block; width: 100%; max-width: 100%; height: auto; }
.video-frame, .video-placeholder { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #252525; }
.video-frame iframe { position: absolute; width: 100%; height: 100%; border: 0; inset: 0; }
.video-placeholder { display: grid; padding: 24px; place-items: center; color: #cfcfcf; text-align: center; font-size: 15px; }
.top-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.top-news-grid .news-card-image { aspect-ratio: 2 / 1; }
.top-news-grid .news-card-title { margin-top: 7px; font-size: 15px; }
.top-news-slider { position: relative; min-width: 0; }
.top-news-slide-image { position: relative; display: block; overflow: hidden; background: #dedede; aspect-ratio: 16 / 9; border-radius: 5px; }
.top-news-slide.is-active { animation: top-news-slide-in .42s ease both; }
@keyframes top-news-slide-in { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
.top-news-slide-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.top-news-slide-content { padding: 16px 4px 0; }
.top-news-slide-content h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(18px, 1.55vw, 24px); line-height: 1.22; }
.top-news-slide-content p { margin: 10px 0 7px; color: #505050; font-size: 12px; line-height: 1.4; }
.top-news-slide-content time { color: var(--ktv-muted); font-size: 12px; }
.top-news-slider-arrow { position: absolute; top: 28%; z-index: 1; width: 36px; height: 48px; padding: 0; border: 0; transform: translateY(-50%); background: rgba(25,25,25,.54); color: #fff; font-size: 27px; cursor: pointer; }
.top-news-slider-arrow:hover, .top-news-slider-arrow:focus-visible { background: rgba(25,25,25,.8); }
.top-news-slider-prev { left: 0; border-radius: 0 4px 4px 0; }.top-news-slider-next { right: 0; border-radius: 4px 0 0 4px; }
.news-card { min-width: 0; }
.news-card-image { position: relative; display: block; overflow: hidden; background: #dedede; aspect-ratio: 16 / 9; }
.news-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.news-card:hover .news-card-image img { transform: scale(1.025); }
.news-image-placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #d8d8d8, #bcbcbc); }
.news-category { position: absolute; top: 9px; left: 9px; padding: 4px 7px; background: rgba(31,31,31,.84); color: #fff; font-size: 11px; font-weight: 700; line-height: 1.1; text-transform: uppercase; }
.news-card-title { margin: 9px 0 5px; font-size: 16px; line-height: 1.27; font-weight: 700; }
.news-card-date { color: var(--ktv-muted); font-size: 12px; }
.more-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--ktv-line); }
.homepage-banner { margin: 38px 0; text-align: center; }
.homepage-banner a { display: inline-block; max-width: 100%; }
.homepage-banner-image { display: block; width: min(800px, 100%); height: auto; max-height: 150px; margin-inline: auto; object-fit: cover; }
.homepage-banner-region .homepage-banner-image { width: 100%; max-width: 100%; max-height: none; }
.homepage-banner-between { margin-top: 46px; }
.homepage-banner-fullwidth { margin-top: 46px; }
.category-section { margin-top: 38px; }
.category-section-title { display: inline-block; margin: 0 0 22px; padding: 8px 13px; background: #3b3b3b; color: #fff; font-size: 23px; line-height: 1; }
.homepage-lower-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.homepage-lower-layout.has-region-sidebar { grid-template-columns: minmax(0, 1fr) minmax(300px, 300px); gap: 28px; }
.homepage-sections-column { min-width: 0; }
.region-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.region-layout .region-sidebar { display: none; }
.region-posts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px 20px; align-self: start; align-content: start; }
.category-posts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px 20px; }
.category-posts-grid-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.region-sidebar { align-self: start; }
.region-sidebar-widget { margin-bottom: 22px; }
.region-sidebar .wp-block-image { margin: 0; }
.region-sidebar .wp-block-image img { display: block; width: 100%; height: auto; }
.news-card-compact { display: grid; grid-template-columns: 180px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: start; }
.news-card-compact .news-card-image { grid-row: 1 / 3; }
.news-card-compact .news-card-title { margin: 0 0 5px; align-self: start; font-size: 16px; }
.news-card-compact .news-card-date { align-self: start; }
.post-card { padding: 24px; margin-bottom: 20px; background: #fff; border: 1px solid var(--ktv-line); border-radius: 5px; }
.post-card h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.22; }
.post-meta { color: var(--ktv-muted); font-size: 13px; }
.post-thumbnail { float: left; width: 220px; max-height: 150px; margin: 0 20px 12px 0; object-fit: cover; }
.post-card::after { content: ''; display: table; clear: both; }
.single-article { max-width: 790px; }
.single-global-banner { width: min(1280px, calc(100% - 40px)); margin: 34px auto 0; }
.single-global-banner a { display: block; }
.single-global-banner-image { display: block; width: 100%; height: auto; }
.single-article-title { margin: 0; padding: 10px 0 13px; border-top: 1px solid var(--ktv-line); border-bottom: 1px solid var(--ktv-line); color: #252525; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 4vw, 43px); line-height: 1.13; font-weight: 700; }
.single-article-meta { display: flex; gap: 26px; align-items: center; padding: 10px 0 24px; color: var(--ktv-muted); font-size: 14px; }
.single-article-category { color: #4a4a4a; font-weight: 700; text-transform: uppercase; }
.single-article-category a:hover { color: #777; }
.single-article-image { margin-bottom: 24px; }
.single-article-image img { display: block; width: 100%; height: auto; }
.entry-content { color: #292929; font-size: 17px; line-height: 1.72; }
.entry-content > :first-child { margin-top: 0; }
.static-page { max-width: 860px; background: #fff; border: 1px solid var(--ktv-line); }
.static-page-header { padding: 30px 38px 20px; border-bottom: 1px solid var(--ktv-line); }
.static-page-header h1 { margin: 0; color: #303030; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 4vw, 44px); }
.static-page-content { padding: 34px 38px 42px; }
.about-intro { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 28px; align-items: center; margin-bottom: 32px; padding-bottom: 30px; border-bottom: 1px solid var(--ktv-line); }
.about-intro img { display: block; width: 112px; height: auto; }
.about-intro p { margin: 0; }
.about-intro > p:only-child { grid-column: 1 / -1; max-width: 760px; }
.about-section { margin-top: 30px; }
.about-section h2 { margin: 0 0 12px; color: #373737; font-size: 20px; }
.about-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 36px; margin-top: 32px; padding: 26px; background: #f5f5f5; border-left: 4px solid #777; }
.about-contact-block { min-width: 0; }
.about-contact-block p { margin: 0; }
.about-contact strong { display: block; margin-bottom: 6px; color: #303030; }
.about-social { display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 0; margin: 18px 0 0; list-style: none; }
.about-social a { text-decoration: underline; text-underline-offset: 3px; }
.contact-page { max-width: 920px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(230px, .8fr); gap: 48px; align-items: start; }
.contact-form p { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; align-items: start; margin: 0 0 16px; }
.contact-form label { padding-top: 9px; font-weight: 600; }
.contact-form input, .contact-form textarea { width: 100%; padding: 10px 12px; border: 1px solid #cfcfcf; border-radius: 2px; background: #fff; color: #292929; font: inherit; line-height: 20px; }
.contact-form input { height: 42px; }
.contact-form textarea { resize: vertical; min-height: 180px; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: #777; box-shadow: 0 0 0 2px rgba(100, 100, 100, .18); }
.contact-form button { margin-left: 102px; padding: 11px 18px; border: 0; background: #3c3c3c; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.contact-form button:hover { background: #555; }
.contact-honeypot { position: absolute; left: -9999px; }
.contact-details { padding: 24px; background: #f4f4f4; border-left: 4px solid #777; }
.contact-details h2 { margin: 0 0 14px; font-size: 21px; }
.contact-details p { margin: 0 0 18px; }
.contact-details p:last-child { margin-bottom: 0; }
.contact-notice { margin: 0 0 20px; padding: 12px 15px; }
.contact-notice-success { background: #edf6ed; border-left: 4px solid #5b8a5c; }
.contact-notice-error { background: #fbebeb; border-left: 4px solid #a85555; }
.shows-page { max-width: 900px; }
.shows-title { margin: 0 0 22px; padding-bottom: 12px; border-bottom: 1px solid var(--ktv-line); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 4vw, 43px); }
.featured-show h2 { margin: 0 0 13px; font-size: 23px; }
.show-video-frame { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16 / 9; background: #222; }
.show-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.older-shows-title { margin: 34px 0 18px; font-size: 24px; }
.shows-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.show-card-image { position: relative; display: block; overflow: hidden; background: #ddd; aspect-ratio: 16 / 9; }
.show-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.shows-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 32px; }
.shows-pagination .page-numbers { min-width: 38px; padding: 9px 11px; border: 1px solid #d6d6d6; color: #333; text-align: center; }
.shows-pagination .page-numbers:hover, .shows-pagination .page-numbers.current { border-color: #4d4d4d; background: #4d4d4d; color: #fff; }
.navigation.pagination { margin-top: 30px; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.navigation.pagination .page-numbers { min-width: 38px; padding: 9px 11px; border: 1px solid #d6d6d6; color: #333; text-align: center; }
.navigation.pagination .page-numbers:hover, .navigation.pagination .page-numbers.current { border-color: #4d4d4d; background: #4d4d4d; color: #fff; }
.show-play { position: absolute; top: 50%; left: 50%; display: grid; width: 47px; height: 36px; padding-left: 3px; place-items: center; transform: translate(-50%, -50%); border-radius: 8px; background: rgba(30,30,30,.82); color: #fff; font-size: 18px; }
.show-card h3 { margin: 9px 0 5px; font-size: 16px; line-height: 1.3; }
.show-card-category { margin-top: 10px; color: #555; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.show-card-category a { color: inherit; }.show-card-category a:hover { color: #888; }
.show-card time { color: var(--ktv-muted); font-size: 12px; }
.shows-empty { padding: 34px; background: #f1f1f1; border-left: 4px solid #777; }
.single-show { max-width: 900px; }
.single-show .single-article-meta { padding-bottom: 20px; }
.show-content { margin-top: 28px; }
.gallery-page, .gallery-album { max-width: 960px; }
.gallery-title { margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--ktv-line); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(32px, 4vw, 43px); }
.albums-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.album-card-cover { position: relative; display: block; overflow: hidden; background: #ddd; aspect-ratio: 4 / 3; }
.album-card-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.album-card:hover img { transform: scale(1.03); }
.album-count { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; background: rgba(35,35,35,.82); color: #fff; font-size: 12px; }
.album-card h2 { margin: 10px 0 0; font-size: 18px; line-height: 1.3; }
.gallery-description { margin: -10px 0 24px; }
.gallery-photos-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.gallery-photo-trigger { display: block; width: 100%; padding: 0; overflow: hidden; border: 0; background: #ddd; aspect-ratio: 1; cursor: zoom-in; }
.gallery-photos-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.gallery-photo-trigger:hover img, .gallery-photo-trigger:focus-visible img { transform: scale(1.04); }
.gallery-lightbox { position: fixed; z-index: 9999; inset: 0; display: none; align-items: center; justify-content: center; padding: 54px 80px; background: rgba(10, 10, 10, .92); }
.gallery-lightbox.is-open { display: flex; }
.gallery-lightbox-image { display: block; max-width: 100%; max-height: calc(100vh - 108px); object-fit: contain; }
.gallery-lightbox-close, .gallery-lightbox-nav { position: absolute; border: 0; color: #fff; background: rgba(255, 255, 255, .13); cursor: pointer; }
.gallery-lightbox-close { top: 18px; right: 22px; width: 42px; height: 42px; font-size: 34px; line-height: 1; }
.gallery-lightbox-nav { top: 50%; width: 48px; height: 62px; transform: translateY(-50%); font-size: 36px; }
.gallery-lightbox-prev { left: 18px; }.gallery-lightbox-next { right: 18px; }
.gallery-lightbox-count { position: absolute; bottom: 17px; margin: 0; color: #fff; font-size: 14px; }
.gallery-lightbox-close:hover, .gallery-lightbox-nav:hover, .gallery-lightbox-close:focus-visible, .gallery-lightbox-nav:focus-visible { background: rgba(255, 255, 255, .28); }
body.gallery-lightbox-open { overflow: hidden; }
.program-page { max-width: 920px; margin: 46px auto 62px; }
.program-heading { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; border-bottom: 3px solid #777; }
.program-heading p { margin: 0; padding: 8px 12px; background: #555; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .06em; }
.program-heading h1 { margin: 0 0 8px; font-size: 30px; }
.program-days { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; }
.program-days a { padding: 8px 12px; border: 1px solid #ddd; color: #333; font-size: 14px; }
.program-days a:hover, .program-days .is-current { background: #4d4d4d; border-color: #4d4d4d; color: #fff; }
.program-table { border: 1px solid #dedede; box-shadow: 0 8px 24px rgba(0,0,0,.05); }
.program-row { display: grid; grid-template-columns: 82px minmax(190px, 2fr) minmax(110px, 1fr) minmax(100px, .9fr) minmax(85px, .75fr); gap: 12px; align-items: center; padding: 13px 16px; border-top: 1px solid #eee; font-size: 14px; }
.program-row:nth-child(odd) { background: #f7f7f7; }.program-row time { font-weight: 700; color: #555; }.program-row strong { font-size: 15px; }.program-row-head { border: 0; background: #333 !important; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.program-empty { padding: 34px 20px; text-align: center; color: #666; }
.entry-content img { max-width: 100%; height: auto; }
.site-footer { background: #303030; color: #e8e8e8; font-size: 14px; }
.footer-inner { width: min(1280px, calc(100% - 40px)); min-height: 94px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px 24px; }
.footer-social, .footer-links { display: flex; align-items: center; gap: 17px; }
.footer-social { justify-self: end; grid-column: 3; grid-row: 1; }
.footer-links { grid-column: 2; grid-row: 1; }
.footer-social a { display: grid; width: 24px; height: 24px; place-items: center; color: #fff; }
.footer-social a:hover { color: #c8c8c8; }
.footer-social svg { width: 19px; height: 19px; fill: currentColor; }
.footer-social .instagram-icon { fill: none; stroke: currentColor; stroke-width: 1.8; }
.footer-links a:hover { color: #c8c8c8; }
.footer-title { justify-self: start; grid-column: 1; grid-row: 1; color: #fff; font-weight: 600; }
.footer-credit { justify-self: end; grid-column: 3; grid-row: 2; color: #bdbdbd; font-size: 12px; }
.footer-credit a { color: #fff; }.footer-credit a:hover { color: #c8c8c8; }

@media (max-width: 1050px) {
	.header-inner { gap: 20px; }
	.nav-list { gap: 17px; }
	.header-search { min-width: 160px; }
}

@media (max-width: 780px) {
	.header-inner { width: min(100% - 28px, 680px); min-height: 0; padding: 13px 0 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 18px; }
	.site-logo { width: 94px; max-height: 56px; }
	.nav-toggle { display: grid; width: 43px; height: 39px; padding: 9px; align-content: center; gap: 5px; border: 1px solid #cfcfcf; border-radius: 4px; background: #fff; cursor: pointer; }
	.nav-toggle span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; background: #444; }
	.header-search { grid-column: 1 / -1; grid-row: 2; width: 100%; margin: 0; }
	.primary-navigation { display: none; grid-column: 1 / -1; grid-row: 3; width: 100%; margin: 0; overflow: visible; }
	.site-header.menu-open .primary-navigation { display: block; }
	.nav-list { display: flex; width: 100%; flex-direction: column; align-items: stretch; gap: 0; border-top: 1px solid #e2e2e2; }
	.nav-item { display: block; width: 100%; border-bottom: 1px solid #e8e8e8; font-size: 16px; }
	.nav-link { display: block; padding: 13px 4px; }
	.has-dropdown { display: grid; grid-template-columns: minmax(0, 1fr) 43px; align-items: center; }
	.has-dropdown > .nav-link::after { display: none; }
	.dropdown-toggle { display: grid; width: 43px; height: 43px; padding: 0; place-items: center; border: 0; border-left: 1px solid #e8e8e8; background: transparent; color: #444; cursor: pointer; }
	.dropdown-toggle::before { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
	.has-dropdown.is-open .dropdown-toggle::before { transform: rotate(225deg) translate(-2px, -2px); }
	.dropdown { position: static; grid-column: 1 / -1; width: 100%; padding: 4px 0; border: 0; border-top: 1px solid #e8e8e8; border-radius: 0; box-shadow: none; background: #f7f7f7; }
	.dropdown a { padding: 10px 17px; font-size: 15px; }
	.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown { display: none; }
	.has-dropdown.is-open .dropdown { display: block; }
	.site-page-layout { width: min(100% - 28px, 600px); margin-top: 24px; }
	.site-page-layout.has-global-sidebar { grid-template-columns: 1fr; gap: 24px; }
	.top-news-layout { grid-template-columns: 1fr; }
	.homepage-lower-layout.has-region-sidebar { grid-template-columns: 1fr; gap: 24px; }
	.global-banner-sidebar, .region-sidebar-independent { width: min(300px, 100%); margin: 0 auto; }
	.region-posts-grid, .category-posts-grid, .category-posts-grid-five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.contact-layout { grid-template-columns: 1fr; gap: 26px; }
	.contact-details { max-width: 440px; }
	.program-table { overflow-x: auto; }
	.program-row { min-width: 690px; }
}

@media (max-width: 600px) {
	.footer-inner { grid-template-columns: 1fr; justify-items: center; gap: 14px; padding: 20px 0; }
	.footer-social, .footer-links, .footer-title { justify-self: center; grid-column: 1; }
	.footer-title { grid-row: 1; }
	.footer-links { grid-row: 2; }
	.footer-social { grid-row: 3; }
	.footer-credit { justify-self: center; grid-column: 1; grid-row: 4; }
}

@media (max-width: 460px) {
	.post-thumbnail { float: left; width: 132px; height: auto; aspect-ratio: 16 / 9; max-height: none; margin: 0 14px 8px 0; object-fit: cover; }
	.top-news-grid, .more-news-grid, .region-posts-grid, .category-posts-grid { grid-template-columns: 1fr; }
	.homepage-lower-layout.has-region-sidebar { grid-template-columns: 1fr; }
	.region-sidebar { margin-top: 24px; }
	.site-page-layout.has-global-sidebar { grid-template-columns: 1fr; }
	.global-banner-sidebar { margin-top: 24px; }
	.news-card-compact { grid-template-columns: 140px minmax(0, 1fr); }
	.category-posts-grid-five, .shows-grid, .albums-grid { grid-template-columns: 1fr; }
	.gallery-photos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.static-page-header, .static-page-content { padding-right: 22px; padding-left: 22px; }
	.about-intro, .about-contact { grid-template-columns: 1fr; gap: 18px; }
	.contact-form p { grid-template-columns: 1fr; gap: 6px; }
	.contact-form label { padding-top: 0; }
	.contact-form button { width: 100%; margin-left: 0; }
	.contact-details { padding: 20px; }
	.single-article-meta { gap: 12px; flex-wrap: wrap; }
	.single-global-banner { width: calc(100% - 28px); margin-top: 22px; }
	.gallery-lightbox { padding: 52px 14px; }
	.gallery-lightbox-nav { width: 40px; height: 52px; }.gallery-lightbox-prev { left: 5px; }.gallery-lightbox-next { right: 5px; }
}

