/* =========================================================================
   Site chrome — header/home/content pages (Phase 5)
   Matches Elementor kit #1899 + page CSS from arkitektpanduro.qvik.dk
   ========================================================================= */

/* Footer spacer (#3253) */
.ap-footer {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	min-height: 50px;
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------
   Forside — header #3955 + page #2274
   Top:            108px spacer (+20px nudge)
   Logo → contact: 0 (same column, no widget gap)
   Contact → grid: 108px spacer (#593ab1a)
   Grid → icon nav: 0 (adjacent sections, no spacer)
   Bottom:         footer spacer 50px (#3253)
   Icon nav:       518px; cols 18% | 26% | 18% | 18% | 20%
------------------------------------------------------------------------- */
.ap-home {
	width: 785px;
	max-width: 785px;
	margin: calc(var(--ap-home-spacer, 108px) + 20px) auto 0;
	box-sizing: border-box;
	text-align: center;
}

.ap-home__logo {
	margin: 0 0 21px;
	text-align: center;
}

.ap-home__logo img {
	display: inline-block;
	width: 550px;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

/* Legacy text brand (kept for older page revisions) */
.ap-home__brand {
	margin: 0;
	justify-content: center;
}

.ap-home__brand-line {
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	color: #6d6e71;
}

.ap-home__brand-name,
.ap-home__brand-title {
	white-space: nowrap;
}

.ap-home__mark {
	position: relative;
	display: inline-block;
	width: 26px;
	height: 14px;
	flex-shrink: 0;
}

.ap-home__mark::before,
.ap-home__mark::after {
	content: "";
	position: absolute;
	top: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
}

.ap-home__mark::before {
	left: 0;
	background: #bad875;
}

.ap-home__mark::after {
	right: 0;
	background: #19bfe0;
	opacity: 0.9;
}

.ap-home__contact {
	margin: 0 0 calc(var(--ap-home-spacer, 108px) + 33px);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.4;
	color: #6d6e71;
}

.ap-home__contact a {
	color: #6d6e71;
	text-decoration: none;
}

.ap-home__contact a:hover {
	color: #000;
}

.ap-home__bullet {
	/* Original uses U+2022 BULLET (•), not middot (·) — same size/font as body */
	font-family: Arial, Helvetica, sans-serif;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.ap-home .ap-projects-grid {
	margin-bottom: 30px;
}

/* Icon nav — Elementor #16ba476 (518px, centered + slight right bias) */
.ap-icon-nav {
	width: var(--ap-icon-nav-width, 518px);
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	left: 19px; /* visual nudge right vs geometric center */
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0;
	text-align: left;
	box-sizing: border-box;
}

.ap-icon-nav__item {
	flex: 0 0 auto;
	min-width: 0;
	box-sizing: border-box;
	text-align: left;
	padding: 0;
}

.ap-icon-nav__item--projekter {
	width: 18%;
	flex-basis: 18%;
}

.ap-icon-nav__item--om {
	width: 25.998%;
	flex-basis: 25.998%;
}

.ap-icon-nav__item--nyheder {
	width: 18%;
	flex-basis: 18%;
}

.ap-icon-nav__item--ydelser {
	width: 18%;
	flex-basis: 18%;
}

.ap-icon-nav__item--referencer {
	width: 20%;
	flex-basis: 20%;
}

.ap-icon-nav__item a {
	display: inline-flex;
	align-items: flex-start;
	gap: 4px; /* --icon-box-icon-margin */
	color: #6d6e71;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 300;
	line-height: 1.4;
	text-decoration: none;
}

.ap-icon-nav__item a:hover {
	color: #000;
}

.ap-icon-nav__dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-top: 2px;
	flex-shrink: 0;
}

.ap-icon-nav__item--projekter .ap-icon-nav__dot {
	background: #19bfe0;
}

.ap-icon-nav__item--om .ap-icon-nav__dot {
	background: #bad875;
}

.ap-icon-nav__item--nyheder .ap-icon-nav__dot {
	background: #ff70b3;
}

.ap-icon-nav__item--ydelser .ap-icon-nav__dot {
	background: #000;
}

.ap-icon-nav__item--referencer .ap-icon-nav__dot {
	background: #909090;
}

/* -------------------------------------------------------------------------
   Content pages — 24% | 76% + 50px pad (#3754 / #3734 / #2256 / #2800)
------------------------------------------------------------------------- */
.ap-split {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	width: 100%;
	max-width: 750px;
	margin: 0 auto 60px;
	box-sizing: border-box;
}

.ap-split__media {
	flex: 0 0 24%;
	width: 24%;
	max-width: 24%;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.ap-split__figure {
	margin: 0;
	width: 100%;
	line-height: 0;
}

.ap-split__figure img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.ap-split__body {
	flex: 0 0 76%;
	width: 76%;
	max-width: 76%;
	padding: 0 0 0 50px;
	box-sizing: border-box;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
	color: #6d6e71;
	text-align: left;
}

.ap-split__title {
	margin: -1px 0 1em;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	color: #6d6e71;
}

.ap-split__body p {
	margin: 0 0 1em;
}

.ap-split__body p:last-child {
	margin-bottom: 0;
}

.ap-split__body a {
	color: #6d6e71;
	text-decoration: none;
}

.ap-split__body a:hover {
	color: #000;
}

.ap-legal {
	width: 100%;
	max-width: 750px;
	margin: 0 auto 60px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 1.4;
	color: #6d6e71;
}

.ap-legal p {
	margin: 0 0 1em;
}

.ap-page .ap-split,
.ap-page .ap-legal {
	margin-bottom: 60px;
}
