/*

Theme Name: Klinik GP Child

Template: generatepress

Version: 2.0.0

*/



/* ============================================

   Design tokens — brand colors + type + spacing

   Colors extracted from the earlier redesign attempt's

   child-generatepress/style.css, cross-checked against the

   brief's brand values (exact match, no discrepancy).

   ============================================ */

:root {

	--color-white: #ffffff;

	--color-brand-green: #8cb539;

	--color-brand-green-dark: #6f9a2c;

	--color-light-gray: #cdd6d2;

	--color-pale-green: #ebf2ef;

	--color-dark-gray: #4a4c4b;



	--header-bg: #ffffff;

	--header-text: var(--color-dark-gray);

	--header-link: var(--color-dark-gray);

	--header-link-hover: var(--color-brand-green);

	--header-border: var(--color-light-gray);



	--footer-bg: var(--color-dark-gray);

	--footer-text: #ffffff;

	--footer-heading: #ffffff;

	--footer-link: var(--color-light-gray);

	--footer-link-hover: var(--color-brand-green);

	--footer-bottom-bg: #3a3c3b;

	--footer-border: rgba(255, 255, 255, 0.1);



	/* Typography — system font stack is the recorded brand choice

	   (no custom webfont was ever implemented); a real type scale

	   replaces the old ad hoc per-component font-sizes. */

	--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--font-weight-normal: 400;

	--font-weight-medium: 500;

	--font-weight-bold: 700;



	--text-xs: 0.8rem;

	--text-sm: 0.9rem;

	--text-base: 1rem;

	--text-md: 1.15rem;

	--text-lg: 1.4rem;

	--text-xl: 1.85rem;

	--text-xxl: 2.4rem;

	--line-height-base: 1.65;

	--line-height-heading: 1.25;



	--space-xs: 8px;

	--space-sm: 16px;

	--space-md: 24px;

	--space-lg: 40px;

	--space-xl: 60px;

	--space-xxl: 80px;



	--container-max: 1200px;



	--header-bg-transparent: rgba(255, 255, 255, 0);

	--header-bg-solid: #ffffff;

	--header-padding-y: 24px;

	--header-padding-y-sticky: 16px;

	--footer-padding-y: 80px;

	--border-width: 1px;

	--border-width-thick: 3px;

	--radius: 8px;

}



/* ============================================

   Base typography

   ============================================ */

body {

	font-family: var(--font-body);

	color: var(--color-dark-gray);

	line-height: var(--line-height-base);

	font-size: var(--text-base);

}



h1, h2, h3, h4, h5, h6,

.wp-block-heading {

	font-family: var(--font-body);

	font-weight: var(--font-weight-bold);

	line-height: var(--line-height-heading);

	color: var(--color-dark-gray);

}



h1, .wp-block-heading:is(h1) { font-size: var(--text-xxl); }

h2, .wp-block-heading:is(h2) { font-size: var(--text-xl); }

h3, .wp-block-heading:is(h3) { font-size: var(--text-lg); }

h4, .wp-block-heading:is(h4) { font-size: var(--text-md); }



/* Vertical rhythm — replaces the manual spacer-block-only spacing the

   WPBakery migration left behind (see live-run-review findings: several

   posts had no breathing room between headings and paragraphs because

   spacer blocks, not default margins, carried all vertical spacing). */

.entry-content > * + *,

.wp-block-column > * + * {

	margin-top: var(--space-sm);

}

.entry-content h2,

.entry-content h3,

.entry-content h4 {

	margin-top: var(--space-lg);

	margin-bottom: var(--space-xs);

}



a {

	color: var(--color-brand-green);

	text-decoration: underline;

}

a:hover, a:focus {

	color: var(--color-brand-green-dark);

}



/* ============================================

   Buttons

   ============================================ */

.wp-block-button__link,

.gbp-button--primary .wp-block-button__link,

button[type="submit"],

.ff-btn-submit {

	background-color: var(--color-brand-green) !important;

	color: #ffffff !important;

	border-radius: var(--radius);

	text-decoration: none !important;

	font-weight: var(--font-weight-medium);

	padding: 0.75em 1.6em;

	transition: background-color 0.2s ease;

}

.wp-block-button__link:hover,

button[type="submit"]:hover,

.ff-btn-submit:hover {

	background-color: var(--color-brand-green-dark) !important;

}



/* ============================================

   Site header (ported from facelift-2026 reference)

   ============================================ */

.klinik-header {

	position: fixed;

	top: 0;

	left: 0;

	width: 100%;

	z-index: 999;

	background: var(--header-bg-transparent);

	border-bottom: var(--border-width) solid transparent;

	transition: background-color 0.2s ease, border-color 0.2s ease;

}



.admin-bar .klinik-header {

	top: 32px;

}



@media (max-width: 782px) {

	.admin-bar .klinik-header {

		top: 46px;

	}

}



.klinik-header.scrolled {

	background: var(--color-light-gray);

	border-bottom-color: var(--color-light-gray);

}



.klinik-header-container {

	position: relative;

	display: grid;

	grid-template-columns: 1fr auto 1fr;

	align-items: center;

	gap: var(--space-lg);

	max-width: var(--container-max);

	margin: 0 auto;

	padding: var(--header-padding-y) var(--space-md);

	transition: padding 0.2s ease;

}



.klinik-header.scrolled .klinik-header-container {

	padding: var(--header-padding-y-sticky) var(--space-md);

}



.klinik-header .klinik-logo {

	display: flex;

	align-items: center;

	justify-self: start;

}



.klinik-header .klinik-logo-link,

.klinik-header .klinik-logo .custom-logo-link {

	display: inline-flex;

	align-items: center;

	text-decoration: none;

	transition: opacity 0.15s ease;

}



.klinik-header .klinik-logo-link:hover,

.klinik-header .klinik-logo .custom-logo-link:hover {

	opacity: 0.8;

}



.klinik-header .klinik-logo-img,

.klinik-header .klinik-logo .custom-logo {

	display: block;

	width: auto;

	max-height: 60px;

	transition: max-height 0.2s ease;

}



