/* ==========================================================================
   Sveisereparatøren 2026 – «Nordisk industri»
   Alle farger og fonter kommer fra theme.json. Denne filen gir seksjonene form.
   ========================================================================== */

:root {
	--sv-skog: var(--wp--preset--color--primary, #00541e);
	--sv-dyp: var(--wp--preset--color--primary-dark, #0a2416);
	--sv-natt: var(--wp--preset--color--base-dark, #07190f);
	--sv-gronn: var(--wp--preset--color--logo-green, #00983c);
	--sv-rav: var(--wp--preset--color--accent, #d09810);
	--sv-rav-lys: var(--wp--preset--color--accent-light, #f2b632);
	--sv-grafitt: var(--wp--preset--color--logo-grey, #606060);
	--sv-blekk: var(--wp--preset--color--contrast, #16201a);
	--sv-stein: var(--wp--preset--color--contrast-2, #4a544e);
	--sv-pa-mork: var(--wp--preset--color--on-dark, #c4d2c9);
	--sv-linje: var(--wp--preset--color--border, #d3dcd6);
	--sv-mint: var(--wp--preset--color--tint, #e5eee9);
	--sv-papir: var(--wp--preset--color--base, #f5f7f4);
	--sv-rav-tekst: #14110a;
	--sv-felt: #b7c4bc;

	--sv-disp: var(--wp--preset--font-family--display);
	--sv-body: var(--wp--preset--font-family--body);

	--sv-gutter: clamp(20px, 4vw, 48px);
	--sv-pad-x: max(var(--sv-gutter), calc((100% - 1200px) / 2));
	--sv-pad-y: clamp(56px, 7vw, 96px);
	--sv-hex: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
	--sv-seam: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'%3E%3Cpath d='M2 1a7 5 0 0 1 0 10' fill='none' stroke='%23D09810' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	--sv-seam-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'%3E%3Cpath d='M2 1a7 5 0 0 1 0 10' fill='none' stroke='%23F2B632' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	--sv-honeycomb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='48.5' viewBox='0 0 84 48.5'%3E%3Cpath d='M14 0h28l14 24.25-14 24.25H14L0 24.25z M56 24.25h28' fill='none' stroke='%23fff' stroke-opacity='.075' stroke-width='1.5'/%3E%3C/svg%3E");
}

/* ---------- grunnlag ---------- */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 110px;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.sv-main > *,
.sv-main .wp-block-group > *,
.sv-site-header .wp-block-group > *,
.sv-site-footer .wp-block-group > *,
.sv-site-footer > * {
	margin-block: 0;
}

.sv-main img,
.sv-site-footer img {
	display: block;
	max-width: 100%;
	height: auto;
}

:where(.sv-main, .sv-site-header, .sv-site-footer) :focus-visible {
	outline: 3px solid var(--sv-rav);
	outline-offset: 3px;
	border-radius: 2px;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

h1, h2, h3, h4 {
	text-wrap: balance;
}

h1 { font-stretch: 114%; letter-spacing: -0.025em; }
h2 { font-stretch: 112%; letter-spacing: -0.02em; }
h3 { font-stretch: 108%; letter-spacing: -0.01em; }

p {
	text-wrap: pretty;
}

.sv-h2--xl { font-size: clamp(2.25rem, 4.3vw, 3.75rem); }
.sv-h2--m { font-size: clamp(2rem, 3.2vw, 2.75rem); }
.sv-h2--s { font-size: clamp(1.625rem, 2.6vw, 2.25rem); }
.sv-h3--l { font-size: clamp(1.5625rem, 2.4vw, 2.125rem); }
.sv-h3--s { font-size: clamp(1.25rem, 1.7vw, 1.5rem); }

.sv-stack {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
}

.sv-stack--tight {
	gap: 8px;
}

.sv-lead {
	font-size: var(--wp--preset--font-size--large);
	color: var(--sv-pa-mork);
	max-width: 36em;
}

.sv-lead--dark,
.sv-section__head .sv-lead {
	color: var(--sv-stein);
}

.sv-lead--narrow {
	max-width: 440px;
	font-size: 1.1875rem;
}

.sv-note {
	align-self: flex-start;
	font-size: 0.8125rem;
	color: var(--sv-stein);
	background: var(--sv-mint);
	border-radius: 3px;
	padding: 4px 8px;
}

.sv-note--dashed {
	background: transparent;
	color: var(--sv-pa-mork);
	border: 1px dashed rgba(255, 255, 255, 0.4);
	padding: 6px 10px;
	font-size: 0.875rem;
}

/* ---------- flater ---------- */

.sv-white { background: #fff; }
.sv-mint { background: var(--sv-mint); }

.sv-dark,
.sv-green {
	color: var(--sv-pa-mork);
}

.sv-dark { background: var(--sv-dyp); }
.sv-green { background: var(--sv-skog); }

.sv-dark :is(h1, h2, h3),
.sv-green :is(h1, h2, h3) {
	color: #fff;
}

.sv-dark a:not(.wp-block-button__link),
.sv-green a:not(.wp-block-button__link) {
	color: #fff;
}

.sv-hexbg {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.sv-hexbg::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--sv-honeycomb);
	-webkit-mask-image: linear-gradient(to left, #000 0%, transparent 62%);
	mask-image: linear-gradient(to left, #000 0%, transparent 62%);
}

.sv-hexbg--left::before {
	-webkit-mask-image: linear-gradient(to right, #000 0%, transparent 55%);
	mask-image: linear-gradient(to right, #000 0%, transparent 55%);
}

.sv-section {
	padding: var(--sv-pad-y) var(--sv-pad-x);
}

.sv-section__head {
	margin-bottom: clamp(32px, 4vw, 56px) !important;
}

.sv-section__head--split {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: clamp(24px, 6vw, 80px);
}

/* ---------- etikett med sveisesøm ---------- */

.sv-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-skog);
}

.sv-eyebrow::before {
	content: "";
	flex: 0 0 50px;
	height: 12px;
	background: var(--sv-seam) left center / 10px 12px repeat-x;
}

.sv-eyebrow--accent { color: var(--sv-rav); font-size: 0.875rem; }
.sv-eyebrow--light { color: var(--sv-pa-mork); }
.sv-eyebrow--light::before { background-image: var(--sv-seam-light); }
.sv-eyebrow--center { justify-content: center; }

/* ---------- knapper ---------- */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 56px;
	padding: 0 28px;
	border-radius: 4px;
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.wp-block-button__link::after {
	content: "";
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url(../icons/arrow.svg) center / contain no-repeat;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
	transition: transform 0.15s ease;
}

.wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.sv-btn--phone .wp-block-button__link::after {
	display: none;
}

.sv-btn--phone .wp-block-button__link::before {
	content: "";
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url(../icons/phone.svg) center / contain no-repeat;
	mask: url(../icons/phone.svg) center / contain no-repeat;
}

.sv-btn--compact .wp-block-button__link {
	min-height: 48px;
	padding: 0 22px;
	font-size: 1rem;
}

.wp-block-button.is-style-green .wp-block-button__link {
	background: var(--sv-skog);
	color: #fff;
}

.wp-block-button.is-style-green .wp-block-button__link:hover {
	background: #006b27;
	color: #fff;
}

.wp-block-button.is-style-ghost-light .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.45);
}

.wp-block-button.is-style-ghost-light .wp-block-button__link:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.wp-block-button.is-style-ghost-dark .wp-block-button__link {
	background: transparent;
	color: var(--sv-blekk);
	border: 1.5px solid var(--sv-blekk);
}

.wp-block-button.is-style-ghost-dark .wp-block-button__link:hover {
	background: var(--sv-blekk);
	color: #fff;
}

.wp-block-button.is-style-textlink .wp-block-button__link {
	min-height: 44px;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--sv-skog);
	gap: 8px;
	text-decoration: underline;
	text-decoration-color: var(--sv-rav);
	text-decoration-thickness: 2px;
	text-underline-offset: 7px;
}

.wp-block-button.is-style-textlink .wp-block-button__link::after {
	flex-basis: 18px;
	width: 18px;
	height: 18px;
}

.sv-green .is-style-textlink .wp-block-button__link,
.sv-card--green .is-style-textlink .wp-block-button__link {
	color: #fff;
}

.sv-card--accent .is-style-textlink .wp-block-button__link {
	color: var(--sv-rav-tekst);
	text-decoration-color: var(--sv-rav-tekst);
}

.wp-block-buttons {
	gap: 14px;
	align-items: center;
}

/* ---------- lister ---------- */

ul.is-style-checks,
ul.sv-proof,
ul.sv-chips,
ul.sv-trust__list,
ul.sv-brands__list,
ul.sv-footer__links,
ul.sv-filter__list,
ol.is-style-steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.is-style-checks {
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: var(--sv-blekk);
	font-size: 1.0625rem;
	line-height: 1.5;
}

ul.is-style-checks > li,
ul.sv-proof > li {
	position: relative;
	padding-left: 32px;
}

ul.is-style-checks > li::before,
ul.sv-proof > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 20px;
	height: 20px;
	background: var(--sv-skog);
	-webkit-mask: url(../icons/check.svg) center / contain no-repeat;
	mask: url(../icons/check.svg) center / contain no-repeat;
}

ul.sv-checks--grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 16px;
	font-size: 1rem;
}

ul.sv-proof {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	font-size: 0.9375rem;
	color: var(--sv-pa-mork);
}

ul.sv-proof > li { padding-left: 26px; }
ul.sv-proof > li::before { background: var(--sv-rav); width: 18px; height: 18px; }

ul.sv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

ul.sv-chips > li {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border-radius: 3px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-family: var(--sv-disp);
	font-stretch: 88%;
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
}

ul.sv-chips--mint > li {
	border-color: var(--sv-mint);
	background: var(--sv-mint);
	color: var(--sv-skog);
}

ol.is-style-steps {
	counter-reset: sv-step;
	border-top: 1px solid var(--sv-linje);
	color: var(--sv-stein);
	font-size: 1rem;
	line-height: 1.6;
}

ol.is-style-steps > li {
	counter-increment: sv-step;
	position: relative;
	padding: 24px 0 24px 78px;
	border-bottom: 1px solid var(--sv-linje);
	min-height: 48px;
}

ol.is-style-steps > li::before {
	content: counter(sv-step);
	position: absolute;
	left: 0;
	top: 24px;
	width: 56px;
	height: 48px;
	clip-path: var(--sv-hex);
	background: var(--sv-skog);
	color: #fff;
	display: grid;
	place-items: center;
	font-family: var(--sv-disp);
	font-weight: 800;
	font-size: 1.1875rem;
}

ol.is-style-steps > li strong {
	font-family: var(--sv-disp);
	font-stretch: 108%;
	font-weight: 800;
	font-size: 1.375rem;
	line-height: 1.5;
	color: var(--sv-blekk);
}

ol.sv-steps--row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	border-top: 0;
	font-size: 0.9375rem;
}

ol.sv-steps--row > li {
	padding: 62px 0 0;
	border-bottom: 0;
}

ol.sv-steps--row > li::before { top: 0; }
ol.sv-steps--row > li strong { font-size: 1.25rem; }

/* ---------- ikonlinjer ---------- */

.sv-ico {
	position: relative;
	padding-left: 26px;
}

.sv-ico::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--sv-ico) center / contain no-repeat;
	mask: var(--sv-ico) center / contain no-repeat;
}

.sv-ico--clock { --sv-ico: url(../icons/clock.svg); }
.sv-ico--pin { --sv-ico: url(../icons/pin.svg); }
.sv-ico--mail { --sv-ico: url(../icons/mail.svg); }
.sv-ico--filter { --sv-ico: url(../icons/filter.svg); }

.sv-ico--accent { padding-left: 32px; }
.sv-ico--accent::before { width: 20px; height: 20px; background: var(--sv-rav); }

/* ---------- sekskant-merker (hjørne eller topp av kort) ---------- */

.sv-badge {
	position: relative;
}

.sv-badge::before,
.sv-badge::after {
	content: "";
	position: absolute;
	top: 40px;
	right: 40px;
	width: 64px;
	height: 55px;
}

.sv-badge::before {
	clip-path: var(--sv-hex);
	background: var(--sv-mint);
}

.sv-badge::after {
	background: var(--sv-skog);
	-webkit-mask: var(--sv-ico) center / 26px 26px no-repeat;
	mask: var(--sv-ico) center / 26px 26px no-repeat;
}

.sv-card--mint.sv-badge::before { background: #fff; }

.sv-badge--top::before,
.sv-badge--top::after {
	right: auto;
	left: var(--sv-badge-x, 32px);
	top: var(--sv-badge-y, 32px);
	width: 60px;
	height: 52px;
}

.sv-badge--glass::before { background: rgba(255, 255, 255, 0.12); }
.sv-badge--glass::after { background: var(--sv-rav-lys); }
.sv-badge--accent::before { background: var(--sv-rav); }
.sv-badge--accent::after { background: var(--sv-rav-tekst); }

.sv-badge--tool { --sv-ico: url(../icons/tool.svg); }
.sv-badge--shield { --sv-ico: url(../icons/shield.svg); }
.sv-badge--zap { --sv-ico: url(../icons/zap.svg); }
.sv-badge--award { --sv-ico: url(../icons/award.svg); }
.sv-badge--box { --sv-ico: url(../icons/box.svg); }
.sv-badge--pin { --sv-ico: url(../icons/pin.svg); }
.sv-badge--target { --sv-ico: url(../icons/target.svg); }
.sv-badge--calendar { --sv-ico: url(../icons/calendar.svg); }
.sv-badge--phone { --sv-ico: url(../icons/phone.svg); }

/* ---------- bilder ---------- */

.wp-block-image.is-style-hex {
	margin: 0;
	clip-path: var(--sv-hex);
	overflow: hidden;
}

.wp-block-image.is-style-hex img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-image.sv-img--contain {
	background: #e6e6e6;
}

.wp-block-image.sv-img--contain img {
	object-fit: contain;
	padding: 9%;
	box-sizing: border-box;
}

/* ==========================================================================
   Topp
   ========================================================================== */

.sv-site-header {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - 44px);
	z-index: 100;
}

.sv-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 44px;
	padding: 0 var(--sv-gutter);
	background: var(--sv-natt);
	color: var(--sv-pa-mork);
	font-size: 0.875rem;
}

.sv-topbar__group {
	display: flex;
	align-items: center;
	gap: 28px;
}

.sv-topbar a {
	color: var(--sv-pa-mork);
	text-decoration: none;
}

.sv-topbar a:hover {
	color: #fff;
	text-decoration: underline;
}

.sv-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 92px;
	padding: 0 var(--sv-gutter);
	background: #fff;
	border-bottom: 1px solid var(--sv-linje);
}

.sv-logo,
.sv-logo a {
	display: block;
	line-height: 0;
	flex-shrink: 0;
}

.sv-logo img {
	width: clamp(204px, 19.5vw, 280px);
	max-width: 100%;
	height: auto;
}

.sv-nav {
	flex: 1 1 auto;
}

.sv-nav .wp-block-navigation__container {
	gap: clamp(14px, 1.7vw, 32px);
}

.sv-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 92px;
	color: var(--sv-blekk);
	text-decoration: none;
	white-space: nowrap;
}

.sv-nav .wp-block-navigation-item__content:hover {
	color: var(--sv-skog);
}

.sv-nav .wp-block-navigation-item__content[aria-current] {
	color: var(--sv-skog);
	box-shadow: inset 0 -3px 0 var(--sv-rav);
}

.sv-nav__mobile-only {
	display: none !important;
}

/* Undermenyer (Sveiseutstyr, Arbeidsklær og vern) */
.sv-nav .wp-block-navigation__submenu-icon {
	width: 0.7em;
	height: 0.7em;
	margin-left: 6px;
	padding: 0;
	color: var(--sv-stein);
}

.sv-nav .wp-block-navigation__submenu-icon svg { stroke-width: 2; }

.sv-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	top: 100%;
	left: -22px;
	min-width: 250px;
	padding: 10px 0;
	background: #fff;
	color: var(--sv-blekk);
	border: 1px solid var(--sv-linje);
	border-top: 3px solid var(--sv-rav);
	border-radius: 0 0 6px 6px;
	box-shadow: 0 18px 40px rgba(7, 25, 15, 0.14);
}

.sv-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	min-height: 44px;
	padding: 0 22px;
	font-weight: 500;
	box-shadow: none;
}

.sv-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sv-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current] {
	background: var(--sv-mint);
	color: var(--sv-skog);
}

/* I skuffen på mobil vises undermenyen som innrykkede lenker. */
.sv-nav .is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 8px 18px !important;
	gap: 0 !important;
}

.sv-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	min-height: 44px;
	font-size: 1.0625rem;
	font-weight: 500;
	color: var(--sv-stein);
}

