/* CSS Reset for DWB Widget - Prevents Elementor overrides */
        .dwb-widget,
        .dwb-widget *,
        .dwb-widget *::before,
        .dwb-widget *::after {
            box-sizing: border-box !important;
            margin: 0;
            padding: 0;
            border: 0;
            font-size: 100%;
            font: inherit;
            vertical-align: baseline;
        }

        .dwb-widget {

            --text-20: clamp(0.875rem, 2vw, 1.25rem);

            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
            max-width: 1100px !important;
            margin: 0 auto !important;
            padding: 20px !important;
            line-height: 1.5 !important;
            color: inherit !important;
            font-size: 16px !important;
        }

        .dwb-widget strong {
            font-weight: 700 !important;
        }

        .dwb-widget .dwb-layout {
            display: flex !important;
            align-items: center !important;
            gap: 130px !important;
            flex-wrap: wrap !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-left {
            flex-grow: 1 !important;
            max-width: 500px !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-right {
            flex: 1 !important;
            width: 100% !important;
            min-width: 300px !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-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 */
        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-card:first-child {
            margin-top: 0 !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-card-header .dwb-edit {
            background: none !important;
            border: none !important;
            color: #058AB5 !important;
            cursor: pointer !important;
            font-size: 0.9rem !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-card-body h2 {
            font-weight: 700 !important;
            font-family: "Montserrat", 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;
        }

        .dwb-widget .dwb-card-body p {
            margin: 5px 0 !important;
            padding: 0 !important;
            font-size: 0.875rem !important;
            color: #fff !important;
            line-height: 1.5 !important;
        }

        .dwb-widget .dwb-service-desc-wrapper {
            position: relative !important;
        }

        .dwb-widget .dwb-read-more-btn {
            display: none !important;
            background: none !important;
            border: none !important;
            color: #058AB5 !important;
            cursor: pointer !important;
            font-size: 0.875rem !important;
            padding: 0 !important;
            margin: 0 !important;
            text-decoration: underline !important;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        }

        .dwb-widget .dwb-read-more-btn:hover {
            color: #047a9a !important;
        }

        .dwb-widget .dwb-card-body .dwb-hours {
            display: flex !important;
            gap: 20px !important;
            margin-bottom: 21px !important;
            font-size: 0.85rem !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-card-body .dwb-contact {
            display: flex !important;
            gap: 20px !important;
            font-size: 0.875rem !important;
            margin: 0 !important;
        }

        .dwb-widget .dwb-card-body .dwb-contact > div {
            flex: 1 !important;
        }

        .dwb-widget .dwb-card-body .dwb-contact > div:nth-child(2) br {
            display: none !important;
        }

        .dwb-widget .dwb-card-body .dwb-contact .dwb-call-or-text-label {
            display: block !important;
        }

        .dwb-widget .dwb-hidden {
            display: none !important;
        }

        /* Dropdowns */
        .dwb-widget .dwb-dropdown {
            position: relative !important;
            margin-bottom: 15px !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-dropdown-btn:hover {
            border-color: #058AB5 !important;
        }

        .dwb-widget .dwb-dropdown-btn .arrow {
            font-size: 1.2rem !important;
            transition: transform 0.2s !important;
        }

        .dwb-widget .dwb-dropdown-btn.active .arrow {
            transform: rotate(90deg) !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-dropdown-menu.show {
            display: block !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-dropdown-item:last-child {
            border-bottom: none !important;
        }

        .dwb-widget .dwb-dropdown-item:hover {
            background: #f0f9fa !important;
        }

        .dwb-widget .dwb-dropdown-item.selected {
            color: #058AB5 !important;
            font-weight: 500 !important;
        }

        /* Calendar */
        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-calendar-nav:hover {
            background: #f0f9fa !important;
        }

        .dwb-widget .dwb-calendar-title {
            font-size: 1.1rem !important;
            font-weight: 600 !important;
            color: #333 !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-calendar-weekdays {
            display: grid !important;
            grid-template-columns: repeat(7, 1fr) !important;
            text-align: center !important;
            margin-bottom: 10px !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-calendar-weekdays span {
            font-size: 0.85rem !important;
            font-weight: 600 !important;
            color: #058AB5 !important;
            padding: 8px !important;
            margin: 0 !important;
            display: block !important;
        }

        .dwb-widget .dwb-calendar-days {
            display: grid !important;
            grid-template-columns: repeat(7, 1fr) !important;
            gap: 4px !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-day:hover:not(.disabled):not(.other):not(.selected) {
            background: #f0f9fa !important;
        }

        .dwb-widget .dwb-day.other {
            color: #ccc !important;
        }

        .dwb-widget .dwb-day.disabled {
            color: #ccc !important;
            cursor: not-allowed !important;
        }

        .dwb-widget .dwb-day.selected {
            background: #058AB5 !important;
            color: #fff !important;
        }

        .dwb-widget .dwb-day.today {
            font-weight: bold !important;
        }

        /* Time Slots */
        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-timeslots-header .date {
            color: #0A2938 !important;
            font-size: 0.9rem !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-timeslots-header .hours {
            color: #0A2938 !important;
            font-size: 0.9rem !important;
            margin: 5px 0 0 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-timeslots-header .title {
            font-weight: 600 !important;
            color: #0A2938 !important;
            margin-top: 5px !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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);
        }

        .dwb-widget .dwb-slot.available {
            color: #058AB5 !important;
            border-color: transparent !important;
        }

        .dwb-widget .dwb-slot.unavailable {
            color: #999 !important;
            background: #f5f5f5 !important;
            cursor: not-allowed !important;
            display: none !important;
        }

        .dwb-widget .dwb-slot.selected {
            background: #058AB5 !important;
            color: #fff !important;
            border-color: transparent !important;
        }

        /* Buttons */
        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-btn-primary {
            background: #e8a598 !important;
            color: #fff !important;
        }

        .dwb-widget .dwb-btn-primary:hover:not(:disabled) {
            background: #d99385 !important;
            transform: translateY(-1px) !important;
        }

        .dwb-widget .dwb-btn-primary:disabled {
            background: #ccc !important;
            cursor: not-allowed !important;
            transform: none !important;
        }

        /* Mobile button styles */
        @media (max-width: 768px) {
            .dwb-widget .dwb-btn-primary {
                background: #058AB5 !important;
            }

            .dwb-widget .dwb-btn-primary:hover:not(:disabled) {
                background: #047a9a !important;
            }
        }

        #dwb-slots-date {
            font-size: clamp(14px, 1.5vw, 18px) !important;
            font-weight: 300 !important;
        }

        #dwb-slots-hours {
            font-size: clamp(14px, 1.5vw, 18px) !important;
            font-weight: 300 !important;
        }

        #dwb-slots-title {
            font-size: clamp(16px, 2vw, 20px) !important;
            font-weight: 700 !important;
        }

        /* Modal */
        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-modal.show {
            display: flex !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-modal-logo {
            text-align: center !important;
            margin-bottom: 20px !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-modal-logo img {
            max-width: 180px !important;
            height: auto !important;
            margin: 0 auto !important;
            display: inline-block !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-form-group {
            margin-bottom: 20px !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-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;
        }

        .dwb-widget .dwb-form-group input:focus {
            border-color: #058AB5 !important;
            border-bottom: 1px solid #058AB5 !important;
            outline: none !important;
            box-shadow: none !important;
        }

        .dwb-widget .dwb-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 */
        .dwb-widget .dwb-step {
            display: none !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .dwb-widget .dwb-step.active {
            display: block !important;
        }

        /* Loading */
        .dwb-widget .dwb-loading {
            text-align: center !important;
            padding: 30px !important;
            color: #0A2938 !important;
            margin: 0 !important;
        }

        #dwb-step-2 .dwb-btn {
            margin-left: 0 !important;
        }

        /* Mobile container for both step wrappers */
        #dwb-steps-mobile-wrapper {
            display: none !important;
        }
        .dwb-dropdown-item.disabled {
            opacity: 0.4;
            pointer-events: none;
            cursor: not-allowed;
            display: none !important;
        }
        .dwb-dropdown.loading {
            opacity: 0.6;
            pointer-events: none;
        }

        @media (max-width: 768px) {

			.dwb-widget {
				padding-top: 0 !important;
			}

            .dwb-widget #dwb-step-1 {
                display: block !important;
            }
            #dwb-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;
            }

            #dwb-steps-mobile-wrapper > * {
                margin: 0 !important;
            }

            #dwb-steps-mobile-wrapper.active {
                display: flex !important;
                padding: 20px 20px !important;
            }

            #dwb-steps-mobile-wrapper.active .dwb-card-body,
            #dwb-steps-mobile-wrapper.active .dwb-card-body h2,
            #dwb-steps-mobile-wrapper.active .dwb-card-body p {
                color: #0A2938 !important;
            }

            /* On mobile, step wrappers are not absolutely positioned - they're inside the container */
            #dwb-step-2-wrapper,
            #dwb-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;
            }

            #dwb-step-3-wrapper #dwb-step-3 {
                padding-top: 30px !important;
            }

            .dwb-widget .dwb-timeslots-grid {
                grid-template-columns: repeat(2, 1fr) !important;
            }

            .dwb-location-unit {
                display: none !important;
            }

            .dwb-widget .dwb-read-more-btn {
                display: block !important;
            }

            .dwb-widget .dwb-card-header {
                display: none !important;
            }

            .dwb-widget .dwb-card-body {
                padding: 12px 27px !important;
            }

			.dwb-widget .dwb-card-body .dwb-contact {
				flex-direction: column !important;
				gap: 0 !important;
			}
			.dwb-widget .dwb-card-body .dwb-contact > div:first-child > br,
            #dwb-location-name,
            .dwb-widget .dwb-card-body .dwb-hours,
            .dwb-widget .dwb-card-body .dwb-contact .dwb-call-or-text-label {
                display: none !important;
            }

			.dwb-widget .dwb-card-body .dwb-contact #dwb-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) {
            #dwb-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;
            }

            #dwb-step-3-wrapper.active {
                display: block !important;
                padding: 40px 40px !important;
            }
        }

        /* Common styles for step wrappers */
        #dwb-step-2-wrapper,
        #dwb-step-3-wrapper {
            display: none !important;
        }

        #dwb-step-2-wrapper.active,
        #dwb-step-3-wrapper.active {
            display: block !important;
        }

        #dwb-step-3 {
            max-width: 1060px !important;
            margin: 0 auto !important;
            padding: 60px 0 !important;
            color: #0A2938;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .dwb-widget .dwb-layout {
                gap: 30px !important;
                flex-direction: column !important;
            }
            .dwb-widget .dwb-left {
                flex: none !important;
                width: 100% !important;
            }

            #dwb-step-2 .dwb-btn {
                margin-left: auto !important;
            }

            .dwb-right #dwb-step-1 > h3 {
                display: none !important;
            }

            .dwb-widget .dwb-slot {
                width: 100% !important;
                max-width: 100% !important;
            }
        }