/* =========================================================
   FRISTET.DK – BOOKING V3
   Naturgrøn · sand · jordtoner
   Mere wellness / retreat / behandling
   ========================================================= */

:root {
    --bk-bg: #ede6da;
    --bk-bg-soft: #f6f1e8;
    --bk-surface: #fffaf2;
    --bk-surface-2: #f1e8d8;
    --bk-surface-3: #e6dcc9;

    --bk-forest: #33473a;
    --bk-forest-2: #415646;
    --bk-moss: #4f6a52;
    --bk-moss-2: #5f765f;
    --bk-sage: #8fa089;
    --bk-sage-soft: #dde5d8;

    --bk-earth: #a46f57;
    --bk-earth-2: #8a6652;
    --bk-clay-soft: #ead8cf;
    --bk-sand: #dccfb8;
    --bk-gold: #c4ab73;
    --bk-gold-soft: #e8dbc0;

    --bk-text: #2f3b2f;
    --bk-text-soft: #4b463f;
    --bk-muted: #6f6a61;

    --bk-line: rgba(51, 71, 58, .13);
    --bk-line-strong: rgba(79, 106, 82, .28);
    --bk-line-earth: rgba(164, 111, 87, .24);

    --bk-shadow: 0 18px 40px rgba(55, 58, 44, .10);
    --bk-shadow-strong: 0 28px 56px rgba(55, 58, 44, .16);
}

body {
    background:
        radial-gradient(circle at top left, rgba(220, 207, 184, .70), transparent 28%),
        radial-gradient(circle at top right, rgba(143, 160, 137, .18), transparent 22%),
        linear-gradient(180deg, #f6f1e8 0%, #ede6da 48%, #e8dfd0 100%) !important;
}

.booking-shell {
    width: min(1280px, calc(100% - 32px));
    margin: 0 auto;
    padding: 38px 0 82px;
    color: var(--bk-text-soft);
    font-family: Montserrat, Arial, sans-serif;
}

.booking-shell * {
    box-sizing: border-box;
}

.booking-shell h1,
.booking-shell h2,
.booking-shell h3 {
    color: var(--bk-forest);
    font-family: "Playfair Display", Georgia, serif;
}

.booking-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
    padding: 30px 30px 28px;
    border: 1px solid rgba(95, 118, 95, .16);
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0, rgba(143, 160, 137, .20), transparent 26%),
        radial-gradient(circle at 0 100%, rgba(164, 111, 87, .12), transparent 28%),
        linear-gradient(145deg, rgba(255, 250, 242, .96), rgba(241, 232, 216, .94));
    box-shadow: var(--bk-shadow-strong);
}

.booking-kicker {
    display: block;
    margin-bottom: 9px;
    color: var(--bk-earth);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.booking-head h1 {
    margin: 0;
    font-size: clamp(40px, 5.4vw, 68px);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.03em;
}

.booking-head p {
    max-width: 760px;
    margin: 12px 0 0;
    color: var(--bk-muted);
    line-height: 1.72;
    font-size: 15px;
}

.booking-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.booking-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border: 1px solid rgba(51, 71, 58, .16);
    border-radius: 14px;
    background: linear-gradient(145deg, var(--bk-moss), var(--bk-forest));
    color: #fffdf8;
    text-decoration: none;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(51, 71, 58, .14);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

.booking-btn:hover,
.booking-btn:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(164, 111, 87, .30);
    box-shadow: 0 14px 28px rgba(51, 71, 58, .18);
    filter: saturate(1.04);
}

.booking-btn--gold {
    border-color: rgba(164, 111, 87, .20);
    background: linear-gradient(145deg, #d7c4a0, var(--bk-gold));
    color: #2e342e;
}

.booking-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.booking-card {
    overflow: hidden;
    border: 1px solid rgba(95, 118, 95, .18);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255, 250, 242, .98), rgba(248, 243, 235, .98));
    box-shadow: var(--bk-shadow);
    transition: transform .20s ease, box-shadow .20s ease, border-color .20s ease;
}

.booking-card:hover {
    transform: translateY(-4px);
    border-color: rgba(79, 106, 82, .30);
    box-shadow: var(--bk-shadow-strong);
}

.booking-card__image {
    position: relative;
    height: 230px;
    background:
        linear-gradient(135deg, rgba(79, 106, 82, .70), rgba(143, 160, 137, .32)),
        linear-gradient(180deg, #dcd1bd, #efe7d8);
}

.booking-card__image::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 90px;
    background: linear-gradient(180deg, transparent, rgba(51, 71, 58, .24));
}

.booking-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.booking-card__body {
    padding: 22px;
}

.booking-card h2,
.booking-card h3 {
    margin: 0 0 10px;
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.03;
}

.booking-card p {
    margin: 0;
    color: var(--bk-text-soft);
    line-height: 1.62;
}

.booking-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 13px 0 15px;
    color: var(--bk-muted);
    font-size: 12px;
}

.booking-pill {
    padding: 7px 11px;
    border: 1px solid rgba(79, 106, 82, .14);
    border-radius: 999px;
    background: var(--bk-sage-soft);
    color: var(--bk-forest);
    font-weight: 800;
}

.booking-panel {
    padding: 24px;
    border: 1px solid rgba(196, 171, 115, .16);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(143, 160, 137, .14), transparent 36%),
        radial-gradient(circle at left bottom, rgba(164, 111, 87, .10), transparent 28%),
        linear-gradient(145deg, #415646, #33473a);
    color: #edf2ea;
    box-shadow: 0 20px 44px rgba(51, 71, 58, .20);
}

.booking-panel h1,
.booking-panel h2,
.booking-panel h3 {
    color: #fff9f1;
}

.booking-panel p {
    color: rgba(237, 242, 234, .82);
}

.booking-panel .booking-field label,
.booking-panel .booking-check {
    color: #f5efe6;
}

.booking-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.booking-stat {
    padding: 18px;
    border: 1px solid rgba(232, 219, 192, .10);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(79, 106, 82, .80), rgba(51, 71, 58, .92));
    box-shadow: 0 13px 28px rgba(51, 71, 58, .18);
}

.booking-stat strong {
    display: block;
    color: #fff9f1;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 32px;
    font-weight: 600;
}

.booking-stat span {
    color: rgba(245, 239, 230, .78);
    font-size: 12px;
}

.booking-form {
    display: grid;
    gap: 18px;
}

.booking-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.booking-field {
    display: grid;
    gap: 7px;
}

.booking-field--wide {
    grid-column: 1 / -1;
}

.booking-field label {
    color: var(--bk-forest);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
}

.booking-field input,
.booking-field select,
.booking-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(95, 118, 95, .18);
    border-radius: 14px;
    outline: none;
    background: rgba(255, 250, 242, .96);
    color: var(--bk-text);
    font: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62);
}

.booking-panel .booking-field input,
.booking-panel .booking-field select,
.booking-panel .booking-field textarea {
    border-color: rgba(245, 239, 230, .12);
    background: rgba(255, 249, 241, .08);
    color: #fff;
}

.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus {
    border-color: rgba(79, 106, 82, .52);
    box-shadow: 0 0 0 4px rgba(143, 160, 137, .16);
}

.booking-field textarea {
    min-height: 150px;
    resize: vertical;
}

.booking-help {
    color: var(--bk-muted);
    font-size: 11px;
}

.booking-panel .booking-help {
    color: rgba(245, 239, 230, .66);
}

.booking-check {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--bk-text-soft);
}

.booking-check input {
    width: auto;
    accent-color: var(--bk-moss);
}

.booking-table {
    width: 100%;
    overflow: hidden;
    border-collapse: collapse;
    border: 1px solid rgba(95, 118, 95, .12);
    border-radius: 16px;
    background: var(--bk-surface);
    box-shadow: var(--bk-shadow);
}

.booking-table th,
.booking-table td {
    padding: 14px;
    border-bottom: 1px solid rgba(95, 118, 95, .10);
    color: var(--bk-text-soft);
    text-align: left;
    font-size: 13px;
}

.booking-table th {
    color: var(--bk-earth);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    background: rgba(241, 232, 216, .56);
}

.booking-flash {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid rgba(79, 106, 82, .24);
    border-radius: 14px;
    background: var(--bk-sage-soft);
    color: var(--bk-forest);
}

.booking-error {
    border-color: rgba(164, 111, 87, .22);
    background: var(--bk-clay-soft);
    color: #7e4e3b;
}

.booking-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 8px;
}

.booking-gallery img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 1px solid rgba(95, 118, 95, .14);
    border-radius: 14px;
}

.booking-empty {
    padding: 38px;
    border: 1px dashed rgba(95, 118, 95, .30);
    border-radius: 18px;
    background: rgba(255, 250, 242, .74);
    color: var(--bk-muted);
    text-align: center;
    box-shadow: 0 10px 24px rgba(55, 58, 44, .06);
}

.booking-shell > h2 {
    margin: 38px 0 16px;
    color: var(--bk-forest);
    font-size: clamp(28px, 3vw, 38px);
}

@media (max-width: 900px) {
    .booking-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .booking-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .booking-shell {
        width: min(100% - 18px, 620px);
        padding-top: 26px;
    }

    .booking-head {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px 20px;
        border-radius: 22px;
    }

    .booking-grid,
    .booking-form-grid,
    .booking-stats {
        grid-template-columns: 1fr;
    }

    .booking-field--wide {
        grid-column: auto;
    }

    .booking-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .booking-actions {
        width: 100%;
    }

    .booking-actions .booking-btn {
        flex: 1;
    }
}

/* =========================================================
   FRISTET BOOKING V4 – KOMPAKT + HVIDE KORT
   Sand · naturgrøn · jord
   ========================================================= */

/* Mere rolig og smallere indholdsflade */
.booking-shell {
    width: min(1120px, calc(100% - 32px));
    padding: 30px 0 68px;
}

/* Hero/topkort mindre og lettere */
.booking-head {
    gap: 20px;
    margin-bottom: 22px;
    padding: 22px 24px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0, rgba(143,160,137,.14), transparent 30%),
        linear-gradient(145deg, #fbf8f2, #eee5d6);
    box-shadow: 0 12px 30px rgba(55,58,44,.08);
}

.booking-head h1 {
    font-size: clamp(34px, 4.2vw, 50px);
    line-height: 1.02;
}

.booking-head p {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.55;
}

.booking-kicker {
    margin-bottom: 6px;
    font-size: 10px;
}

/* HVIDE KORT – grøn bruges som accent, ikke som stor flade */
.booking-card,
.booking-panel,
.booking-stat {
    background: #ffffff;
    border: 1px solid rgba(79,106,82,.18);
    box-shadow: 0 10px 28px rgba(55,58,44,.08);
}

.booking-panel {
    padding: 20px;
    border-radius: 18px;
    color: var(--bk-text-soft);
}

.booking-panel h1,
.booking-panel h2,
.booking-panel h3 {
    color: var(--bk-forest);
}

.booking-panel p {
    color: var(--bk-muted);
}

/* Diskret naturgrøn detalje øverst på panelerne */
.booking-panel {
    position: relative;
}

.booking-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    width: 54px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, var(--bk-moss), var(--bk-sage));
}

/* Dashboard-statistik bliver også lyse kort */
.booking-stats {
    gap: 12px;
    margin-bottom: 18px;
}

.booking-stat {
    padding: 15px 16px;
    border-radius: 15px;
}

.booking-stat strong {
    color: var(--bk-forest);
    font-size: 28px;
}

.booking-stat span {
    color: var(--bk-muted);
}

/* Kortgitter lidt tættere */
.booking-grid {
    gap: 16px;
}

.booking-card__body {
    padding: 18px;
}

.booking-card h2,
.booking-card h3 {
    font-size: clamp(23px, 2.6vw, 30px);
}

/* Formularen gøres tydeligt mindre og mere overskuelig */
.booking-form {
    gap: 14px;
}

.booking-form-grid {
    gap: 12px 14px;
}

.booking-field {
    gap: 5px;
}

.booking-field label,
.booking-panel .booking-field label,
.booking-panel .booking-check {
    color: var(--bk-forest);
    font-size: 11px;
}

.booking-field input,
.booking-field select,
.booking-field textarea,
.booking-panel .booking-field input,
.booking-panel .booking-field select,
.booking-panel .booking-field textarea {
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid rgba(79,106,82,.20);
    border-radius: 11px;
    background: #f8f5ee;
    color: var(--bk-text);
    box-shadow: none;
}

.booking-field input::placeholder,
.booking-field textarea::placeholder,
.booking-panel .booking-field input::placeholder,
.booking-panel .booking-field textarea::placeholder {
    color: #9a9b91;
}

.booking-field textarea,
.booking-panel .booking-field textarea {
    min-height: 112px;
}

.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus {
    background: #fff;
    border-color: var(--bk-moss);
    box-shadow: 0 0 0 3px rgba(143,160,137,.15);
}

.booking-help,
.booking-panel .booking-help {
    color: var(--bk-muted);
    font-size: 10px;
}

.booking-check {
    padding: 4px 0;
}

/* Knapper lidt mindre – stadig tydelige */
.booking-btn {
    min-height: 42px;
    padding: 0 17px;
    border-radius: 11px;
    font-size: 12px;
}

.booking-btn--gold {
    background: linear-gradient(145deg, #ddc99e, #c4aa70);
    color: #28342b;
}

/* Filvælgeren skal ikke fylde visuelt mere end resten */
.booking-field input[type="file"],
.booking-panel .booking-field input[type="file"] {
    padding: 7px 9px;
    background: #f4efe6;
}

/* Galleri lidt mere kompakt */
.booking-gallery {
    gap: 8px;
}

.booking-gallery img {
    border-radius: 11px;
}

@media (max-width: 620px) {
    .booking-shell {
        width: min(100% - 16px, 620px);
        padding-top: 20px;
    }

    .booking-head {
        padding: 18px;
        border-radius: 17px;
    }

    .booking-head h1 {
        font-size: 34px;
    }

    .booking-panel {
        padding: 16px;
        border-radius: 16px;
    }

    .booking-field input,
    .booking-field select,
    .booking-field textarea,
    .booking-panel .booking-field input,
    .booking-panel .booking-field select,
    .booking-panel .booking-field textarea {
        min-height: 42px;
    }
}

/* =========================================================
   FRISTET BOOKING V5 – WIZARD / AMELIA-INSPIRERET FLOW
   Egen Fristet-fortolkning: hvidt arbejdsområde, sand baggrund,
   naturgrøn navigation og jordfarvede detaljer.
   ========================================================= */

.booking-shell--wizard {
    width: min(1180px, calc(100% - 28px));
    padding-top: 24px;
}

.booking-head--compact {
    align-items: center;
    margin-bottom: 18px;
    padding: 18px 22px;
    border-radius: 18px;
}

.booking-head--compact h1 {
    font-size: clamp(30px, 4vw, 44px);
}

.booking-head--compact p {
    margin-top: 6px;
    font-size: 13px;
}

.booking-wizard {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr);
    min-height: 620px;
    overflow: hidden;
    border: 1px solid rgba(79,106,82,.16);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(55,58,44,.10);
}

.booking-wizard__sidebar {
    padding: 26px 18px;
    border-right: 1px solid rgba(79,106,82,.11);
    background:
        radial-gradient(circle at 0 0, rgba(143,160,137,.14), transparent 30%),
        linear-gradient(180deg, #f4efe4 0%, #eee7da 100%);
}

.booking-wizard__eyebrow {
    display: block;
    margin: 0 10px 16px;
    color: var(--bk-earth);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.booking-wizard__nav {
    display: grid;
    gap: 8px;
}

.booking-wizard__tab {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    width: 100%;
    min-height: 58px;
    padding: 8px 10px;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: #6d6a62;
    text-align: left;
    font: inherit;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.booking-wizard__tab:hover {
    background: rgba(255,255,255,.58);
}

.booking-wizard__tab.is-active {
    background: #fff;
    color: var(--bk-forest);
    box-shadow: 0 8px 22px rgba(55,58,44,.08);
}

.booking-wizard__tab-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(79,106,82,.15);
    border-radius: 11px;
    background: rgba(255,255,255,.65);
    color: var(--bk-moss);
    font-size: 16px;
    font-weight: 900;
}

.booking-wizard__tab.is-active .booking-wizard__tab-icon {
    border-color: var(--bk-moss);
    background: var(--bk-moss);
    color: #fff;
}

.booking-wizard__tab-copy strong,
.booking-wizard__tab-copy small {
    display: block;
}

.booking-wizard__tab-copy strong {
    font-size: 13px;
    line-height: 1.2;
}

.booking-wizard__tab-copy small {
    margin-top: 3px;
    color: #969187;
    font-size: 10px;
    line-height: 1.25;
}

.booking-wizard__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #fff;
}

.booking-wizard__mobile-head {
    display: none;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(79,106,82,.10);
    background: #f7f3eb;
    color: var(--bk-forest);
    font-weight: 900;
}

.booking-wizard__step {
    flex: 1;
    padding: 34px 36px 24px;
}

.booking-wizard__step[hidden] {
    display: none !important;
}

.booking-wizard__title {
    margin-bottom: 26px;
}

.booking-wizard__title h2 {
    margin: 0 0 6px;
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.05;
}

.booking-wizard__title p {
    max-width: 650px;
    margin: 0;
    color: #7b776e;
    font-size: 13px;
    line-height: 1.55;
}

.booking-wizard__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.booking-wizard__grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.booking-wizard__span-2 {
    grid-column: 1 / -1;
}

.booking-wizard .booking-field label {
    color: #4a5149;
    font-size: 11px;
    font-weight: 900;
}

.booking-wizard .booking-field input,
.booking-wizard .booking-field select,
.booking-wizard .booking-field textarea,
.booking-wizard .booking-panel .booking-field input,
.booking-wizard .booking-panel .booking-field select,
.booking-wizard .booking-panel .booking-field textarea {
    min-height: 43px;
    padding: 9px 12px;
    border: 1px solid #dad8d0;
    border-radius: 10px;
    background: #fff;
    color: #33382f;
}

.booking-wizard .booking-field textarea {
    min-height: 120px;
}

.booking-wizard .booking-field input:focus,
.booking-wizard .booking-field select:focus,
.booking-wizard .booking-field textarea:focus {
    border-color: var(--bk-moss);
    box-shadow: 0 0 0 3px rgba(79,106,82,.10);
}

.booking-wizard__upload {
    display: grid;
    gap: 10px;
    padding: 20px;
    border: 1px dashed rgba(79,106,82,.28);
    border-radius: 14px;
    background: #faf8f3;
}

.booking-wizard__preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.booking-wizard__preview img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid #e4e1d9;
}

.booking-wizard__choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.booking-wizard__choice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    border: 1px solid #e1ded6;
    border-radius: 13px;
    background: #faf8f3;
}

.booking-wizard__choice input {
    margin-top: 2px;
    accent-color: var(--bk-moss);
}

.booking-wizard__choice strong,
.booking-wizard__choice small {
    display: block;
}

.booking-wizard__choice strong {
    color: var(--bk-forest);
    font-size: 12px;
}

.booking-wizard__choice small {
    margin-top: 3px;
    color: #858078;
    font-size: 10px;
    line-height: 1.45;
}

.booking-wizard__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 22px;
    border-top: 1px solid rgba(79,106,82,.10);
    background: #fbfaf7;
}

.booking-wizard__footer-right {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

.booking-btn--light {
    border-color: #dad7cf;
    background: #fff;
    color: #5e625b;
    box-shadow: none;
}

.booking-btn--primary {
    border-color: var(--bk-moss);
    background: var(--bk-moss);
    color: #fff;
    box-shadow: 0 9px 22px rgba(79,106,82,.18);
}

.booking-wizard__summary {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid #e3dfd6;
    border-radius: 14px;
    background: #faf8f3;
}

.booking-wizard__summary-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ece9e2;
    color: #615f58;
    font-size: 12px;
}

.booking-wizard__summary-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.booking-wizard__summary-row strong {
    color: var(--bk-forest);
}

.booking-slot-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.booking-slot {
    position: relative;
}

.booking-slot input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.booking-slot span {
    display: block;
    padding: 12px 10px;
    border: 1px solid #dedbd3;
    border-radius: 11px;
    background: #fff;
    color: #4d544c;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.booking-slot input:checked + span {
    border-color: var(--bk-moss);
    background: var(--bk-sage-soft);
    color: var(--bk-forest);
    box-shadow: 0 0 0 2px rgba(79,106,82,.08);
}

.booking-service-card {
    display: grid;
    grid-template-columns: 150px minmax(0,1fr);
    gap: 18px;
    padding: 14px;
    border: 1px solid #e1ded5;
    border-radius: 15px;
    background: #faf8f3;
}

.booking-service-card__image {
    overflow: hidden;
    min-height: 120px;
    border-radius: 12px;
    background: #e7e0d5;
}

.booking-service-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.booking-service-card h3 {
    margin: 4px 0 7px;
    font-size: 24px;
}

.booking-service-card p {
    margin: 0;
    color: #77736b;
    font-size: 12px;
    line-height: 1.5;
}

/* Håndhæver hvide arbejds-/formularkort, også hvis gammel CSS er cachet. */
.booking-shell .booking-panel,
.booking-shell--wizard .booking-panel {
    background: #fff !important;
    color: var(--bk-text-soft) !important;
    border-color: rgba(79,106,82,.16) !important;
    box-shadow: 0 12px 30px rgba(55,58,44,.08) !important;
}

.booking-shell .booking-panel::before {
    display: none !important;
}

@media (max-width: 900px) {
    .booking-wizard {
        grid-template-columns: 205px minmax(0, 1fr);
    }

    .booking-wizard__step {
        padding: 28px 24px 20px;
    }

    .booking-slot-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .booking-wizard {
        display: block;
        min-height: 0;
    }

    .booking-wizard__sidebar {
        padding: 12px;
        border-right: 0;
        border-bottom: 1px solid rgba(79,106,82,.10);
    }

    .booking-wizard__eyebrow {
        display: none;
    }

    .booking-wizard__nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 5px;
    }

    .booking-wizard__tab {
        display: block;
        min-height: 44px;
        padding: 6px;
        text-align: center;
    }

    .booking-wizard__tab-icon {
        width: 32px;
        height: 32px;
        margin: 0 auto;
    }

    .booking-wizard__tab-copy {
        display: none;
    }

    .booking-wizard__mobile-head {
        display: block;
    }

    .booking-wizard__step {
        padding: 22px 18px 18px;
    }

    .booking-wizard__grid,
    .booking-wizard__grid--3,
    .booking-wizard__choice-grid,
    .booking-service-card {
        grid-template-columns: 1fr;
    }

    .booking-service-card__image {
        min-height: 180px;
    }

    .booking-slot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-wizard__preview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-wizard__footer {
        padding: 12px 14px;
    }
}

/* =========================================================
   FRISTET BOOKING V6 – UDBYDERKALENDER
   ========================================================= */
