/* ==========================================================================
   Talaria – tema
   Farger og skrift kommer fra theme.json (--wp--preset--*). Her: oppsett,
   modellrekken, presentasjonsmodus og WooCommerce/handlekurv/Svea.
   ========================================================================== */

:root {
	--tl-natt: var(--wp--preset--color--natt, #08091e);
	--tl-dyp: var(--wp--preset--color--dyp, #0f1a38);
	--tl-stal: var(--wp--preset--color--stal, #1d2946);
	--tl-rust: var(--wp--preset--color--rust, #c65a28);
	--tl-rust-mork: var(--wp--preset--color--rust-mork, #8e401d);
	--tl-turkis: var(--wp--preset--color--turkis, #00b1be);
	--tl-kalk: var(--wp--preset--color--kalk, #f5f4f3);
	--tl-taake: var(--wp--preset--color--taake, #a9aec4);
	--tl-fart: linear-gradient(90deg, var(--tl-rust), var(--tl-turkis));
	--tl-display: var(--wp--preset--font-family--display);
	--tl-fartfont: var(--wp--preset--font-family--fart);
	--tl-skraa: 10px; /* skråkant på knapper */
	--tl-topphoyde: 84px;
	--tl-linje: 1px solid rgba(245, 244, 243, 0.14);
}

/* Ingen standardluft mellom topp, hovedinnhold og bunn. */
.wp-site-blocks > * + * { margin-block-start: 0; }

html { scroll-behavior: smooth; scroll-padding-top: var(--tl-topphoyde); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--tl-rust); color: #fff; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--tl-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; }

/* Fartslinjen – merkevarens overgang, brukt sparsomt. */
.tl-topp-wrap::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--tl-fart);
}

/* --------------------------------------------------------------------------
   Knapper: skrå kanter (fart), rust som handling, kalk-omriss som alternativ.
   -------------------------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	clip-path: polygon(var(--tl-skraa) 0, 100% 0, calc(100% - var(--tl-skraa)) 100%, 0 100%);
	transition: background-color .15s ease, color .15s ease;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--tl-kalk);
	box-shadow: inset 0 0 0 2px var(--tl-kalk);
	clip-path: polygon(var(--tl-skraa) 0, 100% 0, calc(100% - var(--tl-skraa)) 100%, 0 100%);
	border: 0; padding: 0.95rem 1.9rem 0.8rem;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--tl-kalk); color: var(--tl-natt); }
.wp-block-buttons { gap: 0.9rem; }

/* --------------------------------------------------------------------------
   Toppen
   -------------------------------------------------------------------------- */
.tl-topp-wrap {
	position: sticky; top: 0; z-index: 200;
	background: rgba(8, 9, 30, 0.92);
	border-bottom: var(--tl-linje);
	transition: background-color .3s ease, border-color .3s ease;
}
/* Uskarpheten ligger på et eget lag: backdrop-filter på selve toppen gjør den til ramme for mobilmenyen
   (position: fixed), og da ble menyen klemt inn i toppen når man hadde rullet. */
.tl-topp-wrap::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.admin-bar .tl-topp-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
/* På forsiden ligger toppen over videoen til man ruller. */
.home .tl-topp-wrap { position: fixed; inset: 0 0 auto 0; background: linear-gradient(180deg, rgba(8,9,30,.75), rgba(8,9,30,0)) no-repeat border-box; border-bottom: 0; }
.home .tl-topp-wrap:not(.er-rullet)::after { backdrop-filter: none; -webkit-backdrop-filter: none; }
.home.admin-bar .tl-topp-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.home .tl-topp-wrap.er-rullet { background: rgba(8, 9, 30, 0.94); box-shadow: 0 1px 0 rgba(245,244,243,.14); }

.tl-topp { padding-block: 0.9rem 0.8rem; }
.tl-topp__rad { gap: 1.5rem; min-height: calc(var(--tl-topphoyde) - 1.7rem); }
.tl-logo { margin: 0; flex: 0 0 auto; }
.tl-logo img { display: block; height: auto; aspect-ratio: 357 / 223; }
.tl-bunn-wrap .wp-block-image img { aspect-ratio: 357 / 223; height: auto; }
.tl-meny { flex: 1 1 auto; font-size: clamp(.82rem, 1.05vw, .98rem) !important; letter-spacing: .1em !important; }
.tl-meny .wp-block-navigation__container { flex-wrap: nowrap; }
.tl-meny .wp-block-navigation-item__content { text-decoration: none; padding-block: 0.4rem; position: relative; color: var(--tl-kalk); }
.tl-meny .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
	background: var(--tl-fart); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.tl-meny .wp-block-navigation-item__content:hover::after,
.tl-meny .current-menu-item > .wp-block-navigation-item__content::after,
.tl-meny [aria-current="page"]::after { transform: scaleX(1); }
.tl-meny .wp-block-navigation-item__content:hover { color: var(--tl-kalk); }

/* Handlekurven (WooCommerce Mini-Cart) mellom menyen og søk: ikon, antall og beløp. */
.tl-handlekurv { flex: 0 0 auto; }
.tl-handlekurv .wc-block-mini-cart__button {
	display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .2rem; color: var(--tl-kalk);
	font-family: var(--tl-display); font-size: .95rem; white-space: nowrap; background: none; border: 0; cursor: pointer; clip-path: none;
}
.tl-handlekurv .wc-block-mini-cart__button:hover { color: var(--tl-rust); }
.tl-handlekurv .wc-block-mini-cart__amount { display: inline; order: 2; }
.tl-handlekurv .wc-block-mini-cart__quantity-badge { order: 1; }
.tl-handlekurv .wc-block-mini-cart__icon { width: 1.6rem; height: 1.6rem; }
.tl-handlekurv .wc-block-mini-cart__badge {
	background: var(--tl-rust); color: #fff; border: 0; font-family: var(--tl-display); font-weight: 700; font-size: .7rem;
	min-width: 1.15rem; height: 1.15rem; top: -.35rem; left: 1rem;
}

.tl-sok { flex: 0 0 auto; margin: 0; }
.tl-sok .wp-block-search__button { background: transparent; color: var(--tl-kalk); clip-path: none; padding: .4rem; border: 0; }
.tl-sok .wp-block-search__button:hover { color: var(--tl-rust); }
.tl-sok .wp-block-search__input { background: var(--tl-stal); color: var(--tl-kalk); border: 0; font: inherit; padding: .5rem .8rem; }
.tl-sok.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }

/* Mobilmeny (overlay fra Navigation-blokken) */
/* Navigation-blokken gir hvit bakgrunn uten egen farge (.has-background) – den må overstyres, ellers forsvinner den lyse lukkeknappen. */
.tl-meny.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--tl-natt); color: var(--tl-kalk); padding: 5rem 1.5rem 2rem;
}
.tl-meny .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.6rem; }
.tl-meny .wp-block-navigation__responsive-container-open svg, .tl-meny .wp-block-navigation__responsive-container-close svg { fill: var(--tl-kalk); width: 30px; height: 30px; }

@media (max-width: 781px) {
	:root { --tl-topphoyde: 68px; }
	.tl-logo img { width: 84px !important; }
	.tl-topp__rad { gap: .75rem; }
	.tl-meny { order: 4; flex: 0 0 auto; }
	.tl-handlekurv { margin-left: auto !important; }
	.tl-topp__rad { justify-content: flex-start !important; }
	.tl-handlekurv .wc-block-mini-cart__amount { display: none; }
	.tl-start__slagord { font-size: clamp(3rem, 15vw, 5rem); }
}

/* --------------------------------------------------------------------------
   Seksjoner (felles)
   -------------------------------------------------------------------------- */
.tl-forside > * { margin-block: 0; }
.tl-seksjon { position: relative; }
.tl-seksjonstopp { gap: 1rem 2rem; margin-bottom: 1rem; }
.tl-seksjonstopp h2 { margin: 0; }

/* --------------------------------------------------------------------------
   Start (hovedvideo)
   -------------------------------------------------------------------------- */
.tl-start { padding-block: calc(var(--tl-topphoyde) + 2rem) clamp(3rem, 9vh, 6rem); overflow: hidden; }
.tl-start .wp-block-cover__background { background: linear-gradient(180deg, rgba(8,9,30,.35) 0%, rgba(8,9,30,.15) 45%, rgba(8,9,30,.9) 100%) !important; opacity: 1 !important; }
.tl-start .wp-block-cover__video-background { filter: saturate(1.05) contrast(1.05); }
.tl-start .wp-block-cover__inner-container { max-width: 1320px; }
.tl-start .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: auto !important; }
.tl-start__slagord {
	font-family: var(--tl-display); font-style: italic; font-weight: 700;
	font-size: clamp(3rem, min(11.5vw, 19vh), 10.5rem); line-height: .88; letter-spacing: -0.045em;
	margin: 0 0 1.5rem -0.06em; max-width: 9ch; text-wrap: balance;
}
.tl-start__ingress { max-width: 34ch; color: var(--tl-kalk); margin: 0 0 2rem; }
/* Fartslinjen trekkes over bunnen av startbildet når siden lastes. */
.tl-start::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; z-index: 2;
	background: var(--tl-fart); transform-origin: left; transform: scaleX(0);
}
.tl-klar .tl-start::after { animation: tl-fart 1.4s cubic-bezier(.2,.8,.2,1) .25s forwards; }
.tl-js .tl-start__slagord, .tl-js .tl-start__ingress, .tl-js .tl-start__knapper { opacity: 0; transform: translateX(-24px); }
.tl-klar .tl-start__slagord { animation: tl-inn .9s cubic-bezier(.2,.8,.2,1) .15s forwards; }
.tl-klar .tl-start__ingress { animation: tl-inn .9s cubic-bezier(.2,.8,.2,1) .45s forwards; }
.tl-klar .tl-start__knapper { animation: tl-inn .9s cubic-bezier(.2,.8,.2,1) .6s forwards; }
/* Lastet på nytt etter et ja i samtykkebanneret (klassen settes av Kodelig Markedsføring): siden står ferdig med en gang. */
.kmf-omlastet .tl-start::after, .kmf-omlastet .tl-start__slagord, .kmf-omlastet .tl-start__ingress, .kmf-omlastet .tl-start__knapper { animation-duration: 0s !important; animation-delay: 0s !important; }
@keyframes tl-fart { to { transform: scaleX(1); } }
@keyframes tl-inn { to { opacity: 1; transform: none; } }

