/* ==========================================================================
   Kvali — tema-CSS
   Design-tokens fra sketchen (test.prolager.dk). Én fil, hårdt cachebar.
   ========================================================================== */

/* ---- Fonts (selvhostet Archivo, latin dækker æøå/äö) ------------------- */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/archivo-400.woff2') format('woff2'); }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/archivo-500.woff2') format('woff2'); }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/archivo-700.woff2') format('woff2'); }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 900; font-display: swap; src: url('../fonts/archivo-900.woff2') format('woff2'); }

/* ---- Tokens ------------------------------------------------------------- */
:root {
	--k-red: #d0121a;
	--k-red-dark: #a80e15;
	--k-dark: #17181c;
	--k-bg: #f7f7f6;
	--k-white: #ffffff;
	--k-gray: #17181c;
	--k-gray-light: #e7e7e5;
	--k-green: #1a7f37;
	--k-font: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--k-radius: 12px;
	--k-radius-sm: 7px;
	--k-shadow: 0 1px 3px rgba(23, 24, 28, .07);
	--k-shadow-hover: 0 6px 20px rgba(23, 24, 28, .12);
	--k-container: 1280px;
	--k-transition: .16s ease;
}

/* ---- Basis -------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--k-font);
	font-size: 15px;
	line-height: 1.55;
	color: var(--k-dark);
	background: var(--k-bg);
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--k-red); }

.kvali-container { max-width: var(--k-container); margin: 0 auto; padding: 0 24px; }
.kvali-container--narrow { max-width: 820px; }

h1, h2, h3, .kvali-heading {
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.04em;
	line-height: 1.05;
	margin: 0 0 .5em;
}
h1 { font-size: clamp(26px, 3.6vw, 38px); }
h2 { font-size: clamp(22px, 3vw, 30px); }

/* Sektionstitel med linje efter (som "KATEGORIER" i sketchen) */
.kvali-sectiontitle { display: flex; align-items: center; gap: 18px; }
.kvali-sectiontitle::after { content: ''; flex: 1; height: 1px; background: var(--k-gray-light); }

/* ---- Knapper ------------------------------------------------------------ */
.button, .kvali-btn,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.wp-element-button {
	display: inline-block;
	background: var(--k-red);
	color: #fff;
	font-family: var(--k-font);
	font-size: 14px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .02em;
	border: 0;
	border-radius: var(--k-radius);
	padding: 14px 26px;
	cursor: pointer;
	transition: background var(--k-transition), transform var(--k-transition);
}
.button:hover, .kvali-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--k-red-dark); color: #fff; }
.kvali-btn--dark { background: var(--k-dark); }
.kvali-btn--dark:hover { background: #000; }
.kvali-btn--outline { background: transparent; color: var(--k-dark); box-shadow: inset 0 0 0 1.5px var(--k-dark); }

/* ---- Topbar ------------------------------------------------------------- */
.kvali-topbar { background: var(--k-dark); color: #fff; font-size: 12px; font-weight: 700; }
.kvali-topbar__inner {
	max-width: var(--k-container); margin: 0 auto; padding: 7px 24px;
	display: flex; justify-content: center; gap: 34px; flex-wrap: wrap;
}
.kvali-topbar__usp { opacity: .95; white-space: nowrap; }

/* ---- Header ------------------------------------------------------------- */
.kvali-header {
	background: var(--k-white);
	border-radius: var(--k-radius);
	margin: 10px 0 0;
	box-shadow: var(--k-shadow);
	position: sticky; top: 8px; z-index: 900;
}
.kvali-header__inner {
	display: flex; align-items: center; gap: 16px;
	max-width: var(--k-container); margin: 0 auto; padding: 10px 20px;
}
.kvali-logo { display: flex; flex-direction: column; line-height: 1; }
.kvali-logo__name { font-size: 21px; font-weight: 900; letter-spacing: -.03em; color: var(--k-red); text-transform: uppercase; }
.kvali-logo__name::first-letter { color: var(--k-red); }
.kvali-footer .kvali-logo__name { color: #fff; }
.kvali-logo__tagline { font-size: 8.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--k-dark); margin-top: 4px; }
.kvali-footer .kvali-logo__tagline { color: var(--k-gray); }

.kvali-nav { flex: 1; }
.kvali-nav__list { display: flex; gap: var(--kvali-nav-gap, 13px); list-style: none; margin: 0; padding: 0; }
.kvali-nav__list a { font-size: var(--kvali-nav-size, 12.5px); font-weight: 700; white-space: nowrap; }
.kvali-nav__list .current-menu-item > a { color: var(--k-red); }

.kvali-header__tools { display: flex; align-items: center; gap: 12px; margin-left: auto; }

.kvali-searchform { display: flex; align-items: center; background: var(--k-bg); border-radius: 999px; padding: 2px 4px 2px 16px; }
.kvali-searchform__input {
	border: 0; background: transparent; font-family: var(--k-font); font-size: 13px;
	width: 105px; outline: none; color: var(--k-dark);
}
.kvali-searchform__submit { border: 0; background: transparent; cursor: pointer; font-size: 13px; padding: 8px 10px; }

.kvali-cartbtn {
	background: var(--k-dark); color: #fff; font-size: 13px; font-weight: 700;
	border-radius: 999px; padding: 10px 15px; white-space: nowrap;
}
.kvali-cartbtn:hover { background: var(--k-red); color: #fff; }
.kvali-cartbtn__sep { margin: 0 5px; opacity: .6; }

.kvali-burger { display: none; }

/* ---- Footer ------------------------------------------------------------- */
.kvali-footer { background: var(--k-dark); color: #fff; margin-top: 70px; }
.kvali-footer__inner {
	max-width: var(--k-container); margin: 0 auto; padding: 54px 24px 30px;
	display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 34px;
}
.kvali-footer__heading { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--k-gray); margin: 0 0 14px; }
.kvali-footer__contact, .kvali-footer__hours { font-size: 13.5px; color: #d6d7d9; line-height: 1.9; margin: 14px 0 0; }
.kvali-footer__hours { margin-top: 0; }
.kvali-footer a:hover { color: #fff; text-decoration: underline; }
.kvali-footer__menu { list-style: none; margin: 0; padding: 0; font-size: 13.5px; line-height: 2.1; color: #d6d7d9; }
.kvali-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	max-width: var(--k-container); margin: 0 auto; padding: 18px 24px 26px;
	display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	font-size: 12px; color: var(--k-gray);
}

/* ---- Produktkort (loop) ------------------------------------------------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(195px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products li.product {
	position: relative; background: var(--k-white); border-radius: var(--k-radius);
	box-shadow: var(--k-shadow); padding: 14px 16px 16px; margin: 0; width: auto; float: none;
	display: flex; flex-direction: column; overflow: hidden;
	transition: box-shadow var(--k-transition), transform var(--k-transition);
}
.woocommerce ul.products li.product:hover { box-shadow: var(--k-shadow-hover); transform: translateY(-2px); }
.woocommerce ul.products li.product a img { border-radius: var(--k-radius-sm); margin-bottom: 10px; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; line-height: 1.35; padding: 0; margin: 0 0 8px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; height: 2.7em;
}
.kvali-card__brand { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--k-gray); margin-bottom: 3px; }
.kvali-saleflash {
	position: absolute; top: 10px; left: 10px; z-index: 5;
	background: var(--k-red); color: #fff; font-size: 11px; font-weight: 900;
	border-radius: var(--k-radius-sm); padding: 4px 8px;
}
.woocommerce ul.products li.product .price { margin-top: auto; font-size: 17px; font-weight: 900; color: var(--k-red); padding-right: 56px; }
.woocommerce ul.products li.product .price del { color: var(--k-gray); font-size: 12px; font-weight: 700; opacity: 1; margin-right: 6px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
	position: absolute; right: 14px; bottom: 14px;
	width: 44px; height: 44px; padding: 0; margin: 0;
	border-radius: 14px;
	background: linear-gradient(135deg, #e2141f, #a80e15);
	box-shadow: 0 5px 14px rgba(208, 18, 26, .32);
	font-size: 0; line-height: 0; overflow: hidden;
	transition: transform var(--k-transition), box-shadow var(--k-transition);
}
.woocommerce ul.products li.product .button::before {
	content: ''; display: block; width: 20px; height: 20px; margin: 12px auto;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce ul.products li.product .product_type_variable.button::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E");
}
.woocommerce ul.products li.product .button:hover {
	transform: translateY(-2px) scale(1.06);
	box-shadow: 0 8px 20px rgba(208, 18, 26, .45);
}
.woocommerce ul.products li.product .added_to_cart {
	position: absolute; right: 66px; bottom: 28px;
	font-size: 12px; font-weight: 700; color: var(--k-green);
}

/* Badge Manager: forankr bund-badges til billedet i stedet for kortets bund */
.woocommerce ul.products li.product { container-type: inline-size; }
.woocommerce ul.products li.product .kvali-badge-bottom-left { bottom: auto; top: calc(100cqw - 88px); left: 18px; }
.woocommerce ul.products li.product .kvali-badge-bottom-right { bottom: auto; top: calc(100cqw - 88px); right: 18px; }

/* ---- Arkiv / kategori ---------------------------------------------------- */
.kvali-archive__count { color: var(--k-gray); font-size: 13px; font-weight: 700; margin: -6px 0 18px; }
.woocommerce .woocommerce-result-count { color: var(--k-gray); font-size: 13px; }
.woocommerce .woocommerce-ordering select {
	font-family: var(--k-font); font-size: 13px; font-weight: 700;
	border: 1px solid var(--k-gray-light); border-radius: var(--k-radius-sm); padding: 8px 12px; background: #fff;
}
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: block; min-width: 36px; height: 36px; line-height: 36px; text-align: center;
	background: #fff; border-radius: var(--k-radius-sm); font-weight: 700; box-shadow: var(--k-shadow); padding: 0 6px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--k-dark); color: #fff; }

/* ---- Enkeltprodukt ------------------------------------------------------- */
.woocommerce div.product { background: transparent; }
.woocommerce div.product .product_title { font-size: clamp(24px, 3vw, 34px); }
.woocommerce div.product div.images img { border-radius: var(--k-radius); background: #fff; }
.woocommerce div.product p.price { color: var(--k-red); font-size: 26px; font-weight: 900; }
.woocommerce div.product p.price del { color: var(--k-gray); font-size: 16px; opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }

.woocommerce div.product form.cart {
	background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); padding: 22px;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	width: 100%; padding: 16px; font-size: 15px;
}
.woocommerce div.product form.cart div.quantity .qty {
	border: 1px solid var(--k-gray-light); border-radius: var(--k-radius-sm);
	padding: 10px; font-family: var(--k-font); font-weight: 700;
}
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: #fff; border: 0; border-radius: var(--k-radius-sm) var(--k-radius-sm) 0 0;
}
.woocommerce div.product .woocommerce-tabs .panel {
	background: #fff; border-radius: 0 var(--k-radius) var(--k-radius) var(--k-radius);
	box-shadow: var(--k-shadow); padding: 26px;
}
.related.products > h2, .kvali-related-heading { font-size: 22px; }

/* Variant-tabel som valg-bokse (fra sketchen: "1 — VÆLG LITER") */
.woocommerce div.product form.cart table.variations td.value select {
	font-family: var(--k-font); font-weight: 700; font-size: 14px;
	border: 1.5px solid var(--k-gray-light); border-radius: var(--k-radius-sm);
	padding: 10px 14px; background: #fff;
}


/* ---- Enkeltprodukt: ekstra polish (v0.2.0) ------------------------------- */
.woocommerce div.product div.images { background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); padding: 16px; }
.woocommerce div.product div.images img { border-radius: var(--k-radius-sm); }
.woocommerce-product-details__short-description { font-size: 14.5px; color: #3f4147; }
.woocommerce div.product .stock.in-stock { color: var(--k-green); font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.woocommerce div.product .stock.out-of-stock { color: var(--k-red); font-weight: 900; font-size: 13px; text-transform: uppercase; }
.woocommerce div.product .product_meta {
	display: flex; flex-wrap: wrap; gap: 6px 16px;
	font-size: 12.5px; color: var(--k-gray);
	margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--k-gray-light);
}
.woocommerce div.product .product_meta .sku_wrapper { font-weight: 700; color: var(--k-dark); }
.woocommerce div.product .product_meta a { color: var(--k-dark); font-weight: 700; }
.woocommerce div.product .product_meta a:hover { color: var(--k-red); }
.woocommerce div.product .woocommerce-tabs { margin-top: 34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { padding: 0; margin: 0 6px 0 0; }
.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 a {
	display: block; padding: 13px 20px; font-weight: 900; font-size: 12.5px;
	letter-spacing: .05em; text-transform: uppercase; color: var(--k-gray);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--k-dark); box-shadow: inset 0 -3px 0 var(--k-red); }
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type { font-size: 19px; }
.woocommerce div.product form.cart table.variations td.label label {
	font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--k-gray);
}
.woocommerce div.product div.summary > .price { margin: 10px 0 14px; }
.woocommerce table.woocommerce-product-attributes { box-shadow: none; }
.woocommerce table.woocommerce-product-attributes th { width: 180px; color: var(--k-dark); font-size: 13px; text-transform: none; letter-spacing: 0; }
.woocommerce table.woocommerce-product-attributes td { font-size: 13.5px; color: #3f4147; }
.related.products { margin-top: 44px; }

/* ---- Kurv & kasse -------------------------------------------------------- */
.woocommerce table.shop_table { border: 0; background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); overflow: hidden; }
.woocommerce table.shop_table th { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--k-gray); }
.woocommerce table.shop_table td { border-color: var(--k-bg); }
.woocommerce .cart-collaterals .cart_totals { background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); padding: 22px; }
.woocommerce .cart-collaterals .cart_totals table { box-shadow: none; }
.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); padding: 22px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1.5px solid var(--k-gray-light); border-radius: var(--k-radius-sm);
	padding: 12px 14px; font-family: var(--k-font); font-size: 14px; background: #fff;
}
.woocommerce form .form-row label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--k-gray); }

/* ---- Beskeder ------------------------------------------------------------ */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top: 0; border-left: 4px solid var(--k-dark); background: #fff;
	border-radius: var(--k-radius-sm); box-shadow: var(--k-shadow); font-weight: 500;
}
.woocommerce-message { border-left-color: var(--k-green); }
.woocommerce-message::before { color: var(--k-green); }
.woocommerce-error { border-left-color: var(--k-red); }

/* ---- Blog ----------------------------------------------------------------- */
.kvali-blog { padding-top: 34px; }
.kvali-bloggrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.kvali-blogcard { background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); overflow: hidden; transition: box-shadow var(--k-transition), transform var(--k-transition); }
.kvali-blogcard:hover { box-shadow: var(--k-shadow-hover); transform: translateY(-2px); }
.kvali-blogcard__media img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.kvali-blogcard__body { padding: 18px 20px 20px; }
.kvali-blogcard__title { font-size: 17px; text-transform: none; letter-spacing: -.01em; }
.kvali-blogcard__excerpt { color: var(--k-gray); font-size: 13.5px; margin: 8px 0 12px; }
.kvali-blogcard__more { color: var(--k-red); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.kvali-article { padding-top: 40px; }
.kvali-article__media img { border-radius: var(--k-radius); }
.kvali-article__meta { color: var(--k-gray); font-size: 13px; }
.kvali-article__content { background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); padding: clamp(22px, 4vw, 44px); font-size: 16px; line-height: 1.75; }
.kvali-page { padding-top: 34px; }


/* ---- Kategori-SEO-tekst (under produkterne) ------------------------------ */
.kvali-archive-seo { max-width: var(--k-container); margin: 44px auto 0; padding: 0 24px; }
.kvali-archive-seo__inner {
	background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow);
	padding: clamp(22px, 4vw, 40px); font-size: 14.5px; line-height: 1.7; color: #3f4147;
}
.kvali-archive-seo__inner h2, .kvali-archive-seo__inner h3 { text-transform: none; letter-spacing: -.01em; font-size: 19px; margin-top: 1.4em; }
.kvali-archive-seo__inner h2:first-child { margin-top: 0; }
.kvali-archive-seo__inner a { color: var(--k-red); font-weight: 700; }

/* Underkategori-kort i loopet */
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title {
	font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: 0; text-align: center; margin: 0;
}
.woocommerce ul.products li.product.product-category .woocommerce-loop-category__title .count { background: none; color: var(--k-gray); font-size: 12px; font-weight: 700; }
.woocommerce ul.products li.product.product-category img { margin-bottom: 12px; }

/* ---- Breadcrumb ----------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb { font-size: 12px; font-weight: 700; color: var(--k-gray); margin: 22px 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--k-gray); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--k-red); }

/* ---- Woo container ------------------------------------------------------- */
.woocommerce, .woocommerce-page .kvali-content > .woocommerce { max-width: var(--k-container); margin: 0 auto; padding: 0 24px; }


/* =========================================================================
   KATEGORI-OPLEVELSEN (v0.4.0)
   ======================================================================= */

.tax-product_cat .kvali-archive__count { display: none; }

/* Grid-fix: Woo's clearfix maa ikke optage en grid-celle */
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }

/* Breadcrumb + taeller i sort */
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-breadcrumb a { color: var(--k-dark); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--k-red); }

/* ---- Ren kategori-header -------------------------------------------------- */
.kvali-cathead { display: flex; align-items: baseline; gap: 16px; margin: 14px 0 16px; }
.kvali-cathead__title { margin: 0; }
.kvali-cathead__count { font-size: 14px; font-weight: 700; color: var(--k-dark); white-space: nowrap; }

