/* Kontakt (100), Kundestøtte (77), Abonnement (2681). Tokens from ezme-site.css. */

/* ---------- Shared section pieces ---------- */

.ezme-sec { padding: clamp(56px, 7vw, 104px) 0; }
.ezme-sec--tint { background: var(--ez-surface); }
.ezme-sec__title { font-size: var(--ez-fs-h2); margin: 0 0 28px; }
.ezme-sec__lead { color: var(--ez-ink-soft); max-width: 40ch; }
.ezme-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
}
@media (max-width: 767.98px) { .ezme-split { grid-template-columns: minmax(0, 1fr); } }

.ezme-steps {
	list-style: none;
	counter-reset: ezs;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 40px);
	padding: 0;
	margin: 0;
}
.ezme-steps li { counter-increment: ezs; }
.ezme-steps li::before {
	content: counter(ezs);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: #fff;
	color: var(--ez-ink);
	font-weight: 500;
	box-shadow: var(--ez-shadow);
}
.ezme-steps h3 { font-size: var(--ez-fs-h3); margin: 0 0 8px; }
.ezme-steps p { color: var(--ez-ink-soft); margin: 0; }
@media (max-width: 991.98px) { .ezme-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .ezme-steps { grid-template-columns: minmax(0, 1fr); } }

.ezme-faq-list { border-top: 1px solid var(--ez-line); }
.ezme-faq-item { border-bottom: 1px solid var(--ez-line); }
.ezme-faq-item summary {
	position: relative;
	min-height: 64px;
	padding: 18px 40px 18px 0;
	font-size: var(--ez-fs-lead);
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}
.ezme-faq-item summary::-webkit-details-marker { display: none; }
.ezme-faq-item summary::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 1.75px solid var(--ez-muted);
	border-bottom: 1.75px solid var(--ez-muted);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 200ms var(--ez-out);
}
.ezme-faq-item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.ezme-faq-item p { color: var(--ez-ink-soft); margin: 0 0 20px; }

