/*
Theme Name:     VKST Forening
Theme URI:      n/a
Template:       kadence
Author:         Lasse Nielsen
Author URI:     n/a
Description:    Foreningssitet for VKST. Child theme til Kadence.
Version:        1.0
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ==========================================================================
   Sidefod - bygget efter vkst.dk (assets/scss/_footer.scss)
   ========================================================================== */

/* Overskrifter med rod streg under, som paa vkst.dk */
.site-footer .widget-title,
.site-footer h4 {
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
}

.site-footer .widget-title::after,
.site-footer h4::after {
	content: "";
	display: block;
	width: 30px;
	padding-top: 20px;
	border-bottom: 2px solid #EE4138;
}

/* Lister uden punkttegn */
.site-footer ul.wp-block-list,
.site-footer .widget ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.site-footer ul.wp-block-list li {
	list-style: none;
	line-height: 1.5;
	margin-bottom: 8px;
}

.site-footer ul.wp-block-list li a {
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	transition: all .3s linear;
}

.site-footer ul.wp-block-list li a:hover {
	text-decoration: underline;
}

/* Kontaktkolonnen - luftigere linjer */
.site-footer p,
.site-footer p a {
	color: #fff;
	line-height: 2;
}

.site-footer p a {
	text-decoration: none;
}

.site-footer p a:hover {
	text-decoration: underline;
}

/* Skillelinje mellem kolonner og bundbjaelke */
.site-middle-footer-wrap {
	padding-bottom: 70px;
	border-bottom: 1px solid rgba(255, 255, 255, .35);
}

.site-bottom-footer-wrap {
	padding-top: 25px;
}

