/* Varukorg, kassa och minivarukorg — enligt skissen "Kassa och varukorg".
   Markup i woocommerce/-overriderna, beteende i assets/js/nws-cart.js. */

/* =========================================================================
   Gemensamt: knappar, chips, alternativkort, notiser
   ========================================================================= */

/* Dubbla selektorer: page.css stryker under alla a i .nws-page__body och
   laddas senare i kedjan — knapplänkarna behöver vinna på specificitet. */
a.nws-btn,
.nws-page__body a.nws-btn,
.nws-page__body .woocommerce-MyAccount-content a.button { text-decoration: none; }
.nws-btn {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	padding: 1.4rem 2rem;
	border-radius: var(--nws-radius-btn);
	border: 1.5px solid transparent;
	cursor: pointer;
	text-align: center;
}
.nws-btn--ink { background: var(--nws-black); color: var(--nws-white); }
.nws-btn--ink:hover { background: var(--nws-black-hover-bg); color: var(--nws-black-hover-fg); }
.nws-btn--accent { background: var(--nws-green); color: var(--nws-black); }
.nws-btn--accent:hover { background: var(--nws-green-hover-bg); color: var(--nws-green-hover-fg); }
.nws-btn--ram { background: transparent; color: var(--nws-black); border-color: var(--nws-grey-line); }
.nws-btn--ram:hover { border-color: var(--nws-black); color: var(--nws-black); }
.nws-btn--stor { padding: 1.7rem 2.2rem; font-size: 1.8rem; }

.nws-chip {
	display: inline-block;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: 1px solid var(--nws-grey-line);
	color: var(--nws-grey);
	padding: 0.7rem 0.9rem;
	border-radius: var(--nws-radius-s);
}
.nws-chip--skick {
	background: var(--nws-black);
	border-color: var(--nws-black);
	color: var(--nws-green);
	font-weight: 600;
}

/* Alternativkort — leverans och betalsätt delar form. */
.nws-option {
	display: flex;
	gap: 1.4rem;
	align-items: flex-start;
	padding: 1.7rem 1.8rem;
	border-radius: var(--nws-radius-m);
	cursor: pointer;
	border: 1.5px solid var(--nws-grey-line);
	background: var(--nws-white);
}
.nws-option.is-valt { border-color: var(--nws-black); background: var(--nws-grey-surface); }
.nws-option input { position: absolute; opacity: 0; pointer-events: none; }
.nws-option__dot {
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 50%;
	flex: none;
	margin-top: 0.2rem;
	border: 2px solid var(--nws-grey-line);
	background: transparent;
}
.nws-option.is-valt .nws-option__dot {
	border-color: var(--nws-black);
	background: var(--nws-black);
	box-shadow: inset 0 0 0 4px var(--nws-white);
}
.nws-option__text { flex: 1; min-width: 0; }
.nws-option__label { display: block; font-size: 1.7rem; font-weight: 600; line-height: 1.25; color: var(--nws-black); }
.nws-option__desc { display: block; font-size: 1.5rem; line-height: 1.45; color: var(--nws-grey); margin-top: 0.5rem; }
.nws-option__price {
	flex: none;
	text-align: right;
	font-family: field-gothic-compact, sans-serif;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
}

/* Samtyckesrader — villkor och nyhetsbrev i steg 4. */
.nws-consent,
.place-order .woocommerce-terms-and-conditions-checkbox-text,
.place-order .form-row.validate-required label.checkbox {
	font-size: 1.5rem;
	line-height: 1.45;
	color: var(--nws-grey);
}
.nws-consent {
	display: flex;
	gap: 1.2rem;
	align-items: flex-start;
	cursor: pointer;
	margin: 0 0 1.3rem;
}
.nws-consent input { position: absolute; opacity: 0; pointer-events: none; }
.nws-consent__box {
	width: 2.2rem;
	height: 2.2rem;
	border-radius: var(--nws-radius-s);
	flex: none;
	margin-top: 0.1rem;
	border: 2px solid var(--nws-grey-line);
	background: transparent;
}
.nws-consent input:checked + .nws-consent__box {
	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.3rem no-repeat;
}
.nws-consent input:focus-visible + .nws-consent__box { outline: 3px solid var(--nws-black); outline-offset: 2px; }
.nws-consent__label { flex: 1; }

/* WooCommerce-notiser på varukorg och i kassa. */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	list-style: none;
	margin: 0 0 2rem;
	padding: 1.5rem 1.8rem;
	border-radius: var(--nws-radius-m);
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-line);
	font-size: 1.6rem;
	color: var(--nws-black);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.woocommerce-error { border-left: 4px solid var(--nws-red); }
.woocommerce-message { border-left: 4px solid var(--nws-green); }
.woocommerce-info { border-left: 4px solid var(--nws-grey); }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a { text-decoration: underline; }
.woocommerce-error .button, .woocommerce-message .button, .woocommerce-info .button { display: none; }

/* =========================================================================
   Headerns kundvagnsknapp — svart pill med lime-räknare
   ========================================================================= */

.nws-masthead__cart .mini-cart-link {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	background: var(--nws-black);
	color: var(--nws-white);
	border-radius: var(--nws-radius-btn);
	padding: 1.2rem 1.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
}
.nws-masthead__cart .mini-cart-link:hover { color: var(--nws-black-hover-fg); background: var(--nws-black-hover-bg); }
.nws-masthead__cart .mini-cart-link::before { content: 'Varukorg'; }
.nws-masthead__cart .cart-icon { display: flex; align-items: center; }
.nws-masthead__cart .mini-cart-link:focus-visible { outline-offset: 3px; }
.nws-masthead__cart .cart-count {
	/* !important: Bricks minicart-element stylar räknaren absolut utanför
	   knappen via sin #brxe-id-selektor, som slår varje klasselektor. */
	position: static !important;
	transform: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	height: 2.4rem;
	font-size: 1.4rem;
	font-weight: 600;
	background: var(--nws-green);
	color: var(--nws-black);
	border-radius: 999px;
	padding: 0 0.7rem;
}

/* Mobil: ikon + räknare räcker — textetiketten gjorde pillen 135 px bred och
   trängde ihop sig mot länkraden under. Bricks minicart-markup saknar glyf
   (.cart-icon rymmer bara räknaren), så ::before byter innehåll från texten
   till en maskad kundvagns-SVG i knappens textfärg. Reglerna bor HÄR och
   inte i header.css: cart.css laddas senare i kedjan och vinner annars
   tillbaka med samma specificitet. */
