/* Produktsidan */

/* =========================================================================
   Produktsidan
   ========================================================================= */



/* Tvåkolumnslayouten: galleri | köpkolumn */
.nws-pdp > .brxe-container { padding: 1.2rem var(--nws-gutter) var(--space-xl); }
.nws-pdp__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 60rem;
	gap: 5.6rem;
	align-items: start;
}

/* Galleri */
.nws-pdp__media { display: flex; flex-direction: column; gap: 1.4rem; }
.nws-pdp__media .woocommerce-product-gallery { position: relative; }
/* Med flera bilder lägger flexslider bilderna sida vid sida i ett spår som
   är flera gånger bredare än rutan, inuti .flex-viewport. Radien måste då
   sitta på visningsrutan — spårets egna hörn ligger utanför synfältet. */
.nws-pdp__media .flex-viewport,
.nws-pdp__media .woocommerce-product-gallery__wrapper {
	background: var(--nws-grey-surface);
	border-radius: var(--nws-radius-l);
	overflow: hidden;
	margin: 0;
}
/* Fast ruta (kvadrat, högst 52rem) oavsett bildens storlek. Annars styr
   bilden höjden: Marinex små bilder (239 px) gav en låg ruta på hälften av
   sidorna. Bilden fyller rutan med contain. */
.nws-pdp__media .woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	max-height: 52rem;
	width: 100%;
}
.nws-pdp__media .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	padding: 3rem;
}
.nws-pdp__media .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.2rem;
	margin: 1.4rem 0 0;
	padding: 0;
	list-style: none;
}
.nws-pdp__media .flex-control-thumbs li {
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-m);
	overflow: hidden;
	height: 10.4rem;
	cursor: pointer;
}
.nws-pdp__media .flex-control-thumbs li:has(img.flex-active) { border: 2px solid var(--nws-black); }
.nws-pdp__media .flex-control-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

/* Köpkolumnen */
.nws-pdp__buy { display: flex; flex-direction: column; gap: 2rem; }
.nws-pdp-badges { display: flex; flex-wrap: wrap; gap: 1rem; }
.nws-pdp-badge {
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1;
	border: 1px solid var(--nws-grey-line);
	color: var(--nws-grey);
	padding: 0.8rem 1.1rem;
	border-radius: var(--nws-radius-s);
}
/* Skick i grönt med svart text (kundens val 2026-10-30) — samma som det
   valda skickkortet. */
.nws-pdp-badge--skick {
	background: var(--nws-green);
	border-color: var(--nws-green);
	color: var(--nws-black);
	font-weight: 600;
}
.nws-pdp-badge--skick:empty { display: none; }
.nws-pdp__buy .brxe-product-title { margin: 0; text-wrap: balance; }
.nws-pdp-subtitle { font-size: 1.9rem; line-height: 1.5; color: var(--nws-grey); }

.nws-pdp-pick {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 2rem;
	margin-top: 0.6rem;
}
.nws-pdp-pick__label {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nws-grey);
}
.nws-pdp-pick__link {
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--nws-black);
	border-bottom: 1px solid var(--nws-green);
	padding-bottom: 0.2rem;
}
.nws-pdp-pick__link:hover { color: var(--nws-black); border-bottom-color: var(--nws-black); }

/* Utan varianter finns inget skick att välja — och den tomma JS-lagerraden
   ska inte reservera plats när WooCommerce skriver sin egen. */
.nws-pdp__buy:not(:has(form.variations_form)) .nws-pdp-pick { display: none; }
.nws-availability:empty { display: none; }

/* Enkla produkters lagerrad (WooCommerce + child-temats SKU-filter) — samma
   utseende som variantprodukternas JS-rad. */
.nws-pdp .brxe-product-add-to-cart p.stock {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.45;
	font-weight: 500;
	color: var(--nws-black);
}
.nws-pdp .brxe-product-add-to-cart p.stock.out-of-stock { color: var(--nws-red); }
.nws-pdp .brxe-product-add-to-cart p.stock .nws-availability__sku,
.nws-pdp .brxe-product-add-to-cart > .nws-availability__sku {
	display: block;
	margin-top: 0.4rem;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--nws-grey);
}
.nws-pdp .brxe-product-add-to-cart p.stock + .nws-availability__sku { margin-bottom: 2.2rem; }

