/**
 * DK SEO Agency — fælles stylesheet for alle genererede sider (Fase 1.5c).
 * Designet efter skabelonsiden /defekt-hybridbil/: to-spaltet layout med
 * lyseblå formular-boks i højre spalte, tynde sektions-skillelinjer og
 * lys CTA-sektion med blå knapper og skrå blå flader.
 *
 * ÉN fil styrer designet på ALLE sider — ret her, aldrig i de enkelte sider.
 * Enqueues kun på sider med post-meta _dk_seo_generated.
 */

:root {
	--dkseo-blue-card: #62b7dd;   /* formular-boksens lyseblå */
	--dkseo-blue-btn: #4aa3dd;    /* knap-blå (som skabelonens) */
	--dkseo-blue-deep: #2f6fb8;   /* de skrå flader/dyb blå */
	--dkseo-text: #232a31;
	--dkseo-line: #e2e6ea;
	--dkseo-bg-soft: #f4f6f8;
}

/* ---------- Header: mørk baggrund som på skabelonsiderne ----------
   Temaets header er transparent og låner normalt farven fra Elementor-
   sidernes mørke hero. Vores sider har ingen hero, så headeren faldt
   tilbage på grå krops-baggrund (hvidt logo på gråt). Dette stylesheet
   loader KUN på genererede sider, så reglen rammer intet andet. */

/* KUN site-headeren (Astra: header.site-header#masthead) — ALDRIG den nøgne
   header-tag-selektor: Astra pakker også sidetitlen i <header class=
   "entry-header">, som ellers fik mørk bjælke bag H1'en (set 16.07.2026). */
.site-header,
#masthead,
.elementor-location-header,
[data-elementor-type="header"] {
	background-color: #3f4e5a !important;
}

/* Fase 2.6-bælte: hvis Astra ALLIGEVEL kører transparent header på en
   genereret side (meta+filter burde forhindre det), tving mørk baggrund
   og normal placering, så hvidt logo/menu aldrig drukner i hvidt. */
.ast-theme-transparent-header .site-header,
.ast-theme-transparent-header #masthead {
	background-color: #3f4e5a !important;
	position: relative !important;
}

/* Fase 2.6b: Astra Pro's HEADER BUILDER maler sine egne indre wraps
   (.ast-main-header-wrap / .main-header-bar / .site-primary-header-wrap)
   OVEN PÅ #masthead — så #masthead-baggrunden ovenfor var der, men blev
   dækket af et hvidt lag (målt live på #9500: #masthead = rgb(63,78,90),
   synlig header = hvid). Tving mørk baggrund på de malede lag; den hvide
   logo-variant og den lyse menutekst er så læsbare. Stylesheetet loader
   KUN på genererede sider, så intet andet rammes. */
#masthead .main-header-bar,
#masthead .ast-main-header-wrap,
#masthead .site-primary-header-wrap,
.ast-hfb-header .main-header-bar,
.ast-hfb-header .ast-main-header-wrap,
.ast-hfb-header .site-primary-header-wrap,
.ast-hfb-header [data-section="section-primary-header-builder"] {
	background: #3f4e5a !important;
	background-image: none !important;
}

/* Kontrast-garanti for menupunkterne på den mørke bund. */
#masthead .main-header-menu .menu-link,
#masthead .main-header-menu a,
#masthead .ast-builder-menu a {
	color: #f3f6f6 !important;
}

/* Sikkerhedsnet: titlens entry-header skal altid være transparent. */
.entry-header, header.entry-header {
	background-color: transparent !important;
}

/* Luft mellem header og titel — Astras transparente header lagde ellers
   headeren oven på indholdets top og klippede H1 på mobil. */
.site-content, #content {
	padding-top: 20px;
}
@media (max-width: 921px) {
	.site-content, #content { padding-top: 32px; }
}

/* ---------- To-spaltet layout: indhold + klæbende formular ---------- */

.dk-seo-layout {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(300px, 5fr);
	gap: 40px;
	align-items: start;
	margin: 8px 0 32px;
}

.dk-seo-main { min-width: 0; }

.dk-seo-aside .dk-seo-form-card {
	position: sticky;
	top: 24px;
}

@media (max-width: 900px) {
	.dk-seo-layout { grid-template-columns: 1fr; gap: 24px; }
	.dk-seo-aside .dk-seo-form-card { position: static; }
}

/* ---------- Indholdsspalten ---------- */

.dk-seo-intro {
	font-size: 1.12em;
	font-weight: 500;
	line-height: 1.6;
}

.dk-seo-hero-img img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}
.dk-seo-hero-img { margin: 18px 0; }

.dk-seo-main h2,
.dk-seo-faq h2 {
	border-top: 1px solid var(--dkseo-line);
	padding-top: 22px;
	margin-top: 26px;
}
.dk-seo-main .dk-seo-intro + h2 { border-top: 0; padding-top: 0; }

.dk-seo-main ul li,
.dk-seo-main ol li { margin-bottom: 8px; }

.dk-seo-faq h3 { margin-top: 18px; }

/* ---------- Formular-boksen (lyseblå som skabelonen) ---------- */

.dk-seo-form-card {
	background: var(--dkseo-blue-card);
	border-radius: 8px;
	padding: 28px 24px;
	color: #10222e;
}

