/* ==========================================================================
   pris.css — Zency pris- og produktsider (Batch A)

   Handle:  zency-pris
   Deps:    zency-design-system, zency-behandling, zency-by, zency-forside
   Bruges af: zency-pris-page.php via inc/zency-pris.php
              /priser/ (84659) · /klippekort/ (84658) · /massage-gavekort/ (84580)
              /massage-gavekort/koebenhavn/ (84749) · /firmamassage/ (709)

   HVAD DER **IKKE** STAAR HER
   ---------------------------
   Priskort, tabeller, FAQ, kort, faner, knapper, trin, fordelskort og
   CTA-baand kommer fra de eksisterende filer:
     .zby-price / .zb-mprice   by.css        (priskort + mobildaek)
     .zs-pristabel             sider.css     (prislistetabel m. CTA pr. raekke)
     .zb-faq / .zb-map /
     .zb-grid / .zb-wrap       behandling.css
     .z-steps / .z-benefit-*
     .z-callout / .z-btn       zency-design-system.css
     .zf-band / .zf-locations  forside.css
     .fakta / .marquee /
     .models2 / .sted / .calc
     .exit                     firmaby-sektioner.css (hubbens egen, .fm-rod)

   Filen ejer KUN de moebler der ikke fandtes i forvejen: hero-splittet med
   det visuelle pris-/gavekort, stjernelinjen, pillerne, koebs-iframen,
   betalingsmaerkerne, citatkortene, ansigtsgalleriet, NAP-blokken og de to
   lyse lead-formularer paa firmamassage-hubben.

   REGLER FILEN FOELGER
   --------------------
   1. Alt er scopet under .zpris (klassen paa <main>). Ingen bar
      element-selektor, saa intet kan bloe ud paa de resterende
      Elementor-sider.
   2. Kun var(--...) — ingen hex, ingen fontnavne.
   3. Navigation og sekundaer interaktion er sage. Oliven er kun sidens
      primaere handling. Guld er kun rating-stjerner.
   4. Breakpoints fra skalaen: 480 / 600 / 768 / 900 / 1024 / 1200.
   5. Tre elementer braekker aldrig 2+1 — et 3-grid gaar 1 -> 3.
   6. Alt der bor inde i .zency-article baerer .zency-article i selektoren
      (prose-liftets efterkommer-selektorer vejer 0,1,1).

   ⚠ NY FIL ⇒ skal i LiteSpeeds optm-css_exc i SAMME arbejdsgang som
     deployet, og verificeres frontend UDLOGGET.
   ========================================================================== */


/* ==========================================================================
   1 · HERO — lyst split: tekstspalte + visuelt kort
   --------------------------------------------------------------------------
   Bygger paa .zs-hero (sider.css). Kortet til hoejre er sidens motiv:
   prislisten paa /priser/, gavekortet paa gavekortsiderne, lead-formularen
   paa firmamassage-hubben. Under 900px falder kortet UNDER teksten — et
   halvbredt kort ved siden af to ord er hverken laesbart eller pent.
   ========================================================================== */
.zpris .zpris-hero__grid {
	display: grid;
	gap: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
	align-items: center;
	grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 900px) {
	.zpris .zpris-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
}

/* H1'ens fremhaevede halvdel ("fra 295 kr."). Samme greb som sidens
   oprindelige <span class="accent">, men i sage frem for guld: guld er
   rating-stjernernes farve, og en overskrift er ikke en handling. */
.zpris .zpris-accent { color: var(--color-sage-600); }

.zpris .zpris-hero__lead strong { font-weight: 700; color: var(--color-forest); }


/* ==========================================================================
   2 · STJERNELINJE + PILLER
   --------------------------------------------------------------------------
   Stjernerne er den ENESTE guld paa siderne (--color-gold er reserveret
   rating). Tallene kommer fra review_rating / review_count — aldrig fra
   markup'en.
   ========================================================================== */
.zpris .zpris-trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.7rem;
	margin: 1.1rem 0 0;
	font-family: var(--font-source);
	font-size: 0.95rem;
	color: var(--color-ink-soft);
}
.zpris .zpris-stars {
	display: inline-flex;
	gap: 0.12rem;
	color: var(--color-gold);
}
.zpris .zpris-stars svg {
	width: 1.05rem;
	height: 1.05rem;
	fill: currentColor;
}
.zpris .zpris-trust strong { color: var(--color-forest); font-weight: 700; }

.zpris .zpris-pills {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.1rem 0 0;
	padding: 0;
}
.zpris .zpris-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.42rem 0.9rem;
	border-radius: 9999px;
	background: #fff;
	border: 1px solid var(--color-sage-200);
	font-family: var(--font-source);
	font-size: 0.88rem;
	color: var(--color-sage-700);
}
.zpris .zpris-pill svg {
	width: 0.95rem;
	height: 0.95rem;
	flex: none;
	color: var(--color-sage-500);
}


/* ==========================================================================
   3 · VISUELT PRIS-/GAVEKORT (hero-motivet)
   --------------------------------------------------------------------------
   Ren CSS-grafik, praecis som i dag — intet billede, ingen webfont-afhaengig
   figur. Fladen er den flade forest (.z-panel-forest), ikke gradienten:
   kortet baerer lille broedtekst, og gradientens lyse stop dumper WCAG AA.
   ========================================================================== */