/* Lagerraden — platsen är reserverad så inget hoppar när valet görs. */
.nws-availability {
	min-height: 2.2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.6rem;
	font-size: 1.5rem;
	line-height: 1.45;
	color: var(--nws-grey);
}
.nws-availability[hidden] { display: none; }
.nws-availability__stock { color: var(--nws-black); font-weight: 500; }
.nws-availability__stock::before { content: ''; display: inline-block; width: 0.9em; height: 0.9em; border-radius: 50%; background: var(--nws-green); border: 1px solid var(--nws-black); margin-right: 0.5em; vertical-align: -0.05em; }
.nws-availability__stock.is-out { color: var(--nws-red); }
.nws-availability__stock.is-out::before { background: transparent; border-color: var(--nws-red); }
.nws-availability__sku { color: var(--nws-grey); }

/* Köpformuläret. Selecten finns kvar för WooCommerces logik men syns inte. */
.nws-pdp form.cart { display: flex; flex-direction: column; gap: 2.2rem; }
.nws-swatch-source { display: none !important; }
.nws-pdp .variations { display: block; width: 100%; margin: 0; border: 0; }
.nws-pdp .variations tbody { display: flex; flex-direction: column; gap: 2rem; }
.nws-pdp .variations tr { display: flex; flex-direction: column; gap: 0.8rem; border: 0; }
.nws-pdp .variations th.label {
	text-align: left;
	padding: 0;
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--nws-grey);
}
/* Bricks stylar alla label ljusgrå med vikt 400 — Woo lägger en label inuti
   th.label, så etiketten ärver raden i stället, annars ser RAM-minne och
   Lagring annorlunda ut än Garanti och Tillbehör (som är span). */
.nws-pdp .variations th.label label { display: inline; margin: 0; font: inherit; color: inherit; }
.nws-pdp .variations .nws-row--skick th.label,
.nws-pdp tr.nws-row--skick th.label { display: none; }
.nws-pdp .variations th.label,
.nws-pdp .variations td.value { width: 100%; padding: 0; }
/* Kompakt konfiguration (2026-10-15): axlar med ett enda värde döljs
   (variation-swatches.js sätter nws-row--single), och övriga axlar har
   etiketten till vänster om knapparna i stället för ovanför. */
.nws-pdp .variations tr.nws-row--single { display: none; }
.nws-pdp .variations tbody { gap: 1.2rem; }
.nws-pdp .variations tr.nws-row--swatch { flex-direction: row; align-items: center; gap: 1.6rem; }
.nws-pdp .variations tr.nws-row--swatch th.label { flex: 0 0 10rem; width: auto; }
.nws-pdp .variations tr.nws-row--swatch td.value { flex: 1; width: auto; min-width: 0; }
.nws-pdp .reset_variations { align-self: flex-end; font-size: 1.4rem; color: var(--nws-grey); }
.nws-pdp .reset_variations:hover { color: var(--nws-black); }

/* WooCommerces egen pris- och lagerrad i formuläret dubblerar vår — bort. */
.nws-pdp .woocommerce-variation.single_variation { display: none !important; }

