/*
 Theme Name:   Zox News Child (Radio Haugaland)
 Theme URI:    https://radioh.no
 Description:  Child theme of Zox News for Radio Haugaland – same content and ads, stable base.
 Author:       Radio Haugaland
 Template:     zox-news
 Version:      1.0.1
 License:      GNU General Public License v3 or later
 License URI:  http://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  zox-news-child
*/

@import url("../zox-news/style.css");

/* Mest lest / Siste nytt – små bilder fyller container (cover), klippes på sidene, ingen svarte felt */
.mvp-feat1-pop-img,
.mvp-feat1-list-img {
	position: relative;
}
.mvp-feat1-pop-img {
	height: 145px;
	min-height: 145px;
}
.mvp-feat1-list-img {
	height: 80px;
	min-height: 80px;
	flex-shrink: 0;
}
.mvp-feat1-pop-img img,
.mvp-feat1-list-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Radio Haugaland / Aktuelt Haugalandet – samme font som nyhetslisten (Oswald overskrifter, Roboto brødtekst = .mvp-blog-story-text) */
.radioh-infokanal-rss {
	margin: 0 0 1em;
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.4;
	color: #555;
}
.radioh-infokanal-rss__header-table { width: 100%; margin-bottom: 0.5em; }
.radioh-infokanal-rss__header {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: #222;
}
.radioh-infokanal-rss__list { list-style: none; margin: 0; padding: 0; }
.radioh-infokanal-rss__item {
	margin-bottom: 0.85em;
	line-height: 1.4;
}
.radioh-infokanal-rss__item--fresh { }
.radioh-infokanal-rss__body {
	display: block;
	text-align: left;
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.4;
	color: #555;
}
.radioh-infokanal-rss__title-link {
	display: block;
	text-decoration: none;
	text-align: left;
	font-weight: inherit;
	color: inherit;
	font-family: 'Roboto', sans-serif;
}
.radioh-infokanal-rss__title-head {
	display: block;
	font-family: 'Oswald', sans-serif !important;
	color: #222;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
}
.radioh-infokanal-rss__title-rest {
	display: block;
	font-family: 'Roboto', sans-serif !important;
	color: #555;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.4;
	margin-top: 0.15em;
}
.radioh-infokanal-rss__time {
	display: block;
	text-align: right;
	color: #777;
	font-family: 'Roboto', sans-serif;
	font-size: 0.7rem;
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	margin-top: 0.1em;
}

/* Aktuelt Haugalandet inne i Zox-widget-boks (shortcode/sidebar) */
.radioh-aktuelt-wrap .radioh-infokanal-rss__header-table { display: none; }
.radioh-aktuelt-wrap .mvp-feat1-list .radioh-infokanal-rss { margin: 0; }
.radioh-aktuelt-wrap .radioh-infokanal-rss__list { padding: 0; }