.sv-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }

.sv-header__actions {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-shrink: 0;
}

.sv-header__phone a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--sv-disp);
	font-weight: 800;
	font-size: 1.125rem;
	color: var(--sv-blekk);
	text-decoration: none;
	white-space: nowrap;
}

.sv-header__phone a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--sv-skog);
	-webkit-mask: url(../icons/phone.svg) center / contain no-repeat;
	mask: url(../icons/phone.svg) center / contain no-repeat;
}

/* Under 1380 px vises telefonen som ikon, slik at menyen får plass. */
@media (max-width: 1380px) {
	.sv-header__phone a { font-size: 0; gap: 0; width: 44px; justify-content: center; }
	.sv-header__phone a::before { width: 22px; height: 22px; }
}

/* Menyen legges i skuff før den blir for trang (kjernen bytter ellers først ved 600 px). */
@media (max-width: 1260px) {
	.sv-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.sv-nav .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.sv-nav {
		order: 3;
		flex: 0 0 auto;
	}

	.sv-header__actions {
		margin-left: auto;
	}
}

.sv-nav .wp-block-navigation__responsive-container-open,
.sv-nav .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--sv-blekk);
}

.sv-nav .wp-block-navigation__responsive-container-open svg,
.sv-nav .wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
}

.sv-nav .is-menu-open .wp-block-navigation-item__content {
	min-height: 52px;
	font-size: 1.25rem;
	box-shadow: none !important;
}