.klinik-header.scrolled .klinik-logo-img,

.klinik-header.scrolled .klinik-logo .custom-logo {

	max-height: 50px;

}



.klinik-header .klinik-logo-text {

	font-size: 24px;

	font-weight: var(--font-weight-bold);

	color: var(--header-text);

}



.klinik-header .klinik-nav {

	display: flex;

	justify-content: center;

	justify-self: center;

}



.klinik-header .klinik-menu {

	display: flex;

	align-items: center;

	gap: var(--space-lg);

	margin: 0;

	padding: 0;

	list-style: none;

}



.klinik-header .klinik-menu > li {

	position: relative;

	margin: 0;

	padding: 0;

}



.klinik-header .klinik-menu > li > a {

	display: block;

	padding: var(--space-sm) 0;

	color: var(--header-link);

	text-decoration: none;

	font-size: 16px;

	font-weight: var(--font-weight-medium);

	line-height: 1.5;

	border-bottom: var(--border-width-thick) solid transparent;

	transition: color 0.15s ease, border-color 0.15s ease;

}



.klinik-header .klinik-menu > li > a:hover,

.klinik-header .klinik-menu > li.current-menu-item > a,

.klinik-header .klinik-menu > li.current-menu-ancestor > a,

.klinik-header.scrolled .klinik-menu > li > a:hover,

.klinik-header.scrolled .klinik-menu > li.current-menu-item > a,

.klinik-header.scrolled .klinik-menu > li.current-menu-ancestor > a {

	color: var(--header-link-hover);

	border-bottom-color: var(--header-link-hover);

}



.klinik-header.scrolled .klinik-menu > li > a,

.klinik-header.scrolled .klinik-user-icon,

.klinik-header.scrolled .klinik-cart-icon,

.klinik-header.scrolled .klinik-search-toggle {

	color: var(--color-dark-gray);

}



.klinik-header .klinik-menu .sub-menu {

	position: absolute;

	top: 100%;

	left: 0;

	z-index: 1001;

	min-width: 220px;

	margin: 0;

	padding: var(--space-sm) 0;

	list-style: none;

	background: var(--header-bg-solid);

	border: var(--border-width) solid var(--header-border);

	opacity: 0;

	visibility: hidden;

	transform: translateY(-10px);

	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;

}



.klinik-header .klinik-menu li.menu-item-has-children:hover > .sub-menu,

.klinik-header .klinik-menu li.menu-item-has-children:focus-within > .sub-menu {

	opacity: 1;

	visibility: visible;

	transform: translateY(0);

}



.klinik-header .klinik-menu .sub-menu .sub-menu {

	top: 0;

	left: 100%;

}



.klinik-header .klinik-menu .sub-menu li {

	position: relative;

	margin: 0;

}



.klinik-header .klinik-menu .sub-menu li a {

	display: block;

	padding: var(--space-xs) var(--space-md);

	color: var(--header-link);

	text-decoration: none;

	font-size: 15px;

	line-height: 1.5;

	transition: background-color 0.1s ease, color 0.1s ease;

}



.klinik-header .klinik-menu .sub-menu li a:hover {

	background: var(--color-pale-green);

	color: var(--header-link-hover);

}



.klinik-header .klinik-actions {

	display: flex;

	align-items: center;

	gap: var(--space-md);

	justify-self: end;

}



.klinik-header .klinik-user-icon,

.klinik-header .klinik-cart-icon,

.klinik-header .klinik-search-toggle {

	position: relative;

	display: inline-flex;

	align-items: center;

	justify-content: center;

	padding: var(--space-xs);

	color: var(--header-link);

	background: none;

	border: none;

	cursor: pointer;

	transition: color 0.15s ease;

	text-decoration: none;

}



.klinik-header .klinik-user-icon:hover,

.klinik-header .klinik-cart-icon:hover,

.klinik-header .klinik-search-toggle:hover {

	color: var(--header-link-hover);

}



.klinik-header .klinik-user-icon svg,

.klinik-header .klinik-cart-icon svg,

.klinik-header .klinik-search-toggle svg {

	display: block;

	pointer-events: none;

}



.klinik-header .klinik-cart-count {

	position: absolute;

	top: -4px;

	right: -4px;

	min-width: 18px;

	height: 18px;

	padding: 2px;

	display: flex;

	align-items: center;

	justify-content: center;

	border-radius: 50%;

	background: var(--color-brand-green);

	color: var(--color-white);

	font-size: 11px;

	font-weight: var(--font-weight-bold);

}



.klinik-header .klinik-mobile-toggle {

	display: none;

	justify-self: end;

	padding: 12px;

	background: transparent;

	border: none;

	cursor: pointer;

	appearance: none;

	-webkit-tap-highlight-color: transparent;

}



.klinik-header .klinik-hamburger {

	--bar-width: 24px;

	--bar-height: 2px;

	--bar-spacing: 8px;

	--bar-color: var(--header-link);

	--animation-timing: 0.4s cubic-bezier(0.68, -0.6, 0.32, 1.6);

	position: relative;

	width: var(--bar-width);

	height: var(--bar-height);

	background: var(--bar-color);

	transition: background var(--animation-timing);

}



.klinik-header .klinik-hamburger::before,

.klinik-header .klinik-hamburger::after {

	content: "";

	position: absolute;

	left: 0;

	width: 100%;

	height: 100%;

	background: var(--bar-color);

	transition: all var(--animation-timing);

}



.klinik-header .klinik-hamburger::before {

	top: calc(var(--bar-spacing) * -1);

}



.klinik-header .klinik-hamburger::after {

	top: var(--bar-spacing);

}



[aria-expanded="true"] .klinik-hamburger {

	background: transparent;

}



[aria-expanded="true"] .klinik-hamburger::before {

	top: 0;

	transform: rotate(45deg);

}



[aria-expanded="true"] .klinik-hamburger::after {

	top: 0;

	transform: rotate(-45deg);

}