.ezme-band {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	padding: clamp(32px, 4vw, 56px);
	border-radius: var(--ez-r-lg);
	background: var(--ez-ink);
	color: #e7e4f3;
}
.ezme-band h2 { color: #fff; font-size: var(--ez-fs-h2); margin: 0 0 8px; }
.ezme-band p { margin: 0; }
.ezme-band__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ezme-band .btn-outline-light { background: transparent !important; color: #fff !important; border-color: rgba(255, 255, 255, .5) !important; }

/* ---------- Kontakt ---------- */

.page-id-100 #theme-main section { padding: clamp(40px, 6vw, 88px) 0; }
.page-id-100 #theme-main .container.py-5 { padding-block: 0 !important; }
.page-id-100 #theme-main .row.g-0 {
	border-radius: 24px;
	overflow: hidden;
	box-shadow: var(--ez-shadow);
	background: #fff;
}
.page-id-100 #theme-main .row.g-0 > .col-md-6:first-child {
	border: 0 !important;
	text-align: left !important;
	padding: clamp(28px, 5vw, 64px) !important;
	justify-content: flex-start !important;
	min-height: 0;
}
.page-id-100 #theme-main .lc-block.mb-5:empty,
.page-id-100 #theme-main .lc-block.mb-5:not(:has(*)) { display: none; }
.page-id-100 #theme-main h1 { font-size: var(--ez-fs-display) !important; color: var(--ez-ink); margin: 0 0 12px; }
.page-id-100 .ezme-contact-intro { color: var(--ez-ink-soft); margin: 0 0 32px; }
.page-id-100 #theme-main .form-group.mb-4 { margin-bottom: 18px !important; }
.page-id-100 #theme-main .row.g-0 > .bg-primary {
	text-align: left !important;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(28px, 5vw, 64px) !important;
	background-color: var(--ez-ink) !important;
}
.page-id-100 #theme-main .bg-primary > .lc-block:first-child svg {
	width: 56px;
	height: 56px;
	padding: 14px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
}
.page-id-100 #theme-main .bg-primary .border-bottom { border-color: rgba(255, 255, 255, .16) !important; width: 100%; }
.page-id-100 .ezme-side-title { color: #fff; font-size: var(--ez-fs-h3); margin: 0 0 14px; }
.page-id-100 .ezme-help-links { list-style: none; padding: 0; margin: 0; }
.page-id-100 .ezme-help-links li { border-top: 1px solid rgba(255, 255, 255, .14); }
.page-id-100 .ezme-help-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	color: #fff;
	text-decoration: none;
	font-weight: 500;
}
.page-id-100 .ezme-help-links a::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1.75px solid currentColor;
	border-right: 1.75px solid currentColor;
	transform: rotate(45deg);
	opacity: .7;
	transition: transform 160ms var(--ez-out);
}
@media (hover: hover) and (pointer: fine) {
	.page-id-100 .ezme-help-links a:hover::after { transform: translateX(3px) rotate(45deg); }
}
.page-id-100 #theme-main .bg-primary .lc-block.py-4 { padding-block: 8px !important; }
.page-id-100 .ezme-company { color: #bcb7d6; font-size: var(--ez-fs-small); margin: 16px 0 0; }

/* ---------- Kundestøtte ---------- */

.page-id-77 #theme-main > section:first-child .container.py-6 { padding-block: clamp(48px, 7vw, 104px) !important; }
@media (max-width: 991.98px) { .page-id-77 #theme-main .row.g-5 { --bs-gutter-x: 1.5rem; } }
.page-id-77 #theme-main h1 { color: var(--ez-ink); margin-bottom: 0; }
.page-id-77 #theme-main .lead { color: var(--ez-ink-soft); max-width: 46ch; }
.page-id-77 #theme-main .lc-block.d-grid { gap: 12px !important; }
.page-id-77 #theme-main .lc-block.d-grid .btn { margin: 0 !important; }

.ezme-guide {
	position: relative;
	margin: 0;
	padding: clamp(24px, 4vw, 48px);
	border-radius: 24px;
	background: var(--ez-surface);
}
.ezme-guide__card {
	background: #fff;
	border-radius: var(--ez-r-lg);
	box-shadow: var(--ez-shadow);
	padding: 22px;
}
.ezme-guide__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ezme-guide__eyebrow { display: block; font-size: var(--ez-fs-small); color: var(--ez-muted); }
.ezme-guide__head strong { font-weight: 500; font-size: var(--ez-fs-h3); }
.ezme-guide__step {
	font-size: var(--ez-fs-small);
	font-weight: 500;
	color: var(--ez-accent-strong);
	background: #f3edf5;
	border-radius: 999px;
	padding: 3px 10px;
	white-space: nowrap;
}
.ezme-guide__progress { height: 6px; border-radius: 6px; background: var(--ez-surface-2); margin: 16px 0 18px; overflow: hidden; }
.ezme-guide__progress i { display: block; height: 100%; width: 75%; border-radius: 6px; background: var(--ez-ink); transform-origin: left; }
.ezme-guide__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.ezme-guide__list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 10px 0;
	color: var(--ez-muted);
	border-top: 1px solid var(--ez-line);
}
.ezme-guide__list li:first-child { border-top: 0; }
.ezme-guide__list li.is-done { color: var(--ez-ink-soft); }
.ezme-guide__list li.is-current { color: var(--ez-ink); font-weight: 500; }
.ezme-guide__mark {
	display: grid;
	place-items: center;
	flex: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1.5px solid var(--ez-line);
	font-size: var(--ez-fs-small);
	font-weight: 500;
	color: var(--ez-muted);
}
.is-done .ezme-guide__mark { background: var(--ez-ok); border-color: var(--ez-ok); color: #fff; }
.is-current .ezme-guide__mark { background: var(--ez-ink); border-color: var(--ez-ink); color: #fff; }
.ezme-guide__code { display: flex; gap: 6px; margin: 10px 0 6px; }
.ezme-guide__code span {
	display: grid;
	place-items: center;
	width: 36px;
	height: 42px;
	border-radius: 8px;
	border: 1.5px solid var(--ez-line);
	font-size: var(--ez-fs-h3);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}
.ezme-guide__code .is-caret { border-color: var(--ez-ink); position: relative; }
.ezme-guide__code .is-caret::after { content: ""; width: 1.5px; height: 20px; background: var(--ez-ink); animation: ezme-caret 1.1s steps(1) infinite; }
@keyframes ezme-caret { 50% { opacity: 0; } }
.ezme-guide__list small { display: block; font-size: var(--ez-fs-small); font-weight: 400; color: var(--ez-muted); }
.ezme-guide__chip {
	position: absolute;
	right: clamp(12px, 3vw, 28px);
	top: clamp(12px, 2vw, 20px);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--ez-shadow);
	font-size: var(--ez-fs-small);
	font-weight: 500;
}
.ezme-guide__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ez-ok); }
.ezme-guide figcaption { margin-top: 16px; font-size: var(--ez-fs-small); color: var(--ez-muted); text-align: center; }
@media (max-width: 575.98px) { .ezme-guide__chip { position: static; margin-top: 12px; } }