/* Skick-korten */
.nws-skick-cards { display: flex; flex-direction: column; gap: 1rem; }
.nws-skick-card {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: var(--nws-white);
	border: 2px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-m);
	padding: 1.8rem 2rem;
	font: inherit;
	transition: border-color 0.12s ease, background-color 0.12s ease;
}
.nws-skick-card:hover { border-color: var(--nws-grey); }
.nws-skick-card.is-selected { border-color: var(--nws-black); background: var(--nws-green); }
.nws-skick-card__dot {
	flex: none;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	border: 2px solid var(--nws-grey-line);
	background: transparent;
}
.nws-skick-card.is-selected .nws-skick-card__dot { border-color: var(--nws-black); background: var(--nws-black); }
.nws-skick-card.is-selected .nws-skick-card__desc,
.nws-skick-card.is-selected .nws-skick-card__klass { color: var(--nws-black); }
.nws-skick-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.nws-skick-card__name { font-size: 1.9rem; font-weight: 600; line-height: 1.2; color: var(--nws-black); }
.nws-skick-card__klass { font-weight: 400; color: var(--nws-grey); }
.nws-skick-card__desc { font-size: 1.5rem; line-height: 1.4; color: var(--nws-grey); }
.nws-skick-card__price {
	font-family: "DM Sans", sans-serif;
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
}
.nws-skick-card.is-unavailable { opacity: 0.45; cursor: default; }
.nws-skick-card.is-blocked { opacity: 0.7; }
/* Kompakt: en rad per skick (beskrivningen finns bakom "Vad betyder skicket?"). */
.nws-skick-cards { gap: 0.8rem; }
.nws-skick-card { padding: 1.2rem 1.6rem; gap: 1.2rem; }
.nws-skick-card__name { font-size: 1.7rem; }
.nws-skick-card__price { font-size: 2rem; }

/* Kompakta knappar för övriga axlar */
.nws-swatches { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.nws-swatch {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	background: var(--nws-white);
	border: 1.5px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
	padding: 1rem 1.4rem;
	font: inherit;
	transition: border-color 0.12s ease;
}
.nws-swatch:hover { border-color: var(--nws-grey); }
.nws-swatch.is-selected { border-color: var(--nws-black); background: var(--nws-grey-surface); }
.nws-swatch__label { font-size: 1.5rem; font-weight: 600; line-height: 1; color: var(--nws-black); }
.nws-swatch__meta { font-size: 1.3rem; line-height: 1; color: var(--nws-grey); }
.nws-swatch.is-unavailable { opacity: 0.4; cursor: default; }
.nws-swatch.is-unavailable .nws-swatch__label { text-decoration: line-through; }
.nws-swatch.is-blocked { opacity: 0.65; }

/* Prisblocket — renderas i formuläret av child-temat, uppdateras av JS. */
.nws-pdp-price {
	border-top: 1px solid var(--nws-grey-soft);
	padding-top: 2.4rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2.4rem;
}
.nws-pdp-price__now {
	font-family: "DM Sans", sans-serif;
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 1;
	color: var(--nws-black);
	letter-spacing: -0.015em;
}
.nws-pdp-price__now .nws-price-from { font-size: 1.9rem; font-weight: 400; color: var(--nws-grey); margin-right: 0.4rem; }
.nws-pdp-price__now .nws-price-was,
.nws-pdp-price__now del {
	font-family: "DM Sans", sans-serif;
	font-size: 1.9rem;
	font-weight: 400;
	color: var(--nws-grey);
	letter-spacing: 0;
	margin-left: 0.6rem;
}
.nws-pdp-price__now ins { text-decoration: none; }
.nws-pdp-price__saving { font-size: 1.7rem; font-weight: 500; color: var(--nws-black); margin: 0.8rem 0 0; }
.nws-pdp-price__saving:empty { display: none; }
.nws-pdp-price__monthly { font-size: 1.6rem; line-height: 1.5; color: var(--nws-grey); text-align: right; margin: 0; }
.nws-pdp-price__monthly strong { color: var(--nws-black); }

/* Kolumnen efter variantvalen + köpknappen */
.nws-pdp .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; gap: 2rem; }
.nws-pdp form.cart .quantity { display: none !important; } /* ett exemplar åt gången — antal hör inte hemma här */
/* WooCommerces "Visa varukorg"-länk efter AJAX-köp — panelen öppnas ändå
   och har sin egen knapp, så länken stod bara och skräpade under köpknappen. */
.nws-pdp form.cart .added_to_cart { display: none; }

.nws-pdp .single_add_to_cart_button {
	width: 100%;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	background: var(--nws-green);
	color: var(--nws-black);
	border: 0;
	border-radius: var(--nws-radius-btn);
	padding: 2.2rem 3rem;
	cursor: pointer;
	transition: background-color 0.12s ease;
}
.nws-pdp .single_add_to_cart_button:hover { background: var(--nws-green-hover-bg); color: var(--nws-green-hover-fg); }
.nws-pdp .single_add_to_cart_button.disabled,
.nws-pdp .single_add_to_cart_button:disabled { opacity: 0.5; cursor: default; }