.zpris .zpris-kort {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-2xl);
	padding: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem);
	color: var(--color-mint-soft);
	box-shadow: 0 24px 52px -28px rgb(20 48 42 / 0.55);
}
.zpris .zpris-kort__brand {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.8rem;
	margin: 0 0 1.3rem;
}
.zpris .zpris-kort__mark {
	font-family: var(--font-merriweather);
	font-size: 1.25rem;
	color: #fff;
	letter-spacing: 0.4px;
}
.zpris .zpris-kort__navn {
	font-family: var(--font-dosis);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-mint);
}
.zpris .zpris-kort__rows { list-style: none; margin: 0; padding: 0; }
.zpris .zpris-kort__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.72rem 0;
	border-top: 1px solid rgb(178 221 195 / 0.22);
}
.zpris .zpris-kort__row:first-child { border-top: 0; }
.zpris .zpris-kort__dur {
	font-family: var(--font-source);
	font-size: 0.98rem;
	color: var(--color-mint-soft);
}
.zpris .zpris-kort__pris {
	font-family: var(--font-dosis);
	/* 08-09-2026: 700 var for tungt i hero-kortet (Morten) - 500 er samme vaegt som CTA-knapperne. */
	font-weight: 500;
	font-size: 1.35rem;
	color: #fff;
	white-space: nowrap;
}
.zpris .zpris-kort__fod {
	margin: 1.2rem 0 0;
	font-family: var(--font-source);
	font-size: 0.82rem;
	color: var(--color-mint);
}

/* Gavekort-/klippekort-varianten: titel + undertekst i stedet for prisrækker. */
.zpris .zpris-kort__titel {
	margin: 0;
	font-family: var(--font-merriweather);
	font-weight: 300;
	font-size: clamp(2rem, 1.5rem + 2vw, 2.6rem);
	line-height: 1.1;
	color: #fff;
}
.zpris .zpris-kort__sub {
	margin: 0.6rem 0 0;
	font-family: var(--font-source);
	font-size: 0.97rem;
	line-height: 1.55;
	color: var(--color-mint-soft);
	max-width: 30ch;
}
.zpris .zpris-kort__belob {
	margin: 1.3rem 0 0;
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	font-family: var(--font-dosis);
	color: #fff;
}
.zpris .zpris-kort__belob .zpris-kort__fra {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--color-mint);
}
.zpris .zpris-kort__belob .zpris-kort__tal { font-size: 2.4rem; font-weight: 700; line-height: 1; }
.zpris .zpris-kort__belob .zpris-kort__enhed { font-size: 1rem; font-weight: 500; color: var(--color-mint); }

/* Guldchippen fra det gamle gavekort (.zgc-chip paa Elementor-siden, aug. 2026).
   Kun gavekort-varianten (84580 + 84749) via --chip-modifieren: brandlinjen
   samler maerke + undertekst til venstre og laegger chippen yderst til hoejre.
   Farverne er de oprindelige (#E7C892 -> #B08D57) — --color-gold er for gul
   til at ligne en kortchip. */
.zpris .zpris-kort__brand--chip { justify-content: flex-start; }
.zpris .zpris-kort__chip {
	flex: none;
	align-self: center;
	margin-left: auto;
	width: 42px;
	height: 29px;
	border-radius: 6px;
	background: linear-gradient(135deg, #E7C892, #B08D57);
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.2);
}

/* OPLAEG 03-09-2026: kortet haelder let, som det gamle Elementor-kort gjorde
   (rotate(-4deg): venstre side ned, hoejre side op). Kun gavekort-varianten.
   Vend fortegnet for at haelde den anden vej. Transformen aendrer ikke layoutet,
   kun det tegnede — hjoernerne stikker ~20 px ud over kortets boks paa desktop. */
.zpris--gavekort .zpris-kort { transform: rotate(3deg); } /* Morten 03-09: venstre op, hoejre ned */

/* Prisen paa gavekortet: Morten 03-09-2026 — 700 i 2,4rem saa stor og dyr ud.
   Lettere vaegt og mindre korpus; Fra/kr beholder 500. Kun gavekortet. */
.zpris--gavekort .zpris-kort__belob .zpris-kort__tal { font-size: 1.9rem; font-weight: 400; }

/* ==========================================================================
   MOBIL-FOLD paa gavekortsiderne (Morten 03-09-2026, punkt 1-4)
   --------------------------------------------------------------------------
   Maalt foer: CTA-underkant 741 px ved 390 px bredde = 74 px under folden
   (iOS Safari ~79 % af 844). Fire greb, alle kun under 768 px, desktop uroert:
   1. Badges paa een linje (skriften skaleres 10,5-12,5 px, som august-fixet).
   2. Eyebrow skjules - den gentager H1's foerste ord.
   3. Heroens topluft 5rem -> 2rem.
   4. Knappen op foer stjerner og badges (flex order - DOM og tab-orden uroert;
      sentinelen til header-CTA'en flytter med knappen, det er meningen).
   Trust-signalerne staar under knappen OG i headerens trust-bar lige over.
   ========================================================================== */
/* 04-09-2026: samme fire greb paa /klippekort/ (CTA laa 705 px nede ved 390 px =
   38 px under folden, pillerne brak paa to linjer). Eyebrow'en beholdes DER: H1'en
   "Spar op til 20% paa din massage" naevner ikke ordet klippekort, det goer eyebrow'en. */
