/* ═══════════════════════════════════════════════════════════════
       Header morph — show form-state or success-state copy
       ═══════════════════════════════════════════════════════════════ */
    #modalBookingForm .bk-title-success,
    #modalBookingForm .bk-sub-success,
    #modalBookingForm .bk-icon-success { display: none; }
    #modalBookingForm.bk-on-success .bk-title-form,
    #modalBookingForm.bk-on-success .bk-sub-form,
    #modalBookingForm.bk-on-success .bk-icon-form { display: none; }
    #modalBookingForm.bk-on-success .bk-title-success,
    #modalBookingForm.bk-on-success .bk-sub-success,
    #modalBookingForm.bk-on-success .bk-icon-success { display: inline; }
    /* Subtle header colour shift when success */
    #modalBookingForm.bk-on-success .bk-modal-header {
        background: linear-gradient(135deg, #2a8c4e 0%, #4caf50 50%, #2a8c4e 100%);
    }

    /* ═══════════════════════════════════════════════════════════════
       Premium success card — compact across all breakpoints
       ═══════════════════════════════════════════════════════════════ */
    .bk-success-v2 {
        padding: 18px 18px 14px;
        text-align: center;
        animation: bkFadeUp .5s cubic-bezier(.22,1,.36,1) both;
    }
    @keyframes bkFadeUp {
        0%   { opacity: 0; transform: translateY(10px); }
        100% { opacity: 1; transform: translateY(0); }
    }

    /* Animated checkmark — slimmer 56px circle with bloom + tick draw-on */
    .bk-success-check {
        display: inline-block;
        margin: 0 0 10px;
        position: relative;
        line-height: 0;
    }
    .bk-success-check svg {
        display: block;
        width: 56px; height: 56px;
        filter: drop-shadow(0 6px 14px rgba(40,160,80,.25));
    }
    .bk-check-bg {
        fill: #4caf50;
        transform-origin: 40px 40px;
        animation: bkBloom .45s cubic-bezier(.16,1.4,.3,1) both;
    }
    @keyframes bkBloom {
        0%   { transform: scale(0); opacity: 0; }
        60%  { transform: scale(1.08); opacity: 1; }
        100% { transform: scale(1); opacity: 1; }
    }
    .bk-check-ring {
        fill: none; stroke: rgba(76,175,80,.5);
        stroke-width: 2;
        transform-origin: 40px 40px;
        animation: bkRing 1.1s cubic-bezier(.22,1,.36,1) .3s both;
    }
    @keyframes bkRing {
        0%   { transform: scale(.6); opacity: .9; }
        100% { transform: scale(1.45); opacity: 0; }
    }
    .bk-check-tick {
        stroke: #fff;
        stroke-width: 5;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-dasharray: 60;
        stroke-dashoffset: 60;
        animation: bkTick .4s cubic-bezier(.65,.05,.36,1) .3s forwards;
    }
    @keyframes bkTick { to { stroke-dashoffset: 0; } }

    .bk-success-title {
        font-family: 'Poppins', sans-serif;
        font-size: 1.15rem; font-weight: 700;
        color: #2b2330; letter-spacing: -.2px;
        margin: 0 0 4px;
    }
    .bk-success-lead {
        font-size: .85rem; line-height: 1.5;
        color: #5d5762; margin: 0 0 10px;
    }
    .bk-success-lead br { display: none; }   /* compact: keep on one flow */
    .bk-success-lead strong { color: #2b2330; }

    /* Trust strip */
    .bk-success-meta {
        display: flex; justify-content: center;
        margin: 0 0 12px;
        font-size: 11px;
    }
    .bk-success-trust {
        color: #6b6b7c; font-weight: 600;
        display: inline-flex; align-items: center; gap: 5px;
    }
    .bk-success-trust i { color: #f5a623; font-size: 10.5px; }

    /* "While you wait" divider — tighter */
    .bk-success-divider {
        display: flex; align-items: center; gap: 10px;
        margin: 4px 0 10px;
        color: #99489d; font-size: 9.5px;
        font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase;
    }
    .bk-success-divider::before,
    .bk-success-divider::after {
        content: ''; flex: 1; height: 1px; background: #ebe6ec;
    }

    /* 3 quick action cards — compact horizontal layout */
    .bk-success-actions {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 7px; margin: 0 0 12px;
    }
    .bk-success-action {
        display: flex; flex-direction: column; align-items: center;
        gap: 2px; padding: 9px 4px 8px;
        background: #fff; border: 1px solid #ebe6ec; border-radius: 8px;
        color: #2b2330; text-decoration: none;
        transition: transform .2s cubic-bezier(.22,1,.36,1),
                    box-shadow .2s, border-color .2s;
    }
    .bk-success-action:hover {
        transform: translateY(-2px);
        border-color: rgba(153,72,157,.35);
        box-shadow: 0 8px 18px -8px rgba(122,55,128,.2);
        text-decoration: none; color: #2b2330;
    }
    .bk-success-action-ico {
        width: 28px; height: 28px; border-radius: 7px;
        display: inline-flex; align-items: center; justify-content: center;
        font-size: 12px; color: #fff;
        background: linear-gradient(135deg, #99489d, #7a3a7e);
        margin-bottom: 3px;
    }
    .bk-success-action-ico.is-call    { background: linear-gradient(135deg, #2196f3, #1976d2); }
    .bk-success-action-ico.is-wa      { background: linear-gradient(135deg, #25D366, #1a8c4a); }
    .bk-success-action-ico.is-gallery { background: linear-gradient(135deg, #99489d, #7a3a7e); }
    .bk-success-action-lbl {
        font-family: 'Poppins', sans-serif;
        font-size: 10.5px; font-weight: 700; color: #2b2330;
        line-height: 1.15;
    }
    .bk-success-action-sub {
        font-size: 9px; color: #888;
        line-height: 1.15;
    }

    /* Bottom close button — compact */
    .bk-success-close {
        margin-top: 2px;
        background: transparent; border: 1px solid #ebe6ec;
        color: #6b6b7c; padding: 6px 18px;
        border-radius: 7px; font-size: 11.5px;
        font-family: 'Poppins', sans-serif; font-weight: 600;
        cursor: pointer; transition: all .2s;
    }
    .bk-success-close:hover {
        background: #faf6fb; border-color: #99489d; color: #99489d;
    }

    /* Small phones — keep 3-up grid, tighter chrome */
    @media (max-width: 380px) {
        .bk-success-v2 { padding: 14px 12px 10px; }
        .bk-success-check svg { width: 48px; height: 48px; }
        .bk-success-title { font-size: 1.05rem; }
        .bk-success-lead  { font-size: .8rem; margin-bottom: 8px; }
        .bk-success-action { padding: 7px 2px 6px; }
        .bk-success-action-ico { width: 26px; height: 26px; font-size: 11px; }
        .bk-success-action-lbl { font-size: 9.5px; }
        .bk-success-action-sub { display: none; } /* sub-label off on tiny screens */
    }