.sv-nav .is-menu-open .sv-nav__mobile-only {
	display: flex !important;
}

.sv-nav .is-menu-open.wp-block-navigation__responsive-container {
	padding: 24px var(--sv-gutter);
}

/* ==========================================================================
   Forside
   ========================================================================== */

/* hero */

.sv-hero {
	display: grid;
	grid-template-columns: minmax(0, 640fr) minmax(0, 520fr);
	gap: 40px;
	align-items: center;
	padding: clamp(40px, 6vw, 88px) var(--sv-pad-x) clamp(48px, 7vw, 104px);
}

.sv-hero__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(20px, 2.2vw, 30px);
}

h1.sv-kicker {
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: clamp(0.875rem, 1.2vw, 1.0625rem);
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-pa-mork);
	margin-bottom: -8px !important;
}

.sv-display {
	font-family: var(--sv-disp);
	font-stretch: 118%;
	font-weight: 800;
	font-size: clamp(3.125rem, 6.3vw, 5.625rem);
	line-height: 0.98;
	letter-spacing: -0.03em;
	color: #fff;
}

.sv-hero .sv-lead {
	max-width: 560px;
}

.sv-hero__visual {
	position: relative;
	aspect-ratio: 520 / 470;
}

.sv-hero__visual::before {
	content: "";
	position: absolute;
	right: -8.5%;
	top: -7%;
	width: 57.7%;
	aspect-ratio: 300 / 260;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 260'%3E%3Cpath d='M75 3h150l73 127-73 127H75L2 130z' fill='none' stroke='%23D09810' stroke-width='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.sv-hero__img {
	position: absolute !important;
	top: 0;
	right: 0;
	width: 100%;
	aspect-ratio: 520 / 450;
}

.sv-hero__img img {
	object-position: 44% center;
}

.sv-callout {
	position: absolute;
	left: -7%;
	bottom: 1%;
	width: min(330px, 80%);
	box-sizing: border-box;
	padding: 20px 24px 20px 100px;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
	color: var(--sv-stein);
	font-size: 0.9375rem;
	line-height: 1.4;
}

.sv-callout::before,
.sv-callout::after {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 60px;
	height: 52px;
	transform: translateY(-50%);
}

.sv-callout::before {
	clip-path: var(--sv-hex);
	background: var(--sv-rav);
}

.sv-callout::after {
	background: var(--sv-rav-tekst);
	-webkit-mask: url(../icons/zap.svg) center / 24px 24px no-repeat;
	mask: url(../icons/zap.svg) center / 24px 24px no-repeat;
}

.sv-callout__title {
	font-family: var(--sv-disp);
	font-size: 1.125rem;
	color: var(--sv-blekk);
}

.sv-callout a {
	color: var(--sv-skog) !important;
	font-weight: 700;
}

/* referansestripe */

.sv-trust {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(24px, 3vw, 44px);
	padding: 26px var(--sv-pad-x);
	background: #fff;
	border-bottom: 1px solid var(--sv-linje);
}

.sv-trust > * { margin-block: 0 !important; }

.sv-trust__label {
	flex: 0 0 auto;
	max-width: 15.5em;
	padding-right: clamp(24px, 3vw, 44px);
	border-right: 1px solid var(--sv-linje);
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: 0.8125rem;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-skog);
}

/* Navnene står alltid på én linje: det som ikke får plass, brytes ned på en
   skjult linje (og tas ut av tabulatorrekkefølgen av assets/js/site.js). */
ul.sv-trust__list {
	--sv-trust-line: 1.75rem;
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	gap: 40px 18px;
	height: calc(var(--sv-trust-line) + 8px);
	padding: 4px 2px !important;
	overflow: hidden;
	box-sizing: border-box;
	font-family: var(--sv-disp);
	font-stretch: 96%;
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: var(--sv-trust-line);
	color: var(--sv-grafitt);
}

ul.sv-trust__list > li {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* innganger */

.sv-bento {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 20px;
}

.sv-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	box-sizing: border-box;
	padding: 44px;
	border-radius: 6px;
	overflow: hidden;
	color: var(--sv-stein);
	font-size: 1.0625rem;
}