/* Logo: 80px høyde, plassert til venstre for hovedmenyen */
#mvp-main-nav-wrap .mvp-nav-small-logo img,
#mvp-main-nav-wrap .mvp-nav-logo-reg img,
#mvp-main-nav-wrap .mvp-nav-logo-small img {
	max-height: 80px;
	height: 80px;
	width: auto;
	display: block;
}
.mvp-nav-small-logo {
	height: 80px;
	max-width: none;
}
/* Desktop-nav: logo til venstre, meny til høyre */
.mvp-nav-top-left-in {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.mvp-nav-top-mid {
	width: auto;
	flex-shrink: 0;
	text-align: left;
}
.mvp-nav-top-mid-right {
	flex: 1;
	min-width: 0;
}

/* Toppbannere – plasseres i header over hovedmenyen, høyrejustert i linje med innholdet under */
.radioh-banner-header-row {
	background: #fff;
	line-height: 0;
	overflow: hidden;
	padding: 0.75rem 0;
	width: 100%;
	/* --radioh-banner-h settes i header.php fra banner-høyde */
	/* Unngå at noe som lastes senere (script/tema) får raden til å hoppe – sett tak på høyde */
	max-height: 220px;
}
.radioh-banner-header-row .mvp-main-box {
	position: relative;
	/* Overstyr parent-tema height:100% som kan gi feil referanse og dobbel høyde i Edge */
	height: auto !important;
	min-height: 0;
}
/* Vertikal sentrering av logo og banner; padding kommer fra .radioh-banner-header-row. */
.radioh-banner-header-inner {
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	-ms-flex-align: center;
	justify-content: space-between;
	-ms-flex-pack: justify;
	width: 100%;
	max-width: 100%;
	gap: 1rem;
	min-height: 0;
	position: relative;
	box-sizing: border-box;
}
/* Fast bredde på logo slik at banner-plassen ikke endres når logoen lastes (Edge-reflow). */
.radioh-banner-header-logo {
	flex-shrink: 0;
	-ms-flex-negative: 0;
	width: 200px;
	min-width: 200px;
	max-width: 200px;
	line-height: 0;
	align-self: center;
	-ms-flex-item-align: center;
	box-sizing: border-box;
}
.radioh-banner-header-logo a {
	display: inline-block;
	max-width: 100%;
}
/* Logo begrenses til banner-høyde (--radioh-banner-h fra PHP) så raden ikke blir høyere og lager tomrom over banner. */
.radioh-banner-header-logo img {
	max-width: 100%;
	max-height: var(--radioh-banner-h, 180px);
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}
.radioh-banner-header-logo .mvp-logo-title {
	display: block;
	font-size: 0;
	margin: 0;
}
.radioh-banner-header-inner .radioh-top-banner {
	display: block;
	text-align: right;
	width: auto;
	min-width: 0;
	max-width: 100%;
	flex: 1 1 0%;
	-ms-flex: 1 1 0%;
	align-self: center;
	-ms-flex-item-align: center;
	box-sizing: border-box;
}
.radioh-banner-header-inner .radioh-top-banner-link {
	display: inline-block;
	max-width: 100%;
}
.radioh-banner-header-inner .radioh-top-banner img {
	max-width: 100%;
	height: auto;
}
/* Banner fyller plassen til høyre for logoen – innhold høyrejustert (viktig for Edge). */
.radioh-banner-header-inner .radioh-top-banner {
	display: flex;
	display: -ms-flexbox;
	justify-content: flex-end;
	-ms-flex-pack: end;
}
.radioh-banner-header-inner .radioh-top-banner-ads-inner {
	margin-left: auto;
	margin-right: 0;
}

/* Lås banner-høyde og bredde: skal alltid passe i containeren (Edge/Chrome/Firefox). */
.radioh-banner-header-inner .radioh-top-banner .radioh-top-banner-ads {
	align-self: flex-start;
	overflow: hidden;
	max-width: 100%;
	box-sizing: border-box;
}
/* Bildebanner: fyll hele området til høyre for logoen (som Google Ads), slik at bildet skalerer innenfor. */
.radioh-banner-header-inner .radioh-top-banner .radioh-banner-lcp {
	align-self: stretch;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}
.radioh-banner-lcp .radioh-top-banner-link {
	display: block !important;
	height: 100%;
	max-height: 100%;
	line-height: 0;
	overflow: hidden;
}
/* Begrens også på høyde slik at bildet ikke klippes – skalere innenfor containeren. */
.radioh-banner-lcp .radioh-top-banner-link img {
	display: block;
	vertical-align: top;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
/* Skjul logo-rad når toppbanner vises (banner erstatter logoen) */
#mvp-main-head-wrap.radioh-has-header-banner #mvp-main-nav-top {
	display: none !important;
}
#mvp-main-head-wrap.radioh-has-header-banner .mvp-nav-small-mid {
	display: none !important;
}
/* Unngå at parent-tema plasserer noe fast øverst – vi bruker kun banner i header */
#mvp-leader-wrap {
	display: none !important;
}