/* Guide entrance: the progress bar fills and the chip arrives, once */
@keyframes ezme-fill { from { transform: scaleX(.66); } }
@keyframes ezme-chip { from { opacity: 0; transform: translateY(8px) scale(.96); } }
.ezme-guide__progress i { animation: ezme-fill 900ms cubic-bezier(.77, 0, .175, 1) 300ms both; }
.ezme-guide__chip { animation: ezme-chip 450ms var(--ez-out) 900ms both; }

/* ---------- Abonnement ---------- */

.page-id-2681 #theme-main > section:first-child .container.p-5 {
	padding: clamp(24px, 4vw, 56px) !important;
	border-radius: 24px !important;
	box-shadow: var(--ez-shadow);
}
/* Header: drop the decorative "EzMe" column, one left edge for heading, text, cards and form */
.page-id-2681 #theme-main > section:first-child .container.p-5 > .row:first-child > .col-md-4 { display: none; }
.page-id-2681 #theme-main > section:first-child .container.p-5 > .row:first-child > .col-md-8,
.page-id-2681 #theme-main > section:first-child .container.p-5 .col-md-9.offset-md-1 {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
}
.page-id-2681 #theme-main > section:first-child .container.p-5 .lc-block.mt-5:has(.lead) { margin-top: 16px !important; }
.page-id-2681 #theme-main > section:first-child .container.p-5 .lead { margin-bottom: 0; }
.page-id-2681 #theme-main > section:first-child .container.p-5 .ezme-sub-form-title,
.page-id-2681 #theme-main > section:first-child .container.p-5 .ezme-sub-form-intro,
.page-id-2681 #theme-main > section:first-child .container.p-5 #custom-contact-form { max-width: 720px; }
.page-id-2681 #theme-main h1 { color: var(--ez-ink); font-size: var(--ez-fs-display) !important; margin: 0; }
.page-id-2681 #theme-main .lead { color: var(--ez-ink-soft) !important; max-width: 62ch; }