.klinik-header.search-active {

	background: rgba(255, 255, 255, 0.85);

	border-bottom-color: var(--header-border);

	backdrop-filter: blur(10px);

	-webkit-backdrop-filter: blur(10px);

}



.klinik-header.search-active .klinik-logo,

.klinik-header.search-active .klinik-nav,

.klinik-header.search-active .klinik-cart-icon,

.klinik-header.search-active .klinik-search-toggle,

.klinik-header.search-active .klinik-mobile-toggle {

	visibility: hidden;

	opacity: 0;

	pointer-events: none;

	transition: opacity 0.3s ease;

}



.klinik-search-inline {

	position: absolute;

	top: 50%;

	left: var(--space-lg);

	right: 100px;

	z-index: 10;

	opacity: 0;

	pointer-events: none;

	transform: translateY(-50%);

	transition: opacity 0.3s ease;

}



.klinik-header.search-active .klinik-search-inline {

	opacity: 1;

	pointer-events: auto;

}



.klinik-search-inline form {

	display: flex;

	align-items: center;

	gap: var(--space-md);

	max-width: 600px;

	margin: 0 auto;

}



.klinik-search-inline input[type="search"] {

	flex: 1;

	padding: 12px 20px;

	font-family: var(--font-body);

	font-size: 16px;

	border: 1px solid var(--header-border);

	border-radius: 4px;

	background: var(--color-white);

	outline: none;

}



.klinik-header .klinik-search-inline button[type="submit"] {

	display: flex;

	align-items: center;

	justify-content: center;

	flex-shrink: 0;

	min-width: auto;

	padding: 8px;

	background: transparent;

	border: none;

	color: var(--color-brand-green);

	cursor: pointer;

}



.klinik-header .klinik-search-inline button[type="submit"] svg {

	display: block;

	fill: none;

	stroke: var(--color-brand-green);

}



.klinik-header .klinik-search-inline button[type="submit"]:hover svg {

	stroke: var(--color-dark-gray);

}



.klinik-search-close {

	position: absolute;

	top: 50%;

	right: var(--space-lg);

	z-index: 11;

	display: flex;

	align-items: center;

	justify-content: center;

	width: 32px;

	height: 32px;

	background: none;

	border: none;

	color: var(--color-dark-gray);

	font-size: 28px;

	line-height: 1;

	cursor: pointer;

	opacity: 0;

	pointer-events: none;

	transform: translateY(-50%);

	transition: color 0.15s ease, opacity 0.3s ease;

}



.klinik-header.search-active .klinik-search-close {

	opacity: 1;

	pointer-events: auto;

}



@media (max-width: 1024px) {

	.klinik-header.search-active .klinik-search-inline button[type="submit"] {

		display: none;

	}

}



.klinik-search-close:hover {

	color: var(--color-brand-green);

}



body.mobile-menu-open {

	overflow: hidden;

}



body.mobile-menu-open .klinik-header {

	z-index: 99999;

}



.klinik-mobile-menu {

	position: fixed;

	inset: 0;

	z-index: 99998;

	visibility: hidden;

	pointer-events: none;

}



.klinik-mobile-menu.active {

	visibility: visible;

	pointer-events: auto;

}



.klinik-mobile-menu::before {

	content: "";

	position: absolute;

	inset: 0;

	background: rgba(0, 0, 0, 0);

	backdrop-filter: blur(0px);

	-webkit-backdrop-filter: blur(0px);

	transition: background 0.3s ease, backdrop-filter 0.3s ease, -webkit-backdrop-filter 0.3s ease;

}



.klinik-mobile-menu.active::before {

	background: rgba(0, 0, 0, 0.4);

	backdrop-filter: blur(4px);

	-webkit-backdrop-filter: blur(4px);

}



.klinik-mobile-menu-inner {

	position: absolute;

	top: 0;

	right: 0;

	width: 85%;

	max-width: 380px;

	height: 100%;

	padding: 100px 0 var(--space-xl) 0;

	overflow-y: auto;

	background: var(--color-white);

	border-left: var(--border-width) solid var(--header-border);

	transform: translateX(100%);

	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);

	-webkit-overflow-scrolling: touch;

}



.klinik-mobile-menu.active .klinik-mobile-menu-inner {

	transform: translateX(0);

}



.klinik-mobile-close {

	position: absolute;

	top: var(--space-md);

	right: var(--space-md);

	z-index: 1;

	display: flex;

	align-items: center;

	justify-content: center;

	width: 44px;

	height: 44px;

	background: none;

	border: none;

	color: var(--color-dark-gray);

	cursor: pointer;

	transition: color 0.15s ease;

}



.klinik-mobile-close:hover {

	color: var(--color-brand-green);

}



.klinik-mobile-menu-list {

	margin: 0 0 0 25px;

	padding: 0 var(--space-md);

	list-style: none;

}



.klinik-mobile-menu-list > li {

	margin: 0;

	border-bottom: var(--border-width) solid var(--color-pale-green);

}



.klinik-mobile-menu-list > li:last-child {

	border-bottom: none;

}



.klinik-mobile-menu-list .menu-item-has-children {

	display: flex;

	flex-wrap: wrap;

	align-items: center;

}



.klinik-mobile-menu-list .menu-item-has-children > a {

	flex: 1;

	min-width: 0;

}



.klinik-mobile-menu-list li a {

	display: block;

	padding: var(--space-md) 0;

	color: var(--color-dark-gray);

	text-decoration: none;

	font-size: 17px;

	font-weight: var(--font-weight-medium);

	line-height: 1.4;

	transition: color 0.15s ease;

}



.klinik-mobile-menu-list li a:hover,

.klinik-mobile-menu-list li.current-menu-item > a {

	color: var(--color-brand-green);

}



.klinik-submenu-arrow {

	display: flex;

	align-items: center;

	justify-content: center;

	width: 44px;

	height: 44px;

	color: var(--color-light-gray);

	cursor: pointer;

	flex-shrink: 0;

	transition: transform 0.25s ease, color 0.15s ease;

}



.klinik-submenu-arrow:hover,