/* Betalalternativ under köpknappen (hook i functions.php). Bilden är en
   mörk, ramlös variant av Qliro-märket (svart på vitt). */
.nws-pdp-pay { display: flex; flex-direction: column; gap: 0.8rem; margin-top: 1.6rem; }
/* Märket fyller kolumnens bredd, höjden följer bildens proportioner. */
.nws-pdp-pay__qliro { display: block; width: 100%; height: auto; }

/* Trygghetsgrid 2×2 */
.nws-pdp-trust {
	background: var(--nws-grey-surface);
	border-radius: var(--nws-radius-m);
	padding: 2.2rem 2.4rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.6rem 2.2rem;
}
.nws-pdp-trust__item { display: flex; gap: 1.2rem; align-items: flex-start; }
.nws-pdp-trust__icon {
	flex: none;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 0.7rem;
	background: var(--nws-white);
	display: flex;
	align-items: center;
	justify-content: center;
}
.nws-pdp-trust__text { font-size: 1.6rem; font-weight: 500; line-height: 1.35; color: var(--nws-black); }
.nws-pdp-trust__text span { display: block; font-weight: 400; font-size: 1.4rem; color: var(--nws-grey); }

/* Testprotokollet */
.nws-pdp-protocol > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); }
.nws-pdp-protocol__card {
	background: var(--nws-black);
	border-radius: var(--nws-radius-l);
	padding: 4.4rem 4.8rem;
	color: var(--nws-white);
	display: flex;
	flex-direction: column;
	gap: 3.2rem;
}
/* Rubriken centrerad (kundens önskemål 2026-10-30); metaraden under. */
.nws-pdp-protocol__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1.2rem;
}
.nws-pdp-protocol__intro .nws-eyebrow--accent { display: block; margin-bottom: 1.4rem; }
.nws-pdp-protocol__title { margin: 0; color: var(--nws-white); text-wrap: balance; }
.nws-pdp-protocol__meta { font-size: 1.6rem; line-height: 1.5; color: rgba(255, 255, 255, 0.6); text-align: center; margin: 0; }
.nws-pdp-protocol__meta:empty { display: none; }
.nws-pdp-protocol__grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 4rem; }
/* Utan batterihälsa är högerspalten tom — då får kontrollpunkterna hela
   bredden, i tre kolumner. */
.nws-pdp-protocol__grid:has(.nws-pdp-protocol__battery:empty) { grid-template-columns: 1fr; }
.nws-pdp-protocol__grid:has(.nws-pdp-protocol__battery:empty) .nws-pdp-protocol__side { display: none; }
.nws-pdp-protocol__grid:has(.nws-pdp-protocol__battery:empty) .nws-pdp-protocol__checks { grid-template-columns: repeat(3, 1fr); }
.nws-pdp-protocol__checks { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 2.6rem; align-content: start; }
.nws-pdp-check {
	display: flex;
	justify-content: space-between;
	gap: 1.2rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 1.7rem;
	line-height: 1.3;
	color: rgba(255, 255, 255, 0.75);
}
.nws-pdp-check__ok { color: var(--nws-green); }
.nws-pdp-protocol__side { display: flex; flex-direction: column; gap: 1.6rem; }
.nws-pdp-protocol__battery:empty { display: none; }
.nws-pdp-battery { border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--nws-radius-m); padding: 2.4rem; }
.nws-pdp-battery__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 1.4rem;
	font-size: 1.7rem;
	color: rgba(255, 255, 255, 0.75);
}
.nws-pdp-battery__head strong {
	font-family: "DM Sans", sans-serif;
	font-size: 3rem;
	font-weight: 600;
	color: var(--nws-green);
}
.nws-pdp-battery__track { height: 0.8rem; border-radius: 999px; background: rgba(255, 255, 255, 0.14); overflow: hidden; }
.nws-pdp-battery__fill { height: 100%; background: var(--nws-green); }
.nws-pdp-battery__note { font-size: 1.5rem; line-height: 1.45; color: rgba(255, 255, 255, 0.55); margin: 1.4rem 0 0; }
.nws-pdp-cosmetic { border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--nws-radius-m); padding: 2.4rem; flex: 1; }
.nws-pdp-cosmetic__title { font-size: 1.7rem; font-weight: 500; color: rgba(255, 255, 255, 0.75); margin: 0 0 1.4rem; }
.nws-pdp-cosmetic__text { font-size: 1.7rem; line-height: 1.5; color: var(--nws-white); margin: 0; }
.nws-pdp-cosmetic__note { font-size: 1.5rem; line-height: 1.5; color: rgba(255, 255, 255, 0.55); margin: 1.4rem 0 0; }