/* Mobil (minste visning): skjul toppbanner/reklame – bildet er laget for desktop */
@media (max-width: 767px) {
	.radioh-top-banner-hide-mobile,
	.radioh-banner-header-inner .radioh-top-banner-hide-mobile {
		display: none !important;
	}
}

/* Placeholder for utsatt featured-blokk på mobil – reserver høyde for mindre CLS. */
.radioh-deferred-feat-wrap .radioh-feat-placeholder {
	min-height: 280px;
	display: block;
}

/* Artikkel-side: venstre kolonne skal ikke ha egen scroll – kun hele siden skal scrolles. */
.single #mvp-post-main,
.single .mvp-post-main-out,
.single .mvp-post-main-in,
.single .mvp-article-wrap {
	overflow: visible !important;
	overflow-x: hidden !important;
}
.single #mvp-content-wrap,
.single #mvp-content-body,
.single #mvp-post-content {
	overflow: visible !important;
	overflow-x: hidden !important;
}

/* Desktop: hindre at høyre sidebar kollapser i Edge (f.eks. ved store bilder / reflow) */
@media (min-width: 768px) {
	#mvp-side-wrap {
		min-width: 320px;
		flex-shrink: 0;
		/* Unngå at Edge klipper eller kollapser sidebaren ved innlasting av høye bilder */
		contain: layout;
	}
	.mvp-main-blog-out {
		overflow: visible;
	}
}

/* Begrens høyde på bilder i nyhetslisten – store bilder kan trigge layout-bugs i Edge og skjule sidebaren */
.mvp-blog-story-img {
	max-height: 260px;
}
.mvp-blog-story-img img {
	width: 100%;
	height: auto;
	max-height: 260px;
	object-fit: cover;
	display: block;
}
/* Unntak for store saker (hvert 5. element) – litt høyere for å beholde uttrykk */
.mvp-blog-story-wrap:nth-child(5n+5) .mvp-blog-story-img,
.mvp-blog-story-wrap:nth-child(5n+5) .mvp-blog-story-img img {
	max-height: 380px;
}

/* Mobil: skjul høyre kolonne (sidebar) – reduserer datamengde, kun for minste skjermer */
@media (max-width: 767px) {
	#mvp-side-wrap {
		display: none !important;
	}
	.mvp-main-blog-out,
	.mvp-main-blog-in,
	.mvp-post-main-out,
	.mvp-post-main-in {
		margin-right: 0 !important;
	}
}

/* Mobil: hamburger (tre streker) til høyre for logoen, logo 40px – symmetri med menyknappen */
.radioh-mobile-fly-wrap {
	display: none;
}
/* Desktop: fjern mobil-hamburger fra layout helt (Edge/cache kan ha gammel HTML med elementet) */
@media (min-width: 768px) {
	.radioh-banner-header-inner .radioh-mobile-fly-wrap {
		position: absolute !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}
@media (max-width: 767px) {
	.radioh-mobile-fly-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		margin-left: auto;
		position: relative;
		width: 30px;
		height: 20px;
		cursor: pointer;
		z-index: 10;
	}
	.radioh-banner-header-row .radioh-banner-header-logo img {
		max-height: 40px;
		height: 40px;
		width: auto;
		display: block;
	}
	/* Strekene i mobil-hamburger må få farge – parent styler kun inni #mvp-main-nav-small */
	.radioh-mobile-fly-wrap span {
		background: #333 !important;
		border-radius: 2px;
		display: block;
		position: absolute;
		left: 0;
		height: 3px;
		transition: 0.25s ease-in-out;
	}
	.radioh-mobile-fly-wrap span:nth-child(1) { top: 0; width: 30px; }
	.radioh-mobile-fly-wrap span:nth-child(2),
	.radioh-mobile-fly-wrap span:nth-child(3) { top: 8px; width: 24px; }
	.radioh-mobile-fly-wrap span:nth-child(4) { top: 16px; width: 18px; }
	.radioh-mobile-fly-wrap.mvp-fly-open span:nth-child(1),
	.radioh-mobile-fly-wrap.mvp-fly-open span:nth-child(4) {
		top: 0.5px;
		left: 50%;
		width: 0;
	}
	.radioh-mobile-fly-wrap.mvp-fly-open span:nth-child(2) {
		transform: rotate(45deg);
		width: 30px;
	}
	.radioh-mobile-fly-wrap.mvp-fly-open span:nth-child(3) {
		transform: rotate(-45deg);
		width: 30px;
	}
	.radioh-mobile-fly-wrap:hover span {
		background: #0be6af !important;
	}
	/* Skjul nav sin logo og hamburger på mobil – vi bruker alltid logo/hamburger fra .radioh-banner-header-row (identisk på forsiden og kategorisider). */
	#mvp-main-head-wrap .mvp-nav-small-mid {
		display: none !important;
	}
	#mvp-main-head-wrap .mvp-nav-small-left .mvp-fly-but-wrap {
		display: none !important;
	}
}