/* ---- Underkategori-chips (store, wrapper) --------------------------------- */
.kvali-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.kvali-chip {
	display: inline-flex; align-items: center; gap: 10px;
	background: #fff; border-radius: 12px; padding: 10px 16px 10px 10px;
	font-size: 14.5px; font-weight: 700; box-shadow: var(--k-shadow);
	transition: box-shadow var(--k-transition), transform var(--k-transition);
}
.kvali-chip:hover { color: var(--k-dark); box-shadow: var(--k-shadow-hover); transform: translateY(-1px); }
.kvali-chip img { width: 42px; height: 42px; border-radius: 9px; object-fit: contain; background: var(--k-bg); }
.kvali-chip__count { font-size: 12px; font-weight: 700; color: var(--k-dark); background: var(--k-bg); border-radius: 7px; padding: 3px 9px; }
.kvali-chip.is-active {
	background: #fff; color: var(--k-red);
	box-shadow: var(--k-shadow), inset 0 0 0 2px var(--k-red);
}
.kvali-chip.is-active .kvali-chip__name { color: var(--k-red); }
.kvali-chip.is-active .kvali-chip__count { background: var(--k-red); color: #fff; }
.kvali-chip--back { padding: 10px 16px; background: transparent; box-shadow: inset 0 0 0 1.5px var(--k-gray-light); }

/* ---- Mest solgte (kompakt strip) ------------------------------------------ */
.kvali-topsellers {
	display: flex; align-items: center; gap: 18px;
	background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow);
	padding: 12px 18px; margin: 0 0 18px;
}
.kvali-topsellers__label { font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--k-gray); flex: 0 0 auto; }
.kvali-topsellers__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; flex: 1; min-width: 0; }
.kvali-topseller { display: flex; align-items: center; gap: 10px; min-width: 0; }
.kvali-topseller__rank { font-size: 15px; font-weight: 900; color: var(--k-gray-light); }
.kvali-topseller:hover .kvali-topseller__name { color: var(--k-red); }
.kvali-topseller__img { width: 46px; height: 46px; object-fit: contain; border-radius: var(--k-radius-sm); background: var(--k-bg); flex: 0 0 auto; }
.kvali-topseller__body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kvali-topseller__name {
	font-size: 12.5px; font-weight: 700; line-height: 1.25; color: var(--k-dark);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kvali-topseller__price { font-size: 12.5px; font-weight: 900; color: var(--k-red); }
.kvali-topseller__price del { color: var(--k-gray); font-weight: 700; margin-right: 4px; }
.kvali-topseller__price ins { text-decoration: none; }

/* ---- Layout: sidebar + produkter ------------------------------------------ */
.kvali-catgrid { display: grid; grid-template-columns: 248px 1fr; gap: 20px; align-items: start; }
.kvali-catmain { min-width: 0; }
.kvali-catmain .woocommerce-result-count { margin-top: 4px; }

.kvali-filters {
	position: sticky; top: var(--kvali-sticky-top, 106px);
	background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow);
	padding: 18px; display: flex; flex-direction: column; gap: 4px;
	max-height: calc(100vh - var(--kvali-sticky-top, 106px) - 16px); overflow: auto;
}
.kvali-filters__head { font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--k-gray); margin-bottom: 8px; }
.kvali-filters__group { border-top: 1px solid var(--k-bg); padding: 4px 0; }
.kvali-filters__group summary {
	cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between;
	font-size: 13.5px; font-weight: 900; padding: 10px 0;
}
.kvali-filters__group summary::-webkit-details-marker { display: none; }
.kvali-filters__group summary::after { content: '+'; font-weight: 900; color: var(--k-gray); }
.kvali-filters__group[open] summary::after { content: '\2212'; color: var(--k-red); }
.kvali-filters__group summary em { font-style: normal; background: var(--k-red); color: #fff; font-size: 10.5px; border-radius: 999px; padding: 1px 7px; margin-left: 6px; }
.kvali-filters__list { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 2px; max-height: 260px; overflow: auto; }
.kvali-filters__opt {
	display: flex; align-items: center; gap: 9px; padding: 6px 6px; border-radius: var(--k-radius-sm);
	font-size: 13px; font-weight: 500; cursor: pointer;
}
.kvali-filters__opt:hover { background: var(--k-bg); }
.kvali-filters__opt input {
	appearance: none; width: 17px; height: 17px; flex: 0 0 auto;
	border: 1.5px solid var(--k-gray-light); border-radius: 5px; background: #fff;
	display: grid; place-content: center; cursor: pointer; margin: 0;
}
.kvali-filters__opt input:checked { background: var(--k-red); border-color: var(--k-red); }
.kvali-filters__opt input:checked::before { content: ''; width: 9px; height: 9px; background: #fff; clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); }
.kvali-filters__optname { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.kvali-filters__optname small { color: var(--k-gray); font-size: 11px; font-weight: 500; }
.kvali-filters__optcount { font-size: 11px; font-weight: 700; color: var(--k-gray); }
.kvali-filters__price { display: flex; align-items: center; gap: 8px; padding: 4px 0 10px; color: var(--k-gray); }
.kvali-filters__price input {
	width: 100%; min-width: 0; font-family: var(--k-font); font-size: 13px; font-weight: 700;
	border: 1.5px solid var(--k-gray-light); border-radius: var(--k-radius-sm); padding: 8px 10px; outline: none;
}
.kvali-filters__price input:focus { border-color: var(--k-dark); }
.kvali-filters__apply {
	margin-top: 10px; background: var(--k-dark); color: #fff; border: 0; border-radius: 999px;
	font-family: var(--k-font); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em;
	padding: 12px; cursor: pointer;
}
.kvali-filters__apply:hover { background: var(--k-red); }
.kvali-filters__reset { text-align: center; font-size: 12px; font-weight: 700; color: var(--k-gray); margin-top: 8px; }
.kvali-filters__reset:hover { color: var(--k-red); }

/* ---- Guide-kort i gridden -------------------------------------------------- */
.woocommerce ul.products li.product.kvali-guidecard {
	background: var(--k-dark); color: #fff; justify-content: center; gap: 8px; padding: 22px;
}
.kvali-guidecard__kicker { font-size: 10.5px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: #ff6b6b; }
.woocommerce ul.products li.product.kvali-guidecard h3 { color: #fff; font-size: 19px; margin: 0; text-transform: none; letter-spacing: -.01em; }
.woocommerce ul.products li.product.kvali-guidecard p { font-size: 13px; color: rgba(255,255,255,.75); margin: 0; line-height: 1.55; }
.kvali-guidecard__btn {
	margin-top: 8px; align-self: flex-start;
	background: var(--k-red); color: #fff; border-radius: 999px;
	font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em;
	padding: 9px 16px;
}
.kvali-guidecard__btn:hover { background: #fff; color: var(--k-dark); }

/* ---- Guide & viden (FAQ) --------------------------------------------------- */
.kvali-knowledge { max-width: var(--k-container); margin: 54px auto 0; padding: 0 24px; }
.kvali-knowledge__inner { background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow); padding: clamp(26px, 4vw, 48px); }
.kvali-knowledge__kicker { display: inline-block; font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: var(--k-red); margin-bottom: 8px; }
.kvali-knowledge__title { margin: 0 0 18px; font-size: clamp(21px, 2.6vw, 28px); }
.kvali-knowledge__intro { font-size: 14.5px; line-height: 1.7; color: #3f4147; max-width: 860px; margin-bottom: 26px; }
.kvali-knowledge__intro h1, .kvali-knowledge__intro h2 { font-size: 19px; text-transform: none; letter-spacing: -.01em; }
.kvali-faq { border-top: 1px solid var(--k-gray-light); }
.kvali-faq__item { border-bottom: 1px solid var(--k-gray-light); }
.kvali-faq__item summary {
	cursor: pointer; list-style: none; display: flex; align-items: center; gap: 16px;
	padding: 18px 4px; transition: color var(--k-transition);
}
.kvali-faq__item summary::-webkit-details-marker { display: none; }
.kvali-faq__item summary:hover .kvali-faq__q { color: var(--k-red); }
.kvali-faq__num { font-size: 13px; font-weight: 900; color: var(--k-gray-light); flex: 0 0 26px; transition: color var(--k-transition); }
.kvali-faq__item[open] .kvali-faq__num { color: var(--k-red); }
.kvali-faq__q { flex: 1; font-size: 15.5px; font-weight: 700; color: var(--k-dark); line-height: 1.35; }
.kvali-faq__icon { position: relative; width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; background: var(--k-bg); transition: background var(--k-transition), transform var(--k-transition); }
.kvali-faq__icon::before, .kvali-faq__icon::after { content: ''; position: absolute; left: 50%; top: 50%; width: 11px; height: 2px; background: var(--k-dark); transform: translate(-50%, -50%); transition: transform var(--k-transition), background var(--k-transition); }
.kvali-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.kvali-faq__item[open] .kvali-faq__icon { background: var(--k-red); transform: rotate(180deg); }
.kvali-faq__item[open] .kvali-faq__icon::before, .kvali-faq__item[open] .kvali-faq__icon::after { background: #fff; }
.kvali-faq__item[open] .kvali-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.kvali-faq__body { padding: 2px 4px 22px 42px; font-size: 14.5px; line-height: 1.7; color: #3f4147; max-width: 860px; }
.kvali-faq__body > :first-child { margin-top: 0; }

@media (max-width: 900px) {
	.kvali-catgrid { grid-template-columns: 1fr; }
	.kvali-filters { display: none; position: static; max-height: none; }
	.kvali-filters.is-open { display: flex; margin-bottom: 14px; }
	button.kvali-filters-toggle {
		display: flex; align-items: center; justify-content: center; gap: 8px;
		width: 100%; margin: 0 0 12px; padding: 13px; border: 0; border-radius: var(--k-radius);
		background: var(--k-dark); color: #fff; font-family: var(--k-font);
		font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; cursor: pointer;
	}
	.kvali-filters-toggle em { font-style: normal; background: var(--k-red); border-radius: 999px; font-size: 11px; padding: 1px 8px; }
	.kvali-topsellers { flex-direction: column; align-items: flex-start; gap: 10px; }
	.kvali-topsellers__row { grid-template-columns: repeat(2, 1fr); width: 100%; }
	.kvali-chip img { width: 34px; height: 34px; }
}


/* =========================================================================
   v0.5.0: badges, lagerstatus, filter-pills, glans-dots, viden-billede,
   infinite scroll
   ======================================================================= */

/* Badge Manager: transparent baggrund + naturlig stoerrelse */
.woocommerce ul.products li.product .kvali-badge img,
.woocommerce div.product .kvali-badge img {
	width: auto; height: auto; max-width: 70px; aspect-ratio: auto;
	background: transparent; margin: 0; border-radius: 0;
}

/* Lagerstatus paa kort */
.kvali-cardstock { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 700; margin: 2px 56px 4px 0; }
.kvali-cardstock i { width: 8px; height: 8px; border-radius: 50%; }
.kvali-cardstock--in { color: var(--k-green); }
.kvali-cardstock--in i { background: var(--k-green); }
.kvali-cardstock--out { color: var(--k-red); }
.kvali-cardstock--out i { background: var(--k-red); }

/* Filter-pills */
.kvali-fpills { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 0 10px; }
.kvali-fpill {
	position: relative; display: inline-flex; align-items: center; gap: 6px;
	background: var(--k-bg); border-radius: 8px; padding: 7px 10px;
	font-size: 12.5px; font-weight: 700; cursor: pointer;
	border: 1.5px solid transparent; transition: all var(--k-transition);
}
.kvali-fpill:hover { border-color: var(--k-gray-light); }
.kvali-fpill input { position: absolute; opacity: 0; pointer-events: none; }
.kvali-fpill em { font-style: normal; font-size: 10.5px; font-weight: 700; color: var(--k-gray); }
.kvali-fpill:has(input:checked) { background: var(--k-dark); color: #fff; border-color: var(--k-dark); }
.kvali-fpill:has(input:checked) em { color: rgba(255,255,255,.75); }

/* Glans-liste med sheen-dots */
.kvali-fglanslist { display: flex; flex-direction: column; gap: 2px; padding: 2px 0 10px; }
.kvali-fglans {
	position: relative; display: flex; align-items: center; gap: 10px;
	padding: 7px 8px; border-radius: 9px; cursor: pointer;
	border: 1.5px solid transparent; transition: all var(--k-transition);
}
.kvali-fglans:hover { background: var(--k-bg); }
.kvali-fglans input { position: absolute; opacity: 0; pointer-events: none; }
.kvali-fglans__dot { width: 26px; height: 26px; border-radius: 50%; flex: 0 0 auto; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); }
.kvali-fglans__name { flex: 1; display: flex; flex-direction: column; font-size: 12.5px; font-weight: 700; line-height: 1.25; }
.kvali-fglans__name small { color: var(--k-gray); font-size: 11px; font-weight: 500; }
.kvali-fglans em { font-style: normal; font-size: 10.5px; font-weight: 700; color: var(--k-gray); }
.kvali-fglans:has(input:checked) { background: #fff; border-color: var(--k-red); }

/* Guide & viden med kategori-billede */
.kvali-knowledge__inner.has-media { display: grid; grid-template-columns: 1fr 260px; gap: 36px; align-items: start; }
.kvali-knowledge__media { order: 2; position: sticky; top: 100px; }
.kvali-knowledge__mediacard { background: var(--k-bg); border-radius: var(--k-radius); padding: 22px; position: relative; overflow: hidden; }
.kvali-knowledge__mediacard::after {
	content: ''; position: absolute; left: -30px; bottom: -50px; width: 160px; height: 160px;
	border-radius: 50%; background: rgba(208, 18, 26, .10);
}
.kvali-knowledge__mediacard img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; position: relative; z-index: 1; }
.kvali-knowledge__content { min-width: 0; }

/* Mobil filter-toggle */
.kvali-filters-toggle { display: none; }

/* Infinite scroll */
.kvali-catmain.kvali-infinite .woocommerce-pagination { display: none; }
.kvali-loadmore { display: flex; justify-content: center; padding: 26px 0 8px; }
.kvali-loadmore__spin {
	width: 26px; height: 26px; border-radius: 50%;
	border: 3px solid var(--k-gray-light); border-top-color: var(--k-red);
	animation: kvali-spin .8s linear infinite; opacity: 0;
}
.kvali-loadmore.is-loading .kvali-loadmore__spin { opacity: 1; }
@keyframes kvali-spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
	.kvali-knowledge__inner.has-media { grid-template-columns: 1fr; }
	.kvali-knowledge__media { order: 0; position: static; max-width: 220px; }
}


/* =========================================================================
   MEGA-MENU (v0.7.0)
   ======================================================================= */
.kvali-nav { position: static; }
.kvali-nav__list--mega { gap: 26px; position: static; }
.kvali-nav__list--mega > li > a { font-size: var(--kvali-nav-size, 14px); font-weight: 700; padding: 18px 0; display: inline-block; }
.kvali-meganav__item.has-mega:hover > a { color: var(--k-red); }
.kvali-mega {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 500;
	display: none; padding-top: 8px;
}
.kvali-meganav__item.has-mega:hover .kvali-mega,
.kvali-meganav__item.has-mega.is-open .kvali-mega,
.kvali-meganav__item.has-mega:focus-within .kvali-mega { display: block; }
.kvali-mega__inner {
	background: #fff; border-radius: var(--k-radius);
	box-shadow: 0 24px 50px rgba(23, 24, 28, .18);
	padding: 28px 30px 22px;
	max-height: calc(100vh - 150px); overflow: auto;
	column-count: 5; column-gap: 30px;
}
.kvali-mega__group { break-inside: avoid; margin-bottom: 22px; }
.kvali-mega__heading { display: block; font-size: 13.5px; font-weight: 900; margin-bottom: 8px; color: var(--k-dark); }
.kvali-mega__heading:hover { color: var(--k-red); }
.kvali-mega__link { display: block; font-size: 13px; font-weight: 500; padding: 3.5px 0; color: var(--k-dark); }
.kvali-mega__link:hover { color: var(--k-red); }
.kvali-mega__all {
	column-span: all; display: block; margin-top: 4px; padding-top: 14px;
	border-top: 1px solid var(--k-gray-light);
	font-size: 13px; font-weight: 900; color: var(--k-red);
}

/* Mobil mega (accordion i burger-menuen) */
.kvali-mobilemega__item { border-bottom: 1px solid var(--k-gray-light); }
.kvali-mobilemega__item summary {
	list-style: none; display: flex; justify-content: space-between; align-items: center;
	padding: 13px 2px; font-weight: 900; font-size: 15px; cursor: pointer;
}
.kvali-mobilemega__item summary::-webkit-details-marker { display: none; }
.kvali-mobilemega__item summary::after { content: '+'; font-weight: 900; }
.kvali-mobilemega__item[open] summary::after { content: '\2212'; color: var(--k-red); }
.kvali-mobilemega__body { display: flex; flex-direction: column; padding: 0 2px 14px; }
.kvali-mobilemega__all { font-size: 13px; font-weight: 900; color: var(--k-red); padding: 4px 0 8px; }
.kvali-mobilemega__group { font-size: 13.5px; font-weight: 900; margin-top: 8px; padding: 4px 0; }
.kvali-mobilemega__link { font-size: 13px; font-weight: 500; padding: 4px 0 4px 14px; }

@media (max-width: 1200px) { .kvali-mega__inner { column-count: 4; } }

/* Rail-layout (CS-stil) for multi-gruppe punkter */
.kvali-mega__inner--rail {
	column-count: auto; column-gap: 0; padding: 0;
	display: grid; grid-template-columns: 260px 1fr; overflow: hidden;
}
.kvali-mega__rail {
	list-style: none; margin: 0; padding: 14px 0;
	background: var(--k-bg); border-radius: var(--k-radius) 0 0 var(--k-radius);
}
.kvali-mega__rail li a {
	display: flex; justify-content: space-between; align-items: center; gap: 10px;
	padding: 12px 22px; font-size: 13.5px; font-weight: 700; color: var(--k-dark);
}
.kvali-mega__rail li a span { color: var(--k-gray-light); font-size: 17px; font-weight: 900; }
.kvali-mega__rail li.is-active { background: #fff; box-shadow: inset 3px 0 0 var(--k-red); }
.kvali-mega__rail li.is-active a { color: var(--k-red); }
.kvali-mega__rail li.is-active a span { color: var(--k-red); }
.kvali-mega__panes { padding: 26px 30px 20px; min-height: 340px; max-height: calc(100vh - 170px); overflow: auto; }
.kvali-mega__pane { display: none; column-count: 3; column-gap: 30px; }
.kvali-mega__pane.is-active { display: block; }
.kvali-mega__pane .kvali-mega__all { column-span: all; }

/* Rigt mega-indhold (v0.8.0): billeder, topsaelgere, guides */
.kvali-mega__inner--rich { column-count: auto; padding: 26px 30px 20px; }
.kvali-mega__pane { column-count: auto; }
.kvali-mega__body { display: flex; gap: 30px; align-items: stretch; }
.kvali-mega__linkscol { flex: 1 1 auto; column-count: 3; column-gap: 30px; }
.kvali-mega__inner--rich .kvali-mega__linkscol { column-count: 4; }
.kvali-mega__side {
	flex: 0 0 252px; display: flex; flex-direction: column; gap: 10px;
	border-left: 1px solid var(--k-gray-light); padding-left: 26px;
}
.kvali-mega__sidetitle {
	font-size: 11px; font-weight: 900; text-transform: uppercase;
	letter-spacing: .09em; color: var(--k-dark);
}
.kvali-mega__prod {
	display: flex; gap: 12px; align-items: center; padding: 8px;
	border: 1px solid var(--k-gray-light); border-radius: 12px; background: #fff;
	transition: border-color var(--k-transition), box-shadow var(--k-transition);
}
.kvali-mega__prod:hover { border-color: var(--k-red); box-shadow: 0 4px 12px rgba(23,24,28,.08); }
.kvali-mega__prod img {
	width: 52px; height: 52px; object-fit: contain; flex: 0 0 52px;
	border-radius: 8px; background: var(--k-bg);
}
.kvali-mega__prodtxt { min-width: 0; }
.kvali-mega__prodtxt b {
	display: block; font-size: 12.5px; font-weight: 700; color: var(--k-dark);
	line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kvali-mega__price { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 900; color: var(--k-red); }
.kvali-mega__guide {
	margin-top: auto; display: block; background: var(--k-bg);
	border-radius: 12px; padding: 12px 14px;
	transition: background var(--k-transition);
}
.kvali-mega__guide:hover { background: #efe9e4; }
.kvali-mega__guide span {
	display: block; font-size: 10.5px; font-weight: 900; text-transform: uppercase;
	letter-spacing: .09em; color: var(--k-red); margin-bottom: 3px;
}
.kvali-mega__guide b { display: block; font-size: 13px; font-weight: 800; color: var(--k-dark); line-height: 1.3; }
.kvali-mega__guide em { display: block; margin-top: 4px; font-style: normal; font-size: 12px; font-weight: 800; color: var(--k-red); }
.kvali-mega__rail li a { justify-content: flex-start; gap: 12px; }
.kvali-mega__railimg {
	width: 34px; height: 34px; object-fit: cover; flex: 0 0 34px;
	border-radius: 9px; background: #fff; border: 1px solid var(--k-gray-light);
}
.kvali-mega__rail li a span.kvali-mega__railname {
	flex: 1; color: inherit; font-size: 13.5px; font-weight: 700; text-align: left;
}
.kvali-mega__rail li.is-active a span.kvali-mega__railname { color: var(--k-red); }

/* Tydelige gruppe-overskrifter + tile-layout i smaa paneler (v0.8.1) */
.kvali-mega__heading {
	display: inline-block; font-size: 12px; font-weight: 900;
	text-transform: uppercase; letter-spacing: .06em; color: var(--k-dark);
	padding-bottom: 5px; border-bottom: 2px solid var(--k-red); margin-bottom: 10px;
}
.kvali-mega__link { font-weight: 500; }
.kvali-mega__inner--rich .kvali-mega__linkscol {
	column-count: auto; display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 24px 28px; align-content: start;
}
.kvali-mega__group--tile { break-inside: auto; margin-bottom: 0; }
.kvali-mega__ghead { display: flex; align-items: center; gap: 11px; margin-bottom: 9px; }
.kvali-mega__ghead img {
	width: 44px; height: 44px; object-fit: cover; flex: 0 0 44px;
	border-radius: 10px; background: var(--k-bg); border: 1px solid var(--k-gray-light);
}
.kvali-mega__ghead .kvali-mega__heading { margin-bottom: 0; }

/* v0.8.2: pris-layout, stoerre saleflash, lager-luft, ens knap, badge-pos */
.woocommerce ul.products li.product .price del {
	display: block; color: var(--k-dark); font-size: 12px; font-weight: 700;
	text-decoration: line-through; margin: 0 0 1px;
}
.woocommerce ul.products li.product .price ins { display: block; }
.woocommerce ul.products li.product .price .kvali-fra {
	display: block; color: var(--k-dark); font-size: 12px; font-weight: 700; line-height: 1.3; margin: 0 0 1px;
}
.kvali-saleflash {
	font-size: 13.5px; padding: 6px 11px; border-radius: 10px;
	box-shadow: 0 4px 10px rgba(208, 18, 26, .30);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin-bottom: 4px; }
.kvali-cardstock { margin: 0 56px 0 0; }
.woocommerce ul.products li.product .product_type_variable.button::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E");
}
.woocommerce ul.products li.product .kvali-badge-bottom-left { top: calc(100cqw - 60px); }
@media (max-width: 768px) {
	.woocommerce ul.products li.product .kvali-badge { width: 44px !important; max-width: 44px !important; }
	.woocommerce ul.products li.product .kvali-badge-bottom-left { top: calc(100cqw - 50px); }
	.woocommerce ul.products li.product .kvali-badge-bottom-right { top: calc(100cqw - 50px); }
}

/* v0.9.0: uden gloed, ens pristypografi, fast prisposition, varianter, mindre luft */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .button:hover { box-shadow: none; }
.kvali-saleflash { box-shadow: none; }
.woocommerce ul.products li.product .price ins { font-size: inherit; font-weight: inherit; color: inherit; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0;
}
.woocommerce ul.products li.product .price {
	display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end;
	min-height: 40px; margin-bottom: 0;
}
.woocommerce ul.products li.product { padding-bottom: 10px; }
.kvali-cardstock { margin: 3px 56px 0 0; }
.kvali-varlist { display: flex; flex-direction: column; gap: 3px; margin: 0 0 8px; }
.kvali-varrow {
	display: flex; justify-content: space-between; align-items: center; gap: 8px;
	background: var(--k-bg); border-radius: 7px; padding: 4px 9px;
	font-size: 11.5px; font-weight: 600; color: var(--k-dark); line-height: 1.35;
}
.kvali-varrow b { font-weight: 800; white-space: nowrap; }
.kvali-varmore { font-size: 11px; font-weight: 700; color: var(--k-dark); padding: 1px 2px 0; }
@media (max-width: 768px) {
	.kvali-varrow { font-size: 10.5px; padding: 3px 7px; }
}

/* v0.9.1: varianter som klap-ud popover */
.woocommerce ul.products li.product { overflow: visible; }
.woocommerce ul.products li.product a img { border-radius: var(--k-radius-sm); }
.kvali-vars { display: block; position: relative; margin: 0 0 8px; }
.kvali-varttl {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 11.5px; font-weight: 800; color: var(--k-dark);
	background: var(--k-bg); border-radius: 8px; padding: 5px 10px; cursor: pointer;
	transition: background var(--k-transition);
}
.kvali-varttl:hover { background: #eee7e1; }
.kvali-varttl i { font-style: normal; font-size: 10px; transition: transform var(--k-transition); }
.kvali-vars.is-open .kvali-varttl i { transform: rotate(180deg); }
.kvali-vars .kvali-varlist {
	display: none; flex-direction: column; gap: 3px;
	position: absolute; top: calc(100% + 5px); left: -6px; right: -6px; z-index: 60;
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 10px;
	box-shadow: var(--k-shadow-hover); padding: 7px; margin: 0;
	max-height: 196px; overflow: auto;
}
.kvali-vars.is-open .kvali-varlist { display: flex; }
/* Usynlig bro over mellemrummet, saa listen ikke lukker naar musen bevaeger sig ned */
.kvali-vars .kvali-varlist::before {
	content: ''; position: absolute; left: 0; right: 0; top: -9px; height: 9px;
}

/* v0.9.3: ens underkategori-fliser + mest solgte i sidebaren */
.kvali-chips {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
	gap: 10px; margin: 0 0 24px;
}
.kvali-chip {
	display: flex; align-items: center; gap: 10px; min-height: 64px;
	padding: 10px 14px 10px 10px; font-size: 14px; line-height: 1.25;
}
.kvali-chip img { flex: 0 0 42px; }
.kvali-chip__ph { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 9px; background: var(--k-bg); }
@media (max-width: 640px) { .kvali-chip__ph { flex: 0 0 30px; width: 30px; height: 30px; } }
.kvali-chip__name {
	flex: 1 1 auto; min-width: 0;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	overflow-wrap: anywhere;
}
.kvali-chip__name--long { font-size: 12.5px; line-height: 1.2; }
.kvali-chip__count { flex: 0 0 auto; }
.kvali-chip--back { padding: 10px 14px; justify-content: center; }

.kvali-filters .kvali-topsellers {
	display: block; background: transparent; box-shadow: none;
	padding: 16px 0 0; margin: 14px 0 0; border-top: 1px solid var(--k-gray-light);
}
.kvali-filters .kvali-topsellers__label { display: block; margin-bottom: 10px; color: var(--k-dark); }
.kvali-filters .kvali-topsellers__row { display: flex; flex-direction: column; gap: 12px; }
.kvali-filters .kvali-topseller__img { width: 40px; height: 40px; }
.kvali-filters .kvali-topseller__rank { font-size: 13px; }

/* v1.0.2: tom-besked med vej ud */
.kvali-empty {
	background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow);
	padding: 28px 26px; text-align: center;
}
.kvali-empty b { display: block; font-size: 17px; font-weight: 900; margin-bottom: 6px; }
.kvali-empty p { margin: 0 0 16px; font-size: 14px; }
.kvali-empty__btn {
	display: inline-block; background: var(--k-dark); color: #fff;
	border-radius: 10px; padding: 12px 22px;
	font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em;
}
.kvali-empty__btn:hover { background: var(--k-red); color: #fff; }

/* v1.0.4: hovedproduktets kort skjules naar et variant-filter er aktivt */
.woocommerce ul.products li.product.kvali-parent-hidden { display: none; }

/* =========================================================================
   v1.1.0: Visningsvælger (1 / 3 / 4 pr. række) + listevisning med beskrivelse
   ======================================================================= */
.kvali-viewmode {
	display: inline-flex; align-items: center; gap: 6px;
	margin: 0 0 0 auto; padding: 0 14px 0 0;
}
.kvali-viewmode__label {
	font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase;
	color: var(--k-dark); margin-right: 4px;
}
.kvali-viewmode__btn {
	display: grid; gap: 2px; width: 34px; height: 34px; padding: 7px;
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 9px;
	cursor: pointer; transition: all var(--k-transition);
}
.kvali-viewmode__btn i { background: var(--k-dark); border-radius: 1px; display: block; }
.kvali-viewmode__btn--1 { grid-template-columns: 1fr; grid-template-rows: repeat(3, 1fr); }
.kvali-viewmode__btn--1 i:nth-child(4) { display: none; }
.kvali-viewmode__btn--3 { grid-template-columns: repeat(3, 1fr); }
.kvali-viewmode__btn--3 i:nth-child(4) { display: none; }
.kvali-viewmode__btn--4 { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }
.kvali-viewmode__btn:hover { border-color: var(--k-dark); }
.kvali-viewmode__btn.is-active { background: var(--k-dark); border-color: var(--k-dark); }
.kvali-viewmode__btn.is-active i { background: #fff; }

/* Kort beskrivelse er kun med i listevisning */
.kvali-card__excerpt { display: none; }

@media (min-width: 901px) {
	.kvali-catmain.kvali-cols-3 ul.products { grid-template-columns: repeat(3, 1fr) !important; }
	.kvali-catmain.kvali-cols-4 ul.products { grid-template-columns: repeat(4, 1fr) !important; }
	.kvali-catmain.kvali-cols-1 ul.products { grid-template-columns: 1fr !important; gap: 12px; }
}

/* ---- Listevisning (1 pr. række) ------------------------------------------ */
.kvali-card__body { display: contents; }

.kvali-cols-1 ul.products li.product {
	position: relative; min-height: 196px;
	display: flex; flex-direction: row; align-items: center; gap: 26px;
	padding: 20px 22px;
}
.kvali-cols-1 ul.products li.product > a.woocommerce-LoopProduct-link { display: contents; }
.kvali-cols-1 ul.products li.product a img {
	flex: 0 0 150px; width: 150px; height: 150px;
	object-fit: contain; margin: 0; aspect-ratio: auto;
}
.kvali-cols-1 ul.products li.product .kvali-card__body {
	display: grid; grid-template-columns: minmax(0, 1fr) 206px;
	column-gap: 26px; align-content: start; grid-auto-rows: min-content;
	flex: 1 1 auto; min-width: 0;
}
.kvali-cols-1 ul.products li.product .kvali-card__brand { grid-column: 1; grid-row: 1; }
.kvali-cols-1 ul.products li.product .woocommerce-loop-product__title { grid-column: 1; grid-row: 2; }
.kvali-cols-1 ul.products li.product .kvali-card__sku { grid-column: 1; grid-row: 3; }
.kvali-cols-1 ul.products li.product .kvali-vars { grid-column: 1; grid-row: 4; }
.kvali-cols-1 ul.products li.product .kvali-card__excerpt { grid-column: 1; grid-row: 5; }
.kvali-cols-1 ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px; height: auto; -webkit-line-clamp: 2; margin: 2px 0 8px;
}
.kvali-cols-1 ul.products li.product .kvali-card__excerpt {
	font-size: 13.5px; line-height: 1.55; color: var(--k-dark);
	margin: 8px 0 0; max-width: 70ch;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.kvali-cols-1 ul.products li.product .price {
	grid-column: 2; grid-row: 1 / 4; align-self: start; justify-self: end;
	align-items: flex-end; text-align: right;
	font-size: 24px; padding: 0; margin: 0; min-height: 0;
}
.kvali-cols-1 ul.products li.product .price del,
.kvali-cols-1 ul.products li.product .price .kvali-fra { font-size: 14px; }
.kvali-cols-1 ul.products li.product .kvali-cardstock {
	grid-column: 2; grid-row: 4 / 6; align-self: start; justify-self: end;
	margin: 0;
}
.kvali-cols-1 ul.products li.product .button {
	position: absolute; right: 22px; bottom: 24px; top: auto;
	width: auto; height: auto; padding: 13px 20px; border-radius: 10px;
	display: inline-flex; align-items: center; gap: 9px;
	font-size: 13px; font-weight: 900; line-height: 1; color: #fff;
	text-transform: uppercase; letter-spacing: .03em;
}
.kvali-cols-1 ul.products li.product .button::before { margin: 0; width: 18px; height: 18px; }
.kvali-cols-1 ul.products li.product .button:hover { transform: none; }
.kvali-cols-1 ul.products li.product .added_to_cart { position: absolute; right: 22px; bottom: 4px; }
.kvali-cols-1 ul.products li.product .kvali-badge { width: 46px !important; max-width: 46px !important; }
.kvali-cols-1 ul.products li.product .kvali-badge-bottom-left { top: auto; bottom: 16px; left: 16px; }
.kvali-cols-1 ul.products li.product .kvali-badge-bottom-right { top: 16px; bottom: auto; right: auto; left: 120px; }
.kvali-cols-1 ul.products li.product.kvali-guidecard { display: block; padding: 26px; }

@media (max-width: 900px) {
	.kvali-viewmode { display: none; }
}

/* v1.1.1: vaerktoejslinje over produkterne */
.kvali-toolbar {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	margin: 0 0 16px;
}
.kvali-toolbar .woocommerce-result-count { margin: 0; float: none; }
.kvali-toolbar .kvali-viewmode { margin-left: auto; padding: 0; }
.kvali-toolbar .woocommerce-ordering { margin: 0; float: none; }

/* =========================================================================
   v1.2.0: Se produkt-knap, varenummer, gul tilbudspris, stoerre 3-kolonne
   ======================================================================= */

/* Pilikon i stedet for kurv — man koeber ikke fra arkivet */
.woocommerce ul.products li.product .button::before,
.woocommerce ul.products li.product .product_type_variable.button::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
}

/* Varenummer */
.kvali-card__sku {
	display: block; font-size: 11px; font-weight: 600;
	color: var(--k-dark); opacity: .75; margin: 0 0 6px;
}

/* Tilbudspris med gul markering — samme skrift og farve */
.woocommerce ul.products li.product .price ins {
	display: inline-block; background: #ffdd33;
	padding: 1px 6px; margin: -1px -6px; border-radius: 5px;
	box-decoration-break: clone;
}
.woocommerce ul.products li.product .price del { margin-bottom: 3px; }

/* Tre pr. raekke: mere plads, altsaa stoerre skrift */
@media (min-width: 901px) {
	.kvali-cols-3 ul.products li.product .woocommerce-loop-product__title { font-size: 16.5px; height: 2.7em; }
	.kvali-cols-3 ul.products li.product .price { font-size: 21px; padding-right: 62px; }
	.kvali-cols-3 ul.products li.product .kvali-card__brand { font-size: 11.5px; }
	.kvali-cols-3 ul.products li.product .kvali-card__sku { font-size: 12px; }
	.kvali-cols-3 ul.products li.product .kvali-cardstock { font-size: 12.5px; }
	.kvali-cols-3 ul.products li.product .kvali-varttl { font-size: 12.5px; }
	.kvali-cols-3 ul.products li.product .button { width: 50px; height: 50px; border-radius: 15px; }
	.kvali-cols-3 ul.products li.product .button::before { width: 22px; height: 22px; margin: 14px auto; }
}

/* Badges skal sidde paa billedet, ogsaa i listevisning */
.kvali-cols-1 ul.products li.product .kvali-badge-top-left { top: 16px; left: 16px; right: auto; bottom: auto; }
.kvali-cols-1 ul.products li.product .kvali-badge-top-right { top: 16px; left: 128px; right: auto; bottom: auto; }
.kvali-cols-1 ul.products li.product .kvali-badge-bottom-left { top: auto; bottom: 16px; left: 16px; right: auto; }
.kvali-cols-1 ul.products li.product .kvali-badge-bottom-right { top: auto; bottom: 16px; left: 128px; right: auto; }

/* v1.2.1: tydeligere lagerstatus */
.kvali-cardstock { font-size: 13px; font-weight: 800; gap: 7px; }
.kvali-cardstock i { width: 9px; height: 9px; }
@media (max-width: 768px) {
	.kvali-cardstock { font-size: 12.5px; }
}

/* =========================================================================
   v1.2.4: Pænere resultattæller og sorteringsvælger
   ======================================================================= */
.kvali-count {
	font-size: 13.5px; font-weight: 600; color: var(--k-dark);
	display: inline-flex; align-items: baseline; gap: 5px;
}
.kvali-count b { font-size: 15px; font-weight: 900; }
.kvali-count em {
	font-style: normal; font-size: 11px; font-weight: 800;
	text-transform: uppercase; letter-spacing: .06em;
	background: var(--k-bg); border-radius: 999px; padding: 3px 9px;
}

.kvali-toolbar .woocommerce-ordering {
	display: inline-flex; align-items: center; gap: 9px;
}
.kvali-toolbar .woocommerce-ordering::before {
	content: 'Sortér';
	font-size: 11px; font-weight: 900; letter-spacing: .1em;
	text-transform: uppercase; color: var(--k-dark);
}
.woocommerce .kvali-toolbar .woocommerce-ordering select {
	appearance: none; -webkit-appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2317181c'%3E%3Cpath d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/%3E%3C/svg%3E") no-repeat right 13px center / 14px;
	border: 1px solid var(--k-gray-light); border-radius: 10px;
	padding: 11px 40px 11px 15px; margin: 0; height: auto; width: auto;
	font-family: var(--k-font); font-size: 13px; font-weight: 800;
	color: var(--k-dark); cursor: pointer;
	transition: border-color var(--k-transition), box-shadow var(--k-transition);
}
.woocommerce .kvali-toolbar .woocommerce-ordering select:hover { border-color: var(--k-dark); }
.woocommerce .kvali-toolbar .woocommerce-ordering select:focus {
	outline: none; border-color: var(--k-dark); box-shadow: 0 0 0 3px rgba(23, 24, 28, .09);
}

@media (max-width: 640px) {
	.kvali-toolbar { gap: 10px; }
	.kvali-toolbar .woocommerce-ordering::before { display: none; }
	.kvali-toolbar .woocommerce-ordering { margin-left: auto; }
}

/* =========================================================================
   v1.3.1: Haarfin kant hele vejen rundt om kasserne paa arkivsiderne
   ======================================================================= */
.woocommerce ul.products li.product,
.kvali-chip,
.kvali-filters,
.kvali-empty,
.kvali-knowledge__inner {
	border: 1px solid var(--k-gray-light);
}
.woocommerce ul.products li.product:hover { border-color: #d7d7d4; }
.kvali-chip:hover { border-color: #d7d7d4; }
.kvali-chip.is-active {
	border-color: var(--k-red);
	box-shadow: var(--k-shadow), inset 0 0 0 1px var(--k-red);
}
.woocommerce ul.products li.product.kvali-guidecard { border-color: var(--k-dark); }
@media (max-width: 900px) {
	.kvali-filters { border: 0; }
	.kvali-filters.is-open { border: 1px solid var(--k-gray-light); }
}

/* =========================================================================
   v1.3.2: Bloede skygger mod bund og hoejre side (Apple-agtigt)
   ======================================================================= */
:root {
	--k-shadow-card: 2px 3px 6px rgba(23, 24, 28, .05), 8px 12px 26px rgba(23, 24, 28, .07);
	--k-shadow-card-hover: 3px 5px 10px rgba(23, 24, 28, .07), 12px 18px 38px rgba(23, 24, 28, .11);
}
.woocommerce ul.products li.product,
.kvali-chip,
.kvali-filters,
.kvali-empty,
.kvali-knowledge__inner,
.kvali-blogcard,
.woocommerce div.product div.images {
	box-shadow: var(--k-shadow-card);
}
.woocommerce ul.products li.product:hover,
.kvali-chip:hover,
.kvali-blogcard:hover {
	box-shadow: var(--k-shadow-card-hover);
}
.kvali-chip.is-active {
	box-shadow: var(--k-shadow-card), inset 0 0 0 1px var(--k-red);
}
@media (max-width: 900px) {
	.kvali-filters { box-shadow: none; }
	.kvali-filters.is-open { box-shadow: var(--k-shadow-card); }
}

/* =========================================================================
   v1.3.3: Mindre fed skrift — 900 er nu forbeholdt overskrifter og priser
   ======================================================================= */

/* Smaa versal-etiketter: fra 900 til 800 */
.kvali-filters__head,
.kvali-topsellers__label,
.kvali-guidecard__kicker,
.kvali-knowledge__kicker,
.kvali-viewmode__label,
.kvali-mega__sidetitle,
.kvali-toolbar .woocommerce-ordering::before { font-weight: 800; }

/* Overskrifter i menuer og filtre */
.kvali-filters__group summary { font-weight: 700; }
.kvali-filters__group summary::after { font-weight: 700; }
.kvali-mega__heading { font-weight: 800; }
.kvali-mobilemega__item summary { font-weight: 800; }
.kvali-mobilemega__group { font-weight: 700; }
.kvali-mobilemega__all { font-weight: 800; }
.kvali-mega__all { font-weight: 800; }
.kvali-mega__rail li a { font-weight: 600; }
.kvali-mega__rail li a span { font-weight: 700; }
.kvali-mega__rail li a span.kvali-mega__railname { font-weight: 600; }
.kvali-mega__guide span,
.kvali-mega__guide em { font-weight: 800; }
.kvali-mega__guide b { font-weight: 700; }
.kvali-mega__price { font-weight: 800; }
.kvali-mega__prodtxt b { font-weight: 600; }

/* Produktkortet: kun prisen er rigtig fed */
.kvali-card__brand { font-weight: 600; }
.kvali-cardstock { font-weight: 700; }
.kvali-chip { font-weight: 600; }
.kvali-chip__count { font-weight: 600; }
.kvali-varttl { font-weight: 700; }
.kvali-varrow { font-weight: 500; }
.kvali-varrow b { font-weight: 700; }
.kvali-count b { font-weight: 800; }
.woocommerce .kvali-toolbar .woocommerce-ordering select { font-weight: 700; }

/* Knapper */
.woocommerce ul.products li.product .button,
.kvali-guidecard__btn,
.kvali-blogcard__more,
.kvali-empty__btn,
button.kvali-filters-toggle { font-weight: 800; }

/* Produktside og oevrige flader */
.woocommerce div.product .stock.in-stock,
.woocommerce div.product .stock.out-of-stock { font-weight: 800; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight: 800; }
.kvali-faq__num { font-weight: 800; }
.kvali-topseller__rank { font-weight: 700; }
.kvali-topseller__price { font-weight: 800; }
.kvali-empty b { font-weight: 800; }
.kvali-topbar a,
.kvali-topbar span { font-weight: 600; }

/* =========================================================================
   v1.3.5: Mobil — kategorifliserne maa ikke skubbe siden vandret
   ======================================================================= */
@media (max-width: 640px) {
	.kvali-chips { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.kvali-chip {
		box-sizing: border-box; min-width: 0; min-height: 58px;
		overflow: hidden;
	}
	.kvali-chip__name {
		min-width: 0; white-space: normal; text-overflow: clip;
		display: block; -webkit-line-clamp: unset; overflow: visible;
		line-height: 1.3;
	}
	.kvali-chip img, .kvali-chip__ph { flex: 0 0 28px; width: 28px; height: 28px; }
	.kvali-chip { gap: 8px; padding: 8px 8px 8px 8px; }
	.kvali-chip__count { padding: 2px 7px; font-size: 11px; }
	.kvali-chip--back {
		grid-column: 1 / -1; min-height: 0;
		justify-content: flex-start; gap: 6px;
		padding: 9px 12px; font-size: 12.5px;
	}
}

/* Produktgalleriet maa heller ikke stikke ud paa smalle skaerme */
.woocommerce div.product .woocommerce-product-gallery {
	box-sizing: border-box; max-width: 100%; overflow: hidden;
}

/* =========================================================================
   v1.4.0: Intro, kampagnebanner, aktive filtre og roligere vaerktoejslinje
   ======================================================================= */

/* Kort intro under overskriften */
.kvali-catintro {
	max-width: 74ch; margin: -4px 0 20px;
	font-size: 15px; line-height: 1.6; color: #55585f;
}

/* Kampagnebanner */
.kvali-promo {
	display: grid; grid-template-columns: minmax(0, 1fr);
	border-radius: 16px; overflow: hidden; margin: 0 0 24px;
	box-shadow: var(--k-shadow-card); text-decoration: none;
	transition: transform var(--k-transition), box-shadow var(--k-transition);
}
.kvali-promo.has-media { grid-template-columns: minmax(0, 1fr) minmax(0, 40%); }
a.kvali-promo:hover { transform: translateY(-2px); box-shadow: var(--k-shadow-card-hover); }
.kvali-promo__body {
	padding: 32px 36px; display: flex; flex-direction: column;
	align-items: flex-start; justify-content: center; gap: 10px;
}
.kvali-promo__kicker {
	font-size: 11px; font-weight: 800; letter-spacing: .14em;
	text-transform: uppercase; opacity: .7;
}
.kvali-promo__title {
	margin: 0; font-size: 28px; font-weight: 900;
	line-height: 1.12; letter-spacing: -.02em; color: inherit;
}
.kvali-promo__text { margin: 0; font-size: 15px; line-height: 1.55; opacity: .82; max-width: 48ch; }
.kvali-promo__btn {
	margin-top: 8px; display: inline-block; padding: 12px 24px;
	border-radius: 999px; font-size: 13px; font-weight: 800;
	letter-spacing: .04em; text-decoration: none;
	transition: transform var(--k-transition), opacity var(--k-transition);
}
.kvali-promo__btn:hover { transform: translateY(-1px); opacity: .92; }
.kvali-promo__media { position: relative; min-height: 210px; background: rgba(0, 0, 0, .08); }
.kvali-promo__media img {
	position: absolute; inset: 0; display: block;
	width: 100%; height: 100%; object-fit: cover;
}

.kvali-promo--dark { background: var(--k-dark); color: #fff; }
.kvali-promo--dark .kvali-promo__btn { background: var(--k-red); color: #fff; }
.kvali-promo--light { background: var(--k-bg); color: var(--k-dark); }
.kvali-promo--light .kvali-promo__btn { background: var(--k-dark); color: #fff; }
.kvali-promo--red { background: var(--k-red); color: #fff; }
.kvali-promo--red .kvali-promo__btn { background: #fff; color: var(--k-red); }

/* Aktive filtre */
.kvali-activef { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.kvali-activef__label {
	font-size: 11px; font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: #6a6d75;
}
.kvali-activef__pill {
	display: inline-flex; align-items: center; gap: 9px;
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 999px;
	padding: 7px 13px 7px 15px; font-size: 13px; font-weight: 600;
	color: var(--k-dark); text-decoration: none; line-height: 1.2;
	transition: border-color var(--k-transition), color var(--k-transition);
}
.kvali-activef__pill i { position: relative; display: block; width: 13px; height: 13px; opacity: .5; }
.kvali-activef__pill i::before,
.kvali-activef__pill i::after {
	content: ''; position: absolute; left: 0; top: 6px;
	width: 13px; height: 1.6px; border-radius: 2px; background: currentColor;
}
.kvali-activef__pill i::before { transform: rotate(45deg); }
.kvali-activef__pill i::after { transform: rotate(-45deg); }
.kvali-activef__pill:hover { border-color: var(--k-red); color: var(--k-red); }
.kvali-activef__pill:hover i { opacity: 1; }
.kvali-activef__clear {
	margin-left: 4px; font-size: 12.5px; font-weight: 700; color: #6a6d75;
	text-decoration: underline; text-underline-offset: 3px;
}
.kvali-activef__clear:hover { color: var(--k-red); }

/* Roligere vaerktoejslinje */
.kvali-viewmode__label,
.kvali-toolbar .woocommerce-ordering::before { font-weight: 600; color: #6a6d75; }
.woocommerce .kvali-toolbar .woocommerce-ordering select { font-weight: 600; }
.kvali-count { font-weight: 500; }
.kvali-count b { font-weight: 700; }

@media (max-width: 900px) {
	.kvali-promo__title { font-size: 23px; }
	.kvali-promo__body { padding: 26px 26px; }
}
@media (max-width: 640px) {
	.kvali-catintro { font-size: 14px; margin: 0 0 16px; }
	.kvali-promo, .kvali-promo.has-media { grid-template-columns: minmax(0, 1fr); }
	.kvali-promo__media { min-height: 168px; order: -1; }
	.kvali-promo__body { padding: 20px 20px 24px; gap: 8px; }
	.kvali-promo__title { font-size: 20px; }
	.kvali-promo__text { font-size: 13.5px; }
	.kvali-promo__btn { padding: 11px 20px; font-size: 12.5px; }
	.kvali-activef { gap: 6px; margin-bottom: 12px; }
	.kvali-activef__pill { font-size: 12px; padding: 6px 11px 6px 13px; }
}

/* Guidekortet: valgfri baggrundsfarve eller billede */
.woocommerce ul.products li.product.kvali-guidecard--light { background: var(--k-bg); color: var(--k-dark); border-color: var(--k-gray-light); }
.woocommerce ul.products li.product.kvali-guidecard--light h3 { color: var(--k-dark); }
.woocommerce ul.products li.product.kvali-guidecard--light p { color: #55585f; }
.kvali-guidecard--light .kvali-guidecard__kicker { color: var(--k-red); }
.kvali-guidecard--light .kvali-guidecard__btn:hover { background: var(--k-dark); color: #fff; }
.woocommerce ul.products li.product.kvali-guidecard--red { background: var(--k-red); border-color: var(--k-red); }
.kvali-guidecard--red .kvali-guidecard__kicker { color: #fff; opacity: .8; }
.kvali-guidecard--red .kvali-guidecard__btn { background: var(--k-dark); }
.kvali-guidecard--red .kvali-guidecard__btn:hover { background: #fff; color: var(--k-red); }
.woocommerce ul.products li.product.kvali-guidecard.has-bg {
	position: relative; background-size: cover; background-position: center;
}
.woocommerce ul.products li.product.kvali-guidecard.has-bg::before {
	content: ''; position: absolute; inset: 0; border-radius: inherit;
	background: linear-gradient(185deg, rgba(23, 24, 28, .34), rgba(23, 24, 28, .82));
}
.kvali-guidecard--light.has-bg::before {
	background: linear-gradient(185deg, rgba(247, 247, 246, .62), rgba(247, 247, 246, .93));
}
.kvali-guidecard--red.has-bg::before {
	background: linear-gradient(185deg, rgba(208, 18, 26, .55), rgba(208, 18, 26, .9));
}
.kvali-guidecard.has-bg > * { position: relative; z-index: 1; }

/* v1.4.3: bannerbilledets placering og tilpasning */
.kvali-promo__media { background-position: center; background-repeat: no-repeat; background-size: cover; }
.kvali-promo__media--contain { background-size: contain; }
.kvali-promo__media--repeat { background-size: auto; background-repeat: repeat; }
.kvali-promo--bg { position: relative; min-height: 230px; background-position: center; background-size: cover; }
.kvali-promo--bg.kvali-promo--fit-contain { background-size: contain; background-repeat: no-repeat; }
.kvali-promo--bg.kvali-promo--fit-repeat { background-size: auto; background-repeat: repeat; }
.kvali-promo--bg::before {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(23, 24, 28, .86) 18%, rgba(23, 24, 28, .45) 62%, rgba(23, 24, 28, .22));
}
.kvali-promo--light.kvali-promo--bg::before {
	background: linear-gradient(90deg, rgba(247, 247, 246, .93) 18%, rgba(247, 247, 246, .6) 62%, rgba(247, 247, 246, .35));
}
.kvali-promo--red.kvali-promo--bg::before {
	background: linear-gradient(90deg, rgba(208, 18, 26, .88) 18%, rgba(208, 18, 26, .52) 62%, rgba(208, 18, 26, .3));
}
.kvali-promo--bg .kvali-promo__body { position: relative; z-index: 1; }
@media (max-width: 640px) {
	.kvali-promo--bg::before { background: linear-gradient(180deg, rgba(23, 24, 28, .55), rgba(23, 24, 28, .82)); }
	.kvali-promo--light.kvali-promo--bg::before { background: linear-gradient(180deg, rgba(247, 247, 246, .7), rgba(247, 247, 246, .93)); }
	.kvali-promo--red.kvali-promo--bg::before { background: linear-gradient(180deg, rgba(208, 18, 26, .6), rgba(208, 18, 26, .88)); }
}

/* v1.4.7: til toppen-knap */
.kvali-totop {
	position: fixed; right: 22px; bottom: 22px; z-index: 950;
	width: 48px; height: 48px; border: 0; border-radius: 50%;
	background: var(--k-dark); color: #fff; cursor: pointer;
	box-shadow: var(--k-shadow-card-hover);
	opacity: 0; visibility: hidden; transform: translateY(10px);
	transition: opacity var(--k-transition), transform var(--k-transition),
		background var(--k-transition), visibility var(--k-transition);
}
.kvali-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.kvali-totop:hover { background: var(--k-red); transform: translateY(-2px); }
.kvali-totop i {
	position: absolute; left: 50%; top: 55%;
	width: 14px; height: 14px; border: solid currentColor;
	border-width: 2.5px 2.5px 0 0; border-radius: 2px;
	transform: translate(-50%, -50%) rotate(-45deg);
}
@media (max-width: 640px) {
	.kvali-totop { right: 14px; bottom: 14px; width: 44px; height: 44px; }
}

/* v1.4.8: sidepaneler i den graa kant */
.kvali-rail {
	display: none; position: fixed; top: 210px; z-index: 40;
	width: min(224px, calc((100vw - 1392px) / 2 - 30px));
}
@media (min-width: 1720px) {
	.kvali-rail { display: block; }
}
.kvali-rail--left { left: auto; right: calc(50% + 708px); }
.kvali-rail--right { right: auto; left: calc(50% + 708px); }
.kvali-rail__ad { display: block; border-radius: 16px; overflow: hidden; box-shadow: var(--k-shadow-card); transition: transform var(--k-transition), box-shadow var(--k-transition); }
a.kvali-rail__ad:hover { transform: translateY(-2px); box-shadow: var(--k-shadow-card-hover); }
.kvali-rail__ad img { display: block; width: 100%; height: auto; }
.kvali-rail__card {
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 16px;
	box-shadow: var(--k-shadow-card); padding: 14px;
}
.kvali-rail__head {
	display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .12em;
	text-transform: uppercase; color: var(--k-gray); margin-bottom: 10px;
}
.kvali-rail__items { display: flex; flex-direction: column; gap: 10px; }
.kvali-rail__item {
	display: flex; align-items: center; gap: 10px; text-decoration: none;
	border-radius: 10px; padding: 4px; margin: -4px;
	transition: background var(--k-transition);
}
.kvali-rail__item:hover { background: var(--k-bg); }
.kvali-rail__thumb {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 9px;
	background: var(--k-bg); overflow: hidden;
}
.kvali-rail__thumb img { width: 100%; height: 100%; object-fit: contain; }
.kvali-rail__txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kvali-rail__txt b {
	font-size: 12px; font-weight: 600; color: var(--k-dark); line-height: 1.3;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kvali-rail__txt i { font-style: normal; font-size: 12px; font-weight: 800; color: var(--k-red); }

/* v1.5.0: Sidst viste — sin egen moerke boks, tydeligt adskilt fra produktkortene */
.kvali-rail__card {
	background: var(--k-dark); border: 0; border-radius: 16px;
	padding: 16px 12px 6px; box-shadow: var(--k-shadow-card);
}
.kvali-rail__head {
	display: flex; align-items: center; gap: 8px;
	color: rgba(255, 255, 255, .92); margin: 0 4px 10px;
}
.kvali-rail__head::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--k-red); }
.kvali-rail__items { display: flex; flex-direction: column; gap: 0; }
.kvali-rail__item {
	display: flex; align-items: center; gap: 11px;
	background: transparent; border: 0; border-radius: 10px;
	padding: 9px 8px; margin: 0; box-shadow: none;
	transition: background var(--k-transition);
}
.kvali-rail__item + .kvali-rail__item { position: relative; }
.kvali-rail__item + .kvali-rail__item::before {
	content: ''; position: absolute; left: 8px; right: 8px; top: 0;
	height: 1px; background: rgba(255, 255, 255, .09);
}
.kvali-rail__item:hover { background: rgba(255, 255, 255, .08); transform: none; box-shadow: none; }
.kvali-rail__thumb {
	flex: 0 0 46px; width: 46px; height: 46px; border-radius: 9px;
	background: #fff; padding: 4px; box-sizing: border-box;
	display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.kvali-rail__thumb img { width: 100%; height: 100%; object-fit: contain; transition: transform var(--k-transition); }
.kvali-rail__item:hover .kvali-rail__thumb img { transform: scale(1.08); }
.kvali-rail__txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 0; }
.kvali-rail__txt b {
	color: #fff; font-size: 12px; font-weight: 600; line-height: 1.3;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kvali-rail__txt i { font-style: normal; color: #ff8080; font-size: 12.5px; font-weight: 800; }

/* v1.5.1: Sidst viste som hylde over footeren */
.kvali-recent { max-width: var(--k-container); margin: 44px auto 0; padding: 0 24px; }
.kvali-recent__inner {
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: var(--k-radius);
	box-shadow: var(--k-shadow-card); padding: 22px 24px 24px;
}
.kvali-recent__head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.kvali-recent__kicker {
	font-size: 11px; font-weight: 800; letter-spacing: .14em;
	text-transform: uppercase; color: var(--k-red);
}
.kvali-recent__title { margin: 0; font-size: 18px; }
.kvali-recent__row {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 180px);
	gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 4px;
}
.kvali-recent__item {
	scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px;
	text-decoration: none; background: var(--k-bg); border-radius: 12px; padding: 12px;
	transition: background var(--k-transition);
}
.kvali-recent__item:hover { background: #efefec; }
.kvali-recent__thumb { height: 96px; display: flex; align-items: center; justify-content: center; }
.kvali-recent__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.kvali-recent__item b {
	font-size: 12.5px; font-weight: 600; color: var(--k-dark); line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kvali-recent__item i { font-style: normal; font-size: 13px; font-weight: 800; color: var(--k-red); }
@media (max-width: 640px) {
	.kvali-recent { margin-top: 30px; }
	.kvali-recent__row { grid-auto-columns: 140px; }
}

/* v1.5.5: annoncen i venstre kant som hoej skyskraber a la Elgiganten */
.kvali-rail { max-width: 244px; }
.kvali-rail__ad {
	height: calc(100vh - 256px);
	max-height: 940px;
}
.kvali-rail__ad img { width: 100%; height: 100%; object-fit: cover; }

/* v1.5.8: badges skal sidde inde paa kortet paa mobil, ikke paa kanten */
@media (max-width: 768px) {
	.woocommerce ul.products li.product .kvali-badge-top-right { right: 8px !important; top: 8px !important; }
	.woocommerce ul.products li.product .kvali-badge-top-left { left: 8px !important; top: 8px !important; }
	.woocommerce ul.products li.product .kvali-badge-bottom-left { left: 8px !important; }
	.woocommerce ul.products li.product .kvali-badge-bottom-right { right: 8px !important; }
	.woocommerce ul.products li.product .kvali-saleflash { left: 8px; top: 8px; }
	.woocommerce ul.products li.product .kvali-badge img { max-width: 100% !important; height: auto !important; }
}

/* v1.6.0: Quickview-modal */
.kvali-qv { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.kvali-qv[hidden] { display: none; }
.kvali-qv__overlay { position: absolute; inset: 0; background: rgba(23, 24, 28, .55); backdrop-filter: blur(2px); }
.kvali-qv__box {
	position: relative; background: #fff; border-radius: 18px;
	box-shadow: var(--k-shadow-card-hover);
	width: min(960px, 100%); max-height: min(88vh, 680px); overflow: auto;
}
.kvali-qv__close {
	position: absolute; top: 14px; right: 14px; z-index: 2;
	width: 36px; height: 36px; border: 0; border-radius: 50%;
	background: var(--k-bg); cursor: pointer;
	transition: background var(--k-transition);
}
.kvali-qv__close:hover { background: var(--k-gray-light); }
.kvali-qv__close::before,
.kvali-qv__close::after {
	content: ''; position: absolute; left: 50%; top: 50%;
	width: 16px; height: 2px; border-radius: 2px; background: var(--k-dark);
}
.kvali-qv__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.kvali-qv__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kvali-qv__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 26px; padding: 28px; }
.kvali-qv__media { display: flex; align-items: center; justify-content: center; min-height: 280px; }
.kvali-qv__media img { max-width: 100%; max-height: 340px; object-fit: contain; }
.kvali-qv__info { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.kvali-qv__brand { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--k-gray); }
.kvali-qv__info h2 { margin: 0; font-size: 22px; line-height: 1.15; text-transform: none; letter-spacing: -.01em; }
.kvali-qv__sku { font-size: 12px; color: var(--k-gray); }
.kvali-qv__price { font-size: 24px; font-weight: 900; color: var(--k-red); line-height: 1.1; }
.kvali-qv__price del { display: block; font-size: 14px; font-weight: 700; color: var(--k-dark); margin-bottom: 8px; }
.kvali-qv__price ins {
	text-decoration: none; display: inline-block; background: #ffdd33;
	padding: 1px 6px; margin: -1px -6px; border-radius: 5px;
}
.kvali-qv__desc { margin: 4px 0 0; font-size: 13.5px; line-height: 1.6; color: #55585f; }
.kvali-qv__vars { display: flex; flex-direction: column; gap: 5px; width: 100%; margin-top: 4px; }
.kvali-qv__varttl { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--k-gray); }
.kvali-qv__var {
	display: flex; justify-content: space-between; gap: 12px;
	font-size: 13px; padding: 6px 10px; background: var(--k-bg); border-radius: 8px;
}
.kvali-qv__var b { font-weight: 800; white-space: nowrap; }
.kvali-qv__var b del { font-weight: 600; color: var(--k-gray); margin-right: 6px; }
.kvali-qv__var b ins { text-decoration: none; }
.kvali-qv__more { font-size: 12px; color: var(--k-gray); }
.kvali-qv__grid:has(.kvali-qv__specs) { grid-template-columns: minmax(0, .85fr) minmax(0, 1.05fr) minmax(0, .8fr); }
.kvali-qv__specs {
	display: flex; flex-direction: column; align-self: start;
	background: var(--k-bg); border-radius: 12px; padding: 14px 16px 8px;
}
.kvali-qv__spec {
	display: flex; flex-direction: column; gap: 1px;
	font-size: 12.5px; padding: 7px 0; border-bottom: 1px solid #e9e7e4;
}
.kvali-qv__spec:last-child { border-bottom: 0; }
.kvali-qv__spec > span { color: var(--k-gray); font-size: 11.5px; }
.kvali-qv__spec b { font-weight: 700; }
.kvali-qv__go {
	margin-top: 14px; display: inline-block;
	background: var(--k-red); color: #fff; border-radius: 999px;
	padding: 13px 26px; font-size: 13px; font-weight: 800;
	text-transform: uppercase; letter-spacing: .04em; text-decoration: none;
	transition: background var(--k-transition), transform var(--k-transition);
}
.kvali-qv__go:hover { background: var(--k-dark); color: #fff; transform: translateY(-1px); }
.kvali-qv__spin {
	margin: 90px auto; width: 34px; height: 34px; border-radius: 50%;
	border: 3px solid var(--k-gray-light); border-top-color: var(--k-red);
	animation: kvqspin .8s linear infinite;
}
@keyframes kvqspin { to { transform: rotate(360deg); } }
@media (max-width: 640px) {
	.kvali-qv { padding: 0; align-items: flex-end; }
	.kvali-qv__box { border-radius: 18px 18px 0 0; max-height: 90vh; width: 100%; }
	.kvali-qv__grid { grid-template-columns: 1fr; gap: 14px; padding: 20px 20px 26px; }
	.kvali-qv__media { min-height: 0; }
	.kvali-qv__media img { max-height: 190px; }
	.kvali-qv__info h2 { font-size: 19px; }
	.kvali-qv__specs { display: none; }
	.kvali-qv__go { align-self: stretch; text-align: center; }
}

/* v1.6.5: quickview-knappen som tekst-pill (valg i Tilpas) */
body.kvali-qvbtn-text ul.products li.product .button.kvali-viewbtn {
	width: auto; height: 40px; padding: 0 16px;
	font-size: 11px; font-weight: 800; letter-spacing: .05em;
	text-transform: uppercase; color: #fff; line-height: 1;
	display: inline-flex; align-items: center; white-space: nowrap;
}
body.kvali-qvbtn-text ul.products li.product .button.kvali-viewbtn::before { display: none; }

/* =========================================================================
   v1.7.0: Header-stile (Tilpas -> Kvali — Header)
   ======================================================================= */

/* ---- Farveproeve-navigation ---- */
body.kvali-h-swatch .kvali-nav__list { gap: var(--kvali-nav-gap, 12px); align-items: flex-end; }
body.kvali-h-swatch .kvali-nav__list > li > a {
	display: block; background: #fff; border: 1px solid var(--k-gray-light);
	border-radius: 10px; overflow: hidden; position: relative;
	padding: 22px 14px 9px; font-size: var(--kvali-nav-size, 12px); font-weight: 800;
	box-shadow: 2px 3px 8px rgba(23, 24, 28, .08);
	transition: transform var(--k-transition), box-shadow var(--k-transition);
}
body.kvali-h-swatch .kvali-nav__list > li > a::before {
	content: ''; position: absolute; left: 0; top: 0; right: 0; height: 13px; background: var(--k-dark);
}
body.kvali-h-swatch .kvali-nav__list > li:nth-child(5n+1) > a::before { background: #d0121a; }
body.kvali-h-swatch .kvali-nav__list > li:nth-child(5n+2) > a::before { background: #8a5a33; }
body.kvali-h-swatch .kvali-nav__list > li:nth-child(5n+3) > a::before { background: #e0a52a; }
body.kvali-h-swatch .kvali-nav__list > li:nth-child(5n+4) > a::before { background: #2a7bc8; }
body.kvali-h-swatch .kvali-nav__list > li:nth-child(5n+5) > a::before { background: #3c8f4e; }
body.kvali-h-swatch .kvali-nav__list > li:hover > a,
body.kvali-h-swatch .kvali-nav__list > li.current-menu-item > a {
	transform: rotate(-3deg) translateY(-5px);
	box-shadow: 4px 8px 18px rgba(23, 24, 28, .22);
	color: var(--k-dark);
}

/* ---- Rulle-progresbar ---- */
.kvali-progress {
	position: absolute; left: 8px; right: 8px; bottom: -4px; height: 10px;
	pointer-events: none; opacity: 0; transition: opacity var(--k-transition);
}
.kvali-progress.is-on { opacity: 1; }
.kvali-progress__bar { position: relative; height: 10px; width: 0%; }
.kvali-progress__bar::before {
	content: ''; position: absolute; inset: 0;
	background:
		repeating-linear-gradient(180deg, rgba(255, 255, 255, .16) 0 1px, transparent 1px 4px),
		linear-gradient(90deg, #d0121a, #e33b42);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M0 2 C10 0.8 20 0.8 30 2 C40 3 50 3 60 1.6 C70 0.6 80 0.8 90 2.2 C100 3.2 110 3.2 120 2 L120 8.3 C110 9.5 100 9.5 90 8.2 C80 7.2 70 7.4 60 8.6 C50 9.4 40 9.4 30 8.2 C20 7.2 10 7.2 0 8.3 Z' fill='%23000'/%3E%3C/svg%3E");
	-webkit-mask-repeat: repeat-x;
	-webkit-mask-size: 120px 100%;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M0 2 C10 0.8 20 0.8 30 2 C40 3 50 3 60 1.6 C70 0.6 80 0.8 90 2.2 C100 3.2 110 3.2 120 2 L120 8.3 C110 9.5 100 9.5 90 8.2 C80 7.2 70 7.4 60 8.6 C50 9.4 40 9.4 30 8.2 C20 7.2 10 7.2 0 8.3 Z' fill='%23000'/%3E%3C/svg%3E");
	mask-repeat: repeat-x;
	mask-size: 120px 100%;
}
.kvali-progress__bar i {
	position: absolute; right: -64px; bottom: -9px; width: 68px; height: 24px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70'%3E%3Cpath d='M62 7 L16 9 Q8 10 9.5 16 Q7.5 22 9.5 27 Q7.5 33 9.5 38 Q7.5 44 9.5 49 Q8 56 15 60 L62 63 Z' fill='%23fff' stroke='%2317181c' stroke-width='3' stroke-linejoin='round'/%3E%3Cpath d='M14 15 L60 13.5 M13 24 L61 22.8 M12.5 33 L61 32.5 M13 42 L61 42.6 M14 51 L60 52.4' stroke='%2317181c' stroke-width='1.5' fill='none'/%3E%3Cpath d='M11.5 13 Q9 35 12 56 L17.5 58 Q14 35 17 11 Z' fill='%23d0121a'/%3E%3Crect x='62' y='5.5' width='30' height='59' rx='2' fill='%23fff' stroke='%2317181c' stroke-width='3'/%3E%3Cpath d='M70.5 6 L70.5 64 M83.5 6 L83.5 64' stroke='%2317181c' stroke-width='1.6'/%3E%3Ccircle cx='77' cy='24' r='1.6' fill='%2317181c'/%3E%3Ccircle cx='77' cy='46' r='1.6' fill='%2317181c'/%3E%3Cpath d='M92 12 C104 16 110 22 118 26 C134 21 152 19 166 22 C180 24.5 189 29 193 35 C189 41 180 45.5 166 48 C152 51 134 49 118 44 C110 48 104 54 92 58 Z' fill='%23fff' stroke='%2317181c' stroke-width='3' stroke-linejoin='round'/%3E%3Ccircle cx='172' cy='35' r='5.5' fill='none' stroke='%2317181c' stroke-width='2.4'/%3E%3Cpath d='M100 20 C112 24 122 28 134 27.5 M100 50 C112 46 122 42 134 42.5' stroke='%2317181c' stroke-width='1.1' fill='none' opacity='.5'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: rotate(-7deg); transform-origin: 8% 70%;
	filter: drop-shadow(0 2px 3px rgba(23, 24, 28, .2));
}

/* Custom logo maa aldrig spraenge headeren */
.kvali-header__brand .custom-logo-link { display: block; line-height: 0; }
.kvali-header__brand img.custom-logo { height: 38px; width: auto; max-width: 240px; object-fit: contain; }
@media (max-width: 640px) {
	.kvali-header__brand img.custom-logo { height: 30px; max-width: 170px; }
}

/* Progresbar-varianter (Tilpas) */
body.kvali-pg-flat .kvali-progress { height: 6px; bottom: -2px; }
body.kvali-pg-flat .kvali-progress__bar { height: 6px; }
body.kvali-pg-flat .kvali-progress__bar::before {
	-webkit-mask-image: none; mask-image: none;
	background: linear-gradient(90deg, #d0121a, #e33b42);
	border-radius: 0 3px 3px 0;
}
body.kvali-pg-notip .kvali-progress__bar i { display: none; }

/* =========================================================================
   v1.8.0: Klassisk header med glas-effekt, glidende menu-streg og
   opgraderede farveproever
   ======================================================================= */
.kvali-header { transition: box-shadow var(--k-transition), background var(--k-transition); }
.kvali-header.is-scrolled {
	background: rgba(255, 255, 255, .68);
	-webkit-backdrop-filter: saturate(1.5) blur(18px);
	backdrop-filter: saturate(1.5) blur(18px);
	box-shadow: 0 6px 24px rgba(23, 24, 28, .12);
}
.kvali-header__inner { transition: padding var(--k-transition); }
.kvali-header.is-scrolled .kvali-header__inner { padding-top: 6px; padding-bottom: 6px; }
.kvali-header .kvali-logo,
.kvali-header__brand img.custom-logo { transition: transform var(--k-transition); transform-origin: left center; }
.kvali-header.is-scrolled .kvali-logo,
.kvali-header.is-scrolled .kvali-header__brand img.custom-logo { transform: scale(.86); }

.kvali-navline {
	position: absolute; left: 0; top: 0; height: 3px; width: 0; opacity: 0;
	background: var(--k-red); border-radius: 2px; pointer-events: none; z-index: 3;
	transition: transform .28s cubic-bezier(.4, 0, .2, 1), width .28s cubic-bezier(.4, 0, .2, 1), top .2s ease, opacity var(--k-transition);
}
body.kvali-h-swatch .kvali-navline { display: none; }

.kvali-searchform__input { transition: width .25s ease; }
.kvali-searchform__input:focus { width: 200px; }

/* Farveproever v2: skaev hvile, glans og roligere hover */
body.kvali-h-swatch .kvali-nav__list > li:nth-child(odd) > a { transform: rotate(-1.3deg); }
body.kvali-h-swatch .kvali-nav__list > li:nth-child(even) > a { transform: rotate(1.1deg); }
body.kvali-h-swatch .kvali-nav__list > li > a::after {
	content: ''; position: absolute; left: 0; top: 0; right: 0; height: 13px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, 0));
	pointer-events: none;
}
body.kvali-h-swatch .kvali-nav__list > li:hover > a,
body.kvali-h-swatch .kvali-nav__list > li.current-menu-item > a {
	transform: rotate(0deg) translateY(-6px);
	box-shadow: 4px 10px 20px rgba(23, 24, 28, .2);
}

/* v1.9.0: soegeknap i headeren (aabner Kvali Soegning, ellers lille felt) */
.kvali-searchbtn {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--k-bg); border: 0; border-radius: 999px;
	padding: 10px 16px; cursor: pointer;
	font-family: var(--k-font); font-size: 13px; font-weight: 700; color: var(--k-dark);
	transition: background var(--k-transition), box-shadow var(--k-transition);
}
.kvali-searchbtn:hover { background: var(--k-gray-light); }
.kvali-searchbtn i {
	width: 15px; height: 15px; background: var(--k-dark);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.kvali-searchtrigger {
	position: absolute; width: 1px; height: 1px; padding: 0; border: 0;
	clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden;
}
.kvali-header__tools { position: relative; }
.kvali-searchpop {
	position: absolute; top: calc(100% + 12px); right: 0; z-index: 1000;
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 12px;
	box-shadow: var(--k-shadow-card-hover); padding: 10px;
}
.kvali-searchpop .kvali-searchform__input { width: 220px; }
@media (max-width: 640px) {
	.kvali-searchbtn span { display: none; }
	.kvali-searchbtn { padding: 10px 12px; }
	.kvali-searchpop { right: -60px; }
	.kvali-searchpop .kvali-searchform__input { width: min(220px, 60vw); }
}

/* =========================================================================
   v1.9.1: Soegepanelet aabner under headeren i stedet for ovenpaa
   ======================================================================= */
.kvs-overlay { padding-top: 130px !important; }
body.admin-bar .kvs-overlay { padding-top: 162px !important; }
@media (max-width: 640px) {
	.kvs-overlay { padding-top: 112px !important; }
	body.admin-bar .kvs-overlay { padding-top: 152px !important; }
}

/* =========================================================================
   v1.9.3: Liquid glass-knapper i headeren (soeg + kurv), iOS-stil
   ======================================================================= */
.kvali-searchbtn {
	position: relative; overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(255, 255, 255, .10);
	-webkit-backdrop-filter: blur(22px) saturate(1.9) brightness(1.06);
	backdrop-filter: blur(22px) saturate(1.9) brightness(1.06);
	box-shadow:
		inset 0 1.5px 1px rgba(255, 255, 255, .95),
		inset 1px 0 1px rgba(255, 255, 255, .45),
		inset -1px 0 1px rgba(255, 255, 255, .45),
		inset 0 -2px 3px rgba(23, 24, 28, .10),
		0 10px 24px rgba(23, 24, 28, .14);
	transition: background var(--k-transition), box-shadow var(--k-transition), transform var(--k-transition);
}
.kvali-searchbtn::before {
	content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background:
		radial-gradient(120% 90% at 50% -30%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 55%),
		radial-gradient(120% 100% at 50% 135%, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 55%);
}
.kvali-searchbtn:hover {
	background: rgba(255, 255, 255, .26);
	box-shadow:
		inset 0 1.5px 1px rgba(255, 255, 255, 1),
		inset 1px 0 1px rgba(255, 255, 255, .5),
		inset -1px 0 1px rgba(255, 255, 255, .5),
		inset 0 -2px 3px rgba(23, 24, 28, .10),
		0 12px 28px rgba(23, 24, 28, .18);
	transform: translateY(-1px);
}
.kvali-cartbtn {
	position: relative; overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .35);
	background: rgba(23, 24, 28, .68);
	-webkit-backdrop-filter: blur(22px) saturate(1.9);
	backdrop-filter: blur(22px) saturate(1.9);
	box-shadow:
		inset 0 1.5px 1px rgba(255, 255, 255, .55),
		inset 0 -2px 4px rgba(0, 0, 0, .35),
		0 10px 24px rgba(23, 24, 28, .30);
	transition: background var(--k-transition), box-shadow var(--k-transition), transform var(--k-transition);
}
.kvali-cartbtn::before {
	content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background:
		radial-gradient(120% 90% at 50% -30%, rgba(255, 255, 255, .50), rgba(255, 255, 255, 0) 55%),
		radial-gradient(120% 100% at 50% 140%, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 50%);
}
.kvali-cartbtn:hover {
	background: rgba(208, 18, 26, .72);
	transform: translateY(-1px);
}

/* =========================================================================
   v1.10.0: Ikon-glasknapper (konto/service/sporing/oenskeliste) +
   glas-synlighed: gloed / dock / moerk / frosted (vaelges i Tilpas)
   ======================================================================= */
.kvali-iconbtn {
	position: relative; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; flex: 0 0 auto; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(255, 255, 255, .10);
	-webkit-backdrop-filter: blur(22px) saturate(1.9) brightness(1.06);
	backdrop-filter: blur(22px) saturate(1.9) brightness(1.06);
	box-shadow:
		inset 0 1.5px 1px rgba(255, 255, 255, .95),
		inset 1px 0 1px rgba(255, 255, 255, .45),
		inset -1px 0 1px rgba(255, 255, 255, .45),
		inset 0 -2px 3px rgba(23, 24, 28, .10),
		0 10px 24px rgba(23, 24, 28, .14);
	transition: background var(--k-transition), box-shadow var(--k-transition), transform var(--k-transition);
}
.kvali-iconbtn::before {
	content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	background:
		radial-gradient(120% 90% at 50% -30%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 55%),
		radial-gradient(120% 100% at 50% 135%, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 55%);
}
.kvali-iconbtn:hover { background: rgba(255, 255, 255, .30); transform: translateY(-1px); }
.kvali-iconbtn__i {
	width: 16px; height: 16px; background: var(--k-dark);
	-webkit-mask: var(--ki) center / contain no-repeat; mask: var(--ki) center / contain no-repeat;
}
.kvali-i-user { --ki: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"); }
.kvali-i-help { --ki: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a9 9 0 0 0-9 9v7c0 1.66 1.34 3 3 3h3v-8H5v-2a7 7 0 0 1 14 0v2h-4v8h3c1.66 0 3-1.34 3-3v-7a9 9 0 0 0-9-9z'/%3E%3C/svg%3E"); }
.kvali-i-box { --ki: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 2 7v10l10 5 10-5V7L12 2zm0 2.2 6.9 3.4L12 11 5.1 7.6 12 4.2zM4 9.2l7 3.5v6.6l-7-3.5V9.2zm9 10.1v-6.6l7-3.5v6.6l-7 3.5z'/%3E%3C/svg%3E"); }
.kvali-i-heart { --ki: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); }

/* Variant 1: farve-gloed bag knapperne */
.kvali-header__tools { z-index: 1; }
.kvali-glass-glow .kvali-header__tools::before {
	content: ''; position: absolute; inset: -6px -12px; z-index: -1; pointer-events: none;
	border-radius: 999px;
	background: linear-gradient(100deg, rgba(208, 18, 26, .42), rgba(224, 165, 42, .40) 55%, rgba(208, 18, 26, .36));
	filter: blur(14px);
}

/* Variant 2: samlet glas-dock */
.kvali-glass-dock .kvali-header__tools {
	background: linear-gradient(180deg, rgba(23, 24, 28, .05), rgba(23, 24, 28, .10));
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 999px; padding: 6px 8px;
	-webkit-backdrop-filter: blur(18px) saturate(1.6); backdrop-filter: blur(18px) saturate(1.6);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, .85), 0 8px 20px rgba(23, 24, 28, .10);
}

/* Variant 4: altid frosted header (mere gennemsigtig, ogsaa ved scroll) */
.kvali-glass-frosted .kvali-header,
.kvali-glass-frosted .kvali-header.is-scrolled {
	background: rgba(255, 255, 255, .35);
	-webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
}

@media (max-width: 900px) {
	.kvali-iconbtn:not(.kvali-cartbtn) { display: none; }
	.kvali-glass-dock .kvali-header__tools { padding: 4px 6px; }
}

/* =========================================================================
   v1.10.3: Kurven som aflang glas-knap - vogn til venstre, antal til hoejre
   ======================================================================= */
.kvali-cartbtn.kvali-iconbtn { width: auto; padding: 0 13px 0 16px; gap: 9px; }
.kvali-cartbtn .kvali-iconbtn__i { width: 18px; height: 18px; }
.kvali-i-cart { --ki: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E"); }
.kvali-cartbtn__count {
	min-width: 19px; height: 19px; padding: 0 5px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--k-red); color: #fff;
	font-size: 11px; font-weight: 800; line-height: 1;
	border-radius: 999px;
}

/* =========================================================================
   v1.11.0: Minikurv - glas-skuffe i hoejre side
   ======================================================================= */
.kvali-mc { position: fixed; inset: 0; z-index: 100001; }
.kvali-mc[hidden] { display: none; }
.kvali-mc__backdrop { position: absolute; inset: 0; background: rgba(23, 24, 28, .35); opacity: 0; transition: opacity .28s ease; }
.kvali-mc.is-open .kvali-mc__backdrop { opacity: 1; }
.kvali-mc__panel {
	position: absolute; top: 10px; right: 10px; bottom: 10px;
	width: min(400px, calc(100vw - 20px));
	display: flex; flex-direction: column;
	border-radius: 24px; padding: 20px;
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(255, 255, 255, .78);
	-webkit-backdrop-filter: blur(26px) saturate(1.8); backdrop-filter: blur(26px) saturate(1.8);
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), 0 24px 60px rgba(23, 24, 28, .30);
	transform: translateX(calc(100% + 20px)); transition: transform .28s cubic-bezier(.2, .7, .2, 1);
}
.kvali-mc.is-open .kvali-mc__panel { transform: translateX(0); }
.kvali-mc__head { display: flex; align-items: center; gap: 8px; font-size: 17px; padding-bottom: 14px; border-bottom: 1px solid rgba(23, 24, 28, .08); }
.kvali-mc__count { color: #6a6d75; font-weight: 700; font-size: 14px; }
.kvali-mc__x {
	margin-left: auto; width: 34px; height: 34px; border-radius: 999px; cursor: pointer;
	border: 1px solid rgba(255, 255, 255, .7); background: rgba(23, 24, 28, .05); position: relative;
}
.kvali-mc__x span::before, .kvali-mc__x span::after {
	content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.8px;
	border-radius: 2px; background: var(--k-dark);
}
.kvali-mc__x span::before { transform: translate(-50%, -50%) rotate(45deg); }
.kvali-mc__x span::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kvali-mc__ship { padding: 12px 2px 4px; font-size: 12.5px; font-weight: 600; color: #55585f; }
.kvali-mc__ship .amount { color: var(--k-red); font-weight: 800; }
.kvali-mc__shipbar { display: block; height: 6px; border-radius: 999px; background: rgba(23, 24, 28, .08); overflow: hidden; margin-top: 8px; }
.kvali-mc__shipbar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--k-red), #e0a52a); border-radius: 999px; transition: width .4s ease; }
.kvali-mc__items { flex: 1; overflow: auto; padding: 4px 7px; }
.kvali-mc__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) 30px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(23, 24, 28, .06); }
.kvali-mc__thumb { background: #f1f1ef; border-radius: 12px; padding: 6px; display: block; }
.kvali-mc__thumb img { width: 100%; height: 52px; object-fit: contain; mix-blend-mode: multiply; display: block; }
.kvali-mc__name { font-weight: 700; font-size: 13.5px; color: var(--k-dark); text-decoration: none; display: block; line-height: 1.3; }
.kvali-mc__name:hover { color: var(--k-red); }
.kvali-mc__qty { font-size: 12.5px; color: #6a6d75; }
.kvali-mc__remove {
	width: 26px; height: 26px; border-radius: 999px; cursor: pointer; position: relative;
	border: 1px solid var(--k-gray-light); background: #fff; opacity: .7;
	transition: opacity var(--k-transition), border-color var(--k-transition);
}
.kvali-mc__remove:hover { opacity: 1; border-color: var(--k-red); }
.kvali-mc__remove span::before, .kvali-mc__remove span::after {
	content: ''; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.6px;
	border-radius: 2px; background: currentColor;
}
.kvali-mc__remove span::before { transform: translate(-50%, -50%) rotate(45deg); }
.kvali-mc__remove span::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kvali-mc__remove.is-busy { pointer-events: none; opacity: .3; }
.kvali-mc__foot { border-top: 1px solid rgba(23, 24, 28, .08); padding-top: 14px; display: grid; gap: 10px; }
.kvali-mc__subtotal { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 600; }
.kvali-mc__subtotal strong { font-size: 17px; font-weight: 900; color: var(--k-red); }
.kvali-mc__checkout {
	display: block; text-align: center; padding: 14px; border-radius: 999px;
	background: var(--k-red); color: #fff; font-weight: 800; font-size: 14px;
	text-decoration: none; letter-spacing: .02em;
	transition: background var(--k-transition), transform var(--k-transition);
}
.kvali-mc__checkout:hover { background: var(--k-red-dark); transform: translateY(-1px); }
.kvali-mc__viewcart {
	display: block; text-align: center; padding: 12px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .75); background: rgba(23, 24, 28, .05);
	color: var(--k-dark); font-weight: 700; font-size: 13.5px; text-decoration: none;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, .8);
	transition: background var(--k-transition);
}
.kvali-mc__viewcart:hover { background: rgba(23, 24, 28, .10); }
.kvali-mc__empty { text-align: center; color: #6a6d75; padding: 40px 0; }
body.kvali-mc-lock { overflow: hidden; }
@media (max-width: 640px) {
	.kvali-mc__panel { top: 8px; right: 8px; bottom: 8px; border-radius: 20px; padding: 16px; }
}

/* =========================================================================
   v1.11.1: Klassisk navigation med farvedots og glas-pille hover
   ======================================================================= */
body.kvali-nav-dots .kvali-nav__list { gap: var(--kvali-nav-gap, 4px); }
body.kvali-nav-dots .kvali-nav__list > li > a {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 14px; border-radius: 999px;
	border: 1px solid transparent;
	transition: background var(--k-transition), border-color var(--k-transition), box-shadow var(--k-transition), transform var(--k-transition), color var(--k-transition);
}
body.kvali-nav-dots .kvali-nav__list > li > a::before {
	content: ''; width: 8px; height: 8px; border-radius: 999px; background: var(--k-dark); flex: 0 0 auto;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, .5), 0 1px 2px rgba(23, 24, 28, .25);
}
body.kvali-nav-dots .kvali-nav__list > li:nth-child(5n+1) > a::before { background: #d0121a; }
body.kvali-nav-dots .kvali-nav__list > li:nth-child(5n+2) > a::before { background: #8a5a33; }
body.kvali-nav-dots .kvali-nav__list > li:nth-child(5n+3) > a::before { background: #e0a52a; }
body.kvali-nav-dots .kvali-nav__list > li:nth-child(5n+4) > a::before { background: #2a7bc8; }
body.kvali-nav-dots .kvali-nav__list > li:nth-child(5n+5) > a::before { background: #3c8f4e; }
body.kvali-nav-dots .kvali-nav__list > li:hover > a {
	background: rgba(255, 255, 255, .35);
	border-color: rgba(255, 255, 255, .75);
	-webkit-backdrop-filter: blur(14px) saturate(1.6); backdrop-filter: blur(14px) saturate(1.6);
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, .9), inset 0 -1px 2px rgba(23, 24, 28, .06), 0 6px 14px rgba(23, 24, 28, .10);
	transform: translateY(-1px);
}
body.kvali-nav-dots .kvali-nav__list > li.current-menu-item > a,
body.kvali-nav-dots .kvali-nav__list > li.current-menu-ancestor > a {
	color: var(--k-red);
	background: rgba(208, 18, 26, .08);
	border-color: rgba(208, 18, 26, .18);
}

/* =========================================================================
   v1.12.0: Navigations-stile for klassisk header (vaelges i Tilpas)
   dots (farvedots), catbtn (Alle kategorier), scroll (rulleliste), minimal
   ======================================================================= */

/* ---- catbtn: Alle kategorier-knap med glas-panel ---- */
body.kvali-nav-catbtn .kvali-nav { position: relative; }
.kvali-allcats {
	position: relative; overflow: hidden;
	display: inline-flex; align-items: center; gap: 9px;
	padding: 10px 16px; border-radius: 999px; cursor: pointer;
	font-family: var(--k-font); font-size: 13px; font-weight: 800; color: var(--k-dark);
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(255, 255, 255, .10);
	-webkit-backdrop-filter: blur(22px) saturate(1.9) brightness(1.06);
	backdrop-filter: blur(22px) saturate(1.9) brightness(1.06);
	box-shadow:
		inset 0 1.5px 1px rgba(255, 255, 255, .95),
		inset 0 -2px 3px rgba(23, 24, 28, .10),
		0 10px 24px rgba(23, 24, 28, .14);
	transition: background var(--k-transition), transform var(--k-transition);
}
.kvali-allcats:hover { background: rgba(255, 255, 255, .30); transform: translateY(-1px); }
.kvali-allcats i {
	width: 15px; height: 15px; background: var(--k-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4V4zm9 0h7v7h-7V4zM4 13h7v7H4v-7zm9 0h7v7h-7v-7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4V4zm9 0h7v7h-7V4zM4 13h7v7H4v-7zm9 0h7v7h-7v-7z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.kvali-allcats__panel {
	position: absolute; top: calc(100% + 14px); left: 0; z-index: 1000;
	width: min(720px, 92vw);
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px;
	padding: 14px; border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(26px) saturate(1.8); backdrop-filter: blur(26px) saturate(1.8);
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), 0 24px 60px rgba(23, 24, 28, .28);
}
.kvali-allcats__panel[hidden] { display: none; }
.kvali-allcats__item {
	display: flex; align-items: center; gap: 11px;
	padding: 10px 12px; border-radius: 14px;
	text-decoration: none; color: var(--k-dark); font-weight: 700; font-size: 13px;
	transition: background var(--k-transition), color var(--k-transition);
}
.kvali-allcats__item:hover { background: rgba(23, 24, 28, .06); color: var(--k-red); }
.kvali-allcats__item img, .kvali-allcats__ph {
	width: 36px; height: 36px; flex: 0 0 auto; object-fit: contain;
	border-radius: 9px; background: #f1f1ef; mix-blend-mode: multiply;
}
.kvali-allcats__name { min-width: 0; overflow-wrap: break-word; }
.kvali-allcats__item em { margin-left: auto; font-style: normal; color: #6a6d75; font-size: 11.5px; font-weight: 700; }

/* ---- scroll: piller i vandret rulleliste ---- */
body.kvali-nav-scroll .kvali-nav {
	overflow-x: auto; scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 26px), transparent);
	mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 26px), transparent);
}
body.kvali-nav-scroll .kvali-nav::-webkit-scrollbar { display: none; }
body.kvali-nav-scroll .kvali-nav__list { flex-wrap: nowrap; width: max-content; gap: var(--kvali-nav-gap, 6px); padding: 4px 26px 4px 2px; }
body.kvali-nav-scroll .kvali-nav__list > li > a {
	display: block; padding: 8px 14px; border-radius: 999px;
	background: var(--k-bg); border: 1px solid var(--k-gray-light);
	font-size: var(--kvali-nav-size, 12.5px); font-weight: 700; white-space: nowrap;
	transition: border-color var(--k-transition), color var(--k-transition), background var(--k-transition);
}
body.kvali-nav-scroll .kvali-nav__list > li:hover > a { border-color: var(--k-red); color: var(--k-red); }
body.kvali-nav-scroll .kvali-nav__list > li.current-menu-item > a,
body.kvali-nav-scroll .kvali-nav__list > li.current-menu-ancestor > a { background: var(--k-dark); border-color: var(--k-dark); color: #fff; }
body.kvali-nav-scroll .kvali-navline { display: none; }

/* ---- minimal: ren tekst med lidt mere luft ---- */
body.kvali-nav-minimal .kvali-nav__list { gap: var(--kvali-nav-gap, 22px); }
body.kvali-nav-minimal .kvali-nav__list > li > a {
	padding: 8px 2px; font-size: var(--kvali-nav-size, 12.5px); font-weight: 700; letter-spacing: .01em;
}

/* =========================================================================
   v1.13.0: To-etagers header - kategorier paa egen linje, stort soegefelt
   og tekst-labels paa knapperne
   ======================================================================= */
.kvali-searchbtn__hint, .kvali-iconbtn__label { display: none; }
body.kvali-h-tworow .kvali-header__inner { flex-wrap: wrap; row-gap: 4px; }
body.kvali-h-tworow .kvali-nav {
	order: 3; flex-basis: 100%; min-width: 0;
	border-top: 1px solid rgba(23, 24, 28, .06);
	margin-top: 8px; padding-top: 8px;
}
body.kvali-h-tworow .kvali-header__tools { flex: 1 1 auto; }
body.kvali-h-tworow .kvali-searchbtn { flex: 1 1 auto; justify-content: flex-start; }
body.kvali-h-tworow .kvali-searchbtn__hint {
	display: inline; opacity: .5; font-weight: 600; letter-spacing: 0;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
}
body.kvali-h-tworow .kvali-iconbtn { width: auto; padding: 0 14px; gap: 8px; }
body.kvali-h-tworow .kvali-cartbtn.kvali-iconbtn { padding: 0 13px 0 16px; }
body.kvali-h-tworow .kvali-iconbtn__label { display: inline; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
body.kvali-h-tworow.kvali-nav-dots .kvali-nav__list { gap: var(--kvali-nav-gap, 8px); }
@media (max-width: 1250px) {
	body.kvali-h-tworow .kvali-iconbtn__label { display: none; }
	body.kvali-h-tworow .kvali-iconbtn { width: 38px; padding: 0; }
	body.kvali-h-tworow .kvali-cartbtn.kvali-iconbtn { width: auto; padding: 0 13px 0 16px; }
}
@media (max-width: 900px) {
	body.kvali-h-tworow .kvali-nav { display: none; }
	body.kvali-h-tworow .kvali-searchbtn__hint { display: none; }
}

/* =========================================================================
   v1.13.1: Justering af kategoriernes placering (venstre/center/hoejre/fordelt)
   ======================================================================= */
body.kvali-nav-align-center .kvali-nav__list { justify-content: center; }
body.kvali-nav-align-right .kvali-nav__list { justify-content: flex-end; }
body.kvali-nav-align-spread .kvali-nav__list { justify-content: space-between; }
body.kvali-nav-align-spread.kvali-nav-scroll .kvali-nav__list { width: 100%; }

/* =========================================================================
   v1.13.4: Farveproeve-navigation kan ogsaa koere i to etager
   ======================================================================= */
body.kvali-h-tworow.kvali-h-swatch .kvali-nav { padding-top: 12px; }
body.kvali-h-tworow.kvali-h-swatch .kvali-nav__list { align-items: stretch; }

/* =========================================================================
   v1.14.0: Sprogvaelger - glas-knap med flag og glas-dropdown
   ======================================================================= */
.kvali-lang { position: relative; }
.kvali-lang .kvali-iconbtn { width: auto; padding: 0 11px 0 12px; gap: 7px; overflow: visible; }
.kvali-lang__flag {
	width: 19px; height: 19px; flex: 0 0 auto; border-radius: 999px;
	background-position: center; background-size: cover;
	box-shadow: inset 0 0 0 1px rgba(23, 24, 28, .12), 0 1px 2px rgba(23, 24, 28, .18);
}
.kvali-flag-da { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 28'%3E%3Crect width='37' height='28' fill='%23c8102e'/%3E%3Crect x='11' width='4' height='28' fill='%23fff'/%3E%3Crect y='12' width='37' height='4' fill='%23fff'/%3E%3C/svg%3E"); }
.kvali-flag-sv { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 28'%3E%3Crect width='37' height='28' fill='%23006aa7'/%3E%3Crect x='11' width='4' height='28' fill='%23fecc00'/%3E%3Crect y='12' width='37' height='4' fill='%23fecc00'/%3E%3C/svg%3E"); }
.kvali-flag-de { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 28'%3E%3Crect width='37' height='28' fill='%23000'/%3E%3Crect y='9.33' width='37' height='9.33' fill='%23dd0000'/%3E%3Crect y='18.66' width='37' height='9.34' fill='%23ffce00'/%3E%3C/svg%3E"); }
.kvali-flag-en { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 28'%3E%3Crect fill='%23012169' width='37' height='28'/%3E%3Cpath d='M0 0 37 28M37 0 0 28' stroke='%23fff' stroke-width='5'/%3E%3Cpath d='M0 0 37 28M37 0 0 28' stroke='%23C8102E' stroke-width='2'/%3E%3Crect x='14.5' width='8' height='28' fill='%23fff'/%3E%3Crect y='10' width='37' height='8' fill='%23fff'/%3E%3Crect x='16.5' width='4' height='28' fill='%23C8102E'/%3E%3Crect y='12' width='37' height='4' fill='%23C8102E'/%3E%3C/svg%3E"); }
.kvali-lang__chev {
	width: 7px; height: 7px; margin-top: -3px;
	border-right: 1.8px solid var(--k-dark); border-bottom: 1.8px solid var(--k-dark);
	transform: rotate(45deg); opacity: .55;
}
.kvali-lang__menu {
	position: absolute; top: calc(100% + 10px); right: 0; z-index: 1000;
	min-width: 172px; padding: 7px; border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .75);
	background: rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(24px) saturate(1.8); backdrop-filter: blur(24px) saturate(1.8);
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), 0 18px 44px rgba(23, 24, 28, .24);
}
.kvali-lang__menu[hidden] { display: none; }
.kvali-lang__item {
	display: flex; align-items: center; gap: 10px;
	padding: 9px 11px; border-radius: 11px;
	font-size: 13px; font-weight: 700; color: var(--k-dark); text-decoration: none;
	transition: background var(--k-transition);
}
.kvali-lang__item:hover { background: rgba(23, 24, 28, .06); }
.kvali-lang__item.is-current::after {
	content: ''; margin-left: auto; width: 5px; height: 9px;
	border-right: 2px solid var(--k-red); border-bottom: 2px solid var(--k-red);
	transform: rotate(45deg);
}

/* =========================================================================
   v1.14.1: Tredje etage - servicelinks og sprog flyttet op i topbaren
   ======================================================================= */
.kvali-topbar__inner { justify-content: space-between; gap: 20px; flex-wrap: nowrap; align-items: center; }
.kvali-topbar__usps { display: flex; gap: 34px; flex-wrap: wrap; min-width: 0; }
.kvali-topbar__links { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; }
.kvali-topbar__link {
	display: inline-flex; align-items: center; gap: 6px;
	color: #fff; text-decoration: none; font-size: 11.5px; font-weight: 600; opacity: .92;
	transition: opacity var(--k-transition);
}
.kvali-topbar__link:hover { opacity: 1; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.kvali-topbar__link .kvali-iconbtn__i { width: 13px; height: 13px; background: #fff; }
.kvali-topbar .kvali-lang .kvali-iconbtn {
	background: transparent; border: 0; box-shadow: none; height: auto; padding: 0; gap: 6px;
	-webkit-backdrop-filter: none; backdrop-filter: none; overflow: visible;
}
.kvali-topbar .kvali-lang .kvali-iconbtn::before { display: none; }
.kvali-topbar .kvali-lang .kvali-iconbtn:hover { transform: none; background: transparent; }
.kvali-topbar .kvali-lang__flag { width: 16px; height: 16px; }
.kvali-topbar .kvali-lang__chev { border-color: #fff; opacity: .8; }
.kvali-topbar .kvali-iconbtn__label { display: inline; color: #fff; font-size: 11.5px; font-weight: 600; }
.kvali-topbar .kvali-lang__menu { right: 0; top: calc(100% + 8px); }
@media (max-width: 900px) {
	.kvali-topbar__links { display: none; }
}

/* =========================================================================
   v1.14.2: Kurv-tekst i sort + valgfri roed boble om antallet
   ======================================================================= */
.kvali-cartbtn.kvali-iconbtn { color: var(--k-dark); }
body.kvali-cart-nobadge .kvali-cartbtn__count {
	background: transparent; color: var(--k-dark);
	min-width: 0; height: auto; padding: 0; border-radius: 0;
	font-size: var(--kvali-nav-size, 12.5px); font-weight: 800;
}

/* =========================================================================
   v1.15.0: Soegefeltet som roligt "rigtigt" felt (hele feltet er knappen)
   ======================================================================= */
.kvali-searchbtn {
	flex: 0 1 320px; min-width: 170px; height: 42px;
	justify-content: flex-start; gap: 10px;
	padding: 0 6px 0 16px;
	border: 1px solid rgba(23, 24, 28, .10);
	background: rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4);
	box-shadow: inset 0 2px 6px rgba(23, 24, 28, .06);
	cursor: text; overflow: visible;
}
.kvali-searchbtn::before { display: none; }
.kvali-searchbtn:hover {
	background: #fff; border-color: rgba(23, 24, 28, .18);
	box-shadow: inset 0 2px 6px rgba(23, 24, 28, .05), 0 8px 20px rgba(23, 24, 28, .08);
	transform: none;
}
.kvali-searchbtn i { opacity: .45; }
.kvali-searchbtn__ph {
	flex: 1 1 auto; min-width: 0; text-align: left;
	color: #8a8d94; font-weight: 600; font-size: 13px; letter-spacing: 0;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kvali-searchbtn__go {
	flex: 0 0 auto; font-style: normal;
	background: var(--k-red); color: #fff;
	font-size: 12px; font-weight: 800; letter-spacing: .02em;
	padding: 8px 16px; border-radius: 999px;
	transition: background var(--k-transition);
}
.kvali-searchbtn:hover .kvali-searchbtn__go { background: var(--k-red-dark); }
body.kvali-h-tworow .kvali-searchbtn { flex: 1 1 auto; }
@media (max-width: 1100px) {
	.kvali-searchbtn { flex: 0 1 220px; }
	.kvali-searchbtn__go { display: none; }
}
@media (max-width: 640px) {
	.kvali-searchbtn { flex: 0 1 auto; min-width: 0; width: 40px; height: 40px; padding: 0; justify-content: center; cursor: pointer; }
	.kvali-searchbtn__ph { display: none; }
}

/* =========================================================================
   v1.15.1: Topbar i fuld bredde + klikbare USPer
   ======================================================================= */
.kvali-topbar { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
html { overflow-x: hidden; } /* v1.67: var clip - fik Chrome/Lighthouse til at regne hele siden som synlig (LCP) */
a.kvali-topbar__usp { color: #fff; text-decoration: none; }
a.kvali-topbar__usp:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* =========================================================================
   v1.15.2: Mere markant kant paa headeren
   ======================================================================= */
.kvali-header {
	border: 1px solid rgba(23, 24, 28, .14);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 10px 28px rgba(23, 24, 28, .10);
}
.kvali-header.is-scrolled { border-color: rgba(23, 24, 28, .10); }

/* =========================================================================
   v1.16.0: Fragtstatus-bar med milepael og note i minikurven
   ======================================================================= */
.kvali-mc__tick { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; opacity: .95; border-radius: 2px; }
.kvali-mc__tick[hidden] { display: none; }
.kvali-mc__shipnote { display: block; margin-top: 6px; font-size: 11.5px; font-weight: 600; color: #8a8d94; }
.kvali-mc__shipnote[hidden] { display: none; }

/* =========================================================================
   v1.16.1: Fragtbar - fix for gennemgaaende streg, stoerre tekst og labels
   ======================================================================= */
.kvali-mc__shipbar { position: relative; }
.kvali-mc__shiptxt { display: block; font-size: 13.5px; font-weight: 700; color: var(--k-dark); line-height: 1.45; }
.kvali-mc__shiplabels { position: relative; display: block; height: 15px; margin-top: 6px; font-size: 10.5px; font-weight: 700; color: #8a8d94; }
.kvali-mc__shiplabels[hidden] { display: none; }
.kvali-mc__shiplabels b { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; font-weight: 700; }
.kvali-mc__shiplabels b[data-mc-lab2] { right: 0; left: auto !important; transform: none; }
.kvali-mc__shiplabels b[hidden] { display: none; }
.kvali-mc__shiplabels b.is-done { color: var(--k-red); }

/* =========================================================================
   v1.16.2: Minikurv - variantinfo, vaegt, antal-vaelger og linjepris
   ======================================================================= */
.kvali-mc__meta { display: block; font-size: 11.5px; color: var(--k-dark); font-weight: 600; line-height: 1.4; }
.kvali-mc__qtyrow { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.kvali-mc__qtyrow b { font-size: 13px; min-width: 16px; text-align: center; }
.kvali-mc__qbtn {
	width: 24px; height: 24px; border-radius: 999px; padding: 0;
	border: 1px solid var(--k-gray-light); background: #fff; cursor: pointer;
	font-size: 14px; line-height: 1; font-weight: 700; color: var(--k-dark);
	display: inline-flex; align-items: center; justify-content: center;
	transition: border-color var(--k-transition), color var(--k-transition);
}
.kvali-mc__qbtn:hover { border-color: var(--k-red); color: var(--k-red); }
.kvali-mc__lineprice { margin-left: auto; font-size: 13px; font-weight: 800; color: var(--k-dark); }

/* =========================================================================
   v1.16.3: Fragtbar - to linjer og tre milepaele (pakkeshop/hjem/fragtmand)
   ======================================================================= */
.kvali-mc__shiptxt2 { display: block; font-size: 12.5px; font-weight: 600; color: #55585f; margin-top: 3px; line-height: 1.4; }
.kvali-mc__shiptxt2[hidden] { display: none; }
.kvali-mc__shiptxt2 .amount { color: var(--k-red); font-weight: 800; }
.kvali-mc__shiplabels b.kvali-mc__lab-end { right: 0; left: auto !important; transform: none; }

/* =========================================================================
   v1.16.4: Variant-info stacket linje for linje og i sort
   ======================================================================= */
.kvali-mc__meta--vars dl.variation {
	display: grid; grid-template-columns: max-content minmax(0, 1fr);
	gap: 1px 5px; margin: 2px 0 0;
}
.kvali-mc__meta--vars dl.variation dt { font-weight: 700; color: var(--k-dark); margin: 0; }
.kvali-mc__meta--vars dl.variation dd { margin: 0; color: var(--k-dark); overflow-wrap: break-word; min-width: 0; }
.kvali-mc__meta--vars dl.variation dd p { margin: 0; display: inline; }

/* =========================================================================
   v1.16.7: Samlet vaegt i minikurvens bund
   ======================================================================= */
.kvali-mc__wrow { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 600; color: var(--k-dark); }
.kvali-mc__wrow b { font-weight: 700; color: var(--k-dark); }
.kvali-mc__wrow[hidden] { display: none; }

/* =========================================================================
   v1.17.0: Lysende ring om nyligt tilfoejet vare i minikurven
   ======================================================================= */
.kvali-mc__item { position: relative; }
.kvali-mc__item--new::after {
	content: ''; position: absolute; inset: 3px -6px; border-radius: 14px;
	border: 2px solid #52c26d;
	box-shadow: 0 0 0 3px rgba(82, 194, 109, .18), 0 0 16px rgba(82, 194, 109, .5);
	background: rgba(82, 194, 109, .06);
	opacity: 0; pointer-events: none;
	animation: kvali-mc-ring 1.6s ease .1s;
}
@keyframes kvali-mc-ring {
	0% { opacity: 0; }
	12% { opacity: 1; }
	35% { opacity: .25; }
	55% { opacity: 1; }
	100% { opacity: 0; }
}

/* =========================================================================
   v1.18.0: Tilfoej til kurv direkte fra quickview
   ======================================================================= */
.kvali-qv__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kvali-qv__add {
	margin-top: 14px; display: inline-block; cursor: pointer; border: 0;
	background: var(--k-red); color: #fff; border-radius: 999px;
	padding: 13px 26px; font-family: var(--k-font); font-size: 13px; font-weight: 800;
	text-transform: uppercase; letter-spacing: .04em;
	transition: background var(--k-transition), transform var(--k-transition);
}
.kvali-qv__add:hover { background: var(--k-red-dark); transform: translateY(-1px); }
.kvali-qv__go--ghost {
	background: transparent; color: var(--k-dark);
	border: 1.5px solid var(--k-gray-light);
}
.kvali-qv__go--ghost:hover { background: var(--k-bg); color: var(--k-dark); }
@media (max-width: 640px) {
	.kvali-qv__actions { align-self: stretch; }
	.kvali-qv__add, .kvali-qv__actions .kvali-qv__go { flex: 1 1 auto; text-align: center; }
}

/* =========================================================================
   v1.18.1: Notits paa produktsiden - vaelg farve/maengde foer koeb
   ======================================================================= */
.kvali-choosenote {
	max-width: var(--k-container); margin: 14px auto 0; padding: 14px 18px;
	background: #fff7e6; border-left: 4px solid #e0a52a; border-radius: 10px;
	font-size: 14px; font-weight: 700; color: var(--k-dark);
}

/* =========================================================================
   v1.19.0: Kategori-ikoner fra Medier (vaelges paa kategorien, str. i Tilpas)
   ======================================================================= */
.kvali-nav__ico {
	width: var(--kvali-nav-ico, 26px); height: var(--kvali-nav-ico, 26px);
	object-fit: contain; flex: 0 0 auto;
	vertical-align: middle; margin-right: 7px;
}
body.kvali-nav-dots .kvali-nav__list > li > a .kvali-nav__ico { margin-right: 0; }
body.kvali-nav-dots .kvali-nav__list > li > a:has(.kvali-nav__ico)::before { display: none; }
body.kvali-nav-minimal .kvali-nav__ico { display: none; }
body.kvali-h-swatch .kvali-nav__ico { display: none; }

/* =========================================================================
   v1.19.1: Mega-menuen maa aldrig gaa ud over kanten - skjul Mest solgte
   og faerre kolonner paa mindre skaerme
   ======================================================================= */
.kvali-mega__body { min-width: 0; }
.kvali-mega__linkscol { min-width: 0; }
.kvali-mega__panes { overflow-x: hidden; }
@media (max-width: 1580px) {
	.kvali-mega__side { display: none; }
}
@media (max-width: 1360px) {
	.kvali-mega__inner--rail { grid-template-columns: 220px 1fr; }
	.kvali-mega__pane { column-count: 2; }
	.kvali-mega__inner--rich .kvali-mega__linkscol { column-count: 3; }
}
@media (max-width: 1100px) {
	.kvali-mega__inner--rich .kvali-mega__linkscol { column-count: 2; }
	.kvali-mega__inner { column-count: 3; }
}

/* =========================================================================
   v1.19.2: Mega-menu tekster maa gerne ombrydes i kolonnerne
   ======================================================================= */
.kvali-mega a { white-space: normal; }
.kvali-mega__heading, .kvali-mega__link { overflow-wrap: break-word; }

/* v1.20.0: Sidebredde styres i Tilpas - sidepanelerne foelger containeren */
.kvali-rail { width: min(224px, calc((100vw - var(--k-container) - 112px) / 2 - 30px)); }
.kvali-rail--left { right: calc(50% + (var(--k-container) / 2) + 68px); }
.kvali-rail--right { left: calc(50% + (var(--k-container) / 2) + 68px); }

/* v1.23.1: Kategoriknapper uden ikon centreres lodret med de andre */
.kvali-nav__list > li { display: flex; align-items: center; }

/* v1.25.1: Soegefelt - normal skrift og forstoerrelsesglas i stedet for "Soeg" */
.kvali-searchbtn__ph { font-weight: 400; }
.kvali-searchbtn__go {
	font-size: 0; padding: 0;
	width: 34px; height: 34px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
}
.kvali-searchbtn__go::before {
	content: ''; width: 16px; height: 16px; background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* v1.26.0: Footer - nyhedsbrev, kolonner, trust og SEO i moerk glass-stil */
.kvali-footer__nlwrap { max-width: var(--k-container); margin: 0 auto; padding: 44px 24px 0; }
.kvali-footer__nl {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 20px; padding: 24px 28px;
	-webkit-backdrop-filter: blur(12px) saturate(1.3); backdrop-filter: blur(12px) saturate(1.3);
}
.kvali-footer__nltxt b { display: block; font-size: 19px; font-weight: 800; }
.kvali-footer__nltxt span { display: block; margin-top: 4px; font-size: 13.5px; color: rgba(255, 255, 255, .65); }
.kvali-footer__nlform { display: flex; gap: 8px; flex: 0 1 420px; min-width: 260px; }
.kvali-footer__nlform input {
	flex: 1 1 auto; min-width: 0; height: 44px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .10); color: #fff;
	padding: 0 18px; font-size: 13.5px; outline: none; font-family: var(--k-font);
	transition: border-color var(--k-transition), background var(--k-transition);
}
.kvali-footer__nlform input::placeholder { color: rgba(255, 255, 255, .5); }
.kvali-footer__nlform input:focus { border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .14); }
.kvali-footer__nlform button {
	flex: 0 0 auto; height: 44px; padding: 0 26px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--k-red); color: #fff; font-weight: 800; font-size: 13px; font-family: var(--k-font);
	transition: background var(--k-transition);
}
.kvali-footer__nlform button:hover { background: var(--k-red-dark); }
.kvali-footer__nlok { font-size: 14px; font-weight: 700; color: #52c26d; }
.kvali-footer__inner--wide { grid-template-columns: 1.4fr 1fr 1fr 1.1fr; }
.kvali-footer__phonehours { margin: 10px 0 0; font-size: 12.5px; color: rgba(255, 255, 255, .55); }
.kvali-footer__heading--gap { margin-top: 26px; }
.kvali-footer__social { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; line-height: 1; }
.kvali-footer__social li a {
	display: inline-flex; padding: 8px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); text-decoration: none;
	transition: background var(--k-transition);
}
.kvali-footer__social li a:hover { background: rgba(255, 255, 255, .16); text-decoration: none; }
.kvali-footer__trust { border-top: 1px solid rgba(255, 255, 255, .10); }
.kvali-footer__trustinner {
	max-width: var(--k-container); margin: 0 auto; padding: 18px 24px;
	display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
}
.kvali-footer__trusttxt { font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, .8); }
.kvali-footer__pay { display: flex; gap: 8px; flex-wrap: wrap; }
.kvali-footer__paybadge {
	display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 8px;
	background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .15);
	font-size: 11.5px; font-weight: 800; letter-spacing: .04em; color: rgba(255, 255, 255, .85);
}
.kvali-footer__seo {
	max-width: var(--k-container); margin: 0 auto; padding: 6px 24px 10px;
	font-size: 12.5px; line-height: 1.8; color: rgba(255, 255, 255, .45);
}
.kvali-footer__seo p { margin: 0 0 8px; }
@media (max-width: 900px) {
	.kvali-footer__nl { flex-direction: column; align-items: stretch; }
	.kvali-footer__trustinner { flex-direction: column; align-items: flex-start; }
}

/* v1.27.0: Footer i fuld bredde + logo-upload */
.kvali-footer { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.kvali-footer__logoimg { display: block; max-width: 100%; height: auto; }

/* v1.27.1: Footer-taglinen staar under logonavnet */
.kvali-footer__logo { display: flex; flex-direction: column; gap: 5px; align-items: flex-start; }

/* v1.28.0: Ny footer - malet drypkant, gloed, glass og statement-wordmark */
.kvali-footer { position: relative; overflow: hidden; }
.kvali-footer__nlwrap, .kvali-footer__inner, .kvali-footer__trust, .kvali-footer__seo,
.kvali-footer__bottom, .kvali-footer__wordmark { position: relative; z-index: 1; }
.kvali-footer__drip {
	position: relative; z-index: 1; height: 26px; background: var(--k-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 26'%3E%3Cpath d='M0 0H220V9H212C206 9 209 20 203 20C197 20 200 9 192 9H166C162 9 165 15 160 15C155 15 157 9 151 9H126C120 9 124 26 116 26C108 26 112 9 103 9H78C74 9 76 17 71 17C66 17 68 9 62 9H38C33 9 36 22 29 22C22 22 26 9 17 9H0Z'/%3E%3C/svg%3E") repeat-x top / 220px 26px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 26'%3E%3Cpath d='M0 0H220V9H212C206 9 209 20 203 20C197 20 200 9 192 9H166C162 9 165 15 160 15C155 15 157 9 151 9H126C120 9 124 26 116 26C108 26 112 9 103 9H78C74 9 76 17 71 17C66 17 68 9 62 9H38C33 9 36 22 29 22C22 22 26 9 17 9H0Z'/%3E%3C/svg%3E") repeat-x top / 220px 26px;
}
.kvali-footer__glow { position: absolute; z-index: 0; pointer-events: none; }
.kvali-footer__glow--a {
	width: 620px; height: 420px; left: -140px; top: 20px;
	background: radial-gradient(closest-side, rgba(208, 18, 26, .26), transparent 70%);
	filter: blur(50px);
}
.kvali-footer__glow--b {
	width: 700px; height: 460px; right: -180px; top: 240px;
	background: radial-gradient(closest-side, rgba(255, 166, 60, .10), transparent 70%);
	filter: blur(60px);
}
.kvali-footer__nl {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .15);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .4);
}
.kvali-footer__heading { position: relative; padding-bottom: 9px; }
.kvali-footer__heading::after {
	content: ''; position: absolute; left: 0; bottom: 0;
	width: 22px; height: 3px; border-radius: 2px; background: var(--k-red);
}
.kvali-footer__menu li a { position: relative; display: inline-block; transition: color .18s ease, transform .18s ease; }
.kvali-footer__menu li a::before {
	content: '\2192'; position: absolute; left: -16px; top: 0; color: var(--k-red);
	opacity: 0; transform: translateX(-6px); transition: opacity .18s ease, transform .18s ease;
}
.kvali-footer__menu li a:hover { color: #fff; text-decoration: none; transform: translateX(16px); }
.kvali-footer__menu li a:hover::before { opacity: 1; transform: none; }
.kvali-footer__paybadge { transition: background .18s ease, transform .18s ease; }
.kvali-footer__paybadge:hover { background: rgba(255, 255, 255, .16); transform: translateY(-2px); }
.kvali-footer__wordmark {
	height: clamp(64px, 9.5vw, 138px); overflow: hidden; margin-top: 26px;
	display: flex; justify-content: center; align-items: flex-start;
	pointer-events: none; user-select: none;
}
.kvali-footer__wordmark::before {
	content: ''; position: absolute; left: 50%; top: 55%; transform: translate(-50%, -50%);
	width: 58%; height: 240px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(208, 18, 26, .30), transparent 72%);
	filter: blur(34px);
}
.kvali-footer__wordmark span {
	position: relative; font-size: clamp(96px, 14.5vw, 212px); font-weight: 900;
	letter-spacing: -.045em; line-height: .96; white-space: nowrap;
	background: linear-gradient(180deg, rgba(255, 255, 255, .17), rgba(255, 255, 255, .015));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.kvali-footer__bottom { border-top-color: rgba(255, 255, 255, .12); }

/* v1.29.0: Footer-finpudsning - mere gloed, betalingslogoer i bundlinjen */
.kvali-footer__logoimg { margin-left: -7px; }
.kvali-footer__glow--a {
	width: 660px; height: 460px; left: -160px; top: -80px;
	background: radial-gradient(closest-side, rgba(208, 18, 26, .32), transparent 70%);
	filter: blur(52px);
}
.kvali-footer__glow--b {
	width: 600px; height: 420px; right: -120px; top: -60px;
	background: radial-gradient(closest-side, rgba(255, 166, 60, .18), transparent 70%);
	filter: blur(56px);
}
.kvali-footer__glow--c {
	width: 540px; height: 400px; left: 14%; top: 52%;
	background: radial-gradient(closest-side, rgba(66, 128, 255, .14), transparent 70%);
	filter: blur(58px);
}
.kvali-footer__glow--d {
	width: 560px; height: 400px; right: 6%; bottom: -140px;
	background: radial-gradient(closest-side, rgba(58, 186, 116, .13), transparent 70%);
	filter: blur(58px);
}
.kvali-footer__glow--e {
	width: 820px; height: 420px; left: 50%; margin-left: -410px; bottom: -200px;
	background: radial-gradient(closest-side, rgba(208, 18, 26, .18), transparent 72%);
	filter: blur(60px);
}
.kvali-footer__bottom { align-items: center; }
.kvali-footer__bottom > span { flex: 1 1 0; min-width: 0; }
.kvali-footer__bottom > span:last-child { text-align: right; }
.kvali-footer__bottom .kvali-footer__pay { flex: 0 0 auto; justify-content: center; }
.kvali-pay {
	display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px;
	background: #fff; border-radius: 8px; font-size: 12px; font-weight: 800; color: #17181c;
	transition: transform .18s ease;
}
.kvali-pay:hover { transform: translateY(-2px); }
.kvali-pay em { font-style: normal; }
.kvali-pay i { display: none; }
.kvali-pay--visa em { color: #1A1F71; font-style: italic; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.kvali-pay--mastercard i { display: block; position: relative; width: 31px; height: 19px; }
.kvali-pay--mastercard i::before, .kvali-pay--mastercard i::after { content: ''; position: absolute; top: 0; width: 19px; height: 19px; border-radius: 50%; }
.kvali-pay--mastercard i::before { left: 0; background: #EB001B; }
.kvali-pay--mastercard i::after { right: 0; background: #F79E1B; opacity: .9; }
.kvali-pay--mastercard em { display: none; }
.kvali-pay--dankort i { display: block; width: 27px; height: 18px; border-radius: 4px; background: #E2001A; position: relative; overflow: hidden; }
.kvali-pay--dankort i::before { content: ''; position: absolute; left: -5px; top: 7px; width: 38px; height: 5px; background: #fff; border-radius: 50% / 100%; transform: rotate(-7deg); }
.kvali-pay--mobilepay { background: #5A78FF; }
.kvali-pay--mobilepay em { color: #fff; }
.kvali-pay--mobilepay i { display: block; width: 11px; height: 17px; border: 2px solid #fff; border-radius: 3px; }
.kvali-pay--viabill em { color: #0B1A4A; }
.kvali-pay--viabill em::after { content: '.'; color: #FF4D9D; font-weight: 900; }
.kvali-pay--applepay em { color: #000; }
.kvali-pay--klarna { background: #FFB3C7; }
.kvali-pay--klarna em { color: #17181c; }
@media (max-width: 900px) {
	.kvali-footer__bottom { flex-direction: column; }
	.kvali-footer__bottom > span:last-child { text-align: center; }
}

/* v1.29.1: Dankort-badge med hvidt DK i midten */
.kvali-pay--dankort i::before { display: none; }
.kvali-pay--dankort i::after {
	content: 'DK'; position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: 9.5px; font-weight: 900; font-style: normal; letter-spacing: .03em;
}

/* v1.30.0: Nyhedsbrev som kolonne yderst til hoejre */
.kvali-footer__inner--nl { grid-template-columns: 1.25fr 0.9fr 1fr 1fr 1.15fr; }
.kvali-footer__col--nl {
	background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 18px; padding: 20px; align-self: start;
	-webkit-backdrop-filter: blur(12px) saturate(1.3); backdrop-filter: blur(12px) saturate(1.3);
}
.kvali-footer__nlttl { margin: 0 0 6px; font-size: 15px; font-weight: 800; color: #fff; }
.kvali-footer__nlsub { margin: 0 0 14px; font-size: 12.5px; line-height: 1.6; color: rgba(255, 255, 255, .6); }
.kvali-footer__col--nl .kvali-footer__nlform { display: flex; flex-direction: column; gap: 8px; min-width: 0; flex: none; }
.kvali-footer__col--nl .kvali-footer__nlform input { width: 100%; }
.kvali-footer__col--nl .kvali-footer__nlform button { width: 100%; }
.kvali-footer__col--nl .kvali-footer__nlok:not([hidden]) { display: block; margin-top: 10px; }
@media (max-width: 1250px) {
	.kvali-footer__inner--nl { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 800px) {
	.kvali-footer__inner--nl { grid-template-columns: 1fr; }
}

/* v1.30.1: Footer-indholdet lidt bredere end resten af siden */
.kvali-footer { --k-container: min(calc(100vw - 48px), var(--k-container-footer, 1620px)); }

/* v1.30.3: Footeren ligger over reklame-sidepanelerne */
.kvali-footer { z-index: 41; }

/* v1.30.2: E-mailfeltet holder sig inden for nyhedsbrev-flisen */
.kvali-footer__nlform input, .kvali-footer__nlform button { box-sizing: border-box; }

/* v1.32.0: Nyhedsbrev-knap der aabner Klaviyo-flyouten */
.kvali-footer__nlbtn {
	width: 100%; height: 44px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--k-red); color: #fff; font-weight: 800; font-size: 13px; font-family: var(--k-font);
	transition: background var(--k-transition), transform .18s ease;
}
.kvali-footer__nlbtn:hover { background: var(--k-red-dark); transform: translateY(-1px); }

/* v1.33.0: Mobil-pakke - menu-drawer, quickview, soegefelt og footer-akkordion */
@media (max-width: 1024px) {
	.kvali-mobilenav {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 930;
		width: min(86vw, 380px); background: #fff;
		border-top: 0; padding: 16px 18px 30px; overflow-y: auto;
		box-shadow: 0 0 0 100vmax rgba(23, 24, 28, .45), 0 0 50px rgba(0, 0, 0, .3);
		transform: translateX(-105%); transition: transform .28s ease, visibility 0s;
	}
	.kvali-mobilenav[hidden] {
		display: block; visibility: hidden; box-shadow: none;
		transition: transform .28s ease, visibility 0s .28s;
	}
	.kvali-mobilenav:not([hidden]) { transform: none; }
	body.kvali-mnav-open { overflow: hidden; }
}
.kvali-mobilenav__top {
	display: flex; align-items: center; justify-content: space-between;
	padding: 2px 0 12px; border-bottom: 1px solid var(--k-gray-light); margin-bottom: 4px;
}
.kvali-mobilenav__top b { font-size: 17px; font-weight: 900; }
.kvali-mobilenav__close {
	position: relative; width: 34px; height: 34px; border: 0; border-radius: 50%;
	background: var(--k-bg); cursor: pointer;
}
.kvali-mobilenav__close::before, .kvali-mobilenav__close::after {
	content: ''; position: absolute; left: 50%; top: 50%;
	width: 15px; height: 2px; border-radius: 2px; background: var(--k-dark);
}
.kvali-mobilenav__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.kvali-mobilenav__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kvali-mobilemega__item summary { display: flex; align-items: center; gap: 10px; }
.kvali-mobilemega__item summary::after { margin-left: auto; }
.kvali-mobilemega__ico { width: 24px; height: 24px; object-fit: contain; }
a.kvali-mobilemega__group .kvali-mobilemega__ico { vertical-align: -6px; margin-right: 10px; }
.kvali-mobilenav__links { display: flex; flex-direction: column; margin-top: 16px; border-top: 1px solid var(--k-gray-light); padding-top: 10px; }
.kvali-mobilenav__links a { padding: 10px 0; font-size: 14px; font-weight: 700; color: var(--k-dark); text-decoration: none; border-bottom: 1px solid var(--k-bg); }
@media (max-width: 640px) {
	.kvali-qv__grid, .kvali-qv__grid:has(.kvali-qv__specs) { grid-template-columns: 1fr; gap: 12px; padding: 18px 18px 24px; }
	.kvali-qv__media { order: -1; min-height: 0; }
	.kvali-qv__media img { max-height: 170px; }
	.kvali-qv__desc { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
	.kvali-qv__actions { flex-direction: column; align-items: stretch; width: 100%; }
	.kvali-qv__add, .kvali-qv__actions .kvali-qv__go { width: 100%; text-align: center; box-sizing: border-box; }
	.kvali-searchbtn { width: auto; flex: 1 1 auto; height: 40px; padding: 0 4px 0 14px; justify-content: space-between; }
	.kvali-searchbtn i { display: none; }
	.kvali-searchbtn__ph { display: block; font-size: 12px; }
	.kvali-searchbtn__go { flex: 0 0 auto; width: 32px; height: 32px; margin-left: auto; display: inline-flex; }
	.kvali-topbar__usps { flex-wrap: nowrap; }
	.kvali-topbar__links { display: none; }
}
@media (max-width: 800px) {
	.kvali-footer__inner { gap: 4px; padding-top: 32px; padding-bottom: 20px; }
	.kvali-footer__inner--nl .kvali-footer__col--nl { order: -1; margin-bottom: 20px; }
	.kvali-footer__col--brand { margin-bottom: 14px; }
	.kvali-footer__col:not(.kvali-footer__col--brand):not(.kvali-footer__col--nl) { border-top: 1px solid rgba(255, 255, 255, .12); }
	.kvali-footer__col:not(.kvali-footer__col--brand):not(.kvali-footer__col--nl) .kvali-footer__heading {
		margin: 0; padding: 15px 0; cursor: pointer;
		display: flex; align-items: center; justify-content: space-between;
	}
	.kvali-footer__col:not(.kvali-footer__col--brand):not(.kvali-footer__col--nl) .kvali-footer__heading::after { display: none; }
	.kvali-footer__col:not(.kvali-footer__col--brand):not(.kvali-footer__col--nl) .kvali-footer__heading::before {
		content: '+'; order: 2; font-size: 17px; line-height: 1; color: rgba(255, 255, 255, .6);
	}
	.kvali-footer__col.is-open .kvali-footer__heading::before { content: '\2212'; color: var(--k-red); }
	.kvali-footer__col:not(.kvali-footer__col--brand):not(.kvali-footer__col--nl) .kvali-footer__menu { display: none; padding-bottom: 14px; }
	.kvali-footer__col.is-open .kvali-footer__menu { display: block; }
	.kvali-footer__glow--c, .kvali-footer__glow--d, .kvali-footer__glow--e { display: none; }
	.kvali-footer__seo { font-size: 11.5px; }
}

/* v1.33.1: Mobil-soegefelt vinder over tworow-reglerne */
@media (max-width: 660px) {
	body .kvali-header__tools .kvali-searchbtn,
	body.kvali-h-tworow .kvali-header__tools .kvali-searchbtn {
		width: auto !important; min-width: 0 !important; flex: 1 1 auto !important;
		height: 40px !important; padding: 0 4px 0 14px !important;
		justify-content: space-between !important;
	}
	body .kvali-searchbtn i { display: none !important; }
	body .kvali-searchbtn .kvali-searchbtn__ph {
		display: block !important; font-size: 12px !important; flex: 1 1 auto; min-width: 0;
	}
	body .kvali-searchbtn .kvali-searchbtn__go {
		display: inline-flex !important; width: 32px !important; height: 32px !important;
		flex: 0 0 auto !important; margin-left: auto !important; padding: 0 !important;
	}
}

/* v1.33.2: Smalle mobiler - logo, kurv og burger skal alle kunne vaere i headeren */
@media (max-width: 560px) {
	.kvali-header__brand { flex: 0 1 auto; min-width: 0; }
	.kvali-header__brand img.custom-logo { height: 26px !important; max-width: 140px !important; width: auto !important; }
	.kvali-logo__name { font-size: 16px; }
	.kvali-header__tools > a.kvali-iconbtn:not(.kvali-cartbtn) { display: none !important; }
	body .kvali-header__tools .kvali-cartbtn.kvali-iconbtn { width: auto !important; padding: 0 10px 0 12px !important; flex: 0 0 auto !important; }
	.kvali-burger { flex: 0 0 auto; padding: 8px 4px 8px 6px; }
	.kvali-header__inner { padding-left: 10px; padding-right: 10px; gap: 8px; }
	.kvali-header__tools { gap: 8px; min-width: 0; }
}

/* v1.33.3: Mobil-header i to raekker + pensel vaek fra indholdet */
@media (max-width: 560px) {
	.kvali-header__inner { flex-wrap: wrap !important; row-gap: 10px; }
	.kvali-header__tools { display: contents; }
	.kvali-header__brand { order: 1; flex: 1 1 auto; }
	.kvali-header__brand img.custom-logo { height: 32px !important; max-width: 170px !important; }
	.kvali-header__tools .kvali-cartbtn { order: 2; margin-left: auto; }
	.kvali-burger { order: 3; }
	body .kvali-header__tools .kvali-searchbtn { order: 4; flex: 1 1 100% !important; }
	.kvali-searchtrigger { order: 5; }
	.kvali-progress__bar i { right: -30px; bottom: -4px; width: 38px; height: 14px; }
	.kvali-progress { left: 0; right: 0; bottom: -2px; height: 7px; }
	.kvali-progress__bar { height: 7px; }
}

/* v1.34.0: Mobil-header - fuld bredde, logo i midten, burger til venstre, soeg som knap */
@media (max-width: 560px) {
	.kvali-header {
		margin: 0 calc(50% - 50vw) 0 !important;
		border-radius: 0 !important;
	}
	.kvali-header__inner {
		position: relative; flex-wrap: nowrap !important; justify-content: flex-start;
		gap: 8px; min-height: 54px; row-gap: 0;
	}
	.kvali-burger { order: 1; margin-right: auto; padding: 8px 8px 8px 2px; }
	.kvali-header__brand {
		position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
		flex: none; margin: 0;
	}
	.kvali-header__brand img.custom-logo { height: 30px !important; max-width: 150px !important; }
	body .kvali-header__tools .kvali-searchbtn {
		order: 2; margin-left: auto !important;
		flex: 0 0 40px !important; width: 40px !important; height: 40px !important;
		padding: 0 !important; justify-content: center !important;
		background: transparent !important; border: 0 !important; box-shadow: none !important;
		-webkit-backdrop-filter: none !important; backdrop-filter: none !important;
	}
	body .kvali-searchbtn .kvali-searchbtn__ph { display: none !important; }
	body .kvali-searchbtn .kvali-searchbtn__go { margin: 0 !important; width: 36px !important; height: 36px !important; }
	.kvali-header__tools .kvali-cartbtn { order: 3; margin-left: 0; }
	.kvali-searchtrigger { order: 4; }
	.kvali-mobilenav__more { margin-top: 14px; border-top: 1px solid var(--k-gray-light); }
	.kvali-mobilenav__more .kvali-mobilenav__links { margin-top: 0; border-top: 0; padding-top: 0; padding-left: 8px; }
}

/* v1.35.0: Drilldown-menu med faner i mobil-draweren */
.kvali-mnav__tabs { display: flex; gap: 6px; margin: 10px 0 12px; background: var(--k-bg); border-radius: 12px; padding: 4px; }
.kvali-mnav__tabs button {
	flex: 1; height: 38px; border: 0; border-radius: 9px; background: transparent;
	font-family: var(--k-font); font-size: 13px; font-weight: 800; color: var(--k-gray); cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.kvali-mnav__tabs button.is-active { background: #fff; color: var(--k-dark); box-shadow: 0 1px 4px rgba(23, 24, 28, .08); }
.kvali-mnav__panel { display: none; }
.kvali-mnav__panel.is-active { display: block; animation: kvmnav-in .22s ease; }
@keyframes kvmnav-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
.kvali-mnav__item {
	display: flex; align-items: center; gap: 12px; width: 100%;
	padding: 13px 4px; border: 0; border-bottom: 1px solid var(--k-bg); background: transparent;
	font-family: var(--k-font); font-size: 14.5px; font-weight: 700; color: var(--k-dark);
	text-decoration: none; text-align: left; cursor: pointer;
}
.kvali-mnav__item span { flex: 1 1 auto; min-width: 0; }
.kvali-mnav__item i { width: 8px; height: 8px; border: solid var(--k-gray); border-width: 2px 2px 0 0; transform: rotate(45deg); flex: 0 0 auto; }
.kvali-mnav__ico { width: 24px; height: 24px; object-fit: contain; flex: 0 0 auto; }
.kvali-mnav__head { display: flex; align-items: center; gap: 10px; padding: 2px 0 8px; }
.kvali-mnav__head b { font-size: 16px; font-weight: 900; }
.kvali-mnav__back { position: relative; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--k-bg); cursor: pointer; flex: 0 0 auto; }
.kvali-mnav__back::before { content: ''; position: absolute; left: 55%; top: 50%; width: 9px; height: 9px; border: solid var(--k-dark); border-width: 2.5px 0 0 2.5px; transform: translate(-50%, -50%) rotate(-45deg); }
.kvali-mnav__all { display: block; padding: 6px 0 10px; font-size: 13px; font-weight: 900; color: var(--k-red); text-decoration: none; }

/* v1.36.0: Soegefeltet flyttet ind i mobil-menuen - stoerre logo i headeren */
.kvali-mnav__search { position: relative; display: flex; align-items: center; margin: 12px 0 4px; }
.kvali-mnav__search input[type="search"] {
	flex: 1 1 auto; min-width: 0; height: 46px; border-radius: 999px;
	border: 1px solid var(--k-gray-light); background: var(--k-bg); color: var(--k-dark);
	padding: 0 52px 0 18px; font-family: var(--k-font); font-size: 14px; font-weight: 400;
	outline: none; -webkit-appearance: none; appearance: none;
	transition: border-color var(--k-transition), background var(--k-transition);
}
.kvali-mnav__search input[type="search"]::placeholder { color: var(--k-gray); }
.kvali-mnav__search input[type="search"]:focus { border-color: var(--k-red); background: #fff; }
.kvali-mnav__search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.kvali-mnav__search button {
	position: absolute; right: 5px; top: 50%; transform: translateY(-50%);
	width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
	background: var(--k-red); display: inline-flex; align-items: center; justify-content: center;
	font-size: 0; transition: background var(--k-transition);
}
.kvali-mnav__search button:hover { background: var(--k-red-dark); }
.kvali-mnav__search button::before {
	content: ''; width: 17px; height: 17px; background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (min-width: 561px) { .kvali-mnav__search { display: none; } }
@media (max-width: 560px) {
	body .kvali-header__tools .kvali-searchbtn,
	body.kvali-h-tworow .kvali-header__tools .kvali-searchbtn,
	.kvali-searchtrigger { display: none !important; }
	.kvali-header__brand img.custom-logo {
		height: auto !important; width: auto !important;
		max-height: 42px !important; max-width: min(210px, calc(100vw - 200px)) !important;
	}
	.kvali-logo__name { font-size: 20px; }
	.kvali-logo__tagline { display: block; font-size: 8.5px; }
	.kvali-header__inner { min-height: 62px; padding-top: 10px !important; padding-bottom: 10px !important; }
}

/* v1.37.0: Mobil - bredere indhold, ens bredde paa moduler, mindre tilbudspris */
@media (max-width: 560px) {
	body { padding-left: 10px !important; padding-right: 10px !important; }
	.kvali-recent,
	.kvali-knowledge,
	.kvali-archive-seo,
	.kvali-content > .woocommerce,
	.woocommerce-page .kvali-content > .woocommerce { padding-left: 0 !important; padding-right: 0 !important; }
	.kvali-recent { margin-top: 30px; }
	.kvali-recent__inner { padding: 18px 14px 20px; }
	.kvali-knowledge { margin-top: 34px; }
	.kvali-knowledge__inner { padding: 22px 16px 24px; }
	.kvali-faq__body { padding-left: 34px; padding-right: 0; }
	.woocommerce ul.products { gap: 10px; }
	.woocommerce ul.products li.product { padding: 10px 11px 12px; }
	.woocommerce ul.products li.product .price { font-size: 14px; padding-right: 44px; }
	.woocommerce ul.products li.product .price del { font-size: 10.5px; margin-bottom: 1px; }
	.woocommerce ul.products li.product .price ins { font-size: 13.5px; padding: 1px 5px; margin: -1px -5px; border-radius: 4px; }
	.woocommerce ul.products li.product .price .kvali-fra { font-size: 10.5px; }
	.kvali-cardstock { margin-right: 44px; }
	.woocommerce ul.products li.product .button { right: 8px; bottom: 8px; }
}

/* v1.38.1: Minikurven holder sig inden for skaermen paa mobil */
.kvali-mc__panel { box-sizing: border-box; }
@media (max-width: 640px) {
	.kvali-mc__panel {
		top: 8px; right: 8px; bottom: 8px;
		width: min(400px, calc(100vw - 16px));
		border-radius: 18px; padding: 14px;
	}
	.kvali-mc__head { font-size: 16px; padding-bottom: 12px; }
	.kvali-mc__x { width: 30px; height: 30px; }
	.kvali-mc__ship { padding: 10px 0 2px; }
	.kvali-mc__items { padding: 4px 2px; }
	.kvali-mc__item { grid-template-columns: 54px minmax(0, 1fr) 26px; gap: 10px; padding: 10px 0; }
	.kvali-mc__thumb { padding: 5px; border-radius: 10px; }
	.kvali-mc__thumb img { height: 44px; }
	.kvali-mc__name { font-size: 13px; }
	.kvali-mc__foot { padding-top: 12px; gap: 8px; }
	.kvali-mc__checkout { padding: 13px; }
	.kvali-mc__viewcart { padding: 11px; }
}

/* v1.38.2: Variantlisten skal ligge over de naeste produktkort */
.woocommerce ul.products li.product.kvali-varsopen,
.woocommerce ul.products li.product:has(.kvali-vars.is-open) { z-index: 70; }
.kvali-vars .kvali-varlist { max-height: min(240px, 52vh); }

/* v1.38.3: Topbaren viser praecis 3 USP'er paa mobil - ingen halv fjerde */
@media (max-width: 640px) {
	.kvali-topbar__inner { overflow-x: hidden; }
	.kvali-topbar__usps { width: 100%; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
	.kvali-topbar__usp:nth-child(n+4) { display: none; }
}
@media (max-width: 380px) {
	.kvali-topbar__inner { font-size: 9.5px; padding-left: 8px; padding-right: 8px; }
}

/* v1.41.0: Sortering som egen panel-dropdown - den native select var ulaeselig paa mobil */
.woocommerce .kvali-toolbar .woocommerce-ordering.kvali-sortdd select.orderby {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.kvali-toolbar .woocommerce-ordering.kvali-sortdd { position: relative; }
.kvali-sortdd__btn {
	display: inline-flex; align-items: center; gap: 10px;
	border: 1px solid var(--k-gray-light); border-radius: 10px; background: #fff;
	padding: 11px 15px; margin: 0; cursor: pointer;
	font-family: var(--k-font); font-size: 13px; font-weight: 800; color: var(--k-dark);
	transition: border-color var(--k-transition), box-shadow var(--k-transition);
}
.kvali-sortdd__btn:hover { border-color: var(--k-dark); }
.kvali-sortdd__btn:focus-visible { outline: none; border-color: var(--k-dark); box-shadow: 0 0 0 3px rgba(23, 24, 28, .09); }
.kvali-sortdd__btn i {
	width: 14px; height: 14px; flex: 0 0 auto; background: var(--k-dark);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2317181c'%3E%3Cpath d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2317181c'%3E%3Cpath d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--k-transition);
}
.kvali-sortdd.is-open .kvali-sortdd__btn i { transform: rotate(180deg); }
.kvali-sortdd__panel {
	position: absolute; top: calc(100% + 6px); right: 0; z-index: 80;
	min-width: 100%; width: max-content; max-width: min(320px, calc(100vw - 24px));
	display: flex; flex-direction: column; padding: 6px;
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 14px;
	box-shadow: 0 18px 44px rgba(23, 24, 28, .18);
	animation: kvsort-in .16s ease;
}
.kvali-sortdd__panel[hidden] { display: none; }
@keyframes kvsort-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.kvali-sortdd__opt {
	display: flex; align-items: center; gap: 10px; width: 100%;
	padding: 12px 14px; border: 0; border-radius: 9px; background: transparent; cursor: pointer;
	font-family: var(--k-font); font-size: 14.5px; font-weight: 600; color: var(--k-dark);
	text-align: left; white-space: nowrap;
	transition: background var(--k-transition);
}
.kvali-sortdd__opt:hover { background: var(--k-bg); }
.kvali-sortdd__opt.is-active { font-weight: 800; }
.kvali-sortdd__opt.is-active::after {
	content: ''; margin-left: auto; width: 15px; height: 15px; flex: 0 0 auto; background: var(--k-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 560px) {
	.kvali-sortdd__btn { padding: 10px 13px; font-size: 12.5px; }
	.kvali-sortdd__panel { max-width: calc(100vw - 20px); }
	.kvali-sortdd__opt { padding: 13px 14px; font-size: 15px; }
}

/* v1.42.0: Produktside - scene bag billedet, koebs-kort i glas, roed CTA */
.woocommerce div.product { display: block; }
.kvali-content > .product { padding-top: 6px; }

/* Billedet paa en scene med bloed gloed bagved */
.woocommerce div.product div.images {
	position: relative; overflow: hidden; padding: 34px;
	background:
		radial-gradient(340px 300px at 18% 12%, rgba(208, 18, 26, .08), transparent 70%),
		radial-gradient(300px 280px at 85% 88%, rgba(224, 165, 42, .10), transparent 70%),
		#fff;
}
.woocommerce div.product div.images::after {
	content: ''; position: absolute; left: 10%; right: 10%; bottom: 26px; height: 26px;
	background: radial-gradient(50% 100% at 50% 50%, rgba(23, 24, 28, .16), transparent 75%);
	pointer-events: none;
}
.woocommerce div.product div.images img { position: relative; z-index: 1; background: transparent; }

/* Hoejre kolonne */
.kvali-pp__brand {
	display: block; font-size: 12px; font-weight: 900; letter-spacing: .18em;
	text-transform: uppercase; color: var(--k-red); margin-bottom: 6px;
}
.woocommerce div.product .product_title { line-height: 1.04; margin-bottom: 10px; }
.woocommerce div.product p.price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; font-size: 34px; margin: 2px 0 4px; }
.woocommerce div.product p.price del { font-size: 15px; font-weight: 700; }
.woocommerce div.product p.price ins { background: #ffdd33; padding: 2px 10px; margin: -2px -4px; border-radius: 8px; box-decoration-break: clone; }
.kvali-pp__save {
	display: inline-block; margin: 0 0 10px; padding: 5px 12px; border-radius: 999px;
	background: var(--k-red); color: #fff; font-size: 12.5px; font-weight: 800; letter-spacing: .02em;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 14.5px; line-height: 1.7; color: #3f4147; max-width: 560px;
}

/* Lager og levering */
.kvali-pp__stockline { display: flex; align-items: center; gap: 8px; margin: 18px 0 10px; font-size: 13.5px; }
.kvali-pp__stockline b { font-weight: 900; text-transform: uppercase; letter-spacing: .05em; font-size: 12.5px; }
.kvali-pp__stockline span { color: #6a6d75; font-weight: 600; }
.kvali-pp__stockline i { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.kvali-pp__stockline--in b { color: var(--k-green); }
.kvali-pp__stockline--in i { background: var(--k-green); box-shadow: 0 0 0 0 rgba(46, 155, 79, .5); animation: kvpp-pulse 2s infinite; }
.kvali-pp__stockline--out b { color: var(--k-red); }
.kvali-pp__stockline--out i { background: var(--k-red); }
@keyframes kvpp-pulse { 0% { box-shadow: 0 0 0 0 rgba(46, 155, 79, .45); } 70% { box-shadow: 0 0 0 9px rgba(46, 155, 79, 0); } 100% { box-shadow: 0 0 0 0 rgba(46, 155, 79, 0); } }

/* Koebs-kortet (wrapperen findes allerede som .kvali-add-cart) */
.woocommerce div.product .kvali-add-cart {
	background: rgba(255, 255, 255, .82);
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 18px; padding: 18px;
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), var(--k-shadow-card);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.woocommerce div.product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 0; padding: 0; border: 0; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.kvali-qtybox {
	display: inline-flex; align-items: center; height: 52px;
	border: 1px solid var(--k-gray-light); border-radius: 999px; background: #fff; overflow: hidden;
}
.kvali-qtybox button {
	width: 42px; height: 100%; border: 0; background: transparent; cursor: pointer;
	font-family: var(--k-font); font-size: 19px; font-weight: 800; color: var(--k-dark); line-height: 1;
	transition: background var(--k-transition);
}
.kvali-qtybox button:hover { background: var(--k-bg); }
.woocommerce div.product form.cart .kvali-qtybox .qty {
	width: 36px; height: 100%; border: 0; padding: 0; text-align: center;
	font-family: var(--k-font); font-size: 15px; font-weight: 800; color: var(--k-dark);
	-moz-appearance: textfield; appearance: textfield; outline: none;
}
.kvali-qtybox .qty::-webkit-outer-spin-button, .kvali-qtybox .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product .kvali-add-cart .button {
	flex: 1 1 auto; height: 52px; padding: 0 26px; border: 0; border-radius: 999px;
	background: var(--k-red) !important; color: #fff !important;
	font-family: var(--k-font); font-size: 14.5px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(208, 18, 26, .30);
	transition: background var(--k-transition), transform var(--k-transition), box-shadow var(--k-transition);
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product .kvali-add-cart .button:hover {
	background: var(--k-red-dark) !important; transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(208, 18, 26, .38);
}

/* USP'er og betaling under kortet */
.kvali-pp__trust { margin: 16px 0 0; }
.kvali-pp__usps { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 7px; }
.kvali-pp__usps li { position: relative; padding-left: 26px; font-size: 13.5px; font-weight: 600; color: #3f4147; }
.kvali-pp__usps li::before {
	content: ''; position: absolute; left: 0; top: 1px; width: 17px; height: 17px; border-radius: 50%;
	background: rgba(46, 155, 79, .12);
}
.kvali-pp__usps li::after {
	content: ''; position: absolute; left: 4px; top: 6px; width: 9px; height: 5px;
	border: solid var(--k-green); border-width: 0 0 2px 2px; transform: rotate(-45deg);
}
.kvali-pp__pay { display: flex; gap: 7px; flex-wrap: wrap; }
.kvali-pp__pay .kvali-pay { height: 28px; padding: 0 10px; border: 1px solid var(--k-gray-light); font-size: 11px; }
.kvali-pp__pay .kvali-pay:hover { transform: none; }
.kvali-pp__pay .kvali-pay--mastercard i { transform: scale(.8); }
.woocommerce div.product .product_meta { margin-top: 16px; }

/* Faner som pille-omskifter + panel som kort */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: inline-flex; gap: 6px; background: #fff; border-radius: 999px; padding: 5px;
	box-shadow: var(--k-shadow-card);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: 9px 18px; border-radius: 999px;
	font-size: 12.5px; font-weight: 800; letter-spacing: .04em; color: var(--k-gray);
	transition: background var(--k-transition), color var(--k-transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--k-dark); color: #fff; box-shadow: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--k-dark); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel {
	background: #fff; border-radius: var(--k-radius); box-shadow: var(--k-shadow-card);
	padding: clamp(22px, 3vw, 40px); margin-top: 14px;
}

@media (max-width: 900px) {
	.woocommerce div.product div.images { padding: 22px; }
	.woocommerce div.product p.price { font-size: 28px; }
	.woocommerce div.product form.cart { flex-wrap: wrap; }
	.woocommerce div.product form.cart .button.single_add_to_cart_button { flex: 1 1 100%; }
}

/* v1.43.1: Produktside v2 - LYS hero-scene med varm gloed, chips og koebskort */
.kvali-pphero {
	position: relative; overflow: hidden; isolation: isolate;
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(26px, 4vw, 54px);
	align-items: start;
	background:
		radial-gradient(640px 480px at -6% -12%, rgba(208, 18, 26, .07), transparent 65%),
		radial-gradient(560px 460px at 104% 108%, rgba(224, 165, 42, .10), transparent 65%),
		radial-gradient(420px 380px at 60% 118%, rgba(42, 123, 200, .05), transparent 70%),
		#fff;
	border-radius: 28px; padding: clamp(24px, 3.4vw, 48px);
	box-shadow: var(--k-shadow);
}
.woocommerce div.product .kvali-pphero div.images,
.woocommerce div.product .kvali-pphero div.summary { width: 100% !important; float: none !important; margin: 0; }
.kvali-pphero div.images { align-self: start; }
.kvali-pphero .woocommerce-product-gallery__wrapper,
.kvali-pphero .woocommerce-product-gallery img { width: 100% !important; }
.woocommerce div.product .kvali-pphero div.images {
	box-shadow: none; border: 1px solid var(--k-gray-light);
}

/* Fakta-chips */
.kvali-pp__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 4px; }
.kvali-pp__chip {
	display: inline-flex; flex-direction: column; gap: 2px;
	padding: 9px 14px; border-radius: 12px;
	background: var(--k-bg); border: 1px solid var(--k-gray-light);
	font-size: 12.5px; font-weight: 700; color: var(--k-dark); line-height: 1.35;
}
.kvali-pp__chip b {
	font-size: 9.5px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase;
	color: var(--k-gray);
}

/* Koebskortet som glas-flise paa scenen */
.woocommerce div.product .kvali-pphero .kvali-add-cart {
	background: rgba(255, 255, 255, .38);
	border: 1px solid rgba(255, 255, 255, .85);
	-webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), 0 10px 28px rgba(23, 24, 28, .07);
}
.kvali-pphero .kvali-qtybox { background: transparent; border: 0; }
.kvali-pphero .kvali-qtybox button {
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .85);
	transition: background var(--k-transition), border-color var(--k-transition);
}
.kvali-pphero .kvali-qtybox button:hover { background: #fff; border-color: var(--k-gray-light); }
.woocommerce div.product form.cart .kvali-pphero .kvali-qtybox .qty,
.kvali-pphero form.cart .kvali-qtybox .qty { background: transparent; }

.woocommerce div.product .woocommerce-tabs { margin-top: 30px; }

@media (max-width: 900px) {
	.kvali-pphero { grid-template-columns: 1fr; border-radius: 20px; padding: 16px 16px 22px; gap: 20px; }
}

/* v1.44.0: Produktside v3 - brandlogo, prisblok, sticker, varenummer, leveringspanel */
.kvali-pp__brand { display: none; }
.woocommerce div.product .product_meta { display: none; }

/* Leverandoer-logo oeverst til hoejre paa scenen */
.kvali-pp__brandlogo {
	position: absolute; top: clamp(18px, 2.4vw, 34px); right: clamp(18px, 2.4vw, 34px); z-index: 5;
	display: inline-flex; flex-direction: column; align-items: center; gap: 3px;
	padding: 10px 16px 8px; border-radius: 14px; text-decoration: none;
	background: #fff; border: 1px solid var(--k-gray-light); box-shadow: var(--k-shadow-card);
	transition: border-color var(--k-transition), transform var(--k-transition), box-shadow var(--k-transition);
}
.kvali-pp__brandlogo:hover { border-color: var(--k-red); transform: translateY(-2px); box-shadow: var(--k-shadow-card-hover); text-decoration: none; }
.kvali-pp__brandlogo img { max-height: 30px; max-width: 110px; width: auto; object-fit: contain; display: block; }
.kvali-pp__brandlogo b { font-size: 14px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--k-dark); }
.kvali-pp__brandlogo span { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--k-red); }

/* Varenummer stort under titlen */
.kvali-pp__sku { font-size: 14.5px; font-weight: 600; color: #55585f; margin: 0 0 12px; }
.kvali-pp__sku b { font-weight: 800; color: var(--k-dark); }

/* Prisblok: foerpris over, tilbudspris i temaets typografi */
.woocommerce div.product .kvali-pphero p.price { flex-direction: column; align-items: flex-start; gap: 0; margin: 4px 0 8px; }
.woocommerce div.product .kvali-pphero p.price del { order: -1; font-size: 14.5px; font-weight: 700; color: #8a8d94; }
.woocommerce div.product .kvali-pphero p.price ins,
.woocommerce div.product .kvali-pphero p.price > .woocommerce-Price-amount {
	background: none; padding: 0; margin: 0; border-radius: 0;
	font-size: clamp(30px, 3vw, 40px); font-weight: 900; letter-spacing: -.02em; color: var(--k-red); line-height: 1.05;
}
.kvali-pp__save { display: none; }

/* Spar-sticker paa billedet */
.kvali-pp__sticker {
	position: absolute; top: 16px; right: 16px; z-index: 6;
	background: var(--k-red); color: #fff; border-radius: 999px; padding: 9px 15px;
	font-size: 13px; font-weight: 900; letter-spacing: .02em; white-space: nowrap;
	transform: rotate(6deg);
	box-shadow: 0 10px 22px rgba(208, 18, 26, .35);
}

/* Antal + knap flugter */
.woocommerce div.product .kvali-pphero form.cart .button.single_add_to_cart_button,
.woocommerce div.product .kvali-pphero .kvali-add-cart .button { box-shadow: none; }
.woocommerce div.product .kvali-pphero form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product .kvali-pphero .kvali-add-cart .button:hover { box-shadow: none; }
.woocommerce div.product .kvali-pphero form.cart {
	align-items: center;
	background: transparent !important; box-shadow: none !important;
	border: 0 !important; padding: 0 !important; border-radius: 0;
}
.woocommerce div.product .kvali-pphero form.cart div.quantity { display: flex; align-items: center; }
.woocommerce div.product .kvali-pphero form.cart .button.single_add_to_cart_button { margin: 0; align-self: center; }
.kvali-pphero .kvali-qtybox { vertical-align: middle; }

/* Lagerlinjen viser kun status - levering bor i panelet */
.kvali-pp__stockline span { display: none; }

/* Leverings- og afhentningspanel */
.kvali-pp__ship { margin: 14px 0 0; border: 1px solid var(--k-gray-light); border-radius: 16px; background: #fff; overflow: hidden; }
.kvali-pp__shiprow { display: flex; align-items: center; gap: 13px; padding: 13px 16px; }
.kvali-pp__shiprow + .kvali-pp__shiprow { border-top: 1px solid var(--k-bg); }
.kvali-pp__shiprow b { display: block; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--k-dark); }
.kvali-pp__shiprow span { display: block; font-size: 13px; font-weight: 600; color: #55585f; margin-top: 1px; }
.kvali-pp__shipico { position: relative; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; background: var(--k-bg); }
.kvali-pp__shipico::before {
	content: ''; position: absolute; inset: 8px; background: var(--k-dark);
	-webkit-mask: var(--kv-shipico) center / contain no-repeat; mask: var(--kv-shipico) center / contain no-repeat;
}
.kvali-pp__shipico--truck { --kv-shipico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9 1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E"); }
.kvali-pp__shipico--store { --kv-shipico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4v2h16V4zm1 10v-2l-1-5H4l-1 5v2h1v6h10v-6h4v6h2v-6h1zm-9 4H6v-4h6v4z'/%3E%3C/svg%3E"); }

/* Titlen skal ikke loebe ind under brandlogoet */
@media (min-width: 901px) {
	.woocommerce div.product .kvali-pphero .product_title,
	.kvali-pphero .kvali-pp__sku { padding-right: 210px; }
	/* v1.70.6: stoerre producent-logo paa computer */
	.kvali-pp__brandlogo { padding: 12px 20px 9px; gap: 5px; }
	.kvali-pp__brandlogo img { max-height: 50px; max-width: 170px; }
}

/* Fragt-USP'erne staar allerede i leveringspanelet - vis kun resten */
.kvali-pphero .kvali-pp__usps li:nth-child(-n+2) { display: none; }
.kvali-pphero .kvali-pp__usps { margin-bottom: 10px; }

@media (max-width: 900px) {
	.kvali-pp__brandlogo { top: 26px; right: 26px; padding: 8px 12px 6px; }
	.kvali-pp__brandlogo img { max-height: 24px; }
	.kvali-pp__sticker { top: 24px; left: 24px; right: auto; transform: rotate(-5deg); }
}

/* v1.45.0: Antal+knap som een samlet pille, normalt produktbillede, lagerfarver */
.woocommerce div.product div.images {
	background: #fff;
}
.woocommerce div.product div.images::after { display: none; }

/* Antal og knap smelter sammen */
.woocommerce div.product .kvali-pphero form.cart { gap: 0; }
.kvali-pphero .kvali-qtybox {
	background: #fff; border: 1px solid var(--k-gray-light); border-right: 0;
	border-radius: 999px 0 0 999px; height: 52px; padding: 0 2px 0 6px;
}
.kvali-pphero .kvali-qtybox button {
	width: 38px; height: 38px; border-radius: 50%;
	background: transparent; border: 0;
}
.kvali-pphero .kvali-qtybox button:hover { background: var(--k-bg); border: 0; }
.woocommerce div.product .kvali-pphero form.cart .button.single_add_to_cart_button {
	border-radius: 0 999px 999px 0;
}

/* Alle USP-flueben skal vises igen */
.kvali-pphero .kvali-pp__usps li:nth-child(-n+2) { display: block; }

/* Lagerfarver: leverandoer-forsendelse er gul, ikke groen */
/* v1.62.0: kun langsomme leverandoerprofiler er gule - leverandoer lager er groent som standard */
.kvali-pp__stockline--slow b { color: #b7791f; }
.kvali-pp__stockline--slow i { background: #e0a52a; animation: none; box-shadow: none; }

/* v1.46.0: Lagerstatus v2 - knaphed, kurv-linjer og samlet leveringslinje */
.kvali-pp__few {
	font-style: normal; font-size: 12px; font-weight: 800; color: var(--k-red);
	background: rgba(208, 18, 26, .08); border-radius: 999px; padding: 3px 10px;
}
.kvali-mc__loc { color: #8a8d94; font-size: 11px; }
.kvali-mc__lagerline {
	display: flex; align-items: center; gap: 8px;
	font-size: 12.5px; font-weight: 600; color: #55585f; padding-bottom: 2px;
}
.kvali-mc__lagerline[hidden] { display: none; }
.kvali-mc__lagerline i {
	width: 16px; height: 16px; flex: 0 0 auto; background: var(--k-dark);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9 1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9 1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* v1.46.1: Udsolgt - ingen dobbelt besked og ingen leveringsloefter */
.woocommerce div.product .kvali-pphero .summary p.stock,
.woocommerce div.product .kvali-pphero .summary .stock { display: none; }

/* v1.46.4: Antal paa eget lager vises paa lagerlinjen */
.kvali-pp__qty {
	font-style: normal; font-size: 12px; font-weight: 700; color: #55585f;
	background: var(--k-bg); border-radius: 999px; padding: 3px 10px;
}

/* v1.47.0: Variantvaelger - swatch-piller ved faa muligheder, soegbar dropdown ved mange */
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart {
	display: flex; align-items: stretch; gap: 10px;
}
.woocommerce div.product .kvali-pphero form.cart.variations_form .woocommerce-variation-add-to-cart { gap: 0; }
.kvali-pphero .single_variation_wrap { margin-top: 14px; }
.kvali-pphero .woocommerce-variation-price { margin: 0 0 10px; }
.woocommerce div.product .kvali-pphero .woocommerce-variation-price span.price,
.kvali-pphero .woocommerce-variation-price .price { font-size: 22px; font-weight: 800; color: var(--k-dark); }
.kvali-pphero .woocommerce-variation-availability { display: none; }

.kvali-vars-on table.variations { display: block; margin: 0; border: 0; }
.kvali-vars-on table.variations tbody,
.kvali-vars-on table.variations tr,
.kvali-vars-on table.variations th,
.kvali-vars-on table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.kvali-vars-on table.variations tr + tr { margin-top: 14px; }
.kvali-vars-on table.variations .label label,
.kvali-vars-on table.variations th label {
	display: block; margin: 0 0 8px;
	font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: #55585f;
}
.woocommerce div.product form.cart.kvali-vars-on .variations select,
.kvali-vars-on table.variations select { display: none; }
.kvali-vars-on .reset_variations { display: none !important; }

.kvali-varsws { display: flex; flex-wrap: wrap; gap: 8px; }
.kvali-varsw {
	appearance: none; -webkit-appearance: none; cursor: pointer;
	background: #fff; color: var(--k-dark);
	border: 1px solid var(--k-gray-light); border-radius: 999px;
	padding: 10px 18px; font-family: var(--k-font); font-size: 13px; font-weight: 700; line-height: 1;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.kvali-varsw:hover { border-color: var(--k-dark); }
.kvali-varsw.is-active { background: var(--k-dark); border-color: var(--k-dark); color: #fff; }
.kvali-varsw.is-off { opacity: .35; cursor: not-allowed; text-decoration: line-through; }

.kvali-vardd { position: relative; max-width: 380px; }
.kvali-vardd__btn {
	appearance: none; -webkit-appearance: none; cursor: pointer; width: 100%; text-align: left;
	background: #fff; color: #8a8d94; border: 1px solid var(--k-gray-light); border-radius: 14px;
	padding: 13px 44px 13px 16px; font-family: var(--k-font); font-size: 14px; font-weight: 700;
	position: relative; transition: border-color .15s ease;
}
.kvali-vardd__btn:hover, .kvali-vardd.is-open .kvali-vardd__btn { border-color: var(--k-dark); }
.kvali-vardd.has-val .kvali-vardd__btn { color: var(--k-dark); }
.kvali-vardd__btn::after {
	content: ''; position: absolute; right: 17px; top: 50%; width: 8px; height: 8px;
	border-right: 2px solid #8a8d94; border-bottom: 2px solid #8a8d94;
	transform: translateY(-70%) rotate(45deg); transition: transform .15s ease;
}
.kvali-vardd.is-open .kvali-vardd__btn::after { transform: translateY(-30%) rotate(-135deg); }
.kvali-vardd__panel {
	position: absolute; z-index: 90; top: calc(100% + 6px); left: 0; right: 0;
	display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border: 1px solid var(--k-gray-light); border-radius: 14px;
	box-shadow: 0 18px 44px rgba(15, 17, 21, .16);
}
.kvali-vardd__panel[hidden] { display: none; }
.kvali-vardd__search {
	margin: 10px 10px 6px; padding: 9px 12px;
	border: 1px solid var(--k-gray-light); border-radius: 10px;
	font-family: var(--k-font); font-size: 13px; outline: none;
}
.kvali-vardd__search:focus { border-color: var(--k-dark); }
.kvali-vardd__list { max-height: 262px; overflow: auto; overscroll-behavior: contain; padding: 4px 0 6px; }
.kvali-vardd__opt {
	appearance: none; -webkit-appearance: none; display: block; width: 100%; text-align: left; cursor: pointer;
	background: transparent; border: 0; padding: 9px 16px;
	font-family: var(--k-font); font-size: 13.5px; color: var(--k-dark);
}
.kvali-vardd__opt:hover { background: var(--k-bg); }
.kvali-vardd__opt.is-active { font-weight: 800; }
.kvali-vardd__opt.is-active::after { content: ' \2713'; color: var(--k-green); }
.kvali-vardd__opt.is-off { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.kvali-vardd__opt[hidden] { display: none; }

@media (max-width: 900px) {
	.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
	.kvali-vardd { max-width: none; }
	.kvali-vardd__list { max-height: 46vh; }
}

/* v1.47.2: Variant-dropdown skal ligge over levering/afhentning og USP'er */
.kvali-vardd.is-open { z-index: 100; }
.woocommerce div.product .kvali-add-cart:has(.kvali-vardd.is-open) { position: relative; z-index: 140; }
.woocommerce div.product form.cart.kvali-vars-on:has(.kvali-vardd.is-open) { position: relative; z-index: 140; }

/* v1.48.0: Variantvalg mere synligt - stoerre piller, tydelig ramme og flueben */
.kvali-vars-on table.variations .label label,
.kvali-vars-on table.variations th label { font-size: 12px; color: var(--k-dark); }
.kvali-varsw {
	border: 2px solid #cfd3da; padding: 12px 20px; font-size: 14px;
}
.kvali-varsw:hover { border-color: var(--k-dark); transform: translateY(-1px); }
.kvali-varsw.is-active {
	border-color: var(--k-dark); box-shadow: 0 6px 16px rgba(15, 17, 21, .18);
}
.kvali-varsw.is-active::before { content: '\2713'; margin-right: 7px; font-weight: 900; }

/* v1.48.1: Variationspris - foerpris over, salgspris roed, ingen understregning */
.woocommerce div.product .kvali-pphero .woocommerce-variation-price del {
	display: block; font-size: 14px; font-weight: 700; color: var(--k-gray); margin-bottom: 2px;
}
.woocommerce div.product .kvali-pphero .woocommerce-variation-price ins {
	text-decoration: none; color: var(--k-red);
}

/* v1.49.1: Kort beskrivelse klippes til 3 linjer med Laes mere-knap */
.kvali-pphero .woocommerce-product-details__short-description {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.kvali-pphero .woocommerce-product-details__short-description.is-open {
	display: block; overflow: visible;
}
.kvali-pp__more {
	appearance: none; -webkit-appearance: none; background: none; border: 0; padding: 0;
	cursor: pointer; font-family: var(--k-font); font-size: 13px; font-weight: 800;
	color: var(--k-dark); text-decoration: underline; text-underline-offset: 3px; margin: 4px 0 0;
}
.kvali-pp__more:hover { color: var(--k-red); }

/* v1.49.2: USP'erne staar side om side i to kolonner */
.kvali-pp__usps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; }
.kvali-pp__usps li { font-size: 12.5px; padding-left: 24px; }
.kvali-pp__usps li::before { width: 16px; height: 16px; }
.kvali-pp__usps li::after { left: 4px; top: 6px; width: 8px; height: 4px; }

/* v1.50.0: Billedgalleri - miniaturer under hovedbilledet ved flere billeder */
.kvali-gal-on .woocommerce-product-gallery__wrapper { display: block; }
.woocommerce div.product div.images.kvali-gal-on .woocommerce-product-gallery__image,
.woocommerce div.product div.images.kvali-gal-on .woocommerce-product-gallery__image:nth-child(n+2) {
	display: none; width: 100%;
}
.woocommerce div.product div.images.kvali-gal-on .woocommerce-product-gallery__image.is-current {
	display: block; width: 100%;
}
.kvali-gal__thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.kvali-gal__thumb {
	appearance: none; -webkit-appearance: none; padding: 0; cursor: pointer;
	width: 64px; height: 64px; border: 2px solid var(--k-gray-light); border-radius: 12px;
	background: #fff; overflow: hidden; transition: border-color .15s ease;
}
.kvali-gal__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kvali-gal__thumb:hover { border-color: var(--k-gray); }
.kvali-gal__thumb.is-active { border-color: var(--k-dark); }

/* v1.50.3: Breadcrumbs - let laeselig sti, aktuel side i fed */
.woocommerce .woocommerce-breadcrumb {
	display: flex; flex-wrap: wrap; align-items: center; gap: 5px 12px;
	font-size: 13.5px; font-weight: 700; color: var(--k-dark);
	letter-spacing: 0; line-height: 1.5; margin: 22px 0;
}
.woocommerce .woocommerce-breadcrumb a { color: #3f4147; font-weight: 500; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--k-red); }
.kvali-bc__sep { font-style: normal; font-weight: 400; font-size: 14px; color: #9a9da5; }

/* v1.51.0: Variantprisen vises i den store pris oeverst - ikke som ekstra linje under varianterne */
.woocommerce div.product .kvali-pphero .woocommerce-variation-price { display: none; }

/* v1.51.1/1.51.2: "Fra" paa produktsiden i samme stoerrelse og farve som foerprisen */
.woocommerce div.product p.price .kvali-fra {
	display: block; font-size: 14.5px; font-weight: 700; color: #8a8d94; line-height: 1.2;
}

/* v1.51.4: Mobil - antal og knap paa SAMME linje som een samlet pille */
@media (max-width: 900px) {
	.woocommerce div.product .kvali-pphero form.cart { flex-wrap: nowrap; }
	.woocommerce div.product .kvali-pphero form.cart.variations_form { display: block; }
	.woocommerce div.product .kvali-pphero form.cart.variations_form .woocommerce-variation-add-to-cart { flex-wrap: nowrap; }
	.kvali-pphero .kvali-qtybox { flex: 0 0 auto; border-radius: 999px 0 0 999px; }
	.woocommerce div.product .kvali-pphero form.cart .button.single_add_to_cart_button {
		flex: 1 1 auto; min-width: 0; padding: 0 12px; font-size: 13px; letter-spacing: .03em;
		border-radius: 0 999px 999px 0;
	}
	.kvali-pp__usps { gap: 8px; }
	.kvali-pp__usps li { font-size: 11.5px; padding-left: 22px; }
}

/* v1.51.5/1.51.6: Spar-badge som glas-pille oppe i hjoernet */
.kvali-pp__sticker {
	top: 10px; right: 10px; transform: none;
	background: rgba(255, 255, 255, .22);
	border: 1px solid rgba(255, 255, 255, .55);
	color: var(--k-red);
	border-radius: 999px; padding: 8px 15px;
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .9), 0 4px 14px rgba(15, 17, 21, .10);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
@media (max-width: 900px) {
	.kvali-pp__sticker { top: 10px; right: 10px; left: auto; transform: none; }
}

/* v1.52.0: Spar-badge stilarter (vaelges under Tilpas) */
.kvali-pp__sticker--roed {
	background: var(--k-red); border-color: var(--k-red); color: #fff;
	-webkit-backdrop-filter: none; backdrop-filter: none;
	box-shadow: 0 4px 14px rgba(208, 18, 26, .25);
}
.kvali-pp__sticker--hjoerne {
	top: 0; right: 0; border: 0; border-radius: 0 var(--k-radius) 0 12px;
	background: var(--k-red); color: #fff;
	-webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none;
}
@media (max-width: 900px) {
	.kvali-pp__sticker--hjoerne { top: 0; right: 0; }
}

/* v1.53.0: Spar-badge - skygge-styrke og hjoerne-placering (Tilpas > Produktside) */
.kvali-pp__sticker--sh-ingen { box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .9); }
.kvali-pp__sticker--sh-let { box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .9), 0 4px 14px rgba(15, 17, 21, .10); }
.kvali-pp__sticker--sh-mellem { box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .9), 0 8px 22px rgba(15, 17, 21, .24); }
.kvali-pp__sticker--sh-kraftig { box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .9), 0 14px 34px rgba(15, 17, 21, .38); }

.kvali-pp__sticker--pos-tl { top: 10px; bottom: auto; left: 10px; right: auto; }
.kvali-pp__sticker--pos-tr { top: 10px; bottom: auto; right: 10px; left: auto; }
.kvali-pp__sticker--pos-br { top: auto; bottom: 10px; right: 10px; left: auto; }
.kvali-pp__sticker--pos-bl { top: auto; bottom: 10px; left: 10px; right: auto; }

.kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-tr { top: -1px; right: -1px; border-radius: 0 var(--k-radius) 0 12px; }
.kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-tl { top: -1px; left: -1px; border-radius: var(--k-radius) 0 12px 0; }
.kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-br { bottom: -1px; right: -1px; border-radius: 12px 0 var(--k-radius) 0; }
.kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-bl { bottom: -1px; left: -1px; border-radius: 0 12px 0 var(--k-radius); }

/* v1.54.6: Spar-badgen viger automatisk for Kvali Core-badges i samme hjoerne */
div.images:has(.kvali-badge-top-right) .kvali-pp__sticker--pos-tr { top: 96px; }
div.images:has(.kvali-badge-top-left) .kvali-pp__sticker--pos-tl { top: 96px; }
div.images:has(.kvali-badge-bottom-right) .kvali-pp__sticker--pos-br { bottom: 96px; }
div.images:has(.kvali-badge-bottom-left) .kvali-pp__sticker--pos-bl { bottom: 96px; }
div.images:has(.kvali-badge-top-right) .kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-tr { top: 88px; }
div.images:has(.kvali-badge-top-left) .kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-tl { top: 88px; }
div.images:has(.kvali-badge-bottom-right) .kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-br { bottom: 88px; }
div.images:has(.kvali-badge-bottom-left) .kvali-pp__sticker--hjoerne.kvali-pp__sticker--pos-bl { bottom: 88px; }

/* v1.55.0: Pris-raekken - pris, foerpris og SPAR-chip paa een linje */
.woocommerce div.product .kvali-pphero .summary > p.price {
	display: flex; flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 6px 12px;
}
.woocommerce div.product .kvali-pphero .summary > p.price .kvali-fra { flex: 0 0 100%; margin: 0; }
.woocommerce div.product .kvali-pphero .summary > p.price del {
	display: inline; order: 2; margin: 0; font-size: 14.5px; font-weight: 700; color: #8a8d94;
}
.woocommerce div.product .kvali-pphero .summary > p.price ins { order: 1; }
.kvali-savechip {
	order: 3; display: inline-block;
	background: var(--k-green); color: #fff;
	border-radius: 8px; padding: 4px 10px;
	font-size: 13px; font-weight: 800; letter-spacing: .03em; line-height: 1.2;
	white-space: nowrap;
}

/* v1.56.0: SPAR-kortets stilarter og stoerrelser (Tilpas > Produktside) */
.kvali-savechip--roed { background: var(--k-red); }
.kvali-savechip--sort { background: var(--k-dark); }
.kvali-savechip--glas {
	background: rgba(255, 255, 255, .35); color: var(--k-green);
	border: 1px solid rgba(46, 155, 79, .35);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.kvali-savechip--lille { font-size: 11px; padding: 3px 8px; border-radius: 6px; }
.kvali-savechip--stor { font-size: 15px; padding: 6px 14px; border-radius: 10px; }

/* v1.57.0: Produktbilledet fylder hele kortet - fritlagte billeder faar svag farvet baggrund */
.woocommerce div.product .kvali-pphero div.images { padding: 0; overflow: hidden; }
.woocommerce div.product .kvali-pphero div.images .woocommerce-product-gallery__image img {
	display: block; width: 100%; height: auto; border-radius: 0;
}
.woocommerce div.product .kvali-pphero div.images .kvali-gal__thumbs { padding: 0 12px 12px; }
.woocommerce div.product .kvali-pphero div.images.kvali-gal-cutout {
	background: var(--kv-tint, #eaf1f8);
	padding: clamp(18px, 4%, 34px);
}
.woocommerce div.product .kvali-pphero div.images.kvali-gal-cutout .kvali-gal__thumbs { padding: 12px 0 0; }

/* v1.58.0/1.58.2: Arkiv - fritlagte kortbilleder med svag baggrundsfarve paa wrapper */
.woocommerce ul.products li.product .kvali-tint-wrap {
	display: block; width: 100%;
	background: var(--kv-tint, #eaf1f8); border-radius: 10px;
	margin-bottom: 12px;
}

/* v1.58.1: Drop-shadow paa fritlagte produkter, saa de popper mod pastelfarven */
.woocommerce div.product .kvali-pphero div.images.kvali-gal-cutout .woocommerce-product-gallery__image img {
	filter: drop-shadow(0 16px 24px rgba(15, 17, 21, .20));
}
.woocommerce ul.products li.product .kvali-tint-wrap img {
	background: transparent;
	filter: drop-shadow(0 8px 14px rgba(15, 17, 21, .18));
}

/* v1.59.0/1.59.1: Gulvberegneren ejer koebsflowet - fuld bredde, loes antal-boks skjules */
.woocommerce div.product .kvali-pphero form.cart:has(.kvali-m2-calculator) { display: block; }
.kvali-pphero form.cart .kvali-m2-calculator { width: 100%; min-width: 0; }
.woocommerce div.product .kvali-pphero form.cart:has(.kvali-m2-calculator) > div.quantity { display: none; }
.woocommerce div.product .kvali-pphero form.cart .kvali-m2-calculator .button.single_add_to_cart_button {
	width: 100%; border-radius: 999px;
}

/* v1.59.3: Gulvberegneren regner med border-box, saa den holder sig inde i flisen */
.kvali-m2-calculator,
.kvali-m2-calculator * { box-sizing: border-box; }

/* v1.59.4: Gulvberegneren ERSTATTER den hvide koebeflise naar den er aktiv paa produktet */
.woocommerce div.product .kvali-add-cart:has(.kvali-m2-calculator) {
	background: none; border: 0; padding: 0; border-radius: 0; box-shadow: none;
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.kvali-add-cart form.cart .kvali-m2-calculator { margin-top: 0 !important; margin-bottom: 0 !important; border-radius: 18px !important; }

/* v1.60.0: Minikurv - varenummer og gulv-linjer (pakker/m2, levering) */
.kvali-mc__sku { color: #8a8d94; font-weight: 600; font-size: 11px; letter-spacing: .01em; }
.kvali-mc__extra { color: var(--k-dark); font-weight: 600; font-size: 11.5px; }

/* v1.61.0: Kompakte kort til tilbehoer (upsells) og populaere produkter - 6 pr. raekke */
.woocommerce .up-sells > h2, .woocommerce .kvali-popular > h2 { font-size: 22px; margin: 0 0 14px; }
.woocommerce .up-sells, .woocommerce .kvali-popular { margin-top: 44px; }
.woocommerce .up-sells ul.products, .woocommerce .kvali-popular ul.products {
	grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px;
}
.woocommerce .up-sells ul.products li.product, .woocommerce .kvali-popular ul.products li.product { padding: 10px 11px 9px; border-radius: 14px; }
.woocommerce .up-sells ul.products[class*="columns-"] li.product, .woocommerce .kvali-popular ul.products[class*="columns-"] li.product { width: 100%; margin: 0; float: none; }
.woocommerce .up-sells ul.products li.product a img, .woocommerce .kvali-popular ul.products li.product a img { margin-bottom: 7px; border-radius: 10px; }
.woocommerce .up-sells ul.products li.product .kvali-tint-wrap, .woocommerce .kvali-popular ul.products li.product .kvali-tint-wrap { margin-bottom: 8px; border-radius: 10px; }
.woocommerce .up-sells ul.products li.product .kvali-card__brand, .woocommerce .kvali-popular ul.products li.product .kvali-card__brand { font-size: 9px; letter-spacing: .1em; margin-bottom: 2px; }
.woocommerce .up-sells ul.products li.product .woocommerce-loop-product__title, .woocommerce .kvali-popular ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px; line-height: 1.3; height: 2.6em; margin-bottom: 4px; }
.woocommerce .up-sells ul.products li.product .kvali-card__sku, .woocommerce .kvali-popular ul.products li.product .kvali-card__sku { display: none; }
.woocommerce .up-sells ul.products li.product .price, .woocommerce .kvali-popular ul.products li.product .price { font-size: 14px; padding-right: 40px; min-height: 34px; }
.woocommerce .up-sells ul.products li.product .price del, .woocommerce .kvali-popular ul.products li.product .price del { font-size: 10.5px; }
.woocommerce .up-sells ul.products li.product .price .kvali-fra, .woocommerce .kvali-popular ul.products li.product .price .kvali-fra { font-size: 10.5px; }
.woocommerce .up-sells ul.products li.product .button, .woocommerce .kvali-popular ul.products li.product .button { width: 34px; height: 34px; right: 10px; bottom: 10px; border-radius: 10px; }
.woocommerce .up-sells ul.products li.product .button::before, .woocommerce .kvali-popular ul.products li.product .button::before { width: 16px; height: 16px; margin: 9px auto; }
.woocommerce .up-sells ul.products li.product .kvali-cardstock, .woocommerce .kvali-popular ul.products li.product .kvali-cardstock { margin-right: 40px; font-size: 10.5px; }
.woocommerce .up-sells ul.products li.product .kvali-saleflash, .woocommerce .kvali-popular ul.products li.product .kvali-saleflash { font-size: 11px; padding: 4px 8px; top: 7px; left: 7px; border-radius: 8px; }
.woocommerce .up-sells ul.products li.product .kvali-badge, .woocommerce .kvali-popular ul.products li.product .kvali-badge { width: 40px !important; max-width: 40px !important; }
.woocommerce .up-sells ul.products li.product .kvali-badge-bottom-left, .woocommerce .kvali-popular ul.products li.product .kvali-badge-bottom-left { top: calc(100cqw - 40px); left: 12px; }
.woocommerce .up-sells ul.products li.product .kvali-badge-bottom-right, .woocommerce .kvali-popular ul.products li.product .kvali-badge-bottom-right { top: calc(100cqw - 40px); right: 12px; }
.woocommerce .up-sells ul.products li.product .kvali-vars, .woocommerce .kvali-popular ul.products li.product .kvali-vars { display: none; }
.kvali-hotpill {
	display: inline-block; vertical-align: middle; margin: 0 6px 3px 0;
	font-size: 9.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; line-height: 1;
	color: #fff; background: var(--k-red); border-radius: 999px; padding: 4px 7px 3px;
}
.kvali-hotpill::before { content: '\1F525'; font-size: 9px; margin-right: 3px; }
@media (max-width: 1024px) {
	.woocommerce .up-sells ul.products, .woocommerce .kvali-popular ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.woocommerce .up-sells ul.products, .woocommerce .kvali-popular ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.woocommerce .up-sells > h2, .woocommerce .kvali-popular > h2 { font-size: 18px; }
}
@media (max-width: 480px) {
	.woocommerce .up-sells ul.products, .woocommerce .kvali-popular ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v1.63.0: Kurvside - temaets egen kurv ovenpaa Woo's klassiske kurv */
.woocommerce-cart .kvali-page, .woocommerce-cart .entry-content { max-width: none; }
.woocommerce-cart div.woocommerce {
	display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 26px 28px; align-items: start;
	max-width: var(--k-container); margin: 0 auto; padding: 26px 24px 40px;
}
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart div.woocommerce > .kvali-cart__head,
.woocommerce-cart div.woocommerce > .kvali-cart__more,
.woocommerce-cart div.woocommerce > .cart-empty,
.woocommerce-cart div.woocommerce > .return-to-shop { grid-column: 1 / -1; }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.kvali-cart__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 -6px; }
.kvali-cart__head h1 { font-size: 30px; font-weight: 900; letter-spacing: -.01em; margin: 0; color: var(--k-dark); }
.kvali-cart__head h1 span { font-size: 14px; font-weight: 700; color: #8a8d94; margin-left: 8px; letter-spacing: 0; }
.kvali-cart__continue { font-size: 13.5px; font-weight: 700; color: var(--k-dark); text-decoration: none; border-bottom: 2px solid var(--k-gray-light); padding-bottom: 1px; }
.kvali-cart__continue:hover { color: var(--k-red); border-color: var(--k-red); }
.kvali-cart__continue::before { content: '\2190'; margin-right: 6px; }

/* Varelinjer */
.woocommerce-cart form.woocommerce-cart-form { min-width: 0; }
.woocommerce-cart table.shop_table.cart { display: block; background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart tbody { display: flex; flex-direction: column; gap: 12px; }
.woocommerce-cart table.shop_table.cart tr.cart_item {
	display: grid; grid-template-columns: 96px minmax(0, 1fr) auto 128px 28px;
	grid-template-areas: "thumb name qty total remove" "thumb price qty total remove";
	grid-template-rows: auto 1fr; column-gap: 18px; row-gap: 4px; align-items: start;
	background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .9); border-radius: 18px;
	padding: 16px 16px 16px 16px; box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), var(--k-shadow-card);
}
.woocommerce-cart table.shop_table.cart td { display: block; border: 0; padding: 0; background: none; text-align: left; }
.woocommerce-cart table.shop_table.cart td::before { display: none !important; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail { grid-area: thumb; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 96px; height: 96px; object-fit: contain; border-radius: 12px; background: #fff; display: block; }
.woocommerce-cart table.shop_table.cart td.product-name { grid-area: name; min-width: 0; font-size: 14.5px; font-weight: 800; line-height: 1.3; color: var(--k-dark); }
.woocommerce-cart table.shop_table.cart td.product-name > a { color: var(--k-dark); text-decoration: none; }
.woocommerce-cart table.shop_table.cart td.product-name > a:hover { color: var(--k-red); }
.woocommerce-cart table.shop_table.cart td.product-name small { display: block; font-size: 12px; font-weight: 600; color: #3f4147; line-height: 1.45; margin-top: 1px; }
.woocommerce-cart table.shop_table.cart td.product-name > br { display: none; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation { display: flex; flex-wrap: wrap; gap: 2px 10px; margin: 5px 0 0; font-size: 12px; font-weight: 600; color: #3f4147; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dt { font-weight: 700; margin: 0 3px 0 0; padding: 0; float: none; clear: none; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd { margin: 0 8px 0 0; padding: 0; float: none; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd p { margin: 0; display: inline; }
.kvali-cart__meta { display: flex; flex-wrap: wrap; gap: 3px 14px; margin-top: 7px; font-size: 12px; font-weight: 600; color: #55585f; }
.kvali-cart__sku { color: #8a8d94; }
.kvali-cart__loc { display: inline-flex; align-items: center; gap: 6px; color: var(--k-green); font-weight: 700; }
.kvali-cart__loc i { width: 7px; height: 7px; border-radius: 50%; background: var(--k-green); flex: 0 0 auto; }
.kvali-cart__loc em { font-style: normal; font-weight: 600; color: #55585f; }
.kvali-cart__loc.is-slow { color: #b7791f; }
.kvali-cart__loc.is-slow i { background: #e0a52a; }
.woocommerce-cart table.shop_table.cart td.product-price { grid-area: price; align-self: end; font-size: 12.5px; font-weight: 700; color: #8a8d94; }
.woocommerce-cart table.shop_table.cart td.product-price .amount { color: #8a8d94; }
.woocommerce-cart table.shop_table.cart td.product-price::after { content: ' / stk.'; }
.woocommerce-cart table.shop_table.cart td.product-quantity { grid-area: qty; align-self: center; }
.woocommerce-cart table.shop_table.cart td.product-quantity div.quantity { margin: 0; }
.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox { height: 44px; background: #fff; border: 1px solid var(--k-gray-light); }
.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox button { width: 40px; height: 42px; border: 0; background: none; font-size: 18px; font-weight: 700; color: var(--k-dark); cursor: pointer; }
.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox button:hover { color: var(--k-red); }
.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox input.qty { width: 44px; height: 42px; border: 0; text-align: center; font-family: var(--k-font); font-size: 14px; font-weight: 800; color: var(--k-dark); background: none; -moz-appearance: textfield; appearance: textfield; }
.woocommerce-cart table.shop_table.cart td.product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.shop_table.cart td.product-quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-cart table.shop_table.cart td.product-quantity .screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); }
.woocommerce-cart table.shop_table.cart td.product-subtotal { grid-area: total; align-self: center; text-align: right; font-size: 17px; font-weight: 900; color: var(--k-dark); white-space: nowrap; }
.woocommerce-cart table.shop_table.cart td.product-remove { grid-area: remove; align-self: center; text-align: right; }
.woocommerce-cart table.shop_table.cart td.product-remove a.remove {
	display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
	background: rgba(23, 24, 28, .06); color: var(--k-dark) !important; font-size: 18px; font-weight: 400; line-height: 1; text-decoration: none;
	transition: background var(--k-transition), color var(--k-transition);
}
.woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover { background: var(--k-red); color: #fff !important; }
.woocommerce-cart table.shop_table.cart tr.cart_item.is-updating { opacity: .55; pointer-events: none; }

/* Rabatkode + skjult opdater-knap */
.woocommerce-cart table.shop_table.cart td.actions { display: block; padding: 4px 2px 0; }
.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] { display: none; }
.woocommerce-cart table.shop_table.cart td.actions .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.woocommerce-cart table.shop_table.cart td.actions .coupon label { display: none; }
.woocommerce-cart table.shop_table.cart td.actions .coupon .kvali-cart__coupontoggle {
	background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--k-font); font-size: 13.5px; font-weight: 700; color: var(--k-dark);
	border-bottom: 2px solid var(--k-gray-light); padding-bottom: 1px;
}
.woocommerce-cart table.shop_table.cart td.actions .coupon .kvali-cart__coupontoggle:hover { color: var(--k-red); border-color: var(--k-red); }
.woocommerce-cart table.shop_table.cart td.actions .coupon.is-open .kvali-cart__coupontoggle { display: none; }
.woocommerce-cart table.shop_table.cart td.actions .coupon:not(.is-open) input#coupon_code,
.woocommerce-cart table.shop_table.cart td.actions .coupon:not(.is-open) button[name="apply_coupon"] { display: none; }
.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code {
	width: 220px; height: 44px; border: 1.5px solid var(--k-gray-light); border-radius: 999px; padding: 0 16px;
	font-family: var(--k-font); font-size: 14px; font-weight: 600; background: #fff;
}
.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code:focus { outline: 0; border-color: var(--k-dark); }
.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"] {
	height: 44px; padding: 0 18px; border-radius: 999px; background: var(--k-dark); color: #fff;
	font-family: var(--k-font); font-size: 13px; font-weight: 800; letter-spacing: .02em; border: 0; cursor: pointer;
}
.woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"]:hover { background: var(--k-red); }

/* Totalboks */
.woocommerce-cart .cart-collaterals { position: sticky; top: 92px; width: auto; float: none; min-width: 0; }
.woocommerce-cart .cart-collaterals .cart_totals {
	width: auto; float: none; padding: 20px 20px 22px;
	background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .9); border-radius: 18px;
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), var(--k-shadow-card);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.woocommerce-cart .cart-collaterals .cart_totals > h2 { display: none; }
.kvali-cart__ttl { font-size: 19px; font-weight: 900; margin: 0 0 4px; color: var(--k-dark); }
.kvali-cart__ship { padding: 8px 0 12px; border-bottom: 1px solid rgba(23, 24, 28, .08); margin-bottom: 8px; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table { display: block; background: none; box-shadow: none; border-radius: 0; margin: 0; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody { display: block; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(23, 24, 28, .06); }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td { display: block; border: 0; padding: 0; background: none; width: auto; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td::before { display: none !important; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th { font-size: 13.5px; font-weight: 700; letter-spacing: 0; text-transform: none; color: #55585f; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td { font-size: 14px; font-weight: 800; color: var(--k-dark); text-align: right; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.cart-discount td { color: var(--k-green); }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.cart-discount td a { font-size: 11.5px; font-weight: 700; color: #8a8d94; margin-left: 6px; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals { align-items: flex-start; }
.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li { margin: 0; padding: 0; display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; line-height: 1.3; }
.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li input[type="radio"] { margin: 0; accent-color: var(--k-red); }
.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li label { margin: 0; font-weight: 700; }
.woocommerce-cart .cart-collaterals .cart_totals ul#shipping_method li label .amount { color: var(--k-dark); }
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination { font-size: 11.5px; font-weight: 600; color: #8a8d94; margin: 6px 0 0; }
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-calculator { margin: 4px 0 0; }
.woocommerce-cart .cart-collaterals .cart_totals .shipping-calculator-button { font-size: 12px; font-weight: 700; color: var(--k-dark); text-decoration: underline; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total { padding-top: 12px; margin-top: 2px; border-top: 2px solid var(--k-dark); }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total th { font-size: 15px; font-weight: 900; color: var(--k-dark); }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td { font-size: 24px; font-weight: 900; color: var(--k-red); line-height: 1.1; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td .amount { color: var(--k-red); }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total td small.includes_tax { display: block; font-size: 11px; font-weight: 600; color: #8a8d94; margin-top: 2px; }
.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout { padding: 14px 0 0; margin: 0; }
.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: block; width: 100%; height: 54px; line-height: 54px; padding: 0; margin: 0; text-align: center;
	background: var(--k-red); color: #fff; border-radius: 999px; font-size: 14px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
	box-shadow: 0 8px 22px rgba(208, 18, 26, .28); transition: transform var(--k-transition), box-shadow var(--k-transition), background var(--k-transition);
}
.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button:hover { background: #b80f18; transform: translateY(-1px); box-shadow: 0 12px 26px rgba(208, 18, 26, .34); }
.kvali-cart__lagerline { margin: 14px 0 0; padding: 10px 12px; background: rgba(23, 24, 28, .04); border-radius: 12px; }
.kvali-cart__trust { margin-top: 14px; }
.kvali-cart__trust .kvali-pp__usps { gap: 6px; margin-bottom: 12px; }
.kvali-cart__trust .kvali-pp__usps li { font-size: 12.5px; }

/* Tom kurv */
.woocommerce-cart div.woocommerce > .cart-empty { margin: 30px auto 0; text-align: center; font-size: 18px; font-weight: 800; color: var(--k-dark); background: none; border: 0; padding: 0; }
.woocommerce-cart div.woocommerce > .cart-empty::before { display: none; }
.woocommerce-cart div.woocommerce > .return-to-shop { text-align: center; margin: 4px 0 30px; }
.woocommerce-cart div.woocommerce > .return-to-shop a.button {
	display: inline-block; height: 50px; line-height: 50px; padding: 0 28px; border-radius: 999px; background: var(--k-red); color: #fff;
	font-size: 13.5px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
}

/* Krydssalg */
.kvali-cart__more { margin-top: 10px; }
.kvali-cart__more .cross-sells > h2, .kvali-cart__more > h2 { font-size: 22px; margin: 0 0 14px; }
.kvali-cart__more .cross-sells ul.products { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }

@media (max-width: 1024px) {
	.woocommerce-cart div.woocommerce { grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
	.woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 84px minmax(0, 1fr) auto 110px 28px; column-gap: 14px; }
	.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 84px; height: 84px; }
	.kvali-cart__more .cross-sells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.woocommerce-cart div.woocommerce { grid-template-columns: minmax(0, 1fr); padding: 18px 14px 30px; }
	.woocommerce-cart .cart-collaterals { position: static; }
	.woocommerce-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 72px minmax(0, 1fr) 28px;
		grid-template-areas: "thumb name remove" "thumb price remove" "qty qty total";
		grid-template-rows: auto auto auto; column-gap: 12px; padding: 12px;
	}
	.woocommerce-cart table.shop_table.cart td.product-thumbnail img { width: 72px; height: 72px; }
	.woocommerce-cart table.shop_table.cart td.product-name { font-size: 13.5px; }
	.woocommerce-cart table.shop_table.cart td.product-quantity { margin-top: 8px; }
	.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox { height: 40px; }
	.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox button { width: 36px; height: 38px; }
	.woocommerce-cart table.shop_table.cart td.product-quantity .kvali-qtybox input.qty { height: 38px; width: 40px; }
	.woocommerce-cart table.shop_table.cart td.product-subtotal { margin-top: 8px; font-size: 16px; }
	.kvali-cart__head h1 { font-size: 24px; }
	.kvali-cart__more .cross-sells ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
}
@media (max-width: 480px) {
	.kvali-cart__more .cross-sells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-cart table.shop_table.cart td.actions .coupon input#coupon_code { width: 100%; }
}

/* v1.63.1: Kurvside - finpudsning: USP'er i een kolonne, ingen fragtberegner-links i totalboksen */
.kvali-cart__trust .kvali-pp__usps { grid-template-columns: 1fr; }
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-calculator,
.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination { display: none; }
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error { border-radius: 14px; }

/* v1.63.2: Kompakte kort maa ikke overlappe; kurv-meta under hinanden; rabatkode oeverst i totalboksen */
.woocommerce .up-sells ul.products[class*="columns-"] li.product, .woocommerce .kvali-popular ul.products[class*="columns-"] li.product { width: auto; box-sizing: border-box; }
.kvali-cart__meta { flex-direction: column; gap: 3px; align-items: flex-start; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation { flex-direction: column; gap: 2px; align-items: flex-start; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dt { display: inline; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation dd { display: inline; margin: 0; }
.woocommerce-cart table.shop_table.cart td.product-name dl.variation > div { display: block; }
.woocommerce-cart table.shop_table.cart td.actions { display: none; }
.kvali-cart__coupon { display: flex; gap: 8px; margin: 0 0 14px; }
.kvali-cart__coupon input {
	flex: 1 1 auto; min-width: 0; height: 46px; border: 1.5px solid var(--k-gray-light); border-radius: 999px; padding: 0 16px;
	font-family: var(--k-font); font-size: 14px; font-weight: 600; color: var(--k-dark); background: #fff;
}
.kvali-cart__coupon input:focus { outline: 0; border-color: var(--k-dark); }
.kvali-cart__coupon button {
	flex: 0 0 auto; height: 46px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--k-dark); color: #fff; cursor: pointer;
	font-family: var(--k-font); font-size: 13px; font-weight: 800; letter-spacing: .02em; transition: background var(--k-transition);
}
.kvali-cart__coupon button:hover { background: var(--k-red); }
.kvali-cart__coupon.is-busy { opacity: .6; pointer-events: none; }
.kvali-cart__ttl { margin-bottom: 2px; }

/* v1.63.3: Variant-attributter som "Navn: vaerdi" pr. linje; rabatkode-besked lige under feltet */
.woocommerce-cart table.shop_table.cart td.product-name dl.variation { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 6px; row-gap: 2px; }
.kvali-cart__couponmsg { margin: -6px 0 14px; }
.kvali-cart__couponmsg .woocommerce-error, .kvali-cart__couponmsg .woocommerce-message, .kvali-cart__couponmsg .woocommerce-info {
	margin: 0; padding: 10px 12px 10px 38px; font-size: 12.5px; font-weight: 600; line-height: 1.4; border-radius: 12px;
}
.kvali-cart__couponmsg ul { list-style: none; margin: 0; padding: 0; }
.kvali-cart__couponmsg li { margin: 0; padding: 0; }
.kvali-cart__couponmsg .woocommerce-error::before, .kvali-cart__couponmsg .woocommerce-message::before, .kvali-cart__couponmsg .woocommerce-info::before { top: 10px; left: 12px; }

/* v1.63.4: Core-badges inde paa de kompakte kort; rabatkode som klap-ud; kupon-besked i fuld bredde */
.woocommerce .up-sells ul.products li.product .kvali-badge img, .woocommerce .kvali-popular ul.products li.product .kvali-badge img { width: 100%; max-width: 100%; height: auto; }
.woocommerce .up-sells ul.products li.product .kvali-badge-top-right, .woocommerce .kvali-popular ul.products li.product .kvali-badge-top-right { top: 4px; right: 4px; }
.woocommerce .up-sells ul.products li.product .kvali-badge-top-left, .woocommerce .kvali-popular ul.products li.product .kvali-badge-top-left { top: 4px; left: 4px; }
.woocommerce .up-sells ul.products li.product .kvali-badge-bottom-left, .woocommerce .kvali-popular ul.products li.product .kvali-badge-bottom-left { left: 4px; }
.woocommerce .up-sells ul.products li.product .kvali-badge-bottom-right, .woocommerce .kvali-popular ul.products li.product .kvali-badge-bottom-right { right: 4px; }
.kvali-cart__couponwrap { margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(23, 24, 28, .08); }
.kvali-cart__coupontgl {
	display: flex; align-items: center; gap: 6px; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; text-align: left;
	font-family: var(--k-font); font-size: 13.5px; font-weight: 700; color: var(--k-dark);
}
.kvali-cart__coupontgl b { color: var(--k-red); font-weight: 800; }
.kvali-cart__coupontgl i { margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--k-dark); border-bottom: 2px solid var(--k-dark); transform: rotate(45deg) translateY(-2px); transition: transform var(--k-transition); }
.kvali-cart__couponwrap.is-open .kvali-cart__coupontgl i { transform: rotate(225deg) translateY(-2px); }
.kvali-cart__coupon { margin: 12px 0 0; }
.kvali-cart__coupon[hidden] { display: none; }
.kvali-cart__couponmsg { display: none; }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-info {
	margin: 0; padding: 16px 20px 16px 54px; font-size: 15px; font-weight: 700; line-height: 1.4; border-radius: 14px;
	background: #fff; color: var(--k-dark); border-top: 0; box-shadow: var(--k-shadow-card);
}
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-error { border-left: 5px solid var(--k-red); }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-message { border-left: 5px solid var(--k-green); }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-info { border-left: 5px solid #3b82f6; }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-error::before,
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-info::before { top: 17px; left: 22px; font-size: 18px; }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-error::before { color: var(--k-red); }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper .woocommerce-message::before { color: var(--k-green); }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper li { margin: 0; padding: 0; }
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper.is-flash .woocommerce-error,
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper.is-flash .woocommerce-message { animation: kv-flash .9s ease; }
@keyframes kv-flash { 0% { transform: scale(.98); box-shadow: 0 0 0 0 rgba(208, 18, 26, .35); } 100% { transform: none; box-shadow: var(--k-shadow-card); } }

/* v1.63.6: Totalboksen maa kun vaere sticky inden for varelisten - ikke ned over krydssalget */
.woocommerce-cart .cart-collaterals { position: static; align-self: stretch; }
.woocommerce-cart .cart-collaterals .cart_totals { position: sticky; top: 92px; }
@media (max-width: 860px) {
	.woocommerce-cart .cart-collaterals .cart_totals { position: static; }
}

/* v1.64.0: Rabat pr. varelinje i kurv og minikurv */
.woocommerce-cart table.shop_table.cart td.product-subtotal { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__was { font-size: 12.5px; font-weight: 700; color: #8a8d94; text-decoration: line-through; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__was .amount { color: #8a8d94; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__now { font-size: 17px; font-weight: 900; color: var(--k-red); }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__now .amount { color: var(--k-red); }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__save { display: inline-block; margin-top: 3px; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; color: var(--k-green); background: rgba(46, 155, 79, .10); border-radius: 999px; padding: 3px 8px; white-space: nowrap; }
.kvali-mc__lineprice--disc del { font-size: 11px; font-weight: 700; color: #8a8d94; margin-right: 4px; }
.kvali-mc__lineprice--disc del .amount { color: #8a8d94; }
.kvali-mc__lineprice--disc { color: var(--k-red); }

/* v1.64.1: foerpris taettere paa rabatprisen */
.woocommerce-cart table.shop_table.cart td.product-subtotal { gap: 0; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__was { line-height: 1.1; margin-bottom: -1px; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__now { line-height: 1.15; }
.woocommerce-cart table.shop_table.cart td.product-subtotal .kvali-cart__save { margin-top: 5px; }

/* v1.65.0: Kassen - trin-wizard, sticky ordreoversigt, DAWA, erhvervs-klapud */
.woocommerce-checkout .kvali-page, .woocommerce-checkout .entry-content { max-width: none; }
body.woocommerce-checkout div.woocommerce { max-width: var(--k-container); margin: 0 auto; padding: 26px 24px 40px; }
body.woocommerce-checkout form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 26px 28px; align-items: start; }
.kvali-co { min-width: 0; }

/* Trin-navigation */
.kvali-co__nav { list-style: none; display: flex; gap: 8px; margin: 0 0 18px; padding: 0; counter-reset: none; }
.kvali-co__nav li {
	flex: 1 1 0; display: flex; align-items: center; gap: 9px; padding: 10px 14px; cursor: pointer;
	background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .9); border-radius: 999px;
	font-size: 13px; font-weight: 800; color: #8a8d94; transition: background var(--k-transition), color var(--k-transition);
}
.kvali-co__nav li b {
	width: 24px; height: 24px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	border-radius: 50%; background: rgba(23, 24, 28, .10); color: var(--k-dark); font-size: 12px; font-weight: 900;
}
.kvali-co__nav li.is-active { background: #fff; color: var(--k-dark); box-shadow: var(--k-shadow-card); }
.kvali-co__nav li.is-active b { background: var(--k-red); color: #fff; }
.kvali-co__nav li.is-done { color: var(--k-green); }
.kvali-co__nav li.is-done b { background: var(--k-green); color: #fff; font-size: 0; }
.kvali-co__nav li.is-done b::before { content: '\2713'; font-size: 12px; }

/* Trin-paneler som glaskort */
.kvali-co__step { display: none; background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .9); border-radius: 18px; padding: 20px 20px 22px; box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), var(--k-shadow-card); }
.kvali-co__step.is-active { display: block; }
.kvali-co__ttl { font-size: 19px; font-weight: 900; margin: 0 0 12px; color: var(--k-dark); }
.kvali-co .woocommerce-billing-fields > h3, .kvali-co .woocommerce-shipping-fields h3, .kvali-co .woocommerce-additional-fields > h3 { font-size: 19px; font-weight: 900; margin: 0 0 12px; color: var(--k-dark); }
.kvali-co .woocommerce-shipping-fields h3#ship-to-different-address { font-size: 14px; font-weight: 700; margin: 14px 0 6px; }
.kvali-co #customer_details.col2-set { width: auto; }
.kvali-co #customer_details.col2-set .col-1, .kvali-co #customer_details.col2-set .col-2 { float: none; width: 100%; }
.kvali-co .form-row label { font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #55585f; margin-bottom: 3px; }
.kvali-co .form-row { margin-bottom: 12px; }
.kvali-co .form-row .woocommerce-input-wrapper { display: block; }
.kvali-co .country_to_state + .select2-container { min-height: 46px; }
.kvali-co .form-row strong { font-size: 14px; font-weight: 700; display: inline-block; padding: 12px 0 0; }
.kvali-co input.input-text, .kvali-co textarea, .kvali-co select { width: 100%; }
.kvali-co__actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 18px 0 0; }
.kvali-co__next {
	margin-left: auto; height: 50px; padding: 0 26px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--k-red); color: #fff; font-family: var(--k-font); font-size: 13.5px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase;
	box-shadow: 0 8px 22px rgba(208, 18, 26, .28); transition: background var(--k-transition), transform var(--k-transition);
}
.kvali-co__next:hover { background: #b80f18; transform: translateY(-1px); }
.kvali-co__back { background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--k-font); font-size: 13.5px; font-weight: 700; color: var(--k-dark); border-bottom: 2px solid var(--k-gray-light); }
.kvali-co__back:hover { color: var(--k-red); border-color: var(--k-red); }

/* Erhverv */
.kvali-co__ctype { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 16px; }
.kvali-co__ctypeopt { position: relative; display: block; cursor: pointer; margin: 0; }
.kvali-co__ctypeopt input { position: absolute; opacity: 0; pointer-events: none; }
.kvali-co__ctypeopt span { display: flex; flex-direction: column; gap: 1px; background: #fff; border: 1.5px solid var(--k-gray-light); border-radius: 14px; padding: 11px 14px; transition: border-color .15s ease, box-shadow .15s ease; }
.kvali-co__ctypeopt span b { font-size: 14px; font-weight: 800; color: var(--k-dark); }
.kvali-co__ctypeopt span small { font-size: 11.5px; font-weight: 600; color: #8a8d94; }
.kvali-co__ctypeopt:hover span { border-color: #c9ccd2; }
.kvali-co__ctypeopt input:checked + span { border-color: var(--k-red); box-shadow: 0 0 0 3px rgba(208, 18, 26, .10); }
form.checkout .kvali-b2b-field { display: none; }
form.checkout.kvali-ctype-erhverv .kvali-b2b-field { display: block; }
form.checkout.kvali-ctype-offentlig .kvali-b2b-field { display: block; }
form.checkout.kvali-ctype-erhverv .kvali-ean-field { display: none; }
.kvali-b2b-field label .optional { display: none; }
@media (max-width: 560px) {
	.kvali-co__ctypeopt span { padding: 9px 10px; }
	.kvali-co__ctypeopt span small { display: none; }
}

/* v1.65.14: Vaelg kundetype foerst, kompakte felter og login-klapud. */
form.checkout.kvali-ctype-none .woocommerce-billing-fields__field-wrapper,
form.checkout.kvali-ctype-none .woocommerce-account-fields,
form.checkout.kvali-ctype-none .woocommerce-shipping-fields,
form.checkout.kvali-ctype-none .kvali-co__step[data-step="1"] .kvali-co__actions { display: none; }
.kvali-co__ctypehint { display: none; font-size: 12.5px; font-weight: 600; color: #8a8d94; margin: -4px 0 2px; }
form.checkout.kvali-ctype-none .kvali-co__ctypehint { display: block; }
.kvali-co .form-row { margin-bottom: 8px; }
.kvali-co .form-row label { margin-bottom: 2px; font-size: 11.5px; }
.kvali-co input.input-text, .kvali-co select { height: 42px; padding: 0 12px; font-size: 13.5px; }
.kvali-co textarea { padding: 10px 12px; font-size: 13.5px; }
.kvali-co__step { padding: 16px 16px 18px; }
.kvali-co .woocommerce-billing-fields > h3 { font-size: 17px; margin: 0 0 10px; }
.kvali-co__ctype { gap: 6px; margin: 0 0 10px; }
.kvali-co__actions { margin-top: 14px; }
.kvali-co__loginbar { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13.5px; font-weight: 600; color: #55585f; }
.kvali-co__logintgl { background: none; border: 0; padding: 0 0 1px; cursor: pointer; font-family: var(--k-font); font-size: 13.5px; font-weight: 800; color: var(--k-red); border-bottom: 2px solid rgba(208, 18, 26, .25); }
.kvali-co__logintgl:hover { border-color: var(--k-red); }
.kvali-co__loginbox { margin: 0 0 16px; }
.kvali-co__loginbox form.login { background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .9); border-radius: 18px; padding: 18px; box-shadow: var(--k-shadow-card); max-width: 480px; margin: 0; }
.kvali-co__loginbox form.login .form-row { margin-bottom: 10px; }
.kvali-co__loginbox form.login label { font-size: 11.5px; font-weight: 700; color: #55585f; margin-bottom: 2px; display: block; }
.kvali-co__loginbox form.login input.input-text { height: 42px; padding: 0 12px; width: 100%; }
.kvali-co__loginbox form.login button[type="submit"] { height: 44px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--k-dark); color: #fff; cursor: pointer; font-family: var(--k-font); font-size: 13px; font-weight: 800; }
.kvali-co__loginbox form.login button[type="submit"]:hover { background: var(--k-red); }
.kvali-co__loginbox form.login .lost_password { font-size: 12.5px; margin: 8px 0 0; }
.kvali-co__loginbox form.login .woocommerce-form-login__rememberme { display: block; margin: 4px 0 8px; font-size: 13px; }

/* Levering (trin 2) */
.kvali-co__ship ul#shipping_method { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.kvali-co__ship ul#shipping_method li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; background: #fff; border: 1.5px solid var(--k-gray-light); border-radius: 14px; padding: 14px 18px; margin: 0; transition: border-color var(--k-transition), box-shadow var(--k-transition); }
.kvali-co__ship ul#shipping_method li:hover { border-color: #cfcfcc; }
.kvali-co__ship ul#shipping_method li:has(input:checked) { border-color: var(--k-red); box-shadow: 0 0 0 3px rgba(208, 18, 26, .10); }
.kvali-co__ship ul#shipping_method li input[type="radio"] { margin: 0; accent-color: var(--k-red); width: 18px; height: 18px; flex: 0 0 auto; cursor: pointer; }
.kvali-co__ship ul#shipping_method li label { margin: 0; font-size: 14px; font-weight: 700; color: var(--k-dark); flex: 1 1 0; min-width: 0; cursor: pointer; display: flex; align-items: center; gap: 14px; }
/* Fragtfirmaets logo */
.kv-rate__logo { flex: 0 0 88px; width: 88px; height: 46px; border: 1px solid var(--k-gray-light); border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 6px 9px; box-sizing: border-box; overflow: hidden; }
.kv-rate__logo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.kv-rate__logo--none { background: #f5f5f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8d94' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3z'/%3E%3Cpath d='M14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.6'/%3E%3Ccircle cx='17' cy='17.5' r='1.6'/%3E%3C/svg%3E") center / 24px no-repeat; }
.kv-rate__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kv-rate__name { font-size: 15px; font-weight: 800; line-height: 1.3; }
.kv-rate__desc { font-size: 13px; font-weight: 500; color: #6b6e75; line-height: 1.35; }
.kv-rate__price { margin-left: auto; flex: 0 0 auto; font-size: 15px; font-weight: 900; white-space: nowrap; }
.kv-rate__price .amount { color: var(--k-dark); }
.kvali-co__ship .kvali-free { color: var(--k-green); font-weight: 900; }
/* Pakkeshop-vaelgeren (Shipmondo) - fuld bredde under den valgte metode */
.kvali-co__ship li .shipmondo-original { flex: 1 0 100%; margin: 2px 0 0; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection { padding-left: 32px; }
.kv-sp__head { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6b6e75; margin: 0 0 8px; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 76px; padding: 16px 190px 16px 70px; background: #fff6f6; border: 1.5px solid rgba(208, 18, 26, .35); border-radius: 12px; cursor: pointer; transition: border-color var(--k-transition), background var(--k-transition); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point:hover,
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point:focus-visible { border-color: var(--k-red); background: #fff0f0; outline: none; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point::before { content: ""; position: absolute; left: 16px; top: 50%; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; background: var(--k-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.6'/%3E%3C/svg%3E") center / 22px no-repeat; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point::after { display: none; }
.kvali-co__ship .shipmondo-original .selected_service_point .header { margin: 0; }
.kvali-co__ship .shipmondo-original .selected_service_point .header .name { font-size: 17px; font-weight: 900; color: var(--k-dark); line-height: 1.25; }
.kvali-co__ship .shipmondo-original .selected_service_point .location { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 4px 10px; font-size: 14px; font-weight: 500; color: #3d3f45; }
.kvali-co__ship .shipmondo-original .selected_service_point .location .distance { text-align: left; font-size: 12px; font-weight: 700; color: #6b6e75; background: #fff; border: 1px solid var(--k-gray-light); border-radius: 999px; padding: 1px 8px; }
.kv-sp__change { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); background: #fff; border: 1.5px solid var(--k-red); color: var(--k-red); border-radius: 999px; padding: 9px 16px; font-size: 13px; font-weight: 800; line-height: 1; white-space: nowrap; transition: background var(--k-transition), color var(--k-transition); }
.selected_service_point:hover .kv-sp__change { background: var(--k-red); color: #fff; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .powered_by_shipmondo { text-align: right; font-size: 11px; margin: 6px 0 0; color: #9a9ca1; }
/* Shipmondos vindue med kort og liste */
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal { background: rgba(23, 24, 28, .55); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper { width: 680px; height: 880px; transform: translate(-50%, -50%); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); font-family: var(--k-font); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content .shipmondo-modal_header { padding: 22px 70px 16px 24px; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content .shipmondo-modal_header h4 { font-size: 22px; font-weight: 900; color: var(--k-dark); font-family: var(--k-font); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content .shipmondo-modal_close { top: 14px; right: 14px; width: 42px; height: 42px; line-height: 40px; border-radius: 50%; background: #f2f2f0; color: var(--k-dark); font-size: 26px; z-index: 2; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content .shipmondo-modal_close:hover { background: var(--k-red); color: #fff; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .service_points_list .service_point { padding: 14px 24px; cursor: pointer; transition: background var(--k-transition); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .service_points_list .service_point:hover { background: #faf6f6; }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .service_points_list .service_point.selected { background: rgba(208, 18, 26, .06); box-shadow: inset 4px 0 0 var(--k-red); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .service_points_list .service_point .header .name { font-size: 15px; font-weight: 800; color: var(--k-dark); }
.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .service_points_list .service_point .location { font-size: 13.5px; color: #55585f; }
@media (max-width: 600px) {
	.kvali-co__ship ul#shipping_method li { padding: 12px 14px; gap: 10px 12px; }
	.kvali-co__ship ul#shipping_method li label { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 12px; row-gap: 3px; align-items: center; }
	.kv-rate__logo { grid-row: 1 / span 2; width: 56px; height: 36px; padding: 4px 5px; border-radius: 8px; }
	.kv-rate__txt { grid-column: 2; }
	.kv-rate__price { grid-column: 2; margin-left: 0; justify-self: start; font-size: 14px; }
	.kv-rate__name { font-size: 14px; }
	.kv-rate__desc { font-size: 12.5px; }
	.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection { padding-left: 0; }
	.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point { padding: 14px 14px 14px 64px; }
	.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .selected_service_point::before { left: 14px; top: 16px; margin-top: 0; width: 36px; height: 36px; background-size: 20px; }
	.kv-sp__change { position: static; transform: none; align-self: flex-start; margin-top: 8px; padding: 8px 14px; }
	.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper { width: 100%; height: 100%; max-width: 100%; max-height: 100%; top: 0; left: 0; transform: none; }
	.kvali-co__ship .shipmondo-original .shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content { border-radius: 0; }
}
.kvali-co__ship .woocommerce-shipping-destination { font-size: 12px; font-weight: 600; color: #8a8d94; margin: 8px 0 0; }
.kvali-co__ship .woocommerce-shipping-calculator { display: none; }
.kvali-co__noship { font-size: 13.5px; font-weight: 600; color: #8a8d94; margin: 0; }
#kvali-co-comments { margin-top: 16px; }
#kvali-co-comments .woocommerce-additional-fields > h3 { font-size: 14px; font-weight: 700; margin: 0 0 6px; }
#kvali-co-comments textarea { min-height: 84px; }

/* Betaling (trin 3) */
#kvali-co-payment .woocommerce-checkout-payment { background: none; border-radius: 0; }
#kvali-co-payment ul.wc_payment_methods { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
#kvali-co-payment li.wc_payment_method { position: relative; background: #fff; border: 1.5px solid var(--k-gray-light); border-radius: 14px; padding: 0; overflow: hidden; }
#kvali-co-payment li.wc_payment_method:has(input:checked) { border-color: var(--k-red); box-shadow: 0 0 0 3px rgba(208, 18, 26, .10); }
#kvali-co-payment li.wc_payment_method > label { display: flex; align-items: center; gap: 10px; padding: 14px 16px 14px 45px; margin: 0; font-size: 14px; font-weight: 700; color: var(--k-dark); cursor: pointer; }
#kvali-co-payment li.wc_payment_method > input[type="radio"] { position: absolute; left: 16px; top: 17px; margin: 0; float: none; accent-color: var(--k-red); width: 17px; height: 17px; }
#kvali-co-payment li.wc_payment_method img { max-height: 24px; width: auto; }
#kvali-co-payment div.payment_box, .woocommerce-checkout #kvali-co-payment #payment div.payment_box { background: #fff; border-top: 1px solid var(--k-gray-light); border-radius: 0; padding: 12px 16px 14px; font-size: 13px; color: #3f4147; margin: 0; }
#kvali-co-payment div.payment_box fieldset, .woocommerce-checkout #kvali-co-payment #payment div.payment_box fieldset { background: none; border: 0; margin: 0; padding: 0; }
#kvali-co-payment div.payment_box .form-row, .woocommerce-checkout #kvali-co-payment #payment div.payment_box .form-row { background: none; padding-left: 0; padding-right: 0; }
#kvali-co-payment div.payment_box::before, .woocommerce-checkout #kvali-co-payment #payment div.payment_box::before { display: none; content: none; border: 0; }
#kvali-co-payment .woocommerce-privacy-policy-text { font-size: 11.5px; color: #8a8d94; line-height: 1.5; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper { margin: 12px 0 0; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 8px 0 0; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper label { font-size: 13px; font-weight: 600; color: var(--k-dark); }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 16px; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper label.checkbox { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; line-height: 1.45; display: block; position: relative; padding-left: 28px; cursor: pointer; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { position: absolute; left: 0; top: 1px; width: 18px; height: 18px; margin: 0; accent-color: var(--k-red); }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper a { color: var(--k-red); text-decoration: underline; text-underline-offset: 2px; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper .required { color: var(--k-red); text-decoration: none; }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper .form-row { border: 2px solid transparent; border-radius: 12px; padding: 10px 12px; transition: border-color var(--k-transition), background var(--k-transition), box-shadow var(--k-transition); }
#kvali-co-payment .woocommerce-terms-and-conditions-wrapper .form-row.kvali-terms-error { border-color: var(--k-red); background: #fff4f4; box-shadow: 0 0 0 4px rgba(208, 18, 26, .14); }
#kvali-co-payment .kvali-terms-error input[type="checkbox"] { outline: 2px solid var(--k-red); outline-offset: 2px; border-radius: 3px; }
#kvali-co-payment .kvali-terms-msg { margin: 8px 0 0 28px; font-size: 13.5px; font-weight: 700; color: var(--k-red); line-height: 1.4; }
@keyframes kvali-shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.kvali-shake { animation: kvali-shake .4s ease; }
@media (prefers-reduced-motion: reduce) { .kvali-shake { animation: none; } }
#kvali-co-payment .place-order { padding: 14px 0 0; }
#kvali-co-payment button#place_order {
	display: block; width: 100%; height: 56px; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--k-red); color: #fff; font-family: var(--k-font); font-size: 14.5px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase;
	box-shadow: 0 8px 22px rgba(208, 18, 26, .28); transition: background var(--k-transition), transform var(--k-transition);
}
#kvali-co-payment button#place_order:hover { background: #b80f18; transform: translateY(-1px); }

/* Ordreoversigt (hoejre) */
.kvali-co__summary { position: sticky; top: 92px; align-self: start; min-width: 0; }
.kvali-co__sumbox {
	background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .9); border-radius: 18px; padding: 20px 20px 22px;
	box-shadow: inset 0 1.5px 1px rgba(255, 255, 255, .95), var(--k-shadow-card);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.kvali-co__sumbox #order_review_heading, .kvali-co__sumbox #order_review { background: none; border-radius: 0; box-shadow: none; padding: 0; }
.kvali-co__sumbox #order_review_heading { font-size: 19px; font-weight: 900; margin: 8px 0 20px; color: var(--k-dark); }
.kvali-co__coupon { margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(23, 24, 28, .08); }
.kvali-co__coupon form.checkout_coupon { display: flex; gap: 8px; margin: 12px 0 0; padding: 0; border: 0; background: none; }
.kvali-co__coupon form.checkout_coupon p { margin: 0; padding: 0; float: none; width: auto; }
.kvali-co__coupon form.checkout_coupon .form-row-first { flex: 1 1 auto; min-width: 0; }
.kvali-co__coupon form.checkout_coupon input[name="coupon_code"] { width: 100%; height: 46px; border: 1.5px solid var(--k-gray-light); border-radius: 999px; padding: 0 14px; font-family: var(--k-font); font-size: 13px; font-weight: 600; background: #fff; }
.kvali-co__coupon form.checkout_coupon button { flex: 0 0 auto; white-space: nowrap; height: 46px; padding: 0 13px; border: 0; border-radius: 999px; background: var(--k-dark); color: #fff; cursor: pointer; font-family: var(--k-font); font-size: 10.5px; font-weight: 800; letter-spacing: .02em; }
.kvali-co__coupon form.checkout_coupon button:hover { background: var(--k-red); }
.kvali-co__sumbox table.shop_table { display: block; background: none; box-shadow: none; border-radius: 0; margin: 0; border: 0; }
.kvali-co__sumbox table.shop_table thead { display: none; }
.kvali-co__sumbox table.shop_table tbody, .kvali-co__sumbox table.shop_table tfoot { display: block; }
.kvali-co__sumbox table.shop_table tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(23, 24, 28, .06); }
.kvali-co__sumbox table.shop_table th, .kvali-co__sumbox table.shop_table td { display: block; border: 0 !important; padding: 0; background: none; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-name { position: relative; padding-left: 54px !important; min-height: 48px; display: flex; flex-direction: column; justify-content: center; font-size: 0; line-height: 0; font-weight: 700; color: var(--k-dark); min-width: 0; }
.kvali-co__pname { display: block; font-size: 13px; line-height: 1.35; }
/* 1.79.2: tekst fra plugins i varelinjen (fx lagerstatus) arver ellers linjehoejde 0 og lægger sig oven i sig selv, naar den ombrydes. */
.kvali-co__sumbox table.shop_table tr.cart_item td.product-name > p, .kvali-co__sumbox table.shop_table tr.cart_item td.product-name > div, .kvali-co__sumbox table.shop_table tr.cart_item td.product-name .stock { line-height: 1.3; margin: 4px 0 0; }
.kvali-co__itemimg { position: absolute; left: 0; top: 50%; margin-top: -22px; width: 44px; height: 44px; }
.kvali-co__itemimg img.kvali-co__thumb { display: block; width: 44px; height: 44px; object-fit: contain; border: 0; border-radius: 0; background: none; }
.kvali-co__qtyctl { display: inline-flex; align-items: center; gap: 9px; margin-top: 5px; }
.kvali-co__qtyctl b { font-size: 12.5px; font-weight: 800; color: var(--k-dark); min-width: 14px; text-align: center; }
.kvali-co__qtyctl.is-static b { font-weight: 700; color: #8a8d94; }
.kvali-co__qbtn { width: 24px; height: 24px; border-radius: 999px; border: 1.5px solid var(--k-gray-light); background: #fff; color: var(--k-dark); font-size: 14px; font-weight: 800; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; font-family: var(--k-font); }
.kvali-co__qbtn:hover { border-color: var(--k-red); color: var(--k-red); }
.kvali-co__qtyctl.is-busy { opacity: .5; pointer-events: none; }
.kvali-co__ctypehint.is-alert { color: var(--k-red); font-weight: 800; }
.kvali-co .form-row.kvali-field-error input.input-text, .kvali-co .form-row.kvali-field-error select, .kvali-co .form-row.kvali-field-error textarea { border-color: var(--k-red) !important; box-shadow: 0 0 0 3px rgba(208, 18, 26, .18) !important; }
.kvali-co input, .kvali-co select, .kvali-co textarea { scroll-margin-top: 170px; scroll-margin-bottom: 40px; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-name .product-quantity { display: none; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-name small { display: block; line-height: 1.4; font-size: 11.5px; font-weight: 600; color: #55585f; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-name br { display: none; }
.kvali-co__sumbox table.shop_table tr.cart_item dl.variation { display: grid; line-height: 1.4; grid-template-columns: max-content minmax(0, 1fr); column-gap: 5px; row-gap: 1px; margin: 3px 0 0; font-size: 11.5px; font-weight: 600; color: #55585f; }
.kvali-co__sumbox table.shop_table tr.cart_item dl.variation dt, .kvali-co__sumbox table.shop_table tr.cart_item dl.variation dd { margin: 0; padding: 0; float: none; }
.kvali-co__sumbox table.shop_table tr.cart_item dl.variation dd p { margin: 0; display: inline; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-total { text-align: right; font-size: 13.5px; font-weight: 800; color: var(--k-dark); white-space: nowrap; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-total .kvali-cart__was { display: block; font-size: 11px; font-weight: 700; color: #8a8d94; text-decoration: line-through; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-total .kvali-cart__was .amount { color: #8a8d94; }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-total .kvali-cart__now { display: block; color: var(--k-red); }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-total .kvali-cart__now .amount { color: var(--k-red); }
.kvali-co__sumbox table.shop_table tr.cart_item td.product-total .kvali-cart__save { display: inline-block; margin-top: 2px; font-size: 10px; font-weight: 800; color: var(--k-green); background: rgba(46, 155, 79, .10); border-radius: 999px; padding: 2px 7px; }
.kvali-co__sumbox table.shop_table tfoot th { font-size: 13.5px; font-weight: 700; letter-spacing: 0; text-transform: none; color: #55585f; }
.kvali-co__sumbox table.shop_table tr.kvali-co__vat th, .kvali-co__sumbox table.shop_table tr.kvali-co__vat td { font-size: 12.5px; font-weight: 600; color: #8a8d94; }
.kvali-co__sumbox table.shop_table tr.kvali-co__vat td .amount { color: #8a8d94; }
.kvali-co__sumbox table.shop_table tr.woocommerce-shipping-totals td { font-size: 13px; font-weight: 700; color: var(--k-dark); text-align: right; }
.kvali-co__sumbox table.shop_table tr.woocommerce-shipping-totals td .amount { font-weight: 800; }
.kvali-co__sumbox table.shop_table tfoot td { font-size: 14px; font-weight: 800; color: var(--k-dark); text-align: right; }
.kvali-co__sumbox table.shop_table tr.cart-discount td { color: var(--k-green); }
.kvali-co__sumbox table.shop_table tr.cart-discount td a { font-size: 11.5px; font-weight: 700; color: #8a8d94; margin-left: 6px; }
.kvali-co__sumbox table.shop_table tr.order-total { padding-top: 12px; margin-top: 2px; border-top: 2px solid var(--k-dark); border-bottom: 0; }
.kvali-co__sumbox table.shop_table tr.order-total th { font-size: 15px; font-weight: 900; color: var(--k-dark); }
.kvali-co__sumbox table.shop_table tr.order-total td { font-size: 24px; font-weight: 900; color: var(--k-red); line-height: 1.1; }
.kvali-co__sumbox table.shop_table tr.order-total td .amount { color: var(--k-red); }
.kvali-co__sumbox table.shop_table tr.order-total td small.includes_tax { display: block; font-size: 11px; font-weight: 600; color: #8a8d94; margin-top: 2px; }
.kvali-co__trust { margin-top: 14px; }
.kvali-co__trust .kvali-pp__usps { grid-template-columns: 1fr; gap: 6px; margin-bottom: 12px; }
.kvali-co__trust .kvali-pp__usps li { font-size: 12.5px; }

/* DAWA-forslag */
.dawa-autocomplete-suggestions {
	margin: 4px 0 0; padding: 5px; background: #fff; border: 1px solid var(--k-gray-light); border-radius: 12px;
	box-shadow: var(--k-shadow-hover); z-index: 200; max-height: 260px; overflow: auto;
}
.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion {
	padding: 9px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 600; color: var(--k-dark); cursor: pointer;
}
.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion.dawa-selected,
.dawa-autocomplete-suggestions .dawa-autocomplete-suggestion:hover { background: var(--k-bg); }

/* Notitser paa kassen i temaets stil */
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout form.checkout .woocommerce-NoticeGroup .woocommerce-error {
	margin: 0 0 16px; padding: 14px 18px 14px 50px; font-size: 14px; font-weight: 700; line-height: 1.45; border-radius: 14px;
	background: #fff; color: var(--k-dark); border-top: 0; box-shadow: var(--k-shadow-card);
}
body.woocommerce-checkout .woocommerce-error, body.woocommerce-checkout form.checkout .woocommerce-NoticeGroup .woocommerce-error { border-left: 5px solid var(--k-red); }
body.woocommerce-checkout .woocommerce-message { border-left: 5px solid var(--k-green); }
body.woocommerce-checkout .woocommerce-info { border-left: 5px solid #3b82f6; }
body.woocommerce-checkout form.checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
body.woocommerce-checkout .woocommerce-error li { margin: 0; }

@media (max-width: 1024px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
}
@media (max-width: 860px) {
	body.woocommerce-checkout div.woocommerce { padding: 16px 14px 30px; }
	body.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); }
	.kvali-co__summary { position: static; order: 2; }
	.kvali-co { order: 1; }
	.kvali-co__nav li span { display: none; }
	.kvali-co__nav li.is-active span { display: inline; }
	.kvali-co__nav li { flex: 0 1 auto; }
	.kvali-co__nav li.is-active { flex: 1 1 auto; }
	.kvali-co__step { padding: 14px 14px 16px; }
}

/* v1.65.2: egen DAWA-dropdown */
.kvali-dawa {
	position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 220;
	padding: 5px; background: #fff; border: 1px solid var(--k-gray-light); border-radius: 12px;
	box-shadow: var(--k-shadow-hover); max-height: 260px; overflow: auto;
}
.kvali-dawa[hidden] { display: none; }
.kvali-dawa__item { padding: 9px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 600; color: var(--k-dark); cursor: pointer; }
.kvali-dawa__item.is-sel, .kvali-dawa__item:hover { background: var(--k-bg); }

/* ---- Responsivt ----------------------------------------------------------- */
@media (max-width: 1024px) {
	.kvali-nav { display: none; }
	.kvali-burger {
		display: inline-flex; flex-direction: column; gap: 4px; background: transparent;
		border: 0; cursor: pointer; padding: 8px;
	}
	.kvali-burger span { width: 20px; height: 2.5px; border-radius: 2px; background: var(--k-dark); }
	.kvali-mobilenav { border-top: 1px solid var(--k-gray-light); padding: 14px 22px; }
	.kvali-mobilenav__list { list-style: none; margin: 0; padding: 0; font-size: 16px; font-weight: 700; line-height: 2.4; }
	.kvali-mobilenav__list .sub-menu { list-style: none; padding-left: 16px; font-weight: 500; }
	.kvali-footer__inner { grid-template-columns: 1fr 1fr; }
}

/* v0.6.2: neutralisér Woo's smallscreen-layout (48% bredde + kaempe margin) */
@media (max-width: 768px) {
	.woocommerce ul.products li.product,
	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product {
		width: auto !important;
		margin: 0 !important;
		float: none !important;
		clear: none !important;
	}
}

@media (max-width: 640px) {
	.kvali-topbar__inner {
		gap: 14px; font-size: 10.5px; padding: 6px 12px;
		flex-wrap: nowrap; justify-content: flex-start;
		overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.kvali-topbar__inner::-webkit-scrollbar { display: none; }
	.kvali-header { margin: 8px 0 0; }
	.kvali-header__inner { gap: 10px; padding: 8px 12px; flex-wrap: nowrap; }
	.kvali-logo__name { font-size: 18px; }
	.kvali-logo__tagline { display: none; }
	.kvali-searchform { flex: 1 1 auto; min-width: 0; }
	.kvali-searchform__input { width: 100%; flex: 1; min-width: 0; }
	.kvali-cartbtn { padding: 9px 12px; font-size: 12px; flex: 0 0 auto; }
	.kvali-footer__inner { grid-template-columns: 1fr; gap: 26px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.woocommerce ul.products li.product { padding: 10px 12px 12px; }
	.woocommerce ul.products li.product .price { font-size: 15px; padding-right: 48px; }
	.kvali-cardstock { font-size: 11px; margin: 2px 48px 2px 0; white-space: nowrap; }
	.woocommerce ul.products li.product .button { width: 40px; height: 40px; right: 10px; bottom: 10px; }
	.woocommerce ul.products li.product .button::before { margin: 10px auto; }
	.kvali-cathead { flex-direction: column; gap: 2px; margin: 10px 0 12px; }
	.kvali-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.kvali-chip { padding: 8px 10px 8px 8px; font-size: 12.5px; border-radius: 10px; }
	.kvali-chip img { width: 30px; height: 30px; }
	.kvali-chip__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: clip; white-space: normal; line-height: 1.3; overflow-wrap: break-word; hyphens: auto; }
	.kvali-chip__count { flex: 0 0 auto; }
	.kvali-chip--back { grid-column: 1 / -1; justify-content: center; }
	.kvali-topsellers { padding: 14px; }
	.kvali-topsellers__row { grid-template-columns: 1fr; gap: 12px; }
	.kvali-topseller:nth-child(n+3) { display: none; }
	.kvali-topseller__img { width: 60px; height: 60px; }
	.kvali-topseller__rank { font-size: 18px; }
	.kvali-topseller__name { font-size: 13.5px; }
	.kvali-topseller__price { font-size: 14px; }
}

/* v0.5.1: footer-tekster skal forblive lyse paa den moerke baggrund */
.kvali-footer__heading { color: rgba(255, 255, 255, .6); }
.kvali-footer .kvali-logo__tagline { color: rgba(255, 255, 255, .6); }
.kvali-footer__bottom { color: rgba(255, 255, 255, .55); }



/* =========================================================================
 * Forside "Farvekortet" (front-page.php) – v1.67.0
 * ====================================================================== */
@font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/instrument-serif-400.woff2') format('woff2'); }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/instrument-serif-400i.woff2') format('woff2'); }

body.home { background: #efe9e1; }
.kvali-fp { --fp-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif; --fp-ink: #17181c; --fp-muted: #4b4a47; --fp-soft: #8a8378; --fp-r: 18px; --fp-shadow: 0 1px 2px rgba(23,24,28,.06), 0 12px 32px rgba(23,24,28,.06); padding: 26px 0 0; color: var(--fp-ink); }
.kvali-fp__section { margin: 0 0 64px; }
.kvali-fp__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0 0 22px; }
.kvali-fp__title { margin: 0; font-family: var(--fp-serif); font-weight: 400; text-transform: none; font-size: 46px; line-height: 1; letter-spacing: -.01em; color: var(--fp-ink); }
.kvali-fp__title em, .kvali-fp__h1 em, .kvali-fp__nltitle em { font-style: italic; }
.kvali-fp__sub { margin: 8px 0 0; font-size: 14.5px; color: var(--fp-muted); }
.kvali-fp__more { flex: 0 0 auto; font-size: 14.5px; font-weight: 800; color: var(--fp-ink); text-decoration: none; border-bottom: 2px solid var(--fp-ink); padding-bottom: 2px; transition: color .2s, border-color .2s; }
.kvali-fp__more:hover { color: var(--k-red); border-color: var(--k-red); }
.kvali-fp__kicker { display: block; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--k-red); }
.kvali-fp__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--fp-ink); color: #fff; font: inherit; font-size: 15px; font-weight: 800; line-height: 1.2; padding: 15px 28px; border-radius: 999px; border: 2px solid var(--fp-ink); text-decoration: none; cursor: pointer; transition: background .2s, color .2s, transform .2s, border-color .2s; }
.kvali-fp__btn:hover { background: var(--k-red); border-color: var(--k-red); color: #fff; transform: translateY(-1px); }
.kvali-fp__btn--ghost { background: transparent; color: var(--fp-ink); }
.kvali-fp__btn--ghost:hover { background: var(--fp-ink); border-color: var(--fp-ink); color: #fff; }
.kvali-fp__btn--dark:hover { background: #fff; border-color: #fff; color: var(--fp-ink); }

/* Hero */
.kvali-fp__hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; padding: 14px 0 8px; }
.kvali-fp__herotext .kvali-fp__kicker { margin-bottom: 18px; }
.kvali-fp__h1 { margin: 0 0 20px; font-family: var(--fp-serif); font-weight: 400; text-transform: none; font-size: clamp(44px, 5.4vw, 78px); line-height: .98; letter-spacing: -.015em; color: var(--fp-ink); }
.kvali-fp__lead { margin: 0 0 28px; font-size: 17px; line-height: 1.55; color: var(--fp-muted); max-width: 520px; }
.kvali-fp__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.kvali-fp__visual { position: relative; height: 520px; }
.kvali-fp__photo { position: absolute; left: 21%; top: 0; right: 0; height: 456px; border-radius: var(--fp-r); overflow: hidden; box-shadow: 0 24px 60px rgba(23,24,28,.18); background: #e2dbd0; }
.kvali-fp__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kvali-fp__swatches { position: absolute; left: 0; bottom: 0; width: 218px; display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 60px rgba(23,24,28,.25); transform: rotate(-6deg); transform-origin: bottom left; }
.kvali-fp__sw { height: 62px; box-sizing: border-box; padding: 9px 18px 10px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 1px; color: var(--fp-ink); font-weight: 800; font-size: 11.5px; line-height: 1.15; }
.kvali-fp__sw.is-dark { color: #fff; }
.kvali-fp__swcode { font-weight: 500; font-size: 9.5px; opacity: .7; letter-spacing: .02em; }
.kvali-fp__card { position: absolute; right: -10px; top: 34px; display: flex; gap: 12px; align-items: center; background: #fff; border-radius: 16px; padding: 14px 16px; box-shadow: 0 12px 32px rgba(23,24,28,.14); text-decoration: none; color: var(--fp-ink); max-width: 310px; transition: transform .2s; }
.kvali-fp__card:hover { transform: translateY(-2px); color: var(--fp-ink); }
.kvali-fp__carddot { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px; }
.kvali-fp__cardbody { display: flex; flex-direction: column; gap: 2px; }
.kvali-fp__cardbody strong { font-size: 14px; font-weight: 800; }
.kvali-fp__cardbody span { font-size: 12px; color: var(--fp-soft); }

/* Rum */
.kvali-fp__rooms { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.kvali-fp__room { display: flex; flex-direction: column; height: 320px; background: #fff; border-radius: var(--fp-r); overflow: hidden; box-shadow: var(--fp-shadow); text-decoration: none; color: var(--fp-ink); transition: transform .2s, box-shadow .2s; }
.kvali-fp__room:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(23,24,28,.12); color: var(--fp-ink); }
.kvali-fp__roommedia { flex: 1; overflow: hidden; background: #e2dbd0; }
.kvali-fp__roommedia img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform .5s; }
.kvali-fp__room:hover img { transform: scale(1.04); }
.kvali-fp__roomfoot { padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kvali-fp__roomname { font-weight: 800; font-size: 17px; }
.kvali-fp__dot { width: 26px; height: 26px; border-radius: 50%; flex: 0 0 auto; box-shadow: inset 0 0 0 1px rgba(23,24,28,.08); }

/* Produkt-slidere */
.kvali-fp__slider { position: relative; }
.kvali-fp__slider .woocommerce { max-width: none; padding: 0; margin: 0; }
.kvali-fp__slider .woocommerce ul.products { display: flex; overflow-x: auto; gap: 14px; padding: 4px 2px 14px; scrollbar-width: none; -ms-overflow-style: none; }
.kvali-fp__slider .woocommerce ul.products::-webkit-scrollbar { display: none; }
.kvali-fp__slider .woocommerce ul.products li.product { flex: 0 0 calc(20% - 11.2px); border-radius: var(--fp-r); box-shadow: var(--fp-shadow); }
.kvali-fp__slider .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kvali-fp__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--fp-ink); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.2); display: flex; align-items: center; justify-content: center; transition: background .2s, opacity .2s; padding: 0 0 3px; }
.kvali-fp__arrow:hover { background: var(--k-red); }
.kvali-fp__arrow--prev { left: -18px; }
.kvali-fp__arrow--next { right: -18px; }
.kvali-fp__slider.at-start .kvali-fp__arrow--prev, .kvali-fp__slider.at-end .kvali-fp__arrow--next, .kvali-fp__slider.no-scroll .kvali-fp__arrow { opacity: 0; pointer-events: none; }

/* Kategorier: 2 store + 4 smaa */
.kvali-fp__cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 200px; grid-auto-flow: dense; gap: 14px; }
.kvali-fp__cat { position: relative; display: block; border-radius: var(--fp-r); overflow: hidden; background: #e2dbd0; box-shadow: var(--fp-shadow); text-decoration: none; color: var(--fp-ink); }
.kvali-fp__cat--big { grid-column: span 2; grid-row: span 2; }
.kvali-fp__cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .5s; }
.kvali-fp__cat:hover img { transform: scale(1.04); }
.kvali-fp__cat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,24,28,0) 55%, rgba(23,24,28,.28)); }
.kvali-fp__catname { position: absolute; left: 14px; bottom: 12px; z-index: 1; background: #fff; border-radius: 999px; padding: 8px 13px; font-weight: 800; font-size: 13px; box-shadow: 0 4px 12px rgba(23,24,28,.12); transition: background .2s, color .2s; }
.kvali-fp__cat--big .kvali-fp__catname { left: 20px; bottom: 18px; padding: 10px 16px; font-size: 15px; }
.kvali-fp__cat:hover .kvali-fp__catname { background: var(--fp-ink); color: #fff; }

/* Tryghed + maerker */
.kvali-fp__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.kvali-fp__tp { display: flex; flex-direction: column; gap: 20px; background: var(--fp-ink); color: #fff; border-radius: var(--fp-r); padding: 36px 40px; text-decoration: none; }
.kvali-fp__tp:hover { color: #fff; }
.kvali-fp__tphead { display: flex; align-items: baseline; gap: 14px; }
.kvali-fp__tpscore { font-family: var(--fp-serif); font-size: 84px; line-height: .9; }
.kvali-fp__tpstars { color: #00b67a; font-size: 24px; letter-spacing: 2px; }
.kvali-fp__tpcount { font-size: 15px; opacity: .8; }
.kvali-fp__tpquote { font-family: var(--fp-serif); font-size: 26px; line-height: 1.2; opacity: .95; }
.kvali-fp__tpby { font-size: 13px; opacity: .6; }
.kvali-fp__trustcol { display: flex; flex-direction: column; gap: 14px; }
.kvali-fp__why { flex: 1; background: #fff; border-radius: var(--fp-r); padding: 26px 30px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--fp-shadow); }
.kvali-fp__whygrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.kvali-fp__whyitem { font-size: 14px; line-height: 1.5; color: var(--fp-muted); }
.kvali-fp__whyitem strong { display: block; color: var(--fp-ink); font-size: 16px; margin-bottom: 4px; }
.kvali-fp__brands { background: #fff; border-radius: var(--fp-r); padding: 20px 30px; display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; box-shadow: var(--fp-shadow); }
.kvali-fp__brand { font-weight: 900; font-size: 21px; letter-spacing: -.01em; color: var(--fp-ink); text-decoration: none; transition: color .2s; }
.kvali-fp__brand:hover { color: var(--k-red); }

/* Nyhedsbrev */
.kvali-fp__nl { background: var(--k-red); color: #fff; border-radius: var(--fp-r); padding: 48px 56px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }
.kvali-fp__nltitle { margin: 0 0 10px; font-family: var(--fp-serif); font-weight: 400; text-transform: none; font-size: 52px; line-height: 1; letter-spacing: -.01em; color: #fff; }
.kvali-fp__nltext { margin: 0; font-size: 16px; line-height: 1.5; opacity: .92; }
.kvali-fp__nlform { display: flex; justify-content: flex-end; }

/* SEO-tekst (foldet) */
.kvali-fp__seo { position: relative; background: #fff; border-radius: var(--fp-r); box-shadow: var(--fp-shadow); padding: 30px 40px 64px; }
.kvali-fp__seoinner { max-height: 220px; overflow: hidden; columns: 2; column-gap: 48px; font-size: 14px; line-height: 1.65; color: #3f4147; position: relative; }
.kvali-fp__seoinner::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(180deg, rgba(255,255,255,0), #fff); }
.kvali-fp__seo.is-open .kvali-fp__seoinner { max-height: none; }
.kvali-fp__seo.is-open .kvali-fp__seoinner::after { display: none; }
.kvali-fp__seoinner h1, .kvali-fp__seoinner h2, .kvali-fp__seoinner h3 { break-after: avoid; color: var(--fp-ink); font-family: var(--fp-serif); font-weight: 400; text-transform: none; letter-spacing: -.01em; }
.kvali-fp__seoinner h1 { font-size: 30px; margin: 0 0 12px; }
.kvali-fp__seoinner h2 { font-size: 26px; margin: 22px 0 10px; }
.kvali-fp__seoinner h3 { font-size: 21px; margin: 18px 0 6px; }
.kvali-fp__seoinner p { margin: 0 0 12px; }
.kvali-fp__seoinner > :first-child { margin-top: 0; }
.kvali-fp__seomore { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); background: var(--fp-ink); color: #fff; border: 0; border-radius: 999px; padding: 10px 18px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.kvali-fp__seomore:hover { background: var(--k-red); }
.kvali-fp__seo.is-open .kvali-fp__seomore span { display: inline-block; transform: rotate(180deg); }

@media (max-width: 1100px) {
	.kvali-fp__hero { gap: 32px; }
	.kvali-fp__visual { height: 460px; }
	.kvali-fp__photo { height: 400px; }
	.kvali-fp__swatches { width: 190px; }
	.kvali-fp__sw { height: 54px; padding: 8px 14px 9px; }
	.kvali-fp__card { top: 20px; right: 0; max-width: 260px; }
	.kvali-fp__slider .woocommerce ul.products li.product { flex-basis: calc(25% - 10.5px); }
	.kvali-fp__arrow--prev { left: 4px; } .kvali-fp__arrow--next { right: 4px; }
	.kvali-fp__rooms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kvali-fp__room { height: 280px; }
	.kvali-fp__title { font-size: 40px; }
}
@media (max-width: 900px) {
	.kvali-fp { padding-top: 18px; }
	.kvali-fp__section { margin-bottom: 48px; }
	.kvali-fp__hero { grid-template-columns: 1fr; gap: 28px; }
	.kvali-fp__visual { height: 440px; }
	.kvali-fp__photo { left: 18%; height: 380px; }
	.kvali-fp__cats { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 170px; }
	.kvali-fp__slider .woocommerce ul.products li.product { flex-basis: calc(33.333% - 9.5px); }
	.kvali-fp__trust, .kvali-fp__nl { grid-template-columns: 1fr; }
	.kvali-fp__nl { padding: 36px 32px; gap: 22px; }
	.kvali-fp__nlform { justify-content: flex-start; }
	.kvali-fp__seoinner { columns: 1; }
	.kvali-fp__seo { padding: 24px 24px 64px; }
}
@media (max-width: 640px) {
	.kvali-fp__head { flex-direction: column; align-items: flex-start; gap: 8px; }
	.kvali-fp__title { font-size: 34px; }
	.kvali-fp__h1 { font-size: 42px; }
	.kvali-fp__lead { font-size: 15.5px; }
	.kvali-fp__btn { padding: 13px 20px; font-size: 14px; }
	.kvali-fp__visual { height: 360px; }
	.kvali-fp__photo { left: 14%; height: 310px; }
	.kvali-fp__swatches { width: 150px; }
	.kvali-fp__sw { height: 46px; padding: 6px 12px 7px; }
	.kvali-fp__card { top: auto; bottom: 0; right: 0; max-width: 230px; padding: 10px 12px; }
	.kvali-fp__carddot { flex-basis: 34px; width: 34px; height: 34px; }
	.kvali-fp__rooms { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding: 2px 2px 12px; margin: 0 -24px; padding-left: 24px; padding-right: 24px; scrollbar-width: none; }
	.kvali-fp__rooms::-webkit-scrollbar { display: none; }
	.kvali-fp__room { flex: 0 0 62%; height: 240px; scroll-snap-align: start; }
	.kvali-fp__roomfoot { padding: 12px 14px; }
	.kvali-fp__roomname { font-size: 15px; }
	.kvali-fp__slider .woocommerce ul.products li.product { flex-basis: 58%; }
	.kvali-fp__cats { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 10px; }
	.kvali-fp__cat--big { grid-row: span 1; }
	.kvali-fp__tp { padding: 26px 24px; }
	.kvali-fp__tpscore { font-size: 64px; }
	.kvali-fp__tpquote { font-size: 22px; }
	.kvali-fp__why { padding: 22px 20px; }
	.kvali-fp__whygrid { grid-template-columns: 1fr; gap: 14px; }
	.kvali-fp__brands { padding: 16px 20px; justify-content: flex-start; }
	.kvali-fp__brand { font-size: 17px; }
	.kvali-fp__nl { padding: 30px 22px; }
	.kvali-fp__nltitle { font-size: 38px; }
}

/* Gulv-hero (under den oeverste hero) */
.kvali-fp__section--fhero { margin-top: -8px; }
.kvali-fp__fhero { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 440px; background: #fff; border-radius: var(--fp-r); overflow: hidden; box-shadow: var(--fp-shadow); }
.kvali-fp__fmedia { position: relative; display: block; min-height: 300px; background: #e2dbd0; overflow: hidden; }
.kvali-fp__fmedia img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.kvali-fp__fmedia:hover img { transform: scale(1.03); }
.kvali-fp__fbadge { position: absolute; left: 22px; bottom: 20px; background: #fff; color: var(--fp-ink); font-weight: 800; font-size: 14px; padding: 10px 16px; border-radius: 999px; box-shadow: 0 6px 18px rgba(23,24,28,.14); }
.kvali-fp__fbody { padding: 48px 52px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.kvali-fp__fbody .kvali-fp__kicker { margin-bottom: 14px; }
.kvali-fp__ftitle { margin: 0 0 16px; font-family: var(--fp-serif); font-weight: 400; text-transform: none; font-size: clamp(34px, 3.6vw, 52px); line-height: 1; letter-spacing: -.015em; color: var(--fp-ink); }
.kvali-fp__ftitle em { font-style: italic; }
.kvali-fp__fbody .kvali-fp__lead { font-size: 16px; margin-bottom: 24px; }
@media (max-width: 900px) {
	.kvali-fp__fhero { grid-template-columns: 1fr; min-height: 0; }
	.kvali-fp__fmedia { min-height: 260px; aspect-ratio: 16 / 10; }
	.kvali-fp__fbody { padding: 28px 24px 30px; }
}
@media (max-width: 640px) {
	.kvali-fp__fmedia { min-height: 0; aspect-ratio: 4 / 3; }
	.kvali-fp__fbody { padding: 22px 18px 24px; }
	.kvali-fp__ftitle { font-size: 30px; }
	.kvali-fp__fbadge { left: 14px; bottom: 12px; font-size: 13px; padding: 8px 13px; }
}

/* Anmeldelser (manuelt indtastet, ordret fra Trustpilot) */
.kvali-fp__revlist { display: flex; overflow-x: auto; gap: 14px; padding: 4px 2px 14px; margin: 0; list-style: none; scrollbar-width: none; -ms-overflow-style: none; }
.kvali-fp__revlist::-webkit-scrollbar { display: none; }
.kvali-fp__rev { flex: 0 0 calc(33.333% - 9.5px); display: flex; flex-direction: column; gap: 12px; background: #fff; border-radius: var(--fp-r); box-shadow: var(--fp-shadow); padding: 24px 26px 22px; margin: 0; }
.kvali-fp__revstars { display: flex; gap: 3px; }
.kvali-fp__revstars i { width: 18px; height: 18px; background: #e3e1dc; clip-path: polygon(50% 2%, 62% 36%, 98% 38%, 69% 60%, 79% 96%, 50% 75%, 21% 96%, 31% 60%, 2% 38%, 38% 36%); }
.kvali-fp__revstars i.is-on { background: var(--fp-ink); }
.kvali-fp__revtext { margin: 0; font-family: var(--fp-serif); font-size: 21px; line-height: 1.25; color: var(--fp-ink); flex: 1; }
.kvali-fp__revby { font-size: 13.5px; color: var(--fp-muted); }
.kvali-fp__revby strong { color: var(--fp-ink); }
.kvali-fp__revdate { color: var(--fp-soft); }
.kvali-fp__revsrc { font-size: 12px; font-weight: 700; color: var(--fp-soft); text-decoration: none; }
.kvali-fp__revsrc:hover { color: var(--k-red); }
@media (max-width: 900px) { .kvali-fp__rev { flex-basis: calc(50% - 7px); } }
@media (max-width: 640px) { .kvali-fp__rev { flex-basis: 80%; padding: 20px 20px 18px; } .kvali-fp__revtext { font-size: 19px; } }

/* v1.68: "Guides" i menuen (inline SVG-ikon i stedet for billede) */
.kvali-nav__ico--svg, .kvali-mnav__ico--svg { display: inline-flex; align-items: center; justify-content: center; color: var(--k-red, #d0121a); }
.kvali-nav__ico--svg svg, .kvali-mnav__ico--svg svg { width: 100%; height: 100%; }
.kvali-meganav__item--guides > a { white-space: nowrap; }
.kvali-meganav__item--guides.is-current > a { color: var(--k-red, #d0121a); }
body.kvali-nav-minimal .kvali-nav__ico--svg { display: none; }

/* v1.68: Guides mega-menu */
.kvali-mega__inner--guides .kvali-mega__linkscol { column-count: 3; }
.kvali-mega__link--more { color: var(--k-red); font-weight: 800; }
.kvali-mega__gcard { display: block; border-radius: 12px; overflow: hidden; background: var(--k-bg, #f5f2ee); text-decoration: none; transition: transform var(--k-transition, .2s); }
.kvali-mega__gcard:hover { transform: translateY(-2px); }
.kvali-mega__gcard img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.kvali-mega__gcard b { display: block; padding: 10px 12px 0; font-size: 13px; font-weight: 800; color: var(--k-dark); line-height: 1.3; }
.kvali-mega__gcard em { display: block; padding: 4px 12px 12px; font-style: normal; font-size: 12px; font-weight: 800; color: var(--k-red); }

/* v1.69.2-1.69.4: Listevisning (1 pr. raekke) - billedfeltet fylder hele kortets hoejde (ingen luft over/under),
   badges maa ligge ind over billedet, tint-wrapper kun saa bred som billedfeltet */
.kvali-cols-1 ul.products li.product { padding: 10px 22px 10px 10px; min-height: 220px; align-items: stretch; overflow: hidden; }
.kvali-cols-1 ul.products li.product .kvali-tint-wrap {
	flex: 0 0 220px; width: 220px; height: auto; align-self: stretch; margin: 0;
	display: flex; align-items: center; justify-content: center;
	border-radius: 10px;
}
.kvali-cols-1 ul.products li.product .kvali-tint-wrap img,
.kvali-cols-1 ul.products li.product a img { flex: 0 0 190px; width: 190px; height: 190px; }
.kvali-cols-1 ul.products li.product .kvali-card__body { padding: 10px 0; }
.kvali-cols-1 ul.products li.product .kvali-badge-top-left { top: 18px; left: 18px; }
.kvali-cols-1 ul.products li.product .kvali-badge-top-right { top: 18px; left: 168px; }
.kvali-cols-1 ul.products li.product .kvali-badge-bottom-left { bottom: 18px; left: 18px; }
.kvali-cols-1 ul.products li.product .kvali-badge-bottom-right { bottom: 18px; left: 168px; }

/* =========================================================================
   Takkesiden (order-received) - v1.73.0
   ====================================================================== */
.kvty { max-width: 1120px; margin: 8px auto 64px; color: var(--k-dark); }
.kvty-ic { flex: 0 0 auto; }
.kvty-card { background: #fff; border-radius: 18px; padding: 24px 26px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); }
.kvty-h1 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 900; line-height: 1.1; letter-spacing: -.01em; margin: 0 0 10px; }
.kvty-h2 { font-size: 19px; font-weight: 900; margin: 0 0 16px; }
.kvty-h3 { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6b6e75; margin: 0 0 12px; }
.kvty-h3 .kvty-ic { width: 18px; height: 18px; color: var(--k-red); }
.kvty-kicker { font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--k-green); margin: 0 0 8px; }
.kvty-lead { font-size: 16px; line-height: 1.55; color: #3d3f45; margin: 0; max-width: 640px; }
.kvty-lead strong { color: var(--k-dark); }
.kvty-muted { font-size: 14px; line-height: 1.5; color: #6b6e75; margin: 10px 0 0; }
.kvty-strong { font-size: 15px; font-weight: 800; margin: 0; }
.kvty-lbl { display: block; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #8a8d94; margin: 0 0 4px; }

/* Hero */
.kvty-hero { display: flex; gap: 22px; align-items: flex-start; background: #fff; border-radius: 22px; padding: 30px 32px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); position: relative; overflow: hidden; }
.kvty-hero::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: var(--k-green); }
.kvty-hero__badge { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; background: var(--k-green); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 8px rgba(26, 127, 55, .12); animation: kvty-pop .45s cubic-bezier(.2, .9, .3, 1.3) both; }
.kvty-hero__badge .kvty-ic { width: 34px; height: 34px; stroke-width: 2.6; }
.kvty-hero__txt { flex: 1 1 auto; min-width: 0; }
.kvty-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.kvty-actions .kvali-btn { display: inline-flex; align-items: center; gap: 8px; }
.kvty-actions .kvali-btn .kvty-ic { width: 18px; height: 18px; }
.kvty-hero--failed::before { background: var(--k-red); }
.kvty-hero--failed .kvty-hero__badge { background: var(--k-red); box-shadow: 0 0 0 8px rgba(208, 18, 26, .12); }
.kvty-hero--failed .kvty-kicker { color: var(--k-red); }
@keyframes kvty-pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* Status-trin */
.kvty-steps { list-style: none; margin: 18px 0 0; padding: 18px 26px; background: #fff; border-radius: 18px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); display: flex; counter-reset: kvty; }
.kvty-step { flex: 1 1 0; position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; min-width: 0; }
.kvty-step::before { content: ""; position: absolute; top: 13px; left: calc(-50% + 16px); right: calc(50% + 16px); height: 3px; border-radius: 3px; background: var(--k-gray-light); }
.kvty-step:first-child::before { display: none; }
.kvty-step.is-done::before, .kvty-step.is-current::before { background: var(--k-green); }
.kvty-step__dot { width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 2px solid var(--k-gray-light); display: flex; align-items: center; justify-content: center; color: #fff; position: relative; z-index: 1; }
.kvty-step__dot .kvty-ic { width: 16px; height: 16px; stroke-width: 3; }
.kvty-step.is-done .kvty-step__dot { background: var(--k-green); border-color: var(--k-green); }
.kvty-step.is-current .kvty-step__dot { border-color: var(--k-green); box-shadow: 0 0 0 5px rgba(26, 127, 55, .15); }
.kvty-step.is-current .kvty-step__dot::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--k-green); }
.kvty-step__lbl { font-size: 13px; font-weight: 700; color: #8a8d94; line-height: 1.3; }
.kvty-step.is-done .kvty-step__lbl, .kvty-step.is-current .kvty-step__lbl { color: var(--k-dark); }
.kvty-step.is-current .kvty-step__lbl { font-weight: 900; }

/* Indhold */
.kvty-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px; margin-top: 20px; align-items: start; }
.kvty-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.kvty-side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 120px; min-width: 0; }
.kvty-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.kvty-next { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.kvty-next li { display: flex; gap: 14px; align-items: flex-start; position: relative; }
.kvty-next li:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 46px; bottom: -14px; width: 2px; background: var(--k-gray-light); }
.kvty-next__ic { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px; background: #fff4f4; color: var(--k-red); display: flex; align-items: center; justify-content: center; }
.kvty-next__txt { display: flex; flex-direction: column; gap: 2px; padding-top: 3px; min-width: 0; }
.kvty-next__txt strong { font-size: 15px; font-weight: 800; }
.kvty-next__txt span { font-size: 14px; color: #55585f; line-height: 1.45; }
.kvty-note { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 0; padding: 12px 14px; background: var(--k-bg, #f7f7f6); border-radius: 12px; font-size: 13.5px; line-height: 1.45; color: #3d3f45; }
.kvty-note .kvty-ic { width: 18px; height: 18px; color: var(--k-red); margin-top: 1px; }
.kvty-note a { color: var(--k-red); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

.kvty-info { padding: 20px 22px; }
.kvty-ship { display: flex; align-items: center; gap: 12px; }
.kvty-ship__logo { flex: 0 0 76px; width: 76px; height: 40px; border: 1px solid var(--k-gray-light); border-radius: 9px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 5px 8px; box-sizing: border-box; }
.kvty-ship__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.kvty-ship__name { font-size: 15px; font-weight: 800; line-height: 1.3; }
.kvty-addr { margin: 12px 0 0; font-size: 14px; line-height: 1.5; color: #3d3f45; }
.kvty-addr--point { background: #fff6f6; border: 1.5px solid rgba(208, 18, 26, .25); border-radius: 12px; padding: 10px 14px; }
.kvty-addr--point .kvty-addr__lbl { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--k-red); margin-bottom: 2px; }
.kvty-paybox { margin-top: 12px; font-size: 14px; background: var(--k-bg, #f7f7f6); border-radius: 12px; padding: 12px 14px; }
.kvty-paybox h2, .kvty-paybox h3 { font-size: 15px; margin: 0 0 8px; }
.kvty-paybox ul { margin: 0; padding-left: 18px; }
.kvty-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kvty-cols address, .kvty-cols p { font-style: normal; font-size: 14px; line-height: 1.55; color: #3d3f45; margin: 0 0 6px; }

/* Ordreoversigt */
.kvty-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.kvty-item { display: flex; align-items: center; gap: 12px; }
.kvty-item__img { position: relative; flex: 0 0 58px; width: 58px; height: 58px; border: 1px solid var(--k-gray-light); border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; }
.kvty-item__img img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; padding: 3px; box-sizing: border-box; }
.kvty-item__qty { position: absolute; top: -7px; right: -7px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--k-dark); color: #fff; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.kvty-item__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 14px; font-weight: 700; line-height: 1.35; }
.kvty-item__txt a { color: var(--k-dark); text-decoration: none; }
.kvty-item__txt a:hover { color: var(--k-red); }
.kvty-item__txt small { font-size: 12.5px; font-weight: 500; color: #6b6e75; }
.kvty-item__txt small strong { font-weight: 700; }
.kvty-item__note { display: block; margin-top: 4px; padding: 6px 9px; background: #fff8e6; border-left: 3px solid #e0a100; border-radius: 6px; font-size: 12.5px; font-weight: 600; line-height: 1.4; color: #5c4600; }
.kvty-item__price { flex: 0 0 auto; font-size: 14px; font-weight: 800; white-space: nowrap; }
.kvty-totals { margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--k-gray-light); }
.kvty-totals__row { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 14px; }
.kvty-totals__row dt { color: #55585f; font-weight: 600; margin: 0; }
.kvty-totals__row dd { margin: 0; font-weight: 800; text-align: right; }
.kvty-totals__row--order_total { margin-top: 8px; padding-top: 12px; border-top: 2px solid var(--k-dark); align-items: baseline; }
.kvty-totals__row--order_total dt { color: var(--k-dark); font-size: 16px; font-weight: 900; }
.kvty-totals__row--order_total dd { font-size: 22px; font-weight: 900; color: var(--k-red); }
.kvty-totals__row--order_total dd small, .kvty-totals__row--order_total dd .includes_tax { display: block; font-size: 12px; font-weight: 600; color: #6b6e75; }
.kvty-totals__row--order_total dd .includes_tax .amount { color: #6b6e75; }
.kvty-free { color: var(--k-green); }

.kvty-help { padding: 20px 22px; }
.kvty-help__links { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 0; }
.kvty-help__links a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; color: var(--k-dark); text-decoration: none; }
.kvty-help__links a:hover { color: var(--k-red); }
.kvty-help__links .kvty-ic { width: 18px; height: 18px; color: var(--k-red); }
.kvty-extra { margin-top: 20px; }
.kvty-extra:empty { display: none; }

@media (max-width: 900px) {
	.kvty-grid { grid-template-columns: 1fr; }
	.kvty-side { position: static; }
}
@media (max-width: 640px) {
	.kvty { margin-top: 0; }
	.kvty-hero { flex-direction: column; gap: 14px; padding: 22px 20px 22px 24px; border-radius: 18px; }
	.kvty-hero__badge { flex-basis: 52px; width: 52px; height: 52px; }
	.kvty-hero__badge .kvty-ic { width: 28px; height: 28px; }
	.kvty-actions .kvali-btn { flex: 1 1 100%; justify-content: center; text-align: center; }
	.kvty-card { padding: 20px 18px; border-radius: 16px; }
	.kvty-duo, .kvty-cols { grid-template-columns: 1fr; }
	/* Status-trin lodret paa mobil */
	.kvty-steps { flex-direction: column; gap: 14px; padding: 18px 20px; }
	.kvty-step { flex-direction: row; text-align: left; gap: 12px; }
	.kvty-step::before { top: auto; bottom: calc(50% + 14px); left: 12.5px; right: auto; width: 3px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) { .kvty-hero__badge { animation: none; } }
/* Konto-besked fra Kvali Core paa takkesiden (vises over hero'en). */
.kvty > .kvs-konto-note { display: flex; gap: 14px; align-items: flex-start; background: #fff; border-radius: 16px; padding: 16px 20px; margin: 0 0 14px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); border-left: 4px solid var(--k-dark); }
.kvty > .kvs-konto-note svg { flex: 0 0 22px; width: 22px; height: 22px; color: var(--k-red); fill: currentColor; margin-top: 2px; }
.kvty > .kvs-konto-note strong { display: block; font-size: 15px; font-weight: 800; margin-bottom: 2px; }
.kvty > .kvs-konto-note p { margin: 0; font-size: 14px; line-height: 1.5; color: #3d3f45; }
.kvty > .kvs-konto-note a { color: var(--k-red); font-weight: 700; }
.kvty--login { margin-bottom: 0; }
.kvty--login ~ .woocommerce-info, .kvty--login ~ .woocommerce-message, .kvty--login ~ .woocommerce-notices-wrapper { max-width: 1120px; margin: 14px auto 0; }
.kvty--login ~ .woocommerce-form-login { max-width: 1120px; margin: 14px auto 64px; background: #fff; border: 0; border-radius: 18px; padding: 24px 26px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); box-sizing: border-box; }
/* Ret ordre direkte paa takkesiden (Kvali Ordreflow-panelet i en udfoldelig boks). */
.kvty-editbox { margin: 18px 0 0; background: #fff; border-radius: 18px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); border: 1.5px solid transparent; transition: border-color var(--k-transition); }
.kvty-editbox[open] { border-color: rgba(208, 18, 26, .3); }
.kvty-editbox > summary { list-style: none; display: flex; align-items: center; gap: 14px; padding: 16px 22px; cursor: pointer; border-radius: 18px; }
.kvty-editbox > summary::-webkit-details-marker { display: none; }
.kvty-editbox > summary:focus-visible { outline: 3px solid rgba(208, 18, 26, .35); outline-offset: 2px; }
.kvty-editbox__ic { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; background: #fff4e0; color: #b26a00; display: flex; align-items: center; justify-content: center; }
.kvty-editbox__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.kvty-editbox__txt strong { font-size: 15.5px; font-weight: 800; }
.kvty-editbox__txt span { font-size: 13.5px; color: #55585f; line-height: 1.4; }
.kvty-editbox__btn { flex: 0 0 auto; font-size: 13px; font-weight: 800; color: var(--k-red); border: 1.5px solid var(--k-red); border-radius: 999px; padding: 8px 16px; transition: background var(--k-transition), color var(--k-transition); }
.kvty-editbox > summary:hover .kvty-editbox__btn { background: var(--k-red); color: #fff; }
.kvty-editbox[open] .kvty-editbox__btn { background: var(--k-dark); border-color: var(--k-dark); color: #fff; }
.kvty-editbox__body { padding: 0 22px 20px; }
.kvty-editbox .kvof { margin: 0; border: 0; box-shadow: none; padding: 0; background: transparent; }
.kvty-editbox .kvof__head { display: none; }
.kvty-hero--cancelled::before { background: #8a8d94; }
.kvty-hero--cancelled .kvty-hero__badge { background: #8a8d94; box-shadow: 0 0 0 8px rgba(138, 141, 148, .15); }
.kvty-hero--cancelled .kvty-kicker { color: #8a8d94; }
@media (max-width: 640px) {
	.kvty-editbox > summary { flex-wrap: wrap; padding: 14px 16px; }
	.kvty-editbox__btn { flex: 1 1 100%; text-align: center; }
	.kvty-editbox__body { padding: 0 16px 16px; }
}

/* =========================================================================
   404
   ====================================================================== */
.kvali-404 { padding: 32px 0 80px; }
.kvali-404__top { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr); gap: 20px; align-items: stretch; }
.kvali-404__hero { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; background: #fff; border-radius: 22px; padding: 44px 48px 40px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); }
.kvali-404__code { position: absolute; right: -8px; top: -52px; margin: 0; font-size: 230px; line-height: 1; font-weight: 900; color: var(--k-red); opacity: .07; letter-spacing: -.04em; pointer-events: none; user-select: none; }
.kvali-404__kicker { position: relative; display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--k-red); margin-bottom: 8px; }
.kvali-404__title { position: relative; font-size: clamp(30px, 4vw, 48px); font-weight: 900; line-height: 1.05; margin: 0 0 12px; }
.kvali-404__lead { position: relative; font-size: 16.5px; line-height: 1.55; color: #55585f; margin: 0 0 24px; max-width: 620px; }
.kvali-404__search { position: relative; width: 100%; max-width: 680px; }
.kvali-404__search .kvali-searchform { background: #fff; border: 2px solid var(--k-dark); padding: 5px 6px 5px 22px; }
.kvali-404__search .kvali-searchform__input, .kvali-404__search .kvali-searchform__input:focus { width: 100%; flex: 1 1 auto; font-size: 17px; padding: 13px 0; border: 0; background: transparent; outline: 0; }
.kvali-404__search .kvali-searchform__submit { font-size: 17px; background: var(--k-red); color: #fff; border-radius: 999px; width: 48px; height: 48px; padding: 0; }
.kvali-404__guess { margin: 14px 0 0; font-size: 15.5px; color: #3d3f45; }
.kvali-404__guess a { color: var(--k-red); font-weight: 800; }
.kvali-404__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; }
.kvali-404__chips-lbl { font-size: 13px; font-weight: 800; color: #8a8d94; margin-right: 2px; }
.kvali-404__chip { display: inline-flex; align-items: center; padding: 7px 14px; border-radius: 999px; background: var(--k-bg); color: var(--k-dark); font-size: 13.5px; font-weight: 700; text-decoration: none; transition: background var(--k-transition), color var(--k-transition); }
.kvali-404__chip:hover { background: var(--k-dark); color: #fff; }
.kvali-404__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.kvali-404__help { background: var(--k-dark); color: #fff; border-radius: 22px; padding: 30px 28px 24px; display: flex; flex-direction: column; }
.kvali-404__help-title { color: #fff; font-size: 22px; font-weight: 900; margin: 0 0 6px; }
.kvali-404__help-lead { color: rgba(255, 255, 255, .72); font-size: 14.5px; line-height: 1.5; margin: 0 0 18px; }
.kvali-404__contact { display: grid; gap: 8px; }
.kvali-404__cline { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .07); color: #fff; text-decoration: none; transition: background var(--k-transition); }
.kvali-404__cline:hover { background: rgba(255, 255, 255, .13); color: #fff; }
.kvali-404__cline small { display: block; font-size: 12px; color: rgba(255, 255, 255, .6); font-weight: 600; }
.kvali-404__cline strong { display: block; font-size: 16.5px; font-weight: 800; overflow-wrap: break-word; }
.kvali-404__cic { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 12px; background: var(--k-red); display: flex; align-items: center; justify-content: center; }
.kvali-404__cic .kvty-ic { width: 20px; height: 20px; }
.kvali-404__cline:first-child .kvali-404__cic .kvty-ic { fill: currentColor; stroke: none; }
.kvali-404__hours { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: rgba(255, 255, 255, .6); margin: 12px 2px 14px; }
.kvali-404__hours .kvty-ic { width: 16px; height: 16px; margin-top: 2px; }
.kvali-404__links { list-style: none; margin: auto 0 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.kvali-404__links li { border-bottom: 1px solid rgba(255, 255, 255, .12); }
.kvali-404__links li:last-child { border-bottom: 0; }
.kvali-404__links a { display: flex; align-items: center; gap: 12px; padding: 11px 2px; color: #fff; text-decoration: none; }
.kvali-404__lic { flex: 0 0 auto; color: rgba(255, 255, 255, .75); display: flex; }
.kvali-404__lic .kvty-ic { width: 20px; height: 20px; }
.kvali-404__ltxt { flex: 1 1 auto; min-width: 0; }
.kvali-404__ltxt strong { display: block; font-size: 14.5px; font-weight: 800; }
.kvali-404__ltxt small { display: block; font-size: 12px; color: rgba(255, 255, 255, .55); }
.kvali-404__larr { display: flex; opacity: .5; transition: transform var(--k-transition), opacity var(--k-transition); }
.kvali-404__larr .kvty-ic { width: 16px; height: 16px; }
.kvali-404__links a:hover .kvali-404__larr { opacity: 1; transform: translateX(3px); }

.kvali-404__section { margin-top: 48px; }
.kvali-404__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.kvali-404__h2 { font-size: 22px; font-weight: 900; margin: 0; }
.kvali-404__more { flex: 0 0 auto; font-size: 14px; font-weight: 800; color: var(--k-red); text-decoration: none; }
.woocommerce .kvali-404__products.kvali-popular { margin-top: 0; }
.kvali-404 .kvali-404__section.woocommerce { padding: 0; max-width: none; }
.kvali-404__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.kvali-404__cat { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; text-align: center; background: #fff; border-radius: 18px; padding: 18px 14px 18px; text-decoration: none; color: var(--k-dark); box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); transition: transform var(--k-transition), box-shadow var(--k-transition); }
.kvali-404__cat:hover { transform: translateY(-3px); box-shadow: var(--k-shadow-card-hover, 0 6px 20px rgba(23, 24, 28, .12)); color: var(--k-dark); }
.kvali-404__img { width: 100%; max-width: 170px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.kvali-404__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.kvali-404__name { font-size: 15.5px; font-weight: 800; line-height: 1.25; margin-top: 4px; }
.kvali-404__count { font-size: 12.5px; color: #8a8d94; font-weight: 600; }
.kvali-404 .kvali-404__guides { margin-top: 48px; }

@media (max-width: 1024px) {
	.kvali-404__top { grid-template-columns: 1fr; }
	.kvali-404__links { margin-top: 14px; }
}
@media (max-width: 560px) {
	.kvali-404 { padding-top: 16px; }
	.kvali-404__hero { padding: 30px 18px 26px; border-radius: 18px; }
	.kvali-404__code { font-size: 130px; top: -28px; }
	.kvali-404__help { padding: 24px 18px 18px; border-radius: 18px; }
	.kvali-404__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.kvali-404__head { flex-direction: column; gap: 6px; }
	.kvali-404__h2 { font-size: 19px; }
	.kvali-404__section { margin-top: 36px; }
	.kvali-404__cline strong { font-size: 14.5px; }
	.kvali-404__chip:nth-of-type(n+6) { display: none; }
	.kvali-404__chip { padding: 6px 12px; font-size: 13px; }
	.kvali-404__actions .kvali-btn { flex: 1 1 100%; justify-content: center; text-align: center; }
}

/* =========================================================================
   Tilbehoers-vindue (efter maling i kurven)
   ====================================================================== */
.kvali-acc { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.kvali-acc[hidden] { display: none; }
.kvali-acc__backdrop { position: absolute; inset: 0; background: rgba(15, 16, 20, .55); opacity: 0; transition: opacity .25s ease; }
.kvali-acc__panel { position: relative; width: 100%; max-width: 1000px; max-height: calc(100vh - 48px); overflow-y: auto; background: var(--k-bg); border-radius: 22px; box-shadow: 0 24px 70px rgba(0, 0, 0, .3); padding: 22px 24px 20px; transform: translateY(16px) scale(.98); opacity: 0; transition: transform .25s ease, opacity .25s ease; overscroll-behavior: contain; }
.kvali-acc.is-open .kvali-acc__backdrop { opacity: 1; }
.kvali-acc.is-open .kvali-acc__panel { transform: none; opacity: 1; }
.kvali-acc__x { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #fff; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .12); z-index: 2; }
.kvali-acc__x span::before, .kvali-acc__x span::after { content: ""; position: absolute; left: 11px; top: 18px; width: 16px; height: 2px; background: var(--k-dark); border-radius: 2px; transform: rotate(45deg); }
.kvali-acc__x span::after { transform: rotate(-45deg); }
.kvali-acc__added { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: 16px; padding: 12px 56px 12px 12px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); }
.kvali-acc__img { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: #fff; display: flex; align-items: center; justify-content: center; }
.kvali-acc__img img { max-width: 100%; max-height: 100%; object-fit: contain; margin: 0 !important; }
.kvali-acc__addedtxt { display: flex; flex-direction: column; min-width: 0; }
.kvali-acc__ok { display: inline-flex; align-items: center; gap: 6px; color: #0a7a3d; font-size: 13px; font-weight: 800; }
.kvali-acc__addedtxt strong { font-size: 16px; font-weight: 900; line-height: 1.25; }
.kvali-acc__addedtxt small { font-size: 13px; color: #666; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kvali-acc__head { margin: 20px 2px 14px; }
.kvali-acc__title { font-size: clamp(20px, 2.6vw, 26px); font-weight: 900; margin: 0 0 2px; }
.kvali-acc__head p { margin: 0; color: #555; font-size: 14.5px; }
.kvali-acc__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.kvali-acc__card { display: flex; flex-direction: column; background: #fff; border-radius: 14px; padding: 10px 10px 12px; box-shadow: var(--k-shadow-card, 0 1px 3px rgba(23, 24, 28, .07)); min-width: 0; }
.kvali-acc__pimg { position: relative; display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; margin-bottom: 8px; }
.kvali-acc__pimg img { width: 100%; height: 100%; object-fit: contain; margin: 0 !important; }
.kvali-acc__hot { position: absolute; top: 6px; left: 6px; background: var(--k-red); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .06em; padding: 3px 8px; border-radius: 999px; }
.kvali-acc__name { font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--k-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; margin-bottom: 4px; }
.kvali-acc__price { font-size: 14.5px; font-weight: 900; color: var(--k-red); margin-bottom: 8px; }
.kvali-acc__price del { font-size: 11px; color: #999; font-weight: 600; margin-right: 4px; }
.kvali-acc__price ins { text-decoration: none; }
.kvali-acc__add { margin-top: auto; display: flex; align-items: center; justify-content: center; min-height: 40px; border: 0; border-radius: 999px; background: #fff; color: var(--k-green); box-shadow: inset 0 0 0 1.5px var(--k-green); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; text-decoration: none; transition: background var(--k-transition, .2s), color var(--k-transition, .2s), opacity .2s; }
.kvali-acc__add:hover { background: rgba(26, 127, 55, .08); color: var(--k-green); }
.kvali-acc__add[disabled], .kvali-acc__add[data-acc-var][data-acc-add=""] { background: #fff; color: #8a8a8a; box-shadow: inset 0 0 0 1.5px #d4d4d2; }
.kvali-acc__add[disabled] { cursor: default; }
.kvali-acc__save { position: absolute; top: 6px; right: 6px; font-size: 11px; padding: 3px 8px; border-radius: 999px; }
.kvali-acc__opts { display: flex; flex-direction: column; gap: 6px; margin: 0 0 8px; }
.kvali-acc__sel { width: 100%; min-height: 36px; padding: 0 30px 0 10px; border: 1.5px solid #dcdcda; border-radius: 10px; background: #fff; font: inherit; font-size: 13px; color: var(--k-dark); cursor: pointer; }
.kvali-acc__sel:focus { outline: none; border-color: var(--k-dark); }
.kvali-acc__sel.is-need { border-color: var(--k-red); box-shadow: 0 0 0 3px rgba(208, 18, 26, .12); }
.kvali-acc__add.is-busy { opacity: .6; cursor: progress; }
.kvali-acc__add.is-done, .kvali-acc__add.is-done:hover { background: var(--k-green); color: #fff; box-shadow: inset 0 0 0 1.5px var(--k-green); cursor: default; }
.kvali-acc__foot { position: sticky; bottom: -20px; display: flex; justify-content: flex-end; gap: 10px; margin: 16px -24px -20px; padding: 14px 24px 16px; background: var(--k-bg); border-top: 1px solid rgba(0, 0, 0, .06); }
@media (max-width: 860px) { .kvali-acc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.kvali-acc { padding: 0; align-items: flex-end; }
	.kvali-acc__panel { max-height: 92vh; border-radius: 20px 20px 0 0; padding: 16px 14px 14px; transform: translateY(40px); }
	.kvali-acc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.kvali-acc__added { padding-right: 50px; }
	.kvali-acc__img { flex-basis: 52px; width: 52px; height: 52px; }
	.kvali-acc__foot { margin: 14px -14px -14px; padding: 12px 14px 14px; bottom: -14px; }
	.kvali-acc__foot .kvali-btn { flex: 1 1 0; justify-content: center; text-align: center; padding-left: 10px; padding-right: 10px; }
}

/* Nyhed-maerke (v1.78.0): moerkt, samme form som %-maerket; under det ved tilbud. */
.kvali-newflash {
	position: absolute; top: 10px; left: 10px; z-index: 5;
	background: var(--k-dark); color: #fff; font-size: 13.5px; font-weight: 900; letter-spacing: .02em;
	border-radius: 10px; padding: 6px 11px; line-height: 1.2; pointer-events: none;
}
.kvali-newflash--below { top: 48px; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery .kvali-newflash { top: 14px; left: 14px; z-index: 6; }
@media (max-width: 768px) {
	.woocommerce ul.products li.product .kvali-newflash { left: 8px; top: 8px; font-size: 12px; padding: 5px 9px; }
	.woocommerce ul.products li.product .kvali-newflash--below { top: 42px; }
}
.woocommerce .up-sells ul.products li.product .kvali-newflash, .woocommerce .kvali-popular ul.products li.product .kvali-newflash { font-size: 11px; padding: 4px 8px; top: 7px; left: 7px; border-radius: 8px; }
.woocommerce .up-sells ul.products li.product .kvali-newflash--below, .woocommerce .kvali-popular ul.products li.product .kvali-newflash--below { top: 34px; }

/* Hurtigt kig er en <button> (virker ogsaa foer forsinket JS er indlaest). */
button.kvali-viewbtn { font: inherit; border: 0; cursor: pointer; -webkit-appearance: none; appearance: none; line-height: inherit; }