.sv-card--white { background: #fff; border: 1px solid var(--sv-linje); }
.sv-card--mint { background: var(--sv-mint); }
.sv-card--green { background: var(--sv-skog); color: var(--sv-pa-mork); }
.sv-card--green :is(h2, h3) { color: #fff; }
.sv-card--accent { background: var(--sv-rav); color: var(--sv-rav-tekst); }
.sv-card--accent :is(h2, h3) { color: var(--sv-rav-tekst); }

.sv-card__num {
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-skog);
}

.sv-card--green .sv-card__num,
.sv-green .sv-card__num { color: var(--sv-rav-lys); }
.sv-card--accent .sv-card__num { color: var(--sv-rav-tekst); }

.sv-card__cta {
	margin-top: auto !important;
}

.sv-card.sv-badge:not(.sv-badge--top) > h3 {
	margin-top: 36px !important;
}

.sv-card--a { grid-column: span 7; position: relative; min-height: 470px; flex-direction: row; }
.sv-card--b { grid-column: span 5; }
.sv-card--c { grid-column: span 5; min-height: 400px; }
.sv-card--d { grid-column: span 4; padding-inline: 36px; }
.sv-card--e { grid-column: span 3; padding-inline: 32px; }
.sv-card--e p { font-size: 1rem; }

.sv-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	max-width: 310px;
}

.sv-card__img {
	position: absolute !important;
	right: -36px;
	top: 50%;
	width: 360px;
	height: 312px;
	transform: translateY(-50%);
}

/* hvorfor */

.sv-why {
	display: grid;
	grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
	gap: clamp(40px, 7vw, 96px);
}

.sv-why__img {
	margin: 12px 0 0;
	width: 100%;
	aspect-ratio: 420 / 250;
	border-radius: 6px;
	overflow: hidden;
}

.sv-why__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
}

.sv-why__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 48px;
	align-content: start;
}

.sv-point {
	--sv-badge-x: 0px;
	--sv-badge-y: 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 98px 0 32px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 1rem;
}

.sv-point::before,
.sv-point::after {
	right: auto;
	left: 0;
	top: 32px;
	width: 60px;
	height: 52px;
}

.sv-point::before { background: rgba(255, 255, 255, 0.12); }
.sv-point::after { background: var(--sv-rav-lys); -webkit-mask-size: 24px 24px; mask-size: 24px 24px; }

/* service */

.sv-service {
	display: grid;
	grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
	gap: clamp(40px, 7vw, 96px);
	align-items: start;
}

.sv-service__intro > p:not(.sv-eyebrow) {
	color: var(--sv-stein);
}

/* merker */

.sv-brands {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	padding: 72px var(--sv-pad-x);
}

ul.sv-brands__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
	gap: 12px;
	width: 100%;
}

ul.sv-brands__list > li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 0 12px;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 4px;
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.15;
	text-align: center;
	color: var(--sv-grafitt);
}

/* arbeidsklær */

.sv-workwear {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
	gap: clamp(40px, 7vw, 96px);
	align-items: center;
}

.sv-workwear__visual {
	position: relative;
	padding-right: 7%;
}

.sv-workwear__img {
	margin: 0;
	aspect-ratio: 520 / 560;
	border-radius: 6px;
	overflow: hidden;
}

.sv-workwear__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
}

.sv-hexlabel {
	position: absolute;
	right: -4%;
	bottom: 48px;
	width: 200px;
	height: 173px;
	clip-path: var(--sv-hex);
	background: var(--sv-rav);
	color: var(--sv-rav-tekst);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	text-align: center;
}

.sv-hexlabel__small {
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.sv-hexlabel__big {
	font-family: var(--sv-disp);
	font-stretch: 112%;
	font-weight: 800;
	font-size: 1.375rem;
	line-height: 1.05;
}

.sv-workwear .sv-stack > p:not(.sv-eyebrow) {
	color: var(--sv-stein);
}

/* nyheter */

.sv-news__grid {
	gap: 20px !important;
	list-style: none;
	padding: 0;
	margin: 0;
}

.sv-newscard {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
	overflow: hidden;
}

.sv-newscard__img {
	margin: 0 !important;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #c9cdcc;
}

.sv-newscard__img a {
	display: block;
	height: 100%;
}

.sv-newscard__img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center 38%;
}

.sv-newscard__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	flex: 1 1 auto;
	padding: 28px;
}

.sv-newscard__tag a {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border-radius: 3px;
	background: var(--sv-mint);
	color: var(--sv-skog);
	font-family: var(--sv-disp);
	font-stretch: 88%;
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
}

.sv-newscard__tag .wp-block-post-terms__separator { display: none; }

.sv-newscard__title {
	font-size: 1.375rem;
	line-height: 1.15;
}

.sv-newscard__title a {
	color: var(--sv-blekk);
	text-decoration: none;
}

.sv-newscard__title a:hover {
	color: var(--sv-skog);
	text-decoration: underline;
	text-decoration-color: var(--sv-rav);
}

.sv-newscard__excerpt {
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-newscard__excerpt p { margin: 0; }
.sv-newscard__excerpt .wp-block-post-excerpt__more-text { display: none; }

.sv-newscard__more {
	margin-top: auto !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 1.0625rem;
	color: var(--sv-skog);
	text-decoration: underline;
	text-decoration-color: var(--sv-rav);
	text-decoration-thickness: 2px;
	text-underline-offset: 7px;
}

.sv-newscard__more::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url(../icons/arrow.svg) center / contain no-repeat;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
}

.wp-block-query-pagination {
	margin-top: 40px !important;
	font-family: var(--sv-disp);
	font-weight: 700;
}

/* faq */

.sv-faq {
	display: grid;
	grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
	gap: clamp(32px, 7vw, 96px);
	align-items: start;
}

.sv-faq__intro > p:not(.sv-eyebrow) { color: var(--sv-stein); }

.sv-faq__list {
	border-top: 1px solid var(--sv-linje);
	width: 100%;
}

.sv-faq__item {
	border-bottom: 1px solid var(--sv-linje);
	padding: 6px 0;
}

.sv-faq__item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 64px;
	cursor: pointer;
	list-style: none;
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	line-height: 1.25;
	color: var(--sv-blekk);
}

.sv-faq__item > summary::-webkit-details-marker { display: none; }

.sv-faq__item > summary::after {
	content: "";
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	background: var(--sv-skog);
	-webkit-mask: url(../icons/plus.svg) center / contain no-repeat;
	mask: url(../icons/plus.svg) center / contain no-repeat;
	transition: transform 0.2s ease;
}

.sv-faq__item[open] > summary::after { transform: rotate(45deg); }

.sv-faq__item > p {
	margin: 0;
	padding: 0 48px 22px 0;
	color: var(--sv-stein);
	font-size: 1.0625rem;
}

/* kontakt */

.sv-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
	gap: clamp(40px, 6vw, 80px);
	align-items: start;
}

.sv-contact__intro { gap: 28px; }
.sv-contact .sv-lead { max-width: 520px; font-size: 1.1875rem; }

.sv-people {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: 100%;
	padding: 28px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.sv-person {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 52px;
	padding-left: 76px;
}

/* Portrett ved kontaktpersonene: en vanlig bildeblokk, klippet til sekskant.
   Logo-ikonet står som plassholder til dere bytter til et portrett i redigereren. */
.sv-person__photo,
.sv-sideperson__photo {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 52px;
	margin: 0 !important;
	clip-path: var(--sv-hex);
	background: #fff;
}

.sv-person__photo img,
.sv-sideperson__photo img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.sv-person__name { font-family: var(--sv-disp); font-size: 1.125rem; color: #fff; }
.sv-person__role { font-size: 0.9375rem; }

.sv-person__tel a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 1.0625rem;
	text-decoration: none;
	border-bottom: 2px solid var(--sv-rav);
	white-space: nowrap;
}

.sv-contact__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
	font-size: 1rem;
	line-height: 1.5;
}