@media (max-width: 991px) {
	.nws-masthead__cart .mini-cart-link { padding: 0.9rem 1.1rem; gap: 0.6rem; }
	.nws-masthead__cart .mini-cart-link::before {
		content: '';
		width: 1.8rem;
		height: 1.8rem;
		flex: none;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM3 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 9 17h11v-2H9.4a.2.2 0 0 1-.2-.3l.9-1.7h7.4a2 2 0 0 0 1.8-1.1l3.3-5.9A1 1 0 0 0 21.7 4.5H6.2L5.3 2.6A1 1 0 0 0 4.4 2z'/></svg>") center / contain no-repeat;
		mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM3 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 9 17h11v-2H9.4a.2.2 0 0 1-.2-.3l.9-1.7h7.4a2 2 0 0 0 1.8-1.1l3.3-5.9A1 1 0 0 0 21.7 4.5H6.2L5.3 2.6A1 1 0 0 0 4.4 2z'/></svg>") center / contain no-repeat;
	}
}

/* =========================================================================
   Minivarukorgen — panel från höger
   ========================================================================= */

.nws-cart-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(20, 24, 26, 0.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
	z-index: 1100;
}
.nws-cart-backdrop.is-synlig { opacity: 1; pointer-events: auto; }
body.nws-cart-oppen { overflow: hidden; }

.nws-masthead__cart .cart-detail {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(46rem, 100vw);
	background: var(--nws-white);
	z-index: 1200;
	transform: translateX(100%);
	transition: transform 0.28s ease;
	visibility: hidden;
	overflow: hidden;
	display: block;
	box-shadow: -18px 0 40px rgba(20, 24, 26, 0.18);
}
.nws-masthead__cart .cart-detail.active {
	transform: translateX(0);
	visibility: visible;
	opacity: 1;
}
.nws-masthead__cart .widget_shopping_cart_content,
.nws-mini {
	height: 100%;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Panelen delar form med varukorgssidans kort: vit yta, grå avdelare,
   sammanfattning i botten avgränsad med en linje. */
.nws-mini__head {
	padding: 2.2rem 2.4rem 1.8rem;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	flex: none;
	border-bottom: 1px solid var(--nws-grey-soft);
}
.nws-mini__title {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 1rem;
	font-family: field-gothic-compact, sans-serif;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1;
	color: var(--nws-black);
	letter-spacing: -0.01em;
}
.nws-mini__close {
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--nws-grey-surface);
	border: 0;
	border-radius: 50%;
	font-size: 2.2rem;
	line-height: 1;
	color: var(--nws-black);
	cursor: pointer;
	padding: 0 0 0.2rem;
	transition: background-color 0.12s ease;
}
.nws-mini__close:hover { background: var(--nws-grey-soft); }

/* "Tillagd"-notisen — samma banderoll som varukorgssidans, fast grön. */
.nws-mini__notice {
	margin: 1.6rem 2.4rem 0;
	padding: 1.3rem 1.6rem;
	border-radius: var(--nws-radius-m);
	background: var(--nws-green);
	color: var(--nws-black);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.35;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	flex: none;
}
.nws-mini__notice[hidden] { display: none; }
.nws-mini__notice-dot { width: 1rem; height: 1rem; border-radius: 50%; background: var(--nws-black); flex: none; }

.nws-mini__lines {
	list-style: none;
	margin: 0;
	padding: 0.4rem 2.4rem 1.6rem;
	overflow-y: auto;
	flex: 1;
	min-height: 0;
}
.nws-mini-line {
	display: flex;
	gap: 1.6rem;
	padding: 2rem 0;
	border-bottom: 1px solid var(--nws-grey-soft);
	align-items: flex-start;
	margin: 0;
}
.nws-mini-line__media {
	width: 8.4rem;
	height: 8.4rem;
	border-radius: var(--nws-radius-m);
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-soft);
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 0.6rem;
}
.nws-mini-line__media img { max-width: 100%; height: auto; mix-blend-mode: multiply; }
.nws-mini-line__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.nws-mini-line__title { display: block; font-size: 1.8rem; font-weight: 600; line-height: 1.25; }
.nws-mini-line__title a { color: var(--nws-black); text-decoration: none; }
.nws-mini-line__title a:hover { color: var(--nws-black); text-decoration: underline; }
.nws-mini-line__meta { display: block; font-size: 1.4rem; line-height: 1.35; color: var(--nws-grey); }
.nws-mini-line__chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.nws-mini-line__row { display: flex; align-items: baseline; gap: 1.2rem; margin-top: 0.4rem; }
.nws-mini-line__price,
.nws-mini-line__price .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 2rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
}
.nws-mini-line__qty { font-size: 1.4rem; color: var(--nws-grey); }
.nws-mini-line__remove,
.nws-mini-line__row a.remove {
	margin-left: auto;
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--nws-grey);
	text-decoration: underline;
}
.nws-mini-line__row a.remove:hover { color: var(--nws-black); }

/* Tillvalsrader — kompakta, indragna under maskinen de hör till. */
.nws-mini-line--tillval { padding: 1.2rem 0 1.2rem 10rem; align-items: center; }
.nws-mini-line--tillval .nws-mini-line__title { font-size: 1.5rem; font-weight: 500; }
.nws-mini-line--tillval .nws-mini-line__row { margin-top: 0; }
.nws-mini-line--tillval .nws-mini-line__price,
.nws-mini-line--tillval .nws-mini-line__price .woocommerce-Price-amount { font-size: 1.6rem; }
.nws-mini-line__title .nws-cart-addon {
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nws-grey);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
	padding: 0.3rem 0.5rem;
	margin-left: 0.6rem;
	vertical-align: middle;
}

