/* ============================================================
   DAMIAN PHILPOTT — PAYMENT & REVIEW
   V45 DESKTOP LUXURY FINISH · LUXURY CHECKOUT
   ------------------------------------------------------------
   One presentation layer for Step 7.
   Booknetic remains responsible for payment selection, values,
   points redemption, coupon logic and final confirmation.
   ============================================================ */

/* ============================================================
   SHARED TOKENS
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) {
    --dp-gold: #FFD700;
    --dp-gold-deep: #B99900;
    --dp-gold-soft: rgba(255, 215, 0, .075);
    --dp-black: #000000;
    --dp-panel: #050505;
    --dp-panel-raised: #080808;
    --dp-panel-soft: #0B0B0B;
    --dp-line: #292929;
    --dp-line-strong: #3B3B3B;
    --dp-white: #F4F4F4;
    --dp-muted: #929292;
    --dp-muted-2: #6F6F6F;
}

/* ============================================================
   DYNAMIC PAYMENT AMOUNT — JS supplies visual label/value only
   ============================================================ */

#booknetic_theme_8 [data-step-id="confirm_details"] .dp-payment-amount-label {
    font-size: 0 !important;
}

#booknetic_theme_8 [data-step-id="confirm_details"] .dp-payment-amount-label::after {
    content: attr(data-dp-payment-label) !important;
    color: #BDBDBD !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8 [data-step-id="confirm_details"] .dp-payment-amount-value {
    font-size: 0 !important;
}

#booknetic_theme_8 [data-step-id="confirm_details"] .dp-payment-amount-value::after {
    content: attr(data-dp-payment-amount) !important;
    color: var(--dp-gold) !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    letter-spacing: -.03em !important;
    white-space: nowrap !important;
}

/* ============================================================
   DESKTOP CANVAS
   ============================================================ */