/* skjema */

.sv-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
	box-sizing: border-box;
	margin: 0;
	padding: clamp(24px, 3vw, 40px);
	background: #fff;
	border-radius: 6px;
	color: var(--sv-blekk);
}

.sv-form--service {
	padding: 32px;
	border: 1px solid var(--sv-linje);
	border-top: 4px solid var(--sv-rav);
	box-shadow: 0 16px 40px rgba(10, 36, 22, 0.08);
	gap: 16px;
}

.sv-form__title {
	margin: 0;
	font-size: 1.625rem;
	color: var(--sv-blekk) !important;
}

.sv-form__intro { margin: 0; font-size: 0.9375rem; color: var(--sv-stein); }

.sv-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.sv-form__grid--single { grid-template-columns: minmax(0, 1fr); }

.sv-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.sv-field label {
	font-family: var(--sv-disp);
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--sv-blekk);
}

.sv-field input,
.sv-field select,
.sv-field textarea {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	padding: 0 14px;
	border: 1.5px solid var(--sv-felt);
	border-radius: 4px;
	background: #fff;
	color: var(--sv-blekk);
	font-family: var(--sv-body);
	font-size: 1rem;
}

.sv-field textarea {
	height: 112px;
	padding: 12px 14px;
	resize: vertical;
}

.sv-field input:focus,
.sv-field select:focus,
.sv-field textarea:focus {
	border-color: var(--sv-skog);
	outline: 3px solid rgba(0, 84, 30, 0.2);
	outline-offset: 0;
}

.sv-form__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sv-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	border: 0;
	border-radius: 4px;
	background: var(--sv-rav);
	color: var(--sv-rav-tekst);
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 1.0625rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.sv-form__submit:hover { background: var(--sv-rav-lys); }

.sv-form__submit::after {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url(../icons/arrow.svg) center / contain no-repeat;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
}

.sv-form__legal {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--sv-stein);
}

.sv-form__legal a { color: var(--sv-skog) !important; }

.sv-form__notice {
	margin: 0;
	padding: 14px 16px;
	border-radius: 4px;
	font-weight: 600;
}

.sv-form__notice--ok { background: var(--sv-mint); color: var(--sv-skog); }
.sv-form__notice--error { background: #fdecea; color: #b42318; }

/* ==========================================================================
   Undersider
   ========================================================================== */

.sv-crumbs {
	font-size: 0.9375rem;
	color: var(--sv-pa-mork);
}

.sv-crumbs a {
	color: var(--sv-pa-mork) !important;
	text-decoration: none;
}

.sv-crumbs a:hover { text-decoration: underline; }
.sv-crumbs strong { color: #fff; font-weight: 600; }
.sv-crumbs--dark, .sv-crumbs--dark a { color: var(--sv-stein) !important; }
.sv-crumbs--dark strong { color: var(--sv-blekk); }

.sv-subhero {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 40px var(--sv-pad-x) clamp(48px, 6vw, 88px);
}

.sv-subhero__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(32px, 5vw, 64px);
}

.sv-subhero__text { max-width: 760px; gap: 26px; }

.sv-subhero__img {
	flex: 0 0 380px;
	width: 380px;
	height: 329px;
}

.sv-subhero__img img { object-position: 72% center; }

.sv-pagehead {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	padding: 32px var(--sv-pad-x) 56px;
}

.sv-pagebody {
	padding: clamp(48px, 6vw, 72px) var(--sv-gutter);
}

.sv-pagebody .wp-block-post-content {
	color: var(--sv-stein);
	font-size: 1.125rem;
}

.sv-pagebody .wp-block-post-content :is(h2, h3) {
	margin-top: 2.25rem;
}

.sv-pagebody .wp-block-post-content h2 { font-size: clamp(1.625rem, 2.6vw, 2.25rem); }
.sv-pagebody .wp-block-post-content h3 { font-size: 1.375rem; }
.sv-pagebody .wp-block-post-content > :first-child { margin-top: 0; }

.sv-postmeta {
	display: flex;
	gap: 16px;
	color: var(--sv-stein);
	font-size: 0.9375rem;
}

.sv-postimg {
	margin-bottom: 40px !important;
	border-radius: 6px;
	overflow: hidden;
}

/* tjenesteside */

.sv-servicepage {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 400px);
	gap: clamp(40px, 6vw, 80px);
	align-items: start;
	padding-top: clamp(48px, 6vw, 88px);
}

.sv-servicepage__main {
	display: flex;
	flex-direction: column;
	gap: clamp(48px, 5vw, 72px);
	min-width: 0;
}

.sv-servicepage__main .sv-stack { width: 100%; gap: 28px; }

.sv-cardgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
}

.sv-card--plain {
	padding: 98px 32px 32px;
	gap: 14px;
	font-size: 1rem;
}

.sv-agreement {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 44px;
	border-radius: 6px;
}

.sv-agreement .sv-stack { gap: 16px; flex: 1 1 auto; }
.sv-agreement .sv-stack > p:not(.sv-card__num):not(.sv-note) { font-size: 1.0625rem; }

.sv-demo {
	--sv-badge-x: 0px;
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 36px 0 36px 104px;
	border-top: 1px solid var(--sv-linje);
	border-bottom: 1px solid var(--sv-linje);
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-demo::before,
.sv-demo::after {
	right: auto;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 72px;
	height: 62px;
}

.sv-demo .sv-stack { flex: 1 1 auto; }

.sv-servicepage__side {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sv-sideperson {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 24px 24px 24px 104px;
	border-radius: 6px;
	background: var(--sv-mint);
}

.sv-sideperson__photo {
	left: 24px;
	width: 64px;
	height: 55px;
}

.sv-sideperson__label { font-size: 0.875rem; color: var(--sv-stein); }
.sv-sideperson__name { font-family: var(--sv-disp); font-size: 1.125rem; color: var(--sv-blekk); }

.sv-sideperson__tel a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--sv-disp);
	font-weight: 800;
	font-size: 1.125rem;
	color: var(--sv-skog);
	text-decoration: none;
}

.sv-sideperson__tel a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url(../icons/phone.svg) center / contain no-repeat;
	mask: url(../icons/phone.svg) center / contain no-repeat;
}

.sv-sidebadge {
	margin: 0;
	border-radius: 6px;
	overflow: hidden;
}

.sv-sidebadge img { width: 100%; }

.sv-sidehours {
	padding-left: 32px;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--sv-stein);
}

.sv-sidehours::before { width: 20px; height: 20px; background: var(--sv-skog); }

.sv-related {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 72px var(--sv-pad-x);
}

.sv-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.sv-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px 28px 64px;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-tile h3 a {
	color: var(--sv-blekk);
	text-decoration: none;
}

.sv-tile h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.sv-tile::after {
	content: "";
	position: absolute;
	left: 28px;
	bottom: 26px;
	width: 22px;
	height: 22px;
	background: var(--sv-skog);
	-webkit-mask: url(../icons/arrow.svg) center / contain no-repeat;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
}

.sv-tile:hover { border-color: var(--sv-skog); }

/* kategoriside */

.sv-cathead {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding: 32px var(--sv-pad-x) 56px;
}

.sv-cathead__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(32px, 5vw, 64px);
}

.sv-cathead__text { max-width: 720px; gap: 20px; }