/* Sammanfattningen — vit som resten av panelen, avgränsad med en linje. */
.nws-mini__foot {
	flex: none;
	padding: 2rem 2.4rem 2.4rem;
	border-top: 1px solid var(--nws-grey-soft);
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	background: var(--nws-white);
}
.nws-mini__frakt { display: flex; flex-direction: column; gap: 0.8rem; }
.nws-mini__frakt-text { font-size: 1.5rem; line-height: 1.45; color: var(--nws-grey); margin: 0; }
.nws-mini__frakt-text .woocommerce-Price-amount { color: var(--nws-black); font-weight: 600; }
.nws-mini__frakt.is-uppnadd .nws-mini__frakt-text { color: var(--nws-black); font-weight: 500; }
.nws-mini__frakt-track { display: block; height: 0.6rem; border-radius: 999px; background: var(--nws-grey-line); overflow: hidden; }
.nws-mini__frakt-fill { display: block; height: 100%; border-radius: inherit; background: var(--nws-green); transition: width 0.3s ease; }
.nws-mini__frakt.is-uppnadd .nws-mini__frakt-fill { background: var(--nws-black); }
.nws-mini__subtotal {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.4rem;
	padding-top: 1.4rem;
	border-top: 1px solid var(--nws-grey-soft);
}
.nws-mini__subtotal > span:first-child { font-size: 1.8rem; font-weight: 600; color: var(--nws-black); }
.nws-mini__subtotal small { font-size: 1.3rem; font-weight: 400; color: var(--nws-grey); margin-left: 0.4rem; }
.nws-mini__belopp,
.nws-mini__belopp .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 2.8rem;
	font-weight: 600;
	color: var(--nws-black);
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.nws-mini__ctas { display: flex; flex-direction: column; gap: 1rem; }
.nws-mini__trust { padding-top: 1.4rem; border-top: 1px solid var(--nws-grey-soft); gap: 0.7rem; }
.nws-mini__trust li { font-size: 1.4rem; }

/* Tomma läget i panelen */
.nws-mini__tom { padding: 4rem 2.4rem 2.8rem; text-align: center; overflow-y: auto; }
.nws-mini__tom-ikon {
	width: 6.4rem;
	height: 6.4rem;
	border-radius: 1.4rem;
	background: var(--nws-grey-surface) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="%23666666" stroke-width="1.6" d="M4 7h16l-1.5 11h-13L4 7Zm4 0a4 4 0 0 1 8 0"/></svg>') center / 2.8rem no-repeat;
	border: 1px solid var(--nws-grey-soft);
	margin: 0 auto 1.8rem;
}
.nws-mini__tom-title {
	display: block;
	font-family: field-gothic-compact, sans-serif;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--nws-black);
	margin-bottom: 0.8rem;
}
.nws-mini__tom-text { font-size: 1.6rem; line-height: 1.5; color: var(--nws-grey); margin: 0 0 2rem; }
.nws-mini__tom .nws-btn { display: block; margin-bottom: 2.2rem; }

.nws-mini__sedda { border-top: 1px solid var(--nws-grey-soft); padding-top: 1.8rem; text-align: left; }
.nws-mini__sedda-title {
	display: block;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nws-grey);
	margin-bottom: 1.2rem;
}
.nws-mini__sedd { display: flex; gap: 1.2rem; align-items: center; padding: 1rem 0; color: var(--nws-black); }
.nws-mini__sedd:hover .nws-mini__sedd-title { color: var(--nws-black); }
.nws-mini__sedd-media {
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 0.7rem;
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-soft);
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.nws-mini__sedd-media img { max-width: 100%; height: auto; mix-blend-mode: multiply; }
.nws-mini__sedd-title { flex: 1; min-width: 0; font-size: 1.5rem; font-weight: 500; line-height: 1.3; }
.nws-mini__sedd-price,
.nws-mini__sedd-price .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	white-space: nowrap;
}
.nws-mini__sedd-price .nws-price-from { display: none; }

/* =========================================================================
   Varukorgssidan
   ========================================================================= */

/* Kassaflödets sidor använder sidmallens container fullbrett. */
.woocommerce-cart .nws-page__body,
.woocommerce-checkout .nws-page__body { margin-top: 2.4rem; }
.woocommerce-cart .nws-page > .brxe-container,
.woocommerce-checkout .nws-page > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); }

.nws-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 40rem;
	gap: 2.4rem;
	align-items: start;
}
.nws-cart__main { display: flex; flex-direction: column; gap: 1.4rem; }

.nws-cart-banner {
	background: var(--nws-black);
	border-radius: var(--nws-radius-m);
	padding: 1.6rem 2rem;
	display: flex;
	align-items: center;
	gap: 1.4rem;
}
.nws-cart-banner__dot { width: 1rem; height: 1rem; border-radius: 50%; background: var(--nws-green); flex: none; }
.nws-cart-banner p { flex: 1; font-size: 1.7rem; font-weight: 500; line-height: 1.4; color: var(--nws-grey-line); margin: 0; }
.nws-cart-banner strong { color: var(--nws-white); }

.nws-cart-card {
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	overflow: hidden;
}

.nws-cart-lines { list-style: none; margin: 0; padding: 0; }
.nws-cart-line {
	display: flex;
	gap: 2rem;
	padding: 2.2rem;
	border-bottom: 1px solid var(--nws-grey-soft);
	align-items: flex-start;
	margin: 0;
}
.nws-cart-line__media {
	width: 12rem;
	height: 12rem;
	flex: none;
	border-radius: var(--nws-radius-m);
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.nws-cart-line__media img { max-width: 100%; height: auto; mix-blend-mode: multiply; }
.nws-cart-line__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.nws-cart-line__title { font-size: 2.1rem; font-weight: 600; line-height: 1.25; }
.nws-cart-line__title a,
.nws-page__body .nws-cart-line__title a { color: var(--nws-black); text-decoration: none; }
.nws-cart-line__title a:hover { color: var(--nws-black); }
.nws-cart-line__spec { display: block; font-size: 1.5rem; line-height: 1.4; color: var(--nws-grey); margin-top: 0.5rem; }
.nws-cart-line__chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.nws-cart-line__stock { font-size: 1.5rem; line-height: 1.4; color: var(--nws-grey); }
.nws-cart-line__actions { display: flex; align-items: center; gap: 1.6rem; margin-top: 0.2rem; }

/* Stegaren — antal med plus/minus, låst till lagersaldot. */
.nws-stepper {
	display: flex;
	align-items: stretch;
	border: 1.5px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
	overflow: hidden;
	background: var(--nws-white);
}
.nws-stepper__btn {
	width: 4.4rem;
	height: 4.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	color: var(--nws-black);
	background: none;
	border: 0;
	cursor: pointer;
	user-select: none;
}
.nws-stepper__btn:disabled { color: var(--nws-grey-line); cursor: default; }
.nws-stepper__input {
	width: 4.8rem;
	height: 4.4rem;
	text-align: center;
	font-family: inherit;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--nws-black);
	border: 0;
	background: none;
	appearance: textfield;
	-moz-appearance: textfield;
	padding: 0;
}
.nws-stepper__input::-webkit-outer-spin-button,
.nws-stepper__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Fokusringar innanför kanten — stegaren har overflow:hidden och klipper
   annars den globala ringen på mitten. */
