/**
 * Specialsider 2.0 (ALR-079): Priser, Book tid, Kontakt, Om os, Finansiering,
 * Find klinik. Page frame and template sections; K4/K8/K12 bring their own CSS.
 * Loaded only on these pages. Tokens only (M11).
 */
.allure-special { background: var(--allure-ds-color-surface); color: var(--allure-ds-color-text); font-family: var(--allure-ds-font-body); line-height: var(--allure-ds-line-height-body); overflow-x: clip; }
.allure-special :where(h2, h3) { overflow-wrap: break-word; hyphens: auto; }
.allure-special a:focus-visible { outline: 3px solid var(--allure-ds-color-focus); outline-offset: 3px; }

/* K1 and K2 share the page's content edge (round 4): text aligns with the sections. */
.allure-special > [class$="__hero"],
.allure-special > [class$="__handoff"],
.allure-special > [class$="__closing"] {
	padding-inline: max(var(--allure-ds-gutter), calc((100% - var(--allure-ds-container-wide)) / 2));
}
.allure-special > [class$="__hero"] { padding-block: var(--allure-ds-section-compact); }
.allure-special > [class$="__handoff"] { padding-block: var(--allure-ds-section-standard); }

/* Find klinik: its K1/K2 look lives in allure-site (allure-c4-layout.css); only the
   centred 72rem rail is aligned to the content edge here, like the other pages. */
.allure-special .allure-location-page__rail { width: auto; max-width: 48rem; margin-inline: 0; }

/* Sections */
.allure-special__section { padding-block: var(--allure-ds-section-compact); }
.allure-special__section--warm { background: var(--allure-ds-color-surface-warm); }
.allure-special__section--flush { padding-top: 0; }
.allure-special__wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--allure-ds-container-wide) + 2 * var(--allure-ds-gutter));
	margin-inline: auto;
	padding-inline: var(--allure-ds-gutter);
}
.allure-special .allure-special__eyebrow {
	margin: 0 0 var(--allure-ds-space-3);
	color: var(--allure-ds-color-accent);
	font-family: var(--allure-ds-font-body);
	font-size: var(--allure-ds-font-size-meta);
	font-weight: 700;
	letter-spacing: var(--allure-ds-letter-spacing-meta);
	line-height: var(--allure-ds-line-height-body);
	text-transform: uppercase;
}
.allure-special .allure-special__section h2 {
	margin: 0 0 var(--allure-ds-space-4);
	color: var(--allure-ds-color-ink);
	font-family: var(--allure-ds-font-display);
	font-size: clamp(1.8rem, 3.4vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: var(--allure-ds-line-height-heading);
	text-wrap: balance;
}
.allure-special__small { margin: var(--allure-ds-space-4) 0 0; color: var(--allure-ds-color-text-muted); font-size: var(--allure-ds-font-size-small); }
.allure-special__small :where(p) { margin: 0; }
.allure-special__small a,
.allure-special__copy a,
.allure-special__notice a,
.allure-special__calendar-fallback a {
	color: var(--allure-ds-cta-text-color);
	font-weight: 600;
	text-decoration: var(--allure-ds-cta-text-decoration);
	text-underline-offset: 0.3em;
}
.allure-special__copy { max-width: 40rem; }
.allure-special__copy > :first-child { margin-top: 0; }
.allure-special__copy > :last-child { margin-bottom: 0; }

/* Two-column splits */
.allure-special__split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--allure-ds-grid-gap-standard);
	align-items: start;
}
.allure-special__split > * { min-width: 0; }
.allure-special__split--booking { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
.allure-special__split--wide { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.allure-special__split--media { align-items: stretch; }
.allure-special__media img { display: block; width: 100%; height: 100%; min-height: 18rem; object-fit: cover; }

/* Cards and notices (C3) */
.allure-special__card {
	padding: var(--allure-ds-inset-standard);
	border: var(--allure-ds-border-width) solid var(--allure-ds-color-line);
	background: var(--allure-ds-color-surface);
}
.allure-special__card--warm { background: var(--allure-ds-color-surface-warm); }
.allure-special .allure-special__card h2 { margin-bottom: var(--allure-ds-space-3); font-size: 1.75rem; }
.allure-special__notice {
	margin-top: var(--allure-ds-space-5);
	padding: var(--allure-ds-space-4) var(--allure-ds-space-5);
	border-top: 2px solid var(--allure-ds-color-ink);
	background: var(--allure-ds-color-surface-warm);
	font-size: var(--allure-ds-font-size-small);
}
.allure-special__notice p { margin: 0; }

/* Buttons (same look as K2's button, outlined variant) — kept for the special pages' own actions */
.allure-special__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--allure-ds-button-min-height);
	margin-top: var(--allure-ds-space-5);
	padding: var(--allure-ds-button-padding-block) var(--allure-ds-button-padding-inline);
	border: var(--allure-ds-border-width) solid var(--allure-ds-color-ink);
	background: var(--allure-ds-button-primary-background);
	color: var(--allure-ds-button-primary-text);
	font-size: var(--allure-ds-font-size-meta);
	font-weight: 700;
	letter-spacing: var(--allure-ds-letter-spacing-meta);
	text-decoration: none;
	text-transform: uppercase;
}
.allure-special__button--secondary { background: transparent; color: var(--allure-ds-color-ink); }
.allure-special__button:hover { background: var(--allure-ds-color-ink); color: var(--allure-ds-color-text-inverse); }

/* Priser (v2, customer feedback 2026-10-22): one calm column like the live page —
   heading and price note above the list, member and financing notes as quiet lines below. */