/* Specifikation + Det här ingår */
.nws-pdp-details > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); }
.nws-pdp-details__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5.6rem; align-items: start; }
.nws-pdp-details__col > .brxe-heading { margin: 0 0 2.2rem; }
.nws-spec { display: flex; flex-direction: column; }
.nws-spec__row {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--nws-grey-soft);
	font-size: 1.7rem;
	line-height: 1.4;
}
.nws-spec__row:last-child { border-bottom: 0; }
.nws-spec__label { color: var(--nws-grey); }
.nws-spec__value { color: var(--nws-black); text-align: right; }
.nws-pdp-includes { display: flex; flex-direction: column; gap: 1rem; }
.nws-pdp-includes__row {
	display: flex;
	gap: 1.2rem;
	align-items: center;
	font-size: 1.8rem;
	line-height: 1.4;
	color: var(--nws-black);
}
.nws-pdp-includes__row svg { flex: none; }
.nws-pdp-includes__row--not { color: var(--nws-grey); }

/* FAQ */
.nws-pdp-faq > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); }
.nws-pdp-faq__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 5.6rem; align-items: start; }
.nws-pdp-faq__intro > .brxe-heading { margin: 0 0 1.4rem; }
.nws-pdp-faq__sub { font-size: 1.8rem; line-height: 1.5; color: var(--nws-grey); }
.nws-faq { display: flex; flex-direction: column; }
.nws-faq__item { border-bottom: 1px solid var(--nws-grey-soft); }
.nws-faq__item summary {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 2rem;
	padding: 2rem 0;
	font-size: 2rem;
	line-height: 1.3;
	color: var(--nws-black);
	cursor: pointer;
	list-style: none;
}
.nws-faq__item summary::-webkit-details-marker { display: none; }
.nws-faq__item summary::after { content: '+'; color: var(--nws-grey); flex: none; }
.nws-faq__item[open] summary::after { content: '–'; }
.nws-faq__answer { padding: 0 0 2rem; font-size: 1.7rem; line-height: 1.55; color: var(--nws-grey); max-width: 56rem; }
.nws-faq__answer p { margin: 0; }