/* --------------------------------------------------------------------------
   Modellrekken
   -------------------------------------------------------------------------- */
.tl-modeller { background: var(--tl-natt); }
.tl-familie { padding-block: clamp(3rem, 8vw, 6.5rem); border-top: var(--tl-linje); }
.tl-familie:nth-of-type(even) { background: linear-gradient(180deg, var(--tl-dyp), var(--tl-natt)); }
.tl-familie__rad { gap: clamp(1.5rem, 4vw, 4rem); margin: 0; align-items: stretch !important; }
.tl-familie__media { display: flex; align-self: stretch !important; }
.tl-familie__media > .tl-familie__film { flex: 1; width: 100%; }
.tl-familie__info { align-self: center !important; }
.tl-familie--speilet .tl-familie__rad { flex-direction: row-reverse; }
.tl-familie__film { min-height: clamp(340px, 62vh, 620px) !important; padding: 1.5rem 1.75rem; overflow: hidden; }
.tl-familie__film .wp-block-cover__background { background: linear-gradient(180deg, rgba(8,9,30,0) 40%, rgba(8,9,30,.85) 100%) !important; opacity: 1 !important; }
.tl-modellnavn {
	font-family: var(--tl-display); font-style: italic; font-weight: 700;
	font-size: var(--wp--preset--font-size--modell); line-height: .85; letter-spacing: -0.05em;
	margin: 0; text-transform: uppercase;
}
.tl-modellnavn__kode {
	display: block; font-size: .32em; letter-spacing: .02em; margin-top: .25em;
	color: transparent; -webkit-text-stroke: 1.5px var(--tl-turkis);
}
.tl-familie__tekst { color: var(--tl-kalk); margin: 0 0 1.5rem; max-width: 40ch; }

