/*
 * Svisdal Gard – stiler.
 * Jordfarger med svart. Flatt og rolig: ingen avrunding, ingen skygger.
 * Fargene hentes fra theme.json (--wp--preset--color--*), med fallback til hex.
 */

:root {
	/* Palett: Havre og rust · lyng (10d) */
	--bg: #f6f1e7;          /* bakgrunn på sida */
	--panel: #e6dcc8;       /* farga seksjonar og panel */
	--paper: #fffbf3;       /* hyllelappar, kvittering, visittkort og avisutklipp */
	--ink: #2a2620;         /* brødtekst og overskrifter */
	--accent: #5b3a52;      /* småtitlar, tak-ikon, aktiv side, lenker */
	--btn: #a8572f;         /* primærknappar */
	--btn-ink: #fff8ee;     /* tekst på primærknappar */
	--line: #cdbfa6;        /* tynne skiljelinjer, stipla linjer, kantar */
	/* avleidde fargar (kontrast minst 4,5:1 for tekst) */
	--raised: #eee6d7;      /* litt lysare enn panelet: skiljelinjer, stolpar */
	--ink-2: #4a4338;       /* sekundær tekst */
	--muted: #655c4c;       /* dempa tekst */
	--line-strong: #b9a98a; /* tydelegare linje */
	--ok: #3d5236;          /* på lager */
	--soon: #8a6a2a;        /* kjem snart: merke og tekst på papir */
	--soon-text: #745418;   /* same oker som tekst på bg og panel */
	--btn-text: #8f4624;   /* knappefargen brukt som tekst på bg og panel */
	--light-accent: #bba0d4; /* lys aksent på mørk bakgrunn (navbar, bilete) */

	--sg-bg: var(--bg);
	--sg-panel: var(--panel);
	--sg-raised: var(--raised);
	--sg-line: var(--line);
	--sg-black: var(--wp--preset--color--svart, #000);
	--sg-text: var(--ink);
	--sg-text-2: var(--ink-2);
	--sg-muted: var(--muted);
	--sg-label: var(--accent);
	--sg-ok: var(--ok);
	--sg-alert: var(--btn);
	--sg-warn: var(--soon);
	--sg-primary: var(--accent);
	--sg-accent: var(--btn);
	--sg-complement: var(--panel);
	--sg-on-accent: var(--btn-ink);
	--sg-vipps: var(--wp--preset--color--vipps, #ff5b24);
	--sg-serif: var(--wp--preset--font-family--spectral, Spectral, Georgia, serif);
	--sg-sans: var(--wp--preset--font-family--public-sans, 'Public Sans', system-ui, sans-serif);
	--sg-gutter: clamp(20px, 4vw, 56px);
	--sg-section: clamp(56px, 8vw, 100px);
}

/* ---------------------------------------------------------------- Grunnlag */

body {
	-webkit-font-smoothing: antialiased;
}

a:hover {
	opacity: 0.75;
}

:focus-visible {
	outline: 2px solid var(--sg-text);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sg-gutter {
	padding-inline: var(--sg-gutter);
}

.sg-gutter-margin {
	margin-inline: var(--sg-gutter);
}

/* Mønstrene styrer egen avstand: nullstill standardmarger inne i dem. */
.sg-site-header :is(p, h1, h2, h3, h4, figure, ul, ol),
.sg-site-footer :is(p, h1, h2, h3, h4, figure, ul, ol),
.sg-main :is(p, h1, h2, h3, h4, figure, ul, ol) {
	margin: 0;
}

.sg-main.sg-page {
	padding-block: 56px 120px;
}

.sg-prose {
	max-width: 760px;
}

.sg-prose > * + * {
	margin-top: 1.2em;
}

.sg-prose > h2,
.sg-prose > h3 {
	margin-top: 1.8em;
}

.sg-post-title {
	margin-block: 0 8px;
}

.wp-block-image img {
	height: auto;
}

.wp-block-button__link {
	text-decoration: none;
}

.wp-block-buttons {
	gap: 16px;
}

/* ------------------------------------------------------- Merkelapper, tekst */

.sg-label {
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sg-label);
	line-height: 1.4;
}

.sg-lead {
	font-size: 17px;
	line-height: 1.7;
	color: var(--sg-text-2);
	text-wrap: pretty;
}

.sg-lead--lg {
	font-size: 19px;
	line-height: 1.65;
}

.sg-pagetitle {
	font-size: clamp(38px, 6vw, 64px);
	line-height: 1;
	font-weight: 500;
}

.sg-crumbs {
	padding: 28px var(--sg-gutter) 0;
	font-size: 14px;
	color: var(--sg-muted);
}

.sg-crumbs a {
	text-decoration: none;
}

.sg-crumbs a:hover {
	text-decoration: underline;
}

.sg-textlink a {
	font-size: 16px;
	text-underline-offset: 4px;
}

.sg-muted {
	color: var(--sg-muted);
}

.sg-empty {
	color: var(--sg-text-2);
}

/*
 * Mørke flater (topp og bunn) har alltid lys tekst, også i den lyse fargevarianten.
 * Her byttes fargene lokalt, slik at alt inni bruker de «på mørkt»-fargene fra theme.json.
 */
.sg-header,
.sg-footer,
.sg-footer-mini {
	--sg-text: var(--wp--preset--color--pa-morkt, #f6f1e7);
	--sg-text-2: var(--wp--preset--color--pa-morkt-2, #e6dcc8);
	--sg-muted: var(--wp--preset--color--pa-morkt-dempet, #cdbfa6);
	--sg-raised: var(--wp--preset--color--pa-morkt-linje, #5a463d);
	--sg-label: var(--sg-text);
	color: var(--sg-text);
}

.sg-header :is(h1, h2, h3, h4),
.sg-footer :is(h1, h2, h3, h4) {
	color: var(--sg-text);
}

/* ---------------------------------------------------------------- Toppen */

.sg-header {
	background: var(--sg-black);
	display: flex;
	flex-direction: column;
	align-items: center;
	border-bottom: 1px solid var(--sg-raised);
}

.sg-header .wp-block-image {
	margin: 0;
}

/*
 * Logoen er en PNG med gjennomsiktig bakgrunn (assets/images/svisdal-logo-lys.png), beskåret til selve motivet.
 * Den lyse tegningen står alltid på et svart felt (se «Svart ende» nedenfor), så gløden ved hover følger tegningens form.
 */
.sg-logo img {
	display: block;
	height: auto;
}

.sg-logo a {
	display: block;
	text-decoration: none;
}

.sg-logo--center {
	align-self: stretch;
	display: flex;
	justify-content: center;
}

.sg-logo--center a {
	width: min(420px, 100%);
}

.sg-logo--center img {
	width: 100%;
}

.sg-header__bar {
	align-self: stretch;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-block: 14px;
	border-top: 1px solid var(--sg-raised);
	font-size: 15px;
	letter-spacing: 0.04em;
}

.sg-header--home {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 36px;
	padding-block: 14px;
	border-bottom: 0;
	font-size: 15px;
	letter-spacing: 0.04em;
}

.sg-header__right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 36px;
}

.sg-logo--compact img {
	width: 200px;
}

.sg-nav a {
	text-decoration: none;
}

.sg-nav .wp-block-navigation__container {
	gap: 36px;
}

.sg-nav .wp-block-navigation-item__content[aria-current],
.sg-nav .current-menu-item > a {
	border-bottom: 1px solid var(--sg-text);
	padding-bottom: 2px;
}

.sg-nav .wp-block-navigation__responsive-container-open svg,
.sg-nav .wp-block-navigation__responsive-container-close svg {
	fill: var(--sg-text);
}

.sg-cart-link {
	display: inline-block;
	border: 1px solid color-mix(in srgb, var(--sg-text) 45%, transparent);
	padding: 8px 16px;
	white-space: nowrap;
	text-decoration: none;
}

.sg-cart-link:hover {
	opacity: 1;
	border-color: var(--sg-text);
}

/* Toppen i kassen */
.sg-header--checkout {
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 28px;
	padding-block: 14px;
}

.sg-logo--small img {
	height: 76px;
	width: auto;
}

.sg-header__back {
	font-size: 14px;
	color: var(--sg-muted);
}

.sg-header__back a {
	text-decoration: none;
}

.sg-steps {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	font-size: 15px;
}

.sg-steps__item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sg-steps__num {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 600;
	border: 1px solid var(--sg-text);
}

.sg-steps__item.is-current .sg-steps__num {
	background: var(--sg-accent);
	color: var(--sg-on-accent);
}

.sg-steps__item.is-todo {
	color: var(--sg-muted);
}

.sg-steps__item.is-todo .sg-steps__num {
	border-color: var(--sg-line);
}

.sg-steps__sep {
	width: 32px;
	height: 1px;
	background: var(--sg-line);
}

@media (max-width: 640px) {
	.sg-header--checkout .sg-steps {
		order: 3;
		width: 100%;
		justify-content: center;
	}

	.sg-steps {
		gap: 8px;
		font-size: 13px;
	}

	.sg-steps__item {
		gap: 6px;
	}

	.sg-steps__sep {
		width: 12px;
	}
}

/* ---------------------------------------------------------------- Forside */

/*
 * Hero: bilde (Cover) med en mørk skjerm bak teksten, slik at lys tekst alltid er lesbar uansett fargepalett.
 * Bildet slutter med en rett kant mot neste seksjon (ingen overgang).
 */
.wp-block-cover.sg-herocover {
	min-height: min(84vh, 820px) !important;
	padding: 0;
	align-items: flex-end;
	justify-content: flex-start;
	background: var(--sg-black);
	--hero-text: var(--bg); /* alltid lys: ligger på et mørkt bilde */
	color: var(--hero-text);
}

/* Mørk skjerm bak teksten (nederst). Bildet slutter med rett kant, uten overgang til neste seksjon. */
.sg-herocover::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(20, 24, 16, 0.66) 0%, rgba(20, 24, 16, 0.5) 38%, rgba(20, 24, 16, 0) 78%);
}

.wp-block-cover.sg-herocover .wp-block-cover__inner-container {
	position: relative;
	z-index: 2 !important; /* slår kjernens mer spesifikke regel */
	width: 100%;
	max-width: 760px;
	box-sizing: content-box;
	padding: 0 var(--sg-gutter) clamp(56px, 8vw, 110px);
	display: flex;
	flex-direction: column;
	gap: 24px;
	text-align: left;
}

.sg-herocover__title {
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1.04;
	font-weight: 500;
	color: var(--hero-text);
	text-wrap: balance;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.55);
}

.sg-herocover__lead {
	font-size: 19px;
	line-height: 1.55;
	max-width: 560px;
	color: var(--hero-text);
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.7);
}

.sg-herocover__buttons {
	margin-top: 8px;
	justify-content: flex-start;
}

.sg-herocover .wp-block-button__link {
	background: var(--hero-text);
	color: #1f2922;
	border: 1px solid var(--hero-text);
}

.sg-herocover .is-style-outline .wp-block-button__link {
	background: rgba(0, 0, 0, 0.25);
	color: var(--hero-text);
	border-color: var(--hero-text);
}

.sg-split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: clamp(32px, 6vw, 80px);
}

.sg-split--center {
	align-items: center;
	gap: clamp(32px, 5vw, 72px);
}

.sg-split--end {
	align-items: end;
	gap: 64px;
}

.sg-split--start {
	align-items: start;
	gap: 48px;
}

.sg-split__title {
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1.2;
}

.sg-split__title--md {
	line-height: 1.15;
}

.sg-split__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--sg-text-2);
	text-wrap: pretty;
}

.sg-intro {
	padding-block: clamp(64px, 9vw, 120px) var(--sg-section);
	border-bottom: 1px solid var(--sg-raised);
}

.sg-about {
	padding-block: clamp(64px, 9vw, 120px);
}

.sg-about__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Bilder */
.wp-block-image.sg-photo {
	margin: 0;
	background: #000;
	overflow: hidden;
}

.wp-block-image.sg-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-photo--32 { aspect-ratio: 3 / 2; }
.sg-photo--43 { aspect-ratio: 4 / 3; }
.sg-photo--11 { aspect-ratio: 1 / 1; }
.sg-pos-30-60 img { object-position: 30% 60%; }

/* Seksjoner */
.sg-section {
	padding-block: var(--sg-section);
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.sg-section--tight {
	padding-block: 0;
}

.sg-section--last {
	padding-bottom: clamp(64px, 9vw, 120px);
}

.sg-section__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px 24px;
}

.sg-section__head--rule {
	align-items: flex-end;
	border-bottom: 1px solid var(--sg-raised);
	padding-bottom: 20px;
}

.sg-section__heading {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sg-section__title {
	font-size: var(--wp--preset--font-size--seksjon, clamp(30px, 4vw, 44px));
	line-height: 1.15;
}

.sg-section__more a {
	font-size: 16px;
	text-decoration: none;
}

.sg-section__more a:hover {
	text-decoration: underline;
}

/* ------------------------------------------------------------ Produktkort */

.sg-cards {
	display: grid;
	gap: 32px;
}

.sg-cards--cards {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.sg-cards--feature {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

.sg-card {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sg-card__media {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	background: #000;
	overflow: hidden;
}

.sg-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-card--soldout .sg-card__media {
	filter: grayscale(0.5) brightness(0.8);
}

.sg-card--soldout .sg-card__body {
	opacity: 0.7;
}

.sg-card--soldout .sg-card__price {
	opacity: 0.6;
}

.sg-card__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: var(--sg-bg);
	color: var(--sg-text);
	padding: 6px 12px;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sg-card__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sg-card__title {
	font-size: 26px;
	line-height: 1.2;
}

.sg-card__title a,
.sg-feature__title a {
	text-decoration: none;
}

.sg-card__sub {
	font-size: 15px;
	color: var(--sg-muted);
}

.sg-card__foot {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	border-top: 1px solid var(--sg-raised);
	padding-top: 16px;
}

.sg-card__price {
	font-size: 20px;
	font-weight: 600;
}

/* Status */
.sg-status {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
}

.sg-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex: none;
	background: currentColor;
}

.sg-status--ok { color: var(--sg-ok); }

.sg-status--sold { color: var(--sg-muted); }
.sg-status--sold .sg-dot { background: transparent; border: 1px solid var(--sg-muted); box-sizing: border-box; }

.sg-status--soon { color: var(--sg-label); }
.sg-status--soon .sg-dot { background: var(--sg-alert); }

/* Knapper */
.sg-btn {
	display: inline-block;
	padding: 10px 18px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	border: 1px solid transparent;
	cursor: pointer;
	font-family: inherit;
}

.sg-btn--primary {
	background: var(--sg-accent);
	color: var(--sg-on-accent);
}

.sg-btn--soon {
	border-color: var(--sg-alert);
	color: var(--sg-label);
	font-weight: 400;
}

.sg-link {
	font-size: 15px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sg-btn.added {
	display: none;
}

a.added_to_cart {
	font-size: 14px;
	text-underline-offset: 3px;
	white-space: nowrap;
}

/* Store kort (melk og saft) */
.sg-feature {
	background: var(--sg-panel);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.sg-feature__media {
	display: block;
	aspect-ratio: 3 / 4;
	background: #000;
	overflow: hidden;
}

.sg-feature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 60%;
	display: block;
}

.sg-feature__body {
	padding: clamp(24px, 3vw, 36px);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sg-feature__title {
	font-size: 34px;
	line-height: 1.1;
}

.sg-feature__desc {
	font-size: 16px;
	line-height: 1.65;
	color: var(--sg-text-2);
}

.sg-feature__foot {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-top: 8px;
}

.sg-facts {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--sg-raised);
	margin-top: 4px;
}

.sg-fact {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--sg-raised);
	font-size: 15px;
}

.sg-fact__k {
	color: var(--sg-muted);
}

.sg-fact__v {
	text-align: right;
}

/* ------------------------------------------------------------------ Kart */

.sg-map {
	margin-bottom: clamp(64px, 9vw, 120px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	background: var(--sg-panel);
}

.sg-map__text {
	padding: clamp(28px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sg-map__title {
	font-size: 36px;
	line-height: 1.15;
}

.sg-map__addr {
	font-size: 17px;
	line-height: 1.7;
	color: var(--sg-text-2);
}

.sg-map__text .wp-block-buttons {
	margin-top: 8px;
	justify-content: flex-start;
}

.sg-map__text .wp-block-button__link {
	padding: 12px 20px;
	font-size: 15px;
}

.sg-map__embed {
	min-height: 420px;
}

.sg-map__frame {
	width: 100%;
	height: 100%;
	min-height: 420px;
	border: 0;
	display: block;
}

/* ----------------------------------------------------------------- Bunnen */

.sg-footer {
	background: var(--sg-black);
	padding-block: 64px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--sg-text-2);
}

.sg-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 56px;
}

.sg-logo--footer img {
	width: 180px;
	max-width: 100%;
}

.sg-footer .wp-block-image {
	margin: 0;
}

.sg-footer__h {
	color: var(--sg-text);
	font-weight: 600;
	margin-bottom: 8px !important;
}

.sg-footer a {
	text-underline-offset: 3px;
}

.sg-footer__beitelag {
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--sg-raised);
	font-size: 14px;
	line-height: 1.6;
	color: var(--sg-muted);
}

.sg-footer-mini {
	background: var(--sg-black);
	padding-block: 28px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 24px;
	font-size: 14px;
	color: var(--sg-muted);
	border-top: 1px solid var(--sg-raised);
}

/* ------------------------------------------------------------ Produktside */

.sg-product {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: clamp(32px, 5vw, 72px);
	padding: 28px var(--sg-gutter) clamp(56px, 7vw, 96px);
}

.sg-product__gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.sg-product__main {
	aspect-ratio: 1 / 1;
	background: var(--sg-panel);
	overflow: hidden;
}

/* Hele bildet vises (contain), også stående og liggende bilder, uten å bli beskåret. */
.sg-product__main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.sg-product__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
	gap: 12px;
}

.sg-product__thumb {
	padding: 0;
	border: 0;
	background: #000;
	aspect-ratio: 1 / 1;
	cursor: pointer;
}

.sg-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-product__thumb.is-active {
	outline: 1px solid var(--sg-text);
	outline-offset: 2px;
}

.sg-product__summary {
	display: flex;
	flex-direction: column;
	gap: 28px;
	min-width: 0;
}

.sg-product__head {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sg-product__title {
	font-size: clamp(36px, 5vw, 52px);
	line-height: 1.05;
	font-weight: 500;
}

.sg-product__lead {
	font-size: 17px;
	line-height: 1.6;
	color: var(--sg-text-2);
}

.sg-product__lead p {
	margin: 0;
}

.sg-product__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 14px;
	border-block: 1px solid var(--sg-raised);
	padding-block: 20px;
}

.sg-price {
	font-family: var(--sg-serif);
	font-size: 40px;
	line-height: 1.1;
}

.sg-price-note {
	font-size: 15px;
	color: var(--sg-muted);
}

.sg-parti {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sg-parti__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 16px;
}

.sg-parti__row .sg-status {
	font-size: 16px;
}

.sg-parti__of {
	color: var(--sg-muted);
}

.sg-parti__bar {
	height: 4px;
	background: var(--sg-raised);
}

.sg-parti__bar span {
	display: block;
	height: 4px;
	background: var(--sg-ok);
}

.sg-addtocart form.cart {
	display: flex;
	gap: 12px;
	margin: 0;
}

.sg-addtocart .quantity {
	display: flex;
	align-items: center;
	border: 1px solid var(--sg-line);
	font-size: 17px;
}

.sg-addtocart .single_add_to_cart_button {
	flex: 1;
	background: var(--sg-accent);
	color: var(--sg-on-accent);
	padding: 17px;
	font-weight: 600;
	font-size: 16px;
	border: 0;
	cursor: pointer;
	font-family: inherit;
}

.sg-addtocart .single_add_to_cart_button:hover {
	background: var(--sg-text-2);
}

.sg-qty-btn {
	background: none;
	border: 0;
	color: var(--sg-text);
	font-size: 17px;
	padding: 16px 18px;
	cursor: pointer;
	font-family: inherit;
}

.quantity input.qty {
	width: 3.2em;
	text-align: center;
	background: transparent;
	color: var(--sg-text);
	border: 0;
	font-size: 17px;
	font-family: inherit;
	padding: 16px 0;
	-moz-appearance: textfield;
	appearance: textfield;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.sg-product__fine {
	font-size: 14px;
	color: var(--sg-muted);
}

.sg-product__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 20px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--sg-text-2);
	border-top: 1px solid var(--sg-raised);
	padding-top: 20px;
}

.sg-product__fact-k {
	color: var(--sg-text);
	font-weight: 600;
}

/* Utsolgt og kommer snart */
.sg-notify {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--sg-panel);
	padding: 24px;
	scroll-margin-top: 24px;
}

.sg-notify--soon {
	background: transparent;
	border: 1px solid var(--sg-alert);
}

.sg-notify__title {
	font-size: 18px;
	font-weight: 600;
}

.sg-notify__text {
	font-size: 16px;
	line-height: 1.6;
	color: var(--sg-text-2);
	margin: 0;
}

.sg-notify__form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.sg-notify__form .sg-input {
	flex: 1 1 200px;
}

.sg-notify__form .sg-btn {
	padding: 14px 20px;
}

.sg-notify__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.sg-notify__fine {
	font-size: 13px;
	color: var(--sg-muted);
	margin: 0;
}

.sg-notify__msg {
	margin: 0;
	font-size: 15px;
}

.sg-notify__msg--ok { color: var(--sg-ok); }
.sg-notify__msg--err { color: var(--sg-alert); }

.sg-input,
.sg-fields-grid input.input-text,
.sg-fields-grid textarea,
.woocommerce-additional-fields textarea,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce-cart-form .input-text,
.coupon .input-text {
	background: transparent;
	color: var(--sg-text);
	border: 1px solid var(--sg-line);
	border-radius: 0;
	padding: 14px 16px;
	font-size: 16px;
	font-family: inherit;
	width: 100%;
	box-sizing: border-box;
}

.sg-input::placeholder,
.woocommerce form .input-text::placeholder,
.woocommerce textarea::placeholder {
	color: var(--sg-muted);
	opacity: 0.75;
}

.sg-input:focus,
.woocommerce form .input-text:focus,
.woocommerce textarea:focus {
	border-color: var(--sg-text);
	outline: 0;
}

/* Innhold i kassen */
.sg-contents {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: clamp(32px, 5vw, 72px);
	padding: clamp(56px, 7vw, 96px) var(--sg-gutter);
	background: var(--sg-panel);
}

.sg-contents__intro {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sg-contents__title {
	font-size: clamp(28px, 3.5vw, 36px);
}

.sg-contents__intro p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--sg-text-2);
}

.sg-contents__table {
	display: flex;
	flex-direction: column;
	font-size: 16px;
}

.sg-contents__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--sg-raised);
}

.sg-contents__row--total {
	padding: 16px 0;
	font-weight: 600;
	border-bottom: 0;
}

/* ------------------------------------------------------------------ Sauen */

.sg-sauen__hero {
	padding: 40px var(--sg-gutter) clamp(56px, 7vw, 96px);
	gap: clamp(32px, 5vw, 64px);
}

.sg-sauen__text {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.sg-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
	border-top: 1px solid var(--sg-raised);
	margin-top: 8px;
}

.sg-stat {
	padding: 18px 16px 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sg-stat:first-child {
	padding-left: 0;
}

.sg-stat + .sg-stat {
	border-left: 1px solid var(--sg-raised);
}

.sg-stat__v {
	font-family: var(--sg-serif);
	font-size: 28px;
	line-height: 1.2;
}

.sg-stat__k {
	font-size: 14px;
	color: var(--sg-muted);
}

.sg-panel {
	background: var(--sg-panel);
	padding: clamp(56px, 7vw, 96px) var(--sg-gutter);
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.sg-eartags {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sg-eartag {
	background: var(--sg-bg);
	border: 1px solid var(--sg-raised);
	padding: 20px 24px;
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.sg-eartag .wp-block-image {
	margin: 0;
}

.sg-eartag__img img {
	width: 110px;
	height: 120px;
	object-fit: contain;
	display: block;
}

.sg-eartag__img--bell img {
	height: 90px;
}

.sg-eartag__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sg-num {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--sg-accent);
	color: var(--sg-on-accent);
	font-weight: 700;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.sg-eartag__title {
	font-size: 26px;
}

.sg-eartag__text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--sg-text-2);
}

.sg-legend {
	display: flex;
	gap: 16px;
	align-items: center;
	padding-block: 4px;
	font-size: 14px;
	color: var(--sg-muted);
}

.sg-swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 3px;
	margin-right: 6px;
	vertical-align: -2px;
}

.sg-swatch--yellow { background: #f2c230; }
.sg-swatch--green { background: #3fae49; margin-right: 12px; }

.sg-timeline {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
	border-top: 1px solid var(--sg-text);
}

.sg-timeline__item {
	padding: 22px 20px 0;
	border-left: 1px solid var(--sg-raised);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sg-timeline__item:first-child {
	padding-left: 0;
	border-left: 0;
}

.sg-timeline__when {
	font-size: 13px;
	color: var(--sg-muted);
}

.sg-timeline__title {
	font-size: 24px;
}

.sg-timeline__text {
	font-size: 15px;
	line-height: 1.55;
	color: var(--sg-text-2);
}

.sg-promos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 1px;
	background: var(--sg-raised);
	border-top: 1px solid var(--sg-raised);
}

.sg-promo {
	background: var(--sg-bg);
	display: flex;
	flex-direction: column;
}

.sg-promo__body {
	padding: 32px var(--sg-gutter) 48px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--sg-text-2);
}

.sg-promo__title {
	font-size: 32px;
	color: var(--sg-text);
}

.sg-promo__body .sg-textlink {
	margin-top: 8px;
}

/* --------------------------------------------------- Om gården, kontakt */

.sg-pagehead {
	padding-block: 72px 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sg-pagehead .sg-lead {
	max-width: 720px;
}

.sg-contact {
	padding-block: clamp(48px, 6vw, 72px);
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.sg-contact__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 48px;
}

.sg-contact__col {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--sg-text-2);
}

.sg-beitelag {
	background: var(--sg-panel);
	padding: clamp(28px, 4vw, 48px);
	margin-bottom: clamp(64px, 9vw, 120px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
}

.sg-beitelag__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 640px;
}

.sg-beitelag__title {
	font-size: 36px;
	line-height: 1.15;
}

/* Fanene med dyrebilder */
.sg-tabs__list {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--sg-raised);
	margin-bottom: 32px;
}

.sg-tabs__tab {
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	color: var(--sg-muted);
	font-family: inherit;
	font-size: 15px;
	letter-spacing: 0.04em;
	padding: 12px 20px;
	cursor: pointer;
}

.sg-tabs__tab[aria-selected='true'] {
	color: var(--sg-text);
	border-bottom-color: var(--sg-text);
}

.sg-tabs.is-enhanced .sg-tab:not(.is-active) {
	display: none;
}

.sg-tabs.is-enhanced .sg-tab__title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.sg-tab__title {
	font-size: 26px;
	margin-block: 32px 16px !important;
}

.sg-tabs .wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 12px;
	margin: 0;
}

.sg-tabs .wp-block-gallery.has-nested-images figure.wp-block-image {
	width: 100% !important;
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	background: #000;
	flex: none !important;
}

.sg-tabs .wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Avisartikler */
.sg-press {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sg-raised);
}

.sg-press__item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px 24px;
	padding: 18px 0;
	border-bottom: 1px solid var(--sg-raised);
}

.sg-press__title {
	font-family: var(--sg-serif);
	font-size: 22px;
	line-height: 1.3;
}

.sg-press__title a {
	text-underline-offset: 4px;
}

.sg-press__meta {
	font-size: 14px;
	color: var(--sg-muted);
}

/* ------------------------------------------------- WooCommerce: felles */

main.sg-woo .woocommerce {
	padding: 0;
	max-width: none;
	width: 100%;
	margin: 0;
}

.woocommerce-notices-wrapper,
.sg-woo .woocommerce > .woocommerce-message,
.sg-woo .woocommerce > .woocommerce-error,
.sg-woo .woocommerce > .woocommerce-info,
.sg-woo .woocommerce > .woocommerce-form-coupon-toggle,
.sg-woo .woocommerce > form.checkout_coupon,
.sg-woo .woocommerce > form.woocommerce-form-login {
	margin-inline: var(--sg-gutter);
}

.sg-product + .woocommerce-notices-wrapper {
	margin: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	list-style: none;
	margin: 16px 0;
	padding: 16px 20px;
	background: var(--sg-panel);
	border-left: 3px solid var(--sg-ok);
	font-size: 15px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}

/* Nyere WooCommerce bruker «notice banner» også i klassisk kasse/handlekurv. */
.woocommerce .wc-block-components-notice-banner,
.woocommerce-notices-wrapper .wc-block-components-notice-banner {
	background: var(--sg-panel);
	color: var(--sg-text);
	border: 0;
	border-left: 3px solid var(--sg-muted);
	border-radius: 0;
	padding: 16px 20px;
	margin: 16px 0;
	font-size: 15px;
	gap: 12px;
}

.woocommerce .wc-block-components-notice-banner.is-success {
	border-left-color: var(--sg-ok);
}

.woocommerce .wc-block-components-notice-banner.is-error {
	border-left-color: var(--sg-alert);
}

.woocommerce .wc-block-components-notice-banner > svg {
	background: transparent;
	fill: var(--sg-text);
	border-radius: 0;
	padding: 0;
}

.woocommerce .wc-block-components-notice-banner a {
	color: var(--sg-text);
}

.woocommerce-info {
	border-left-color: var(--sg-muted);
}

.woocommerce-error {
	border-left-color: var(--sg-alert);
}

.woocommerce-message a.button,
.woocommerce-info a.button {
	order: 2;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-block;
	background: transparent;
	color: var(--sg-text);
	border: 1px solid var(--sg-text);
	padding: 12px 20px;
	font-size: 15px;
	font-family: inherit;
	text-decoration: none;
	cursor: pointer;
	border-radius: 0;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce a.checkout-button {
	background: var(--sg-accent);
	color: var(--sg-on-accent);
	font-weight: 600;
}

.woocommerce .form-row {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	float: none;
	width: auto;
}

.woocommerce form .form-row label {
	font-size: 14px;
	color: var(--sg-text-2);
	line-height: 1.4;
}

.woocommerce form .form-row .required {
	color: var(--sg-alert);
	text-decoration: none;
	border: 0;
}

.woocommerce form .form-row .optional {
	color: var(--sg-muted);
}

.woocommerce form .woocommerce-invalid .input-text {
	border-color: var(--sg-alert);
}

.woocommerce form select {
	appearance: auto;
	background: var(--sg-bg);
}

.woocommerce-form-coupon-toggle .woocommerce-info,
form.checkout_coupon.woocommerce-form-coupon {
	margin-block: 16px;
}

form.checkout_coupon {
	background: var(--sg-panel);
	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	border: 0;
}

form.checkout_coupon p {
	margin: 0;
}

form.checkout_coupon .form-row-first {
	flex: 1 1 220px;
}

/* ------------------------------------------------------------------ Kasse */

.sg-checkout {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	align-items: start;
}

.sg-checkout__main {
	padding: clamp(32px, 4vw, 56px) var(--sg-gutter);
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.sg-checkout__title {
	font-size: clamp(36px, 5vw, 48px);
	line-height: 1;
	font-weight: 500;
	margin: 0;
}

.sg-checkout__aside {
	background: var(--sg-panel);
	padding: clamp(32px, 4vw, 56px) clamp(20px, 3.4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: stretch;
}

.sg-step {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sg-step__head {
	border-bottom: 1px solid var(--sg-text);
	padding-bottom: 12px;
}

.sg-step__title {
	font-family: var(--sg-serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
}

.sg-step__note {
	font-size: 14px;
	color: var(--sg-muted);
	margin: 0;
}

.sg-fields-grid,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 16px;
}

.sg-field--full {
	grid-column: 1 / -1;
}

.sg-hidden {
	display: none !important;
}

.woocommerce textarea {
	min-height: 96px;
}

/* Etiketten sier allerede «(valgfritt)». */
#order_comments_field .optional {
	display: none;
}

/* Henting */
.sg-choice {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border: 1px solid var(--sg-line);
	padding: 18px;
}

.sg-choice.is-selected {
	border-color: var(--sg-text);
}

.sg-choice__radio {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1px solid var(--sg-muted);
	box-sizing: border-box;
	flex: none;
	margin-top: 3px;
}

.is-selected .sg-choice__radio {
	border: 5px solid var(--sg-text);
}

.sg-choice__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.sg-choice__row {
	display: flex;
	justify-content: space-between;
	font-size: 16px;
}

.sg-choice__sub {
	font-size: 14px;
	color: var(--sg-muted);
}

/* Betaling */
#payment {
	background: transparent;
}

#payment ul.wc_payment_methods {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#payment li.wc_payment_method {
	position: relative;
	border: 1px solid var(--sg-line);
	margin: 0;
	padding: 0;
}

#payment li.wc_payment_method:has(input:checked) {
	border-color: var(--sg-text);
}

#payment li.wc_payment_method > input[type='radio'] {
	appearance: none;
	-webkit-appearance: none;
	position: absolute;
	left: 18px;
	top: 22px;
	width: 16px;
	height: 16px;
	margin: 0;
	border-radius: 50%;
	border: 1px solid var(--sg-muted);
	box-sizing: border-box;
	background: transparent;
	cursor: pointer;
}

#payment li.wc_payment_method > input[type='radio']:checked {
	border: 5px solid var(--sg-text);
}

#payment li.wc_payment_method > label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 14px;
	padding: 18px 18px 18px 48px;
	font-size: 16px;
	color: var(--sg-text);
	cursor: pointer;
}

#payment li.wc_payment_method > label img {
	max-height: 24px;
	width: auto;
}

.sg-gateway-note {
	border: 1px solid var(--sg-muted);
	color: var(--sg-text-2);
	font-size: 13px;
	padding: 4px 9px;
	border-radius: 4px;
	white-space: nowrap;
}

#payment .payment_box {
	padding: 0 18px 18px 48px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--sg-text-2);
	background: transparent;
	margin: 0;
}

#payment .payment_box p {
	margin: 0;
}

#payment .payment_box::before {
	display: none;
}

#payment .place-order {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 0;
	margin: 0;
}

.woocommerce-terms-and-conditions-wrapper {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
}

.woocommerce-privacy-policy-text p {
	font-size: 13px;
	color: var(--sg-muted);
	margin: 0;
}

.woocommerce-form__label-for-checkbox {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	cursor: pointer;
	font-size: 15px;
	line-height: 1.5;
	color: var(--sg-text);
}

.woocommerce-form__label-for-checkbox input[type='checkbox'] {
	appearance: none;
	-webkit-appearance: none;
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	border: 1px solid var(--sg-text);
	background: transparent;
	display: grid;
	place-content: center;
	cursor: pointer;
}

.woocommerce-form__label-for-checkbox input[type='checkbox']:checked::before {
	content: '✓';
	font-size: 12px;
	color: var(--sg-text);
	line-height: 1;
}

#place_order {
	width: 100%;
	background: var(--sg-accent);
	color: var(--sg-on-accent);
	border: 0;
	padding: 20px;
	font-size: 17px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	border-radius: 0;
}

#place_order:hover {
	background: var(--sg-text-2);
}

#place_order.is-vipps {
	background: var(--sg-vipps);
	color: #fff;
}

#place_order.is-vipps:hover {
	filter: brightness(1.08);
}

/* Sammendrag */
.sg-summary__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 8px;
}

.sg-summary__title {
	font-family: var(--sg-serif);
	font-size: 26px;
	font-weight: 500;
	margin: 0;
}

.sg-summary__edit {
	font-size: 14px;
	color: var(--sg-text-2);
}

.sg-summary__items {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sg-raised);
}

.sg-summary__item {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid var(--sg-raised);
}

.sg-summary__thumb {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #000;
}

.sg-summary__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-summary__qty {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--sg-accent);
	color: var(--sg-on-accent);
	font-size: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sg-summary__name {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 16px;
}

.sg-summary__name a {
	text-decoration: none;
}

.sg-summary__sub,
.sg-summary__name dl {
	font-size: 14px;
	color: var(--sg-muted);
	margin: 0;
}

.sg-summary__price {
	font-size: 16px;
}

.sg-summary__rows {
	padding-top: 8px;
}

.sg-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 0;
	font-size: 15px;
	color: var(--sg-text-2);
}

.sg-row--total {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	border-top: 1px solid var(--sg-text);
	margin-top: 8px;
	padding-top: 16px;
	font-size: 18px;
	font-weight: 600;
	color: var(--sg-text);
}

.sg-total {
	text-align: right;
}

.sg-total small,
.sg-total .includes_tax {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: var(--sg-muted);
}

/* -------------------------------------------------- Handlekurv (standard) */

.woocommerce-cart .sg-woo > .wp-block-shortcode,
.sg-woo .woocommerce > .woocommerce-cart-form,
.sg-woo .woocommerce > .cart-collaterals {
	margin-inline: var(--sg-gutter);
}

.sg-woo .woocommerce-cart-form {
	padding-top: 48px;
}

table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	margin: 0;
}

table.shop_table th {
	text-align: left;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sg-muted);
	padding: 0 12px 12px 0;
	border-bottom: 1px solid var(--sg-text);
}

table.shop_table td {
	padding: 18px 12px 18px 0;
	border-bottom: 1px solid var(--sg-raised);
	vertical-align: middle;
	font-size: 16px;
}

table.shop_table .product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	display: block;
}

table.shop_table .product-name a {
	text-decoration: none;
	font-family: var(--sg-serif);
	font-size: 20px;
}

table.shop_table a.remove {
	display: inline-block;
	width: 28px;
	height: 28px;
	line-height: 26px;
	text-align: center;
	border: 1px solid var(--sg-line);
	text-decoration: none;
	font-size: 18px;
}

table.shop_table .actions {
	padding-right: 0;
}

table.shop_table .coupon {
	display: flex;
	gap: 8px;
	float: left;
}

table.shop_table .coupon .input-text {
	width: 200px;
}

table.shop_table button[name='update_cart'] {
	float: right;
}

.cart-collaterals {
	display: flex;
	justify-content: flex-end;
	padding-block: 40px 96px;
}

.cart_totals {
	background: var(--sg-panel);
	padding: 32px;
	width: min(100%, 460px);
	box-sizing: border-box;
}

.cart_totals h2 {
	font-size: 26px;
	margin: 0 0 16px;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sg-text-2);
	font-weight: 400;
	padding: 10px 0;
	border-color: var(--sg-raised);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
	color: var(--sg-text);
	font-weight: 600;
	font-size: 18px;
}

.wc-proceed-to-checkout {
	padding-top: 20px;
}

.wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	padding: 18px;
	font-size: 17px;
	border: 0;
}

.cart-empty {
	padding: 64px var(--sg-gutter) 24px;
	font-family: var(--sg-serif);
	font-size: 32px;
	margin: 0;
	background: transparent;
	border: 0;
	display: block;
}

.return-to-shop {
	padding: 0 var(--sg-gutter) 120px;
}

@media (max-width: 700px) {
	table.shop_table_responsive thead {
		display: none;
	}

	table.shop_table_responsive tr {
		display: block;
		border-bottom: 1px solid var(--sg-raised);
		padding-block: 12px;
	}

	table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		border: 0;
		padding: 8px 0;
	}

	table.shop_table_responsive td::before {
		content: attr(data-title);
		color: var(--sg-muted);
		font-size: 13px;
	}

	table.shop_table_responsive td.product-remove::before,
	table.shop_table_responsive td.product-thumbnail::before,
	table.shop_table_responsive td.actions::before {
		display: none;
	}

	table.shop_table .coupon,
	table.shop_table button[name='update_cart'] {
		float: none;
		width: 100%;
		margin-bottom: 8px;
	}
}

/* ------------------------------------------------------------ Bekreftelse */

.woocommerce-order {
	padding: clamp(40px, 6vw, 72px) var(--sg-gutter) clamp(64px, 9vw, 120px);
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 960px;
}

.woocommerce-thankyou-order-received {
	font-family: var(--sg-serif);
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.15;
	margin: 0;
}

ul.woocommerce-order-overview {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
	font-size: 14px;
	color: var(--sg-muted);
}

ul.woocommerce-order-overview li strong {
	display: block;
	font-size: 17px;
	font-weight: 600;
	color: var(--sg-text);
}

.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
	font-family: var(--sg-serif);
	font-size: 26px;
	font-weight: 500;
	margin: 0 0 12px;
}

.woocommerce-customer-details address {
	font-style: normal;
	line-height: 1.7;
	color: var(--sg-text-2);
}

/* ------------------------------------------------------------ Smalere skjermer */

@media (max-width: 640px) {
	.sg-header__bar {
		flex-wrap: wrap;
	}

	.sg-eartag {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 16px;
	}

	.sg-eartag__img img {
		width: 80px;
		height: 90px;
	}

	.sg-eartag__img--bell img {
		height: 70px;
	}

	.sg-addtocart form.cart {
		flex-wrap: wrap;
	}
}

/* ------------------------------------------- Vilkår, personvern, bestilling */

.sg-legal {
	padding-block: 24px clamp(64px, 9vw, 120px);
	max-width: 880px;
	display: flex;
	flex-direction: column;
	gap: 36px;
	margin-inline: 0;
}

.sg-legal__section {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--sg-text-2);
}

.sg-legal__h {
	font-size: 26px;
	color: var(--sg-text);
}

.sg-legal ul {
	margin: 0;
	padding-left: 1.2em;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sg-legal strong {
	color: var(--sg-text);
	font-weight: 600;
}

/* ------------------------------------------------ Samarbeid og medlemskap */

.sg-partners {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 32px;
}

.sg-partner {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* Logoene har egne bakgrunner (hvit, svart tekst, mørk grønn), så de står på en lys flis. */
.sg-partner__tile {
	background: var(--bg);
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	overflow: hidden;
}

.sg-partner__tile .wp-block-image {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.sg-partner__tile img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.sg-partner__logo--text {
	font-family: var(--sg-serif);
	font-size: 26px;
	color: var(--ink);
	text-align: center;
}

.sg-partner__title {
	font-size: 26px;
}

.sg-partner__text {
	font-size: 16px;
	line-height: 1.65;
	color: var(--sg-text-2);
}

.sg-partner__link a {
	font-size: 15px;
	text-underline-offset: 3px;
}

.sg-footer__partners {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 40px;
}

.sg-footer__partner {
	background: var(--bg);
	height: 64px;
	padding: 8px 14px;
	display: flex;
	align-items: center;
}

.sg-footer__partner:hover {
	opacity: 1;
}

.sg-footer__partner img {
	max-height: 100%;
	width: auto;
	display: block;
}

/*
 * Topp og bunn er enkle, ensfargede flater (primærfargen). De tidligere forsøkene med landskapsbilde og
 * fjellsilhuett er tatt ut for nå; bildene ligger igjen i assets/images (footer-fjell.jpg, landskap-regnbue.jpg,
 * fjellrygg.svg, fjellrygg-linje.svg, topo.svg) og kan tas i bruk igjen.
 */
.sg-header,
.sg-footer {
	background: var(--sg-black);
}

.sg-footer-mini {
	background: var(--sg-black);
}

/* Logoen glør når man holder musen over (i stedet for å bli mørkere). */
.sg-logo img {
	transition: filter 0.25s ease;
}

.sg-logo a:hover {
	opacity: 1;
}

.sg-logo a:hover img,
.sg-logo a:focus-visible img {
	filter: var(--wp--custom--logo-filter-hover, drop-shadow(0 0 8px rgba(246, 241, 228, 0.75)) drop-shadow(0 0 20px rgba(246, 241, 228, 0.45)) brightness(1.12));
}

@media (prefers-reduced-motion: reduce) {
	.sg-logo img {
		transition: none;
	}
}

/*
 * Svart ende: logoen er en lys tegning og trenger svart bakgrunn. Resten av toppen og bunnen er dusgrønn.
 * Forsiden: svart felt til venstre med skrå kant. Andre sider: svart rad med logoen øverst.
 */
.sg-header--home {
	padding: 0;
	gap: 0;
	align-items: stretch;
}

.sg-header--home .sg-logo--compact {
	background: #000;
	padding: 14px 52px 14px var(--sg-gutter);
	clip-path: polygon(0 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
	display: flex;
	align-items: center;
}

.sg-header--home .sg-header__right {
	padding: 14px var(--sg-gutter);
	margin-left: auto;
}

.sg-header:not(.sg-header--home):not(.sg-header--checkout) .sg-logo--center {
	background: #000;
	padding-block: 8px;
}

.sg-header--checkout {
	padding-block: 0;
	align-items: stretch;
	gap: 0 28px;
}

.sg-header--checkout .sg-logo--small {
	background: #000;
	padding: 10px 40px 10px var(--sg-gutter);
	margin-left: calc(var(--sg-gutter) * -1);
	clip-path: polygon(0 0, 100% 0, calc(100% - 26px) 100%, 0 100%);
}

.sg-header--checkout .sg-steps,
.sg-header--checkout .sg-header__back {
	align-self: center;
}

/* Bunnen: svart ende med logoen (skrå kant) til venstre, informasjonen til høyre. */
.sg-footer {
	display: flex;
	align-items: stretch;
	padding: 0;
}

.sg-footer__end {
	flex: none;
	background: #000;
	padding: 40px 72px 40px var(--sg-gutter);
	clip-path: polygon(0 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
	display: flex;
	align-items: center;
}

.sg-footer__end .wp-block-image {
	margin: 0;
}

.sg-footer .sg-logo--footer img {
	width: 200px;
}

.sg-footer__cols {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
	gap: 28px 32px;
	padding: 52px var(--sg-gutter) 44px 8px;
	align-content: center;
	line-height: 1.6;
}

@media (max-width: 860px) {
	.sg-footer {
		flex-direction: column;
	}

	.sg-footer__end {
		padding: 28px 72px 28px var(--sg-gutter);
		align-self: flex-start;
	}

	.sg-footer__cols {
		padding: 36px var(--sg-gutter) 40px;
	}
}

/* ======================================================================== *
 * Meny og bunn – retning 1c (overleveringen «navbar og bunn»)
 * Salvegrønn flate, svart logofelt med skrå kant, tonet fjellbilde i menyen
 * og kyr ved tunet i bunnen. Hele nettsiden bruker samme meny og bunn.
 * ======================================================================== */

.sg-header--site a:hover,
.sg-footer--site a:hover {
	color: #000;
	opacity: 1;
}

.sg-header.sg-header--site {
	display: grid;
	grid-template-columns: minmax(200px, 330px) 1fr;
	align-items: stretch;
	min-height: 124px;
	padding: 0;
	border: 0;
	overflow: hidden;
	isolation: isolate;
	position: relative;
	background: var(--sg-black);
	color: var(--sg-text);
	font-size: 15px;
}

.sg-header__logo {
	position: relative;
	z-index: 1;
	background: #000;
	clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
	display: flex;
	align-items: center;
	padding: 0 0 0 var(--sg-gutter);
}

.sg-header__logo .wp-block-image {
	margin: 0;
}

.sg-logo--site img {
	width: 178px;
	max-width: 100%;
	height: auto;
}

.sg-header__main {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 12px var(--sg-gutter) 12px 24px;
}

.sg-header--site .sg-nav {
	font-family: var(--sg-serif);
	font-size: 22px;
	letter-spacing: 0;
}

.sg-header--site .sg-nav .wp-block-navigation__container {
	gap: 8px;
}

.sg-header--site .sg-nav .wp-block-navigation-item__content {
	padding: 6px 14px;
	font-family: var(--sg-serif);
	font-size: 22px;
	color: var(--sg-text);
	border: 0;
	text-decoration: none;
}

.sg-header--site .sg-nav .wp-block-navigation-item__content[aria-current],
.sg-header--site .sg-nav .current-menu-item > a {
	background: var(--sg-text);
	color: var(--bg);
	border: 0;
	padding: 6px 14px;
}

.sg-header--site .sg-nav .wp-block-navigation-item__content:hover {
	color: #000;
}

.sg-header--site .sg-nav .wp-block-navigation-item__content[aria-current]:hover {
	color: var(--bg);
}

.sg-header--site .sg-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #000;
	color: var(--bg);
	border: 0;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-decoration: none;
}

.sg-header--site .sg-cart-link:hover {
	color: #fff;
	opacity: 1;
}

.sg-header--site .sg-cart-count {
	background: var(--sg-black);
	color: var(--sg-text);
	min-width: 26px;
	height: 26px;
	padding: 0 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	box-sizing: border-box;
}

@media (max-width: 700px) {
	.sg-header.sg-header--site {
		grid-template-columns: 200px 1fr;
	}

	.sg-logo--site img {
		width: 140px;
	}

	.sg-header__main {
		padding-left: 8px;
		gap: 8px;
		flex-wrap: nowrap;
	}
}

/* Bunn */
.sg-footer.sg-footer--site {
	display: grid;
	grid-template-columns: minmax(0, 600px) 1fr;
	min-height: 340px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	isolation: isolate;
	position: relative;
	background: var(--sg-black);
	color: var(--sg-text);
	font-size: 15px;
	line-height: 1.75;
}

.sg-footer__photo {
	position: relative;
	min-height: 340px;
}

.sg-footer__photo .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
}

.sg-footer__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 46% 66%;
	filter: grayscale(1) contrast(1.15) brightness(1.05);
	mix-blend-mode: multiply;
	opacity: 0.9;
	display: block;
}

.sg-footer__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, color-mix(in srgb, var(--sg-black) 0%, transparent) 0%, color-mix(in srgb, var(--sg-black) 0%, transparent) 55%, var(--sg-black) 100%);
}

.sg-footer--site .sg-footer__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	padding: 48px var(--sg-gutter) 28px 24px;
	position: relative;
}

.sg-footer--site .sg-footer__cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	padding: 0;
	flex: none;
	line-height: 1.75;
}

.sg-footer--site a {
	text-underline-offset: 3px;
}

.sg-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	border-top: 1px solid var(--sg-text);
	padding-top: 14px;
	font-size: 14px;
}

@media (max-width: 860px) {
	.sg-footer.sg-footer--site {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.sg-footer__photo {
		min-height: 200px;
		height: 200px;
	}

	.sg-footer__photo::after {
		background: linear-gradient(180deg, color-mix(in srgb, var(--sg-black) 0%, transparent) 0%, var(--sg-black) 100%);
	}

	.sg-footer--site .sg-footer__body {
		padding: 24px var(--sg-gutter) 28px;
	}

	.sg-footer--site .sg-footer__cols {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* Hvit meny og bunn: primærfargen brukes som tynn kantlinje og i handlekurvens antall. */
.sg-header.sg-header--site {
	border-bottom: 4px solid var(--sg-accent);
}

.sg-footer.sg-footer--site {
	border-top: 4px solid var(--sg-accent);
}

.sg-header--site .sg-cart-count {
	background: var(--sg-accent);
}

/* Mobil: meny og handlekurv må få plass på 360–390 px brede skjermer. */
@media (max-width: 700px) {
	.sg-header.sg-header--site {
		grid-template-columns: 150px minmax(0, 1fr);
		min-height: 100px;
	}

	.sg-header__logo {
		padding-left: 16px;
	}

	.sg-logo--site img {
		width: 100px;
	}

	.sg-header__main {
		padding: 8px 14px 8px 4px;
		gap: 6px;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}

	.sg-header--site .sg-cart-link {
		padding: 9px 11px;
		gap: 8px;
		font-size: 14px;
	}

	.sg-header--site .sg-cart-count {
		min-width: 22px;
		height: 22px;
		font-size: 12px;
	}
}

/* Toppen må ligge over resten av siden, ellers havner mobilmenyen (som åpnes over hele skjermen) bak innholdet. */
.sg-site-header {
	position: relative;
	z-index: 50;
}

/* Mobilmenyen (åpnet): luft, store lenker og en primærfarget markering. */
.sg-header--site .wp-block-navigation__responsive-container.is-menu-open {
	padding: 20px var(--sg-gutter) 32px;
	background: var(--sg-black);
	border-top: 4px solid var(--sg-accent);
}

.sg-header--site .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
}

.sg-header--site .is-menu-open .wp-block-navigation__container {
	gap: 0;
	align-items: stretch;
	width: 100%;
}

.sg-header--site .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid color-mix(in srgb, var(--sg-text) 22%, transparent);
}

.sg-header--site .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 0 !important;
	font-size: 30px !important;
	background: transparent !important;
	color: var(--sg-text) !important;
}

.sg-header--site .is-menu-open .wp-block-navigation-item__content[aria-current] {
	box-shadow: inset 4px 0 0 var(--sg-accent);
	padding-left: 14px !important;
}

.sg-header--site .is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 32px;
	height: 32px;
}

/* Mobil: nøkkeltall og årshjul uten loddrette skillelinjer som ender midt i rader. */
@media (max-width: 640px) {
	.sg-stats {
		grid-template-columns: 1fr;
	}

	.sg-stat,
	.sg-stat:first-child,
	.sg-stat + .sg-stat {
		padding: 14px 0;
		border-left: 0;
	}

	.sg-stat + .sg-stat {
		border-top: 1px solid var(--sg-raised);
	}

	.sg-timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
	}

	.sg-timeline__item,
	.sg-timeline__item:first-child {
		border-left: 0;
		padding: 18px 0 14px;
		border-bottom: 1px solid var(--sg-raised);
	}
}

/* ======================================================================== *
 * Mobiljusteringer etter gjennomgang (375 px)
 * ======================================================================== */

/* Fraktkalkulator og leveringsrad vises ikke i handlekurven (alt hentes). */
.cart_totals .shipping,
.cart_totals .woocommerce-shipping-totals,
.shipping-calculator-button,
.woocommerce-shipping-calculator {
	display: none !important;
}

.sg-pagetitle,
.sg-section__title,
.sg-split__title {
	overflow-wrap: anywhere;
	hyphens: auto;
}

.sg-pagetitle {
	font-size: clamp(34px, 6vw, 64px);
}

@media (max-width: 700px) {
	/* Større trykkflater */
	.wp-block-navigation__responsive-container-open {
		width: 44px;
		height: 44px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	.sg-link {
		display: inline-block;
		padding: 10px 0;
	}

	.sg-summary__edit {
		display: inline-block;
		padding: 10px 0 10px 12px;
	}

	/* Handlekurv: hver vare som et kort med bilde til venstre */
	.woocommerce-cart-form table.shop_table_responsive thead {
		display: none;
	}

	.woocommerce-cart-form table.shop_table_responsive,
	.woocommerce-cart-form table.shop_table_responsive tbody {
		display: block;
		width: 100%;
	}

	.woocommerce-cart-form tr.cart_item {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			'thumb name remove'
			'thumb price price'
			'thumb qty sub';
		column-gap: 14px;
		row-gap: 8px;
		align-items: center;
		padding: 18px 0;
		border-bottom: 1px solid var(--sg-raised);
	}

	.woocommerce-cart-form tr.cart_item td {
		display: block;
		border: 0;
		padding: 0;
		text-align: left;
		min-width: 0;
	}

	.woocommerce-cart-form tr.cart_item td::before {
		display: none;
	}

	.woocommerce-cart-form td.product-thumbnail {
		grid-area: thumb;
		align-self: start;
	}

	.woocommerce-cart-form td.product-name {
		grid-area: name;
	}

	.woocommerce-cart-form td.product-remove {
		grid-area: remove;
		text-align: right;
	}

	.woocommerce-cart-form td.product-price {
		grid-area: price;
		font-size: 15px;
		color: var(--sg-text-2);
	}

	.woocommerce-cart-form td.product-quantity {
		grid-area: qty;
	}

	.woocommerce-cart-form td.product-subtotal {
		grid-area: sub;
		text-align: right;
		font-weight: 600;
	}

	.woocommerce-cart-form td.product-name a {
		font-size: 19px;
		line-height: 1.25;
	}

	.woocommerce-cart-form .quantity {
		display: inline-flex;
		width: auto;
	}

	.woocommerce-cart-form .quantity input.qty {
		width: 2.8em !important;
		padding: 12px 0;
	}

	.woocommerce-cart-form tr:not(.cart_item) {
		display: block;
		border: 0;
		padding: 0;
	}

	.woocommerce-cart-form td.actions {
		display: flex !important;
		flex-direction: column;
		gap: 12px;
		padding: 20px 0 0 !important;
	}

	.woocommerce-cart-form td.actions .coupon {
		float: none;
		display: flex;
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}

	.woocommerce-cart-form td.actions .coupon .input-text,
	table.shop_table .coupon .input-text {
		width: 100%;
	}

	.woocommerce-cart-form td.actions .coupon .button,
	.woocommerce-cart-form td.actions button[name='update_cart'] {
		width: 100%;
		float: none;
		margin: 0;
	}

	/* Totaler: etikett til venstre, beløp til høyre (uten dobbel etikett) */
	.cart_totals table.shop_table,
	.cart_totals table.shop_table tbody {
		display: block;
		width: 100%;
	}

	.cart_totals table.shop_table tr {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 0;
		border-bottom: 1px solid var(--sg-raised);
	}

	.cart_totals table.shop_table th,
	.cart_totals table.shop_table td {
		display: block;
		width: auto;
		padding: 12px 0;
		border: 0;
	}

	.cart_totals table.shop_table td {
		text-align: right;
	}

	.cart_totals table.shop_table td::before {
		display: none;
	}

	.cart_totals {
		padding: 24px 20px;
	}

	.cart-collaterals {
		padding-block: 28px 64px;
	}
}

@media (max-width: 700px) {
	/* Overskrift og tekst hører sammen: mindre luft mellom dem, mer luft over overskriften. */
	.sg-split {
		row-gap: 16px;
	}

	.sg-pagehead + .sg-split {
		padding-top: 28px;
	}

	.sg-pagehead {
		padding-bottom: 8px;
	}
}

/* Nettbrett og smale vinduer: menyen blir hamburger før lenkene må brytes over flere linjer. */
@media (min-width: 601px) and (max-width: 960px) {
	.sg-header--site .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
	}

	.sg-header--site .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.sg-header.sg-header--site {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.sg-header__main {
		flex-wrap: nowrap;
		justify-content: flex-end;
	}
}

/* Forsidebildet: zoomet inn mot høyre, slik at kua står til høyre for teksten (som ligger nede til venstre). */
@media (min-width: 861px) {
	.sg-herocover .wp-block-cover__image-background {
		transform: scale(1.18);
		transform-origin: 0% 72%;
	}
}


/*
 * Tekstur i menyen: en strimmel av fjellene fra forsidebildet (kyr ved tunet), tonet til svart-hvitt og
 * utvisket mot midten. Samme bilde som hero på forsiden, så fjellet «fortsetter» opp i menyen.
 */
.sg-header--site::before,
.sg-header--site::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: min(72%, 860px); /* begrenset bredde = mindre zoom; strekker seg helt bort til menylenkene */
	height: 100%;
	pointer-events: none;
}

.sg-header--site::before {
	background: url('../images/hero-forside.jpg') 50% 36% / cover no-repeat;
	filter: grayscale(1) contrast(1.2) brightness(1.05);
	mix-blend-mode: multiply;
	opacity: 0.8;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.48) 20%, rgba(0, 0, 0, 0.88) 45%, #000 70%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.48) 20%, rgba(0, 0, 0, 0.88) 45%, #000 70%);
}

.sg-header--site::after {
	display: none; /* utvaskingen gjøres med mask på ::before, uten skjøt */
}

/* ======================================================================== *
 * Mobil: åpen meny og forsidens meny
 * ======================================================================== */

/* Åpen meny: samme fjellstrimmel som i menyen, utvasket nedover mot hvitt. */
.sg-header--site .wp-block-navigation__responsive-container.is-menu-open {
	overflow: hidden;
	isolation: isolate;
}

.sg-header--site .wp-block-navigation__responsive-container.is-menu-open::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 46%;
	z-index: 0;
	pointer-events: none;
	background: url('../images/hero-forside.jpg') 50% 34% / cover no-repeat;
	filter: grayscale(1) contrast(1.05) brightness(1.2);
	mix-blend-mode: multiply;
	opacity: 0.6;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.7) 40%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.7) 40%, transparent 100%);
}

.sg-header--site .is-menu-open .wp-block-navigation__responsive-container-content,
.sg-header--site .is-menu-open .wp-block-navigation__responsive-container-close {
	position: relative;
	z-index: 1;
}

/* Forsiden på mobil bruker same meny som resten av sidene (med fjellstrimmelen), bildet ligg under. */

@media (max-width: 700px) {
	/* Litt innzoomet mot bunnen, så fjellryggen kommer opp mot menyen og himmelen ikke tar for mye plass. */
	.sg-herocover .wp-block-cover__image-background {
		transform: scale(1.18);
		transform-origin: 45% 100%;
	}
}

/* Plassholder når et produkt ikke har bilde ennå. */
.sg-noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 100%;
	box-sizing: border-box;
	background: var(--sg-panel);
	border: 2px dashed var(--sg-line);
	color: var(--sg-text-muted, var(--muted));
	font-family: var(--sg-serif);
	font-size: 22px;
	text-align: center;
}

.sg-product__main--empty {
	display: block;
}

.sg-card--soldout .sg-noimg {
	filter: none;
}

.sg-noimg {
	text-decoration: none;
}

/* Bildestripe utenfor fanene (t.d. lam på Sauen-sida). */
.sg-photos .wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 12px;
	margin: 0;
}

.sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image {
	width: 100% !important;
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	background: var(--sg-panel);
	flex: none !important;
}

.sg-photos--tall .wp-block-gallery.has-nested-images {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
}

.sg-photos--tall .wp-block-gallery.has-nested-images figure.wp-block-image {
	aspect-ratio: 3 / 4;
}

.sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Lysboks: trykk på bilete for å sjå dei større. */
.sg-zoomable {
	cursor: zoom-in;
}

html.sg-lb-open {
	overflow: hidden;
}

.sg-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(18, 24, 20, 0.93);
	padding: 56px 64px;
	box-sizing: border-box;
}

.sg-lb[hidden] {
	display: none;
}

.sg-lb__fig {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	max-height: 100%;
}

.sg-lb__img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 150px);
	max-height: calc(100dvh - 150px);
	width: auto;
	height: auto;
	object-fit: contain;
	background: #000;
}

.sg-lb__cap {
	color: var(--raised);
	font-size: 15px;
	text-align: center;
	max-width: 70ch;
}

.sg-lb__count {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 14px;
	text-align: center;
	color: #bfb8a8;
	font-size: 13px;
}

.sg-lb__btn {
	position: absolute;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 4px;
}

.sg-lb__btn:hover,
.sg-lb__btn:focus-visible {
	background: rgba(255, 255, 255, 0.28);
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.sg-lb__close {
	top: 12px;
	right: 12px;
}

.sg-lb__prev {
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.sg-lb__next {
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.sg-lb.is-single .sg-lb__prev,
.sg-lb.is-single .sg-lb__next {
	display: none;
}

@media (max-width: 700px) {
	.sg-lb {
		padding: 64px 8px 56px;
	}

	.sg-lb__prev,
	.sg-lb__next {
		top: auto;
		bottom: 4px;
		transform: none;
	}

	.sg-lb__prev {
		left: 8px;
	}

	.sg-lb__next {
		right: 8px;
	}
}

.sg-photo--45 { aspect-ratio: 4 / 5; }
.sg-photo--45 img { object-position: 50% 45%; }

/* Overskrift med teksten under (t.d. «Meir om garden» og forsidas introduksjon). */
.sg-split.sg-split--lead {
	grid-template-columns: minmax(0, 1fr);
	row-gap: clamp(16px, 2.5vw, 28px);
	align-items: start;
}

.sg-split--lead .sg-split__title {
	max-width: 20ch;
}

.sg-split--lead .sg-split__text {
	max-width: 680px;
}

/* Kort samandrag under ein avisartikkel. */
.sg-press__sum {
	flex: 0 0 100%;
	max-width: 68ch;
	margin: 6px 0 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--sg-text-2);
	text-wrap: pretty;
}

/* Logoen ligg nede mot den olivengule kantlinja i menyen. */
.sg-header__logo {
	align-items: flex-end;
	padding-bottom: 6px;
}

@media (max-width: 700px) {
	.sg-header__logo {
		padding-bottom: 4px;
	}
}

/* Større logo i menyen (plass fordi den ligg nede mot kantlinja). */
.sg-logo--site img {
	width: 215px;
}

@media (min-width: 601px) and (max-width: 960px) {
	.sg-header.sg-header--site {
		grid-template-columns: 270px minmax(0, 1fr);
	}

	.sg-logo--site img {
		width: 190px;
	}
}

@media (max-width: 700px) {
	.sg-header.sg-header--site {
		grid-template-columns: 160px minmax(0, 1fr);
	}

	.sg-logo--site img {
		width: 110px;
	}
}

@media (min-width: 701px) {
	.sg-header.sg-header--site {
		min-height: 142px;
	}
}

/* Éin partnar åleine (t.d. Inner Gammelsetra på Kua-sida). */
.sg-partners.sg-partners--single {
	grid-template-columns: minmax(0, 440px);
}

/* Logoen står rett på den olivengule kantlinja og er så stor som menyen har plass til. */
.sg-header__logo {
	padding-bottom: 0;
}

@media (min-width: 961px) {
	.sg-header.sg-header--site {
		grid-template-columns: minmax(200px, 380px) minmax(0, 1fr);
		min-height: 150px;
	}

	.sg-logo--site img {
		width: 245px;
	}
}

@media (min-width: 601px) and (max-width: 960px) {
	.sg-logo--site img {
		width: 195px;
	}
}

@media (max-width: 700px) {
	.sg-header__logo {
		padding-bottom: 0;
	}

	.sg-logo--site img {
		width: 114px;
	}
}

@media (min-width: 961px) {
	.sg-header.sg-header--site {
		min-height: 156px;
	}
}

/* Utvalt kulturlandskap: tekst og nøkkeltal. */
.sg-ukl__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 680px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--sg-text-2);
	text-wrap: pretty;
}

.sg-ukl__stats {
	margin-top: 36px;
}

/* Mer luft mellom påfølgjande seksjonar med overskrift og tekst (t.d. «Meir om garden» og «Ein gard med lang historie»). */
.sg-split--lead + .sg-split--lead,
.sg-split--lead + .sg-ukl {
	margin-top: clamp(56px, 7vw, 104px);
}

/* Om garden: tekst og bilete i same toppseksjon, så teksten ligg tett opp mot biletet. */
.sg-abouthero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	grid-template-areas:
		"intro photo"
		"more photo";
	grid-template-rows: auto 1fr;
	column-gap: clamp(32px, 5vw, 72px);
	row-gap: clamp(32px, 4vw, 48px);
	align-items: start;
}

.sg-abouthero__intro { grid-area: intro; }
.sg-abouthero__photo { grid-area: photo; }
.sg-abouthero__more { grid-area: more; }

.sg-abouthero__more {
	display: flex;
	flex-direction: column;
	gap: clamp(32px, 4vw, 48px);
	font-size: 18px;
	line-height: 1.7;
	color: var(--sg-text-2);
	text-wrap: pretty;
}

.sg-abouthero__block {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sg-abouthero__title {
	font-size: clamp(26px, 3vw, 32px);
	line-height: 1.2;
	margin-bottom: 4px !important;
}

@media (max-width: 900px) {
	.sg-abouthero {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"intro"
			"photo"
			"more";
		grid-template-rows: auto;
	}
}

/* Om garden: utvalt kulturlandskap ligg tettare opp mot toppseksjonen. */
.sg-abouthero.sg-sauen__hero {
	padding-bottom: 32px;
}

.sg-section.sg-ukl {
	padding-top: 24px;
	padding-bottom: 0;
}

/* Taket frå logoen (gamle taket med utskorne bord) som lite tak over småtitlane. Fargen følgjer teksten. */
.sg-label::before {
	content: '';
	display: block;
	width: 68px;
	aspect-ratio: 480 / 114;
	margin-bottom: 9px;
	background: currentColor;
	-webkit-mask: url('../images/tak.png') no-repeat left top / 100% 100%;
	mask: url('../images/tak.png') no-repeat left top / 100% 100%;
}

.sg-label::before {
	width: 92px;
	margin-bottom: 10px;
}

/* Taket står midt over teksten: tak og tekst er sentrerte i forhold til kvarandre. */
.sg-label {
	display: grid;
	justify-items: center;
	width: fit-content;
}

.sg-label::before {
	width: 84px;
	margin-bottom: 8px;
}

/* Taket følgjer breidda på teksten (56–96 px), og blir sentrert over han. */
.sg-label::before {
	width: clamp(56px, 100%, 96px);
}

/*
 * Fjellstrimmelen går heile vegen over menyen, frå logoen til høgre kant. Logoflata ligg over (z-index) og dekkjer
 * venstre del, så fjellet tek til rett ved den skrå kanten på logoen.
 */
.sg-header--site {
	--sg-logo-edge: 380px;
}

@media (min-width: 601px) and (max-width: 960px) {
	.sg-header--site { --sg-logo-edge: 270px; }
}

@media (max-width: 700px) {
	.sg-header--site { --sg-logo-edge: 160px; }
}

.sg-header--site::before {
	left: 0;
	right: 0;
	width: auto;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, transparent calc(var(--sg-logo-edge) * 0.86 - 4px), rgba(0, 0, 0, 0.7) calc(var(--sg-logo-edge) * 0.86 + 40px), #000 calc(var(--sg-logo-edge) + 220px));
	mask-image: linear-gradient(90deg, transparent 0, transparent calc(var(--sg-logo-edge) * 0.86 - 4px), rgba(0, 0, 0, 0.7) calc(var(--sg-logo-edge) * 0.86 + 40px), #000 calc(var(--sg-logo-edge) + 220px));
}

/* Litt lysare fjell, så menylenkene er lette å lese over heile strimmelen. */
.sg-header--site::before {
	filter: grayscale(1) contrast(1.1) brightness(1.2);
	opacity: 0.62;
}


/* Glød på menyknappane, som logoen: glød i sekundærfargen (lys salvie) når ein peikar på dei. */
.sg-header--site .sg-nav .wp-block-navigation-item__content,
.sg-header--site .sg-cart-link,
.sg-header--site .wp-block-navigation__responsive-container-open {
	transition: text-shadow 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, color 0.2s ease;
}

.sg-header--site .sg-nav .wp-block-navigation-item__content:not([aria-current]):hover,
.sg-header--site .sg-nav .wp-block-navigation-item__content:not([aria-current]):focus-visible {
	text-shadow: 0 0 4px rgba(187, 160, 212), 0 0 8px rgba(187, 160, 212), 0 0 14px rgba(187, 160, 212), 0 0 24px rgba(187, 160, 212, 0.95), 0 0 38px rgba(187, 160, 212, 0.8);
}

.sg-header--site .sg-nav .wp-block-navigation-item__content[aria-current]:hover,
.sg-header--site .sg-nav .wp-block-navigation-item__content[aria-current]:focus-visible,
.sg-header--site .sg-cart-link:hover,
.sg-header--site .sg-cart-link:focus-visible {
	box-shadow: 0 0 6px rgba(187, 160, 212), 0 0 14px rgba(187, 160, 212), 0 0 26px rgba(187, 160, 212, 0.95), 0 0 42px rgba(187, 160, 212, 0.75);
}

.sg-header--site .wp-block-navigation__responsive-container-open:hover,
.sg-header--site .wp-block-navigation__responsive-container-open:focus-visible {
	filter: drop-shadow(0 0 4px rgba(187, 160, 212)) drop-shadow(0 0 10px rgba(187, 160, 212)) drop-shadow(0 0 18px rgba(187, 160, 212, 0.9));
}

/* Botnbiletet (garden i lia over ei foss): utsnitt med stølshusa og lia. */
.sg-footer__img img {
	object-position: 55% 48%;
}

/*
 * Fjellstrimmelen i menyen er den delen av forsidebiletet som ligg rett over forsidebiletet (hero), så bilete og meny
 * heng saman utan skøyt og utan at ting dukkar opp to gonger (t.d. strømstolpen). Utsnittet følgjer same reknestykke som
 * forsidebiletet: cover-skalering, plassering 45 % / 75 % og innzooming (1,18). Biletet er 2048 × 1536 (4:3).
 * --sg-sbw (breidda på rullefeltet) blir sett av main.js.
 */
.sg-header--site {
	--sg-H: min(84vh, 820px);
	--sg-W: calc(100vw - var(--sg-sbw, 0px));
	--sg-Wi: max(var(--sg-W), calc(var(--sg-H) * 4 / 3));
	--sg-Hi: calc(var(--sg-Wi) * 0.75);
}

.sg-header--site::before {
	background-image: url('../images/hero-forside.jpg');
	background-repeat: no-repeat;
	background-size: var(--sg-Wi) auto;
	background-position: left calc((var(--sg-W) - var(--sg-Wi)) * 0.45) bottom calc(-1 * (4px + 0.92 * var(--sg-H) + 0.08 * var(--sg-Hi)));
}

@media (min-width: 861px) {
	.sg-header--site::before {
		background-size: calc(var(--sg-Wi) * 1.18) auto;
		background-position: left calc((var(--sg-W) - var(--sg-Wi)) * 0.531) bottom calc(-1 * (4px + 0.956 * var(--sg-H) + 0.0944 * var(--sg-Hi)));
	}
}

@media (max-width: 700px) {
	.sg-header--site::before {
		background-size: calc(var(--sg-Wi) * 1.18) auto;
		background-position: left calc(-0.081 * var(--sg-W) + (var(--sg-W) - var(--sg-Wi)) * 0.531) bottom calc(-1 * (4px + 0.9056 * var(--sg-H) + 0.0944 * var(--sg-Hi)));
	}
}

/* Antallsfeltet i handlekorga: kompakt rad − [ 1 ] +, ikkje ei brei kolonne. */
.woocommerce-cart-form .quantity {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: 100%;
	border: 1px solid var(--sg-line);
	white-space: nowrap;
}

.woocommerce-cart-form .quantity input.qty {
	width: 2.8em !important;
	flex: 0 0 auto;
	padding: 12px 0;
}

.woocommerce-cart-form td.product-quantity {
	white-space: nowrap;
}

.woocommerce-cart-form .quantity input.qty {
	border: 0 !important;
	box-shadow: none;
	background: transparent;
}

/* ======================================================================== *
 * Ny design (heile nettsida): felles komponentar
 * ======================================================================== */

/* ----- Hero på undersidene (Cover-blokk, bilete over heile breidda, tittel i biletet) ----- */
.wp-block-cover.sg-subhero {
	position: relative;
	min-height: min(76vh, 680px) !important;
	padding: 0;
	align-items: flex-end;
	justify-content: flex-start;
	background: #26302a;
	color: var(--bg);
	isolation: isolate;
}

.wp-block-cover.sg-subhero--om {
	min-height: min(78vh, 700px) !important;
}

.wp-block-cover.sg-subhero--kontakt {
	min-height: min(56vh, 480px) !important;
}

.sg-subhero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(0deg, rgba(18, 24, 15, 0.8) 0%, rgba(18, 24, 15, 0.45) 45%, rgba(18, 24, 15, 0) 75%),
		linear-gradient(90deg, rgba(18, 24, 15, 0.7) 0%, rgba(18, 24, 15, 0.5) 45%, rgba(18, 24, 15, 0) 72%);
}

.sg-subhero--om::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.72) 0%, rgba(18, 24, 15, 0.25) 45%, rgba(18, 24, 15, 0) 70%);
}

.sg-subhero--kontakt::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.8) 0%, rgba(18, 24, 15, 0.4) 50%, rgba(18, 24, 15, 0.1) 100%);
}

.sg-subhero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: 100%;
	max-width: calc(680px + 2 * var(--sg-gutter));
	padding: 0 var(--sg-gutter) clamp(40px, 5vw, 64px);
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--bg);
}

.sg-subhero--om .wp-block-cover__inner-container {
	max-width: calc(900px + 2 * var(--sg-gutter));
	padding-bottom: clamp(44px, 6vw, 72px);
}

.sg-subhero .wp-block-cover__inner-container > * {
	margin: 0;
}

.sg-subhero .sg-label {
	color: #bba0d4;
}

.sg-subhero__crumbs {
	font-size: 14px;
	color: var(--panel);
}

.sg-subhero__crumbs a {
	color: inherit;
}

.sg-subhero__title {
	font-size: clamp(52px, 7vw, 92px);
	line-height: 1;
	font-weight: 500;
	color: var(--bg);
	margin-top: -4px !important;
}

.sg-subhero--kontakt .sg-subhero__title {
	font-size: clamp(52px, 7vw, 88px);
}

.sg-subhero__lead {
	font-size: 18px;
	line-height: 1.65;
	max-width: 540px;
	color: var(--bg);
}

/* ----- Talstripe under heroen ----- */
.sg-statstrip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	background: var(--panel);
	border-bottom: 1px solid var(--line);
}

.sg-statstrip__item {
	padding: 28px var(--sg-gutter);
	border-right: 1px solid var(--line);
}

.sg-statstrip__item:last-child {
	border-right: 0;
}

.sg-statstrip__v {
	font-family: var(--sg-serif);
	font-size: 32px;
	line-height: 1.1;
	margin: 0;
}

.sg-statstrip__k {
	font-size: 14px;
	color: var(--ink-2);
	margin: 6px 0 0;
}

@media (max-width: 700px) {
	.sg-statstrip__item {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.sg-statstrip__item:last-child {
		border-bottom: 0;
	}
}

/* ----- Flater i seksjonane ----- */
.sg-bg-panel {
	background: var(--panel);
}

.sg-sec {
	padding-block: clamp(64px, 8vw, 110px);
}

.sg-sec--flush-top {
	padding-top: 0;
}

.sg-sec .sg-section__heading,
.sg-sec .sg-label + .sg-section__title {
	margin: 0;
}

/* ----- Brei infoboks (beitelag og seter) ----- */
.sg-infobox-wrap {
	padding: 0 var(--sg-gutter) clamp(72px, 9vw, 120px);
}

.sg-infobox {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 40px;
	align-items: center;
	background: var(--panel);
	padding: 40px clamp(24px, 4vw, 48px);
}

.sg-infobox__logo {
	width: 190px;
	height: 110px;
	background: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.sg-infobox__logo .wp-block-image,
.sg-infobox__logo figure {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sg-infobox__logo img {
	max-width: 160px;
	max-height: 90px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.sg-infobox__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1 1 380px;
}

.sg-infobox__title {
	font-size: 34px;
	line-height: 1.15;
	margin: 0;
}

.sg-infobox__text {
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink-2);
	max-width: 620px;
	margin: 0;
}

.sg-infobox__btn {
	margin: 0;
}

.sg-infobox__btn .wp-block-button__link {
	white-space: nowrap;
}

/* ----- Tidslinje ----- */
.sg-tl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
	row-gap: 36px;
}

.sg-tl__item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 32px 24px 8px 0;
	border-top: 2px solid var(--ink);
}

.sg-tl__item::before {
	content: '';
	position: absolute;
	top: -7px;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--btn);
}

.sg-tl__item.is-key::before {
	background: var(--btn);
}

.sg-tl__when {
	font-size: 14px;
	color: var(--muted);
	margin: 0;
}

.sg-tl__title {
	font-size: 30px;
	line-height: 1.1;
	margin: 0;
}

.sg-tl__text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-2);
	margin: 0;
}

/* Historie: årstalet er tittelen, så «when» skjules */
.sg-tl--history .sg-tl__when {
	display: none;
}

/* Året med sauen: tomme prikkar, månaden vi er i er utheva (klassa «is-now» blir sett av main.js) */
.sg-tl--year .sg-tl__item {
	padding: 30px 20px 24px 0;
}

.sg-tl--year .sg-tl__item::before {
	top: -9px;
	width: 16px;
	height: 16px;
	background: var(--bg);
	border: 2px solid var(--ink);
	box-sizing: border-box;
}

.sg-tl--year .sg-tl__title {
	font-size: 28px;
}

.sg-tl--year .sg-tl__item.is-now {
	border-top-color: var(--btn);
	background: linear-gradient(180deg, var(--raised), rgba(238, 230, 215, 0));
}

.sg-tl--year .sg-tl__item.is-now::before {
	background: var(--btn);
	border-color: var(--btn);
}

.sg-tl--year .sg-tl__item.is-now::after {
	content: 'No';
	position: absolute;
	top: -13px;
	left: 26px;
	background: var(--btn);
	color: var(--ink);
	font-size: 12px;
	font-weight: 600;
	padding: 3px 8px;
}

/* ----- Produktkort (ny design) ----- */
.sg-cards--cards {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.sg-cards--cards .sg-card {
	background: var(--panel);
	gap: 0;
}

.sg-card__media {
	background: var(--panel);
}

.sg-card--soldout .sg-card__media {
	filter: none;
}

.sg-card--soldout .sg-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(243, 238, 228, 0.5);
	pointer-events: none;
}

.sg-card--soldout .sg-card__body,
.sg-card--soldout .sg-card__price {
	opacity: 1;
}

.sg-card--soldout .sg-card__title a,
.sg-card--soldout .sg-card__price {
	color: var(--muted);
}

.sg-badge {
	position: absolute;
	left: 16px;
	top: 16px;
	z-index: 1;
	padding: 7px 12px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}

.sg-badge--ok {
	background: var(--btn);
	color: var(--btn-ink);
}

.sg-badge--sold {
	background: var(--btn);
	color: #fff;
}

.sg-badge--soon {
	background: var(--soon);
	color: #ffffff;
}

.sg-card__body {
	padding: 24px 24px 0;
	gap: 8px;
	flex: 1 1 auto;
}

.sg-card__title {
	font-size: 27px;
	line-height: 1.2;
	margin: 0;
}

.sg-card__sub {
	color: var(--muted);
}

.sg-card__desc {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-2);
}

.sg-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
}

.sg-chips li {
	border: 1px solid var(--line);
	padding: 5px 10px;
	margin: 0;
}

.sg-bar {
	height: 6px;
	background: var(--raised);
	margin-top: 10px;
}

.sg-bar span {
	display: block;
	height: 100%;
	background: var(--btn);
}

.sg-bar__text {
	font-size: 13px;
	color: var(--muted);
}

.sg-cards--cards .sg-card__foot {
	margin: 20px 24px 0;
	padding: 20px 0 24px;
	border-top: 1px solid var(--raised);
}

.sg-card__price {
	font-size: 21px;
	font-weight: 600;
}

.sg-btn--primary {
	padding: 12px 18px;
}

.sg-btn--soon {
	padding: 11px 18px;
	color: var(--btn-text);
	font-weight: 400;
}

.sg-card[hidden],
.sg-howto[hidden],
.sg-feature[hidden] {
	display: none;
}

/* ----- Store kort (forsida, drikke) ----- */
.sg-cards--feature {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
}

.sg-feature {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	background: var(--bg);
}

.sg-feature__media {
	min-height: 380px;
	aspect-ratio: auto;
	background: var(--panel);
	position: relative;
}

.sg-feature__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.sg-feature__body {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sg-feature__title {
	font-size: 32px;
	line-height: 1.15;
	margin: 0;
}

.sg-feature__desc {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-2);
}

.sg-feature__foot {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

/* ----- «Slik handlar du» ----- */
.sg-howto {
	border: 1px solid var(--line);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	justify-content: center;
}

.sg-howto__title {
	font-size: 27px;
	line-height: 1.2;
	margin: 0;
}

.sg-howto__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}

.sg-howto__list li {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 12px;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.sg-howto__n {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--btn);
	color: var(--btn-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}

/* ----- Filter og tal i nettbutikken ----- */
.sg-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 20px;
}

.sg-filter__btn {
	padding: 10px 18px;
	font-size: 15px;
	line-height: 1.4;
	border: 1px solid var(--ink);
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
}

.sg-filter__btn:hover {
	border-color: var(--btn);
}

.sg-filter__btn.is-active {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--bg);
}

.sg-count {
	font-size: 15px;
	color: var(--ink-2);
	white-space: nowrap;
}

/* ----- Promoteringskort (Sauen / Kua) ----- */
.sg-promocards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 32px;
}

.sg-promocard {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	background: var(--panel);
}

.sg-promocard__media {
	position: relative;
	min-height: 300px;
	background: var(--panel);
	overflow: hidden;
}

.sg-promocard__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sg-promocard__body {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sg-promocard__title {
	font-size: 32px;
	line-height: 1.15;
	margin: 0;
}

.sg-promocard__text {
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-2);
	margin: 0;
}

.sg-promocard__price {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--line);
	font-size: 15px;
	font-weight: 600;
}

.sg-promocard .sg-btn {
	align-self: flex-start;
}

/* ======================================================================== *
 * Forsida (ny design)
 * ======================================================================== */
.sg-herocover::before {
	background:
		linear-gradient(90deg, rgba(18, 24, 15, 0.78) 0%, rgba(18, 24, 15, 0.45) 38%, rgba(18, 24, 15, 0) 65%),
		linear-gradient(0deg, rgba(20, 24, 16, 0.3) 0%, rgba(20, 24, 16, 0) 40%);
}

.sg-herocover__loc {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--bg);
	margin: 0 0 4px;
}

.sg-herocover__loc::before {
	content: '';
	width: 36px;
	height: 2px;
	background: #bba0d4;
	flex: none;
}

.sg-herocover .wp-block-button__link {
	background: var(--btn);
	color: var(--btn-ink);
	border: 1px solid var(--btn);
}

.sg-herocover .is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--bg);
	color: var(--bg);
}

/* Statusstripe */
.sg-status-strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	background: var(--panel);
	border-bottom: 1px solid var(--line);
	font-size: 15px;
}

.sg-status-strip__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 22px 32px;
	border-right: 1px solid var(--line);
	color: var(--ink);
	text-decoration: none;
}

.sg-status-strip__item:first-child {
	padding-left: var(--sg-gutter);
}

.sg-status-strip__item:last-child {
	border-right: 0;
}

.sg-status-strip__item:hover {
	background: rgba(255, 255, 255, 0.35);
}

.sg-status-strip__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	flex: none;
	background: var(--btn);
}

.sg-status-strip__dot.sg-dot--soon {
	background: var(--btn);
}

.sg-status-strip__dot.sg-dot--sold {
	background: transparent;
	border: 1px solid var(--muted);
	box-sizing: border-box;
}

/* Introduksjon med nøkkeltal */
.sg-intro {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: 40px clamp(32px, 6vw, 72px);
	padding-block: clamp(64px, 9vw, 120px);
	align-items: center;
	border-bottom: 0;
}

.sg-intro__left {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 620px;
}

.sg-intro__title {
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.1;
	margin: 0;
}

.sg-intro__text {
	font-size: 17px;
	line-height: 1.75;
	color: var(--ink-2);
	margin: 0;
}

.sg-keynums {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid var(--ink);
}

.sg-keynum {
	padding: 28px 24px 28px 0;
	border-bottom: 1px solid var(--raised);
	border-right: 1px solid var(--raised);
}

.sg-keynum:nth-child(2n) {
	padding: 28px 0 28px 24px;
	border-right: 0;
}

.sg-keynum:nth-child(n + 3) {
	border-bottom: 0;
}

.sg-keynum__v {
	font-family: var(--sg-serif);
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	color: var(--accent);
	margin: 0;
}

.sg-keynum__k {
	margin: 8px 0 0;
	font-size: 15px;
}

/* Seksjonshovud */
.sg-section__head--dark {
	align-items: flex-end;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 20px;
}

.sg-section__head--rule {
	border-bottom-color: var(--line);
}

.sg-section__more {
	margin: 0;
	font-size: 16px;
}

.sg-sec--flush-top {
	padding-top: 0;
	padding-bottom: clamp(72px, 9vw, 120px);
}

/* Om oss: bilete over heile breidda med lyst felt */
.wp-block-cover.sg-aboutband {
	position: relative;
	min-height: 620px !important;
	padding: clamp(48px, 6vw, 80px) var(--sg-gutter);
	align-items: center;
	justify-content: flex-end;
	background: #1c2418;
}

.sg-aboutband .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	width: 100%;
	padding: 0;
}

.sg-aboutband__panel {
	background: var(--bg);
	max-width: 520px;
	border-top: 3px solid var(--btn);
	padding: clamp(28px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 18px;
	color: var(--ink);
}

.sg-aboutband__title {
	font-size: clamp(32px, 3.6vw, 42px);
	line-height: 1.1;
	margin: 0;
}

.sg-aboutband__text {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink-2);
	margin: 0;
}

.sg-aboutband__btn {
	margin: 0;
}

/* Kart */
.sg-map {
	margin-bottom: 0;
	background: var(--panel);
}

.sg-map__text {
	padding: clamp(48px, 6vw, 72px) var(--sg-gutter);
	display: flex;
	flex-direction: column;
	gap: 16px;
	justify-content: center;
}

.sg-map__title {
	font-size: clamp(32px, 4vw, 42px);
	line-height: 1.1;
	margin: 0;
}

.sg-map__addr {
	font-size: 17px;
	line-height: 1.7;
	margin: 0;
}

.sg-map__note {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-2);
	max-width: 380px;
	margin: 0;
}

.sg-map__embed {
	min-height: 440px;
	height: 100%;
}

.sg-map__frame {
	width: 100%;
	height: 100%;
	min-height: 440px;
	border: 0;
	display: block;
}

/* ======================================================================== *
 * Om garden (ny design)
 * ======================================================================== */
.sg-lede {
	font-family: var(--sg-serif);
	font-size: clamp(19px, 2vw, 22px);
	line-height: 1.5;
	color: var(--ink);
	margin: 0;
}

.sg-lede--sm {
	font-family: inherit;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ink-2);
	max-width: 600px;
}

.sg-omintro {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 48px clamp(32px, 6vw, 72px);
	padding-block: clamp(64px, 8vw, 110px);
	align-items: start;
}

.sg-intro__sub {
	font-size: 32px;
	line-height: 1.15;
	margin: 18px 0 0;
}

.sg-intro__btns {
	margin-top: 6px;
	gap: 12px;
}

.sg-intro__btns .is-style-outline .wp-block-button__link {
	border-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}

.sg-intro__right {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sg-photoph {
	aspect-ratio: 4 / 3;
	border: 1.5px dashed var(--line);
	background: var(--panel);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--sg-serif);
	font-size: 22px;
	color: var(--muted);
	text-decoration: underline;
	text-underline-offset: 5px;
	text-align: center;
	padding: 16px;
	margin: 0;
}

.sg-keynums3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--ink);
}

.sg-keynum3 {
	padding: 22px 16px 0;
	border-right: 1px solid var(--raised);
}

.sg-keynum3:first-child {
	padding-left: 0;
}

.sg-keynum3:last-child {
	border-right: 0;
}

.sg-keynum3__v {
	font-family: var(--sg-serif);
	font-size: clamp(40px, 4vw, 52px);
	line-height: 1;
	color: var(--accent);
	margin: 0;
}

.sg-keynum3__k {
	font-size: 14px;
	margin: 6px 0 0;
}

.sg-omhead {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 24px clamp(32px, 6vw, 72px);
	align-items: end;
}

.sg-ukl2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 48px clamp(32px, 6vw, 72px);
	padding-block: clamp(64px, 8vw, 110px);
	align-items: center;
}

.sg-ukl__left {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 620px;
}

.sg-ukl__left > * {
	margin: 0;
}

.sg-quote {
	font-family: var(--sg-serif);
	font-size: clamp(19px, 2vw, 22px);
	line-height: 1.5;
	font-style: italic;
	border-left: 3px solid var(--btn);
	padding-left: 20px;
	color: var(--ink);
}

.sg-ukl__right {
	display: flex;
	flex-direction: column;
}

.sg-ukl__photo {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--panel);
}

.sg-ukl__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 40% 60%;
	display: block;
}

.sg-darkstats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: #26302a;
	color: var(--bg);
}

.sg-darkstat {
	padding: 22px 20px;
	border-right: 1px solid var(--ink-2);
}

.sg-darkstat:last-child {
	border-right: 0;
}

.sg-darkstat__v {
	font-family: var(--sg-serif);
	font-size: 28px;
	line-height: 1.1;
	color: #bba0d4;
	margin: 0;
}

.sg-darkstat__k {
	font-size: 13px;
	margin: 6px 0 0;
	color: var(--panel);
}

@media (max-width: 560px) {
	.sg-darkstats {
		grid-template-columns: 1fr;
	}

	.sg-darkstat {
		border-right: 0;
		border-bottom: 1px solid var(--ink-2);
	}
}

/* Faner og mosaikkgalleri */
.sg-tabs__list {
	gap: 28px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 28px;
}

.sg-tabs__tab {
	padding: 0 4px 12px;
	letter-spacing: 0;
	color: var(--ink-2);
	border-bottom-width: 2px;
}

.sg-tabs__tab[aria-selected='true'] {
	font-weight: 600;
	color: var(--ink);
	border-bottom-color: var(--ink);
}

.sg-tabs .wp-block-gallery.has-nested-images.is-mosaic {
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: repeat(2, minmax(0, 240px));
	gap: 12px;
}

.sg-tabs .is-mosaic figure.wp-block-image {
	aspect-ratio: auto;
	background: var(--panel);
	position: relative;
}

.sg-tabs .is-mosaic figure.wp-block-image:first-child {
	grid-row: span 2;
}

.sg-tabs .is-mosaic figure.is-extra {
	display: none !important;
}

.sg-more-label {
	position: absolute;
	inset: 0;
	background: rgba(42, 38, 32, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bg);
	font-size: 17px;
	font-weight: 600;
	pointer-events: none;
}

@media (max-width: 700px) {
	.sg-tabs .wp-block-gallery.has-nested-images.is-mosaic {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none;
		grid-auto-rows: 180px;
	}

	.sg-tabs .is-mosaic figure.wp-block-image:first-child {
		grid-column: 1 / -1;
		grid-row: span 1;
		height: 240px;
	}
}

/* Avisartikkel som kort */
.sg-pressrow {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.sg-presscard {
	display: grid;
	grid-template-columns: 1fr;
	background: var(--bg);
}

.sg-presscard.has-media {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.sg-presscard__media {
	min-height: 340px;
	position: relative;
	overflow: hidden;
	background: var(--panel);
}

.sg-presscard__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sg-presscard__body {
	padding: clamp(28px, 4vw, 44px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sg-presscard__meta {
	font-size: 14px;
	color: var(--muted);
	letter-spacing: 0.04em;
}

.sg-presscard__title {
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.2;
	margin: 0;
}

.sg-presscard__sum {
	font-size: 16px;
	line-height: 1.75;
	color: var(--ink-2);
	margin: 0;
}

.sg-presscard__btn {
	align-self: flex-start;
	border: 1px solid var(--ink);
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	margin-top: 6px;
}

.sg-presscard__btn:hover {
	background: var(--ink);
	color: var(--bg);
}

/* Samarbeidspartnarar: kort med logo i like store felt */
.sg-partners {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 24px;
}

.sg-partner {
	border: 1px solid var(--line);
	gap: 0;
}

.sg-partner__tile {
	height: 150px;
	aspect-ratio: auto;
	background: var(--bg);
	border-bottom: 1px solid var(--line);
	padding: 16px;
}

.sg-partner__tile img {
	max-height: 110px;
	max-width: 70%;
}

.sg-partner__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.sg-partner__body > * {
	margin: 0;
}

.sg-partner__title {
	font-size: 26px;
}

.sg-partner__text {
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-2);
}

.sg-partner__link {
	margin-top: auto !important;
	padding-top: 8px;
}

.sg-partner__link a {
	font-size: 15px;
	font-weight: 600;
	color: var(--accent);
	text-decoration: none;
}

/* ======================================================================== *
 * Sauen, Kua og Kontakt (ny design)
 * ======================================================================== */

/* Øyremerke som tre like kort */
.sg-earcards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 24px;
}

.sg-earcard {
	display: flex;
	flex-direction: column;
	background: var(--panel);
}

.sg-earcard__media {
	position: relative;
	height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid var(--line);
}

.sg-earcard__media .wp-block-image,
.sg-earcard__media figure {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.sg-earcard__img img {
	height: 160px;
	width: auto;
	max-width: 70%;
	object-fit: contain;
}

.sg-earcard__media .sg-earcard__img {
	width: 100%;
}

.sg-earcard__media .sg-earcard__img img {
	margin: 0 auto;
	max-width: 70%;
}

.sg-earcard__n {
	position: absolute;
	left: 20px;
	top: 18px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ink);
	color: var(--bg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 600;
	margin: 0;
	z-index: 1;
}

.sg-earcard__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sg-earcard__title {
	font-size: 28px;
	line-height: 1.15;
	margin: 0;
}

.sg-earcard__text {
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-2);
	margin: 0;
}

.sg-earcards + .sg-legend {
	display: flex;
	align-items: center;
	gap: 14px;
	border-top: 1px solid var(--line);
	padding-top: 22px;
	margin-top: 8px;
	font-size: 16px;
	color: var(--ink);
}

.sg-legend .sg-swatch {
	width: 14px;
	height: 14px;
	border-radius: 0;
	margin: 0;
}

.sg-legend .sg-swatch--yellow {
	background: #f2c22e;
}

.sg-legend .sg-swatch--green {
	background: #3aa64a;
	margin-right: 6px;
}

/* Kua: nummererte punkt */
.sg-nlist-wrap {
	display: flex;
	flex-direction: column;
}

.sg-nlist {
	display: flex;
	flex-direction: column;
	border-top: 2px solid var(--ink);
}

.sg-nlist__item {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 16px;
	padding: 26px 0;
	border-bottom: 1px solid var(--ink);
	align-items: start;
}

.sg-nlist__n {
	font-family: var(--sg-serif);
	font-size: 34px;
	line-height: 1;
	color: var(--accent);
	margin: 0;
}

.sg-nlist__title {
	font-size: 26px;
	line-height: 1.15;
	margin: 0;
}

.sg-nlist__text {
	font-size: 15px;
	color: var(--ink-2);
	margin: 4px 0 0;
}

.sg-nlist__btn {
	margin: 28px 0 0;
}

/* Kontakt: store kort for telefon, e-post og adresse */
.sg-ccards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 24px;
	padding-block: clamp(48px, 6vw, 80px);
}

.sg-ccard {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sg-ccard > * {
	margin: 0;
}

.sg-ccard--panel {
	background: var(--panel);
}

.sg-ccard--line {
	border: 1px solid var(--line);
}

.sg-ccard__big {
	font-family: var(--sg-serif);
	font-size: 36px;
	line-height: 1.1;
}

.sg-ccard__big--sm {
	font-size: 28px;
	line-height: 1.2;
	word-break: break-word;
}

.sg-ccard__btn {
	margin-top: auto !important;
}

.sg-ccard__btn--outline .wp-block-button__link {
	border-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}

.sg-ccard__addr {
	font-size: 17px;
	line-height: 1.7;
}

/* Kontakt: kart over heile breidda med adresseboks oppå */
.sg-mapwide-wrap {
	padding-bottom: clamp(64px, 8vw, 110px);
}

.sg-mapwide {
	position: relative;
	min-height: 520px;
	background: var(--panel);
}

.sg-mapwide__embed {
	position: absolute;
	inset: 0;
}

.sg-mapwide__embed .wp-block-html,
.sg-mapwide__embed iframe {
	width: 100%;
	height: 100%;
}

.sg-mapwide__frame {
	border: 0;
	display: block;
}

.sg-mapwide__box {
	position: relative;
	margin: 40px;
	max-width: 380px;
	background: var(--bg);
	padding: 36px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	border-top: 3px solid var(--btn);
}

.sg-mapwide__box > * {
	margin: 0;
}

.sg-mapwide__title {
	font-size: 36px;
	line-height: 1.1;
}

.sg-mapwide__addr {
	font-size: 17px;
	line-height: 1.7;
}

.sg-mapwide__btns {
	gap: 10px;
	margin-top: 6px !important;
}

@media (max-width: 600px) {
	.sg-mapwide {
		display: flex;
		flex-direction: column;
	}

	.sg-mapwide__embed {
		position: relative;
		height: 320px;
		order: 2;
	}

	.sg-mapwide__box {
		margin: 0;
		max-width: none;
	}
}

/* ======================================================================== *
 * Nettbutikk (ny design)
 * ======================================================================== */
.sg-shophead {
	padding-top: clamp(32px, 5vw, 56px);
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.sg-shophead > * {
	margin: 0;
}

.sg-crumbs-plain {
	font-size: 14px;
	color: var(--ink-2);
}

.sg-crumbs-plain a {
	color: inherit;
}

.sg-shophead__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 24px clamp(32px, 6vw, 72px);
	align-items: end;
}

.sg-shophead__title {
	font-size: clamp(44px, 5vw, 60px);
	line-height: 1.02;
	margin: 0;
}

.sg-shophead__lead {
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-2);
	max-width: 560px;
	margin: 0;
}

.sg-shopsec {
	padding-block: clamp(36px, 5vw, 56px) 40px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.sg-shopsec--last {
	padding-bottom: clamp(72px, 9vw, 120px);
}

.sg-shopsec[hidden] {
	display: none;
}

.sg-shopsec__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
}

.sg-shopsec__head > * {
	margin: 0;
}

/* ======================================================================== *
 * Produktside (ny design)
 * ======================================================================== */
.sg-product {
	padding-top: 28px;
	align-items: start;
}

.sg-product__thumbs {
	grid-template-columns: repeat(4, 1fr);
}

.sg-product__thumb {
	background: var(--panel);
	outline: 0;
}

.sg-product__thumb.is-active {
	outline: 2px solid var(--ink);
	outline-offset: -2px;
}

/* Pris, vekt og slaktedato som tre faktafelt */
.sg-product__cells {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.sg-product__cells--1 {
	grid-template-columns: 1fr;
}

.sg-product__cells--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sg-product__cell {
	padding: 20px 20px;
	border-right: 1px solid var(--line);
	min-width: 0;
}

.sg-product__cell:first-child {
	padding-left: 0;
}

.sg-product__cell:last-child {
	padding-right: 0;
	border-right: 0;
}

.sg-product__cell-k {
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}

.sg-product__cell-v {
	font-family: var(--sg-serif);
	font-size: 30px;
	line-height: 1.1;
	margin-top: 6px;
}

.sg-product__cell-v.is-price {
	font-size: 36px;
}

.sg-product__cell-s {
	font-size: 13px;
	color: var(--muted);
	margin-top: 4px;
}

/* Antall og knapp */
.sg-addtocart form.cart {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 12px;
}

.sg-addtocart .quantity {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
	text-align: center;
	height: 56px;
	border-color: var(--line);
}

.sg-addtocart .quantity .sg-qty-btn {
	padding: 0;
	height: 100%;
}

.sg-addtocart .quantity input.qty {
	width: 100%;
	padding: 0;
}

.sg-addtocart .single_add_to_cart_button {
	height: 56px;
	padding: 0 20px;
	background: var(--btn);
}

.sg-addtocart .single_add_to_cart_button:hover {
	background: var(--ink-2);
}

.sg-product__pay {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	font-size: 14px;
	color: var(--ink-2);
}

.sg-product__pay-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.sg-vipps {
	background: #ff5b24;
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	padding: 3px 7px;
	line-height: 1.2;
}

/* Innhald i kassen med bilde */
.sg-contents__intro .sg-label {
	margin: 0;
}

.sg-contents__title {
	font-size: clamp(32px, 4vw, 44px);
	line-height: 1.1;
}

.sg-contents__intro p {
	max-width: 520px;
}

.sg-contents__img {
	margin-top: 12px;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.sg-contents__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-contents__table {
	justify-content: center;
}

.sg-contents__row {
	padding: 18px 0;
	border-bottom-color: var(--line);
}

.sg-contents__row--total {
	padding: 20px 0;
	font-size: 17px;
	border-top: 2px solid var(--ink);
	margin-top: -1px;
}

@media (max-width: 520px) {
	.sg-product__cell {
		padding: 16px 12px;
	}

	.sg-product__cell-v {
		font-size: 22px;
	}

	.sg-product__cell-v.is-price {
		font-size: 26px;
	}

	.sg-addtocart form.cart {
		grid-template-columns: 1fr;
	}
}

/* ======================================================================== *
 * Handlekorg (ny design)
 * ======================================================================== */
.woocommerce-cart .sg-woo .woocommerce:has(.sg-cart) {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	gap: 0 56px;
	padding: 56px var(--sg-gutter) clamp(72px, 8vw, 100px);
	align-items: start;
}

.woocommerce-cart .sg-woo .woocommerce:has(.sg-cart) > .woocommerce-notices-wrapper,
.woocommerce-cart .sg-woo .woocommerce:has(.sg-cart) > .woocommerce-message,
.woocommerce-cart .sg-woo .woocommerce:has(.sg-cart) > .woocommerce-error {
	grid-column: 1 / -1;
}

.woocommerce-cart .sg-woo .woocommerce > .sg-cart,
.woocommerce-cart .sg-woo .woocommerce > .cart-collaterals {
	margin-inline: 0;
	padding: 0;
}

.sg-cart {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

.sg-cart__title {
	font-size: clamp(40px, 5vw, 52px);
	line-height: 1;
	font-weight: 500;
	margin: 0;
}

.sg-cart__list {
	border-top: 1px solid var(--ink);
}

.sg-cart__item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	gap: 20px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid var(--line);
}

.sg-cart__thumb {
	width: 96px;
	height: 96px;
	background: var(--panel);
	overflow: hidden;
}

.sg-cart__thumb a,
.sg-cart__thumb img {
	display: block;
	width: 100%;
	height: 100%;
}

.sg-cart__thumb img {
	object-fit: cover;
}

.sg-cart__info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.sg-cart__name,
.sg-cart__name a {
	font-family: var(--sg-serif);
	font-size: 23px;
	line-height: 1.2;
	text-decoration: none;
	color: inherit;
}

.sg-cart__sub {
	font-size: 14px;
	color: var(--muted);
}

.sg-cart__ctrl {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 6px;
}

.sg-cart__ctrl .quantity {
	display: grid;
	grid-template-columns: 36px 36px 36px;
	align-items: center;
	text-align: center;
	height: 38px;
	border: 1px solid var(--line);
	font-size: 15px;
}

.sg-cart__ctrl .quantity .sg-qty-btn {
	padding: 0;
	height: 100%;
	font-size: 15px;
}

.sg-cart__ctrl .quantity input.qty {
	width: 100%;
	padding: 0;
	font-size: 15px;
}

.sg-cart .sg-cart__remove {
	font-size: 14px;
	color: var(--ink-2);
	text-decoration: underline;
	text-underline-offset: 4px;
	width: auto;
	height: auto;
	border: 0;
	line-height: 1.2;
	display: inline;
}

.sg-cart .sg-cart__remove:hover {
	color: var(--btn-text);
}

.sg-cart__sum {
	font-size: 18px;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

.sg-cart__each {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: var(--muted);
}

/* Kupong */
.sg-cart__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.sg-cart__coupon {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	float: none;
}

.sg-cart__coupon .input-text {
	width: auto;
	min-width: 220px;
	padding: 14px 16px;
	font-size: 15px;
	border: 1px solid var(--line);
	background: #fff;
	font-family: inherit;
}

.sg-cart__coupon-btn {
	border: 1px solid var(--ink);
	background: transparent;
	color: var(--ink);
	padding: 14px 20px;
	font-size: 15px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
}

.sg-cart__coupon-btn:hover {
	background: var(--ink);
	color: var(--bg);
}

/* «Oppdater» er skjult når JavaScript oppdaterer automatisk */
.sg-js .sg-cart__update {
	display: none;
}

.sg-cart__update {
	border: 1px solid var(--ink);
	background: transparent;
	color: var(--ink);
	padding: 14px 20px;
	font-size: 15px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	float: none;
}

/* Forslag */
.sg-cart__suggest {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	gap: 20px;
	align-items: center;
	background: var(--panel);
	padding: 20px;
	margin-top: 12px;
}

.sg-cart__suggest-img {
	width: 96px;
	height: 96px;
	overflow: hidden;
	background: var(--raised);
}

.sg-cart__suggest-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-cart__suggest-text .sg-label {
	margin: 0;
}

.sg-cart__suggest-name,
.sg-cart__suggest-name a {
	font-family: var(--sg-serif);
	font-size: 22px;
	line-height: 1.2;
	margin-top: 4px;
	color: inherit;
	text-decoration: none;
}

.sg-cart__suggest-btn {
	border: 1px solid var(--btn);
	color: var(--btn-text);
	padding: 11px 16px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.sg-cart__suggest-btn:hover {
	background: var(--btn);
	color: var(--btn-ink);
}

/* Sum */
.sg-cart__collaterals {
	display: block;
	padding: 0;
}

.sg-cart__totals {
	width: 100%;
	background: var(--panel);
	padding: 36px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sg-cart__totals-title {
	font-size: 30px;
	margin: 0 0 12px;
	font-weight: 500;
}

.sg-cart__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
	font-size: 15px;
}

.sg-cart__row--total {
	align-items: baseline;
	padding: 20px 0 4px;
	border-top: 2px solid var(--ink);
	border-bottom: 0;
	margin-top: -1px;
	font-size: 17px;
	font-weight: 600;
}

.sg-cart__row--total > span:last-child,
.sg-cart__row--total .woocommerce-Price-amount {
	font-family: var(--sg-serif);
	font-size: 36px;
	font-weight: 400;
	text-align: right;
}

.sg-cart__row--total small,
.sg-cart__row--total .includes_tax {
	display: block;
	font-family: var(--sg-sans, inherit);
	font-size: 13px;
	font-weight: 400;
	color: var(--muted);
}

.sg-cart__totals .wc-proceed-to-checkout {
	padding-top: 20px;
}

.sg-cart__totals .wc-proceed-to-checkout a.checkout-button {
	background: var(--btn);
	color: var(--btn-ink);
	font-weight: 600;
	font-size: 17px;
	padding: 20px;
	margin: 0;
}

.sg-cart__totals .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--ink-2);
}

.sg-cart__notes {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-2);
}

.sg-cart__note {
	display: flex;
	gap: 10px;
	align-items: center;
}

@media (max-width: 700px) {
	.woocommerce-cart .sg-woo .woocommerce:has(.sg-cart) {
		padding-top: 32px;
		gap: 40px 0;
	}

	.sg-cart__item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 16px;
	}

	.sg-cart__thumb {
		width: 72px;
		height: 72px;
	}

	.sg-cart__sum {
		grid-column: 2;
		text-align: left;
	}

	.sg-cart__each {
		display: inline;
		margin-left: 8px;
	}

	.sg-cart__suggest {
		grid-template-columns: 72px 1fr;
	}

	.sg-cart__suggest-img {
		width: 72px;
		height: 72px;
	}

	.sg-cart__suggest-btn {
		grid-column: 1 / -1;
		text-align: center;
	}

	.sg-cart__totals {
		padding: 24px;
	}
}

/* Handlekorg: rettingar */
.woocommerce-cart .sg-woo .woocommerce:has(.sg-cart) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.sg-js .sg-cart__update {
	display: none !important;
}

.sg-cart__row--total > span:last-child,
.sg-cart__row--total .woocommerce-Price-amount {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	text-align: right;
}

.sg-cart__row--total strong,
.sg-cart__row--total strong .woocommerce-Price-amount {
	font-family: var(--sg-serif);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.1;
}

.sg-cart__row--total small.includes_tax {
	display: block;
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	color: var(--muted);
	text-align: right;
	margin-top: 4px;
}

.sg-cart__row--total small.includes_tax .woocommerce-Price-amount {
	font-size: inherit;
}

.sg-cart__coupon {
	flex-wrap: nowrap;
}

.sg-cart__coupon .input-text {
	width: 240px;
	min-width: 0;
	flex: 0 1 240px;
	box-sizing: border-box;
}

.sg-cart__coupon-btn {
	white-space: nowrap;
	flex: none;
}

/* Kassa: bredder, klebrig oppsummering og «Kva skjer etterpå?» */
@media (min-width: 900px) {
	.sg-checkout {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	}
}

.sg-checkout__sticky {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sg-next {
	margin-top: 32px;
	background: var(--bg);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sg-next__title {
	font-family: var(--sg-serif);
	font-size: 22px;
	font-weight: 500;
	margin: 0;
}

.sg-next__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 14px;
	line-height: 1.6;
}

.sg-next__list li {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 12px;
}

.sg-next__n {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid var(--accent);
	color: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
}

/* Galleri: ikkje la bileta presse rutenettet breiare enn skjermen */
.sg-tabs .wp-block-gallery.has-nested-images.is-mosaic {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}

.sg-tabs .is-mosaic figure.wp-block-image {
	min-width: 0;
	max-width: 100%;
	width: auto;
}

.sg-tabs .is-mosaic figure.wp-block-image img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
}

@media (max-width: 700px) {
	.sg-tabs .wp-block-gallery.has-nested-images.is-mosaic {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.sg-addtocart .quantity input.qty,
.sg-cart__ctrl .quantity input.qty {
	border: 0;
	background: transparent;
	box-shadow: none;
	outline: 0;
}

/* Vipps-merket: den offisielle logoen (oransje flate med kvit tekst), beskoren til ordmerket */
.sg-vipps {
	display: inline-block;
	flex: none;
	width: 64px;
	height: 24px;
	padding: 0;
	overflow: hidden;
	text-indent: -9999px;
	white-space: nowrap;
	font-size: 0;
	background: #ff5b24 url('../images/vipps-logo.avif') center / 190% auto no-repeat;
}

.sg-vipps {
	width: 72px;
	height: 26px;
	background-size: 165% auto;
}

/* Bilete av Jørgen og Stina */
.sg-intro__photo {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--panel);
}

.sg-intro__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 30% 50%;
	display: block;
}

/* Biletet er berre 680 px breitt: vis det ikkje større enn det er, og utan å zoome inn */
.sg-intro__photo {
	aspect-ratio: 680 / 453;
	max-width: 680px;
	width: 100%;
}

/* ======================================================================== *
 * Vinraude flater (#144931) i staden for den grønnbeige: lys tekst på flatene
 * ======================================================================== */
.sg-notify,
.sg-contents,
.sg-panel,
.sg-beitelag,
.sg-checkout__aside,
.cart_totals,
.sg-statstrip,
.sg-bg-panel,
.sg-infobox,
.sg-cards--cards .sg-card,
.sg-promocard,
.sg-earcard,
.sg-ccard--panel,
.sg-cart__suggest,
.sg-map,
.sg-mapwide,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
form.checkout_coupon {
	color: var(--bg);
}

.sg-notify :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-contents :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-beitelag :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-checkout__aside :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.cart_totals :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-statstrip :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-bg-panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-infobox :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-cards--cards .sg-card :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-promocard :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-earcard :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-ccard--panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-cart__suggest :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-map :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.woocommerce-message :where(span, div, a, strong, p),
.woocommerce-info :where(span, div, a, strong, p),
.woocommerce-error :where(span, div, a, strong, p, li),
form.checkout_coupon :where(p, span, a, label) {
	color: inherit;
}

/* Små titlar med tak: lys oliven på mørk flate */
.sg-notify .sg-label,
.sg-contents .sg-label,
.sg-panel .sg-label,
.sg-beitelag .sg-label,
.sg-bg-panel .sg-label,
.sg-infobox .sg-label,
.sg-promocard .sg-label,
.sg-earcard .sg-label,
.sg-cart__suggest .sg-label,
.sg-map .sg-label,
.sg-mapwide .sg-label {
	color: var(--panel);
}

/* Knappar på vinraud flate */
.sg-bg-panel :where(.wp-block-button__link, .button),
.sg-infobox :where(.wp-block-button__link, .button),
.sg-beitelag :where(.wp-block-button__link, .button),
.sg-promocard :where(.wp-block-button__link, .button),
.sg-cart__totals :where(.checkout-button, .button),
.cart_totals :where(.checkout-button, .button),
.sg-contents :where(.wp-block-button__link, .button) {
	background: var(--btn);
	color: var(--btn-ink);
	border-color: var(--btn);
}

.sg-bg-panel :where(.is-style-outline .wp-block-button__link),
.sg-infobox :where(.is-style-outline .wp-block-button__link),
.sg-beitelag :where(.is-style-outline .wp-block-button__link),
.sg-promocard :where(.is-style-outline .wp-block-button__link),
.sg-mapwide :where(.is-style-outline .wp-block-button__link) {
	background: transparent;
	color: var(--bg);
	border-color: var(--bg);
}

.sg-cart__suggest-btn {
	border-color: var(--panel);
	color: var(--panel);
}

.sg-cart__suggest-btn:hover {
	background: var(--panel);
	color: var(--btn-ink);
}

/* Lyse boksar inni dei vinraude flatene beheld mørk tekst */
.sg-next,
.sg-next :where(h3, li, span, p),
.sg-mapwide__box,
.sg-mapwide__box :where(h1, h2, h3, p, span, div, a) {
	color: var(--ink);
}

.sg-next__n {
	color: var(--accent);
}

/* Lyse kort på vinraude flater: mørk tekst som før */
.sg-feature,
.sg-aboutband__panel,
.sg-presscard {
	color: var(--ink);
}

.sg-feature :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, bdi),
.sg-feature :where(a):not(.sg-btn):not(.button):not(.wp-block-button__link),
.sg-aboutband__panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, a, bdi),
.sg-presscard :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, bdi) {
	color: inherit;
}

.sg-feature .sg-label,
.sg-aboutband__panel .sg-label {
	color: var(--accent);
}

.sg-contents .sg-contents__intro p,
.sg-contents .sg-contents__title,
.sg-contents .sg-contents__row,
.sg-contents .sg-contents__row span {
	color: var(--bg);
}

.sg-contents .sg-contents__intro p,
.sg-contents .sg-muted {
	color: var(--raised);
}

/* Tidslinja på vinraud flate */
.sg-bg-panel .sg-tl__item {
	border-top-color: var(--line);
}

.sg-bg-panel .sg-tl__item::before {
	background: var(--line);
}

.sg-bg-panel .sg-tl__item.is-key::before {
	background: var(--panel);
}

.sg-earcard .sg-earcard__n {
	background: var(--bg);
	color: var(--accent);
}

.sg-ccard--panel .sg-ccard__btn--outline .wp-block-button__link {
	background: transparent;
	color: var(--bg);
	border-color: var(--bg);
}

.sg-ccard--panel .sg-ccard__btn:not(.sg-ccard__btn--outline) .wp-block-button__link {
	background: var(--btn);
	color: var(--btn-ink);
}

/* «Kjem snart»-boksen har gjennomsiktig botn og står på lys side */
.sg-notify--soon,
.sg-notify--soon :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, a, label) {
	color: var(--ink);
}

.sg-notify--soon .sg-label {
	color: var(--muted);
}

/* ======================================================================== *
 * Sekundærfarge #26302A som flate: skifter med vinraudt gjennom sidene
 * ======================================================================== */
.sg-statstrip,
.sg-infobox,
.sg-map,
.sg-bg-panel:has(.sg-photos),
.sg-bg-panel:has(.sg-pressrow) {
	background: var(--panel);
}

.sg-statstrip :where(.wp-block-button__link, .button),
.sg-infobox :where(.wp-block-button__link, .button),
.sg-map :where(.wp-block-button__link, .button),
.sg-bg-panel:has(.sg-photos) :where(.wp-block-button__link, .button),
.sg-bg-panel:has(.sg-pressrow) :where(.wp-block-button__link, .button) {
	background: var(--btn);
	color: var(--btn-ink);
	border-color: var(--btn);
}

.sg-infobox :where(.is-style-outline .wp-block-button__link),
.sg-map :where(.is-style-outline .wp-block-button__link),
.sg-bg-panel:has(.sg-pressrow) :where(.is-style-outline .wp-block-button__link) {
	background: transparent;
	color: var(--bg);
	border-color: var(--bg);
}

/* Sekundærfargen også i nettbutikken */
.sg-contents,
.sg-cart__suggest,
.sg-checkout__aside {
	background: var(--panel);
}

/* ======================================================================== *
 * Beige-kvit flater (#d3d9c1): mørk tekst
 * ======================================================================== */
.sg-statstrip,
.sg-infobox,
.sg-map,
.sg-contents,
.sg-cart__suggest,
.sg-checkout__aside,
.sg-bg-panel:has(.sg-photos),
.sg-bg-panel:has(.sg-pressrow) {
	color: var(--ink);
}

.sg-statstrip .sg-label,
.sg-infobox .sg-label,
.sg-map .sg-label,
.sg-contents .sg-label,
.sg-cart__suggest .sg-label,
.sg-bg-panel:has(.sg-photos) .sg-label,
.sg-bg-panel:has(.sg-pressrow) .sg-label {
	color: var(--muted);
}

.sg-infobox :where(.is-style-outline .wp-block-button__link),
.sg-map :where(.is-style-outline .wp-block-button__link),
.sg-bg-panel:has(.sg-pressrow) :where(.is-style-outline .wp-block-button__link) {
	background: transparent;
	color: var(--ink);
	border-color: var(--ink);
}

.sg-cart__suggest-btn {
	border-color: var(--ink);
	color: var(--ink);
}

.sg-cart__suggest-btn:hover {
	background: var(--ink);
	color: var(--panel);
}

.sg-contents .sg-contents__intro p,
.sg-contents .sg-contents__title,
.sg-contents .sg-contents__row,
.sg-contents .sg-contents__row span,
.sg-contents .sg-muted {
	color: var(--ink);
}

.sg-contents .sg-contents__row {
	border-bottom-color: var(--raised);
}

.sg-checkout__aside .sg-summary__edit,
.sg-checkout__aside :where(.sg-row, .sg-summary__item) {
	border-color: var(--raised);
}

.sg-next {
	border: 1px solid var(--raised);
}

/* Produktbilde: ingen farga sidefelt; biletet viser seg i sitt eige format */
.sg-product__main {
	aspect-ratio: auto;
	background: transparent;
}

.sg-product__main img {
	width: 100%;
	height: auto;
	max-height: min(80vh, 760px);
	object-fit: contain;
	object-position: left top;
}

.sg-product__main--empty {
	aspect-ratio: 1 / 1;
	background: var(--sg-panel);
}

/* Produktside: bildet og informasjonen tett på kvarandre */
@media (min-width: 1000px) {
	.sg-product {
		grid-template-columns: minmax(0, 600px) minmax(0, 680px);
		justify-content: start;
		gap: clamp(24px, 2.5vw, 40px);
	}
}

/* ======================================================================== *
 * Lagerstatus: vanlege signalfargar (grøn = på lager, oransje = kjem snart, raud = utselt)
 * ======================================================================== */
.sg-status.sg-status--ok {
	color: var(--ok);
}

.sg-status.sg-status--soon {
	color: var(--soon-text);
}

.sg-status.sg-status--sold {
	color: var(--btn-text);
}

.sg-status--ok .sg-dot {
	background: var(--ok);
}

.sg-status--soon .sg-dot {
	background: var(--soon);
}

.sg-status--sold .sg-dot {
	background: var(--btn);
	border: 0;
}

.sg-badge.sg-badge--ok {
	background: var(--ok);
	color: #fff;
}

.sg-badge.sg-badge--soon {
	background: #e08a1e;
	color: #ffffff;
}

.sg-badge.sg-badge--sold {
	background: var(--btn);
	color: #fff;
}

.sg-bar span,
.sg-parti__bar span {
	background: var(--ok);
}

.sg-card--soon .sg-bar span,
.sg-card--soldout .sg-bar span {
	background: var(--btn);
}

.sg-status-strip__dot {
	background: var(--ok);
}

.sg-status-strip__dot.sg-dot--soon {
	background: var(--soon);
}

.sg-status-strip__dot.sg-dot--sold {
	background: var(--btn);
}

/* Produktside: innhaldet sentrert på store skjermar, så høgre side ikkje blir tom */
@media (min-width: 1000px) {
	.sg-product {
		grid-template-columns: minmax(0, 680px) minmax(0, 680px);
		justify-content: center;
		gap: clamp(32px, 3.5vw, 48px);
	}

	.sg-product__main img {
		max-height: min(86vh, 860px);
	}

	.sg-crumbs {
		padding-inline-start: max(var(--sg-gutter), calc((100% - 1408px) / 2));
	}
}

/* Kontakt: adresseboksen ligg ved sida av kartet, ikkje oppå det */
@media (min-width: 601px) {
	.sg-mapwide {
		display: grid;
		grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
		min-height: 520px;
	}

	.sg-mapwide__box {
		order: 1;
		margin: 0;
		max-width: none;
		justify-content: center;
		padding: clamp(28px, 3vw, 44px);
	}

	.sg-mapwide__embed {
		order: 2;
		position: relative;
		inset: auto;
		min-height: 520px;
	}

	.sg-mapwide__embed .wp-block-html,
	.sg-mapwide__embed iframe {
		display: block;
		width: 100%;
		height: 100%;
		min-height: 520px;
	}
}

.sg-mapwide .sg-mapwide__box .sg-label {
	color: var(--accent);
}

/* Utselt-kort på mørk flate: tittelen skal vere kvit og lesbar */
.sg-cards--cards .sg-card--soldout .sg-card__title,
.sg-cards--cards .sg-card--soldout .sg-card__title a {
	color: #fff;
}

/* Om oss på forsida: høgare felt, så det kvadratiske biletet ikkje blir zooma inn til ein smal stripe */
.wp-block-cover.sg-aboutband {
	min-height: clamp(560px, 62vw, 960px) !important;
}

.sg-aboutband .wp-block-cover__image-background {
	object-position: 40% 50% !important;
}

@media (max-width: 700px) {
	.wp-block-cover.sg-aboutband {
		min-height: 640px !important;
	}
}

/* Om oss (brei skjerm): biletet står til venstre i sitt eige format og teksten i feltet til høgre, utan å dekke dyra */
@media (min-width: 901px) {
	.wp-block-cover.sg-aboutband {
		background: var(--bg);
		min-height: clamp(560px, 56vw, 880px) !important;
		padding: 0;
	}

	.sg-aboutband .wp-block-cover__image-background {
		width: 62%;
		right: auto;
		left: 0;
		object-position: 40% 50% !important;
	}

	.sg-aboutband .wp-block-cover__inner-container {
		width: 38%;
		margin-left: auto;
		padding: clamp(32px, 4vw, 64px);
		box-sizing: border-box;
		justify-content: center;
	}

	.sg-aboutband__panel {
		max-width: 520px;
		width: 100%;
	}
}

/* Galleri-mosaikk: bileta fyller berre sin eigen rute og går ikkje utanfor feltet (også på brei skjerm) */
.sg-tabs .is-mosaic figure.wp-block-image {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.sg-tabs .is-mosaic figure.wp-block-image > img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.sg-tabs .wp-block-gallery.has-nested-images.is-mosaic {
	grid-template-rows: repeat(2, minmax(0, clamp(240px, 17vw, 330px)));
}

/* Varsel (t.d. «Handlekorga er tom») på mørk flate: lys tekst og ikon */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .cart-empty.woocommerce-info,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	color: var(--bg) !important;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	color: var(--bg) !important;
}

.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button) {
	color: var(--bg) !important;
	text-decoration: underline;
}

.woocommerce .wc-block-components-notice-banner,
.woocommerce-notices-wrapper .wc-block-components-notice-banner,
.wc-block-components-notice-banner :where(div, span, p, a, li, strong) {
	color: var(--bg);
}

.woocommerce .wc-block-components-notice-banner > svg {
	fill: var(--bg);
	background: transparent;
}

.woocommerce .wc-block-components-notice-banner a:not(.button) {
	color: var(--bg);
	text-decoration: underline;
}

/* ======================================================================== *
 * Ny navbar (v2)
 * ======================================================================== */
.wp-block-group.sg-hdr {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	height: 132px;
	margin: 0;
	padding: 0;
	background: #1e2620;
	color: var(--bg);
	border-bottom: 3px solid var(--btn);
	overflow: hidden;
	isolation: isolate;
	font-size: 15px;
}

.sg-hdr::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -2;
	background: url('../images/navbar-fjell-topper.jpg') 50% 50% / cover no-repeat;
	filter: grayscale(1) contrast(1.05);
	opacity: 0.38;
}

.sg-hdr::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.2), rgba(30, 38, 32, 0.55));
}

.sg-hdr__logo {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 340px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding-left: 48px;
	background: #000;
	clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);
}

.sg-hdr__logo .wp-block-image {
	margin: 0;
}

.sg-hdr .sg-logo img {
	width: 210px;
	max-width: 100%;
	height: auto;
	display: block;
}

/* Meny */
.sg-hdr__nav {
	position: relative;
	z-index: 1;
	padding: 0 40px;
	font-family: var(--sg-serif);
	font-size: 20px;
}

.sg-hdr__nav .wp-block-navigation__container {
	gap: 44px;
	flex-wrap: nowrap;
}

.sg-hdr__nav .wp-block-navigation-item__content {
	position: relative;
	display: block;
	padding: 22px 0 10px;
	color: var(--panel);
	font-family: var(--sg-serif);
	font-size: 20px;
	text-decoration: none;
	transition: color 0.2s ease, text-shadow 0.2s ease;
}

.sg-hdr__nav .wp-block-navigation-item__content:hover,
.sg-hdr__nav .wp-block-navigation-item__content:focus-visible {
	color: #fff;
	text-shadow: 0 0 6px rgba(230, 220, 200, 0.95), 0 0 16px rgba(230, 220, 200, 0.7), 0 0 28px rgba(230, 220, 200, 0.45);
}

/* Taket frå småtitlane (tak.png) dukkar opp over lenka ved hover, og står fast på aktiv side */
.sg-hdr__nav .wp-block-navigation-item__content::before,
.sg-hdr__shop::before {
	content: '';
	position: absolute;
	left: 50%;
	width: 48px;
	aspect-ratio: 480 / 114;
	background: var(--btn);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
	opacity: 0;
	transform: translate(-50%, 5px);
	transition: opacity 0.22s ease, transform 0.22s ease;
	pointer-events: none;
}

.sg-hdr__nav .wp-block-navigation-item__content::before {
	top: 0;
}

.sg-hdr__shop::before {
	top: -13px;
}

.sg-hdr__nav .wp-block-navigation-item__content:hover::before,
.sg-hdr__nav .wp-block-navigation-item__content:focus-visible::before,
.sg-hdr__nav .wp-block-navigation-item__content[aria-current]::before,
.sg-hdr__shop:hover::before,
.sg-hdr__shop:focus-visible::before,
.sg-hdr__shop[aria-current]::before {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* Aktiv side: kvit tekst */
.sg-hdr__nav .wp-block-navigation-item__content[aria-current] {
	color: #fff;
}

/* «Nettbutikk» i menyen vises bare i mobilmenyen */
.sg-hdr__nav .sg-hdr__nav-shop {
	display: none;
}

/* Høgre side */
.sg-hdr__right {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding-right: 48px;
}

.sg-hdr__right > * {
	margin: 0;
}

.sg-hdr__shop {
	position: relative;
	display: inline-block;
	background: var(--btn);
	color: var(--btn-ink);
	padding: 13px 22px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
	transition: box-shadow 0.2s ease;
}

.sg-hdr__shop:hover,
.sg-hdr__shop:focus-visible {
	color: var(--btn-ink);
	box-shadow: 0 0 6px rgba(230, 220, 200, 0.95), 0 0 16px rgba(230, 220, 200, 0.7), 0 0 28px rgba(230, 220, 200, 0.45);
}


.sg-hdr .sg-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 11px 16px;
	background: transparent;
	border: 1.5px solid var(--panel);
	color: var(--bg);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: box-shadow 0.2s ease;
}

.sg-hdr .sg-cart-link:hover,
.sg-hdr .sg-cart-link:focus-visible {
	color: var(--bg);
	box-shadow: 0 0 6px rgba(230, 220, 200, 0.95), 0 0 16px rgba(230, 220, 200, 0.7), 0 0 28px rgba(230, 220, 200, 0.45);
}

.sg-hdr .sg-cart-count {
	min-width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--bg);
	color: var(--ink);
	font-size: 12px;
	padding: 0 4px;
	box-sizing: border-box;
}

/* Mobil og nettbrett: menyen bak «Meny»-knappen */
.sg-hdr .wp-block-navigation__responsive-container-open {
	color: var(--bg);
	padding: 8px;
}

@media (max-width: 900px) {
	/* Logofeltet har same proporsjonar som på desktop (340 / 210 / 48 px, skalert med 0,71) */
	.wp-block-group.sg-hdr {
		height: 94px;
	}

	.sg-hdr__logo {
		width: 243px;
		padding-left: 34px;
	}

	.sg-hdr .sg-logo img {
		width: 150px;
	}

	.sg-hdr__nav {
		justify-self: end;
		padding: 0 8px;
	}

	.sg-hdr .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.sg-hdr .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.sg-hdr__right {
		padding-right: 16px;
	}

	.sg-hdr__shop {
		display: none;
	}

	.sg-hdr__nav .sg-hdr__nav-shop {
		display: block;
	}

	.sg-hdr .sg-cart-link {
		padding: 9px 12px;
		font-size: 14px;
	}
}

@media (max-width: 420px) {
	.wp-block-group.sg-hdr {
		height: 82px;
	}

	.sg-hdr__logo {
		width: 211px;
		padding-left: 30px;
	}

	.sg-hdr .sg-logo img {
		width: 130px;
	}

	.sg-hdr .sg-cart-link {
		gap: 6px;
		padding: 8px 10px;
	}
}

/* Opna mobilmeny */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open {
	background: #141a16;
	color: var(--bg);
	padding: 24px;
}

.sg-hdr .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
}

.sg-hdr .is-menu-open .wp-block-navigation__container {
	gap: 4px;
	align-items: flex-start;
}

.sg-hdr .is-menu-open .wp-block-navigation-item__content {
	color: var(--bg);
	font-size: 28px;
	padding: 10px 0;
}

.sg-hdr .is-menu-open .wp-block-navigation-item__content[aria-current] {
	color: #bba0d4;
}

/* Taket vises også i mobilmenyen: over aktiv lenke og når ein trykkjer på ei lenke */
.sg-hdr .is-menu-open .wp-block-navigation-item__content {
	display: inline-block;
	padding: 30px 0 10px;
}

.sg-hdr .is-menu-open .wp-block-navigation-item__content::before {
	top: 10px;
	width: 56px;
	left: 50%;
}

.sg-hdr .is-menu-open .wp-block-navigation-item__content:active::before {
	opacity: 1;
	transform: translate(-50%, 0);
}

.sg-hdr .is-menu-open .sg-hdr__nav-shop {
	display: block;
}

.sg-hdr .wp-block-navigation__responsive-container-close svg {
	fill: var(--bg);
}

.sg-hdr__nav {
	z-index: 5;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open,
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open.has-background {
	background-color: #141a16 !important;
	color: var(--bg) !important;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--bg) !important;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current] {
	color: #bba0d4 !important;
}

.sg-hdr .wp-block-navigation__responsive-container-open svg,
.sg-hdr .wp-block-navigation__responsive-container-close svg {
	fill: var(--bg);
}

/* Mobilmeny: fjellbilete i bakgrunnen og meir luft mellom lenkene */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open,
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open.has-background {
	background-image: linear-gradient(180deg, rgba(20, 26, 22, 0.55), rgba(20, 26, 22, 0.88)), url('../images/fjellet-utsikt.jpg');
	background-size: cover;
	background-position: 50% 40%;
	background-repeat: no-repeat;
	background-blend-mode: normal, luminosity;
}

.sg-hdr .is-menu-open .wp-block-navigation__container {
	gap: 14px;
	align-items: flex-start;
}

.sg-hdr .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 64px;
}

/* Mobilmeny: sterkare reglar, så WordPress sin standardmeny ikkje overstyrer avstanden */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	gap: 12px !important;
	align-items: flex-start !important;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
	display: inline-block !important;
	padding: 34px 0 10px !important;
	font-size: 28px;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::before {
	top: 8px;
}

/* Mobil: ingen grå trykkmarkering når ein trykkjer på lenker og knappar (nettlesaren sin standard) */
html,
a,
button,
input,
select,
textarea,
[role='button'],
.wp-block-button__link,
.wp-block-navigation-item__content,
.sg-btn,
.sg-card,
.sg-card a {
	-webkit-tap-highlight-color: transparent;
}

/* Eit lite, eige trykksvar i staden for */
.wp-block-button__link:active,
.sg-btn:active,
.single_add_to_cart_button:active,
.sg-hdr__shop:active,
.sg-cart-link:active {
	filter: brightness(0.92);
}

/* ======================================================================== *
 * Mobil: ingen klistra hover (grått/mørkt glimt før neste side lastar) og stabilt hero-bilete
 * ======================================================================== */
*,
*::before,
*::after {
	-webkit-tap-highlight-color: transparent;
}

/* Hover-svar berre på einingar med mus. Knappar blir litt mørkare. */
@media (hover: hover) {
	.wp-block-button__link:hover,
	.wp-element-button:hover,
	.sg-btn:hover {
		filter: brightness(0.9);
	}
}

/* Berøringsskjermar: ikkje la «hover» bli ståande etter trykk */
@media (hover: none) {
	.sg-addtocart .single_add_to_cart_button:hover,
	.sg-cart__totals .wc-proceed-to-checkout a.checkout-button:hover,
	.wc-proceed-to-checkout a.checkout-button:hover {
		background: var(--btn);
	}

	.sg-header--site a:hover,
	.sg-footer--site a:hover {
		color: inherit;
	}
}

/* Hero på forsida: høgda skal ikkje følgje med når adresselinja i nettlesaren skjuler seg ved scrolling.
   «svh» er den vesle (faste) skjermhøgda, så bildet blir ikkje større eller mindre medan ein scrollar. */
@supports (height: 1svh) {
	.wp-block-cover.sg-herocover {
		min-height: min(84svh, 820px) !important;
	}
}

@media (max-width: 700px) {
	.wp-block-cover.sg-herocover {
		min-height: 560px !important;
	}

	.sg-herocover .wp-block-cover__image-background {
		will-change: auto;
		transform: scale(1.18);
		transform-origin: 45% 100%;
	}
}

/* ======================================================================== *
 * Lysare mørkeskjerm over heltebileta (forside og undersider); tekstskygge held teksten lesbar
 * ======================================================================== */
.sg-herocover::before {
	background:
		linear-gradient(90deg, rgba(18, 24, 15, 0.5) 0%, rgba(18, 24, 15, 0.28) 38%, rgba(18, 24, 15, 0) 65%),
		linear-gradient(0deg, rgba(20, 24, 16, 0.2) 0%, rgba(20, 24, 16, 0) 40%);
}

.sg-subhero::before {
	background:
		linear-gradient(0deg, rgba(18, 24, 15, 0.52) 0%, rgba(18, 24, 15, 0.26) 45%, rgba(18, 24, 15, 0) 75%),
		linear-gradient(90deg, rgba(18, 24, 15, 0.42) 0%, rgba(18, 24, 15, 0.28) 45%, rgba(18, 24, 15, 0) 72%);
}

.sg-subhero--om::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.46) 0%, rgba(18, 24, 15, 0.14) 45%, rgba(18, 24, 15, 0) 70%);
}

.sg-subhero--kontakt::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.5) 0%, rgba(18, 24, 15, 0.24) 50%, rgba(18, 24, 15, 0.04) 100%);
}

.sg-herocover__title,
.sg-herocover__lead,
.sg-herocover__loc,
.sg-subhero__title,
.sg-subhero__lead,
.sg-subhero__crumbs,
.sg-subhero .sg-label {
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45), 0 0 3px rgba(0, 0, 0, 0.25);
}

/* Enda litt lysare mørkeskjerm (ca. 10 prosentpoeng lågare dekning) */
.sg-herocover::before {
	background:
		linear-gradient(90deg, rgba(18, 24, 15, 0.4) 0%, rgba(18, 24, 15, 0.2) 38%, rgba(18, 24, 15, 0) 65%),
		linear-gradient(0deg, rgba(20, 24, 16, 0.12) 0%, rgba(20, 24, 16, 0) 40%);
}

.sg-subhero::before {
	background:
		linear-gradient(0deg, rgba(18, 24, 15, 0.42) 0%, rgba(18, 24, 15, 0.18) 45%, rgba(18, 24, 15, 0) 75%),
		linear-gradient(90deg, rgba(18, 24, 15, 0.32) 0%, rgba(18, 24, 15, 0.2) 45%, rgba(18, 24, 15, 0) 72%);
}

.sg-subhero--om::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.38) 0%, rgba(18, 24, 15, 0.08) 45%, rgba(18, 24, 15, 0) 70%);
}

.sg-subhero--kontakt::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.4) 0%, rgba(18, 24, 15, 0.16) 50%, rgba(18, 24, 15, 0) 100%);
}

/* Om garden har eit lyst, urolig bilete bak teksten: litt sterkare tekstskygge på dei små tekstane */
.sg-subhero--om .sg-label,
.sg-subhero--om .sg-subhero__lead,
.sg-subhero--om .sg-subhero__crumbs {
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.75), 0 0 3px rgba(0, 0, 0, 0.6);
}

/* Logoen står på strekken nedst i toppen og blir større når det er plass */
.wp-block-group.sg-hdr {
	--hdr-h: clamp(132px, 8.2vw, 168px);
	height: var(--hdr-h);
}

.sg-hdr__logo {
	width: calc(var(--hdr-h) * 2.58);
	padding-left: calc(var(--hdr-h) * 0.36);
	align-items: flex-end;
}

.sg-hdr .sg-logo img {
	height: calc(var(--hdr-h) - 3px);
	width: auto;
	max-width: none;
}

@media (max-width: 900px) {
	.wp-block-group.sg-hdr {
		--hdr-h: 94px;
	}

	.sg-hdr__logo {
		width: 243px;
		padding-left: 34px;
	}
}

@media (max-width: 420px) {
	.wp-block-group.sg-hdr {
		--hdr-h: 82px;
	}

	.sg-hdr__logo {
		width: 211px;
		padding-left: 30px;
	}
}

/* Logoen litt lenger til venstre, og logofeltet smalare, så det ikkje blir eit stort tomt område */
.sg-hdr__logo {
	width: calc(var(--hdr-h) * 2.36);
	padding-left: calc(var(--hdr-h) * 0.15);
}

@media (max-width: 900px) {
	.sg-hdr__logo {
		width: 225px;
		padding-left: 16px;
	}
}

@media (max-width: 420px) {
	.sg-hdr__logo {
		width: 195px;
		padding-left: 14px;
	}
}

/* WordPress-verktøylinja er skjult på nettstaden; fjernar òg plassen ho elles tek øvst */
#wpadminbar {
	display: none !important;
}

html {
	margin-top: 0 !important;
}

/* ======================================================================== *
 * Språkvelgar: nedtrekksliste i toppen (nynorsk · bokmål · engelsk)
 * ======================================================================== */
.sg-lang {
	position: relative;
	margin: 0 6px 0 0;
}

.sg-lang__dd {
	position: relative;
}

.sg-lang__btn {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 9px 10px;
	list-style: none;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--bg);
	border: 1px solid rgba(230, 220, 200, 0.45);
	transition: border-color 0.2s ease, background-color 0.2s ease;
	user-select: none;
}

.sg-lang__btn::-webkit-details-marker {
	display: none;
}

.sg-lang__btn:hover,
.sg-lang__dd[open] .sg-lang__btn {
	border-color: var(--panel);
	background: rgba(244, 245, 236, 0.08);
}

.sg-lang__btn:focus-visible {
	outline: 2px solid #bba0d4;
	outline-offset: 2px;
}

.sg-lang__chev {
	transition: transform 0.2s ease;
}

.sg-lang__dd[open] .sg-lang__chev {
	transform: rotate(180deg);
}

.sg-lang__list {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 40;
	min-width: 180px;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	background: #141a16;
	border: 1px solid rgba(230, 220, 200, 0.35);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.sg-lang__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	font-size: 14px;
	color: var(--panel);
	text-decoration: none;
	white-space: nowrap;
}

.sg-lang__code {
	min-width: 22px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #bba0d4;
}

.sg-lang__item:hover,
.sg-lang__item:focus-visible {
	background: rgba(244, 245, 236, 0.1);
	color: #fff;
}

.sg-lang__item.is-current {
	color: #fff;
	background: rgba(187, 160, 212, 0.16);
}

@media (max-width: 900px) {
	.sg-lang {
		margin: 0 4px 0 0;
	}

	.sg-lang__btn {
		padding: 8px 9px;
		font-size: 12px;
	}
}

@media (max-width: 480px) {
	.sg-hdr .sg-lang {
		display: none;
	}
}

/* Toppen må ligge over innhaldet under, så lista ikkje blir skjult */
.wp-block-group.sg-hdr {
	z-index: 30;
	overflow: visible;
}

/* Språkvelgar i opna mobilmeny */
.sg-lang--menu {
	display: none;
}

.sg-hdr .is-menu-open .sg-lang--menu {
	display: block;
	margin: 28px 0 0;
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__item {
	font-size: 15px;
	padding: 8px 12px;
	color: var(--bg);
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__item.is-current {
	color: #bba0d4;
	border-bottom-color: #bba0d4;
}

/* Lengre menytekstar (engelsk): ikkje bryt ord, og trekk saman avstandane på middels skjermar */
.sg-hdr__nav .wp-block-navigation-item__content {
	white-space: nowrap;
}

@media (min-width: 901px) and (max-width: 1300px) {
	.sg-hdr__nav {
		padding: 0 18px;
	}

	.sg-hdr__nav .wp-block-navigation__container {
		gap: clamp(16px, 2vw, 30px);
	}

	.sg-hdr__nav .wp-block-navigation-item__content {
		font-size: 18px;
	}

	.sg-hdr__right {
		padding-right: 24px;
	}
}

@media (min-width: 901px) and (max-width: 1180px) {
	.wp-block-group.sg-hdr {
		--hdr-h: 108px;
	}

	.sg-hdr__nav {
		padding: 0 10px;
	}

	.sg-hdr__nav .wp-block-navigation__container {
		gap: 16px;
	}

	.sg-hdr__nav .wp-block-navigation-item__content {
		font-size: 17px;
	}

	.sg-hdr__shop {
		padding: 11px 14px;
	}

	.sg-hdr .sg-cart-link {
		padding: 9px 11px;
	}

	.sg-hdr__right {
		gap: 6px;
		padding-right: 14px;
	}
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__btn {
	display: none;
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__list {
	position: static;
	display: flex;
	gap: 6px;
	min-width: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__item {
	padding: 10px 14px;
	border: 1px solid rgba(230, 220, 200, 0.45);
	font-size: 14px;
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__item.is-current {
	border-color: #bba0d4;
	color: #bba0d4;
	background: none;
}

.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__code {
	display: none;
}

/* Faktafelt på produktsida: kolonnene følgjer innhaldet, så lange ord (t.d. «Lågpasteurisert») får plass */
.sg-product__cells,
.sg-product__cells--3 {
	grid-template-columns: repeat(3, auto);
}

.sg-product__cells--2 {
	grid-template-columns: repeat(2, auto);
}

.sg-product__cell {
	min-width: 0;
}

.sg-product__cell-v {
	font-size: 26px;
	overflow-wrap: break-word;
	hyphens: auto;
}

.sg-product__cell-v.is-price {
	font-size: 34px;
}

@media (max-width: 520px) {
	.sg-product__cells,
	.sg-product__cells--3 {
		grid-template-columns: repeat(3, minmax(0, auto));
	}

	.sg-product__cell-v {
		font-size: 20px;
	}

	.sg-product__cell-v.is-price {
		font-size: 24px;
	}
}

/* Prisen skal alltid ha plass i si eiga celle */
.sg-product__cells,
.sg-product__cells--3 {
	grid-template-columns: minmax(max-content, auto) auto auto;
}

.sg-product__cells--2 {
	grid-template-columns: minmax(max-content, auto) auto;
}

.sg-product__cells--1 {
	grid-template-columns: 1fr;
}

.sg-product__cell:first-child {
	padding-right: 28px;
}

.sg-product__cell-v.is-price {
	white-space: nowrap;
}

@media (max-width: 520px) {
	.sg-product__cells,
	.sg-product__cells--3 {
		grid-template-columns: minmax(max-content, auto) minmax(0, 1fr) minmax(0, 1fr);
	}

	.sg-product__cell:first-child {
		padding-right: 14px;
	}
}

/* Faktafeltet er ei fullstendig ramme, og prisen står inne i si celle med luft frå venstrekanten */
.sg-product__cells {
	border: 1px solid var(--sg-line);
}

.sg-product__cell:first-child {
	padding-left: 24px;
	padding-right: 28px;
}

.sg-product__cell:last-child {
	padding-right: 20px;
}

@media (max-width: 520px) {
	.sg-product__cell:first-child {
		padding-left: 14px;
		padding-right: 12px;
	}

	.sg-product__cell:last-child {
		padding-right: 12px;
	}
}

/* ======================================================================== *
 * Lys salvie (#D3D9C1) i staden for mørk grøn på kort og flater: mørk tekst
 * ======================================================================== */
.sg-notify:not(.sg-notify--soon),
.sg-panel,
.sg-beitelag,
.cart_totals,
.sg-cart__totals,
.sg-cards--cards .sg-card,
.sg-promocard,
.sg-earcard,
.sg-ccard--panel,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
form.checkout_coupon,
.sg-bg-panel {
	color: var(--ink);
}

.sg-notify:not(.sg-notify--soon) :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-beitelag :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.cart_totals :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-cart__totals :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-cards--cards .sg-card :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-promocard :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-earcard :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-ccard--panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi),
.sg-bg-panel :where(h1, h2, h3, h4, p, li, span, div, small, strong, em, dt, dd, label, th, td, a, bdi) {
	color: inherit;
}

/* Små titlar med tak og knappar */
.sg-notify:not(.sg-notify--soon) .sg-label,
.sg-panel .sg-label,
.sg-beitelag .sg-label,
.sg-promocard .sg-label,
.sg-earcard .sg-label,
.sg-bg-panel .sg-label,
.sg-cards--cards .sg-card .sg-label {
	color: var(--accent);
}

.sg-bg-panel :where(.is-style-outline .wp-block-button__link),
.sg-promocard :where(.is-style-outline .wp-block-button__link),
.sg-ccard--panel .sg-ccard__btn--outline .wp-block-button__link,
.sg-cards--cards .sg-card .sg-btn--soon {
	background: transparent;
	color: var(--ink);
	border-color: var(--ink);
}

.sg-earcard .sg-earcard__n {
	background: var(--accent);
	color: var(--bg);
}

.sg-bg-panel .sg-tl__item {
	border-top-color: var(--accent);
}

.sg-bg-panel .sg-tl__item::before {
	background: var(--accent);
}

.sg-bg-panel .sg-tl__item.is-key::before {
	background: var(--btn);
}

/* Kort på salvie */
.sg-cards--cards .sg-card .sg-bar {
	background: rgba(255, 255, 255, 0.6);
}

.sg-cards--cards .sg-card--soldout .sg-card__title,
.sg-cards--cards .sg-card--soldout .sg-card__title a {
	color: var(--muted);
}

.sg-cards--cards .sg-card .sg-card__foot,
.sg-cards--cards .sg-card .sg-card__body {
	border-color: var(--line-strong);
}

.sg-cart__totals .sg-cart__row,
.sg-cart__totals .sg-cart__notes,
.cart_totals .sg-cart__row {
	border-color: var(--line-strong);
}

.sg-cart__totals .sg-cart__row--total {
	border-top-color: var(--accent);
}

/* Merke og kupongvarsel på salvie: behald eigen tekstfarge */
.sg-cards--cards .sg-card .sg-badge--ok,
.sg-cards--cards .sg-card .sg-badge--sold {
	color: #fff;
}

.sg-cards--cards .sg-card .sg-badge--soon {
	color: #ffffff;
}

.woocommerce-info :where(.wc-block-components-notice-banner__content, .showcoupon),
.woocommerce-message :where(.wc-block-components-notice-banner__content, a),
.wc-block-components-notice-banner__content,
a.showcoupon {
	color: var(--ink);
}

a.showcoupon {
	text-decoration: underline;
}

/* Varsel er no lyse (salvie): mørk tekst, lenker og ikon */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	color: var(--accent) !important;
}

.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce .wc-block-components-notice-banner a:not(.button) {
	color: var(--accent) !important;
	text-decoration: underline;
}

.woocommerce .wc-block-components-notice-banner,
.woocommerce-notices-wrapper .wc-block-components-notice-banner,
.wc-block-components-notice-banner :where(div, span, p, li, strong) {
	color: var(--ink);
}

.woocommerce .wc-block-components-notice-banner > svg {
	fill: var(--accent);
}

/* ----- Hero uten bilete (Kontakt): lys salviegrøn flate med mørk tekst, ingen mørkeskjerm eller tekstskygge ----- */
.wp-block-cover.sg-subhero.sg-subhero--plain {
	min-height: min(40vh, 340px) !important;
	background: var(--panel);
}

.sg-subhero--plain .wp-block-cover__background {
	background-color: var(--panel) !important;
}

.sg-subhero--plain::before {
	display: none;
}

.sg-subhero--plain .sg-label {
	color: var(--accent);
}

.sg-subhero--plain .sg-subhero__title {
	color: var(--ink);
}

.sg-subhero--plain .sg-subhero__lead,
.sg-subhero--plain .sg-subhero__crumbs {
	color: var(--ink-2);
}

.sg-subhero--plain .sg-label,
.sg-subhero--plain .sg-subhero__title,
.sg-subhero--plain .sg-subhero__lead,
.sg-subhero--plain .sg-subhero__crumbs {
	text-shadow: none;
}

/* ----- Lågare navbar (meir av heltebiletet blir synleg). Logoen følgjer høgda via --hdr-h ----- */
.wp-block-group.sg-hdr {
	--hdr-h: clamp(96px, 6.2vw, 124px);
}

@media (min-width: 901px) and (max-width: 1180px) {
	.wp-block-group.sg-hdr {
		--hdr-h: 88px;
	}
}

@media (max-width: 900px) {
	.wp-block-group.sg-hdr {
		--hdr-h: 76px;
	}

	.sg-hdr__logo {
		width: 190px;
		padding-left: 14px;
	}
}

@media (max-width: 420px) {
	.wp-block-group.sg-hdr {
		--hdr-h: 68px;
	}

	.sg-hdr__logo {
		width: 172px;
		padding-left: 12px;
	}
}

/* ----- Meir synleg heltebilete: høgare hero, ingen innzooming, lysare mørkeskjerm ----- */
@media (min-width: 701px) {
	.wp-block-cover.sg-subhero,
	.wp-block-cover.sg-subhero--om {
		min-height: min(90vh, 900px) !important;
	}

	.wp-block-cover.sg-herocover {
		min-height: min(92vh, 900px) !important;
	}

	.sg-herocover .wp-block-cover__image-background {
		transform: none;
	}
}

@supports (height: 1svh) {
	@media (min-width: 701px) {
		.wp-block-cover.sg-herocover {
			min-height: min(92svh, 900px) !important;
		}
	}
}

@media (max-width: 700px) {
	.sg-herocover .wp-block-cover__image-background {
		transform: none;
	}
}

/* Utsnitt som viser motiva (overstyrer fokuspunktet som er lagra i sida) */
.sg-subhero img[src*="hero-kua.jpg"] {
	object-position: 50% 50% !important;
}

.sg-subhero img[src*="hero-om-garden.jpg"] {
	object-position: 50% 45% !important;
}

/* Lysare mørkeskjerm: berre så mykje at teksten nede til venstre er lesbar */
.sg-herocover::before {
	background:
		linear-gradient(0deg, rgba(18, 24, 15, 0.42) 0%, rgba(18, 24, 15, 0.2) 35%, rgba(18, 24, 15, 0) 65%),
		linear-gradient(90deg, rgba(18, 24, 15, 0.28) 0%, rgba(18, 24, 15, 0) 55%);
}

.sg-subhero::before {
	background:
		linear-gradient(0deg, rgba(18, 24, 15, 0.38) 0%, rgba(18, 24, 15, 0.12) 35%, rgba(18, 24, 15, 0) 60%),
		linear-gradient(90deg, rgba(18, 24, 15, 0.26) 0%, rgba(18, 24, 15, 0) 55%);
}

.sg-subhero--om::before {
	background: linear-gradient(0deg, rgba(18, 24, 15, 0.34) 0%, rgba(18, 24, 15, 0.06) 40%, rgba(18, 24, 15, 0) 60%);
}

/* ======================================================================== *
 * Boksar v3 (designoverlevering «Boksar»): hyllelapp (4a), stor rad (4b),
 * samarbeidspanel (4c), avisutklipp (4e) og kvittering (4f).
 * Forkasta: 4d. Taket er det eksisterande tak-ikonet (tak.png), ikkje mockup-SVG-en.
 * ======================================================================== */
:root {
	--sg-paper: var(--paper);
	--sg-dash: var(--line);
	--sg-soon: var(--soon-text);
	--sg-sold: var(--btn);
}

/* Statusmerke i lappen (grøn = på lager, raud = utselt, oliven = kjem snart) */
.sg-card__tag .sg-card__status,
.sg-feature .sg-card__status {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sg-ok);
}

.sg-card__tag .sg-card__status--soon,
.sg-feature .sg-card__status--soon {
	color: var(--sg-soon);
}

.sg-card__tag .sg-card__status--sold,
.sg-feature .sg-card__status--sold {
	color: var(--sg-sold);
}

/* Hol i lappen */
.sg-card__hole {
	position: absolute;
	left: 50%;
	top: 12px;
	width: 10px;
	height: 10px;
	margin-left: -5px;
	border-radius: 50%;
	background: var(--sg-bg);
	box-shadow: inset 0 0 0 1.5px var(--ink);
}

/* ----- 4a: Varekort – hyllelapp på bilete kant i kant ----- */
.sg-cards--cards {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	align-items: start;
}

.sg-cards--cards .sg-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	gap: 0;
}

.sg-cards--cards .sg-card + .sg-card {
	border-left: 3px solid var(--sg-bg);
}

.sg-cards--cards .sg-card .sg-card__media {
	display: block;
	position: relative;
	width: 100%;
	height: 440px;
	aspect-ratio: auto;
	background: var(--sg-panel);
}

.sg-cards--cards .sg-card .sg-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sg-cards--cards .sg-card .sg-noimg {
	height: 100%;
}

.sg-cards--cards .sg-card--soldout .sg-card__media {
	filter: grayscale(0.7);
	opacity: 0.7;
}

.sg-cards--cards .sg-card--soldout .sg-card__media::after {
	display: none;
}

.sg-card__string {
	position: relative;
	z-index: 2;
	width: 1px;
	height: 40px;
	margin-top: -90px;
	background: var(--ink);
}

.sg-card__tag {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: 340px;
	max-width: 100%;
	padding: 34px 26px 24px;
	background: var(--sg-paper);
	clip-path: polygon(14% 0, 86% 0, 100% 12%, 100% 100%, 0 100%, 0 12%);
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: center;
	transform: rotate(-1.5deg);
}

.sg-cards--cards .sg-card:nth-child(3n + 2) .sg-card__tag {
	transform: rotate(1deg);
}

.sg-cards--cards .sg-card:nth-child(3n) .sg-card__tag {
	transform: rotate(-0.8deg);
}

.sg-cards--cards .sg-card .sg-card__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0;
	border: 0;
	flex: none;
}

.sg-card__tag .sg-card__title {
	font-size: 28px;
	line-height: 1.1;
	margin: 0;
}

.sg-card__tag .sg-card__sub {
	font-size: 14px;
	color: var(--sg-muted);
}

.sg-card__tag .sg-card__desc {
	font-size: 14px;
	line-height: 1.5;
	color: var(--sg-text-2);
}

.sg-card__tag .sg-chips {
	justify-content: center;
}

.sg-cards--cards .sg-card .sg-bar {
	background: var(--sg-raised);
	height: 3px;
	margin-top: 4px;
}

.sg-cards--cards .sg-card .sg-bar span {
	background: var(--sg-ok);
}

.sg-cards--cards .sg-card .sg-card__foot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
}

.sg-card__tag .sg-card__price {
	font-family: var(--sg-serif);
	font-size: 30px;
	font-weight: 400;
	margin: 6px 0 0;
}

.sg-cards--cards .sg-card--soldout .sg-card__title,
.sg-cards--cards .sg-card--soldout .sg-card__title a,
.sg-cards--cards .sg-card--soldout .sg-card__price {
	color: var(--sg-muted);
}

/* Forsida: biletet går kant i kant (heile sidebreidda), overskrifta held marg */
.sg-section > .sg-cards--cards {
	margin-inline: calc(-1 * var(--sg-gutter));
}

/* ----- 4b: Utvald vare – stor rad (drikke-seksjonen) ----- */
.sg-cards--feature {
	display: flex;
	flex-direction: column;
	gap: 56px;
	grid-template-columns: none;
}

.sg-cards--feature .sg-feature {
	position: relative;
	display: block;
	height: 440px;
	background: transparent;
}

.sg-cards--feature .sg-feature__media {
	position: absolute;
	left: 0;
	top: 0;
	width: 78%;
	height: 100%;
	min-height: 0;
	background: var(--sg-panel);
}

.sg-cards--feature .sg-feature__body {
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 2;
	box-sizing: border-box;
	width: 380px;
	max-width: 100%;
	padding: 36px 32px 28px 52px;
	background: var(--sg-paper);
	clip-path: polygon(0 12%, 10% 0, 100% 0, 100% 100%, 10% 100%, 0 88%);
	display: flex;
	flex-direction: column;
	gap: 8px;
	transform: translateY(-50%) rotate(-1.5deg);
}

.sg-cards--feature .sg-feature__body .sg-card__hole {
	left: 18px;
	top: 50%;
	margin: -5px 0 0;
}

.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__media {
	left: auto;
	right: 0;
}

.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
	right: auto;
	left: 0;
	padding: 36px 52px 28px 32px;
	clip-path: polygon(0 0, 90% 0, 100% 12%, 100% 88%, 90% 100%, 0 100%);
	transform: translateY(-50%) rotate(1.2deg);
}

.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body .sg-card__hole {
	left: auto;
	right: 18px;
}

.sg-cards--feature .sg-feature__title {
	font-size: 34px;
	line-height: 1.1;
}

.sg-cards--feature .sg-feature__foot {
	margin-top: 12px;
}

/* Utselde varer: ei tekstlinje */
.sg-cards--feature .sg-feature--soldout {
	height: auto;
	display: flex;
	align-items: center;
	gap: 20px;
	padding-top: 24px;
	border-top: 1px solid var(--sg-dash);
	color: var(--sg-muted);
}

.sg-cards--feature .sg-feature--soldout .sg-feature__media,
.sg-cards--feature .sg-feature--soldout .sg-feature__desc,
.sg-cards--feature .sg-feature--soldout .sg-chips,
.sg-cards--feature .sg-feature--soldout .sg-card__hole {
	display: none;
}

.sg-cards--feature .sg-feature--soldout .sg-feature__body {
	position: static;
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	max-width: none;
	padding: 0;
	background: none;
	clip-path: none;
	transform: none;
	gap: 20px;
}

.sg-cards--feature .sg-feature--soldout .sg-feature__title {
	font-size: 22px;
}

.sg-cards--feature .sg-feature--soldout .sg-feature__foot {
	margin: 0 0 0 auto;
}

/* ----- 4e: Omtale – avisutklipp ----- */
.sg-pressrow {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.sg-presscard {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	background: transparent;
	border: 0;
	padding: 0;
}

.sg-presscard.has-media {
	grid-template-columns: 380px minmax(0, 1fr);
}

.sg-presscard__media {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	padding: 16px 16px 56px;
	background: var(--sg-paper);
	transform: rotate(-3deg);
	box-shadow: 0 10px 24px rgba(42, 38, 32, 0.15);
}

.sg-presscard__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.sg-presscard__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: var(--sg-paper);
	padding: 56px 64px 64px;
	transform: rotate(0.6deg);
	clip-path: polygon(0 1%, 4% 0, 9% 1.2%, 15% 0.2%, 22% 1%, 30% 0, 37% 1.4%, 45% 0.3%, 53% 1.1%, 61% 0, 69% 1.3%, 77% 0.2%, 85% 1%, 92% 0, 100% 1.2%, 99.4% 100%, 93% 98.8%, 86% 100%, 78% 98.9%, 70% 99.8%, 62% 98.7%, 54% 100%, 46% 98.9%, 38% 99.9%, 30% 98.8%, 22% 100%, 14% 98.9%, 7% 99.8%, 0 98.9%);
}

.sg-presscard.has-media .sg-presscard__body {
	margin-left: -40px;
	padding-left: 96px;
}

.sg-presscard__meta {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 10px;
	border-bottom: 3px double var(--ink);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sg-presscard__title {
	font-size: 38px;
	line-height: 1.15;
}

.sg-presscard__sum {
	font-family: var(--sg-serif);
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-2);
	column-count: 2;
	column-gap: 40px;
}

.sg-presscard__btn {
	align-self: flex-start;
	font-size: 15px;
	font-weight: 600;
	border-bottom: 2px solid var(--sg-accent);
	padding-bottom: 3px;
	background: none;
	color: inherit;
}

/* ----- 4f: Kvittering (sum i handlekorga og «Bestillinga di» i kassa) ----- */
.sg-cart__totals,
.sg-checkout__aside {
	position: relative;
	box-sizing: border-box;
	background: var(--sg-paper);
	padding: 40px 40px 64px;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), 95% 100%, 90% calc(100% - 14px), 85% 100%, 80% calc(100% - 14px), 75% 100%, 70% calc(100% - 14px), 65% 100%, 60% calc(100% - 14px), 55% 100%, 50% calc(100% - 14px), 45% 100%, 40% calc(100% - 14px), 35% 100%, 30% calc(100% - 14px), 25% 100%, 20% calc(100% - 14px), 15% 100%, 10% calc(100% - 14px), 5% 100%, 0 calc(100% - 14px));
}

.sg-cart__totals-title {
	text-align: center;
	font-size: 30px;
	margin-bottom: 12px;
}

.sg-cart__totals-title::before {
	content: '';
	display: block;
	width: 70px;
	height: 17px;
	margin: 0 auto 8px;
	background: var(--sg-primary);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sg-cart__totals .sg-cart__row,
.sg-cart__totals .sg-cart__notes,
.cart_totals .sg-cart__row {
	border-style: dashed;
	border-color: var(--sg-dash);
}

.sg-cart__totals .sg-cart__row--total {
	border-top-color: var(--sg-dash);
}

.sg-cart__totals .sg-cart__row--total > span:last-child {
	font-family: var(--sg-serif);
	font-size: 36px;
}

/* ----- Mobil: lappar utan rotasjon, full breidd, under biletet ----- */
@media (max-width: 800px) {
	.sg-cards--cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.sg-cards--cards .sg-card + .sg-card {
		border-left: 0;
		margin-top: 32px;
	}

	.sg-cards--cards .sg-card .sg-card__media {
		height: 320px;
	}

	.sg-card__string {
		display: none;
	}

	.sg-card__tag,
	.sg-cards--cards .sg-card:nth-child(n) .sg-card__tag {
		width: 100%;
		clip-path: none;
		transform: none;
	}

	.sg-cards--feature .sg-feature {
		height: auto;
	}

	.sg-cards--feature .sg-feature__media,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__media {
		position: relative;
		width: 100%;
		height: 300px;
		left: auto;
		right: auto;
	}

	.sg-cards--feature .sg-feature__body,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		width: 100%;
		padding: 28px 24px;
		clip-path: none;
		transform: none;
	}

	.sg-cards--feature .sg-feature__body .sg-card__hole {
		display: none;
	}

	.sg-presscard.has-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.sg-presscard__media {
		max-width: 300px;
		margin: 0 auto -20px;
	}

	.sg-presscard.has-media .sg-presscard__body,
	.sg-presscard__body {
		margin-left: 0;
		padding: 40px 24px 40px;
	}

	.sg-presscard__sum {
		column-count: 1;
	}

	.sg-presscard__title {
		font-size: 28px;
	}
}

.sg-presscard .sg-presscard__btn {
	border: 0;
	border-bottom: 2px solid var(--sg-accent);
	padding: 0 0 3px;
	background: none;
	color: var(--sg-text);
}

/* Kvittering: berre stipla linje under kvar rad */
.sg-cart__totals .sg-cart__rows .sg-cart__row {
	border: 0;
	border-bottom: 1px dashed var(--sg-dash);
	padding: 14px 0;
	background: none;
}

.sg-cart__totals .sg-cart__rows .sg-cart__row--total {
	border-bottom: 0;
	padding: 20px 0 4px;
}

.sg-cart__totals .sg-cart__notes {
	border: 0;
	padding: 0;
	margin-top: 20px;
}

/* Kassa: «Bestillinga di» som kvittering (stipla linjer, tak-ikon over tittelen) */
.sg-checkout__aside .sg-summary__title::before {
	content: '';
	display: block;
	width: 70px;
	height: 17px;
	margin-bottom: 8px;
	background: var(--sg-primary);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sg-checkout__aside .sg-summary__item,
.sg-checkout__aside .sg-summary .sg-row {
	border-bottom: 1px dashed var(--sg-dash);
}

.sg-checkout__aside .sg-summary .sg-row--total {
	border-bottom: 0;
}

.sg-checkout__aside .sg-summary .sg-row--total .sg-total {
	font-family: var(--sg-serif);
	font-size: 36px;
}

/* ======================================================================== *
 * Boksar v3, justering: skarp tekst (berre papiret blir rotert, teksten står rett)
 * og mindre innzooma produktbilete
 * ======================================================================== */

/* ----- 4a: lappen ----- */
.sg-card__tag,
.sg-cards--cards .sg-card:nth-child(3n + 2) .sg-card__tag,
.sg-cards--cards .sg-card:nth-child(3n) .sg-card__tag {
	isolation: isolate;
	background: none;
	clip-path: none;
	transform: none;
}

.sg-card__tag::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--sg-paper);
	clip-path: polygon(14% 0, 86% 0, 100% 12%, 100% 100%, 0 100%, 0 12%);
	transform: rotate(-1.5deg);
}

.sg-cards--cards .sg-card:nth-child(3n + 2) .sg-card__tag::before {
	transform: rotate(1deg);
}

.sg-cards--cards .sg-card:nth-child(3n) .sg-card__tag::before {
	transform: rotate(-0.8deg);
}

/* Produktbilete: høgare flate (4:5), mindre utsnitt */
.sg-cards--cards .sg-card .sg-card__media {
	height: auto;
	aspect-ratio: 4 / 5;
	max-height: 640px;
}

.sg-cards--cards .sg-card .sg-card__media img {
	object-position: 50% 40%;
}

/* ----- 4b: stor rad ----- */
.sg-cards--feature .sg-feature {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.sg-cards--feature .sg-feature:nth-child(even) {
	justify-content: flex-start;
}

.sg-cards--feature .sg-feature__body,
.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	flex: none;
	isolation: isolate;
	background: none;
	clip-path: none;
	transform: none;
}

.sg-cards--feature .sg-feature__body::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--sg-paper);
	clip-path: polygon(0 12%, 10% 0, 100% 0, 100% 100%, 10% 100%, 0 88%);
	transform: rotate(-1.5deg);
}

.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body::before {
	clip-path: polygon(0 0, 90% 0, 100% 12%, 100% 88%, 90% 100%, 0 100%);
	transform: rotate(1.2deg);
}

/* ----- 4e: avisutklipp ----- */
.sg-presscard__body {
	position: relative;
	isolation: isolate;
	background: none;
	clip-path: none;
	transform: none;
}

.sg-presscard__body::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--sg-paper);
	transform: rotate(0.6deg);
	clip-path: polygon(0 1%, 4% 0, 9% 1.2%, 15% 0.2%, 22% 1%, 30% 0, 37% 1.4%, 45% 0.3%, 53% 1.1%, 61% 0, 69% 1.3%, 77% 0.2%, 85% 1%, 92% 0, 100% 1.2%, 99.4% 100%, 93% 98.8%, 86% 100%, 78% 98.9%, 70% 99.8%, 62% 98.7%, 54% 100%, 46% 98.9%, 38% 99.9%, 30% 98.8%, 22% 100%, 14% 98.9%, 7% 99.8%, 0 98.9%);
}

/* ----- Mobil: flatt papir, kvadratisk bilete ----- */
@media (max-width: 800px) {
	.sg-cards--cards .sg-card .sg-card__media {
		aspect-ratio: 1 / 1;
		max-height: none;
	}

	.sg-card__tag::before,
	.sg-cards--cards .sg-card:nth-child(n) .sg-card__tag::before,
	.sg-cards--feature .sg-feature__body::before,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body::before {
		clip-path: none;
		transform: none;
	}

	.sg-cards--feature .sg-feature {
		display: block;
	}

	.sg-presscard__body::before {
		clip-path: none;
		transform: none;
	}
}

/* Stor rad: høgare, så flaskebileta ikkje blir så sterkt beskorne */
@media (min-width: 801px) {
	.sg-cards--feature .sg-feature {
		height: 540px;
	}
}

/* Stor rad: biletet vises heilt (i sitt eige format, utan beskjæring), lappen overlappar kanten. Annankvar gong til venstre og høgre. */
@media (min-width: 801px) {
	.sg-cards--feature .sg-feature {
		height: auto;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

	.sg-cards--feature .sg-feature:nth-child(even) {
		flex-direction: row-reverse;
	}

	.sg-cards--feature .sg-feature__media,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__media {
		position: relative;
		display: block;
		flex: none;
		left: auto;
		right: auto;
		top: auto;
		width: auto;
		height: 560px;
		max-width: 78%;
		min-height: 0;
		background: transparent;
	}

	.sg-cards--feature .sg-feature__media img {
		position: static;
		display: block;
		width: auto;
		height: 100%;
		max-width: 100%;
		object-fit: contain;
	}

	.sg-cards--feature .sg-feature__body {
		margin-left: -60px;
	}

	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
		margin-left: 0;
		margin-right: -60px;
	}
}

/* Stor rad på brei skjerm: to varer side om side (bilete heilt, lappen over kanten), så breidda blir fylt */
@media (min-width: 1100px) {
	.sg-cards--feature {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 56px 40px;
		align-items: start;
	}

	.sg-cards--feature .sg-feature,
	.sg-cards--feature .sg-feature:nth-child(even) {
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
	}

	.sg-cards--feature .sg-feature--soldout {
		grid-column: 1 / -1;
	}

	.sg-cards--feature .sg-feature__media,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__media {
		height: 500px;
		max-width: 62%;
	}

	.sg-cards--feature .sg-feature__body,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
		width: 320px;
		margin-left: -60px;
		margin-right: 0;
		padding: 32px 28px 24px 48px;
	}

	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body::before {
		clip-path: polygon(0 12%, 10% 0, 100% 0, 100% 100%, 10% 100%, 0 88%);
		transform: rotate(-1.5deg);
	}

	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body .sg-card__hole {
		left: 18px;
		right: auto;
	}

	.sg-cards--feature .sg-feature__title {
		font-size: 30px;
	}
}

/* Mobil: hyllelappen beheld form, snor, hol og overlapp over biletet, og får ein liten skugge så papiret syner */
@media (max-width: 800px) {
	.sg-card__string {
		display: block;
	}

	.sg-card__tag,
	.sg-cards--cards .sg-card:nth-child(n) .sg-card__tag {
		width: min(340px, calc(100% - 40px));
		filter: drop-shadow(0 3px 8px rgba(42, 38, 32, 0.25));
	}

	.sg-card__tag::before,
	.sg-cards--cards .sg-card:nth-child(n) .sg-card__tag::before {
		clip-path: polygon(14% 0, 86% 0, 100% 12%, 100% 100%, 0 100%, 0 12%);
		transform: rotate(-1.5deg);
	}

	.sg-cards--cards .sg-card:nth-child(3n + 2) .sg-card__tag::before {
		transform: rotate(1deg);
	}

	.sg-cards--cards .sg-card:nth-child(3n) .sg-card__tag::before {
		transform: rotate(-0.8deg);
	}

	.sg-cards--cards .sg-card + .sg-card {
		margin-top: 40px;
	}
}

/* Mobil: drikkene på forsida får same hyllelapp som produktkorta (form, hol, overlapp over biletet, skugge), og biletet vises utan beskjæring */
@media (max-width: 800px) {
	.sg-cards--feature {
		gap: 48px;
	}

	.sg-cards--feature .sg-feature__media,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__media {
		height: auto;
		background: none;
	}

	.sg-cards--feature .sg-feature__media img {
		position: static;
		display: block;
		width: 100%;
		height: auto;
		max-height: 520px;
		object-fit: cover;
	}

	.sg-cards--feature .sg-feature__body,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
		width: min(340px, calc(100% - 40px));
		margin: -50px auto 0;
		padding: 34px 26px 24px;
		text-align: center;
		filter: drop-shadow(0 3px 8px rgba(42, 38, 32, 0.25));
	}

	.sg-cards--feature .sg-feature__body::before,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body::before {
		clip-path: polygon(14% 0, 86% 0, 100% 12%, 100% 100%, 0 100%, 0 12%);
		transform: rotate(-1.5deg);
	}

	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body::before {
		transform: rotate(1deg);
	}

	.sg-cards--feature .sg-feature__body .sg-card__hole,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body .sg-card__hole {
		display: block;
		left: 50%;
		right: auto;
		top: 12px;
		margin: 0 0 0 -5px;
	}

	.sg-cards--feature .sg-feature__body .sg-chips {
		justify-content: center;
	}

	.sg-cards--feature .sg-feature__foot {
		flex-direction: column;
		justify-content: center;
		gap: 10px;
	}

	.sg-cards--feature .sg-feature--soldout .sg-feature__body {
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: left;
		filter: none;
	}

	.sg-cards--feature .sg-feature--soldout .sg-feature__body::before {
		display: none;
	}
}

@media (max-width: 800px) {
	.sg-cards--feature .sg-feature__body,
	.sg-cards--feature .sg-feature:nth-child(even) .sg-feature__body {
		width: min(340px, 100%);
	}
}

/* ----- Kontakt: telefon, e-post og adresse i éi boks, skilde med tynne strekar ----- */
.sg-ccards {
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: var(--panel);
	background-clip: content-box;
}

.sg-ccards .sg-ccard,
.sg-ccards .sg-ccard--panel,
.sg-ccards .sg-ccard--line {
	background: transparent;
	border: 0;
	padding: 36px 40px;
	color: var(--ink);
}

.sg-ccards .sg-ccard + .sg-ccard {
	border-left: 1px solid var(--line-strong);
}

.sg-ccards .sg-ccard .sg-label {
	color: var(--accent);
}

@media (max-width: 800px) {
	.sg-ccards {
		grid-template-columns: minmax(0, 1fr);
	}

	.sg-ccards .sg-ccard,
	.sg-ccards .sg-ccard--panel,
	.sg-ccards .sg-ccard--line {
		padding: 28px 24px;
	}

	.sg-ccards .sg-ccard + .sg-ccard {
		border-left: 0;
		border-top: 1px solid var(--line-strong);
	}
}

/* Mobil: avisutklippet beheld papirformen (ujamn kant, svak skråstilling, skugge), og polaroid-biletet blir ikkje klemt saman */
@media (max-width: 800px) {
	.sg-presscard.has-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.sg-presscard__media {
		width: min(280px, 100%);
		max-width: none;
		justify-self: center;
		margin: 0 0 -28px;
	}

	.sg-presscard.has-media .sg-presscard__body,
	.sg-presscard__body {
		padding: 56px 24px 44px;
		filter: drop-shadow(0 3px 8px rgba(42, 38, 32, 0.22));
	}

	.sg-presscard:not(.has-media) .sg-presscard__body {
		padding-top: 40px;
	}

	.sg-presscard__body::before {
		transform: rotate(0.6deg);
		clip-path: polygon(0 1%, 4% 0, 9% 1.2%, 15% 0.2%, 22% 1%, 30% 0, 37% 1.4%, 45% 0.3%, 53% 1.1%, 61% 0, 69% 1.3%, 77% 0.2%, 85% 1%, 92% 0, 100% 1.2%, 99.4% 100%, 93% 98.8%, 86% 100%, 78% 98.9%, 70% 99.8%, 62% 98.7%, 54% 100%, 46% 98.9%, 38% 99.9%, 30% 98.8%, 22% 100%, 14% 98.9%, 7% 99.8%, 0 98.9%);
	}

	.sg-presscard__meta {
		flex-wrap: wrap;
		font-size: 12px;
	}
}

/* ----- Nettbutikk-logo (7a): taket frå hovudlogoen med «NETTBUTIKK» i bue under ----- */

/* Overskrift på butikksida: logoen erstattar «Nettbutikk» (teksten står att for skjermlesarar), sentrert, ca. 520 px brei (280 px på mobil) */
.sg-shophead__row {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 20px;
}

.sg-shophead__title {
	width: 520px;
	max-width: 100%;
	aspect-ratio: 1639 / 516;
	height: auto;
	overflow: hidden;
	white-space: nowrap;
	text-indent: -9999px;
	font-size: 0;
	background: url('../images/nettbutikk-logo.png') no-repeat center / contain;
}

.sg-shophead__lead {
	max-width: 620px;
}

@media (max-width: 800px) {
	.sg-shophead__title {
		width: 280px;
	}
}

/* Knappen i navbaren (berre skrivebord og nettbrett: på mobil er knappen skjult, plassen rekk ikkje) */
.sg-hdr__shop {
	display: block;
	width: 170px;
	height: 58px;
	padding: 0;
	font-size: 0;
	color: transparent;
}

.sg-hdr__shop::before {
	display: none;
}

.sg-hdr__shop::after {
	content: '';
	position: absolute;
	inset: 7px 12px;
	background: var(--ink);
	-webkit-mask: url('../images/nettbutikk-logo.png') no-repeat center / contain;
	mask: url('../images/nettbutikk-logo.png') no-repeat center / contain;
}

@media (max-width: 900px) {
	.sg-hdr__shop {
		display: none;
	}
}

/* Mobilmenyen (bak to-strekar-knappen): «Nettbutikk» vises med logoen */
.sg-hdr .is-menu-open .sg-hdr__nav-shop .wp-block-navigation-item__content,
.sg-hdr .is-menu-open .sg-hdr__nav-shop.wp-block-navigation-item__content {
	position: relative;
	display: block;
	width: 240px;
	height: 76px;
	padding: 0;
	font-size: 0;
	color: transparent !important;
}

.sg-hdr .is-menu-open .sg-hdr__nav-shop .wp-block-navigation-item__content::before,
.sg-hdr .is-menu-open .sg-hdr__nav-shop.wp-block-navigation-item__content::before {
	display: none;
}

.sg-hdr .is-menu-open .sg-hdr__nav-shop .wp-block-navigation-item__content::after,
.sg-hdr .is-menu-open .sg-hdr__nav-shop.wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--bg);
	-webkit-mask: url('../images/nettbutikk-logo.png') no-repeat center / contain;
	mask: url('../images/nettbutikk-logo.png') no-repeat center / contain;
}

/* Mobilmenyen: «Nettbutikk» som tydeleg knapp (messing, som dei andre knappane), logoen i mørk farge */
.sg-hdr .is-menu-open .sg-hdr__nav-shop {
	margin-top: 8px;
}

.sg-hdr .is-menu-open .sg-hdr__nav-shop .wp-block-navigation-item__content,
.sg-hdr .is-menu-open .sg-hdr__nav-shop.wp-block-navigation-item__content {
	width: min(260px, 100%);
	height: 64px;
	background: var(--btn);
	border-radius: 0;
	box-shadow: 0 0 0 1px var(--btn);
	transition: filter 0.15s ease;
}

.sg-hdr .is-menu-open .sg-hdr__nav-shop .wp-block-navigation-item__content:active,
.sg-hdr .is-menu-open .sg-hdr__nav-shop.wp-block-navigation-item__content:active {
	filter: brightness(0.92);
}

.sg-hdr .is-menu-open .sg-hdr__nav-shop .wp-block-navigation-item__content::after,
.sg-hdr .is-menu-open .sg-hdr__nav-shop.wp-block-navigation-item__content::after {
	inset: 8px 16px;
	background: var(--ink);
}

/* Mobilmenyen: «Nettbutikk»-knappen må slå dei sterke standardreglane for menylenkene */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop {
	margin-top: 8px;
	width: min(260px, 100%);
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content {
	display: block !important;
	box-sizing: border-box;
	position: relative;
	width: 100%;
	height: 64px;
	padding: 0 !important;
	font-size: 0;
	background: var(--btn);
	color: transparent !important;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content::before {
	display: none;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	inset: 8px 16px;
	background: var(--ink);
	-webkit-mask: url('../images/nettbutikk-logo.png') no-repeat center / contain;
	mask: url('../images/nettbutikk-logo.png') no-repeat center / contain;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop {
	width: 260px;
	max-width: calc(100vw - 48px);
}

/* Mobilmenyen: «Nettbutikk»-knappen er like brei som språkknappane under (nynorsk, bokmål, English) */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop {
	width: 329px;
	max-width: calc(100vw - 46px);
}

/* Mobilmenyen: «Nettbutikk»-knappen i same storleik som språkknappane (ca. 44 px høg) */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop {
	width: 150px;
	max-width: calc(100vw - 46px);
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content {
	height: 44px;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content::after {
	inset: 5px 12px;
}

/* «Nettbutikk»-knappen: gjennomsiktig med tynn ramme rundt, som handlekorg-knappen (skrivebord og mobilmeny), logoen i lys farge */
.sg-hdr .sg-hdr__shop {
	box-sizing: border-box;
	height: 49px;
	background: transparent;
	border: 1.5px solid var(--panel);
	color: transparent;
}

.sg-hdr .sg-hdr__shop::after {
	inset: 5px 12px;
	background: var(--bg);
}

.sg-hdr .sg-hdr__shop:hover,
.sg-hdr .sg-hdr__shop:focus-visible {
	color: transparent;
}

.sg-hdr .sg-hdr__shop[aria-current] {
	border-color: #bba0d4;
}

.sg-hdr .sg-hdr__shop[aria-current]::after {
	background: #bba0d4;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content {
	background: transparent;
	border: 1.5px solid var(--panel);
	box-shadow: none;
}

.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content::after {
	inset: 4px 11px;
	background: var(--bg);
}

/* Luft mellom ei panelflate (t.d. bileta på Kua) og samarbeidsboksen under */
.sg-bg-panel + .sg-infobox-wrap {
	margin-top: clamp(48px, 6vw, 80px);
}

/* ======================================================================== *
 * Kontakt: visittkort over tunet (designoverlevering «Kontaktboksar v2», 8c)
 * ======================================================================== */
.sg-bizcard {
	padding-block: clamp(48px, 7vw, 90px);
}

.sg-bizcard__stage {
	position: relative;
	height: 520px;
}

.sg-bizcard__photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 72%;
	height: 100%;
	margin: 0;
	background: var(--sg-panel);
}

.sg-bizcard__photo .wp-block-image,
.sg-bizcard__photo figure {
	margin: 0;
	height: 100%;
}

.sg-bizcard__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 55%;
}

/* Kortet: berre papiret er rotert (teksten står rett og er skarp) */
.sg-bizcard__card {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin-block: auto;
	height: fit-content;
	box-sizing: border-box;
	width: 520px;
	max-width: 100%;
	padding: 44px 48px 40px;
	display: flex;
	flex-direction: column;
	isolation: isolate;
}

.sg-bizcard__card::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--sg-paper);
	box-shadow: 0 14px 30px rgba(42, 38, 32, 0.18);
	transform: rotate(-1.2deg);
}

.sg-bizcard__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding-bottom: 22px;
	border-bottom: 3px double var(--ink);
}

.sg-bizcard__roof {
	width: 110px;
	height: 26px;
	background: var(--sg-primary);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sg-bizcard__name {
	font-size: 30px;
	letter-spacing: 0.06em;
	line-height: 1.15;
	margin: 0;
}

.sg-bizcard__row {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px dashed var(--sg-dash);
}

.sg-bizcard__row--last {
	grid-template-columns: 110px minmax(0, 1fr);
	align-items: start;
	border-bottom: 0;
	padding-bottom: 0;
}

.sg-bizcard__row > * {
	margin: 0;
}

.sg-bizcard__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sg-primary);
}

.sg-bizcard__row--last .sg-bizcard__label {
	padding-top: 3px;
}

.sg-bizcard__value {
	font-family: var(--sg-serif);
	font-size: 30px;
	line-height: 1.15;
}

.sg-bizcard__value--mail {
	font-size: 21px;
	overflow-wrap: anywhere;
}

.sg-bizcard__value--addr {
	font-family: var(--sg-sans);
	font-size: 16px;
	line-height: 1.6;
}

.sg-bizcard__btn .wp-block-button__link {
	padding: 11px 18px;
	font-size: 14px;
	font-weight: 600;
}

.sg-bizcard__btn--outline .wp-block-button__link {
	padding: 10px 16px;
	background: transparent;
	color: var(--ink);
	border: 1.5px solid var(--ink);
}

/* Mobil: bilete i full breidd øvst, kortet under utan rotasjon, med litt overlapp */
@media (max-width: 800px) {
	.sg-bizcard__stage {
		height: auto;
	}

	.sg-bizcard__photo {
		position: relative;
		width: 100%;
		height: 300px;
	}

	.sg-bizcard__card {
		position: relative;
		inset: auto;
		margin: -40px 12px 0;
		height: auto;
		width: auto;
		max-width: none;
		padding: 32px 24px 28px;
	}

	.sg-bizcard__card::before {
		transform: none;
	}

	.sg-bizcard__row {
		grid-template-columns: minmax(0, 1fr) auto;
		row-gap: 6px;
	}

	.sg-bizcard__row--last {
		grid-template-columns: minmax(0, 1fr);
	}

	.sg-bizcard__label {
		grid-column: 1 / -1;
	}

	.sg-bizcard__value {
		font-size: 26px;
	}

	.sg-bizcard__value--mail {
		font-size: 19px;
	}
}

.sg-bizcard__value--mail {
	font-size: 18px;
	overflow-wrap: normal;
	white-space: nowrap;
}

@media (max-width: 800px) {
	.sg-bizcard__value--mail {
		font-size: 18px;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 800px) {
	.sg-bizcard__value--mail {
		grid-column: 1 / -1;
		white-space: nowrap;
		overflow-wrap: normal;
	}

	.sg-bizcard__value--mail + .sg-bizcard__btn {
		grid-column: 1 / -1;
		margin-top: 6px;
	}
}

/* Visittkortet: bileteshøgd som i designforslaget (520 px), svart tak-ikon */
.sg-bizcard__stage {
	height: 520px;
}

.sg-bizcard__roof {
	background: #000;
}

@media (max-width: 800px) {
	.sg-bizcard__stage {
		height: auto;
	}

	.sg-bizcard__photo {
		height: 300px;
	}
}

/* Visittkortet: same proporsjonar som i designforslaget på alle skjermar (flata er maks 1328 px brei, kortet overlappar biletet med ca. 150 px) */
.sg-bizcard__stage {
	max-width: 1328px;
	margin-inline: auto;
}

.sg-bizcard__photo {
	width: max(55%, calc(100% - 370px));
}

@media (max-width: 800px) {
	.sg-bizcard__photo {
		width: 100%;
	}
}

/* ======================================================================== *
 * Mobil nærare skrivebordsdesignet
 * - galleri: 2 kolonnar (som rutenettet på skrivebord) i staden for ei lang kolonne
 * - øyremerke-kort og produktkort på forsida: sveipbar rad (som tre ved sida av kvarandre på skrivebord)
 * - tidslinjer: samanhengande vertikal strek med prikkar (som den horisontale streken på skrivebord)
 * ======================================================================== */
@media (max-width: 700px) {

	/* ----- Galleri (Sauen og Kua): 2 kolonnar ----- */
	.sg-photos .wp-block-gallery.has-nested-images,
	.sg-photos--tall .wp-block-gallery.has-nested-images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	/* ----- Øyremerke-kort: sveipbar rad ----- */
	.sg-earcards {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin-inline: calc(-1 * var(--sg-gutter));
		padding-inline: var(--sg-gutter);
		scroll-padding-inline: var(--sg-gutter);
	}

	.sg-earcards::-webkit-scrollbar {
		display: none;
	}

	.sg-earcards > .sg-earcard {
		flex: 0 0 80%;
		scroll-snap-align: start;
	}

	/* ----- Produktkort på forsida: sveipbar rad med hyllelappane ----- */
	.sg-section > .sg-cards--cards {
		display: flex;
		align-items: flex-start;
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 28px;
	}

	.sg-section > .sg-cards--cards::-webkit-scrollbar {
		display: none;
	}

	.sg-section > .sg-cards--cards > .sg-card {
		flex: 0 0 84%;
		scroll-snap-align: start;
		margin-top: 0;
	}

	.sg-section > .sg-cards--cards > .sg-card + .sg-card {
		margin-top: 0;
		border-left: 3px solid var(--sg-bg);
	}

	.sg-section > .sg-cards--cards .sg-card .sg-card__media {
		aspect-ratio: 4 / 5;
	}

	/* ----- Tidslinje: vertikal strek med prikkar ----- */
	.sg-tl {
		display: block;
		margin-left: 7px;
		border-left: 2px solid var(--ink);
	}

	.sg-tl__item,
	.sg-tl--year .sg-tl__item {
		border-top: 0;
		padding: 0 0 34px 26px;
	}

	.sg-tl__item:last-child,
	.sg-tl--year .sg-tl__item:last-child {
		padding-bottom: 6px;
	}

	.sg-tl__item::before {
		top: 6px;
		left: -8px;
	}

	.sg-tl--year .sg-tl__item::before {
		top: 5px;
		left: -10px;
	}

	.sg-tl--year .sg-tl__item.is-now {
		background: none;
	}

	.sg-tl--year .sg-tl__item.is-now::after {
		top: 0;
		left: auto;
		right: 0;
	}
}

/* Visittkortet på mobil, nærare skrivebord: biletet til venstre, kortet til høgre og over biletet (med skråstilt papir og skugge) */
@media (max-width: 800px) {
	.sg-bizcard__photo {
		width: 88%;
		height: 360px;
	}

	.sg-bizcard__card {
		margin: -120px 0 0 auto;
		width: 92%;
		max-width: none;
		padding: 34px 24px 28px;
	}

	.sg-bizcard__card::before {
		transform: rotate(-1.2deg);
	}
}

/* Visittkortet på mobil: «Skriv» står på same rad som e-postadressa (som «Ring» ved telefonnummeret) */
@media (max-width: 800px) {
	.sg-bizcard__value--mail {
		grid-column: 1;
		font-size: 15px;
		letter-spacing: -0.01em;
	}

	.sg-bizcard__value--mail + .sg-bizcard__btn {
		grid-column: 2;
		margin-top: 0;
	}

	.sg-bizcard__row {
		column-gap: 12px;
	}
}

@media (max-width: 800px) {
	.sg-bizcard__value--addr {
		font-size: 17px;
		line-height: 1.6;
	}
}

/* Kassa, «Bestillinga di»: taket sentrert og litt større, og ei større bestillingsliste med større produktbilete */
.sg-checkout__aside .sg-summary__title::before {
	display: none;
}

.sg-checkout__aside .sg-summary__head {
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.sg-checkout__aside .sg-summary__head::before {
	content: '';
	flex: 0 0 100%;
	height: 30px;
	margin-bottom: 12px;
	background: var(--sg-primary);
	-webkit-mask: url('../images/tak.png') no-repeat center / 126px 30px;
	mask: url('../images/tak.png') no-repeat center / 126px 30px;
}

.sg-checkout__aside .sg-summary__title {
	font-size: 30px;
}

.sg-checkout__aside .sg-summary__edit {
	font-size: 15px;
}

.sg-checkout__aside .sg-summary__item {
	grid-template-columns: 112px minmax(0, 1fr) auto;
	gap: 20px;
	padding: 20px 0;
}

.sg-checkout__aside .sg-summary__qty {
	top: -9px;
	right: -9px;
	width: 26px;
	height: 26px;
	font-size: 13px;
}

.sg-checkout__aside .sg-summary__name {
	font-size: 19px;
	line-height: 1.25;
	gap: 4px;
}

.sg-checkout__aside .sg-summary__sub,
.sg-checkout__aside .sg-summary__name dl {
	font-size: 15px;
}

.sg-checkout__aside .sg-summary__price {
	font-size: 19px;
}

.sg-checkout__aside .sg-summary .sg-row {
	font-size: 16px;
	padding: 11px 0;
}

@media (max-width: 600px) {
	.sg-checkout__aside .sg-summary__item {
		grid-template-columns: 88px minmax(0, 1fr) auto;
		gap: 16px;
	}

	.sg-checkout__aside .sg-summary__name,
	.sg-checkout__aside .sg-summary__price {
		font-size: 17px;
	}
}

/* Kassa: taket står midt over tittelen «Bestillinga di» (ikkje over heile boksen) */
.sg-checkout__aside .sg-summary__head {
	flex-wrap: nowrap;
}

.sg-checkout__aside .sg-summary__head::before {
	display: none;
}

.sg-checkout__aside .sg-summary__title::before {
	content: '';
	display: block;
	width: 126px;
	max-width: 100%;
	height: 30px;
	margin: 0 auto 12px;
	background: var(--sg-primary);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}


/* ======================================================================== *
 * Palett: sluttjusteringar
 * ======================================================================== */

/* Sekundærknappar: 1.5 px kant og tekst i ink (ikkje på heltebilete, der teksten er lys) */
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link,
.sg-btn--soon,
.sg-cards--cards .sg-card .sg-btn--soon,
.sg-ccard__btn--outline .wp-block-button__link,
.sg-bizcard__btn--outline .wp-block-button__link {
	background: transparent;
	color: var(--ink);
	border: 1.5px solid var(--ink);
}

.sg-herocover .is-style-outline .wp-block-button__link {
	color: var(--hero-text);
	border-color: var(--hero-text);
}

/* Lagerstatus: på lager = grøn, kjem snart = oker, utselt = knappefargen */
.sg-badge--ok,
.sg-badge.sg-badge--ok,
.sg-cards--cards .sg-card .sg-badge--ok {
	background: var(--ok);
	color: var(--btn-ink);
}

.sg-badge--soon,
.sg-badge.sg-badge--soon,
.sg-cards--cards .sg-card .sg-badge--soon {
	background: var(--soon);
	color: #fff;
}

.sg-badge--sold,
.sg-badge.sg-badge--sold,
.sg-cards--cards .sg-card .sg-badge--sold {
	background: var(--btn);
	color: var(--btn-ink);
}

.sg-bar span,
.sg-parti__bar span {
	background: var(--ok);
}

.sg-btn--primary:hover {
	filter: brightness(1.12);
}

/* «Kjem snart» på papir (hyllelapp og stor rad): nøyaktig oker-fargen frå paletten */
.sg-card__tag .sg-card__status--soon,
.sg-feature .sg-card__status--soon {
	color: var(--soon);
}

/* Primærknappar: alltid knappefargen med lys tekst (ikkje mørk tekst frå andre reglar) */
.sg-btn--primary,
.sg-btn.sg-btn--primary,
.wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.single_add_to_cart_button,
#place_order,
.checkout-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background-color: var(--btn);
	color: var(--btn-ink) !important;
}

/* Taket over aktiv side i navbaren: lys aksent (synleg på mørk bakgrunn) */
.sg-hdr__nav .wp-block-navigation-item__content::before {
	background: #ffffff;
}

/* Glødande kvitt tak: ei uskarp kopi av taket ligg under og lyser rundt */
.sg-hdr__nav .wp-block-navigation-item__content:not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *)::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	width: 48px;
	aspect-ratio: 480 / 114;
	background: #ffffff;
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
	filter: blur(5px);
	opacity: 0;
	transform: translate(-50%, 5px);
	transition: opacity 0.22s ease, transform 0.22s ease;
	pointer-events: none;
}

.sg-hdr__nav .wp-block-navigation-item__content:not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *):hover::after,
.sg-hdr__nav .wp-block-navigation-item__content:not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *):focus-visible::after,
.sg-hdr__nav .wp-block-navigation-item__content:not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *)[aria-current]::after {
	opacity: 0.95;
	transform: translate(-50%, 0);
}

/* Mobilmenyen: glød-taket ligg på same plass og i same storleik som det kvite taket (ikkje eit ekstra tak) */
.sg-hdr .is-menu-open .wp-block-navigation-item__content:not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *)::after {
	/* Same glød som på skrivebord: ei ferdig uskarp tak-maske (tak-glod.png) som er litt større enn taket, så gløden går utanfor takforma */
	top: 8.33px;
	width: 79.33px;
	aspect-ratio: 680 / 314;
	filter: none;
	-webkit-mask: url('../images/tak-glod.png?v=2') no-repeat center / 100% 100%;
	mask: url('../images/tak-glod.png?v=2') no-repeat center / 100% 100%;
}

/* ...og begge takene litt lågare, nærare teksten */
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *)::before {
	top: 20px;
}

/* Mobilmenyen: gløden på taket berre på den valde sida */
.sg-hdr .is-menu-open .wp-block-navigation-item__content:not([aria-current]):not(.sg-hdr__nav-shop):not(.sg-hdr__nav-shop *)::after {
	opacity: 0 !important;
}

/* Mobilmenyen: valt side vises berre med taket, ikkje med lilla tekst */
.sg-hdr .is-menu-open .wp-block-navigation-item__content[aria-current],
.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current] {
	color: var(--bg) !important;
}

/* Mobil: mørkare bunn på heltebileta bak teksten, og tydelegare skugge på småtittel og tak, så dei ikkje druknar i lyse bilete */
@media (max-width: 800px) {
	.sg-subhero:not(.sg-subhero--plain)::before,
	.sg-subhero--om::before {
		background: linear-gradient(0deg, rgba(18, 24, 15, 0.5) 0%, rgba(18, 24, 15, 0.38) 40%, rgba(18, 24, 15, 0.18) 62%, rgba(18, 24, 15, 0) 82%);
	}

	.sg-subhero:not(.sg-subhero--plain) .sg-label {
		color: #e6dcf2;
		text-shadow: 0 0 3px #000, 0 0 8px rgba(0, 0, 0, 0.9), 0 0 16px rgba(0, 0, 0, 0.7);
	}

	.sg-subhero:not(.sg-subhero--plain) .sg-subhero__crumbs {
		text-shadow: 0 0 3px #000, 0 0 8px rgba(0, 0, 0, 0.9), 0 0 16px rgba(0, 0, 0, 0.7);
	}

	.sg-subhero:not(.sg-subhero--plain) .sg-label::before {
		filter: drop-shadow(0 0 2px #000) drop-shadow(0 0 6px rgba(0, 0, 0, 0.85)) drop-shadow(0 0 12px rgba(0, 0, 0, 0.6));
	}
}

/* Navbar 11c: logoen står rett på fjellbildet. Ingen svart flate eller skråkant; originalen svisdal-logo.jpg blir "lighten"-blanda, så den svarte bakgrunnen forsvinn */
.wp-block-group.sg-hdr {
	--logo-w: 340px;
}

.sg-hdr .sg-hdr__logo {
	position: static;
	z-index: auto;
	width: var(--logo-w);
	padding-left: 48px;
	background: none;
	clip-path: none;
	align-items: flex-end;
}

.sg-hdr .sg-hdr__logo .sg-logo,
.sg-hdr .sg-hdr__logo .sg-logo a {
	display: block;
	margin: 0;
}

.sg-hdr .sg-hdr__logo .sg-logo img {
	display: block;
	width: min(230px, calc((var(--hdr-h) - 3px) * 1.75));
	height: auto;
	max-width: none;
	aspect-ratio: 1.75;
	object-fit: cover;
	object-position: 50% 46%;
	mix-blend-mode: lighten;
}

/* Hover/trykk på logoen: glød som følger tegninga (ikkje ein firkant). Ein uskarp, lysare kopi av same bilete ligg over med "lighten", så berre det lyse i logoen lyser */
.sg-hdr .sg-hdr__logo .sg-logo a {
	position: relative;
	-webkit-tap-highlight-color: transparent;
}

.sg-hdr .sg-hdr__logo .sg-logo a::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url('../images/svisdal-logo-lapp.jpg') 50% 46% / cover no-repeat;
	filter: blur(6px) brightness(1.7);
	mix-blend-mode: lighten;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.sg-hdr .sg-hdr__logo .sg-logo a:hover::after,
.sg-hdr .sg-hdr__logo .sg-logo a:focus-visible::after,
.sg-hdr .sg-hdr__logo .sg-logo a:active::after {
	opacity: 0.9;
}

.sg-hdr .sg-hdr__logo .sg-logo a:hover img,
.sg-hdr .sg-hdr__logo .sg-logo a:focus-visible img,
.sg-hdr .sg-hdr__logo .sg-logo a:active img {
	filter: brightness(1.15);
}

.sg-hdr .sg-hdr__logo .sg-logo a:focus,
.sg-hdr .sg-hdr__logo .sg-logo a:focus-visible {
	outline: none;
}

/* Toppen i handlekorg/kasse: berre ein tittel (nettstadnamnet) i staden for logoen */
.sg-header--checkout .sg-header__title {
	margin: 0;
	align-self: center;
	padding-block: 18px;
	font-family: var(--sg-serif);
	font-size: 26px;
	line-height: 1.1;
	color: var(--ink);
}

.sg-header--checkout .sg-header__title a {
	color: inherit;
	text-decoration: none;
}

@media (max-width: 640px) {
	.sg-header--checkout .sg-header__title {
		padding-block: 14px 4px;
	}

	.sg-header--checkout .sg-steps {
		padding-bottom: 16px;
	}
}

/* «Nettbutikk»-knappen: ingen lilla markering når sida er aktiv (same ramme og logo som elles) */
.sg-hdr .sg-hdr__shop[aria-current] {
	border-color: var(--panel);
}

.sg-hdr .sg-hdr__shop[aria-current]::after {
	background: var(--bg);
}

/* Framside: utsikt. Panorama over heile breidda med tekst nede til venstre, og ei rad med tre bilete av dalen */
.wp-block-cover.sg-utsikt {
	min-height: min(80vh, 860px);
	padding: 0;
	align-items: flex-end;
}

.sg-utsikt::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(14, 22, 12, 0.62) 0%, rgba(14, 22, 12, 0.3) 34%, rgba(14, 22, 12, 0) 62%);
	pointer-events: none;
}

.sg-utsikt .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	padding: 0 var(--sg-gutter) clamp(32px, 6vw, 72px);
	margin-inline: auto;
	color: #fff;
}

.sg-utsikt .sg-label,
.sg-utsikt .sg-utsikt__title,
.sg-utsikt .sg-utsikt__text {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.7), 0 0 14px rgba(0, 0, 0, 0.55);
}

.sg-utsikt .sg-label::before {
	background: var(--light-accent);
}

.sg-utsikt .sg-utsikt__title {
	margin: 10px 0 12px;
	font-size: clamp(34px, 5.2vw, 64px);
	line-height: 1.05;
}

.sg-utsikt .sg-utsikt__text {
	max-width: 560px;
	margin: 0;
	font-size: clamp(16px, 1.5vw, 19px);
	line-height: 1.55;
}

.sg-utsikt-rad {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	margin: 0 0 clamp(40px, 6vw, 80px);
	padding: 0;
}

.sg-utsikt-rad .wp-block-image {
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.sg-utsikt-rad img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sg-utsikt-rad .wp-block-image:nth-child(2) img {
	object-position: 30% 50%;
}

.sg-utsikt-rad .wp-block-image:nth-child(3) img {
	object-position: 58% 50%;
}

.sg-utsikt-rad .wp-block-image:nth-child(4) img {
	object-position: 50% 70%;
}

@media (max-width: 700px) {
	.wp-block-cover.sg-utsikt {
		min-height: 70vh;
	}

	.sg-utsikt-rad {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.sg-utsikt-rad::-webkit-scrollbar {
		display: none;
	}

	.sg-utsikt-rad .wp-block-image {
		flex: 0 0 78%;
		scroll-snap-align: start;
	}
}

/* TEST: animert forside. Sticky scene: bileta avdekkast med ein "wipe" oppover, tittelen glir inn ord for ord, og bileta har parallakse medan ein scrollar */
.sg-scrollhero {
	position: relative;
	height: calc(100svh + (var(--n, 4) - 1) * 90svh);
	--sp: 0;
}

.sg-scrollhero__stage {
	position: sticky;
	top: 0;
	height: 100svh;
	overflow: hidden;
	background: #121a10;
}

.sg-scrollhero__slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	clip-path: inset(100% 0 0 0);
	pointer-events: none;
}

.sg-scrollhero__slide.is-leaving {
	z-index: 1;
	clip-path: inset(0);
}

.sg-scrollhero__slide.is-active {
	z-index: 2;
	clip-path: inset(0);
	pointer-events: auto;
	transition: clip-path 1.15s cubic-bezier(0.77, 0, 0.18, 1);
}

.sg-scrollhero__media {
	position: absolute;
	inset: -6% 0;
	transform: translate3d(0, calc((var(--sp) - 0.5) * -5%), 0);
	will-change: transform;
}

.sg-scrollhero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.22);
	transition: transform 1.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.sg-scrollhero__slide.is-active .sg-scrollhero__img,
.sg-scrollhero__slide.is-leaving .sg-scrollhero__img {
	transform: scale(1);
}

.sg-scrollhero__slide::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(14, 22, 12, 0.7) 0%, rgba(14, 22, 12, 0.36) 34%, rgba(14, 22, 12, 0) 64%);
	pointer-events: none;
}

.sg-scrollhero__text {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	box-sizing: border-box;
	max-width: 1200px;
	margin-inline: auto;
	padding: 0 var(--sg-gutter) clamp(120px, 17vh, 170px);
	color: #fff;
}

/* Etikett, ingress og knappar tonar opp; tittelen glir opp ord for ord ut or ei maske */
.sg-scrollhero__text > :not(.sg-scrollhero__title) {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.sg-scrollhero__slide.is-active .sg-scrollhero__text > :not(.sg-scrollhero__title) {
	opacity: 1;
	transform: none;
	transition: opacity 0.9s ease 0.55s, transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s;
}

.sg-scrollhero__slide.is-active .sg-scrollhero__text > .sg-label {
	transition-delay: 0.45s;
}

.sg-scrollhero__slide.is-active .sg-scrollhero__text > .sg-scrollhero__lead {
	transition-delay: 0.95s;
}

.sg-scrollhero__slide.is-active .sg-scrollhero__text > .sg-scrollhero__buttons {
	transition-delay: 1.1s;
}

.sg-scrollhero .sg-w {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	padding-bottom: 0.12em;
	margin-bottom: -0.12em;
}

.sg-scrollhero .sg-w > span {
	display: inline-block;
	transform: translateY(115%);
	transition: transform 0.4s ease;
}

.sg-scrollhero__slide.is-active .sg-w > span {
	transform: none;
	transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: calc(0.55s + var(--i, 0) * 0.09s);
}

.sg-scrollhero .sg-label,
.sg-scrollhero__title,
.sg-scrollhero__lead {
	color: #fff;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.7), 0 0 14px rgba(0, 0, 0, 0.55);
}

.sg-scrollhero .sg-label::before {
	background: var(--light-accent);
}

.sg-scrollhero .sg-scrollhero__title {
	margin: 18px 0 22px;
	max-width: 14em;
	font-size: clamp(36px, 5.6vw, 74px);
	line-height: 1.04;
}

.sg-scrollhero .sg-scrollhero__lead {
	max-width: 560px;
	margin: 0;
	font-size: clamp(16px, 1.5vw, 19px);
	line-height: 1.55;
}

.sg-scrollhero__buttons {
	margin-top: 26px;
}

.sg-scrollhero .is-style-outline .wp-block-button__link {
	color: #fff;
	border-color: #fff;
	background: transparent;
}

/* Teljar og fremdriftsstrek til høgre */
.sg-scrollhero__prog {
	position: absolute;
	z-index: 3;
	right: clamp(14px, 2.4vw, 34px);
	top: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	transform: translateY(-50%);
	color: #fff;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.12em;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.7);
}

.sg-scrollhero__prog i {
	position: relative;
	display: block;
	width: 1.5px;
	height: clamp(70px, 14vh, 140px);
	background: rgba(255, 255, 255, 0.35);
	overflow: hidden;
}

.sg-scrollhero__prog b {
	position: absolute;
	inset: 0;
	background: #fff;
	transform: scaleY(0);
	transform-origin: top;
}

.sg-scrollhero__hint {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 118px;
	transform: translateX(-50%);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
	transition: opacity 0.4s ease;
}

.sg-scrollhero__hint::after {
	content: '';
	display: block;
	width: 1.5px;
	height: 26px;
	margin: 8px auto 0;
	background: #fff;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.6);
	animation: sg-hint 1.8s ease-in-out infinite;
}

.sg-scrollhero.is-started .sg-scrollhero__hint {
	opacity: 0;
}

@keyframes sg-hint {
	0%, 100% { transform: scaleY(0.4); transform-origin: top; opacity: 0.5; }
	50% { transform: scaleY(1); transform-origin: top; opacity: 1; }
}

@media (max-width: 700px) {
	.sg-scrollhero__text {
		padding-bottom: 110px;
	}

	.sg-scrollhero__prog {
		right: 10px;
		font-size: 11px;
	}

	.sg-scrollhero__hint {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sg-scrollhero__slide,
	.sg-scrollhero__slide.is-active {
		clip-path: none;
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.sg-scrollhero__slide.is-active {
		opacity: 1;
	}

	.sg-scrollhero__media,
	.sg-scrollhero__img,
	.sg-scrollhero .sg-w > span,
	.sg-scrollhero__text > * {
		transform: none !important;
		opacity: 1;
		transition: none !important;
	}

	.sg-scrollhero__hint::after {
		animation: none;
	}
}

/* Mobilmenyen: same utsiktsbilete som i navbaren, i stående format, med tone og rolig panorering. Elementa er skjulte (og lastar ikkje) til menyen er open. */
.sg-hdr__mbgs {
	display: none;
}

@media (max-width: 900px) {
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open) .sg-hdr__mbgs {
		display: block;
		position: fixed;
		inset: 0;
		z-index: -1;
		overflow: hidden;
		background: #141a16;
		pointer-events: none;
	}

	/* Bileta er viste litt bredare (mindre innzooma): det skarpe biletet fyller 120 % av breidda, og ei uskarp utgåve av same bilete fyller over og under */
	.sg-hdr__mbg {
		position: absolute;
		inset: -3% -4%;
		background-size: 0 0;
		opacity: 0;
		will-change: opacity;
		animation: sg-mbg 40s linear infinite;
		animation-delay: calc(var(--k, 0) * 5s - 2s);
	}

	.sg-hdr__mbg::before,
	.sg-hdr__mbg::after {
		content: '';
		position: absolute;
		inset: 0;
		background-image: inherit;
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}

	.sg-hdr__mbg::before {
		background-size: cover;
	}

	.sg-hdr__mbg::after {
		background-size: 120% auto;
		-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
		mask-image: linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
	}

	/* Logo og handlekorg i toppen skal ikkje skine gjennom den opne menyen */
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open) .sg-hdr__logo,
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open) .sg-hdr__right {
		visibility: hidden;
	}

	/* Navbar-bakgrunnen (striper, tone og uskarp glass) skal ikkje ligge som eit band øvst i den opne menyen. Glasset blir skjult heilt, så det ikkje blir rekna ut for kvar ramme medan menyen opnar seg. */
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open)::before,
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open)::after,
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open) .sg-hdr__bgs,
	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	/* Menyen har ingen mørk tone: bileta blir viste rå */
	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open,
	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open.has-background {
		background-color: transparent !important;
		background-image: none !important;
	}

	/* Språkvelgjaren: mørke, nesten dekkjande knappar med kvit tekst og tydeleg ramme, så ho er lesbar uansett bilete */
	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .sg-lang--menu .sg-lang__item {
		background: rgba(8, 12, 8, 0.78);
		border: 1.5px solid rgba(255, 255, 255, 0.7);
		color: #fff;
		text-shadow: none;
	}

	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .sg-lang--menu .sg-lang__item.is-current {
		border-color: #bba0d4;
		background: rgba(8, 12, 8, 0.9);
	}

	/* Valt språk: kvit tekst (lilla ramme) så han held seg lesbar mot bileta */
	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .sg-lang--menu .sg-lang__item.is-current {
		color: #fff;
	}

	/* Nettbutikk-boksen: berre ein mjuk skugge så logoen held seg synleg mot lyse bilete */
	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .sg-hdr__nav-shop .wp-block-navigation-item__content {
		background: transparent !important;
		filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.6));
	}

	/* Lysare bakgrunn: lenkene får ein mjuk mørk skugge så dei held seg lesbare */
	.sg-hdr .is-menu-open .wp-block-navigation-item__content,
	.sg-hdr .is-menu-open .sg-lang--menu .sg-lang__item {
		text-shadow: 0 0 3px rgba(0, 0, 0, 0.75), 0 0 14px rgba(0, 0, 0, 0.55);
	}
}

@keyframes sg-mbg {
	0% { opacity: 0; }
	5% { opacity: 1; }
	12.5% { opacity: 1; }
	17.5% { opacity: 0; }
	100% { opacity: 0; }
}

@keyframes sg-mbg-fade {
	0% { opacity: 0; }
	5% { opacity: 1; }
	12.5% { opacity: 1; }
	17.5% { opacity: 0; }
	100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.sg-hdr__mbg {
		animation-name: sg-mbg-fade;
		transform: none;
	}
}

/* FORSIDA: navbaren ligg gjennomsiktig oppå heltebiletet (utan strekar og filter), og tonar mjukt over til vanleg navbar når ein scrollar forbi biletet. Gjeld berre forsida. */
body.sg-hero-page .sg-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

body.sg-hero-page .sg-hdr,
body.sg-hero-page .sg-hdr::after,
body.sg-hero-page .sg-hdr__bgs {
	transition: background-color 0.6s ease, border-color 0.6s ease, opacity 0.6s ease;
}

body.sg-hero-page .sg-site-header::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 150px;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(8, 14, 8, 0.5), rgba(8, 14, 8, 0));
	opacity: 0;
	transition: opacity 0.6s ease;
}

body.sg-hero-page .sg-site-header:not(.is-solid)::before {
	opacity: 1;
}

body.sg-hero-page .sg-site-header:not(.is-solid) .sg-hdr {
	background: transparent;
	border-bottom-color: transparent;
}

body.sg-hero-page .sg-site-header:not(.is-solid) .sg-hdr::after,
body.sg-hero-page .sg-site-header:not(.is-solid) .sg-hdr__bgs {
	opacity: 0;
}

body.sg-hero-page .sg-site-header:not(.is-solid) .sg-hdr__nav .wp-block-navigation-item__content {
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

/* LOGOFELT: eit svart «hus» med spiss topp og rust-kant som heng ned under navbaren (på alle sider). Logoen står i feltet og blir ikkje lenger bytt ut. */
.wp-block-group.sg-hdr {
	overflow: visible;
	--badge-drop: 22px;
	--badge-w: calc(min(230px, calc((var(--hdr-h) - 3px) * 1.75)) + 40px);
}

.sg-hdr .sg-hdr__logo {
	position: relative;
	z-index: auto;
	top: var(--badge-drop);
}

.sg-hdr .sg-hdr__logo .sg-logo img {
	transition: width 0.35s ease;
}

.sg-hdr .sg-hdr__logo::before,
.sg-hdr .sg-hdr__logo::after {
	content: '';
	position: absolute;
	left: 28px;
	width: var(--badge-w);
	top: -10px;
	bottom: -10px;
	z-index: -1;
	transition: width 0.35s ease;
	pointer-events: none;
}

/* Rust-kanten (heile forma) */
.sg-hdr .sg-hdr__logo::before {
	background: var(--btn);
	clip-path: polygon(50% 0, 100% 30px, 100% 100%, 0 100%, 0 30px);
}

/* Svart fyll, 3 px inne frå kanten */
.sg-hdr .sg-hdr__logo::after {
	left: 31px;
	width: calc(var(--badge-w) - 6px);
	top: -7px;
	bottom: -7px;
	background: #000;
	clip-path: polygon(50% 0, 100% 29px, 100% 100%, 0 100%, 0 29px);
}

@media (max-width: 900px) {
	.wp-block-group.sg-hdr {
		--badge-drop: 14px;
		--badge-w: calc(min(150px, calc((var(--hdr-h) - 3px) * 1.75)) + 28px);
	}

	.sg-hdr .sg-hdr__logo::before,
	.sg-hdr .sg-hdr__logo::after {
		left: 6px;
	}

	.sg-hdr .sg-hdr__logo::after {
		left: 9px;
	}

	.sg-hdr .sg-hdr__logo::before {
		clip-path: polygon(50% 0, 100% 22px, 100% 100%, 0 100%, 0 22px);
	}

	.sg-hdr .sg-hdr__logo::after {
		clip-path: polygon(50% 0, 100% 21px, 100% 100%, 0 100%, 0 21px);
	}
}

/* Mørketonen/streken over navbaren skal ligge under huset, så den svarte flata og logobiletet har nøyaktig same svarte farge */
.sg-hdr::after {
	z-index: -3;
}

/* Logoen klipt til hus-forma, så det rektangulære logobiletet ikkje stikk ut ved takskråa. Klippet ligg på sjølve bildet (ikkje lenka), så koordinatane følgjer bildet: 17 px ut på sidene og 10 px over biletet. */
.sg-hdr .sg-hdr__logo .sg-logo img {
	mix-blend-mode: normal;
}

.sg-hdr .sg-hdr__logo .sg-logo img,
.sg-hdr .sg-hdr__logo .sg-logo a::after {
	clip-path: polygon(50% -7px, calc(100% + 17px) 22px, calc(100% + 17px) calc(100% + 20px), -17px calc(100% + 20px), -17px 22px);
}

@media (max-width: 900px) {
	.sg-hdr .sg-hdr__logo .sg-logo img,
	.sg-hdr .sg-hdr__logo .sg-logo a::after {
		clip-path: polygon(50% -7px, calc(100% + 11px) 14px, calc(100% + 11px) calc(100% + 20px), -11px calc(100% + 20px), -11px 14px);
	}
}

/* GLASS: etter forsida (og på alle andre sider når ein har scrolla) får navbaren ein halvgjennomsiktig, uskarp bakgrunn så innhaldet skimtar under. Uskarpheita ligg på ei eiga flate (::before), ikkje på navbaren, så mobilmenyen framleis dekkjer heile skjermen. */
/* Ingen fjellbilete i navbaren: flata ::before er tom og usynleg til glass (eller logoskyen på forsida) tek henne i bruk */
.sg-hdr::before {
	background: none;
	filter: none;
	opacity: 0;
	transition: background-color 0.4s ease, opacity 0.4s ease;
}

body:not(.sg-hero-page) .sg-site-header.is-shrunk .sg-hdr,
body.sg-hero-page .sg-site-header.is-solid .sg-hdr {
	background: transparent;
}

body:not(.sg-hero-page) .sg-site-header.is-shrunk .sg-hdr::before,
body.sg-hero-page .sg-site-header.is-solid .sg-hdr::before {
	background-image: none;
	background-color: rgba(20, 28, 22, 0.62);
	filter: none;
	opacity: 1;
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	backdrop-filter: blur(16px) saturate(1.4);
}

body:not(.sg-hero-page) .sg-site-header.is-shrunk .sg-hdr::after,
body.sg-hero-page .sg-site-header.is-solid .sg-hdr::after {
	background: linear-gradient(#a8572f, #a8572f) var(--logo-w) 50% / 1.5px 36px no-repeat;
}

@media (max-width: 900px) {
	body:not(.sg-hero-page) .sg-site-header.is-shrunk .sg-hdr::after,
	body.sg-hero-page .sg-site-header.is-solid .sg-hdr::after {
		background: none;
	}
}

/* Navbaren krympar når ein har scrolla litt (alle sider). Høgda følgjer --hdr-h, og logoen skalerer med. */
.wp-block-group.sg-hdr {
	transition: height 0.35s ease;
}

body.sg-hero-page .sg-hdr {
	transition: height 0.35s ease, background-color 0.6s ease, border-color 0.6s ease, opacity 0.6s ease;
}

.sg-site-header.is-shrunk .wp-block-group.sg-hdr {
	--hdr-h: 72px;
}

@media (max-width: 900px) {
	.sg-site-header.is-shrunk .wp-block-group.sg-hdr {
		--hdr-h: 62px;
	}
}

/* Sida under skal ikkje hoppe når navbaren krympar (sider utan fast navbar over biletet) */
body:not(.sg-hero-page) .sg-site-header {
	transition: margin-bottom 0.35s ease;
}

body:not(.sg-hero-page) .sg-site-header.is-shrunk {
	margin-bottom: calc(clamp(96px, 6.2vw, 124px) - 72px);
}

@media (max-width: 900px) {
	body:not(.sg-hero-page) .sg-site-header.is-shrunk {
		margin-bottom: 14px;
	}
}

@media (max-width: 420px) {
	body:not(.sg-hero-page) .sg-site-header.is-shrunk {
		margin-bottom: 6px;
	}
}

/* Tak-ikonet glir mellom menypunkta (skrivebord). Mobilmenyen bruker framleis taket per punkt. */
.sg-hdr__roof {
	display: none;
}

@media (min-width: 901px) {
	.sg-hdr__nav .wp-block-navigation-item__content::before,
	.sg-hdr__nav .wp-block-navigation-item__content::after {
		display: none !important;
	}

	.sg-hdr__roof {
		display: block;
		position: absolute;
		left: 0;
		top: 9px;
		z-index: 2;
		width: 48px;
		aspect-ratio: 480 / 114;
		pointer-events: none;
		opacity: 0;
	}

	.sg-hdr__roof.is-on {
		opacity: 1;
	}

	.sg-hdr__roof.is-ready {
		transition: transform 0.45s cubic-bezier(0.22, 0.9, 0.25, 1), opacity 0.25s ease;
	}

	/* Gløden vises berre når taket står på den valde sida (ikkje når ein held musa over eit anna menypunkt) */
	.sg-hdr__roof b {
		position: absolute;
		inset: 0;
		filter: blur(5px);
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.sg-hdr__roof.is-current b {
		opacity: 0.95;
	}

	.sg-hdr__roof u,
	.sg-hdr__roof i {
		position: absolute;
		inset: 0;
		background: #ffffff;
		-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
		mask: url('../images/tak.png') no-repeat center / 100% 100%;
	}
}

/* Forsida: heltebiletet fyller heile skjermhøgda (skrivebord og mobil), og startar øvst bak den gjennomsiktige navbaren */
body.sg-hero-page .wp-block-cover.sg-herocover {
	min-height: max(100svh, 640px) !important;
}

@media (min-width: 901px) {
	body.sg-hero-page .wp-block-cover.sg-herocover {
		min-height: max(100svh, 700px) !important;
	}
}

/* Mobil: innhaldet i heltebiletet får luft øvst så det ikkje kolliderer med logoen */
@media (max-width: 900px) {
	body.sg-hero-page .sg-herocover .wp-block-cover__inner-container {
		padding-top: 100px;
	}
}

/* Om oss på forsida (brei skjerm): tekstfeltet står nærare biletet til venstre. Feltet er plassert ut frå biletkanten (62 %) og startar akkurat der (ingen overlapp), så teksten står like nær biletet uansett skjermbreidd. */
@media (min-width: 901px) {
	.sg-aboutband .wp-block-cover__inner-container {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 62%;
		right: 0;
		width: auto;
		margin: 0;
		justify-content: flex-start;
		align-items: center;
		padding: clamp(32px, 4vw, 64px) clamp(16px, 2vw, 32px) clamp(32px, 4vw, 64px) 0;
	}

	.sg-aboutband__panel {
		width: 100%;
		max-width: 520px;
		padding-left: 28px;
	}
}

/* Sider med bilde-hero (Om garden, Sauen, Kua): same oppsett som forsida. Heltebiletet fyller heile skjermhøgda og startar øvst bak den gjennomsiktige navbaren. */
body.sg-hero-page .wp-block-cover.sg-subhero:not(.sg-subhero--plain) {
	min-height: max(100svh, 640px) !important;
}

@media (min-width: 901px) {
	body.sg-hero-page .wp-block-cover.sg-subhero:not(.sg-subhero--plain) {
		min-height: max(100svh, 700px) !important;
	}
}

@media (max-width: 900px) {
	body.sg-hero-page .sg-subhero:not(.sg-subhero--plain) .wp-block-cover__inner-container {
		padding-top: 100px;
	}
}

/* =========================================================================
   HYLLELAPP (logofelt 11a): berre nettbutikken (butikk, produkt, kategori) og handlekorg/kasse.
   Ein mørk lapp med gavlform som heng i to snorer med hol, svakt skeiv og med skugge. Berre sjølve lappa er rotert; logoen står rett, så han blir skarp.
   Alle mål er rekna ut med --ts (storleik) i staden for transform: scale, så logoen blir skarp.
   ========================================================================= */
@property --ts {
	syntax: '<number>';
	inherits: true;
	initial-value: 0.86;
}

body.woocommerce-page .wp-block-group.sg-hdr {
	--ts: 0.86;
	--tl: 48px;
	transition: height 0.35s ease, --ts 0.35s ease;
}

body.woocommerce-page .sg-site-header.is-shrunk .wp-block-group.sg-hdr {
	--ts: 0.62;
}

@media (max-width: 900px) {
	body.woocommerce-page .wp-block-group.sg-hdr {
		--ts: 0.6;
		--tl: 12px;
	}

	body.woocommerce-page .sg-site-header.is-shrunk .wp-block-group.sg-hdr {
		--ts: 0.46;
	}
}

body.woocommerce-page .sg-hdr .sg-hdr__logo {
	top: 0;
	z-index: 5;
	filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.25));
}

/* snorer og hol */
body.woocommerce-page .sg-hdr .sg-hdr__logo::before {
	left: var(--tl);
	width: calc(250px * var(--ts));
	top: 0;
	bottom: auto;
	height: calc(48px * var(--ts));
	z-index: 2;
	background:
		linear-gradient(#f6f1e7, #f6f1e7) calc(65px * var(--ts)) 0 / 1.5px calc(14px * var(--ts)) no-repeat,
		linear-gradient(#f6f1e7, #f6f1e7) calc(185px * var(--ts)) 0 / 1.5px calc(14px * var(--ts)) no-repeat,
		radial-gradient(circle at calc(125px * var(--ts)) calc(26px * var(--ts)), #1e2620 0 calc(3px * var(--ts)), #e6dcc8 calc(3px * var(--ts)) calc(4.5px * var(--ts)), transparent calc(4.8px * var(--ts)));
	clip-path: none;
	transition: none;
}

/* sjølve lappen */
body.woocommerce-page .sg-hdr .sg-hdr__logo::after {
	left: var(--tl);
	width: calc(250px * var(--ts));
	top: calc(14px * var(--ts));
	bottom: auto;
	height: calc(176px * var(--ts));
	z-index: 1;
	background: #000;
	clip-path: polygon(18% 0, 82% 0, 100% 14%, 100% 100%, 0 100%, 0 14%);
	transform: rotate(-1.2deg);
	transform-origin: 50% calc(12px * var(--ts));
	transition: none;
}

body.woocommerce-page .sg-hdr .sg-hdr__logo .sg-logo {
	position: absolute;
	left: calc(var(--tl) + 20px * var(--ts));
	top: calc(48px * var(--ts));
	width: calc(210px * var(--ts));
	margin: 0;
	z-index: 3;
}

body.woocommerce-page .sg-hdr .sg-hdr__logo .sg-logo img {
	width: 100%;
	height: auto;
	aspect-ratio: 1.75;
	clip-path: none;
	transition: none;
}

body.woocommerce-page .sg-hdr .sg-hdr__logo .sg-logo a::after {
	clip-path: none;
}

/* Plass under hyllelappen, så ho ikkje dekkjer brødsmulestien/tittelen (og sida hoppar ikkje når navbaren krympar) */
body.woocommerce-page .sg-site-header:has(.sg-hdr) {
	margin-bottom: 50px;
}

body.woocommerce-page .sg-site-header:has(.sg-hdr).is-shrunk {
	margin-bottom: calc(50px + clamp(96px, 6.2vw, 124px) - 72px);
}

@media (max-width: 900px) {
	body.woocommerce-page .sg-site-header:has(.sg-hdr) {
		margin-bottom: 36px;
	}

	body.woocommerce-page .sg-site-header:has(.sg-hdr).is-shrunk {
		margin-bottom: 50px;
	}
}

@media (max-width: 420px) {
	body.woocommerce-page .sg-site-header:has(.sg-hdr).is-shrunk {
		margin-bottom: 42px;
	}
}

/* Handlekorg og kasse (eigen hovud utan .sg-hdr): same hyllelapp, med mørke snorer på den kvite toppen */
.sg-header--checkout {
	--ts: 0.7;
	overflow: visible;
	position: relative;
	z-index: 30;
}

.sg-site-header:has(.sg-header--checkout) {
	margin-bottom: 76px;
}

.sg-header--checkout .sg-logo--small {
	position: relative;
	flex: none;
	width: calc(250px * var(--ts));
	height: 64px;
	margin: 0;
	padding: 0;
	background: none;
	clip-path: none;
	filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.25));
}

.sg-header--checkout .sg-logo--small::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: calc(250px * var(--ts));
	height: calc(48px * var(--ts));
	z-index: 2;
	background:
		linear-gradient(#2a2620, #2a2620) calc(65px * var(--ts)) 0 / 1.5px calc(14px * var(--ts)) no-repeat,
		linear-gradient(#2a2620, #2a2620) calc(185px * var(--ts)) 0 / 1.5px calc(14px * var(--ts)) no-repeat,
		radial-gradient(circle at calc(125px * var(--ts)) calc(26px * var(--ts)), #fffbf3 0 calc(3px * var(--ts)), #cdbfa6 calc(3px * var(--ts)) calc(4.5px * var(--ts)), transparent calc(4.8px * var(--ts)));
}

.sg-header--checkout .sg-logo--small::after {
	content: '';
	position: absolute;
	left: 0;
	top: calc(14px * var(--ts));
	width: calc(250px * var(--ts));
	height: calc(176px * var(--ts));
	z-index: 1;
	background: #000;
	clip-path: polygon(18% 0, 82% 0, 100% 14%, 100% 100%, 0 100%, 0 14%);
	transform: rotate(-1.2deg);
	transform-origin: 50% calc(12px * var(--ts));
}

.sg-header--checkout .sg-logo--small a {
	position: absolute;
	left: calc(20px * var(--ts));
	top: calc(48px * var(--ts));
	width: calc(210px * var(--ts));
	z-index: 3;
}

.sg-header--checkout .sg-logo--small img {
	width: 100%;
	height: auto;
	aspect-ratio: 1.75;
	object-fit: cover;
	object-position: 50% 46%;
	mix-blend-mode: normal;
}

/* Gløden på logoen: ein uskarp, lys kopi av logoen (som i navbaren) i staden for ein rektangulær skugge */
.sg-header--checkout .sg-logo--small a:hover img,
.sg-header--checkout .sg-logo--small a:focus-visible img {
	filter: brightness(1.12);
}

.sg-header--checkout .sg-logo--small a::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url('../images/svisdal-logo-lapp.jpg') 50% 46% / cover no-repeat;
	filter: blur(6px) brightness(1.7);
	mix-blend-mode: lighten;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.sg-header--checkout .sg-logo--small a:hover::after,
.sg-header--checkout .sg-logo--small a:focus-visible::after {
	opacity: 0.9;
}

@media (max-width: 640px) {
	.sg-header--checkout {
		--ts: 0.58;
	}

	.sg-header--checkout .sg-logo--small {
		height: calc(196px * var(--ts));
	}

	.sg-site-header:has(.sg-header--checkout) {
		margin-bottom: 8px;
	}
}

/* =========================================================================
   INTRO på forsida – «Låvedøra» (retning 16c frå Claude Design).
   Heltet er dekt av to mørke låvedører. Ein rust strek teiknar omrisset av eit hus over skøyten, dørene glipp og blir slått opp
   til kvar si side, biletet zoomar ut, så kjem logo, tekst, meny og knappar.
   Klassar på <html>, sette av skriptet i <head> (inc/setup.php):
     .sv-intro-spel  full intro (første besøk i økta). Alt som ikkje er introdusert enno står i starttilstand til .sv-intro-go blir sett.
     .sv-intro-go    sett av assets/js/intro.js når heltebiletet er klart. Startar animasjonane.
     .sv-intro-kort  seinare besøk i økta: berre ei kort tone inn, ingen dører.
   Ingen av klassane = vanleg side (ingen JS, eller introen er ferdig). Dørene (.sv-intro16c) blir lagde ut av inc/setup.php (wp_body_open).
   ========================================================================= */
:root {
	--sv16-mork: #1e2620;
	--sv16-rust: #a8572f;
}

/* ---------- Dørene ---------- */
.sv-intro16c {
	display: none;
}

html.sv-intro-spel .sv-intro16c {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 900; /* over heltet, under navbaren (1000) */
	pointer-events: none;
	overflow: hidden;
}

.sv-intro16c__dor {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	background: repeating-linear-gradient(90deg, rgba(246, 241, 231, 0.05) 0 1px, transparent 1px 60px), var(--sv16-mork);
	will-change: transform;
}

.sv-intro16c__dor--v {
	left: 0;
	box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.7);
}

.sv-intro16c__dor--h {
	left: 50%;
	box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.7);
}

.sv-intro16c__hus {
	position: absolute;
	overflow: visible;
	top: var(--hus-top, 34%);
	width: var(--hus-b, 0);
	height: var(--hus-h, 0);
}

.sv-intro16c__dor--v .sv-intro16c__hus { right: 0; }
.sv-intro16c__dor--h .sv-intro16c__hus { left: 0; }

/* viewBox er like stor som boksen (heile pikslar), så streken blir ikkje skalert og pathLength=1 gir ei jamn strek */
.sv-intro16c__hus path {
	fill: none;
	stroke: var(--sv16-rust);
	stroke-width: 4px;
	stroke-linejoin: miter;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

@media (max-width: 819px) {
	.sv-intro16c__dor {
		background: repeating-linear-gradient(90deg, rgba(246, 241, 231, 0.05) 0 1px, transparent 1px 45px), var(--sv16-mork);
	}

	.sv-intro16c__hus path {
		stroke-width: 3px;
	}
}

/* Heltet: teksten ligg over dørene til dei er opna (alt som skal fram er skjult i starttilstanden), biletet og gradienten under */
html.sv-intro-spel .sg-herocover .wp-block-cover__inner-container {
	position: relative;
	z-index: 4;
}

/* ---------- Delte linjer i overskrifta (intro.js lagar <span class="sv-line"><span>…</span></span>) ---------- */
.sv-line {
	display: block;
	clip-path: inset(0 -100vw 0 0);
	padding-bottom: 0.12em;
	margin-bottom: -0.12em;
}

.sv-line > span {
	display: inline-block;
	max-width: 100%;
}

/* Indeks for menypunkt og knappar til høgre (styrer forseinkinga) */
.sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { --i: 1; }
.sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { --i: 2; }
.sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { --i: 3; }
.sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { --i: 4; }
.sg-hdr__right > :nth-child(1) { --i: 5; }
.sg-hdr__right > :nth-child(2) { --i: 6; }
.sg-hdr__right > :nth-child(3) { --i: 7; }
.sg-herocover__buttons > :nth-child(2) { --i: 1; }

/* ---------- Starttilstand (før .sv-intro-go) ---------- */
html.sv-intro-spel .sg-herocover img {
	transform: scale(1.18);
	transform-origin: 50% 68%;
	will-change: transform;
	backface-visibility: hidden;
}

html.sv-intro-spel .sg-herocover::before { opacity: 0; }
html.sv-intro-spel .sg-hdr__logo { clip-path: inset(-20px -400px calc(100% + 20px) -20px); }
html.sv-intro-spel .sg-herocover__loc { opacity: 0; transform: translate3d(0, 12px, 0); }
html.sv-intro-spel .sg-herocover__title:not(.sv-split) { opacity: 0; }
html.sv-intro-spel .sv-line > span { transform: translate3d(0, 135%, 0); }

html.sv-intro-spel .sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item,
html.sv-intro-spel .sg-hdr__nav .wp-block-navigation__responsive-container-open,
html.sv-intro-spel .sg-hdr__right > * {
	opacity: 0;
	transform: translate3d(0, -8px, 0);
}

html.sv-intro-spel .sg-herocover__lead { opacity: 0; transform: translate3d(0, 14px, 0); }
html.sv-intro-spel .sg-herocover__buttons > * { opacity: 0; transform: translate3d(0, 12px, 0); }

/* mørk toppskugge i navbaren (høgare spesifisitet enn den vanlege regelen) */
html.sv-intro-spel body.sg-hero-page .sg-site-header:not(.is-solid)::before { opacity: 0; }

/* ---------- Tidslinja (2,8 s) ----------
   0,12–0,70  huset blir teikna frå botnen og opp til mønet
   0,75–0,90  dørene glipp 1,5 %
   0,95–1,55  dørene blir slått opp
   0,95–2,00  biletet 118 → 100 %
   1,30–1,90  lesegradienten toner inn
   1,50–2,80  logo, strek, etikett, overskrift, meny, ingress, knappar */
html.sv-intro-spel.sv-intro-go .sv-intro16c__hus path { animation: sv16-teikn 0.58s cubic-bezier(0.65, 0, 0.35, 1) 0.12s both; }
html.sv-intro-spel.sv-intro-go .sv-intro16c__dor--v { animation: sv16-dor-v 0.8s 0.75s both; }
html.sv-intro-spel.sv-intro-go .sv-intro16c__dor--h { animation: sv16-dor-h 0.8s 0.75s both; }
html.sv-intro-spel.sv-intro-go .sg-herocover img { animation: sv16-bilete 1.05s cubic-bezier(0.25, 1, 0.5, 1) 0.95s both; }
html.sv-intro-spel.sv-intro-go .sg-herocover::before,
html.sv-intro-spel.sv-intro-go body.sg-hero-page .sg-site-header:not(.is-solid)::before { animation: sv16-tone 0.6s linear 1.3s both; }
html.sv-intro-spel.sv-intro-go .sg-hdr__logo { animation: sv16-logo 0.35s cubic-bezier(0.25, 1, 0.5, 1) 1.5s both; }
html.sv-intro-spel.sv-intro-go .sg-herocover__loc { animation: sv16-knapp 0.45s cubic-bezier(0.25, 1, 0.5, 1) 1.55s both; }
html.sv-intro-spel.sv-intro-go .sv-line > span { animation: sv16-maske 0.5s cubic-bezier(0.25, 1, 0.5, 1) calc(1.6s + var(--i, 0) * 0.1s) both; }

html.sv-intro-spel.sv-intro-go .sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item,
html.sv-intro-spel.sv-intro-go .sg-hdr__nav .wp-block-navigation__responsive-container-open,
html.sv-intro-spel.sv-intro-go .sg-hdr__right > * {
	animation: sv16-meny 0.4s cubic-bezier(0.33, 1, 0.68, 1) calc(1.85s + var(--i, 0) * 0.04s) both;
}

html.sv-intro-spel.sv-intro-go .sg-herocover__lead { animation: sv16-ingress 0.45s cubic-bezier(0.33, 1, 0.68, 1) 1.95s both; }
html.sv-intro-spel.sv-intro-go .sg-herocover__buttons > * { animation: sv16-knapp 0.45s cubic-bezier(0.33, 1, 0.68, 1) calc(2.1s + var(--i, 0) * 0.07s) both; }

@keyframes sv16-teikn { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }

/* Glipp (0,15 s), kort pause, så slått opp med expo inn/ut. */
@keyframes sv16-dor-v {
	0% { transform: translate3d(0, 0, 0); animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1); }
	18.75% { transform: translate3d(-1.5%, 0, 0); }
	25% { transform: translate3d(-1.5%, 0, 0); animation-timing-function: cubic-bezier(0.87, 0, 0.13, 1); }
	100% { transform: translate3d(-102.5%, 0, 0); }
}

@keyframes sv16-dor-h {
	0% { transform: translate3d(0, 0, 0); animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1); }
	18.75% { transform: translate3d(1.5%, 0, 0); }
	25% { transform: translate3d(1.5%, 0, 0); animation-timing-function: cubic-bezier(0.87, 0, 0.13, 1); }
	100% { transform: translate3d(102.5%, 0, 0); }
}

@keyframes sv16-bilete { from { transform: scale(1.18); } to { transform: scale(1); } }
@keyframes sv16-tone { from { opacity: 0; } to { opacity: 1; } }
@keyframes sv16-logo {
	from { clip-path: inset(-20px -400px calc(100% + 20px) -20px); }
	to { clip-path: inset(-20px -400px -20px -20px); }
}
@keyframes sv16-maske { from { opacity: 1; transform: translate3d(0, 135%, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes sv16-meny { from { opacity: 0; transform: translate3d(0, -8px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes sv16-ingress { from { opacity: 0; transform: translate3d(0, 14px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes sv16-knapp { from { opacity: 0; transform: translate3d(0, 12px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }

/* ---------- Kort variant: seinare besøk i økta (ingen dører, ingen rørsle) ---------- */
html.sv-intro-kort .sg-herocover__loc,
html.sv-intro-kort .sg-herocover__title,
html.sv-intro-kort .sg-herocover__lead,
html.sv-intro-kort .sg-herocover__buttons > *,
html.sv-intro-kort .sg-hdr__logo,
html.sv-intro-kort .sg-hdr__nav .wp-block-navigation__container > .wp-block-navigation-item,
html.sv-intro-kort .sg-hdr__nav .wp-block-navigation__responsive-container-open,
html.sv-intro-kort .sg-hdr__right > * {
	animation: sv16-tone 0.6s ease-out both;
}

/* =========================================================================
   HAMBURGERMENYEN: finare overgang når ho blir opna. Menyen tonar inn med ein liten zoom,
   biletet bak tonar rolig inn, og lenkene glir inn ei og ei frå venstre, til slutt språkvelgjaren.
   ========================================================================= */
@keyframes sg-menu-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes sg-menu-item {
	from { opacity: 0; transform: translateX(-14px); }
	to { opacity: 1; transform: none; }
}

@keyframes sg-menu-rise {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: none; }
}

@keyframes sg-menu-bg {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (max-width: 900px) {
	.sg-hdr .wp-block-navigation__responsive-container.is-menu-open {
		animation: sg-menu-in 0.4s ease-out both;
	}

	.sg-hdr:has(.wp-block-navigation__responsive-container.is-menu-open) .sg-hdr__mbgs {
		animation: sg-menu-bg 0.7s ease-out both;
	}

	.sg-hdr .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		animation: sg-menu-item 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
		animation-delay: 0.2s;
	}

	.sg-hdr .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: 0.28s; }
	.sg-hdr .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: 0.36s; }
	.sg-hdr .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: 0.44s; }
	.sg-hdr .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: 0.52s; }

	.sg-hdr .is-menu-open .sg-lang--menu {
		animation: sg-menu-rise 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0.7s both;
	}

	.sg-hdr .is-menu-open .wp-block-navigation__responsive-container-close {
		animation: sg-menu-bg 0.5s ease 0.3s both;
	}
}

@media (prefers-reduced-motion: reduce) {
	@media (max-width: 900px) {
		.sg-hdr .wp-block-navigation__responsive-container.is-menu-open {
			animation-name: sg-menu-bg;
		}

		.sg-hdr .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
			animation-name: sg-menu-bg;
		}

		.sg-hdr .is-menu-open .sg-lang--menu {
			animation-name: sg-menu-bg;
		}
	}
}

/* Navbaren følgjer med heile tida når ein scrollar */
.sg-site-header:has(.sg-hdr) {
	position: sticky;
	top: 0;
	z-index: 1000;
}

/* Mørkare venstre del av navbaren (bak logoen) + tynn strek mellom logo og meny */
.sg-hdr::after {
	background:
		linear-gradient(#a8572f, #a8572f) var(--logo-w) 50% / 1.5px 64px no-repeat,
		linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(30, 38, 32, 0.55) 40%);
}

@media (max-width: 1100px) {
	.wp-block-group.sg-hdr {
		--logo-w: 290px;
	}
}

@media (max-width: 900px) {
	.wp-block-group.sg-hdr {
		--logo-w: 190px;
	}

	.sg-hdr .sg-hdr__logo {
		padding-left: 20px;
	}

	.sg-hdr .sg-hdr__logo .sg-logo img {
		width: min(150px, calc((var(--hdr-h) - 3px) * 1.75));
	}

	.sg-hdr::after {
		background: linear-gradient(90deg, rgba(0, 0, 0, 0.55), rgba(30, 38, 32, 0.55) 40%);
	}
}

/* «No»-merket i «Året med sauen» */
.sg-tl--year .sg-tl__item.is-now::after {
	background: var(--btn);
	color: var(--btn-ink);
}

/* TEKST FRÅ KUNDEN: seksjonar med overskrift og tre tekstkolonnar under (Garden vår, Sauene våre, Inner Gammelsetra) */
.sg-omhead__text {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sg-omcols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 40px clamp(32px, 4vw, 64px);
	align-items: start;
}

.sg-omcols .sg-intro__left {
	max-width: none;
}

.sg-omcols .sg-lede--sm {
	max-width: none;
}

.sg-omcols .sg-intro__sub {
	margin-top: 0;
	font-size: clamp(24px, 2.6vw, 30px);
}

.sg-intro__left .sg-quote {
	margin: 4px 0 0;
}

/* Seter-teksten på Kua-sida ligg nær infoboksen under */
.sg-sec--seter {
	padding-bottom: 40px;
}

/* Om garden: biletet og tala til høgre følgjer med medan ein les den lange teksten til venstre (berre brei skjerm) */
@media (min-width: 901px) {
	.sg-omintro .sg-intro__right {
		position: sticky;
		top: 120px;
	}
}

/* Avisutklipp: éin kolonne med lesbar linjelengd (to spaltar delte setningane midt i) */
.sg-presscard .sg-presscard__sum {
	column-count: 1;
	column-gap: 0;
	max-width: 46em;
}

/* Tidslinje på mobil: prikkane sentrert på den 2 px brei streken (streken har 2 px kant, så prikken må 1 px lenger inn) */
@media (max-width: 700px) {
	.sg-tl__item::before {
		left: -7px;
	}

	.sg-tl--year .sg-tl__item::before {
		left: -9px;
	}
}

/* Produktbilete i tekstkolonnane (Fjellmjølk, rabarbrasaft, Fjellsau) */
.sg-prodimg {
	margin: 0;
}

.sg-prodimg img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 55%;
}

/* Produkt utan bilete (for vanlege besøkjande): rolig flate med taket, utan «Treng bilete»-tekst */
.sg-noimg--public {
	border: 0;
	background: var(--sg-panel);
}

.sg-noimg--public::before {
	content: '';
	display: block;
	width: 34%;
	aspect-ratio: 480 / 114;
	background: var(--accent, #5b3a52);
	opacity: 0.5;
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

/* Nøkkeltal: tre tal på forsida (tre kolonnar i ei line) og to tal på Om garden (fyller breidda) */
.sg-keynums:has(> .sg-keynum:nth-child(3):last-child) {
	grid-template-columns: repeat(3, 1fr);
}

.sg-keynums:has(> .sg-keynum:nth-child(3):last-child) .sg-keynum,
.sg-keynums:has(> .sg-keynum:nth-child(3):last-child) .sg-keynum:nth-child(2n) {
	padding: 28px 20px;
	border-bottom: 0;
	border-right: 1px solid var(--raised);
}

.sg-keynums:has(> .sg-keynum:nth-child(3):last-child) .sg-keynum:first-child {
	padding-left: 0;
}

.sg-keynums:has(> .sg-keynum:nth-child(3):last-child) .sg-keynum:last-child {
	padding-right: 0;
	border-right: 0;
}

.sg-keynums3 {
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}

/* Val av hentestad (garden eller Sunndalsporten) i handlekorga og kassa */
.cart_totals .sg-ship.shipping,
.cart_totals .sg-ship.woocommerce-shipping-totals {
	display: block !important;
}

.sg-ship {
	padding: 16px 0;
	border-bottom: 1px solid var(--line);
	font-size: 15px;
}

.sg-ship__title {
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
}

.sg-ship__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sg-ship__item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.sg-ship__item input[type='radio'] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--btn);
}

.sg-ship__item label {
	cursor: pointer;
	line-height: 1.35;
}

.sg-ship__none {
	margin: 0;
	color: var(--muted);
}

/* Nettbutikk-ingress med to avsnitt */
.sg-shophead__lead {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sg-shophead__lead p {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-2);
}

/* «Om produktet»: historia bak produktet under produktet, overskrift til venstre og tekst til høgre */
.sg-story {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 24px clamp(32px, 6vw, 80px);
	align-items: start;
	padding-block: clamp(48px, 6vw, 88px);
}

.sg-story__head {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sg-story__title {
	margin: 0;
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.15;
}

.sg-story__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 680px;
}

.sg-story__body p {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ink-2);
}

@media (max-width: 800px) {
	.sg-story {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Utsalsstadar (Kontakt): to kolonnar. Hentestad-val: kort tekst under kvart val. */
.sg-omcols--two {
	max-width: 1100px;
}

.sg-ship__item {
	flex-wrap: wrap;
}

.sg-ship__desc {
	flex-basis: 100%;
	padding-left: 30px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
}

/* Pakkeval på produktsida (Fjellsau) */
.sg-pakke {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sg-pakke__set {
	margin: 0;
	padding: 0;
	border: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sg-pakke__legend {
	padding: 0;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
}

.sg-pakke__opt {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--line);
	background: var(--sg-paper);
	cursor: pointer;
}

.sg-pakke__opt:has(input:checked) {
	border-color: var(--btn);
	box-shadow: inset 0 0 0 1px var(--btn);
}

.sg-pakke__opt input {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--btn);
}

.sg-pakke__w {
	flex: 1;
	font-size: 17px;
}

.sg-pakke__p {
	font-family: var(--sg-serif);
	font-size: 22px;
}

.sg-pakke .single_add_to_cart_button {
	align-self: flex-start;
}

/* Førespurnad (Fjellmjølk 5 liter): skjema på produktsida */
.sg-request {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px;
	border: 1px solid var(--btn);
	background: var(--sg-paper);
}

.sg-request__intro {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-2);
}

.sg-request__form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sg-request__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}

.sg-request .sg-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 14px;
}

.sg-request .sg-field--full {
	grid-column: 1 / -1;
}

.sg-request .sg-input {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 12px;
	font: inherit;
	font-size: 16px;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--ink);
}

.sg-request .sg-btn {
	align-self: flex-start;
}

@media (max-width: 600px) {
	.sg-request__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Følg med (Facebook og Instagram) på forsida */
.sg-social {
	background: var(--bg);
}

.sg-social__head {
	display: flex;
	flex-direction: column;
	gap: 18px;
	align-items: flex-start;
}

.sg-social__text {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-2);
	max-width: 560px;
}

.sg-social__feeds {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 32px;
	margin-top: 8px;
}

/* Historie-tidslinja på Om garden har åtte punkt: alle på éi line på brei skjerm, fire per rad på mellombrei */
@media (min-width: 901px) {
	.sg-tl--history {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.sg-tl--history {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.sg-tl--history .sg-tl__item {
		padding-right: 16px;
	}

	.sg-tl--history .sg-tl__title {
		font-size: 26px;
	}

	.sg-tl--history .sg-tl__text {
		font-size: 14px;
	}
}

/* «Slik handlar du» i nettbutikken: same boks som før (trinna under kvarandre), sentrert under produkta og med luft så lappane ikkje dekkjer han */
.sg-cards--cards .sg-howto {
	grid-column: 1 / -1;
	justify-self: center;
	width: min(100%, 460px);
	margin-top: clamp(64px, 8vw, 112px);
}

/* Kart under utsalsstadane */
.sg-outlet__map {
	margin-top: 8px;
}

.sg-outlet__frame {
	display: block;
	width: 100%;
	height: 320px;
	border: 0;
}

/* =========================================================================
   UNDERSIDER MED RØRSLE (Om garden, Sauen, Kua, Kontakt) – retning D frå Claude Design.
   Oppsettet gjeld berre når assets/js/undersider.js har lagt på klassa .sv-side (ikkje ved «Reduser rørsle»).
   Sticky-element: ingen forelder kan ha overflow:hidden (bruk overflow-x:clip).
   ========================================================================= */
.sv-side {
	overflow-x: clip;
}

/* Dekklag som blir dratt bort når eit bilete blir avduka */
.sv-cover {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: var(--bg);
	transform-origin: 50% 100%;
	pointer-events: none;
}

.sv-side .sg-bg-panel .sv-cover {
	background: var(--panel);
}

.sv-rev {
	position: relative;
	overflow: hidden;
}

.sv-gable {
	background: var(--panel);
}

.sv-gable .sv-cover {
	transform-origin: 50% 0;
}

/* ----- To kolonnar: tekst står fast til venstre, innhald rullar forbi til høgre (Garden vår, Frå fjellbeite til Fjellsau) ----- */
.sv-side .sv-two {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(36px, 5vw, 80px);
	align-items: start;
	padding: clamp(80px, 13vh, 140px) clamp(18px, 4vw, 56px);
}

.sv-side .sv-left {
	position: sticky;
	top: clamp(40px, 12vh, 120px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sv-side .sv-left .sg-section__heading {
	margin: 0;
}

.sv-side .sv-left .sg-omhead__text {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sv-side .sv-left .sg-lede--sm {
	max-width: none;
}

.sv-side .sv-right {
	display: flex;
	flex-direction: column;
	gap: clamp(60px, 10vh, 110px);
	min-width: 0;
}

.sv-side .sv-right > .sg-intro__left:not(.sv-art) {
	max-width: 560px;
}

.sv-side .sv-art {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(22px, 3vw, 44px);
	align-items: end;
	max-width: none;
}

.sv-side .sv-art .sg-prodimg {
	margin: 0;
	width: 100%;
	aspect-ratio: 4 / 5;
}

.sv-side .sv-art .sg-prodimg img {
	position: absolute;
	left: 0;
	top: -9%;
	width: 100%;
	height: 118%;
	aspect-ratio: auto;
	object-fit: cover;
}

.sv-side .sv-art__txt {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 8px;
}

.sv-side .sv-art__txt .sg-quote {
	margin: 10px 0 0;
}

/* ----- Om oss: biletet står fast (100vh) og blir avduka ----- */
.sv-side .sg-omintro {
	align-items: start;
	padding-block: clamp(70px, 12vh, 130px) clamp(60px, 10vh, 110px);
}

.sv-side .sg-omintro .sg-intro__photo {
	margin: 0;
	aspect-ratio: 3 / 2;
}

.sv-side .sg-omintro .sg-intro__photo img {
	position: absolute;
	left: 0;
	top: -8%;
	width: 100%;
	height: 116%;
	max-width: none;
	object-fit: cover;
}

@media (min-width: 820px) {
	.sv-side .sg-omintro .sg-intro__right {
		position: sticky;
		top: 0;
		min-height: 100vh;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 0;
	}
}

/* ----- Historie: sticky tidslinje som glir sidelengs ----- */
.sv-side .sv-hs {
	position: relative;
	display: block;
	padding: 0;
	background: var(--panel);
}

.sv-side .sv-hs__sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.sv-side .sv-hs__track {
	flex: none;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	width: max-content;
	padding: 0 clamp(24px, 4vw, 56px);
	box-sizing: border-box;
	will-change: transform;
}

.sv-side .sv-hs__track > .sg-omhead {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
	width: min(460px, 36vw);
	padding-right: clamp(20px, 4vw, 72px);
	box-sizing: border-box;
}

.sv-side .sv-hs__track > .sg-omhead .sg-lede--sm {
	max-width: none;
}

.sv-side .sg-tl--history {
	position: relative;
	display: flex;
	flex-direction: row;
	grid-template-columns: none;
	margin: 0;
	border: 0;
}

.sv-side .sg-tl--history .sg-tl__item {
	position: relative;
	flex: none;
	width: 290px;
	box-sizing: border-box;
	padding: 44px 40px 0 0;
	border-top: 0;
}

.sv-side .sg-tl--history .sg-tl__item::before,
.sv-side .sg-tl--year .sg-tl__item::before {
	display: none;
}

.sv-side .sg-tl--history .sg-tl__title {
	font-size: clamp(30px, 2.6vw, 40px);
	line-height: 1;
}

.sv-side .sg-tl--history .sg-tl__text {
	font-size: 15px;
	max-width: 240px;
}

.sv-side .sv-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: opacity 0.6s, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.sv-side .sv-line {
	position: absolute;
	left: 0;
	top: 7px;
	width: 100%;
	height: 2px;
	background: var(--line);
}

.sv-side .sv-line > div {
	width: 100%;
	height: 100%;
	background: var(--accent);
	transform-origin: 0 0;
	transform: scale(0);
}

.sv-side .sv-dot {
	position: absolute;
	left: 0;
	top: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--panel);
	border: 2.5px solid var(--c, var(--accent));
	box-sizing: border-box;
	transition: background 0.4s, transform 0.45s cubic-bezier(0.3, 1.7, 0.5, 1);
}

/* ----- Kulturlandskap: mørk seksjon, biletet står fast og zoomar sakte ut ----- */
.sv-side .sv-ukl {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
	padding: 0;
	background: #1e2620;
	color: #f6f1e7;
}

.sv-side .sv-ukl .sg-ukl__left {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: none;
	padding: clamp(70px, 14vh, 150px) clamp(18px, 4vw, 56px);
}

.sv-side .sv-ukl .sg-label {
	color: #bba0d4;
}

.sv-side .sv-ukl .sg-section__title {
	color: #f6f1e7;
}

.sv-side .sv-ukl .sg-intro__text {
	color: #e6dcc8;
}

.sv-side .sv-ukl .sg-quote {
	margin-top: 18px;
	color: #f6f1e7;
	border-left-color: var(--btn);
}

.sv-side .sv-ukl .sg-ukl__right {
	position: relative;
	display: block;
	padding: 0;
	min-height: 100%;
}

.sv-side .sv-ukl__stick {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: hidden;
}

.sv-side .sv-ukl .sg-ukl__photo {
	position: absolute;
	inset: 0;
	margin: 0;
}

.sv-side .sv-ukl .sg-ukl__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: 40% 60%;
	will-change: transform;
}

.sv-side .sv-ukl .sg-darkstats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 28px;
	border-top: 1px solid #4a4338;
	background: transparent;
	position: static;
}

.sv-side .sv-ukl .sg-darkstat {
	padding: 20px 14px 0;
	border-right: 1px solid #4a4338;
	border-left: 0;
	background: transparent;
}

.sv-side .sv-ukl .sg-darkstat:first-child {
	padding-left: 0;
}

.sv-side .sv-ukl .sg-darkstat:last-child {
	border-right: 0;
}

.sv-side .sv-ukl .sg-darkstat__v {
	font-size: clamp(26px, 2.4vw, 34px);
	color: #bba0d4;
}

.sv-side .sv-ukl .sg-darkstat__k {
	font-size: 13px;
	color: #e6dcc8;
}

/* ----- Dyra og fjellet: tak-ikon over vald fane, bileta tonar inn éin etter éin ----- */
.sv-side .sg-tabs__tab {
	position: relative;
	padding-top: 28px;
}

.sv-side .sg-tabs__tab::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 4px;
	width: 34px;
	margin-left: -17px;
	aspect-ratio: 480 / 114;
	background: var(--accent);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.3s, transform 0.4s cubic-bezier(0.3, 1.5, 0.5, 1);
}

.sv-side .sg-tabs__tab[aria-selected='true']::before {
	opacity: 1;
	transform: none;
}

@keyframes sv-gal-in {
	from {
		opacity: 0;
		transform: translateY(18px) scale(1.04);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.sv-side .sg-tabs.is-enhanced .sg-tab.is-active .wp-block-gallery > figure.wp-block-image {
	animation: sv-gal-in 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.sv-side .sg-tabs .wp-block-gallery > figure:nth-child(2) { animation-delay: 0.07s !important; }
.sv-side .sg-tabs .wp-block-gallery > figure:nth-child(3) { animation-delay: 0.14s !important; }
.sv-side .sg-tabs .wp-block-gallery > figure:nth-child(4) { animation-delay: 0.21s !important; }
.sv-side .sg-tabs .wp-block-gallery > figure:nth-child(5) { animation-delay: 0.28s !important; }

/* ----- Garden i avisene: utklippa legg seg i ein stabel (Om garden, forsida og sida med alle artiklane) ----- */
.sg-pressrow.sv-stack {
	display: block;
}

.sg-pressrow.sv-stack > .sg-presscard {
	position: sticky;
	top: calc(96px + var(--i, 0) * 22px);
	margin-bottom: 38vh;
}

.sg-pressrow.sv-stack > .sg-presscard:last-child {
	margin-bottom: 0;
}

@media (max-width: 819.98px) {
	.sg-pressrow.sv-stack > .sg-presscard {
		top: calc(84px + var(--i, 0) * 14px);
		margin-bottom: 24vh;
		padding-top: 12px;
		background: var(--stack-bg, var(--panel));
	}

	.sv-press {
		--stack-bg: var(--bg);
	}
}

.sv-press__more {
	margin: clamp(28px, 5vh, 56px) 0 0;
}

.sv-press__more .sv-more {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1.5px solid var(--ink);
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
	text-decoration: none;
}

/* Forsida: eigen seksjon med dei tre nyaste (kompakt) */
.sv-press {
	padding: clamp(48px, 8vh, 88px) clamp(16px, 4vw, 56px) clamp(40px, 7vh, 72px);
	background: var(--bg);
}

.sv-press__head {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: clamp(20px, 4vh, 40px);
}

.sv-press .sg-pressrow.sv-stack > .sg-presscard {
	margin-bottom: 9vh;
}

.sv-press .sg-pressrow.sv-stack > .sg-presscard:last-child {
	margin-bottom: 0;
}

@media (min-width: 820px) {
	.sv-press .sg-presscard.has-media {
		grid-template-columns: 300px minmax(0, 1fr);
	}

	.sv-press .sg-presscard__body {
		padding-block: 28px;
	}
}

.sv-press .sg-pressrow {
	max-width: 1180px;
	margin-inline: auto;
}

.sv-press .sv-press__more {
	max-width: 1180px;
	margin-inline: auto;
}

/* ----- Samarbeid: fargestripe øvst på korta ----- */
.sv-side .sg-partners > .sg-partner {
	border-top: 3px solid var(--btn);
}

.sv-side .sg-partners > .sg-partner:nth-child(2) {
	border-top-color: var(--accent);
}

.sv-side .sg-partners > .sg-partner:nth-child(3) {
	border-top-color: #3d5236;
}

/* ----- Sauen: øyremerke og radiobjelle (sticky, 300vh) ----- */
.sv-side .sv-pin {
	position: relative;
}

.sv-side .sv-pin .sv-pin__stage {
	display: none;
}

.sv-side .sv-pin.is-measuring .sv-pin__stage,
.sv-side .sv-pin.is-pinned .sv-pin__stage {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	background: var(--panel);
	min-height: clamp(240px, 40vh, 470px);
}

.sv-side .sv-pin.is-measuring .sg-earcards,
.sv-side .sv-pin.is-pinned .sg-earcards {
	display: none;
}

.sv-side .sv-pin.is-measuring {
	padding: 0;
}

.sv-side .sv-pin.is-pinned {
	height: 170vh;
	padding: 0;
}

.sv-side .sv-pin.is-pinned .sv-pin__inner {
	position: sticky;
	top: 0;
	height: 100vh;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: clamp(16px, 3.4vh, 48px);
	padding: 0 clamp(24px, 4vw, 56px);
}

.sv-side .sv-pin__imgs {
	position: relative;
	overflow: hidden;
	border-right: 1px solid var(--line);
}

.sv-side .sv-obj {
	position: absolute;
	left: 50%;
	top: 50%;
	height: auto;
	max-width: none;
	transform: translate(0, -50%);
	transition: transform 1s cubic-bezier(0.2, 0.8, 0.25, 1), opacity 0.6s;
	will-change: transform;
}

.sv-side .sv-obj--0,
.sv-side .sv-obj--1 {
	width: 30%;
	margin-left: -15%;
}

.sv-side .sv-obj--2 {
	width: 42%;
	margin-left: -21%;
}

.sv-side .sv-pin__list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(14px, 3vh, 48px) clamp(24px, 3.4vw, 52px);
}

.sv-side .sv-pin__txt {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	gap: 16px;
	padding: clamp(8px, 1.8vh, 18px) 0;
	border-top: 1px solid var(--line);
	transition: opacity 0.5s;
}

.sv-side .sv-pin__txt:first-child {
	border-top: 0;
}

.sv-side .sv-pin__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	border: 1.5px solid var(--accent);
	border-radius: 50%;
	color: var(--accent);
	font-size: 13px;
	font-weight: 600;
	transition: background 0.4s, color 0.4s;
}

.sv-side .sv-pin__txt.is-active .sv-pin__dot {
	background: var(--accent);
	color: var(--sg-paper);
}

.sv-side .sv-pin__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.sv-side .sv-pin__title {
	font-family: var(--sg-serif);
	font-size: clamp(24px, 2.2vw, 30px);
	line-height: 1.1;
}

.sv-side .sv-pin__text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-2);
}

/* ----- Sauen: lam som glir sidelengs ----- */
.sv-side .sv-drift {
	padding-inline: 0;
	overflow: hidden;
}

.sv-side .sv-drift > .sg-section__heading {
	padding: 0 clamp(18px, 4vw, 56px);
}

.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images[data-strip] {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(12px, 1.6vw, 22px);
	width: auto;
	margin: 0;
	padding: 0 clamp(18px, 4vw, 56px);
	will-change: transform;
}

.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam {
	position: relative;
	flex: none !important;
	width: clamp(280px, 30vw, 440px) !important;
	aspect-ratio: 3 / 4;
	margin: 0 !important;
	overflow: hidden;
	background: var(--line);
}

.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam:nth-child(2) { margin-top: 64px !important; }
.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam:nth-child(3) { margin-top: 18px !important; }
.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam:nth-child(4) { margin-top: 90px !important; }

.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam img {
	display: block;
	width: 100% !important;
	height: 112% !important;
	margin-top: -6%;
	object-fit: cover;
}

/* ----- Sauen: året med sauen, linja fyller seg fram til «No» ----- */
.sv-side .sv-year .sg-tl--year {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	border: 0;
}

.sv-side .sv-year .sg-tl--year .sg-tl__item {
	position: relative;
	padding: 42px 20px 22px 0;
	border-top: 0;
}

.sv-side .sv-yline {
	position: absolute;
	left: 0;
	top: 7px;
	width: 100%;
	height: 2px;
	background: var(--line);
}

.sv-side .sv-yline > div {
	width: 100%;
	height: 100%;
	background: var(--btn);
	transform-origin: 0 0;
	transform: scale(0);
}

.sv-side .sv-ytak {
	position: absolute;
	left: 0;
	top: -26px;
	width: 44px;
	margin-left: -22px;
	z-index: 2;
	pointer-events: none;
}

.sv-side .sv-ytak span {
	display: block;
	width: 100%;
	aspect-ratio: 480 / 114;
	background: var(--ink);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sv-side .sv-ydot {
	position: absolute;
	left: 0;
	top: 0;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--bg);
	border: 2px solid var(--ink);
	box-sizing: border-box;
	transition: background 0.35s, border-color 0.35s, transform 0.45s cubic-bezier(0.3, 1.7, 0.5, 1);
}

.sv-side .sv-year .sg-tl__item.is-reached .sv-ydot {
	background: var(--ink);
}

.sv-side .sv-year .sg-tl__item.is-now .sv-ydot {
	background: var(--btn);
	border-color: var(--btn);
	transform: scale(1.3);
}

/* ----- Kua: 01–03 (streken blir teikna, talet glir opp) ----- */
@media (min-width: 820px) {
	.sv-side .sg-omintro .sg-nlist-wrap {
		position: sticky;
		top: clamp(40px, 14vh, 140px);
	}
}

.sv-side .sg-nlist {
	border-top: 0;
}

.sv-side .sg-nlist::after {
	content: '';
	display: block;
	height: 1px;
	background: var(--ink);
}

.sv-side .sg-nlist__item {
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 0;
	padding: 28px 0;
	border: 0;
}

.sv-side .sv-rowline {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: var(--ink);
	transform-origin: 0 50%;
}

.sv-side .sv-numhold {
	display: block;
	height: 44px;
	overflow: hidden;
}

.sv-side .sv-numhold .sg-nlist__n {
	display: block;
	margin: 0;
	font-size: 34px;
	line-height: 44px;
	color: var(--accent);
}

/* ----- Kua: kalvar og fjøs (gavltak, forskjøvne i høgd) ----- */
.sv-side .sg-photos .wp-block-gallery.has-nested-images:has(.sv-kalv) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(12px, 1.6vw, 22px);
	align-items: start;
}

.sv-side .sv-kalv {
	width: 100% !important;
	margin: 0 !important;
	aspect-ratio: 3 / 4;
	background: var(--line);
}

.sv-side .sv-kalv:nth-child(2) { margin-top: 48px !important; }
.sv-side .sv-kalv:nth-child(3) { margin-top: 16px !important; }
.sv-side .sv-kalv:nth-child(4) { margin-top: 64px !important; }

.sv-side .sv-kalv img {
	position: absolute;
	left: 0;
	top: -7%;
	width: 100% !important;
	height: 114% !important;
	object-fit: cover;
}

.sv-side .sv-kalv .sv-cover {
	background: var(--panel);
}

/* ----- Kontakt: visittkortet ----- */
.sv-side .sv-vk .sg-bizcard__photo {
	overflow: hidden;
}

.sv-side .sv-vk .sv-cover {
	transform-origin: 0 50%;
}

.sv-side .sv-vk .sg-bizcard__img img {
	position: absolute;
	left: -4%;
	top: -6%;
	width: 108%;
	height: 112%;
	max-width: none;
	object-fit: cover;
	transform-origin: 50% 60%;
	will-change: transform;
}

.sv-side .sv-vk .sg-bizcard__head {
	border-bottom: 0;
}

.sv-side .sv-rule {
	height: 3px;
	border-top: 1px solid var(--ink);
	border-bottom: 1px solid var(--ink);
	transform-origin: 50% 50%;
}

.sv-side .sg-bizcard__value[data-copy] {
	position: relative;
	cursor: copy;
}

.sv-side .sv-copytip {
	position: absolute;
	left: 0;
	top: -22px;
	padding: 3px 7px;
	background: var(--ink);
	color: var(--sg-paper);
	font-family: var(--sg-sans, inherit);
	font-size: 11px;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s, transform 0.3s cubic-bezier(0.3, 1.5, 0.5, 1);
	pointer-events: none;
}

.sv-side .is-copied > .sv-copytip {
	opacity: 1;
	transform: none;
}

/* ----- Mobil (under 820 px): ingenting er sticky, tidslinjene går loddrett ----- */
@media (max-width: 819.98px) {
	.sv-side .sv-two {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-side .sv-left {
		position: relative;
		top: auto;
	}

	.sv-side .sv-art {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-side .sv-hs__sticky {
		position: relative;
		height: auto;
		overflow: visible;
		display: block;
	}

	.sv-side .sv-hs__track {
		display: flex;
		flex-direction: column;
		width: auto;
		padding: 80px 18px;
		transform: none !important;
	}

	.sv-side .sv-hs__track > .sg-omhead {
		width: 100%;
		padding-right: 0;
		margin-bottom: 44px;
	}

	.sv-side .sg-tl--history {
		display: flex;
		flex-direction: column;
		border-left: 0;
		margin-left: 0;
	}

	.sv-side .sg-tl--history .sg-tl__item {
		width: 100%;
		padding: 0 0 36px 40px;
	}

	.sv-side .sv-line {
		left: 7px;
		top: 0;
		width: 2px;
		height: 100%;
	}

	.sv-side .sv-line > div {
		transform-origin: 0 0;
	}

	.sv-side .sv-dot {
		left: 0;
		top: 4px;
	}

	.sv-side .sv-ukl {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-side .sv-ukl .sg-ukl__right {
		order: -1;
		min-height: 0;
	}

	.sv-side .sv-ukl__stick {
		position: relative;
		height: auto;
	}

	/* Biletet får sin eigen høgd (utan tom flate under), og teksten startar tett under det */
	.sv-side .sv-ukl .sg-ukl__photo {
		position: relative;
		inset: auto;
		height: auto;
	}

	.sv-side .sv-ukl .sg-ukl__photo img {
		position: relative;
		inset: auto;
		display: block;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.sv-side .sv-ukl .sg-ukl__left {
		padding-block: 36px 56px;
	}

	.sv-side .sg-omintro .sg-intro__right {
		position: relative;
		min-height: 0;
	}

	.sv-side .sv-year .sg-tl--year {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-side .sv-year .sg-tl--year .sg-tl__item {
		padding: 0 0 30px 40px;
	}

	.sv-side .sv-yline {
		left: 7px;
		top: 0;
		width: 2px;
		height: 100%;
	}

	.sv-side .sv-yline > div {
		transform-origin: 0 0;
	}

	.sv-side .sv-ytak {
		display: none;
	}

	.sv-side .sv-ydot {
		top: 2px;
	}

	.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images[data-strip] {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam {
		width: 72vw !important;
		scroll-snap-align: start;
	}

	.sv-side .sv-drift .sg-photos .wp-block-gallery.has-nested-images figure.wp-block-image.sv-lam:nth-child(n) {
		margin-top: 0 !important;
	}

	.sv-side .sg-photos .wp-block-gallery.has-nested-images:has(.sv-kalv) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sv-side .sv-kalv:nth-child(n) {
		margin-top: 0 !important;
	}

	.sv-side .sg-omintro .sg-nlist-wrap {
		position: relative;
	}
}

/* =========================================================================
   FORSIDA MED RØRSLE (retning D frå Claude Design): seksjonane mellom heltebiletet og kartet. Markup frå inc/forside.php.
   Ingen forelder over sticky-element kan ha overflow:hidden (bruk overflow-x:clip).
   ========================================================================= */
.sv-forside {
	position: relative;
	overflow-x: clip;
	background: var(--bg);
	color: var(--ink);
}

.sv-forside *,
.sv-forside *::before,
.sv-forside *::after {
	box-sizing: border-box;
}

.sv-forside figure {
	margin: 0;
}

.sv-forside a {
	text-decoration: none;
}

.sv-sec {
	position: relative;
}

.sv-twocols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.sv-stick {
	position: sticky;
	top: 0;
	height: 100vh;
}

/* Tak-ikonet (same ikon som elles på sida, via maske) */
.sv-forside .sv-roof {
	display: block;
	flex: none;
	aspect-ratio: 480 / 114;
	background: var(--accent);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sv-forside .sv-roof--light {
	background: #f6f1e7;
}

.sv-forside .sv-roof--faint {
	background: var(--muted);
	opacity: 0.55;
}

.sv-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sv-head--tight {
	gap: 8px;
	/* Tak-ikonet står midt over etiketten (blokka er like brei som etiketten, ikkje heile bredda) */
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
}

.sv-forside .sv-label {
	display: block;
	margin: 0;
	font-family: var(--sg-sans, inherit);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
}

.sv-forside .sv-label::before {
	display: none;
}

.sv-forside .sv-label--light {
	color: #bba0d4;
}

.sv-forside .sv-label--onimg {
	color: #fff;
	letter-spacing: 0.16em;
}

.sv-forside .sv-title {
	margin: 0;
	font-family: var(--sg-serif);
	font-size: clamp(36px, 3.8vw, 54px);
	font-weight: 400;
	line-height: 1.05;
	color: inherit;
}

.sv-forside .sv-title--xl {
	font-size: clamp(40px, 4.6vw, 68px);
	line-height: 1;
}

.sv-forside .sv-title--img {
	font-size: clamp(34px, 3.8vw, 54px);
	line-height: 1.02;
	color: #fff;
}

.sv-forside .sv-title--card {
	font-size: clamp(34px, 3.6vw, 50px);
	line-height: 1.02;
}

.sv-forside .sv-lead {
	margin: 0;
	max-width: 520px;
	font-size: 18px;
	line-height: 1.65;
	color: var(--ink-2);
}

.sv-forside .sv-lead--sm {
	max-width: 360px;
	margin-top: 6px;
	font-size: 16px;
	line-height: 1.6;
}

.sv-forside .sv-lead--light {
	color: #e6dcc8;
}

.sv-forside .sv-lead--card {
	max-width: none;
	font-size: 17px;
}

.sv-forside .sv-btn {
	display: inline-block;
	padding: 13px 20px;
	background: var(--btn);
	color: var(--btn-ink);
	border: 1.5px solid var(--btn);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.sv-forside .sv-btn:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fffbf3;
}

.sv-forside .sv-btn--out {
	background: transparent;
	border-color: var(--ink);
	color: var(--ink);
}

/* ----- 1. Om garden: tekst står fast, hengelappar med tal glir forbi ----- */
.sv-intro {
	background: var(--bg);
}

.sv-intro__left {
	position: sticky;
	top: 0;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	padding: clamp(56px, 10vh, 110px) clamp(20px, 5vw, 80px);
}

.sv-forside .sv-big {
	margin: 0;
	font-family: var(--sg-serif);
	font-size: clamp(38px, 4.4vw, 68px);
	line-height: 1.05;
	text-wrap: balance;
}

.sv-forside .sv-big i {
	color: var(--accent);
}

.sv-intro__right {
	display: flex;
	flex-direction: column;
	gap: clamp(70px, 14vh, 150px);
	padding: clamp(40px, 12vh, 140px) clamp(20px, 5vw, 72px) clamp(80px, 14vh, 160px);
}

.sv-shelfwrap {
	display: flex;
	flex-direction: column;
}

.sv-shelf {
	width: var(--w);
	height: 12px;
	background: #4a4338;
	box-shadow: inset 0 3px 0 #655c4c, 0 8px 14px rgba(42, 38, 32, 0.16);
}

.sv-shelfwrap__in {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	width: var(--w);
}

/* ----- Hengelappar ----- */
.sv-hang {
	display: flex;
	flex-direction: column;
	align-items: center;
	transform-origin: 50% 0;
	will-change: transform;
	cursor: pointer;
}

.sv-hang__cord {
	display: block;
	width: 1.5px;
	background: #4a4338;
}

.sv-hang__tag {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 170px;
	padding: 20px 30px 22px;
	background: var(--sg-paper);
	box-shadow: 0 12px 28px rgba(42, 38, 32, 0.2);
	text-align: center;
}

.sv-hang__hole {
	display: block;
	width: 8px;
	height: 8px;
	border: 1.5px solid #655c4c;
	border-radius: 50%;
}

.sv-num {
	font-family: var(--sg-serif);
	font-size: clamp(48px, 4.6vw, 68px);
	line-height: 1;
	color: var(--accent);
}

.sv-numlabel {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #655c4c;
}

/* Produktlappar */
.sv-hang--product {
	width: min(88%, clamp(250px, 17vw, 420px));
}

.sv-hang--product .sv-hang__hole {
	margin-bottom: 4px;
}

.sv-hang--product .sv-hang__tag {
	width: 100%;
	min-width: 0;
	gap: 6px;
	padding: 14px 14px 26px;
	box-shadow: 0 16px 34px rgba(42, 38, 32, 0.22);
}

.sv-hang--drink {
	position: relative;
	width: min(78%, clamp(210px, 12.5vw, 330px));
	margin-top: -28px;
}

.sv-hang--drink .sv-hang__tag {
	width: 100%;
	min-width: 0;
	gap: 6px;
	padding: 20px 16px 24px;
	box-shadow: 0 10px 24px rgba(42, 38, 32, 0.18);
}

.sv-ptag__img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 10;
	margin-bottom: 8px;
	overflow: hidden;
	background: var(--panel);
}

.sv-ptag__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sv-ptag__st {
	font-size: clamp(10px, 0.6vw, 12px);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.sv-st--ok {
	color: #3d5236;
}

.sv-st--soon {
	color: #8a6a2a;
}

.sv-st--sold {
	color: var(--btn-text, #a8572f);
}

.sv-forside .sv-ptag__name {
	font-family: var(--sg-serif);
	font-size: clamp(18px, 1.2vw, 27px);
	line-height: 1.1;
	color: var(--ink);
}

.sv-ptag__det {
	font-size: clamp(11px, 0.66vw, 14px);
	color: #655c4c;
}

.sv-ptag__price {
	margin-top: 4px;
	font-family: var(--sg-serif);
	font-size: clamp(18px, 1.1vw, 24px);
}

.sv-ptag__btn {
	margin-top: 8px;
}

.sv-forside .sv-ptag__btn .sg-btn,
.sv-forside .sv-ptag__btn .sg-link {
	display: inline-block;
	padding: 0.8em 1.15em;
	font-size: clamp(12px, 0.7vw, 14px);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	border: 1.5px solid var(--ink);
	background: transparent;
	color: var(--ink);
}

.sv-forside .sv-ptag__btn .sg-btn--primary {
	background: var(--btn);
	border-color: var(--btn);
	color: var(--btn-ink);
}

.sv-forside .sv-ptag__btn .sg-btn:hover,
.sv-forside .sv-ptag__btn .sg-link:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: #fffbf3;
}

/* ----- 2. Utsikta: eitt stort bilete står fast, dei mindre bileta glir forbi ved sida av ----- */
.sv-utsikt {
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	background: #1f1d1a;
	color: #f6f1e7;
}

.sv-utsikt__big {
	overflow: hidden;
}

.sv-utsikt__big > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
}

.sv-utsikt__big .sv-shade {
	background: linear-gradient(0deg, rgba(14, 15, 13, 0.82) 0%, rgba(14, 15, 13, 0.32) 38%, rgba(14, 15, 13, 0) 62%);
}

.sv-utsikt__intro {
	position: absolute;
	left: clamp(20px, 3.4vw, 56px);
	right: clamp(20px, 3.4vw, 56px);
	bottom: clamp(32px, 7vh, 80px);
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 560px;
}

.sv-forside .sv-utsikt .sv-lead {
	color: #fff;
}

.sv-utsikt__side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-content: start;
	gap: clamp(16px, 1.6vw, 28px);
	padding: clamp(72px, 12vh, 130px) clamp(20px, 3.4vw, 56px) clamp(56px, 9vh, 100px);
}

.sv-utsikt__side > .sv-quote,
.sv-utsikt__side > .sv-lead,
.sv-pic--a,
.sv-pic--b,
.sv-pic--d {
	grid-column: 1 / -1;
}

.sv-utsikt__side > .sv-quote {
	margin-bottom: clamp(16px, 4vh, 40px);
}

.sv-utsikt__side > .sv-lead {
	margin-top: clamp(16px, 4vh, 40px);
}

.sv-forside .sv-utsikt .sv-quote {
	max-width: 460px;
	margin: 0;
	font-family: var(--sg-serif);
	font-size: clamp(26px, 2.6vw, 44px);
	font-style: italic;
	line-height: 1.25;
	border: 0;
	padding: 0;
	color: inherit;
}

.sv-pic {
	margin: 0;
}

.sv-frame {
	position: relative;
	overflow: hidden;
}

.sv-pic--a .sv-frame { aspect-ratio: 4 / 3; }
.sv-pic--b .sv-frame { aspect-ratio: 4 / 3; }
.sv-pic--b .sv-frame img { object-position: 50% 66%; }
.sv-pic--d .sv-frame { aspect-ratio: 16 / 10; }

.sv-frame img {
	position: absolute;
	left: 0;
	top: -8%;
	width: 100%;
	height: 116%;
	object-fit: cover;
	will-change: transform;
}

/* ----- 3. Til sals no: klessnora, sporet glir sidelengs ----- */
.sv-rope {
	background: var(--bg);
}

.sv-rope__stick {
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	padding: clamp(40px, 6vh, 80px) 0 clamp(48px, 7vh, 88px);
	overflow: hidden;
}

.sv-rope__track {
	display: flex;
	align-items: flex-start;
	padding-right: 8vw;
	will-change: transform;
}

.sv-rope__intro {
	display: flex;
	flex: none;
	flex-direction: column;
	gap: 12px;
	width: 36vw;
	padding: 40px clamp(20px, 4vw, 64px) 0;
}

.sv-forside .sv-more {
	align-self: flex-start;
	margin-top: 6px;
	padding-bottom: 2px;
	border-bottom: 1.5px solid var(--ink);
	font-size: 14px;
	font-weight: 600;
	color: var(--ink);
}

.sv-hint {
	margin-top: 24px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #655c4c;
}

.sv-hint--m {
	display: none;
}

.sv-rope__scroll {
	display: contents;
}

.sv-rope__line {
	position: relative;
	display: flex;
	flex: none;
}

.sv-rope__line > svg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 44px;
	overflow: visible;
}

.sv-peg {
	position: absolute;
	top: 2px;
	width: 12px;
	height: 16px;
	margin-left: -6px;
	background: #655c4c;
	box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2);
}

.sv-rope__cell {
	display: flex;
	flex: none;
	justify-content: center;
	width: 26vw;
	padding-top: 22px;
}

/* ----- 4. Frå fjøset og hagen ----- */
.sv-drink {
	background: var(--panel);
}

.sv-drink__img {
	overflow: hidden;
	color: #fff;
}

.sv-drink__img > img {
	position: absolute;
	left: 0;
	top: -8%;
	width: 100%;
	height: 116%;
	object-fit: cover;
	will-change: transform;
}

.sv-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(20, 24, 20, 0.72) 0%, rgba(20, 24, 20, 0) 50%);
}

.sv-drink__txt {
	position: absolute;
	left: clamp(20px, 3.4vw, 48px);
	right: clamp(20px, 3.4vw, 48px);
	bottom: clamp(28px, 5vh, 56px);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sv-drink__txt p {
	max-width: 440px;
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
}

.sv-drink__list {
	display: flex;
	flex-direction: column;
	padding: clamp(40px, 8vh, 96px) clamp(16px, 4vw, 56px);
}

.sv-drink__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 72vh;
	padding: 32px 0;
}

.sv-drink__photo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(clamp(320px, 25vw, 620px), 86%);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--bg);
}

.sv-drink__photo--empty {
	aspect-ratio: 16 / 10;
}

.sv-drink__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ----- 5. Om oss ----- */
.sv-om {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr);
	align-items: center;
	padding: clamp(80px, 14vh, 150px) clamp(16px, 4vw, 56px);
	background: var(--bg);
}

.sv-om__img {
	position: relative;
	height: 88vh;
	overflow: hidden;
}

.sv-om__img img {
	position: absolute;
	left: 0;
	top: -10%;
	width: 100%;
	height: 120%;
	object-fit: cover;
	object-position: 45% 40%;
	will-change: transform;
}

.sv-om__cardwrap {
	position: relative;
	z-index: 2;
	margin-left: -56px;
}

.sv-om__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 44px) 64px;
	background: var(--sg-paper);
	box-shadow: 0 24px 60px rgba(30, 30, 25, 0.28);
	clip-path: polygon(0 0, 100% 0, 100% 95%, 96% 98%, 91% 94.5%, 85% 99%, 79% 95%, 73% 98.5%, 67% 94.5%, 60% 99%, 54% 95%, 47% 98.5%, 41% 94.5%, 34% 99%, 28% 95%, 21% 98.5%, 15% 94.5%, 8% 99%, 3% 95.5%, 0 98%);
	will-change: transform;
}

.sv-om__top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--ink);
}

.sv-om__where {
	font-size: 12px;
	color: #655c4c;
}

.sv-om__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.sv-sign {
	font-family: var(--sg-serif);
	font-size: 26px;
	font-style: italic;
}

/* ----- 6. Nytt frå garden: polaroid-haug ----- */
.sv-pile {
	height: 260vh;
	background: var(--panel);
}

.sv-pile__stick {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: hidden;
}

.sv-polaroid {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: clamp(170px, 17vw, 250px);
	margin-top: -150px;
	margin-left: clamp(-125px, -8.5vw, -85px);
	padding: 10px 10px 32px;
	background: var(--sg-paper);
	box-shadow: 0 18px 40px rgba(42, 38, 32, 0.22);
	will-change: transform;
}

.sv-polaroid img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.sv-polaroid span {
	font-size: 13px;
	color: #655c4c;
}

.sv-pile__card {
	position: absolute;
	/* Midtstilt med inset + margin:auto (heile pikslar) i staden for translate(-50%): halve pikslar gjer teksten og tak-ikonet uskarpe */
	inset: 0;
	height: fit-content;
	margin: auto;
	z-index: 30;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: min(420px, 84vw);
	padding: 36px 44px;
	background: var(--bg);
	box-shadow: 0 20px 50px rgba(30, 38, 32, 0.28);
	text-align: center;
}

.sv-pile__card p {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ink-2);
}

.sv-pile__btns {
	display: flex;
	gap: 10px;
}

.sv-feeds {
	padding: clamp(48px, 8vw, 96px) clamp(16px, 4vw, 56px);
	background: var(--bg);
}

.sv-feeds__in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 32px;
}

.sv-forside .sv-more--light {
	align-self: flex-start;
	color: #fff;
	border-bottom-color: #fff;
}

/* ----- Utan rørsle (?rorsle=0): vanleg side, ingenting er sticky ----- */
.sv-forside--still .sv-stick,
.sv-forside--still .sv-intro__left,
.sv-forside--still .sv-rope__stick,
.sv-forside--still .sv-pile__stick {
	position: relative;
	height: auto;
	min-height: 0;
}

.sv-forside--still .sv-pile {
	height: auto;
}

.sv-forside--still .sv-pile__stick {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	padding: 48px 16px;
}

.sv-forside--still .sv-polaroid,
.sv-forside--still .sv-pile__card {
	position: relative;
	inset: auto;
	left: auto;
	top: auto;
	height: auto;
	margin: 0;
	transform: none;
}

.sv-forside--still .sv-rope__track {
	overflow-x: auto;
}

/* ----- Mobil (under 820 px) ----- */
@media (max-width: 819.98px) {
	.sv-twocols {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-stick,
	.sv-intro__left {
		position: relative;
		height: auto;
	}

	.sv-intro__left {
		padding-block: 72px 24px;
	}

	.sv-intro__right {
		padding-top: 24px;
	}

	.sv-shelf,
	.sv-shelfwrap__in {
		width: 100%;
	}

	.sv-drink__img {
		order: -1;
		height: 70vh;
	}

	.sv-drink__list {
		padding-block: 28px 40px;
	}

	.sv-drink__item {
		min-height: 0;
		padding-block: 18px;
	}

	.sv-drink__photo {
		width: min(300px, 84%);
	}

	.sv-press .sg-presscard__media {
		max-width: 230px;
	}

	/* Mobil: heile hovudbiletet synest (4:3), og teksten ligg under det */
	.sv-utsikt__big {
		order: -1;
		height: auto;
		overflow: hidden;
	}

	.sv-utsikt__big > img {
		position: relative;
		inset: auto;
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.sv-utsikt__big .sv-shade {
		display: none;
	}

	.sv-utsikt__intro {
		position: relative;
		z-index: 2;
		left: auto;
		right: auto;
		bottom: auto;
		max-width: none;
		padding: 28px clamp(20px, 5vw, 40px) 32px;
		background: #1f1d1a;
	}

	.sv-utsikt__side {
		padding-block: 48px 56px;
	}

	.sv-rope__stick {
		position: relative;
		height: auto;
		min-height: 0;
		padding: 72px 0;
		overflow: visible;
	}

	.sv-rope__track {
		display: block;
		transform: none !important;
	}

	.sv-rope__intro {
		width: auto;
		padding: 0 clamp(20px, 5vw, 40px);
	}

	.sv-rope__scroll {
		display: block;
		margin-top: 28px;
		padding: 8px 0 28px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.sv-rope__scroll::-webkit-scrollbar {
		display: none;
	}

	.sv-rope__line {
		width: max-content;
		padding-inline: 4vw;
	}

	.sv-rope__cell {
		width: 74vw;
		scroll-snap-align: center;
	}

	.sv-forside .sv-title--card {
		font-size: clamp(30px, 8vw, 38px);
		text-wrap: balance;
	}

	.sv-hint--d {
		display: none;
	}

	.sv-hint--m {
		display: block;
	}

	.sv-drink__item {
		min-height: 0;
		padding: 40px 0;
	}

	.sv-om {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-om__img {
		height: 64vh;
	}

	.sv-om__cardwrap {
		margin: -90px 0 0 16px;
	}

	.sv-pile {
		height: 200vh;
	}

	.sv-polaroid {
		width: 40vw;
		margin-left: -20vw;
	}

	.sv-pile__card {
		padding: 28px 24px;
	}

	.sv-pile__btns {
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* =========================================================================
   NETTBUTIKK MED RØRSLE (butikk, handlekorg, kassa, stadfesting) – retning D frå Claude Design.
   Lagt oppå dagens WooCommerce-malar. Skriptet assets/js/butikk.js legg på klassa .sv-butikk og hjelpeelementa.
   ========================================================================= */
@keyframes sv-print {
	from { clip-path: inset(0 0 100% 0); }
	to { clip-path: inset(-30px -40px -60px -40px); }
}

@keyframes sv-roofdrop {
	from { opacity: 0; transform: translateY(-60px) rotate(-6deg); }
	to { opacity: 1; transform: none; }
}

@keyframes sv-fadeup {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

@keyframes sv-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-7px); }
	50% { transform: translateX(6px); }
	75% { transform: translateX(-4px); }
}

/* ----- Nettbutikk ----- */
.sv-butikk .sg-shophead__title.sv-drop {
	animation: sv-roofdrop 1.1s cubic-bezier(0.2, 0.9, 0.25, 1.2) both;
}

.sv-butikk .sg-shophead__lead {
	animation: sv-fadeup 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.45s both;
}

.sv-butikk .sg-shoprow__label {
	display: flex;
	align-items: flex-end;
	gap: 14px;
	margin: 0 0 24px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
}

.sv-butikk .sg-shoprow__label::before {
	content: '';
	flex: none;
	width: 40px;
	aspect-ratio: 480 / 114;
	background: var(--accent);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sv-butikk .sg-cards--cards .sg-card__media {
	overflow: hidden;
}

.sv-butikk .sg-cards--cards .sg-card__media img {
	position: absolute;
	left: 0;
	top: -7%;
	width: 100%;
	height: 114%;
	object-fit: cover;
	will-change: transform;
}

.sv-butikk .sg-cards--cards .sg-card--soldout .sg-card__media,
.sv-butikk .sg-cards--cards .sg-card--soldout .sg-card__media img {
	/* Utselde produkt har same fulle bilete som dei andre (ikkje nedtona) */
	filter: none;
	opacity: 1;
}

/* Musa over produktbiletet: same lyse «highlight» på alle kort (også utselde, som elles hadde ein fast opasitet som slo ut hover-regelen) */
.sv-butikk .sg-cards--cards .sg-card .sg-card__media {
	transition: opacity 0.25s ease;
}

.sv-butikk .sg-cards--cards .sg-card .sg-card__media:hover {
	opacity: 0.75;
}

.sv-butikk .sg-cards--cards .sg-card__tag {
	transform-origin: 50% 0;
	will-change: transform;
}

/* «Slik handlar du»: tre steg langs ei linje som fyller seg */
.sv-butikk .sg-cards--cards .sg-howto {
	grid-column: 1 / -1;
	justify-self: center;
	width: min(100%, 1040px);
	margin-top: clamp(64px, 8vw, 112px);
	padding: 0;
	border: 0;
	align-items: center;
	text-align: center;
}

.sv-butikk .sg-howto__title {
	margin: 0 0 clamp(32px, 5vh, 56px);
	font-size: clamp(32px, 3.4vw, 46px);
	line-height: 1;
}

.sv-butikk .sg-howto__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 40px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-butikk .sg-howto__line {
	display: block;
	position: absolute;
	left: 16.6%;
	right: 16.6%;
	top: 15px;
	height: 2px;
	background: var(--line);
}

.sv-butikk .sg-howto__line span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--btn);
	transform: none;
}

.sv-butikk .sg-howto__step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	margin: 0;
	text-align: center;
}

.sv-butikk .sg-howto__n {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	position: relative;
	z-index: 2;
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	border: 2px solid var(--line);
	border-radius: 50%;
	background: var(--btn);
	border-color: var(--btn);
	color: var(--btn-ink);
	font-size: 13px;
	font-weight: 600;
}

.sv-butikk .sg-howto__tag {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.sv-butikk .sg-howto__cord {
	width: 1.5px;
	height: 24px;
	margin-top: -2px;
	background: #4a4338;
}

.sv-butikk .sg-howto__text {
	transform-origin: 50% 0;
	will-change: transform;
	width: 100%;
	box-sizing: border-box;
	padding: 18px;
	background: var(--sg-paper);
	box-shadow: 0 10px 22px rgba(42, 38, 32, 0.14);
	font-size: 15px;
	line-height: 1.55;
	color: var(--ink-2);
}

/* Utsalsstadane: to kort med ulik parallakse */
.sv-butikk .sv-outcard {
	padding: 28px 30px 32px;
	background: var(--sg-paper);
	box-shadow: 0 14px 34px rgba(42, 38, 32, 0.14);
}

.sv-butikk .sv-outcard--a {
	border-top: 3px solid var(--btn);
	transform: rotate(-0.8deg);
}

.sv-butikk .sv-outcard--b {
	border-top: 3px solid var(--accent);
	transform: rotate(0.7deg);
	margin-top: 64px;
}

/* ----- Handlekorg ----- */
.sv-butikk .sg-cart__collaterals {
	animation: sv-print 1.1s cubic-bezier(0.3, 0.7, 0.2, 1) both;
}

.sv-butikk .sg-cart__item {
	padding-top: 20px;
	transition: transform 0.5s cubic-bezier(0.5, 0, 0.75, 0), opacity 0.45s;
}

.sv-butikk .sg-cart__item.is-removing {
	transform: translateY(60px);
	opacity: 0;
}

.sv-butikk .sg-cart__thumb {
	position: relative;
	transform-origin: 50% 0;
	will-change: transform;
}

.sv-butikk .sg-cart__thumb::before {
	content: '';
	position: absolute;
	left: 50%;
	top: -20px;
	width: 1.5px;
	height: 20px;
	background: #4a4338;
}

/* Hentestad som to kort, tak-ikonet glir over til kortet som er valt */
.sv-butikk .sg-ship__list.sv-pick {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.sv-butikk .sv-pick .sg-ship__item {
	position: relative;
	display: block;
	padding: 0;
	border: 1.5px solid var(--line);
	background: transparent;
	text-align: center;
	transition: background 0.3s, border-color 0.3s;
}

.sv-butikk .sv-pick .sg-ship__item.is-picked {
	background: var(--panel);
	border-color: var(--ink);
}

.sv-butikk .sv-pick .sg-ship__item input[type='radio'] {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.sv-butikk .sv-pick .sg-ship__item label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 22px 12px 14px;
	font-family: var(--sg-serif);
	font-size: 17px;
	line-height: 1.15;
	cursor: pointer;
}

.sv-butikk .sv-picksub {
	font-family: var(--sg-sans, inherit);
	font-size: 11px;
	color: var(--ink-2);
}

.sv-butikk .sv-pickroof {
	position: absolute;
	left: 0;
	top: -10px;
	z-index: 2;
	display: flex;
	justify-content: center;
	width: calc((100% - 10px) / var(--n, 2));
	pointer-events: none;
	transform: translateX(calc(var(--pick, 0) * 100% + var(--pick, 0) * 10px));
	transition: transform 0.55s cubic-bezier(0.3, 1.35, 0.5, 1);
}

.sv-butikk .sv-pickroof::before {
	content: '';
	width: 40px;
	aspect-ratio: 480 / 114;
	background: var(--ink);
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

/* ----- Kassa ----- */
.sv-butikk .sg-checkout__main {
	position: relative;
}

.sv-butikk .sv-rail {
	display: none;
}

@media (min-width: 820px) {
	.sv-butikk .sg-checkout__main {
		padding-left: 56px;
	}

	.sv-butikk .sv-rail {
		position: absolute;
		left: 15px;
		top: 150px;
		bottom: 150px;
		display: block;
		width: 2px;
		background: var(--line);
	}

	.sv-butikk .sv-rail span {
		display: block;
		width: 100%;
		height: 100%;
		background: var(--btn);
		transform-origin: 50% 0;
		transform: scaleY(0);
		transition: transform 0.7s cubic-bezier(0.3, 0.7, 0.2, 1);
	}

	.sv-butikk .sg-step__head {
		position: relative;
	}

	.sv-butikk .sv-raildot {
		position: absolute;
		left: -56px;
		top: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		box-sizing: border-box;
		border: 2px solid var(--line);
		border-radius: 50%;
		background: var(--bg);
		color: #655c4c;
		font-size: 13px;
		font-weight: 600;
		transition: background 0.4s, border-color 0.4s, color 0.4s;
	}

	.sv-butikk .sv-raildot.is-done {
		background: var(--btn);
		border-color: var(--btn);
		color: var(--btn-ink);
	}
}

@media (max-width: 819.98px) {
	.sv-butikk .sv-raildot {
		display: none;
	}
}

.sv-butikk .sv-shake {
	animation: sv-shake 0.36s linear;
}

.sv-butikk input.is-missing,
.sv-butikk select.is-missing {
	border-color: var(--btn) !important;
}

/* ----- Stadfesting ----- */
.sv-butikk .woocommerce-order.sv-receipt {
	position: relative;
	max-width: 760px;
	margin: clamp(32px, 5vw, 64px) auto;
	padding: clamp(32px, 4vw, 56px);
	background: var(--sg-paper);
	box-shadow: 0 18px 44px rgba(42, 38, 32, 0.16);
	animation: sv-print 1.2s cubic-bezier(0.3, 0.7, 0.2, 1) both;
}

.sv-butikk .sv-stamp {
	position: absolute;
	right: clamp(24px, 4vw, 56px);
	top: clamp(90px, 12vw, 140px);
	width: 120px;
	height: 120px;
	color: var(--btn);
	opacity: 0;
	transform: scale(2.2) rotate(-14deg);
	transition: transform 0.5s cubic-bezier(0.3, 1.5, 0.5, 1), opacity 0.3s;
	pointer-events: none;
}

.sv-butikk .sv-stamp.is-on {
	opacity: 0.88;
	transform: scale(1) rotate(-14deg);
}

.sv-butikk .sv-stamp__roof {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 44px;
	height: 10.5px;
	margin: -5px 0 0 -22px;
	background: currentColor;
	-webkit-mask: url('../images/tak.png') no-repeat center / 100% 100%;
	mask: url('../images/tak.png') no-repeat center / 100% 100%;
}

.sv-butikk .sv-pickcard {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 24px;
	background: var(--panel);
	border-left: 3px solid var(--accent);
	font-size: 15px;
	line-height: 1.55;
	color: var(--ink-2);
	animation: sv-fadeup 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 1.4s both;
}

.sv-butikk .sv-pickcard strong {
	font-family: var(--sg-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ink);
}

.sv-butikk .sv-pickcard__label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #3d5236;
}

.sv-butikk .sv-next {
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin-top: 16px;
}

.sv-butikk .sv-next__title {
	margin: 0;
	font-family: var(--sg-serif);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 400;
}

.sv-butikk .sv-next__list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0;
	padding: 0 0 0 52px;
	list-style: none;
}

.sv-butikk .sv-next__line {
	position: absolute;
	left: 15px;
	top: 8px;
	bottom: 8px;
	width: 2px;
	background: var(--line);
}

.sv-butikk .sv-next__line span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--btn);
	transform-origin: 50% 0;
	transform: scaleY(0);
}

.sv-butikk .sv-next__step {
	position: relative;
	display: block;
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-2);
}

.sv-butikk .sv-next__n {
	position: absolute;
	left: -52px;
	top: -3px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	border: 2px solid var(--line);
	border-radius: 50%;
	background: var(--bg);
	color: #655c4c;
	font-size: 13px;
	font-weight: 600;
	transition: background 0.35s, border-color 0.35s, color 0.35s;
}

.sv-butikk .sv-next__step.is-reached .sv-next__n {
	background: var(--btn);
	border-color: var(--btn);
	color: var(--btn-ink);
}

.sv-butikk .sv-next__back {
	align-self: flex-start;
	padding: 14px 24px;
	background: var(--btn);
	color: var(--btn-ink);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 819.98px) {
	.sv-butikk .sg-howto__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-butikk .sg-howto__line {
		display: none;
	}

	.sv-butikk .sv-outcard--b {
		margin-top: 0;
	}

	.sv-butikk .sv-stamp {
		width: 92px;
		height: 92px;
		top: 70px;
	}
}

/* =========================================================================
   PRODUKTSIDA MED RØRSLE (Claude Design). Berre design: tekst og innhald kjem frå produktet i WooCommerce.
   Gjeld når body har klassa sv-prod (ikkje med ?rorsle=0).
   ========================================================================= */
@keyframes sv-prodrise {
	from { opacity: 0; transform: translateY(28px); }
	to { opacity: 1; transform: none; }
}

@keyframes sv-rollup {
	from { transform: translateY(100%); opacity: 0; }
	to { transform: none; opacity: 1; }
}

@keyframes sv-bump {
	0%, 100% { transform: scale(1); }
	40% { transform: scale(1.45); }
}

/* Produktbiletet: firkanta og står fast, ei flate dekkjer det og glir bort ovanfrå */
body.sv-prod .sg-product {
	align-items: start;
}

@media (min-width: 820px) {
	body.sv-prod .sg-product__gallery {
		position: sticky;
		top: 100px;
	}
}

body.sv-prod .sg-product__main {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--panel);
}

@media (max-width: 819.98px) {
	body.sv-prod .sg-product__main {
		aspect-ratio: 4 / 3;
	}
}

body.sv-prod .sg-product__main > img {
	position: absolute;
	left: 0;
	top: -2%;
	width: 100%;
	height: 104%;
	max-height: none;
	object-fit: cover;
	object-position: 50% 50%;
	will-change: transform;
}

body.sv-prod .sg-product__main--empty .sg-noimg {
	height: 100%;
}

/* Ingen innlastingsanimasjon på produktsida: berre rørsle ved scrolling (parallakse på biletet, «Om produktet») og ved val/kjøp. */

/* Pakkeval: rust markør (4 px) glir til valt pakke */
body.sv-prod .sv-opts {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.sv-prod .sg-pakke__opt {
	border-left-width: 1px;
}

body.sv-prod .sg-pakke__opt:has(input:checked) {
	box-shadow: none;
	border-color: var(--line);
}

body.sv-prod .sv-marker {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 4px;
	height: 0;
	background: var(--btn);
	transition: transform 0.45s cubic-bezier(0.3, 1.2, 0.5, 1), height 0.3s;
	pointer-events: none;
}

/* Legg i handlekorg: knappeteksten rullar opp til «Lagt i korga ✓» */
body.sv-prod .single_add_to_cart_button {
	overflow: hidden;
}

body.sv-prod .sv-roll {
	display: inline-block;
	animation: sv-rollup 0.35s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.sg-cart-count.sv-bump {
	display: inline-flex; /* ikkje inline-block: då mistar talet sentreringa i boksen (flex + justify-content: center) */
	align-items: center;
	justify-content: center;
	animation: sv-bump 0.35s cubic-bezier(0.3, 1.6, 0.5, 1);
}

/* Skjema: manglande felt får rust kant, og knappen ristar kort */
body.sv-prod input.is-missing,
body.sv-prod textarea.is-missing,
body.sv-prod select.is-missing {
	border-color: var(--btn) !important;
}

body.sv-prod .sg-btn.sv-shake {
	animation: sv-shake 0.36s linear;
}

body.sv-prod .sg-notify__msg--ok {
	animation: sv-prodrise 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* Hentestad i førespurnaden (same komponent som i kassa) */
body.sv-prod .sv-pickwrap > span {
	font-size: 14px;
}

body.sv-prod .sv-pick--form {
	margin-top: 12px;
}

/* Om produktet: panelbakgrunn, tittelen står fast, første avsnitt er større, avsnitta kjem fram etter kvarandre */
body.sv-prod .sg-story {
	background: var(--panel);
	align-items: start;
}

@media (min-width: 820px) {
	body.sv-prod .sg-story__head {
		position: sticky;
		top: 110px;
	}
}

body.sv-prod .sg-story__body > p:first-child {
	font-family: var(--sg-serif);
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.45;
	color: var(--ink);
}

body.sv-prod .sv-rise {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s, transform 1s cubic-bezier(0.2, 0.7, 0.2, 1);
}

body.sv-prod .sv-rise.is-in {
	opacity: 1;
	transform: none;
}

/* Mobil: faktaboksane under kvarandre (tre smale kolonnar bryt orda) */
@media (max-width: 819.98px) {
	body.sv-prod .sg-product__cells {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	body.sv-prod .sg-product__cell {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: baseline;
		gap: 2px 16px;
		padding: 14px 16px;
		border-left: 0;
		border-top: 1px solid var(--line);
	}

	body.sv-prod .sg-product__cell:first-child {
		border-top: 0;
	}

	body.sv-prod .sg-product__cell-k {
		grid-column: 1;
	}

	body.sv-prod .sg-product__cell-v {
		grid-column: 2;
		grid-row: 1;
		text-align: right;
	}

	body.sv-prod .sg-product__cell-s {
		grid-column: 1 / -1;
	}
}

/* Mobil: fast kjøpslinje nedst når kjøpsdelen er scrolla ut av syne */
.sv-buybar {
	display: none;
}

@media (max-width: 819.98px) {
	body.sv-prod {
		padding-bottom: 84px;
	}

	.sv-buybar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: var(--sg-paper);
		box-shadow: 0 -10px 30px rgba(42, 38, 32, 0.16);
		transform: translateY(110%);
		transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	.sv-buybar.is-on {
		transform: none;
	}

	.sv-buybar__name {
		min-width: 0;
		overflow: hidden;
		font-family: var(--sg-serif);
		font-size: 19px;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.sv-buybar__btn {
		flex: none;
		white-space: nowrap;
	}
}

/* Nettbutikken, mobil: hengelappene litt mindre */
@media (max-width: 819.98px) {
	.sv-butikk .sg-cards--cards .sg-card:nth-child(n) .sg-card__tag {
		width: 80%;
		margin-inline: auto;
		gap: 6px;
		padding: 28px 16px 20px;
	}

	.sv-butikk .sg-card__tag .sg-card__title {
		font-size: 23px;
	}

	.sv-butikk .sg-card__tag .sg-card__sub,
	.sv-butikk .sg-card__tag .sg-card__desc {
		font-size: 12.5px;
	}

	.sv-butikk .sg-card__tag .sg-card__price {
		margin-top: 2px;
		font-size: 25px;
	}

	.sv-butikk .sg-card__tag .sg-chip,
	.sv-butikk .sg-card__tag .sg-chips > * {
		font-size: 12px;
	}

	.sv-butikk .sg-card__tag .sg-btn,
	.sv-butikk .sg-card__tag .sg-link {
		font-size: 14px;
	}
}


/* Logoblokka i navbaren: logoen ligg heilt nede på blokka (berre den raude kanten under), og blokka er litt mindre ned mot botnen */
.sg-hdr .sg-hdr__logo::before {
	bottom: -3px;
}

.sg-hdr .sg-hdr__logo::after {
	bottom: 0;
}


/* Logoblokka: smalare (10 px luft på kvar side av logoen, 8 px på mobil), og takskråa på blokka følgjer takskråa i logoteikninga (ca. 0,33) litt utanfor ho */
.wp-block-group.sg-hdr {
	--badge-m: 10px;
	--badge-img: min(230px, calc((var(--hdr-h) - 3px) * 1.75));
	--badge-w: calc(var(--badge-img) + 2 * var(--badge-m));
	--badge-roof: calc((var(--badge-img) / 2 + var(--badge-m)) * 0.33);
}

.sg-hdr .sg-hdr__logo::before,
.sg-hdr .sg-hdr__logo::after {
	left: calc(48px - var(--badge-m));
}

.sg-hdr .sg-hdr__logo::after {
	left: calc(51px - var(--badge-m));
}

.sg-hdr .sg-hdr__logo::before {
	clip-path: polygon(50% 0, 100% var(--badge-roof), 100% 100%, 0 100%, 0 var(--badge-roof));
}

.sg-hdr .sg-hdr__logo::after {
	clip-path: polygon(50% 0, 100% calc(var(--badge-roof) - 1px), 100% 100%, 0 100%, 0 calc(var(--badge-roof) - 1px));
}

.sg-hdr .sg-hdr__logo .sg-logo img,
.sg-hdr .sg-hdr__logo .sg-logo a::after {
	clip-path: polygon(50% -7px, calc(100% + var(--badge-m) - 3px) calc(var(--badge-roof) - 8px), calc(100% + var(--badge-m) - 3px) calc(100% + 20px), calc(3px - var(--badge-m)) calc(100% + 20px), calc(3px - var(--badge-m)) calc(var(--badge-roof) - 8px));
}

@media (max-width: 900px) {
	.wp-block-group.sg-hdr {
		--badge-m: 8px;
		--badge-img: min(150px, calc((var(--hdr-h) - 3px) * 1.75));
	}

	.sg-hdr .sg-hdr__logo::before,
	.sg-hdr .sg-hdr__logo::after {
		left: calc(20px - var(--badge-m));
	}

	.sg-hdr .sg-hdr__logo .sg-logo img,
	.sg-hdr .sg-hdr__logo .sg-logo a::after {
		clip-path: polygon(50% -7px, calc(100% + var(--badge-m) - 3px) calc(var(--badge-roof) - 8px), calc(100% + var(--badge-m) - 3px) calc(100% + 20px), calc(3px - var(--badge-m)) calc(100% + 20px), calc(3px - var(--badge-m)) calc(var(--badge-roof) - 8px));
	}

	.sg-hdr .sg-hdr__logo::after {
		left: calc(23px - var(--badge-m));
	}
}


/* Språkvelgar: klode-ikon så det er tydeleg (også for utanlandske besøkande) kvar ein byter språk. På telefon står berre kloden i navbaren (koden og pila blir skjulte), og lista opnar seg under. */
.sg-lang__globe {
	flex: none;
	display: block;
}

@media (max-width: 480px) {
	.sg-hdr .sg-lang:not(.sg-lang--menu) {
		display: block;
		margin: 0 2px 0 0;
	}

	.sg-hdr .sg-lang:not(.sg-lang--menu) .sg-lang__btn {
		padding: 9px;
	}

	.sg-hdr .sg-lang:not(.sg-lang--menu) .sg-lang__cur,
	.sg-hdr .sg-lang:not(.sg-lang--menu) .sg-lang__chev {
		display: none;
	}
}


/* Bestillingsstopp (inc/pause.php): melding om at nettbutikken er under arbeid */
.sv-pause {
	margin: 0;
	padding: 14px 18px;
	border-left: 4px solid var(--btn);
	background: var(--sg-paper);
	color: var(--ink-2);
	font-size: 15px;
	line-height: 1.5;
}

.sv-pause strong {
	display: block;
	margin-bottom: 2px;
	font-family: var(--sg-serif);
	font-size: 19px;
	font-weight: 400;
	color: var(--ink);
}

.sv-pause--small {
	max-width: 330px;
	padding: 10px 14px;
	font-size: 13px;
}

.sv-pause--small strong {
	font-size: 15px;
}

.sv-pause--buy {
	margin-top: 18px;
}

.sv-pause-wrap {
	padding-top: 4px;
	padding-bottom: 12px;
}

.sv-pause--shop {
	max-width: 760px;
}

