/* ===== Tokens ===== */
:root {
  --bg:         #ffffff;                       /* page */
  --bg-soft:    #eef2ec;   /* soft green section */
  --card:       #ffffff;                       /* raised surface */
  --ink:        #1b2a22;   /* deep forest — headings + footer */
  --text:       #4a544c;   /* body */
  --muted:      #67706a;   /* AA-safe green-grey */
  --accent:     #2c6244;   /* forest green — primary/actions */
  --accent-dk:  #234f37;   /* hover / deep */
  --accent-soft:#e0eadd;   /* tint for selected/soft fills */
  --star:       #e3a417;   /* review stars (warm cousin) */
  --border:     #d7dfd3;   /* soft green hairline */

  /* Three-tier elevation — depth comes from a system, not one recipe */
  --shadow-sm:  0 1px 2px rgba(20,40,45,.06), 0 2px 6px -3px rgba(20,40,45,.10);
  --shadow-md:  0 1px 2px rgba(20,40,45,.05), 0 10px 26px -16px rgba(20,40,45,.20);
  --shadow-lg:  0 2px 8px rgba(20,40,45,.06), 0 30px 60px -26px rgba(20,40,45,.28);
  --shadow:     var(--shadow-md); /* back-compat alias */

  --font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          Helvetica, Arial, sans-serif;
  --font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia,
          "Times New Roman", serif;
  --maxw: 1120px;
}

/* ===== Base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body {
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
  line-height: 1.7;
  font-size: 1.0625rem;   /* 17px som standard, men følger brugerens egen indstilling */
  -webkit-font-smoothing: antialiased;
}
/* Enhver display-regel slår [hidden] i almindelig kaskade. Uden det her
   ville .mtsum{display:grid} og .backlink{display:inline-flex} gøre
   skjulte elementer synlige igen. */
[hidden] { display: none !important; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
h1, h2, h3 { color: var(--ink); line-height: 1.18; font-weight: 700; letter-spacing: -.015em; }
h1 { font-size: clamp(2.2rem, 5vw, 3.3rem); }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.3rem); }
h3 { font-size: 1.28rem; letter-spacing: -.01em; }

/* Keyboard focus — visible on every interactive surface (the booking flow lives on these) */
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
.svc:focus-visible, .day:focus-visible, .slot:focus-visible, .btn:focus-visible {
  outline: 2px solid var(--accent-dk); outline-offset: 2px;
}

.container { max-width: var(--maxw); margin: 0 auto; padding: 0 clamp(1.1rem, 4vw, 2rem); }
.container--narrow { max-width: 760px; }

/* ===== Buttons ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font: inherit; font-weight: 600; font-size: 1rem;
  padding: .82em 1.6em; border-radius: 8px; border: 1.5px solid transparent;
  cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.btn--solid { background: var(--accent); color: #fff; box-shadow: 0 6px 16px -8px rgba(44,98,68,.5); }
.btn--solid:hover { background: var(--accent-dk); transform: translateY(-1px); box-shadow: 0 11px 22px -8px rgba(44,98,68,.55); }
.btn--outline { border-color: var(--accent-soft); color: var(--accent); background: #fff; }
.btn--outline:hover { border-color: var(--accent); color: var(--accent-dk); }
.btn--sm { padding: .55em 1.15em; font-size: .95rem; }
.btn--full { width: 100%; }

/* ===== Header ===== */
.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.85); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.header__inner {
  max-width: var(--maxw); margin: 0 auto;
  padding: .85rem clamp(1.1rem, 4vw, 2rem);
  display: flex; align-items: center; gap: 1.5rem;
}
.brand { font-size: 1.2rem; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.brand strong { color: var(--accent); font-weight: 800; border-bottom: 2.5px solid var(--accent); padding-bottom: 2px; }
.nav { display: flex; gap: 1.7rem; margin-left: auto; }
.nav a { font-size: .97rem; color: var(--text); }
.nav a:hover { color: var(--accent); }
.header__actions { display: flex; align-items: center; gap: 1rem; }
.header__phone { font-weight: 600; color: var(--ink); }
.header__phone:hover { color: var(--accent); }
.burger { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 6px; margin-left: auto; }
.burger span { width: 24px; height: 2px; background: var(--ink); transition: .25s; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===== Hero ===== */
.hero {
  background: linear-gradient(180deg, #e3ece0 0%, rgba(227,236,224,.5) 42%, var(--bg) 100%);
  display: grid; grid-template-columns: 1.1fr .9fr; align-items: center;
  overflow: hidden;
}
.hero__grid { display: contents; }
.hero__kicker {
  color: var(--accent); font-weight: 700; font-size: .82rem;
  text-transform: uppercase; letter-spacing: .09em; margin-bottom: 1rem;
}
.hero__text {
  padding: clamp(2rem, 4vw, 3.2rem) clamp(2rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.2rem)
           max(clamp(1.1rem, 4vw, 2rem), calc((100vw - var(--maxw)) / 2));
}
.hero__text h1 { margin-bottom: 1.1rem; }
.hero__lead { font-size: 1.13rem; color: var(--text); max-width: 46ch; margin-bottom: 2rem; }
.hero__cta { display: flex; gap: .8rem; flex-wrap: wrap; margin-bottom: 2rem; }
.hero__points { display: grid; gap: .55rem; }
.hero__points li { position: relative; padding-left: 1.7rem; color: var(--text); font-size: .98rem; }
.hero__points li::before {
  content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 700;
}
.hero__media { align-self: stretch; }
.hero__media img {
  width: 100%; height: 100%; min-height: 470px;
  object-fit: cover; object-position: center; display: block;
}

/* ===== Sections ===== */
.section { padding: clamp(3.4rem, 7.5vw, 6rem) 0; }
.section--soft { background: var(--bg-soft); }
.section__head { max-width: 660px; margin-bottom: 2.8rem; }
.kicker { color: var(--accent); font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .09em; margin-bottom: .6rem; }
.section__intro { margin-top: .9rem; color: var(--text); font-size: 1.06rem; }

/* ===== Cards ===== */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.card {
  background: var(--card); border: 1px solid var(--border); border-radius: 12px;
  overflow: hidden; box-shadow: var(--shadow);
  transition: transform .2s, box-shadow .2s;
}
.card:hover { transform: translateY(-4px); box-shadow: 0 2px 6px rgba(20,40,45,.05), 0 22px 44px -24px rgba(20,40,45,.3); }
.card img { width: 100%; height: 200px; object-fit: cover; transition: transform .4s ease; }
.card:hover img { transform: scale(1.04); }
.card__body { padding: 1.4rem 1.4rem 1.6rem; }
.card__body h3 { margin-bottom: .5rem; }
.card__body p { font-size: .96rem; color: var(--text); }

/* ===== Conditions chips ===== */
.conditions {
  margin-top: 2.8rem; background: var(--bg-soft);
  border-radius: 16px; padding: clamp(1.5rem, 3.5vw, 2.4rem);
}
.conditions__title { color: var(--ink); font-weight: 700; font-size: 1.16rem; margin-bottom: 1.6rem; }
.condgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 1.7rem 2rem; }
.condgroup__label {
  color: var(--accent); font-weight: 700; font-size: .78rem;
  text-transform: uppercase; letter-spacing: .07em; margin-bottom: .75rem;
}
.condlist { display: grid; gap: .55rem; }
.condlist li { color: var(--text); font-size: .98rem; line-height: 1.4; }

/* ===== Steps ===== */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.step__no {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--accent); color: #fff; font-weight: 700; font-size: 1.1rem;
  margin-bottom: 1.1rem;
}
.step h3 { margin-bottom: .4rem; }
.step p { font-size: .98rem; }

/* ===== Prices ===== */
.prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.priceblock {
  background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  padding: 1.5rem 1.6rem; box-shadow: var(--shadow);
}
.priceblock__name { font-weight: 700; color: var(--ink); font-size: 1.2rem; }
.priceblock__desc { color: var(--muted); font-size: .95rem; margin-top: .2rem; }
.priceblock__amt { font-weight: 800; color: var(--accent); font-size: 1.75rem; white-space: nowrap; margin-top: 1rem; }

.pricelist__note { margin-top: 1.7rem; color: var(--muted); font-size: .96rem; }

.insurance {
  margin-top: 1.5rem; background: var(--accent-soft);
  border: 1px solid var(--border); border-radius: 14px;
  padding: 1.3rem 1.5rem;
}
.insurance__title { font-weight: 700; color: var(--ink); margin-bottom: .55rem; }
.insurance__text { color: var(--text); font-size: .97rem; max-width: 62ch; }
.insurance__text + .insurance__text { margin-top: .5rem; }
.insurance strong { color: var(--accent-dk); }

/* ===== About ===== */
.about { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(1.8rem, 5vw, 3.8rem); align-items: center; }
.about__media img {
  width: 100%; aspect-ratio: 4/5; max-height: 540px;
  object-fit: cover; object-position: center top;
  border-radius: 14px; box-shadow: var(--shadow-lg);
}
.about__text h2 { margin-bottom: 1.1rem; }
.about__text p { margin-bottom: 1rem; max-width: 54ch; }
.about__facts { margin-top: 1.5rem; display: grid; gap: .55rem; }
.about__facts li { position: relative; padding-left: 1.7rem; color: var(--ink); }
.about__facts li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 700; }