/* Versjon: merke, pris, førpris/spar, delbetaling, tekst, status, knapp (data: inc/modellrekke.php). */
.tl-versjon { border-top: var(--tl-linje); padding-block: 1.5rem; }
.tl-versjon > * { margin: 0 0 .35rem !important; }
.tl-versjon__navn { font-family: var(--tl-display); font-style: normal; font-size: 1.05rem; font-weight: 700; margin-bottom: .2rem !important; }
.tl-pris { font-family: var(--tl-display); font-size: clamp(1.8rem, 3.2vw, 2.4rem); line-height: 1.1; }
.tl-pris strong { font-weight: 700; }
.tl-spar { color: var(--tl-taake); font-size: 1.05rem; }
.tl-spar del { margin-inline: .25rem .5rem; }
.tl-spar strong { color: #f2a65a; font-weight: 600; margin-left: .35rem; }
.tl-delbetaling { color: var(--tl-kalk); font-size: 1.1rem; }
.tl-delbetaling strong { color: #f2c27a; }
.tl-undertekst { color: #8fe3cf; font-size: 1.05rem; display: flex; gap: .5rem; align-items: baseline; }
.tl-undertekst::before { content: "✓"; font-weight: 700; color: #3ddc97; }
.tl-status { font-family: var(--tl-fartfont); font-style: italic; font-weight: 700; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; display: inline-flex; align-items: center; gap: .55rem; margin-top: .4rem !important; }
.tl-status::before { content: ""; width: .75rem; height: .75rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 22%, transparent); }
.tl-status--lager { color: #3ddc97; }
.tl-status--snart { color: #f2a65a; }
.tl-status--utsolgt { color: #ff6b5e; }
.tl-versjon .wp-block-buttons { margin-top: .9rem !important; }
.tl-versjon--utsolgt .tl-pris { color: var(--tl-taake); }

/* Merker: «Nyhet!», «Lagertømming» … – skrått skilt som knappene, fire farger (produktboksen «Forsiden»). */
.tl-merke { display: inline-block; font-family: var(--tl-fartfont) !important; font-style: italic; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; line-height: 1; padding: .55rem 1.15rem .5rem; clip-path: polygon(.5rem 0, 100% 0, calc(100% - .5rem) 100%, 0 100%); color: #fff; background: var(--wp--preset--color--rust); }
.tl-merke--gull { background: linear-gradient(100deg, #f3cf86, #d39a3f); color: #1a1205; }
.tl-merke--turkis { background: var(--tl-turkis); color: #04161a; }
.tl-merke--rod { background: #e0313f; }
.tl-versjon__merke { margin-bottom: .7rem !important; }
.tl-merke--stor { position: absolute; top: 1.25rem; left: 1.25rem; z-index: 3; margin: 0 !important; font-size: clamp(.95rem, 1.6vw, 1.25rem); padding: .75rem 1.6rem .7rem; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.tl-familie__film .wp-block-cover__inner-container { position: static; }
.tl-familie__film .tl-modellnavn { position: relative; z-index: 2; }

/* Valg av visning: rader (familier med film) eller kort tre i bredden som på talaria.no. */
.tl-visning { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; max-width: 1320px; margin: 0 auto; padding: 1.75rem var(--wp--style--root--padding-right, 1.5rem) 0 var(--wp--style--root--padding-left, 1.5rem); }
.tl-visning span { font-family: var(--tl-fartfont); font-style: italic; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tl-taake); margin-right: .35rem; }
.tl-visning button { display: inline-flex; align-items: center; gap: .45rem; background: transparent; color: var(--tl-kalk); border: 1px solid rgba(245,244,243,.25); border-radius: 4px; padding: .5rem .85rem; font: 600 .95rem var(--wp--preset--font-family--brod); cursor: pointer; }
.tl-visning button svg { width: 1rem; height: 1rem; fill: currentColor; }
.tl-visning button[aria-pressed="true"] { background: var(--wp--preset--color--rust); border-color: var(--wp--preset--color--rust); color: #fff; }
.tl-visning button:focus-visible { outline: 2px solid var(--tl-turkis); outline-offset: 2px; }
.tl-presentasjon .tl-visning { display: none; }

.tl-kortrutenett { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); max-width: 1320px; margin: 0 auto; padding: clamp(1.5rem, 3vw, 2.5rem) var(--wp--style--root--padding-right, 1.5rem) clamp(3rem, 7vw, 5.5rem) var(--wp--style--root--padding-left, 1.5rem); }
.tl-kortrutenett[hidden], .tl-modellvisning[hidden] { display: none; }
.tl-kort { display: flex; flex-direction: column; background: linear-gradient(180deg, var(--tl-dyp, #0f1a38), var(--wp--preset--color--natt)); border: 1px solid rgba(245,244,243,.1); min-width: 0; }
.tl-kort__bilde { position: relative; display: block; aspect-ratio: 4 / 3; background: #e9e8e5; overflow: hidden; }
.tl-kort__bilde img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.tl-kort:hover .tl-kort__bilde img { transform: scale(1.04); }
.tl-kort__bilde .tl-merke--stor { top: 1rem; left: 1rem; font-size: 1rem; padding: .65rem 1.3rem .6rem; }
.tl-kort__navn { font-family: var(--tl-display); font-style: italic; font-weight: 600; font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1.05; margin: 1.25rem 1.5rem 0; }
.tl-kort__navn span { display: block; font-family: var(--tl-fartfont); font-size: .8rem; letter-spacing: .14em; margin-top: .55rem; color: var(--tl-kalk); font-style: italic; }
.tl-kort__kode { margin: .35rem 1.5rem 0; font-family: var(--tl-display); font-style: italic; color: var(--tl-turkis); }
.tl-kort__boks { margin: 1.1rem 1.5rem 0; padding: 1.15rem 1.25rem; border: 2px solid #e8a855; border-radius: 10px; background: rgba(8,9,30,.55); }
.tl-kort__boks > * { margin: 0 0 .35rem; }
.tl-kort .wp-block-buttons { margin: 1.1rem 1.5rem 1.5rem; margin-top: auto; padding-top: 1.1rem; }
.tl-kort .wp-block-button, .tl-kort .wp-block-button__link { width: 100%; text-align: center; }
@media (max-width: 1080px) { .tl-kortrutenett { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tl-kortrutenett { grid-template-columns: 1fr; } .tl-visning { justify-content: center; } }

@media (max-width: 781px) {
	.tl-familie--speilet .tl-familie__rad { flex-direction: column; }
	.tl-familie__film { min-height: 340px !important; }
}

/* --------------------------------------------------------------------------
   Fordeler (fraktfritt)
   -------------------------------------------------------------------------- */
.tl-fordeler { padding-block: clamp(4rem, 10vw, 8rem); }
.tl-fordeler .wp-block-cover__inner-container > * { margin-left: 0 !important; }
.tl-fordeler__tittel { max-width: 14ch; margin: 0 0 2.5rem; line-height: 1; }
.tl-fordeler__liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.5rem 3rem; }
.tl-fordeler__liste li { border-top: 2px solid var(--tl-rust); padding-top: 1rem; color: var(--tl-kalk); font-size: 1.2rem; }
.tl-fordeler__liste strong { display: block; font-family: var(--tl-display); font-style: italic; font-size: 1.35rem; margin-bottom: .3rem; }

/* --------------------------------------------------------------------------
   Deler og utstyr / produktlister
   -------------------------------------------------------------------------- */

.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(var(--tl-kol, 4), minmax(0, 1fr)); gap: 2rem 1.5rem; margin: 0 0 2rem; padding: 0;
}
.woocommerce ul.products.columns-3 { --tl-kol: 3; }
.woocommerce ul.products.columns-2 { --tl-kol: 2; }
.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;
	display: flex; flex-direction: column; background: var(--tl-dyp); padding: 0 0 1.25rem; position: relative;
}
.woocommerce ul.products li.product a img { box-sizing: border-box; width: 100%; margin: 0 0 1rem; aspect-ratio: 4 / 3; object-fit: contain; background: var(--tl-kalk); padding: 1rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--tl-display); font-size: 1.05rem !important; font-weight: 700; padding: 0 1.25rem !important; color: var(--tl-kalk); line-height: 1.3;
}
.woocommerce ul.products li.product .price { color: var(--tl-kalk) !important; font-family: var(--tl-display); font-size: 1.05rem !important; padding: 0 1.25rem; margin: .4rem 0 1rem !important; }
.woocommerce ul.products li.product .price del { color: var(--tl-taake); opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin: auto 1.25rem 0 !important; align-self: flex-start; }
/* Fargevalget i kortet: samme innrykk som tittel og pris. */
.woocommerce ul.products li.product .cfvsw-shop-variations { margin: 0 1.25rem; width: calc(100% - 2.5rem); }
.woocommerce ul.products li.product .cfvsw-shop-variations td, .woocommerce ul.products li.product .cfvsw-shop-variations td.label { padding-inline: 0 !important; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { text-decoration: none; }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
	background: var(--tl-rust); color: #fff; border-radius: 0; min-height: 0; min-width: 0; line-height: 1;
	padding: .5rem .75rem; font: 700 italic .8rem var(--tl-fartfont); letter-spacing: .06em; top: .75rem; left: .75rem; right: auto; margin: 0;
}
.woocommerce a.added_to_cart { display: none; }
@media (max-width: 1023px) { .woocommerce ul.products, .woocommerce-page ul.products { --tl-kol: 2 !important; } }
@media (max-width: 520px) { .woocommerce ul.products, .woocommerce-page ul.products { --tl-kol: 1 !important; } }

/* --------------------------------------------------------------------------
   Manualer og service
   -------------------------------------------------------------------------- */
.tl-verksted { padding-block: clamp(4rem, 9vw, 7rem); background: linear-gradient(180deg, var(--tl-dyp), var(--tl-natt)); border-top: var(--tl-linje); }
.tl-verksted__kolonner { gap: clamp(2rem, 6vw, 5rem); }
.tl-manualer { list-style: none; padding: 0; margin: 1.5rem 0 0; border-top: var(--tl-linje); }
.tl-manualer li { border-bottom: var(--tl-linje); }
.tl-manualer a { display: grid; grid-template-columns: 9rem 1fr auto; gap: 1rem; align-items: baseline; padding: 1rem .25rem; text-decoration: none; color: var(--tl-kalk); transition: background-color .15s ease, padding .15s ease; }
.tl-manualer a:hover { background: rgba(198, 90, 40, .12); padding-left: .75rem; color: var(--tl-kalk); }
.tl-manualer__type { color: var(--tl-taake); }
.tl-manualer__fil { font-family: var(--tl-display); font-size: .85rem; color: var(--tl-rust); }
@media (max-width: 600px) { .tl-manualer a { grid-template-columns: 1fr auto; } .tl-manualer__type { grid-column: 1 / -1; font-size: .95rem; } }
.tl-verksted__hjelp { background: var(--tl-stal); padding: clamp(1.5rem, 3vw, 2.5rem); align-self: flex-start; border-top: 3px solid var(--tl-turkis); }
.tl-verksted__hjelp h3 { margin-top: 0; }
.tl-kontaktlinje { font-family: var(--tl-display); font-size: 1.15rem; }
.tl-kontaktlinje a { text-decoration: none; }

/* --------------------------------------------------------------------------
   Avslutning
   -------------------------------------------------------------------------- */
.tl-avslutning { padding-block: clamp(4rem, 10vw, 8rem); }
.tl-avslutning h2 { line-height: 1.05; text-wrap: balance; }

/* --------------------------------------------------------------------------
   Bunn
   -------------------------------------------------------------------------- */
.tl-bunn-wrap { background: var(--tl-dyp); border-top: 3px solid transparent; border-image: var(--tl-fart) 1; }
.tl-bunn { padding-block: clamp(3rem, 6vw, 4.5rem) 1.5rem; font-size: 1.1rem; }
.tl-bunn__kolonner { gap: 2.5rem; }
.tl-bunn__tittel { font-family: var(--tl-display); font-style: normal; font-size: 1.05rem !important; margin: 0 0 .8rem; color: var(--tl-turkis); }
.tl-bunn__tekst { color: var(--tl-taake); max-width: 34ch; }
/* Fast farge: sideinnhold kan ha egne «a { color }»-regler (personvern har en fra YOOtheme-tiden). */
.tl-bunn a { color: var(--wp--preset--color--kalk); text-decoration: none; }
.tl-bunn a:hover { color: var(--tl-rust); text-decoration: underline; }
.tl-bunn__lenker { list-style: none; padding: 0; margin: 0; line-height: 2; }
.tl-bunn__linje { border-top: var(--tl-linje); margin-top: 2.5rem; padding-top: 1.25rem; color: var(--tl-taake); font-size: .95rem; }
/* Plass til den flytende påmeldingsknappen (nyhetsbrev) nede til høyre */
.tl-bunn__linje { padding-right: 6.5rem; padding-bottom: .5rem; min-height: 4.5rem; }
.tl-bunn__linje p { margin: 0; }
.tl-bunn__sosial { margin-top: 1rem; }
.tl-levert { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; color: var(--tl-taake); }
.tl-levert a { display: inline-flex; align-items: center; }
.tl-levert a:hover { opacity: .8; text-decoration: none; }
.tl-levert img.tl-levert__logo { height: 22px !important; width: auto !important; max-width: none; display: block; }
.tl-levert img.tl-levert__logo--mobit { height: 16px !important; aspect-ratio: 604 / 150; }
.tl-levert img.tl-levert__logo--kodelig { height: 24px !important; aspect-ratio: 124 / 32; }

/* --------------------------------------------------------------------------
   Vanlige sider
   -------------------------------------------------------------------------- */
.tl-side { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(3rem, 8vw, 6rem); min-height: 60vh; }
.tl-sidetopp { margin-bottom: clamp(1.5rem, 4vw, 3rem); padding-bottom: 1.25rem; position: relative; }
.tl-sidetopp::after { content: ""; position: absolute; left: 0; bottom: 0; width: 6rem; height: 3px; background: var(--tl-fart); }
.tl-sidetopp h1 { margin: 0; font-size: clamp(2.2rem, 6vw, 4.2rem); line-height: 1; }
.tl-sidetopp:empty { display: none; } /* side uten tittel (f.eks. personvern, der teksten har egen overskrift) */
.tl-side .wp-block-post-content > * + * { margin-top: 1.1em; }
.tl-side .wp-block-post-content h2 { margin-top: 2.2em; }
.tl-side .wp-block-post-content table { border-collapse: collapse; width: 100%; }
.tl-side .wp-block-post-content :is(td, th) { border-bottom: var(--tl-linje); padding: .6rem .4rem; text-align: left; }

/* Innholdsblokker brukt på undersidene (mønstre i patterns/side-*.php) */
.tl-ingress { font-size: var(--wp--preset--font-size--ingress); line-height: 1.4; color: var(--tl-kalk); }
.tl-faktaboks { background: var(--tl-stal); padding: clamp(1.25rem, 3vw, 2rem); border-left: 3px solid var(--tl-turkis); }
.tl-faktaboks > :first-child { margin-top: 0; }
.tl-faktaboks ul { padding-left: 1.2rem; }
.tl-kontaktkort { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.tl-kontaktkort > .wp-block-group { background: var(--tl-dyp); padding: 1.5rem; border-top: 3px solid var(--tl-rust); margin: 0; }
.tl-kontaktkort h3 { margin: 0 0 .4rem; font-size: 1rem; color: var(--tl-taake); font-family: var(--tl-display); font-style: normal; }
.tl-kontaktkort p { margin: 0; font-family: var(--tl-display); font-size: 1.15rem; }
.tl-kontaktkort a { text-decoration: none; }

/* --------------------------------------------------------------------------
   WooCommerce – felles
   -------------------------------------------------------------------------- */
.tl-butikk { padding-block: clamp(1.5rem, 4vw, 3rem) clamp(3rem, 8vw, 6rem); }
.woocommerce .woocommerce-breadcrumb { color: var(--tl-taake); font-size: 1rem; margin: 0 0 1.5rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--tl-taake); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--tl-kalk); }
.tl-brodsmule-skille { margin: 0 .5rem; opacity: .5; }
.woocommerce-products-header__title.page-title, .woocommerce .page-title { font-family: var(--tl-display); font-style: italic; font-size: clamp(2.2rem, 6vw, 4.2rem); line-height: 1; margin: 0 0 1.5rem; }
.woocommerce .woocommerce-result-count { color: var(--tl-taake); }
.woocommerce .woocommerce-ordering select, .woocommerce select, .woocommerce-page select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce .quantity .qty,
.woocommerce-page input[type="text"], .woocommerce-page input[type="email"], .woocommerce-page input[type="tel"], .woocommerce-page input[type="number"], .woocommerce-page input[type="password"], .woocommerce-page textarea {
	background: var(--tl-stal); color: var(--tl-kalk); border: 1px solid rgba(245,244,243,.2); border-radius: 0; padding: .7rem .8rem; font: inherit; font-size: 1.05rem;
}
.woocommerce select option { background: var(--tl-dyp); color: var(--tl-kalk); }
.woocommerce .quantity .qty { width: 4.5rem; text-align: center; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce-page .wp-block-button__link {
	background: var(--tl-rust) !important; color: #fff !important; border-radius: 0; border: 0;
	font: 700 italic .95rem/1 var(--tl-fartfont); text-transform: uppercase; letter-spacing: .12em; padding: .95rem 1.9rem .8rem !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: var(--tl-rust-mork) !important; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled, .woocommerce button.button.alt.disabled { background: var(--tl-stal) !important; opacity: .7; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error, .woocommerce-notices-wrapper > * {
	background: var(--tl-stal); color: var(--tl-kalk); border-top: 3px solid var(--tl-turkis); border-radius: 0;
}
.woocommerce .woocommerce-error { border-top-color: var(--tl-rust); }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--tl-turkis); }
.woocommerce .woocommerce-message a.button { margin-left: 1rem; }
.woocommerce .star-rating span::before { color: var(--tl-rust); }
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border-color: rgba(245,244,243,.2); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { color: var(--tl-kalk); padding: .6rem .9rem; }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--tl-rust); color: #fff; }

/* WooCommerce sine blokkstilte meldinger (brukes også i klassiske maler i blokktemaer) */
.wc-block-components-notice-banner { background: var(--tl-stal) !important; color: var(--tl-kalk) !important; border: 0 !important; border-top: 3px solid var(--tl-turkis) !important; border-radius: 0 !important; }
.wc-block-components-notice-banner.is-error { border-top-color: var(--tl-rust) !important; }
.wc-block-components-notice-banner > svg { fill: var(--tl-turkis) !important; background: transparent !important; }
.wc-block-components-notice-banner a { color: var(--tl-kalk) !important; }
.woocommerce-form-coupon, .woocommerce-form-login { border: var(--tl-linje) !important; border-radius: 0 !important; }

/* --------------------------------------------------------------------------
   Produktside (klassisk mal)
   -------------------------------------------------------------------------- */
.tl-butikk--produkt div.product { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 1rem clamp(1.5rem, 4vw, 4rem); align-items: start; position: relative; }
.tl-butikk--produkt div.product > * { grid-column: 1 / -1; }
.tl-butikk--produkt div.product > .woocommerce-product-gallery { grid-column: 1; width: 100% !important; float: none !important; margin: 0 !important; position: relative !important; }
.tl-butikk--produkt div.product > .summary { grid-column: 2; width: 100% !important; float: none !important; margin: 0 !important; }
.tl-butikk--produkt div.product > .woocommerce-product-gallery, .tl-butikk--produkt div.product > .summary { grid-row: 1; }
.tl-butikk--produkt div.product > .onsale { grid-column: 1; grid-row: 1; position: absolute; z-index: 3; top: .75rem !important; left: .75rem !important; }
.woocommerce div.product .woocommerce-product-gallery__wrapper, .woocommerce div.product .woocommerce-product-gallery__image { background: var(--tl-kalk); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: .5rem; margin-top: .5rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { background: var(--tl-kalk); opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product .product_title {
	font-family: var(--tl-display); font-style: italic; font-weight: 700; text-transform: uppercase;
	font-size: clamp(2rem, 4.5vw, 3.6rem); line-height: .95; letter-spacing: -0.03em; margin: 0 0 1rem;
}
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tl-kalk) !important; font-family: var(--tl-display); font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 700; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: var(--tl-taake); font-size: .6em; opacity: 1; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--tl-kalk); font-size: 1.15rem; }
.woocommerce div.product .woocommerce-product-details__short-description ul { padding-left: 1.2rem; }
.woocommerce div.product form.cart { margin: 1.5rem 0; padding: 1.5rem 0; border-top: var(--tl-linje); border-bottom: var(--tl-linje); }
.woocommerce div.product form.cart .variations { margin-bottom: 1rem; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations th label { font-family: var(--tl-display); font-size: 1rem; color: var(--tl-taake); font-weight: 400; }
.woocommerce div.product form.cart .variations td { margin-bottom: 1rem; }
.woocommerce div.product form.cart .variations select { min-width: 60%; }
.woocommerce div.product form.cart .reset_variations { color: var(--tl-taake); font-size: .95rem; }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 1.6rem !important; }
.woocommerce div.product form.cart .button { padding-inline: 2.4rem !important; }
.woocommerce div.product .stock { color: var(--tl-turkis); font-family: var(--tl-display); }
.woocommerce div.product .stock.out-of-stock { color: var(--tl-taake); }
.woocommerce div.product .product_meta { color: var(--tl-taake); font-size: 1rem; display: grid; gap: .3rem; }
.woocommerce div.product .product_meta a { color: var(--tl-taake); }

/* Variation Swatches (CartFlows) */
.cfvsw-swatches-container { gap: .5rem; flex-wrap: wrap; }
.cfvsw-swatches-option { border-radius: 0 !important; border: 2px solid rgba(245,244,243,.3) !important; background: var(--tl-stal); color: var(--tl-kalk); min-width: 2.6rem; min-height: 2.6rem; }
/* Valgt farge: rust ramme. Hover: lys ramme (ikke lik valgt). Utsolgt: dempet med strek over, kan ikke velges. */
.cfvsw-swatches-option.cfvsw-selected-swatch { border-color: var(--tl-rust) !important; box-shadow: 0 0 0 2px var(--tl-rust); }
.cfvsw-swatches-option:not(.cfvsw-selected-swatch, .cfvsw-swatches-disabled, .cfvsw-swatches-out-of-stock, .tl-farge-utsolgt):hover { border-color: var(--tl-kalk) !important; }
.cfvsw-swatches-option.tl-farge-utsolgt, .cfvsw-swatches-option.cfvsw-swatches-disabled, .cfvsw-swatches-option.cfvsw-swatches-out-of-stock { position: relative; cursor: not-allowed; border-style: dashed !important; box-shadow: none; }
.cfvsw-swatches-option.tl-farge-utsolgt, .cfvsw-swatches-option.cfvsw-swatches-disabled { overflow: hidden; }
.cfvsw-swatches-option.tl-farge-utsolgt .cfvsw-swatch-inner, .cfvsw-swatches-option.cfvsw-swatches-disabled .cfvsw-swatch-inner { opacity: .55; }
.cfvsw-swatches-option.tl-farge-utsolgt::after, .cfvsw-swatches-option.cfvsw-swatches-disabled::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top right, transparent calc(50% - 1.5px), var(--tl-kalk) calc(50% - 1.5px), var(--tl-kalk) calc(50% + 1.5px), transparent calc(50% + 1.5px));
}
.cfvsw-swatches-option.tl-farge-utsolgt::before, .cfvsw-swatches-option.cfvsw-swatches-disabled::before { display: none !important; } /* tilleggets hvite slør */
.tl-farge-merknad { display: block; flex: 1 0 100%; width: 100%; margin: .5rem 0 0; font-size: .85rem; line-height: 1.4; color: var(--tl-taake); }
table.variations td.value:has(.tl-farge-merknad) { flex-wrap: wrap; }
.tl-farge-merknad.er-aktiv { color: var(--tl-kalk); }
.tl-farge-merknad a { color: var(--tl-kalk); text-decoration: underline; }
.cfvsw-swatches-option .cfvsw-swatch-inner { color: var(--tl-kalk); font-family: var(--tl-display); }

/* Advanced Product Fields */
.wapf-wrapper .wapf-field-label label, .wapf-field-label { font-family: var(--tl-display); color: var(--tl-taake); font-weight: 400; }
.wapf-field-input input, .wapf-field-input select, .wapf-field-input textarea { background: var(--tl-stal) !important; color: var(--tl-kalk) !important; border: 1px solid rgba(245,244,243,.2) !important; border-radius: 0 !important; }
.wapf-product-totals { border-top: var(--tl-linje); padding-top: 1rem; }

/* Faner, relaterte produkter */
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(2rem, 5vw, 4rem); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; border-bottom: var(--tl-linje); display: flex; flex-wrap: wrap; gap: .5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--tl-taake); font: 700 italic .95rem var(--tl-fartfont); text-transform: uppercase; letter-spacing: .1em; padding: .8rem 1rem; display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--tl-kalk); box-shadow: inset 0 -3px 0 var(--tl-rust); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--tl-kalk); max-width: 80ch; font-size: 1.15rem; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
/* Innhold fra produktbeskrivelsen (tabeller, video, innebygd) skal aldri gjøre siden bredere enn skjermen */
.woocommerce div.product .woocommerce-product-gallery, .woocommerce div.product .summary, .woocommerce div.product .woocommerce-tabs { min-width: 0; max-width: 100%; }
.woocommerce div.product :is(.woocommerce-tabs .panel, .woocommerce-product-details__short-description) table { display: block; max-width: 100%; overflow-x: auto; }
.woocommerce div.product :is(.woocommerce-tabs .panel, .woocommerce-product-details__short-description) :is(img, video, iframe, .wp-video, .mejs-container, .wp-video-shortcode) { max-width: 100% !important; height: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; flex-wrap: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; }
.woocommerce table.shop_attributes { border-top: var(--tl-linje); }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-bottom: var(--tl-linje); background: transparent !important; color: var(--tl-kalk); font-style: normal; padding: .6rem .8rem; }
.woocommerce table.shop_attributes th { color: var(--tl-taake); font-family: var(--tl-display); font-weight: 400; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: var(--wp--preset--font-size--stor); margin-bottom: 1.5rem; }
@media (max-width: 860px) {
	.tl-butikk--produkt div.product { grid-template-columns: minmax(0, 1fr); }
	.tl-butikk--produkt div.product > .woocommerce-product-gallery, .tl-butikk--produkt div.product > .summary { grid-column: 1; grid-row: auto; position: relative !important; }
	.tl-butikk--produkt div.product > .woocommerce-product-gallery { grid-row: 1; }
}

/* --------------------------------------------------------------------------
   Handlekurv og kasse (klassiske maler, Svea Checkout)
   -------------------------------------------------------------------------- */
.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; }
.woocommerce table.shop_table th { font-family: var(--tl-display); font-weight: 400; color: var(--tl-taake); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: var(--tl-linje) !important; padding: .9rem .6rem; }
.woocommerce table.shop_table img { width: 72px; background: var(--tl-kalk); }
.woocommerce a.remove { color: var(--tl-rust) !important; }
.woocommerce a.remove:hover { background: var(--tl-rust); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { font-family: var(--tl-display); font-style: italic; font-size: var(--wp--preset--font-size--stor); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { background: var(--tl-dyp); padding: 1.5rem; }
.woocommerce-checkout #payment { background: var(--tl-dyp) !important; color: var(--tl-kalk) !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: var(--tl-linje); }
.woocommerce-checkout #payment div.payment_box { background: var(--tl-stal); color: var(--tl-kalk); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--tl-stal); }
.woocommerce-terms-and-conditions-checkbox-text a { color: var(--tl-kalk); }
.woocommerce form .form-row label { color: var(--tl-taake); }
/* Svea Checkout: iframen har egen hvit flate – gi den luft og ramme. */
.wc-svea-checkout-page, #svea-checkout-container, .wc-svea-checkout-checkout-module { color: var(--tl-kalk); }
.wc-svea-checkout-checkout-module iframe, [id*="svea"] iframe { background: #fff; }
.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table { background: var(--tl-dyp); }
.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table td, .woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table th { padding-inline: 1rem; }

/* Handlekurven som glir inn fra siden (Mini-Cart-skuffen) */
.wc-block-mini-cart__drawer .components-modal__frame, .wc-block-mini-cart__drawer .wc-block-components-drawer {
	background: var(--tl-natt); color: var(--tl-kalk); font-family: var(--wp--preset--font-family--brod);
}
.wc-block-components-drawer__screen-overlay { background-color: rgba(8, 9, 30, .6); }
/* Tittelen arver ellers temaets store overskrifter; antallet står i lista under, så telleren skjules. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { display: block; font-family: var(--tl-fartfont); font-style: italic; letter-spacing: .08em; text-transform: uppercase; font-size: 1.35rem !important; line-height: 1.2; margin-right: 2.5rem; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-items-counter-block { display: none; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-size: .95rem; line-height: 1.3; display: block; margin-bottom: .25rem; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total { padding-left: .75rem; white-space: nowrap; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-family: var(--tl-display); color: var(--tl-kalk); text-decoration: none; }
.wc-block-mini-cart__drawer .wc-block-components-product-name:hover { color: var(--tl-rust); }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata, .wc-block-mini-cart__drawer .wc-block-components-product-details { color: var(--tl-taake); }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link { color: var(--tl-taake) !important; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { border-color: rgba(245, 244, 243, .3); }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input, .wc-block-mini-cart__drawer .wc-block-components-quantity-selector button { color: var(--tl-kalk); background: transparent; }
.wc-block-mini-cart__footer { border-top: var(--tl-linje); background: var(--tl-dyp); }
.wc-block-mini-cart__footer-actions .wc-block-components-button { font-family: var(--tl-fartfont); font-style: italic; letter-spacing: .08em; text-transform: uppercase; border-radius: 0; }
.wc-block-mini-cart__footer-checkout { background: var(--tl-rust) !important; color: #fff !important; border: 0 !important; }
.wc-block-mini-cart__footer-cart { background: transparent !important; color: var(--tl-kalk) !important; box-shadow: inset 0 0 0 2px var(--tl-kalk) !important; border: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { color: var(--tl-kalk); }
.wc-block-mini-cart__empty-cart-wrapper { color: var(--tl-kalk); }

/* Samtykkebanner og påmeldingsknapp (tillegget Kodelig Markedsføring) i temaets farger */
:root {
	--kmf-nederst-loft: 6.5rem; /* helt nederst løftes knappen over «Vis som presentasjon» i bunnlinjen */
}
@media (max-width: 781px) {
	/* Mobil: bunnlinjen står i én kolonne; knappen blir stående ved siden av «Vis som presentasjon». */
	:root { --kmf-nederst-loft: 0rem; --kmf-nederst-skala: 1.3; }
}
:root {
	--kmf-bakgrunn: var(--tl-dyp);
	--kmf-flate: var(--tl-stal);
	--kmf-tekst: var(--tl-kalk);
	--kmf-dempet: var(--tl-taake);
	--kmf-aksent: var(--tl-rust);
	--kmf-fokus: var(--tl-turkis);
	--kmf-skrift: var(--wp--preset--font-family--brod);
	--kmf-tittelskrift: var(--tl-display);
	--kmf-radius: 0;
	--kmf-knapp-form: polygon(var(--tl-skraa) 0, 100% 0, calc(100% - var(--tl-skraa)) 100%, 0 100%);
}
.kmf-banner, .kmf-nyhetsbrev__panel { border-top: 3px solid transparent; border-image: var(--tl-fart) 1; }
.kmf-banner .kmf-knapp, .kmf-nyhetsbrev .kmf-knapp:not(.kmf-knapp--lenke) { font-family: var(--tl-fartfont); font-style: italic; letter-spacing: .08em; text-transform: uppercase; }
/* «Godta alle» og «Bare nødvendige» ser like ut (like lett å si nei som ja); «Lagre valget» er omriss. */
.kmf-banner [data-kmf-handling="lagre"] { background: transparent; color: var(--tl-kalk); box-shadow: inset 0 0 0 2px var(--tl-kalk); }
.kmf-nyhetsbrev__knapp { font-family: var(--tl-display); }
.tl-presentasjon .kmf-nyhetsbrev { display: none; }

/* --------------------------------------------------------------------------
   Presentasjonsmodus (?presentasjon) – én seksjon per skjerm, piltaster
   -------------------------------------------------------------------------- */
html:has(body.tl-presentasjon) { scroll-snap-type: y mandatory; scroll-padding-top: 0; }
.tl-presentasjon .tl-topp-wrap, .tl-presentasjon .tl-bunn-wrap, .tl-presentasjon #wpadminbar { display: none !important; }
.tl-presentasjon .tl-seksjon { scroll-snap-align: start; min-height: 100svh !important; }
.tl-presentasjon .tl-seksjon:not(.wp-block-cover) { display: flex; flex-direction: column; justify-content: center; }
.tl-presentasjon .tl-familie__film { min-height: 72svh !important; }
.tl-presentasjon .tl-start { padding-top: 2rem; }
.tl-pres-linje { position: fixed; left: 0; top: 0; height: 4px; width: 100%; background: var(--tl-fart); transform-origin: left; transform: scaleX(0); z-index: 100; transition: transform .3s ease; }
.tl-pres-logo { position: fixed; top: clamp(1rem, 3vh, 2rem); left: clamp(1rem, 3vw, 2.5rem); z-index: 100; display: block; }
.tl-pres-logo img { width: clamp(96px, 9vw, 150px); height: auto; aspect-ratio: 357 / 223; filter: drop-shadow(0 2px 10px rgba(8, 9, 30, .65)); }
.tl-pres-hjelp { position: fixed; right: 1rem; bottom: 1rem; z-index: 100; display: flex; gap: .5rem; align-items: center; color: var(--tl-taake); font-size: .95rem; }
.tl-pres-hjelp button { background: var(--tl-stal); color: var(--tl-kalk); border: 0; padding: .55rem .9rem; font: 700 italic .85rem var(--tl-fartfont); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.tl-pres-hjelp button:hover { background: var(--tl-rust); }

/* --------------------------------------------------------------------------
   Redusert bevegelse
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.tl-start__slagord, .tl-start__ingress, .tl-start__knapper { opacity: 1 !important; transform: none !important; animation: none !important; }
	.tl-start::after { transform: scaleX(1); animation: none !important; }
	*, *::before, *::after { transition-duration: .01ms !important; }
}

/* Intro med 3D-merket (første forsidebesøk i økten; assets/js/talaria.js intro()). */
html.tl-intro body { overflow: hidden; }
.tl-intro-lag { position: fixed; inset: 0; z-index: 2147483600; display: grid; place-items: center; cursor: pointer; }
.tl-intro-lag::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 55%, #131a3c 0%, var(--wp--preset--color--natt) 70%); transition: opacity .9s ease; }
.tl-intro-lag.apner::before { opacity: 0; }
.tl-intro-lag.apner { pointer-events: none; }
.tl-intro-lag canvas { position: relative; width: min(78vw, 900px); height: auto; aspect-ratio: 1200 / 760; transform-origin: 50% 52.2%; transition: transform 1s cubic-bezier(.65, 0, .25, 1), opacity .45s ease .6s; }
.tl-intro-lag canvas.lander { opacity: 0; }
.tl-intro-lag canvas.tl-knall { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.tl-intro-blink { position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(ellipse at 50% 50%, rgba(255, 196, 120, .30), rgba(255, 160, 80, .08) 35%, transparent 65%); }
.tl-intro-lag.borte { opacity: 0; pointer-events: none; transition: opacity .4s ease; }
html.tl-intro .tl-logo img { opacity: 0; transition: opacity .5s ease; }
html.tl-intro.tl-intro-lander .tl-logo img { opacity: 1; }

/* Merknader i utkast (f.eks. personvernerklæringen før Talaria har godkjent den) */
.tl-utkast-merknad { background: rgba(198, 90, 40, .12); border-left: 3px solid var(--tl-rust); padding: 1rem 1.25rem; }
.tl-utkast-merknad > :first-child { margin-top: 0; }
.tl-utkast-merknad > :last-child { margin-bottom: 0; }