@media (max-width: 767px) {
	:is(.zpris--gavekort, .zpris--klippekort) .zs-hero__inner { padding-top: 2rem; }
	.zpris--gavekort .zs-hero__eyebrow { display: none; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child { display: flex; flex-direction: column; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child > .zs-hero__eyebrow { order: 0; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child > .zs-hero__h1 { order: 1; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child > .zpris-hero__lead { order: 2; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child > .zs-hero__cta { order: 3; margin-top: 1.4rem; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child > .zpris-trust { order: 4; margin-top: 1.5rem; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-hero__grid > div:first-child > .zpris-pills { order: 5; margin-top: 0.8rem; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-pills { flex-wrap: nowrap; gap: 0.4rem; }
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-pill { padding: 0.36rem 0.5rem; font-size: clamp(10.5px, 3.2vw, 12.5px); gap: 0; white-space: nowrap; }
	/* Fluebenene er pynt og kostede 55 px - uden dem er der plads paa een linje fra 320 px. */
	:is(.zpris--gavekort, .zpris--klippekort) .zpris-pill svg { display: none; }
}

/* Koebsboksens hoved centreres (Morten 03-09-2026): sektionens H2 og undertekst
   er centreret, saa titel/undertekst/betalingsmaerker venstre-hoejre i en raekke
   saa skaevt ud. Kolonne, alt centreret, maerkerne under teksten.
   04-09-2026: ogsaa /klippekort/ - samme centrerede H2/undertekst, samme skaevhed. */
/* 3 klasser: LiteSpeeds kritiske CSS-kopi ligger EFTER arket og bar den gamle
   align-items/justify-content - lige specificitet tabte paa raekkefoelge. */
.zpris:is(.zpris--gavekort, .zpris--klippekort) .zpris-buy__head { flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 0.9rem; }
.zpris:is(.zpris--gavekort, .zpris--klippekort) .zpris-buy__head .zpris-pay { justify-content: center; }

/* Klip-prikkerne. De to foerste er "brugt" — samme figur som i dag. */
.zpris .zpris-klip {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 1.4rem 0 0;
	padding: 0;
}
.zpris .zpris-klip li {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	border: 1.5px dashed var(--color-mint);
	opacity: 0.85;
}
.zpris .zpris-klip li.zpris-klip--brugt {
	border-style: solid;
	background: var(--color-mint);
	opacity: 0.35;
}


/* ==========================================================================
   4 · KOEBS-WIDGET (gavekort- og klippekort-appen i en iframe)
   --------------------------------------------------------------------------
   ⚠ Iframens src og alle dens parametre er gavekort-appens kontrakt
     (Cloudflare Worker, repo zency-gavekort). Roer kun rammen — aldrig
     adressen.
   ========================================================================== */
.zpris .zpris-buy__kort {
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-2xl);
	padding: clamp(1.2rem, 0.9rem + 1.2vw, 1.9rem);
	box-shadow: 0 1px 2px rgb(17 17 17 / 0.04), 0 18px 40px -26px rgb(68 103 91 / 0.32);
	max-width: 880px;
	margin-inline: auto;
	/* Maalt 04-09-2026: 0 px fra sektionens undertekst til kortets kant - eneste
	   sted paa siderne uden rytme-luft. Samme afstand som alle andre blokke. */
	margin-top: var(--zpris-gap);
}
.zpris .zpris-buy__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.8rem 1.4rem;
	margin: 0 0 1.2rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--color-line);
}
.zpris .zpris-buy__h3 {
	margin: 0;
	font-family: var(--font-merriweather);
	font-weight: 400;
	font-size: 1.4118rem;
	color: var(--color-forest);
}
.zpris .zpris-buy__sub {
	margin: 0.35rem 0 0;
	font-family: var(--font-source);
	font-size: 0.97rem;
	color: var(--color-ink-soft);
}
.zpris .zpris-buy__frame {
	display: block;
	width: 100%;
	min-height: 560px;
	border: 0;
	border-radius: var(--radius-xl);
	background: var(--color-sage-50);
}
@media (min-width: 768px) {
	.zpris .zpris-buy__frame { min-height: 640px; }
}

/* Betalingsmaerker som tekst-chips — praecis som i dag, ingen logofiler. */
.zpris .zpris-pay {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
}
.zpris .zpris-pay li {
	padding: 0.3rem 0.7rem;
	border-radius: 0.5rem;
	background: var(--color-sage-50);
	border: 1px solid var(--color-sage-200);
	font-family: var(--font-source);
	font-size: 0.82rem;
	color: var(--color-sage-700);
}
.zpris .zpris-pay li:first-child { font-weight: 700; color: var(--color-forest); }
.zpris .zpris-pay--center { justify-content: center; margin-top: 1.4rem; }


/* ==========================================================================
   5 · PAKKE-GITTER (4 klippekort-pakker som .zby-price)
   --------------------------------------------------------------------------
   by.css' eget .zby-prices__grid er laast til tre kolonner OG skjult under
   1024px (dér overtager .zb-mprice-daekket). Klippekortets fire pakker er en
   2x2-matrix — 5/10 klip x 30/60 min — og skal ogsaa vises paa mobil. Derfor
   dette grid, som kun bestemmer OPSTILLINGEN. Kortene selv er uaendrede
   .zby-price. Der bygges INGEN fjerde priskort-variant.
   ========================================================================== */
.zpris .zpris-pakker {
	display: grid;
	gap: clamp(1rem, 0.7rem + 1.2vw, 1.6rem);
	grid-template-columns: minmax(0, 1fr);
	margin-top: clamp(1.8rem, 1.2rem + 2vw, 2.6rem);
	align-items: stretch;
}
@media (min-width: 768px) {
	.zpris .zpris-pakker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Baandet ("Bedste rabat") er 200px roteret 45 grader og stikker uden for
   kortet i begge ender. by.css klipper det med overflow:hidden paa
   .zby-price--fav; et kort med baand men uden --fav skal have det selv. */
.zpris .zpris-pakker .zby-price { overflow: hidden; }

/* Knappen i bunden af et priskort.
   ⚠ Governance (brand §13): der myntes ALDRIG nye pr.-flade CTA-klasser.
   .zby-price__cta og .zb-mprice__cta er historiske undtagelser der migreres —
   de kopieres derfor IKKE ind her. Knappen er en almindelig .z-btn, og denne
   regel sætter kun det layout kortet kræver: knappen pinnes i bunden, så kort
   med ulige tekstlængde slutter ens, og fylder kortets bredde.
   Virker fordi begge kort er flex-kolonner. */
.zpris .zpris-cardcta {
	margin-top: auto;
	width: 100%;
	justify-content: center;
}

/* Normalprisen over pakkeprisen: overstreget, dæmpet, aldrig fed. */
.zpris .zpris-foer {
	margin: 0.3rem 0 0;
	font-family: var(--font-source);
	font-size: 0.92rem;
	color: var(--color-ink-soft);
	text-decoration: line-through;
	text-decoration-color: var(--color-sage-300);
}
.zpris .zby-price--fav .zpris-foer {
	color: var(--color-mint);
	text-decoration-color: var(--color-mint);
}
/* align-self: kortet er en flex-kolonne, og display alene taber til by.css'
   kortregler - pillen blev en bjaelke i kortets fulde bredde (maalt 492 px 04-09-2026). */
.zpris .zpris-rabat {
	display: inline-block;
	align-self: flex-start;
	margin: 0.2rem 0 0.8rem;
	padding: 0.22rem 0.6rem;
	border-radius: 9999px;
	background: var(--color-sage-50);
	border: 1px solid var(--color-sage-200);
	font-family: var(--font-dosis);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	color: var(--color-sage-700);
}
.zpris .zby-price--fav .zpris-rabat {
	background: rgb(178 221 195 / 0.16);
	border-color: rgb(178 221 195 / 0.4);
	color: var(--color-mint);
}

/* Fodnoten under et prisafsnit. */
/* Blokken foelger teksten: en venstrestillet note flugter med sektionens
   venstrekant (maalt 04-09-2026: "...og 110 mere" laa 338 px inde under en
   venstrestillet H2). Kun --center centreres som blok. */
.zpris .zpris-note {
	max-width: 68ch;
	margin: clamp(1.4rem, 1rem + 1.4vw, 2rem) 0 0;
	font-family: var(--font-source);
	font-size: 0.97rem;
	line-height: 1.7;
	color: var(--color-ink-soft);
	text-wrap: pretty;
}
.zpris .zpris-note--center { text-align: center; margin-inline: auto; }
@media (max-width: 599px) {
	.zpris .zpris-note--center { text-align: left; }
}
.zpris .zpris-note strong { color: var(--color-forest); font-weight: 700; }


/* ==========================================================================
   6 · KORT + BROEDTEKST SIDE OM SIDE
   --------------------------------------------------------------------------
   ⚠ Leaflet maaler containeren EEN gang. Kortspalten faar derfor en fast
     hoejde pr. brudpunkt og maa ALDRIG have flex:1 i en kolonne hvis naboen
     kan skifte hoejde. Samme greb som by.css bruger paa .zb-map.
   ========================================================================== */
.zpris .zpris-mapsplit {
	display: grid;
	gap: clamp(1.6rem, 1.2rem + 1.8vw, 2.6rem);
	align-items: start;
	grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 1024px) {
	.zpris .zpris-mapsplit { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
}
/* Kortspalten har ingen egen højde: den kommer fra shortcodens height-attribut,
   så Leaflet måler den rigtigt første gang. Sæt aldrig flex/height her. */
.zpris .zpris-mapsplit__kort { min-width: 0; }
.zpris .zpris-mapsplit__tekst p:not([class]) {
	margin: 0 0 1rem;
	font-family: var(--font-source);
	font-size: 1.0588rem;
	line-height: 1.75;
	color: var(--color-ink-soft);
	text-wrap: pretty;
}
.zpris .zpris-mapsplit__tekst p:not([class]):last-child { margin-bottom: 0; }
.zpris .zpris-mapnote {
	margin: 1rem 0 0;
	font-family: var(--font-source);
	font-size: 0.95rem;
	color: var(--color-ink-soft);
}


/* ==========================================================================
   7 · CITATKORT
   --------------------------------------------------------------------------
   Tre eller seks korte udsagn. Ikke .zb-cardgrid: dét kort er ET <a> og
   linker videre; disse er blockquotes uden destination.
   Tre elementer braekker aldrig 2+1 — derfor 1 -> 3 uden mellemtrin.
   ========================================================================== */
.zpris .zpris-quotes {
	display: grid;
	gap: clamp(1rem, 0.8rem + 1vw, 1.5rem);
	grid-template-columns: minmax(0, 1fr);
	margin-top: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
}
@media (min-width: 900px) {
	.zpris .zpris-quotes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 600px) {
	.zpris .zpris-quotes--seks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.zpris .zpris-quotes--seks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.zpris .zpris-quote {
	display: flex;
	flex-direction: column;
	margin: 0;
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-xl);
	padding: clamp(1.2rem, 1rem + 0.8vw, 1.6rem);
}
.zpris .zpris-quote blockquote {
	margin: 0.7rem 0 1rem;
	font-family: var(--font-merriweather);
	font-weight: 300;
	font-size: 1.02rem;
	line-height: 1.65;
	color: var(--color-deep);
	text-wrap: pretty;
}
.zpris .zpris-quote figcaption {
	margin-top: auto;
	font-family: var(--font-source);
	font-size: 0.92rem;
	color: var(--color-ink-soft);
}
.zpris .zpris-quote figcaption b { color: var(--color-forest); font-weight: 700; }
.zpris .zpris-quote__kilde { display: block; margin-top: 0.15rem; font-style: italic; }

/* Tre nøgletal i en række — Trustpilot-score, klienter, samlet snit. */
.zpris .zpris-trust3 {
	display: grid;
	gap: clamp(1rem, 0.8rem + 1vw, 1.6rem);
	grid-template-columns: minmax(0, 1fr);
	margin-top: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
	padding-top: clamp(1.4rem, 1rem + 1.4vw, 2rem);
	border-top: 1px solid var(--color-line);
	text-align: center;
}
@media (min-width: 900px) {
	.zpris .zpris-trust3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.zpris .zpris-trust3__tal {
	margin: 0;
	font-family: var(--font-dosis);
	font-weight: 700;
	font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.2rem);
	line-height: 1.1;
	color: var(--color-forest);
}
.zpris .zpris-trust3__label {
	margin: 0.3rem 0 0;
	font-family: var(--font-source);
	font-size: 0.95rem;
	color: var(--color-ink-soft);
}
.zpris .zpris-trust3 a {
	color: var(--color-sage-700);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--color-sage-300);
}
.zpris .zpris-trust3 a:hover { color: var(--color-olive); text-decoration-color: var(--color-olive); }


/* ==========================================================================
   8 · ANSIGTSGALLERI (behandlere med navn og by)
   ========================================================================== */
.zpris .zpris-faces {
	list-style: none;
	display: grid;
	gap: clamp(0.9rem, 0.7rem + 0.8vw, 1.3rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem) 0 0;
	padding: 0;
}
@media (min-width: 600px) {
	.zpris .zpris-faces { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.zpris .zpris-faces { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.zpris .zpris-face {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}
.zpris .zpris-face img {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-sage-200);
	background: var(--color-sage-50);
}
.zpris .zpris-face__navn {
	margin: 0;
	font-family: var(--font-source);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--color-forest);
}
.zpris .zpris-face__by {
	margin: 0;
	font-family: var(--font-source);
	font-size: 0.86rem;
	color: var(--color-ink-soft);
}


/* ==========================================================================
   9 · NAP-BLOK (virksomhed, adresse, CVR + aabningstider)
   ========================================================================== */
.zpris .zpris-nap__grid {
	display: grid;
	gap: clamp(1.2rem, 1rem + 1.2vw, 2rem);
	grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 768px) {
	.zpris .zpris-nap__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.zpris .zpris-dl { margin: 0; }
.zpris .zpris-dl__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.4rem 1rem;
	padding: 0.62rem 0;
	border-bottom: 1px solid var(--color-line);
}
.zpris .zpris-dl__row:last-child { border-bottom: 0; }
.zpris .zpris-dl dt {
	font-family: var(--font-dosis);
	font-weight: 700;
	font-size: 0.74rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-sage-600);
}
.zpris .zpris-dl dd {
	margin: 0;
	font-family: var(--font-source);
	font-size: 1rem;
	color: var(--color-ink);
	text-align: right;
}
.zpris .zpris-dl dd a {
	color: var(--color-sage-700);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--color-sage-300);
}
.zpris .zpris-dl dd a:hover { color: var(--color-olive); text-decoration-color: var(--color-olive); }
/* Kun margen og farve. Typografien kommer fra .z-h3 i designsystemet, som
   markup'en nu komponerer med — klassen gen-erklærede før den samme font,
   vægt og størrelse, men UDEN ramp'ens line-height og letter-spacing, så
   overskriften satte sig anderledes end alle andre h3'er på sitet. */
.zpris .zpris-h3 {
	margin: 0 0 0.3rem;
	color: var(--color-forest);
}


/* ==========================================================================
   10 · LEAD-FORMULARER PAA LYS FLADE (firmamassage-hubben, 709)
   --------------------------------------------------------------------------
   Feltvokabularet er by.css' eget (.zby-form / .zby-field) — det er bare
   klasser og derfor genbrugeligt. Her staar kun kortet omkring dem, den
   lyse status-linje og den ene-felts hurtigformular.

   ⚠ Formularerne POSTER til det samme Elementor Pro-endepunkt som i dag:
     samme form_id, samme post_id (709), samme modtager, samme spamfilter.
     Feltet der hedder form_fields[email] baerer TELEFONNUMMER — det er
     Elementors standardfelt, genbrugt. Roer det ikke.
   ========================================================================== */
.zpris .zpris-formkort {
	background: #fff;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-2xl);
	padding: clamp(1.3rem, 1rem + 1.3vw, 2rem);
	box-shadow: 0 1px 2px rgb(17 17 17 / 0.04), 0 22px 46px -26px rgb(68 103 91 / 0.34);
}
.zpris .zpris-formkort__h {
	margin: 0;
	font-family: var(--font-merriweather);
	font-weight: 400;
	font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.6rem);
	color: var(--color-forest);
	text-wrap: balance;
}
.zpris .zpris-formkort__lead {
	margin: 0.6rem 0 1.2rem;
	font-family: var(--font-source);
	font-size: 0.99rem;
	line-height: 1.6;
	color: var(--color-ink-soft);
}
.zpris .zpris-form__submit {
	width: 100%;
	justify-content: center;
	margin-top: 1rem;
}
.zpris .zpris-form .zform__svar {
	margin: 0.9rem 0 0;
	font-family: var(--font-source);
	font-size: 0.95rem;
}
.zpris .zpris-form .zform__svar--ok { color: var(--color-sage-700); font-weight: 600; }
.zpris .zpris-form .zform__svar--fejl { color: var(--color-terracotta); font-weight: 600; }

/* ⚠ Formularkortene bor inde i .zency-article (formularvokabularet fra by.css
   kraever det). Prose-liftet styler h2, p, ul og li som EFTERKOMMER-selektorer
   (0,1,1) og slaar derfor en enkelt komponentklasse (0,1,0). De tre regler
   herunder tager kun det tilbage prose-liftet ikke skal eje her:
   overskriftens sage-streg og margin, og loefte-listens punkttegn. */
.zpris .zency-article .zpris-formkort__h { margin: 0; }
.zpris .zency-article .zpris-formkort__h::after { content: none; }
.zpris .zency-article .zpris-loefter { list-style: none; margin: 0.9rem 0 0; padding: 0; }
.zpris .zency-article .zpris-loefter li { padding-left: 0; color: var(--color-ink-soft); }
.zpris .zency-article .zpris-loefter li::before { content: none; display: none; }

/* De to loefter under knappen ("Ingen binding" / "Uforpligtende"). */
.zpris .zpris-loefter {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.2rem;
	margin: 0.9rem 0 0;
	padding: 0;
	font-family: var(--font-source);
	font-size: 0.88rem;
	color: var(--color-ink-soft);
}
.zpris .zpris-loefter li { display: flex; align-items: center; gap: 0.4rem; }
.zpris .zpris-loefter svg { width: 0.95rem; height: 0.95rem; color: var(--color-sage-500); flex: none; }

/* Hurtigformularen: eet felt og en knap paa samme raekke fra 480px. */
.zpris .zpris-hurtig {
	display: grid;
	gap: 0.7rem;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 1.2rem;
}
@media (min-width: 480px) {
	.zpris .zpris-hurtig__felter { display: flex; gap: 0.6rem; align-items: stretch; }
	.zpris .zpris-hurtig__felter .zby-field { flex: 1 1 auto; }
	.zpris .zpris-hurtig .zpris-form__submit { width: auto; margin-top: 0; align-self: end; }
}

/* Visitkortet ved kontaktformularen. */
.zpris .zpris-visitkort {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
}
.zpris .zpris-visitkort img {
	width: clamp(6rem, 5rem + 4vw, 8.5rem);
	height: clamp(6rem, 5rem + 4vw, 8.5rem);
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-sage-200);
	margin-bottom: 0.6rem;
}
/* Visitkortet ligger uden for .zency-article, saa dets afsnit har ingen
   prose-rytme at arve. Efterkommer-selektor inde i en klasse — ikke en bar
   element-selektor. */
.zpris .zpris-visitkort p:not([class]) {
	margin: 0;
	font-family: var(--font-source);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-ink-soft);
}
.zpris .zpris-visitkort__navn {
	margin: 0;
	font-family: var(--font-merriweather);
	font-weight: 400;
	font-size: 1.25rem;
	color: var(--color-forest);
}
.zpris .zpris-visitkort__rolle {
	margin: 0;
	font-family: var(--font-source);
	font-size: 0.95rem;
	color: var(--color-ink-soft);
}
.zpris .zpris-visitkort a {
	font-family: var(--font-source);
	font-size: 1rem;
	color: var(--color-sage-700);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--color-sage-300);
}
.zpris .zpris-visitkort a:hover { color: var(--color-olive); text-decoration-color: var(--color-olive); }


/* ==========================================================================
   11 · GRUNDLAEGGER-CITAT (gavekortsiden)
   ========================================================================== */
.zpris .zpris-stifter {
	display: grid;
	gap: clamp(1.1rem, 0.9rem + 1vw, 1.8rem);
	align-items: center;
	grid-template-columns: minmax(0, 1fr);
	background: var(--color-cream-2);
	border: 1px solid var(--color-sand);
	border-radius: var(--radius-2xl);
	padding: clamp(1.4rem, 1.1rem + 1.4vw, 2.2rem);
}
@media (min-width: 768px) {
	.zpris .zpris-stifter { grid-template-columns: auto minmax(0, 1fr); }
}
.zpris .zpris-stifter img {
	width: clamp(5.5rem, 4.5rem + 4vw, 8rem);
	height: clamp(5.5rem, 4.5rem + 4vw, 8rem);
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--color-sage-200);
	background: #fff;
}
.zpris .zpris-stifter blockquote {
	margin: 0;
	font-family: var(--font-merriweather);
	font-weight: 300;
	font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.2rem);
	line-height: 1.65;
	color: var(--color-deep);
	text-wrap: pretty;
}
.zpris .zpris-stifter figcaption {
	margin-top: 0.9rem;
	font-family: var(--font-source);
	font-size: 0.93rem;
	line-height: 1.6;
	color: var(--color-ink-soft);
}
.zpris .zpris-stifter figcaption b { color: var(--color-forest); font-weight: 700; }
.zpris .zpris-stifter figcaption a {
	color: var(--color-sage-700);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--color-sage-300);
}