/* Plan cards: 3 → 6 → 12, 12 highlighted */
.page-id-2681 #theme-main .row:has(> .col-lg-4) { --bs-gutter-x: 20px; row-gap: 20px; margin-top: 40px; }
.page-id-2681 #theme-main .col-lg-4:nth-child(1) { order: 1; }
.page-id-2681 #theme-main .col-lg-4:nth-child(3) { order: 2; }
.page-id-2681 #theme-main .col-lg-4:nth-child(2) { order: 3; }
.page-id-2681 #theme-main .col-lg-4 .card {
	position: relative;
	border-radius: 20px !important;
	border: 1.5px solid var(--ez-line) !important;
	background: #fff !important;
	padding: 8px !important;
	text-align: left;
}
.page-id-2681 #theme-main .col-lg-4 .card * { color: var(--ez-ink) !important; }
.page-id-2681 #theme-main .col-lg-4:nth-child(2) .card { background: var(--ez-ink) !important; border-color: var(--ez-ink) !important; }
.page-id-2681 #theme-main .col-lg-4:nth-child(2) .card * { color: #fff !important; }
.page-id-2681 #theme-main .col-lg-4:nth-child(2) .card::before {
	content: "Lavest månedspris";
	position: absolute;
	top: -12px;
	left: 24px;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--ez-accent);
	color: var(--ez-ink);
	font-size: var(--ez-fs-small);
	font-weight: 500;
}
.page-id-2681 #theme-main .card p.opacity-50 { opacity: 1 !important; letter-spacing: 0 !important; font-size: var(--ez-fs-small); }
.page-id-2681 #theme-main .card p.opacity-50 { color: var(--ez-muted) !important; }
.page-id-2681 #theme-main .col-lg-4:nth-child(2) .card p.opacity-50 { color: #c9c4e0 !important; }
.page-id-2681 #theme-main .card h2.h4 { font-size: var(--ez-fs-h3) !important; margin: 4px 0 0; }
.page-id-2681 #theme-main .card h3.rfs-40 { font-size: var(--ez-fs-display) !important; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.page-id-2681 #theme-main .card .ezme-per { font-size: var(--ez-fs-body); font-weight: 400; letter-spacing: 0; }
.page-id-2681 #theme-main .card .d-inline-flex { align-items: center; }
.page-id-2681 #theme-main .card .d-inline-flex svg { width: 18px; height: 18px; color: var(--ez-ok) !important; fill: currentColor; }
.page-id-2681 #theme-main .col-lg-4:nth-child(2) .card .d-inline-flex svg { color: #8fe0b5 !important; }
.page-id-2681 #theme-main .card .d-inline-flex p { margin: 0; }

.page-id-2681 .ezme-sub-cta { text-align: center; margin: 8px 0 56px; }
.page-id-2681 .ezme-sub-cta p { color: var(--ez-muted); font-size: var(--ez-fs-small); margin: 12px auto 0; }
.page-id-2681 .ezme-sub-form-title { font-size: var(--ez-fs-h2); padding-top: 48px; border-top: 1px solid var(--ez-line); margin: 0 0 8px; }
.page-id-2681 .ezme-sub-form-intro { color: var(--ez-ink-soft); margin-bottom: 24px; }

/* FAQ accordion */
.page-id-2681 #theme-main > section:nth-of-type(2) .container { padding-block: clamp(56px, 7vw, 104px) !important; }
.page-id-2681 #theme-main > section:nth-of-type(2) h2 { font-size: var(--ez-fs-h2); }
.page-id-2681 #accordionFlushMyFAQ2 { border-top: 1px solid var(--ez-line); }
.page-id-2681 #accordionFlushMyFAQ2 .accordion-item { margin: 0 !important; border: 0; border-bottom: 1px solid var(--ez-line); background: transparent; }
.page-id-2681 #accordionFlushMyFAQ2 .accordion-item > a {
	position: relative;
	display: block;
	padding: 20px 40px 20px 0;
	font-size: var(--ez-fs-lead) !important;
	color: var(--ez-ink) !important;
}
.page-id-2681 #accordionFlushMyFAQ2 .accordion-item > a::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 1.75px solid var(--ez-muted);
	border-bottom: 1.75px solid var(--ez-muted);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 200ms var(--ez-out);
}
.page-id-2681 #accordionFlushMyFAQ2 .accordion-item > a[aria-expanded="true"]::after,
.page-id-2681 #accordionFlushMyFAQ2 .accordion-item:has(.collapse.show) > a::after { transform: translateY(-30%) rotate(-135deg); }
.page-id-2681 #accordionFlushMyFAQ2 .accordion-body { padding: 0 0 20px; color: var(--ez-ink-soft); }
.page-id-2681 #accordionFlushMyFAQ2 .accordion-body p:empty { display: none; }

