/* =========================================================
   SIDMALL
   =========================================================
   VAD SOM FAKTISKT KAPADE SIDAN, uppmatt i DOM 2026-08-24.

   Astra skriver denna regel i sin inline-CSS:

       .entry-content[data-ast-blocks-layout] > *
       { max-width: var(--wp--custom--ast-content-width-size);
         margin-left: auto; margin-right: auto; }

   och satter variabeln till 750px. Varje direkt barn till
   innehallet kapas alltsa till 750 px, aven en sektion som ska
   ga fullbredd.

   TVA FORSOK MISSLYCKADES INNAN DET HAR, och bada av samma skal:

   1. Forsta forsoket skrev en egen regel med SAMMA selektor och
      --ca-lasbredd som varde. Det gjorde bara kapningen smalare,
      736 i stallet for 750.

   2. Andra forsoket flyttade breddlogiken till .ca-topp och .ca-s,
      alltsa specificitet 0,1,0. Astras regel ar 0,2,0 och vann
      tyst. Sidan sag exakt likadan ut, vilket ar den forradiska
      sortens fel: ingenting sags ha gatt sonder.

   LOSNINGEN ar att matcha Astras egen selektor och lagga en klass
   till, alltsa 0,3,0. Ingen !important behovs, och senare
   komponenter kan fortfarande skriva over pa vanligt satt.

   Astra har for ovrigt en egen fullbreddsmekanism for .alignfull,
   men den satter bara marginaler och forutsatter att inget annat
   kapat max-width. Vi satter darfor bade bredd och marginal
   sjalva, sa att resultatet inte beror pa i vilken ordning
   temats regler rakar hamna.
   ========================================================= */

/* overflow-x: clip pa html, INTE hidden. hidden skapar en ny
   scroll-container och slar sonder position: sticky langre ned i
   dokumentet. clip gor samma jobb utan bieffekten, och behovs
   eftersom 100vw raknar in rullisten pa Windows. */
html {
	overflow-x: clip;
}

.entry-content[data-ast-blocks-layout] > .ca-topp,
.entry-content[data-ast-blocks-layout] > .ca-s,
.entry-content[data-ast-blocks-layout] > .alignfull,
.entry-content[data-ast-blocks-layout] > .ca-full {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}

/* ---------------------------------------------------------
   Lasspalt for vanliga textsidor
   ---------------------------------------------------------
   Galler sidor utan egna sektioner, till exempel /discretion/.
   Sektionssidorna rors inte, de bar sin egen bredd via .ca-s.
   --------------------------------------------------------- */
.ast-page-builder-template .site-main .entry-title,
.entry-content[data-ast-blocks-layout] > p,
.entry-content[data-ast-blocks-layout] > h2,
.entry-content[data-ast-blocks-layout] > h3,
.entry-content[data-ast-blocks-layout] > h4,
.entry-content[data-ast-blocks-layout] > ul,
.entry-content[data-ast-blocks-layout] > ol,
.entry-content[data-ast-blocks-layout] > blockquote,
.entry-content[data-ast-blocks-layout] > figure {
	max-width: var(--ca-lasbredd);
	margin-inline: auto;
	padding-inline: var(--ca-rum-5);
}

.ast-page-builder-template .site-main .entry-title {
	margin-block: var(--ca-rum-16) var(--ca-rum-6);
	font-size: var(--ca-text-4xl);
}

/* Rytm mellan block. Satt pa syskon i stallet for margin-bottom
   pa varje element, sa att marginaler aldrig dubbleras. */
.entry-content > * + * {
	margin-block-start: var(--ca-rum-5);
}

.entry-content > h2 { margin-block-start: var(--ca-rum-16); }
.entry-content > h3 { margin-block-start: var(--ca-rum-8); }

/* Sektioner bar sin egen vertikala rytm och ska inte fa
   syskonmarginal ovanpa den. */
.entry-content > .ca-s + .ca-s,
.entry-content > .ca-topp + .ca-s,
.entry-content > .ca-s + .ca-topp {
	margin-block-start: 0;
}

/*
 * ⚠️ margin-block-start HAR INGEN EFFEKT NAR INGRESSEN AR FORST.
 *
 * Uppmatt: en .ca-lead som ar :first-child i .entry-content far 96 px
 * (--ca-sektion) fran regeln i komponenter.css som skjuter ner det
 * forsta elementet pa sidbyggarsidor som inte borjar med en helbredds
 * sektion. Den selektorn ar specifikare och vinner.
 *
 * DET AR AVSIKTLIGT. /discretion/ borjar med H1 "Be seen. Stay private."
 * och luften under ar det som far den fyraordersraden att landa.
 *
 * Nollan har galler alltsa bara en ingress som INTE ar forst. Vill nagon
 * andra glappet under en H1 ar det --ca-sektion eller :not()-kedjan i
 * komponenter.css som ska roras, inte den har raden.
 */
.entry-content > .ca-lead {
	font-size: var(--ca-text-lg);
	line-height: 1.55;
	color: var(--ca-ink-dampad);
	margin-block-start: 0;
}

.entry-content > ul,
.entry-content > ol {
	padding-inline-start: calc(var(--ca-rum-5) + 1.1rem);
	display: flex;
	flex-direction: column;
	gap: var(--ca-rum-3);
}

.entry-content > ul > li,
.entry-content > ol > li {
	max-width: var(--ca-radlangd);
}

/* Nagot bredare an lasspalten, men inte fullbredd. */
.entry-content[data-ast-blocks-layout] > .alignwide,
.entry-content[data-ast-blocks-layout] > .ca-bred {
	max-width: var(--ca-bredd);
	margin-inline: auto;
	padding-inline: var(--ca-rum-5);
}

/* Sista blocket ska inte klistra mot sidfoten, men en sektion
   bar redan sin egen bottenluft. */
.entry-content > :last-child:not(.ca-s):not(.ca-topp) {
	margin-block-end: var(--ca-rum-20);
}

/* Bilder ska aldrig spranga sidan. */
.entry-content img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 600px) {
	.ast-page-builder-template .site-main .entry-title {
		margin-block-start: var(--ca-rum-8);
	}
}