/* ==========================================================================
   12 · SEKTIONSFLADER OG SMAA JUSTERINGER
   --------------------------------------------------------------------------
   Alternationsreglen: en lys hero (cream) skal efterfoelges af en HVID
   flade, ellers laeses de to som eet langt felt. .zb-grid er sage-50 og
   .zpris-hvid er hvid — de to skiftes til at baere sektionerne.
   ========================================================================== */
.zpris .zpris-hvid { background: #fff; padding-block: clamp(2.6rem, 2rem + 2.4vw, 4.2rem); }
.zpris .zpris-cream { background: var(--color-cream); padding-block: clamp(2.6rem, 2rem + 2.4vw, 4.2rem); }
.zpris .zpris-cream2 { background: var(--color-cream-2); padding-block: clamp(2.6rem, 2rem + 2.4vw, 4.2rem); }

/* Sektions-undertekst uden for .zb-grid (som .zb-grid__sub, men fri). */
.zpris .zpris-sub {
	max-width: 68ch;
	margin: 0.8rem 0 0;
	font-family: var(--font-source);
	font-size: 1.0588rem;
	line-height: 1.7;
	color: var(--color-ink-soft);
	text-wrap: pretty;
}
.zpris .zpris-sub--center { margin-inline: auto; text-align: center; }

/* Flere brødtekst-afsnit uden for .zency-article (fx heroens to afsnit på
   firmamassage-hubben). Prose-liftet ejer rytmen inde i en artikel; her ikke. */
.zpris .zpris-brod p {
	margin: 0 0 1rem;
	font-family: var(--font-source);
	font-size: 1.0588rem;
	line-height: 1.75;
	color: var(--color-ink-soft);
	text-wrap: pretty;
}
.zpris .zpris-brod p:last-child { margin-bottom: 0; }
.zpris .zpris-brod strong { color: var(--color-forest); font-weight: 700; }
@media (max-width: 599px) {
	.zpris .zpris-sub--center { text-align: left; }
}

/* Ankre skal lande under den klaebende header — samme vaerdier som #tilbud
   og #faq paa firmamassage-bysiderne. */
.zpris #koeb,
.zpris #priser,
.zpris #tilbud,
.zpris #hurtig-tlf,
.zpris #kontakt-h,
.zpris #se-behandlinger { scroll-margin-top: 146px; }
@media (max-width: 767px) {
	.zpris #koeb,
	.zpris #priser,
	.zpris #tilbud,
	.zpris #hurtig-tlf,
	.zpris #kontakt-h,
	.zpris #se-behandlinger { scroll-margin-top: 140px; }
}

/* Kilde-henvisninger i effektkortene paa firmamassage-hubben. */
.zpris .zency-article .zpris-kilde a {
	font-weight: 600;
	color: var(--color-sage-700);
}

/* Det store tal i et effektkort. */
.zpris .zency-article .zpris-tal {
	display: block;
	margin: 0 0 0.35rem;
	font-family: var(--font-dosis);
	font-weight: 700;
	font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.4rem);
	line-height: 1.1;
	color: var(--color-sage-600);
}