.about__creds { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; margin-top: clamp(1.8rem, 4vw, 2.8rem); }
.cred {
  background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  padding: 1.4rem 1.6rem; box-shadow: var(--shadow);
}
.cred__title { font-weight: 700; color: var(--ink); margin-bottom: .8rem; }
.cred__list { display: grid; gap: .45rem; }
.cred__list li { position: relative; padding-left: 1.4rem; color: var(--text); }
.cred__list li::before { content: "•"; position: absolute; left: .25rem; color: var(--accent); font-weight: 700; }
.cred__text { color: var(--text); font-size: .97rem; }
.cred__text strong, .cred strong { color: var(--accent-dk); }

/* ===== Reviews ===== */
.reviews { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.review {
  position: relative; overflow: hidden;
  background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  padding: 1.7rem 1.7rem; box-shadow: var(--shadow-md);
}
.review::before {
  content: "\201C"; position: absolute; top: .1rem; right: 1rem; z-index: 0;
  font-family: var(--font-serif); font-size: 5rem; line-height: 1; color: var(--accent-soft);
}
.review > * { position: relative; z-index: 1; }
.review__stars { color: var(--star); letter-spacing: .12em; font-size: 1rem; margin-bottom: .8rem; }
.review p { color: var(--ink); margin-bottom: 1rem; font-size: 1.04rem; }
.review figcaption { color: var(--muted); font-size: .92rem; font-weight: 600; }

/* ===== Contact ===== */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.8rem, 5vw, 3rem); }
.contact__list { display: grid; gap: 1.2rem; margin-bottom: 1.7rem; }
.contact__list li { display: flex; flex-direction: column; gap: .12rem; }
.contact__label { font-size: .74rem; text-transform: uppercase; letter-spacing: .07em; color: var(--accent); font-weight: 700; }
.contact__list a:hover { color: var(--accent); }
.map { border-radius: 12px; overflow: hidden; border: 1px solid var(--border); }
.map iframe { width: 100%; height: 240px; border: 0; display: block; }
.map__link { display: inline-block; margin-top: .7rem; color: var(--accent); font-weight: 600; font-size: .95rem; }
.map__link:hover { text-decoration: underline; }

.contact__form {
  background: var(--card); border: 1px solid var(--border); border-radius: 14px;
  padding: 1.7rem; box-shadow: var(--shadow);
  display: flex; flex-direction: column; gap: 1rem; align-self: start;
}
.field { display: flex; flex-direction: column; gap: .38rem; }
.field label { font-size: .9rem; font-weight: 600; color: var(--ink); }
.field input, .field textarea {
  font: inherit; font-size: 1rem; color: var(--ink); background: #fff;
  border: 1.5px solid var(--border); border-radius: 8px; padding: .72em .85em; resize: vertical;
  transition: border-color .2s;
}
.field input::placeholder, .field textarea::placeholder { color: var(--muted); }
.field input:focus, .field textarea:focus { border-color: var(--accent); }
.field__hint { color: var(--muted); font-size: .82rem; margin-top: -.1rem; }
.field__opt { color: var(--muted); font-weight: 400; font-size: .85rem; }
.form__status { font-size: .95rem; color: var(--accent); min-height: 1.2em; margin: 0; }

/* ===== Booking ===== */
.section__head--center { margin-inline: auto; text-align: center; }

.booking {
  background: var(--card); border: 1px solid var(--border);
  border-radius: 18px; box-shadow: var(--shadow-lg);
  padding: clamp(1.4rem, 3vw, 2.2rem);
  display: grid; gap: 1.9rem;
}
.booking__step { display: grid; gap: .9rem; }
.booking__label {
  display: flex; align-items: center; gap: .6rem;
  font-weight: 700; color: var(--ink); font-size: 1.02rem;
}
.booking__no {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%; flex: none;
  background: var(--accent-soft); color: var(--accent-dk);
  font-size: .85rem; font-weight: 800;
}