/* Hamburgermeny: siste menypunkt (f.eks. Livesenter) ble klippet – gjør menyen scrollbar. */
#mvp-fly-wrap nav.mvp-fly-nav-menu {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	max-height: 70%;
}

/* Fly-meny: tydelig trykk/valg før navigasjon (parent skjuler default tap-highlight på li). */
#mvp-fly-wrap nav.mvp-fly-nav-menu ul li {
	-webkit-tap-highlight-color: rgba(11, 230, 175, 0.35);
}
#mvp-fly-wrap nav.mvp-fly-nav-menu ul li.radioh-fly-nav-pressed > a,
#mvp-fly-wrap nav.mvp-fly-nav-menu ul li a:active {
	background: rgba(11, 230, 175, 0.28) !important;
	color: #fff !important;
	transition: background 0.08s ease;
}
#mvp-fly-wrap #mvp-fly-soc-wrap ul li a:active,
#mvp-fly-wrap #mvp-fly-soc-wrap ul li.radioh-fly-nav-pressed > a {
	background: rgba(11, 230, 175, 0.35) !important;
	color: #fff !important;
}
#mvp-fly-wrap #mvp-fly-logo.radioh-fly-nav-pressed,
#mvp-fly-wrap #mvp-fly-logo a:active {
	opacity: 0.88;
	transition: opacity 0.08s ease;
}

/* Ingress i artikler – fet skrift før brødtekst */
.radioh-ingress { margin-bottom: 1em; }

/* Like oss på Facebook – knapp nederst i artikkel */
.radioh-fb-like-wrap {
	margin-top: 1.5em;
	margin-bottom: 1em;
}

/* ALP venstre kolonne: bilder i full bredde av container (som på hjem/kategori) */
.alp-related-posts-wrapper .alp-related-post {
	display: block;
}
.alp-related-posts-wrapper .alp-related-post .featured-image-link {
	float: none;
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 8px;
}
.alp-related-posts-wrapper .alp-related-post .featured-image-link .featured-image {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
	object-fit: cover;
}
.alp-related-posts-wrapper .alp-related-post .post-details {
	float: none;
	width: 100%;
}
.alp-related-posts-wrapper .alp-related-post .post-title {
	max-width: none;
}

/* Søkeresultater: blur i bakgrunn (::before) + skarpt bilde på topp – samme oppsett som kategori. */