@media (prefers-reduced-motion: reduce) {
	.ezme-guide__progress i, .ezme-guide__chip { animation: ezme-fade 300ms ease both; }
	.ezme-guide__code .is-caret::after { animation: none; }
}

/* ---------- App (107) ---------- */

.ezme-sec--tight { padding-top: 0; }
.page-id-107 #theme-main > section:first-child .container.py-5 { padding-block: clamp(56px, 7vw, 104px) 0 !important; }
.page-id-107 #theme-main h1 { color: var(--ez-ink); max-width: 16ch; margin-inline: auto; }
.page-id-107 #theme-main > section:first-child .lead { color: var(--ez-ink-soft); max-width: 56ch; margin: 20px auto 28px; }
.page-id-107 .ezme-badge { min-height: 52px; padding: 0 18px !important; }
.page-id-107 .ezme-badge img { width: 124px; height: 36px; object-fit: contain; }
.page-id-107 .ezme-badge.is-static { cursor: default; transform: none !important; }
.page-id-107 .ezme-badge-note { font-size: var(--ez-fs-small); color: var(--ez-muted); margin: 4px auto 0; }

/* Real app screenshots on a tinted stage */
.page-id-107 #theme-main > section:first-child .row:last-child {
	margin: 48px 0 0;
	padding: clamp(32px, 5vw, 72px) clamp(16px, 4vw, 48px) 0;
	border-radius: 28px 28px 0 0;
	background: var(--ez-surface);
	justify-content: center;
	gap: clamp(16px, 4vw, 56px);
	overflow: hidden;
}
.page-id-107 #theme-main > section:first-child .row:last-child > .col { flex: 0 1 300px; padding: 0; }
.page-id-107 #theme-main > section:first-child .row:last-child img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 30px 40px rgba(35, 31, 85, .25));
}
.page-id-107 #theme-main > section:first-child .row:last-child > .col:nth-child(2) { margin-top: clamp(24px, 4vw, 56px); }

.ezme-features {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 clamp(24px, 4vw, 56px);
	padding: 0;
	margin: 0;
}
.ezme-features li { padding: 28px 0; border-top: 1px solid var(--ez-line); }
.ezme-features .ezme-icon {
	width: 44px;
	height: 44px;
	padding: 10px;
	border-radius: 50%;
	background: var(--ez-surface-2);
	color: var(--ez-ink);
	margin-bottom: 16px;
}
.ezme-features h3 { font-size: var(--ez-fs-h3); margin: 0 0 8px; }
.ezme-features p { color: var(--ez-ink-soft); margin: 0; }
@media (max-width: 991.98px) { .ezme-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .ezme-features { grid-template-columns: minmax(0, 1fr); } }

.ezme-levels { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.ezme-levels li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 20px 22px;
	border-radius: var(--ez-r-lg);
	background: #fff;
	box-shadow: 0 1px 2px rgba(35, 31, 85, .06);
}
.ezme-levels h3 { font-size: var(--ez-fs-h3); margin: 0 0 4px; }
.ezme-levels p { margin: 0; color: var(--ez-ink-soft); }
.ezme-levels__dot { flex: none; width: 14px; height: 14px; margin-top: 6px; border-radius: 50%; }
.is-red .ezme-levels__dot { background: #c8364b; box-shadow: 0 0 0 5px rgba(200, 54, 75, .14); }
.is-yellow .ezme-levels__dot { background: #d9a520; box-shadow: 0 0 0 5px rgba(217, 165, 32, .18); }
.is-green .ezme-levels__dot { background: var(--ez-ok); box-shadow: 0 0 0 5px rgba(47, 122, 85, .14); }