.klinik-mobile-menu-list .menu-item-has-children.expanded > .klinik-submenu-arrow {

	color: var(--color-brand-green);

}



.klinik-mobile-menu-list .menu-item-has-children.expanded > .klinik-submenu-arrow {

	transform: rotate(180deg);

}



.klinik-mobile-menu-list .sub-menu {

	display: none;

	flex-basis: 100%;

	margin: 0 0 0 var(--space-sm);

	padding: 0 0 var(--space-sm) var(--space-md);

	list-style: none;

	border-left: 2px solid var(--color-pale-green);

}



.klinik-mobile-menu-list .menu-item-has-children.expanded > .sub-menu {

	display: block;

}



.klinik-mobile-menu-list .sub-menu li a {

	padding: var(--space-xs) 0;

	font-size: 15px;

	font-weight: var(--font-weight-normal);

}



.redesign-container {

	width: min(100% - (2 * var(--space-md)), var(--container-max));

	margin: 0 auto;

}





/* ============================================

   Footer (ported from facelift-2026 reference)

   ============================================ */

.redesign-footer {

	margin-top: var(--space-xxl);

	color: var(--footer-text);

	background: var(--footer-bg);

	border-top: var(--border-width) solid var(--footer-border);

}



.redesign-footer-top {

	padding: var(--footer-padding-y) 0;

}



.redesign-footer-grid {

	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: var(--space-xl);

	align-items: start;

}



.redesign-footer-column,

.redesign-footer-bottom-column {

	min-width: 0;

}



.redesign-footer .footer-widget {

	margin-bottom: var(--space-md);

}



.redesign-footer .footer-widget:last-child {

	margin-bottom: 0;

}



.redesign-footer .footer-widget-title {

	margin: 0 0 var(--space-md) 0;

	color: var(--footer-heading);

	font-size: 12px;

	font-weight: var(--font-weight-bold);

	line-height: 1.4;

	text-transform: uppercase;

	letter-spacing: 2px;

}



.redesign-footer h1,

.redesign-footer h2,

.redesign-footer h3,

.redesign-footer h4,

.redesign-footer h5,

.redesign-footer h6,

.redesign-footer p,

.redesign-footer li {

	color: var(--footer-text);

}



.redesign-footer a,

.redesign-footer h1 a,

.redesign-footer h2 a,

.redesign-footer h3 a,

.redesign-footer h4 a,

.redesign-footer h5 a,

.redesign-footer h6 a {

	color: var(--color-brand-green);

	font-size: 16px;

	text-decoration: none;

	transition: color 0.15s ease;

}



.redesign-footer a:hover,

.redesign-footer h1 a:hover,

.redesign-footer h2 a:hover,

.redesign-footer h3 a:hover,

.redesign-footer h4 a:hover,

.redesign-footer h5 a:hover,

.redesign-footer h6 a:hover {

	color: var(--footer-text);

}



.redesign-footer .footer-widget ul {

	margin: 0;

	padding: 0;

	list-style: none;

}



.redesign-footer .footer-widget ul li {

	margin-bottom: var(--space-sm);

	line-height: 1.6;

}



.redesign-footer .footer-widget p {

	margin-bottom: var(--space-sm);

	font-size: 16px;

	line-height: 1.6;

}



.redesign-footer-bottom {

	padding: var(--space-lg) 0;

	background: var(--footer-bottom-bg);

	border-top: var(--border-width) solid var(--footer-border);

}



.redesign-footer-bottom-grid {

	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: var(--space-xl);

	align-items: start;

}



.redesign-footer-bottom .footer-bottom-widget,

.redesign-footer-bottom .footer-bottom-widget p,

.redesign-footer-bottom .footer-bottom-widget a {

	color: var(--footer-text);

	font-size: 14px;

	line-height: 1.6;

}



.redesign-footer-bottom .footer-bottom-widget p {

	margin: 0;

}



.redesign-footer-bottom .footer-bottom-widget a:hover {

	color: var(--footer-link-hover);

}



.redesign-footer-bottom .footer-bottom-widget ul {

	display: flex;

	flex-wrap: wrap;

	gap: var(--space-lg);

	margin: 0;

	padding: 0;

	list-style: none;

}



.redesign-footer-bottom .footer-bottom-widget ul li {

	margin: 0;

}



/* Fixed-header offset: push content below the fixed site header. */

.klinik-redesign-active .content-area {

	padding-top: 100px;

}



.klinik-redesign-active.admin-bar .content-area {

	padding-top: 132px;

}



/* ============================================

   RESPONSIVE DESIGN

   ============================================ */



@media (max-width: 1024px) {

	.klinik-header .klinik-nav {

		display: none;

	}



	.klinik-header .klinik-mobile-toggle {

		display: flex;

		align-items: center;

	}



	.klinik-header-container {

		display: flex;

		align-items: center;

		gap: var(--space-sm);

		padding: 20px var(--space-md);

	}



	.klinik-header.scrolled .klinik-header-container {

		padding: 14px var(--space-md);

	}



	.klinik-header .klinik-logo {

		flex: 1;

	}



	.klinik-header .klinik-actions {

		gap: var(--space-sm);

	}



	.redesign-footer-grid {

		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 32px;

	}



	.redesign-footer-bottom-grid {

		gap: 32px;

	}



}



@media (max-width: 768px) {

	.klinik-header .klinik-logo-img,

	.klinik-header .klinik-logo .custom-logo {

		max-height: 45px;

	}



	.klinik-header.scrolled .klinik-logo-img,

	.klinik-header.scrolled .klinik-logo .custom-logo {

		max-height: 40px;

	}



	.klinik-header-container {

		padding: 16px var(--space-sm);

	}



	.klinik-header.scrolled .klinik-header-container {

		padding: 12px var(--space-sm);

	}



	.klinik-search-inline {

		left: var(--space-sm);

		right: 50px;

	}



	.klinik-search-close {

		right: var(--space-sm);

	}



	.klinik-mobile-menu-inner {

		width: 100%;

		max-width: 100%;

		padding-left: var(--space-md);

		padding-right: var(--space-md);

		border-left: none;

	}



	.redesign-footer-grid,

	.redesign-footer-bottom-grid {

		grid-template-columns: 1fr;

	}



	.redesign-footer-top {

		padding: 48px 0;

	}



	.redesign-footer-bottom .footer-bottom-widget ul {

		justify-content: center;

	}





	.klinik-redesign-active .content-area {

		padding-top: 80px;

	}



	.klinik-redesign-active.admin-bar .content-area {

		padding-top: 126px;

	}

}