@media only screen and (min-width: 1001px) {

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) {
        width: 980px !important;
        max-width: calc(100vw - 56px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_appointment_container {
        width: 100% !important;
        max-width: 100% !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_step_body {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr) !important;
        gap: 24px !important;
        align-items: start !important;
        width: 100% !important;
        padding: 24px 28px 26px !important;
        box-sizing: border-box !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) {
        width: 760px !important;
        max-width: calc(100vw - 32px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ============================================================
   HEADER
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_appointment_container_header {
    min-height: 86px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    background:
        linear-gradient(90deg, rgba(255,215,0,.025), transparent 42%),
        #000000 !important;
    border-bottom: 1px solid #363636 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_appointment_container_header_text {
    font-weight: 700 !important;
    letter-spacing: .045em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_appointment_container_header_text::after {
    color: #999999 !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   LOYALTY CREDIT — CLOSED STRIP
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #booknetic-redeem-points-container {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 0 14px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    background:
        linear-gradient(145deg, rgba(18,18,18,.78), rgba(4,4,4,.58)) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
    backdrop-filter: blur(12px) saturate(1.08) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-top-color: rgba(255,215,0,.20) !important;
    border-radius: 3px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.045),
        0 18px 42px rgba(0,0,0,.16) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #booknetic-redeem-points-container > img {
    grid-column: 1 !important;
    width: 23px !important;
    height: 23px !important;
    margin: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #booknetic-redeem-points-container .points-details {
    grid-column: 2 !important;
    display: grid !important;
    grid-template-columns: auto auto !important;
    justify-content: start !important;
    align-items: baseline !important;
    gap: 2px 10px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-eyebrow {
    grid-column: 1 / -1 !important;
    display: block !important;
    margin: 0 0 1px !important;
    color: var(--dp-gold) !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 11px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #booknetic-redeem-points-container .total-points {
    grid-column: 1 !important;
    margin: 0 !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    letter-spacing: -.02em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #booknetic-redeem-points-container .point-value {
    grid-column: 2 !important;
    margin: 0 !important;
    color: #969696 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    white-space: nowrap !important;
}

/* display:contents lets Booknetic's button stay in the top row while
   the native redemption panel can occupy the full width below it. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-points-wrapper {
    display: contents !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-coins-btn {
    grid-column: 3 !important;
    min-width: 102px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    background: #070707 !important;
    color: var(--dp-gold) !important;
    border: 1px solid rgba(255,215,0,.82) !important;
    border-radius: 2px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    box-shadow: none !important;
    transition: background-color .18s ease, color .18s ease !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-coins-btn:hover {
    background: var(--dp-gold) !important;
    color: #000000 !important;
}

/* ============================================================
   LOYALTY CREDIT — OPEN REDEMPTION PANEL
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-points {
    grid-column: 1 / -1 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 12px 0 0 !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    transform: none !important;
    z-index: auto !important;
    background:
        linear-gradient(135deg, rgba(20,20,20,.84), rgba(5,5,5,.70)) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
    backdrop-filter: blur(14px) saturate(1.08) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-left-color: rgba(255,215,0,.72) !important;
    border-radius: 2px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-points > label {
    display: block !important;
    margin: 0 0 9px !important;
    color: #EAEAEA !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-points > div:not(.dp-points-panel-meta) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 58px 92px !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #bookneticUsePoints {
    width: 100% !important;
    height: 40px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    background: #020202 !important;
    color: #FFFFFF !important;
    border: 1px solid #424242 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    font-size: 16px !important;
    text-align: left !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) #bookneticUsePoints:focus {
    border-color: var(--dp-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px rgba(255,215,0,.08) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-max-btn,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-points-button {
    height: 40px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border-radius: 2px !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    line-height: 38px !important;
    text-align: center !important;
    cursor: pointer !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-max-btn {
    background: #0B0B0B !important;
    color: #D8D8D8 !important;
    border: 1px solid #454545 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-max-btn:hover {
    color: var(--dp-gold) !important;
    border-color: var(--dp-gold) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-points-button {
    background: var(--dp-gold) !important;
    color: #000000 !important;
    border: 1px solid var(--dp-gold) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-panel-meta {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 11px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #292929 !important;
    color: #7F7F7F !important;
    font-size: 9px !important;
    line-height: 13px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-selected {
    color: #A9A9A9 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-points-saving {
    color: var(--dp-gold) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* ============================================================
   BOOKING SUMMARY CARD
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-summary-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    background:
        linear-gradient(145deg, rgba(18,18,18,.80), rgba(3,3,3,.60)) !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
    backdrop-filter: blur(12px) saturate(1.08) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-top-color: rgba(255,215,0,.16) !important;
    border-radius: 3px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018),
        0 16px 34px rgba(0,0,0,.10) !important;
}


#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-summary-card .booknetic_portlet_content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* The old generated YOUR BOOKING title is replaced by a real header. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-summary-card::before {
    content: none !important;
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 54px !important;
    padding: 0 16px !important;
    border-bottom: 1px solid #282828 !important;
    background: rgba(255,255,255,.025) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-card-title {
    color: var(--dp-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-card-meta {
    color: #777777 !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-price-list {
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 16px 0 !important;
    box-sizing: border-box !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-service-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 14px 0 16px !important;
    border-bottom: 1px solid #242424 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-service-row .booknetic_confirm_details_title {
    color: #F3F3F3 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-service-row .booknetic_confirm_details_price {
    min-width: 76px !important;
    color: var(--dp-gold) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-align: right !important;
    white-space: nowrap !important;
}


/* Rich appointment detail block — image + date/time/stylist/duration */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-rich-details {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 13px 0 0 !important;
    padding: 13px 0 0 !important;
    border-top: 1px solid #202020 !important;
    box-sizing: border-box !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-rich-details.dp-confirm-no-image {
    grid-template-columns: minmax(0, 1fr) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-service-image {
    width: 82px !important;
    height: 82px !important;
    overflow: hidden !important;
    border: 1px solid #303030 !important;
    border-radius: 2px !important;
    background: #090909 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-service-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: saturate(.82) contrast(1.04) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-service-content {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 16px !important;
    width: 100% !important;
    min-width: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-meta-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-meta-item::before {
    content: "" !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 16px !important;
    height: 16px !important;
    align-self: center !important;
    background: var(--dp-gold) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: 16px 16px !important;
    mask-size: 16px 16px !important;
    opacity: .92 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-date::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-time::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-staff::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E") !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-duration::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2h6M12 14l3-3M12 22a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2h6M12 14l3-3M12 22a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z'/%3E%3C/svg%3E") !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-meta-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    color: #737373 !important;
    font-size: 7px !important;
    font-weight: 700 !important;
    line-height: 10px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-confirm-meta-value {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    color: #D8D8D8 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 14px !important;
    overflow-wrap: anywhere !important;
}

/* ============================================================
   DISCOUNT CODE + BOOKING TOTAL
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-coupon-heading {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: auto !important;
    margin: 20px 16px 9px !important;
    color: var(--dp-gold) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 13px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-coupon-heading::before {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    flex: 0 0 10px !important;
    border: 1px solid var(--dp-gold) !important;
    transform: rotate(45deg) !important;
    box-sizing: border-box !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon #booknetic_coupon {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    background: #020202 !important;
    color: #FFFFFF !important;
    border: 1px solid #383838 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon #booknetic_coupon::placeholder {
    color: #686868 !important;
    opacity: 1 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon #booknetic_coupon:focus {
    border-color: var(--dp-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px rgba(255,215,0,.08) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon > div {
    grid-column: 2 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_coupon_ok_btn,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_coupon_cancel_btn {
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_coupon_ok_btn {
    display: inline-flex !important;
    min-width: 70px !important;
    background: linear-gradient(135deg, #FFD700 0%, #E7BE00 100%) !important;
    color: #000000 !important;
    border: 1px solid var(--dp-gold) !important;
}

/* Crucial: do not force Booknetic's CANCEL button visible before a coupon is applied. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon:not(.booknetic_coupon_ok) .booknetic_coupon_cancel_btn,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_coupon_cancel_btn.booknetic_hidden,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_coupon_cancel_btn[style*="display: none"] {
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon.booknetic_coupon_ok .booknetic_coupon_cancel_btn {
    display: inline-flex !important;
    min-width: 66px !important;
    background: #050505 !important;
    color: #BEBEBE !important;
    border: 1px solid #343434 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_add_coupon.booknetic_coupon_ok #booknetic_coupon {
    padding-right: 38px !important;
    border-color: var(--dp-gold) !important;
    background-image: url("https://damianphilpott.com/wp-content/plugins/booknetic/app/Frontend/assets/icons/success.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 18px 18px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_sum_price {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 78px !important;
    margin: 18px 16px 0 !important;
    padding: 0 10px 0 0 !important;
    border-top: 1px solid #383838 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_sum_price > div:first-child {
    color: #D0D0D0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_sum_price .booknetic_sum_price {
    color: var(--dp-gold) !important;
    font-size: 27px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
    letter-spacing: -.025em !important;
    text-shadow: 0 0 18px rgba(255,215,0,.10) !important;
    white-space: nowrap !important;
    margin-right: 5px !important;
}

/* ============================================================
   RIGHT CHECKOUT PANEL
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_deposit_body {
    padding: 22px !important;
    background:
        linear-gradient(145deg, rgba(17,17,17,.80), rgba(3,3,3,.60)) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.10) !important;
    backdrop-filter: blur(14px) saturate(1.10) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-top-color: rgba(255,215,0,.18) !important;
    border-radius: 3px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018),
        0 18px 40px rgba(0,0,0,.12) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_methods {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_methods::before {
    content: "PAYMENT METHOD" !important;
    display: block !important;
    margin: 0 0 5px !important;
    color: var(--dp-gold) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 12px !important;
    letter-spacing: .16em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-local,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 13px !important;
    row-gap: 2px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 15px 16px !important;
    box-sizing: border-box !important;
    background: rgba(4,4,4,.76) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 3px !important;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method:hover {
    background: #090909 !important;
    border-color: #5A5A5A !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.booknetic_payment_method_selected {
    background:
        linear-gradient(90deg, rgba(255,215,0,.11), rgba(255,215,0,.025) 58%, rgba(5,5,5,.82)) !important;
    border-color: var(--dp-gold) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,215,0,.055),
        0 0 24px rgba(255,215,0,.025) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-local img,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup img {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    align-self: center !important;
    justify-self: center !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-local > span,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup > span {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    margin: 0 !important;
    color: #F4F4F4 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 19px !important;
    text-align: left !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.booknetic_payment_method_selected > span {
    color: var(--dp-gold) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-local::after,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup::after {
    grid-column: 2 !important;
    grid-row: 2 !important;
    position: static !important;
    width: auto !important;
    margin: 0 !important;
    color: #929292 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 14px !important;
    text-align: left !important;
}

/* Official SumUp logo within Pay Online. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup {
    padding-right: 92px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 15px !important;
    transform: translateY(-50%) !important;
    width: 60px !important;
    height: 26px !important;
    background-color: #F4F4F2 !important;
    background-image: url("https://circuit.sumup.com/icons/v2/sum_up_logo_24.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 46px auto !important;
    border: 1px solid #D8D8D6 !important;
    border-radius: 2px !important;
    opacity: .78 !important;
    pointer-events: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-sumup.booknetic_payment_method_selected::before {
    opacity: 1 !important;
}


/* ============================================================
   V43 ICON SYSTEM — subtle, editorial, consistent
   ============================================================ */

/* Your Booking: small calendar/appointment glyph. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-card-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-card-title::before {
    content: "" !important;
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    background: var(--dp-gold) !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v3M17 2v3M4 8h16M5 4.5h14a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6.5a2 2 0 0 1 2-2Z' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'/%3E%3Cpath d='m8.5 14 2.1 2.1 4.9-5' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2v3M17 2v3M4 8h16M5 4.5h14a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6.5a2 2 0 0 1 2-2Z' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'/%3E%3Cpath d='m8.5 14 2.1 2.1 4.9-5' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* Payment Method: quiet card/wallet glyph beside the heading. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_methods::before {
    padding-left: 23px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD700' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 9h18M7 14h3'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 15px 15px !important;
}

/* Pay at Appointment: replace the storefront icon with a banknote/cash icon. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-local img {
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.dp-payment-local::before {
    content: "" !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 30px !important;
    height: 30px !important;
    align-self: center !important;
    justify-self: center !important;
    background: var(--dp-gold) !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M6 9h.01M18 15h.01' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M6 9h.01M18 15h.01' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* ============================================================
   PAYMENT AMOUNT
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_methods_footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 18px !important;
    background: transparent !important;
}

/* Retire V39 pseudo trust panel. V40 uses actual DOM. */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_methods_footer::before,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_methods_footer::after {
    content: none !important;
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-amount-heading {
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .dp-payment-amount-heading {
    display: block !important;
    margin: 0 0 11px !important;
    padding-top: 16px !important;
    border-top: 1px solid #333333 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-amount-title {
    display: block !important;
    color: var(--dp-gold) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 12px !important;
    letter-spacing: .16em !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-amount-copy {
    display: block !important;
    margin-top: 3px !important;
    color: #777777 !important;
    font-size: 9px !important;
    line-height: 13px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-local-payment-selected .booknetic_deposit_price,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-local-payment-selected .booknetic_deposit_radios,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-local-payment-selected .dp-payment-amount-heading,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-local-payment-selected .dp-sumup-trust {
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_price:not(.booknetic_hidden) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #363636 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_radios:not(.booknetic_hidden) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_radios:not(.booknetic_hidden) > div {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    box-sizing: border-box !important;
    background: #050505 !important;
    border: 1px solid #333333 !important;
    border-radius: 3px !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_radios:not(.booknetic_hidden) > div:has(input[type="radio"]:checked) {
    background:
        linear-gradient(90deg, rgba(255,215,0,.075), rgba(255,215,0,.018)),
        #050505 !important;
    border-color: var(--dp-gold) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_deposit_radios label {
    color: #E0E0E0 !important;
    font-weight: 600 !important;
}

/* ============================================================
   SUMUP TRUST — REAL DOM PANEL
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-sumup-trust {
    display: grid !important;
    grid-template-columns: 74px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    background:
        linear-gradient(90deg, rgba(255,215,0,.045), transparent 60%),
        #060606 !important;
    border: 1px solid #343434 !important;
    border-left-color: #8A7300 !important;
    border-radius: 3px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-sumup-trust-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 74px !important;
    height: 36px !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    background: #F4F4F2 !important;
    border: 1px solid #D8D8D6 !important;
    border-radius: 2px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-sumup-trust-logo img {
    display: block !important;
    width: 54px !important;
    max-width: 54px !important;
    height: auto !important;
    margin: 0 !important;
    filter: none !important;
    opacity: 1 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-sumup-trust-copy {
    min-width: 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-sumup-trust-copy strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #E9E9E9 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-sumup-trust-copy span {
    display: block !important;
    color: #898989 !important;
    font-size: 9px !important;
    line-height: 14px !important;
}

/* ============================================================
   FINAL ACTION BAR
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_appointment_container_footer {
    min-height: 78px !important;
    padding: 14px 28px !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.008), rgba(255,215,0,.014)),
        #030303 !important;
    border-top: 1px solid #353535 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_prev_step {
    min-width: 122px !important;
    height: 48px !important;
    background: #050505 !important;
    color: #FFFFFF !important;
    border: 1px solid #484848 !important;
    border-radius: 2px !important;
    font-weight: 600 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_booking_btn {
    min-width: 240px !important;
    height: 48px !important;
    padding: 0 26px !important;
    background: linear-gradient(135deg, #FFD700 0%, #E6B800 100%) !important;
    color: #000000 !important;
    border: 1px solid #FFD700 !important;
    border-radius: 2px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .025em !important;
    box-shadow: 0 8px 24px rgba(255,215,0,.06) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_booking_btn::after {
    content: "  →" !important;
    font-size: 14px !important;
}

/* ============================================================
   TABLET / MOBILE
   ============================================================ */

@media only screen and (max-width: 767px) {

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_appointment_container_header {
        min-height: 88px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_step_body {
        display: block !important;
        width: 100% !important;
        padding: 20px 16px 22px !important;
        box-sizing: border-box !important;
    }

    /* Loyalty strip */
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) #booknetic-redeem-points-container {
        grid-template-columns: 28px minmax(0,1fr) auto !important;
        min-height: 78px !important;
        padding: 13px !important;
        column-gap: 10px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) #booknetic-redeem-points-container .points-details {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) #booknetic-redeem-points-container .total-points,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) #booknetic-redeem-points-container .point-value {
        grid-column: 1 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-coins-btn {
        min-width: 92px !important;
        min-height: 40px !important;
        padding: 0 12px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-points {
        margin-top: 13px !important;
        padding: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-points > div:not(.dp-points-panel-meta) {
        grid-template-columns: minmax(0,1fr) 58px !important;
        gap: 8px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-points-button {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-points-panel-meta {
        grid-template-columns: 1fr auto !important;
        row-gap: 4px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-points-balance {
        grid-column: 1 / -1 !important;
    }

    /* Booking card */
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-booking-card-header {
        padding: 0 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-payment-price-list {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-booking-service-row {
        min-height: 70px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-booking-service-row .booknetic_confirm_details_title {
        font-size: 15px !important;
        line-height: 21px !important;
    }


    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-rich-details {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        gap: 12px !important;
        margin-top: 11px !important;
        padding-top: 11px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-service-image {
        width: 68px !important;
        height: 68px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-meta-grid {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-duration {
        display: none !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-coupon-heading {
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_add_coupon {
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
        grid-template-columns: minmax(0,1fr) auto !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_sum_price {
        min-height: 78px !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_sum_price .booknetic_sum_price {
        font-size: 22px !important;
        line-height: 27px !important;
        margin-right: 3px !important;
    }

    /* Payment panel */
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_deposit_body {
        margin-top: 24px !important;
        padding: 16px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method.dp-payment-local,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method.dp-payment-sumup {
        min-height: 84px !important;
        padding: 15px 16px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method.dp-payment-sumup {
        padding-right: 82px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method.dp-payment-sumup::before {
        right: 12px !important;
        width: 52px !important;
        height: 24px !important;
        background-size: 40px auto !important;
    }

    #booknetic_theme_8 [data-step-id="confirm_details"] .dp-payment-amount-value::after {
        font-size: 24px !important;
        line-height: 28px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_radios:not(.booknetic_hidden) > div {
        min-height: 54px !important;
        padding: 0 12px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust {
        grid-template-columns: 68px minmax(0,1fr) !important;
        gap: 12px !important;
        padding: 11px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust-logo {
        width: 68px !important;
        height: 34px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust-logo img {
        width: 50px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust-copy strong {
        font-size: 10px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust-copy span {
        font-size: 9px !important;
        line-height: 13px !important;
    }

    /* Action bar */
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_appointment_container_footer {
        min-height: 76px !important;
        padding: 12px 16px !important;
        gap: 10px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_prev_step {
        min-width: 0 !important;
        height: 50px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn {
        min-width: 0 !important;
        height: 50px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-shadow: none !important;
    }
}
/* ============================================================
   V41 — CONCEPT MATCH FINISHING DETAILS
   ============================================================ */

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_step_body {
    background:
        radial-gradient(circle at 78% 22%, rgba(255,215,0,.026), transparent 30%),
        radial-gradient(circle at 14% 66%, rgba(255,215,0,.014), transparent 26%),
        #000000 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_payment_method.booknetic_payment_method_selected {
    box-shadow:
        inset 0 0 0 1px rgba(255,215,0,.10),
        0 8px 24px rgba(0,0,0,.18) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic-use-coins-btn .booknetic-use-text::after {
    content: "  ›" !important;
    color: var(--dp-gold) !important;
}

@media only screen and (max-width: 480px) {
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_add_coupon {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_add_coupon > div {
        grid-column: 1 !important;
        width: 100% !important;
        justify-content: stretch !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_coupon_ok_btn,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_add_coupon.booknetic_coupon_ok .booknetic_coupon_cancel_btn {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
    }
}



/* ============================================================
   V44 — CHECKOUT CLARITY, SAVINGS, MOTION + MOBILE ACTION
   Presentation only. Booknetic remains source of truth.
   ============================================================ */

/* --- Edit booking action inside the summary header --- */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-booking-card-header {
    gap: 12px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-edit-booking {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-left: auto !important;
    padding: 0 !important;
    background: transparent !important;
    color: #9D9D9D !important;
    border: 0 !important;
    box-shadow: none !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: color .18s ease !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-edit-booking::before {
    content: "" !important;
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
    background: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm17.71-10.04a.996.996 0 0 0 0-1.41l-2.51-2.51a.996.996 0 0 0-1.41 0l-1.96 1.96 3.75 3.75 2.13-1.79Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm17.71-10.04a.996.996 0 0 0 0-1.41l-2.51-2.51a.996.996 0 0 0-1.41 0l-1.96 1.96 3.75 3.75 2.13-1.79Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-edit-booking:hover {
    color: var(--dp-gold) !important;
}

/* --- Savings summary: Booknetic native rows remain in DOM, but presentation is consolidated. --- */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .booknetic_confirm_details.dp-native-saving-row {
    display: none !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-savings-summary {
    display: grid !important;
    gap: 7px !important;
    margin: 15px 16px 0 !important;
    padding: 12px 13px !important;
    box-sizing: border-box !important;
    background: linear-gradient(90deg, rgba(255,215,0,.055), rgba(255,215,0,.012)) !important;
    border: 1px solid rgba(255,215,0,.18) !important;
    border-radius: 2px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-line,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-line span {
    color: #A8A8A8 !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-line strong {
    color: #E6E6E6 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-total {
    margin-top: 2px !important;
    padding-top: 8px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-total span {
    color: var(--dp-gold) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-saving-total strong {
    color: var(--dp-gold) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* --- Payment clarity: exact amount now / remaining later --- */
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-clarity {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 11px 0 0 !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-clarity-item {
    min-width: 0 !important;
    padding: 10px 11px !important;
    background: rgba(255,255,255,.022) !important;
    border: 1px solid #303030 !important;
    border-radius: 2px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-clarity-item span {
    display: block !important;
    margin-bottom: 3px !important;
    color: #777 !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    line-height: 11px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-clarity-item strong {
    display: block !important;
    color: #E9E9E9 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) .dp-payment-clarity-item:first-child strong {
    color: var(--dp-gold) !important;
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-local-payment-selected .dp-payment-clarity {
    display: none !important;
}

/* --- Subtle reveal/amount transition --- */
@keyframes dpCheckoutReveal {
    from { opacity: 0; transform: translateY(5px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes dpAmountRefresh {
    0%   { opacity: .45; transform: translateY(2px); }
    100% { opacity: 1; transform: translateY(0); }
}

#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .dp-payment-amount-heading,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_price:not(.booknetic_hidden),
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .booknetic_deposit_radios:not(.booknetic_hidden),
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .dp-payment-clarity,
#booknetic_theme_8:has(
    .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
) [data-step-id="confirm_details"].dp-online-payment-selected .dp-sumup-trust {
    animation: dpCheckoutReveal .22s ease both !important;
}

#booknetic_theme_8 [data-step-id="confirm_details"] .dp-amount-changing {
    animation: dpAmountRefresh .20s ease both !important;
}

/* --- Mobile sticky confirmation bar --- */
.dp-mobile-sticky-checkout {
    display: none !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_appointment_container {
        padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-edit-booking {
        font-size: 8px !important;
        letter-spacing: .08em !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-savings-summary {
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-payment-clarity {
        grid-template-columns: 1fr !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-mobile-sticky-checkout {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 9992 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 68px !important;
        padding: 9px max(14px, env(safe-area-inset-left, 0px)) calc(9px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
        background: rgba(4,4,4,.94) !important;
        -webkit-backdrop-filter: blur(14px) saturate(1.15) !important;
        backdrop-filter: blur(14px) saturate(1.15) !important;
        border-top: 1px solid rgba(255,215,0,.32) !important;
        box-shadow: 0 -14px 34px rgba(0,0,0,.38) !important;
    }

    #booknetic_theme_8 .dp-mobile-sticky-copy {
        min-width: 0 !important;
    }

    #booknetic_theme_8 .dp-mobile-sticky-label {
        display: block !important;
        margin-bottom: 2px !important;
        color: #929292 !important;
        font-size: 8px !important;
        font-weight: 700 !important;
        line-height: 10px !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
    }

    #booknetic_theme_8 .dp-mobile-sticky-amount {
        display: block !important;
        color: var(--dp-gold) !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 22px !important;
        white-space: nowrap !important;
    }

    #booknetic_theme_8 .dp-mobile-sticky-confirm {
        min-width: 154px !important;
        height: 46px !important;
        padding: 0 16px !important;
        background: var(--dp-gold) !important;
        color: #000 !important;
        border: 1px solid var(--dp-gold) !important;
        border-radius: 2px !important;
        box-shadow: none !important;
        font-family: Helvetica, Arial, sans-serif !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 44px !important;
        letter-spacing: .03em !important;
        text-transform: uppercase !important;
        cursor: pointer !important;
        white-space: nowrap !important;
    }

    #booknetic_theme_8 .dp-mobile-sticky-confirm:disabled {
        opacity: .45 !important;
        cursor: default !important;
    }
}


/* ============================================================
   V45 — DESKTOP LUXURY FINISH
   Ambient glass, readability, interaction polish + policy note.
   Desktop/tablet only. Mobile is intentionally left for its own pass.
   ============================================================ */

@media only screen and (min-width: 768px) {

    /* --------------------------------------------------------
       AMBIENT BACKDROP
       Gives the translucent panels something subtle to refract.
       The service image is inserted by JS and kept deliberately faint.
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_step_body {
        position: relative !important;
        isolation: isolate !important;
        background: #010101 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-checkout-ambient {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
        border-radius: 0 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-checkout-ambient::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        background:
            radial-gradient(circle at 18% 28%, rgba(255,215,0,.075), transparent 25%),
            radial-gradient(circle at 82% 18%, rgba(255,215,0,.045), transparent 22%),
            radial-gradient(circle at 62% 78%, rgba(255,255,255,.025), transparent 27%),
            linear-gradient(145deg, rgba(12,12,12,.72), rgba(0,0,0,.96)) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-checkout-ambient::after {
        content: "" !important;
        position: absolute !important;
        top: 8% !important;
        bottom: 8% !important;
        left: 50% !important;
        width: 1px !important;
        background: linear-gradient(
            to bottom,
            transparent,
            rgba(255,215,0,.08) 28%,
            rgba(255,255,255,.05) 56%,
            transparent
        ) !important;
        opacity: .75 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-checkout-ambient-image {
        position: absolute !important;
        left: -7% !important;
        bottom: -18% !important;
        width: 58% !important;
        height: 138% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center !important;
        opacity: .075 !important;
        filter: blur(20px) saturate(.72) contrast(1.06) !important;
        transform: scale(1.08) !important;
        -webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.9) 52%, transparent 100%) !important;
        mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.9) 52%, transparent 100%) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_step_body > *:not(.dp-checkout-ambient) {
        position: relative !important;
        z-index: 1 !important;
    }

    /* --------------------------------------------------------
       GLASS DEPTH + COLUMN RHYTHM
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) #booknetic-redeem-points-container,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-payment-summary-card,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_deposit_body {
        background:
            linear-gradient(145deg, rgba(18,18,18,.70), rgba(3,3,3,.47)) !important;
        -webkit-backdrop-filter: blur(16px) saturate(1.10) !important;
        backdrop-filter: blur(16px) saturate(1.10) !important;
        border-color: rgba(255,255,255,.14) !important;
        border-top-color: rgba(255,215,0,.20) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.035),
            0 18px 44px rgba(0,0,0,.17) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_sum_body,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_deposit_body {
        min-width: 0 !important;
        align-self: start !important;
    }

    /* --------------------------------------------------------
       APPOINTMENT METADATA — slightly larger, more breathing room
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-rich-details {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 18px !important;
        margin-top: 14px !important;
        padding-top: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-service-image {
        width: 76px !important;
        height: 76px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-meta-grid {
        gap: 12px 18px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-meta-item {
        grid-template-columns: 22px minmax(0, 1fr) !important;
        column-gap: 9px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-meta-label {
        color: #818181 !important;
        font-size: 8px !important;
        line-height: 11px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-confirm-meta-value {
        color: #E0E0E0 !important;
        font-size: 11px !important;
        line-height: 15px !important;
    }

    /* --------------------------------------------------------
       CHECKOUT EXPLANATORY TYPE — easier to read without bloating
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method.dp-payment-local::after,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method.dp-payment-sumup::after {
        font-size: 11px !important;
        line-height: 15px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-payment-amount-copy {
        color: #858585 !important;
        font-size: 10px !important;
        line-height: 14px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-payment-clarity-item span {
        font-size: 8.5px !important;
        line-height: 12px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-payment-clarity-item strong {
        font-size: 12px !important;
        line-height: 16px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust-copy strong {
        font-size: 11px !important;
        line-height: 15px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-sumup-trust-copy span {
        color: #969696 !important;
        font-size: 10px !important;
        line-height: 15px !important;
    }

    /* --------------------------------------------------------
       FINAL CTA — dynamic text supplied by JS
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn {
        min-width: 310px !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        transition:
            transform .18s ease,
            box-shadow .18s ease,
            background .18s ease,
            border-color .18s ease !important;
    }

    /* --------------------------------------------------------
       CANCELLATION POLICY — quiet, useful checkout microcopy
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_appointment_container_footer {
        position: relative !important;
        min-height: 94px !important;
        padding-bottom: 31px !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_appointment_container_footer::after {
        content: "Cancellations with less than 24 hours’ notice are subject to a 50% charge." !important;
        position: absolute !important;
        left: 28px !important;
        right: 28px !important;
        bottom: 8px !important;
        color: #696969 !important;
        font-family: Helvetica, Arial, sans-serif !important;
        font-size: 8.5px !important;
        font-weight: 500 !important;
        line-height: 12px !important;
        letter-spacing: .035em !important;
        text-align: center !important;
        pointer-events: none !important;
    }

    /* --------------------------------------------------------
       INTERACTION POLISH — hover, focus-visible and active states
       -------------------------------------------------------- */

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-coins-btn,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_coupon_ok_btn,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_coupon_cancel_btn,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_prev_step,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .dp-edit-booking,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_deposit_radios > div {
        transition:
            color .18s ease,
            background .18s ease,
            border-color .18s ease,
            box-shadow .18s ease,
            transform .18s ease !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-coins-btn:hover,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_prev_step:hover,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_coupon_cancel_btn:hover {
        color: var(--dp-gold) !important;
        border-color: rgba(255,215,0,.62) !important;
        background: rgba(255,215,0,.035) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_coupon_ok_btn:hover,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn:hover {
        transform: translateY(-1px) !important;
        background: linear-gradient(135deg, #FFE02B 0%, #F0C400 100%) !important;
        box-shadow: 0 10px 28px rgba(255,215,0,.12) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_payment_method:not(.booknetic_payment_method_selected):hover,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_deposit_radios > div:not(:has(input[type="radio"]:checked)):hover {
        border-color: rgba(255,215,0,.45) !important;
        background: rgba(255,215,0,.025) !important;
        transform: translateY(-1px) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn:active,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_prev_step:active,
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic-use-coins-btn:active {
        transform: translateY(0) !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) :is(
        button,
        input,
        .booknetic_payment_method,
        .booknetic_deposit_radios > div
    ):focus-visible {
        outline: 1px solid var(--dp-gold) !important;
        outline-offset: 3px !important;
        box-shadow: 0 0 0 3px rgba(255,215,0,.08) !important;
    }
}

/* ============================================================
   V51 — NATIVE-SAFE VISUAL CONFIRM LABEL
   The native Booknetic button text stays untouched in the DOM.
   CSS paints the richer Pay Online label from a data attribute.
   ============================================================ */

@media only screen and (min-width: 768px) {
    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn[data-dp-visual-label] {
        /* Native text remains present for Booknetic, but contributes no visible glyphs. */
        font-size: 0 !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn[data-dp-visual-label]::before {
        content: attr(data-dp-visual-label) !important;
        display: inline-block !important;
        color: #000000 !important;
        font-family: Helvetica, Arial, sans-serif !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: .025em !important;
        vertical-align: middle !important;
        pointer-events: none !important;
    }

    #booknetic_theme_8:has(
        .booknetic_appointment_step_element.booknetic_active_step[data-step-id="confirm_details"]
    ) .booknetic_confirm_booking_btn[data-dp-visual-label]::after {
        content: "  →" !important;
        display: inline-block !important;
        color: #000000 !important;
        font-size: 14px !important;
        line-height: 1 !important;
        vertical-align: middle !important;
        pointer-events: none !important;
    }
}

/* ============================================================
   V62 — STRUCTURAL PAYMENT ERROR STAGE
   ------------------------------------------------------------
   Exact code-built error composition. The native Booknetic body
   and footer remain in the DOM for payment logic but are hidden
   while a separate branded presentation stage is shown. This
   eliminates all native white/light completion surfaces.
   ============================================================ */

body.dp-booknetic-payment-error-page .page-title {
    display: none !important;
}

body.dp-booknetic-payment-error-page .wp-block-booknetic-booking {
    width: 1040px !important;
    max-width: calc(100vw - 64px) !important;
    margin: 30px auto 58px !important;
    padding: 0 !important;
    overflow: visible !important;
}

#booknetic_theme_8.dp-payment-error-active {
    display: block !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 1040px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
    background: transparent !important;
}

#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_steps {
    display: none !important;
}

#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container::before,
#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container::after {
    content: none !important;
    display: none !important;
}

#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_header {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    min-height: 82px !important;
    height: 82px !important;
    padding: 0 16px !important;
    background: #020202 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.26) !important;
    box-shadow: none !important;
}

#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_header_text {
    color: #F6F6F6 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 21px !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_header_text::after {
    content: "Choose how you’d like to pay and confirm your booking" !important;
    display: block !important;
    margin-top: 4px !important;
    color: #B2B2B2 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Keep Booknetic's real error and retry controls present for logic,
   but remove them from layout so native light surfaces can never leak. */
#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_body,
#booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_footer {
    display: none !important;
}

#booknetic_theme_8:not(.dp-payment-error-active) > .booknetic_appointment_container .dp-payment-error-stage {
    display: none !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-stage {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 30px 4px 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    background: transparent !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-frame {
    position: relative !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 58px 72px 46px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,215,0,.58) !important;
    border-radius: 1px !important;
    background:
        radial-gradient(circle at 50% 15%, rgba(255,190,62,.10), transparent 31%),
        radial-gradient(circle at 50% 64%, rgba(255,215,0,.018), transparent 47%),
        linear-gradient(180deg, rgba(14,14,13,.97), rgba(2,2,2,.97)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018),
        0 28px 80px rgba(0,0,0,.20) !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 auto 24px !important;
    border: 2px solid rgba(255,207,91,.92) !important;
    border-radius: 50% !important;
    color: #FFD36B !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-shadow: 0 0 17px rgba(255,198,72,.27) !important;
    box-shadow:
        0 0 0 8px rgba(255,205,83,.012),
        0 0 42px rgba(255,178,47,.13) !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-kicker {
    margin: 0 0 18px !important;
    color: #F5C95C !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 30px !important;
    letter-spacing: .23em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-message {
    max-width: 560px !important;
    margin: 0 auto !important;
    color: #F4F4F4 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 30px !important;
    letter-spacing: .005em !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-explainer {
    max-width: 680px !important;
    margin: 18px auto 0 !important;
    color: #C6C6C6 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    letter-spacing: .01em !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-retry-proxy {
    position: relative !important;
    display: block !important;
    width: 332px !important;
    max-width: 100% !important;
    height: 64px !important;
    margin: 34px auto 0 !important;
    padding: 0 58px 0 34px !important;
    border: 1px solid #E9BE42 !important;
    border-radius: 0 !important;
    background: rgba(0,0,0,.20) !important;
    color: #F4C94E !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 62px !important;
    letter-spacing: .21em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: inset 0 0 0 1px rgba(255,215,0,.035) !important;
    appearance: none !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-retry-proxy::after {
    content: "→" !important;
    position: absolute !important;
    top: 50% !important;
    right: 28px !important;
    transform: translateY(-51%) !important;
    color: #FFD700 !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    pointer-events: none !important;
}

@media (hover: hover) and (pointer: fine) {
    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-retry-proxy:hover {
        background: rgba(255,215,0,.07) !important;
        border-color: #FFD700 !important;
        color: #FFD700 !important;
    }
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-retry-proxy:focus-visible {
    outline: 2px solid #FFD700 !important;
    outline-offset: 4px !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-support {
    width: min(100%, 610px) !important;
    margin: 29px auto 0 !important;
    padding: 22px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.19) !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-support-text {
    margin: 0 !important;
    color: #AAA !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-contacts {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 17px auto 0 !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-contact {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 0 31px !important;
    color: #F1F1F1 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 17px !important;
    letter-spacing: .085em !important;
    text-decoration: none !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-contact + .dp-payment-error-contact {
    border-left: 1px solid rgba(255,255,255,.28) !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-contact::before {
    display: inline-flex !important;
    width: 19px !important;
    margin-right: 13px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #FFD700 !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-phone::before {
    content: "☎" !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-email::before {
    content: "✉" !important;
}

#booknetic_theme_8.dp-payment-error-active .dp-payment-error-policy {
    margin: 26px 0 0 !important;
    color: #929292 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    text-align: center !important;
}

@media only screen and (max-width: 767px) {
    body.dp-booknetic-payment-error-page .wp-block-booknetic-booking,
    #booknetic_theme_8.dp-payment-error-active {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.dp-booknetic-payment-error-page .wp-block-booknetic-booking {
        margin: 16px auto 34px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_header {
        min-height: 76px !important;
        height: auto !important;
        padding: 15px 14px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_header_text {
        font-size: 14px !important;
        line-height: 19px !important;
        letter-spacing: .10em !important;
    }

    #booknetic_theme_8.dp-payment-error-active .booknetic_appointment_container_header_text::after {
        max-width: 250px !important;
        font-size: 10px !important;
        line-height: 15px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-stage {
        padding: 18px 12px 0 !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-frame {
        padding: 42px 24px 34px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-icon {
        width: 62px !important;
        height: 62px !important;
        margin-bottom: 21px !important;
        font-size: 29px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-kicker {
        margin-bottom: 15px !important;
        font-size: 14px !important;
        line-height: 20px !important;
        letter-spacing: .16em !important;
        white-space: normal !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-message {
        max-width: 330px !important;
        font-size: 16px !important;
        line-height: 25px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-explainer {
        max-width: 330px !important;
        margin-top: 15px !important;
        font-size: 10px !important;
        line-height: 17px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-retry-proxy {
        width: min(100%, 330px) !important;
        height: 58px !important;
        margin-top: 27px !important;
        padding-left: 34px !important;
        padding-right: 58px !important;
        font-size: 12px !important;
        line-height: 56px !important;
        letter-spacing: .18em !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-support {
        margin-top: 24px !important;
        padding-top: 18px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-support-text {
        font-size: 10px !important;
        line-height: 16px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-contacts {
        margin-top: 12px !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-contact,
    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-contact + .dp-payment-error-contact {
        min-height: 32px !important;
        padding: 0 8px !important;
        border-left: 0 !important;
        font-size: 9.5px !important;
    }

    #booknetic_theme_8.dp-payment-error-active .dp-payment-error-policy {
        margin-top: 20px !important;
        font-size: 9px !important;
        line-height: 14px !important;
    }
}




/* =========================================================
   V64 — SUCCESS WORDING · RESERVED, NOT CONFIRMED
   Keeps Booknetic's native success actions while reflecting
   the actual workflow: reservation first, confirmation later.
   ========================================================= */

#booknetic_theme_8.dp-booking-success-active .dp-success-welcome {
    max-width: 760px !important;
    margin: -2px auto 24px !important;
    color: #FFD700 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: .23em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_subtitle {
    margin-top: 0 !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active .dp-success-welcome {
        margin: -1px auto 20px !important;
        padding: 0 8px !important;
        font-size: 9px !important;
        line-height: 1.55 !important;
        letter-spacing: .16em !important;
    }
}

/* =========================================================
   V65 — SUCCESS SCREEN · CONCEPT MATCH
   Visual-only rework of the existing Booknetic success state.
   Wording and native Booknetic actions are intentionally untouched.
   ========================================================= */

body.dp-booknetic-success-page .page-title {
    margin-bottom: 34px !important;
}

body.dp-booknetic-success-page .wp-block-booknetic-booking {
    width: min(1040px, calc(100% - 36px)) !important;
    max-width: 1040px !important;
    margin: 0 auto 64px !important;
}

#booknetic_theme_8.dp-booking-success-active {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    background: transparent !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_container,
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_container_body {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 54px 42px 34px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    overflow: hidden !important;

    background:
        radial-gradient(circle at 50% 9%, rgba(255,215,0,.135) 0%, rgba(255,215,0,.055) 13%, rgba(255,215,0,.018) 28%, rgba(255,215,0,0) 48%),
        radial-gradient(ellipse at 50% 46%, rgba(255,215,0,.028) 0%, rgba(255,215,0,0) 52%),
        linear-gradient(145deg, rgba(13,13,13,.96) 0%, rgba(5,5,5,.99) 54%, #020202 100%) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(233,190,66,.78) !important;
    border-radius: 3px !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,215,0,.022),
        0 18px 60px rgba(0,0,0,.30) !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,215,0,.018), transparent 22%, transparent 78%, rgba(255,215,0,.016)) !important;
}

/* Success mark: larger, softer and more diffused than the native treatment. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 92px !important;
    height: 92px !important;
    margin: 0 auto 18px !important;
    overflow: visible !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 132px !important;
    height: 132px !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(255,215,0,.24) 0%, rgba(255,215,0,.105) 30%, rgba(255,215,0,.04) 47%, rgba(255,215,0,0) 72%) !important;
    filter: blur(.2px) !important;
    pointer-events: none !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon img {
    position: relative !important;
    z-index: 1 !important;
    width: 74px !important;
    height: 74px !important;
    min-width: 74px !important;
    min-height: 74px !important;
    margin: 0 !important;
    object-fit: contain !important;
    filter:
        drop-shadow(0 0 8px rgba(255,215,0,.55))
        drop-shadow(0 0 20px rgba(255,215,0,.28))
        drop-shadow(0 0 38px rgba(255,215,0,.12)) !important;
}

/* Main reservation hierarchy. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_title {
    max-width: 820px !important;
    margin: 0 auto 10px !important;
    padding: 0 !important;
    color: #FFFFFF !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.24 !important;
    letter-spacing: .16em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8.dp-booking-success-active .dp-success-welcome {
    max-width: 760px !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    color: #EBCB58 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: .22em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_subtitle {
    margin: 0 auto 7px !important;
    padding: 0 !important;
    color: rgba(255,255,255,.54) !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .26em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 36px !important;
    padding: 0 0 74px !important;
    color: #FFD700 !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 62px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: 16px !important;
    text-align: center !important;
    border: 0 !important;
}

/* Keep Booknetic's existing success/email wording visually present and readable.
   No content is changed by this block. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code + div,
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code + p,
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_description {
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(255,255,255,.67) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
    text-align: center !important;
}

/* Native Booknetic success copy commonly sits inside the code block layout;
   add only the concept divider here, never replacement wording. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: min(700px, 84%) !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(233,190,66,.24) 16%, rgba(233,190,66,.48) 50%, rgba(233,190,66,.24) 84%, transparent) !important;
    pointer-events: none !important;
}

/* Main and secondary actions follow the concept proportions while preserving
   Booknetic's genuine click handlers and destinations. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: stretch !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn {
    position: relative !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    width: min(550px, 100%) !important;
    min-width: 0 !important;
    min-height: 64px !important;
    margin: 0 0 14px !important;
    padding: 0 74px 0 62px !important;

    background: linear-gradient(135deg, #FFD700 0%, #E4B920 100%) !important;
    color: #040404 !important;
    border: 1px solid #FFD700 !important;
    border-radius: 2px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 10px 30px rgba(255,215,0,.07) !important;

    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .19em !important;
    text-transform: uppercase !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::after {
    content: "→" !important;
    position: absolute !important;
    top: 50% !important;
    right: 28px !important;
    transform: translateY(-53%) !important;
    color: currentColor !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    pointer-events: none !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn img {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    margin: 0 !important;
    filter: brightness(0) saturate(100%) !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    grid-row: 2 !important;
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;

    background: rgba(2,2,2,.72) !important;
    color: #F4F4F4 !important;
    border: 1px solid rgba(233,190,66,.64) !important;
    border-radius: 2px !important;
    box-shadow: inset 0 0 0 1px rgba(255,215,0,.012) !important;

    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: .10em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn img,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn img,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn img {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

@media (hover: hover) and (pointer: fine) {
    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn:hover {
        background: #050505 !important;
        color: #FFD700 !important;
        border-color: #FFD700 !important;
        box-shadow: 0 0 0 1px rgba(255,215,0,.10), 0 12px 30px rgba(0,0,0,.24) !important;
        transform: translateY(-1px) !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn:hover,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn:hover,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn:hover {
        background: rgba(255,215,0,.055) !important;
        color: #FFD700 !important;
        border-color: rgba(255,215,0,.90) !important;
        transform: translateY(-1px) !important;
    }
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn:focus-visible,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn:focus-visible,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn:focus-visible,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn:focus-visible {
    outline: 2px solid #FFD700 !important;
    outline-offset: 4px !important;
}

@media only screen and (max-width: 767px) {
    body.dp-booknetic-success-page .page-title {
        margin-bottom: 22px !important;
    }

    body.dp-booknetic-success-page .wp-block-booknetic-booking {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 38px !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished {
        padding: 40px 18px 22px !important;
        border-left-width: 1px !important;
        border-right-width: 1px !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon {
        width: 76px !important;
        height: 76px !important;
        margin-bottom: 16px !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon::before {
        width: 110px !important;
        height: 110px !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon img {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
        min-height: 60px !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_title {
        max-width: 100% !important;
        margin-bottom: 10px !important;
        font-size: 21px !important;
        line-height: 1.34 !important;
        letter-spacing: .105em !important;
    }

    #booknetic_theme_8.dp-booking-success-active .dp-success-welcome {
        max-width: 100% !important;
        margin-bottom: 18px !important;
        padding: 0 6px !important;
        font-size: 9.5px !important;
        line-height: 1.5 !important;
        letter-spacing: .13em !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_subtitle {
        font-size: 9px !important;
        letter-spacing: .18em !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code {
        margin-bottom: 28px !important;
        padding-bottom: 68px !important;
        font-size: 46px !important;
        letter-spacing: 10px !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code::before {
        width: 94% !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
        grid-template-columns: 1fr !important;
        gap: 11px !important;
        max-width: 100% !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 56px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn {
        margin-bottom: 4px !important;
        padding-left: 52px !important;
        padding-right: 62px !important;
    }
}

/* ========================================================================== */
/* V66 — SUCCESS ACTION ICONS                                                  */
/* Concept-matched presentation icons; native Booknetic actions remain intact. */
/* ========================================================================== */

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn > img,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn > img,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn > img,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn > img {
    display: none !important;
}

#booknetic_theme_8.dp-booking-success-active .dp-success-action-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 21px !important;
    height: 21px !important;
    margin: 0 !important;
    line-height: 0 !important;
    pointer-events: none !important;
}

#booknetic_theme_8.dp-booking-success-active .dp-success-action-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
}

/* Finish Booking: stronger calendar/check mark, black against the gold CTA. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn .dp-success-action-icon-finish {
    width: 23px !important;
    height: 23px !important;
    color: currentColor !important;
}

/* Google keeps its recognizable multicolour G rather than a generic calendar glyph. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn .dp-success-action-icon-google {
    width: 20px !important;
    height: 20px !important;
}

/* iCal + Start New Booking use the site's gold presentation language. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn .dp-success-action-icon-ical,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn .dp-success-action-icon-new {
    width: 21px !important;
    height: 21px !important;
    color: #FFD700 !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    column-gap: 14px !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn .dp-success-action-icon-new {
    width: 22px !important;
    height: 22px !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active .dp-success-action-icon {
        width: 20px !important;
        height: 20px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn .dp-success-action-icon-finish {
        width: 22px !important;
        height: 22px !important;
    }
}



/* ========================================================================== */
/* V67 — BRIGHTER SUCCESS ACTION ICONS                                        */
/* Increase icon contrast/weight without changing native Booknetic actions.   */
/* ========================================================================== */

#booknetic_theme_8.dp-booking-success-active .dp-success-action-icon {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Finish Booking: stronger black calendar/check on the gold primary CTA. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn .dp-success-action-icon-finish {
    width: 25px !important;
    height: 25px !important;
    color: #050505 !important;
    opacity: 1 !important;
    filter: none !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn .dp-success-action-icon-finish svg * {
    stroke-width: 2.05 !important;
}

/* Google: keep the true multicolour G but lift brightness/saturation on black. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn .dp-success-action-icon-google {
    width: 24px !important;
    height: 24px !important;
    opacity: 1 !important;
    filter: brightness(1.26) saturate(1.28) drop-shadow(0 0 3px rgba(255,255,255,.12)) !important;
}

/* iCal: brighter gold and heavier linework, closer to the approved concept. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn .dp-success-action-icon-ical {
    width: 24px !important;
    height: 24px !important;
    color: #FFE45C !important;
    opacity: 1 !important;
    filter: drop-shadow(0 0 4px rgba(255,215,0,.20)) !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn .dp-success-action-icon-ical svg * {
    stroke-width: 1.95 !important;
}

/* Start New Booking: larger, brighter plus with stronger stroke. */
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn .dp-success-action-icon-new {
    width: 25px !important;
    height: 25px !important;
    color: #FFE45C !important;
    opacity: 1 !important;
    filter: drop-shadow(0 0 4px rgba(255,215,0,.18)) !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn .dp-success-action-icon-new svg * {
    stroke-width: 2.25 !important;
}

/* Give the secondary icons enough visual room beside the labels. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    column-gap: 16px !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn .dp-success-action-icon-google,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn .dp-success-action-icon-ical,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn .dp-success-action-icon-new {
        width: 22px !important;
        height: 22px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn .dp-success-action-icon-finish {
        width: 23px !important;
        height: 23px !important;
    }
}


/* ========================================================================== */
/* V68 — GUARANTEED SUCCESS ACTION ICONS                                      */
/* CSS pseudo-icons avoid Booknetic/theme SVG/image filtering and stay visible.*/
/* Native Booknetic buttons/actions remain untouched.                         */
/* ========================================================================== */

/* Hide Booknetic's own icon artwork and the older injected icon spans. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn img,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn img,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn img,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn img,
#booknetic_theme_8.dp-booking-success-active .dp-success-action-icon {
    display: none !important;
}

/* Booknetic sometimes wraps its native image in a direct child DIV. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn > div:has(img),
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn > div:has(img),
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn > div:has(img),
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn > div:has(img) {
    display: none !important;
}

/* Common icon box shared by all four real Booknetic buttons. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 2px 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    filter: none !important;
}

/* FINISH BOOKING — black calendar/check on the gold CTA. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before {
    width: 25px !important;
    height: 25px !important;
    background-color: #050505 !important;
    background-image: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='1.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 9.5h17' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='m8.2 14.7 2.2 2.2 5.3-5.4' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='1.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 9.5h17' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='m8.2 14.7 2.2 2.2 5.3-5.4' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* GOOGLE — real four-colour G drawn as a CSS background, immune to text colour. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before {
    width: 25px !important;
    height: 25px !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M23.49 12.27c0-.79-.07-1.55-.20-2.27H12v4.51h6.45a5.51 5.51 0 0 1-2.39 3.62v3h3.87c2.27-2.09 3.56-5.17 3.56-8.86z'/%3E%3Cpath fill='%2334A853' d='M12 24c3.24 0 5.96-1.07 7.94-2.89l-3.87-3c-1.07.72-2.44 1.15-4.07 1.15-3.13 0-5.78-2.11-6.73-4.95h-4v3.10A12 12 0 0 0 12 24z'/%3E%3Cpath fill='%23FBBC05' d='M5.27 14.31A7.22 7.22 0 0 1 4.90 12c0-.80.14-1.57.37-2.31v-3.10h-4A12 12 0 0 0 0 12c0 1.93.46 3.76 1.27 5.41l4-3.10z'/%3E%3Cpath fill='%23EA4335' d='M12 4.75c1.76 0 3.34.61 4.59 1.80l3.44-3.44C17.95 1.17 15.23 0 12 0A12 12 0 0 0 1.27 6.59l4 3.10C6.22 6.86 8.87 4.75 12 4.75z'/%3E%3C/svg%3E") !important;
    -webkit-mask: none !important;
    mask: none !important;
    filter: drop-shadow(0 0 3px rgba(255,255,255,.10)) !important;
}

/* iCAL — bright gold calendar. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before {
    background-color: #FFE45C !important;
    background-image: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='1.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 9.5h17M7.5 13h3M13.5 13h3M7.5 16.5h3M13.5 16.5h3' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='1.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M7 3.5v4M17 3.5v4M3.5 9.5h17M7.5 13h3M13.5 13h3M7.5 16.5h3M13.5 16.5h3' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    filter: drop-shadow(0 0 4px rgba(255,215,0,.20)) !important;
}

/* START NEW BOOKING — concept-style gold plus. */
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
    width: 26px !important;
    height: 26px !important;
    background-color: #FFE45C !important;
    background-image: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5v15M4.5 12h15' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5v15M4.5 12h15' fill='none' stroke='black' stroke-width='2.15' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
    filter: drop-shadow(0 0 4px rgba(255,215,0,.18)) !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    gap: 16px !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
        width: 23px !important;
        height: 23px !important;
    }
}


/* ========================================================================== */
/* V69 — SUCCESS ACTION ROW POLISH                                             */
/* Final concept pass: wider secondary actions, calmer success glow and       */
/* stronger small-copy readability. Native Booknetic actions remain intact.   */
/* ========================================================================== */

/* Let the secondary action row breathe across the card instead of bunching
   beneath the primary CTA. The success card width itself is intentionally
   unchanged. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
    width: 89% !important;
    max-width: 900px !important;
    gap: 18px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 12px !important;
}

/* Primary action stays centred, but the presentation icon and arrow are
   deliberately pushed toward opposite edges as in the concept. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn {
    width: min(590px, 82%) !important;
    min-height: 62px !important;
    margin-bottom: 20px !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before {
    position: absolute !important;
    left: 30px !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::after {
    right: 22px !important;
}

/* Secondary actions: wider, slightly taller and single-line on normal desktop
   widths, with a little more distance between icon and label. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    min-height: 72px !important;
    padding: 0 22px !important;
    gap: 19px !important;
    white-space: nowrap !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    letter-spacing: .085em !important;
}

/* Slightly improve the small native explanatory copy without changing it. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code + div,
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code + p,
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_description {
    max-width: 610px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,.72) !important;
}

/* Soften the success halo very slightly so the icon remains the focal point
   without reading as neon. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon::before {
    background: radial-gradient(circle, rgba(255,215,0,.19) 0%, rgba(255,215,0,.082) 31%, rgba(255,215,0,.028) 49%, rgba(255,215,0,0) 72%) !important;
}

#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_icon img {
    filter:
        drop-shadow(0 0 7px rgba(255,215,0,.48))
        drop-shadow(0 0 17px rgba(255,215,0,.22))
        drop-shadow(0 0 31px rgba(255,215,0,.09)) !important;
}

/* Preserve the stacked mobile treatment and prevent forced no-wrap overflow. */
@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
        padding-bottom: 10px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn {
        width: 100% !important;
        min-height: 58px !important;
        margin-bottom: 6px !important;
        padding-left: 58px !important;
        padding-right: 58px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before {
        left: 22px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::after {
        right: 20px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
        min-height: 58px !important;
        padding: 0 18px !important;
        gap: 15px !important;
        white-space: normal !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code + div,
    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_code + p,
    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_description {
        font-size: 12px !important;
    }
}


/* ========================================================================== */
/* V70 — SUCCESS ICON ALIGNMENT                                                */
/* Align all success action icons inside their real Booknetic buttons.         */
/* ========================================================================== */

/* Keep the three secondary icons in a consistent fixed left column while the
   labels remain optically centred. This prevents the Google G from sitting on
   or outside the button border and gives all three actions the same rhythm. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    position: relative !important;
    justify-content: center !important;
    padding-left: 54px !important;
    padding-right: 22px !important;
    gap: 0 !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

/* Give the primary CTA icon the same deliberate inset and slightly more visual
   weight, while retaining the far-right arrow from the concept. */
#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before {
    left: 34px !important;
    width: 27px !important;
    height: 27px !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::after {
    right: 26px !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
        padding-left: 52px !important;
        padding-right: 18px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
        left: 17px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_finish_btn::before {
        left: 22px !important;
        width: 24px !important;
        height: 24px !important;
    }
}


/* ========================================================================== */
/* V71 — SECONDARY SUCCESS LABEL / ICON ZONES                                 */
/* Keep icons in a fixed left zone and centre each visible label independently.*/
/* Native button text remains in the DOM for Booknetic/accessibility.          */
/* ========================================================================== */

/* Hide only the painted native text. The real text remains in the button DOM;
   a presentation-only ::after label gives us a clean label zone beside the
   fixed icon column without changing Booknetic actions or destinations. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    position: relative !important;
    font-size: 0 !important;
    line-height: 1 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    overflow: hidden !important;
}

/* Fixed icon column. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
    left: 18px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    z-index: 2 !important;
}

/* Independent label zone leaves a guaranteed gap after the icon. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::after,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::after,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::after {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50px !important;
    right: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: currentColor !important;
    font-family: Helvetica, Arial, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .085em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::after {
    content: "ADD TO GOOGLE CALENDAR" !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::after {
    content: "ADD TO ICAL CALENDAR" !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::after {
    content: "START NEW BOOKING" !important;
}

@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
        left: 18px !important;
        width: 20px !important;
        height: 20px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::after,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::after,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::after {
        left: 50px !important;
        right: 16px !important;
        font-size: 10px !important;
        white-space: normal !important;
    }
}


/* ========================================================================== */
/* V72 — WIDER SECONDARY SUCCESS ACTIONS                                      */
/* Give the three lower actions enough real width for their full labels.      */
/* ========================================================================== */

/* Use the available card width rather than compressing the lower row beneath
   the primary CTA. Equal columns remain, but the buttons get substantially
   more usable label space and a calmer gap between them. */
#booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
    width: 100% !important;
    max-width: 1000px !important;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 18px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Keep the icon in its own fixed zone, but reclaim a little space for the
   label. This is intentionally tighter than V71 because width—not icon size—
   was the cause of the clipped CALENDAR text. */
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
    left: 14px !important;
    width: 19px !important;
    height: 19px !important;
}

#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::after,
#booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::after,
#booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::after {
    left: 43px !important;
    right: 9px !important;
    font-size: 9.6px !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    white-space: nowrap !important;
}

/* At narrower desktop/tablet widths, wrapping is preferable to clipping. */
@media only screen and (min-width: 768px) and (max-width: 980px) {
    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::after,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::after,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::after {
        left: 40px !important;
        right: 7px !important;
        font-size: 9px !important;
        letter-spacing: .035em !important;
    }
}

/* Preserve the intentionally stacked mobile success actions. */
@media only screen and (max-width: 767px) {
    #booknetic_theme_8.dp-booking-success-active .booknetic_appointment_finished_actions {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::before,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::before {
        left: 18px !important;
        width: 20px !important;
        height: 20px !important;
    }

    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_google_calendar_btn::after,
    #booknetic_theme_8.dp-booking-success-active #booknetic_add_to_icalendar_btn::after,
    #booknetic_theme_8.dp-booking-success-active #booknetic_start_new_booking_btn::after {
        left: 50px !important;
        right: 16px !important;
        font-size: 10px !important;
        letter-spacing: .06em !important;
        white-space: normal !important;
    }
}
