/* ==========================================================================
   HRP Academy — konsolidert tema-CSS
   Basert på shared.css + variant-a-c.jsx fra designpakken.
   Klassenavn beholdt 1:1 fra designet.
   ========================================================================== */

:root {
	--color-primary:   #1d3557;
	--color-accent:    #e63027;
	--color-warm:      #db2823;
	--color-canvas:    #fbf6ee;
	--color-canvas-2:  #f1e7d4;
	--color-page:      #3b5c7f; /* Blågrå .hrp-page-bakgrunn — brukes også i editoren */
	--color-line:      #e6dcc6;
	--color-text:      #181a1f;
	--color-muted:     #4b5260;
	--color-white:     #ffffff;

	--font-sans:  "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--font-serif: "Fraunces", "Times New Roman", serif;
	--font-mono:  "JetBrains Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
}

body.hrp-body {
	font-family: var(--font-sans);
	color: var(--color-text);
	background: var(--color-canvas);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.hrp-page {
	width: 100%;
	background: var(--color-page);
}

.hrp-page a { text-decoration: none; }
.hrp-page h1, .hrp-page h2, .hrp-page h3 { margin: 0; }
.hrp-page p { margin: 0; }

h1 { font-size: clamp(32px, 4vw, 45px); }

img { max-width: 100%; height: auto; }


/* ----- Topbar (header) ------------------------------------------------- */

.topbar-over {
	background: #0f1f3a;
	color: rgba(255, 255, 255, 0.85);
	border-bottom: 1px solid rgb(30 53 87);
}
.topbar-over-inner {
	max-width: 1620px;
	margin: 0 auto;
	padding: 8px 32px;
}
.overnav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 22px;
	font-size: 15px;
	font-weight: 600;
}
.overnav a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color .15s;
}
.overnav a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.overnav ul { list-style: none; padding: 0; margin: 0; display: contents; }
.overnav li { display: contents; }
.overnav .cart, .overnav .cart:hover { text-decoration: none; }
.overnav .cart {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	color: #fff;
}

.topbar {
	background: var(--color-primary);
	color: #f4f6fa;
}
.topbar-inner {
	max-width: 1620px;
	margin: 0 auto;
	padding: 18px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	position: relative;
}
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.brand:hover { text-decoration: none; }
.brand--logo .custom-logo-link { display: inline-flex; align-items: center; }
.brand--logo .custom-logo {
	display: block;
	width: 105px;
	height: auto;
}
.brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--color-accent);
	color: var(--color-white);
	font-weight: 800;
	letter-spacing: 0.5px;
	width: 48px;
	height: 48px;
	font-size: 14px;
	border-radius: 2px;
}
.brand-word-main {
	display: block;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.2px;
	color: var(--color-white);
	text-decoration: none;
}
.topnav { display: flex; align-items: center; font-size: 16px; }

/* Hamburger-trigger — kun synlig på små skjermer (se @media 700px). */
.nav-toggle {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	cursor: pointer;
	transition: background .2s;
}
.nav-toggle:hover,
.nav-toggle:focus-visible { background: rgba(255, 255, 255, 0.12); outline: none; }
.nav-toggle-line {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transition: transform .2s, opacity .2s;
}
.nav-toggle.is-open .nav-toggle-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.is-open .nav-toggle-line:nth-child(2) { opacity: 0; }
.nav-toggle.is-open .nav-toggle-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.topnav-menu {
	display: flex;
	align-items: center;
	gap: 26px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.topnav-menu > li { position: relative; }
.topnav-menu a {
	color: #fff;
	text-decoration: none;
	transition: color .15s;
}
.topnav-menu > li > a {
	display: inline-block;
	padding: 18px 0;
}
.topnav-menu > li > a:hover,
.topnav-menu > li:hover > a {
	color: var(--color-white);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.topnav-menu > li > a.active,
.topnav-menu > li.current-menu-item > a,
.topnav-menu > li.current-menu-ancestor > a {
	color: var(--color-white);
}

/* Standard dropdown (1 nivå) */
.topnav-menu .sub-menu {
	list-style: none;
	padding: 14px 0;
	margin: 0;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #fff;
	color: var(--color-primary);
	border-radius: 0;
	box-shadow: 0 18px 40px -14px rgba(0, 0, 0, 0.25);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .15s, transform .15s, visibility .15s;
	z-index: 100;
}
.topnav-menu > li:hover > .sub-menu,
.topnav-menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
/* Når li er hovered/focused, gjør alle nestede sub-menus klikkbare også (mega-meny) */
.topnav-menu > li:hover .sub-menu,
.topnav-menu > li:focus-within .sub-menu {
	pointer-events: auto;
}
.topnav-menu .sub-menu a {
	display: block;
	padding: 8px 20px;
	color: var(--color-primary);
	font-size: 14px;
}
.topnav-menu .sub-menu a:hover {
	background: rgba(29, 53, 87, 0.06);
	text-decoration: none;
}

/* Mega-meny — bredere dropdown med kolonner */
.topnav-menu > li.mega-menu > .sub-menu {
	left: 0;
	width: min(720px, 90vw);
	min-width: 0;
	padding: 28px 32px 32px;
	border-radius: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 24px 32px;
}
.topnav-menu > li.mega-menu > .sub-menu > li > a {
	display: block;
	font-weight: 700;
	font-size: 15px;
	color: var(--color-primary);
	padding: 0 0 10px;
	border-bottom: 1px solid rgba(29, 53, 87, 0.15);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.topnav-menu > li.mega-menu > .sub-menu > li > a:hover {
	background: transparent;
	color: var(--color-warm);
}
.topnav-menu > li.mega-menu > .sub-menu .sub-menu {
	position: static;
	background: transparent;
	box-shadow: none;
	padding: 0;
	min-width: 0;
	border-radius: 0;
	opacity: 1;
	visibility: visible;
	transform: none;
}
.topnav-menu > li.mega-menu > .sub-menu .sub-menu a {
	padding: 4px 0;
	font-size: 14px;
	font-weight: 400;
	color: var(--color-muted);
}
.topnav-menu > li.mega-menu > .sub-menu .sub-menu a:hover {
	background: transparent;
	color: var(--color-primary);
}


/* ----- Eyebrow (delt) -------------------------------------------------- */

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 600;
	margin-bottom: 18px;
}
.eyebrow-dash {
	display: inline-block;
	width: 22px;
	height: 2px;
	background: currentColor;
}
.eyebrow--warm { color: var(--color-warm); }


/* ----- Hero ------------------------------------------------------------ */

.hero {
	max-width: 1250px;
	margin: 0 auto;
	padding: 64px 32px 32px;
}
.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	gap: 64px;
	align-items: start;
	margin: auto;
}
.hero-col-right {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.hero h1 {
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0;
	max-width: 18ch;
	text-wrap: balance;
	color: #fff;
}
.hero-lede {
	padding: 10px 0;
	margin-top: 24px;
}
.hero-lede p {
	font-size: 16px;
	color: #fff;
	margin: 0 0 14px;
	max-width: 56ch;
}
.hero-lede p:last-child { margin-bottom: 0; }
.hero-lede-intro {
	margin-bottom: 40px;
}
.hero-lede-intro p {
	font-size: 22px;
	font-weight: 600;
	line-height: 28px;
}

/* ----- Hero høyre kolonne: media + overskrift + tekst + tekst-CTA ----- */
.hero-media {
	width: 100%;
}
.hero-media--image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.hero-media--video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
}
.hero-media--video iframe,
.hero-media--video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/* Navy tekstkort som overlapper bunnen av media-bildet. */
.col-right-txt {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #1e3557;
	padding: 20px;
	margin-top: -40px;
	margin-left: 20px;
	max-width: 500px;
}
/* Overskrift med samme font-innstillinger som .hero-lede-intro */
.hero-col-heading {
	font-family: var(--font-sans);
	font-size: 22px;
	font-weight: 600;
	line-height: 28px;
	color: #fff;
}
.hero-col-text p {
	font-size: 16px;
	color: #fff;
	margin: 0 0 14px;
}
.hero-col-text p:last-child { margin-bottom: 0; }
/* Tekst-CTA: tekst + pil som .btn-primary, men uten knappestyling, høyrejustert. */
.hero-col-cta {
	align-self: flex-end;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: gap .15s, opacity .15s;
}
.hero-col-cta i { font-size: 1.5em; line-height: 1; }
.hero-col-cta:hover { gap: 16px; opacity: .85; }

.hero-cta-card {
	margin-top: 48px;
	max-width: 780px;
	background: #1e3557;
	padding: 28px;
	position: relative;
	border-radius: 16px;
}
.hero-cta-card .lead {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 20px;
	color: #fff;
}
.hero-cta-card .btn-primary {
	width: 100%;
	background: var(--color-warm);
	color: #fff;
	border-radius: 10px;
}
.hero-cta-card .btn-primary i,
.hero-cta-card .btn-primary:hover i { color: #fff; font-size: 1.5em; line-height: 1; }
.hero-cta-card .btn-primary:hover {
	background: #1e3557;
	color: #fff;
}

.stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 16px 0;
	margin-top: 18px;
	border-top: 1px solid var(--color-line);
}
.stat-num {
	font-family: var(--font-sans);
	font-size: 44px;
	color: #fff;
	line-height: 1.05;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.stat-label {
	font-size: 11px;
	color: #7a8190;
	margin-top: 4px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}


/* ----- Course categories (wrapper + vertikalt kort) -------------------- */

.course-categories {
	width: 100%;
}
/* Vertikal avstand mellom rader (flere course-categories-blokker stables) */
.course-categories + .course-categories { margin-top: 100px; }

/* Hver wrapper-blokk er én rad: posisjoneres som venstre eller høyre
   halvdel av viewport, og kortene + evt. CTA deler raden likt. */
.course-categories-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	width: 60%;
	gap: 0;
	margin-left: 0;
}
.course-categories--venstre .course-categories-row { margin-left: 0; }
.course-categories--høyre .course-categories-row { margin-left: 40%; }

/* Når CTA er på utvider raden til 90 % av viewport for å romme 3 elementer */
.course-categories--has-cta .course-categories-row { width: 90%; }
.course-categories--høyre.course-categories--has-cta .course-categories-row { margin-left: 10%; }

/* Gutenberg/ACF pakker InnerBlocks-output i wrappere som ellers tar opp én
   flex-slot for ALLE kortene. Med display: contents blir hver .course-cat
   den faktiske flex-itemen. */
.course-categories-row > .wp-block,
.course-categories-row > .acf-innerblocks-container {
	display: contents;
}

/* Hvert .course-cat (inkl. CTA) deler raden likt — 2 = 25 % viewport hver,
   3 (med CTA) = 25 % viewport hver. */
.course-categories-row .course-cat {
	flex: 1 1 0;
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 800px) {
	.course-categories + .course-categories { margin-top: 40px; }
	.course-categories-row,
	.course-categories--has-cta .course-categories-row {
		width: 100%;
		margin-left: 0 !important;
		flex-direction: column;
	}
}

.course-cat {
	display: flex;
	flex-direction: column;
	background: transparent;
	color: #fff;
}
.course-cat-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	background-color: #cfd6df;
	display: block;
}
.course-cat-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 31, 58, 0) 45%, rgba(15, 31, 58, 0.85));
	pointer-events: none;
}
.course-cat-image-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 20px 24px;
	z-index: 1;
}
.course-cat-body {
	padding: 18px 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: transparent;
	color: #fff;
}
.course-cat-title {
	color: #fff;
	font-family: var(--font-sans);
	font-size: clamp(20px, 1.8vw, 28px);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
	text-wrap: balance;
}
.course-cat-desc {
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
}