.sv-helpcard {
	--sv-badge-x: 24px;
	flex: 0 0 380px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 24px 24px 24px 100px;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
	color: var(--sv-stein);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.sv-helpcard::before,
.sv-helpcard::after {
	right: auto;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 52px;
}

.sv-helpcard::after { -webkit-mask-size: 24px 24px; mask-size: 24px 24px; }
.sv-helpcard__title { font-family: var(--sv-disp); font-size: 1.125rem; color: var(--sv-blekk); }

.sv-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	padding-top: 8px;
}

.sv-filter__label {
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-skog);
}

.sv-filter__label--sep {
	padding-left: 26px;
	border-left: 1px solid var(--sv-felt);
	margin-left: 10px !important;
}

ul.sv-filter__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

ul.sv-filter__list a {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 18px;
	border: 1.5px solid var(--sv-felt);
	border-radius: 4px;
	background: #fff;
	color: var(--sv-blekk);
	font-family: var(--sv-disp);
	font-weight: 600;
	font-size: 0.9375rem;
	text-decoration: none;
}

ul.sv-filter__list a {
	cursor: pointer;
	user-select: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

ul.sv-filter__list a:hover { border-color: var(--sv-skog); }

ul.sv-filter__list a:focus-visible {
	outline: 3px solid var(--sv-rav);
	outline-offset: 2px;
}

/* Valgt filter. Uten JavaScript (og i redigereren) er «Alle …» markert som valgt. */
.sv-filter:not(.is-enhanced) > ul.sv-filter__list:first-of-type > li:first-child a,
ul.sv-filter__list a.is-active,
ul.sv-filter__list a[aria-pressed="true"] {
	background: var(--sv-skog);
	border-color: var(--sv-skog);
	color: #fff;
}

/* Filter som ikke gir treff sammen med det som alt er valgt. */
ul.sv-filter__list a.is-dim:not(.is-active) {
	opacity: 0.5;
	border-style: dashed;
}

.sv-products {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 56px var(--sv-pad-x) var(--sv-pad-y);
}

.sv-products__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

/* Filteret skjuler kort med hidden-attributtet. */
.sv-product[hidden] { display: none !important; }

.sv-products__meta p:first-child {
	font-weight: 600;
	color: var(--sv-blekk);
}

.sv-products__empty {
	display: none;
	grid-column: 1 / -1;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 36px;
	background: #fff;
	border: 1.5px dashed var(--sv-felt);
	border-radius: 6px;
	color: var(--sv-stein);
}

.sv-products.is-empty .sv-products__empty,
.editor-styles-wrapper .sv-products__empty { display: flex; }

@media (prefers-reduced-motion: no-preference) {
	.sv-product--in { animation: sv-product-in 0.28s ease both; }
}

@keyframes sv-product-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: none; }
}

.sv-product {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
	overflow: hidden;
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-product__img {
	margin: 0;
	height: 240px;
	background: #000;
}

.sv-product__img img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

.sv-product__img--cover img { object-fit: cover; object-position: center 42%; }
.sv-product__img--light { background: #e6e6e6; }
.sv-product__img--light img { padding: 14px; box-sizing: border-box; }
.sv-product__img--white { background: #fff; }
.sv-product__img--white img { padding: 12px; box-sizing: border-box; }
.sv-product__img--grey { background: linear-gradient(to right, #d3d5d4 0 50%, #c4c7c6 50% 100%); }
.sv-product__img--rally { background: linear-gradient(to right, #232323 0 50%, #020202 50% 100%); }

.sv-product__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	flex: 1 1 auto;
	padding: 26px;
}

.sv-product__cta {
	margin-top: auto !important;
	padding-top: 10px;
	width: 100%;
	justify-content: space-between;
}

.sv-product--help {
	--sv-badge-x: 36px;
	--sv-badge-y: 36px;
	align-items: flex-start;
	gap: 16px;
	padding: 108px 36px 36px;
	border: 0;
	background: var(--sv-skog);
	color: var(--sv-pa-mork);
	font-size: 1.0625rem;
}

.sv-guide {
	display: grid;
	grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
	gap: clamp(40px, 7vw, 96px);
	align-items: start;
}

.sv-guide__intro > p:not(.sv-eyebrow) { color: var(--sv-stein); }

.sv-guide__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 48px;
}

.sv-guide__item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px 0;
	border-top: 1px solid var(--sv-linje);
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(24px, 5vw, 64px);
	padding: 64px var(--sv-pad-x);
	background: var(--sv-rav);
	color: var(--sv-rav-tekst);
}

.sv-band h2 { color: var(--sv-rav-tekst); }
.sv-band .wp-block-buttons { flex-shrink: 0; }

/* ==========================================================================
   Bunn
   ========================================================================== */

.sv-footer {
	background: var(--sv-mint);
	color: var(--sv-blekk);
}

.sv-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 320px) repeat(4, auto);
	justify-content: space-between;
	gap: 40px 48px;
	padding: 72px var(--sv-pad-x) 56px;
}

.sv-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	font-size: 1rem;
}

.sv-footer__logo {
	margin: 0;
	padding: 16px 20px;
	border-radius: 6px;
	background: #fff;
}

.sv-footer__logo img { width: 222px; }

.sv-footer__col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 1rem;
	line-height: 1.6;
}

.sv-footer__title {
	font-family: var(--sv-disp);
	font-stretch: 80%;
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sv-skog);
}

ul.sv-footer__links a,
.sv-footer__col p a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: var(--sv-blekk);
	text-decoration: none;
	white-space: nowrap;
}

ul.sv-footer__links a:hover,
.sv-footer__col p a:hover {
	color: var(--sv-skog);
	text-decoration: underline;
}

.sv-footer__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	min-height: 64px;
	padding: 12px var(--sv-pad-x);
	background: var(--sv-natt);
	color: var(--sv-pa-mork);
	font-size: 0.875rem;
}

.sv-mobilebar {
	display: none !important;
}

/* ==========================================================================
   Tilpasning til smalere skjermer
   ========================================================================== */

@media (max-width: 1100px) {
	.sv-hero,
	.sv-why,
	.sv-service,
	.sv-workwear,
	.sv-faq,
	.sv-contact,
	.sv-guide,
	.sv-servicepage {
		grid-template-columns: minmax(0, 1fr);
	}

	.sv-hero__visual {
		max-width: 520px;
		width: 100%;
		justify-self: center;
	}

	.sv-callout { left: 0; }

	.sv-card--a { grid-column: span 12; }
	.sv-card--b, .sv-card--c { grid-column: span 6; }
	.sv-card--d { grid-column: span 7; }
	.sv-card--e { grid-column: span 5; }

	.sv-why__img { max-width: 560px; }
	.sv-workwear__visual { max-width: 560px; }
	.sv-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-footer__main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sv-footer__brand { grid-column: 1 / -1; }
	.sv-subhero__img { display: none; }
	.sv-cathead__row { flex-direction: column; align-items: flex-start; }
	.sv-helpcard { flex-basis: auto; width: min(380px, 100%); }
	.sv-servicepage__side { max-width: 520px; }
}

