/* CSS Reset for DWIB Widget - Prevents Elementor overrides */
        .dwib-widget,
        .dwib-widget *,
        .dwib-widget *::before,
        .dwib-widget *::after {
            box-sizing: border-box !important;
            margin: 0;
            padding: 0;
            border: 0;
            font-size: 100%;
            font: inherit;
            vertical-align: baseline;
        }

        .dwib-widget {

            --text-20: clamp(0.875rem, 2vw, 1.25rem);

            font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            max-width: 1040px !important;
            margin: 0 auto !important;
            padding: 0 0 60px 0 !important;
            line-height: 1.5 !important;
            color: inherit !important;
            font-size: 16px !important;
        }

        .dwib-widget strong {
            font-weight: 700 !important;
        }

        .dwib-widget .dwib-layout {
            display: flex !important;
            align-items: start !important;
            gap: 35px !important;
            flex-wrap: nowrap !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-left {
            flex-grow: 1 !important;
            max-width: 50% !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-right {
            flex: 1 !important;
            width: 50% !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-title {
            font-family: Georgia, serif !important;
            font-size: 2rem !important;
            color: #fff !important;
            text-align: center !important;
            margin-bottom: 30px !important;
            text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
        }

        /* Cards */
        .dwib-widget .dwib-card {
            background: transparent !important;
            border-radius: 6px !important;
            overflow: hidden !important;
            margin-top: 30px !important;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
            border: 1px solid #ffffff50 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-card:first-child {
            margin-top: 0 !important;
        }

        .dwib-widget .dwib-card-header {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            padding: 16px 27px !important;
            border: none !important;
            border-bottom: 1px solid #eee !important;
            background: #fff !important;
            margin: 0 !important;
        }

        .dwib-widget .dwib-card-header h3 {
            margin: 0 !important;
            padding: 0 !important;
            font-size: var(--text-20) !important;
            font-weight: 700 !important;
            color: #333 !important;
            font-family: "Montserrat", sans-serif !important;
            line-height: 1.4 !important;
        }

        .dwib-widget .dwib-card-header .dwib-edit {
            background: none !important;
            border: none !important;
            color: #058AB5 !important;
            cursor: pointer !important;
            font-size: 0.9rem !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        .dwib-widget .dwib-card-body {
            background: rgba(255, 255, 255, 0.15) !important;
            color: #fff !important;
            padding: 24px 27px !important;
            border: none !important;
            border-top: 1px solid #fff !important;
            backdrop-filter: blur(8px) !important;
            margin: 0 !important;
        }

        .dwib-widget .dwib-card-body h2 {
            font-weight: 700 !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 1.75rem !important;
            margin: 0 0 6px 0 !important;
            padding: 0 !important;
            color: #fff !important;
            line-height: 1.3 !important;
        }

        .dwib-widget .dwib-card-body #dwib-location-hours p {
            display: flex !important;
            gap: 15px !important;
            font-size: 14px !important;
        }

        .dwib-widget .dwib-card-body #dwib-service-name {
            display: none !important;
        }

        .dwib-widget .dwib-card-body p {
            margin: 5px 0 !important;
            padding: 0 !important;
            font-size: 0.875rem !important;
            color: #fff !important;
            line-height: 1.5 !important;
        }

        .dwib-widget .dwib-service-desc-wrapper {
            position: relative !important;
        }

        .dwib-widget #dwib-service-desc {
            overflow: hidden !important;
            display: -webkit-box !important;
            -webkit-line-clamp: 1 !important;
            line-clamp: 1 !important;
            -webkit-box-orient: vertical !important;
        }

        .dwib-widget #dwib-service-desc.dwib-expanded {
            display: block !important;
            overflow: visible !important;
            -webkit-line-clamp: unset !important;
            line-clamp: unset !important;
        }

        .dwib-widget .dwib-service-desc-wrapper .iv-therapy-wrapper {
            margin-top: 20px;
        }
        .dwib-widget .dwib-service-desc-wrapper #dwib-selected-iv-description {
            font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            font-weight: 400 !important;
            font-style: Italic !important;
            font-size: 0.875rem !important;
            line-height: 1.5 !important;
            letter-spacing: 0% !important;
            margin-top: 10px !important;
        }

        .dwib-widget .dwib-service-desc-wrapper .iv-therapy-wrapper p {
            font-weight: 700 !important;
            font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            font-size: 0.875rem !important;
            margin: 0 0 6px 0 !important;
            padding: 0 !important;
            color: #fff !important;
            line-height: 1.3 !important;
        }

        .dwib-widget .dwib-service-desc-wrapper #selected-iv-therapy-type {
            appearance: none;
            -webkit-appearance: none;
            background: rgba(0, 0, 0, 0.20);
            color: #fff;
            padding: 10px;
            font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            font-size: 0.875rem !important;
            background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E%3Cpath fill=%22%23ffffff%22 d=%22M6 8L1 3h10z%22/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 10px center;
        }
        .dwib-widget .dwib-service-desc-wrapper #selected-iv-therapy-type option {
            color: #000 !important;
            background: none !important;
        }

        /* Reschedule mode: read-only chosen drip shown in place of the dropdown */
        .dwib-widget .dwib-service-desc-wrapper .dwib-chosen-drip {
            color: #fff !important;
            font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            font-size: 0.875rem !important;
            font-weight: 700 !important;
            margin: 6px 0 0 !important;
        }

        .dwib-widget .dwib-read-more-btn {
            
            background: none !important;
            border: none !important;
            color: #FFF !important;
            cursor: pointer !important;
            font-size: 0.875rem !important;
            padding: 0 !important;
            margin: 0 !important;
            text-decoration: underline !important;
            font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        }

        .dwib-widget .dwib-card-body .dwib-hours {
            display: flex !important;
            gap: 20px !important;
            margin-bottom: 21px !important;
            font-size: 0.85rem !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-card-body .dwib-contact {
            display: flex !important;
            gap: 20px !important;
            font-size: 0.875rem !important;
            margin: 0 !important;
        }
        .dwib-widget .dwib-card-body .dwib-contact .dwib-address {
            border-right: 1px solid #E3E3E380;
        }

        .dwib-widget .dwib-card-body .dwib-contact > div {
            flex: 1 !important;
        }

        .dwib-widget .dwib-card-body .dwib-contact > div:nth-child(2) br {
            display: none !important;
        }

        .dwib-widget .dwib-card-body .dwib-contact .dwib-call-or-text-label {
            display: block !important;
        }

        .dwib-widget .dwib-hidden {
            display: none !important;
        }

        /* Dropdowns */
        .dwib-widget .dwib-dropdown {
            position: relative !important;
            margin-bottom: 15px !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-dropdown-btn {
            width: 100% !important;
            padding: 15px 20px !important;
            background: #fff !important;
            border: 1px solid #ddd !important;
            border-radius: 8px !important;
            text-align: left !important;
            cursor: pointer !important;
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            font-size: 1rem !important;
            color: #058AB5 !important;
            transition: border-color 0.2s !important;
            margin: 0 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            line-height: 1.4 !important;
            font-weight: 400 !important;
        }

        .dwib-widget .dwib-dropdown-btn:hover {
            border-color: #058AB5 !important;
        }

        .dwib-widget .dwib-dropdown-btn .arrow {
            font-size: 1.2rem !important;
            transition: transform 0.2s !important;
        }

        .dwib-widget .dwib-dropdown-btn.active .arrow {
            transform: rotate(90deg) !important;
        }

        .dwib-widget .dwib-dropdown-menu {
            position: absolute !important;
            top: 100% !important;
            left: 0 !important;
            right: 0 !important;
            background: #fff !important;
            border: 1px solid #ddd !important;
            border-radius: 8px !important;
            margin-top: 5px !important;
            z-index: 1000 !important;
            display: none !important;
            box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
            padding: 0 !important;
            list-style: none !important;
        }

        .dwib-widget .dwib-dropdown-menu.show {
            display: block !important;
        }

        .dwib-widget .dwib-dropdown-item {
            display: block !important;
            width: 100% !important;
            padding: 12px 20px !important;
            background: none !important;
            border: none !important;
            border-bottom: 1px solid #eee !important;
            text-align: left !important;
            cursor: pointer !important;
            font-size: 0.95rem !important;
            color: #333 !important;
            transition: background 0.2s !important;
            margin: 0 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            line-height: 1.4 !important;
            font-weight: 400 !important;
        }

        .dwib-widget .dwib-dropdown-item:last-child {
            border-bottom: none !important;
        }

        .dwib-widget .dwib-dropdown-item:hover {
            background: #f0f9fa !important;
        }

        .dwib-widget .dwib-dropdown-item.selected {
            color: #058AB5 !important;
            font-weight: 500 !important;
        }

        /* Calendar */
        .dwib-widget .dwib-calendar {
            background: #fff !important;
            border-radius: 12px !important;
            padding: 20px !important;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
            margin: 0 !important;
            border: none !important;
        }

        .dwib-widget .dwib-calendar-header {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            margin-bottom: 20px !important;
            padding: 0 !important;
            border: none !important;
            background: none !important;
            padding-inline: 10px !important;
        }

        .dwib-widget .dwib-calendar-nav {
            width: 36px !important;
            height: 36px !important;
            background: none !important;
            border: none !important;
            font-size: 1.5rem !important;
            color: #058AB5 !important;
            cursor: pointer !important;
            border-radius: 50% !important;
            padding: 0 !important;
            margin: 0 !important;
            line-height: 36px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }

        .dwib-widget .dwib-calendar-nav:hover {
            background: #f0f9fa !important;
        }

        .dwib-widget .dwib-calendar-title {
            font-size: 1.1rem !important;
            font-weight: 600 !important;
            color: #333 !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-calendar-weekdays {
            display: grid !important;
            grid-template-columns: repeat(7, 1fr) !important;
            text-align: center !important;
            margin-bottom: 10px !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-calendar-weekdays span {
            font-size: 0.85rem !important;
            font-weight: 600 !important;
            color: #058AB5 !important;
            padding: 8px !important;
            margin: 0 !important;
            display: block !important;
        }

        .dwib-widget .dwib-calendar-days {
            display: grid !important;
            grid-template-columns: repeat(7, 1fr) !important;
            gap: 4px !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        .dwib-widget .dwib-day {
            aspect-ratio: 1 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            background: none !important;
            border: none !important;
            border-radius: 50% !important;
            cursor: pointer !important;
            font-size: 0.9rem !important;
            color: #333 !important;
            padding: 0 !important;
            margin: 0 !important;
            min-height: 36px !important;
            line-height: 1 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        }

        .dwib-widget .dwib-day:hover:not(.disabled):not(.other):not(.selected) {
            background: #f0f9fa !important;
        }

        .dwib-widget .dwib-day.other {
            color: #ccc !important;
        }

        .dwib-widget .dwib-day.disabled {
            color: #ccc !important;
            cursor: not-allowed !important;
        }

        .dwib-widget .dwib-day.selected {
            background: #058AB5 !important;
            color: #fff !important;
        }

        .dwib-widget .dwib-day.today {
            font-weight: bold !important;
        }

        /* Time Slots */
        .dwib-widget .dwib-timeslots-header {
            text-align: center !important;
            margin-bottom: 15px !important;
            border: 1px solid #fff !important;
            padding: 10px !important;
            border-radius: 8px !important;
            backdrop-filter: blur(4px) !important;
            background: transparent !important;
        }

        .dwib-widget .dwib-timeslots-header .date {
            color: #0A2938 !important;
            font-size: 0.9rem !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-timeslots-header .hours {
            color: #0A2938 !important;
            font-size: 0.9rem !important;
            margin: 5px 0 0 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-timeslots-header .title {
            font-weight: 600 !important;
            color: #0A2938 !important;
            margin-top: 5px !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-timeslots-grid {
            display: grid !important;
            grid-template-columns: repeat(2, max-content) !important;
            justify-content: center !important;
            gap: 20px !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        .dwib-widget .dwib-slot {
            width: 236px !important;
            padding: 12px !important;
            border: 1px solid transparent !important;
            border-radius: 15px !important;
            background: #fff !important;
            cursor: pointer !important;
            text-align: center !important;
            font-size: 0.9rem !important;
            font-weight: 300 !important;
            transition: all 0.2s !important;
            margin: 0 !important;
            color: #333 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            line-height: 1.4 !important;
            box-shadow: 0px 0px 14.55px rgba(0, 0, 0, 0.15);
        }

        .dwib-widget .dwib-slot.available {
            color: #058AB5 !important;
            border-color: transparent !important;
        }

        .dwib-widget .dwib-slot.unavailable {
            color: #999 !important;
            background: #f5f5f5 !important;
            cursor: not-allowed !important;
            display: none !important;
        }

        .dwib-widget .dwib-slot.selected {
            background: #058AB5 !important;
            color: #fff !important;
            border-color: transparent !important;
        }

        /* Buttons */
        .dwib-widget .dwib-btn {
            display: block !important;
            width: 100% !important;
            max-width: 300px !important;
            margin: 20px auto 0 !important;
            padding: 14px 30px !important;
            border: none !important;
            border-radius: 30px !important;
            font-size: 1rem !important;
            cursor: pointer !important;
            transition: all 0.2s !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            line-height: 1.4 !important;
            text-align: center !important;
            text-decoration: none !important;
        }

        .dwib-widget .dwib-btn-primary {
            background: #e8a598 !important;
            color: #fff !important;
        }

        .dwib-widget .dwib-btn-primary:hover:not(:disabled) {
            background: #d99385 !important;
            transform: translateY(-1px) !important;
        }

        .dwib-widget .dwib-btn-primary:disabled {
            background: #ccc !important;
            cursor: not-allowed !important;
            transform: none !important;
        }

        /* Mobile button styles */
        @media (max-width: 768px) {
            .dwib-widget .dwib-btn-primary {
                background: #058AB5 !important;
            }

            .dwib-widget .dwib-btn-primary:hover:not(:disabled) {
                background: #047a9a !important;
            }
        }

        #dwib-slots-date {
            font-size: clamp(14px, 1.5vw, 18px) !important;
            font-weight: 300 !important;
        }

        #dwib-slots-hours {
            font-size: clamp(14px, 1.5vw, 18px) !important;
            font-weight: 300 !important;
        }

        #dwib-slots-title {
            font-size: clamp(16px, 2vw, 20px) !important;
            font-weight: 700 !important;
        }

        /* Modal */
        .dwib-widget .dwib-modal {
            display: none !important;
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            z-index: 100000 !important;
            align-items: center !important;
            justify-content: center !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-modal.show {
            display: flex !important;
        }

        .dwib-widget .dwib-modal-overlay {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            background: rgba(0,0,0,0.5) !important;
            margin: 0 !important;
            padding: 0 !important;
            border: none !important;
        }

        .dwib-widget .dwib-modal-content {
            position: relative !important;
            background: #fff !important;
            border-radius: 12px !important;
            padding: 40px !important;
            width: 90% !important;
            max-width: 450px !important;
            max-height: 90vh !important;
            overflow-y: auto !important;
            margin: 0 !important;
            border: none !important;
            box-shadow: 0 10px 40px rgba(0,0,0,0.3) !important;
        }

        .dwib-widget .dwib-modal-close {
            position: absolute !important;
            top: 15px !important;
            right: 15px !important;
            background: none !important;
            border: none !important;
            font-size: 1.5rem !important;
            cursor: pointer !important;
            color: #999 !important;
            padding: 0 !important;
            margin: 0 !important;
            line-height: 1 !important;
            width: auto !important;
            height: auto !important;
        }

        .dwib-widget .dwib-modal-logo {
            text-align: center !important;
            margin-bottom: 20px !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-modal-logo img {
            max-width: 180px !important;
            height: auto !important;
            margin: 0 auto !important;
            display: inline-block !important;
        }

        .dwib-widget .dwib-modal-title {
            text-align: center !important;
            color: #058AB5 !important;
            font-family: Montserrat, serif !important;
            font-size: 1.4rem !important;
            margin-bottom: 25px !important;
            padding: 0 !important;
            line-height: 1.3 !important;
        }

        .dwib-widget .dwib-form-group {
            margin-bottom: 20px !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-form-group label {
            display: block !important;
            color: #666 !important;
            font-size: 0.9rem !important;
            margin-bottom: 8px !important;
            padding: 0 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            line-height: 1.4 !important;
        }

        .dwib-widget .dwib-form-group input {
            width: 100% !important;
            padding: 12px 0 !important;
            border: none !important;
            border-bottom: 1px solid #ddd !important;
            font-size: 1rem !important;
            outline: none !important;
            background: transparent !important;
            color: #333 !important;
            margin: 0 !important;
            border-radius: 0 !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            line-height: 1.4 !important;
            box-shadow: none !important;
        }

        .dwib-widget .dwib-form-group input:focus {
            border-color: #058AB5 !important;
            border-bottom: 1px solid #058AB5 !important;
            outline: none !important;
            box-shadow: none !important;
        }

        .dwib-widget .dwib-consent {
            font-size: 0.75rem !important;
            color: #888 !important;
            text-align: center !important;
            margin: 15px 0 !important;
            line-height: 1.5 !important;
            padding: 0 !important;
        }

        /* Steps */
        .dwib-widget .dwib-step {
            display: none !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwib-widget .dwib-step.active {
            display: block !important;
        }

        /* Loading */
        .dwib-widget .dwib-loading {
            text-align: center !important;
            padding: 30px !important;
            color: #0A2938 !important;
            margin: 0 !important;
        }

        /* Booking spinner (shown inside the modal, in place of the form,
           while the booking request is in flight) */
        .dwib-widget .dwib-booking-spinner-wrap {
            display: none !important;
            text-align: center !important;
            padding: 30px 0 !important;
            margin: 0 !important;
        }

        /* While loading: hide the form, close button and logo, reveal the spinner. */
        .dwib-widget .dwib-modal.dwib-loading #dwib-form,
        .dwib-widget .dwib-modal.dwib-loading .dwib-modal-close,
        .dwib-widget .dwib-modal.dwib-loading .dwib-modal-logo {
            display: none !important;
        }

        .dwib-widget .dwib-modal.dwib-loading .dwib-booking-spinner-wrap {
            display: block !important;
        }

        /* Hide the "Book Now, Pay in our Studio." title while the spinner shows. */
        .dwib-widget .dwib-modal.dwib-loading .dwib-modal-title {
            display: none !important;
        }

        .dwib-widget .dwib-booking-spinner {
            width: 220px !important;
            height: auto !important;
            max-width: 100% !important;
            margin: 0 auto !important;
            display: block !important;
        }

        /* Animated "thinking" status under the spinner: shimmering text that
           rotates through a list of messages, with pulsing trailing dots. */
        .dwib-widget .dwib-thinking {
            display: inline-block !important;
            margin: 15px 0 0 0 !important;
            padding: 0 !important;
            font-size: 1.1rem !important;
            font-weight: 500 !important;
            font-family: Montserrat, system-ui, sans-serif !important;
            line-height: 1.4 !important;
        }

        /* shimmer: a bright sweep travelling across the text */
        .dwib-widget .dwib-shimmer {
            background-image: linear-gradient(100deg, #6f675e 30%, #f5f0e8 50%, #6f675e 70%) !important;
            background-size: 200% 100% !important;
            -webkit-background-clip: text !important;
            background-clip: text !important;
            color: transparent !important;
            animation: dwibShimmerSweep 2.2s linear infinite !important;
        }

        /* dots additionally pulse one after another */
        .dwib-widget .dwib-thinking-dot {
            animation: dwibShimmerSweep 2.2s linear infinite, dwibEllipsisDot 1.4s ease-in-out infinite !important;
        }
        .dwib-widget .dwib-thinking-dot:nth-child(2) { animation-delay: 0s, 0s !important; }
        .dwib-widget .dwib-thinking-dot:nth-child(3) { animation-delay: 0s, 0.2s !important; }
        .dwib-widget .dwib-thinking-dot:nth-child(4) { animation-delay: 0s, 0.4s !important; }

        /* fade/blur entrance when the message changes */
        .dwib-widget .dwib-thinking-text.swap {
            animation: dwibShimmerSweep 2.2s linear infinite, dwibMsgIn 0.4s ease both !important;
        }

        @keyframes dwibShimmerSweep {
            from { background-position: 200% 0; }
            to   { background-position: -200% 0; }
        }
        @keyframes dwibEllipsisDot {
            0%, 100% { opacity: 0.2; }
            50%      { opacity: 1; }
        }
        @keyframes dwibMsgIn {
            from { opacity: 0; transform: translateY(6px); filter: blur(4px); }
            to   { opacity: 1; transform: translateY(0);   filter: blur(0); }
        }

        /* Visually hidden but available to screen readers. */
        .dwib-widget .dwib-sr-only {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            padding: 0 !important;
            margin: -1px !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
            border: 0 !important;
        }

        /* Respect users who prefer reduced motion: drop the shimmer/blur and
           just show a steady status message + the (single, non-animated) gif. */
        @media (prefers-reduced-motion: reduce) {
            .dwib-widget .dwib-shimmer,
            .dwib-widget .dwib-thinking-dot,
            .dwib-widget .dwib-thinking-text.swap {
                animation: none !important;
            }
            .dwib-widget .dwib-shimmer {
                -webkit-background-clip: border-box !important;
                background-clip: border-box !important;
                background-image: none !important;
                color: #6f675e !important;
            }
        }

        #dwib-step-2 .dwib-btn {
            margin: 0 auto;
        }

        /* Mobile container for both step wrappers */
        #dwib-steps-mobile-wrapper {
            display: none !important;
        }
        .dwib-dropdown-item.disabled {
            opacity: 0.4;
            pointer-events: none;
            cursor: not-allowed;
            display: none !important;
        }
        .dwib-dropdown.loading {
            opacity: 0.6;
            pointer-events: none;
        }

        @media (max-width: 768px) {

			.dwib-widget {
				padding-top: 0 !important;
                margin-top: -80px !important;
			}

            .dwib-widget #dwib-step-1 {
                display: block !important;
            }
            #dwib-steps-mobile-wrapper {
                flex-direction: column !important;
                gap: 12px !important;
                position: absolute !important;
                left: 0 !important;
                bottom: 0 !important;
                width: 100vw !important;
                margin-left: calc(-100vw / 2 + 100% / 2) !important;
                margin-right: calc(-100vw / 2 + 100% / 2) !important;
                /*background: #fff !important;*/
                color: #0A2938 !important;
            }

            #dwib-steps-mobile-wrapper > * {
                margin: 0 !important;
            }

            #dwib-steps-mobile-wrapper.active {
                display: flex !important;
                padding: 20px 20px !important;
            }

            #dwib-steps-mobile-wrapper.active .dwib-card-body,
            #dwib-steps-mobile-wrapper.active .dwib-card-body h2,
            #dwib-steps-mobile-wrapper.active .dwib-card-body p {
                color: #0A2938 !important;
            }

            /* On mobile, step wrappers are not absolutely positioned - they're inside the container */
            #dwib-step-2-wrapper,
            #dwib-step-3-wrapper {
                position: relative !important;
                left: auto !important;
                bottom: auto !important;
                width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                padding: 0 !important;
            }

            #dwib-step-3-wrapper #dwib-step-3 {
                padding-top: 30px !important;
            }

            .dwib-widget .dwib-timeslots-grid {
                grid-template-columns: repeat(2, 1fr) !important;
            }

            .dwib-location-unit {
                display: none !important;
            }

            .dwib-widget .dwib-card-body #dwib-service-name {
                display: block !important;
                font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
                font-weight: 700 !important;
                font-size: 12px !important;
                line-height: 18px !important;
            }

            .dwib-widget .dwib-service-desc-wrapper #dwib-service-desc {
                font-size: 12px !important;
            }
            .dwib-widget .dwib-service-desc-wrapper p {
                font-size: 12px !important;
            }
            .dwib-widget .dwib-service-desc-wrapper #dwib-selected-iv-description {
                font-size: 12px !important;
            }

            .dwib-widget .dwib-service-desc-wrapper #selected-iv-therapy-type {
                background: rgba(0, 0, 0, 0.05);
                color: #25272B;
                font-size: 14px !important;
            }

            .dwib-widget .dwib-read-more-btn {
                color: #058AB5 !important;
                font-size: 12px !important;
            }
            .dwib-widget .dwib-read-more-btn:hover {
                color: #047a9a !important;
            }

            .dwib-widget .dwib-card-header {
                display: none !important;
            }

            .dwib-widget .dwib-card-body {
                padding: 12px 27px !important;
                background: #FFF !important;
            }

            .dwib-widget .dwib-location-info-wrapper {
                /*display: none;*/
            }

            #dwib-steps-mobile-wrapper #dwib-location-card {
                /*display: none;*/
                order: 2 !important
            }

            #dwib-steps-mobile-wrapper #dwib-service-card {
                order: 1 !important
            }

            #dwib-steps-mobile-wrapper #dwib-step-2-wrapper {
                order: 3 !important
            }

            #dwib-steps-mobile-wrapper #dwib-step-3-wrapper {
                order: 4 !important
            }

			.dwib-widget .dwib-card-body .dwib-contact {
				flex-direction: row !important;
				gap: 0 !important;
			}
			.dwib-widget .dwib-card-body .dwib-contact > div:first-child > br,
            #dwib-location-name,
            .dwib-widget .dwib-card-body .dwib-hours,
            .dwib-widget .dwib-card-body .dwib-contact .dwib-call-or-text-label {
                display: none !important;
            }
            .dwib-widget .dwib-card-body .dwib-contact .dwib-address {
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
            }
            .dwib-widget .dwib-card-body .dwib-contact .dwib-phone {
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
            }

			.dwib-widget .dwib-card-body .dwib-contact #dwib-location-address {
				display: flex !important;
				flex-direction: column !important;
				gap: 0 !important;
				align-items: flex-start !important;
			}


        }

        /* Desktop: step 3 wrapper is absolutely positioned */
        @media (min-width: 769px) {
            #dwib-step-3-wrapper {
                display: none !important;
                position: absolute !important;
                left: 0 !important;
                bottom: 0 !important;
                width: 100vw !important;
                padding: 0 40px !important;
                margin-left: calc(-100vw / 2 + 100% / 2) !important;
                margin-right: calc(-100vw / 2 + 100% / 2) !important;
                background: #fff !important;
            }

            #dwib-step-3-wrapper.active {
                display: block !important;
                padding: 40px 40px !important;
            }
        }

        /* Common styles for step wrappers */
        #dwib-step-2-wrapper,
        #dwib-step-3-wrapper {
            display: none !important;
        }

        #dwib-step-2-wrapper.active,
        #dwib-step-3-wrapper.active {
            display: block !important;
        }

        #dwib-step-3 {
            max-width: 1060px !important;
            margin: 0 auto !important;
            padding: 60px 0 !important;
            color: #0A2938;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .dwib-widget .dwib-layout {
                gap: 30px !important;
                flex-direction: column !important;
            }
            .dwib-widget .dwib-left {
                flex: none !important;
                width: 100% !important;
            }

            #dwib-step-2 .dwib-btn {
                margin-left: auto !important;
            }

            .dwib-right #dwib-step-1 > h3 {
                display: none !important;
            }

            .dwib-widget .dwib-slot {
                width: 100% !important;
                max-width: 100% !important;
            }
        }
