/* Vanliga sidor — mall 1142 ("Sida"): brödsmulor, rubrik, post_content.
   För rena textsidor (Så testar vi, policyer, cookies, villkor) får
   innehållet ett läsmått och redaktionell typografi. WooCommerce-sidorna
   (varukorg, kassa, mitt konto) delar mallen men behåller full bredd —
   deras layout bor i cart.css. */

.nws-page > .brxe-container { padding: 0 var(--nws-gutter) var(--space-xl); }
.nws-page__title { margin-bottom: var(--space-m); }

/* Läsmåttet: bara sidor som inte är WooCommerce-ytor. */
body:not(.woocommerce-page) .nws-page__title,
body:not(.woocommerce-page) .nws-page__body { max-width: 78rem; }

/* width: 100% — Bricks-containern radar barnen med align-items: flex-start,
   så en block-div krymper annars till sitt innehåll. Syns på kontosidan, där
   kolumnen blev så bred som den kortaste raden i den. Textsidorna har ändå
   sitt läsmått via max-width ovan. */
.nws-page__body { width: 100%; font-size: 1.7rem; line-height: 1.65; color: var(--nws-black); }
.nws-page__body > * + * { margin-top: 1.6rem; }

/* Ingressen — första stycket bär in läsaren. */
body:not(.woocommerce-page) .nws-page__body > p:first-child {
	font-size: 2rem;
	line-height: 1.55;
	color: var(--nws-grey);
}

.nws-page__body h2,
.nws-page__body h3,
.nws-page__body h4 { margin-top: var(--space-l); }
.nws-page__body h2 { font-size: var(--text-xl); }
.nws-page__body h3 { font-size: var(--text-l); }
.nws-page__body h4 { font-size: 1.8rem; font-family: field-gothic, sans-serif; }

.nws-page__body p { margin-bottom: 0; }
.nws-page__body a { text-decoration: underline; text-underline-offset: 0.2em; }

/* Bara redaktionella sidor — WooCommerce-ytorna (kassa, konto) har egna
   listor som inte ska få punkter och indrag. */
body:not(.woocommerce-page) .nws-page__body ul,
body:not(.woocommerce-page) .nws-page__body ol { padding-left: 2.2rem; display: flex; flex-direction: column; gap: 0.7rem; }
body:not(.woocommerce-page) .nws-page__body ul { list-style: none; padding-left: 0; }
body:not(.woocommerce-page) .nws-page__body ul > li { position: relative; padding-left: 2rem; }
body:not(.woocommerce-page) .nws-page__body ul > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.85em;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: var(--nws-green);
	transform: translateY(-50%);
}
body:not(.woocommerce-page) .nws-page__body ol > li { padding-left: 0.4rem; }
body:not(.woocommerce-page) .nws-page__body ol > li::marker { font-weight: 600; color: var(--nws-black); }

.nws-page__body blockquote {
	font-family: inherit; /* Webbläsarens/Woo:s serif ska inte in här. */
	margin: var(--space-m) 0 0;
	padding: 1.8rem 2.2rem;
	background: var(--nws-grey-surface);
	border-left: 4px solid var(--nws-green);
	border-radius: 0 var(--nws-radius-m) var(--nws-radius-m) 0;
	font-size: 1.8rem;
	color: var(--nws-grey);
}
.nws-page__body blockquote p:first-child { margin-top: 0; }

.nws-page__body hr {
	border: 0;
	border-top: 1px solid var(--nws-grey-soft);
	margin: var(--space-l) 0;
}

.nws-page__body table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.5rem;
	background: var(--nws-white);
	border: 1px solid var(--nws-grey-line);
	border-radius: var(--nws-radius-m);
	overflow: hidden;
}
.nws-page__body th,
.nws-page__body td {
	text-align: left;
	padding: 1.2rem 1.6rem;
	border-bottom: 1px solid var(--nws-grey-soft);
	vertical-align: top;
}
.nws-page__body thead th,
.nws-page__body tr:first-child th {
	background: var(--nws-grey-surface);
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nws-grey);
}

.nws-page__body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--nws-radius-l);
}
.nws-page__body figure { margin: var(--space-l) 0 0; }
.nws-page__body figcaption { font-size: 1.4rem; color: var(--nws-grey); margin-top: 0.8rem; }

.nws-page__body pre,
.nws-page__body code {
	font-size: 1.4rem;
	background: var(--nws-grey-surface);
	border-radius: var(--nws-radius-s);
}
.nws-page__body code { padding: 0.2rem 0.6rem; }
.nws-page__body pre { padding: 1.6rem 1.8rem; overflow-x: auto; border: 1px solid var(--nws-grey-soft); }

/* 404 — scaffolden får luft och en riktig knapp. */
.nws-404 > .brxe-container { padding: var(--space-2xl) var(--nws-gutter) var(--space-3xl); }
.nws-404__inner { max-width: 64rem; gap: 0.4rem; }
.nws-404 h1 {
	font-size: var(--text-4xl);
	line-height: 1;
	color: var(--nws-green);
	-webkit-text-stroke: 2px var(--nws-black);
	margin-bottom: 0.6rem;
}
.nws-404 .nws-empty__title { font-size: var(--text-2xl); margin: 0 0 1rem; }
.nws-404 .nws-empty__body { font-size: 1.8rem; line-height: 1.55; color: var(--nws-grey); margin: 0 0 2.2rem; }
.nws-404 .nws-empty__action {
	display: inline-block;
	background: var(--nws-black);
	color: var(--nws-white);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1;
	padding: 1.6rem 2.2rem;
	border-radius: var(--nws-radius-m);
}
.nws-404 .nws-empty__action:hover { background: var(--nws-black-hover-bg); color: var(--nws-black-hover-fg); }

@media (max-width: 640px) {
	.nws-page > .brxe-container { padding: 0 2rem var(--space-xl); }
	.nws-404 > .brxe-container { padding: var(--space-xl) 2rem var(--space-2xl); }
}