@media (max-width: 900px) {
	.sv-topbar { display: none; }
	.sv-site-header { top: var(--wp-admin--admin-bar--height, 0px); }
	.sv-section__head--split { flex-direction: column; align-items: flex-start; }
	.sv-trust { flex-direction: column; align-items: flex-start; gap: 14px; padding-block: 28px; }
	.sv-trust__label { max-width: none; padding-right: 0; border-right: 0; }
	ul.sv-trust__list { flex: 0 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; width: 100%; height: auto; overflow: visible; font-size: 0.875rem; }
	ul.sv-trust__list > li { white-space: normal; }
	.sv-news__grid { grid-template-columns: minmax(0, 1fr) !important; }
	.sv-band { flex-direction: column; align-items: flex-start; }
	.sv-agreement { flex-direction: column; align-items: flex-start; gap: 24px; padding: 32px 24px; }
	ol.sv-steps--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-related__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 782px) {
	html { scroll-padding-top: 84px; }

	body { padding-bottom: 77px; }

	.sv-main .wp-block-button { max-width: 100%; }
	.sv-main .wp-block-button__link { white-space: normal; text-align: center; padding-block: 12px; }
	.sv-main .is-style-textlink .wp-block-button__link { text-align: left; padding-block: 0; }

	.sv-header { min-height: 68px; gap: 8px; padding: 0 12px 0 16px; }
	.sv-logo img { width: 204px; }
	.sv-header__cta { display: none !important; }
	.sv-header__phone a { font-size: 0; gap: 0; width: 44px; justify-content: center; }
	.sv-header__phone a::before { width: 22px; height: 22px; }
	.sv-header__actions { gap: 2px; }

	.sv-hero { padding: 40px 20px 48px; gap: 32px; }
	.sv-hero .wp-block-buttons { width: 100%; flex-direction: column; align-items: stretch; gap: 10px; }
	.sv-hero .wp-block-button, .sv-hero .wp-block-button__link { width: 100%; }
	ul.sv-proof { flex-direction: column; gap: 10px; }
	.sv-hero__visual { max-width: 330px; aspect-ratio: 330 / 286; }
	.sv-hero__visual::before, .sv-callout { display: none; }
	.sv-hero__img { aspect-ratio: 330 / 286; }

	.sv-bento { gap: 12px; }
	.sv-card, .sv-card--d, .sv-card--e { grid-column: span 12; min-height: 0; padding: 28px 24px; gap: 14px; font-size: 1rem; }
	.sv-card--a { flex-direction: column; }
	.sv-card__body { max-width: none; gap: 14px; }
	.sv-card__img { display: none; }
	.sv-card.sv-badge:not(.sv-badge--top)::before, .sv-card.sv-badge:not(.sv-badge--top)::after { top: 24px; right: 24px; width: 52px; height: 45px; }
	.sv-card.sv-badge:not(.sv-badge--top)::after { -webkit-mask-size: 22px 22px; mask-size: 22px 22px; }
	.sv-card.sv-badge:not(.sv-badge--top) > h3 { margin-top: 20px !important; }
	ul.sv-checks--grid { grid-template-columns: minmax(0, 1fr); }
	.sv-card--plain { padding: 92px 24px 24px; }
	.sv-card--plain.sv-badge--top { --sv-badge-x: 24px; --sv-badge-y: 24px; }

	.sv-why__grid, .sv-guide__grid, .sv-cardgrid { grid-template-columns: minmax(0, 1fr); }
	.sv-point { padding: 20px 0 20px 68px; gap: 6px; }
	.sv-point::before, .sv-point::after { top: 20px; width: 52px; height: 45px; }

	ol.is-style-steps > li { padding: 18px 0 18px 64px; }
	ol.is-style-steps > li::before { top: 18px; width: 48px; height: 42px; font-size: 1rem; }
	ol.is-style-steps > li strong { font-size: 1.1875rem; }
	ol.sv-steps--row { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--sv-linje); }
	ol.sv-steps--row > li { padding: 18px 0 18px 64px; border-bottom: 1px solid var(--sv-linje); }
	ol.sv-steps--row > li::before { top: 18px; }

	.sv-workwear__visual { padding-right: 0; }
	.sv-workwear__img { aspect-ratio: 350 / 240; }
	.sv-workwear__img img { object-position: 60% 40%; }
	.sv-hexlabel { display: none; }

	.sv-brands { padding-block: 48px; }
	ul.sv-brands__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	ul.sv-brands__list > li { min-height: 56px; font-size: 0.8125rem; }

	.sv-faq__item > p { padding-right: 0; font-size: 0.9375rem; }

	.sv-person { padding-left: 0; min-height: 64px; border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
	.sv-person__photo { display: none; }
	.sv-people { gap: 0; padding: 0; border-bottom: 0; }
	.sv-person__tel a { border-bottom: 0; }
	.sv-form__grid { grid-template-columns: minmax(0, 1fr); }
	.sv-form--service { padding: 24px 20px; }

	.sv-products__grid { grid-template-columns: minmax(0, 1fr); }
	.sv-filter__label--sep { border-left: 0; padding-left: 0; margin-left: 0 !important; width: 100%; }
	.sv-demo { flex-direction: column; align-items: flex-start; gap: 12px; padding-left: 0; padding-top: 108px; }
	.sv-demo::before, .sv-demo::after { top: 36px; transform: none; }

	.sv-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 40px 32px; gap: 28px 24px; }
	.sv-footer__logo img { width: 174px; }
	ul.sv-footer__links a, .sv-footer__col p a { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
	.sv-footer__col { min-width: 0; }

	.sv-mobilebar {
		display: flex !important;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		gap: 10px;
		margin: 0 !important;
		padding: 10px 12px;
		background: #fff;
		border-top: 1px solid var(--sv-linje);
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.12);
	}

	.sv-mobilebar .wp-block-button { flex: 1 1 0; }
	.sv-mobilebar .wp-block-button__link { width: 100%; font-size: 1rem; padding: 0 12px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}

/* ==========================================================================
   Elementor (gratis) – innhold bygget i Elementor arver temaets uttrykk
   ========================================================================== */

.sv-main--builder {
	background: #fff;
}

.sv-main--builder > .sv-builder-content,
.sv-main--builder > .wp-block-post-content {
	max-width: none;
	margin: 0;
}

/* Vanlig blokkinnhold i fullbreddemalen (uten Elementor) får luft og lesbar bredde. */
.sv-main--builder > .sv-builder-content > :not(.elementor):not(.alignfull):not(.alignwide) {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--sv-gutter);
}

.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1200px;
}

.e-con {
	--container-max-width: 1200px;
}