.allure-prices-page__lead { max-width: 44rem; margin-bottom: var(--allure-ds-space-8); }
.allure-prices-page__lead p:not(.allure-special__eyebrow) { margin: 0; color: var(--allure-ds-color-text-muted); }
.allure-prices-page .k12 { padding: var(--allure-ds-space-5) var(--allure-ds-space-8); border: 0; background: var(--allure-ds-color-surface-warm); }
.allure-prices-page .k12__group + .k12__group { border-top-color: var(--allure-ds-color-line); }
.allure-prices-page .k12__summary { padding: var(--allure-ds-space-5) 0; }
.allure-prices-page .k12__title { font-size: 1.5rem; }
.allure-prices-page .k12__icon { border-color: var(--allure-ds-color-line); }
.allure-prices-page .k12__rows { padding: 0 0 var(--allure-ds-space-5); }
.allure-prices-page .k12__row { padding-inline: var(--allure-ds-space-4); background: var(--allure-ds-color-surface); }
.allure-prices-page__notes {
	display: grid;
	gap: var(--allure-ds-space-3);
	margin: var(--allure-ds-space-6) 0 0;
	padding: 0;
	color: var(--allure-ds-color-text-muted);
	font-size: var(--allure-ds-font-size-small);
	list-style: none;
}
.allure-prices-page__notes strong { color: var(--allure-ds-color-ink); }
.allure-prices-page__notes a { color: var(--allure-ds-cta-text-color); font-weight: 600; text-decoration: var(--allure-ds-cta-text-decoration); text-underline-offset: 0.3em; }
@media (max-width: 40rem) {
	.allure-prices-page .k12 { padding: var(--allure-ds-space-2) var(--allure-ds-space-4); }
	.allure-prices-page .k12__title { font-size: 1.25rem; }
	.allure-prices-page .k12__row { padding-inline: var(--allure-ds-space-3); }
}

/* Book tid: steps */
.allure-special__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--allure-ds-grid-gap-compact);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: allure-step;
}
.allure-special__step {
	padding: var(--allure-ds-inset-standard);
	background: var(--allure-ds-color-surface-warm);
	counter-increment: allure-step;
}
.allure-special__step::before {
	display: grid;
	width: 2rem;
	height: 2rem;
	margin-bottom: var(--allure-ds-space-4);
	border-radius: 50%;
	background: var(--allure-ds-color-ink);
	color: var(--allure-ds-color-text-inverse);
	content: counter(allure-step);
	font-size: var(--allure-ds-font-size-small);
	font-weight: 700;
	place-items: center;
}
.allure-special .allure-special__step h3 {
	margin: 0 0 var(--allure-ds-space-2);
	color: var(--allure-ds-color-ink);
	font-family: var(--allure-ds-font-display);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: var(--allure-ds-line-height-heading);
}
.allure-special__step p { margin: 0; font-size: var(--allure-ds-font-size-small); }

/* Book tid: calendar frame and aside. The Gecko markup inside is untouched. */
.allure-special__booking { scroll-margin-top: 1rem; }
.allure-special__calendar { border: var(--allure-ds-border-width) solid var(--allure-ds-color-line); background: var(--allure-ds-color-surface); }
.allure-special__calendar-head { padding: var(--allure-ds-space-4) var(--allure-ds-space-5) 0; }
.allure-special .allure-special__calendar-head h2 { margin-bottom: 0; font-size: 1.75rem; }
.allure-special__calendar .allure-booking__gecko { min-height: 28rem; padding: var(--allure-ds-space-4); background: var(--allure-ds-color-surface); overflow: hidden; }
.allure-special__calendar-fallback { margin: 0; padding: 0 var(--allure-ds-space-5) var(--allure-ds-space-5); font-size: var(--allure-ds-font-size-small); }
.allure-special__aside { display: grid; gap: var(--allure-ds-space-5); }
.allure-special__aside .allure-special__notice { margin-top: 0; }
.allure-special__phone {
	display: inline-block;
	color: var(--allure-ds-cta-text-color);
	font-size: 1.25rem;
	font-weight: 600;
	text-decoration: var(--allure-ds-cta-text-decoration);
	text-underline-offset: 0.3em;
}
.allure-special__aside .allure-faq {
	padding: var(--allure-ds-inset-standard);
	border: var(--allure-ds-border-width) solid var(--allure-ds-color-line);
}
.allure-special__aside .allure-faq__inner { width: auto; }
.allure-special .allure-special__aside .allure-faq__heading {
	margin: 0 0 var(--allure-ds-space-3);
	color: var(--allure-ds-color-ink);
	font-family: var(--allure-ds-font-display);
	font-size: 1.75rem;
	font-weight: 400;
}
.allure-special__aside .allure-faq__item { border-color: var(--allure-ds-color-line); }
.allure-special__aside .allure-faq__question { font-size: 1rem; }

/* Om os: philosophy quote */
.allure-special__quote { margin: 0; padding: var(--allure-ds-space-8); background: var(--allure-ds-color-surface-warm); }
.allure-special__quote blockquote {
	margin: 0;
	color: var(--allure-ds-color-ink);
	font-family: var(--allure-ds-font-display);
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	line-height: var(--allure-ds-line-height-heading);
}

/* Kontakt: contact cards beside the image stay 2 × 2 */
.allure-special__split .k4--n3,
.allure-special__split .k4--n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Find klinik: map */
.allure-special__map iframe { display: block; width: 100%; max-width: 100%; height: clamp(18rem, 45vw, 28rem); border: 0; }

@media (max-width: 60rem) {
	.allure-special__split,
	.allure-special__split--booking,
	.allure-special__split--wide { grid-template-columns: minmax(0, 1fr); }
	.allure-special__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
	.allure-special__calendar .allure-booking__gecko { padding: 0; }
	.allure-special__quote { padding: var(--allure-ds-inset-standard); }
}