.nws-stepper__btn:focus-visible,
.nws-stepper__input:focus-visible { outline-offset: -3px; }

/* Leveransalternativen: radion är osynlig (opacity 0) och kan inte bära
   ringen själv — kortet får den när radion har tangentbordsfokus. */
.nws-option:has(input:focus-visible) {
	outline: 3px solid var(--nws-black);
	outline-offset: 2px;
}
.nws-cart-line__remove {
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--nws-grey);
	text-decoration: underline;
	background: none;
	border: 0;
	cursor: pointer;
}
.nws-cart-line__remove:hover { color: var(--nws-black); }
.nws-cart-line__sum { flex: none; text-align: right; min-width: 15rem; }
.nws-cart-line__total,
.nws-cart-line__total .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 2.6rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
}
.nws-cart-line__note { display: block; font-size: 1.4rem; line-height: 1.35; color: var(--nws-grey); margin-top: 0.7rem; white-space: nowrap; }
.nws-cart-line__note .woocommerce-Price-amount { font-size: 1.4rem; color: var(--nws-grey); }
.nws-cart-line__nypris { display: block; font-size: 1.4rem; color: var(--nws-grey); margin-top: 0.4rem; text-decoration: line-through; white-space: nowrap; }
.nws-cart-line__nypris .woocommerce-Price-amount { font-size: 1.4rem; color: var(--nws-grey); }

/* Tillvalsrader — kompakta, hör till maskinen ovanför. */
.nws-cart-line--tillval { padding: 1.4rem 2.2rem 1.4rem 16.2rem; background: var(--nws-grey-surface); align-items: center; }
.nws-cart-line--tillval .nws-cart-line__body { flex-direction: row; align-items: center; gap: 1.6rem; }
.nws-cart-line--tillval .nws-cart-line__title { font-size: 1.6rem; }
.nws-cart-addon {
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nws-grey);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
	padding: 0.4rem 0.6rem;
	margin-left: 0.8rem;
	vertical-align: middle;
}
.nws-cart-line--tillval .nws-cart-line__total,
.nws-cart-line--tillval .nws-cart-line__total .woocommerce-Price-amount { font-size: 1.8rem; }

/* Rabattkodsraden */
.nws-cart-coupon {
	padding: 2rem 2.2rem;
	display: flex;
	align-items: center;
	gap: 1.4rem;
	flex-wrap: wrap;
	background: var(--nws-grey-surface);
}
.nws-cart-coupon__label { font-size: 1.7rem; font-weight: 600; color: var(--nws-black); }
.nws-cart-coupon__input {
	flex: 1;
	min-width: 18rem;
	max-width: 30rem;
	border: 1.5px solid var(--nws-grey-line);
	background: var(--nws-white);
	border-radius: var(--nws-radius-s);
	padding: 1.3rem 1.5rem;
	font-size: 1.7rem;
	font-family: inherit;
	color: var(--nws-black);
}
.nws-cart-coupon__input::placeholder { color: var(--nws-grey); }
.nws-cart-coupon__note { margin-left: auto; font-size: 1.5rem; color: var(--nws-grey); }

/* Uppdatera-knappen göms visuellt — stegarna skickar formuläret själva,
   och knappen är kvar i dokumentet för tangentbord och som JS-mål. */
.nws-cart__update {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Garantierbjudandet */
.nws-cart-offer { padding: 2.2rem; display: flex; gap: 2rem; align-items: flex-start; }
.nws-cart-offer__body { flex: 1; }
.nws-cart-offer__title { display: block; font-size: 1.9rem; font-weight: 600; line-height: 1.3; color: var(--nws-black); margin-bottom: 0.6rem; }
.nws-cart-offer__desc { font-size: 1.6rem; line-height: 1.5; color: var(--nws-grey); margin: 0; }
.nws-cart-offer__aside { flex: none; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 1.2rem; }
.nws-cart-offer__price,
.nws-cart-offer__price .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 2.2rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
}

/* Sammanfattningen */
/* Woo-core ger kolumnbredder med float — hela högerspalten är vår. */
.nws-cart__side .cart-collaterals { width: 100%; float: none; }
.cart-collaterals .cart_totals.nws-summary { width: 100%; float: none; }
.nws-summary {
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	padding: 2.4rem 2.2rem;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	position: sticky;
	top: 2.4rem;
}
.nws-summary__title { font-size: 2.2rem; font-weight: 600; color: var(--nws-black); margin: 0; font-family: inherit; }
.nws-summary__rows { display: flex; flex-direction: column; gap: 1.1rem; }
.nws-summary__row {
	display: flex;
	justify-content: space-between;
	gap: 1.4rem;
	font-size: 1.7rem;
	line-height: 1.3;
	color: var(--nws-grey);
}
.nws-summary__row > span:last-child { white-space: nowrap; font-weight: 500; }
.nws-summary__row .woocommerce-Price-amount { font-size: 1.7rem; color: inherit; }
.nws-summary__row--fri > span:last-child,
.nws-summary__row--rabatt { color: var(--nws-black); }
.nws-summary__ta-bort { font-size: 1.3rem; margin-left: 0.6rem; text-decoration: underline; color: var(--nws-grey); }
.nws-summary__total {
	border-top: 1px solid var(--nws-grey-soft);
	padding-top: 1.6rem;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.4rem;
}
.nws-summary__total > div { flex: none; }
/* "Varav moms" har en egen rad — WooCommerces inbakade momssuffix göms. */
.nws-summary__belopp .includes_tax,
.nws-summary__belopp small { display: none; }
.nws-summary__total-label { display: block; font-size: 1.9rem; font-weight: 600; color: var(--nws-black); white-space: nowrap; }
.nws-summary__moms { display: block; font-size: 1.4rem; color: var(--nws-grey); margin-top: 0.6rem; }
.nws-summary__moms .woocommerce-Price-amount { font-size: 1.4rem; color: inherit; }
.nws-summary__belopp,
.nws-summary__belopp .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 3.2rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
	letter-spacing: -0.01em;
}
.nws-summary .wc-proceed-to-checkout { margin: 0; padding: 0; }
.nws-summary .wc-proceed-to-checkout .checkout-button { display: block; width: 100%; }

