
/* NM-BOOKING-STEPS-V1
   NordicMix bookingtrin 2 og 3.
   Amelia-inspireret layout.
   Bookingfunktionerne aendres ikke.
*/

/* Faelles typografi og afstande */

#nm-unified-services .nm-booking-step-title {
    margin:0 0 20px;
}

#nm-unified-services .nm-booking-step-title h2 {
    margin:0!important;
    color:var(--nm-brand-deep,#14323D)!important;
    font-family:Georgia,serif;
    font-size:clamp(28px,3vw,36px)!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:-.02em;
}

/* Valgt behandling og tidspunkt */

#nm-unified-services
.step-pane[data-pane="2"] .summary,
#nm-unified-services
.step-pane[data-pane="3"] .summary {
    margin:0 0 17px!important;
    padding:17px 20px!important;
    background:var(--nm-brand-background,#EBF0F2)!important;
    border:1px solid var(--nm-brand-light-blue,#C4D7E0)!important;
    border-radius:13px!important;
    color:var(--nm-brand-text,#2C3E43)!important;
    line-height:1.65!important;
    box-shadow:none!important;
}

/* Skift behandling / skift tidspunkt */

#nm-unified-services .nm-change-actions {
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
    gap:9px!important;
    margin:0 0 20px!important;
}

#nm-unified-services .nm-change-btn {
    min-height:40px!important;
    padding:9px 14px!important;
    background:#FFFFFF!important;
    border:1px solid #C4D7E0!important;
    border-radius:10px!important;
    color:#14323D!important;
    font-size:13px!important;
    font-weight:700!important;
    box-shadow:none!important;
}

#nm-unified-services .nm-change-btn:hover {
    background:#EBF0F2!important;
}

/* Foerste ledige tid */

#nm-unified-services
.step-pane[data-pane="2"] .nm-first-slot {
    margin:0 0 22px!important;
    padding:19px 21px!important;
    background:#F7F9F8!important;
    border:1px solid #C4D7E0!important;
    border-left:4px solid #2E7D32!important;
    border-radius:13px!important;
    box-shadow:0 7px 18px rgba(20,50,61,.045)!important;
}

#nm-unified-services
.step-pane[data-pane="2"] #nmFirstSlotButton:not([hidden]) {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:43px!important;
    margin-top:11px!important;
    padding:10px 17px!important;
    border-radius:10px!important;
    background:var(--nm-brand-cta,#2E7D32)!important;
    color:#FFFFFF!important;
    border:0!important;
    font-weight:700!important;
}

/* Kalender og ledige tider */

#nm-unified-services
.step-pane[data-pane="2"] .calendar-wrap {
    display:grid!important;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
    gap:18px!important;
    align-items:start!important;
    min-width:0;
}

#nm-unified-services
.step-pane[data-pane="2"] .cal-card,
#nm-unified-services
.step-pane[data-pane="2"] .slot-card {
    min-width:0!important;
    width:100%!important;
    padding:clamp(16px,2.1vw,25px)!important;
    background:#FFFFFF!important;
    border:1px solid #D3E1E7!important;
    border-radius:17px!important;
    box-sizing:border-box!important;
    box-shadow:0 11px 27px rgba(20,50,61,.06)!important;
}

/* Kalenderens top */