.elementor .elementor-heading-title {
	font-family: var(--sv-disp);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.elementor .elementor-widget-text-editor {
	font-family: var(--sv-body);
	font-size: 1.125rem;
	line-height: 1.6;
}

.elementor .elementor-button {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	min-height: 56px;
	padding: 0 28px;
	border-radius: 4px;
	background-color: var(--sv-rav);
	color: var(--sv-rav-tekst);
	fill: var(--sv-rav-tekst);
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.1;
	transition: background-color 0.15s ease;
}

.elementor .elementor-button:hover,
.elementor .elementor-button:focus {
	background-color: var(--sv-rav-lys);
	color: var(--sv-rav-tekst);
}

/* Hjelpeklasser som kan skrives inn under Avansert → CSS-klasser i Elementor. */
.elementor .sv-el-dark { background-color: var(--sv-dyp); color: var(--sv-pa-mork); }
.elementor .sv-el-green { background-color: var(--sv-skog); color: var(--sv-pa-mork); }
.elementor .sv-el-mint { background-color: var(--sv-mint); }
.elementor .sv-el-dark .elementor-heading-title,
.elementor .sv-el-green .elementor-heading-title { color: #fff; }
.elementor .sv-el-button-green .elementor-button { background-color: var(--sv-skog); color: #fff; fill: #fff; }
.elementor .sv-el-button-green .elementor-button:hover { background-color: #006b27; color: #fff; }
.elementor .sv-el-section { padding: var(--sv-pad-y) var(--sv-gutter); }
.elementor .sv-el-section .elementor-widget:not(:last-child) { margin-bottom: 20px; }

/* ==========================================================================
   Samlesider, merkesider og referanser
   ========================================================================== */

.sv-paper { background: var(--sv-papir, #f5f7f4); }

.sv-trust__list a {
	color: inherit;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.sv-trust__list a:hover,
.sv-trust__list a:focus-visible {
	color: var(--sv-skog);
	border-bottom-color: var(--sv-rav);
}

.sv-trust__all {
	flex: 0 0 auto;
	margin: 0 !important;
	font-family: var(--sv-disp);
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.75rem;
	white-space: nowrap;
}

.sv-trust__all a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sv-skog);
	text-decoration: none;
	border-bottom: 2px solid var(--sv-rav);
}

.sv-trust__all a::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(../icons/arrow.svg) center / contain no-repeat;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
	transition: transform 0.15s ease;
}

.sv-trust__all a:hover::after { transform: translateX(3px); }

/* fliser */

.sv-tiles {
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 3vw, 40px);
}

.sv-tiles__head { max-width: 760px; gap: 14px; }

.sv-tilegrid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sv-tilegrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sv-tilecard {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
	overflow: hidden;
	color: var(--sv-stein);
	font-size: 1rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.sv-tilecard:hover,
.sv-tilecard:focus-within {
	border-color: var(--sv-skog);
	box-shadow: 0 14px 32px rgba(7, 25, 15, 0.1);
	transform: translateY(-2px);
}

.sv-tilecard__img {
	margin: 0;
	height: 190px;
	background: #0b0f0d;
	border-bottom: 1px solid var(--sv-linje);
}

.sv-tilecard__img img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

.sv-tilecard__img--cover img { object-fit: cover; }
.sv-tilecard__img--white { background: #fff; }
.sv-tilecard__img--white img { padding: 14px; box-sizing: border-box; }
.sv-tilecard__img--light { background: #e6e6e6; }
.sv-tilecard__img--light img { padding: 14px; box-sizing: border-box; }
.sv-tilecard__img--logo { background: #fff; height: 150px; }
.sv-tilecard__img--logo img { padding: 26px 34px; box-sizing: border-box; }
.sv-tilecard__img--logo-svart { background: #000; height: 150px; }
.sv-tilecard__img--logo-svart img { padding: 22px 34px; box-sizing: border-box; }

.sv-tilecard__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1 1 auto;
	padding: 24px 26px 26px;
}

.sv-tilecard__body h3 a { color: var(--sv-blekk); text-decoration: none; }
.sv-tilecard__body h3 a::after { content: ""; position: absolute; inset: 0; }

.sv-tilecard__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto !important;
	padding-top: 8px;
	font-family: var(--sv-disp);
	font-weight: 700;
	color: var(--sv-skog);
}

.sv-tilecard__cta::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url(../icons/arrow.svg) center / contain no-repeat;
	mask: url(../icons/arrow.svg) center / contain no-repeat;
	transition: transform 0.15s ease;
}

.sv-tilecard:hover .sv-tilecard__cta::after { transform: translateX(4px); }

/* merkeside / kategoriside */

.sv-logocard {
	flex: 0 0 300px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	padding: 22px 28px;
	background: #fff;
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
}

.sv-logocard__img { margin: 0; }
.sv-logocard__img img { display: block; max-width: 100%; max-height: 110px; width: auto; height: auto; }

.sv-helpcard--plain { padding-left: 24px; flex-basis: 320px; }
.sv-helpcard--plain::before,
.sv-helpcard--plain::after { display: none; }

.sv-brand__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: clamp(32px, 6vw, 88px);
	align-items: start;
}

.sv-brand__text { gap: 18px; max-width: 760px; color: var(--sv-stein); font-size: 1.0625rem; }
.sv-brand__text h2 { margin-top: 14px; }
.sv-brand__text h2:first-child { margin-top: 0; }
.sv-brand__text a { color: var(--sv-skog); font-weight: 600; }
.sv-brand__photo { margin: 0 0 10px; }
.sv-brand__photo img { display: block; width: 100%; height: auto; border-radius: 6px; }

.sv-brand__aside {
	position: sticky;
	top: 120px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px;
	background: var(--sv-mint);
	border-radius: 6px;
	color: var(--sv-stein);
	font-size: 1rem;
}

.sv-aside__title {
	font-family: var(--sv-disp);
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--sv-blekk);
}

.sv-aside__title--sub {
	margin-top: 10px !important;
	padding-top: 18px;
	border-top: 1px solid var(--sv-felt);
	font-size: 1rem;
}

ul.sv-aside__links {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-brand__aside a { color: var(--sv-skog); font-weight: 600; }
ul.sv-aside__links a::after { content: " ↗"; font-weight: 400; }

.sv-products__grid--tall .sv-product__img { height: 320px; }

/* referanser */

.sv-refhead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(24px, 5vw, 64px);
}

.sv-refhead__img { margin: 0; flex: 0 1 460px; }
.sv-refhead__img img { display: block; width: 100%; height: 190px !important; object-fit: cover; border-radius: 6px; }

.sv-ref__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

.sv-ref__card {
	gap: 16px;
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--sv-linje);
	border-radius: 6px;
	background: #fff;
	color: var(--sv-stein);
	font-size: 1.0625rem;
}

.sv-ref__card--mint { background: var(--sv-mint); border-color: transparent; }
.sv-ref__card a { color: var(--sv-skog); font-weight: 600; }
.sv-ref__source { font-size: 0.9375rem; }

.sv-confirm {
	padding: 10px 14px;
	border: 1px dashed var(--sv-rav);
	border-radius: 4px;
	background: #fff;
	font-size: 0.9375rem;
	color: var(--sv-blekk);
}

@media (max-width: 1100px) {
	.sv-tilegrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-brand__grid { grid-template-columns: minmax(0, 1fr); }
	.sv-brand__aside { position: static; }
	.sv-logocard { flex-basis: auto; align-self: flex-start; min-height: 0; }
}

@media (max-width: 900px) {
	.sv-tilegrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-ref__grid { grid-template-columns: minmax(0, 1fr); }
	.sv-refhead { flex-direction: column; align-items: flex-start; }
	.sv-refhead__img { flex-basis: auto; width: 100%; }
}

@media (max-width: 600px) {
	.sv-tilegrid,
	.sv-tilegrid--4 { grid-template-columns: minmax(0, 1fr); }
	.sv-tilecard__img { height: 170px; }
	.sv-products__grid--tall .sv-product__img { height: 280px; }
}

.sv-workwear__img--contain { background: #f4f4f4; }
.sv-workwear__img--contain img { object-fit: contain !important; }
.sv-inline-logo { margin: 0; }
.sv-inline-logo img { display: block; width: auto; max-width: 220px; height: auto; }
.sv-main--katalog > .sv-katalog-content > * { margin-block: 0; }

/* Adressen med kartnål lenker til Google Maps – hele feltet, også ikonet, er klikkbart. */
.sv-ico--pin a { color: inherit; text-decoration: none; }
.sv-ico--pin a::before { content: ""; position: absolute; inset: -6px -8px -6px 0; }
.sv-ico--pin a:hover,
.sv-ico--pin a:focus-visible,
.sv-footer__address a:hover {
	text-decoration: underline;
	text-decoration-color: var(--sv-rav);
	text-underline-offset: 3px;
}
.sv-ico--pin:has(a) { cursor: pointer; }
.sv-footer__address a { color: inherit; text-decoration: none; }