/* Responsivt */
@media (max-width: 1279px) {
	.nws-pdp__cols { grid-template-columns: minmax(0, 1fr) 46rem; gap: 3.6rem; }
	.nws-pdp-protocol__checks,
	.nws-pdp-protocol__grid:has(.nws-pdp-protocol__battery:empty) .nws-pdp-protocol__checks { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 991px) {
	.nws-pdp__cols,
	.nws-pdp-details__grid,
	.nws-pdp-faq__grid { grid-template-columns: 1fr; }
	.nws-pdp__cols { gap: 3.2rem; }
	.nws-pdp-protocol__grid { grid-template-columns: 1fr; }
	.nws-pdp-protocol__card { padding: 3.2rem 2.8rem; }
	.nws-pdp-protocol__head { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
	.nws-pdp-protocol__meta { text-align: left; }
}
@media (max-width: 767px) {
	.nws-pdp-protocol__checks,
	.nws-pdp-protocol__grid:has(.nws-pdp-protocol__battery:empty) .nws-pdp-protocol__checks { grid-template-columns: 1fr; }
	.nws-crumbs > .brxe-container,
	.nws-pdp > .brxe-container,
	.nws-pdp-protocol > .brxe-container,
	.nws-pdp-details > .brxe-container,
	.nws-pdp-faq > .brxe-container { padding-left: 1.6rem; padding-right: 1.6rem; }
	.nws-pdp__media .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); }
	.nws-pdp__media .flex-control-thumbs li { height: 8rem; }
	.nws-pdp-price { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
	.nws-pdp-price__monthly { text-align: left; }
	.nws-pdp-trust { grid-template-columns: 1fr; }
}
@media (max-width: 478px) {
	/* Skickkorten håller en rad även på mobil — priset ryms bredvid namnet nu
	   när beskrivningen bara visas på det valda. */
	.nws-pdp .variations tr.nws-row--swatch th.label { flex-basis: 8.4rem; }
}

/* Tillvalen (garanti, tillbehör) och totalsumman — markup från
   nordwaystore-core (Addons). Samma pillerform som variantknapparna. */
.nws-pdp .nws-addons { display: flex; flex-direction: column; gap: 2rem; }
.nws-pdp .nws-config__row { display: flex; flex-direction: column; gap: 0.8rem; margin: 0; }
.nws-pdp .nws-config__label { font-size: 1.4rem; font-weight: 600; color: var(--nws-grey); }
.nws-pdp .nws-config__options { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.nws-pdp .nws-addon {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	background: var(--nws-white);
	border: 1.5px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
	padding: 1rem 1.4rem;
	transition: border-color 0.12s ease;
}
.nws-pdp .nws-addon:hover { border-color: var(--nws-grey); }
.nws-pdp .nws-addon:has(.nws-addon__input:checked) { border-color: var(--nws-black); background: var(--nws-grey-surface); }
.nws-pdp .nws-addon:has(.nws-addon__input:focus-visible) { outline: 3px solid var(--nws-black); outline-offset: 2px; }
.nws-pdp .nws-addon__input { position: absolute; opacity: 0; pointer-events: none; }
.nws-pdp .nws-addon__label { font-size: 1.5rem; font-weight: 600; line-height: 1; color: var(--nws-black); }
.nws-pdp .nws-addon__price { font-size: 1.3rem; line-height: 1; color: var(--nws-grey); }
/* Tillval (garanti + tillbehör) som lista: kryssruta, namn, pris till höger. */
.nws-pdp .nws-config__options.is-multiple { flex-direction: column; flex-wrap: nowrap; gap: 0; }
.nws-pdp .is-multiple .nws-addon {
	flex-direction: row;
	align-items: center;
	gap: 1.2rem;
	border: 0;
	border-bottom: 1px solid var(--nws-grey-soft);
	border-radius: 0;
	padding: 1rem 0;
	background: transparent;
}
.nws-pdp .is-multiple .nws-addon:last-child { border-bottom: 0; }
.nws-pdp .is-multiple .nws-addon:has(.nws-addon__input:checked) { background: transparent; }
.nws-pdp .is-multiple .nws-addon::before {
	content: "";
	flex: none;
	width: 2rem;
	height: 2rem;
	border: 2px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
}
.nws-pdp .is-multiple .nws-addon:hover::before { border-color: var(--nws-grey); }
.nws-pdp .is-multiple .nws-addon:has(.nws-addon__input:checked)::before {
	border-color: var(--nws-black);
	background: var(--nws-black) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="%23BED62F" stroke-width="2.4" d="M3 8.5 6.5 12 13 4.5"/></svg>') center / 1.2rem no-repeat;
}
.nws-pdp .is-multiple .nws-addon__label { flex: 1; font-weight: 500; line-height: 1.3; }
.nws-pdp .is-multiple .nws-addon__price { font-size: 1.5rem; color: var(--nws-black); white-space: nowrap; }
.nws-pdp .is-multiple .nws-addon__label { min-width: 0; }
/* Tillvalets info-knapp (Addons::info). Knappen står intill namnet,
   priset håller sig längst till höger. */
.nws-pdp .is-multiple .nws-addon:has(.nws-addon__more) .nws-addon__label { flex: 0 1 auto; }
.nws-pdp .nws-addon__more {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 2.8rem;
	height: 2.8rem;
	margin: -0.4rem auto -0.4rem 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--nws-grey);
	cursor: pointer;
}
.nws-pdp .nws-addon__more:hover { color: var(--nws-black); background: var(--nws-grey-surface); }
.nws-pdp .nws-addon__more:focus-visible { outline: 3px solid var(--nws-black); outline-offset: 1px; }

/* Tillvalets fönster: bild till vänster, text och knapp till höger. */
/* Dubbel klass: skickfönstrets genomskinliga ram står längre ned i filen. */
.nws-skick-modal.nws-addon-modal { width: min(76rem, calc(100% - 3.2rem)); padding: 3.2rem; background: var(--nws-white); }
.nws-addon-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 3.2rem; align-items: start; }
.nws-addon-info:not(:has(.nws-addon-info__image)) { grid-template-columns: 1fr; }
.nws-addon-info__image { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: var(--nws-grey-surface); border-radius: var(--nws-radius-m); }
.nws-addon-info__text { display: flex; flex-direction: column; gap: 1.2rem; padding-right: 3.2rem; }
.nws-addon-info__title { margin: 0; font-size: 2.4rem; line-height: 1.2; }
.nws-addon-info__price { margin: 0; font-size: 1.8rem; font-weight: 600; }
.nws-addon-info__desc { font-size: 1.6rem; line-height: 1.55; color: var(--nws-grey); }
.nws-addon-info__desc p { margin: 0 0 1rem; }
.nws-addon-info__toggle { align-self: flex-start; margin-top: 0.8rem; }
@media (max-width: 767px) {
	.nws-addon-info { grid-template-columns: 1fr; gap: 2rem; }
	.nws-addon-info__image { max-height: 24rem; }
}
/* Liknande produkter — sektionens ram (kortstilarna bor i cards.css) */
.nws-pdp-related > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); display: flex; flex-direction: column; gap: 2.4rem; }
@media (max-width: 767px) {
	/* Efter grundregeln — annars vinner den fasta 56px-marginalen även på mobil. */
	.nws-pdp-related > .brxe-container { padding-left: 1.6rem; padding-right: 1.6rem; }
}
.nws-pdp-related .brxe-product-related > h2,
.nws-pdp-related .related.products > h2 { display: none; }
.nws-pdp-related ul.products {
	/* Kolumnantalet styrs responsivt av Bricks-elementets inställning. */
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Produktbeskrivningen under spec-tabellen — {post_content}, tills en
   redaktionell yta är beslutad. Kolumnen bär rubriken "Specifikation" även
   när tabellen är tom (bildskärmar m.fl. saknar spec-attribut) så länge
   beskrivningen finns; är båda tomma göms hela kolumnen. */
.nws-pdp-desc { font-size: 1.7rem; line-height: 1.6; color: var(--nws-grey); }
.nws-spec:not(:empty) + .nws-pdp-desc:not(:empty) { margin-top: 2.2rem; }
.nws-pdp-desc p { margin: 0 0 1.2rem; }
.nws-pdp-desc p:last-child { margin-bottom: 0; }
.nws-pdp-details__col:has(> .nws-spec:empty):has(> .nws-pdp-desc:empty) { display: none; }

/* "Vad betyder skicket?" som fönster (nws-pdp.js) — en kopia av
   sidans skickruta (.nws-guide__card, stilad i home.css). */
.nws-skick-modal {
	width: min(96rem, calc(100% - 3.2rem));
	max-height: calc(100dvh - 3.2rem);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 1.8rem;
	background: transparent;
	overflow: auto;
}
.nws-skick-modal::backdrop { background: rgba(17, 17, 17, 0.55); }
.nws-skick-modal .nws-guide__card { position: relative; }
/* Vit som tillvalsfönstret; raderna får den grå ytan i stället, annars försvinner de mot det vita. */
.nws-skick-modal .nws-guide__card { background: var(--nws-white); }
.nws-skick-modal .nws-guide__row { background: var(--nws-grey-surface); }
.nws-skick-modal .nws-skick-modal__close { background: var(--nws-grey-surface); }
.nws-skick-modal__close {
	position: absolute;
	top: 1.4rem;
	right: 1.4rem;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--nws-white);
	color: var(--nws-black);
	cursor: pointer;
}
.nws-skick-modal__close:hover { background: var(--nws-grey-line); }
.nws-skick-modal__close:focus-visible { outline: 3px solid var(--nws-black); outline-offset: 2px; }