#nm-unified-services
.step-pane[data-pane="2"] .cal-toolbar {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:17px!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .cal-title {
    color:#14323D!important;
    font-size:clamp(17px,1.8vw,21px)!important;
    font-weight:750!important;
    text-align:center!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .cal-toolbar button {
    display:grid!important;
    place-items:center!important;
    flex:0 0 39px!important;
    width:39px!important;
    height:39px!important;
    min-height:39px!important;
    padding:0!important;
    background:#EBF0F2!important;
    color:#14323D!important;
    border:1px solid #C4D7E0!important;
    border-radius:11px!important;
    box-shadow:none!important;
}

/* Datoer */

#nm-unified-services
.step-pane[data-pane="2"] .cal-grid {
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:6px!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .dow {
    min-width:0;
    padding:7px 0!important;
    text-align:center!important;
    color:#607580!important;
    font-size:11px!important;
    font-weight:750!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .day {
    display:grid!important;
    place-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:37px!important;
    height:auto!important;
    aspect-ratio:1;
    padding:3px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    box-shadow:none!important;
    font-size:13px!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .day.available:not(.selected) {
    background:#E7F0EA!important;
    color:#14323D!important;
    border-color:#C6DCCB!important;
    font-weight:750!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .day.selected {
    background:#14323D!important;
    color:#FFFFFF!important;
    border-color:#14323D!important;
    box-shadow:0 5px 12px rgba(20,50,61,.16)!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .day:disabled {
    opacity:.35;
    cursor:not-allowed;
}

/* Genveje til ledige datoer */

#nm-unified-services
.step-pane[data-pane="2"] .nm-date-shortcuts {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin-bottom:14px!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .nm-date-shortcuts button {
    min-height:34px!important;
    padding:7px 10px!important;
    border:1px solid #C4D7E0!important;
    border-radius:9px!important;
    background:#F7F9F8!important;
    color:#14323D!important;
    font-size:12px!important;
    box-shadow:none!important;
}

/* Tidspunkter */

#nm-unified-services
.step-pane[data-pane="2"] .slot-title {
    margin-bottom:15px!important;
    color:#14323D!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1.5!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .slots {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .slots button {
    min-width:0!important;
    min-height:46px!important;
    padding:10px 12px!important;
    background:#F7F9F8!important;
    color:#14323D!important;
    border:1px solid #C4D7E0!important;
    border-radius:10px!important;
    font-size:14px!important;
    font-weight:700!important;
    box-shadow:none!important;
}

#nm-unified-services
.step-pane[data-pane="2"] .slots button.selected {
    background:#14323D!important;
    color:#FFFFFF!important;
    border-color:#14323D!important;
}

/* Trin 3 - kundeoplysninger */

#nm-unified-services
.step-pane[data-pane="3"] .form {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:19px!important;
    align-items:start!important;
    min-width:0!important;
}

#nm-unified-services
.step-pane[data-pane="3"] .field {
    min-width:0;
    margin:0!important;
}

#nm-unified-services
.step-pane[data-pane="3"] .field:has(textarea),
#nm-unified-services
.step-pane[data-pane="3"] .clipbox {
    grid-column:1/-1;
}

#nm-unified-services
.step-pane[data-pane="3"] .field > label {
    display:block!important;
    margin:0 0 9px!important;
    color:#14323D!important;
    font-size:13px!important;
    font-weight:750!important;
}

#nm-unified-services
.step-pane[data-pane="3"]
.field input:not([type="checkbox"]):not([type="hidden"]),
#nm-unified-services
.step-pane[data-pane="3"] .field textarea {
    display:block!important;
    width:100%!important;
    min-height:52px!important;
    padding:13px 15px!important;
    box-sizing:border-box!important;
    border:1px solid #C4D7E0!important;
    border-radius:11px!important;
    background:#FFFFFF!important;
    color:#14323D!important;
    font-size:16px!important;
    line-height:1.5!important;
    box-shadow:0 4px 11px rgba(20,50,61,.035)!important;
}

#nm-unified-services
.step-pane[data-pane="3"] .field textarea {
    min-height:110px!important;
    resize:vertical;
}

#nm-unified-services
.step-pane[data-pane="3"] .field input:focus,
#nm-unified-services
.step-pane[data-pane="3"] .field textarea:focus {
    outline:2px solid #14323D!important;
    outline-offset:2px!important;
}

/* Klippekort-indloesning bevares */

#nm-unified-services
.step-pane[data-pane="3"] .clipbox {
    margin-top:5px!important;
    padding:20px!important;
    background:#F7F9F8!important;
    border:1px solid #C4D7E0!important;
    border-radius:13px!important;
    box-shadow:none!important;
}

#nm-unified-services
.step-pane[data-pane="3"] .clipbox > label {
    display:flex;
    align-items:flex-start;
    gap:11px;
    color:#14323D;
    font-size:14px;
    line-height:1.6;
    cursor:pointer;
}

#nm-unified-services
.step-pane[data-pane="3"] .clipbox input[type="checkbox"] {
    flex:none;
    width:18px;
    height:18px;
    margin-top:2px;
    accent-color:#2E7D32;
}

/* Samme layout paa mobil og tablet */

@media(max-width:950px) {
    #nm-unified-services
    .step-pane[data-pane="2"] .calendar-wrap {
        grid-template-columns:minmax(0,1fr)!important;
    }
}

@media(max-width:650px) {
    #nm-unified-services
    .step-pane[data-pane="3"] .form {
        grid-template-columns:minmax(0,1fr)!important;
        gap:16px!important;
    }

    #nm-unified-services
    .step-pane[data-pane="2"] .cal-card,
    #nm-unified-services
    .step-pane[data-pane="2"] .slot-card {
        padding:16px!important;
    }

    #nm-unified-services
    .step-pane[data-pane="2"] .day {
        min-height:34px!important;
        font-size:12px!important;
    }
}

@media(prefers-reduced-motion:reduce) {
    #nm-unified-services .step-pane[data-pane="2"] *,
    #nm-unified-services .step-pane[data-pane="3"] * {
        transition:none!important;
    }
}


/* NM-BOOKING-STEPS-NO-DUPLICATES-V2
   Én overskrift pr. bookingtrin.
   Den oprindelige overskrift i toppen bevares.
*/

/* Fjern eventuelle overskrifter dannet af ældre CSS */
#nm-unified-services .step-pane[data-pane="2"]::before,
#nm-unified-services .step-pane[data-pane="3"]::before,
#nm-unified-services .step-pane[data-pane="2"] > .nm-booking-step-title::before,
#nm-unified-services .step-pane[data-pane="3"] > .nm-booking-step-title::before {
    content:none!important;
    display:none!important;
}

/* Ældre direkte overskrifter er overflødige */
#nm-unified-services .step-pane[data-pane="2"] > h1,
#nm-unified-services .step-pane[data-pane="2"] > h2,
#nm-unified-services .step-pane[data-pane="3"] > h1,
#nm-unified-services .step-pane[data-pane="3"] > h2 {
    display:none!important;
}

/* Bevar de nye, korte trinoverskrifter */
#nm-unified-services .step-pane[data-pane="2"] > .nm-booking-step-title,
#nm-unified-services .step-pane[data-pane="3"] > .nm-booking-step-title {
    display:block!important;
    margin:0 0 19px!important;
    padding:0!important;
}

#nm-unified-services .nm-booking-step-title h2 {
    margin:0!important;
    padding:0!important;
}


/* NM-BOOKING-FORM-POLISH-V3
   Enkel afslutning på bookingforløbet.
   Kun udseende, ingen ændring i formularlogik.
*/

/* Tre kundeoplysninger på én række på større skærme */
@media (min-width:1000px) {
    #nm-unified-services
    .step-pane[data-pane="3"] .form {
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        column-gap:15px!important;
    }
}

/* Fuldbredde-elementer bliver i deres egen række */
#nm-unified-services
.step-pane[data-pane="3"] .form > .field:has(textarea),
#nm-unified-services
.step-pane[data-pane="3"] .form > .clipbox {
    grid-column:1/-1!important;
}

/* Afsluttende handling placeres til højre */
#nm-unified-services
.step-pane[data-pane="3"] .form > .actions {
    grid-column:1/-1!important;
}

#nm-unified-services
.step-pane[data-pane="3"] .actions {
    display:flex!important;
    flex-wrap:wrap;
    justify-content:flex-end!important;
    align-items:center;
    gap:12px;
    margin-top:8px;
}

#nm-unified-services
.step-pane[data-pane="3"] .actions button[type="submit"] {
    width:auto!important;
    min-width:220px!important;
    min-height:50px!important;
    padding:13px 24px!important;
    border-radius:11px!important;
    background:var(--nm-brand-deep,#14323D)!important;
    color:#FFFFFF!important;
    font-weight:750!important;
    box-shadow:0 7px 17px rgba(20,50,61,.13)!important;
}

/* På mobil er alt i én kolonne */
@media (max-width:650px) {
    #nm-unified-services
    .step-pane[data-pane="3"] .actions {
        justify-content:stretch!important;
    }

    #nm-unified-services
    .step-pane[data-pane="3"] .actions button[type="submit"] {
        width:100%!important;
        min-width:0!important;
    }
}


/* NM-SLOT-AUTOSCROLL-V1
   Plads til headeren ved automatisk scroll.
*/

#nm-unified-services
.step-pane[data-pane="2"] .slot-card {
    scroll-margin-top:105px;
}

@media(max-width:700px) {
    #nm-unified-services
    .step-pane[data-pane="2"] .slot-card {
        scroll-margin-top:85px;
    }
}