@media (max-width: 480px) {

	.klinik-header .klinik-logo-img,

	.klinik-header .klinik-logo .custom-logo {

		max-height: 38px;

	}



	.klinik-header.scrolled .klinik-logo-img,

	.klinik-header.scrolled .klinik-logo .custom-logo {

		max-height: 34px;

	}



	.klinik-header-container {

		padding: 12px var(--space-xs);

	}



	.klinik-header.scrolled .klinik-header-container {

		padding: 10px var(--space-xs);

	}



	.klinik-header .klinik-user-icon svg,

	.klinik-header .klinik-cart-icon svg,

	.klinik-header .klinik-search-toggle svg {

		width: 20px;

		height: 20px;

	}



	.klinik-header .klinik-hamburger {

		width: 22px;

		--bar-width: 22px;

	}



	.redesign-footer {

		margin-top: 40px;

	}



	.redesign-footer-top {

		padding: 32px 0;

	}



	.klinik-redesign-active .content-area {

		padding-top: 70px;

	}



	.klinik-redesign-active.admin-bar .content-area {

		padding-top: 116px;

	}

}



/* ============================================

   Latest Posts block — grid fix

   (review/live-run-review flagged "relaterede indlæg" rendering as a

   single broken column instead of a grid on blog single posts)

   ============================================ */

ul.wp-block-latest-posts {

	display: grid;

	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

	gap: var(--space-md);

	list-style: none;

	margin: 0;

	padding: 0;

}

.wp-block-latest-posts__post-title {

	display: block;

	font-weight: var(--font-weight-bold);

	margin-top: var(--space-xs);

	text-decoration: none;

}

.wp-block-latest-posts__featured-image img {

	border-radius: var(--radius);

	width: 100%;

	height: auto;

}



/* ============================================

   Read-more expandable text (native <details>/<summary>

   replacement for the retired [read_more_p] shortcode)

   ============================================ */

.klinik-read-more summary {

	cursor: pointer;

	color: var(--color-brand-green);

	font-weight: var(--font-weight-medium);

	margin-top: var(--space-xs);

}

.klinik-read-more[open] summary { margin-bottom: var(--space-xs); }



/* ============================================

   FAQ sticky popup — restyled to brand tokens

   (previously used unrelated ad hoc grays)

   ============================================ */

#faq-sticky-button {

	position: fixed;

	bottom: 20px;

	right: 24px;

	background: var(--color-brand-green);

	color: #ffffff;

	padding: 10px 20px;

	border-radius: var(--radius);

	cursor: pointer;

	z-index: 10000;

	font-weight: var(--font-weight-medium);

}

#faq-popup {

	display: none;

	position: fixed;

	bottom: 80px;

	right: 20px;

	background: var(--color-white);

	padding: var(--space-sm);

	width: 330px;

	z-index: 9999;

	border-radius: var(--radius);

	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);

	transition: top 0.3s ease, bottom 0.3s ease;

}

#faq-popup.active { display: block; }

#close-ctn {

	background: var(--color-light-gray);

	padding: 0.5em;

	display: flex;

	justify-content: space-between;

	border-radius: var(--radius);

}

#faq-close {

	background: var(--color-dark-gray);

	color: #ffffff;

	padding: 1px 15px;

	border-radius: 20px;

	border: none;

	cursor: pointer;

}

.faq-content { max-height: 300px; overflow-y: auto; }

.theme-toggle {

	background: var(--color-pale-green);

	border: 1px solid var(--color-light-gray);

	padding: 12px 15px;

	margin: 5px 0;

	cursor: pointer;

	border-radius: var(--radius);

	font-weight: var(--font-weight-medium);

}

.theme-toggle::after { content: "+"; float: right; }

.theme-toggle.expanded::after { content: "-"; }

.hidden { display: none; }

.question {

	padding: 10px 15px;

	border-left: 3px solid var(--color-brand-green);

	margin: 5px 0 30px;

	background: var(--color-pale-green);

}

.question strong { display: block; margin-bottom: 5px; }



/* ============================================

   Klinik page-pattern components

   ============================================ */

.klinik-hero-card { min-height: 320px; border-radius: var(--radius); }

.klinik-cta-band {

	background: var(--color-brand-green);

	color: #ffffff;

	border-radius: var(--radius);

	padding: var(--space-lg);

}

.klinik-cta-band a.wp-block-button__link {

	background-color: #ffffff !important;

	color: var(--color-brand-green) !important;

}


/* ============================================================
   RESTORED RULES — merged from the earlier redesign and the old
   site's Customizer CSS. These were lost when the live child
   theme was rebuilt as a design-tokens sheet: 131 selectors that
   the content uses were left unstyled. Purely additive - nothing
   above this block was changed. Generated by
   phase3-media/scripts/merge_lost_css.py
   ============================================================ */


/* ---- 1. redesign component + typography layer ---- */

html {
	box-sizing: border-box;
}

.content-area .inside-article {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--space-md);
	padding-right: var(--space-md);
}

.gbp-section__inner {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
}

.entry-content .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.entry-content .alignwide {
	margin-left: calc(25% - 25vw);
	margin-right: calc(25% - 25vw);
	max-width: 100vw;
	width: auto;
}

.entry-content .alignfull > .wp-block-column {
	padding-left: var(--space-md);
	padding-right: var(--space-md);
}