/* Skickrutan längre ner behövs inte på produktsidan — samma innehåll öppnas
   från "Vad betyder skicket?" (nws-pdp.js kopierar den härifrån, så
   den ligger kvar i mallen och redigeras där). */
.single-product .brxe-section.nws-guide { display: none; }

/* Artikelnummer och Rensa på samma rad (variation-swatches.js bygger raden).
   Höjden är reserverad så konfigurationen inte hoppar vid första valet.
   Woo:s egen Rensa-länk ligger kvar dold i formuläret — den bär logiken. */
.nws-availability-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.6rem;
	min-height: 2.2rem;
}
.nws-availability-row .nws-availability { min-height: 0; }
.nws-pdp .reset_variations.nws-reset-source { display: none !important; }
.nws-reset {
	flex: none;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 1.4rem;
	color: var(--nws-grey);
	cursor: pointer;
}
.nws-reset:hover { color: var(--nws-black); }

/* Produkttexten i vänsterkolumnen under bilderna
   (2026-10-15), så ytan bredvid köpdelen inte står tom. Köpdelen spänner
   över båda raderna; andra raden tar överskottet så att galleriet aldrig
   får luft under sig. Köpdelen följer inte med vid scroll. */
.nws-pdp__cols {
	grid-template-areas: "media buy" "info buy";
	grid-template-rows: auto 1fr;
	row-gap: 4.8rem;
}
.nws-pdp__media { grid-area: media; }
.nws-pdp__buy { grid-area: buy; }
.nws-pdp__info { grid-area: info; min-width: 0; display: flex; flex-direction: column; gap: 4.8rem; }
@media (max-width: 991px) {
	.nws-pdp__cols { grid-template-areas: "media" "buy" "info"; grid-template-rows: auto; }
}