.nws-trustlist {
	list-style: none;
	margin: 0;
	padding: 1.6rem 0 0;
	border-top: 1px solid var(--nws-grey-soft);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.nws-trustlist li {
	position: relative;
	padding-left: 1.8rem;
	font-size: 1.5rem;
	line-height: 1.4;
	color: var(--nws-grey);
	margin: 0;
}
.nws-trustlist li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.6rem;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: var(--nws-green);
}

/* Tom varukorg */
.nws-cart-tom { padding: 5.6rem 4rem; text-align: center; background: var(--nws-white); border: 1px solid var(--nws-grey-line); border-radius: var(--nws-radius-l); }
.nws-cart-tom__title {
	font-size: 2.8rem;
	line-height: 1.2;
	margin: 0 0 1rem;
}
.nws-cart-tom__text { font-size: 1.8rem; line-height: 1.55; color: var(--nws-grey); max-width: 52rem; margin: 0 auto 2.2rem; }
.nws-cart-tom__ctas { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; }
.woocommerce-cart .wc-empty-cart-message .cart-empty { display: none; } /* WooCommerces egen tomrad — rubriken bär. */

/* =========================================================================
   Kassan
   ========================================================================= */

.nws-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 40rem;
	gap: 2.4rem;
	align-items: start;
}
.nws-checkout__main { display: flex; flex-direction: column; gap: 1.4rem; min-width: 0; }

.nws-step {
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	padding: 2.2rem;
}
.nws-step__head { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.8rem; flex-wrap: wrap; }
.nws-step__num {
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 50%;
	background: var(--nws-black);
	color: var(--nws-green);
	font-size: 1.7rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.nws-step__title { font-size: 2.1rem; font-weight: 600; color: var(--nws-black); margin: 0; font-family: inherit; line-height: 1; }

/* Kundtypsväxeln */
.nws-custtype { margin-left: auto; display: flex; gap: 0.8rem; }
.nws-custtype__val {
	font-family: inherit;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	padding: 1.1rem 1.5rem;
	border-radius: var(--nws-radius-s);
	cursor: pointer;
	background: var(--nws-white);
	color: var(--nws-grey);
	border: 1px solid var(--nws-grey-line);
}
.nws-custtype__val.is-valt { background: var(--nws-black); color: var(--nws-white); border-color: var(--nws-black); }

/* Fältgrid — WooCommerces form-row nollställs in i skissens form. */
.nws-falt-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
.nws-falt-grid .form-row { margin: 0; padding: 0; width: auto; float: none; display: block; }
.nws-falt-grid .nws-falt--brett { grid-column: span 2; }
/* !important: address-i18n.js visar dolda fält med inline display:block. */
.nws-falt-grid .nws-falt--dolt,
.nws-falt-grid #billing_country_field { display: none !important; } /* Låst till Sverige. */
.nws-falt-grid label {
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	color: var(--nws-grey);
	margin-bottom: 0.7rem;
}
.nws-falt-grid label .required { color: var(--nws-red); text-decoration: none; }
.nws-falt-grid label .optional { color: var(--nws-grey); font-weight: 400; }
.nws-falt-grid .woocommerce-input-wrapper { display: block; }
.nws-falt-grid input.input-text {
	width: 100%;
	border: 1.5px solid var(--nws-grey-line);
	background: var(--nws-white);
	border-radius: var(--nws-radius-s);
	padding: 1.4rem 1.5rem;
	font-size: 1.7rem;
	font-family: inherit;
	line-height: 1;
	color: var(--nws-black);
}
.nws-falt-grid input.input-text::placeholder { color: var(--nws-grey); }
.nws-falt-grid input.input-text:focus { border-color: var(--nws-black); outline: none; }
.nws-falt-grid .woocommerce-invalid input.input-text { border-color: var(--nws-red); }
.nws-falt-grid .checkout-inline-error-message {
	font-size: 1.4rem;
	line-height: 1.35;
	color: var(--nws-red);
	margin: 0.6rem 0 0;
}

/* Företagsfälten visas bara i företagsläget. !important av samma skäl
   som ovan — address-i18n.js skriver inline display. */
.nws-falt-grid .nws-falt--foretag { display: none !important; }
.nws-checkout--foretag .nws-falt-grid .nws-falt--foretag { display: block !important; }
.nws-checkout--foretag .nws-falt-grid .nws-falt--foretag.nws-falt--brett { grid-column: span 2; }

.nws-dolda-falt { display: none; }

/* Leveransstegets alternativ */
.nws-ship-options { display: flex; flex-direction: column; gap: 1.1rem; }

/* Betalsätten — WooCommerces li-lista med skissens alternativkort.
   ID-selektorerna behövs: Bricks Woo-CSS ramar in #payment och sätter
   padding med #payment-prefix — stegkorten ska vara designens enda ramar. */
#payment.woocommerce-checkout-payment {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}
#payment ul.payment_methods { padding: 0; margin: 0; border: 0; background: none; }
#payment div.payment_box::before { display: none; } /* Woo:s pratbubbelpil. */
#payment div.form-row { padding: 0; margin: 0; }
.nws-step .wc_payment_methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.1rem; }
.nws-step .wc_payment_method { margin: 0; }
.nws-step .wc_payment_method > input.input-radio { position: absolute; opacity: 0; pointer-events: none; }
.nws-step .wc_payment_method > label {
	display: flex;
	gap: 1.4rem;
	align-items: center;
	padding: 1.7rem 1.8rem;
	border-radius: var(--nws-radius-m);
	cursor: pointer;
	border: 1.5px solid var(--nws-grey-line);
	background: var(--nws-white);
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--nws-black);
	margin: 0;
}
.nws-step .wc_payment_method > label::before {
	content: '';
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 50%;
	flex: none;
	border: 2px solid var(--nws-grey-line);
	background: transparent;
}
.nws-step .wc_payment_method > input.input-radio:checked + label {
	border-color: var(--nws-black);
	background: var(--nws-grey-surface);
}
.nws-step .wc_payment_method > input.input-radio:checked + label::before {
	border-color: var(--nws-black);
	background: var(--nws-black);
	box-shadow: inset 0 0 0 4px var(--nws-white);
}
.nws-step .wc_payment_method > input.input-radio:focus-visible + label { outline: 3px solid var(--nws-black); outline-offset: 2px; }
.nws-step .wc_payment_method > label img { max-height: 2.8rem; width: auto; }
.nws-step .payment_box,
#payment div.payment_box {
	font-size: 1.5rem;
	line-height: 1.5;
	color: var(--nws-grey);
	background: var(--nws-grey-surface);
	border: 0;
	border-radius: var(--nws-radius-m);
	padding: 1.3rem 1.8rem 1.5rem 5.4rem;
	margin: 0.8rem 0 0;
	width: auto;
}
.nws-step .payment_box p { margin: 0; }