.course-cat-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}
/* LearnDash CPT-sider (sfwd-courses, sfwd-lessons, sfwd-topic, sfwd-quiz osv.)
   — rendres gjennom hrp-fallback i index.php. Sørg for hvit tekst overalt. */
body.learndash-cpt .hrp-fallback,
body.learndash-cpt .hrp-fallback * {
	color: #fff;
}
body.learndash-cpt .hrp-fallback h1,
body.learndash-cpt .hrp-fallback h2,
body.learndash-cpt .hrp-fallback h3,
body.learndash-cpt .hrp-fallback h4,
body.learndash-cpt .hrp-fallback h5,
body.learndash-cpt .hrp-fallback h6,
body.learndash-cpt .hrp-fallback strong { color: #fff; }
body.learndash-cpt .hrp-fallback p,
body.learndash-cpt .hrp-fallback li { color: rgba(255, 255, 255, 0.92); }
body.learndash-cpt .hrp-fallback a {
	color: #fff;
	text-decoration: underline;
}
body.learndash-cpt .hrp-fallback a:hover { color: var(--color-warm); }

/* LearnDash-spesifikke elementer som ofte overstyrer farger */
body.learndash-cpt .ld-progress-percentage,
body.learndash-cpt .ld-progress-steps,
body.learndash-cpt .ld-section-heading h2,
body.learndash-cpt .ld-item-title,
body.learndash-cpt .ld-item-name,
body.learndash-cpt .ld-tab-content,
body.learndash-cpt .ld-tab-content p,
body.learndash-cpt .ld-item-details,
body.learndash-cpt .ld-course-status {
	color: #fff !important;
}
body.learndash-cpt .ld-progress-bar {
	background: rgba(255, 255, 255, 0.15) !important;
}
body.learndash-cpt .ld-progress-bar-percentage {
	background: var(--color-warm) !important;
}
body.learndash-cpt .ld-item-list-item {
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
}
body.learndash-cpt .ld-status-icon { filter: brightness(0) invert(1); }

/* Unntak: behold default LearnDash-styling i infobar-shortcoden og i
   lesson-progression-listen — kunden vil ikke ha hvit tekst der. */
body.learndash-cpt [class*="learndash-shortcode-wrap-ld_infobar"],
body.learndash-cpt [class*="learndash-shortcode-wrap-ld_infobar"] *,
body.learndash-cpt [class*="ld-item-list-items"],
body.learndash-cpt [class*="ld-item-list-items"] * {
	color: revert !important;
	background: revert !important;
	border-color: revert !important;
	filter: revert !important;
}


.course-categories .course-cat-pills .course-cat-pill,
.course-categories .course-cat-pills a.course-cat-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	background: transparent;
	border: 1.5px solid #fff;
	border-radius: 999px;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.course-cat-pill:hover {
	background: #fff;
	color: var(--color-primary);
	text-decoration: none;
}

/* CTA-boks "Utforsk alle kurs" — kvadratisk, rød, sentrert */
.course-cat--cta {
	aspect-ratio: 1 / 1;
	background: var(--color-warm);
	color: #fff !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	transition: background .15s ease;
}
.course-cat--cta:hover {
	background: #a91d1a;
	color: #fff !important;
	text-decoration: none !important;
}
.course-cat-cta-inner {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(18px, 1.8vw, 26px);
	letter-spacing: -0.01em;
	color: #fff;
	padding: 24px;
	text-align: center;
}
.course-cat-cta-inner i {
	font-size: 1.1em;
	line-height: 1;
}


/* ----- Card strip (Populære kurs, Aktuelt) ---------------------------- */

.card-strip {
	width: 100%;
}
.card-strip-inner {
	max-width: 1250px;
	margin: 0 auto;
	padding: 64px 32px;
}
.card-strip-head {
	margin-bottom: 32px;
	color: #fff;
}
.card-strip-head h2 {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(28px, 3vw, 38px);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 8px;
	text-wrap: balance;
	color: #fff;
}
.card-strip-head p {
	margin: 0;
	max-width: 60ch;
	color: rgba(255, 255, 255, 0.85);
	font-size: 16px;
}
.card-strip-empty {
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 15px;
}

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}

.card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 0;
	overflow: hidden;
	color: var(--color-text);
	box-shadow: 0 6px 18px -10px rgba(0, 0, 0, 0.25);
	transition: transform .18s ease, box-shadow .18s ease;
}
.card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -14px rgba(0, 0, 0, 0.35);
}
.card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background: rgba(29, 53, 87, 0.08);
	overflow: hidden;
}
.card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.card-media-fallback {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(29, 53, 87, 0.18), rgba(29, 53, 87, 0.04));
}
.card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}
.card-meta {
	font-size: 12px;
	font-weight: 600;
	color: rgba(29, 53, 87, 0.65);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.card-title {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	margin: 0;
}
.card-title a {
	color: var(--color-primary);
	text-decoration: none;
}
.card-title a:hover { color: var(--color-warm); }
.card-excerpt {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-muted);
}
.card-cta {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 14px;
	color: var(--color-primary);
	text-decoration: none;
}
.card-cta i { font-size: 1.1em; }
.card-cta:hover { color: var(--color-warm); }


/* ----- Banner ---------------------------------------------------------- */

.banner {
	background: var(--color-primary);
	color: var(--color-white);
	position: relative;
	overflow: hidden;
}
.banner-inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 56px 32px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 36px;
	align-items: center;
	position: relative;
	z-index: 1;
}
.banner-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--color-accent);
	color: var(--color-white);
	width: 84px;
	height: 84px;
	font-weight: 800;
	font-size: 22px;
	letter-spacing: 1px;
}
.banner-mark--logo {
	background: transparent;
	width: auto;
	height: auto;
	padding: 0;
}
.banner-mark--logo img {
	display: block;
	width: 105px;
	height: auto;
}
.banner-lines {
	font-size: clamp(28px, 3.4vw, 40px);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.05;
}
.banner-lines > div + div { margin-top: 4px; }
.banner-lines > .banner-strong { color: var(--color-warm); }
.banner-url {
	font-family: var(--font-mono);
	font-size: 13px;
	color: rgba(255,255,255,0.55);
	margin-top: 10px;
	letter-spacing: 0.04em;
}
.btn-light {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: var(--color-warm);
	color: #fff;
	padding: 14px 22px;
	font-weight: 600;
	font-size: 15px;
	border-radius: 10px;
	transition: background .15s, color .15s, transform .15s;
}
.btn-light i,
.btn-light:hover i { color: #fff; font-size: 1.5em; line-height: 1; }
.btn-light:hover {
	background: #1e3557;
	color: #fff;
	transform: translateY(-1px);
}


/* ----- Contact --------------------------------------------------------- */

.contact-section {
	background: var(--color-canvas-2);
	padding: 72px 0;
}
.contact-inner {
	max-width: 880px;
	margin: 0 auto;
	padding: 0 32px;
}
.contact-section h2 {
	font-family: var(--font-sans);
	font-weight: 700;
	color: var(--color-primary);
	font-size: clamp(26px, 3vw, 36px);
	letter-spacing: -0.02em;
	line-height: 1.3;
	text-wrap: balance;
	margin-bottom: 20px;
}
.contact-section .lede {
	color: var(--color-muted);
	margin-bottom: 28px;
	max-width: 60ch;
}
.contact-section .lede a { color: var(--color-primary); }
.contact-form {
	display: grid;
	grid-template-columns: 1fr 0.5fr;
	gap: 16px;
}
.contact-form .field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.contact-form .field.full { grid-column: 1 / -1; }
.field label { font-size: 13px; font-weight: 600; }
.field input, .field textarea {
	font-family: inherit;
	font-size: 15px;
	padding: 12px 14px;
	border: 1px solid #e3ddd2;
	background: var(--color-white);
	transition: border-color .15s;
	resize: vertical;
}
.field input:focus, .field textarea:focus {
	outline: none;
	border-color: var(--color-primary);
}

.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 14px 28px;
	background: var(--color-primary);
	color: var(--color-white);
	font-weight: 600;
	font-size: 15px;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	transition: transform .15s, filter .15s;
}
.btn-primary:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.contact-form .btn-primary { border-radius: 10px; }
.contact-form .btn-primary i { color: #fff; font-size: 1.5em; line-height: 1; }

/* ----- Gravity Forms (kontaktskjema, ID 1) — match temaets skjemastil ----- */
/* Behold GFs 12-kolonners grid for feltbredder (styres i form-editoren),
   bare juster avstanden så den matcher det gamle skjemaet. */
.contact-form .gform_wrapper { margin: 0; }
.contact-form .gform_wrapper form { margin: 0; }
.contact-form .gform_heading { display: none; }
/* row-gap: overstyr .gform-theme--foundation .gform_fields (lik spesifisitet
   ellers, så GF vinner på rekkefølge). Overstyr variabelen GF bruker + en
   regel med høyere spesifisitet (0,3,0) som backup. */
.contact-form .gform_wrapper { --gf-form-gap-y: 12px; }
.contact-form .gform_wrapper .gform_fields { row-gap: 12px; }
.contact-form .gfield_label {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text);
	margin: 0 0 6px;
}
.contact-form .gfield_required { color: var(--color-warm); }
.contact-form .ginput_container input[type="text"],
.contact-form .ginput_container input[type="email"],
.contact-form .ginput_container input[type="tel"],
.contact-form .ginput_container input[type="url"],
.contact-form .ginput_container input[type="number"],
.contact-form .ginput_container textarea,
.contact-form .gform_wrapper textarea,
.contact-form .gform_wrapper input {
	font-family: inherit;
	font-size: 15px;
	padding: 12px 14px;
	border: 1px solid #e3ddd2;
	border-radius: 0;
	background: var(--color-white);
	width: 100%;
	transition: border-color .15s;
}
.contact-form .gform_wrapper input:focus,
.contact-form .gform_wrapper textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: none;
}
.contact-form .gform_footer { margin: 0; padding: 16px 0 0; display: block; }
/* Submit = .btn-light (via gform_submit_button_1-filteret), men full skjemabredde. */
.contact-form .gform_footer .btn-light {
	width: 100%;
	justify-content: center;
	/* Lås radius/font/padding likt .btn-light — vinn over GFs .gform_button. */
	padding: 14px 22px !important;
	font-size: 15px !important;
	border-radius: 10px !important;
	background: #1e3557 !important;
}
/* Valideringsmeldinger — diskret, i temaets palett. */
.contact-form .gfield_validation_message,
.contact-form .validation_message {
	color: var(--color-warm);
	font-size: 13px;
	margin-top: 6px;
	padding: 0;
	background: none;
	border: 0;
}
.contact-form .gform_validation_errors {
	background: none;
	border: 0;
	box-shadow: none;
	padding: 0 0 12px;
}