.wp-block-column .wp-block-columns.alignfull,
.wp-block-column .wp-block-columns[style*="background-color"] {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.entry-content > .wp-block-columns[style*="background-color"] {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	box-sizing: border-box;
}

.entry-content .wp-block-buttons {
	justify-content: center;
}

.entry-content .wp-block-column > .wp-block-image,
.entry-content .wp-block-column > p > .wp-block-image {
	text-align: center;
}

.entry-content .wp-block-image.aligncenter,
.entry-content .wp-block-image.aligncenter img {
	margin-left: auto;
	margin-right: auto;
}

.entry-content .wp-block-column {
	text-align: inherit;
}

.entry-content > .wp-block-columns > .wp-block-column:only-child {
	margin-left: auto;
	margin-right: auto;
}

.entry-content .wp-block-columns .wp-block-column > .wp-block-image img {
	max-width: 100%;
	width: auto;
	height: auto;
}

.entry-content .wp-block-columns .wp-block-column[style*="flex-basis:100%"] > .wp-block-image img {
	width: auto;
	max-width: 100%;
}

.entry-content .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
}

.entry-content .wp-block-column {
	box-sizing: border-box;
}

body.klinik-redesign-active {
	font-family: var(--font-body);
	font-weight: var(--font-weight-normal);
	color: var(--color-dark-gray);
}

.entry-content a {
	color: var(--color-brand-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color 0.15s ease;
}

.entry-content a:hover {
	color: var(--color-dark-gray);
}

.entry-content h1 a,
.entry-content h2 a,
.entry-content h3 a,
.entry-content h4 a,
.entry-content h5 a,
.entry-content h6 a {
	color: var(--color-brand-green);
}

.entry-content h1 a:hover,
.entry-content h2 a:hover,
.entry-content h3 a:hover,
.entry-content h4 a:hover,
.entry-content h5 a:hover,
.entry-content h6 a:hover {
	color: var(--color-dark-gray);
}

.wp-block-latest-posts__post-title:hover {
	color: var(--color-dark-gray);
}

.entry-content p {
	margin-bottom: var(--space-sm);
}

.entry-content p:last-child {
	margin-bottom: 0;
}

.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child {
	margin-top: 0;
}

.entry-content ul,
.entry-content ol {
	margin-bottom: var(--space-sm);
	padding-left: var(--space-md);
}

.entry-content li {
	margin-bottom: var(--space-xs);
	line-height: 1.6;
}

.entry-content li:last-child {
	margin-bottom: 0;
}

.entry-content blockquote {
	margin: var(--space-lg) 0;
	padding: var(--space-md) var(--space-lg);
	border-left: var(--border-width-thick) solid var(--color-brand-green);
	background: var(--color-pale-green);
	font-style: italic;
}

.entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.entry-content hr,
.entry-content .wp-block-separator {
	margin: var(--space-lg) 0;
	border: none;
	border-top: var(--border-width) solid var(--color-light-gray);
}

.entry-content .wp-block-spacer {
	max-height: 60px !important;
}

.entry-content img {
	max-width: 100%;
	height: auto;
}

.entry-content figure {
	margin: 0 0 var(--space-sm) 0;
}

.entry-content figcaption {
	margin-top: var(--space-xs);
	color: var(--color-light-gray);
	font-size: 14px;
	text-align: center;
}

.entry-content .wp-block-button__link {
	padding: var(--space-sm) var(--space-lg);
	color: var(--color-white);
	background: var(--color-brand-green);
	border: none;
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.entry-content .wp-block-button__link:hover {
	color: var(--color-white);
	background: var(--color-dark-gray);
}

.entry-content .wp-block-group {
	margin-bottom: var(--space-lg);
}

.entry-content .wp-block-cover {
	margin-bottom: var(--space-md);
	min-height: 250px;
}

.entry-content .wp-block-cover .wp-block-cover__inner-container {
	text-align: center;
}

.entry-content table {
	width: 100%;
	margin-bottom: var(--space-lg);
	border-collapse: collapse;
}

.entry-content th,
.entry-content td {
	padding: var(--space-sm);
	border: var(--border-width) solid var(--color-light-gray);
	text-align: left;
}

.entry-content th {
	background: var(--color-pale-green);
	font-weight: var(--font-weight-bold);
}

.entry-content .wp-block-embed {
	margin-bottom: var(--space-lg);
}

.entry-content .wp-block-embed__wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.entry-content .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.klinik-redesign-active .button,
.klinik-redesign-active .btn,
.klinik-redesign-active input[type="submit"],
.klinik-redesign-active button[type="submit"] {
	padding: var(--space-sm) var(--space-lg);
	color: var(--color-white);
	background: var(--color-brand-green);
	border: none;
	box-shadow: none;
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	text-shadow: none;
	transition: background-color 0.15s ease;
}

.klinik-redesign-active .button:hover,
.klinik-redesign-active .btn:hover,
.klinik-redesign-active input[type="submit"]:hover,
.klinik-redesign-active button[type="submit"]:hover {
	color: var(--color-white);
	background: var(--color-dark-gray);
}

.wp-block-latest-posts__list.is-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-md);
	padding: 0;
	list-style: none;
}

.wp-block-latest-posts__list.is-grid li {
	margin: 0;
	width: auto;
	background: #ffffff;
	border-radius: 12px;
	padding: 0;
	border: 1px solid rgba(0, 0, 0, 0.04);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	transition: all 0.6s var(--premium-ease, ease);
	overflow: hidden;
}

.wp-block-latest-posts__list.is-grid li:hover {
	transform: translateY(-6px) scale(1.01);
	box-shadow: 0 22px 40px rgba(0, 0, 0, 0.06), 0 4px 8px rgba(0, 0, 0, 0.03);
}

.wp-block-latest-posts__post-excerpt {
	padding: 0 var(--space-md) var(--space-md);
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-dark-gray);
}

a.wp-block-latest-posts__post-title {
	display: block;
	padding: var(--space-md) var(--space-md) var(--space-xs);
	font-weight: var(--font-weight-bold, 700);
	line-height: 1.3;
}

.wp-block-latest-posts__featured-image {
	cursor: pointer;
}

