/* =========================================================================
   Steamy: forside-hero, abonnement, erhverv, Min side og fælles foto-sidehoved
   Bygger på tokens.css + main.css (samme farver, radius og skygger).
   ========================================================================= */

/* Mørke sektioner: fed tekst i lister var mørk-på-mørk (usynlig). */
.section--dark .checklist strong { color: #fff; }

.textlink { color: var(--accent-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.textlink:hover { color: var(--aqua-700); }

/* ---- Forside-hero: foto i fuld bredde + fanekort der overlapper bunden ---- */
.fhero {
	position: relative; isolation: isolate; color: #fff; display: flow-root;
	background: var(--ink);
	padding-block: clamp(3rem, 7vw, 6rem) 0;
}
.fhero::before {
	content: ""; position: absolute; inset: 0; z-index: -2;
	background: var(--fhero-img) right center / cover no-repeat;
}
.fhero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(15,19,22,.94) 0%, rgba(15,19,22,.84) 30%, rgba(15,19,22,.42) 55%, rgba(15,19,22,.08) 78%, rgba(15,19,22,0) 100%),
		linear-gradient(0deg, rgba(15,19,22,.55) 0%, rgba(15,19,22,0) 34%);
}
.fhero__grid { display: block; }
.fhero__content { max-width: 600px; }
.fhero__title { color: #fff; font-size: clamp(2.4rem, 4.8vw, 4rem); line-height: 1.04; text-wrap: balance; }
.fhero__lead { color: #d5dee0; font-size: var(--fs-lead); margin-top: 1.1rem; max-width: 34em; }
.fhero__trust { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin-top: 1.6rem; color: #cdd6d9; font-size: var(--fs-small); }
.fhero__trust li { display: inline-flex; align-items: center; gap: .45rem; }
.fhero__trust strong { color: #fff; }
.fhero__trust .ic { width: 1.15em; height: 1.15em; color: var(--aqua-300); }
.fhero__trust .hero__stars .ic { color: #f5a623; }

/* Postnummer-tjek */
.pncheck { margin-top: 1.8rem; max-width: 440px; }
.pncheck__label { display: block; font-weight: 700; font-size: .95rem; margin-bottom: .5rem; color: #fff; }
.pncheck__row { display: flex; background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.22); border-radius: var(--r-pill); padding: 4px; backdrop-filter: blur(8px); transition: border-color .2s var(--ease); }
.pncheck__row:focus-within { border-color: var(--aqua-300); }
.pncheck__input { flex: 1; min-width: 0; background: transparent; border: 0; color: #fff; font: inherit; font-size: 1.05rem; padding: .7rem 1.1rem; letter-spacing: .04em; }
.pncheck__input::placeholder { color: #9fb0b5; letter-spacing: 0; }
.pncheck__input:focus { outline: none; }
.pncheck__btn { flex: none; background: var(--aqua); color: #04221f; font-weight: 800; border-radius: var(--r-pill); padding: .7rem 1.5rem; transition: filter .2s var(--ease); }
.pncheck__btn:hover { filter: brightness(1.06); }
.pncheck__out { min-height: 1.5em; margin-top: .55rem; font-size: .92rem; color: #cdd6d9; }
.pncheck__out b { color: var(--aqua-300); }
.pncheck__out.is-warn { color: #ffd2a8; }

/* Fanekortet */
.fhero__panel {
	position: relative; z-index: 2;
	margin-top: clamp(2.25rem, 4vw, 3.25rem); margin-bottom: -7.5rem;
	background: #fff; color: var(--text);
	border-radius: var(--r-xl); box-shadow: 0 30px 70px -28px rgba(10,16,20,.55), 0 2px 6px rgba(10,16,20,.08);
	padding: clamp(1rem, 2vw, 1.4rem) clamp(1.1rem, 2.6vw, 1.9rem) clamp(1.3rem, 2.6vw, 1.8rem);
}
.tabs { display: inline-flex; gap: .3rem; background: var(--off-white); border: 1px solid var(--line); border-radius: var(--r-pill); padding: .3rem; margin-bottom: 1.25rem; }
.tabs__btn { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.15rem; border-radius: var(--r-pill); font-weight: 700; font-size: .96rem; color: var(--slate); transition: background-color .2s var(--ease), color .2s var(--ease); }
.tabs__btn .ic { width: 1.1em; height: 1.1em; }
.tabs__btn:hover { color: var(--ink); }
.tabs__btn.is-active { background: var(--ink); color: #fff; }
.tabs__btn.is-active .ic { color: var(--aqua-300); }

.tabpanel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr) minmax(0, .9fr); gap: clamp(1rem, 2.6vw, 2.2rem); align-items: center; }
.tabpanel[hidden] { display: none !important; }
.tabpanel__kicker { font-weight: 700; color: var(--accent-ink); font-size: .95rem; }
.tabpanel__price { font-size: clamp(2.6rem, 4.6vw, 3.6rem); font-weight: 800; letter-spacing: -.035em; line-height: 1; color: var(--ink); margin-top: .35rem; font-variant-numeric: tabular-nums; }
.tabpanel__price small { font-size: 1rem; font-weight: 700; color: var(--slate); letter-spacing: 0; margin-right: .15rem; }
.tabpanel__price span { font-size: 1.05rem; font-weight: 700; color: var(--aqua-700); letter-spacing: 0; }
.tabpanel__price s { display: block; font-size: .92rem; font-weight: 600; color: var(--slate-2); letter-spacing: 0; margin-top: .45rem; }
.tabpanel__note { font-size: .9rem; color: var(--slate); margin-bottom: 1rem; }
.tabpanel__side .btn-row { flex-direction: column; align-items: stretch; gap: .55rem; }
.tabpanel__side .btn { justify-content: center; }

.planrows { display: grid; gap: .1rem; }
.planrows li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .62rem .1rem; border-bottom: 1px solid var(--line); }
.planrows li:last-child { border-bottom: 0; }
.planrows li > span:first-child { display: flex; flex-direction: column; font-size: .84rem; color: var(--slate); line-height: 1.3; }
.planrows b { color: var(--ink); font-size: .98rem; }
.planrows__p { text-align: right; font-weight: 800; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; display: flex; flex-direction: column; line-height: 1.25; }
.planrows__p small { font-weight: 600; font-size: .76rem; color: var(--slate-2); }

/* USP-striben skal give plads til fanekortet, der stikker ned */
.fhero + .usp { padding-top: 7.5rem; border-top: 0; background: var(--off-white); }

/* ---- Abonnementsbånd på forsiden ---- */
.abo-band { background: var(--ink); color: var(--slate-on-dark); overflow: hidden; }
.abo-band::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 70% at 85% 10%, rgba(25,181,172,.22), transparent 60%), radial-gradient(40% 50% at 0% 100%, rgba(12,110,105,.25), transparent 60%); }
.abo-band > .wrap { position: relative; }
.abo-band__grid { display: grid; grid-template-columns: 1fr minmax(0, 520px); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.abo-band h2 { color: #fff; }
.abo-band .section__lead { color: var(--slate-on-dark); }
.abo-steps { counter-reset: abo; display: grid; gap: .9rem; margin-top: 1.8rem; padding: 0; list-style: none; }
.abo-steps li { counter-increment: abo; display: grid; grid-template-columns: 2.1rem 1fr; column-gap: .9rem; }
.abo-steps li::before { content: counter(abo); grid-row: span 2; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: var(--r-sm); background: rgba(25,181,172,.16); color: var(--aqua-300); font-weight: 800; }
.abo-steps b { color: #fff; }
.abo-steps span { font-size: .93rem; color: var(--slate-on-dark); }
.abo-band__rule { display: flex; gap: .55rem; align-items: flex-start; margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--line-dark); font-size: .92rem; color: #cdd6d9; }
.abo-band__rule .ic { width: 1.2em; height: 1.2em; color: var(--aqua-300); flex: none; margin-top: .1em; }

/* ---- Abonnementsberegner ---- */
.plancalc { background: #fff; color: var(--text); border-radius: var(--r-xl); padding: clamp(1.3rem, 3vw, 2rem); box-shadow: 0 34px 80px -34px rgba(0,0,0,.6); display: grid; gap: 1.2rem; }
.plancalc__group { display: grid; gap: .55rem; }
.plancalc__group--inline { grid-template-columns: auto 1fr; align-items: center; gap: .9rem; }
.plancalc__lbl { font-size: .82rem; font-weight: 800; color: var(--ink); }
.plancalc__pkgsub { font-size: .84rem; color: var(--slate); }
.seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; background: var(--off-white); border: 1px solid var(--line); border-radius: var(--r); padding: .25rem; gap: .25rem; }
.seg__btn { padding: .65rem .6rem; border-radius: calc(var(--r) - 3px); font-weight: 700; font-size: .95rem; color: var(--slate); transition: background-color .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease); }
.seg__btn:hover { color: var(--ink); }
.seg__btn.is-on { background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(16,24,28,.08), 0 0 0 1.5px var(--aqua); }
.seg--sm { justify-self: start; }
.seg--sm .seg__btn { padding: .5rem .9rem; font-size: .86rem; white-space: nowrap; }
.chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .45rem; }
.chips--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.chips--5 > .chip { grid-column: span 2; }
.chips--5 > .chip:nth-child(n+4) { grid-column: span 3; }
.chip { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; padding: .6rem .75rem; border: 1.5px solid var(--line-2); border-radius: var(--r); text-align: left; transition: border-color .18s var(--ease), background-color .18s var(--ease); }
.chip b { font-size: .9rem; color: var(--ink); line-height: 1.2; }
.chip small { font-size: .76rem; font-weight: 700; color: var(--aqua-700); }
.chip:hover { border-color: var(--aqua); }
.chip.is-on { border-color: var(--aqua); background: var(--aqua-50); box-shadow: 0 0 0 1px var(--aqua); }
.plancalc__result { border-top: 1px solid var(--line); padding-top: 1.1rem; }
.plancalc__price { display: flex; align-items: baseline; gap: .45rem; line-height: 1; }
.plancalc__price b { font-size: clamp(3rem, 6vw, 4.2rem); font-weight: 800; letter-spacing: -.04em; color: var(--ink); font-variant-numeric: tabular-nums; }
.plancalc__price span { font-size: 1.1rem; font-weight: 800; color: var(--aqua-700); }
.plancalc__sub { margin-top: .5rem; color: var(--slate); font-size: .95rem; }
.plancalc__save { margin-top: .2rem; color: var(--aqua-700); font-weight: 800; font-size: .95rem; min-height: 1.4em; }
.plancalc__cta { justify-content: center; width: 100%; }
.plancalc__fine { font-size: .82rem; color: var(--slate-2); text-align: center; margin-top: -.4rem; }
.plancalc :focus-visible { outline-offset: 2px; }

/* ---- Erhvervskort med billede ---- */
.bizcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.bizcard { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-xs); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.bizcard:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.bizcard__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink); }
.bizcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.bizcard:hover .bizcard__media img { transform: scale(1.04); }
.bizcard__body { display: flex; flex-direction: column; gap: .4rem; padding: 1.2rem 1.35rem 1.35rem; flex: 1; position: relative; }
.bizcard__ic { position: absolute; top: -1.4rem; left: 1.2rem; display: grid; place-items: center; width: 46px; height: 46px; border-radius: var(--r); background: var(--ink); color: var(--aqua-300); box-shadow: var(--shadow-sm); }
.bizcard__ic .ic { width: 22px; height: 22px; }
.bizcard__title { margin-top: 1.2rem; font-size: var(--fs-h5); color: var(--ink); }
.bizcard__text { color: var(--slate); font-size: .96rem; }
.bizcard .card__link { margin-top: auto; padding-top: .6rem; }
.bizcard:hover .card__link .ic { transform: translateX(4px); }

/* ---- Foto-sidehoved (undersider) ---- */
.phero { position: relative; isolation: isolate; color: #fff; background: var(--ink); padding-block: clamp(3rem, 7vw, 5.5rem); min-height: clamp(340px, 42vw, 480px); display: flex; align-items: center; }
.phero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--phero-img) var(--phero-pos, center) / cover no-repeat; }
.phero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15,19,22,.93) 0%, rgba(15,19,22,.8) 38%, rgba(15,19,22,.3) 70%, rgba(15,19,22,.1) 100%); }
.phero__inner { width: 100%; }
.phero__inner > * { max-width: 640px; }
.phero__crumb { display: flex; flex-wrap: wrap; gap: .45rem; font-size: .84rem; color: #9fb0b5; margin-bottom: 1.1rem; }
.phero__crumb a:hover { color: #fff; }
.phero__title { color: #fff; font-size: clamp(2.2rem, 4.4vw, 3.5rem); line-height: 1.06; text-wrap: balance; }
.phero__lead { color: #d5dee0; font-size: var(--fs-lead); margin-top: 1rem; }
.phero__actions { margin-top: 1.6rem; }
.phero__facts { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; margin-top: 1.5rem; font-size: .92rem; color: #cdd6d9; }
.phero__facts li { display: inline-flex; gap: .4rem; align-items: center; }
.phero__facts .ic { width: 1.15em; height: 1.15em; color: var(--aqua-300); }
.phero__facts strong { color: #fff; }
.phero .btn--ghost { color: #fff; border-color: rgba(255,255,255,.3); }
.phero .btn--ghost:hover { border-color: var(--aqua-300); color: var(--aqua-300); }

/* ---- Abonnementssiden: plan-grid ---- */
.plangrid__bar { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: .9rem 1rem; box-shadow: var(--shadow-xs); margin-bottom: 1.25rem; }
.plangrid__bar .chips { flex: 1; grid-template-columns: repeat(5, minmax(0, 1fr)); min-width: min(100%, 560px); }
.plangrid__note { text-align: center; color: var(--slate); font-size: .95rem; margin: -.25rem 0 1.4rem; }
.plancards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; align-items: stretch; }
.plancard { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.6rem 1.5rem; box-shadow: var(--shadow-xs); display: flex; flex-direction: column; }
.plancard.is-featured { border-color: var(--aqua); box-shadow: 0 0 0 1px var(--aqua), var(--shadow); }
.plancard__name { font-size: var(--fs-h5); }
.plancard__type { color: var(--aqua-700); font-weight: 700; font-size: .95rem; margin-top: .15rem; }
.plancard__price { display: flex; align-items: baseline; gap: .35rem; margin: 1rem 0 .25rem; line-height: 1; }
.plancard__price b { font-size: clamp(2.6rem, 5vw, 3.3rem); font-weight: 800; letter-spacing: -.035em; color: var(--ink); font-variant-numeric: tabular-nums; }
.plancard__price span { font-weight: 800; color: var(--aqua-700); }
.plancard__meta { font-size: .9rem; color: var(--slate); }
.plancard__save { display: inline-block; margin-top: .55rem; font-size: .82rem; font-weight: 800; color: var(--aqua-700); background: var(--aqua-50); border-radius: var(--r-pill); padding: .2rem .65rem; width: fit-content; }
.plancard__pay { font-size: .84rem; color: var(--slate-2); margin-top: .6rem; }
.plancard .checklist { margin: 1.1rem 0 1.4rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.plancard .btn { justify-content: center; margin-top: auto; }

.rules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.rule { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.3rem 1.4rem; display: grid; grid-template-columns: 44px 1fr; gap: .2rem 1rem; }
.rule__ic { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r); background: var(--aqua-50); color: var(--aqua-700); }
.rule__ic .ic { width: 22px; height: 22px; }
.rule h3 { font-size: 1.05rem; }
.rule p { color: var(--slate); font-size: .95rem; }

.split--abo .split__media img { aspect-ratio: 4 / 3; }

/* ---- Erhverv: beregner + formular ---- */
.b2b { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.b2b-calc, .leadform { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(1.3rem, 3vw, 2rem); box-shadow: var(--shadow-sm); }
.b2b-calc h3, .leadform h3 { font-size: var(--fs-h4); margin-bottom: .35rem; }
.b2b-calc__intro, .leadform__intro { color: var(--slate); margin-bottom: 1.3rem; font-size: .96rem; }
.b2b-field { display: grid; gap: .45rem; margin-bottom: 1.1rem; }
.b2b-field > span { font-size: .82rem; font-weight: 800; color: var(--ink); }
.b2b-range { display: grid; grid-template-columns: 1fr 5.2rem; gap: .9rem; align-items: center; }
.b2b-range input[type=range] { width: 100%; accent-color: var(--aqua); }
.b2b-range input[type=number] { text-align: center; }
.b2b-out { margin-top: .4rem; border-radius: var(--r-lg); background: var(--ink); color: var(--slate-on-dark); padding: 1.2rem 1.3rem; }
.b2b-out__row { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; font-size: .93rem; }
.b2b-out__row b { color: #fff; font-variant-numeric: tabular-nums; }
.b2b-out__total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; border-top: 1px solid var(--line-dark); margin-top: .6rem; padding-top: .8rem; }
.b2b-out__total b { font-size: 2rem; font-weight: 800; color: #fff; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.b2b-out__total span { color: var(--aqua-300); font-weight: 700; font-size: .9rem; }
.b2b-out__note { font-size: .8rem; color: var(--slate-2); margin-top: .6rem; }
.b2b-out.is-quote .b2b-out__total b { font-size: 1.35rem; }
.input, .select, .textarea { display: block; width: 100%; font: inherit; font-weight: 400; font-size: 1rem; color: var(--text); background: #fff; border: 1.5px solid var(--line-2); border-radius: var(--r); padding: .78rem 1rem; min-height: 50px; transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.input:focus, .select:focus, .textarea:focus { outline: none; border-color: var(--aqua); box-shadow: 0 0 0 4px var(--aqua-50); }
.select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C6A70' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 10l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 18px; padding-right: 2.6rem; cursor: pointer; }
.textarea { min-height: 110px; resize: vertical; }
.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; }
.fgrid { align-items: end; }
.fgrid label { display: flex; flex-direction: column; gap: .4rem; font-size: .88rem; font-weight: 700; color: var(--slate); }
.fgrid .full { grid-column: 1 / -1; }
.fgrid .opt { font-weight: 500; color: var(--slate-2); }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-msg { border-radius: var(--r); padding: .85rem 1.05rem; font-size: .93rem; margin: 1rem 0 0; }
.form-msg.is-err { background: #fceaea; border: 1px solid #f0c7c9; color: #b32d2e; }
.form-msg.is-ok { background: var(--aqua-50); border: 1px solid #cdeeeb; color: var(--aqua-700); font-weight: 600; }
.leadform .btn { width: 100%; justify-content: center; margin-top: 1.1rem; }
.leadform__done { text-align: center; padding: 1.5rem 0; }
.leadform__done .gift-receipt__ic { margin-inline: auto; }

.ptable { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.ptable th, .ptable td { padding: .9rem 1.1rem; text-align: left; border-bottom: 1px solid var(--line); }
.ptable thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--slate); background: var(--off-white); }
.ptable td.num, .ptable th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ptable tbody tr:last-child td { border-bottom: 0; }
.ptable strong { color: var(--ink); }
.ptable-wrap { overflow-x: auto; border-radius: var(--r-lg); }

.featurelist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2rem; }
.featurelist li { display: grid; grid-template-columns: 44px 1fr; gap: .15rem .9rem; }
.featurelist .rule__ic { grid-row: span 2; }
.featurelist b { color: var(--ink); }
.featurelist span { color: var(--slate); font-size: .95rem; }

/* ---- Min side ---- */
.acct { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.acct__nav { position: sticky; top: calc(var(--header-h-full) + 16px); background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: .6rem; box-shadow: var(--shadow-xs); display: grid; gap: .15rem; }
.acct__nav a, .acct__nav button { display: flex; align-items: center; gap: .65rem; padding: .7rem .8rem; border-radius: var(--r-sm); font-weight: 700; color: var(--slate); font-size: .96rem; width: 100%; text-align: left; }
.acct__nav a .ic, .acct__nav button .ic { width: 1.2em; height: 1.2em; }
.acct__nav a:hover, .acct__nav button:hover { background: var(--off-white); color: var(--ink); }
.acct__nav a.is-active { background: var(--ink); color: #fff; }
.acct__nav a.is-active .ic { color: var(--aqua-300); }
.acct__nav hr { border: 0; border-top: 1px solid var(--line); margin: .35rem .4rem; }
.acct__nav form { margin: 0; }
.acct__main { display: grid; gap: 1.25rem; min-width: 0; }
.acct__hello { font-size: var(--fs-h3); }
.acct__sub { color: var(--slate); margin-top: .3rem; }
.box { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.2rem, 2.6vw, 1.7rem); box-shadow: var(--shadow-xs); }
.box__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem 1rem; margin-bottom: 1rem; }
.box__head h2 { font-size: var(--fs-h5); }
.box--dark { background: var(--ink); color: var(--slate-on-dark); border-color: transparent; }
.box--dark h2, .box--dark h3 { color: #fff; }
.kv { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid var(--line); font-size: .95rem; }
.kv:last-child { border-bottom: 0; }
.kv span { color: var(--slate); }
.kv b { color: var(--ink); text-align: right; }
.box--dark .kv { border-color: var(--line-dark); }
.box--dark .kv span { color: var(--slate-on-dark); }
.box--dark .kv b { color: #fff; }
.tag { display: inline-flex; align-items: center; padding: .16rem .6rem; border-radius: var(--r-pill); font-size: .76rem; font-weight: 800; background: var(--off-white); color: var(--slate); white-space: nowrap; }
.tag--ok { background: #e7f7ea; color: #1a7f37; }
.tag--warn { background: #fff3e2; color: #b25e09; }
.tag--abo { background: var(--aqua-50); color: var(--aqua-700); }
.tag--dark { background: rgba(255,255,255,.1); color: var(--aqua-300); }
.olist { display: grid; gap: .6rem; }
.orow { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; border: 1px solid var(--line); border-radius: var(--r); padding: .8rem 1rem; }
.orow__date { text-align: center; line-height: 1.1; border-right: 1px solid var(--line); padding-right: .9rem; }
.orow__date b { display: block; font-size: 1.45rem; color: var(--ink); font-weight: 800; }
.orow__date span { font-size: .78rem; color: var(--slate); text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }
.orow__main { min-width: 0; }
.orow__main b { color: var(--ink); display: block; }
.orow__main span { color: var(--slate); font-size: .9rem; }
.orow__main .tag { margin: .3rem .3rem 0 0; }
.orow__side { text-align: right; font-weight: 800; color: var(--ink); white-space: nowrap; }
.orow__side a { display: block; font-size: .84rem; font-weight: 700; color: var(--accent-ink); }
.credits { display: flex; flex-wrap: wrap; gap: .6rem; margin: .9rem 0 1.1rem; }
.credit { border-radius: var(--r); padding: .7rem .9rem; background: rgba(255,255,255,.06); border: 1px solid var(--line-dark); min-width: 9.5rem; }
.credit b { display: block; font-size: 1.6rem; color: #fff; font-weight: 800; line-height: 1; }
.credit span { font-size: .8rem; color: var(--slate-on-dark); }
.empty { color: var(--slate); }
.empty .btn { margin-top: .9rem; }
.cardlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .8rem; }
.minicard { border: 1px solid var(--line); border-radius: var(--r); padding: 1rem 1.1rem; display: grid; gap: .25rem; }
.minicard b { color: var(--ink); }
.minicard span { color: var(--slate); font-size: .9rem; }
.minicard__actions { display: flex; gap: .9rem; margin-top: .5rem; }
.minicard__actions button, .minicard__actions a { font-weight: 700; font-size: .86rem; color: var(--accent-ink); }
.minicard__actions .is-danger { color: #c2393a; }
.notice { border-radius: var(--r); padding: .9rem 1.1rem; font-size: .95rem; }
.notice--ok { background: var(--aqua-50); color: var(--aqua-700); border: 1px solid #cdeeeb; font-weight: 600; }
.notice--warn { background: #fff3e2; color: #8a4a06; border: 1px solid #f6d7ae; }
details.addform { border: 1.5px dashed var(--line-2); border-radius: var(--r); padding: .2rem 1rem; }
details.addform[open] { border-style: solid; padding-bottom: 1rem; }
details.addform summary { cursor: pointer; list-style: none; font-weight: 800; color: var(--accent-ink); padding: .75rem 0; display: flex; align-items: center; gap: .45rem; }
details.addform summary::-webkit-details-marker { display: none; }
details.addform summary .ic { width: 1.1em; height: 1.1em; }
.acct-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; max-width: 1040px; margin-inline: auto; }
.acct-login__card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(1.4rem, 3vw, 2.2rem); box-shadow: var(--shadow); }
.acct-login__card h1 { font-size: var(--fs-h3); }
.acct-login__card .tabs { margin: 1.2rem 0 1.3rem; }
.acct-login__card .btn { width: 100%; justify-content: center; margin-top: 1rem; }
.or { display: flex; align-items: center; gap: .8rem; color: var(--slate-2); font-size: .85rem; margin: 1.1rem 0 .2rem; }
.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.acct-login__aside h2 { font-size: var(--fs-h4); }
.acct-login__aside .checklist { margin-top: 1rem; }

/* ---- Booking: tilstande, gemte biler/adresser, opsalg ---- */
.bk-mode { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; background: var(--aqua-50); border: 1px solid #cdeeeb; border-radius: var(--r-lg); padding: 1rem 1.2rem; margin-bottom: 1.25rem; }
.bk-mode__ic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--r); background: var(--ink); color: var(--aqua-300); flex: none; }
.bk-mode__ic .ic { width: 22px; height: 22px; }
.bk-mode__txt { flex: 1; min-width: 220px; }
.bk-mode__txt b { display: block; color: var(--ink); font-size: 1.05rem; }
.bk-mode__txt span { color: var(--slate); font-size: .92rem; }
.bk-mode a, .bk-mode button { font-weight: 700; color: var(--accent-ink); font-size: .92rem; }
.bk-saved { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.1rem; }
.bk-saved__lbl { width: 100%; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--slate); }
.bk-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .95rem; border: 1.5px solid var(--line-2); border-radius: var(--r-pill); background: #fff; font-weight: 700; font-size: .9rem; color: var(--ink); transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.bk-chip .ic { width: 1.1em; height: 1.1em; color: var(--aqua-700); }
.bk-chip:hover { border-color: var(--aqua); }
.bk-chip.is-on { border-color: var(--aqua); background: var(--aqua-50); }
.bk-upsell { margin-top: 1rem; border-radius: var(--r); background: rgba(25,181,172,.12); border: 1px solid rgba(111,216,208,.35); padding: .95rem 1rem; }
.bk-upsell b { color: #fff; display: block; }
.bk-upsell p { font-size: .86rem; color: var(--slate-on-dark); margin: .25rem 0 .7rem; }
.bk-upsell__freqs { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .7rem; }
.bk-upsell__freqs button { font-size: .78rem; font-weight: 700; padding: .3rem .65rem; border-radius: var(--r-pill); border: 1px solid rgba(255,255,255,.22); color: #dfe8ea; }
.bk-upsell__freqs button.is-on { background: var(--aqua); border-color: var(--aqua); color: #04221f; }
.bk-upsell .btn { width: 100%; justify-content: center; }
.bk-sum-line--abo span:last-child { color: var(--aqua-300); }
.bk-cal__day.is-nocredit { opacity: .35; }
.bk-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; margin: 0 0 1.25rem; padding: 0; list-style: none; counter-reset: bkp; }
.bk-progress li { counter-increment: bkp; display: flex; align-items: center; gap: .5rem; font-size: .86rem; font-weight: 700; color: var(--slate-2); padding-top: .55rem; border-top: 3px solid var(--line); }
.bk-progress li::before { content: counter(bkp); display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--line); color: var(--slate); font-size: .75rem; }
.bk-progress li.is-done { color: var(--slate); border-color: var(--aqua-300); }
.bk-progress li.is-done::before { content: "✓"; background: var(--aqua-300); color: #04221f; }
.bk-progress li.is-now { color: var(--ink); border-color: var(--aqua); }
.bk-progress li.is-now::before { background: var(--ink); color: var(--aqua-300); }

/* ---- Responsivt ---- */
@media (max-width: 1100px) {
	.tabpanel { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
	.tabpanel__side { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.5rem; }
	.tabpanel__note { margin: 0; flex: 1; min-width: 260px; }
	.tabpanel__side .btn-row { flex-direction: row; }
}
@media (max-width: 980px) {
	.abo-band__grid, .b2b, .acct-login { grid-template-columns: 1fr; }
	.bizcards, .plancards { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
	.acct { grid-template-columns: 1fr; }
	.acct__nav { position: static; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; scrollbar-width: none; }
	.acct__nav hr, .acct__nav form { display: none; }
	.rules, .featurelist { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.fhero { padding-top: 0; }
	.fhero::before { height: 300px; bottom: auto; background-position: 72% center; }
	.fhero::after { height: 300px; background: linear-gradient(0deg, var(--ink) 0%, rgba(15,19,22,.2) 55%, rgba(15,19,22,0) 100%); }
	.fhero__content { padding-top: 240px; }
	.fhero__panel { margin-bottom: -5rem; }
	.fhero + .usp { padding-top: 5rem; }
	.tabpanel { grid-template-columns: 1fr; }
	.tabs { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
	.tabs__btn { justify-content: center; padding: .6rem .4rem; font-size: .88rem; }
	.tabs__btn .ic { display: none; }
	.plangrid__bar .chips { grid-template-columns: repeat(2, 1fr); }
	.phero { min-height: 0; }
	.phero::after { background: linear-gradient(90deg, rgba(15,19,22,.92), rgba(15,19,22,.7)); }
	.fgrid { grid-template-columns: 1fr; }
	.orow { grid-template-columns: 3.6rem minmax(0, 1fr); }
	.orow__side { grid-column: 2; text-align: left; }
	.bk-progress li span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.bizcard, .bizcard__media img { transition: none; }
}

/* Abonnementssiden: trin på lys baggrund + chip-bar med fem lige brede valg */
.abo-steps--light li::before { background: var(--ink); color: var(--aqua-300); }
.abo-steps--light b { color: var(--ink); }
.abo-steps--light span { color: var(--slate); }
.chips--bar { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Felter uden for .fgrid + afkrydsning (Min side) */
.lfield { display: flex; flex-direction: column; gap: .4rem; font-size: .88rem; font-weight: 700; color: var(--slate); }
.fgrid label.check, .check { display: flex; flex-direction: row; align-items: flex-start; gap: .6rem; font-weight: 600; color: var(--slate); cursor: pointer; }
.check input { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--aqua); flex: none; }
.acct-login__card form + .or, .acct-login__card .lfield + .btn { margin-top: .9rem; }

/* Booking: låst abonnementspakke fylder hele rækken */
.bk-pkg--locked { grid-column: 1 / -1 !important; cursor: default; }
.bk-pkg--locked:hover { transform: none; }
.bk-pkg__price small { font-size: .9rem; font-weight: 700; color: var(--slate); letter-spacing: 0; }

/* Header: Min side / Log ind */
.nav__account { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .6rem; border-radius: var(--r-sm); font-weight: 700; font-size: .94rem; color: #303a40; white-space: nowrap; transition: color .2s var(--ease), background-color .2s var(--ease); }
.nav__account .ic { width: 1.2em; height: 1.2em; color: var(--aqua-700); }
.nav__account:hover { color: var(--accent-ink); background: var(--aqua-50); }
@media (max-width: 1240px) and (min-width: 861px) { .nav__cta .btn--ghost { display: none; } }
@media (max-width: 860px) { .nav__account { justify-content: center; border: 1.5px solid var(--line-2); border-radius: var(--r-pill); padding: .8rem 1rem; } }
@media (max-width: 760px) {
	.tabpanel__side { display: block; }
	.tabpanel__side .btn-row { flex-direction: column; align-items: stretch; }
	.tabpanel__note { margin-bottom: .9rem; }
	.phero__actions .btn { flex: 1 1 100%; justify-content: center; }
}

/* Booking: medlemspriser, faktura-valg */
.bk-pkg__member { font-size: .8rem; font-weight: 700; color: var(--accent-ink); }
.bk-sum-was { color: var(--slate-on-dark); opacity: .7; font-weight: 500; margin-right: .2rem; }
.bk-sum-member { display: flex; align-items: center; gap: .45rem; margin-top: .55rem; font-size: .86rem; color: var(--aqua-300); }
.bk-sum-member .ic { width: 1.05em; height: 1.05em; flex: none; }
.bk-sum-member b { color: #fff; }
.bk-upsell--member + .bk-upsell { margin-top: .6rem; }
.bk-check--member { background: var(--aqua-50); border: 1px solid #cdeeeb; border-radius: var(--r); padding: .8rem 1rem; color: var(--ink); transition: box-shadow .3s var(--ease); }
.bk-check--member b { font-weight: 700; }
.bk-check--member.is-flash { box-shadow: 0 0 0 3px var(--aqua-300); }
.bk-collect__opts { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.bk-collect__opt { display: flex; gap: .6rem; align-items: flex-start; padding: .8rem 1rem; border: 1.5px solid var(--line-2); border-radius: var(--r); cursor: pointer; background: #fff; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.bk-collect__opt input { margin-top: .2rem; width: 18px; height: 18px; accent-color: var(--aqua); flex: none; }
.bk-collect__opt b { display: block; color: var(--ink); }
.bk-collect__opt small { display: block; color: var(--slate); font-size: .84rem; }
.bk-collect__opt:has(input:checked) { border-color: var(--aqua); background: var(--aqua-50); }
@media (max-width: 560px) { .bk-collect__opts { grid-template-columns: 1fr; } }

/* Medlemskab: bånd, kort, prisliste */
.memberstrip { display: flex; align-items: center; gap: 1.1rem 1.4rem; flex-wrap: wrap; margin-top: 2rem; padding: 1.1rem 1.4rem; border-radius: var(--r-xl); background: var(--aqua-50); border: 1px solid #cdeeeb; }
.memberstrip__ic { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #fff; color: var(--aqua-700); flex: none; }
.memberstrip__ic .ic { width: 1.5rem; height: 1.5rem; }
.memberstrip__txt { flex: 1 1 420px; min-width: 0; }
.memberstrip__txt > b { display: block; color: var(--ink); font-size: 1.08rem; margin-bottom: .3rem; }
.memberstrip__perks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
.memberstrip__perks li { display: inline-flex; align-items: center; gap: .35rem; font-size: .92rem; color: var(--slate); }
.memberstrip__perks .ic { width: 1em; height: 1em; color: var(--aqua-700); flex: none; }
.memberstrip__btn { flex: none; }
@media (max-width: 640px) { .memberstrip__btn { width: 100%; justify-content: center; } }
.pricecard__member { font-size: .9rem; color: var(--accent-ink); margin: -.15rem 0 .1rem; }
.pricecard__member b { font-weight: 800; }
.ptable__sub { color: var(--slate); font-size: .88rem; }
.ptable__save { color: var(--accent-ink); font-weight: 700; }
.compare--member table { min-width: 560px; }
.compare--member td strong { color: var(--ink); }
.memberbox { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(1.3rem, 3vw, 2rem); box-shadow: var(--shadow-sm); }
.memberbox h3 { font-size: var(--fs-h4); margin-bottom: .35rem; }
.memberbox p { color: var(--slate); margin-bottom: 1.1rem; }
.memberbox__ic { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--aqua-50); color: var(--aqua-700); margin-bottom: .8rem; }
.memberbox__ic .ic { width: 1.3rem; height: 1.3rem; }
.split--member { align-items: start; }
.inline-form { display: inline-flex; margin: 0; }
.member-box .checklist { margin-top: .2rem; }
.member-addons { margin-top: 1.25rem; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); }
.member-addons > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; cursor: pointer; list-style: none; font-weight: 700; color: var(--ink); }
.member-addons > summary::-webkit-details-marker { display: none; }
.member-addons__more { display: inline-flex; align-items: center; gap: .35rem; font-size: .9rem; color: var(--accent-ink); white-space: nowrap; }
.member-addons__more .ic { width: 1em; height: 1em; transition: transform .2s var(--ease); }
.member-addons[open] .member-addons__more .ic { transform: rotate(180deg); }
.member-addons .ptable { border: 0; border-top: 1px solid var(--line); border-radius: 0 0 var(--r-lg) var(--r-lg); }
.member-addons > summary:focus-visible { outline: 2px solid var(--aqua); outline-offset: 2px; border-radius: var(--r-lg); }
@media (max-width: 560px) {
	.ptable--member th:nth-child(4), .ptable--member td:nth-child(4), .ptable--member .ptable__sub, .ptable--member br { display: none; }
	.ptable--member th, .ptable--member td { padding: .8rem .75rem; }
}

/* Booking: genoptag, konto-valg, login og gem bil/adresse */
.bk-resume { display: flex; align-items: center; justify-content: space-between; gap: .8rem 1.4rem; flex-wrap: wrap; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: .95rem 1.2rem; margin-bottom: 1.25rem; box-shadow: var(--shadow-xs); }
.bk-resume__txt { display: flex; flex-direction: column; min-width: 0; }
.bk-resume__txt b { color: var(--ink); }
.bk-resume__txt span { color: var(--slate); font-size: .92rem; }
.bk-resume__btns { display: flex; gap: .5rem; flex-wrap: wrap; }
.bk-have-acc { margin: -.4rem 0 1.1rem; font-size: .95rem; color: var(--slate); }
.bk-have-acc button { font-weight: 700; color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.bk-login { border: 1.5px solid var(--aqua); border-radius: var(--r-lg); padding: 1.1rem 1.2rem; margin: 0 0 1.2rem; background: #fff; }
.bk-login__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .8rem; }
.bk-login__head b { color: var(--ink); font-size: 1.05rem; }
.bk-login__x { font-size: 1.5rem; line-height: 1; color: var(--slate); padding: 0 .3rem; }
.bk-login .bk-field { margin-bottom: 0; }
.bk-login__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.bk-login__msg { min-height: 0; margin-top: .7rem; font-size: .92rem; color: var(--slate); }
.bk-login__msg:empty { display: none; }
.bk-login__msg.is-err { color: #b3261e; }
.bk-login__msg.is-ok { color: var(--accent-ink); font-weight: 600; }
.bk-login__note { margin-top: .7rem; font-size: .86rem; color: var(--slate); }
.bk-who { margin-bottom: 1.3rem; }
.bk-who__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.bk-who__opt { display: flex; align-items: center; gap: .7rem; text-align: left; padding: .85rem .95rem; border: 1.5px solid var(--line-2); border-radius: var(--r); background: #fff; color: var(--text); transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.bk-who__opt:hover { border-color: var(--aqua); }
.bk-who__opt.is-on { border-color: var(--aqua); background: var(--aqua-50); box-shadow: inset 0 0 0 1px var(--aqua); }
.bk-who__opt[hidden] { display: none; }
.bk-who__ic { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--off-white); color: var(--aqua-700); flex: none; }
.bk-who__opt.is-on .bk-who__ic { background: #fff; }
.bk-who__ic .ic { width: 1.1rem; height: 1.1rem; }
.bk-who__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.bk-who__txt b { color: var(--ink); font-size: .95rem; }
.bk-who__txt small { color: var(--slate); font-size: .8rem; margin-top: .15rem; }
.bk-who__info { margin-top: .75rem; font-size: .9rem; color: var(--slate); }
.bk-who [data-login-slot] { margin-top: .9rem; }
.bk-who [data-login-slot] .bk-login { margin-bottom: 0; }
.bk-who [data-remind-row] { margin-top: .8rem; }
.bk-me { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; background: var(--aqua-50); border: 1px solid #cdeeeb; border-radius: var(--r); padding: .8rem 1rem; margin-bottom: 1.2rem; }
.bk-me[hidden] { display: none; }
.bk-me__ic { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #fff; color: var(--aqua-700); flex: none; }
.bk-me__ic .ic { width: 1rem; height: 1rem; }
.bk-me__txt { display: flex; flex-direction: column; flex: 1; min-width: 180px; }
.bk-me__txt b { color: var(--ink); }
.bk-me__txt span { color: var(--slate); font-size: .88rem; }
.bk-me__out { font-size: .88rem; font-weight: 700; color: var(--accent-ink); }
.bk-check--sm { font-size: .9rem; align-items: center; }
.bk-check--sm input { margin-top: 0; }
.bk-acc-note { display: flex; align-items: center; gap: .4rem; margin-top: .55rem; font-size: .84rem; color: var(--accent-ink); font-weight: 600; }
.bk-acc-note .ic { width: 1em; height: 1em; }
.bk-acc-save { margin-top: .7rem; padding-top: .7rem; border-top: 1px dashed var(--line-2); }
.bk-acc-swap { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: .55rem; font-size: .84rem; color: var(--slate); }
.bk-chip--sm { padding: .35rem .7rem; font-size: .82rem; }
.bk-saveaddr { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: -.2rem 0 1.1rem; padding: .75rem .9rem; background: var(--off-white); border-radius: var(--r); }
.bk-saveaddr[hidden] { display: none; }
.bk-input--sm { width: auto; flex: 1 1 200px; padding: .55rem .8rem; font-size: .92rem; }
@media (max-width: 760px) {
	.bk-who__opts { grid-template-columns: 1fr; }
	.bk-login__actions .btn { width: 100%; justify-content: center; }
}

/* Min side v2.3: hurtigkort, abonnementsoverblik, henvisning */
.acct__intro .tag { margin-left: .35rem; vertical-align: middle; }
.acct__fine { font-size: .88rem; margin-top: 1rem; }
.box--hint { background: var(--aqua-50); border-color: #cdeeeb; }
.box--hint p { color: var(--slate); margin-bottom: .9rem; }
.acct-quick { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 1.25rem; }
.acct-quick > :only-child { grid-column: 1 / -1; }
.quickcard { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.2rem, 2.6vw, 1.6rem); box-shadow: var(--shadow-xs); display: flex; flex-direction: column; }
.quickcard--soft { background: var(--aqua-50); border-color: #cdeeeb; box-shadow: none; }
.quickcard__ic { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--ink); color: var(--aqua-300); margin-bottom: .8rem; }
.quickcard--soft .quickcard__ic { background: #fff; color: var(--aqua-700); }
.quickcard__ic .ic { width: 1.2rem; height: 1.2rem; }
.quickcard h2 { font-size: var(--fs-h5); }
.quickcard p { color: var(--slate); margin: .35rem 0 1rem; font-size: .95rem; }
.quickcard p b { color: var(--ink); }
.quickcard .btn-row { margin-top: auto; }
.orow__tags { display: block; }
.orow__side b { display: block; color: var(--ink); }
.orow__due { display: block; font-size: .84rem; font-weight: 700; color: #b25e09; }

.subcard { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.2rem, 2.6vw, 1.7rem); box-shadow: var(--shadow-xs); display: grid; gap: 1.1rem; }
.subcard__head { display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem 1rem; flex-wrap: wrap; }
.subcard__head h2 { font-size: var(--fs-h5); }
.subcard__head p { color: var(--slate); font-size: .92rem; margin-top: .2rem; }
.subcard__period { background: var(--off-white); border-radius: var(--r); padding: 1rem 1.1rem; }
.subcard__ptitle { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .75rem; }
.subcard__ptitle b { color: var(--ink); }
.subcard__ptitle span { color: var(--slate); font-size: .92rem; }
.washmeter { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; }
.washmeter__s { display: flex; align-items: center; gap: .6rem; padding: .6rem .7rem; border-radius: var(--r-sm); background: #fff; border: 1.5px solid var(--line-2); }
.washmeter__ic { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; flex: none; background: var(--off-white); color: var(--slate); }
.washmeter__ic .ic { width: 1rem; height: 1rem; }
.washmeter__txt { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.washmeter__txt b { color: var(--ink); font-size: .9rem; }
.washmeter__txt small { color: var(--slate); font-size: .8rem; }
.washmeter__s.is-done { background: var(--off-white); border-color: transparent; }
.washmeter__s.is-done .washmeter__ic { background: #e7f7ea; color: #1a7f37; }
.washmeter__s.is-booked { border-color: var(--aqua-300); }
.washmeter__s.is-booked .washmeter__ic { background: var(--aqua-50); color: var(--aqua-700); }
.washmeter__s.is-free { border-color: var(--aqua); box-shadow: inset 0 0 0 1px var(--aqua); }
.washmeter__s.is-free .washmeter__ic { background: var(--aqua); color: #04221f; }
.subcard__status { margin-top: .8rem; color: var(--text); }
.subcard__status b { color: var(--ink); }
.subcard__carry, .subcard__rule { font-size: .88rem; color: var(--slate); margin-top: .3rem; }
.subcard__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .5rem 1rem; margin: 0; }
.subcard__facts div { display: flex; flex-direction: column; }
.subcard__facts dt { font-size: .78rem; font-weight: 700; color: var(--slate); text-transform: uppercase; letter-spacing: .04em; }
.subcard__facts dd { margin: .15rem 0 0; color: var(--ink); font-weight: 700; }
.subcard__facts .is-due dd { color: #b25e09; }
.subcard__btns { margin: 0; }
.subcard__pay summary { cursor: pointer; font-weight: 700; color: var(--accent-ink); }
.subcard__pay[open] summary { margin-bottom: .4rem; }
.subcard__cancel { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.subcard__cancel span { font-size: .86rem; color: var(--slate); flex: 1; min-width: 220px; }

.minicard.is-primary { border-color: var(--aqua-300); }
.minicard .plate { justify-self: start; font-weight: 700; color: var(--ink); background: var(--off-white); border-radius: 6px; padding: .05rem .45rem; font-size: .84rem; letter-spacing: .03em; }
.minicard__edit { margin-top: .5rem; border-top: 1px dashed var(--line-2); padding-top: .5rem; }
.minicard__edit summary { cursor: pointer; font-weight: 700; font-size: .86rem; color: var(--accent-ink); list-style: none; }
.minicard__edit summary::-webkit-details-marker { display: none; }
.minicard__edit[open] summary { margin-bottom: .6rem; }
.minicard__edit .fgrid { grid-template-columns: 1fr; }

.refgrid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 1.25rem; }
.refbal { display: flex; flex-direction: column; align-items: flex-start; background: var(--ink); color: var(--slate-on-dark); border-color: transparent; }
.refbal__lbl { font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--aqua-300); }
.refbal__amt { font-size: clamp(2.2rem, 4vw, 3rem); color: #fff; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; margin: .2rem 0 .4rem; font-variant-numeric: tabular-nums; }
.refbal p { font-size: .92rem; margin-bottom: 1rem; }
.refshare h2 { font-size: var(--fs-h5); }
.refshare p { color: var(--slate); margin: .35rem 0 1rem; }
.refshare p b { color: var(--ink); }
.copyfield { display: flex; gap: .5rem; }
.copyfield .input { flex: 1; min-width: 0; font-size: .92rem; }
.copyfield .btn { flex: none; }
.refshare__more { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin-top: .9rem; font-size: .9rem; color: var(--slate); }
.refshare__more a { font-weight: 700; color: var(--accent-ink); }
.refshare__more b { color: var(--ink); letter-spacing: .03em; }
.refsteps { counter-reset: rs; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.refsteps li { counter-increment: rs; display: flex; flex-direction: column; gap: .2rem; padding-top: 2.2rem; position: relative; }
.refsteps li::before { content: counter(rs); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: var(--r-sm); background: var(--aqua-50); color: var(--aqua-700); font-weight: 800; font-size: .85rem; }
.refsteps b { color: var(--ink); }
.refsteps span { color: var(--slate); font-size: .92rem; }
.kv b.is-plus { color: #1a7f37; }
.regform__hint { align-self: center; font-size: .84rem; color: var(--slate); }

/* Henvist af en ven: bar under menuen */
.refbar { background: var(--aqua-50); border-bottom: 1px solid #cdeeeb; color: var(--ink); font-size: .92rem; }
.refbar__in { display: flex; align-items: center; gap: .6rem 1rem; padding-block: .6rem; flex-wrap: wrap; }
.refbar__in > span { flex: 1; min-width: 200px; }
.refbar__go { font-weight: 800; color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.refbar__x { font-size: 1.3rem; line-height: 1; color: var(--slate); padding: 0 .3rem; }

@media (max-width: 860px) {
	.acct-quick, .refgrid { grid-template-columns: 1fr; }
	.refsteps { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.copyfield { flex-direction: column; }
	.orow { grid-template-columns: 3.4rem minmax(0, 1fr); }
	.orow__side { grid-column: 2; text-align: left; display: flex; flex-wrap: wrap; gap: .2rem 1rem; align-items: baseline; }
	.orow__side a, .orow__side b, .orow__due { display: inline; }
}

/* Forside-hero v2.3: mappefaner, der hænger sammen med kortet under dem */
.fhero__panel { background: none; box-shadow: none; padding: 0; border-radius: 0; }
.ftabs { display: grid; grid-template-columns: repeat(var(--ftabs, 3), minmax(0, 1fr)); gap: .4rem; max-width: 760px; }
.ftab { display: flex; align-items: center; gap: .75rem; min-width: 0; text-align: left; padding: .85rem 1.1rem; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-bottom: 0; border-radius: var(--r-lg) var(--r-lg) 0 0; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background-color .2s var(--ease), color .2s var(--ease); }
.ftab:hover { background: rgba(255,255,255,.18); }
.ftab:focus-visible { outline: 2px solid var(--aqua-300); outline-offset: -4px; }
.ftab.is-active { background: #fff; color: var(--ink); border-color: #fff; }
.ftab__ic { display: inline-grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; flex: none; background: rgba(255,255,255,.12); color: var(--aqua-300); }
.ftab.is-active .ftab__ic { background: var(--ink); color: var(--aqua-300); }
.ftab__ic .ic { width: 1.15rem; height: 1.15rem; }
.ftab__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.ftab__txt b { font-size: 1.02rem; }
.ftab__txt small { font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.72); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ftab.is-active .ftab__txt small { color: var(--accent-ink); }
.fhero__card { background: #fff; color: var(--text); border-radius: 0 var(--r-xl) var(--r-xl) var(--r-xl); box-shadow: 0 30px 70px -28px rgba(10,16,20,.55), 0 2px 6px rgba(10,16,20,.08); padding: clamp(1.3rem, 2.6vw, 2rem) clamp(1.2rem, 2.8vw, 2.1rem); }
.fhero__card .tabpanel { align-items: stretch; }
@media (min-width: 1101px) {
	.fhero__card .tabpanel > * { display: flex; flex-direction: column; justify-content: center; }
	.fhero__card .tabpanel > * + * { border-left: 1px solid var(--line); padding-left: clamp(1rem, 2.4vw, 2rem); }
}
/* Luft mellem kortet og striben under det */
.fhero + .usp { padding-top: calc(7.5rem + 2.25rem); }
@media (max-width: 760px) {
	.fhero + .usp { padding-top: calc(5rem + 1.5rem); }
	.ftabs { gap: .3rem; }
	.ftab { flex-direction: column; align-items: flex-start; gap: .1rem; padding: .7rem .75rem; }
	.ftab__ic { display: none; }
	.ftab__txt b { font-size: .95rem; }
	.ftab__txt small { font-size: .72rem; white-space: normal; }
	.fhero__card { border-radius: 0 0 var(--r-xl) var(--r-xl); }
}

/* Sektion: gratis bruger */
.acctpromo { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.acctpromo__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.acctpromo__list { margin: 1.4rem 0 1.6rem; }
.acctpromo__fine { margin-top: .9rem; font-size: .9rem; color: var(--slate); }
.demo { background: var(--off-white); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 1.3rem; box-shadow: 0 30px 60px -36px rgba(10,16,20,.35); display: grid; gap: .9rem; }
.demo__head { display: flex; align-items: center; gap: .75rem; }
.demo__av { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--ink); color: var(--aqua-300); font-weight: 800; }
.demo__who { display: flex; flex-direction: column; line-height: 1.2; }
.demo__who b { color: var(--ink); font-size: 1.05rem; }
.demo__who small { color: var(--accent-ink); font-weight: 700; font-size: .8rem; }
.demo__sec { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: .8rem .9rem; display: grid; gap: .45rem; }
.demo__sec > small { font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--slate); }
.demo__chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.demo__chips span { font-size: .84rem; font-weight: 700; color: var(--ink); background: var(--off-white); border: 1px solid var(--line-2); border-radius: var(--r-pill); padding: .25rem .65rem; }
.demo__row { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr) auto; gap: .5rem; align-items: center; font-size: .88rem; }
.demo__row b { color: var(--ink); }
.demo__row span { color: var(--slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo__row em { font-style: normal; font-size: .72rem; font-weight: 800; color: var(--aqua-700); background: var(--aqua-50); border-radius: var(--r-pill); padding: .1rem .5rem; }
.demo__again { display: flex; align-items: center; justify-content: space-between; gap: .8rem; background: var(--ink); border-radius: var(--r); padding: .85rem .95rem; }
.demo__again small { display: block; font-size: .74rem; color: var(--slate-on-dark); }
.demo__again b { color: #fff; font-size: .92rem; }
.demo__btn { flex: none; background: var(--aqua); color: #04221f; font-weight: 800; font-size: .86rem; border-radius: var(--r-pill); padding: .5rem .95rem; }
@media (max-width: 960px) {
	.acctpromo__grid { grid-template-columns: 1fr; }
	.acctpromo__demo { max-width: 480px; }
}
.wrap > .memberstrip:only-child { margin-bottom: clamp(2rem, 4vw, 3rem); }
.bk-have-acc button { padding: 0; }

/* Mobil: sammenligningstabeller skal kunne ses uden at scrolle sidelæns */
@media (max-width: 640px) {
	.pcompare__table { min-width: 0; }
	.pcompare__table th, .pcompare__table td { padding: .55rem .35rem; }
	.pcompare__table th:first-child, .pcompare__table td:first-child { width: 40%; padding-left: .7rem; }
	.pcompare__feat { font-size: .8rem; line-height: 1.3; }
	.pcompare__name { font-size: .8rem; line-height: 1.2; }
	.pcompare__price { font-size: .76rem; }
	.pcompare__price s { display: block; margin: 0; }
	.pcompare__lead span { font-size: .66rem; }
	.pcompare__yes .ic { width: 17px; height: 17px; }
	.pcompare__cta .btn { padding: .45rem .7rem; font-size: .78rem; }
	.compare table, .compare--member table { min-width: 0; }
	.compare th, .compare td { padding: .65rem .45rem; font-size: .8rem; line-height: 1.3; }
	.compare th:first-child, .compare td:first-child { padding-left: .75rem; }
	.compare thead th { font-size: .66rem; letter-spacing: .04em; }
	.compare .col-rex.is-head { font-size: .78rem; }
	.acctpromo .btn-row .btn { width: 100%; justify-content: center; }
}
.copyfield .btn { justify-content: center; }