/* Specifikation i full bredd mellan köpdelen och Det här ingår | Vanliga
   frågor (2026-10-15). Tabellen i två kolumner med samma bredder som
   bilder | köpdel ovanför, så att raderna linjerar. */
.nws-pdp-spec > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); }
.nws-pdp-spec .nws-pdp-details__col { width: 100%; } /* Bricks-containern krymper annars barnet till innehållet */
.nws-pdp-spec .nws-spec { display: grid; grid-template-columns: minmax(0, 1fr) 60rem; column-gap: 5.6rem; }
.nws-pdp-spec .nws-spec__row:last-child { border-bottom: 1px solid var(--nws-grey-soft); }
@media (max-width: 1279px) {
	.nws-pdp-spec .nws-spec { grid-template-columns: minmax(0, 1fr) 46rem; column-gap: 3.6rem; }
}
@media (max-width: 991px) {
	.nws-pdp-spec .nws-spec { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.nws-pdp-spec > .brxe-container { padding-left: 1.6rem; padding-right: 1.6rem; }
}

/* Det här ingår | Vanliga frågor i samma rad (2026-10-15). Samma kolumner
   som bilder | köpdel ovanför, så att raderna linjerar; frågekolumnen har
   rubriken ovanför listan. */
.nws-pdp-faq__grid { grid-template-columns: minmax(0, 1fr) 60rem; gap: 5.6rem; }
@media (max-width: 1279px) {
	.nws-pdp-faq__grid { grid-template-columns: minmax(0, 1fr) 46rem; gap: 3.6rem; }
}
.nws-pdp-faq__col { display: flex; flex-direction: column; gap: 1.2rem; min-width: 0; }
.nws-pdp-faq__col .nws-pdp-faq__intro > .brxe-heading { margin: 0 0 2.2rem; }
.nws-pdp-faq__col .nws-pdp-faq__sub { display: none; }
@media (max-width: 991px) {
	.nws-pdp-faq__grid { grid-template-columns: 1fr; }
}
/* Utan specifikationsrader (t.ex. tillbehör) döljs hela sektionen — annars
   står rubriken ensam. */
.nws-pdp-spec:has(.nws-spec:empty) { display: none; }