.dk-seo-form-card h2 {
	margin: 0 0 6px;
	text-align: center;
	font-size: 1.35em;
	color: #10222e;
}

.dk-seo-form-card .dk-seo-form-sub {
	text-align: center;
	font-weight: 600;
	font-size: 0.92em;
	margin: 0 0 18px;
}

.dk-seo-form-card .wpforms-field-label { font-weight: 700; }

.dk-seo-form-card input[type="text"],
.dk-seo-form-card input[type="tel"],
.dk-seo-form-card input[type="email"],
.dk-seo-form-card select,
.dk-seo-form-card textarea {
	background: #ffffff;
	border: 1px solid #ffffff;
	border-radius: 4px;
	width: 100%;
}

.dk-seo-form-card button[type="submit"],
.dk-seo-form-card .wpforms-submit {
	background: var(--dkseo-blue-btn) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 12px 34px !important;
	font-weight: 600 !important;
}

/* ---------- Interne link-blokke ---------- */

.dk-seo-brands, .dk-seo-related, .dk-seo-readalso {
	border-top: 1px solid var(--dkseo-line);
	padding-top: 22px;
	margin: 26px 0 0;
}
.dk-seo-brands ul, .dk-seo-related ul, .dk-seo-readalso ul {
	columns: 2;
	column-gap: 32px;
}
@media (max-width: 700px) {
	.dk-seo-brands ul, .dk-seo-related ul, .dk-seo-readalso ul { columns: 1; }
}

/* ---------- 2.6p: hub-directory grupperet efter model ----------
   Fejl-hubben viser én model pr. linje (fed model-etiket + korte by-ankre
   adskilt af ·). Mærke-hubben viser fejl-hub-links. Ren indeks-fornemmelse
   i stedet for en mur af ~30 næsten-ens links (doorway/spam-signal). */
.dk-seo-hubdir {
	border-top: 1px solid var(--dkseo-line);
	padding-top: 22px;
	margin: 26px 0 0;
}
.dk-seo-hubdir ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.dk-seo-hubdir li {
	margin: 8px 0;
	line-height: 1.9;
}
.dk-seo-hubmodel {
	display: inline-block;
	min-width: 96px;
	font-weight: 700;
	margin-right: 6px;
}
.dk-seo-sep { color: #9aa4b2; margin: 0 3px; }

/* ---------- CTA-sektion (lys m. skrå blå flader, som skabelonen) ---------- */

.dk-seo-cta-section {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(115deg, transparent 72%, rgba(47, 111, 184, 0.92) 72.2%),
		linear-gradient(65deg, transparent 86%, rgba(90, 160, 220, 0.85) 86.2%),
		var(--dkseo-bg-soft);
	border-radius: 8px;
	padding: 48px 36px;
	margin: 40px 0 8px;
}

.dk-seo-cta-section h2 {
	margin: 0 0 10px;
	border: 0;
	padding: 0;
}

.dk-seo-cta-section p {
	font-weight: 600;
	max-width: 560px;
	margin: 0 0 22px;
}

.dk-seo-cta-buttons a {
	display: inline-block;
	background: var(--dkseo-blue-btn);
	color: #ffffff !important;
	text-decoration: none;
	border-radius: 4px;
	padding: 12px 26px;
	font-weight: 600;
	margin: 0 12px 12px 0;
}
.dk-seo-cta-buttons a:hover { background: var(--dkseo-blue-deep); }

/* ---------- 2.6j: Overskrifts-hierarki + dansk sætnings-versal ----------
   Målt live (1920px): Astra gav H1 30px men sektions-H2 48px — H2'erne
   OVERDØVEDE H1 — og text-transform: capitalize lavede dansk sætnings-tekst
   om til Title Case ("...Fylder Mere I København End På Landet").
   Stylesheetet enqueues KUN på genererede sider (post-meta _dk_seo_generated,
   se dk_seo_enqueue_page_css), så reglerne rører intet andet på sitet.
   Hierarkiet: H1 (~34px) > sektions-H2 (~25px) > H3 (~19px), clamp() for
   pæn skalering på mobil. Formular-boksens H2 (aside) beholder sin egen
   skala og rammes bevidst IKKE af .dk-seo-main-reglerne. */

.entry-title,
h1.entry-title,
.entry-header h1,
.site-content h1 {
	font-size: clamp(28px, 22px + 1.1vw, 34px) !important;
	line-height: 1.25 !important;
	text-transform: none !important;
}

.dk-seo-main h2,
.dk-seo-faq h2,
.dk-seo-hubdir h2,
.dk-seo-brands h2,
.dk-seo-related h2,
.dk-seo-readalso h2,
.dk-seo-cta-section h2 {
	font-size: clamp(21px, 17px + 0.8vw, 25px) !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}

.dk-seo-main h3,
.dk-seo-faq h3 {
	font-size: clamp(17px, 15px + 0.45vw, 19px) !important;
	line-height: 1.35 !important;
	text-transform: none !important;
}

/* Ingen Title Case NOGEN steder på SEO-siderne — heller ikke formular-
   boksens overskrift eller evt. tema-udskrevne mellemrubrikker. */
.site-content h1, .site-content h2, .site-content h3,
.dk-seo-form-card h2 {
	text-transform: none !important;
}