/* Steg 4: villkor, nyhetsbrev, orderknapp */
.place-order { display: flex; flex-direction: column; margin: 0; padding: 0; }
.place-order .woocommerce-terms-and-conditions-wrapper { margin-bottom: 0; }
.place-order .woocommerce-terms-and-conditions { display: none !important; }
.place-order .validate-required { margin: 0 0 1.3rem; padding: 0; }
.place-order .woocommerce-form__label-for-checkbox {
	display: flex;
	gap: 1.2rem;
	align-items: flex-start;
	cursor: pointer;
	font-size: 1.6rem;
	line-height: 1.45;
	color: var(--nws-grey);
}
.place-order .woocommerce-form__label-for-checkbox input[type='checkbox'] {
	appearance: none;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: var(--nws-radius-s);
	flex: none;
	margin: 0.1rem 0 0;
	border: 2px solid var(--nws-grey-line);
	background: transparent;
	cursor: pointer;
}
.place-order .woocommerce-form__label-for-checkbox input[type='checkbox']:checked {
	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.3rem no-repeat;
}
.place-order .woocommerce-terms-and-conditions-checkbox-text { flex: 1; }
.place-order .woocommerce-terms-and-conditions-checkbox-text a { text-decoration: underline; }
.place-order .validate-required .required { display: none; } /* Kryssrutan är uppenbart obligatorisk. */
#place_order { width: 100%; margin-top: 0.7rem; font-size: 2rem; padding: 1.9rem; }
.nws-villkorsrad { font-size: 1.5rem; line-height: 1.5; color: var(--nws-grey); margin: 1.2rem 0 0; text-align: center; }

/* Kassans rabattkods- och inloggningstoggle — en diskret rad, inte en banner. */
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: 1.4rem;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.8rem;
	justify-content: flex-start;
	text-align: left;
	font-size: 1.5rem;
	padding: 1.3rem 1.8rem;
}
form.checkout_coupon,
form.woocommerce-form-login {
	margin-bottom: 2rem;
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-m);
	padding: 1.8rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1.2rem;
}
form.checkout_coupon p { margin: 0; padding: 0; float: none; width: auto; }
form.checkout_coupon .form-row-first { flex: 1; min-width: 20rem; max-width: 32rem; }
form.checkout_coupon input.input-text {
	width: 100%;
	border: 1.5px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-s);
	padding: 1.3rem 1.5rem;
	font-size: 1.6rem;
	font-family: inherit;
	line-height: 1;
	color: var(--nws-black);
}
form.checkout_coupon button {
	background: var(--nws-black);
	color: var(--nws-white);
	border: 0;
	border-radius: var(--nws-radius-btn);
	font-family: inherit;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	padding: 1.45rem 2rem;
	cursor: pointer;
}

/* Högerspalten "Din order" */
.nws-checkout__side { min-width: 0; }
.nws-side-card {
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	padding: 2.4rem 2.2rem;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	position: sticky;
	top: 2.4rem;
}
.nws-side-card__head { display: flex; align-items: baseline; justify-content: space-between; }
.nws-side-card__title { font-size: 2.2rem; font-weight: 600; color: var(--nws-black); margin: 0; font-family: inherit; }
.nws-side-card__andra { font-size: 1.6rem; font-weight: 500; text-decoration: underline; }
.nws-side-card__info {
	background: var(--nws-black);
	border-radius: var(--nws-radius-m);
	padding: 1.6rem 1.8rem;
	font-size: 1.6rem;
	line-height: 1.5;
	color: var(--nws-grey-line);
}

/* Bricks Woo-CSS ramar in review-order-tabellen — kortet är ramen här. */
.woocommerce-checkout-review-order-table.nws-order { border: 0; background: none; padding: 0; }
.nws-order { display: flex; flex-direction: column; gap: 1.4rem; }
.nws-order__lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.4rem; }
.nws-order-line { display: flex; gap: 1.2rem; align-items: center; margin: 0; }
.nws-order-line__media {
	width: 5.4rem;
	height: 5.4rem;
	border-radius: var(--nws-radius-s);
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-soft);
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.nws-order-line__media img { max-width: 100%; height: auto; mix-blend-mode: multiply; }
.nws-order-line--tillval { padding-left: 6.6rem; }
.nws-order-line__body { flex: 1; min-width: 0; }
.nws-order-line__title { display: block; font-size: 1.6rem; font-weight: 600; line-height: 1.3; color: var(--nws-black); }
.nws-order-line__title .nws-cart-addon { font-size: 1rem; padding: 0.3rem 0.5rem; }
.nws-order-line__meta { display: block; font-size: 1.4rem; line-height: 1.3; color: var(--nws-grey); margin-top: 0.4rem; }
.nws-order-line__total,
.nws-order-line__total .woocommerce-Price-amount {
	font-family: field-gothic-compact, sans-serif;
	font-size: 1.7rem;
	font-weight: 600;
	color: var(--nws-black);
	white-space: nowrap;
}
.nws-order__rows {
	border-top: 1px solid var(--nws-grey-soft);
	padding-top: 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}
.nws-order__total {
	border-top: 1px solid var(--nws-grey-soft);
	padding-top: 1.4rem;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.4rem;
}
.nws-summary__belopp--kassa,
.nws-summary__belopp--kassa .woocommerce-Price-amount { font-size: 3rem; }

/* Blockeringsöverlägget när WooCommerce räknar om. */
.blockUI.blockOverlay { border-radius: var(--nws-radius-l); }

/* =========================================================================
   Orderbekräftelsen (order-received)
   ========================================================================= */

.woocommerce-order { display: flex; flex-direction: column; gap: 2.4rem; max-width: 92rem; }
.woocommerce-thankyou-order-received {
	background: var(--nws-black);
	color: var(--nws-white);
	border-radius: var(--nws-radius-l);
	padding: 2.4rem 2.8rem;
	font-family: field-gothic-compact, sans-serif;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}