/* Bundbjaelke: tre dele fordelt paa linjen */
.vkst-footer-bund {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.vkst-footer-bund {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.site-middle-footer-wrap {
		padding-bottom: 40px;
	}
}

/* Sociale ikoner */
.site-footer .wp-block-social-links {
	margin-top: 10px;
	gap: 12px;
}

/* ==========================================================================
   Sidehoved
   ========================================================================== */

/* Telefonnummeret maa ikke brydes eller understreges */
.site-header .header-html a {
	white-space: nowrap;
	text-decoration: none;
}

/* ==========================================================================
   Medarbejderkort - bygget efter vkst.dk (_employees-loop.scss)
   ========================================================================== */

.vkst-medarbejder { cursor: default; }

.vkst-medarbejder__billede { margin: 0; }
.vkst-medarbejder__billede img { width: 100%; display: block; aspect-ratio: 1 / 1; object-fit: cover; }

.vkst-medarbejder__indhold {
	position: relative;
	margin-top: -32px;
	margin-right: 30px;
	background-color: #fff;
	padding: 15px;
}

.vkst-medarbejder__indhold p { margin: 0; line-height: 1.4; }

/* Stilling */
.vkst-medarbejder__stilling { margin-bottom: 15px !important; word-wrap: break-word; }

/* Navn - med rod streg over */
.vkst-medarbejder__navn {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 20px !important;
}
.vkst-medarbejder__navn::before {
	content: "";
	display: block;
	border-bottom: 3px solid #EE4138;
	width: 30px;
	height: 0;
	margin-bottom: 15px;
}

/* Telefon og mail med ikon */
.vkst-medarbejder__tlf, .vkst-medarbejder__mail { padding-bottom: 10px; }
.vkst-medarbejder__tlf a, .vkst-medarbejder__mail a { color: #000; text-decoration: none; display: inline-flex; align-items: center; }
.vkst-medarbejder__tlf a:hover, .vkst-medarbejder__mail a:hover { text-decoration: underline; }
.vkst-medarbejder__tlf a::before, .vkst-medarbejder__mail a::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 15px;
	flex: 0 0 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.vkst-medarbejder__tlf a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cline x1='10.5' y1='18.5' x2='13.5' y2='18.5'/%3E%3C/svg%3E"); }
.vkst-medarbejder__mail a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpolyline points='2.5,7 12,13.5 21.5,7'/%3E%3C/svg%3E"); }

/* Kontakt mig */
.vkst-medarbejder__link { margin-top: 15px !important; }
.vkst-medarbejder__link a {
	color: #EE4138;
	font-weight: 400;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}
.vkst-medarbejder__link a:hover { text-decoration: underline; }
.vkst-medarbejder__link a::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EE4138' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='6' y1='18' x2='18' y2='6'/%3E%3Cpolyline points='9,6 18,6 18,15'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}


/* ==========================================================================
   Rod streg under overskrifter - gennemgaaende paa vkst.dk
   ========================================================================== */

.entry-content h1::after,
.vkst-topbanner__titel::after,
.vkst-streg-under::after,
.vkst-sidemenu__overskrift::after {
	content: "";
	display: block;
	width: 30px;
	height: 0;
	border-bottom: 3px solid #EE4138;
	margin-top: 20px;
	margin-bottom: 20px;
}

/* ==========================================================================
   Topbanner
   ========================================================================== */

.vkst-topbanner { gap: 0 !important; margin-bottom: 0; }
.vkst-topbanner__tekst {
	background-color: #F9F9F9;
	padding: 72px 45px;
}
.vkst-topbanner__tekst > *:last-child { margin-bottom: 0; }
.vkst-topbanner__billede { flex-basis: 50%; }
.vkst-topbanner__billede figure,
.vkst-topbanner__billede img {
	margin: 0;
	width: 100%;
	height: 100%;
	min-height: 350px;
	object-fit: cover;
	display: block;
}
@media (max-width: 781px) {
	.vkst-topbanner__tekst { padding: 40px 25px; }
	.vkst-topbanner__billede img { min-height: 220px; }
}

/* ==========================================================================
   Sidemenu
   ========================================================================== */

.vkst-sidemenu-boks { margin-bottom: 40px; }
.vkst-sidemenu__overskrift { font-size: 1.3rem; margin-bottom: 0; }
.vkst-sidemenu__overskrift a { color: #000; text-decoration: none; }

.vkst-sidemenu ul { list-style: none; margin: 0; padding: 0; }
.vkst-sidemenu li { width: 100%; padding-bottom: 10px; }
.vkst-sidemenu li:last-child { padding-bottom: 0; }

.vkst-sidemenu a {
	display: flex;
	align-items: flex-start;
	color: #000;
	font-weight: 400;
	text-decoration: none;
	line-height: 1.4;
}
.vkst-sidemenu a:hover { text-decoration: underline; }
.vkst-sidemenu a::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	flex: 0 0 13px;
	margin-right: 11px;
	margin-top: 4px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EE4138' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9,5 16,12 9,19'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Aktiv side markeres med rodt og fed */
.vkst-sidemenu li.current-menu-item > a { color: #EE4138; font-weight: 700; }

/* Undermenu rykkes ind */
.vkst-sidemenu .sub-menu { margin: 0 0 10px; }
.vkst-sidemenu .sub-menu li { margin-left: 15px; padding-top: 15px; padding-bottom: 0; }

/* ==========================================================================
   Bundsektion og CTA
   ========================================================================== */

.vkst-cta .vkst-streg-under { color: #fff; }
.vkst-cta .vkst-streg-under::after { border-bottom-color: #EE4138; }

/* Hvid knap paa gron bund */
.vkst-knap-hvid .wp-block-button__link {
	background-color: transparent;
	border: 3px solid #fff;
	color: #fff;
	border-radius: 0;
	padding: 0.6rem 1.1rem;
	font-weight: 400;
	transition: all .3s linear;
}
.vkst-knap-hvid .wp-block-button__link:hover { background-color: #fff; color: #3C5949; }

/* Editor-visning af sidemenu-blokken */
.vkst-sidemenu-preview {
	border: 1px dashed #c3c4c7;
	background: #f6f7f7;
	padding: 14px 16px;
	color: #50575e;
}


/* Rettelser efter visuel kontrol mod vkst.dk */

.vkst-medarbejder > .wp-block-group__inner-container {
	display: block;
}
.vkst-medarbejder > .wp-block-group__inner-container > * { margin-block-start: 0 !important; }
.vkst-medarbejder .vkst-medarbejder__indhold { margin-top: -32px !important; }

.vkst-groent-baand h1,
.vkst-groent-baand h2,
.vkst-groent-baand h3,
.vkst-groent-baand p { color: #fff; }

.vkst-streg-centreret::after { margin-left: auto; margin-right: auto; }

/* Billedets bundmargin udlignede overlappet - nulstilles */
.vkst-medarbejder figure.wp-block-image,
.vkst-medarbejder .vkst-medarbejder__billede { margin-bottom: 0 !important; }


/* Justeret efter opmaaling mod vkst.dk */

.vkst-medarbejder .vkst-medarbejder__indhold { margin-right: 55px !important; }

.vkst-topbanner {
	gap: 0 !important;
	column-gap: 0 !important;
	--wp--style--block-gap: 0 !important;
}
.vkst-topbanner > .wp-block-column { margin: 0 !important; }

/* Topbanner i fuld bredde - teksten holdes paa linje med sidens indhold */
@media (min-width: 782px) {
	.vkst-topbanner.alignfull .vkst-topbanner__tekst {
		padding-left: max(45px, calc((100vw - 1640px) / 2 + 15px));
	}
}

/* Banneret deles praecis paa midten, som paa dev */
.vkst-topbanner > .wp-block-column {
	flex-basis: 50% !important;
	flex-grow: 0 !important;
	max-width: 50%;
}
@media (max-width: 781px) {
	.vkst-topbanner > .wp-block-column { flex-basis: 100% !important; max-width: 100%; }
}

/* Centreret overskrift skal ogsaa have centreret streg */
.vkst-streg-under.has-text-align-center::after { margin-left: auto; margin-right: auto; }
.vkst-streg-under.has-text-align-right::after { margin-left: auto; }

/* Medarbejderkortet har altid hvid bund, saa teksten skal vaere sort */
.vkst-medarbejder__indhold,
.vkst-medarbejder__indhold p,
.vkst-medarbejder__indhold a { color: #000 !important; }
.vkst-medarbejder__link a { color: #EE4138 !important; }


/* ==========================================================================
   Rettelser efter gennemgang 2026-09-18
   ========================================================================== */

/* --- Tekst paa gron bund skal altid vaere hvid --- */
.has-theme-palette2-background-color,
.has-theme-palette2-background-color h1,
.has-theme-palette2-background-color h2,
.has-theme-palette2-background-color h3,
.has-theme-palette2-background-color h4,
.has-theme-palette2-background-color h5,
.has-theme-palette2-background-color h6,
.has-theme-palette2-background-color p,
.has-theme-palette2-background-color li,
.has-theme-palette2-background-color strong,
.has-theme-palette2-background-color em {
	color: #fff;
}

/* Links paa gron bund */
.has-theme-palette2-background-color a:not(.wp-block-button__link) { color: #fff; text-decoration: underline; }

/* Medarbejderkortet har egen hvid bund - maa ikke arve den hvide tekst */
.has-theme-palette2-background-color .vkst-medarbejder__indhold,
.has-theme-palette2-background-color .vkst-medarbejder__indhold p,
.has-theme-palette2-background-color .vkst-medarbejder__indhold a { color: #000; text-decoration: none; }
.has-theme-palette2-background-color .vkst-medarbejder__link a { color: #EE4138; }

/* --- Topbanner: overlay-varianten (forsiden og Omlaegningsprojekter) --- */
@media (min-width: 1024px) {
	.vkst-topbanner--overlay { position: relative; align-items: flex-start; }
	.vkst-topbanner--overlay > .vkst-topbanner__billede {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 55% !important;
		flex-basis: 55% !important;
		max-width: 55%;
		margin: 0;
	}
	.vkst-topbanner--overlay > .vkst-topbanner__billede figure,
	.vkst-topbanner--overlay > .vkst-topbanner__billede img { height: 100%; min-height: 0; }
	.vkst-topbanner--overlay > .vkst-topbanner__tekst {
		position: relative;
		z-index: 2;
		margin-top: 100px;
		flex-basis: 1000px !important;
		max-width: 1000px;
		padding: 72px 75px 72px 45px;
	}
}

/* --- Bundsektionen fylder hele bredden, men indholdet holdes paa linje --- */
.vkst-bundsektion > .wp-block-group__inner-container,
.wp-block-group.alignfull.has-theme-palette7-background-color > .wp-block-group__inner-container {
	max-width: 1640px;
	margin-left: auto;
	margin-right: auto;
}

/* --- Overflodige bundmargener --- */
/* Sidste element i en boks skal ikke skubbe bunden ud */
.wp-block-group > .wp-block-group__inner-container > *:last-child,
.wp-block-column > *:last-child { margin-bottom: 0; }

/* Overskrifter i indhold: dev bruger 30px, ikke Kadences standard */
.entry-content h2, .entry-content h3, .entry-content h4 { margin-bottom: 30px; }
.entry-content p { margin-bottom: 30px; }
.entry-content p:last-child { margin-bottom: 0; }

/* Billeder i kolonner skal ikke have bundmargin */
.wp-block-column > figure.wp-block-image:last-child { margin-bottom: 0; }

/* Overlay-banneret: overskriver den generelle margin-nulstilling ovenfor */
@media (min-width: 1024px) {
	.vkst-topbanner.vkst-topbanner--overlay { align-items: flex-start !important; }
	.vkst-topbanner.vkst-topbanner--overlay > .vkst-topbanner__tekst {
		margin-top: 100px !important;
		margin-left: max(0px, calc((100vw - 1640px) / 2 + 15px)) !important;
		align-self: flex-start;
	}
	.vkst-topbanner.vkst-topbanner--overlay > .vkst-topbanner__billede { margin: 0 !important; }
}

/* --- Tabeller: dev bruger daempet gron til stribede raekker, ikke lysegraa --- */
.entry-content table tbody tr:nth-child(even),
.entry-content table tbody tr:nth-child(even) td,
.entry-content table tbody tr:nth-child(even) th {
	background-color: #6A8675 !important;
}
.entry-content table tbody tr:nth-child(odd),
.entry-content table tbody tr:nth-child(odd) td,
.entry-content table tbody tr:nth-child(odd) th {
	background-color: transparent !important;
}

/* Tabeller uden kantlinjer, som paa dev */
.entry-content table td,
.entry-content table th { border: 0; padding: 10px 14px; }


/* ==========================================================================
   Formularer - bygget efter vkst.dk
   Begge formularer staar paa gron bund: gennemsigtige felter, hvid tekst
   ========================================================================== */

.kb-advanced-form input[type="text"],
.kb-advanced-form input[type="email"],
.kb-advanced-form input[type="tel"],
.kb-advanced-form textarea {
	background-color: transparent;
	border: 1px solid #DDDDDD;
	border-radius: 0;
	color: #fff;
	padding: 8px;
	box-shadow: none;
}

/* Pladsholdertekst */
.kb-advanced-form input::placeholder,
.kb-advanced-form textarea::placeholder { color: #fff; opacity: .85; }

/* Etiketter over felterne */
.kb-advanced-form label,
.kb-advanced-form .kb-form-label { color: #fff; }

/* Fokus */
.kb-advanced-form input:focus,
.kb-advanced-form textarea:focus {
	border-color: #fff;
	outline: none;
	background-color: rgba(255, 255, 255, .08);
}

/* Autofyld maa ikke give hvid boks med hvid tekst */
.kb-advanced-form input:-webkit-autofill,
.kb-advanced-form input:-webkit-autofill:hover,
.kb-advanced-form input:-webkit-autofill:focus {
	-webkit-text-fill-color: #fff;
	transition: background-color 5000s ease-in-out 0s;
}

/* Send-knap: firkantet og rod som paa dev */
.kb-advanced-form .kb-forms-submit,
.kb-advanced-form button[type="submit"] {
	background-color: #EE4138;
	border: 3px solid #EE4138;
	border-radius: 0;
	color: #fff;
	padding: 0.6rem 1.1rem;
	font-weight: 400;
	transition: all .3s linear;
}
.kb-advanced-form .kb-forms-submit:hover,
.kb-advanced-form button[type="submit"]:hover {
	background-color: transparent;
	color: #fff;
}

/* Kvittering og fejlbeskeder */
.kb-advanced-form .kb-form-messages { color: #fff; border-radius: 0; }


/* ==========================================================================
   Afstande - rettet efter opmaaling mod vkst.dk
   Dev har INGEN luft mellem sektionerne; luften ligger inde i dem.
   ========================================================================== */

/* Sektionerne skal ligge helt op ad hinanden */
.entry-content > *,
.entry-content > .wp-block-group,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-media-text,
.entry-content > .wp-block-cover {
	margin-top: 0;
	margin-bottom: 0;
}

/* Spacer-blokke bestemmer selv deres hojde - de skal beholdes */
.entry-content > .wp-block-spacer { margin: 0; }

/* --- Skakternet media-text: luften ligger som indvendig afstand --- */
.wp-block-media-text > .wp-block-media-text__content {
	padding: 140px 120px;
}

@media (max-width: 1200px) {
	.wp-block-media-text > .wp-block-media-text__content { padding: 100px 60px; }
}

@media (max-width: 781px) {
	.wp-block-media-text > .wp-block-media-text__content { padding: 70px 30px; }
}

/* Sidste element i tekstdelen maa ikke skubbe bunden ud */
.wp-block-media-text__content > *:last-child { margin-bottom: 0; }