/* Store skjermer: felt-grid 1fr .5fr — Navn + Telefon deler øverste rad,
   e-post og melding går i full bredde. (.contact-form er kun wrapper; selve
   grid-et er GFs .gform_fields, så ratioen settes her.) */
@media (min-width: 701px) {
	.contact-form .gform_wrapper .gform_fields {
		display: grid;
		grid-template-columns: 1fr .5fr;
		column-gap: 16px;
	}
	.contact-form .gform_fields > .gfield { grid-column: 1 / -1; }
	.contact-form .gform_fields > #field_1_1 { grid-column: 1 / 2; } /* Navn */
	.contact-form .gform_fields > #field_1_3 { grid-column: 2 / 3; } /* Telefon */
}


/* ----- Footer ---------------------------------------------------------- */

.site-foot {
	background: var(--color-primary);
	color: rgba(255,255,255,0.7);
}
.foot-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 32px 24px;
	display: grid;
	grid-template-columns: 1.4fr 2fr;
	gap: 48px;
}
.foot-brand { display: flex; gap: 14px; align-items: center; }
.foot-logo .custom-logo-link { display: inline-flex; }
.foot-logo .custom-logo {
	display: block;
	width: 105px;
	height: auto;
}
.foot-brand-name { color: var(--color-white); font-weight: 700; font-size: 18px; }
.foot-brand-tag { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 2px; }
.foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.foot-h {
	color: var(--color-white);
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 14px;
}
.foot-cols a, .foot-cols span {
	display: block;
	font-size: 14px;
	padding: 4px 0;
	color: rgba(255,255,255,0.7);
}
.foot-cols a:hover { color: var(--color-white); }
.foot-base {
	border-top: 1px solid rgba(255,255,255,0.12);
	padding: 18px 32px;
	text-align: center;
	font-size: 12px;
	color: rgba(255,255,255,0.5);
}


/* ----- Min side (account) --------------------------------------------- */