.woocommerce-thankyou-order-failed { color: var(--nws-red); font-size: 1.8rem; }

ul.woocommerce-order-overview {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
	gap: 1.2rem;
}
ul.woocommerce-order-overview li {
	background: var(--nws-grey-surface);
	border: 1px solid var(--nws-grey-soft);
	border-radius: var(--nws-radius-m);
	padding: 1.6rem 1.8rem;
	font-size: 1.4rem;
	color: var(--nws-grey);
	margin: 0;
	border-right: 1px solid var(--nws-grey-soft) !important; /* Woo:s kolumnavdelare. */
	float: none !important;
	width: auto !important;
}
ul.woocommerce-order-overview li strong {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--nws-black);
	margin-top: 0.6rem;
}
ul.woocommerce-order-overview li strong .woocommerce-Price-amount { font-family: field-gothic-compact, sans-serif; }

.woocommerce-order-details__title,
.woocommerce-customer-details h2,
.woocommerce-column__title { font-size: 2.2rem; margin: 0 0 1.2rem; }

table.order_details,
.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	overflow: hidden;
	font-size: 1.6rem;
}
table.order_details th,
table.order_details td {
	text-align: left;
	padding: 1.4rem 2rem;
	border-bottom: 1px solid var(--nws-grey-soft);
	color: var(--nws-black);
	vertical-align: top;
}
table.order_details thead th {
	background: var(--nws-grey-surface);
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nws-grey);
}
table.order_details td:last-child,
table.order_details th:last-child { text-align: right; white-space: nowrap; }
table.order_details tfoot th { font-weight: 500; color: var(--nws-grey); }
table.order_details tfoot tr:last-child th,
table.order_details tfoot tr:last-child td { font-weight: 600; font-size: 1.8rem; }
table.order_details .wc-item-meta {
	list-style: none;
	margin: 0.6rem 0 0;
	padding: 0;
	font-size: 1.4rem;
	color: var(--nws-grey);
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1.2rem;
}
table.order_details .wc-item-meta li { margin: 0; display: flex; gap: 0.4rem; }
table.order_details .wc-item-meta p { display: inline; margin: 0; }
table.order_details .product-quantity { color: var(--nws-grey); font-weight: 400; }
table.order_details .includes_tax { display: block; font-size: 1.3rem; color: var(--nws-grey); font-weight: 400; }

.woocommerce-customer-details address {
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	padding: 2rem 2.2rem;
	font-style: normal;
	font-size: 1.6rem;
	line-height: 1.6;
	color: var(--nws-grey);
}
.woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr)); gap: 1.6rem; }
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email { margin: 0.6rem 0 0; }
.woocommerce-bacs-bank-details { background: var(--nws-grey-surface); border: 1px solid var(--nws-grey-soft); border-radius: var(--nws-radius-l); padding: 2rem 2.2rem; }
.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading { font-size: 1.8rem; margin: 0 0 0.8rem; }

/* =========================================================================
   Mitt konto
   ========================================================================= */

/* Inloggningen — ett kort med sajtens formspråk. */
.woocommerce-account .woocommerce-form-login {
	max-width: 46rem;
	margin: 0;
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line) !important;
	border-radius: var(--nws-radius-l) !important;
	padding: 2.4rem 2.2rem !important;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	text-align: left;
}
.woocommerce-account .woocommerce > h2 { display: none; } /* "Logga in" — sidrubriken bär. */
/* Bricks login-element: flex-kolumn med align-items: flex-end som standard
   (knappen högerställd) — då krymper fälten och hamnar till höger. Raderna
   heter .form-group i Bricks markup, .form-row i Woo:s. */
.woocommerce-account .woocommerce-form-login { align-items: stretch; }
.woocommerce-form-login .form-row,
.woocommerce-form-login .form-group { margin: 0; padding: 0; float: none; width: 100%; display: block; }
.woocommerce-form-login .form-group.submit { display: flex; }
.woocommerce-form-login .form-group.remember { padding-top: 0.2rem; }
.woocommerce-form-login label { display: block; font-size: 1.5rem; font-weight: 500; color: var(--nws-grey); margin-bottom: 0.7rem; }
.woocommerce-form-login label .required { color: var(--nws-red); text-decoration: none; }
.woocommerce-form-login .input-text,
.woocommerce-MyAccount-content .input-text,
.woocommerce-EditAccountForm .input-text,
.woocommerce-address-fields .input-text,
.woocommerce-ResetPassword .input-text {
	width: 100%;
	border: 1.5px solid var(--nws-grey-line);
	background: var(--nws-white);
	border-radius: var(--nws-radius-s);
	padding: 1.4rem 1.5rem;
	font-size: 1.7rem;
	font-family: inherit;
	line-height: 1;
	color: var(--nws-black);
}
.woocommerce-form-login .password-input,
.woocommerce-MyAccount-content .password-input { display: block; position: relative; }
.woocommerce-form-login .show-password-input { top: 1.2rem; right: 1.2rem; }
.woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 0.9rem; font-size: 1.5rem; color: var(--nws-grey); cursor: pointer; padding: 0 !important; }
.woocommerce-form-login__submit,
.woocommerce-MyAccount-content .button,
.woocommerce-ResetPassword .button {
	background: var(--nws-black);
	color: var(--nws-white);
	font-family: inherit;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	padding: 1.5rem 2rem;
	border: 0;
	border-radius: var(--nws-radius-btn);
	cursor: pointer;
}
.woocommerce-form-login__submit:hover,
.woocommerce-MyAccount-content .button:hover { background: var(--nws-black-hover-bg); color: var(--nws-black-hover-fg); }
.woocommerce-account .lost_password { font-size: 1.5rem; margin: 0; }
.woocommerce-account .lost_password a { text-decoration: underline; }
.woocommerce-ResetPassword { max-width: 46rem; }
.woocommerce-ResetPassword .form-row { margin: 0 0 1.4rem; padding: 0; width: auto; float: none; display: block; }
.woocommerce-ResetPassword label { display: block; font-size: 1.5rem; font-weight: 500; color: var(--nws-grey); margin-bottom: 0.7rem; }

/* Inloggat läge: navigering till vänster, innehåll till höger. */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 26rem minmax(0, 1fr);
	gap: 2.4rem;
	align-items: start;
}
.woocommerce-account .woocommerce > *:not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { display: block; }

