.klikz-button,
.klikz-cta {
	align-items: center;
	border-radius: var(--klikz-radius-control);
	display: inline-flex;
	font-family: var(--klikz-font-heading);
	font-size: 1rem;
	font-weight: 750;
	gap: 0.45em;
	line-height: 1.1;
	min-height: 2.75rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.klikz-button {
	background: var(--klikz-text);
	border: 1px solid var(--klikz-text);
	color: var(--klikz-white);
	padding: 0.85rem 1.2rem;
}

.klikz-button:hover,
.klikz-button:focus {
	background: var(--klikz-green);
	border-color: var(--klikz-green);
	color: var(--klikz-text);
	transform: translateY(-1px);
}

.klikz-button--secondary {
	background: var(--klikz-white);
	border-color: var(--klikz-border);
	color: var(--klikz-text);
}

.klikz-cta {
	color: var(--klikz-text);
	padding: 0.45rem 0;
}

.klikz-cta::before,
.klikz-cta-mark {
	background: var(--klikz-chevron-asset) center / contain no-repeat;
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	height: 1.35em;
	margin-right: 0.15em;
	width: 0.9em;
}

.klikz-cta::before {
	transform: translateY(0.04em);
}

.klikz-cta:hover,
.klikz-cta:focus {
	color: var(--klikz-green);
}

.klikz-card,
.klikz-topic-card,
.klikz-article-card,
.klikz-contact-card {
	background: var(--klikz-white);
	border: 1px solid color-mix(in srgb, var(--klikz-border) 70%, transparent);
	border-radius: var(--klikz-radius-card);
	box-shadow: var(--klikz-shadow-subtle);
	color: var(--klikz-text);
	overflow: hidden;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.klikz-card,
.klikz-topic-card,
.klikz-article-card,
.klikz-contact-card {
	padding: clamp(1.25rem, 3vw, 2rem);
}

.klikz-card:hover,
.klikz-topic-card:hover,
.klikz-article-card:hover,
.klikz-contact-card:hover {
	border-color: color-mix(in srgb, var(--klikz-green) 45%, var(--klikz-border));
	box-shadow: var(--klikz-shadow-soft);
	transform: translateY(-2px);
}

/*
 * Klikz Chevron v1.0
 * Secondary brand mark only. The full Klikz logo remains the primary brand mark.
 */
.klikz-chevron {
	background: var(--klikz-chevron-asset) center / contain no-repeat;
	display: inline-block;
	height: 1em;
	width: 1em;
}

.klikz-chevron--watermark {
	opacity: var(--klikz-chevron-watermark-opacity);
	pointer-events: none;
}

.klikz-section-marker::before {
	color: var(--klikz-chevron);
	content: "<";
	display: inline-block;
	font-family: var(--klikz-font-heading);
	font-size: 1.35em;
	font-weight: 900;
	line-height: 1;
	margin-right: 0.35em;
	transform: translateY(-0.03em);
}

.klikz-topic-card {
	background: var(--klikz-topic-color, var(--klikz-green-soft));
	min-height: 12rem;
}

.klikz-topic-card--link {
	display: block;
	text-decoration: none;
}

.klikz-topic-card--qa-test {
	--klikz-topic-color: var(--klikz-topic-qa-test);
}

.klikz-topic-card--security {
	--klikz-topic-color: var(--klikz-topic-security);
}

.klikz-topic-card--processer {
	--klikz-topic-color: var(--klikz-topic-processer);
}

.klikz-topic-card--ledelse {
	--klikz-topic-color: var(--klikz-topic-ledelse);
}

.klikz-topic-card--ai-teknologi {
	--klikz-topic-color: var(--klikz-topic-ai-teknologi);
}

.klikz-topic-card--compliance {
	--klikz-topic-color: var(--klikz-topic-compliance);
}

.klikz-topic-card__title,
.klikz-article-card__title,
.klikz-contact-card__title {
	font-family: var(--klikz-font-heading);
	font-size: 1.35rem;
	font-weight: 750;
	line-height: 1.2;
	margin: 0 0 0.6rem;
}

.klikz-topic-card__text,
.klikz-article-card__excerpt,
.klikz-contact-card__text {
	color: var(--klikz-muted);
	margin: 0;
}

.klikz-article-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.klikz-article-card__meta {
	color: var(--klikz-muted);
	font-size: 0.875rem;
	margin: 0;
}

.klikz-article-card__meta-row {
	align-items: center;
	color: var(--klikz-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8125rem;
	gap: 0.45rem 0.75rem;
}

.klikz-article-card__topic {
	color: var(--klikz-text);
	font-family: var(--klikz-font-heading);
	font-weight: 800;
	text-decoration: none;
}

.klikz-topic-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.klikz-filter-pill {
	align-items: center;
	background: var(--klikz-white);
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-control);
	color: var(--klikz-text);
	display: inline-flex;
	font-family: var(--klikz-font-heading);
	font-size: 0.875rem;
	font-weight: 750;
	min-height: 2.5rem;
	padding: 0.55rem 0.9rem;
	text-decoration: none;
}

.klikz-filter-pill:hover,
.klikz-filter-pill:focus,
.klikz-filter-pill.is-active {
	background: var(--klikz-green-soft);
	border-color: var(--klikz-green);
	color: var(--klikz-text);
}

.klikz-article-card__footer {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	margin-top: auto;
}

.klikz-contact-card {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.klikz-tag,
.klikz-pill {
	align-items: center;
	background: var(--klikz-green-soft);
	border: 1px solid color-mix(in srgb, var(--klikz-green) 18%, transparent);
	border-radius: var(--klikz-radius-control);
	color: var(--klikz-text);
	display: inline-flex;
	font-family: var(--klikz-font-heading);
	font-size: 0.875rem;
	font-weight: 700;
	gap: 0.35rem;
	line-height: 1;
	padding: 0.55rem 0.8rem;
	white-space: nowrap;
}

.klikz-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.klikz-social-link {
	align-items: center;
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-control);
	color: var(--klikz-text);
	display: inline-flex;
	font-family: var(--klikz-font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	gap: 0.45rem;
	justify-content: center;
	line-height: 1;
	min-height: 2.5rem;
	min-width: 2.5rem;
	padding: 0.65rem 0.8rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.klikz-social-link:hover,
.klikz-social-link:focus {
	background: var(--klikz-green-soft);
	border-color: var(--klikz-green);
	color: var(--klikz-text);
}

.klikz-social-link__icon {
	display: inline-flex;
	height: 1.1rem;
	width: 1.1rem;
}

.klikz-social-list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.klikz-footer-icon-link {
	align-items: center;
	color: var(--klikz-text);
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	min-height: 5.5rem;
	padding: 0.75rem;
	text-decoration: none;
	width: 5.5rem;
}

.klikz-footer-icon-link svg {
	fill: none;
	height: 3rem;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: color 200ms ease;
	width: 3rem;
}

.klikz-footer-icon__ring {
	stroke: currentColor;
	stroke-width: 1.8;
}

.klikz-footer-icon__brand {
	stroke: currentColor;
	stroke-width: 3.6;
}

.klikz-footer-icon__brand--facebook {
	stroke-width: 3.8;
}

.klikz-footer-icon__dot {
	fill: currentColor;
	stroke: none;
}

.klikz-footer-icon__mail {
	stroke: currentColor;
	stroke-width: 2.7;
}

.klikz-footer-icon-link:hover,
.klikz-footer-icon-link:focus {
	color: var(--klikz-green);
}

.klikz-logo-link,
.klikz-site-title {
	align-items: center;
	color: var(--klikz-text);
	display: inline-flex;
	font-family: var(--klikz-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.klikz-logo {
	display: block;
	height: auto;
	max-height: none;
	width: clamp(8.75rem, 42vw, 10rem);
}

.klikz-site-footer .klikz-logo {
	max-height: none;
	width: clamp(8.75rem, 40vw, 10rem);
}

.klikz-nav-list,
.klikz-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.klikz-nav-list {
	align-items: center;
	display: flex;
	gap: clamp(1rem, 2vw, 1.75rem);
}

.klikz-nav-list a,
.klikz-footer-list a {
	color: var(--klikz-text);
	font-family: var(--klikz-font-heading);
	font-weight: 700;
	text-decoration: none;
}

.klikz-nav-list a:hover,
.klikz-nav-list a:focus,
.klikz-footer-list a:hover,
.klikz-footer-list a:focus {
	color: var(--klikz-green);
}

.klikz-mobile-menu__toggle {
	align-items: center;
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-control);
	color: var(--klikz-text);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--klikz-font-heading);
	font-size: 0.95rem;
	font-weight: 750;
	gap: 0.45rem;
	line-height: 1;
	list-style: none;
	min-height: 2.5rem;
	padding: 0.65rem 0.9rem;
}

.klikz-mobile-menu__toggle::before {
	color: var(--klikz-green);
	content: "<";
	font-weight: 850;
}

.klikz-mobile-menu__toggle::-webkit-details-marker {
	display: none;
}

.klikz-mobile-menu__panel {
	background: var(--klikz-white);
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-card);
	box-shadow: var(--klikz-shadow-soft);
	display: grid;
	gap: var(--klikz-space-md);
	margin-top: var(--klikz-space-sm);
	min-width: min(20rem, calc(100vw - 2rem));
	padding: var(--klikz-space-md);
	position: absolute;
	right: 1rem;
	top: 100%;
	z-index: 20;
}

.klikz-nav-list--mobile {
	align-items: stretch;
	flex-direction: column;
	gap: 0.85rem;
}

.klikz-footer-heading {
	font-size: 1rem;
	margin-bottom: 1rem;
}

.klikz-footer-list {
	display: grid;
	gap: 0.75rem;
}

.klikz-eyebrow {
	color: var(--klikz-green);
	font-family: var(--klikz-font-heading);
	font-size: 0.875rem;
	font-weight: 850;
	letter-spacing: 0;
	margin: 0;
	text-transform: uppercase;
}

.klikz-lead {
	color: var(--klikz-muted);
	font-size: clamp(1.125rem, 2vw, 1.35rem);
	line-height: 1.55;
	margin: 0;
}

.klikz-section-heading {
	max-width: var(--klikz-readable);
}

.klikz-card__title {
	font-family: var(--klikz-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 0.75rem;
}

.klikz-principles {
	background: var(--klikz-white);
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-card);
	box-shadow: var(--klikz-shadow-soft);
	display: grid;
	gap: 1px;
	grid-template-columns: 1fr;
	overflow: hidden;
}

.klikz-principle-card {
	background: linear-gradient(180deg, var(--klikz-white) 0%, var(--klikz-green-soft) 180%);
	padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 4vw, 3rem);
}

.klikz-principle-card .klikz-card__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	margin-bottom: 1rem;
}

.klikz-principle-card p {
	color: var(--klikz-muted);
	margin: 0;
	max-width: 28rem;
}

.klikz-hero-media {
	align-items: center;
	display: flex;
	justify-content: center;
}

.klikz-hero-media__image,
.klikz-hero-media__fallback {
	aspect-ratio: 4 / 3;
	border-radius: var(--klikz-radius-card);
	box-shadow: var(--klikz-shadow-soft);
	width: min(100%, 38rem);
}

.klikz-hero-media__image {
	display: block;
	height: auto;
	object-fit: cover;
}

.klikz-hero-media__fallback {
	align-items: center;
	background: var(--klikz-surface);
	border: 1px solid var(--klikz-border);
	color: var(--klikz-muted);
	display: flex;
	font-family: var(--klikz-font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	justify-content: center;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	text-align: center;
}

.klikz-hero-media__fallback p {
	margin: 0;
}

.klikz-notebook {
	filter: drop-shadow(0 1.25rem 1.5rem rgb(31 31 31 / 12%));
	max-width: 35rem;
	padding: 1.25rem 0 0 1.25rem;
	position: relative;
	transform: rotate(1.5deg);
	width: 100%;
}

.klikz-notebook__binding {
	background: repeating-linear-gradient(90deg, var(--klikz-text) 0 0.55rem, transparent 0.55rem 1.15rem);
	height: 1.4rem;
	left: 2.25rem;
	position: absolute;
	right: 1rem;
	top: 0.7rem;
	z-index: 2;
}

.klikz-notebook__page {
	background: repeating-linear-gradient(180deg, #fffefb 0 2.15rem, #dfe7dc 2.15rem 2.2rem);
	border: 1px solid var(--klikz-border);
	border-radius: 0.6rem 1.4rem 1.4rem 0.6rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(22rem, 44vw, 30rem);
	padding: clamp(2.5rem, 7vw, 4.5rem);
	position: relative;
}

.klikz-notebook__mark {
	background: var(--klikz-chevron-asset) center / contain no-repeat;
	height: 4rem;
	op: 2.6rem;
	position: absolute;
	right: 2.5rem;
	transform: rotate(-8deg);
	width: 2.6rem;
}

.klikz-notebook__title {
	color: var(--klikz-text);
	font-family: var(--klikz-font-heading);
	font-size: clamp(1.55rem, 5vw, 2.6rem);
	font-weight: 850;
	letter-spacing: 0.04em;
	margin-bottom: 1.4rem;
}

.klikz-notebook__words {
	display: grid;
	gap: 0.55rem 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.klikz-notebook__words li {
	color: var(--klikz-muted);
	font-family: var(--klikz-font-heading);
	font-size: clamp(0.75rem, 2vw, 0.95rem);
	font-weight: 750;
	text-transform: uppercase;
}

.klikz-competency-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	overflow: hidden;
	padding: 0;
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-card);
	background: var(--klikz-border);
}

.klikz-competency-grid li {
	background: var(--klikz-white);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.klikz-competency-grid strong {
	font-family: var(--klikz-font-heading);
	font-size: 1.15rem;
}

.klikz-competency-grid span {
	color: var(--klikz-muted);
}

.klikz-hero-media--home,
.klikz-hero-media--articles,
.klikz-hero-media--about,
.klikz-hero-media--contact {
	--klikz-hero-media-radius: var(--klikz-radius-card);
}

.klikz-empty-state {
	background: var(--klikz-green-soft);
	border: 1px solid color-mix(in srgb, var(--klikz-green) 28%, transparent);
	border-radius: var(--klikz-radius-card);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	grid-column: 1 / -1;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

@media (min-width: 900px) {
	.klikz-principles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.klikz-competency-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Shared destination and preference components. */
.klikz-destination-card {
	align-self: start;
	background: var(--klikz-white);
	border: 1px solid var(--klikz-border);
	border-radius: var(--klikz-radius-card);
	box-shadow: var(--klikz-shadow-subtle);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.klikz-destination-card__media {
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, var(--klikz-green-soft), var(--klikz-surface));
	display: grid;
	place-items: center;
}

.klikz-destination-card__media:has(.klikz-gallery) { aspect-ratio: auto; overflow: hidden; }

.klikz-destination-card__media img { height: 100%; object-fit: cover; width: 100%; }
.klikz-destination-card__media span { color: var(--klikz-green-dark); font-family: var(--klikz-font-heading); font-weight: 600; }
.klikz-gallery { aspect-ratio: 16 / 10; display: grid; grid-template-rows: minmax(0, 1fr) 5rem; height: auto; min-height: 0; overflow: hidden; width: 100%; }
.klikz-gallery button { background: transparent; border: 0; cursor: zoom-in; min-height: 0; padding: 0; position: relative; }
.klikz-gallery button:focus-visible { outline: 3px solid var(--klikz-green); outline-offset: -3px; z-index: 1; }
.klikz-gallery__main { min-height: 0; overflow: hidden; }
.klikz-gallery__main img,
.klikz-gallery__thumbs img { display: block; height: 100%; object-fit: cover; transition: transform 220ms ease; width: 100%; }
.klikz-gallery button:hover img { transform: scale(1.025); }
.klikz-gallery__thumbs { border-top: 2px solid var(--klikz-white); display: grid; gap: 2px; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; overflow: hidden; }
.klikz-gallery__thumbs button { overflow: hidden; }
.klikz-gallery__hint { background: rgb(31 31 31 / 74%); border-radius: 999px; bottom: .75rem; color: var(--klikz-white) !important; font-family: var(--klikz-font-body) !important; font-size: .75rem; font-weight: 600 !important; padding: .4rem .7rem; position: absolute; right: .75rem; }
.klikz-gallery__more { align-items: center; background: rgb(31 31 31 / 68%); color: var(--klikz-white) !important; display: flex; font-family: var(--klikz-font-heading); font-size: 1.25rem; inset: 0; justify-content: center; position: absolute; }
.klikz-lightbox { background: transparent; border: 0; height: 100%; margin: auto; max-height: none; max-width: none; padding: 0; width: 100%; }
.klikz-lightbox::backdrop { background: rgb(11 18 14 / 92%); }
.klikz-lightbox__frame { align-items: center; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; height: 100%; padding: clamp(1rem, 3vw, 2.5rem); position: relative; }
.klikz-lightbox__figure { align-items: center; display: flex; flex-direction: column; gap: .75rem; justify-content: center; margin: 0; min-width: 0; }
.klikz-lightbox__image { max-height: calc(100vh - 7rem); max-width: 100%; object-fit: contain; }
.klikz-lightbox__caption { color: var(--klikz-white); font-size: .875rem; margin: 0; text-align: center; }
.klikz-lightbox button { align-items: center; background: rgb(255 255 255 / 12%); border: 1px solid rgb(255 255 255 / 24%); border-radius: 50%; color: var(--klikz-white); cursor: pointer; display: inline-flex; font-size: 1.5rem; height: 3rem; justify-content: center; padding: 0; width: 3rem; }
.klikz-lightbox button:hover,
.klikz-lightbox button:focus-visible { background: rgb(255 255 255 / 24%); }
.klikz-lightbox__close { position: absolute; right: clamp(1rem, 3vw, 2.5rem); top: clamp(1rem, 3vw, 2.5rem); z-index: 1; }
.klikz-lightbox__count { color: var(--klikz-white); font-size: .75rem; left: clamp(1rem, 3vw, 2.5rem); position: absolute; top: clamp(1.5rem, 3vw, 3rem); }
.klikz-destination-card__body { display: flex; flex: 1; flex-direction: column; gap: 1rem; padding: clamp(1.25rem, 3vw, 2rem); }
.klikz-destination-card__body p { color: var(--klikz-muted); }
.klikz-destination-card__intro { display: grid; gap: .45rem; }
.klikz-destination-card__intro h3,
.klikz-destination-card__intro p { margin: 0; }
.klikz-destination-card__intro .klikz-eyebrow { color: var(--klikz-green-dark); }
.klikz-destination-card__meta { display: flex; flex-wrap: wrap; gap: .5rem; }
.klikz-destination-card__action { margin-top: auto; }

.klikz-card-pair {
	background: var(--klikz-green-soft);
	border: 1px solid var(--klikz-border);
	border-radius: calc(var(--klikz-radius-card) + .25rem);
	display: grid;
	gap: 1rem;
	grid-column: 1 / -1;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}
.klikz-card-pair__heading { display: grid; gap: .35rem; }
.klikz-card-pair__heading h3,
.klikz-card-pair__heading p { margin: 0; }
.klikz-card-pair__heading > p:last-child { color: var(--klikz-muted); }
.klikz-card-pair__cards { display: grid; gap: clamp(1rem, 2.5vw, 1.5rem); grid-template-columns: minmax(0, 1fr); }

.klikz-preference {
	border-top: 1px solid var(--klikz-border);
	display: grid;
	gap: .75rem;
	padding-top: 1rem;
}

.klikz-preference__options { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.klikz-preference button { background: var(--klikz-white); border: 1px solid var(--klikz-border); border-radius: var(--klikz-radius-control); cursor: pointer; font-size: .875rem; min-height: 2.75rem; padding: .55rem .7rem; }
.klikz-preference button:hover,
.klikz-preference button:focus-visible,
.klikz-preference button.is-selected { background: var(--klikz-green-soft); border-color: var(--klikz-green); }
.klikz-preference__status { color: var(--klikz-muted); margin: 0; }
.klikz-voter { background: var(--klikz-green-soft); border: 1px solid var(--klikz-border); border-radius: var(--klikz-radius-card); display: grid; gap: .75rem; padding: 1rem; }
.klikz-voter__options { display: flex; flex-wrap: wrap; gap: .6rem; }
.klikz-voter button { background: var(--klikz-white); border: 1px solid var(--klikz-border); border-radius: 999px; cursor: pointer; font-weight: 700; padding: .65rem 1.15rem; }
.klikz-voter button.is-selected { background: var(--klikz-green); border-color: var(--klikz-green); color: var(--klikz-white); }
.klikz-voter p { color: var(--klikz-muted); margin: 0; }
.klikz-vote-results { background: var(--klikz-green-soft); border-radius: var(--klikz-radius-card); padding: clamp(1.25rem, 3vw, 2rem); }
.klikz-vote-results__grid { display: grid; gap: .65rem; margin-top: 1rem; }
.klikz-vote-result { align-items: center; background: var(--klikz-white); border-radius: var(--klikz-radius-control); display: grid; gap: .5rem; padding: .75rem 1rem; }
.klikz-vote-result__counts { display: flex; flex-wrap: wrap; gap: .4rem .8rem; font-size: .875rem; }
.klikz-vote-result__counts span { white-space: nowrap; }
@media (min-width: 48rem) { .klikz-vote-result { grid-template-columns: minmax(10rem, .65fr) 1.35fr; } }

.klikz-map-card { background: var(--klikz-white); border: 1px solid var(--klikz-border); border-radius: var(--klikz-radius-card); box-shadow: var(--klikz-shadow-soft); overflow: hidden; }
.klikz-trip-map { height: clamp(25rem, 50vw, 35rem); width: 100%; z-index: 1; }
.klikz-trip-map > p { color: var(--klikz-muted); padding: 2rem; }
.klikz-map-card__caption { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; padding: 1rem 1.25rem; }
.klikz-map-card__caption span { color: var(--klikz-muted); font-size: .875rem; }
.klikz-map-card__caption strong { color: var(--klikz-text); }
.klikz-map-home { background: transparent; border: 0; color: var(--klikz-muted); cursor: pointer; font-family: var(--klikz-font-body); font-size: .875rem; padding: .35rem 0; text-align: left; }
.klikz-map-home:hover { color: var(--klikz-green-dark); }
.klikz-base-address { border-left: 3px solid var(--klikz-green); color: var(--klikz-muted); font-style: normal; margin: .25rem 0 0; padding-left: 1rem; }
.klikz-map-legend { border-top: 1px solid var(--klikz-border); display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 1rem 1.25rem 1.25rem; }
.klikz-map-legend button { align-items: center; background: transparent; border: 0; border-radius: var(--klikz-radius-control); color: var(--klikz-text); cursor: pointer; display: flex; font-family: var(--klikz-font-body); font-size: .875rem; gap: .5rem; padding: .35rem; text-align: left; width: 100%; }
.klikz-map-legend button:hover,
.klikz-map-legend button:focus-visible { background: var(--klikz-green-soft); color: var(--klikz-green-dark); }
.klikz-map-legend button > span { align-items: center; background: var(--klikz-green-dark); border-radius: 50%; color: var(--klikz-white); display: inline-flex; flex: 0 0 auto; font-family: var(--klikz-font-heading); font-size: .75rem; font-weight: 700; height: 1.6rem; justify-content: center; width: 1.6rem; }
.klikz-trip-marker-shell { background: transparent; border: 0; }
.klikz-trip-marker { align-items: center; background: var(--klikz-green-dark); border: 3px solid var(--klikz-white); border-radius: 50% 50% 50% 0; box-shadow: 0 .3rem .9rem rgb(31 31 31 / 28%); color: var(--klikz-white); display: flex; font-family: var(--klikz-font-heading); font-size: .75rem; font-weight: 700; height: 2rem; justify-content: center; transform: rotate(-45deg); width: 2rem; }
.klikz-trip-marker--base { background: var(--klikz-green); color: var(--klikz-green-dark); font-size: 1.25rem; height: 2.65rem; width: 2.65rem; }
.klikz-trip-marker-shell .klikz-trip-marker { line-height: 1; }
.klikz-trip-marker > span { transform: rotate(45deg); }
.leaflet-marker-icon .klikz-trip-marker { text-indent: 0; }
.leaflet-popup-content { display: grid; gap: .25rem; margin: .9rem 1rem; }
.leaflet-popup-content strong { font-family: var(--klikz-font-heading); font-size: 1rem; }
.leaflet-popup-content span { color: var(--klikz-muted); }

@media (min-width: 720px) {
	.klikz-card-pair__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.klikz-gallery { grid-template-rows: minmax(0, 1fr) 6rem; }
	.klikz-preference__options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.klikz-map-legend { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 719px) {
	.klikz-lightbox__frame { grid-template-columns: 1fr; padding: 3.75rem 1rem 1rem; }
	.klikz-lightbox__prev,
	.klikz-lightbox__next { bottom: 1rem; position: absolute; z-index: 1; }
	.klikz-lightbox__prev { left: 1rem; }
	.klikz-lightbox__next { right: 1rem; }
	.klikz-lightbox__image { max-height: calc(100vh - 9rem); }
}