/* Skjult for oejet, laesbart for skaermlaesere. .zs-skjult findes i
   sider.css; denne linje er kun her fordi .fm-rod-blokkene paa
   firmamassage-hubben bruger hubbens eget navn. */
.zpris .zpris-skjult {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Anmeldelser under koebsrammen (gavekort + klippekort) - markup i inc/zency-pris.php
   5b, logik i assets/pris-reviews.js. Hoejden reserveres foer widgeten lander, saa
   siden ikke hopper. Selve kortene styles i zency-reviews' widget.js (shadow DOM),
   ikke her. Sektionen er [hidden] indtil scriptet koerer. */
/* Maalt 04-09-2026 (fast 3-linjers tekstfelt siden 03-09): 315 px paa desktop,
   296 px paa 390 px mobil. 380/360 gav 65 px doedt rum under prikkerne. */
.zpris .zpris-rev__slot { min-height: 316px; margin-top: var(--zpris-gap); }
@media (max-width: 639px) {
	.zpris .zpris-rev__slot { min-height: 296px; }
}


/* ==========================================================================
   13 · LODRET RYTME (04-09-2026)
   --------------------------------------------------------------------------
   Maalt foer: afstanden fra en sektions undertekst til dens indhold varierede
   fra 0 px (koebskortet) over 26-35 (trin, fordele, tabel, ansigter) til 56 px
   (kortet), og hver sektion sluttede 29-30 px laengere nede end den begyndte,
   fordi prose-liftets sidste blok (ol.z-steps / .z-benefit-grid /
   .zs-pristabel-wrap) laegger sin egen bund-margin oven i sektionens padding.
   Eet token for "undertekst -> indhold", og sektionerne symmetriske.
   ========================================================================== */
.zpris { --zpris-gap: clamp(1.8rem, 1.4rem + 1.4vw, 2.4rem); }

.zpris .zency-article ol.z-steps { margin-top: var(--zpris-gap); }
.zpris .zency-article .z-benefit-grid { margin-top: var(--zpris-gap); }
.zpris .zency-article .zs-pristabel-wrap { margin-top: var(--zpris-gap); }
.zpris .zb-map { margin-top: var(--zpris-gap); }
.zpris .zpris-faces { margin-top: var(--zpris-gap); }
.zpris .zpris-quotes { margin-top: var(--zpris-gap); }
.zpris .zpris-pakker { margin-top: var(--zpris-gap); }

/* Sidste blok i en artikel-wrapper baerer ingen bund-margin: sektionens
   padding-block er hele afstanden, top og bund ens. */
.zpris .zency-article > :last-child { margin-bottom: 0; }
.zpris .zency-article ol.z-steps li:last-child { padding-bottom: 0; }

/* Gavekortets "Hvad raekker et gavekort til?" har to kolonner og ingen
   handlingsknap - sider.css' min-width: 32rem er til /priser/'s tre kolonner
   og skubbede priskolonnen ud af skaermen paa mobil (maalt 04-09-2026:
   cellen laa 364 px inde paa en 390 px skaerm, kun "Varighed" var synlig). */
.zpris--gavekort .zency-article table.zs-pristabel { min-width: 0; width: 100%; }

/* Fordelskortenes prik: sad midt mellem to linjer paa "Til dig selv - eller en
   gave" (mobil). Laases til foerste linje: (line-height 1.3em - prik 0.55rem) / 2. */
.zpris .zency-article .z-benefit-card h3 { align-items: flex-start; }
.zpris .zency-article .z-benefit-card h3 .dot { margin-top: calc(0.65em - 0.275rem); }

/* ============================================================
   Lodret rytme — samme fire tokens som by.css §13, behandling.css §12,
   forside.css, behandler.css og bookside-critical.css §6 (rytme-audit
   2026-09-05, Mortens go på den samlede mockup). Ret tallet HER, aldrig i
   den enkelte regel.
     pair     overskrift → undertekst              12 · 14 · 16 · 16
     break    overskriftsgruppe → indhold/knap     32 · 32 · 36 · 40
     section  luft øverst/nederst i hver sektion   48 · 55 · 65 · 80
     (bredder 390 · 768 · 1024 · 1440)
   Målt 4/9: egne flader 67/42 mod de delte 80/48; --zpris-gap 38/29 → bruddet; underteksten 13 slog parret på mobil; /priser/ havde 0 px undertekst→anmeldelser og 0 px undertekst→kontaktpanel.
   ============================================================ */
.zpris{--zpris-pair:clamp(0.75rem,0.5rem + 0.8vw,1rem);--zpris-break:clamp(2rem,1.2rem + 1.6vw,2.5rem);--zpris-section:clamp(3rem,1.5rem + 4vw,5rem);--zpris-gap:var(--zpris-break)}
.zpris .zpris-hvid,.zpris .zpris-cream,.zpris .zpris-cream2{padding-block:var(--zpris-section)}
.zpris .zpris-sub{margin-top:0}
.zpris .zpris-pakker{margin-top:var(--zpris-break)}
.zpris zency-reviews{display:block;margin-top:var(--zpris-break)}
.zpris .zpris-nap__grid{margin-top:var(--zpris-break)}


/* ==========================================================================
   GAVEKORTETS HERO-MOTIV ER ET BILLEDE (07-09-2026)
   --------------------------------------------------------------------------
   Kortet var tegnet i CSS (.zpris-kort + guldchip + rotate 3deg). Det er nu
   EET billede - samme fil som produktbilledet i Google Shopping-feedet, saa
   soegeresultatet og heroen viser praecis det samme gavekort.
   Billedets baggrund er #f7f5ef = --color-cream, heroens egen flade: derfor
   ingen synlig billedramme og ingen radius.
   .zpris-kort-reglerne laengere oppe bruges STADIG af /priser/ og /klippekort/
   - slet dem ikke.
   ========================================================================== */
.zpris .zpris-hero__billede {
	display: block;
	width: 100%;
	height: auto;
	max-width: 620px;
	margin-inline: auto;
}


/* ==========================================================================
   14. FAST BESTIL-KNAP I BUNDEN (07-09-2026)
   Koebsrammen (gavekort.zency.dk/buy) er en cross-origin iframe uden egen
   scroll, saa dens "Bestil med MobilePay"-knap ligger under folden hos 9 af 10
   (Clarity sep. 2026). pris.js bygger denne bjaelke og viser den saa laenge
   rammens egen knap ikke er paa skaermen, og kun naar rammen melder at alle
   paakraevede felter er udfyldt (ready). Teksten kommer fra rammen, uden beloeb.
   Oliven = brandets eneste CTA-farve (zency-design). Eksplicit :hover/:focus/
   :active fordi Hello-temaets reset.css ellers maler knappen lilla (#c36).
   ========================================================================== */
.zpris-ctabar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9000;
	padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px));
	background: rgba(255, 255, 255, 0.96);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border-top: 1px solid var(--color-line, #e2ddd2);
	box-shadow: 0 -8px 24px -18px rgba(20, 48, 42, 0.35);
}
.zpris-ctabar[hidden] { display: none; }
.zpris-ctabar__btn,
.zpris-ctabar__btn:focus,
.zpris-ctabar__btn:active {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
	min-height: 58px;
	padding: 14px 22px;
	border: 0;
	border-radius: 9999px;
	background: var(--color-olive, #7a6c40);
	color: #fff;
	font-family: var(--font-dosis, "Dosis", system-ui, sans-serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 0.6px;
	line-height: 1.2;
	white-space: normal;
	text-transform: none;
	cursor: pointer;
	box-shadow: none;
}
.zpris-ctabar__btn:hover { background: var(--color-olive-dark, #615531); color: #fff; }
.zpris-ctabar__btn:focus-visible { outline: 3px solid var(--color-sage-500, #59736e); outline-offset: 2px; }
/* Pil i cirkel — samme tegn som Bestil-knappen inde i koebsrammen og header-CTA'en. */
.zpris-ctabar__pil {
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.18s ease, transform 0.18s ease;
}
.zpris-ctabar__pil svg { display: block; width: 16px; height: 16px; }
.zpris-ctabar__btn:hover .zpris-ctabar__pil { background: rgba(255, 255, 255, 0.26); transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .zpris-ctabar__pil { transition: none; } }


/* --- Prisernes vaegt paa prissiden (08-09-2026) ---------------------------
   Morten: "mange af priserne staar med alt for bold tekst". Hero-kortet gik
   700 -> 500 tidligere paa dagen; her foelger resten med, saa siden koerer EEN
   vaegt paa priser i stedet for tre. Scopet til .zpris, saa bysidernes egne
   priskort (.zby-price paa /massage/<by>/) og behandlingssidernes tal staar
   som foer. */
.zpris .zby-price__amount { font-weight: 500; }
.zpris .zb-mprice__price { font-weight: 500; }