/* Mobil: skru av blur-bakgrunn – sparer ytelse og blur er unødvendig når layout roterer. */
@media screen and (max-width: 767px) {
	/* Forside: reduser mellomrom under logo/hamburger (samme nivå som andre sider). */
	body.home #mvp-main-body-wrap {
		padding-top: 10px !important;
	}
	body.home #mvp-main-body-wrap > *:first-child,
	body.home .mvp-main-blog-wrap,
	body.home #mvp-cat-feat-wrap {
		margin-top: 0 !important;
	}
	body.home .radioh-banner-header-row {
		padding-bottom: 0.35rem !important;
		padding-top: 0.35rem !important;
	}

	.mvp-blog-story-img::before,
	.mvp-widget-feat2-right-img::before {
		display: none !important;
	}
	.mvp-blog-story-img-bg,
	.mvp-flex-story-img .mvp-blog-story-img-bg,
	.mvp-feat1-feat-img .mvp-blog-story-img-bg,
	.mvp-feat1-sub-img .mvp-blog-story-img-bg,
	.mvp-widget-feat1-top-img .mvp-blog-story-img-bg,
	.mvp-widget-feat1-bot-img .mvp-blog-story-img-bg,
	.mvp-widget-dark-feat-img .mvp-blog-story-img-bg,
	.mvp-widget-dark-sub-img .mvp-blog-story-img-bg {
		display: none !important;
	}
	/* På kategorisider vis igjen hovedbildet (parent skjuler det for blur-visning). */
	body.category .mvp-blog-story-img img:first-of-type {
		display: block !important;
	}
	/* Siste Nytt (feat2): fjern fast høyde på mobil – unngår store tomrom etter sak 1 og sak 2. */
	#mvp-cat-feat-wrap .mvp-widget-feat2-right-cont,
	#mvp-cat-feat-wrap .archive .mvp-widget-feat2-right-cont {
		height: auto !important;
		min-height: 0;
	}
	#mvp-cat-feat-wrap .mvp-widget-feat2-left-img {
		height: auto !important;
		min-height: 0;
	}
}

/* Søkevindu (overlay): norsk tekst «Søk på Radioh.no» – ikke store bokstaver. */
#mvp-search-wrap #searchform input {
	text-transform: none;
}

/* Skjul hovedbilde-container når bildet mangler (fil 404) – container har da ikke noen img. */
#mvp-post-feat-img:not(:has(img)),
#mvp-post-feat-img-wide:not(:has(img)) {
	display: none !important;
}

/* Integrerte artikler (LES OGSÅ): minimal avstand under preview – overstyr 70px. */
#mvp-content-main figure.wp-block-embed,
#mvp-content-main .wp-block-embed,
#mvp-content-main figure.wp-block-embed.radioh-embed-825,
#mvp-content-main .wp-block-embed.radioh-embed-825,
.mvp-post-add-main figure.wp-block-embed,
.mvp-post-add-main .wp-block-embed,
.mvp-post-add-main figure.wp-block-embed.radioh-embed-825,
.mvp-post-add-main .wp-block-embed.radioh-embed-825 {
	margin-bottom: 0.5em !important;
	margin-top: 0 !important;
}

/* CLS: reserver plass slik at innlasting av innhold ikke flytter layout. */
.mvp-cont-read-wrap {
	min-height: 420px;
}
#mvp-content-bot {
	min-height: 220px;
}
#mvp-prev-next-wrap {
	min-height: 90px;
}
/* ALP-relaterte poster: hver kort reserverer høyde så bilder/tekst ikke forårsaker shift. */
.alp-related-posts-wrapper {
	min-height: 380px;
}
.alp-related-posts-wrapper .alp-related-post {
	min-height: 140px;
}
/* Hovedinnholdsområdet: reduserer shift når innhold lastes. */
#mvp-main-body-wrap {
	min-height: 480px;
}
#mvp-main-nav-bot-cont {
	min-height: 50px;
}
/* Spiller-overlay (wp-player): reserver plass så knapp/tekst ikke flytter layout. */
.wp-player-overlay__center,
.wp-player-overlay__left,
.wp-player-overlay__right {
	min-height: 44px;
}
.wp-player-overlay__center {
	min-width: 120px;
}
