/* ==========================================================================
   Talaria Premium – lyst «studio»-uttrykk som går i ett med produktfotoene.
   ========================================================================== */

:root {
	--tlp-studio: var(--wp--preset--color--studio, #e7e5e1);
	--tlp-studio-dyp: var(--wp--preset--color--studio-dyp, #c9c6c1);
	--tlp-papir: var(--wp--preset--color--papir, #f6f5f2);
	--tlp-blekk: var(--wp--preset--color--blekk, #0f1a38);
	--tlp-natt: var(--wp--preset--color--natt, #08091e);
	--tlp-grafitt: var(--wp--preset--color--grafitt, #4a4f5c);
	--tlp-rust: var(--wp--preset--color--rust, #c65a28);
	--tlp-rust-mork: var(--wp--preset--color--rust-mork, #a7461b);
	--tlp-turkis: var(--wp--preset--color--turkis, #00a3af);
	--tlp-tall: var(--wp--preset--font-family--tall);
	--tlp-fart: var(--wp--preset--font-family--fart);
	--tlp-linje: 1px solid rgba(15, 26, 56, 0.12);
	--tlp-radius: 18px;
	--tlp-topphoyde: 76px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--tlp-topphoyde) + 1rem); }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
.wp-site-blocks > * + * { margin-block-start: 0; }
::selection { background: var(--tlp-rust); color: #fff; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--tlp-turkis); outline-offset: 3px; }
img, video { max-width: 100%; }
.screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.tlp-ingress { font-size: var(--wp--preset--font-size--ingress); color: var(--tlp-grafitt); max-width: 52ch; line-height: 1.45; }
.tlp-merknad { color: var(--tlp-grafitt); font-size: .9rem; }

/* Knapper */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--tlp-blekk); box-shadow: inset 0 0 0 2px var(--tlp-blekk); border: 0; padding: 1rem 1.8rem .9rem; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--tlp-blekk); color: #fff; }
.tlp-knapp {
	display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; text-decoration: none;
	background: var(--tlp-rust); color: #fff; padding: 1rem 1.8rem .9rem;
	font: 700 italic .875rem/1 var(--tlp-fart); text-transform: uppercase; letter-spacing: .1em; white-space: nowrap;
	transition: background-color .15s ease;
}
.tlp-knapp:hover { background: var(--tlp-rust-mork); color: #fff; }
.tlp-knapp--liten { padding: .75rem 1.2rem .65rem; font-size: .78rem; }

/* --------------------------------------------------------------------------
   Topp
   -------------------------------------------------------------------------- */
.tlp-topp-wrap { position: sticky; top: 0; z-index: 200; background: rgba(231, 229, 225, .88); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 rgba(15, 26, 56, .08); }
.admin-bar .tlp-topp-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.home .tlp-topp-wrap { position: fixed; inset: 0 0 auto 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background-color .3s ease, box-shadow .3s ease; }
.home .tlp-topp-wrap.er-rullet { background: rgba(231, 229, 225, .9); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 rgba(15, 26, 56, .08); }
.tlp-topp { padding-block: .7rem; }
.tlp-topp__rad { gap: 1.5rem; }
.tlp-logo { margin: 0; flex: 0 0 auto; }
.tlp-logo img { display: block; height: auto; aspect-ratio: 357 / 223; }
.tlp-meny { flex: 1 1 auto; font-family: var(--tlp-fart); font-weight: 700; font-style: italic; text-transform: uppercase; letter-spacing: .1em; font-size: .82rem; }
.tlp-meny .wp-block-navigation__container { flex-wrap: nowrap; }
.tlp-meny .wp-block-navigation-item__content { text-decoration: none; padding-block: .35rem; position: relative; }
.tlp-meny .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--tlp-rust); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.tlp-meny .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.tlp-meny .wp-block-navigation__responsive-container.is-menu-open { background: var(--tlp-studio); padding: 5rem 1.5rem 2rem; }
.tlp-meny .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.5rem; }
.tlp-handlekurv { flex: 0 0 auto; }
.tlp-handlekurv a { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: var(--tlp-blekk); font: 600 1rem var(--tlp-tall); white-space: nowrap; }
.tlp-handlekurv .woofc-cart-link-inner { position: relative; display: inline-flex; align-items: center; gap: .5rem; }
.tlp-handlekurv .woofc-cart-link-inner i { font-size: 1.3rem; }
.tlp-handlekurv .woofc-cart-link-inner::after { left: .9rem !important; right: auto !important; top: -.5rem !important; background: var(--tlp-rust) !important; color: #fff !important; }
.tlp-handlekurv .woofc-cart-link-inner[data-count="0"]::after { display: none; }
.tlp-sok { margin: 0; flex: 0 0 auto; }
.tlp-sok .wp-block-search__button { background: transparent; color: var(--tlp-blekk); padding: .35rem; border: 0; }
@media (max-width: 960px) {
	.tlp-meny { order: 4; flex: 0 0 auto; }
	.tlp-handlekurv { margin-left: auto !important; }
	.tlp-topp__rad { justify-content: flex-start !important; gap: .9rem; }
	.tlp-handlekurv .woofc-cart-link-inner-subtotal { display: none; }
	.tlp-logo img { width: 72px !important; }
}

/* --------------------------------------------------------------------------
   Startbildet – studiofoto i full bredde
   -------------------------------------------------------------------------- */
.tlp-start {
	padding: calc(var(--tlp-topphoyde) + clamp(1.5rem, 5vh, 4rem)) 0 clamp(2rem, 5vh, 4rem);
	/* Samme tak og gulv som i studiofotoet, så bildet glir inn i siden */
	background: linear-gradient(180deg, #c3c0bc 0%, #c4c1bd 58%, #cdd3dc 80%, #d6dce6 100%) !important;
	align-items: center !important;
}
.tlp-start .wp-block-cover__image-background {
	left: auto !important; right: 0; top: calc(var(--tlp-topphoyde) + 1rem) !important; width: min(64%, 1500px) !important; height: calc(100% - var(--tlp-topphoyde) - 2rem) !important;
	object-fit: contain !important; object-position: right 62% !important;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%), linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 18%), linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
	mask-composite: intersect;
}
.tlp-start .wp-block-cover__inner-container { width: 100%; max-width: 1360px; padding-inline: clamp(1rem, 4vw, 3rem); color: var(--tlp-blekk); }
.tlp-start .wp-block-cover__inner-container > * { margin-left: 0 !important; max-width: min(40%, 520px); }
.tlp-start .wp-block-cover__inner-container > .tlp-start__knapper { max-width: 640px; }
.tlp-start__navn { font-family: var(--tlp-tall); font-weight: 700; font-size: clamp(4.5rem, min(13vw, 24vh), 12rem); line-height: .82; letter-spacing: -.01em; margin: 0 0 1rem; color: var(--tlp-blekk); }
.tlp-start__linje { font-size: clamp(1.1rem, 1.6vw, 1.4rem); max-width: 30ch; margin: 0 0 1rem; line-height: 1.4; }
.tlp-start__pris { font-family: var(--tlp-tall); font-size: 1.6rem; margin: 0 0 1.6rem; }
.tlp-start__pris strong { font-weight: 700; }
.tlp-start__pris del { color: var(--tlp-grafitt); font-size: .7em; margin-left: .3rem; }
.tlp-start__pris span { color: var(--tlp-grafitt); font-size: .7em; }
.tlp-js .tlp-start__navn, .tlp-js .tlp-start__linje, .tlp-js .tlp-start__pris, .tlp-js .tlp-start__knapper { transform: translateY(14px); }
.tlp-klar .tlp-start__navn { animation: tlp-inn .9s cubic-bezier(.2,.8,.2,1) .1s forwards; }
.tlp-klar .tlp-start__linje { animation: tlp-inn .9s cubic-bezier(.2,.8,.2,1) .3s forwards; }
.tlp-klar .tlp-start__pris { animation: tlp-inn .9s cubic-bezier(.2,.8,.2,1) .4s forwards; }
.tlp-klar .tlp-start__knapper { animation: tlp-inn .9s cubic-bezier(.2,.8,.2,1) .5s forwards; }
@keyframes tlp-inn { from { opacity: .2; } to { opacity: 1; transform: none; } }
@media (max-width: 781px) {
	.tlp-start { flex-direction: column; padding-bottom: 0; min-height: 0 !important; }
	.tlp-start .wp-block-cover__inner-container > * { max-width: none; }
	.tlp-start .wp-block-cover__image-background { position: relative !important; order: 2; top: 0 !important; width: 100% !important; height: auto !important; -webkit-mask-image: none; mask-image: none; margin-top: 1rem; }
}

/* --------------------------------------------------------------------------
   Seksjoner
   -------------------------------------------------------------------------- */
.tlp-forside > * { margin-block: 0; }
.tlp-seksjon { padding-block: clamp(4rem, 9vw, 7.5rem); }
.tlp-seksjon h2 { margin: 0 0 .75rem; }
.tlp-seksjon > .tlp-ingress { margin: 0 0 clamp(2rem, 4vw, 3rem); }
.tlp-seksjon--klasser { background: var(--tlp-papir); }
.tlp-seksjon--reise { background: var(--tlp-papir); }
.tlp-seksjon--hjelp { padding-block: clamp(3rem, 6vw, 5rem); border-top: var(--tlp-linje); }
.tlp-seksjon--hjelp h3 { font-size: 1.4rem; margin: 0 0 .5rem; }

/* Modellvelger */
.tlp-velger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.tlp-velger__kort { background: var(--tlp-papir); border-radius: var(--tlp-radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 1px 0 rgba(15,26,56,.06); transition: box-shadow .25s ease, transform .25s ease; }
.tlp-velger__kort:hover { box-shadow: 0 24px 48px -28px rgba(15,26,56,.45); transform: translateY(-2px); }
.tlp-velger__bilde { display: block; background: var(--tlp-studio-dyp); aspect-ratio: 3 / 2; overflow: hidden; }
.tlp-velger__bilde img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.tlp-velger__kort:hover .tlp-velger__bilde img { transform: scale(1.03); }
.tlp-velger__tekst { padding: clamp(1.25rem, 2.5vw, 2rem); display: flex; flex-direction: column; gap: .9rem; flex: 1; }
.tlp-velger__navn { margin: 0; font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: .9; }
.tlp-velger__navn a { text-decoration: none; }
.tlp-velger__navn span { font-size: .45em; color: var(--tlp-grafitt); letter-spacing: .04em; vertical-align: .55em; }
.tlp-velger__ingress { margin: 0; color: var(--tlp-grafitt); }
.tlp-velger__fra { margin: auto 0 0; font-family: var(--tlp-tall); font-size: 1.35rem; }
.tlp-velger__versjoner { display: flex; flex-wrap: wrap; gap: .5rem; }
.tlp-velger__versjon { display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .9rem .45rem .45rem; border-radius: 999px; background: var(--tlp-studio); text-decoration: none; font-weight: 500; font-size: .95rem; }
.tlp-velger__versjon:hover { background: var(--tlp-blekk); color: #fff; }
.tlp-velger__ikke { font-size: .8rem; color: var(--tlp-grafitt); }
.tlp-velger__versjon:hover .tlp-velger__ikke { color: rgba(255,255,255,.75); }
@media (max-width: 781px) { .tlp-velger { grid-template-columns: minmax(0, 1fr); } }

/* Klassemerker */
.tlp-klassemerke { display: inline-block; padding: .3rem .65rem .25rem; border-radius: 999px; font: 600 .75rem/1.1 var(--tlp-tall); letter-spacing: .06em; text-transform: uppercase; color: #fff; white-space: nowrap; }
.tlp-klassemerke--l1e { background: var(--tlp-turkis); }
.tlp-klassemerke--l3e { background: var(--tlp-rust); }
.tlp-klassemerke--mx { background: var(--tlp-blekk); }

/* Nøkkeltall */
.tlp-tall { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1rem 2rem; margin: 0; }
.tlp-tall__punkt { border-top: 2px solid var(--tlp-blekk); padding-top: .75rem; }
.tlp-tall dt { font-family: var(--tlp-tall); line-height: .9; }
.tlp-tall__verdi { font-size: clamp(2.8rem, 6vw, 4.6rem); font-weight: 600; letter-spacing: -.01em; }
.tlp-tall__enhet { font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: 600; margin-left: .2rem; color: var(--tlp-grafitt); }
.tlp-tall dd { margin: .35rem 0 0; color: var(--tlp-grafitt); font-size: .95rem; }
.tlp-tall--liten { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 1rem; }
.tlp-tall--liten .tlp-tall__punkt { border-top-width: 1px; padding-top: .5rem; }
.tlp-tall--liten .tlp-tall__verdi { font-size: clamp(1.8rem, 3vw, 2.4rem); }
.tlp-tall--liten .tlp-tall__enhet { font-size: 1rem; }
.tlp-tall--liten dd { font-size: .82rem; line-height: 1.3; }

/* Førerkort/klasser */
.tlp-klasser { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.tlp-klasser__kolonne { background: #fff; border-radius: var(--tlp-radius); padding: clamp(1.25rem, 2.5vw, 2rem); border-top: 6px solid var(--tlp-blekk); }
.tlp-klasser__kolonne--l1e { border-top-color: var(--tlp-turkis); }
.tlp-klasser__kolonne--l3e { border-top-color: var(--tlp-rust); }
.tlp-klasser__kolonne h3 { margin: 0 0 1rem; font-size: 2rem; }
.tlp-klasser__kolonne h3 span { color: var(--tlp-grafitt); font-size: .6em; vertical-align: .3em; }
.tlp-klasser__fakta { margin: 0 0 1rem; display: grid; gap: .5rem; }
.tlp-klasser__fakta > div { display: grid; grid-template-columns: 6.5rem 1fr; gap: .5rem; border-bottom: var(--tlp-linje); padding-bottom: .5rem; }
.tlp-klasser__fakta dt { color: var(--tlp-grafitt); font-size: .9rem; }
.tlp-klasser__fakta dd { margin: 0; font-weight: 500; }
.tlp-klasser__modeller { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .35rem; }
.tlp-klasser__modeller li { display: flex; justify-content: space-between; gap: 1rem; }
.tlp-klasser__modeller a { font-weight: 600; }
.tlp-klasser__modeller span { font-family: var(--tlp-tall); color: var(--tlp-grafitt); }
.tlp-seksjon--klasser .tlp-merknad { margin-top: 1.5rem; }
@media (max-width: 900px) { .tlp-klasser { grid-template-columns: minmax(0, 1fr); } }

/* Filmbånd */
.tlp-film { padding-block: clamp(3rem, 8vw, 6rem); }
.tlp-film__slagord { font-family: var(--tlp-tall); font-style: italic; font-weight: 600; font-size: var(--wp--preset--font-size--monument); line-height: .85; text-transform: lowercase; margin: 0 !important; color: #fff; max-width: 9ch; }

/* Sammenligning */
.tlp-sammenlign { overflow-x: auto; border-radius: var(--tlp-radius); background: var(--tlp-papir); }
.tlp-sammenlign table { border-collapse: collapse; width: 100%; min-width: 920px; }
.tlp-sammenlign th, .tlp-sammenlign td { padding: .9rem 1rem; text-align: left; border-bottom: var(--tlp-linje); vertical-align: middle; }
.tlp-sammenlign tbody th { position: sticky; left: 0; background: var(--tlp-papir); font-weight: 500; color: var(--tlp-grafitt); font-size: .92rem; white-space: nowrap; }
.tlp-sammenlign thead th { vertical-align: bottom; }
.tlp-sammenlign thead a { display: flex; flex-direction: column; gap: .4rem; text-decoration: none; font: 600 1.15rem var(--tlp-tall); text-transform: uppercase; }
.tlp-sammenlign thead img { width: 100%; max-width: 160px; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; background: var(--tlp-studio-dyp); }
.tlp-sammenlign__knapper td, .tlp-sammenlign__knapper th { border-bottom: 0; }

/* Lager */
.tlp-lager { font-size: .9rem; font-weight: 500; display: inline-flex; align-items: center; gap: .4rem; }
.tlp-lager::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; }
.tlp-lager--ja { color: #12805c; }
.tlp-lager--nei { color: var(--tlp-grafitt); }

/* Kjøpsreisen (en ekte rekkefølge) */
.tlp-reise { list-style: none; counter-reset: reise; padding: 0; margin: 2rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.tlp-reise li { counter-increment: reise; border-top: 2px solid var(--tlp-blekk); padding-top: 1rem; color: var(--tlp-grafitt); }
.tlp-reise li::before { content: counter(reise); display: block; font: 600 3.4rem/1 var(--tlp-tall); color: var(--tlp-rust); margin-bottom: .5rem; }
.tlp-reise strong { display: block; color: var(--tlp-blekk); font: 600 1.35rem/1.1 var(--tlp-tall); text-transform: uppercase; margin-bottom: .35rem; }
@media (max-width: 900px) { .tlp-reise { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .tlp-reise { grid-template-columns: minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   Bunn
   -------------------------------------------------------------------------- */
.tlp-bunn-wrap { background: var(--tlp-blekk); color: #d6d9e3; }
.tlp-bunn { padding-block: clamp(3rem, 6vw, 4.5rem) 1.5rem; }
.tlp-bunn a { color: #fff; text-decoration: none; }
.tlp-bunn a:hover { color: #f0a77f; text-decoration: underline; }
.tlp-bunn__tittel { font-size: 1.05rem !important; letter-spacing: .08em; margin: 0 0 .8rem; color: #fff; }
.tlp-bunn__tekst { max-width: 34ch; }
.tlp-bunn__linje { border-top: 1px solid rgba(255,255,255,.14); margin-top: 2.5rem; padding: 1.25rem 6.5rem .5rem 0; min-height: 4.5rem; }
.tlp-levert { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0; font-size: .95rem; }
.tlp-levert a { display: inline-flex; }
.tlp-levert img.tlp-levert__logo { display: block; width: auto !important; max-width: none; }
.tlp-levert img.tlp-levert__logo--mobit { height: 16px !important; aspect-ratio: 604 / 150; }
.tlp-levert img.tlp-levert__logo--kodelig { height: 24px !important; aspect-ratio: 124 / 32; }

/* --------------------------------------------------------------------------
   Sider
   -------------------------------------------------------------------------- */
.tlp-side { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(3rem, 8vw, 6rem); min-height: 60vh; }
.tlp-sidetopp h1 { margin: 0 0 1.5rem; font-size: clamp(2.6rem, 7vw, 5rem); line-height: .9; }
.tlp-side .wp-block-post-content > * + * { margin-top: 1.1em; }
/* Sideinnhold laget for det klassiske temaet */
.tl-ingress { font-size: var(--wp--preset--font-size--ingress); color: var(--tlp-grafitt); }
.tl-faktaboks { background: var(--tlp-papir); border-radius: var(--tlp-radius); padding: clamp(1.25rem, 3vw, 2rem); border-left: 4px solid var(--tlp-turkis); }
.tl-kontaktkort { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; }
.tl-kontaktkort > .wp-block-group { background: var(--tlp-papir); border-radius: var(--tlp-radius); padding: 1.5rem; margin: 0; }
.tl-kontaktkort h3 { margin: 0 0 .3rem; font-size: 1rem; color: var(--tlp-grafitt); }
.tl-kontaktkort p { margin: 0; font: 600 1.3rem var(--tlp-tall); }
.tl-kontaktkort a { text-decoration: none; }
.tl-manualer { list-style: none; padding: 0; border-top: var(--tlp-linje); }
.tl-manualer li { border-bottom: var(--tlp-linje); }
.tl-manualer a { display: grid; grid-template-columns: 9rem 1fr auto; gap: 1rem; padding: 1rem .25rem; text-decoration: none; }
.tl-manualer a:hover { background: var(--tlp-papir); }
.tl-manualer__type { color: var(--tlp-grafitt); }
.tl-manualer__fil { font: 600 .85rem var(--tlp-tall); color: var(--tlp-rust); }

/* --------------------------------------------------------------------------
   Modellsiden
   -------------------------------------------------------------------------- */
.tlp-butikk { padding-block: clamp(1rem, 3vw, 2rem) 0; }
.tlp-butikk--produkt { padding-bottom: 0; }
.tlp-modell { position: relative; }
.tlp-modell > * { margin-block: 0; }
.tlp-mtopp { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; padding-bottom: clamp(3rem, 6vw, 5rem); }
.tlp-mtopp__galleri { position: relative; min-width: 0; }
.tlp-mtopp__galleri .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; }
.tlp-mtopp__galleri .woocommerce-product-gallery__wrapper, .tlp-mtopp__galleri .flex-viewport { border-radius: var(--tlp-radius); overflow: hidden; background: var(--tlp-studio-dyp); }
.tlp-mtopp__galleri .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; margin-top: .6rem !important; }
.tlp-mtopp__galleri .flex-control-thumbs li { width: auto !important; float: none !important; }
.tlp-mtopp__galleri .flex-control-thumbs img { border-radius: 8px; opacity: .55; background: var(--tlp-studio-dyp); }
.tlp-mtopp__galleri .flex-control-thumbs img.flex-active, .tlp-mtopp__galleri .flex-control-thumbs img:hover { opacity: 1; }
.tlp-mtopp__galleri .woocommerce-product-gallery__trigger { z-index: 5 !important; }
.tlp-mtopp__kjop { position: sticky; top: calc(var(--tlp-topphoyde) + 1rem); display: flex; flex-direction: column; gap: .85rem; }
.tlp-mtopp__kjop > * { margin: 0; }
.tlp-mtopp__kjop .woocommerce-breadcrumb { margin: 0; font-size: .9rem; color: var(--tlp-grafitt); }
.tlp-mtopp__kjop .woocommerce-breadcrumb a { color: var(--tlp-grafitt); text-decoration: none; }
.tlp-brodsmule-skille { margin: 0 .45rem; opacity: .5; }
.tlp-mtopp__tittel { font-size: clamp(3rem, 6vw, 5.4rem); line-height: .85; }
.tlp-mtopp__tittel span { display: block; font-size: .32em; color: var(--tlp-grafitt); letter-spacing: .06em; margin-top: .4rem; }
.tlp-mtopp__versjon { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; color: var(--tlp-grafitt); }
.tlp-pris { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .9rem; padding-top: .5rem; border-top: var(--tlp-linje); }
.tlp-pris__belop { font: 600 clamp(2.2rem, 4vw, 3rem)/1 var(--tlp-tall); }
.tlp-pris__fra { font-size: .5em; color: var(--tlp-grafitt); font-weight: 500; }
.tlp-pris__for { color: var(--tlp-grafitt); text-decoration: line-through; font-family: var(--tlp-tall); font-size: 1.2rem; }
.tlp-pris__del { flex-basis: 100%; color: var(--tlp-grafitt); }
.tlp-mtopp__skjema form.cart { margin: 0; padding: 1rem 0; border-top: var(--tlp-linje); border-bottom: var(--tlp-linje); display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.tlp-mtopp__skjema form.variations_form { display: block; }
.tlp-mtopp__skjema table.variations { margin: 0 0 .75rem; border: 0; }
.tlp-mtopp__skjema table.variations th, .tlp-mtopp__skjema table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.tlp-mtopp__skjema .single_variation_wrap { display: flex; flex-direction: column; gap: .75rem; }
.tlp-mtopp__skjema .woocommerce-variation-add-to-cart { display: flex; gap: .75rem; align-items: stretch; flex-wrap: wrap; }
.tlp-mtopp__skjema .woocommerce-variation-price .price { font: 600 1.4rem var(--tlp-tall); }
.tlp-mtopp__skjema .quantity { display: flex; }
.tlp-mtopp__skjema .quantity .qty { width: 4.5rem; height: 3.1rem; border-radius: 999px; border: 1px solid rgba(15,26,56,.25); text-align: center; font: 600 1.05rem var(--tlp-tall); background: #fff; }
.tlp-mtopp__skjema .single_add_to_cart_button { flex: 1; min-height: 3.1rem; border-radius: 999px !important; }
.tlp-mtopp__skjema .reset_variations { font-size: .9rem; color: var(--tlp-grafitt); }
.tlp-mtopp__skjema .stock { margin: 0; }
.tlp-trygghet { list-style: none; padding: 0; display: grid; gap: .45rem; color: var(--tlp-grafitt); }
.tlp-trygghet li { display: flex; gap: .55rem; align-items: baseline; }
.tlp-trygghet li::before { content: ""; flex: 0 0 auto; width: .9rem; height: .5rem; border-left: 2px solid #12805c; border-bottom: 2px solid #12805c; transform: rotate(-45deg) translateY(-.15rem); }
.tlp-mtopp__ogsa { color: var(--tlp-grafitt); font-size: .95rem; }
.tlp-mtopp__ogsa a { font-weight: 600; color: var(--tlp-blekk); }

.tlp-mseksjon { padding-block: clamp(3rem, 6vw, 5rem); border-top: var(--tlp-linje); }
.tlp-mseksjon h2 { margin: 0 0 1.5rem; }
.tlp-mseksjon--tall { border-top: 0; padding-top: 0; }
.tlp-mfilm { position: relative; height: clamp(320px, 62vh, 640px); overflow: hidden; background: var(--tlp-natt); margin-block: 0; }
.tlp-mfilm__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.tlp-mfilm__navn { position: absolute; left: clamp(1rem, 4vw, 3rem); bottom: clamp(1rem, 4vw, 3rem); margin: 0; color: #fff; font: 700 var(--wp--preset--font-size--monument)/.8 var(--tlp-tall); text-transform: uppercase; }
.tlp-mseksjon--to { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.tlp-mhistorie__tekst { max-width: 70ch; }
.tlp-mhistorie__tekst table { display: block; max-width: 100%; overflow-x: auto; }
.tlp-mhistorie__tekst :is(img, video, iframe, .wp-video, .mejs-container) { max-width: 100% !important; height: auto; border-radius: 12px; }
.tlp-mklasse { background: #fff; border-radius: var(--tlp-radius); padding: clamp(1.25rem, 2.5vw, 2rem); position: sticky; top: calc(var(--tlp-topphoyde) + 1rem); }
.tlp-mklasse h2 { font-size: 2rem; margin-bottom: 1rem; }
.tlp-spes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(2rem, 5vw, 5rem); margin: 0; }
.tlp-spes > div { display: grid; grid-template-columns: minmax(8rem, 40%) 1fr; gap: 1rem; padding: .85rem 0; border-bottom: var(--tlp-linje); }
.tlp-spes dt { color: var(--tlp-grafitt); }
.tlp-spes dd { margin: 0; font-weight: 500; }
@media (max-width: 960px) {
	.tlp-mtopp, .tlp-mseksjon--to { grid-template-columns: minmax(0, 1fr); }
	.tlp-mtopp__kjop, .tlp-mklasse { position: static; }
	.tlp-spes { grid-template-columns: minmax(0, 1fr); }
}

/* Kjøpslinje som følger med når kjøpsboksen er rullet forbi */
.tlp-kjopslinje {
	position: fixed; left: 50%; bottom: 1rem; z-index: 150; transform: translate(-50%, 140%);
	display: flex; align-items: center; gap: 1.25rem; padding: .55rem .6rem .55rem 1.4rem; border-radius: 999px;
	background: rgba(15, 26, 56, .94); color: #fff; box-shadow: 0 18px 40px -18px rgba(8,9,30,.6);
	transition: transform .35s cubic-bezier(.2,.8,.2,1); max-width: calc(100% - 7rem);
}
.tlp-kjopslinje.vis { transform: translate(-50%, 0); }
.tlp-kjopslinje__navn { font: 600 1.15rem var(--tlp-tall); text-transform: uppercase; white-space: nowrap; }
.tlp-kjopslinje__pris { font-family: var(--tlp-tall); font-size: 1.15rem; opacity: .8; white-space: nowrap; }
@media (max-width: 600px) { .tlp-kjopslinje { left: 1rem; transform: translate(0, 140%); max-width: calc(100% - 6.5rem); } .tlp-kjopslinje.vis { transform: none; } .tlp-kjopslinje__pris { display: none; } }

/* --------------------------------------------------------------------------
   WooCommerce – felles (deler, butikk, kurv, kasse)
   -------------------------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb { color: var(--tlp-grafitt); font-size: .9rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--tlp-grafitt); }
.woocommerce .page-title, .woocommerce-products-header__title { font-size: clamp(2.6rem, 7vw, 5rem); line-height: .9; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(var(--tlp-kol, 4), minmax(0, 1fr)); gap: 1.5rem; margin: 0 0 2rem; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--tlp-papir); border-radius: var(--tlp-radius); overflow: hidden; display: flex; flex-direction: column; padding-bottom: 1.25rem; }
.woocommerce ul.products li.product a img { margin: 0 0 1rem !important; aspect-ratio: 4 / 3; object-fit: cover; background: var(--tlp-studio-dyp); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font: 600 1.25rem/1.1 var(--tlp-tall) !important; text-transform: uppercase; padding: 0 1.25rem !important; }
.woocommerce ul.products li.product .price { color: var(--tlp-blekk) !important; font: 600 1.2rem var(--tlp-tall) !important; padding: 0 1.25rem; margin: .4rem 0 1rem !important; }
.woocommerce ul.products li.product .button { margin: auto 1.25rem 0 !important; align-self: flex-start; }
.woocommerce span.onsale { background: var(--tlp-rust); border-radius: 999px; min-height: 0; min-width: 0; line-height: 1; padding: .45rem .8rem; font: 700 italic .75rem var(--tlp-fart); letter-spacing: .06em; text-transform: uppercase; top: .9rem; left: .9rem; right: auto; margin: 0; z-index: 4; }
@media (max-width: 1023px) { .woocommerce ul.products { --tlp-kol: 2 !important; } }
@media (max-width: 520px) { .woocommerce ul.products { --tlp-kol: 1 !important; } }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit {
	background: var(--tlp-rust) !important; color: #fff !important; border-radius: 999px; border: 0;
	font: 700 italic .82rem/1 var(--tlp-fart); text-transform: uppercase; letter-spacing: .1em; padding: 1rem 1.6rem .9rem !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover { background: var(--tlp-rust-mork) !important; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button.alt.disabled { background: var(--tlp-blekk) !important; opacity: .35; }
.woocommerce select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-page input[type="text"], .woocommerce-page input[type="email"], .woocommerce-page input[type="tel"], .woocommerce-page input[type="number"], .woocommerce-page textarea {
	background: #fff; color: var(--tlp-blekk); border: 1px solid rgba(15,26,56,.22); border-radius: 10px; padding: .7rem .85rem; font: inherit;
}
.wc-block-components-notice-banner, .woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error { background: #fff !important; color: var(--tlp-blekk) !important; border: 0 !important; border-left: 4px solid var(--tlp-turkis) !important; border-radius: 12px !important; }
.wc-block-components-notice-banner.is-error, .woocommerce .woocommerce-error { border-left-color: var(--tlp-rust) !important; }
.woocommerce table.shop_table { border: 0; background: var(--tlp-papir); border-radius: var(--tlp-radius); overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top: var(--tlp-linje) !important; padding: .9rem 1rem; }
.woocommerce table.shop_table img { width: 72px; border-radius: 8px; background: var(--tlp-studio-dyp); }
.woocommerce .cart-collaterals .cart_totals { background: var(--tlp-papir); border-radius: var(--tlp-radius); padding: 1.5rem; }
.woocommerce-checkout #payment { background: var(--tlp-papir) !important; border-radius: var(--tlp-radius); }
/* Klassisk produktmal (deler): galleri + tekst side om side */
.tlp-butikk--produkt div.product:not(.tlp-modell) { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem clamp(1.5rem, 4vw, 4rem); align-items: start; padding-bottom: 4rem; }
.tlp-butikk--produkt div.product:not(.tlp-modell) > * { grid-column: 1 / -1; }
.tlp-butikk--produkt div.product:not(.tlp-modell) > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; width: 100% !important; float: none !important; margin: 0 !important; border-radius: var(--tlp-radius); overflow: hidden; background: var(--tlp-studio-dyp); }
.tlp-butikk--produkt div.product:not(.tlp-modell) > .summary { grid-column: 2; grid-row: 1; width: 100% !important; float: none !important; margin: 0 !important; }
.tlp-butikk--produkt div.product:not(.tlp-modell) > .onsale { grid-column: 1; grid-row: 1; }
.woocommerce div.product .product_title { font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: .9; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tlp-blekk) !important; font: 600 2rem var(--tlp-tall) !important; }
@media (max-width: 860px) { .tlp-butikk--produkt div.product:not(.tlp-modell) { grid-template-columns: minmax(0, 1fr); } .tlp-butikk--produkt div.product:not(.tlp-modell) > .summary { grid-column: 1; grid-row: auto; } }

/* Fargevelger (Variation Swatches) */
.cfvsw-swatches-container { gap: .55rem; flex-wrap: wrap; }
.cfvsw-swatches-option { border-radius: 50% !important; min-width: 2.5rem; min-height: 2.5rem; border: 2px solid #fff !important; box-shadow: 0 0 0 1px rgba(15,26,56,.25); }
.cfvsw-swatches-option.cfvsw-selected-swatch, .cfvsw-swatches-option:hover { box-shadow: 0 0 0 2px var(--tlp-blekk) !important; }
.cfvsw-swatches-option .cfvsw-swatch-inner { border-radius: 50%; }

/* Redusert bevegelse */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.tlp-js .tlp-start__navn, .tlp-js .tlp-start__linje, .tlp-js .tlp-start__pris, .tlp-js .tlp-start__knapper { opacity: 1 !important; transform: none !important; animation: none !important; }
	*, *::before, *::after { transition-duration: .01ms !important; }
}