.woocommerce-MyAccount-navigation {
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	padding: 1rem;
	position: sticky;
	top: 2.4rem;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.2rem; }
.woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation ul > li::before { display: none; } /* Textsidornas lime-punkter hör inte hemma här. */
/* Selektorn är medvetet tung: Bricks Woo-CSS sätter
   .woocommerce-account .woocommerce-MyAccount-navigation a { line-height: 60px;
   padding: 0 30px } och page.css textsideregel för a-taggar laddas senare i
   kedjan — båda vinner annars, och raderna blir 8 cm höga. */
.woocommerce-account .woocommerce-MyAccount-navigation ul a {
	display: block;
	padding: 1.2rem 1.4rem;
	border-radius: var(--nws-radius-m);
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 500;
	color: var(--nws-grey);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul a:hover { background: var(--nws-grey-surface); color: var(--nws-black); }
.woocommerce-account .woocommerce-MyAccount-navigation ul .is-active a { background: var(--nws-black); color: var(--nws-white); }
.woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--nws-grey); }

.woocommerce-MyAccount-content { font-size: 1.6rem; line-height: 1.6; color: var(--nws-black); }
.woocommerce-MyAccount-content > p:first-child { color: var(--nws-grey); }
.woocommerce-MyAccount-content a:not(.button) { text-decoration: underline; }
.woocommerce-MyAccount-content fieldset { border: 0; padding: 0; margin: 2.4rem 0 0; }
.woocommerce-MyAccount-content legend { font-size: 1.9rem; font-weight: 600; margin-bottom: 1.2rem; }
.woocommerce-MyAccount-content .form-row { margin: 0 0 1.4rem; padding: 0; float: none; width: auto; display: block; }
.woocommerce-MyAccount-content .form-row label { display: block; font-size: 1.5rem; font-weight: 500; color: var(--nws-grey); margin-bottom: 0.7rem; }

/* Ordertabellen och adresskorten */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-l);
	overflow: hidden;
	font-size: 1.5rem;
}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td { text-align: left; padding: 1.3rem 1.8rem; border-bottom: 1px solid var(--nws-grey-soft); }
.woocommerce-MyAccount-content table.shop_table thead th {
	background: var(--nws-grey-surface);
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nws-grey);
}
.woocommerce-MyAccount-content table.shop_table .button {
	padding: 1rem 1.4rem;
	font-size: 1.4rem;
	margin-right: 0.6rem;
	display: inline-block;
	color: var(--nws-white);
}
.woocommerce-Addresses .woocommerce-Address { background: var(--nws-white); border: 1px solid var(--nws-grey-line); border-radius: var(--nws-radius-l); padding: 2rem 2.2rem; }
.woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr)); gap: 1.6rem; }
.woocommerce-Address address { font-style: normal; color: var(--nws-grey); line-height: 1.6; }
.woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.woocommerce-Address-title h2 { font-size: 1.9rem; margin: 0 0 1rem; }
.woocommerce-Address-title .edit { font-size: 1.5rem; text-decoration: underline; }

@media (max-width: 991px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; }
}

/* =========================================================================
   Responsivt
   ========================================================================= */

@media (max-width: 1200px) {
	.nws-cart,
	.nws-checkout { grid-template-columns: minmax(0, 1fr) 36rem; }
}

@media (max-width: 991px) {
	.nws-cart,
	.nws-checkout { grid-template-columns: 1fr; }
	.nws-summary,
	.nws-side-card { position: static; }
	.nws-cart-line { flex-wrap: wrap; }
	.nws-cart-line__sum { min-width: 0; text-align: left; width: 100%; padding-left: 14rem; }
	.nws-cart-line--tillval { padding-left: 2.2rem; }
	.nws-cart-line--tillval .nws-cart-line__sum { padding-left: 0; width: auto; }
}

@media (max-width: 640px) {
	.woocommerce-cart .nws-page > .brxe-container,
	.woocommerce-checkout .nws-page > .brxe-container { padding: 0 2rem var(--space-xl); }
	.nws-cart-line__media { width: 8.8rem; height: 8.8rem; }
	.nws-cart-line__sum { padding-left: 0; }
	.nws-cart-offer { flex-direction: column; }
	.nws-cart-offer__aside { align-items: flex-start; text-align: left; }
	.nws-step { padding: 1.8rem; }
	.nws-falt-grid { grid-template-columns: 1fr; }
	.nws-falt-grid .nws-falt--brett,
	.nws-checkout--foretag .nws-falt-grid .nws-falt--foretag.nws-falt--brett { grid-column: auto; }
	.nws-custtype { margin-left: 0; width: 100%; }
	.nws-cart-tom { padding: 4rem 2rem; }
}

/* =========================================================================
   Bricks-mallarna för varukorg, kassa och konto (2026-09-18)

   Strukturen ligger i Bricks; de dynamiska delarna sätts in via echo-taggar
   som Bricks omsluter med ett textelement. display: contents lyfter ut
   innehållet så att flex-raderna ovan fortsätter gälla.
   ========================================================================= */

.nws-cart-coupon > .nws-cart-coupon__fields { display: contents; }
.nws-step__head > .nws-custtype-wrap { display: contents; }

/* Bricks kunduppgiftselement ritar WooCommerces tvåkolumnsram — fakturering i
   col-1, leveransadress i col-2. Leverans = faktureringsadress i den här
   kassan, så col-2 (och dess kryssruta) göms; fälten postas ändå. */
.nws-checkout #customer_details { display: block; }
.nws-checkout #customer_details .col-1 { width: 100%; float: none; }
.nws-checkout #customer_details .col-2 { display: none; }

/* Inloggning, glömt lösenord, nytt lösenord: rubrik och ingress ovanför
   kortet, blocket centrerat på sidan. */
.nws-login { max-width: 52rem; margin-inline: auto; }
.nws-login .woocommerce-form-login,
.nws-login .woocommerce-ResetPassword { max-width: none; }
/* .nws-page__body i selektorn: page.css ger alla h2 i textytan en
   toppmarginal (space-l) med högre specificitet. */
.nws-page__body .nws-login__title { margin: 0 0 0.6rem; }
.nws-login__lead { font-size: 1.7rem; line-height: 1.5; color: var(--nws-grey); margin: 0 0 2rem; }

/* Kontosidan är en Bricks-sida: innehållsytan ersätter sidmallens post-content. */
.woocommerce-account .nws-page__body { margin-top: 2.4rem; }