/* service options */
.booking__services { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.svc {
  display: grid; gap: .18rem; text-align: left; font: inherit; cursor: pointer;
  background: #fff; border: 1.5px solid var(--border); border-radius: 12px;
  padding: 1rem 1.1rem;
  transition: border-color .18s, background .18s, box-shadow .18s;
}
.svc:hover { border-color: var(--accent); }
.svc[aria-pressed="true"] {
  border-color: var(--accent); background: var(--accent-soft);
  box-shadow: 0 0 0 3px rgba(44, 98, 68, .14);
}
.svc__name { font-weight: 700; color: var(--ink); font-size: 1.05rem; }
.svc__desc { color: var(--muted); font-size: .9rem; }
.svc__price { font-family: var(--font-serif); color: var(--accent); font-weight: 700; font-size: 1.28rem; margin-top: .3rem; }
.svc[aria-pressed="true"] .svc__desc { color: var(--accent-dk); }
.svc[aria-pressed="true"] .svc__price { color: var(--accent-dk); }

/* day chips */
.booking__days {
  display: flex; gap: .6rem; overflow-x: auto;
  padding: .3rem .2rem .5rem; scroll-padding-inline: .5rem;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
}
.booking__days::-webkit-scrollbar { height: 6px; }
.booking__days::-webkit-scrollbar-track { background: transparent; }
.booking__days::-webkit-scrollbar-thumb { background: var(--border); border-radius: 999px; }
.booking__dayhint { color: var(--muted); font-size: .82rem; margin: -.4rem 0 0; }
.day {
  flex: none; scroll-snap-align: start; font: inherit; cursor: pointer;
  display: grid; justify-items: center; gap: .12rem;
  min-width: 62px; min-height: 44px; padding: .55rem .55rem; color: var(--ink);
  background: #fff; border: 1.5px solid var(--border); border-radius: 12px;
  transition: border-color .18s, background .18s, color .18s;
}
.day:hover { border-color: var(--accent); }
.day[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.day__wd { font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.day__num { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 700; }
.day__mo { font-size: .74rem; color: var(--muted); }
.day[aria-pressed="true"] .day__wd,
.day[aria-pressed="true"] .day__mo { color: rgba(255, 255, 255, .92); }

/* time slots */
.booking__times {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .55rem;
}
.slot {
  min-height: 44px; display: flex; align-items: center; justify-content: center;
  padding: .5em; text-align: center; font: inherit; font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ink); background: #fff; cursor: pointer;
  border: 1.5px solid var(--border); border-radius: 9px;
  transition: border-color .18s, background .18s, color .18s;
}
.slot:hover { border-color: var(--accent); color: var(--accent); }
.slot[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.booking__hint { grid-column: 1 / -1; color: var(--muted); font-size: .96rem; margin: 0; }
.booking__slotcontext { grid-column: 1 / -1; color: var(--muted); font-size: .9rem; margin: 0 0 .1rem; }
.booking__slotcontext strong { color: var(--ink); font-weight: 600; }
.booking__empty { grid-column: 1 / -1; display: grid; gap: .7rem; justify-items: start;
  background: var(--bg-soft); border-radius: 10px; padding: 1rem 1.1rem; }
.booking__empty p { margin: 0; color: var(--text); }

/* details */
.booking__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

/* foot */
.booking__foot { display: grid; gap: 1rem; border-top: 1px solid var(--border); padding-top: 1.6rem; }

/* "Din tid": den lille kvittering, kunden læser lige før hun binder sig */
.tid { background: var(--bg-soft); border-radius: 12px; padding: 1.15rem 1.25rem 1.05rem; }
.tid__title {
  margin: 0 0 .95rem; color: var(--accent);
  font-size: .82rem; font-weight: 700; line-height: 1.3;
  text-transform: uppercase; letter-spacing: .09em;
}

/* max-content, ikke en fast rem-bredde: etiketkolonnen kan ikke løbe over
   på en anden systemskrift (Roboto, Segoe UI) */
.tid__list {
  display: grid; grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 1.3rem; row-gap: .55rem; align-items: baseline;
}
.tid__label { margin: 0; color: var(--text); font-size: .93rem; line-height: 1.45; }
.tid__value {
  margin: 0; color: var(--ink); font-weight: 600; font-size: 1rem; line-height: 1.45;
  font-variant-numeric: tabular-nums;
}
/* endnu ikke valgt */
.tid__value.tid__value--wait { color: var(--text); font-weight: 400; font-variant-numeric: normal; }
.tid__value.tid__value--wait.tid__value--next { color: var(--accent-dk); font-weight: 600; }

/* stregen adskiller prisen fra detaljerne */
.tid__rule { grid-column: 1 / -1; height: 0; border-top: 1px solid var(--border); margin: .35rem 0 .15rem; }

.tid__label--sum { color: var(--ink); font-weight: 600; }
.tid__value--sum:not(.tid__value--wait) {
  font-family: var(--font-serif); font-size: 1.32rem; font-weight: 700;
  color: var(--accent-dk); line-height: 1.15;
}

.tid__pay { margin: .95rem 0 0; color: var(--text); font-size: .86rem; line-height: 1.5; }

/* min-height holder pladsen, så knappen aldrig flytter sig mens man taster */
.tid__gap {
  margin: 0; min-height: 1.45em; text-align: center;
  color: var(--accent-dk); font-size: .95rem; font-weight: 600; line-height: 1.45;
}

.booking__note { color: var(--muted); font-size: .9rem; text-align: center; margin: 0; }
.booking__note a { color: var(--accent); font-weight: 600; white-space: nowrap; }
.booking__note a:hover { text-decoration: underline; }
.booking__live { color: var(--accent-dk); font-size: .95rem; text-align: center; margin: 0; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* Smal skærm og forstørret tekst: etiketten lægger sig over værdien.
   Enheden er em og ikke px, så 150 % tekstzoom rammer den samme regel. */
@media (max-width: 35em) {
  .tid { padding: 1rem 1.05rem; }
  .tid__list { grid-template-columns: 1fr; row-gap: .05rem; align-items: start; }
  .tid__label { font-size: .85rem; }
  .tid__value { margin-bottom: .5rem; }
  .tid__value.tid__value--sum { margin-bottom: 0; }
  .tid__rule { margin: .3rem 0 .55rem; }
}

/* success */
.booking--done { text-align: center; place-items: center; padding: clamp(2rem, 5vw, 3.4rem); }
.booking__success { display: grid; gap: .8rem; justify-items: center; max-width: 440px; }
.booking__check {
  width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center;
  background: var(--accent-soft); color: var(--accent); font-size: 1.9rem; font-weight: 800;
}
.booking__confirm { color: var(--text); font-size: 1.05rem; margin: 0; }
.booking__confirm strong { color: var(--ink); }
.booking__confirm-sub { color: var(--muted); font-size: .95rem; margin: 0; }
.booking__actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; margin-top: .7rem; }

@media (max-width: 560px) {
  .booking__services { grid-template-columns: 1fr; }
  .booking__fields { grid-template-columns: 1fr; }
  .prices { grid-template-columns: 1fr; }
}

/* Booking CTA band (forsiden) — toner glidende ned i kontakt-sektionen nedenunder */
.bookcta { background: linear-gradient(180deg, var(--accent-soft) 0%, var(--bg-soft) 100%); }
.bookcta__inner { text-align: center; display: grid; justify-items: center; gap: .25rem; }
.bookcta__inner .kicker { margin-bottom: .3rem; }
.bookcta__lead { color: var(--text); font-size: 1.06rem; max-width: 48ch; margin: .5rem 0 1.5rem; }

/* Booking page (book.html) */
.header__actions--book { margin-left: auto; }
.backlink { font-weight: 600; color: var(--text); font-size: .95rem; }
.backlink:hover { color: var(--accent); }
.bookpage__reassure { text-align: center; color: var(--muted); font-size: .95rem; margin-top: 1.7rem; }
.bookpage__reassure a { color: var(--accent); font-weight: 600; }
.bookpage__reassure a:hover { text-decoration: underline; }

/* ===== Footer ===== */
.footer { background: var(--ink); color: #b7c4ba; padding: 2.8rem 0 2rem; }
.footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.footer__brand { color: #fff; font-size: 1.1rem; font-weight: 600; }
.footer__brand strong { color: #7ec096; font-weight: 800; }
.footer__tag { color: #95a398; font-size: .92rem; margin-top: .35rem; }
.footer__nav { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.footer__nav a { color: #b7c4ba; font-size: .95rem; }
.footer__nav a:hover { color: #fff; }
.footer__copy {
  max-width: var(--maxw); margin: 1.8rem auto 0; padding: 1.3rem clamp(1.1rem, 4vw, 2rem) 0;
  border-top: 1px solid rgba(255,255,255,.13); color: #95a398; font-size: .85rem;
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .cards { grid-template-columns: repeat(2, 1fr); }
  .reviews { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; gap: 1.5rem; }
  .hero { grid-template-columns: 1fr; }
  .hero__text { padding: clamp(2rem, 6vw, 3rem) clamp(1.1rem, 4vw, 2rem) clamp(2.4rem, 6vw, 3.4rem); }
  .hero__media { order: -1; }
  .hero__media img { min-height: 280px; max-height: 400px; }
  .about { grid-template-columns: 1fr; }
  .about__media { max-width: 360px; }
  .contact { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .nav {
    position: fixed; inset: 61px 0 auto; flex-direction: column; gap: 0;
    background: var(--bg); border-bottom: 1px solid var(--border);
    padding: .5rem clamp(1.1rem, 4vw, 2rem) 1rem;
    transform: translateY(-120%); transition: transform .3s; margin: 0;
  }
  .nav.open { transform: translateY(0); }
  .nav a { padding: .85rem 0; border-bottom: 1px solid var(--border); font-size: 1.05rem; }
  .header__inner { gap: .75rem; }
  .brand { font-size: 1.05rem; }
  .header__actions { margin-left: auto; }
  .header__actions .btn { display: none; }
  .header__phone { white-space: nowrap; font-size: .95rem; }
  .burger { display: flex; order: 3; }
  .cards { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .header__phone { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* ===== "Ingen åbne tider" (kundesiden, normaltilstand ved lukket-som-standard) ===== */
.booking--lukket { text-align: center; place-items: center; padding: clamp(2rem, 5vw, 3.4rem); }
.booking__lukket { display: grid; gap: .7rem; justify-items: center; max-width: 420px; }
.booking__lukket h2 { font-size: 1.4rem; }
.booking__lukket p { color: var(--text); margin: 0; }
.booking__lukket .btn { margin-top: .6rem; }

/* ===== Mine tider (Michaels egen side) ===== */
.admin .booking__fields--login { grid-template-columns: 1fr; gap: 1rem; }

.mtfaner { display: flex; gap: .5rem; margin-bottom: 1.4rem; }
.mtfane {
  flex: 1; font: inherit; font-weight: 600; cursor: pointer; min-height: 44px;
  color: var(--ink); background: #fff; border: 1.5px solid var(--border);
  border-radius: 10px; padding: .6rem 1rem;
}
.mtfane[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }

.mtsum { color: var(--text); font-size: .97rem; margin: 0 0 1.2rem; }
.mtuge {
  margin: 1.5rem 0 .6rem; color: var(--accent); font-size: .78rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .09em;
}
.mtuge:first-child { margin-top: 0; }

.mtdage { display: grid; gap: .5rem; }
.mtdag { background: #fff; border: 1.5px solid var(--border); border-radius: 12px; overflow: hidden; }
.mtdag--aaben { border-color: var(--accent); }
.mtdag__knap {
  width: 100%; display: flex; align-items: center; gap: .9rem; text-align: left;
  font: inherit; cursor: pointer; background: none; border: 0;
  padding: .7rem .9rem; min-height: 56px; color: var(--ink);
}
.mtdag__knap:hover { background: var(--bg-soft); }
.mtdag__dato { display: grid; justify-items: center; flex: none; width: 52px; line-height: 1.15; }
.mtdag__wd { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.mtdag__num { font-family: var(--font-serif); font-size: 1.2rem; font-weight: 700; }
.mtdag__mo { font-size: .72rem; color: var(--muted); }
.mtdag__midt { flex: 1; min-width: 0; display: grid; gap: .18rem; }
.mtdag__tider { font-weight: 600; font-variant-numeric: tabular-nums; }
.mtdag:not(.mtdag--aaben) .mtdag__tider { color: var(--muted); font-weight: 400; }
.mtdag__naar {
  display: inline-block; margin-right: .5rem; color: var(--accent-dk);
  font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
}
.mtdag__maerkat { font-size: .8rem; color: var(--muted); }
.mtdag__hoejre { flex: none; }
.mtdag__pille {
  display: inline-block; background: var(--accent-soft); color: var(--accent-dk);
  font-size: .78rem; font-weight: 700; border-radius: 999px; padding: .25rem .6rem; white-space: nowrap;
}

.mtpanel { border-top: 1px solid var(--border); padding: 1rem .9rem 1.1rem; background: var(--bg-soft); display: grid; gap: .9rem; }
.mtpanel__tom { margin: 0; color: var(--text); font-size: .95rem; }
.mtpanel__hjaelp { margin: 0; color: var(--accent-dk); font-size: .93rem; font-weight: 600; }
.mtpanel__besked {
  margin: 0; background: #fff; border: 1px solid var(--border); border-radius: 10px;
  padding: .7rem .85rem; color: var(--ink); font-size: .93rem;
}
.mtvinduer { display: grid; gap: .45rem; }
.mtvindue {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem;
  background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: .55rem .5rem .55rem .85rem;
}
.mtvindue__tid { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.mtvindue__fjern {
  font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; min-height: 44px;
  color: var(--accent-dk); background: none; border: 0; padding: 0 .6rem; text-decoration: underline;
}
.mtgitter { gap: .45rem; }
.mtgitter .slot { min-height: 44px; font-size: .93rem; }
.slot--aaben { background: var(--accent-soft); border-color: var(--accent-soft); color: var(--accent-dk); }
.mtpanel__foed { display: grid; gap: .6rem; }
.mtpanel__opsum { margin: 0; color: var(--ink); font-weight: 600; font-size: .95rem; }

.mtbookinger { display: grid; gap: .6rem; }
.mtbooking { background: #fff; border: 1.5px solid var(--border); border-radius: 12px; padding: .9rem 1rem; display: grid; gap: .45rem; }
.mtbooking__tid { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.mtbooking__ydelse { display: block; font-weight: 400; font-size: .88rem; color: var(--muted); }
.mtbooking__navn { margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--ink); }
.mtbooking__ring { justify-self: start; min-height: 44px; display: inline-flex; align-items: center; }
.mtbooking__besked summary { cursor: pointer; color: var(--accent-dk); font-size: .9rem; font-weight: 600; min-height: 30px; }
.mtbooking__besked p { margin: .4rem 0 0; color: var(--text); font-size: .93rem; }
.mtbooking__aflys { justify-self: start; }

.mtlink {
  font: inherit; font-size: inherit; cursor: pointer; color: var(--accent);
  background: none; border: 0; padding: .2rem 0; text-decoration: underline; font-weight: 600;
}

@media (max-width: 35em) {
  .mtdag__knap { gap: .7rem; padding: .7rem .7rem; }
  .mtdag__dato { width: 46px; }
  /* 66px giver 4 kolonner i stedet for 3, altså 9 rækker i stedet for 12.
     Panelet falder cirka 150px, og Gem rykker op mod folden. */
  .mtgitter { grid-template-columns: repeat(auto-fill, minmax(66px, 1fr)); }
}


/* ---- Mine tider: netværk, tilstand og krop ---- */

/* Ugeoverskriften bærer nu ugens facit, så han kan finde hullerne
   ved at læse fem linjer i stedet for otteogtyve. */
.mtuge { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.mtuge__sum {
  color: var(--muted); font-weight: 600; letter-spacing: 0;
  text-transform: none; font-size: .8rem; font-variant-numeric: tabular-nums;
}

.mtsum { display: grid; gap: .25rem; }
.mtsum__naeste { color: var(--ink); font-weight: 600; }
.mtsum__tal { color: var(--muted); font-size: .9rem; }
.mtstatus { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* Ugemt er en synlig tilstand, ikke en usynlig. Samme vægt som aftale-pillen,
   så en statusbesked aldrig overdøver en rigtig kunde. */
.mtdag--ugemt { border-color: var(--accent); }
.mtdag__hoejre { flex: none; display: grid; gap: .25rem; justify-items: end; }
.mtdag__status {
  display: inline-block; background: #fff; color: var(--accent-dk);
  border: 1.5px solid var(--accent); font-size: .78rem; font-weight: 700;
  border-radius: 999px; padding: .2rem .55rem; white-space: nowrap;
}

/* Mærkaten bar den mest forvirrende oplysning på rækken i sidens
   mindste og blegeste skrift. */
.mtdag__maerkat { font-size: .95rem; color: var(--text); }

/* .mtdag har overflow: hidden, så en fokusring 2px UDEN for knappen
   bliver klippet væk på alle fire sider. Tegn den indad. */
.mtdag__knap:focus-visible {
  outline: 2px solid var(--accent-dk); outline-offset: -3px; border-radius: 10px;
}

/* Dagens aftaler i panelet: klokkeslæt, navn og tryk for at ringe. */
.mtaftale {
  display: flex; align-items: center; justify-content: space-between; gap: .8rem;
  background: #fff; border: 1px solid var(--border); border-radius: 10px;
  padding: .55rem .5rem .55rem .85rem;
}
.mtaftale__tid { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.mtaftale__navn { flex: 1; min-width: 0; color: var(--text); font-size: .93rem; }
.mtaftale__ring {
  font: inherit; font-size: .88rem; font-weight: 600; min-height: 44px;
  display: inline-flex; align-items: center; padding: 0 .8rem; text-decoration: none;
  color: var(--accent-dk); background: #fff;
  border: 1.5px solid var(--border); border-radius: 8px;
}
.mtsamme { display: grid; gap: .45rem; }

/* Fjern var et understreget ord. Nu er det en flade. */
.mtvindue__fjern {
  background: #fff; border: 1.5px solid var(--border); border-radius: 8px;
  padding: 0 .9rem; text-decoration: none;
}

/* En åben halv time og en lukket adskilte sig med 1,24:1 mod hvid.
   En rigtig kant i accent ligger over 7:1 og kan ses i sollys. */
.slot--aaben {
  background: var(--accent-soft); border-color: var(--accent); border-width: 2px;
  color: var(--accent-dk); font-weight: 700;
}
/* Stiplet, ikke en farve: forskellen skal overleve gråtoner.
   Skal stå EFTER .slot--aaben, en halv time kan være både åben og booket. */
.slot--optaget { border-style: dashed; }

/* Ventetilstanden må ikke arve .btn:disabled's opacity .5, ellers er
   teksten "Gemmer…" ulæselig præcis mens han stirrer på den. */
.btn--venter:disabled { opacity: 1; background: var(--accent-dk); color: #fff; }

/* 44px på de tre flader, der manglede det. Aflys flyttes væk fra Ring. */
.mtlink { min-height: 44px; display: inline-flex; align-items: center; padding: 0 .15rem; }
.mtbooking__besked summary { min-height: 44px; display: flex; align-items: center; }
.mtbooking__aflys {
  margin-top: .5rem; padding-top: .6rem; border-top: 1px solid var(--border);
  justify-self: stretch; justify-content: flex-start;
}
.admin .backlink { min-height: 44px; display: inline-flex; align-items: center; padding: 0 .5rem; }
/* ===== Mine tider: KALENDEREN. Erstatter dagslisten. =====================
   Kalenderen er den ENESTE visning og skal derfor bære alt det, listen bar.
   Ingen tilstand skelnes med kulør. Forskellene er kantens tykkelse, kantens
   mønster, fyld mod tomt, en streg gennem tiden, en omvendt bjælke og et tal.
   Alt sammen overlever gråtoner, sollys og et par øjne på 55.

   Koderne siger PRÆCIS det samme som i tids-gitteret i panelet, der ligger
   synligt lige under: fyld plus hel kant er .slot--aaben, altså "åben, kan
   bookes". Stiplet er .slot--optaget, altså "kunden kan ikke tage den".
   ======================================================================== */

.mtdage { display: grid; gap: .5rem; }
.mtkal  { --kal-gap: 4px; display: grid; gap: 1.15rem; }

/* Ugedagsrækken står ÉN gang, øverst. Søjlerne er faste hele vejen ned:
   mandag er altid søjle et, fordi hans vagtplan også er mandag til søndag. */
.mtkal__wd, .mtkaluge__dage {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--kal-gap);
}
.mtkal__wd {
  margin-bottom: -.5rem; text-align: center; color: var(--muted);
  font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
}

.mtkaluge { display: grid; gap: .5rem; }
.mtkaluge .mtuge { margin: 0; }

/* ---- én dag ---- */
.mtkaldag {
  position: relative; overflow: hidden; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 1px;
  min-height: 74px; padding: 5px 1px 4px;
  font: inherit; text-align: center; color: var(--ink); cursor: pointer;
  background: #fff; border: 1.5px solid var(--border); border-radius: 9px;
  transition: border-color .18s, background .18s;
  -webkit-tap-highlight-color: transparent;
}
.mtkaldag__mikro {
  min-height: 11px; line-height: 11px; font-size: .64rem; font-weight: 700;
  letter-spacing: -.01em; color: var(--accent-dk);
}
.mtkaldag__num {
  min-width: 22px; min-height: 22px; display: grid; place-items: center; border-radius: 50%;
  font-family: var(--font-serif); font-size: 1.15rem; font-weight: 400; line-height: 1.1;
  font-variant-numeric: tabular-nums; color: var(--muted);
}
.mtkaldag__tid {
  min-height: 14px; line-height: 14px; font-size: .8rem; font-weight: 700;
  letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--ink);
}
/* Kunderne: en bjælke i bunden med antallet i omvendt tekst. Det er det
   eneste sted i gitteret, hvor der står "her kommer et rigtigt menneske",
   og derfor er det den kraftigste markering på cellen. */
.mtkaldag__kunder {
  margin-top: auto; align-self: stretch; min-height: 15px; line-height: 15px;
  background: var(--accent-dk); color: #fff; border-radius: 4px;
  font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums;
}

/* LUKKET: hvid flade, hårstreg, dagtallet i normal vægt. En tom æske. */

/* ÅBEN: fyld plus dobbelt så tyk hel kant. Padding kompenserer for
   kanttykkelsen, så indholdsbredden er præcis den samme som i en lukket
   celle: 45,26 minus 3 minus 2 er 40,26 px begge steder. */
.mtkaldag--aaben {
  background: var(--accent-soft); border: 2px solid var(--accent); padding: 4.5px .5px 3.5px;
}
.mtkaldag--aaben .mtkaldag__num { color: var(--ink); font-weight: 700; }

/* SPÆRRET: kunder kan ikke booke dagen. Stiplet betyder nøjagtig det samme
   på .slot--optaget i tids-gitteret 200 px længere nede. */
.mtkaldag--spaerret { border-style: dashed; }

/* UDEN: åbningen VIRKER ikke (for sent eller for kort). Tiden er streget
   over. En overstregning er en form, ikke en farve, og den siger uden ord
   at klokkeslættet står der, men ikke gælder. */
.mtkaldag--uden .mtkaldag__tid {
  text-decoration: line-through; text-decoration-thickness: 1.5px;
}

/* I DAG: en ring om dagtallet. Et andet sted end kanten, så den aldrig
   kan forveksles med tilstanden. */
/* Ringen om dagtallet klippede cifret, fordi cirklen kun er 22px og tallet
   fylder 18. Mikrolinjen siger allerede "i dag" med ord, som ikke skal
   afkodes, så markeringen flyttes derhen. */
.mtkaldag--idag .mtkaldag__mikro {
  background: var(--accent-dk); color: #fff; border-radius: 999px;
  padding: 0 .3rem; justify-self: center;
}

/* IKKE GEMT: en bjælke langs cellens overkant. Der ligger arbejde her, som
   ikke er sendt af sted. Den bor i toppen, hvor intet andet bor. */
.mtkaldag--ugemt::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: var(--accent-dk);
}

/* VALGT: fyldt accent med hvid skrift, som .day[aria-pressed="true"] på
   kundesiden. Omvendt tekst kan ikke forveksles med den lyse åben-flade,
   heller ikke i gråtoner, og panelet lige under siger dagens tilstand med ord. */
.mtkaldag--valgt { background: var(--accent); border-color: var(--accent-dk); }
.mtkaldag--valgt .mtkaldag__mikro,
.mtkaldag--valgt .mtkaldag__num,
.mtkaldag--valgt .mtkaldag__tid { color: #fff; }
.mtkaldag--valgt.mtkaldag--idag .mtkaldag__mikro { background: #fff; color: var(--accent-dk); }
.mtkaldag--valgt .mtkaldag__kunder { background: #fff; color: var(--accent-dk); }
.mtkaldag--valgt::before { background: #fff; }

/* UDEN FOR HORISONTEN: dage før i dag og dage efter de 28. Ingen ramme,
   ingen flade, ingen knap. En celle uden æske kan ikke misforstås som en
   æske, man kan trykke på. */
.mtkaldag--ude { background: none; border-color: transparent; cursor: default; }
.mtkaldag--ude .mtkaldag__num { color: var(--muted); opacity: .5; }

/* Hover pakkes ind: på iOS hænger :hover på det sidst trykkede element, og
   en lukket dag må aldrig komme til at se åben ud, fordi han rørte den. */
@media (hover: hover) {
  .mtkaldag:hover:not(.mtkaldag--ude):not(.mtkaldag--valgt) { border-color: var(--accent-dk); }
}
/* .mtkaldag har overflow: hidden til bjælken i toppen, så en ring UDEN for
   kanten klippes væk. Samme lærepenge som .mtdag__knap:focus-visible. */
.mtkaldag:focus-visible { outline: 2px solid var(--accent-dk); outline-offset: -3px; border-radius: 9px; }
.mtkaldag--valgt:focus-visible { outline-color: #fff; }

/* ---- linjerne under ugen: de tal, en celle på 45 px ikke kan rumme ----
   De findes KUN for de dage, han har åbnet eller rørt ved, altså typisk to
   til fire pr. uge. De forklarer ikke gitterets former, de leverer fakta. */
.mtkalfakta { display: grid; gap: .3rem; }
.mtkalfakta:empty { display: none; }
.mtkalfakta__linje {
  margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .65rem;
  font-size: .88rem; line-height: 1.45; color: var(--text);
}
.mtkalfakta__dag { min-width: 3.7em; color: var(--ink); font-weight: 700; }
.mtkalfakta__tid { color: var(--ink); font-variant-numeric: tabular-nums; }
.mtkalfakta__note { color: var(--muted); }
.mtkalfakta__note--ugemt { color: var(--ink); font-weight: 700; }
.mtkalfakta__note--gemt  { color: var(--accent-dk); font-weight: 600; }

/* ---- dagspanelet: folder ud i sin egen uge, ikke under hele kalenderen ---- */
.mtkalpanel {
  --kant: 1.5px;
  position: relative; margin-top: .25rem; background: #fff;
  border: var(--kant) solid var(--accent); border-radius: 12px;
}
.mtkalpanel:focus { outline: none; }
.mtkalpanel:focus-visible { outline: 2px solid var(--accent-dk); outline-offset: 2px; }
/* Næbbet peger på midten af den trykkede celle. Cellebredden er
   (W - 6g) / 7, og W er 100% plus de to kanter, fordi procenter regnes af
   padding-boksen. --kol er søjlenummeret, 0 er mandag. */
.mtkalpanel::before {
  content: ""; position: absolute; top: -10px;
  left: calc((100% + 2 * var(--kant) - 6 * var(--kal-gap)) / 7 * (var(--kol) + .5)
             + var(--kol) * var(--kal-gap) - var(--kant));
  transform: translateX(-50%); width: 0; height: 0;
  border-left: 9px solid transparent; border-right: 9px solid transparent;
  border-bottom: 10px solid var(--accent);
}
.mtkalpanel__hoved {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem;
  padding: .75rem .9rem .4rem;
}
.mtkalpanel__dag { color: var(--ink); font-weight: 700; font-size: 1.05rem; }
.mtkalpanel__tid { color: var(--ink); font-size: .95rem; font-variant-numeric: tabular-nums; }
.mtkalpanel__luk {
  margin-left: auto; min-height: 44px; padding: 0 .95rem;
  font: inherit; font-size: .93rem; font-weight: 600; cursor: pointer;
  color: var(--accent-dk); background: #fff;
  border: 1.5px solid var(--border); border-radius: 8px;
}
.mtkalpanel__luk:hover { border-color: var(--accent); }
/* Listen sagde HVAD. Her står også HVORFOR, med hans egne tal. */
.mtkalpanel__stand { margin: 0 .9rem .8rem; color: var(--text); font-size: .95rem; }
.mtkalpanel > .mtpanel { border-radius: 0 0 10px 10px; }

.mtkalfod { margin: 0; color: var(--muted); font-size: .88rem; }

/* ---- telefon ----
   Ved 360 px: container 324,8 px, gitteret låner 8 px i hver side, seks
   mellemrum a 4 px, altså (340,8 - 24) / 7 = 45,26 px pr. dag. Trykfladen
   er 45,26 x 74 px, over 44 i begge retninger. */
@media (max-width: 35em) {
  .mtkal__wd, .mtkaluge__dage, .mtkalpanel { margin-inline: -.5rem; }
}
/* 352 px og derunder er en aktuel iPhone med Vis og lysstyrke sat til
   Zoomet. Den findes, og han er præcis typen, der slår den til. Gitteret
   låner mere luft og strammer mellemrummet: (313,6 - 12) / 7 = 43,1 px.
   Ét komma noget under retningslinjen, men 74 px højt, og alternativet,
   et vandret rullende gitter, er værre. */
@media (max-width: 22em) {
  .mtkal { --kal-gap: 2px; }
  .mtkal__wd, .mtkaluge__dage, .mtkalpanel { margin-inline: -.9rem; }
  .mtkaldag__mikro { font-size: .6rem; }
}
@media (min-width: 34em) {
  .mtkal { --kal-gap: 6px; }
  .mtkaldag { min-height: 88px; padding: 7px 4px 6px; }
  .mtkaldag--aaben { padding: 6.5px 3.5px 5.5px; }
  .mtkaldag__mikro { min-height: 14px; line-height: 14px; font-size: .74rem; }
  .mtkaldag__num { min-width: 28px; min-height: 28px; font-size: 1.45rem; }
  .mtkaldag__tid { min-height: 17px; line-height: 17px; font-size: .95rem; }
  .mtkaldag__kunder { min-height: 18px; line-height: 18px; font-size: .85rem; }
  .mtkal__wd { font-size: .8rem; }
}

/* ---- Måneds-bladring ---- */
.mtkalnav {
  display: flex; align-items: center; gap: .5rem; margin-bottom: .7rem;
}
.mtkalnav__midt { flex: 1; min-width: 0; text-align: center; display: grid; gap: .1rem; }
.mtkalnav__navn {
  margin: 0; color: var(--ink); font-weight: 700; font-size: 1.05rem;
  text-transform: capitalize;
}
.mtkalnav__hjem { font-size: .85rem; min-height: 0; justify-self: center; }
.mtkalnav__pil {
  flex: none; width: 44px; min-height: 44px; font: inherit; font-size: 1.5rem;
  line-height: 1; cursor: pointer; color: var(--accent-dk); background: #fff;
  border: 1.5px solid var(--border); border-radius: 10px;
}
.mtkalnav__pil:hover:not(:disabled) { border-color: var(--accent); }
.mtkalnav__pil:disabled { opacity: .35; cursor: not-allowed; }

/* Skæve klokkeslæt ("17.30 til 21") kan ikke være på én linje i en 45px celle,
   uanset skriftstørrelse. To bevidste linjer slår et tilfældigt brud midt i
   et tal. Cellen har plads, fordi mikrolinjen ofte er tom. */
.mtkaldag__tid { white-space: nowrap; }
.mtkaldag__tid--to {
  display: grid; line-height: 1.05; min-height: 26px; align-content: center;
  font-size: .72rem;
}

/* Mail-status på et bookingkort. Paletten har ingen rød, så en fejl bæres af
   ord, vægt og en kant, ikke af kulør. Samme greb som .mtpanel__besked. */
.mtbooking__mail { margin: .35rem 0 0; font-size: .88rem; color: var(--muted); }
.mtbooking__mail--fejl {
  color: var(--ink); font-weight: 600; background: #fff;
  border: 1.5px solid var(--accent-dk); border-radius: 8px; padding: .5rem .7rem;
}

/* ===== Persondata ===== */
.persondata h2 { font-size: 1.25rem; margin: 2.2rem 0 .7rem; }
.persondata h2:first-child { margin-top: 0; }
.persondata p { margin-bottom: 1rem; max-width: 62ch; }
.persondata a { color: var(--accent); font-weight: 600; text-decoration: underline; }
.pdliste { display: grid; gap: .7rem; margin: 0 0 1.2rem; max-width: 62ch; }
.pdliste li { position: relative; padding-left: 1.5rem; color: var(--text); }
.pdliste li::before { content: "·"; position: absolute; left: .4rem; color: var(--accent); font-weight: 700; }

/* Aflysnings-panelet. Michael skal kunne læse hvad der sker, skrive hvorfor,
   og fortryde uden at have gjort noget. En browser-dialog kan ingen af delene. */
.mtaflys {
  margin-top: .7rem; padding-top: .8rem; border-top: 1px solid var(--border);
  display: grid; gap: .8rem;
}
.mtaflys__info { margin: 0; color: var(--text); font-size: .9rem; line-height: 1.5; }
.mtaflys__knapper { display: flex; gap: .6rem; flex-wrap: wrap; }
.mtaflys__knapper .btn { flex: 1; min-width: 130px; min-height: 44px; }

/* ========================================================================== */
/* 2026 visual refresh — MH Sportsmassage                                      */
/* ========================================================================== */

:root {
  --bg: #fbf8f2;
  --bg-soft: #edf2ec;
  --card: #fffdf9;
  --ink: #17372d;
  --text: #4d5c56;
  --muted: #6d7873;
  --accent: #2c6a52;
  --accent-dk: #1d4b3b;
  --accent-soft: #dce9df;
  --border: #d9e1d9;
  --sand: #d8ad77;
  --sand-soft: #f1e3cf;
  --shadow-sm: 0 2px 8px rgba(21, 52, 42, .06);
  --shadow-md: 0 18px 45px -28px rgba(21, 52, 42, .32);
  --shadow-lg: 0 28px 75px -35px rgba(21, 52, 42, .42);
  --maxw: 1180px;
}

body {
  background: var(--bg);
  line-height: 1.72;
}

h1, h2 {
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: -.035em;
}

h1 { font-size: clamp(2.75rem, 5.6vw, 4.7rem); }
h2 { font-size: clamp(2.15rem, 4vw, 3.25rem); }
h3 { letter-spacing: -.025em; }

.container { padding-inline: clamp(1.25rem, 4.5vw, 2.25rem); }
.section { padding-block: clamp(4.8rem, 9vw, 8rem); }

.section__head { max-width: 720px; margin-bottom: clamp(2.4rem, 5vw, 3.8rem); }
.section__head h1,
.section__head h2 { text-wrap: balance; }
.section__intro { max-width: 62ch; font-size: 1.1rem; }

.kicker,
.hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .75rem;
  font-size: .76rem;
  letter-spacing: .145em;
}

.kicker::before,
.hero__kicker::before {
  content: "";
  width: 28px;
  height: 1.5px;
  background: var(--sand);
}

/* Header */
.header {
  background: rgba(251, 248, 242, .9);
  border-bottom-color: rgba(44, 106, 82, .12);
  box-shadow: 0 7px 30px rgba(21, 52, 42, .035);
  backdrop-filter: blur(18px) saturate(120%);
}

.header__inner {
  max-width: 1280px;
  min-height: 76px;
  padding-block: .7rem;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.brand strong {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--accent);
  font-family: var(--font-serif);
  font-size: 1rem;
  letter-spacing: -.04em;
  box-shadow: 0 8px 20px -10px rgba(29, 75, 59, .7);
}

.nav { gap: clamp(1rem, 2vw, 1.7rem); }
.nav a { position: relative; padding-block: .4rem; font-size: .91rem; font-weight: 600; }
.nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.5px;
  background: var(--sand);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}
.nav a:hover::after { transform: scaleX(1); transform-origin: left; }

.header__phone { font-size: .94rem; }

/* Buttons */
.btn {
  min-height: 48px;
  padding: .78em 1.65em;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease,
              color .2s ease, border-color .2s ease;
}

.btn--solid {
  background: var(--accent);
  box-shadow: 0 12px 24px -13px rgba(29, 75, 59, .75);
}

.btn--solid:hover {
  background: var(--accent-dk);
  box-shadow: 0 16px 28px -14px rgba(29, 75, 59, .8);
}

.btn--outline {
  border-color: rgba(44, 106, 82, .28);
  background: rgba(255, 253, 249, .75);
}

.btn--sm { min-height: 42px; }

/* Home hero */
.site-home .hero {
  position: relative;
  display: block;
  min-height: auto;
  background:
    radial-gradient(circle at 5% 5%, rgba(216, 173, 119, .18), transparent 28%),
    linear-gradient(135deg, #f1f3e9 0%, #f8f3e9 55%, #fbf8f2 100%);
}

.site-home .hero::before {
  content: "";
  position: absolute;
  top: 9%;
  left: -80px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(44, 106, 82, .13);
  border-radius: 50%;
}

.site-home .hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
  align-items: center;
  gap: clamp(3rem, 6vw, 6.5rem);
  max-width: 1280px;
  min-height: clamp(660px, 78vh, 820px);
  margin: 0 auto;
  padding: clamp(3.2rem, 7vw, 6.5rem) clamp(1.25rem, 4.5vw, 3.5rem);
}

.site-home .hero__text { padding: 0; }
.site-home .hero__text h1 { max-width: 13ch; margin-bottom: 1.35rem; text-wrap: balance; }
.site-home .hero__lead { max-width: 55ch; margin-bottom: 2.15rem; font-size: 1.12rem; }
.site-home .hero__cta { margin-bottom: 2.1rem; }

.site-home .hero__points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem 1.1rem;
  max-width: 650px;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(44, 106, 82, .16);
}

.site-home .hero__points li {
  padding-left: 1.55rem;
  font-size: .86rem;
  line-height: 1.5;
}

.site-home .hero__points li::before {
  display: grid;
  place-items: center;
  top: .05rem;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  color: #fff;
  background: var(--accent);
  font-size: .68rem;
}

.site-home .hero__media {
  position: relative;
  align-self: center;
  padding: 0 0 24px 24px;
}

.site-home .hero__media::before {
  content: "";
  position: absolute;
  inset: 30px 25px 0 0;
  border-radius: 999px 999px 34px 34px;
  background: var(--sand-soft);
}

.site-home .hero__media::after {
  content: "";
  position: absolute;
  right: -10px;
  bottom: -5px;
  width: 105px;
  height: 105px;
  border: 1px solid rgba(44, 106, 82, .3);
  border-radius: 50%;
}

.site-home .hero__media img {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 0;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 51% center;
  border-radius: 999px 999px 34px 34px;
  box-shadow: var(--shadow-lg);
}

/* Home sections */
.site-home .section--soft {
  background:
    linear-gradient(rgba(255,255,255,.15), rgba(255,255,255,.15)),
    var(--bg-soft);
}

.site-home .cards { gap: 1.4rem; }
.site-home .card {
  border: 0;
  border-radius: 22px;
  box-shadow: var(--shadow-md);
}
.site-home .card img { height: auto; aspect-ratio: 4 / 2.8; }
.site-home .card__body { padding: 1.55rem 1.55rem 1.8rem; }
.site-home .card__body h3 { margin-bottom: .65rem; font-family: var(--font-serif); font-size: 1.4rem; }

.site-home .conditions {
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
  padding: clamp(1.8rem, 4vw, 3rem);
  border: 0;
  border-radius: 24px;
  color: #fff;
  background: var(--accent-dk);
  box-shadow: var(--shadow-lg);
}

.site-home .conditions::after {
  content: "";
  position: absolute;
  right: -100px;
  bottom: -125px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
}

.site-home .conditions__title { color: #fff; }
.site-home .condgroup__label { color: #e8c699; }
.site-home .condlist li { color: rgba(255,255,255,.78); }
.site-home .condgroup,
.site-home .conditions__title { position: relative; z-index: 1; }

.site-home .steps { gap: 0; }
.site-home .step { position: relative; padding: 0 clamp(1.2rem, 3vw, 2.2rem); }
.site-home .step:first-child { padding-left: 0; }
.site-home .step:last-child { padding-right: 0; }
.site-home .step + .step { border-left: 1px solid rgba(44, 106, 82, .16); }
.site-home .step__no {
  width: 50px;
  height: 50px;
  margin-bottom: 1.4rem;
  border: 6px solid rgba(255,255,255,.7);
  box-shadow: 0 0 0 1px rgba(44, 106, 82, .13);
}
.site-home .step h3 { margin-bottom: .65rem; font-family: var(--font-serif); font-size: 1.45rem; }

.site-home .prices { gap: 1.15rem; }
.site-home .priceblock {
  position: relative;
  overflow: hidden;
  min-height: 215px;
  padding: 1.8rem;
  border: 0;
  border-radius: 20px;
  box-shadow: var(--shadow-md);
}
.site-home .priceblock::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -36px;
  width: 95px;
  height: 95px;
  border-radius: 50%;
  background: var(--sand-soft);
}
.site-home .priceblock__amt {
  position: relative;
  z-index: 1;
  margin-top: 1.35rem;
  font-family: var(--font-serif);
  font-size: 2.15rem;
}
.site-home .insurance {
  margin-top: 1.8rem;
  padding: 1.55rem 1.7rem;
  border: 0;
  border-left: 4px solid var(--sand);
  border-radius: 4px 18px 18px 4px;
}

.site-home .about { gap: clamp(2.5rem, 7vw, 6rem); }
.site-home .about__media { position: relative; }
.site-home .about__media::before {
  content: "";
  position: absolute;
  inset: 24px -24px -24px 24px;
  border: 1px solid rgba(44, 106, 82, .25);
  border-radius: 180px 180px 24px 24px;
}
.site-home .about__media img {
  position: relative;
  z-index: 1;
  max-height: none;
  border-radius: 180px 180px 24px 24px;
}
.site-home .about__text h2 { margin-bottom: 1.35rem; }
.site-home .about__facts {
  padding: 1.2rem 1.35rem;
  border-radius: 16px;
  background: rgba(255,255,255,.5);
}
.site-home .about__creds { margin-top: clamp(3rem, 6vw, 5rem); }
.site-home .cred { border: 0; border-top: 3px solid var(--sand); border-radius: 4px 4px 18px 18px; }

.site-home .reviews { gap: 1.25rem; }
.site-home .review {
  padding: 2rem;
  border: 0;
  border-radius: 22px;
  background: #fffdf9;
}
.site-home .review::before { top: .25rem; right: 1.4rem; color: var(--sand-soft); font-size: 6rem; }
.site-home .review__stars { color: #c8862e; }

.site-home .bookcta {
  position: relative;
  overflow: hidden;
  color: rgba(255,255,255,.78);
  background:
    radial-gradient(circle at 15% 30%, rgba(216,173,119,.2), transparent 26%),
    radial-gradient(circle at 85% 80%, rgba(255,255,255,.09), transparent 22%),
    var(--accent-dk);
}
.site-home .bookcta h2,
.site-home .bookcta .kicker { color: #fff; }
.site-home .bookcta__lead { color: rgba(255,255,255,.78); }
.site-home .bookcta .btn--solid { color: var(--accent-dk); background: #fff; }
.site-home .bookcta .btn--solid:hover { background: var(--sand-soft); }

.site-home .contact { gap: clamp(2.2rem, 6vw, 5rem); }
.site-home .contact__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 1.6rem;
  border-radius: 18px;
  background: rgba(255,255,255,.58);
}
.site-home .contact__list li { min-width: 0; }
.site-home .contact__list a { overflow-wrap: anywhere; }
.site-home .map { border: 0; border-radius: 18px; box-shadow: var(--shadow-md); }
.site-home .contact__form {
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border: 0;
  border-radius: 22px;
  box-shadow: var(--shadow-lg);
}

/* Forms */
.field { gap: .5rem; }
.field label { font-size: .87rem; letter-spacing: .01em; }
.field input,
.field textarea {
  min-height: 50px;
  padding: .76em .95em;
  border-color: #cad6cc;
  border-radius: 11px;
  background: rgba(255,255,255,.88);
  box-shadow: inset 0 1px 1px rgba(21,52,42,.025);
}
.field textarea { min-height: 96px; }
.field input:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(44,106,82,.1);
}

/* Booking page */
.site-booking {
  background:
    radial-gradient(circle at 10% 8%, rgba(216,173,119,.16), transparent 24%),
    linear-gradient(180deg, #f6f3ec 0%, #fbf8f2 56%, #edf2ec 100%);
}

.site-booking #book { padding-top: clamp(4rem, 7vw, 6.2rem); }
.site-booking #book > .container { max-width: 1040px; }
.site-booking .section__head--center { max-width: 720px; margin-bottom: 2.6rem; }
.site-booking .section__head--center h1 { font-size: clamp(3rem, 6vw, 4.5rem); }

.site-booking .booking {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(285px, .72fr);
  gap: 0 clamp(1.6rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2.2rem);
  border: 0;
  border-radius: 28px;
  background: rgba(255,253,249,.93);
  box-shadow: 0 32px 90px -46px rgba(21,52,42,.46);
}

.site-booking .booking__step {
  grid-column: 1;
  gap: 1.05rem;
  padding: 1.35rem 0 1.7rem;
  border-bottom: 1px solid rgba(44,106,82,.12);
}
.site-booking .booking__step:first-child { padding-top: 0; }
.site-booking .booking__step:nth-child(4) { padding-bottom: 0; border-bottom: 0; }

.site-booking .booking__label { gap: .75rem; font-family: var(--font-serif); font-size: 1.2rem; }
.site-booking .booking__no {
  width: 34px;
  height: 34px;
  color: #fff;
  background: var(--accent);
  box-shadow: 0 8px 18px -11px rgba(29,75,59,.8);
}

.site-booking .booking__services { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.site-booking .svc {
  min-height: 150px;
  align-content: start;
  padding: 1rem;
  border: 1px solid #d6dfd7;
  border-radius: 16px;
  background: #fff;
}
.site-booking .svc:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.site-booking .svc[aria-pressed="true"] {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: 0 0 0 3px rgba(44,106,82,.1);
}
.site-booking .svc__name { font-size: 1rem; }
.site-booking .svc__desc { line-height: 1.45; }
.site-booking .svc__price { align-self: end; margin-top: auto; font-size: 1.45rem; }

.site-booking .booking__days { gap: .55rem; padding: .2rem .1rem .65rem; }
.site-booking .day {
  min-width: 70px;
  min-height: 74px;
  border-radius: 15px;
  background: #fff;
}
.site-booking .day[aria-pressed="true"] { box-shadow: 0 10px 22px -13px rgba(29,75,59,.75); }
.site-booking .slot { min-height: 48px; border-radius: 12px; }

.site-booking .booking__foot {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: start;
  position: sticky;
  top: 102px;
  gap: .9rem;
  padding: 1.35rem;
  border: 0;
  border-radius: 20px;
  background: #eef2e9;
}
.site-booking .tid {
  padding: 1.2rem;
  border: 1px solid rgba(44,106,82,.12);
  border-radius: 16px;
  background: #fffdf9;
  box-shadow: var(--shadow-sm);
}
.site-booking .tid__title { color: var(--accent-dk); }
.site-booking .tid__list { grid-template-columns: 1fr; row-gap: .05rem; }
.site-booking .tid__label { margin-top: .35rem; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }
.site-booking .tid__value { margin-bottom: .4rem; }
.site-booking .tid__rule { margin-block: .5rem .35rem; }
.site-booking .tid__pay { padding-top: .8rem; border-top: 1px solid var(--border); }
.site-booking .tid__gap { font-size: .88rem; }
.site-booking .booking__note { font-size: .82rem; line-height: 1.5; }

.site-booking .bookpage__reassure {
  margin-top: 2rem;
  padding: 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.5);
}

/* Footer */
.footer { padding-top: 3.4rem; background: #133229; }
.footer__brand { display: flex; align-items: center; gap: .55rem; }
.footer__brand strong { color: #e5c291; font-family: var(--font-serif); }

/* Responsive */
@media (max-width: 1080px) {
  .site-home .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(350px, .82fr); gap: 3rem; }
  .site-home .hero__points { grid-template-columns: 1fr; }
  .nav { gap: .9rem; }
  .nav a { font-size: .85rem; }
}

@media (max-width: 900px) {
  .site-home .hero__grid {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-block: 2rem 4.5rem;
  }
  .site-home .hero__media { order: -1; width: min(100%, 560px); margin: 0 auto; padding-left: 18px; }
  .site-home .hero__media img { aspect-ratio: 4 / 3; border-radius: 220px 220px 30px 30px; object-position: center top; }
  .site-home .hero__media::before { border-radius: 220px 220px 30px 30px; }
  .site-home .hero__text { max-width: 720px; }
  .site-home .hero__text h1 { max-width: 15ch; }
  .site-home .hero__points { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .site-booking .booking { grid-template-columns: 1fr; }
  .site-booking .booking__step,
  .site-booking .booking__foot { grid-column: 1; }
  .site-booking .booking__foot {
    grid-row: auto;
    position: static;
    margin-top: 1.5rem;
  }
  .site-booking .tid__list { grid-template-columns: max-content minmax(0, 1fr); row-gap: .55rem; }
  .site-booking .tid__label { margin-top: 0; font-size: .86rem; text-transform: none; letter-spacing: 0; }
  .site-booking .tid__value { margin-bottom: 0; }
}

@media (max-width: 720px) {
  .header__inner { min-height: 68px; }
  .brand strong { width: 34px; height: 34px; }
  .nav { inset: 68px 0 auto; padding: .5rem 1.25rem 1.2rem; background: rgba(251,248,242,.98); }
  .nav a { font-size: 1rem; }

  .site-home .hero__grid { gap: 2.4rem; padding-inline: 1.25rem; }
  .site-home .hero__points { grid-template-columns: 1fr; }
  .site-home .steps { gap: 2rem; }
  .site-home .step,
  .site-home .step:first-child,
  .site-home .step:last-child { padding: 0; }
  .site-home .step + .step { padding-top: 2rem; border-top: 1px solid rgba(44,106,82,.16); border-left: 0; }
  .site-home .contact__list { grid-template-columns: 1fr; }

  .site-booking #book { padding-top: 3.5rem; }
  .site-booking .booking { padding: 1.25rem; border-radius: 22px; }
  .site-booking .booking__services { grid-template-columns: 1fr; }
  .site-booking .svc { min-height: 0; }
}

@media (max-width: 560px) {
  h1 { font-size: clamp(2.55rem, 13vw, 3.6rem); }
  .section { padding-block: 4.6rem; }
  .site-home .hero__grid { padding-top: 1.4rem; }
  .site-home .hero__media { padding: 0 0 14px 12px; }
  .site-home .hero__media::after { width: 72px; height: 72px; }
  .site-home .hero__cta { display: grid; grid-template-columns: 1fr 1fr; }
  .site-home .hero__cta .btn { padding-inline: 1rem; }
  .site-home .conditions { margin-inline: -.15rem; }
  .site-home .about__media::before { inset: 15px -10px -15px 15px; }

  .site-booking .section__head--center h1 { font-size: 3.15rem; }
  .site-booking .booking { margin-inline: -.2rem; }
  .site-booking .booking__foot { margin-inline: -.1rem; padding: 1rem; }
  .site-booking .tid__list { grid-template-columns: 1fr; row-gap: .05rem; }
  .site-booking .tid__label { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
  .site-booking .tid__value { margin-bottom: .45rem; }
  .site-booking .bookpage__reassure { border-radius: 18px; }
}

@media (max-width: 400px) {
  .brand { font-size: .98rem; gap: .45rem; }
  .site-booking .header__phone { display: none; }
  .site-home .hero__cta { grid-template-columns: 1fr; }
}

/* Linket i tilskuds-boksen skal kunne ses som et link. Sidens globale
   a-regel arver farven fra teksten, så det så ud som almindelig brødtekst. */
.insurance a {
  color: var(--accent); font-weight: 600; text-decoration: underline;
  text-underline-offset: 2px;
}
.insurance a:hover { color: var(--accent-dk); }

/* Advarsel i Mine tider: en behandling der ikke kan bookes nogen dag.
   Ingen rød, paletten har ingen. Kant og vægt bærer forskellen. */
.mtsum__advarsel {
  margin-top: .5rem; color: var(--ink); font-weight: 600; font-size: .95rem;
  background: #fff; border: 1.5px solid var(--accent-dk);
  border-radius: 8px; padding: .5rem .7rem;
}