.account-hero {
	max-width: 1500px;
	margin: 0 auto;
	padding: 64px 32px 32px;
}
.account-hero-inner h1 {
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0;
	max-width: 22ch;
	text-wrap: balance;
}
.account-body {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 32px 80px;
}
.account-body-inner {
	background: #1e3557;
	border-radius: 16px;
	padding: 40px;
	color: #fff;
}
.account-body-inner > * + * { margin-top: 48px; }
.account-body-inner a { color: #fff; }
.account-body-inner a:hover { text-decoration: underline; }

.account-intro p { margin: 0 0 12px; color: rgba(255, 255, 255, 0.85); }
.account-intro p:last-child { margin-bottom: 0; }

.account-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.account-section-head h2 {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(22px, 2vw, 28px);
	letter-spacing: -0.01em;
	color: #fff;
	margin: 0;
}

.account-empty {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
}

.account-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}
.account-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	padding: 8px 14px;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.account-pill:hover { border-color: #fff; }
.account-pill.is-active {
	background: #fff;
	border-color: #fff;
	color: var(--color-primary);
}
.account-pill-count {
	font-size: 12px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
}
.account-pill.is-active .account-pill-count {
	background: rgba(30, 53, 87, 0.1);
	color: var(--color-primary);
}

.account-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}
.account-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(30, 53, 87, 0.12);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.account-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px -12px rgba(30, 53, 87, 0.25);
	border-color: rgba(30, 53, 87, 0.22);
}
.account-card.is-hidden { display: none; }
.account-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background: rgba(30, 53, 87, 0.06);
	overflow: hidden;
}
.account-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.account-card-media-fallback {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(30, 53, 87, 0.15), rgba(30, 53, 87, 0.05));
}
.account-card-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
	background: #fff;
	color: var(--color-primary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.account-card-badge--in_progress { background: var(--color-warm); color: #fff; }
.account-card-badge--completed   { background: #2f7d4d; color: #fff; }
.account-card-badge--not_started { background: #fff; color: var(--color-primary); }

.account-card-body {
	padding: 18px 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}
.account-card-title {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.3;
	margin: 0;
}
.account-card-title a { color: var(--color-primary); }
.account-card-title a:hover { text-decoration: none; }

.account-progress {
	display: flex;
	align-items: center;
	gap: 10px;
}
.account-progress-bar {
	flex: 1;
	height: 6px;
	background: rgba(30, 53, 87, 0.1);
	border-radius: 999px;
	overflow: hidden;
}
.account-progress-bar span {
	display: block;
	height: 100%;
	background: var(--color-warm);
	border-radius: 999px;
}
.account-progress-meta {
	font-size: 12px;
	font-weight: 600;
	color: var(--color-primary);
	min-width: 36px;
	text-align: right;
}

.account-card-cta {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 14px;
	color: var(--color-primary);
}
.account-card-cta i { font-size: 1.1em; }
.account-card-cta:hover { color: var(--color-warm); text-decoration: none; }

.account-section--account .ultimatemember,
.account-section--account .um {
	margin-top: 0;
}

/* Ultimate Member — lys typografi på mørk bg */
.account-section--account .um-account-main,
.account-section--account .um-account-tab,
.account-section--account .um-account-tab p,
.account-section--account .um-field-label label,
.account-section--account .um-field-label,
.account-section--account .um-field label[name="um-export-data"],
.account-section--account .um-field label[name="um-erase-data"] {
	color: #fff;
}
.account-section--account .um-account-nav a,
.account-section--account .um-account-nav a:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
}
.account-section--account .um-account-nav a.current {
	background: rgba(255, 255, 255, 0.14);
}
.account-section--account .um-account-heading {
	color: #fff !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	padding-bottom: 10px;
	margin-bottom: 16px;
}
.account-section--account .um-account-heading i { display: none !important; }
.account-section--account .um-tip i,
.account-section--account .um-icon-help-circled,
.account-section--account .um-field-error i { color: rgba(255, 255, 255, 0.7); }
.account-section--account .um-field-error { color: #ffd1cc; }

/* Skjemafelter: hvit bakgrunn + mørk tekst for lesbarhet */
.account-section--account .um-form-field {
	background: #fff;
	color: var(--color-primary);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
}
.account-section--account .um-form-field::placeholder { color: rgba(29, 53, 87, 0.5); }
.account-section--account .um-form-field:focus {
	outline: 2px solid var(--color-warm);
	outline-offset: 1px;
}
.account-section--account .um-form-field:disabled,
.account-section--account .um-form-field.um_account_inactive {
	background: rgba(255, 255, 255, 0.85);
	color: rgba(29, 53, 87, 0.7);
}

/* Select2 (privacy-dropdowns) */
.account-section--account .select2-selection {
	background: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	border-radius: 8px !important;
}
.account-section--account .select2-selection__rendered {
	color: var(--color-primary) !important;
}

/* Knapper */
.account-section--account .um-button {
	background: var(--color-warm) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
}
.account-section--account .um-button:hover {
	background: #a91d1a !important;
}
.account-section--account .um-button.um_account_inactive,
.account-section--account .um-button:disabled {
	background: rgba(255, 255, 255, 0.18) !important;
	color: rgba(255, 255, 255, 0.6) !important;
	cursor: not-allowed;
}
.account-section--account .um-request-button {
	display: inline-block;
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 10px;
	padding: 8px 14px;
	margin-top: 8px;
}
.account-section--account .um-request-button:hover {
	background: rgba(255, 255, 255, 0.15);
	text-decoration: none;
}

@media (max-width: 800px) {
	.account-body-inner { padding: 24px; }
	.account-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}


/* ----- WooCommerce --------------------------------------------------- */

.wc-shell {
	width: 100%;
}
.wc-shell-inner {
	max-width: 1250px;
	margin: 0 auto;
	background: transparent;
	color: #fff;
	padding: 64px 32px;
}
.wc-shell-inner > * + * { margin-top: 24px; }

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-notices-wrapper { margin-bottom: 24px; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
ul.woocommerce-error,
ul.woocommerce-info {
	position: relative;
	background: #1e3557;
	color: #fff;
	padding: 14px 56px 14px 18px;
	border-radius: 0;
	margin: 0 0 16px;
	list-style: none;
	font-size: 15px;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.woocommerce-message {
	border-left-color: #1e3557;
	border-top-color: #0f1f3a;
}
.woocommerce-info {
	border-left-color: #1e3557;
	border-top-color: #0f1f3a;
}
.woocommerce-error,
ul.woocommerce-error {
	border-left-color: #1e3557;
	border-top-color: #0f1f3a;
}

/* Skjul WC sine default ::before-ikoner */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
ul.woocommerce-error::before,
ul.woocommerce-info::before { display: none !important; }

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a { color: #fff; }
.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover { color: var(--color-warm); text-decoration: underline; }

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message a.wc-forward,
.woocommerce-info a.wc-forward,
.woocommerce-error a.wc-forward {
	background: var(--color-warm);
	color: #fff;
	padding: 8px 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	margin: 0;
	border: none;
	display: inline-block;
	flex-shrink: 0;
	transition: background .15s ease;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-message a.wc-forward:hover,
.woocommerce-info a.wc-forward:hover,
.woocommerce-error a.wc-forward:hover {
	background: #a91d1a;
	color: #fff;
	text-decoration: none;
}

.woocommerce-error li,
.woocommerce-info li {
	margin: 0;
	flex: 1 1 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

/* Dismiss-X (injisert av JS) */
.hrp-notice-dismiss {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: rgba(255, 255, 255, 0.7);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 6px;
	transition: color .15s ease, background .15s ease;
}
.hrp-notice-dismiss:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
}
.hrp-notice-dismiss:focus-visible {
	outline: 2px solid var(--color-warm);
	outline-offset: 1px;
}

.woocommerce-breadcrumb {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 24px;
}
.woocommerce-breadcrumb a {
	color: #fff;
	text-decoration: none;
}
.woocommerce-breadcrumb a:hover { color: var(--color-warm); }

/* Enkeltprodukt: full-bleed bilde venstre + summary høyre, beskrivelse sentrert */
body.single-product .wc-shell-inner {
	max-width: none;
	padding: 0;
}
body.single-product .wc-shell-inner > * + * { margin-top: 0; }

.hrp-single-product {
	color: #fff;
}
.hrp-product-hero {
	display: grid;
	grid-template-columns: 50vw minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
	margin-bottom: 64px;
}
.hrp-product-media {
	width: 100%;
	min-width: 0;
	height: 100%;
	min-height: 480px;
	position: relative;
	overflow: hidden;
}
.hrp-product-media .woocommerce-product-gallery {
	position: absolute !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	float: none !important;
	margin: 0 !important;
}
.hrp-product-media .woocommerce-product-gallery__wrapper {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}
.hrp-product-media .woocommerce-product-gallery__image {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	position: relative !important;
}
.hrp-product-media .woocommerce-product-gallery__image > a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}
.hrp-product-media img {
	width: 100% !important;
	height: 100% !important;
	display: block;
	border-radius: 0;
	object-fit: cover !important;
	object-position: center;
}
.hrp-product-media img.zoomImg { display: none !important; }
.hrp-product-media .woocommerce-product-gallery__trigger { display: none; }
.hrp-product-summary {
	padding: 64px 32px 64px 48px;
	max-width: 640px;
}
.hrp-product-summary .summary {
	width: auto;
	float: none;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
/* WC default sender summary til width: 48% — override på enkeltprodukt */
body.single-product.woocommerce div.product div.summary,
body.single-product.woocommerce-page div.product div.summary,
body.single-product .woocommerce div.product div.summary {
	width: auto;
	float: none;
}

.hrp-product-details {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 32px 80px;
}
.hrp-product-details-title {
	font-family: var(--font-sans);
	font-weight: 100;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 10px;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.hrp-product-summary .summary form.cart { order: 30; }
.hrp-product-summary .summary .hrp-product-toc { order: 31; }
.hrp-product-summary .summary .product_meta { order: 40; }

.hrp-product-toc ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.hrp-product-toc li { margin: 0; }
.hrp-product-toc a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	padding: 0;
	transition: color .15s ease, gap .15s ease;
}
.hrp-product-toc a::before {
	content: "";
	width: 14px;
	height: 3px;
	background: rgba(255, 255, 255, 0.4);
	transition: width .15s ease, background .15s ease;
}
.hrp-product-toc a:hover {
	color: #fff;
	text-decoration: none;
	gap: 14px;
}
.hrp-product-toc a:hover::before {
	width: 22px;
	background: #db2823;
}

body.page-template-produktsider .hrp-product-toc { margin-top: 20px; }

.hrp-product-details-body {
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.2;
	font-size: 16px;
}
.hrp-product-details-body h2,
.hrp-product-details-body h3,
.hrp-page-content--has-sidebar h2,
.hrp-page-content--has-sidebar h3 {
	scroll-margin-top: 24px;
	color: #fff;
	font-family: var(--font-sans);
	font-size: 26px;
	font-weight: 700;
	margin: 40px 0 10px;
}

html { scroll-behavior: smooth; }

/* Marker-strek foran h2/h3 — kun på WC-produktsider og produktsider med fremhevet bilde */
.hrp-product-details-body h2,
.hrp-product-details-body h3,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h2,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h3 {
	display: flex;
	align-items: center;
	gap: 14px;
}
.hrp-product-details-body h2::before,
.hrp-product-details-body h3::before,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h2::before,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h3::before {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 3px;
	background: rgba(255, 255, 255, 0.4);
	transition: background .2s ease, width .2s ease;
}
.hrp-product-details-body h2.is-active::before,
.hrp-product-details-body h2.is-hovered::before,
.hrp-product-details-body h3.is-active::before,
.hrp-product-details-body h3.is-hovered::before,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h2.is-active::before,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h2.is-hovered::before,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h3.is-active::before,
.hrp-product-body:not(.hrp-product-body--no-hero) .hrp-page-content--has-sidebar h3.is-hovered::before {
	background: #db2823;
	width: 22px;
}
.hrp-product-details-body p { margin: 0 0 14px; line-height: 1.3; }
.hrp-product-details-body ul,
.hrp-product-details-body ol { margin: 0 0 16px; padding-left: 22px; }
.hrp-product-details-body li { margin-bottom: 6px; }
.hrp-product-details-body li > p { margin-bottom: 0; }
.hrp-product-details-body a { color: #fff; text-decoration: underline; }
.hrp-product-details-body strong { color: #fff; }
.wc-shell-inner .product_title {
	font-family: var(--font-sans);
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
}
.wc-shell-inner .summary .price,
.wc-shell-inner .summary p.price {
	font-family: var(--font-sans);
	font-size: 21px !important;
	font-weight: 700;
	color: #fff !important;
	margin: 0;
}
.wc-shell-inner .summary .price *,
.wc-shell-inner .summary p.price * {
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit;
}
.wc-shell-inner .summary .price .woocommerce-Price-currencySymbol,
.wc-shell-inner .summary p.price .woocommerce-Price-currencySymbol {
	margin-right: 6px;
}
.wc-shell-inner bdi::after {
	content: ",-";
	color: #90a1b5;
	margin-left: 2px;
}
.wc-shell-inner .summary .price del { color: rgba(255, 255, 255, 0.5) !important; font-weight: 500; margin-right: 8px; }
.wc-shell-inner .summary .price ins { background: transparent; text-decoration: none; }
.wc-shell-inner .woocommerce-product-details__short-description {
	color: rgba(255, 255, 255, 0.85);
	font-size: 18px;
	line-height: 1.6;
}
.wc-shell-inner .woocommerce-product-details__short-description p {
	font-size: 18px;
}
.wc-shell-inner .woocommerce-product-details__short-description p { margin: 0 0 12px; }
.wc-shell-inner .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* Cart-form: skjul "antall" siden alle produktene er kurs */
.wc-shell-inner form.cart {
	display: flex;
	align-items: center;
	gap: 0;
	flex-wrap: wrap;
	margin: 8px 0 1em;
}
.wc-shell-inner form.cart .quantity { display: none; }
.woocommerce div.product form.cart,
.woocommerce-page div.product form.cart { margin-bottom: 1em; }
.wc-shell-inner .quantity input.qty:focus {
	outline: 2px solid var(--color-warm);
	outline-offset: 1px;
}

/* WC-knapper (add-to-cart + checkout + andre) */
.wc-shell-inner .button,
.wc-shell-inner .woocommerce-button,
.wc-shell-inner a.button.alt,
.wc-shell-inner button.button.alt,
.wc-shell-inner input[type="submit"].button {
	background: var(--color-warm);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 12px 22px;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background .15s ease;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.wc-shell-inner .button:hover,
.wc-shell-inner .woocommerce-button:hover,
.wc-shell-inner a.button.alt:hover,
.wc-shell-inner button.button.alt:hover,
.wc-shell-inner input[type="submit"].button:hover {
	background: #a91d1a;
	color: #fff;
	text-decoration: none;
}

.wc-shell-inner .product_meta {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.wc-shell-inner .product_meta a { color: #fff; }
.wc-shell-inner .product_meta .posted_in,
.wc-shell-inner .product_meta .tagged_as,
.wc-shell-inner .product_meta .sku_wrapper {
	display: block;
	margin-bottom: 20px;
}
.wc-shell-inner .product_meta .posted_in:last-child,
.wc-shell-inner .product_meta .tagged_as:last-child,
.wc-shell-inner .product_meta .sku_wrapper:last-child {
	margin-bottom: 0;
}
.wc-shell-inner .product_meta .posted_in strong,
.wc-shell-inner .product_meta .tagged_as strong,
.wc-shell-inner .product_meta .sku_wrapper strong {
	display: block;
	color: #fff;
	font-size: 14px;
	margin-bottom: 4px;
}

/* Tabs (Beskrivelse / Vurderinger) */
.wc-shell-inner .woocommerce-tabs {
	margin-top: 48px;
}
.wc-shell-inner .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 4px;
	padding: 0;
	margin: 0 0 24px;
	list-style: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.wc-shell-inner .woocommerce-tabs ul.tabs::before,
.wc-shell-inner .woocommerce-tabs ul.tabs::after,
.wc-shell-inner .woocommerce-tabs ul.tabs li::before,
.wc-shell-inner .woocommerce-tabs ul.tabs li::after { display: none; }
.wc-shell-inner .woocommerce-tabs ul.tabs li {
	margin: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
}
.wc-shell-inner .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 18px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.wc-shell-inner .woocommerce-tabs ul.tabs li.active a,
.wc-shell-inner .woocommerce-tabs ul.tabs li a:hover {
	color: #fff;
	border-bottom-color: var(--color-warm);
}
.wc-shell-inner .woocommerce-tabs .panel { color: rgba(255, 255, 255, 0.9); }
.wc-shell-inner .woocommerce-tabs .panel h2,
.wc-shell-inner .woocommerce-tabs .panel h3 {
	font-family: var(--font-sans);
	color: #fff;
	margin: 0 0 16px;
}
.wc-shell-inner .woocommerce-tabs .panel h2 { font-size: 22px; }
.wc-shell-inner .woocommerce-tabs .panel h3 { font-size: 18px; margin-top: 24px; }
.wc-shell-inner .woocommerce-tabs .panel a { color: #fff; text-decoration: underline; }

/* Shop-arkiv: produktrutenett */
.wc-shell-inner ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.wc-shell-inner ul.products::before,
.wc-shell-inner ul.products::after { display: none; }
.wc-shell-inner ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 14px;
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
	color: #fff;
}
.wc-shell-inner ul.products li.product a {
	display: block;
	color: #fff;
	text-decoration: none;
}
.wc-shell-inner ul.products li.product img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	margin: 0 !important;
	border-radius: 0;
}
.wc-shell-inner ul.products li.product .woocommerce-loop-product__title {
	padding: 16px 18px 4px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	margin: 0;
}
.wc-shell-inner ul.products li.product .price {
	padding: 0 18px 16px;
	color: #fff;
	font-weight: 700;
	font-size: 17px;
	display: block;
}
.wc-shell-inner ul.products li.product .button {
	margin: 0 18px 18px;
}

.wc-shell-inner .woocommerce-result-count,
.wc-shell-inner .woocommerce-ordering {
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
}

@media (max-width: 800px) {
	.wc-shell-inner { padding: 32px 24px; }
	body.single-product .wc-shell-inner { padding: 0; }
	.hrp-product-hero {
		grid-template-columns: 1fr;
		margin-bottom: 40px;
		align-items: start;
	}
	.hrp-product-media {
		min-height: 0;
		height: auto;
		aspect-ratio: 16 / 10;
	}
	.hrp-product-summary {
		padding: 32px 24px;
		max-width: none;
	}
	.hrp-product-details {
		padding: 0 24px 56px;
	}
}


/* ----- Generic page (page.php) ---------------------------------------- */

.hrp-page-hero {
	display: grid;
	grid-template-columns: 50vw minmax(0, 1fr);
	gap: 0;
	align-items: center;
	margin-bottom: 32px;
}
.hrp-page-hero-media {
	width: 100%;
	min-width: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.hrp-page-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.hrp-page-hero-summary {
	padding: 32px 32px 32px 48px;
	max-width: 640px;
}
.hrp-page-hero-summary h1 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0;
	max-width: 22ch;
	text-wrap: balance;
}

.hrp-page-head {
	width: 100%;
}
.hrp-page-head-inner {
	max-width: 1250px;
	margin: 0 auto;
	padding: 64px 32px 24px;
}
/* Produktsider uten fremhevet bilde, men med sidebar:
   h1 aligner med content sin venstre marg (30vw + 48px). */
.hrp-page-head--has-sidebar .hrp-page-head-inner {
	max-width: none;
	margin: 0;
	padding-left: calc(30vw + 48px);
	padding-right: 32px;
}
.hrp-page-head-inner h1 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0;
	max-width: 22ch;
	text-wrap: balance;
}

.hrp-page-content { width: 80%; padding-bottom: 80px; }

/* H1-tittel når fremhevet bilde mangler — rendres inni .hrp-page-content
   slik at den arver samme horisontale plassering som resten av content. */
.hrp-page-content-title {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 auto 24px;
	padding: 48px 32px 0;
	max-width: 800px;
	text-wrap: balance;
	box-sizing: border-box;
}
.hrp-page-content--has-sidebar .hrp-page-content-title {
	max-width: 800px;
	margin: 40px auto 14px;
	padding-left: 32px;
	padding-right: 32px;
	padding-top: 0;
}

/* Produktsider — sticky sidebar til venstre for content */
body.page-template-produktsider .hrp-page-hero { margin-bottom: 0; }

.hrp-product-body {
	display: grid;
	grid-template-columns: 30vw minmax(0, 1fr);
	gap: 0;
	align-items: start;
}
.hrp-product-side {
	align-self: start;
	width: 100%;
	position: sticky;
	top: 0;
	margin-top: 0;
}
body.page-template-produktsider .hrp-product-body--no-hero .hrp-product-side { margin-top: 72px; }
.hrp-product-side-inner {
	background: #1e3557;
	color: #fff;
	padding: 32px;
}
.hrp-product-side-inner > * { color: #fff; }
.hrp-product-side-inner p {
	color: rgba(255, 255, 255, 0.92);
	margin: 0 0 14px;
	line-height: 1.5;
}
.hrp-product-side-inner p:last-child { margin-bottom: 0; }
.hrp-product-side-inner h2,
.hrp-product-side-inner h3,
.hrp-product-side-inner h4 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.2;
}
.hrp-product-side-inner h2 { font-size: 22px; margin: 0 0 14px; }
.hrp-product-side-inner h3 { font-size: 18px; margin: 18px 0 8px; }
.hrp-product-side-inner h4 { font-size: 16px; margin: 14px 0 6px; }
.hrp-product-side-inner a { color: #fff; text-decoration: underline; }
.hrp-product-side-inner a:hover { color: var(--color-warm); }
.hrp-product-side-inner ul,
.hrp-product-side-inner ol { margin: 0 0 14px; padding-left: 20px; }
.hrp-product-side-inner li {
	margin-bottom: 6px;
	color: rgba(255, 255, 255, 0.92);
}
.hrp-product-side-inner strong { color: #fff; }
.hrp-product-side-cta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 24px 0 0 auto;
	width: fit-content;
	padding: 12px 22px;
	background: var(--color-warm);
	color: #fff !important;
	border-radius: 10px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none !important;
	transition: background .15s ease;
}
.hrp-product-side-cta i { font-size: 1.1em; line-height: 1; }
/* Hvis sidebar er tom og kun knappen vises: ingen topp-margin */
.hrp-product-side-inner > .hrp-product-side-cta:only-child {
	margin-top: 0;
}
.hrp-product-side-cta:hover {
	background: #a91d1a;
	color: #fff !important;
	text-decoration: none !important;
}

/* Content i høyre kolonne — fyller kolonnen, ikke 800px-constrain */
.hrp-page-content--has-sidebar {
	padding: 32px 32px 80px 48px;
}
.hrp-page-content--has-sidebar > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 800px) {
	.hrp-product-body {
		grid-template-columns: 1fr;
	}
	.hrp-product-side { position: static; margin-top: 0; }
	body.page-template-produktsider .hrp-product-body--no-hero .hrp-product-side { margin-top: 20px; }
	.hrp-page-content--has-sidebar { padding: 24px 24px 56px; }
}

/* Constrain rå tekst og standardblokker til lesbar bredde. */
.hrp-page-content > * {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 32px;
	padding-right: 32px;
	color: #fff;
	box-sizing: border-box;
}
/* Slipp .vAC / alignfull-blokker fri til full bredde. */
.hrp-page-content > .vAC,
.hrp-page-content > .alignfull,
.hrp-page-content > .wp-block-cover.alignfull {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.hrp-page-content p {
	font-size: 17px;
	line-height: 1.55;
	margin: 0 auto 16px;
	color: rgba(255, 255, 255, 0.92);
}
.hrp-page-content > h2,
.hrp-page-content > .wp-block-heading[class*="h2"],
.hrp-page-content h2.wp-block-heading {
	color: #fff;
	font-family: var(--font-sans);
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 40px auto 14px;
}
.hrp-page-content > h3,
.hrp-page-content h3.wp-block-heading {
	color: #fff;
	font-family: var(--font-sans);
	font-size: clamp(20px, 1.8vw, 22px);
	font-weight: 700;
	margin: 32px auto 12px;
}
.hrp-page-content > h4,
.hrp-page-content h4.wp-block-heading {
	color: #fff;
	font-family: var(--font-sans);
	font-size: 18px;
	font-weight: 700;
	margin: 24px auto 8px;
}
.hrp-page-content a {
	color: #fff;
	text-decoration: underline;
}
.hrp-page-content a:hover { color: var(--color-warm); }

/* Paragraf med kun en lenke → render som course-cat-pill */
.hrp-page-content p:has(> a:only-child) > a,
.hrp-page-content .wp-block-paragraph:has(> a:only-child) > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	background: transparent;
	border: 1.5px solid #fff;
	border-radius: 999px;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.2;
	transition: background .15s ease, color .15s ease;
}
.hrp-page-content p:has(> a:only-child) > a:hover,
.hrp-page-content .wp-block-paragraph:has(> a:only-child) > a:hover {
	background: #fff;
	color: var(--color-primary);
	text-decoration: none;
}
.hrp-page-content strong { color: #fff; }
.hrp-page-content > ul,
.hrp-page-content > ol {
	font-size: 17px;
	line-height: 1.55;
}
.hrp-page-content > ul li,
.hrp-page-content > ol li { margin-bottom: 6px; color: rgba(255, 255, 255, 0.92); }
.hrp-page-content > blockquote {
	border-left: 3px solid var(--color-warm);
	padding-left: 18px;
	font-style: italic;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.9);
}
.hrp-page-content > figure { margin: 24px auto; }
.hrp-page-content > figure img,
.hrp-page-content img { max-width: 100%; height: auto; display: block; }
.hrp-page-content > hr {
	border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	margin: 32px auto;
}

@media (max-width: 800px) {
	.hrp-page-head-inner,
	.hrp-page-head--has-sidebar .hrp-page-head-inner { padding: 48px 24px 20px; }
	.hrp-page-hero {
		grid-template-columns: 1fr;
		margin-bottom: 24px;
	}
	.hrp-page-hero-summary {
		padding: 24px;
		max-width: none;
	}
	.hrp-page-content { width: 100%; }
	.hrp-page-content > * { padding-left: 24px; padding-right: 24px; }
	.hrp-page-content > .vAC,
	.hrp-page-content > .alignfull { padding-left: 0; padding-right: 0; }
}


/* ----- ECT minimal list (eventlist på sider) -------------------------- */

#ect-events-minimal-list-content {
	background: #1e3557;
	color: #fff;
	padding: 30px;
	box-sizing: border-box;
}
.ect-minimal-list-wrapper {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.ect-minimal-list-wrapper .ect-list-posts {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.ect-minimal-list-wrapper .ect-list-posts:first-child { padding-top: 0; }
.ect-minimal-list-wrapper .ect-list-posts:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
.ect-minimal-list-wrapper .ect-event-date {
	flex-shrink: 0;
	width: 70px;
	min-height: 70px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px 8px;
	background: #da2721;
	border: none;
	text-align: center;
}
.ect-minimal-list-wrapper .ect-event-date .ect-date-viewport {
	color: #fff;
	font-family: var(--font-sans);
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}
.ect-minimal-list-wrapper .ect-event-date .ect-month {
	color: rgba(255, 255, 255, 0.7);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-top: 6px;
}
.ect-minimal-list-wrapper .ect-right-wrapper {
	flex: 1;
	min-width: 0;
}
.ect-minimal-list-wrapper .ect-event-title { display: block; }
.ect-minimal-list-wrapper .ect-event-title .ect-event-url {
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	display: inline-block;
	transition: color .15s ease;
}
.ect-minimal-list-wrapper .ect-event-title .ect-event-url:hover {
	color: var(--color-warm);
	text-decoration: underline;
}
/* Overstyr ECT plugin sin default svart-tekst på event-titler */
#ect-minimal-list-wrp .style-2 span.ect-event-title a,
#ect-minimal-list-wrp.style-2 span.ect-event-title a {
	color: #fff !important;
}
#ect-minimal-list-wrp .style-2 span.ect-event-title a:hover {
	color: var(--color-warm) !important;
}


/* ----- Single Event (Tribe Events Calendar) --------------------------- */

#tribe-events-pg-template.tribe-events-pg-template,
.tribe-events-pg-template {
	max-width: 800px;
	margin: 0 auto;
	padding: 48px 32px 80px;
	color: #fff;
	width: 80%;
	box-sizing: border-box;
}
.tribe-events-pg-template .tribe-events-ajax-loading { display: none; }
.tribe-events-pg-template .tribe-events-before-html,
.tribe-events-pg-template .tribe-events-after-html { display: none; }

.tribe-events-pg-template .tribe-events-back {
	margin: 0 0 24px;
	font-size: 14px;
}
.tribe-events-pg-template .tribe-events-back a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	transition: color .15s ease;
}
.tribe-events-pg-template .tribe-events-back a:hover {
	color: #fff;
	text-decoration: underline;
}

.tribe-events-pg-template .tribe-events-single-event-title {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 18px;
	text-wrap: balance;
}

.tribe-events-pg-template .tribe-events-schedule {
	background: #1e3557;
	color: #fff;
	padding: 14px 18px;
	margin: 0 0 32px;
	font-size: 15px;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.tribe-events-pg-template .tribe-events-schedule p {
	margin: 0;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	color: #fff;
}
.tribe-events-pg-template .tribe-events-schedule__date,
.tribe-events-pg-template .tribe-events-schedule__time,
.tribe-events-pg-template .tribe-events-schedule__separator,
.tribe-events-pg-template .tribe-events-schedule__datetime,
.tribe-events-pg-template .tribe-events-schedule__all-day {
	color: #fff !important;
	font-weight: 600;
}
.tribe-events-pg-template .tribe-events-schedule__all-day {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: rgba(255, 255, 255, 0.15);
	padding: 4px 10px;
}

/* Event content (block-baserte paragrafer, overskrifter, lister) */
.tribe-events-pg-template .wp-block-paragraph,
.tribe-events-pg-template p.wp-block-paragraph {
	color: rgba(255, 255, 255, 0.92);
	font-size: 17px;
	line-height: 1.55;
	margin: 0 0 16px;
}
.tribe-events-pg-template .wp-block-heading,
.tribe-events-pg-template h2.wp-block-heading {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.15;
}
.tribe-events-pg-template h2.wp-block-heading { font-size: clamp(22px, 2vw, 26px); margin: 40px 0 12px; }
.tribe-events-pg-template h3.wp-block-heading { font-size: clamp(18px, 1.6vw, 20px); margin: 28px 0 10px; }
.tribe-events-pg-template .wp-block-list,
.tribe-events-pg-template ul.wp-block-list {
	color: rgba(255, 255, 255, 0.92);
	font-size: 17px;
	line-height: 1.55;
	margin: 0 0 16px;
	padding-left: 22px;
}
.tribe-events-pg-template .wp-block-list li { margin-bottom: 6px; }
.tribe-events-pg-template a:not(.tribe-common-c-btn):not(.tribe-tickets__tickets-buy):not(.tribe-common-c-btn-link):not(.tribe-tickets__attendee-tickets-submit) {
	color: #fff;
	text-decoration: underline;
}
.tribe-events-pg-template a:not(.tribe-common-c-btn):not(.tribe-tickets__tickets-buy):not(.tribe-common-c-btn-link):not(.tribe-tickets__attendee-tickets-submit):hover {
	color: var(--color-warm);
}
.tribe-events-pg-template strong { color: #fff; }

/* "Billetter er ikke lengre tilgjengelig"-melding — svart tekst */
.tribe-events-pg-template .tribe-tickets__tickets-item-content--inactive,
body.single-tribe_events .tribe-tickets__tickets-item-content--inactive {
	color: #000 !important;
}

/* Footer-navigasjon (prev / next) — skjult */
.tribe-events-pg-template #tribe-events-footer { display: none; }

@media (max-width: 800px) {
	#tribe-events-pg-template.tribe-events-pg-template,
	.tribe-events-pg-template { width: 100%; padding: 32px 24px 56px; }
}


/* ----- Single blog post (single.php) --------------------------------- */

.hrp-post-hero {
	width: 100%;
	max-width: 1250px;
	margin: 0 auto;
	padding: 48px 32px 0;
}
.hrp-post-hero-media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.hrp-post-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hrp-post-content {
	max-width: 800px;
	margin: 0 auto;
	padding: 48px 32px 80px;
	color: #fff;
}
.hrp-post-header {
	margin-bottom: 28px;
}
.hrp-post-title {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 14px;
	text-wrap: balance;
}
.hrp-post-date {
	display: inline-block;
	color: rgba(255, 255, 255, 0.65);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.hrp-post-content .hrp-post-ingress,
p.hrp-post-ingress {
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	margin: 0 0 20px;
	padding-left: 18px;
	border-left: 3px solid var(--color-warm);
}

.hrp-post-body {
	color: rgba(255, 255, 255, 0.92);
	font-size: 17px;
	line-height: 1.65;
}
.hrp-post-body p { margin: 0 0 16px; }
.hrp-post-body h2 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(22px, 2.2vw, 28px);
	margin: 40px 0 14px;
	letter-spacing: -0.01em;
}
.hrp-post-body h3 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: clamp(19px, 1.8vw, 22px);
	margin: 32px 0 12px;
}
.hrp-post-body h4 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 18px;
	margin: 24px 0 10px;
}
.hrp-post-body a { color: #fff; text-decoration: underline; }
.hrp-post-body a:hover { color: var(--color-warm); }
.hrp-post-body strong { color: #fff; }
.hrp-post-body ul,
.hrp-post-body ol { margin: 0 0 16px; padding-left: 22px; }
.hrp-post-body li { margin-bottom: 6px; }
.hrp-post-body img { max-width: 100%; height: auto; }
.hrp-post-body figure { margin: 24px 0; }
.hrp-post-body blockquote {
	border-left: 3px solid var(--color-warm);
	padding-left: 18px;
	margin: 24px 0;
	font-style: italic;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.9);
}
.hrp-post-body hr {
	border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	margin: 32px 0;
}

@media (max-width: 800px) {
	.hrp-post-hero { padding: 32px 24px 0; }
	.hrp-post-content { padding: 32px 24px 56px; }
	.hrp-post-ingress { font-size: 18px; padding-left: 14px; }
	.hrp-post-body { font-size: 16px; }
}


/* ----- Cart (handlekurv) ---------------------------------------------- */

body.woocommerce-cart .wc-shell-inner > * + * { margin-top: 24px; }

.woocommerce-cart-form__contents,
.woocommerce-cart-form__contents th,
.woocommerce-cart-form__contents td,
.woocommerce-cart-form__contents tr {
	background: transparent !important;
	color: #fff;
	border-radius: 0;
}
.woocommerce-cart-form__contents { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form__contents thead th {
	color: rgba(255, 255, 255, 0.65);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 12px 12px;
	text-align: left;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.woocommerce-cart-form__contents tbody td {
	padding: 18px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	vertical-align: middle;
}
.woocommerce-cart-form__contents .product-thumbnail { width: 110px; }
.woocommerce-cart-form__contents .product-thumbnail img {
	max-width: 90px;
	height: auto;
	display: block;
	border-radius: 4px;
}
.woocommerce-cart-form__contents .product-name a {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
}
.woocommerce-cart-form__contents .product-name a:hover {
	color: var(--color-warm);
	text-decoration: underline;
}
.woocommerce-cart-form__contents .product-remove a.remove {
	color: rgba(255, 255, 255, 0.55) !important;
	background: transparent !important;
	width: 26px;
	height: 26px;
	font-size: 22px;
	line-height: 26px;
	text-align: center;
	border-radius: 50%;
	display: inline-block;
	transition: color .15s ease, background .15s ease;
}
.woocommerce-cart-form__contents .product-remove a.remove:hover {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.12) !important;
}

/* Skjul antall-kolonnen siden alle produkter er sold_individually */
.woocommerce-cart-form__contents th.product-quantity,
.woocommerce-cart-form__contents td.product-quantity { display: none; }

/* Actions-rad (rabattkode + oppdater) */
.woocommerce-cart-form__contents tr td.actions {
	padding: 24px 0;
	border-bottom: none;
}
.woocommerce-cart-form__contents .coupon {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-right: 16px;
}
.woocommerce-cart-form__contents .coupon input.input-text {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #fff;
	padding: 10px 14px;
	border-radius: 8px;
	font: inherit;
	min-width: 180px;
}
.woocommerce-cart-form__contents .coupon input.input-text::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

/* Knapper i cart */
body.woocommerce-cart .wc-shell-inner .button,
body.woocommerce-cart .wc-shell-inner input[type="submit"].button,
body.woocommerce-cart .wc-shell-inner button.button {
	background: var(--color-warm);
	color: #fff;
	padding: 10px 18px;
	border-radius: 8px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	text-decoration: none;
	font-size: 14px;
	transition: background .15s ease;
	display: inline-block;
}
body.woocommerce-cart .wc-shell-inner .button:hover,
body.woocommerce-cart .wc-shell-inner input[type="submit"].button:hover,
body.woocommerce-cart .wc-shell-inner button.button:hover {
	background: #a91d1a;
	color: #fff;
}
body.woocommerce-cart .wc-shell-inner .button:disabled,
body.woocommerce-cart .wc-shell-inner input[type="submit"].button:disabled,
body.woocommerce-cart .wc-shell-inner button.button:disabled {
	background: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.45);
	cursor: not-allowed;
}

/* Cart-totals (oppsummering) */
.cart-collaterals { margin-top: 24px; }
.cart-collaterals .cart_totals { width: 100%; max-width: 480px; margin-left: auto; }
.cart-collaterals .cart_totals h2 {
	color: #fff;
	font-family: var(--font-sans);
	font-weight: 100;
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: 0.08em;
	margin: 0 0 14px;
}
.cart-collaterals .cart_totals table,
.cart-collaterals .cart_totals table th,
.cart-collaterals .cart_totals table td {
	background: transparent !important;
	color: #fff;
	border: none;
	font-size: 15px;
}
.cart-collaterals .cart_totals table { width: 100%; border-collapse: collapse; }
.cart-collaterals .cart_totals table th {
	font-weight: 500;
	padding: 12px 0;
	text-align: left;
}
.cart-collaterals .cart_totals table td {
	padding: 12px 0;
	text-align: right;
}
.cart-collaterals .cart_totals tbody tr { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.cart-collaterals .cart_totals tr.order-total th,
.cart-collaterals .cart_totals tr.order-total td {
	font-size: 18px;
	font-weight: 700;
	padding-top: 16px;
}

.wc-proceed-to-checkout { margin-top: 24px; }
.wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--color-warm);
	color: #fff;
	padding: 14px 24px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	transition: background .15s ease;
}
.wc-proceed-to-checkout .checkout-button:hover {
	background: #a91d1a;
	color: #fff;
	text-decoration: none;
}

@media (max-width: 700px) {
	.woocommerce-cart-form__contents .product-thumbnail { width: 80px; }
	.woocommerce-cart-form__contents .product-thumbnail img { max-width: 64px; }
	.woocommerce-cart-form__contents thead { display: none; }
	.woocommerce-cart-form__contents .coupon { display: flex; flex-wrap: wrap; margin: 0 0 12px; }
	.cart-collaterals .cart_totals { max-width: none; }
}


/* ----- Responsive ------------------------------------------------------ */

@media (max-width: 800px) {
	.hero-grid { grid-template-columns: 1fr; gap: 32px; }
	.banner-inner { grid-template-columns: 1fr; gap: 20px; text-align: left; justify-items: start; }
	.banner-inner .banner-mark,
	.banner-inner .banner-mark--logo {
		justify-self: start;
		justify-content: flex-start;
	}
}

@media (max-width: 700px) {
	.nav-toggle { display: inline-flex; }

	/* Hovedmenyen skjules og felles ut som panel under topbaren ved trykk. */
	.topnav { display: none; }
	.topnav.is-open {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 50;
		background: var(--color-primary);
		padding: 4px 32px 18px;
		box-shadow: 0 14px 26px rgba(0, 0, 0, 0.20);
	}
	.topnav.is-open .topnav-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.topnav.is-open .topnav-menu > li { position: static; }
	.topnav.is-open .topnav-menu > li > a {
		display: block;
		padding: 14px 2px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.10);
	}
	/* Undermenyer vises statisk utvidet i mobilpanelet (ingen hover). */
	.topnav.is-open .sub-menu {
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		min-width: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 0 8px 14px !important;
	}
	.topnav.is-open .sub-menu a {
		padding: 10px 2px !important;
		color: rgba(255, 255, 255, 0.85) !important;
	}

	.contact-form { grid-template-columns: 1fr; }
	.foot-inner { grid-template-columns: 1fr; }
	.foot-cols { grid-template-columns: 1fr 1fr; }
}


/* ==========================================================================
   The Events Calendar (Tribe) — match HRP Academy front-page styling.
   Scopet under body.tribe-events-page-template + !important for å vinne
   over Tribes egne stilark som loades før vår theme.css.
   ========================================================================== */

body.tribe-events-page-template {
	background: #3b5c7f;
}

/* Sørg for at Tribe-siden bruker våre fonter overalt */
body.tribe-events-page-template .tribe-common,
body.tribe-events-page-template .tribe-events,
body.tribe-events-page-template .tribe-common * {
	font-family: var(--font-sans) !important;
}

/* Container — gi kalenderen samme bredde som hero */
body.tribe-events-page-template .tribe-common-l-container,
body.tribe-events-page-template .tribe-events-l-container {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 48px 32px !important;
	background: transparent !important;
}

/* "Det er ingen kommende arrangementer" — hvit pille */
body.tribe-events-page-template .tribe-events-c-messages,
body.tribe-events-page-template .tribe-events-header__messages {
	margin-bottom: 16px !important;
}
body.tribe-events-page-template .tribe-events-c-messages__message {
	background: #fff !important;
	color: var(--color-primary) !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 18px 22px !important;
	font-weight: 600 !important;
}
body.tribe-events-page-template .tribe-events-c-messages__message-list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.tribe-events-page-template .tribe-events-c-messages__message-list-item {
	color: inherit !important;
	font-size: 15px !important;
}

/* Events bar (søk + visningsvelger) */
body.tribe-events-page-template .tribe-events-c-events-bar {
	background: #fff !important;
	border-radius: 16px !important;
	padding: 12px 16px !important;
	border: 0 !important;
	box-shadow: 0 1px 0 rgba(29,53,87,0.06) !important;
}
body.tribe-events-page-template .tribe-events-c-events-bar__search-button {
	color: var(--color-primary) !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-c-events-bar__search-button:hover,
body.tribe-events-page-template .tribe-events-c-events-bar__search-button:focus {
	color: var(--color-warm) !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-c-events-bar__search-button-icon-svg .tribe-common-c-svgicon__svg-fill,
body.tribe-events-page-template .tribe-events-c-events-bar__search-button-icon-svg path {
	fill: currentColor !important;
}

/* Søke-input */
body.tribe-events-page-template .tribe-events-c-search__input-control {
	position: relative !important;
}
body.tribe-events-page-template .tribe-events-c-search__input-control-icon-svg {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 16px !important;
	height: 16px !important;
	pointer-events: none !important;
	fill: rgba(29, 53, 87, 0.5) !important;
}
body.tribe-events-page-template .tribe-events-c-search__input-control-icon-svg path { fill: inherit !important; }
body.tribe-events-page-template .tribe-events-c-search__input,
body.tribe-events-page-template .tribe-common-form-control-text__input {
	font-family: var(--font-sans) !important;
	font-size: 15px !important;
	border: 1px solid var(--color-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--color-text) !important;
	padding: 10px 40px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
body.tribe-events-page-template .tribe-events-c-search__input:focus,
body.tribe-events-page-template .tribe-common-form-control-text__input:focus {
	border-color: var(--color-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(29,53,87,0.08) !important;
}

/* Søke-knapp + alle .tribe-common-c-btn = oransje CTA */
body.tribe-events-page-template .tribe-events-c-search__button,
body.tribe-events-page-template .tribe-common-c-btn,
body.tribe-events-page-template .tribe-common-c-btn-border {
	background: var(--color-warm) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: var(--font-sans) !important;
	font-weight: 600 !important;
	padding: 12px 22px !important;
	transition: background .15s, transform .15s !important;
	box-shadow: none !important;
}
body.tribe-events-page-template .tribe-events-c-search__button { margin-left: 10px !important; }
body.tribe-events-page-template .tribe-events-c-search__button:hover,
body.tribe-events-page-template .tribe-common-c-btn:hover,
body.tribe-events-page-template .tribe-common-c-btn-border:hover {
	background: #1e3557 !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
}

/* Visningsvelger (Liste / Måned / Dag) */
body.tribe-events-page-template .tribe-events-c-view-selector__button {
	background: transparent !important;
	color: var(--color-primary) !important;
	border: 1.5px solid var(--color-primary) !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	font-family: var(--font-sans) !important;
	font-weight: 600 !important;
	box-shadow: none !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__button:hover {
	background: var(--color-primary) !important;
	color: #fff !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__button-icon-caret-svg .tribe-common-c-svgicon__svg-fill {
	fill: currentColor !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__list {
	background: #fff !important;
	border-radius: 12px !important;
	border: 1px solid var(--color-line) !important;
	box-shadow: 0 8px 24px rgba(29,53,87,0.12) !important;
	padding: 6px !important;
	list-style: none !important;
	margin: 6px 0 0 !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__list-item {
	margin: 0 !important;
	padding: 0 !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__list-item-link {
	color: var(--color-primary) !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-weight: 600 !important;
	background: transparent !important;
	text-decoration: none !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__list-item-link:hover,
body.tribe-events-page-template .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
	background: transparent !important;
	color: var(--color-warm) !important;
}
body.tribe-events-page-template .tribe-events-c-view-selector__list-item-icon-svg .tribe-common-c-svgicon__svg-fill {
	fill: currentColor !important;
}

/* Top bar (datovelger / prev-next / "I dag") */
body.tribe-events-page-template .tribe-events-c-top-bar {
	margin-top: 22px !important;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__datepicker-button {
	font-family: var(--font-sans) !important;
	font-weight: 700 !important;
	color: #fff !important;
	font-size: clamp(20px, 2vw, 26px) !important;
	letter-spacing: -0.01em !important;
	background: transparent !important;
	border: 0 !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__datepicker-mobile,
body.tribe-events-page-template .tribe-events-c-top-bar__datepicker-desktop {
	color: #fff !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__datepicker-button-icon-svg .tribe-common-c-svgicon__svg-fill {
	fill: #fff !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__today-button {
	background: transparent !important;
	color: #fff !important;
	border: 1.5px solid rgba(255,255,255,0.6) !important;
	border-radius: 10px !important;
	padding: 8px 14px !important;
	font-family: var(--font-sans) !important;
	font-weight: 600 !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__today-button:hover {
	background: #fff !important;
	color: var(--color-primary) !important;
	border-color: #fff !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link {
	color: #fff !important;
	background: transparent !important;
	border: 1.5px solid rgba(255,255,255,0.4) !important;
	border-radius: 999px !important;
	width: 38px !important;
	height: 38px !important;
	padding: 0 !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link:hover:not([disabled]) {
	background: #fff !important;
	color: var(--color-primary) !important;
	border-color: #fff !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link[disabled] {
	opacity: .4 !important;
}
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link-icon-svg path,
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link-icon-svg .tribe-common-c-svgicon__svg-fill {
	fill: currentColor !important;
}

/* "Sist avholdte arrangementer"-overskrift */
body.tribe-events-page-template .tribe-events-calendar-latest-past__heading,
body.tribe-events-page-template .tribe-events-calendar-latest-past__heading.tribe-common-h5,
body.tribe-events-page-template .tribe-events-calendar-latest-past__heading.tribe-common-h3--min-medium {
	font-family: var(--font-sans) !important;
	font-weight: 700 !important;
	color: #fff !important;
	font-size: clamp(26px, 3vw, 36px) !important;
	letter-spacing: -0.02em !important;
	line-height: 1.05 !important;
	margin: 48px 0 24px !important;
}

/* Eventkort — rad med dato-tag + kort */
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-row {
	margin-bottom: 20px !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event {
	background: #fff !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	border: 0 !important;
	padding: 0 !important;
}

/* Datolapp til venstre — primærblå pille med hvit tekst */
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag {
	padding-top: 4px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag-datetime {
	background: var(--color-primary) !important;
	color: #fff !important;
	border-radius: 12px !important;
	padding: 14px 12px !important;
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	min-width: 80px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag-month {
	font-family: var(--font-mono) !important;
	font-size: 12px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	opacity: .8 !important;
	color: #fff !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag-daynum,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag-daynum.tribe-common-h5,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag-daynum.tribe-common-h4--min-medium {
	font-family: var(--font-sans) !important;
	font-weight: 700 !important;
	font-size: 30px !important;
	line-height: 1 !important;
	margin: 4px 0 !important;
	color: #fff !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-date-tag-year {
	font-size: 11px !important;
	opacity: .7 !important;
	font-family: var(--font-mono) !important;
	letter-spacing: 0.08em !important;
	color: #fff !important;
}

/* Eventbilde — fyll hele wrapperen */
body.tribe-events-page-template .tribe-events-calendar-latest-past__event {
	align-items: stretch !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-featured-image-wrapper {
	overflow: hidden !important;
	align-self: stretch !important;
	padding: 0 !important;
	display: block !important;
	min-height: 200px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-featured-image-link {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-featured-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* Tittel + meta inni event-kort */
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-details {
	padding: 18px 22px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-title,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-title.tribe-common-h6,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-title.tribe-common-h4--min-medium {
	font-family: var(--font-sans) !important;
	font-weight: 700 !important;
	font-size: clamp(18px, 1.6vw, 22px) !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
	margin: 6px 0 8px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-title-link,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-title-link.tribe-common-anchor-thin {
	color: var(--color-primary) !important;
	text-decoration: none !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-title-link:hover {
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	color: var(--color-primary) !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-datetime,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-datetime-wrapper {
	color: var(--color-muted) !important;
	font-size: 14px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-datetime-wrapper.tribe-common-b2 {
	font-family: var(--font-sans) !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-venue {
	color: var(--color-muted) !important;
	font-size: 14px !important;
	font-style: normal !important;
	margin-top: 4px !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-venue-title,
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-venue-title.tribe-common-b2--bold {
	color: var(--color-text) !important;
	font-weight: 600 !important;
}
body.tribe-events-page-template .tribe-events-calendar-latest-past__event-venue-address {
	color: var(--color-muted) !important;
}

/* Pris-pille — oransje CTA */
body.tribe-events-page-template .tribe-events-c-small-cta {
	margin-top: 12px !important;
	display: inline-flex !important;
}
body.tribe-events-page-template .tribe-events-c-small-cta__price {
	background: var(--color-warm) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 6px 14px !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.01em !important;
}

/* Loader-animasjonens prikker — bruk primary i stedet for default */
body.tribe-events-page-template .tribe-common-c-loader__dot circle {
	fill: var(--color-primary) !important;
}

/* Etter-kalender-html (iCal-eksportlenker hvis Tribe rendrer dem) */
body.tribe-events-page-template .tribe-events-after-html {
	color: rgba(255,255,255,0.7) !important;
	font-size: 13px !important;
	padding: 16px 0 !important;
}

/* ----- List view (kurskalender/liste) — clean, lys tekst, ingen kort  -- */

body.tribe-events-page-template .tribe-events-calendar-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 24px 0 0 !important;
}

/* Måned-separator */
body.tribe-events-page-template .tribe-events-calendar-list__month-separator {
	margin: 36px 0 16px !important;
	padding: 0 !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__month-separator:first-child { margin-top: 0 !important; }
body.tribe-events-page-template .tribe-events-calendar-list__month-separator h3 {
	margin: 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 1px solid rgba(255,255,255,0.15) !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__month-separator-text,
body.tribe-events-page-template .tribe-events-calendar-list__month-separator-text.tribe-common-h7,
body.tribe-events-page-template .tribe-events-calendar-list__month-separator-text.tribe-common-h6--min-medium {
	font-family: var(--font-sans) !important;
	font-weight: 100 !important;
	text-transform: uppercase !important;
	font-size: 16px !important;
	letter-spacing: 0.08em !important;
	color: #fff !important;
	background: transparent !important;
}

/* Event-rad: dato-tag + content side-by-side, kun en tynn divider mellom */
body.tribe-events-page-template .tribe-events-calendar-list__event-row {
	display: grid !important;
	grid-template-columns: 84px 1fr !important;
	gap: 20px !important;
	align-items: flex-start !important;
	padding: 18px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.08) !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-row:last-of-type { border-bottom: none !important; }

/* Dato-tag (venstre): "tor" + "4" */
body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-datetime {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	color: #fff !important;
	gap: 4px !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-weekday {
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: rgba(255,255,255,0.6) !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-daynum,
body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5,
body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h4--min-medium {
	font-family: var(--font-sans) !important;
	font-weight: 700 !important;
	font-size: 36px !important;
	line-height: 1 !important;
	color: #fff !important;
	background: transparent !important;
}

/* Event-wrapper (høyre) */
body.tribe-events-page-template .tribe-events-calendar-list__event-wrapper {
	padding: 0 !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	display: block !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-details {
	padding: 0 !important;
}

/* Tittel */
body.tribe-events-page-template .tribe-events-calendar-list__event-header {
	margin-bottom: 8px !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-title,
body.tribe-events-page-template .tribe-events-calendar-list__event-title.tribe-common-h6,
body.tribe-events-page-template .tribe-events-calendar-list__event-title.tribe-common-h4--min-medium {
	font-family: var(--font-sans) !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 4px !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-title-link,
body.tribe-events-page-template .tribe-events-calendar-list__event-title-link.tribe-common-anchor-thin {
	color: #fff !important;
	text-decoration: none !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-title-link:hover {
	color: var(--color-warm) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
}

/* Dato/tid */
body.tribe-events-page-template .tribe-events-calendar-list__event-datetime-wrapper,
body.tribe-events-page-template .tribe-events-calendar-list__event-datetime-wrapper.tribe-common-b2 {
	color: rgba(255,255,255,0.7) !important;
	font-size: 14px !important;
	font-family: var(--font-sans) !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-datetime {
	color: inherit !important;
}

/* Beskrivelse (vises som dempet hvit tekst under tittel/tid) */
body.tribe-events-page-template .tribe-events-calendar-list__event-description,
body.tribe-events-page-template .tribe-events-calendar-list__event-description.tribe-common-a11y-hidden {
	clip: auto !important;
	clip-path: none !important;
	width: auto !important;
	height: auto !important;
	position: static !important;
	overflow: visible !important;
	margin: 8px 0 0 !important;
}
body.tribe-events-page-template .tribe-events-calendar-list__event-description p {
	color: rgba(255,255,255,0.85) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	font-family: var(--font-sans) !important;
}

/* Pris + Bestill billetter (small-cta) */
body.tribe-events-page-template .tribe-events-calendar-list__event-cost,
body.tribe-events-page-template .tribe-events-calendar-list .tribe-events-c-small-cta {
	margin-top: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-calendar-list .tribe-events-c-small-cta__link,
body.tribe-events-page-template .tribe-events-calendar-list .tribe-events-c-small-cta__link.tribe-common-cta--thin-alt {
	background: var(--color-warm) !important;
	color: #fff !important;
	border-radius: 8px !important;
	padding: 8px 16px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-decoration: none !important;
	transition: background .15s ease !important;
	border: 0 !important;
}
body.tribe-events-page-template .tribe-events-calendar-list .tribe-events-c-small-cta__link:hover {
	background: #a91d1a !important;
	color: #fff !important;
	text-decoration: none !important;
}
body.tribe-events-page-template .tribe-events-calendar-list .tribe-events-c-small-cta__price {
	background: transparent !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	padding: 0 !important;
	border-radius: 0 !important;
	letter-spacing: 0 !important;
}
body.tribe-events-page-template .tribe-events-calendar-list .tribe-events-c-small-cta__stock {
	color: rgba(255,255,255,0.6) !important;
	font-size: 13px !important;
}

/* Bunn-nav (Forrige / I dag / Neste) */
body.tribe-events-page-template .tribe-events-calendar-list-nav,
body.tribe-events-page-template .tribe-events-c-nav {
	margin-top: 32px !important;
	padding-top: 18px !important;
	border-top: 1px solid rgba(255,255,255,0.15) !important;
	background: transparent !important;
}
body.tribe-events-page-template .tribe-events-c-nav__list {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}
body.tribe-events-page-template .tribe-events-c-nav__list-item { margin: 0 !important; }
body.tribe-events-page-template .tribe-events-c-nav__prev,
body.tribe-events-page-template .tribe-events-c-nav__next,
body.tribe-events-page-template .tribe-events-c-nav__today {
	background: transparent !important;
	color: rgba(255,255,255,0.85) !important;
	border: 1px solid rgba(255,255,255,0.25) !important;
	border-radius: 8px !important;
	padding: 8px 14px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-decoration: none !important;
	transition: background .15s ease, border-color .15s ease, color .15s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}
body.tribe-events-page-template .tribe-events-c-nav__prev:hover:not([disabled]),
body.tribe-events-page-template .tribe-events-c-nav__next:hover:not([disabled]),
body.tribe-events-page-template .tribe-events-c-nav__today:hover {
	background: rgba(255,255,255,0.1) !important;
	border-color: rgba(255,255,255,0.5) !important;
	color: #fff !important;
}
body.tribe-events-page-template .tribe-events-c-nav__next[disabled],
body.tribe-events-page-template .tribe-events-c-nav__prev[disabled] {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
}
body.tribe-events-page-template .tribe-events-c-nav__prev-icon-svg,
body.tribe-events-page-template .tribe-events-c-nav__next-icon-svg,
body.tribe-events-page-template .tribe-events-c-nav__prev-icon-svg path,
body.tribe-events-page-template .tribe-events-c-nav__next-icon-svg path,
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link-icon-svg,
body.tribe-events-page-template .tribe-events-c-top-bar__nav-link-icon-svg path { fill: #fff !important; }

/* "Abonner på kalender"-dropdown */
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__container {
	margin-top: 24px !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__button {
	background: transparent !important;
	border: 1px solid rgba(255,255,255,0.25) !important;
	border-radius: 8px !important;
	padding: 8px 14px !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__button-text {
	color: rgba(255,255,255,0.85) !important;
	background: transparent !important;
	font-weight: 600 !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__button-icon .tribe-common-c-svgicon__svg-fill {
	fill: currentColor !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__content {
	background: #fff !important;
	border-radius: 10px !important;
	margin-top: 6px !important;
	box-shadow: 0 12px 30px -10px rgba(0,0,0,0.3) !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__list {
	list-style: none !important;
	padding: 6px !important;
	margin: 0 !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__list-item-link {
	color: var(--color-primary) !important;
	padding: 8px 14px !important;
	display: block !important;
	border-radius: 6px !important;
	text-decoration: none !important;
}
body.tribe-events-page-template .tribe-events-c-subscribe-dropdown__list-item-link:hover {
	background: rgba(29,53,87,0.06) !important;
}

@media (max-width: 700px) {
	body.tribe-events-page-template .tribe-events-calendar-list__event-row {
		grid-template-columns: 70px 1fr !important;
		gap: 14px !important;
	}
	body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-daynum,
	body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5,
	body.tribe-events-page-template .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h4--min-medium {
		font-size: 30px !important;
	}
}


/* ==========================================================================
   Responsive Menu (RMP) — hamburger-trigger + slide-in mobilmeny.
   IDene har et numerisk suffix per instans (13976), så vi treffer dem via
   attribute-selectors slik at stilene fungerer uavhengig av menu-ID.
   ========================================================================== */

/* Hamburger-trigger — matcher topbar-paletten */
[id^="rmp_menu_trigger-"] {
	background: var(--color-primary) !important;
	border-radius: 10px !important;
	width: 48px !important;
	height: 48px !important;
	top: 14px !important;
	right: 16px !important;
	border: 0 !important;
	box-shadow: none !important;
	transition: background .2s, transform .2s !important;
}
[id^="rmp_menu_trigger-"]:hover,
[id^="rmp_menu_trigger-"]:focus,
[id^="rmp_menu_trigger-"]:focus-visible {
	background: var(--color-warm) !important;
	text-decoration: none !important;
	outline: none !important;
}
/* Hamburger-streker (RMP rendrer en <span class="rmp-menu-trigger-icon-line"> stack) */
[id^="rmp_menu_trigger-"] .rmp-menu-trigger-icon,
[id^="rmp_menu_trigger-"] .rmp-menu-trigger-icon-line {
	background-color: #fff !important;
	color: #fff !important;
}

/* Slide-in container */
[id^="rmp-container-"].rmp-container {
	background-color: var(--color-primary) !important;
	background-image: none !important;
	color: #fff !important;
	font-family: var(--font-sans) !important;
	width: 80% !important;
	max-width: 360px !important;
	min-width: 280px !important;
	box-shadow: -8px 0 24px rgba(0,0,0,0.18) !important;
	padding: 80px 0 24px !important;
}

/* Toppstrip / lukkeknapp inni RMP — gjør konsistent hvit */
[id^="rmp-container-"] .rmp-menu-trigger-close,
[id^="rmp-container-"] .rmp-menu-trigger-close .rmp-menu-trigger-icon,
[id^="rmp-container-"] .rmp-menu-trigger-close .rmp-menu-trigger-icon-line {
	color: #fff !important;
	background-color: #fff !important;
}

/* Menu-wrap (indre container) — overstyr plugin-bakgrunn og padding */
[id^="rmp-menu-wrap-"] {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	padding: 0 !important;
}

/* Menyliste */
[id^="rmp-container-"] .rmp-menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
[id^="rmp-container-"] .rmp-menu-item {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}
[id^="rmp-container-"] .rmp-menu-item-link,
[id^="rmp-menu-wrap-"] .rmp-menu-item-link {
	display: block !important;
	height: auto !important;
	line-height: 1.4 !important;
	font-family: var(--font-sans) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #fff !important;
	background: transparent !important;
	padding: 18px 28px !important;
	text-decoration: none !important;
	letter-spacing: -0.005em !important;
	transition: background .15s, color .15s !important;
}
[id^="rmp-container-"] .rmp-menu-item-link:hover,
[id^="rmp-container-"] .rmp-menu-item-link:focus {
	background: rgba(255,255,255,0.08) !important;
	color: var(--color-warm) !important;
	text-decoration: none !important;
}
[id^="rmp-container-"] .rmp-menu-item.current-menu-item > .rmp-menu-item-link,
[id^="rmp-container-"] .rmp-menu-item.current_page_item > .rmp-menu-item-link {
	color: var(--color-warm) !important;
}

/* Skjul WP Menu Cart-elementet (vi har egen handlekurv-knapp i headeren) */
[id^="rmp-container-"] .wpmenucartli,
[id^="rmp-container-"] li.wpmenucart-display-standard {
	display: none !important;
}

/* Søkeboksen i RMP — rounded hvit input på primary bg */
[id^="rmp-container-"] .rmp-search-box {
	padding: 22px 28px !important;
	background: transparent !important;
}
[id^="rmp-container-"] .rmp-search-form {
	margin: 0 !important;
	padding: 0 !important;
}
[id^="rmp-container-"] input.rmp-search-box,
[id^="rmp-container-"] input[type="search"].rmp-search-box {
	width: 100% !important;
	box-sizing: border-box !important;
	background: rgba(255,255,255,0.08) !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	color: #fff !important;
	font-family: var(--font-sans) !important;
	font-size: 15px !important;
}
[id^="rmp-container-"] input.rmp-search-box::placeholder {
	color: rgba(255,255,255,0.55) !important;
}
[id^="rmp-container-"] input.rmp-search-box:focus {
	outline: none !important;
	border-color: var(--color-warm) !important;
	background: rgba(255,255,255,0.14) !important;
}

/* Bakgrunns-overlay (hvis RMP bruker en) */
.rmp-overlay {
	background: rgba(29,53,87,0.5) !important;
}