.booking-calendar-shell{width:min(1440px,calc(100% - 28px));}
.booking-calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--bk-line);border-radius:16px;background:#fff;box-shadow:var(--bk-shadow);}
.booking-calendar-employee{display:flex;align-items:center;gap:10px}.booking-calendar-employee label{font-size:12px;font-weight:800;color:var(--bk-forest)}.booking-calendar-employee select{min-height:38px;padding:0 32px 0 11px;border:1px solid var(--bk-line-strong);border-radius:10px;background:#fff;color:var(--bk-text);}
.booking-calendar-weeknav{display:flex;align-items:center;gap:12px}.booking-calendar-weeknav a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--bk-line);border-radius:10px;background:var(--bk-bg-soft);color:var(--bk-forest);text-decoration:none;font-size:22px}.booking-calendar-weeknav strong{min-width:180px;text-align:center;color:var(--bk-forest);font-size:13px}
.booking-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start}.booking-calendar-main{min-width:0}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;overflow-x:auto;padding-bottom:6px}.booking-calendar-day{min-width:150px;min-height:440px;border:1px solid var(--bk-line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(55,58,44,.06)}.booking-calendar-day.is-today{border-color:rgba(79,106,82,.48);box-shadow:0 0 0 2px rgba(143,160,137,.14)}.booking-calendar-day>header{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid var(--bk-line);background:linear-gradient(180deg,#fbf8f1,#f2ece1)}.booking-calendar-day>header span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--bk-earth)}.booking-calendar-day>header strong{font-size:12px;color:var(--bk-forest)}.booking-calendar-day__body{display:grid;gap:8px;padding:9px}.booking-calendar-empty-day{display:block;padding:20px 5px;text-align:center;color:#aaa096;font-size:11px}
.booking-calendar-slot{position:relative;padding:9px 9px 8px;border:1px solid rgba(79,106,82,.20);border-left:4px solid var(--bk-moss);border-radius:10px;background:#eef3eb}.booking-calendar-slot>div{display:grid;gap:2px;padding-right:18px}.booking-calendar-slot strong{font-size:11px;color:var(--bk-forest)}.booking-calendar-slot span{font-size:10px;line-height:1.3;color:var(--bk-text-soft)}.booking-calendar-slot small{display:block;margin-top:5px;color:var(--bk-moss);font-size:9px;text-transform:uppercase;font-weight:900}.booking-calendar-slot.is-bekraeftet,.booking-calendar-slot.is-reserveret{border-left-color:var(--bk-earth);background:#f3e5dc}.booking-calendar-slot.is-blokeret{border-left-color:#8c8072;background:#eee9e2;opacity:.82}.booking-calendar-slot form{position:absolute;right:5px;top:5px}.booking-calendar-slot form button{width:21px;height:21px;border:0;border-radius:50%;background:transparent;color:#8f857a;cursor:pointer;font-size:15px}.booking-calendar-slot form button:hover{background:#fff;color:#8a4f3b}
.booking-calendar-side{display:grid;gap:10px}.booking-calendar-box{border:1px solid var(--bk-line);border-radius:16px;background:#fff;box-shadow:var(--bk-shadow);overflow:hidden}.booking-calendar-box summary{cursor:pointer;padding:14px 16px;color:var(--bk-forest);font-weight:900;font-size:12px;list-style:none}.booking-calendar-box summary::-webkit-details-marker{display:none}.booking-calendar-box[open] summary{border-bottom:1px solid var(--bk-line);background:#fbf8f1}.booking-calendar-form{display:grid;gap:11px;padding:14px}.booking-calendar-form label{display:grid;gap:5px;color:var(--bk-forest);font-size:10px;font-weight:900}.booking-calendar-form input,.booking-calendar-form select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--bk-line-strong);border-radius:10px;background:#fff;color:var(--bk-text);font:inherit;font-size:12px}.booking-calendar-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-working-hours{display:grid;gap:7px}.booking-working-day{display:grid;grid-template-columns:minmax(86px,1fr) 76px auto 76px;align-items:center;gap:5px}.booking-working-toggle{display:flex!important;align-items:center;gap:6px!important;font-size:10px!important}.booking-working-toggle input{width:auto;min-height:0;accent-color:var(--bk-moss)}.booking-working-day>span{font-size:10px;color:var(--bk-muted)}.booking-dayoff-list{display:grid;gap:6px;padding:0 14px 14px}.booking-dayoff-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--bk-line);border-radius:10px;background:var(--bk-bg-soft)}.booking-dayoff-list span{display:grid;gap:2px}.booking-dayoff-list strong{font-size:10px;color:var(--bk-forest)}.booking-dayoff-list small{font-size:9px;color:var(--bk-muted)}.booking-dayoff-list button{border:0;background:transparent;color:var(--bk-earth);font-size:10px;font-weight:800;cursor:pointer}
@media(max-width:1180px){.booking-calendar-layout{grid-template-columns:1fr}.booking-calendar-side{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-calendar-grid{grid-template-columns:repeat(7,170px)}}
@media(max-width:720px){.booking-calendar-tools{align-items:stretch;flex-direction:column}.booking-calendar-employee{justify-content:space-between}.booking-calendar-weeknav{justify-content:space-between}.booking-calendar-side{grid-template-columns:1fr}.booking-calendar-grid{grid-template-columns:repeat(7,155px)}.booking-calendar-day{min-height:360px}.booking-calendar-form-row{grid-template-columns:1fr}.booking-working-day{grid-template-columns:1fr 82px auto 82px}}

/* =========================================================
   FRISTET BOOKING V6.3 – HØJ KONTRAST / MOBIL
   Hvid · skovgrøn · sand · ler
   ========================================================= */

:root {
    --bk-bg: #E8DFD1;
    --bk-bg-soft: #F2ECE2;
    --bk-surface: #FFFFFF;
    --bk-surface-2: #F7F3EC;
    --bk-surface-3: #E6DAC7;

    --bk-forest: #263D2E;
    --bk-forest-2: #314B38;
    --bk-moss: #48664D;
    --bk-moss-2: #5E775F;
    --bk-sage: #98A68E;
    --bk-sage-soft: #E5EBDD;

    --bk-earth: #A56549;
    --bk-earth-2: #81543F;
    --bk-clay-soft: #F0E1D8;
    --bk-sand: #D8C5A7;
    --bk-gold: #BDA36E;
    --bk-gold-soft: #E8D9BB;

    --bk-text: #243128;
    --bk-text-soft: #3F4942;
    --bk-muted: #646B65;

    --bk-line: rgba(38, 61, 46, .16);
    --bk-line-strong: rgba(38, 61, 46, .31);
    --bk-line-earth: rgba(165, 101, 73, .28);

    --bk-shadow: 0 12px 30px rgba(44, 48, 40, .10);
    --bk-shadow-strong: 0 20px 45px rgba(44, 48, 40, .15);
}

body {
    background: linear-gradient(180deg, #EFE8DC 0%, #E5DAC9 100%) !important;
}

/* De store oversigtskort skal være tydeligt hvide. */
.booking-head,
.booking-card,
.booking-panel,
.booking-stat,
.booking-calendar-tools,
.booking-calendar-day,
.booking-calendar-box,
.booking-table,
.booking-empty {
    background: #FFFFFF !important;
    color: var(--bk-text-soft) !important;
    border-color: rgba(38,61,46,.16) !important;
}

.booking-head {
    background:
        linear-gradient(90deg, rgba(229,235,221,.38), rgba(255,255,255,.98) 28%, rgba(255,255,255,.98)) !important;
}

.booking-head h1,
.booking-head h2,
.booking-head h3,
.booking-card h1,
.booking-card h2,
.booking-card h3,
.booking-panel h1,
.booking-panel h2,
.booking-panel h3,
.booking-stat strong,
.booking-shell > h2 {
    color: var(--bk-forest) !important;
}

.booking-head p,
.booking-card p,
.booking-panel p,
.booking-stat span,
.booking-help {
    color: #556159 !important;
}

.booking-kicker {
    color: var(--bk-earth) !important;
}

.booking-stat {
    border-left: 4px solid var(--bk-moss) !important;
    box-shadow: 0 9px 24px rgba(44,48,40,.08) !important;
}

.booking-stat strong {
    font-size: 30px !important;
}

.booking-btn,
.booking-btn--primary {
    background: var(--bk-forest) !important;
    border-color: var(--bk-forest) !important;
    color: #fff !important;
}

.booking-btn--gold {
    background: #D9C08E !important;
    border-color: #C5A868 !important;
    color: #243128 !important;
}

.booking-panel .booking-field label,
.booking-panel .booking-check,
.booking-panel .booking-help {
    color: var(--bk-text-soft) !important;
}

.booking-panel .booking-field input,
.booking-panel .booking-field select,
.booking-panel .booking-field textarea,
.booking-field input,
.booking-field select,
.booking-field textarea {
    background: #FFF !important;
    color: var(--bk-text) !important;
    border-color: rgba(38,61,46,.24) !important;
}

.booking-panel .booking-field input::placeholder,
.booking-panel .booking-field textarea::placeholder,
.booking-field input::placeholder,
.booking-field textarea::placeholder {
    color: #8A918B !important;
    opacity: 1 !important;
}

/* Wizard – samme naturunivers, men med klar kontrast. */
.booking-wizard {
    background: #FFFFFF !important;
    border-color: rgba(38,61,46,.16) !important;
}

.booking-wizard__sidebar {
    background: #E6D9C6 !important;
    border-color: rgba(38,61,46,.13) !important;
}

.booking-wizard__eyebrow {
    color: var(--bk-earth-2) !important;
}

.booking-wizard__tab {
    color: #4A534B !important;
}

.booking-wizard__tab.is-active {
    background: #FFFFFF !important;
    color: var(--bk-forest) !important;
    box-shadow: 0 8px 20px rgba(44,48,40,.08) !important;
}

.booking-wizard__tab-icon {
    background: #F7F3EC !important;
    color: var(--bk-moss) !important;
    border-color: rgba(38,61,46,.14) !important;
}

.booking-wizard__tab.is-active .booking-wizard__tab-icon {
    background: var(--bk-moss) !important;
    color: #fff !important;
}

.booking-wizard__tab-copy strong {
    color: #364239 !important;
}

.booking-wizard__tab-copy small {
    color: #767C76 !important;
}

.booking-wizard__content,
.booking-wizard__step,
.booking-wizard__footer {
    background: #FFFFFF !important;
}

.booking-wizard__title h2,
.booking-wizard__mobile-head strong {
    color: var(--bk-forest) !important;
}

.booking-wizard__title p,
.booking-wizard__mobile-head span {
    color: #626B63 !important;
}

.booking-slot span,
.booking-wizard__choice,
.booking-service-card,
.booking-wizard__summary {
    background: #FFFFFF !important;
    color: var(--bk-text-soft) !important;
    border-color: rgba(38,61,46,.18) !important;
}

.booking-slot input:checked + span,
.booking-wizard__choice:has(input:checked) {
    background: var(--bk-sage-soft) !important;
    border-color: var(--bk-moss) !important;
    color: var(--bk-forest) !important;
}

.booking-empty {
    background: #FFFCF7 !important;
    color: #5D655E !important;
}

/* Mobil: større kontrast, mindre pynt og mere plads til tekst. */
@media (max-width: 720px) {
    body {
        background: #E7DDCE !important;
    }

    .booking-shell {
        width: calc(100% - 12px) !important;
        padding: 16px 0 42px !important;
    }

    .booking-head {
        margin-bottom: 14px !important;
        padding: 20px 18px !important;
        border-radius: 18px !important;
        background: #FFFFFF !important;
        box-shadow: 0 8px 24px rgba(44,48,40,.09) !important;
    }

    .booking-head h1 {
        color: #263D2E !important;
        font-size: clamp(31px, 10vw, 43px) !important;
        line-height: 1.02 !important;
    }

    .booking-head p {
        color: #4F5951 !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .booking-kicker {
        color: #8A543E !important;
        font-size: 10px !important;
    }

    .booking-actions {
        gap: 8px !important;
    }

    .booking-actions .booking-btn {
        min-height: 44px !important;
        font-size: 12px !important;
    }

    .booking-stats {
        gap: 9px !important;
    }

    .booking-stat {
        padding: 14px 15px !important;
        border-radius: 14px !important;
        background: #FFFFFF !important;
    }

    .booking-stat strong {
        color: #263D2E !important;
        font-size: 27px !important;
    }

    .booking-stat span {
        color: #555F57 !important;
        font-size: 12px !important;
    }

    .booking-panel {
        padding: 17px !important;
        border-radius: 16px !important;
        background: #FFFFFF !important;
    }

    .booking-panel h2,
    .booking-panel h3 {
        color: #263D2E !important;
    }

    .booking-panel p {
        color: #4F5951 !important;
    }

    .booking-wizard {
        border-radius: 17px !important;
        overflow: hidden !important;
        box-shadow: 0 12px 28px rgba(44,48,40,.12) !important;
    }

    .booking-wizard__sidebar {
        padding: 10px !important;
        background: #DCCDB7 !important;
    }

    .booking-wizard__tab {
        border-radius: 11px !important;
    }

    .booking-wizard__tab.is-active {
        background: #FFFFFF !important;
    }

    .booking-wizard__step {
        padding: 20px 15px 16px !important;
    }

    .booking-wizard__title h2 {
        font-size: clamp(29px, 9vw, 39px) !important;
        color: #263D2E !important;
    }

    .booking-wizard__title p {
        color: #566159 !important;
        font-size: 13px !important;
    }

    .booking-wizard__footer {
        gap: 8px !important;
        padding: 11px 12px !important;
        border-top-color: rgba(38,61,46,.13) !important;
    }

    .booking-wizard__footer-right {
        gap: 7px !important;
    }

    .booking-wizard__footer .booking-btn,
    .booking-wizard__footer button {
        min-height: 42px !important;
        padding: 0 13px !important;
        font-size: 11px !important;
    }

    .booking-empty {
        padding: 24px 16px !important;
        background: #FFFFFF !important;
        color: #4F5951 !important;
    }

    .booking-calendar-box,
    .booking-calendar-tools,
    .booking-calendar-day {
        background: #FFFFFF !important;
    }
}

/* =========================================================
   FRISTET BOOKING V6.4 – STÆRK MOBILKONTRAST PÅ OFFENTLIGE SIDER
   Hvide kort · mørk skovgrøn tekst · sand baggrund
   ========================================================= */

/* Offentlige bookingsider må aldrig arve lyse Fristet-tekstfarver */
.booking-shell,
.booking-shell p,
.booking-shell span,
.booking-shell small,
.booking-shell strong,
.booking-shell label {
    text-shadow: none;
}

.booking-shell .booking-head {
    background: #ffffff !important;
    border-color: rgba(51, 71, 58, .16) !important;
}

.booking-shell .booking-head h1,
.booking-shell .booking-card h2,
.booking-shell .booking-card h3,
.booking-shell > h2 {
    color: #2f4a38 !important;
}

.booking-shell .booking-head p,
.booking-shell .booking-card p,
.booking-shell .booking-empty,
.booking-shell .booking-meta,
.booking-shell .booking-stat span {
    color: #5f665e !important;
}

.booking-shell .booking-kicker {
    color: #96654f !important;
}

.booking-shell .booking-card {
    background: #ffffff !important;
    border-color: rgba(51, 71, 58, .16) !important;
}

.booking-shell .booking-card__body {
    background: #ffffff !important;
}

.booking-shell .booking-pill {
    background: #edf1e9 !important;
    border-color: rgba(51, 71, 58, .14) !important;
    color: #3c5842 !important;
}

.booking-shell .booking-btn,
.booking-shell a.booking-btn {
    background: #3f6048 !important;
    border-color: #3f6048 !important;
    color: #ffffff !important;
}

.booking-shell .booking-btn--gold,
.booking-shell a.booking-btn--gold {
    background: #d8c49d !important;
    border-color: #c9b182 !important;
    color: #26372b !important;
}

.booking-shell .booking-empty {
    background: #ffffff !important;
    border-color: rgba(51, 71, 58, .18) !important;
}

/* Dashboard-statistik: hvidt med meget tydelig tekst */
.booking-shell .booking-stat {
    background: #ffffff !important;
    border-color: rgba(51, 71, 58, .16) !important;
}

.booking-shell .booking-stat strong {
    color: #2f4a38 !important;
}

/* Wizard beholder hvidt arbejdsområde og mørk tekst */
.booking-wizard,
.booking-wizard__content,
.booking-wizard__step {
    background: #ffffff !important;
}

.booking-wizard__title h2,
.booking-wizard .booking-field label {
    color: #304b39 !important;
}

.booking-wizard__title p,
.booking-wizard .booking-help {
    color: #666a63 !important;
}

.booking-wizard .booking-field input,
.booking-wizard .booking-field select,
.booking-wizard .booking-field textarea {
    background: #ffffff !important;
    color: #303730 !important;
    border-color: #d8d5cc !important;
}

.booking-wizard .booking-field input::placeholder,
.booking-wizard .booking-field textarea::placeholder {
    color: #8a8f87 !important;
    opacity: 1;
}

@media (max-width: 620px) {
    body {
        background: #eee6d8 !important;
    }

    .booking-shell {
        width: calc(100% - 12px);
        padding: 16px 0 44px;
    }

    .booking-shell .booking-head {
        padding: 18px;
        border-radius: 18px;
        box-shadow: 0 8px 24px rgba(47, 64, 49, .08);
    }

    .booking-shell .booking-head h1 {
        font-size: 38px !important;
        line-height: 1.02;
    }

    .booking-shell .booking-head p {
        font-size: 14px !important;
        line-height: 1.55;
    }

    .booking-shell .booking-card {
        border-radius: 20px;
        box-shadow: 0 8px 24px rgba(47, 64, 49, .08);
    }

    .booking-shell .booking-card__body {
        padding: 18px;
    }

    .booking-shell .booking-card h2,
    .booking-shell .booking-card h3 {
        font-size: 26px !important;
        line-height: 1.08;
    }

    .booking-shell .booking-card p {
        font-size: 14px !important;
        line-height: 1.65;
    }

    .booking-shell .booking-pill {
        font-size: 12px !important;
        padding: 7px 10px;
    }

    .booking-shell .booking-btn,
    .booking-shell a.booking-btn {
        min-height: 44px;
        font-size: 13px !important;
    }

    /* Amelia-lignende wizard bliver ét klart kort på mobil */
    .booking-wizard {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 18px;
    }

    .booking-wizard__sidebar {
        display: none;
    }

    .booking-wizard__mobile-head {
        display: block;
        background: #f3eee4 !important;
        color: #304b39 !important;
    }

    .booking-wizard__step {
        padding: 22px 18px 18px;
    }
}

/* =========================================================
   FRISTET BOOKING V6.5 – TVUNGEN LÆSBAR KONTRAST
   Sikrer mørk tekst på alle lyse bookingflader – også mobil.
   ========================================================= */
.booking-shell {
    color: #2F4636 !important;
}

.booking-shell .booking-head,
.booking-shell .booking-card,
.booking-shell .booking-card__body,
.booking-shell .booking-panel,
.booking-shell .booking-stat,
.booking-shell .booking-empty {
    background: #FFFFFF !important;
}

.booking-shell .booking-head h1,
.booking-shell .booking-head h2,
.booking-shell .booking-head h3,
.booking-shell > h1,
.booking-shell > h2,
.booking-shell > h3,
.booking-shell .booking-card h1,
.booking-shell .booking-card h2,
.booking-shell .booking-card h3,
.booking-shell .booking-panel h1,
.booking-shell .booking-panel h2,
.booking-shell .booking-panel h3,
.booking-shell .booking-stat strong {
    color: #294332 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #294332 !important;
}

.booking-shell .booking-head p,
.booking-shell .booking-card p,
.booking-shell .booking-panel p,
.booking-shell .booking-empty,
.booking-shell .booking-stat span,
.booking-shell .booking-help,
.booking-shell .booking-meta {
    color: #4E5B52 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #4E5B52 !important;
}

.booking-shell .booking-kicker {
    color: #9A654F !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #9A654F !important;
}

.booking-shell .booking-pill,
.booking-shell .booking-meta .booking-pill {
    background: #E7EDE3 !important;
    border-color: #C8D3C2 !important;
    color: #35563F !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #35563F !important;
}

.booking-shell .booking-btn,
.booking-shell a.booking-btn,
.booking-shell button.booking-btn {
    background: #355A43 !important;
    border-color: #355A43 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

.booking-shell .booking-btn--gold,
.booking-shell a.booking-btn--gold,
.booking-shell button.booking-btn--gold {
    background: #D8C18C !important;
    border-color: #C6AA6B !important;
    color: #24392B !important;
    -webkit-text-fill-color: #24392B !important;
}

.booking-shell .booking-field label,
.booking-shell .booking-check {
    color: #304A38 !important;
    -webkit-text-fill-color: #304A38 !important;
}

.booking-shell .booking-field input,
.booking-shell .booking-field select,
.booking-shell .booking-field textarea {
    background: #FFFFFF !important;
    color: #29332C !important;
    -webkit-text-fill-color: #29332C !important;
    border-color: #D3D2C9 !important;
}

.booking-shell .booking-field input::placeholder,
.booking-shell .booking-field textarea::placeholder {
    color: #7A817B !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #7A817B !important;
}

@media (max-width: 700px) {
    .booking-shell .booking-head h1 {
        color: #24412F !important;
        -webkit-text-fill-color: #24412F !important;
    }

    .booking-shell > h2,
    .booking-shell .booking-card h2,
    .booking-shell .booking-card h3,
    .booking-shell .booking-panel h2,
    .booking-shell .booking-panel h3 {
        color: #294332 !important;
        -webkit-text-fill-color: #294332 !important;
    }

    .booking-shell .booking-card p,
    .booking-shell .booking-head p,
    .booking-shell .booking-panel p {
        color: #4A554E !important;
        -webkit-text-fill-color: #4A554E !important;
    }
}

/* =========================================================
   FRISTET BOOKING V6.6 – MOBIL MED MØRK NATURBAGGRUND
   På små skærme bruges den lyse/varme typografi på en dyb
   naturgrøn flade, så kontrasten er stabil uanset globale styles.
   Wizard/formularer bevarer den lyse Amelia-lignende flade.
   ========================================================= */
@media (max-width: 700px) {
    body {
        background: #445749 !important;
    }

    .booking-shell:not(.booking-shell--wizard) {
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 12px 44px !important;
        background:
            radial-gradient(circle at 100% 0, rgba(196,171,115,.12), transparent 28%),
            linear-gradient(180deg, #536656 0%, #46594b 55%, #3e5044 100%) !important;
        color: #F1E3CF !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-head,
    .booking-shell:not(.booking-shell--wizard) .booking-card,
    .booking-shell:not(.booking-shell--wizard) .booking-card__body,
    .booking-shell:not(.booking-shell--wizard) .booking-panel,
    .booking-shell:not(.booking-shell--wizard) .booking-stat,
    .booking-shell:not(.booking-shell--wizard) .booking-empty {
        background: #3B5042 !important;
        border-color: rgba(238, 218, 184, .22) !important;
        box-shadow: 0 14px 30px rgba(26, 39, 31, .20) !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-head h1,
    .booking-shell:not(.booking-shell--wizard) .booking-head h2,
    .booking-shell:not(.booking-shell--wizard) .booking-head h3,
    .booking-shell:not(.booking-shell--wizard) > h1,
    .booking-shell:not(.booking-shell--wizard) > h2,
    .booking-shell:not(.booking-shell--wizard) > h3,
    .booking-shell:not(.booking-shell--wizard) .booking-card h1,
    .booking-shell:not(.booking-shell--wizard) .booking-card h2,
    .booking-shell:not(.booking-shell--wizard) .booking-card h3,
    .booking-shell:not(.booking-shell--wizard) .booking-panel h1,
    .booking-shell:not(.booking-shell--wizard) .booking-panel h2,
    .booking-shell:not(.booking-shell--wizard) .booking-panel h3,
    .booking-shell:not(.booking-shell--wizard) .booking-stat strong {
        color: #F3DFC4 !important;
        -webkit-text-fill-color: #F3DFC4 !important;
        opacity: 1 !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-head p,
    .booking-shell:not(.booking-shell--wizard) .booking-card p,
    .booking-shell:not(.booking-shell--wizard) .booking-panel p,
    .booking-shell:not(.booking-shell--wizard) .booking-empty,
    .booking-shell:not(.booking-shell--wizard) .booking-stat span,
    .booking-shell:not(.booking-shell--wizard) .booking-help,
    .booking-shell:not(.booking-shell--wizard) .booking-meta {
        color: #E7DAC8 !important;
        -webkit-text-fill-color: #E7DAC8 !important;
        opacity: 1 !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-kicker {
        color: #D8B58C !important;
        -webkit-text-fill-color: #D8B58C !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-pill,
    .booking-shell:not(.booking-shell--wizard) .booking-meta .booking-pill {
        background: #E9E1D3 !important;
        border-color: #D7C9B4 !important;
        color: #35513F !important;
        -webkit-text-fill-color: #35513F !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-btn,
    .booking-shell:not(.booking-shell--wizard) a.booking-btn,
    .booking-shell:not(.booking-shell--wizard) button.booking-btn {
        background: #F1E4D0 !important;
        border-color: #E0CFB4 !important;
        color: #304A38 !important;
        -webkit-text-fill-color: #304A38 !important;
    }

    .booking-shell:not(.booking-shell--wizard) .booking-btn--gold,
    .booking-shell:not(.booking-shell--wizard) a.booking-btn--gold,
    .booking-shell:not(.booking-shell--wizard) button.booking-btn--gold {
        background: #CDB27A !important;
        border-color: #CDB27A !important;
        color: #263B2D !important;
        -webkit-text-fill-color: #263B2D !important;
    }

    /* Kalenderen må gerne være lys inde i selve arbejdsområdet. */
    .booking-calendar-shell .booking-calendar-main,
    .booking-calendar-shell .booking-calendar-side > *,
    .booking-calendar-shell .booking-calendar-day {
        background: #FFFFFF !important;
        color: #2F4636 !important;
    }
}

/* =========================================================
   FRISTET BOOKING V6.7 – MOBIL WIZARD PÅ MØRK NATURFLADE
   Den varme lyse typografi bruges bevidst på grøn/jord baggrund.
   Formularfelter forbliver lyse med mørk tekst.
   ========================================================= */
@media (max-width: 700px) {
    .booking-shell.booking-shell--wizard {
        width: 100% !important;
        margin: 0 !important;
        padding: 14px 8px 42px !important;
        background:
            radial-gradient(circle at 100% 0, rgba(202, 176, 120, .14), transparent 30%),
            linear-gradient(180deg, #526655 0%, #45594A 56%, #3B4E41 100%) !important;
        color: #F1E2CC !important;
    }

    .booking-shell--wizard .booking-wizard {
        background: #3C5042 !important;
        border: 1px solid rgba(239, 218, 183, .22) !important;
        box-shadow: 0 14px 34px rgba(24, 35, 28, .24) !important;
    }

    .booking-shell--wizard .booking-wizard__sidebar,
    .booking-shell--wizard .booking-wizard__mobile-head {
        background: #455B4A !important;
        border-color: rgba(239, 218, 183, .18) !important;
    }

    .booking-shell--wizard .booking-wizard__mobile-head strong,
    .booking-shell--wizard .booking-wizard__tab-copy strong,
    .booking-shell--wizard .booking-wizard__eyebrow {
        color: #F3DEC0 !important;
        -webkit-text-fill-color: #F3DEC0 !important;
    }

    .booking-shell--wizard .booking-wizard__mobile-head span,
    .booking-shell--wizard .booking-wizard__tab-copy small {
        color: #E4D4BF !important;
        -webkit-text-fill-color: #E4D4BF !important;
    }

    .booking-shell--wizard .booking-wizard__tab.is-active {
        background: #F3E7D7 !important;
        color: #304A38 !important;
    }

    .booking-shell--wizard .booking-wizard__tab.is-active .booking-wizard__tab-copy strong,
    .booking-shell--wizard .booking-wizard__tab.is-active .booking-wizard__tab-copy small {
        color: #304A38 !important;
        -webkit-text-fill-color: #304A38 !important;
    }

    .booking-shell--wizard .booking-wizard__content,
    .booking-shell--wizard .booking-wizard__step {
        background: #3C5042 !important;
        color: #F1E2CC !important;
    }

    .booking-shell--wizard .booking-wizard__title h2,
    .booking-shell--wizard .booking-wizard__step h1,
    .booking-shell--wizard .booking-wizard__step h2,
    .booking-shell--wizard .booking-wizard__step h3,
    .booking-shell--wizard .booking-service-card h2,
    .booking-shell--wizard .booking-service-card h3,
    .booking-shell--wizard .booking-wizard__summary strong {
        color: #F3DEC0 !important;
        -webkit-text-fill-color: #F3DEC0 !important;
    }

    .booking-shell--wizard .booking-wizard__title p,
    .booking-shell--wizard .booking-wizard__step p,
    .booking-shell--wizard .booking-service-card p,
    .booking-shell--wizard .booking-wizard__summary,
    .booking-shell--wizard .booking-wizard__summary span,
    .booking-shell--wizard .booking-help {
        color: #E5D5C1 !important;
        -webkit-text-fill-color: #E5D5C1 !important;
    }

    .booking-shell--wizard .booking-service-card,
    .booking-shell--wizard .booking-wizard__summary,
    .booking-shell--wizard .booking-wizard__choice,
    .booking-shell--wizard .booking-empty {
        background: #465C4B !important;
        border-color: rgba(239, 218, 183, .25) !important;
        box-shadow: 0 10px 24px rgba(24, 35, 28, .16) !important;
    }

    .booking-shell--wizard .booking-service-card__image {
        background: #DCD3C5 !important;
        border-color: rgba(239, 218, 183, .20) !important;
    }

    .booking-shell--wizard .booking-pill,
    .booking-shell--wizard .booking-meta .booking-pill,
    .booking-shell--wizard .booking-service-card .booking-pill {
        background: #E9E1D3 !important;
        border-color: #CFC3B1 !important;
        color: #35513F !important;
        -webkit-text-fill-color: #35513F !important;
    }

    .booking-shell--wizard .booking-wizard__footer {
        background: #35483B !important;
        border-top-color: rgba(239, 218, 183, .18) !important;
    }

    .booking-shell--wizard .booking-wizard__footer .booking-btn,
    .booking-shell--wizard .booking-wizard__footer button,
    .booking-shell--wizard .booking-btn {
        background: #F1E4D0 !important;
        border-color: #E0CFB4 !important;
        color: #304A38 !important;
        -webkit-text-fill-color: #304A38 !important;
    }

    .booking-shell--wizard .booking-wizard__footer .booking-btn--gold,
    .booking-shell--wizard .booking-btn--gold {
        background: #CDB27A !important;
        border-color: #CDB27A !important;
        color: #263B2D !important;
        -webkit-text-fill-color: #263B2D !important;
    }

    /* Formulartrin: lyse felter er lettest at udfylde på mobil. */
    .booking-shell--wizard .booking-field label {
        color: #F0DFC6 !important;
        -webkit-text-fill-color: #F0DFC6 !important;
    }

    .booking-shell--wizard .booking-field input,
    .booking-shell--wizard .booking-field select,
    .booking-shell--wizard .booking-field textarea {
        background: #FFFDF8 !important;
        color: #29352E !important;
        -webkit-text-fill-color: #29352E !important;
        border-color: #D7CCBC !important;
    }

    .booking-shell--wizard .booking-field input::placeholder,
    .booking-shell--wizard .booking-field textarea::placeholder {
        color: #7B817B !important;
        -webkit-text-fill-color: #7B817B !important;
    }

    .booking-shell--wizard .booking-slot span {
        background: #F6EFE4 !important;
        border-color: #D7CCBC !important;
        color: #304A38 !important;
        -webkit-text-fill-color: #304A38 !important;
    }

    .booking-shell--wizard .booking-slot input:checked + span,
    .booking-shell--wizard .booking-wizard__choice:has(input:checked) {
        background: #DCE4D7 !important;
        border-color: #6D856E !important;
        color: #294432 !important;
        -webkit-text-fill-color: #294432 !important;
    }
}

/* =========================================================
   FRISTET BOOKING V6.8 – MOBIL LÆSBARHED + KORREKT WIZARD
   ========================================================= */

/* hidden skal altid vinde over button/card display-regler. */
.booking-shell [hidden] {
    display: none !important;
}

@media (max-width: 700px) {
    /* Tomme beskeder på den mørke wizard skal have samme lyse typografi. */
    .booking-shell--wizard .booking-empty,
    .booking-shell--wizard .booking-empty strong,
    .booking-shell--wizard .booking-empty p,
    .booking-shell--wizard .booking-empty span {
        color: #F3E2CB !important;
        -webkit-text-fill-color: #F3E2CB !important;
        opacity: 1 !important;
    }

    .booking-shell--wizard .booking-empty {
        background: #35493B !important;
        border: 1px dashed rgba(243, 226, 203, .34) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
    }

    .booking-shell--wizard .booking-empty strong {
        font-weight: 800 !important;
    }

    /* Deaktiverede knapper skal tydeligt se deaktiverede ud. */
    .booking-shell--wizard button:disabled,
    .booking-shell--wizard .booking-btn:disabled {
        background: #7D8A80 !important;
        border-color: #7D8A80 !important;
        color: #D9D8D0 !important;
        -webkit-text-fill-color: #D9D8D0 !important;
        opacity: .52 !important;
        cursor: not-allowed !important;
        box-shadow: none !important;
    }

    /* Footer skal være rolig og uden knækkede ord på smalle mobiler. */
    .booking-shell--wizard .booking-wizard__footer {
        gap: 8px !important;
        padding: 12px !important;
        align-items: center !important;
    }

    .booking-shell--wizard .booking-wizard__footer-right {
        gap: 8px !important;
        min-width: 0 !important;
    }

    .booking-shell--wizard .booking-wizard__footer .booking-btn,
    .booking-shell--wizard .booking-wizard__footer button {
        min-width: 0 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
    }
}

@media (max-width: 470px) {
    .booking-shell--wizard .booking-wizard__footer {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .booking-shell--wizard .booking-wizard__footer > .booking-btn {
        width: 100% !important;
    }

    .booking-shell--wizard .booking-wizard__footer-right {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .booking-shell--wizard .booking-wizard__footer-right .booking-btn,
    .booking-shell--wizard .booking-wizard__footer-right button {
        width: 100% !important;
        min-height: 43px !important;
    }

    .booking-shell--wizard .booking-wizard__footer-right [data-wizard-submit] {
        grid-column: 1 / -1 !important;
    }
}


/* =========================================================
   FRISTET BOOKING V7.1 – UDBYDERLANDINGSSIDE / BRANDING
   Inspireret af opbygningen på en moderne wellness-/yogaside:
   stor hero, logo, intro, præsentation og tydelige bookingsektioner.
   ========================================================= */
.booking-provider-page {
    display: grid;
    gap: 28px;
}

.booking-provider-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(231, 213, 180, .18);
    border-radius: 32px;
    background: #314A3A;
    box-shadow: 0 28px 70px rgba(35, 50, 39, .22);
}

.booking-provider-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 6vw, 78px);
    background:
        radial-gradient(circle at 10% 10%, rgba(190, 153, 104, .15), transparent 30%),
        linear-gradient(145deg, #38533F, #2E4435);
}

.booking-provider-logo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    max-width: 220px;
    min-height: 82px;
    margin-bottom: 28px;
    padding: 14px 18px;
    border-radius: 18px;
    background: #FFFDF8;
    box-shadow: 0 14px 34px rgba(20, 35, 25, .16);
}

.booking-provider-logo {
    display: block;
    width: auto;
    max-width: 184px;
    max-height: 74px;
    object-fit: contain;
}

.booking-provider-eyebrow {
    margin-bottom: 12px;
    color: #D8B98C;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.booking-provider-hero h1 {
    margin: 0;
    color: #F3E1C5 !important;
    font-size: clamp(48px, 6vw, 82px);
    line-height: .95;
    letter-spacing: -.035em;
}

.booking-provider-lead {
    max-width: 650px;
    margin: 22px 0 0;
    color: #F2E7D7;
    font-size: clamp(16px, 1.7vw, 21px);
    line-height: 1.65;
}

.booking-provider-location {
    margin-top: 18px;
    color: #D7C8B2;
    font-size: 13px;
    font-weight: 700;
}

.booking-provider-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.booking-btn--sand {
    background: #F0DFC4 !important;
    border-color: #F0DFC4 !important;
    color: #2F4837 !important;
    -webkit-text-fill-color: #2F4837 !important;
}

.booking-btn--sand-outline {
    background: transparent !important;
    border-color: rgba(240, 223, 196, .55) !important;
    color: #F0DFC4 !important;
    -webkit-text-fill-color: #F0DFC4 !important;
}

.booking-provider-hero__media {
    min-height: 520px;
    background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.10), transparent 28%),
        linear-gradient(135deg, #A5AD94, #6F826E 60%, #435945);
}

.booking-provider-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.booking-provider-hero__media.is-empty {
    display: grid;
    place-items: center;
}

.booking-provider-hero__media.is-empty > span {
    display: grid;
    place-items: center;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #F3E1C5;
    font: 600 72px/1 "Playfair Display", Georgia, serif;
}

.booking-provider-hero__fallback-logo {
    width: min(66%, 360px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 230px;
    object-fit: contain !important;
    padding: 28px;
    border-radius: 24px;
    background: rgba(255,253,248,.92);
}

.booking-owner-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(79, 106, 82, .16);
    border-radius: 18px;
    background: #FFFDF8;
    color: #3D4C40;
    box-shadow: var(--bk-shadow);
}

.booking-owner-bar > div {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.booking-provider-about {
    display: grid;
    grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr);
    gap: clamp(28px, 6vw, 88px);
    align-items: start;
    padding: clamp(30px, 5vw, 62px);
    border: 1px solid rgba(79, 106, 82, .12);
    border-radius: 28px;
    background: #FFFDF8;
    box-shadow: var(--bk-shadow);
}

.booking-provider-about h2,
.booking-provider-section__heading h2 {
    margin: 0;
    color: #304939 !important;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.02;
}

.booking-provider-about__text {
    color: #4B514B;
    font-size: 16px;
    line-height: 1.85;
    white-space: normal;
}

.booking-provider-section {
    scroll-margin-top: 24px;
}

.booking-provider-section__heading {
    max-width: 760px;
    margin: 0 0 22px;
}

.booking-provider-section__heading p {
    margin: 10px 0 0;
    color: #66685F;
    line-height: 1.65;
}

.booking-service-card-public .booking-btn {
    margin-top: 18px;
}

.booking-provider-empty {
    margin-top: 4px;
}

.booking-provider-card__logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 76px;
    margin: -4px 0 16px;
}

.booking-provider-card__logo img {
    max-width: 170px;
    max-height: 72px;
    object-fit: contain;
}

.booking-provider-card__intro {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    margin-bottom: 18px !important;
}

.booking-brand-form {
    display: grid;
    gap: 18px;
}

.booking-brand-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.booking-brand-card {
    padding: 26px;
    border: 1px solid rgba(79, 106, 82, .14);
    border-radius: 24px;
    background: #FFFDF8;
    box-shadow: var(--bk-shadow);
}

.booking-brand-card--wide {
    grid-column: 1 / -1;
}

.booking-brand-card h2 {
    margin: 0 0 8px;
    color: #304939;
    font-size: 30px;
}

.booking-brand-card > p {
    margin: 0 0 20px;
    color: #6A6B65;
    line-height: 1.6;
}

.booking-brand-card .booking-field + .booking-field,
.booking-brand-preview + .booking-check,
.booking-brand-card .booking-check + .booking-field {
    margin-top: 14px;
}

.booking-brand-preview {
    overflow: hidden;
    margin: 18px 0 10px;
    border: 1px solid rgba(79, 106, 82, .14);
    border-radius: 18px;
    background: #F3EEE5;
}

.booking-brand-preview--logo {
    display: grid;
    place-items: center;
    min-height: 150px;
    padding: 24px;
}

.booking-brand-preview--logo img {
    max-width: 240px;
    max-height: 105px;
    object-fit: contain;
}

.booking-brand-preview--hero img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}

.booking-brand-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 0 0;
}

@media (max-width: 900px) {
    .booking-provider-hero {
        grid-template-columns: 1fr;
    }
    .booking-provider-hero__media,
    .booking-provider-hero__media img {
        min-height: 360px;
    }
    .booking-provider-about {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .booking-brand-grid {
        grid-template-columns: 1fr;
    }
    .booking-brand-card--wide {
        grid-column: auto;
    }
}

@media (max-width: 700px) {
    .booking-provider-page {
        gap: 18px !important;
    }
    .booking-provider-hero {
        min-height: 0;
        border-radius: 22px;
        background: #314A3A !important;
    }
    .booking-provider-hero__copy {
        padding: 28px 22px 30px;
        background: #314A3A !important;
    }
    .booking-provider-logo-wrap {
        max-width: 190px;
        min-height: 70px;
        margin-bottom: 22px;
        padding: 12px 14px;
    }
    .booking-provider-logo {
        max-width: 158px;
        max-height: 60px;
    }
    .booking-provider-hero h1 {
        color: #F3E1C5 !important;
        -webkit-text-fill-color: #F3E1C5 !important;
        font-size: clamp(42px, 13vw, 62px) !important;
    }
    .booking-provider-lead,
    .booking-provider-location {
        color: #EBDCC7 !important;
        -webkit-text-fill-color: #EBDCC7 !important;
    }
    .booking-provider-hero__media,
    .booking-provider-hero__media img {
        min-height: 260px;
    }
    .booking-owner-bar {
        align-items: stretch;
        flex-direction: column;
    }
    .booking-owner-bar > div,
    .booking-owner-bar .booking-btn {
        width: 100%;
    }
    .booking-provider-about {
        padding: 24px 20px;
        background: #FFFDF8 !important;
    }
    .booking-provider-about h2,
    .booking-provider-section__heading h2 {
        color: #304939 !important;
        -webkit-text-fill-color: #304939 !important;
    }
    .booking-provider-about__text,
    .booking-provider-section__heading p {
        color: #51564F !important;
        -webkit-text-fill-color: #51564F !important;
    }
    .booking-brand-card {
        padding: 22px 18px;
    }
    .booking-brand-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .booking-brand-actions .booking-btn {
        width: 100%;
    }
}

/* =========================================================
   FRISTET BOOKING V7.3 – MØRK UDBYDERSIDE PÅ MOBIL
   Genskaber den dybe naturgrønne retning fra v6.6/v6.7.
   Ingen hvide præsentationskort og ingen mørk tekst på grøn flade.
   ========================================================= */
@media (max-width: 700px) {
    .booking-shell.booking-provider-page {
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 10px 46px !important;
        gap: 18px !important;
        background:
            radial-gradient(circle at 100% 0, rgba(196,171,115,.10), transparent 26%),
            linear-gradient(180deg, #304638 0%, #2B4034 52%, #24372D 100%) !important;
        color: #EADCC8 !important;
    }

    .booking-provider-page .booking-provider-hero,
    .booking-provider-page .booking-provider-hero__copy {
        background:
            radial-gradient(circle at 8% 8%, rgba(196,171,115,.10), transparent 28%),
            linear-gradient(145deg, #314A3A, #263B30) !important;
        border-color: rgba(232,219,192,.18) !important;
    }

    .booking-provider-page .booking-provider-about,
    .booking-provider-page .booking-owner-bar,
    .booking-provider-page .booking-card,
    .booking-provider-page .booking-card__body,
    .booking-provider-page .booking-empty {
        background: #31493A !important;
        border-color: rgba(232,219,192,.18) !important;
        color: #EADCC8 !important;
        box-shadow: 0 16px 34px rgba(16,28,21,.22) !important;
    }

    .booking-provider-page .booking-provider-about {
        padding: 24px 20px !important;
    }

    .booking-provider-page .booking-owner-bar {
        color: #F0E3D0 !important;
    }

    .booking-provider-page .booking-provider-about h2,
    .booking-provider-page .booking-provider-section__heading h2,
    .booking-provider-page .booking-card h1,
    .booking-provider-page .booking-card h2,
    .booking-provider-page .booking-card h3,
    .booking-provider-page .booking-empty h2,
    .booking-provider-page .booking-empty h3 {
        color: #F2DEC0 !important;
        -webkit-text-fill-color: #F2DEC0 !important;
        opacity: 1 !important;
    }

    .booking-provider-page .booking-provider-about__text,
    .booking-provider-page .booking-provider-about__text p,
    .booking-provider-page .booking-provider-section__heading p,
    .booking-provider-page .booking-card p,
    .booking-provider-page .booking-empty,
    .booking-provider-page .booking-owner-bar span,
    .booking-provider-page .booking-owner-bar strong {
        color: #E5D5C1 !important;
        -webkit-text-fill-color: #E5D5C1 !important;
        opacity: 1 !important;
    }

    .booking-provider-page .booking-kicker,
    .booking-provider-page .booking-provider-eyebrow {
        color: #D2AB78 !important;
        -webkit-text-fill-color: #D2AB78 !important;
        opacity: 1 !important;
    }

    .booking-provider-page .booking-service-card-public,
    .booking-provider-page #hold .booking-card {
        background: #31493A !important;
    }

    .booking-provider-page .booking-pill,
    .booking-provider-page .booking-meta .booking-pill {
        background: #E8DFD1 !important;
        border-color: #D5C5AD !important;
        color: #304A38 !important;
        -webkit-text-fill-color: #304A38 !important;
    }

    .booking-provider-page .booking-btn,
    .booking-provider-page a.booking-btn,
    .booking-provider-page button.booking-btn {
        background: #F0E2CD !important;
        border-color: #DDC9AA !important;
        color: #2E4736 !important;
        -webkit-text-fill-color: #2E4736 !important;
        box-shadow: none !important;
    }

    .booking-provider-page .booking-btn--gold,
    .booking-provider-page a.booking-btn--gold,
    .booking-provider-page button.booking-btn--gold {
        background: #C8AA6C !important;
        border-color: #C8AA6C !important;
        color: #24382B !important;
        -webkit-text-fill-color: #24382B !important;
    }

    .booking-provider-page .booking-provider-hero h1 {
        color: #F3DFC4 !important;
        -webkit-text-fill-color: #F3DFC4 !important;
    }

    .booking-provider-page .booking-provider-lead,
    .booking-provider-page .booking-provider-location {
        color: #E8D8C2 !important;
        -webkit-text-fill-color: #E8D8C2 !important;
    }
}

/* =========================================================
   FRISTET BOOKING V7.4 – MØRK BRANDING-SIDE PÅ MOBIL
   Retter lyse kort med lys tekst på /booking/udbyder/bookingside.
   Formularfelter forbliver lyse, så de er nemme at udfylde.
   ========================================================= */
@media (max-width: 700px) {
    .booking-shell.booking-branding-page {
        width: 100% !important;
        margin: 0 !important;
        padding: 14px 10px 46px !important;
        background:
            radial-gradient(circle at 100% 0, rgba(196,171,115,.11), transparent 28%),
            linear-gradient(180deg, #3D5545 0%, #334A3B 52%, #2B4034 100%) !important;
        color: #EADCC8 !important;
    }

    .booking-branding-page .booking-head {
        background:
            radial-gradient(circle at 8% 8%, rgba(196,171,115,.10), transparent 30%),
            linear-gradient(145deg, #3A5542, #2D4436) !important;
        border-color: rgba(232,219,192,.18) !important;
        box-shadow: 0 14px 30px rgba(20,33,25,.20) !important;
    }

    .booking-branding-page .booking-head h1 {
        color: #F3DFC4 !important;
        -webkit-text-fill-color: #F3DFC4 !important;
    }

    .booking-branding-page .booking-head p {
        color: #E6D7C2 !important;
        -webkit-text-fill-color: #E6D7C2 !important;
    }

    .booking-branding-page .booking-kicker {
        color: #D7B27F !important;
        -webkit-text-fill-color: #D7B27F !important;
        opacity: 1 !important;
    }

    .booking-branding-page .booking-brand-card {
        padding: 22px 18px !important;
        background:
            radial-gradient(circle at 100% 0, rgba(201,174,119,.08), transparent 28%),
            linear-gradient(145deg, #354F3E, #304839) !important;
        border-color: rgba(232,219,192,.20) !important;
        box-shadow: 0 14px 30px rgba(20,33,25,.18) !important;
    }

    .booking-branding-page .booking-brand-card h2 {
        color: #F3DFC4 !important;
        -webkit-text-fill-color: #F3DFC4 !important;
        opacity: 1 !important;
    }

    .booking-branding-page .booking-brand-card > p {
        color: #E4D4BF !important;
        -webkit-text-fill-color: #E4D4BF !important;
        opacity: 1 !important;
    }

    .booking-branding-page .booking-brand-card .booking-field label,
    .booking-branding-page .booking-brand-card .booking-check {
        color: #F0DFC6 !important;
        -webkit-text-fill-color: #F0DFC6 !important;
        opacity: 1 !important;
    }

    .booking-branding-page .booking-brand-card .booking-help {
        color: #D8C7AF !important;
        -webkit-text-fill-color: #D8C7AF !important;
        opacity: 1 !important;
    }

    .booking-branding-page .booking-brand-card .booking-field input,
    .booking-branding-page .booking-brand-card .booking-field select,
    .booking-branding-page .booking-brand-card .booking-field textarea {
        background: #FFFDF8 !important;
        color: #29352E !important;
        -webkit-text-fill-color: #29352E !important;
        border-color: #D7CCBC !important;
        box-shadow: none !important;
    }

    .booking-branding-page .booking-brand-card .booking-field input::placeholder,
    .booking-branding-page .booking-brand-card .booking-field textarea::placeholder {
        color: #7B817B !important;
        -webkit-text-fill-color: #7B817B !important;
        opacity: 1 !important;
    }

    .booking-branding-page .booking-brand-card input[type="file"] {
        padding: 7px !important;
    }

    .booking-branding-page .booking-brand-card input[type="file"]::file-selector-button {
        margin-right: 10px;
        padding: 9px 12px;
        border: 1px solid #D3BF9D;
        border-radius: 9px;
        background: #EFE1CA;
        color: #2D4736;
        font: inherit;
        font-weight: 800;
        cursor: pointer;
    }

    .booking-branding-page .booking-brand-preview {
        background: #263C30 !important;
        border-color: rgba(232,219,192,.20) !important;
    }

    .booking-branding-page .booking-flash {
        background: #DDE6D7 !important;
        border-color: #BACBB5 !important;
        color: #294332 !important;
        -webkit-text-fill-color: #294332 !important;
    }

    .booking-branding-page .booking-flash.booking-error {
        background: #E8D6CF !important;
        border-color: #CFAE9F !important;
        color: #713E31 !important;
        -webkit-text-fill-color: #713E31 !important;
    }

    .booking-branding-page .booking-actions,
    .booking-branding-page .booking-brand-actions {
        width: 100% !important;
    }

    .booking-branding-page .booking-btn,
    .booking-branding-page a.booking-btn,
    .booking-branding-page button.booking-btn,
    .booking-branding-page .booking-btn--light,
    .booking-branding-page a.booking-btn--light {
        background: #F0E2CD !important;
        border-color: #DDC9AA !important;
        color: #2E4736 !important;
        -webkit-text-fill-color: #2E4736 !important;
    }

    .booking-branding-page .booking-btn--gold,
    .booking-branding-page a.booking-btn--gold,
    .booking-branding-page button.booking-btn--gold {
        background: #C8AA6C !important;
        border-color: #C8AA6C !important;
        color: #24382B !important;
        -webkit-text-fill-color: #24382B !important;
    }
}

/* =========================================================
   FRISTET BOOKING V7.5 – AMELIA-INSPIRERET VALG-FLOW
   Desktop: sidepanel + liste
   Mobil: ren én-kolonne liste med tydelig kontrast
   ========================================================= */

.booking-shell--wizard-amelia {
    width: min(1160px, calc(100% - 28px));
    padding-top: 20px;
}

.booking-shell--wizard-amelia .booking-head--compact {
    margin-bottom: 18px;
    border-radius: 20px;
}

.booking-wizard--amelia {
    border-radius: 26px;
    border: 1px solid rgba(95, 118, 95, .18);
    background: #fff;
    box-shadow: 0 18px 50px rgba(35, 40, 32, .14);
}

.booking-wizard--amelia .booking-wizard__sidebar {
    padding: 22px 16px;
    border-right: 1px solid rgba(0,0,0,.05);
    background: linear-gradient(180deg, #c79b82 0%, #b78c73 100%);
}

.booking-wizard--amelia .booking-wizard__eyebrow {
    margin: 0 10px 14px;
    color: rgba(255,255,255,.78);
}

.booking-wizard--amelia .booking-wizard__nav {
    gap: 10px;
}

.booking-wizard--amelia .booking-wizard__tab {
    min-height: 60px;
    padding: 11px 12px;
    border-radius: 14px;
    color: rgba(255,255,255,.92);
}

.booking-wizard--amelia .booking-wizard__tab:hover {
    background: rgba(255,255,255,.10);
}

.booking-wizard--amelia .booking-wizard__tab.is-active {
    background: rgba(255,255,255,.14);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.booking-wizard--amelia .booking-wizard__tab-icon {
    border-color: rgba(255,255,255,.24);
    background: rgba(255,255,255,.08);
    color: #fff;
}

.booking-wizard--amelia .booking-wizard__tab.is-active .booking-wizard__tab-icon {
    border-color: transparent;
    background: #184d63;
    color: #fff;
}

.booking-wizard--amelia .booking-wizard__tab-copy small {
    color: rgba(255,255,255,.72);
}

.booking-wizard--amelia .booking-wizard__content {
    background: #fff;
}

.booking-wizard--amelia .booking-wizard__title h2 {
    color: #253742;
    font-size: clamp(30px, 3vw, 42px);
}

.booking-wizard--amelia .booking-wizard__title p {
    color: #726d66;
    font-size: 14px;
}

.booking-choice-list {
    display: grid;
    gap: 14px;
}

.booking-choice-card {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 14px;
    border: 1px solid #e8ddd4;
    border-radius: 18px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.booking-choice-card:hover {
    border-color: #d7c2b4;
    box-shadow: 0 10px 24px rgba(41, 49, 40, .06);
}

.booking-choice-card.is-active {
    border-color: #c8ab98;
    box-shadow: 0 12px 28px rgba(41, 49, 40, .08);
    background: linear-gradient(180deg, #fff 0%, #fffaf6 100%);
}

.booking-choice-card__thumb {
    width: 88px;
    height: 88px;
    overflow: hidden;
    border-radius: 50%;
    background: #f5efe8;
    border: 1px solid #eadfD6;
}

.booking-choice-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.booking-choice-card__content {
    min-width: 0;
}

.booking-choice-card__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 6px;
}

.booking-choice-card__topline h3 {
    margin: 0;
    color: #253742;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.15;
}

.booking-choice-card__price {
    flex-shrink: 0;
    color: #bb896f;
    font-size: 24px;
    font-weight: 700;
}

.booking-choice-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 10px;
    color: #8d786b;
    font-size: 14px;
}

.booking-choice-card__meta span::before {
    content: '•';
    margin-right: 6px;
    color: #c09b7d;
}

.booking-choice-card__meta span:first-child::before {
    content: '';
    margin: 0;
}

.booking-choice-card__content p {
    margin: 0;
    color: #5e5b55;
    font-size: 14px;
    line-height: 1.65;
}

.booking-choice-card__details {
    margin-top: 10px;
}

.booking-choice-card__details summary {
    cursor: pointer;
    list-style: none;
    color: #b07e67;
    font-size: 13px;
    font-weight: 700;
}

.booking-choice-card__details summary::-webkit-details-marker {
    display: none;
}

.booking-choice-card__details div {
    margin-top: 8px;
    color: #5e5b55;
    font-size: 13px;
    line-height: 1.6;
}

.booking-choice-card__actions {
    display: flex;
    align-items: center;
    height: 100%;
}

.booking-btn--static {
    pointer-events: none;
}

.booking-service-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 16px 18px;
    border: 1px solid #eadfd4;
    border-radius: 16px;
    background: #f9f6f2;
}

.booking-service-summary__title {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.booking-service-summary__title strong {
    color: #253742;
    font-size: 18px;
}

.booking-service-summary__title span {
    color: #b07e67;
    font-weight: 700;
}

@media (max-width: 860px) {
    .booking-choice-card {
        grid-template-columns: 70px minmax(0, 1fr);
    }

    .booking-choice-card__thumb {
        width: 70px;
        height: 70px;
    }

    .booking-choice-card__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-top: 4px;
    }

    .booking-choice-card__topline h3 {
        font-size: 22px;
    }

    .booking-choice-card__price {
        font-size: 20px;
    }
}

@media (max-width: 700px) {
    .booking-shell--wizard-amelia {
        width: min(100%, calc(100% - 14px));
        padding-top: 10px;
    }

    .booking-shell--wizard-amelia .booking-head--compact {
        display: none;
    }

    .booking-wizard--amelia {
        display: block;
        border-radius: 18px;
        overflow: hidden;
    }

    .booking-wizard--amelia .booking-wizard__sidebar {
        display: none;
    }

    .booking-wizard--amelia .booking-wizard__mobile-head {
        display: block;
        padding: 16px 18px;
        background: #fff;
        color: #253742;
        border-bottom: 1px solid #efe7de;
        font-size: 17px;
        font-weight: 700;
    }

    .booking-wizard--amelia .booking-wizard__step {
        padding: 18px 16px 18px;
    }

    .booking-wizard--amelia .booking-wizard__title {
        margin-bottom: 18px;
    }

    .booking-wizard--amelia .booking-wizard__title h2 {
        font-size: 20px;
        line-height: 1.15;
    }

    .booking-wizard--amelia .booking-wizard__title p {
        font-size: 13px;
        line-height: 1.55;
    }

    .booking-choice-list {
        gap: 10px;
    }

    .booking-choice-card {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
        border-radius: 14px;
    }

    .booking-choice-card__thumb {
        width: 62px;
        height: 62px;
    }

    .booking-choice-card__topline {
        align-items: flex-start;
        gap: 8px;
    }

    .booking-choice-card__topline h3 {
        font-size: 18px;
    }

    .booking-choice-card__price {
        font-size: 16px;
    }

    .booking-choice-card__meta {
        gap: 8px 12px;
        font-size: 12px;
        margin-bottom: 8px;
    }

    .booking-choice-card__content p {
        font-size: 12px;
        line-height: 1.55;
    }

    .booking-choice-card__details summary {
        font-size: 12px;
    }

    .booking-service-summary {
        flex-direction: column;
        align-items: flex-start;
        padding: 14px;
    }
}


/* =========================================================
   FRISTET BOOKING V7.6 – MØRKE VALGKORT PÅ MOBIL
   Bevarer Amelia-strukturen, men bruger Fristet Booking-
   paletten med høj kontrast på små skærme.
   ========================================================= */

@media (max-width: 700px) {
    .booking-shell--wizard-amelia .booking-wizard__content {
        background:
            linear-gradient(180deg, #415746 0%, #354a3b 100%) !important;
    }

    .booking-shell--wizard-amelia .booking-wizard__mobile-head {
        background: #354a3b !important;
        border-bottom-color: rgba(241, 222, 192, .18) !important;
        color: #f3dec0 !important;
        -webkit-text-fill-color: #f3dec0 !important;
    }

    .booking-shell--wizard-amelia .booking-wizard__title h2 {
        color: #f3dec0 !important;
        -webkit-text-fill-color: #f3dec0 !important;
    }

    .booking-shell--wizard-amelia .booking-wizard__title p {
        color: #eadbc7 !important;
        -webkit-text-fill-color: #eadbc7 !important;
    }

    .booking-choice-card,
    .booking-choice-card.is-active {
        border-color: rgba(238, 217, 184, .24) !important;
        background:
            linear-gradient(180deg, #465f4d 0%, #3e5646 100%) !important;
        box-shadow: 0 12px 26px rgba(18, 31, 23, .20) !important;
    }

    .booking-choice-card.is-active {
        border-color: #d9b978 !important;
        box-shadow:
            0 0 0 1px rgba(217, 185, 120, .22),
            0 14px 30px rgba(18, 31, 23, .24) !important;
    }

    .booking-choice-card__thumb {
        border-color: rgba(238, 217, 184, .28) !important;
        background: #ded3c2 !important;
    }

    .booking-choice-card__topline h3 {
        color: #f5dfbd !important;
        -webkit-text-fill-color: #f5dfbd !important;
    }

    .booking-choice-card__price {
        color: #e5b786 !important;
        -webkit-text-fill-color: #e5b786 !important;
    }

    .booking-choice-card__meta,
    .booking-choice-card__content p,
    .booking-choice-card__details div {
        color: #eadbc7 !important;
        -webkit-text-fill-color: #eadbc7 !important;
    }

    .booking-choice-card__meta span::before {
        color: #d9b978 !important;
    }

    .booking-choice-card__details summary {
        color: #efc08e !important;
        -webkit-text-fill-color: #efc08e !important;
    }

    .booking-choice-card .booking-btn,
    .booking-choice-card .booking-btn--light,
    .booking-choice-card .booking-btn--primary,
    .booking-choice-card .booking-btn--static {
        border-color: #e2d0b4 !important;
        background: #f1e4d0 !important;
        color: #304a38 !important;
        -webkit-text-fill-color: #304a38 !important;
        box-shadow: none !important;
    }

    .booking-choice-card.is-active .booking-btn--static {
        border-color: #d9b978 !important;
        background: #d9b978 !important;
        color: #263b2d !important;
        -webkit-text-fill-color: #263b2d !important;
    }

    .booking-service-summary {
        border-color: rgba(238, 217, 184, .22) !important;
        background: #465f4d !important;
    }

    .booking-service-summary__title strong {
        color: #f3dec0 !important;
        -webkit-text-fill-color: #f3dec0 !important;
    }

    .booking-service-summary__title span {
        color: #e5b786 !important;
        -webkit-text-fill-color: #e5b786 !important;
    }

    .booking-shell--wizard-amelia .booking-wizard__footer {
        border-top-color: rgba(241, 222, 192, .18) !important;
        background: #354a3b !important;
    }
}


/* =========================================================
   FRISTET BOOKING V7.7 – KALENDER + EVENTS
   ========================================================= */
.booking-calendar {
    border: 1px solid rgba(223, 201, 166, .22);
    border-radius: 28px;
    padding: 18px;
    background: rgba(28, 48, 36, .36);
}
.booking-calendar__toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    margin-bottom: 18px;
}
.booking-calendar__selects {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.booking-calendar__select {
    display: grid;
    gap: 6px;
    min-width: 180px;
}
.booking-calendar__select span {
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #dfc9a6;
}
.booking-calendar__select select {
    border: 1px solid rgba(223, 201, 166, .24);
    border-radius: 14px;
    background: rgba(246, 239, 227, .08);
    color: #f6ead3;
    padding: 12px 14px;
}
.booking-calendar__nav {
    display: flex;
    gap: 10px;
}
.booking-calendar__nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(223, 201, 166, .28);
    background: rgba(246, 239, 227, .08);
    color: #f6ead3;
    font-size: 24px;
    line-height: 1;
}
.booking-calendar__nav-btn:disabled { opacity: .35; cursor: not-allowed; }
.booking-calendar__weekdays,
.booking-calendar__days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}
.booking-calendar__weekdays {
    margin-bottom: 10px;
}
.booking-calendar__weekdays span {
    text-align: center;
    font-size: 13px;
    color: #dfc9a6;
}
.booking-calendar__day {
    min-height: 54px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(223, 201, 166, .18);
    background: rgba(247, 242, 234, .08);
    color: #efdfc6;
    font-weight: 600;
}
button.booking-calendar__day {
    cursor: pointer;
}
.booking-calendar__day.is-outside {
    opacity: .4;
}
.booking-calendar__day.is-available {
    border-color: rgba(223, 201, 166, .38);
}
.booking-calendar__day.is-selected {
    background: #b98b71;
    border-color: #d3a68e;
    color: #fffaf4;
}
.booking-calendar__times {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(223, 201, 166, .16);
}
.booking-calendar__times-head {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}
.booking-calendar__times-head strong {
    color: #f5dfbd;
    font-size: 20px;
    font-family: 'Playfair Display', serif;
}
.booking-calendar__times-head span {
    color: #eadbc7;
    font-size: 14px;
}
.booking-calendar__time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.booking-time-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.booking-time-option span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 78px;
    border-radius: 16px;
    border: 1px solid rgba(223, 201, 166, .32);
    background: #f4ede3;
    color: #304a38;
    text-align: center;
    padding: 10px 12px;
    cursor: pointer;
}
.booking-time-option strong {
    font-size: 18px;
}
.booking-time-option small {
    margin-top: 4px;
    color: #6b6d66;
}
.booking-time-option input:checked + span {
    background: #b98b71;
    color: #fffaf4;
    border-color: #b98b71;
    box-shadow: 0 10px 20px rgba(0,0,0,.15);
}
.booking-time-option input:checked + span small {
    color: #fff1e2;
}

.booking-provider-section--events .booking-provider-section__heading {
    margin-bottom: 20px;
}
.booking-events-toolbar {
    display: flex;
    gap: 14px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.booking-events-toolbar__search,
.booking-events-toolbar__filter {
    border: 1px solid rgba(223, 201, 166, .24);
    border-radius: 16px;
    background: #f7f2ea;
    color: #304a38;
    padding: 14px 16px;
}
.booking-events-toolbar__search {
    flex: 1 1 320px;
}
.booking-events-toolbar__filter {
    min-width: 200px;
}
.booking-events-list {
    display: grid;
    gap: 18px;
}
.booking-event-card {
    display: grid;
    grid-template-columns: 110px 140px minmax(0, 1fr) 170px;
    gap: 18px;
    align-items: stretch;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(223, 201, 166, .18);
    background: #f7f2ea;
    box-shadow: 0 14px 28px rgba(10, 16, 12, .08);
}
.booking-event-card__date {
    border-left: 6px solid #dc8b3a;
    border-radius: 18px;
    background: #fffaf4;
    padding: 18px 14px;
    text-align: center;
    color: #304a38;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}
.booking-event-card__day { font-size: 38px; font-weight: 700; line-height: 1; }
.booking-event-card__month { font-size: 18px; font-weight: 600; text-transform: capitalize; }
.booking-event-card__image img {
    width: 100%;
    height: 100%;
    min-height: 110px;
    object-fit: cover;
    border-radius: 18px;
}
.booking-event-card__body {
    display: grid;
    align-content: start;
    gap: 10px;
    color: #304a38;
}
.booking-event-card__body h3 {
    color: #304a38;
    margin: 0;
    font-size: 30px;
}
.booking-event-card__meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    color: #576758;
    font-weight: 600;
}
.booking-event-card__status.is-open { color: #2a7b63; }
.booking-event-card__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}
.booking-event-card__price {
    font-size: 30px;
    color: #2d8b7c;
    font-family: 'Playfair Display', serif;
}
.booking-event-card__details {
    width: 100%;
}
.booking-event-card__details summary {
    list-style: none;
    width: 100%;
    text-align: center;
    cursor: pointer;
}
.booking-event-card__details summary::-webkit-details-marker { display: none; }
.booking-event-card__details-content {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fffaf4;
    border: 1px solid rgba(48, 74, 56, .1);
    color: #304a38;
}
.booking-service-card-public .booking-card__body {
    background: transparent;
}
@media (max-width: 960px) {
    .booking-calendar__time-grid {
        grid-template-columns: 1fr;
    }
    .booking-event-card {
        grid-template-columns: 96px 120px minmax(0, 1fr);
    }
    .booking-event-card__aside {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}
@media (max-width: 700px) {
    .booking-calendar {
        padding: 14px;
        border-radius: 22px;
        background: rgba(42, 63, 49, .72);
    }
    .booking-calendar__toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .booking-calendar__selects {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .booking-calendar__select {
        min-width: 0;
    }
    .booking-calendar__days,
    .booking-calendar__weekdays {
        gap: 6px;
    }
    .booking-calendar__day {
        min-height: 46px;
        border-radius: 12px;
        font-size: 14px;
    }
    .booking-calendar__times-head strong {
        font-size: 18px;
    }
    .booking-time-option span {
        min-height: 64px;
    }
    .booking-event-card {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 14px;
    }
    .booking-event-card__date {
        display: grid;
        grid-template-columns: repeat(3, auto);
        justify-content: start;
        align-items: center;
        gap: 10px;
        border-left-width: 4px;
        padding: 10px 12px;
    }
    .booking-event-card__day {
        font-size: 28px;
    }
    .booking-event-card__month {
        font-size: 16px;
    }
    .booking-event-card__image img {
        min-height: 180px;
    }
    .booking-event-card__body h3 {
        font-size: 24px;
    }
    .booking-event-card__aside {
        align-items: stretch;
        flex-direction: column;
    }
    .booking-event-card__price {
        font-size: 24px;
    }
    .booking-events-toolbar {
        flex-direction: column;
    }
    .booking-events-toolbar__search,
    .booking-events-toolbar__filter {
        width: 100%;
    }
}

/* =========================================================
   FRISTET BOOKING V7.8 – KALENDERKONTRAST + FAST POSITION
   ========================================================= */
.booking-shell--wizard-amelia .booking-calendar {
    background: linear-gradient(180deg, #3d5545 0%, #334a3b 100%) !important;
    border-color: rgba(234, 215, 184, .28) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.booking-shell--wizard-amelia .booking-calendar__select span,
.booking-shell--wizard-amelia .booking-calendar__weekdays span,
.booking-shell--wizard-amelia .booking-calendar__times-head span {
    color: #ead8bc !important;
    -webkit-text-fill-color: #ead8bc !important;
}

.booking-shell--wizard-amelia .booking-calendar__select select {
    background: #f4ecdf !important;
    border-color: #d9c6a8 !important;
    color: #2f4939 !important;
    -webkit-text-fill-color: #2f4939 !important;
    font-weight: 700 !important;
}

.booking-shell--wizard-amelia .booking-calendar__nav-btn {
    background: #f4ecdf !important;
    border-color: #d9c6a8 !important;
    color: #2f4939 !important;
    -webkit-text-fill-color: #2f4939 !important;
}

.booking-shell--wizard-amelia .booking-calendar__nav-btn:disabled {
    opacity: .38 !important;
}

.booking-shell--wizard-amelia .booking-calendar__day {
    background: #496150 !important;
    border-color: rgba(234, 215, 184, .18) !important;
    color: #f1dfc5 !important;
    -webkit-text-fill-color: #f1dfc5 !important;
    font-weight: 800 !important;
}

.booking-shell--wizard-amelia .booking-calendar__day.is-outside {
    background: #3a4f41 !important;
    color: #8fa094 !important;
    -webkit-text-fill-color: #8fa094 !important;
    opacity: 1 !important;
}

.booking-shell--wizard-amelia .booking-calendar__day.is-available {
    background: #526c58 !important;
    border-color: #bda77f !important;
    color: #fff0d7 !important;
    -webkit-text-fill-color: #fff0d7 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

.booking-shell--wizard-amelia .booking-calendar__day.is-available:hover {
    background: #607a66 !important;
}

.booking-shell--wizard-amelia .booking-calendar__day.is-selected {
    background: #b98268 !important;
    border-color: #d8ab91 !important;
    color: #fffaf3 !important;
    -webkit-text-fill-color: #fffaf3 !important;
    box-shadow: 0 8px 18px rgba(20, 25, 20, .18) !important;
}

.booking-shell--wizard-amelia .booking-calendar__times {
    border-top-color: rgba(234, 215, 184, .20) !important;
}

.booking-shell--wizard-amelia .booking-calendar__times-head strong {
    color: #f5dfbd !important;
    -webkit-text-fill-color: #f5dfbd !important;
}

.booking-shell--wizard-amelia .booking-time-option span {
    background: #f3eadc !important;
    border-color: #d9c6a8 !important;
    color: #2f4939 !important;
    -webkit-text-fill-color: #2f4939 !important;
}

.booking-shell--wizard-amelia .booking-time-option small {
    color: #6a746d !important;
    -webkit-text-fill-color: #6a746d !important;
}

.booking-shell--wizard-amelia .booking-time-option input:checked + span {
    background: #b98268 !important;
    border-color: #d8ab91 !important;
    color: #fffaf3 !important;
    -webkit-text-fill-color: #fffaf3 !important;
}

.booking-shell--wizard-amelia .booking-time-option input:checked + span small {
    color: #fbe9da !important;
    -webkit-text-fill-color: #fbe9da !important;
}

@media (max-width: 700px) {
    .booking-shell--wizard-amelia .booking-calendar {
        background: linear-gradient(180deg, #3b5343 0%, #304738 100%) !important;
    }

    .booking-shell--wizard-amelia .booking-calendar__day {
        min-height: 46px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   FRISTET BOOKING V7.9 – DANSK + FAST FARVEHIERARKI
   Retter udbydersiden efter v7.8: sektioner ligger uden for
   hero, tekster har fast kontrast, og arrangementskort virker
   både med og uden billede.
   ========================================================= */

.booking-shell.booking-provider-page {
    width: min(1220px, calc(100% - 28px));
    padding: 24px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0, rgba(196,171,115,.09), transparent 24%),
        linear-gradient(180deg, #2f4738 0%, #273d31 100%);
    color: #eadbc7;
}

.booking-provider-page .booking-provider-section__heading h2,
.booking-provider-page .booking-provider-section__heading h3,
.booking-provider-page .booking-provider-section__heading p,
.booking-provider-page .booking-provider-section__heading .booking-kicker {
    opacity: 1 !important;
}

.booking-provider-page .booking-provider-section__heading h2 {
    color: #f2dec0 !important;
    -webkit-text-fill-color: #f2dec0 !important;
}

.booking-provider-page .booking-provider-section__heading p {
    color: #e5d5c1 !important;
    -webkit-text-fill-color: #e5d5c1 !important;
}

.booking-provider-page .booking-provider-section__heading .booking-kicker {
    color: #d5ad78 !important;
    -webkit-text-fill-color: #d5ad78 !important;
}

.booking-provider-page .booking-service-card-public {
    border-color: rgba(229, 205, 169, .18) !important;
    background: #3a5544 !important;
    box-shadow: 0 14px 28px rgba(13, 24, 18, .18) !important;
}

.booking-provider-page .booking-service-card-public .booking-card__body,
.booking-provider-page .booking-service-card-public h3,
.booking-provider-page .booking-service-card-public p {
    background: transparent !important;
}

.booking-provider-page .booking-service-card-public h3 {
    color: #f1ddbd !important;
    -webkit-text-fill-color: #f1ddbd !important;
}

.booking-provider-page .booking-service-card-public p {
    color: #e6d7c3 !important;
    -webkit-text-fill-color: #e6d7c3 !important;
}

.booking-provider-section--events {
    padding-top: 8px;
}

.booking-events-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 12px !important;
    align-items: center;
}

.booking-events-toolbar__search,
.booking-events-toolbar__filter {
    width: 100%;
    min-height: 48px;
    margin: 0;
    border: 1px solid #d9c7a9 !important;
    border-radius: 14px !important;
    background: #f4ecdf !important;
    color: #304a38 !important;
    -webkit-text-fill-color: #304a38 !important;
    font: inherit;
    box-shadow: none !important;
}

.booking-events-toolbar__search::placeholder {
    color: #8b8e86 !important;
    opacity: 1;
}

.booking-events-list {
    gap: 14px !important;
}

.booking-event-card {
    min-width: 0;
    overflow: visible;
    border: 1px solid #e0d1bd !important;
    background: #f6efe5 !important;
    color: #304a38 !important;
    box-shadow: 0 12px 26px rgba(12, 22, 16, .14) !important;
}

.booking-event-card.has-image {
    grid-template-columns: 106px 150px minmax(0, 1fr) 150px !important;
}

.booking-event-card.no-image {
    grid-template-columns: 106px minmax(0, 1fr) 150px !important;
}

.booking-event-card__date {
    border-left-color: #cf8d43 !important;
    background: #fffaf4 !important;
    color: #304a38 !important;
    -webkit-text-fill-color: #304a38 !important;
}

.booking-event-card__month,
.booking-event-card__date small,
.booking-event-card__day {
    color: #304a38 !important;
    -webkit-text-fill-color: #304a38 !important;
}

.booking-event-card__image {
    min-width: 0;
}

.booking-event-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 124px;
    border-radius: 16px;
    object-fit: cover;
}

.booking-event-card__body {
    min-width: 0;
    color: #304a38 !important;
}

.booking-event-card__body .booking-kicker {
    color: #9b6a50 !important;
    -webkit-text-fill-color: #9b6a50 !important;
}

.booking-event-card__body h3 {
    margin: 2px 0 0 !important;
    color: #304a38 !important;
    -webkit-text-fill-color: #304a38 !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    line-height: 1.05 !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}

.booking-event-card__body p,
.booking-event-card__meta,
.booking-event-card__meta span {
    color: #5e685f !important;
    -webkit-text-fill-color: #5e685f !important;
}

.booking-event-card__status.is-open {
    color: #2b8068 !important;
    -webkit-text-fill-color: #2b8068 !important;
}

.booking-event-card__aside {
    min-width: 0;
    justify-content: space-between;
}

.booking-event-card__price {
    color: #2e8a78 !important;
    -webkit-text-fill-color: #2e8a78 !important;
    font-size: clamp(24px, 2.6vw, 34px) !important;
    white-space: nowrap;
}

.booking-event-card__details summary.booking-btn {
    min-height: 44px;
    width: 100%;
    padding: 0 14px;
    border-color: #315d4a !important;
    background: #315d4a !important;
    color: #fff8ed !important;
    -webkit-text-fill-color: #fff8ed !important;
    white-space: nowrap;
}

.booking-event-card__details-content,
.booking-event-card__details-content p,
.booking-event-card__details-content strong {
    color: #304a38 !important;
    -webkit-text-fill-color: #304a38 !important;
}

.booking-event-card[hidden] {
    display: none !important;
}

@media (max-width: 960px) {
    .booking-event-card.has-image {
        grid-template-columns: 92px 120px minmax(0, 1fr) !important;
    }

    .booking-event-card.no-image {
        grid-template-columns: 92px minmax(0, 1fr) !important;
    }

    .booking-event-card__aside {
        grid-column: 1 / -1;
        display: grid !important;
        grid-template-columns: 1fr 180px;
        align-items: center;
        gap: 12px;
    }
}

@media (max-width: 700px) {
    .booking-shell.booking-provider-page {
        width: 100% !important;
        padding: 14px 10px 42px !important;
        border-radius: 0 !important;
    }

    .booking-events-toolbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .booking-events-toolbar__search,
    .booking-events-toolbar__filter {
        flex: none !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 10px 12px !important;
    }

    .booking-event-card,
    .booking-event-card.has-image,
    .booking-event-card.no-image {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 14px !important;
        border-radius: 20px !important;
    }

    .booking-event-card__date {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 10px 12px !important;
        border-left-width: 4px !important;
    }

    .booking-event-card__day {
        font-size: 28px !important;
    }

    .booking-event-card__month {
        font-size: 15px !important;
    }

    .booking-event-card__image img {
        min-height: 190px !important;
        max-height: 260px;
    }

    .booking-event-card__body h3 {
        font-size: 25px !important;
    }

    .booking-event-card__aside {
        grid-column: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .booking-event-card__price {
        font-size: 24px !important;
    }
}

/* =========================================================
   FRISTET BOOKING V8.0 – SMART KALENDER + REFERENCEKORT
   ========================================================= */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ---------- Kunde: servicevalg som reference ---------- */
.booking-shell--service-reference {
    width: min(980px, calc(100% - 28px));
}

.booking-shell--service-reference .booking-wizard--amelia {
    grid-template-columns: 240px minmax(0, 1fr);
    min-height: 560px;
    border-radius: 14px;
    overflow: hidden;
    background: #fff !important;
}

.booking-shell--service-reference .booking-wizard__sidebar {
    background: #9a8179 !important;
    color: #fff !important;
}

.booking-shell--service-reference .booking-wizard__tab,
.booking-shell--service-reference .booking-wizard__tab-copy strong,
.booking-shell--service-reference .booking-wizard__tab-copy small,
.booking-shell--service-reference .booking-wizard__eyebrow {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.booking-shell--service-reference .booking-wizard__tab {
    background: rgba(255,255,255,.08) !important;
}

.booking-shell--service-reference .booking-wizard__tab.is-active {
    background: rgba(255,255,255,.13) !important;
}

.booking-shell--service-reference .booking-wizard__tab-icon {
    background: transparent !important;
    border-color: rgba(255,255,255,.22) !important;
    color: #fff !important;
}

.booking-shell--service-reference .booking-wizard__tab.is-active .booking-wizard__tab-icon {
    background: #2f6a56 !important;
    border-color: #65b78d !important;
}

.booking-shell--service-reference .booking-wizard__content,
.booking-shell--service-reference .booking-wizard__step {
    background: #fff !important;
    color: #24353f !important;
}

.booking-shell--service-reference .booking-wizard__title h2 {
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
}

.booking-shell--service-reference .booking-wizard__title p {
    color: #6a7175 !important;
    -webkit-text-fill-color: #6a7175 !important;
}

.booking-service-reference-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
    gap: 12px;
    margin: 0 0 14px;
}

.booking-service-reference-toolbar input,
.booking-service-reference-toolbar select {
    width: 100%;
    min-height: 43px;
    padding: 10px 13px;
    border: 1px solid #d7d9dc;
    border-radius: 7px;
    background: #fff !important;
    color: #24353f !important;
    font: inherit;
}

.booking-choice-list--reference {
    gap: 10px !important;
}

.booking-choice-card--reference,
.booking-choice-card--reference.is-active {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 46px !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 12px 13px !important;
    border: 1px solid #e1e3e5 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #24353f !important;
}

.booking-choice-card--reference.is-active {
    border-color: #b98e7d !important;
}

.booking-choice-card--reference[hidden] {
    display: none !important;
}

.booking-choice-card--reference .booking-choice-card__thumb {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #f1ece7 !important;
    border: 1px solid #e7dfda !important;
    display: grid !important;
    place-items: center !important;
    color: #8f766d !important;
    font-weight: 800 !important;
}

.booking-choice-card--reference .booking-choice-card__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.booking-choice-card--reference .booking-choice-card__content {
    min-width: 0 !important;
}

.booking-choice-card--reference .booking-choice-card__topline {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 0 5px !important;
}

.booking-choice-card--reference .booking-choice-card__topline h3 {
    margin: 0 !important;
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

.booking-choice-card--reference .booking-choice-card__price {
    flex: 0 0 auto !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #faf5f1 !important;
    color: #b78a76 !important;
    -webkit-text-fill-color: #b78a76 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.booking-choice-card--reference .booking-choice-card__meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 10px !important;
    margin: 0 0 6px !important;
    color: #687075 !important;
    -webkit-text-fill-color: #687075 !important;
    font-size: 12px !important;
}

.booking-choice-card--reference .booking-choice-card__meta span::before {
    display: none !important;
}

.booking-choice-card--reference .booking-choice-card__short {
    margin: 0 0 5px !important;
    color: #687075 !important;
    -webkit-text-fill-color: #687075 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.booking-choice-card--reference .booking-choice-card__details {
    margin: 0 !important;
}

.booking-choice-card--reference .booking-choice-card__details summary,
.booking-choice-card--reference .booking-choice-select-link {
    color: #526069 !important;
    -webkit-text-fill-color: #526069 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.booking-choice-card--reference .booking-choice-card__actions {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
}

.booking-choice-selected {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2f7a5f;
    color: #fff;
    font-weight: 900;
}

.booking-choice-select-link {
    display: grid;
    place-items: center;
    width: 38px;
    height: 32px;
    border: 1px solid #d4d8da;
    border-radius: 7px;
    background: #fff;
}

/* ---------- Kunde: kalender som desktop/mobil-reference ---------- */
.booking-shell--service-reference .booking-calendar {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.booking-shell--service-reference .booking-calendar__toolbar {
    align-items: center !important;
    margin: 0 0 18px !important;
}

.booking-shell--service-reference .booking-calendar__select span {
    display: none !important;
}

.booking-shell--service-reference .booking-calendar__select {
    min-width: 160px !important;
}

.booking-shell--service-reference .booking-calendar__select select,
.booking-shell--service-reference .booking-calendar__nav-btn {
    min-height: 42px !important;
    border: 1px solid #dcd8d5 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
}

.booking-shell--service-reference .booking-calendar__weekdays span {
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
    font-size: 12px !important;
}

.booking-shell--service-reference .booking-calendar__days {
    gap: 6px !important;
}

.booking-shell--service-reference .booking-calendar__day {
    min-height: 38px !important;
    border: 1px solid #d8c3b8 !important;
    border-radius: 4px !important;
    background: #fbfaf9 !important;
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
    font-size: 12px !important;
}

.booking-shell--service-reference .booking-calendar__day.is-outside {
    border-color: transparent !important;
    background: #f1ece8 !important;
    color: #a9afb2 !important;
    -webkit-text-fill-color: #a9afb2 !important;
}

.booking-shell--service-reference .booking-calendar__day.is-selected {
    background: #b88f7c !important;
    border-color: #b88f7c !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.booking-shell--service-reference .booking-calendar__times {
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px solid #ece9e7 !important;
}

.booking-shell--service-reference .booking-calendar__times-head strong {
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 14px !important;
}

.booking-shell--service-reference .booking-calendar__times-head span {
    color: #747b7f !important;
    -webkit-text-fill-color: #747b7f !important;
    font-size: 12px !important;
}

.booking-shell--service-reference .booking-calendar__time-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.booking-shell--service-reference .booking-time-option span {
    min-height: 42px !important;
    padding: 8px !important;
    border: 1px solid #d4b8aa !important;
    border-radius: 5px !important;
    background: #fbfaf9 !important;
    color: #24353f !important;
    -webkit-text-fill-color: #24353f !important;
}

.booking-shell--service-reference .booking-time-option strong {
    font-size: 13px !important;
}

.booking-shell--service-reference .booking-time-option input:checked + span {
    background: #b88f7c !important;
    border-color: #b88f7c !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* ---------- Udbyder: smart kalender ---------- */
.booking-smart-calendar-shell {
    width: min(1380px, calc(100% - 24px));
}

.booking-smart-calendar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 18px;
    align-items: start;
}

.booking-smart-calendar-main {
    min-width: 0;
    display: grid;
    gap: 18px;
}

.booking-smart-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(150px, 1fr));
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 6px;
}

.booking-smart-day {
    min-height: 420px;
    border: 1px solid #ddd4c6;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 24px rgba(52, 64, 51, .08);
}

.booking-smart-day.is-day-off {
    background: #f7ede7;
}

.booking-smart-day > header {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 12px;
    border-bottom: 1px solid #e6dfd5;
    background: #f6f1e8;
}

.booking-smart-day > header span {
    color: #a46f57;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.booking-smart-day > header strong {
    color: #304a38;
    font-size: 12px;
}

.booking-smart-day__slots {
    display: grid;
    gap: 8px;
    padding: 10px;
}

.booking-smart-day__empty {
    padding: 24px 4px;
    color: #9a948a;
    font-size: 12px;
    text-align: center;
}

.booking-smart-slot {
    padding: 10px;
    border-radius: 12px;
    border: 1px solid #dce4d7;
    background: #eef3eb;
    color: #304a38;
}

.booking-smart-slot strong,
.booking-smart-slot span,
.booking-smart-slot small {
    display: block;
}

.booking-smart-slot strong {
    font-size: 14px;
}

.booking-smart-slot span {
    margin-top: 2px;
    font-size: 11px;
    font-weight: 800;
}

.booking-smart-slot small {
    margin-top: 4px;
    color: #687166;
    font-size: 10px;
    line-height: 1.35;
}

.booking-smart-slot--reserveret,
.booking-smart-slot--bekraeftet {
    border-color: #d6b29f;
    background: #f1ded3;
}

.booking-smart-slot--blokeret {
    border-color: #d5d5d5;
    background: #eee;
    color: #6e6e6e;
}

.booking-smart-calendar-sidebar {
    display: grid;
    gap: 14px;
    position: sticky;
    top: 14px;
}

.booking-smart-tool-card,
.booking-smart-rules-card {
    border: 1px solid #ddd4c6;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(52, 64, 51, .08);
}

.booking-smart-tool-card {
    padding: 16px;
}

.booking-smart-rules-card {
    padding: 20px;
}

.booking-smart-tool-card__head,
.booking-smart-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.booking-smart-tool-card__head strong {
    color: #304a38;
    font-size: 15px;
}

.booking-smart-tool-card__head a {
    color: #a46f57;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.booking-smart-rule-form,
.booking-smart-dayoff-form {
    display: grid;
    gap: 13px;
}

.booking-smart-rule-form .booking-field label,
.booking-smart-dayoff-form .booking-field label {
    color: #304a38 !important;
}

.booking-smart-rule-form input,
.booking-smart-rule-form select,
.booking-smart-dayoff-form input {
    background: #fffdf8 !important;
    color: #304a38 !important;
    -webkit-text-fill-color: #304a38 !important;
}

.booking-smart-services {
    margin: 0;
    padding: 14px;
    border: 1px solid #e1d9cd;
    border-radius: 16px;
}

.booking-smart-services legend {
    padding: 0 6px;
    color: #304a38;
    font-size: 12px;
    font-weight: 900;
}

.booking-smart-services .booking-check {
    align-items: flex-start;
    color: #304a38 !important;
}

.booking-smart-services .booking-check span strong,
.booking-smart-services .booking-check span small {
    display: block;
}

.booking-smart-services .booking-check span strong {
    font-size: 12px;
}

.booking-smart-services .booking-check span small {
    margin-top: 2px;
    color: #77746d;
    font-size: 10px;
}

.booking-smart-all-services {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee7dd;
}

.booking-smart-services__list {
    display: grid;
    gap: 8px;
}

.booking-smart-services__list.is-disabled {
    opacity: .45;
}

.booking-smart-note {
    margin: 0;
    color: #716d65;
    font-size: 11px;
    line-height: 1.55;
}

.booking-smart-rules-list {
    display: grid;
    gap: 10px;
}

.booking-smart-rule {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid #e2dbcf;
    border-radius: 16px;
    background: #fbf8f2;
}

.booking-smart-rule__main {
    min-width: 0;
}

.booking-smart-rule__main strong,
.booking-smart-rule__main span,
.booking-smart-rule__main small {
    display: block;
}

.booking-smart-rule__main strong {
    color: #304a38;
}

.booking-smart-rule__main span {
    margin-top: 4px;
    color: #5f665f;
    font-size: 12px;
}

.booking-smart-rule__main small {
    margin-top: 3px;
    color: #807b72;
    font-size: 11px;
}

.booking-smart-rule__actions {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.booking-smart-rule__actions form {
    margin: 0;
}

.booking-btn--danger {
    background: #8f5b50 !important;
    border-color: #8f5b50 !important;
    color: #fff !important;
}

.booking-smart-dayoff-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.booking-smart-dayoff-list > div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f6f1e8;
    color: #304a38;
    font-size: 11px;
}

.booking-smart-dayoff-list button {
    border: 0;
    background: transparent;
    color: #8f5b50;
    font-size: 18px;
    cursor: pointer;
}

.booking-buffer-preview {
    padding: 14px 16px;
    border: 1px solid #dce4d7;
    border-radius: 14px;
    background: #eef3eb;
    color: #304a38;
}

.booking-buffer-preview > span,
.booking-buffer-preview > strong,
.booking-buffer-preview > small {
    display: block;
}

.booking-buffer-preview > strong {
    margin-top: 3px;
    font-size: 24px;
}

.booking-buffer-preview > small {
    margin-top: 5px;
    color: #687166;
    line-height: 1.45;
}

@media (max-width: 1040px) {
    .booking-smart-calendar-layout {
        grid-template-columns: 1fr;
    }

    .booking-smart-calendar-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .booking-shell--service-reference {
        width: min(100%, calc(100% - 12px));
    }

    .booking-shell--service-reference .booking-head--compact {
        display: none !important;
    }

    .booking-shell--service-reference .booking-wizard--amelia {
        display: block !important;
        min-height: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

    .booking-shell--service-reference .booking-wizard__sidebar {
        display: none !important;
    }

    .booking-shell--service-reference .booking-wizard__mobile-head {
        display: block !important;
        padding: 17px 16px !important;
        border-bottom: 1px solid #e7e8e9 !important;
        background: #fff !important;
        color: #24353f !important;
        -webkit-text-fill-color: #24353f !important;
        font-size: 17px !important;
        font-weight: 800 !important;
    }

    .booking-shell--service-reference .booking-wizard__step {
        padding: 16px 14px 18px !important;
        background: #fff !important;
    }

    .booking-service-reference-toolbar {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .booking-choice-card--reference,
    .booking-choice-card--reference.is-active {
        grid-template-columns: 62px minmax(0, 1fr) 34px !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    .booking-choice-card--reference .booking-choice-card__thumb {
        width: 56px !important;
        height: 56px !important;
    }

    .booking-choice-card--reference .booking-choice-card__topline h3 {
        font-size: 14px !important;
    }

    .booking-choice-card--reference .booking-choice-card__price {
        font-size: 12px !important;
    }

    .booking-choice-card--reference .booking-choice-card__short {
        display: none !important;
    }

    .booking-shell--service-reference .booking-calendar__selects {
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }

    .booking-shell--service-reference .booking-calendar__select {
        min-width: 0 !important;
    }

    .booking-shell--service-reference .booking-calendar__weekdays,
    .booking-shell--service-reference .booking-calendar__days {
        gap: 4px !important;
    }

    .booking-shell--service-reference .booking-calendar__day {
        min-height: 42px !important;
    }

    .booking-shell--service-reference .booking-calendar__time-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .booking-smart-calendar-shell {
        width: min(100%, calc(100% - 10px));
    }

    .booking-smart-calendar-sidebar {
        grid-template-columns: 1fr;
    }

    .booking-smart-week-grid {
        grid-template-columns: repeat(7, 150px);
    }

    .booking-smart-rule {
        flex-direction: column;
    }

    .booking-smart-rule__actions {
        align-items: stretch;
    }

    .booking-smart-rule__actions .booking-btn,
    .booking-smart-rule__actions form,
    .booking-smart-rule__actions form .booking-btn {
        width: 100%;
    }
}

/* =========================================================
   FRISTET BOOKING V8.1 – EVENT DETALJESIDE
   Tilpasset fra det uploadede WPA event-layout til Fristets
   egne booking-klasser. Ingen WordPress/Amelia-afhængighed.
   ========================================================= */

.booking-event-detail {
    --bed-bg: #32483a;
    --bed-bg-deep: #26392e;
    --bed-panel: #fffaf4;
    --bed-panel-soft: #f4eee6;
    --bed-text: #304a38;
    --bed-text-soft: #5f6e61;
    --bed-muted: #8a8b83;
    --bed-line: rgba(48, 74, 56, .14);
    --bed-sand: #e5d3b7;
    --bed-earth: #b8876e;
    --bed-earth-dark: #94674f;
    --bed-open: #2a7b63;
    --bed-full: #a75a4f;
    --bed-radius: 20px;
    --bed-shadow: 0 18px 44px rgba(17, 29, 21, .14);

    min-height: 100vh;
    padding: 26px 0 72px;
    background:
        radial-gradient(circle at 12% 0%, rgba(229, 211, 183, .14), transparent 26%),
        linear-gradient(180deg, #3f5948 0%, #32483a 55%, #2a3d31 100%);
    font-family: Montserrat, Arial, sans-serif;
}

.booking-event-detail *,
.booking-event-detail *::before,
.booking-event-detail *::after {
    box-sizing: border-box;
}

.booking-event-detail__inner {
    width: min(1100px, calc(100% - 32px));
    margin: 0 auto;
}

.booking-event-detail__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    color: #f0dfc6;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.booking-event-detail__back:hover {
    text-decoration: underline;
}

.booking-event-detail__columns {
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    align-items: flex-start;
    justify-content: center;
}

.booking-event-detail__main {
    flex: 1 1 0;
    min-width: 0;
    max-width: 650px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px;
    border-radius: 26px;
    background: var(--bed-panel);
    box-shadow: var(--bed-shadow);
}

.booking-event-detail__tickets {
    flex: 0 1 390px;
    position: sticky;
    top: 18px;
}

.booking-event-detail__carousel {
    width: 100%;
}

.booking-event-detail__carousel-viewport {
    position: relative;
    width: 100%;
    height: 320px;
    overflow: hidden;
    border-radius: 20px;
    background: var(--bed-panel-soft);
}

.booking-event-detail__carousel-track {
    display: flex;
    height: 100%;
    width: calc(var(--booking-event-slides, 1) * 100%);
    transition: transform .28s ease;
    will-change: transform;
}

.booking-event-detail__carousel-slide {
    position: relative;
    flex: 0 0 calc(100% / var(--booking-event-slides, 1));
    height: 100%;
}

.booking-event-detail__carousel-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.booking-event-detail__carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(48, 74, 56, .14);
    border-radius: 50%;
    background: rgba(255, 250, 244, .94);
    color: var(--bed-text);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .10);
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 24px;
    line-height: 1;
}

.booking-event-detail__carousel-nav--prev { left: 14px; }
.booking-event-detail__carousel-nav--next { right: 14px; }

.booking-event-detail__carousel-dots {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    align-items: center;
}

.booking-event-detail__carousel-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    cursor: pointer;
    transition: width .18s ease, background .18s ease;
}

.booking-event-detail__carousel-dot.is-active {
    width: 20px;
    background: #fff;
}

.booking-event-detail__meta-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: start;
}

.booking-event-detail__date-block {
    min-width: 0;
    padding: 12px 10px;
    border-left: 5px solid var(--bed-earth);
    border-radius: 14px;
    background: var(--bed-panel-soft);
    color: var(--bed-text);
}

.booking-event-detail__date-block > span {
    display: block;
    color: var(--bed-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.booking-event-detail__date-block strong {
    display: block;
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.35;
}

.booking-event-detail__date-block small {
    display: block;
    margin-top: 4px;
    color: var(--bed-text-soft);
    font-size: 12px;
}

.booking-event-detail__meta-main {
    min-width: 0;
}

.booking-event-detail__meta-main h1 {
    margin: 0 0 6px;
    color: var(--bed-text);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.06;
}

.booking-event-detail__location {
    margin: 0 0 8px;
    color: var(--bed-text-soft);
    font-size: 14px;
}

.booking-event-detail__status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: center;
    color: var(--bed-text-soft);
    font-size: 14px;
}

.booking-event-detail__status {
    font-weight: 800;
}

.booking-event-detail__status.is-open { color: var(--bed-open); }
.booking-event-detail__status.is-full { color: var(--bed-full); }

.booking-event-detail__price {
    display: grid;
    justify-items: end;
    gap: 2px;
    white-space: nowrap;
}

.booking-event-detail__price > span {
    color: var(--bed-muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.booking-event-detail__price strong {
    color: var(--bed-open);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 26px;
}

.booking-event-detail__divider {
    width: 100%;
    height: 1px;
    background: var(--bed-line);
}

.booking-event-detail__block {
    width: 100%;
}

.booking-event-detail__block h2 {
    margin: 0 0 10px;
    color: var(--bed-text);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 24px;
}

.booking-event-detail__block p,
.booking-event-detail__text {
    margin: 0;
    color: var(--bed-text-soft);
    font-size: 14px;
    line-height: 1.75;
}

.booking-event-detail__muted {
    color: var(--bed-muted) !important;
}

.booking-event-detail__host {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 16px;
    background: var(--bed-panel-soft);
}

.booking-event-detail__host-avatar {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 50%;
    overflow: hidden;
    background: #e6ddd1;
}

.booking-event-detail__host-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.booking-event-detail__host > div:last-child {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.booking-event-detail__host strong {
    color: var(--bed-text);
    font-size: 15px;
}

.booking-event-detail__host span {
    color: var(--bed-text-soft);
    font-size: 13px;
    line-height: 1.45;
}

.booking-event-detail__ticket-card {
    padding: 22px;
    border: 1px solid rgba(229, 211, 183, .28);
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(229, 211, 183, .12), transparent 34%),
        linear-gradient(180deg, #405b49 0%, #32483a 100%);
    color: #f3e6d2;
    box-shadow: 0 20px 48px rgba(17, 29, 21, .20);
}

.booking-event-detail__ticket-card h2 {
    margin: 0 0 18px;
    color: #f6e5c9;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 28px;
    line-height: 1.1;
}

.booking-event-detail__ticket-card .booking-kicker {
    color: #d9b978;
}

.booking-event-detail__ticket-summary {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.booking-event-detail__ticket-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(229, 211, 183, .15);
}

.booking-event-detail__ticket-summary span {
    color: #d9cbb8;
    font-size: 12px;
}

.booking-event-detail__ticket-summary strong {
    color: #fff4e4;
    font-size: 13px;
    text-align: right;
}

.booking-event-detail__ticket-options {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.booking-event-detail__ticket-option {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid rgba(229, 211, 183, .20);
    border-radius: 15px;
    background: rgba(255,255,255,.06);
}

.booking-event-detail__ticket-option > div {
    display: grid;
    gap: 2px;
}

.booking-event-detail__ticket-option strong {
    color: #fff1de;
    font-size: 14px;
}

.booking-event-detail__ticket-option small {
    color: #cdbda8;
    font-size: 11px;
}

.booking-event-detail__ticket-option > span {
    color: #e4bb86;
    font-weight: 800;
    white-space: nowrap;
}

.booking-event-detail__cta {
    width: 100%;
    min-height: 48px;
    background: #e9d8bd !important;
    border-color: #e9d8bd !important;
    color: #2e4938 !important;
    -webkit-text-fill-color: #2e4938 !important;
}

.booking-event-detail__cta:disabled {
    opacity: .78;
    cursor: not-allowed;
}

.booking-event-detail__ticket-note {
    margin: 12px 0 0;
    color: #c9baa7;
    font-size: 11px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .booking-event-detail {
        padding-top: 16px;
    }

    .booking-event-detail__inner {
        width: min(100%, calc(100% - 20px));
    }

    .booking-event-detail__columns {
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
    }

    .booking-event-detail__main,
    .booking-event-detail__tickets {
        width: 100%;
        max-width: none;
        position: relative;
        top: auto;
    }

    .booking-event-detail__carousel-viewport {
        height: 250px;
    }

    .booking-event-detail__meta-row {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .booking-event-detail__price {
        grid-column: 2;
        justify-items: start;
    }
}

@media (max-width: 620px) {
    .booking-event-detail {
        padding-bottom: calc(30px + env(safe-area-inset-bottom, 0px));
    }

    .booking-event-detail__inner {
        width: min(100%, calc(100% - 14px));
    }

    .booking-event-detail__main {
        padding: 12px;
        border-radius: 20px;
    }

    .booking-event-detail__carousel-viewport {
        height: 220px;
        border-radius: 16px;
    }

    .booking-event-detail__carousel-nav {
        width: 34px;
        height: 34px;
    }

    .booking-event-detail__meta-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .booking-event-detail__date-block {
        display: grid;
        grid-template-columns: auto auto auto;
        justify-content: start;
        align-items: baseline;
        gap: 6px 10px;
    }

    .booking-event-detail__date-block > span,
    .booking-event-detail__date-block strong,
    .booking-event-detail__date-block small {
        margin: 0;
    }

    .booking-event-detail__meta-main h1 {
        font-size: 30px;
    }

    .booking-event-detail__price {
        grid-column: auto;
        justify-items: start;
    }

    .booking-event-detail__ticket-card {
        padding: 18px;
        border-radius: 20px;
    }
}

/* =========================================================
   FRISTET BOOKING V8.2 — MASSAGE HOME / MØRK GRØN
   Offentlig udbyderside inspireret af den viste massage-demo,
   men bygget på Fristets egne PHP-data og mørke naturfarver.
   ========================================================= */

.booking-provider-page--massage-home {
    --mh-deep: #10241a;
    --mh-deeper: #0b1c14;
    --mh-forest: #183629;
    --mh-forest-2: #224735;
    --mh-moss: #395f47;
    --mh-sage: #82927d;
    --mh-sage-dark: #61715f;
    --mh-cream: #f2dfc2;
    --mh-cream-2: #ead3b1;
    --mh-paper: #f8f1e6;
    --mh-paper-2: #eee3d3;
    --mh-terracotta: #b9775d;
    --mh-gold: #d1aa6c;
    --mh-text: #f7ead7;
    --mh-text-soft: #d8cbb9;
    --mh-line: rgba(242, 223, 194, .17);

    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 72px;
    overflow: hidden;
    background:
        radial-gradient(circle at 84% 12%, rgba(130, 146, 125, .14), transparent 25%),
        linear-gradient(180deg, var(--mh-deep) 0%, #132a1f 38%, var(--mh-deeper) 100%);
    color: var(--mh-text-soft);
}

.booking-provider-page--massage-home h1,
.booking-provider-page--massage-home h2,
.booking-provider-page--massage-home h3 {
    color: var(--mh-cream);
}

.booking-mh-hero {
    position: relative;
    padding: 42px 24px 54px;
}

.booking-mh-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 9% 16%, rgba(185, 119, 93, .11), transparent 25%),
        radial-gradient(circle at 68% 34%, rgba(209, 170, 108, .08), transparent 24%);
    pointer-events: none;
}

.booking-mh-hero__inner {
    position: relative;
    width: min(1180px, 100%);
    min-height: 620px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    border: 1px solid var(--mh-line);
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(29, 61, 45, .98), rgba(16, 36, 26, .98));
    box-shadow: 0 34px 80px rgba(0, 0, 0, .26);
}

.booking-mh-hero__copy {
    padding: clamp(48px, 6.8vw, 92px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.booking-mh-brandmark {
    width: 106px;
    height: 106px;
    margin-bottom: 28px;
    border: 1px solid rgba(242, 223, 194, .20);
    border-radius: 50%;
    overflow: hidden;
    background: rgba(248, 241, 230, .96);
    box-shadow: 0 15px 34px rgba(0,0,0,.18);
}

.booking-mh-brandmark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.booking-mh-eyebrow {
    display: block;
    margin: 0 0 14px;
    color: var(--mh-gold);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.booking-mh-hero h1 {
    max-width: 620px;
    margin: 0;
    font-size: clamp(58px, 7vw, 96px);
    line-height: .91;
    letter-spacing: -.045em;
    font-weight: 500;
}

.booking-mh-lead {
    max-width: 630px;
    margin: 25px 0 0;
    color: var(--mh-text-soft);
    font-size: clamp(16px, 1.6vw, 20px);
    line-height: 1.75;
}

.booking-mh-location {
    margin: 18px 0 0;
    color: #eadbc7;
    font-size: 13px;
    font-weight: 700;
}

.booking-mh-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.booking-mh-btn {
    min-height: 50px;
    padding: 0 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.booking-mh-btn:hover,
.booking-mh-btn:focus-visible {
    transform: translateY(-2px);
}

.booking-mh-btn--cream {
    background: var(--mh-cream);
    border-color: var(--mh-cream);
    color: #173226;
    box-shadow: 0 12px 30px rgba(0,0,0,.17);
}

.booking-mh-btn--cream:hover,
.booking-mh-btn--cream:focus-visible {
    background: #f9ead2;
    border-color: #f9ead2;
    color: #10271c;
}

.booking-mh-btn--outline {
    border-color: rgba(242, 223, 194, .42);
    color: var(--mh-cream);
    background: rgba(255,255,255,.02);
}

.booking-mh-btn--outline:hover,
.booking-mh-btn--outline:focus-visible {
    background: rgba(242, 223, 194, .09);
    border-color: rgba(242, 223, 194, .70);
    color: #fff4e4;
}

.booking-mh-hero__media {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 30%, rgba(255,255,255,.10), transparent 34%),
        linear-gradient(145deg, #7e927e, #4f6855);
}

.booking-mh-hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(16,36,26,.30), transparent 35%),
        linear-gradient(180deg, transparent 66%, rgba(10,26,18,.28));
    pointer-events: none;
}

.booking-mh-hero__media > img:not(.booking-mh-hero__fallback-logo) {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    display: block;
}

.booking-mh-hero__media.is-empty {
    display: grid;
    place-items: center;
}

.booking-mh-hero__media.is-empty > span {
    color: var(--mh-cream);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 132px;
}

.booking-mh-hero__fallback-logo {
    width: min(68%, 380px);
    height: auto;
    position: relative;
    z-index: 1;
    object-fit: contain;
}

.booking-mh-ownerbar {
    width: min(1180px, calc(100% - 48px));
    margin: -26px auto 50px;
    position: relative;
    z-index: 3;
}

.booking-mh-section {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 94px 0;
}

.booking-mh-section__head {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.booking-mh-section__head--left {
    max-width: 820px;
    margin-left: 0;
    text-align: left;
}

.booking-mh-section__head h2,
.booking-mh-about__heading h2,
.booking-mh-feature__copy h2,
.booking-mh-final-cta h2 {
    margin: 0;
    color: var(--mh-cream);
    font-size: clamp(43px, 5.4vw, 72px);
    line-height: .98;
    letter-spacing: -.035em;
    font-weight: 500;
}

.booking-mh-section__head p {
    max-width: 660px;
    margin: 18px auto 0;
    color: var(--mh-text-soft);
    line-height: 1.75;
}

.booking-mh-section__head--left p {
    margin-left: 0;
}

.booking-mh-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.booking-mh-service-card {
    min-width: 0;
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(242,223,194,.15);
    background: linear-gradient(180deg, #224533 0%, #193629 100%);
    box-shadow: 0 22px 52px rgba(0,0,0,.20);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.booking-mh-service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(209,170,108,.44);
    box-shadow: 0 30px 60px rgba(0,0,0,.28);
}

.booking-mh-service-card.is-alt {
    background: linear-gradient(180deg, #2d4d39 0%, #1a3729 100%);
}

.booking-mh-service-card__media {
    height: 250px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #61745f, #3a5743);
    text-decoration: none;
}

.booking-mh-service-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s ease;
}

.booking-mh-service-card:hover .booking-mh-service-card__media img:not(.is-logo) {
    transform: scale(1.035);
}

.booking-mh-service-card__media img.is-logo {
    width: 55%;
    height: 55%;
    object-fit: contain;
}

.booking-mh-service-card__media > span {
    color: var(--mh-cream);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 94px;
}

.booking-mh-service-card__body {
    padding: 26px 25px 28px;
}

.booking-mh-service-card__type {
    color: var(--mh-terracotta);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.booking-mh-service-card h3 {
    margin: 8px 0 10px;
    color: var(--mh-cream);
    font-size: clamp(29px, 3vw, 38px);
    line-height: 1.04;
    font-weight: 500;
}

.booking-mh-service-card__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 13px;
    margin-bottom: 15px;
    color: #dfcba9;
    font-size: 12px;
    font-weight: 700;
}

.booking-mh-service-card__facts span + span::before {
    content: "·";
    margin-right: 13px;
    color: var(--mh-gold);
}

.booking-mh-service-card p {
    min-height: 76px;
    margin: 0;
    color: #d7cbbb;
    font-size: 13px;
    line-height: 1.72;
}

.booking-mh-service-card__links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 24px;
}

.booking-mh-service-card__links a {
    color: var(--mh-cream);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.booking-mh-service-card__links > a:first-child {
    border-bottom: 1px solid rgba(242,223,194,.40);
}

.booking-mh-service-card__links .booking-mh-card-book {
    min-height: 40px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: var(--mh-cream);
    color: #183629;
}

.booking-mh-feature {
    width: min(1180px, calc(100% - 48px));
    min-height: 570px;
    margin: 12px auto 30px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
    overflow: hidden;
    border: 1px solid rgba(242,223,194,.18);
    border-radius: 34px;
    background: #264635;
    box-shadow: 0 28px 64px rgba(0,0,0,.22);
}

.booking-mh-feature__media {
    position: relative;
    min-height: 570px;
    overflow: hidden;
    background: linear-gradient(145deg, #6f816d, #435f49);
}

.booking-mh-feature__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 55%, rgba(38,70,53,.25));
}

.booking-mh-feature__media img:not(.is-logo) {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.booking-mh-feature__media img.is-logo {
    width: min(65%, 360px);
    height: auto;
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
}

.booking-mh-feature__copy {
    padding: clamp(42px, 6vw, 78px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.booking-mh-feature__copy p {
    margin: 22px 0 30px;
    color: var(--mh-text-soft);
    font-size: 15px;
    line-height: 1.8;
}

.booking-mh-about {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: clamp(38px, 7vw, 90px);
    align-items: start;
}

.booking-mh-about__heading {
    position: sticky;
    top: 28px;
}

.booking-mh-about__heading h2 {
    font-size: clamp(44px, 5vw, 67px);
}

.booking-mh-about__text {
    padding: 36px;
    border: 1px solid rgba(242,223,194,.13);
    border-radius: 26px;
    background: rgba(36,69,51,.56);
    color: #ded1c0;
    font-size: 15px;
    line-height: 1.92;
    box-shadow: 0 18px 44px rgba(0,0,0,.12);
}

.booking-mh-events {
    border-top: 1px solid rgba(242,223,194,.12);
}

.booking-mh-events-toolbar {
    max-width: 880px;
    margin-bottom: 24px;
}

.booking-provider-page--massage-home .booking-events-toolbar__search,
.booking-provider-page--massage-home .booking-events-toolbar__filter {
    min-height: 48px;
    border-color: rgba(242,223,194,.20);
    background: #f4eadb;
    color: #233f30;
}

.booking-provider-page--massage-home .booking-event-card {
    border-color: rgba(242,223,194,.16);
    background: #f6eee2;
    box-shadow: 0 17px 42px rgba(0,0,0,.18);
}

.booking-provider-page--massage-home .booking-event-card h3,
.booking-provider-page--massage-home .booking-event-card p,
.booking-provider-page--massage-home .booking-event-card__meta,
.booking-provider-page--massage-home .booking-event-card__date,
.booking-provider-page--massage-home .booking-event-card__day,
.booking-provider-page--massage-home .booking-event-card__month,
.booking-provider-page--massage-home .booking-event-card__price {
    color: #284333;
}

.booking-provider-page--massage-home .booking-event-card__status.is-open {
    color: #32714b;
}

.booking-provider-page--massage-home .booking-event-card .booking-kicker {
    color: #9e674f;
}

.booking-provider-page--massage-home .booking-event-card .booking-btn--primary {
    background: #294c39;
    border-color: #294c39;
    color: #f8ebd8;
}

.booking-mh-final-cta {
    width: min(1180px, calc(100% - 48px));
    margin: 34px auto 0;
    padding: clamp(55px, 8vw, 96px) 28px;
    text-align: center;
    border: 1px solid rgba(242,223,194,.16);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% -20%, rgba(209,170,108,.13), transparent 42%),
        linear-gradient(145deg, #224432, #132d21);
}

.booking-mh-final-cta h2 {
    font-size: clamp(50px, 6vw, 82px);
}

.booking-mh-final-cta p {
    max-width: 660px;
    margin: 18px auto 30px;
    color: var(--mh-text-soft);
    line-height: 1.75;
}

.booking-mh-empty {
    width: min(1180px, calc(100% - 48px));
    margin: 60px auto;
}

@media (max-width: 980px) {
    .booking-mh-hero__inner,
    .booking-mh-feature {
        grid-template-columns: 1fr;
    }

    .booking-mh-hero__media {
        order: -1;
        min-height: 440px;
    }

    .booking-mh-feature__media {
        min-height: 420px;
    }

    .booking-mh-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-mh-about {
        grid-template-columns: 1fr;
    }

    .booking-mh-about__heading {
        position: static;
    }
}

@media (max-width: 680px) {
    .booking-provider-page--massage-home {
        padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
    }

    .booking-mh-hero {
        padding: 12px 10px 34px;
    }

    .booking-mh-hero__inner {
        min-height: 0;
        border-radius: 24px;
    }

    .booking-mh-hero__media {
        min-height: 315px;
    }

    .booking-mh-hero__copy {
        padding: 34px 24px 38px;
    }

    .booking-mh-brandmark {
        width: 82px;
        height: 82px;
        margin-bottom: 22px;
    }

    .booking-mh-hero h1 {
        font-size: clamp(50px, 16vw, 72px);
    }

    .booking-mh-lead {
        font-size: 15px;
    }

    .booking-mh-actions {
        width: 100%;
    }

    .booking-mh-btn {
        width: 100%;
    }

    .booking-mh-ownerbar,
    .booking-mh-section,
    .booking-mh-feature,
    .booking-mh-final-cta,
    .booking-mh-empty {
        width: calc(100% - 20px);
    }

    .booking-mh-ownerbar {
        margin-top: -18px;
    }

    .booking-mh-section {
        padding: 62px 0;
    }

    .booking-mh-section__head {
        margin-bottom: 28px;
        text-align: left;
    }

    .booking-mh-section__head p {
        margin-left: 0;
    }

    .booking-mh-section__head h2,
    .booking-mh-about__heading h2,
    .booking-mh-feature__copy h2,
    .booking-mh-final-cta h2 {
        font-size: clamp(40px, 13vw, 58px);
    }

    .booking-mh-service-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .booking-mh-service-card {
        display: grid;
        grid-template-columns: 108px minmax(0, 1fr);
        min-height: 184px;
        border-radius: 20px;
    }

    .booking-mh-service-card__media {
        height: 100%;
        min-height: 184px;
    }

    .booking-mh-service-card__body {
        padding: 19px 17px 18px;
    }

    .booking-mh-service-card h3 {
        font-size: 26px;
    }

    .booking-mh-service-card__facts {
        gap: 5px 9px;
        font-size: 10px;
    }

    .booking-mh-service-card__facts span + span::before {
        margin-right: 9px;
    }

    .booking-mh-service-card p {
        min-height: 0;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 11px;
        line-height: 1.55;
    }

    .booking-mh-service-card__links {
        margin-top: 13px;
    }

    .booking-mh-service-card__links .booking-mh-card-book {
        min-height: 34px;
        padding: 0 11px;
        font-size: 10px;
    }

    .booking-mh-feature {
        min-height: 0;
        margin-top: 0;
        border-radius: 24px;
    }

    .booking-mh-feature__media {
        min-height: 310px;
    }

    .booking-mh-feature__copy {
        padding: 34px 24px 38px;
    }

    .booking-mh-about {
        gap: 24px;
    }

    .booking-mh-about__text {
        padding: 24px 21px;
        border-radius: 20px;
        font-size: 14px;
        line-height: 1.8;
    }

    .booking-mh-final-cta {
        padding: 54px 22px;
        border-radius: 24px;
    }
}


/* V8.3 — godkendt MLH-mockup som fast designreference */
.booking-provider-page--massage-home{--v83-deep:#0d2118;--v83-cream:#f6ead8;--v83-paper:#fbf7f0;--v83-ink:#193326;--v83-muted:#6e746c;background:var(--v83-deep)}
.booking-provider-page--massage-home .booking-mh-hero{padding:20px 24px 0}.booking-provider-page--massage-home .booking-mh-hero__inner{min-height:500px;grid-template-columns:minmax(0,1fr) minmax(460px,.92fr);border-radius:26px 26px 0 0;background:linear-gradient(135deg,#10281c,#163728)}.booking-provider-page--massage-home .booking-mh-hero__copy{padding:clamp(40px,5vw,70px)}.booking-provider-page--massage-home .booking-mh-brandmark{width:88px;height:88px;margin-bottom:20px}.booking-provider-page--massage-home .booking-mh-hero h1{font-size:clamp(52px,6vw,82px);line-height:.96}.booking-provider-page--massage-home .booking-mh-lead{margin-top:18px;max-width:620px;font-size:16px;line-height:1.65}.booking-provider-page--massage-home .booking-mh-hero__media{min-height:500px}
.booking-mh-services-v83{background:var(--v83-paper);color:var(--v83-ink);padding:34px 24px 38px}.booking-mh-v83-wrap,.booking-mh-bottom-v83__inner{width:min(1180px,100%);margin:0 auto}.booking-mh-v83-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.booking-mh-v83-heading-row h2,.booking-mh-booking-v83__head h2,.booking-mh-events-v83__head h2{margin:0;color:var(--v83-ink)!important;font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:-.03em}.booking-mh-v83-heading-row h2{font-size:clamp(34px,4vw,48px)}.booking-mh-v83-heading-row p,.booking-mh-booking-v83__head p,.booking-mh-events-v83__head p{margin:6px 0 0;color:var(--v83-muted);font-size:13px;line-height:1.6}.booking-mh-v83-textlink{color:#234b38;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.booking-mh-service-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.booking-mh-service-mini{min-width:0;padding:12px;border:1px solid #e1d4c4;border-radius:9px;background:#fffdf9;box-shadow:0 4px 18px rgba(29,49,37,.045)}.booking-mh-service-mini:hover,.booking-mh-service-mini.is-selected{border-color:#9c7865;box-shadow:0 8px 22px rgba(29,49,37,.08)}.booking-mh-service-mini__main{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;color:inherit;text-decoration:none}.booking-mh-service-mini__thumb{width:68px;height:68px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e8ded2;color:var(--v83-ink);font-family:"Playfair Display",Georgia,serif;font-size:28px}.booking-mh-service-mini__thumb img{width:100%;height:100%;object-fit:cover}.booking-mh-service-mini__thumb img.is-logo{object-fit:contain;padding:7px}.booking-mh-service-mini__copy{min-width:0;display:grid;gap:3px}.booking-mh-service-mini__copy>strong{color:#21352b;font-family:"Playfair Display",Georgia,serif;font-size:17px;line-height:1.15}.booking-mh-service-mini__copy>small{color:#8a837b;font-size:10px}.booking-mh-service-mini__meta{display:flex;gap:10px;flex-wrap:wrap;color:#3f5248;font-size:11px;font-weight:700}.booking-mh-service-mini__more{display:inline-block;margin:9px 0 0 82px;color:#315d47;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.booking-provider-page--massage-home .booking-mh-feature{width:min(1180px,calc(100% - 48px));min-height:430px;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);margin:26px auto;border-radius:26px;background:#16392a}.booking-provider-page--massage-home .booking-mh-feature__media{min-height:430px}.booking-provider-page--massage-home .booking-mh-feature__copy{padding:clamp(34px,4vw,56px)}.booking-provider-page--massage-home .booking-mh-feature__copy h2{font-size:clamp(36px,4vw,52px)}.booking-mh-feature__badges{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:-10px 0 26px}.booking-mh-feature__badges span{color:#eadcc8;font-size:11px;line-height:1.35}
.booking-mh-bottom-v83{padding:30px 24px 46px;background:var(--v83-paper);color:var(--v83-ink)}.booking-mh-bottom-v83__inner{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:24px;align-items:start}.booking-mh-booking-v83,.booking-mh-events-v83{min-width:0}.booking-mh-booking-v83__head,.booking-mh-events-v83__head{margin-bottom:14px}.booking-mh-booking-v83__head{display:flex;justify-content:space-between;gap:20px;align-items:end}.booking-mh-booking-v83__head h2,.booking-mh-events-v83__head h2{font-size:clamp(28px,3.2vw,40px)}
.booking-mh-inline-wizard{min-height:386px;display:grid;grid-template-columns:174px minmax(0,1fr);overflow:hidden;border:1px solid #dfd4c5;border-radius:10px;background:#fffdf9;box-shadow:0 11px 32px rgba(30,49,38,.07)}.booking-mh-inline-steps{padding:16px 12px;background:#183a2a;color:#efe2d1}.booking-mh-inline-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;padding:11px 9px;border-radius:8px;opacity:.7}.booking-mh-inline-step>span{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(246,234,216,.42);border-radius:50%;font-size:11px;font-weight:800}.booking-mh-inline-step>div{min-width:0;display:grid;gap:2px}.booking-mh-inline-step strong{color:#f2e4d2;font-size:11px}.booking-mh-inline-step small{color:#bfc8c0;font-size:9px}.booking-mh-inline-step.is-active{background:rgba(246,234,216,.1);opacity:1}.booking-mh-inline-step.is-active>span{border-color:#ddb87e;background:#ddb87e;color:#173326}.booking-mh-inline-step.is-done{opacity:1}.booking-mh-inline-step.is-done>span{border-color:#60936f;background:#2e6546;color:#fff}
.booking-mh-inline-calendar{padding:15px;display:flex;min-width:0;flex-direction:column;background:#fffdf9}.booking-mh-inline-calendar__toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-bottom:12px}.booking-mh-inline-calendar__toolbar select,.booking-mh-inline-calendar__nav button{height:38px;border:1px solid #ded3c6;border-radius:7px;background:#fff;color:#25382f;font:inherit;font-size:11px}.booking-mh-inline-calendar__toolbar select{padding:0 10px}.booking-mh-inline-calendar__nav{display:flex}.booking-mh-inline-calendar__nav button{width:36px;padding:0;cursor:pointer}.booking-mh-inline-calendar__nav button:disabled{opacity:.35}.booking-mh-inline-calendar__body{display:grid;grid-template-columns:minmax(250px,1fr) minmax(210px,.8fr);gap:18px;min-height:250px}.booking-mh-inline-calendar__weekdays,.booking-mh-inline-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.booking-mh-inline-calendar__weekdays{margin-bottom:6px}.booking-mh-inline-calendar__weekdays span{padding:4px 0;color:#4f5d55;text-align:center;font-size:9px;font-weight:800}.booking-mh-inline-calendar__day{min-height:33px;display:grid;place-items:center;border:1px solid transparent;border-radius:5px;background:#f2eee9;color:#9b9a96;font:inherit;font-size:10px}button.booking-mh-inline-calendar__day{border-color:#cdbeb0;background:#fff;color:#26392f;cursor:pointer}.booking-mh-inline-calendar__day.is-selected{border-color:#234f39!important;background:#234f39!important;color:#fff!important}.booking-mh-inline-calendar__day.is-outside{opacity:.42}.booking-mh-inline-calendar__times>strong{display:block;color:#283c31;font-size:12px}.booking-mh-inline-calendar__hint{display:block;margin:2px 0 9px;color:#83877f;font-size:9px}.booking-mh-inline-calendar__time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.booking-mh-inline-time{min-height:36px;padding:6px 7px;border:1px solid #d8cdc0;border-radius:5px;background:#fff;color:#294033;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.booking-mh-inline-time:hover,.booking-mh-inline-time.is-selected{border-color:#2e6247;background:#2e6247;color:#fff}.booking-mh-inline-calendar__footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto;padding-top:12px}.booking-mh-inline-back{color:#5b665e;font-size:10px;font-weight:700;text-decoration:none}.booking-mh-inline-continue{min-height:38px;padding:0 18px;border:1px solid #24543c;border-radius:6px;background:#24543c;color:#fff;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.booking-mh-inline-continue:disabled{opacity:.38}.booking-mh-inline-empty{margin:auto;max-width:420px;padding:28px;text-align:center;color:#33463b}
.booking-mh-events-v83__list{display:grid;gap:8px}.booking-mh-event-mini{display:grid;grid-template-columns:54px 72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid #e1d6c9;border-radius:8px;background:#fffdf9}.booking-mh-event-mini__date{min-height:58px;display:grid;place-items:center;align-content:center;border-left:4px solid #d68d45;border-radius:6px;background:#fbf5ec;color:#294033}.booking-mh-event-mini__date strong{font-family:"Playfair Display",Georgia,serif;font-size:21px}.booking-mh-event-mini__date span{font-size:9px}.booking-mh-event-mini__image{width:72px;height:58px;overflow:hidden;border-radius:6px}.booking-mh-event-mini__image img{width:100%;height:100%;object-fit:cover}.booking-mh-event-mini__copy{min-width:0}.booking-mh-event-mini__copy>small{color:#9b6a55;font-size:8px;font-weight:900;text-transform:uppercase}.booking-mh-event-mini__copy h3{margin:1px 0 3px;color:#274034!important;font-family:"Playfair Display",Georgia,serif;font-size:15px}.booking-mh-event-mini__meta{display:flex;flex-wrap:wrap;gap:4px 8px;color:#6b736d;font-size:8px}.booking-mh-event-mini__meta .is-open{color:#2e7650;font-weight:800}.booking-mh-event-mini__meta .is-full{color:#9e554a;font-weight:800}.booking-mh-event-mini__copy p{margin:4px 0 0;color:#777d77;font-size:8px}.booking-mh-event-mini__aside{display:grid;justify-items:end;gap:8px;white-space:nowrap}.booking-mh-event-mini__aside strong{color:#294d39;font-size:11px}.booking-mh-event-mini__aside a{padding:6px 8px;border-radius:5px;background:#efe0c7;color:#294033;font-size:8px;font-weight:800;text-decoration:none}
@media(max-width:1050px){.booking-mh-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-mh-bottom-v83__inner{grid-template-columns:1fr}}
@media(max-width:900px){.booking-provider-page--massage-home .booking-mh-hero__inner{grid-template-columns:1fr}.booking-provider-page--massage-home .booking-mh-hero__media{order:-1;min-height:330px}.booking-provider-page--massage-home .booking-mh-feature{grid-template-columns:1fr}}
@media(max-width:680px){.booking-provider-page--massage-home .booking-mh-hero{padding:8px 8px 0}.booking-provider-page--massage-home .booking-mh-hero__inner{border-radius:20px 20px 0 0}.booking-provider-page--massage-home .booking-mh-hero__copy{padding:28px 20px 30px}.booking-provider-page--massage-home .booking-mh-hero__media{min-height:245px}.booking-mh-services-v83,.booking-mh-bottom-v83{padding-left:10px;padding-right:10px}.booking-mh-v83-heading-row,.booking-mh-booking-v83__head{align-items:flex-start;flex-direction:column;gap:8px}.booking-mh-service-strip{grid-template-columns:1fr}.booking-mh-service-mini__main{grid-template-columns:58px minmax(0,1fr)}.booking-mh-service-mini__thumb{width:56px;height:56px}.booking-mh-service-mini__more{margin-left:70px}.booking-provider-page--massage-home .booking-mh-feature{width:calc(100% - 16px);margin:8px auto}.booking-mh-feature__badges{grid-template-columns:1fr 1fr}.booking-mh-inline-wizard{grid-template-columns:1fr}.booking-mh-inline-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.booking-mh-inline-step{display:flex;flex-direction:column;gap:5px;padding:7px 4px;text-align:center}.booking-mh-inline-step>div{display:block}.booking-mh-inline-step strong{display:block;font-size:8px}.booking-mh-inline-step small{display:none}.booking-mh-inline-calendar__toolbar{grid-template-columns:1fr 1fr}.booking-mh-inline-calendar__nav{grid-column:1/-1;justify-content:flex-end}.booking-mh-inline-calendar__body{grid-template-columns:1fr;gap:14px}.booking-mh-event-mini{grid-template-columns:48px 58px minmax(0,1fr)}.booking-mh-event-mini__image{width:58px;height:54px}.booking-mh-event-mini__aside{grid-column:3;justify-items:start;grid-auto-flow:column;justify-content:start;align-items:center}}

/* =========================================================
   V8.4 – Grøn højkontrast og uden bookingsektion i bunden
   ========================================================= */

/* --- Book flow: samlet grøn palette med bedre læsbarhed --- */
.booking-shell--service-reference .booking-head--compact {
    border-color: rgba(47, 92, 66, .20) !important;
    background:
        radial-gradient(circle at 100% 0, rgba(119, 160, 133, .18), transparent 28%),
        radial-gradient(circle at 0 100%, rgba(57, 92, 69, .08), transparent 32%),
        linear-gradient(145deg, #f3f6f1, #e8eee8) !important;
}

.booking-shell--service-reference .booking-head--compact h1,
.booking-shell--service-reference .booking-head--compact .booking-kicker {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--service-reference .booking-head--compact p {
    color: #40604c !important;
    -webkit-text-fill-color: #40604c !important;
}

.booking-shell--service-reference .booking-btn--light {
    border-color: rgba(35, 75, 56, .18) !important;
    background: #f7fbf7 !important;
    color: #234b38 !important;
}

.booking-shell--service-reference .booking-wizard--amelia {
    background: #edf3ed !important;
    border: 1px solid rgba(47, 92, 66, .18) !important;
    box-shadow: 0 20px 46px rgba(26, 53, 38, .10) !important;
}

.booking-shell--service-reference .booking-wizard__sidebar {
    background:
        linear-gradient(180deg, #173a2a 0%, #214c37 100%) !important;
    color: #f4ebdc !important;
    border-right-color: rgba(255,255,255,.08) !important;
}

.booking-shell--service-reference .booking-wizard__eyebrow,
.booking-shell--service-reference .booking-wizard__tab,
.booking-shell--service-reference .booking-wizard__tab-copy strong,
.booking-shell--service-reference .booking-wizard__tab-copy small {
    color: #f4ebdc !important;
    -webkit-text-fill-color: #f4ebdc !important;
}

.booking-shell--service-reference .booking-wizard__tab {
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.04) !important;
}

.booking-shell--service-reference .booking-wizard__tab:hover {
    background: rgba(255,255,255,.12) !important;
}

.booking-shell--service-reference .booking-wizard__tab.is-active {
    background: rgba(244, 235, 220, .12) !important;
    box-shadow: none !important;
}

.booking-shell--service-reference .booking-wizard__tab-icon {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(244,235,220,.25) !important;
    color: #f4ebdc !important;
}

.booking-shell--service-reference .booking-wizard__tab.is-active .booking-wizard__tab-icon {
    background: #d9b873 !important;
    border-color: #d9b873 !important;
    color: #173a2a !important;
}

.booking-shell--service-reference .booking-wizard__content,
.booking-shell--service-reference .booking-wizard__step,
.booking-shell--service-reference .booking-wizard__footer {
    background: #f4f8f2 !important;
    color: #234b38 !important;
}

.booking-shell--service-reference .booking-wizard__title h2,
.booking-shell--service-reference .booking-calendar__times-head strong,
.booking-shell--service-reference .booking-service-summary__title strong,
.booking-shell--service-reference .booking-service-summary__title span {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--service-reference .booking-wizard__title p,
.booking-shell--service-reference .booking-calendar__times-head span,
.booking-shell--service-reference .booking-choice-card--reference .booking-choice-card__meta,
.booking-shell--service-reference .booking-choice-card--reference .booking-choice-card__short,
.booking-shell--service-reference .booking-choice-card--reference .booking-choice-card__details summary,
.booking-shell--service-reference .booking-choice-select-link {
    color: #4d6858 !important;
    -webkit-text-fill-color: #4d6858 !important;
}

.booking-shell--service-reference .booking-service-reference-toolbar input,
.booking-shell--service-reference .booking-service-reference-toolbar select,
.booking-shell--service-reference .booking-wizard .booking-field input,
.booking-shell--service-reference .booking-wizard .booking-field select,
.booking-shell--service-reference .booking-wizard .booking-field textarea,
.booking-shell--service-reference .booking-calendar__select select,
.booking-shell--service-reference .booking-calendar__nav-btn {
    border-color: rgba(47, 92, 66, .18) !important;
    background: #ffffff !important;
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--service-reference .booking-service-reference-toolbar input::placeholder,
.booking-shell--service-reference .booking-wizard .booking-field input::placeholder,
.booking-shell--service-reference .booking-wizard .booking-field textarea::placeholder {
    color: #6f8578 !important;
    -webkit-text-fill-color: #6f8578 !important;
}

.booking-shell--service-reference .booking-service-summary,
.booking-shell--service-reference .booking-wizard__summary,
.booking-shell--service-reference .booking-choice-card--reference,
.booking-shell--service-reference .booking-choice-card--reference.is-active {
    border-color: rgba(47, 92, 66, .16) !important;
    background: #ffffff !important;
    color: #234b38 !important;
}

.booking-shell--service-reference .booking-choice-card--reference.is-active {
    box-shadow: 0 0 0 2px rgba(47, 92, 66, .10) inset !important;
}

.booking-shell--service-reference .booking-choice-card--reference .booking-choice-card__topline h3,
.booking-shell--service-reference .booking-choice-card--reference .booking-choice-card__price,
.booking-shell--service-reference .booking-choice-selected {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--service-reference .booking-choice-card--reference .booking-choice-card__price {
    background: #edf5ee !important;
}

.booking-shell--service-reference .booking-choice-selected {
    background: #234b38 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.booking-shell--service-reference .booking-choice-select-link {
    border-color: rgba(47, 92, 66, .18) !important;
    background: #f8fbf8 !important;
}

.booking-shell--service-reference .booking-calendar {
    background: transparent !important;
}

.booking-shell--service-reference .booking-calendar__weekdays span,
.booking-shell--service-reference .booking-calendar__day,
.booking-shell--service-reference .booking-time-option span,
.booking-shell--service-reference .booking-slot span {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--service-reference .booking-calendar__day {
    border-color: rgba(47, 92, 66, .18) !important;
    background: #ffffff !important;
}

.booking-shell--service-reference .booking-calendar__day.is-outside {
    background: #e9efea !important;
    color: #8ba092 !important;
    -webkit-text-fill-color: #8ba092 !important;
    border-color: transparent !important;
}

.booking-shell--service-reference .booking-calendar__day.is-selected,
.booking-shell--service-reference .booking-time-option input:checked + span,
.booking-shell--service-reference .booking-slot input:checked + span,
.booking-shell--service-reference .booking-btn--primary,
.booking-shell--service-reference .booking-wizard__footer [data-wizard-submit],
.booking-shell--service-reference .booking-wizard__footer [data-wizard-next] {
    background: #234b38 !important;
    border-color: #234b38 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.booking-shell--service-reference .booking-time-option span,
.booking-shell--service-reference .booking-slot span {
    border-color: rgba(47, 92, 66, .18) !important;
    background: #ffffff !important;
}

.booking-shell--service-reference .booking-pill {
    border-color: rgba(47, 92, 66, .16) !important;
    background: #edf5ee !important;
    color: #234b38 !important;
}

.booking-shell--service-reference .booking-calendar__times {
    border-top-color: rgba(47, 92, 66, .14) !important;
}

.booking-shell--service-reference .booking-wizard__footer {
    border-top-color: rgba(47, 92, 66, .12) !important;
}

.booking-shell--service-reference .booking-btn--light:hover,
.booking-shell--service-reference .booking-choice-select-link:hover,
.booking-shell--service-reference .booking-calendar__nav-btn:hover,
.booking-shell--service-reference .booking-calendar__select select:hover {
    border-color: #234b38 !important;
}

/* --- Offentlig udbyderside: fjern bookingdelen i bunden --- */
.booking-mh-bottom-v83--events-only {
    padding-top: 12px !important;
}

.booking-mh-bottom-v83__inner--events-only {
    display: block !important;
}

.booking-mh-bottom-v83--events-only .booking-mh-events-v83 {
    max-width: 1180px;
    margin: 0 auto;
}

.booking-provider-page--massage-home .booking-mh-events-v83__head h2,
.booking-provider-page--massage-home .booking-mh-events-v83__head p {
    color: var(--v83-ink) !important;
}
.booking-shell--service-reference .booking-wizard__mobile-head {
    background: #234b38 !important;
    color: #f4ebdc !important;
    -webkit-text-fill-color: #f4ebdc !important;
    border-bottom-color: rgba(255,255,255,.08) !important;
}

.booking-shell--service-reference .booking-wizard .booking-field label,
.booking-shell--service-reference .booking-service-summary,
.booking-shell--service-reference .booking-meta,
.booking-shell--service-reference .booking-time-option small,
.booking-shell--service-reference .booking-wizard__summary-row {
    color: #40604c !important;
    -webkit-text-fill-color: #40604c !important;
}

/* =========================================================
   V8.5 – højkontrast i udbyder-admin + aflys/slet handlinger
   ========================================================= */

/* Offentlig MLH-side: mørk tekst på lyse serviceflader */
.booking-provider-page--massage-home .booking-mh-services-v83 .booking-mh-eyebrow {
    color: #7a5a3d !important;
    -webkit-text-fill-color: #7a5a3d !important;
}

.booking-provider-page--massage-home .booking-mh-v83-heading-row h2,
.booking-provider-page--massage-home .booking-mh-events-v83__head h2 {
    color: #193326 !important;
    -webkit-text-fill-color: #193326 !important;
}

.booking-provider-page--massage-home .booking-mh-v83-heading-row p,
.booking-provider-page--massage-home .booking-mh-events-v83__head p {
    color: #4b6255 !important;
    -webkit-text-fill-color: #4b6255 !important;
}

.booking-provider-page--massage-home .booking-mh-v83-textlink {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

/* Udbyder-admin: grøn venstreside og tydelig mørkegrøn tekst */
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-head--compact {
    border-color: rgba(35, 75, 56, .18) !important;
    background: linear-gradient(145deg, #f2f6f0, #e6eee7) !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-head--compact h1,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-head--compact .booking-kicker {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-head--compact p {
    color: #486252 !important;
    -webkit-text-fill-color: #486252 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard {
    border-color: rgba(35, 75, 56, .18) !important;
    background: #f4f8f3 !important;
    box-shadow: 0 20px 50px rgba(23, 58, 42, .10) !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__sidebar {
    background: linear-gradient(180deg, #173a2a 0%, #214c37 100%) !important;
    border-right-color: rgba(255,255,255,.08) !important;
    color: #f5ead9 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__eyebrow,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab-copy strong,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab-copy small {
    color: #f5ead9 !important;
    -webkit-text-fill-color: #f5ead9 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.04) !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab:hover,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab.is-active {
    background: rgba(255,255,255,.12) !important;
    box-shadow: none !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab-icon {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(245,234,217,.28) !important;
    color: #f5ead9 !important;
    -webkit-text-fill-color: #f5ead9 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__tab.is-active .booking-wizard__tab-icon {
    background: #d5b06d !important;
    border-color: #d5b06d !important;
    color: #173a2a !important;
    -webkit-text-fill-color: #173a2a !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__content,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__step,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__footer {
    background: #f4f8f3 !important;
    color: #234b38 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__mobile-head {
    background: #234b38 !important;
    color: #f5ead9 !important;
    -webkit-text-fill-color: #f5ead9 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__title h2,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-field label,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__summary-row strong,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-buffer-preview strong,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__choice strong {
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__title p,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-help,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__choice small,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-buffer-preview span,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-buffer-preview small,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__summary-row span {
    color: #526b5c !important;
    -webkit-text-fill-color: #526b5c !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-field input,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-field select,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-field textarea {
    border-color: rgba(35, 75, 56, .20) !important;
    background: #ffffff !important;
    color: #203b2d !important;
    -webkit-text-fill-color: #203b2d !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-field input::placeholder,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-field textarea::placeholder {
    color: #829287 !important;
    -webkit-text-fill-color: #829287 !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__choice,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__summary,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__upload,
.booking-shell--wizard:not(.booking-shell--service-reference) .booking-buffer-preview {
    border-color: rgba(35, 75, 56, .16) !important;
    background: #ffffff !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-wizard__footer {
    border-top-color: rgba(35, 75, 56, .12) !important;
}

.booking-shell--wizard:not(.booking-shell--service-reference) .booking-btn--primary,
.booking-shell--wizard:not(.booking-shell--service-reference) [data-wizard-next],
.booking-shell--wizard:not(.booking-shell--service-reference) [data-wizard-submit] {
    background: #2f6248 !important;
    border-color: #2f6248 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Handlinger */
.booking-btn--warning {
    border-color: #9a6a35 !important;
    background: #f0d7ae !important;
    color: #5a3b1e !important;
    -webkit-text-fill-color: #5a3b1e !important;
}

.booking-btn--warning:hover {
    background: #e6c68f !important;
}

.booking-btn--danger {
    border-color: #9b4c45 !important;
    background: #9b4c45 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.booking-btn--danger:hover {
    background: #803e38 !important;
}

.booking-admin-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(35, 75, 56, .16);
    border-radius: 18px;
    background: #f2f6f0;
    color: #234b38;
}

.booking-admin-danger-zone h2 {
    margin: 2px 0 5px;
    color: #234b38 !important;
    -webkit-text-fill-color: #234b38 !important;
    font-size: 24px;
}

.booking-admin-danger-zone p {
    margin: 0;
    max-width: 720px;
    color: #526b5c !important;
    -webkit-text-fill-color: #526b5c !important;
    font-size: 12px;
    line-height: 1.55;
}

.booking-admin-danger-zone__actions,
.booking-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.booking-admin-danger-zone__actions form,
.booking-card-actions form {
    margin: 0;
}

.booking-card-actions {
    margin-top: 12px;
}

@media (max-width: 720px) {
    .booking-admin-danger-zone {
        align-items: stretch;
        flex-direction: column;
    }

    .booking-admin-danger-zone__actions,
    .booking-card-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .booking-admin-danger-zone__actions .booking-btn,
    .booking-card-actions .booking-btn,
    .booking-admin-danger-zone__actions form,
    .booking-card-actions form {
        width: 100%;
    }
}


/* =========================================================
   FRISTET.DK – FAST BOOKINGPALET 2026
   Én gennemgående grøn/guld designstandard på ALLE bookingsider
   ========================================================= */

:root{
    --bk-bg:#03150f !important;
    --bk-bg-soft:#062117 !important;
    --bk-surface:#093721 !important;
    --bk-surface-2:#0d4129 !important;
    --bk-surface-3:#123f2d !important;

    --bk-forest:#0b3825 !important;
    --bk-forest-2:#124a32 !important;
    --bk-moss:#1c5a3d !important;
    --bk-moss-2:#2f6d4d !important;
    --bk-sage:#71977e !important;
    --bk-sage-soft:#173f2e !important;

    --bk-earth:#d6b36e !important;
    --bk-earth-2:#e0be74 !important;
    --bk-clay-soft:#183e2e !important;
    --bk-sand:#d6b36e !important;
    --bk-gold:#d6b36e !important;
    --bk-gold-soft:#f0d58d !important;

    --bk-text:#fff4dc !important;
    --bk-text-soft:#eef3ee !important;
    --bk-muted:#c2d0c7 !important;

    --bk-line:rgba(216,181,92,.18) !important;
    --bk-line-strong:rgba(216,181,92,.38) !important;
    --bk-line-earth:rgba(216,181,92,.30) !important;

    --bk-shadow:0 18px 44px rgba(0,0,0,.20) !important;
    --bk-shadow-strong:0 26px 70px rgba(0,0,0,.30) !important;
}

html body{
    background:
        radial-gradient(circle at 12% 5%,rgba(34,112,70,.30),transparent 28rem),
        radial-gradient(circle at 88% 9%,rgba(216,181,92,.08),transparent 25rem),
        linear-gradient(180deg,#03150f 0%,#062117 52%,#03150f 100%) !important;
}

/* Hele bookingområdet */
html body .booking-shell{
    color:#eef3ee !important;
}

/* Overskrifter */
html body .booking-shell h1,
html body .booking-shell h2,
html body .booking-shell h3,
html body .booking-shell h4{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-kicker{
    color:#d6b36e !important;
    -webkit-text-fill-color:#d6b36e !important;
}

/* Alle hovedbokse */
html body .booking-head,
html body .booking-card,
html body .booking-panel,
html body .booking-stat,
html body .booking-empty,
html body .booking-table,
html body .booking-brand-card,
html body .booking-calendar-tools,
html body .booking-calendar-day,
html body .booking-calendar-box,
html body .booking-event-detail__block,
html body .booking-event-detail__ticket-card,
html body .booking-choice-card,
html body .booking-choice-selected{
    background:
        radial-gradient(circle at 100% 0,rgba(216,181,92,.055),transparent 16rem),
        linear-gradient(145deg,#0d4129,#082d1e) !important;
    color:#eef3ee !important;
    border-color:rgba(216,181,92,.28) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
}

/* Brødtekst */
html body .booking-head p,
html body .booking-card p,
html body .booking-panel p,
html body .booking-stat span,
html body .booking-help,
html body .booking-empty,
html body .booking-choice-card__short,
html body .booking-choice-card__details,
html body .booking-event-detail__text,
html body .booking-event-detail__muted{
    color:#cbd8d0 !important;
    -webkit-text-fill-color:#cbd8d0 !important;
}

/* Knapper */
html body .booking-btn,
html body .booking-btn--primary{
    background:linear-gradient(145deg,#1e5d40,#12432e) !important;
    border-color:rgba(216,181,92,.30) !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
}

html body .booking-btn--gold,
html body .booking-btn--sand{
    background:linear-gradient(135deg,#d5b167,#e8c985) !important;
    border-color:#dfbd73 !important;
    color:#143126 !important;
    -webkit-text-fill-color:#143126 !important;
}

html body .booking-btn--light,
html body .booking-btn--sand-outline{
    background:#123f2d !important;
    border-color:rgba(216,181,92,.36) !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

/* Formularfelter på alle booking- og udbydersider */
html body .booking-field label,
html body .booking-calendar-form label,
html body .booking-check{
    color:#e9eee9 !important;
    -webkit-text-fill-color:#e9eee9 !important;
}

html body .booking-field input,
html body .booking-field select,
html body .booking-field textarea,
html body .booking-calendar-form input,
html body .booking-calendar-form select,
html body .booking-events-toolbar__search,
html body .booking-events-toolbar__filter,
html body .booking-wizard input,
html body .booking-wizard select,
html body .booking-wizard textarea{
    background:#0a2d1f !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    border-color:rgba(216,181,92,.30) !important;
}

html body .booking-field input::placeholder,
html body .booking-field textarea::placeholder,
html body .booking-wizard input::placeholder,
html body .booking-wizard textarea::placeholder{
    color:#9fb2a6 !important;
    -webkit-text-fill-color:#9fb2a6 !important;
    opacity:1 !important;
}

/* Bookingwizard */
html body .booking-wizard{
    background:#082d1e !important;
    border-color:rgba(216,181,92,.30) !important;
    box-shadow:0 20px 58px rgba(0,0,0,.24) !important;
}

html body .booking-wizard__sidebar{
    background:linear-gradient(180deg,#143f2d,#0b3021) !important;
    border-color:rgba(216,181,92,.20) !important;
}

html body .booking-wizard__content,
html body .booking-wizard__step,
html body .booking-wizard__footer{
    background:#0a2f20 !important;
}

html body .booking-wizard__title h2,
html body .booking-wizard__mobile-head strong,
html body .booking-wizard__tab-copy strong{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-wizard__title p,
html body .booking-wizard__mobile-head span,
html body .booking-wizard__tab-copy small{
    color:#bfd0c5 !important;
    -webkit-text-fill-color:#bfd0c5 !important;
}

html body .booking-wizard__tab{
    color:#d7e1da !important;
}

html body .booking-wizard__tab.is-active{
    background:#1b5138 !important;
    color:#fff4dc !important;
    box-shadow:inset 0 0 0 1px rgba(216,181,92,.28) !important;
}

html body .booking-wizard__tab-icon{
    background:#0b3021 !important;
    color:#e0be74 !important;
    border-color:rgba(216,181,92,.26) !important;
}

html body .booking-wizard__tab.is-active .booking-wizard__tab-icon{
    background:#d6b36e !important;
    color:#143126 !important;
}

html body .booking-slot span,
html body .booking-wizard__choice,
html body .booking-service-card,
html body .booking-wizard__summary{
    background:#103a29 !important;
    color:#eef3ee !important;
    border-color:rgba(216,181,92,.24) !important;
}

html body .booking-slot input:checked + span,
html body .booking-wizard__choice:has(input:checked){
    background:#1d5a3e !important;
    border-color:#d6b36e !important;
    color:#fff4dc !important;
}

/* Kalender og udbyderpanel */
html body .booking-calendar-tools,
html body .booking-calendar-day,
html body .booking-calendar-box{
    background:#0b3021 !important;
}

html body .booking-calendar-day > header,
html body .booking-calendar-box[open] summary{
    background:#123f2d !important;
    border-color:rgba(216,181,92,.18) !important;
}

html body .booking-calendar-day > header strong,
html body .booking-calendar-box summary,
html body .booking-calendar-employee label,
html body .booking-calendar-weeknav strong,
html body .booking-working-day strong{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-calendar-day > header span{
    color:#d6b36e !important;
}

html body .booking-calendar-slot{
    background:#174832 !important;
    border-color:rgba(216,181,92,.20) !important;
    border-left-color:#68a67d !important;
}

html body .booking-calendar-slot.is-bekraeftet,
html body .booking-calendar-slot.is-reserveret{
    background:#4b3924 !important;
    border-left-color:#d6b36e !important;
}

html body .booking-calendar-slot.is-blokeret{
    background:#26352d !important;
    border-left-color:#899a8f !important;
}

html body .booking-calendar-slot strong,
html body .booking-calendar-slot span{
    color:#f2f5f2 !important;
    -webkit-text-fill-color:#f2f5f2 !important;
}

/* Offentlig udbyderside – samme grøn som bookingforsiden */
html body .booking-provider-page--massage-home,
html body .booking-provider-page--massage-home.booking-shell{
    background:
        radial-gradient(circle at 12% 8%,rgba(31,110,67,.24),transparent 25rem),
        linear-gradient(180deg,#03150f,#062117 55%,#03150f) !important;
    color:#eef3ee !important;
}

html body .booking-provider-page--massage-home .booking-mh-hero,
html body .booking-provider-page--massage-home .booking-mh-services-v83,
html body .booking-provider-page--massage-home .booking-mh-about,
html body .booking-provider-page--massage-home .booking-mh-bottom-v83{
    background:linear-gradient(145deg,#0c3827,#082a1d) !important;
    border-color:rgba(216,181,92,.24) !important;
}

html body .booking-provider-page--massage-home .booking-mh-service-mini,
html body .booking-provider-page--massage-home .booking-mh-event-mini{
    background:#12422e !important;
    border-color:rgba(216,181,92,.34) !important;
}

html body .booking-provider-page--massage-home .booking-mh-service-mini__copy strong,
html body .booking-provider-page--massage-home .booking-mh-v83-heading-row h2,
html body .booking-provider-page--massage-home .booking-mh-about h2,
html body .booking-provider-page--massage-home .booking-mh-bottom-v83 h2{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-provider-page--massage-home .booking-mh-v83-heading-row p,
html body .booking-provider-page--massage-home .booking-mh-service-mini__copy small,
html body .booking-provider-page--massage-home .booking-mh-service-mini__meta,
html body .booking-provider-page--massage-home .booking-mh-about__text,
html body .booking-provider-page--massage-home .booking-mh-bottom-v83 p{
    color:#cbd8d0 !important;
    -webkit-text-fill-color:#cbd8d0 !important;
}

html body .booking-provider-page--massage-home .booking-mh-service-mini__more,
html body .booking-provider-page--massage-home .booking-mh-v83-textlink{
    color:#f0d58d !important;
    -webkit-text-fill-color:#f0d58d !important;
}

/* Modal på offentlige udbydersider */
html body .booking-service-modal__dialog{
    background:linear-gradient(145deg,#164733,#0c3021) !important;
    color:#eef3ee !important;
    border-color:rgba(216,181,92,.48) !important;
}

html body .booking-service-modal__heading h2{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-service-modal__lead,
html body .booking-service-modal__description,
html body .booking-service-modal__description p,
html body .booking-service-modal__description div,
html body .booking-service-modal__description span{
    color:#dbe5df !important;
    -webkit-text-fill-color:#dbe5df !important;
}

html body .booking-service-modal__lead,
html body .booking-service-modal__meta span{
    background:#1b5138 !important;
    border-color:rgba(216,181,92,.20) !important;
}

html body .booking-service-modal__meta span{
    color:#f4ead1 !important;
    -webkit-text-fill-color:#f4ead1 !important;
}

/* Events */
html body .booking-event-card,
html body .booking-event-detail,
html body .booking-events-list{
    color:#eef3ee !important;
}

html body .booking-event-card{
    background:#0c3827 !important;
    border-color:rgba(216,181,92,.28) !important;
}

html body .booking-event-detail__ticket-option,
html body .booking-event-detail__ticket-summary{
    background:#103a29 !important;
    border-color:rgba(216,181,92,.24) !important;
    color:#eef3ee !important;
}

/* Tabeller */
html body .booking-table th{
    background:#143f2d !important;
    color:#f0d58d !important;
}

html body .booking-table td{
    background:#0a2f20 !important;
    color:#e7eee9 !important;
    border-color:rgba(216,181,92,.14) !important;
}

/* Success/error */
html body .booking-flash{
    background:#143f2d !important;
    border-color:rgba(216,181,92,.26) !important;
    color:#eef3ee !important;
}

html body .booking-error{
    background:#4a2925 !important;
    border-color:#9b5b50 !important;
    color:#ffe8df !important;
}

/* Mobil – samme palette, ingen lyse kort */
@media(max-width:720px){
    html body{
        background:linear-gradient(180deg,#03150f,#062117) !important;
    }

    html body .booking-head,
    html body .booking-card,
    html body .booking-panel,
    html body .booking-stat,
    html body .booking-empty{
        background:linear-gradient(145deg,#0d4129,#082d1e) !important;
        border-color:rgba(216,181,92,.24) !important;
    }

    html body .booking-head h1,
    html body .booking-panel h2,
    html body .booking-panel h3,
    html body .booking-stat strong{
        color:#fff4dc !important;
        -webkit-text-fill-color:#fff4dc !important;
    }

    html body .booking-head p,
    html body .booking-panel p,
    html body .booking-stat span{
        color:#cbd8d0 !important;
        -webkit-text-fill-color:#cbd8d0 !important;
    }
}


/* =========================================================
   FRISTET BOOKING – GRØN PALET V2
   Ekstra stærke regler til udbyderområdet og resterende hvide flader
   ========================================================= */

html body .booking-shell .booking-card__body,
html body .booking-shell .booking-panel,
html body .booking-shell .booking-stat,
html body .booking-shell .booking-empty,
html body .booking-shell .booking-dashboard-bookings,
html body .booking-shell .booking-dashboard-booking,
html body .booking-shell .booking-dashboard-empty{
    background:
        radial-gradient(circle at 100% 0,rgba(216,181,92,.05),transparent 14rem),
        linear-gradient(145deg,#0d4129,#082d1e) !important;
    border-color:rgba(216,181,92,.27) !important;
    color:#eef3ee !important;
    box-shadow:0 16px 40px rgba(0,0,0,.18) !important;
}

html body .booking-shell .booking-dashboard-booking.is-pending{
    background:
        linear-gradient(145deg,#3b3823,#1f3828) !important;
    border-color:rgba(216,181,92,.55) !important;
}

html body .booking-shell .booking-dashboard-bookings__head h2,
html body .booking-shell .booking-dashboard-booking__date strong,
html body .booking-shell .booking-dashboard-booking__customer strong,
html body .booking-shell .booking-dashboard-booking__service strong,
html body .booking-shell .booking-panel h2,
html body .booking-shell .booking-panel h3,
html body .booking-shell .booking-stat strong{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-shell .booking-dashboard-bookings__head p,
html body .booking-shell .booking-dashboard-booking__date span,
html body .booking-shell .booking-dashboard-booking__customer span,
html body .booking-shell .booking-dashboard-booking__service span,
html body .booking-shell .booking-panel p,
html body .booking-shell .booking-stat span,
html body .booking-shell .booking-dashboard-empty{
    color:#cbd8d0 !important;
    -webkit-text-fill-color:#cbd8d0 !important;
}

html body .booking-shell .booking-dashboard-status{
    background:#174832 !important;
    border-color:rgba(216,181,92,.28) !important;
    color:#f4ead1 !important;
    -webkit-text-fill-color:#f4ead1 !important;
}

html body .booking-shell .booking-dashboard-status.is-pending{
    background:#5a4728 !important;
    border-color:rgba(216,181,92,.50) !important;
    color:#fff0bd !important;
    -webkit-text-fill-color:#fff0bd !important;
}

html body .booking-shell .booking-dashboard-open{
    color:#f0d58d !important;
    -webkit-text-fill-color:#f0d58d !important;
}

/* Tving også alle almindelige hvide paneler væk */
html body .booking-shell [style*="background:#fff"],
html body .booking-shell [style*="background: #fff"],
html body .booking-shell [style*="background:white"],
html body .booking-shell [style*="background: white"]{
    background:#0d4129 !important;
    color:#eef3ee !important;
}

/* Bookingside & udbyderområde – mere sammenhængende mørkegrøn side */
html body .booking-shell:not(.booking-discovery){
    background:
        radial-gradient(circle at 12% 5%,rgba(29,103,64,.19),transparent 25rem),
        linear-gradient(180deg,#03150f,#062117 58%,#03150f) !important;
}

html body .booking-stats{
    background:transparent !important;
}

html body .booking-grid{
    background:transparent !important;
}

/* Mobil */
@media(max-width:720px){
    html body .booking-shell .booking-dashboard-bookings,
    html body .booking-shell .booking-dashboard-booking,
    html body .booking-shell .booking-dashboard-empty,
    html body .booking-shell .booking-panel,
    html body .booking-shell .booking-stat{
        background:linear-gradient(145deg,#0d4129,#082d1e) !important;
    }
}


/* Kalender V3 – globale sikkerhedsregler */
html body .booking-smart-calendar-shell .booking-smart-day,
html body .booking-smart-calendar-shell .booking-smart-rules-card,
html body .booking-smart-calendar-shell .booking-day-view,
html body .booking-smart-calendar-shell .booking-month-day,
html body .booking-smart-calendar-shell .booking-smart-tool-card{
    background:linear-gradient(145deg,#0d4129,#082d1e) !important;
    border-color:rgba(216,181,92,.26) !important;
    color:#eef3ee !important;
}
html body .booking-smart-calendar-shell .booking-smart-day > header{
    background:#123f2d !important;
}
html body .booking-smart-calendar-shell .booking-smart-day__slots,
html body .booking-smart-calendar-shell .booking-day-timeline{
    background:#082d1e !important;
}
html body .booking-smart-calendar-shell .booking-smart-section-head h2,
html body .booking-smart-calendar-shell .booking-day-view__head h2{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}
html body .booking-smart-calendar-shell .booking-smart-section-head p,
html body .booking-smart-calendar-shell .booking-day-view__head p,
html body .booking-smart-calendar-shell .booking-smart-day__empty{
    color:#cbd8d0 !important;
    -webkit-text-fill-color:#cbd8d0 !important;
}

/* Manuel booking modal V4 */


html.booking-modal-open,
html.booking-modal-open body{
    overflow:hidden !important;
}

.booking-manual-modal[hidden]{
    display:none !important;
}

.booking-manual-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:120000 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:22px !important;
}

.booking-manual-modal__backdrop{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:rgba(1,14,9,.82) !important;
    backdrop-filter:blur(7px) !important;
    -webkit-backdrop-filter:blur(7px) !important;
    cursor:pointer !important;
}

.booking-manual-dialog{
    position:relative !important;
    z-index:1 !important;
    width:min(680px,100%) !important;
    max-height:min(90vh,820px) !important;
    overflow:auto !important;
    border:1px solid rgba(216,181,92,.48) !important;
    border-radius:26px !important;
    background:
        radial-gradient(circle at 100% 0,rgba(216,181,92,.08),transparent 18rem),
        linear-gradient(145deg,#164733 0%,#0b3021 100%) !important;
    color:#eef3ee !important;
    box-shadow:0 34px 90px rgba(0,0,0,.56) !important;
}

.booking-manual-dialog__head{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:20px !important;
    padding:26px 28px 20px !important;
    border-bottom:1px solid rgba(216,181,92,.18) !important;
}

.booking-manual-dialog__head h2{
    margin:5px 0 7px !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    font-family:"Playfair Display",Georgia,serif !important;
    font-size:32px !important;
    line-height:1.1 !important;
}

.booking-manual-dialog__head p{
    margin:0 !important;
    max-width:510px !important;
    color:#cbd8d0 !important;
    -webkit-text-fill-color:#cbd8d0 !important;
    font-size:14px !important;
    line-height:1.55 !important;
}

.booking-manual-dialog__close{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    border:1px solid rgba(216,181,92,.34) !important;
    background:#0a2d1f !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    font-size:27px !important;
    line-height:1 !important;
    cursor:pointer !important;
}

.booking-manual-dialog__close:hover{
    background:#174832 !important;
    border-color:#d6b36e !important;
}

.booking-manual-form{
    padding:24px 28px 28px !important;
}

.booking-manual-form .booking-form-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}

.booking-manual-form .booking-field{
    margin-bottom:15px !important;
}

.booking-manual-form .booking-field label{
    display:block !important;
    margin-bottom:7px !important;
    color:#f2e7c8 !important;
    -webkit-text-fill-color:#f2e7c8 !important;
    font-size:13px !important;
    font-weight:800 !important;
}

.booking-manual-form .booking-field label small{
    color:#9fb2a6 !important;
    -webkit-text-fill-color:#9fb2a6 !important;
    font-weight:500 !important;
}

.booking-manual-form input,
.booking-manual-form select,
.booking-manual-form textarea{
    width:100% !important;
    min-height:48px !important;
    box-sizing:border-box !important;
    border:1px solid rgba(216,181,92,.28) !important;
    border-radius:13px !important;
    background:#08271b !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    padding:11px 13px !important;
    font:500 14px/1.35 Montserrat,Arial,sans-serif !important;
    outline:none !important;
}

.booking-manual-form textarea{
    min-height:92px !important;
    resize:vertical !important;
}

.booking-manual-form input:focus,
.booking-manual-form select:focus,
.booking-manual-form textarea:focus{
    border-color:#d6b36e !important;
    box-shadow:0 0 0 3px rgba(216,181,92,.12) !important;
}

.booking-manual-dialog__actions{
    display:flex !important;
    justify-content:flex-end !important;
    gap:10px !important;
    margin-top:22px !important;
    padding-top:20px !important;
    border-top:1px solid rgba(216,181,92,.18) !important;
}

.booking-manual-dialog__actions .booking-btn{
    min-height:46px !important;
    padding:0 18px !important;
    border-radius:13px !important;
}

.booking-manual-dialog__actions .booking-btn--primary{
    background:linear-gradient(135deg,#d5b167,#e8c985) !important;
    border-color:#dfbd73 !important;
    color:#143126 !important;
    -webkit-text-fill-color:#143126 !important;
}

@media(max-width:620px){
    .booking-manual-modal{
        align-items:flex-end !important;
        padding:8px !important;
    }

    .booking-manual-dialog{
        width:100% !important;
        max-height:92vh !important;
        border-radius:22px 22px 10px 10px !important;
    }

    .booking-manual-dialog__head{
        padding:20px 18px 16px !important;
    }

    .booking-manual-dialog__head h2{
        font-size:27px !important;
    }

    .booking-manual-form{
        padding:18px !important;
    }

    .booking-manual-form .booking-form-grid{
        grid-template-columns:1fr !important;
        gap:0 !important;
    }

    .booking-manual-dialog__actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
    }

    .booking-manual-dialog__actions .booking-btn{
        width:100% !important;
    }
}

/* Kalender UX + kontrast V5 */


/* FRISTET BOOKING – kalender UX + høj kontrast */

html body .booking-smart-calendar-shell{
    color:#f3f6f3 !important;
}

/* Generel tekstkontrast */
html body .booking-smart-calendar-shell h1,
html body .booking-smart-calendar-shell h2,
html body .booking-smart-calendar-shell h3,
html body .booking-smart-calendar-shell h4,
html body .booking-smart-calendar-shell strong{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-smart-calendar-shell p,
html body .booking-smart-calendar-shell small,
html body .booking-smart-calendar-shell label,
html body .booking-smart-calendar-shell span{
    color:#d7e2db !important;
    -webkit-text-fill-color:#d7e2db !important;
}

html body .booking-smart-calendar-shell .booking-kicker,
html body .booking-smart-calendar-shell a{
    color:#e7c77d !important;
    -webkit-text-fill-color:#e7c77d !important;
}

/* Top bar */
html body .booking-smart-calendar-shell .booking-calendar-tools,
html body .booking-smart-calendar-shell .booking-calendar-tools--v86{
    background:linear-gradient(145deg,#103a29,#082d1e) !important;
    border-color:rgba(216,181,92,.32) !important;
}
html body .booking-smart-calendar-shell .booking-calendar-tools a{
    color:#e9cc84 !important;
    -webkit-text-fill-color:#e9cc84 !important;
    text-decoration:none !important;
}
html body .booking-smart-calendar-shell .booking-calendar-tools select,
html body .booking-smart-calendar-shell .booking-calendar-tools input{
    background:#0b3021 !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    border-color:rgba(216,181,92,.34) !important;
}

/* Måned */
html body .booking-smart-calendar-shell .booking-month-view{
    display:block !important;
    width:100% !important;
    padding:14px !important;
    border:1px solid rgba(216,181,92,.28) !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,#0b3425,#06261a) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
}

html body .booking-smart-calendar-shell .booking-month-weekdays{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:0 0 8px !important;
}

html body .booking-smart-calendar-shell .booking-month-weekdays span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px !important;
    border-radius:11px !important;
    background:#123f2d !important;
    border:1px solid rgba(216,181,92,.18) !important;
    color:#e8c97f !important;
    -webkit-text-fill-color:#e8c97f !important;
    font:800 11px/1 Montserrat,Arial,sans-serif !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

html body .booking-smart-calendar-shell .booking-month-grid{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
}

html body .booking-smart-calendar-shell .booking-month-day{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    min-height:150px !important;
    padding:12px !important;
    border-radius:15px !important;
    text-decoration:none !important;
    background:linear-gradient(180deg,#0f422d,#0a3021) !important;
    border:1px solid rgba(216,181,92,.20) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.10) !important;
    transition:transform .15s ease,border-color .15s ease,background .15s ease !important;
}

html body .booking-smart-calendar-shell .booking-month-day:hover{
    transform:translateY(-2px) !important;
    background:linear-gradient(180deg,#155039,#0d3827) !important;
    border-color:rgba(216,181,92,.55) !important;
}

html body .booking-smart-calendar-shell .booking-month-day.is-outside{
    opacity:.48 !important;
    background:#08271b !important;
}

html body .booking-smart-calendar-shell .booking-month-day.is-today{
    opacity:1 !important;
    border-color:#d6b36e !important;
    box-shadow:inset 0 0 0 1px rgba(216,181,92,.62),0 10px 24px rgba(0,0,0,.15) !important;
}

html body .booking-smart-calendar-shell .booking-month-day > header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:7px !important;
    min-height:28px !important;
    padding:0 !important;
    margin:0 0 9px !important;
    background:transparent !important;
    border:0 !important;
}

html body .booking-smart-calendar-shell .booking-month-day > header strong{
    display:grid !important;
    place-items:center !important;
    width:31px !important;
    height:31px !important;
    flex:0 0 31px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.075) !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    font:800 14px/1 Montserrat,Arial,sans-serif !important;
}

html body .booking-smart-calendar-shell .booking-month-day.is-today > header strong{
    background:#d6b36e !important;
    color:#143126 !important;
    -webkit-text-fill-color:#143126 !important;
}

html body .booking-smart-calendar-shell .booking-month-count{
    display:inline-flex !important;
    align-items:center !important;
    min-height:21px !important;
    padding:0 7px !important;
    border-radius:999px !important;
    background:rgba(104,166,125,.18) !important;
    border:1px solid rgba(104,166,125,.34) !important;
    color:#e6f0e9 !important;
    -webkit-text-fill-color:#e6f0e9 !important;
    font:700 9px/1 Montserrat,Arial,sans-serif !important;
    white-space:nowrap !important;
}

html body .booking-smart-calendar-shell .booking-month-count--booked{
    background:rgba(216,181,92,.15) !important;
    border-color:rgba(216,181,92,.34) !important;
    color:#f8e5ae !important;
    -webkit-text-fill-color:#f8e5ae !important;
}

html body .booking-smart-calendar-shell .booking-month-day__items{
    display:grid !important;
    gap:5px !important;
    min-height:0 !important;
}

html body .booking-smart-calendar-shell .booking-month-item{
    display:block !important;
    min-width:0 !important;
    padding:6px 7px !important;
    border-radius:8px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    background:#174832 !important;
    border:1px solid rgba(104,166,125,.25) !important;
    color:#f2f6f3 !important;
    -webkit-text-fill-color:#f2f6f3 !important;
    font:600 9.5px/1.2 Montserrat,Arial,sans-serif !important;
}

html body .booking-smart-calendar-shell .booking-month-item b{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-smart-calendar-shell .booking-month-item--reserveret,
html body .booking-smart-calendar-shell .booking-month-item--bekraeftet,
html body .booking-smart-calendar-shell .booking-month-item--gennemfoert{
    background:#4a3b25 !important;
    border-color:rgba(216,181,92,.30) !important;
}

html body .booking-smart-calendar-shell .booking-month-day__items > small{
    color:#e1c278 !important;
    -webkit-text-fill-color:#e1c278 !important;
    font-weight:700 !important;
}

/* Dag */
html body .booking-smart-calendar-shell .booking-day-view{
    overflow:hidden !important;
    padding:0 !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,#0d4129,#082d1e) !important;
    border:1px solid rgba(216,181,92,.30) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
}

html body .booking-smart-calendar-shell .booking-day-view__head{
    padding:22px 24px !important;
    background:linear-gradient(135deg,#143f2d,#0f3425) !important;
    border-bottom:1px solid rgba(216,181,92,.20) !important;
}

html body .booking-smart-calendar-shell .booking-day-view__head h2{
    margin:4px 0 6px !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    font-size:32px !important;
}

html body .booking-smart-calendar-shell .booking-day-view__head p{
    margin:0 !important;
    color:#d7e2db !important;
    -webkit-text-fill-color:#d7e2db !important;
    font-size:13px !important;
}

html body .booking-smart-calendar-shell .booking-day-timeline{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:9px !important;
    padding:18px !important;
    background:#082d1e !important;
}

html body .booking-smart-calendar-shell .booking-day-time{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    min-height:74px !important;
    padding:11px 12px !important;
    border-radius:13px !important;
    text-align:left !important;
    cursor:pointer !important;
    background:#103a29 !important;
    border:1px solid rgba(216,181,92,.20) !important;
    color:#f2f6f3 !important;
}

html body .booking-smart-calendar-shell .booking-day-time--available{
    background:linear-gradient(145deg,#174832,#103a29) !important;
    border-color:rgba(104,166,125,.45) !important;
}

html body .booking-smart-calendar-shell .booking-day-time--busy{
    background:linear-gradient(145deg,#4b3924,#342d20) !important;
    border-color:rgba(216,181,92,.38) !important;
}

html body .booking-smart-calendar-shell .booking-day-time strong{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    font-size:15px !important;
}

html body .booking-smart-calendar-shell .booking-day-time span{
    margin-top:6px !important;
    color:#e4ece6 !important;
    -webkit-text-fill-color:#e4ece6 !important;
    font-size:10px !important;
}

html body .booking-smart-calendar-shell .booking-day-time small{
    margin-top:4px !important;
    color:#c7d5cc !important;
    -webkit-text-fill-color:#c7d5cc !important;
    font-size:9.5px !important;
}

html body .booking-smart-calendar-shell .booking-day-time--available::after{
    content:"+" !important;
    position:absolute !important;
    top:9px !important;
    right:10px !important;
    color:#e5c875 !important;
    font-size:17px !important;
    font-weight:800 !important;
}

/* Uge */
html body .booking-smart-calendar-shell .booking-smart-day{
    background:linear-gradient(180deg,#0d4129,#082d1e) !important;
    border-color:rgba(216,181,92,.26) !important;
}

html body .booking-smart-calendar-shell .booking-smart-day > header{
    background:#123f2d !important;
    border-bottom:1px solid rgba(216,181,92,.20) !important;
}

html body .booking-smart-calendar-shell .booking-smart-day > header span,
html body .booking-smart-calendar-shell .booking-smart-day > header strong{
    color:#e8c97f !important;
    -webkit-text-fill-color:#e8c97f !important;
}

html body .booking-smart-calendar-shell .booking-smart-day__empty{
    color:#b9c9bf !important;
    -webkit-text-fill-color:#b9c9bf !important;
}

html body .booking-smart-calendar-shell .booking-smart-manual-day{
    background:#174832 !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    border-color:rgba(216,181,92,.32) !important;
}

/* Faste arbejdstider */
html body .booking-smart-calendar-shell .booking-smart-rules-card,
html body .booking-smart-calendar-shell .booking-smart-rule{
    background:linear-gradient(145deg,#0d4129,#082d1e) !important;
    border-color:rgba(216,181,92,.26) !important;
}

html body .booking-smart-calendar-shell .booking-smart-section-head h2,
html body .booking-smart-calendar-shell .booking-smart-rule__main strong{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-smart-calendar-shell .booking-smart-section-head p,
html body .booking-smart-calendar-shell .booking-smart-rule__main span,
html body .booking-smart-calendar-shell .booking-smart-rule__main small{
    color:#d1ddd5 !important;
    -webkit-text-fill-color:#d1ddd5 !important;
}

/* Responsiv */
@media(max-width:1100px){
    html body .booking-smart-calendar-shell .booking-day-timeline{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media(max-width:760px){
    html body .booking-smart-calendar-shell .booking-month-view{
        padding:8px !important;
        border-radius:16px !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    html body .booking-smart-calendar-shell .booking-month-weekdays,
    html body .booking-smart-calendar-shell .booking-month-grid{
        min-width:700px !important;
    }

    html body .booking-smart-calendar-shell .booking-month-day{
        min-height:110px !important;
        padding:8px !important;
    }

    html body .booking-smart-calendar-shell .booking-day-view__head{
        padding:18px 16px !important;
    }

    html body .booking-smart-calendar-shell .booking-day-view__head h2{
        font-size:27px !important;
    }

    html body .booking-smart-calendar-shell .booking-day-timeline{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:7px !important;
        padding:10px !important;
    }

    html body .booking-smart-calendar-shell .booking-day-time{
        min-height:67px !important;
        padding:9px 10px !important;
    }
}

/* Formular-kontrast V6 */


/* Formular-kontrast V6 */

/* Labels og hjælpetekst på grøn baggrund */
html body .booking-smart-calendar-shell label,
html body .booking-smart-calendar-shell .booking-field > label,
html body .booking-smart-calendar-shell .booking-calendar-form label,
html body .booking-smart-calendar-shell fieldset legend{
    color:#f3e8cf !important;
    -webkit-text-fill-color:#f3e8cf !important;
    opacity:1 !important;
    font-weight:700 !important;
}

html body .booking-smart-calendar-shell label small,
html body .booking-smart-calendar-shell .booking-help,
html body .booking-smart-calendar-shell .booking-field small{
    color:#b9c9bf !important;
    -webkit-text-fill-color:#b9c9bf !important;
    opacity:1 !important;
}

/* Lyse felter SKAL have mørk tekst */
html body .booking-smart-calendar-shell input,
html body .booking-smart-calendar-shell select,
html body .booking-smart-calendar-shell textarea{
    background:#fbfaf6 !important;
    color:#173b2a !important;
    -webkit-text-fill-color:#173b2a !important;
    border-color:rgba(216,181,92,.42) !important;
    opacity:1 !important;
}

html body .booking-smart-calendar-shell input::placeholder,
html body .booking-smart-calendar-shell textarea::placeholder{
    color:#6d7771 !important;
    -webkit-text-fill-color:#6d7771 !important;
    opacity:1 !important;
}

html body .booking-smart-calendar-shell select option{
    background:#ffffff !important;
    color:#173b2a !important;
}

/* Dato/tid-ikoner i Chrome/Safari */
html body .booking-smart-calendar-shell input[type="date"],
html body .booking-smart-calendar-shell input[type="time"]{
    color-scheme:light !important;
}

html body .booking-smart-calendar-shell input[type="date"]::-webkit-calendar-picker-indicator,
html body .booking-smart-calendar-shell input[type="time"]::-webkit-calendar-picker-indicator{
    opacity:.85 !important;
}

/* Eksisterende ferie/fridage – lyst kort med mørk tekst */
html body .booking-smart-calendar-shell .booking-timeoff-item,
html body .booking-smart-calendar-shell .booking-fridag-item,
html body .booking-smart-calendar-shell [class*="timeoff"],
html body .booking-smart-calendar-shell [class*="fridag"]{
    color:#214534 !important;
    -webkit-text-fill-color:#214534 !important;
}

html body .booking-smart-calendar-shell .booking-timeoff-item span,
html body .booking-smart-calendar-shell .booking-timeoff-item strong,
html body .booking-smart-calendar-shell .booking-fridag-item span,
html body .booking-smart-calendar-shell .booking-fridag-item strong{
    color:#214534 !important;
    -webkit-text-fill-color:#214534 !important;
    opacity:1 !important;
}

/* Generisk fallback til lyse rækker/kort inde i formularsektionerne */
html body .booking-smart-calendar-shell .booking-smart-tool-card .booking-empty,
html body .booking-smart-calendar-shell .booking-panel .booking-empty{
    color:#173b2a !important;
    -webkit-text-fill-color:#173b2a !important;
}

/* Checkbox/radio labels skal fortsat være lyse på grøn baggrund */
html body .booking-smart-calendar-shell .booking-check,
html body .booking-smart-calendar-shell .booking-check label{
    color:#eef3ee !important;
    -webkit-text-fill-color:#eef3ee !important;
}

/* Knapper */
html body .booking-smart-calendar-shell button,
html body .booking-smart-calendar-shell .booking-btn{
    font-weight:800 !important;
}

@media(max-width:720px){
    html body .booking-smart-calendar-shell label,
    html body .booking-smart-calendar-shell .booking-field > label{
        font-size:12px !important;
    }
}



/* Fridage / ferie – læsbar række V7 */
html body .booking-smart-calendar-shell .booking-smart-dayoff-list > div{
    background:#f6f1e8 !important;
    border:1px solid rgba(216,181,92,.32) !important;
    color:#234331 !important;
}
html body .booking-smart-calendar-shell .booking-smart-dayoff-list > div,
html body .booking-smart-calendar-shell .booking-smart-dayoff-list > div span,
html body .booking-smart-calendar-shell .booking-smart-dayoff-list > div strong,
html body .booking-smart-calendar-shell .booking-smart-dayoff-list > div small{
    color:#234331 !important;
    -webkit-text-fill-color:#234331 !important;
    opacity:1 !important;
}
html body .booking-smart-calendar-shell .booking-smart-dayoff-list > div span{
    font-weight:700 !important;
}
html body .booking-smart-calendar-shell .booking-smart-dayoff-list button{
    width:34px !important;
    height:34px !important;
    border-radius:8px !important;
    background:#214f38 !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    font-size:20px !important;
    line-height:1 !important;
}


/* =========================================================
   FRISTET BOOKING V8 – YDELSER / KORT: TYDELIG TEKSTKONTRAST
   ========================================================= */

/* Selve ydelseskortet */
html body .booking-shell .booking-card{
    border-color:rgba(216,181,92,.34) !important;
    background:#0b3425 !important;
    color:#eef3ee !important;
}

html body .booking-shell .booking-card__body{
    background:
        radial-gradient(circle at 100% 0,rgba(216,181,92,.05),transparent 14rem),
        linear-gradient(145deg,#124832,#0b3324) !important;
    color:#eef3ee !important;
}

/* Behandlings-/eventnavn */
html body .booking-shell .booking-card h1,
html body .booking-shell .booking-card h2,
html body .booking-shell .booking-card h3,
html body .booking-shell .booking-card__body h1,
html body .booking-shell .booking-card__body h2,
html body .booking-shell .booking-card__body h3{
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
    opacity:1 !important;
}

/* Brødtekst / beskrivelse */
html body .booking-shell .booking-card p,
html body .booking-shell .booking-card__body p,
html body .booking-shell .booking-card__body .booking-provider-card__intro,
html body .booking-shell .booking-card__body [class*="description"],
html body .booking-shell .booking-card__body [class*="beskrivelse"]{
    color:#d9e4dd !important;
    -webkit-text-fill-color:#d9e4dd !important;
    opacity:1 !important;
}

/* Status og almindelig tekst direkte i kortet */
html body .booking-shell .booking-card__body > span:not(.booking-kicker):not(.booking-pill),
html body .booking-shell .booking-card__body > div:not(.booking-meta):not(.booking-card-actions){
    color:#e6eee9 !important;
    -webkit-text-fill-color:#e6eee9 !important;
}

/* Meta / pris / varighed */
html body .booking-shell .booking-card .booking-meta{
    color:#d1ddd5 !important;
    -webkit-text-fill-color:#d1ddd5 !important;
}

html body .booking-shell .booking-card .booking-pill,
html body .booking-shell .booking-card__body .booking-pill{
    background:#edf3eb !important;
    border-color:rgba(216,181,92,.36) !important;
    color:#234331 !important;
    -webkit-text-fill-color:#234331 !important;
    opacity:1 !important;
    font-weight:800 !important;
}

/* Kicker / kategori */
html body .booking-shell .booking-card .booking-kicker{
    color:#e8c97f !important;
    -webkit-text-fill-color:#e8c97f !important;
    opacity:1 !important;
}

/* Knapper på kortene */
html body .booking-shell .booking-card-actions .booking-btn,
html body .booking-shell .booking-card__body .booking-actions .booking-btn{
    background:#285f43 !important;
    border:1px solid rgba(216,181,92,.28) !important;
    color:#fff4dc !important;
    -webkit-text-fill-color:#fff4dc !important;
}

html body .booking-shell .booking-card-actions .booking-btn:hover,
html body .booking-shell .booking-card__body .booking-actions .booking-btn:hover{
    background:#327451 !important;
    border-color:#d6b36e !important;
}

/* Advarsel/Aflys */
html body .booking-shell .booking-card-actions .booking-btn--warning,
html body .booking-shell .booking-card-actions .booking-btn--danger{
    background:#684337 !important;
    border-color:#9f6b59 !important;
    color:#fff5ef !important;
    -webkit-text-fill-color:#fff5ef !important;
}

/* Billede – bevar det rent og tydeligt */
html body .booking-shell .booking-card__image{
    background:#d9dfd4 !important;
}

html body .booking-shell .booking-card__image::after{
    background:linear-gradient(180deg,transparent,rgba(5,30,20,.15)) !important;
}

/* Mobil */
@media(max-width:720px){
    html body .booking-shell .booking-card__body{
        padding:17px !important;
    }

    html body .booking-shell .booking-card h2,
    html body .booking-shell .booking-card h3{
        font-size:27px !important;
        line-height:1.08 !important;
    }

    html body .booking-shell .booking-card p{
        font-size:14px !important;
        line-height:1.55 !important;
    }
}