.entry-content blockquote,
.entry-content .wp-block-quote {
	border: 1px solid var(--color-light-gray);
	border-left: var(--border-width-thick) solid var(--color-brand-green);
	border-radius: 8px;
	padding: var(--space-lg);
	margin: var(--space-lg) 0;
	background: var(--color-pale-green);
	font-style: italic;
}

.entry-content blockquote p:last-child,
.entry-content .wp-block-quote p:last-child {
	margin-bottom: 0;
}

.page-id-9576 .wp-block-columns .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 8px;
}

.page-id-9533 .wp-block-image img {
	transition: opacity 0.2s ease, transform 0.2s ease;
	opacity: 0.7;
}

.page-id-9533 .wp-block-image img:hover {
	opacity: 1;
	transform: scale(1.05);
}

#consent-cookie-icon {
	background: var(--color-white) !important;
	border: var(--border-width) solid var(--header-border) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

#consent-cookie-icon:hover {
	background: var(--color-pale-green) !important;
	border-color: var(--color-brand-green) !important;
}

@media (max-width: 1024px) {
  .entry-content .wp-block-columns {
		flex-direction: column;
	}
  .entry-content .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (max-width: 768px) {
  .wp-block-latest-posts__list.is-grid {
		grid-template-columns: 1fr;
	}
}

.formcraft-css .fc-form,
.formcraft-css .prev-next {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
}

.formcraft-css .form-cover,
.formcraft-css {
	max-width: 100%;
}

.formcraft-css.align-center {
	margin-left: auto;
	margin-right: auto;
}

.entry-content .formcraft-css {
	margin-top: 1.5em;
}

.entry-content .wp-block-column {
	overflow: hidden;
	max-width: 100%;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding: 2rem 2.5rem;
	gap: 2.5rem;
	align-items: center;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] .wp-block-image img {
	border-radius: 50%;
	width: 150px;
	min-width: 150px;
	height: 150px;
	object-fit: cover;
	object-position: top;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] > .wp-block-column:first-child {
	flex-basis: 180px !important;
	flex-shrink: 0;
	flex-grow: 0;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] h2 a {
	text-decoration: none;
	color: #333;
	font-weight: 400;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] h6 {
	margin-bottom: 0.25em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.75rem;
	color: #666;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] h4 {
	margin-top: 0;
	color: #555;
}

.entry-content > .wp-block-columns[style*="border-radius"][style*="background-color"] p {
	line-height: 1.7;
	color: #444;
}

/* Button skin.
   NOTE: the bare `.gbp-button--primary` selector was removed from both lists. It also
   matches the wrapping <div class="wp-block-button gbp-button--primary">, so the wrapper
   got its own green + padding ON TOP of the inner link's - which showed as two different
   greens (#9bad61 on the div, var(--color-brand-green) on the link) and an oversized
   button. Only real button elements are styled now, in one green, at the base padding. */
a.gbp-button--primary,
.entry-content a.gbp-button--primary,
.wp-block-button.gbp-button--primary .wp-block-button__link {
	display: inline-block;
	padding: 0.75em 1.6em;
	background-color: var(--color-brand-green);
	color: #ffffff !important;
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	text-decoration: none !important;
	border: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

a.gbp-button--primary:hover,
.entry-content a.gbp-button--primary:hover,
.wp-block-button.gbp-button--primary .wp-block-button__link:hover {
	background-color: var(--color-brand-green-dark);
	color: #ffffff !important;
}

/* Headings inside an accordion should read like the body text. The first accordion on
   the Firmamassage / Sundhedstjek pages uses h3 for its sub-points, while every other
   accordion uses plain paragraphs - so expanding that one looked nothing like the rest. */
.entry-content .wp-block-details h1,
.entry-content .wp-block-details h2,
.entry-content .wp-block-details h3,
.entry-content .wp-block-details h4,
.entry-content .wp-block-details h5,
.entry-content .wp-block-details h6 {
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.6;
	margin: 1.4em 0 0.4em;
}

.klinik-blur-reveal.is-visible {
	animation: opticalBlurReveal 1.4s var(--premium-ease) forwards;
}

@keyframes opticalBlurReveal {
	0% {
		opacity: 0;
		transform: translateY(20px) scale(0.98);
		filter: blur(10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
		filter: blur(0);
	}
}

.klinik-image-wipe.is-visible {
	animation: clipPathWipe 1.6s var(--premium-ease) forwards;
}

@keyframes clipPathWipe {
	0% {
		clip-path: inset(100% 0 0 0);
		transform: scale(1.1);
	}
	100% {
		clip-path: inset(0 0 0 0);
		transform: scale(1);
	}
}

.klinik-delay-1 { animation-delay: 0.15s; }

.klinik-delay-2 { animation-delay: 0.3s; }

.klinik-delay-3 { animation-delay: 0.45s; }

.klinik-premium-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 32px;
	border: 1px solid rgba(0, 0, 0, 0.04);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	transition: all 0.6s var(--premium-ease);
}

.klinik-premium-card:hover {
	transform: translateY(-6px) scale(1.01);
	box-shadow:
		0 22px 40px rgba(0, 0, 0, 0.06),
		0 4px 8px rgba(0, 0, 0, 0.03);
}

.klinik-card {
	background-color: #ffffff;
	border-radius: 12px;
	padding: 30px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	transition: all 0.4s ease-in-out;
}

.klinik-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.klinik-img-zoom {
	overflow: hidden;
	border-radius: 8px;
}

.klinik-img-zoom img {
	transition: transform 0.6s ease;
}

.klinik-img-zoom:hover img {
	transform: scale(1.04);
}

@keyframes klinikShimmer {
	0% { background-position: -1000px 0; }
	100% { background-position: 1000px 0; }
}

.klinik-video-wrapper .wistia_responsive_padding {
	background-color: #cdd6d2;
	background-image: linear-gradient(to right, #cdd6d2 0%, #e8ecea 20%, #cdd6d2 40%, #cdd6d2 100%);
	background-size: 1000px 100%;
	animation: klinikShimmer 2s infinite linear forwards;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
}


/* ---- 2. old-site Customizer rules ---- */

.comments-area {
	display: none;
}

.page-header-image {
	display: none;
}

.page .inside-article {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.page.separate-containers .site-main {
	margin-top: 0 !important;
}

.wp-block-columns {
	margin-bottom: 0;
}

@media (max-width: 767px) {
  .hide-on-mobile { display: none !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hide-on-tablet { display: none !important; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hide-on-laptop { display: none !important; }
}

@media (min-width: 1200px) {
  .hide-on-desktop { display: none !important; }
}

.underline {
	text-decoration-line: underline;
	text-decoration-color: green;
	font-weight: bolder;
}

.full-width-section {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.pt10 { padding-top: 10%; }

.pb6em { padding-bottom: 6em; }

.pb8em { padding-bottom: 8em; }

.display-none { display: none; }

.single-post .entry-meta,
.archive .entry-meta,
.blog .entry-meta {
	display: none !important;
}

.single-post .featured-image {
	display: none !important;
}

.sidebar .widget a:hover {
	color: #b64926 !important;
}

.sidebar .widget_product_categories li.current-cat > a {
	color: #f0f !important;
}

.woocommerce ul.products li.product .button {
	display: none !important;
}

@media only screen and (max-width: 480px) {
  .woocommerce-cart tr th {
		font-size: 10px !important;
	}
  .woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item td {
		font-size: 12px;
	}
}


/* ---- 3. recovered full-bleed-bg rule ---- */

/* Restored from facelift-2026 commit a63b13c (removed in a466f54, never carried
   into the live child theme). Required by "full-bleed-bg" sections in page content. */
.gbp-section.full-width-section,
.gbp-section.full-bleed-bg {
	max-width: 100vw;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}


/* ---- 4. box-sizing chain completion ---- */

/* Completes the box-sizing chain: html{border-box} + these inherit. Live had none. */
.klinik-header *,
.klinik-header *::before,
.klinik-header *::after,
.klinik-mobile-menu *,
.klinik-mobile-menu *::before,
.klinik-mobile-menu *::after,
.redesign-footer *,
.redesign-footer *::before,
.redesign-footer *::after {
	box-sizing: inherit;
}


/* ---- 5. custom-property gap fill ---- */

:root {
/* Gap-fill: used by restored rules but defined nowhere in the live sheet. */
	--premium-ease: cubic-bezier(0.16, 1, 0.3, 1);
}


/* ---- 6. fail-safe reveal (replaces the redesign's hidden-by-default rules) ---- */

/* Fail-safe reveal. The hidden state lives in the keyframes only, so these elements are
   visible even if .is-visible is never added. The entrance animation still plays. */
.klinik-blur-reveal { opacity: 1; transform: none; filter: none; }
.klinik-image-wipe { clip-path: none; transform: none; }


/* ============================================
   Fixups from the 2026-09-18 issue review
   ============================================ */

/* 1. Full-bleed bands sat flush against the section below them: the front-page hero and the
   /erhverv band both computed a 0 bottom margin, while the green band uses 6em. Only the
   missing bottom is filled in - the tops are declared by the blocks themselves. */
.gbp-section.full-width-section {
	margin-bottom: 6em;
}

/* 2. "Indlaegget er skrevet af" author box (12 posts): a narrow grey (#e8e8e8) rounded box,
   out of step with the full-bleed bands used everywhere else on the site, and the left
   column that was meant to hold a portrait was empty. */
.klinik-author-box {
	background-color: var(--color-pale-green) !important;
	border-radius: 15px !important;
	/* A centred callout inside the column, not a full-bleed band. The design sheet's own
	   800px cap for `.wp-block-columns[border-radius][background-color]` is the right width,
	   so this matches the other callouts on the site rather than inventing a new measure.
	   !important is required: that sheet's rule is a (0,4,0) selector. */
	max-width: 800px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 6em;
	margin-bottom: 6em;
	padding: var(--space-lg) var(--space-xl);
}

.klinik-author-box .klinik-author-photo img {
	border-radius: 16px;
	width: 100%;
	height: auto;
}

/* 3. Front-page trust strip: 18 logos of mixed colours and aspect ratios, so normalise the
   cell and cap the height to keep them on one baseline. */
.klinik-logo-cell {
	display: flex;
	align-items: center;
	justify-content: center;
}

.klinik-logo-cell img {
	max-height: 56px;
	width: auto;
	object-fit: contain;
}

/* 4. Long headings broke with a single orphaned word on the last line. */
.entry-content h1,
.entry-content h2,
.entry-content h3 {
	text-wrap: balance;
}

/* [read_more_p] toggle - sits inline at the end of the sentence it belongs to. */
.klinik-read-more-toggle {
	color: var(--color-brand-green);
	font-weight: var(--font-weight-medium);
	cursor: pointer;
	text-decoration: underline;
	white-space: nowrap;
}

.klinik-read-more-toggle:hover {
	color: var(--color-brand-green-dark);
}

.klinik-read-more-content {
	margin-top: var(--space-sm);
}

/* Equal-height team portraits on Om Klinik (2026-09-25).
   Source images differ (2:3 portraits vs a square photo); these render as identical
   boxes so the row lines up. object-fit crops at display time, leaving the original intact. */
.klinik-portrait img {
  width: 100%;
  max-width: 300px;
  aspect-ratio: 2 / 3;
  height: auto;
  object-fit: cover;
  object-position: center 15%;
  border-radius: 16px;
}
@media (max-width: 600px) {
  .klinik-portrait img { max-width: 220px; }
}

/* Equal-height team portraits on Om Klinik (2026-09-25, tightened).
   The columns differ in width (35% vs 50%), so without a hard cap the portraits render at
   different heights. max-width is forced because an existing theme rule sets a width.
   object-fit crops at display time, leaving the source file untouched. */
.klinik-portrait img {
  width: 100% !important;
  max-width: 340px !important;
  aspect-ratio: 2 / 3 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center 15%;
  border-radius: 16px;
}
@media (max-width: 600px) {
  .klinik-portrait img { max-width: 220px !important; }
}
