        .provider-locator {
            background: #fff;
            padding: 0;
            min-height: calc(100vh - 110px);
            position: relative;
            overflow: hidden;
        }

        .provider-left-col {
            background: #f8f9fb;
            padding: 18px 36px 36px;
            min-height: calc(100vh - 110px);
            max-height: calc(100vh - 110px);
            overflow-y: auto;
            overflow-x: hidden;
            position: absolute;
            top: 0;
            left: 0;
            width: 520px;
            z-index: 5;
            transform: translateX(-110%);
            opacity: 0;
            transition: transform .35s ease, opacity .35s ease;
        }

        .provider-right-col {
            padding: 0;
            min-height: calc(100vh - 110px);
            position: relative;
            z-index: 1;
            width: 100%;
            transition: margin-left .35s ease, width .35s ease;
        }

        .provider-right-col::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(21, 24, 28, 0.34);
            pointer-events: none;
            z-index: 2;
            transition: opacity .35s ease;
        }

        .provider-locator.search-active .provider-left-col {
            transform: translateX(0);
            opacity: 1;
        }

        .provider-locator.search-active .provider-right-col {
            margin-left: 420px;
            width: calc(100% - 420px);
        }

        .provider-locator.search-active .provider-right-col::before {
            opacity: 0;
        }

        .provider-map {
            width: 100%;
            height: 100%;
            border: 0;
            background: #e8e8e8;
            position: relative;
            z-index: 1;
        }

        @media (min-width: 992px) {
            .provider-map {
                height: calc(100vh - 110px);
                min-height: calc(100vh - 110px);
                top: 0;
            }

            /* Map + overlay search share one cell; search sticks on page scroll */
            .provider-locator:not(.search-active) {
                overflow: visible;
            }

            .provider-locator:not(.search-active) .provider-right-col {
                display: grid;
                grid-template-areas: "stack";
            }

            .provider-locator:not(.search-active) .provider-map {
                grid-area: stack;
                width: 100%;
                z-index: 1;
            }

            .provider-locator:not(.search-active) .provider-map-zoom-hint {
                grid-area: stack;
                position: relative;
                align-self: end;
                justify-self: center;
                left: auto;
                bottom: auto;
                transform: none;
                margin-bottom: 18px;
                z-index: 7;
            }

            .provider-locator:not(.search-active) .provider-initial-search {
                position: sticky;
                top: 100px;
                grid-area: stack;
                align-self: start;
                justify-self: center;
                left: auto;
                transform: none;
                margin-top: 44px;
                z-index: 8;
            }
        }

        .provider-map-zoom-hint {
            position: absolute;
            left: 50%;
            bottom: 18px;
            transform: translateX(-50%);
            z-index: 6;
            background: rgba(18, 22, 27, 0.78);
            color: #ffffff;
            font-size: 16px;
            font-weight: 500;
            padding: 7px 12px;
            border-radius: 999px;
            pointer-events: none;
            letter-spacing: 0.2px;
            white-space: nowrap;
        }

        .leaflet-container,
        .leaflet-pane,
        .leaflet-control {
            z-index: 1 !important;
        }

        #providerMap .leaflet-marker-pane {
            z-index: 500 !important;
        }

        #providerMap .leaflet-popup-pane {
            z-index: 950 !important;
        }

        #providerMap .leaflet-tooltip-pane {
            z-index: 1100 !important;
        }

        .leaflet-control-attribution {
            display: none !important;
        }

        .rbt-header,
        .rbt-header-wrapper {
            position: relative;
            z-index: 1200;
        }

        .socialsider {
            z-index: 1300 !important;
        }

        .provider-search-label {
            display: block;
            font-weight: 600;
            margin-bottom: 4px;
            font-size: 12px;
            line-height: 1.2;
            letter-spacing: 0.1px;
            color: #1e1e1e;
        }

        .provider-search-label--main {
            font-size: 15px;
            margin-bottom: 8px;
        }

        .provider-search-strip {
            margin-top: 12px;
            margin-bottom: 12px;
            padding: 10px;
            border: 1px solid #ffb36b;
            border-radius: 10px;
            background: linear-gradient(180deg, #f4f6f9 0%, #eff2f6 100%);
        }

        .provider-results-strip {
            margin-top: 10px;
            padding: 10px;
            border: 1px solid #ffb36b;
            border-radius: 10px;
            background: linear-gradient(180deg, #f4f6f9 0%, #eff2f6 100%);
        }

        .provider-search-strip .row {
            --bs-gutter-y: 8px;
        }

        .provider-search-strip .mb--20 {
            margin-bottom: 8px !important;
        }

        .provider-search-actions {
            display: flex;
            gap: 8px;
        }

        .provider-search-actions .rbt-btn {
            flex: 1 1 0;
            height: 38px;
            min-height: 38px;
            padding: 0 14px;
            font-size: 14px;
            font-weight: 600;
            line-height: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .provider-search-actions .provider-view-all-btn {
            border: 2px solid transparent;
            color: #ffffff;
            background-color: #5a626f;
            background-image: linear-gradient(90deg,
                    #3f4650 0%,
                    #5a626f 22%,
                    #7c8694 50%,
                    #5a626f 78%,
                    #3f4650 100%);
            background-size: 220% 100%;
            background-position: 0 0;
            background-repeat: no-repeat;
            box-shadow: none;
            transform: none;
            transition: background-position 0.45s ease-in-out, filter 0.25s ease, color 0.2s ease;
        }

        .provider-search-actions .provider-view-all-btn:hover,
        .provider-search-actions .provider-view-all-btn:focus {
            color: #ffffff;
            background-position: 100% 0;
            filter: brightness(1.08);
            transform: none;
            box-shadow: none;
        }

        .provider-modern-select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-color: #ffffff;
            border: 1px solid #d9dde3;
            border-radius: 10px;
            height: 40px;
            padding: 8px 40px 8px 12px;
            font-size: 14px;
            font-weight: 500;
            color: #2f3440;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236f7782' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 14px center;
            background-size: 16px;
            transition: border-color .2s ease, box-shadow .2s ease;
            cursor: pointer;
        }

        .provider-modern-select:hover {
            border-color: #bfc6d1;
        }

        .provider-modern-select:focus {
            border-color: #ff7a00;
            box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.15);
            outline: none;
        }

        .provider-results {
            margin-top: 0;
            max-height: calc(100vh - 260px);
            overflow-y: auto;
            padding-right: 14px;
        }

        .provider-results-summary {
            font-size: 13px;
            line-height: 1.4;
            color: #4a5568;
        }

        .provider-results-summary strong {
            color: #1e1e1e;
            font-weight: 700;
        }

        .provider-results-summary-note {
            color: #6f7782;
            font-weight: 400;
        }

        .provider-search-location-tooltip {
            font-size: 12px;
            line-height: 1.35;
            padding: 6px 10px;
            border-radius: 8px;
            border: 1px solid rgba(255, 122, 0, 0.35);
            background: rgba(255, 255, 255, 0.96);
            color: #1e1e1e;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
        }

        .provider-hidden-before-search {
            display: none;
        }

        .provider-search-hint {
            margin-top: 10px;
            font-size: 13px;
            color: #c62828;
            display: none;
        }

        .provider-search-hint.is-visible {
            display: block;
        }

        .provider-initial-search {
            position: absolute;
            top: 44px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 6;
            width: fit-content;
            max-width: min(92%, 900px);
            background: rgba(255, 255, 255, 0.97);
            border: 1px solid #e8e8e8;
            border-radius: 10px;
            padding: 18px 18px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
            display: flex;
            flex-direction: column;
            align-items: stretch;
        }

        .provider-initial-search-body {
            width: 100%;
            max-width: 100%;
        }

        .provider-initial-search-row {
            display: flex;
            gap: 8px;
            align-items: center;
            justify-content: center;
        }

        .provider-initial-intro {
            width: 100%;
            box-sizing: border-box;
            margin: 0 0 10px;
            padding: 9px 12px;
            border: 1px solid #ffd08a;
            border-left: 4px solid #ff7a00;
            border-radius: 8px;
            background: #fff8ee;
            color: #8a4b00;
            font-size: 14px;
            line-height: 1.4;
            text-align: center;
        }

        .provider-initial-search .provider-modern-select,
        .provider-initial-search input {
            height: 42px;
            border-radius: 8px;
            margin: 0;
        }

        .provider-initial-country {
            width: 180px;
        }

        .provider-initial-query {
            flex: 0 1 320px;
            margin-left: 0;
            margin-right: 0;
        }

        .provider-initial-radius {
            width: 180px;
        }

        .provider-initial-button {
            min-width: 130px;
            height: 42px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            line-height: 1;
            padding-top: 0;
            padding-bottom: 0;
            padding-left: 16px;
            padding-right: 16px;
            text-align: center;
        }

        .provider-initial-hint {
            width: 100%;
            max-width: 100%;
            margin: 8px 0 0;
            font-size: 12px;
            color: #c62828;
            display: none;
            text-align: center;
        }

        .provider-initial-hint.is-visible {
            display: block;
        }

        .provider-starter-links {
            position: absolute;
            top: 168px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 5;
            width: min(92%, 900px);
        }

        .provider-starter-links-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        .provider-starter-link-card {
            display: block;
            padding: 14px 16px;
            border-radius: 12px;
            border: 1px solid #e9ecf1;
            background: rgba(255, 255, 255, 0.96);
            box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
            text-decoration: none;
            transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        }

        .provider-starter-link-card img {
            width: 100%;
            height: 110px;
            object-fit: cover;
            border-radius: 8px;
            margin-bottom: 10px;
            display: block;
        }

        .provider-starter-link-card:hover,
        .provider-starter-link-card:focus {
            transform: translateY(-2px);
            box-shadow: 0 14px 26px rgba(0, 0, 0, 0.12);
            border-color: #ffc18a;
        }

        .provider-starter-link-card h6 {
            margin: 0 0 4px;
            font-size: 15px;
            color: #1f2937;
            font-weight: 700;
        }

        .provider-starter-link-card p {
            margin: 0;
            font-size: 12px;
            color: #596275;
            line-height: 1.4;
        }

        .provider-locator.search-active .provider-starter-links {
            display: none;
        }

        body.active-dark-mode .provider-locator {
            background: #0f1216;
        }

        body.active-dark-mode .provider-left-col {
            background: #151a20;
            border-right: 1px solid #2a323c;
        }

        body.active-dark-mode .provider-left-col .title,
        body.active-dark-mode .provider-left-col .description,
        body.active-dark-mode .provider-left-col .subtitle {
            color: #e6ebf2;
        }

        body.active-dark-mode .provider-search-label {
            color: #d2dae6;
        }

        body.active-dark-mode .provider-results-summary {
            color: #c0cad8;
        }

        body.active-dark-mode .provider-results-summary strong {
            color: #e6edf7;
        }

        body.active-dark-mode .provider-search-actions .provider-view-all-btn {
            color: #f0f4f8;
            background-color: #3f4754;
            background-image: linear-gradient(90deg,
                    #2a303a 0%,
                    #3f4754 22%,
                    #5c6674 50%,
                    #3f4754 78%,
                    #2a303a 100%);
            background-size: 220% 100%;
            background-position: 0 0;
            transition: background-position 0.45s ease-in-out, filter 0.25s ease, color 0.2s ease;
        }

        body.active-dark-mode .provider-search-actions .provider-view-all-btn:hover,
        body.active-dark-mode .provider-search-actions .provider-view-all-btn:focus {
            color: #ffffff;
            background-position: 100% 0;
            filter: brightness(1.12);
        }

        body.active-dark-mode .provider-modern-select,
        body.active-dark-mode #providerSearch,
        body.active-dark-mode .provider-initial-search input {
            background-color: #1b222b;
            border-color: #313a47;
            color: #e6edf7;
        }

        body.active-dark-mode .provider-modern-select:hover,
        body.active-dark-mode #providerSearch:hover,
        body.active-dark-mode .provider-initial-search input:hover {
            border-color: #465264;
        }

        body.active-dark-mode .provider-modern-select:focus,
        body.active-dark-mode #providerSearch:focus,
        body.active-dark-mode .provider-initial-search input:focus {
            border-color: #ff7a00;
            box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.2);
            color: #ffffff;
        }

        body.active-dark-mode #providerSearch::placeholder,
        body.active-dark-mode .provider-initial-search input::placeholder {
            color: #97a3b4;
        }

        body.active-dark-mode .provider-item {
            background: #1a2029;
            border-color: #2f3947;
        }

        body.active-dark-mode .provider-item h6,
        body.active-dark-mode .provider-item p {
            color: #e1e8f2;
        }

        body.active-dark-mode .provider-item-cta {
            border-top-color: #2f3947;
        }

        body.active-dark-mode .provider-item:hover .provider-item-cta,
        body.active-dark-mode .provider-item.is-active .provider-item-cta {
            border-top-color: rgba(255, 122, 0, 0.45);
        }

        body.active-dark-mode .provider-item.is-active::after {
            border-left-color: #ffa04d;
            filter: drop-shadow(2px 0 4px rgba(0, 0, 0, 0.35));
        }

        body.active-dark-mode .provider-item-link {
            color: #ffa04d;
        }

        body.active-dark-mode .provider-item-link:hover,
        body.active-dark-mode .provider-item-link:focus {
            color: #ffb366;
        }

        .provider-popup .provider-popup-link {
            color: #ff7a00;
            font-weight: 600;
            text-decoration: none;
            word-break: break-word;
        }

        .provider-popup .provider-popup-link:hover {
            text-decoration: underline;
        }

        body.active-dark-mode .provider-search-hint,
        body.active-dark-mode .provider-initial-hint {
            color: #ff9a8e;
        }

        body.active-dark-mode .provider-initial-intro {
            border-color: #6b4a21;
            border-left-color: #ff7a00;
            background: #2a2016;
            color: #ffd8ae;
        }

        body.active-dark-mode .provider-initial-search {
            background: rgba(18, 23, 29, 0.95);
            border-color: #2d3642;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
        }

        body.active-dark-mode .provider-starter-link-card {
            background: rgba(19, 24, 30, 0.95);
            border-color: #323c49;
            box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
        }

        body.active-dark-mode .provider-starter-link-card h6 {
            color: #e7edf8;
        }

        body.active-dark-mode .provider-starter-link-card p {
            color: #c0cad8;
        }

        body.active-dark-mode .provider-map-zoom-hint {
            background: rgba(8, 10, 14, 0.86);
            color: #e7edf7;
        }

        .provider-item {
            position: relative;
            border: 2px solid #d8dde4;
            border-radius: 12px;
            padding: 0;
            margin-bottom: 12px;
            overflow: hidden;
            cursor: pointer;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .provider-item:hover,
        .provider-item.is-active {
            border: 2px solid #ff7a00;
            box-shadow: 0 0 0 1px rgba(255, 122, 0, 0.2);
        }

        .provider-item.is-active {
            overflow: visible;
            z-index: 2;
        }

        .provider-item.is-active::after {
            content: "";
            position: absolute;
            top: 50%;
            right: -12px;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
            border-left: 12px solid #ff7a00;
            pointer-events: none;
            z-index: 3;
            filter: drop-shadow(2px 0 3px rgba(0, 0, 0, 0.08));
        }

        .provider-item-body {
            padding: 14px;
        }

        .provider-item h6 {
            margin-bottom: 4px;
        }

        .provider-item p {
            margin-bottom: 6px;
            font-size: 14px;
        }

        .provider-item-link {
            color: #ff7a00;
            font-weight: 600;
            text-decoration: none;
        }

        .provider-item-link:hover,
        .provider-item-link:focus {
            color: #e56d00;
            text-decoration: underline;
        }

        .provider-item-cta {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            margin: 0;
            border: none;
            border-radius: 0 0 10px 10px;
            border-top: 1px solid #ececec;
            padding: 12px 14px;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.2;
            text-align: center;
            text-decoration: none;
            box-sizing: border-box;
            cursor: pointer;
            overflow: hidden;
        }

        .provider-results .provider-item .provider-item-cta.rbt-btn {
            border-radius: 0 0 10px 10px;
        }

        .provider-results .provider-item-cta {
            filter: grayscale(1);
            opacity: 0.88;
            transition: filter .2s ease, opacity .2s ease, border-top-color .2s ease;
        }

        .provider-item:hover .provider-item-cta,
        .provider-item.is-active .provider-item-cta {
            border-top-color: rgba(255, 122, 0, 0.4);
        }

        .provider-results .provider-item.is-active .provider-item-cta {
            filter: grayscale(0);
            opacity: 1;
        }

        .provider-item-cta:hover,
        .provider-item-cta:focus {
            text-decoration: none;
            color: #fff;
        }

        .provider-marker {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: auto;
            height: auto;
            background: transparent;
            border: none;
            border-radius: 0;
            box-shadow: none;
            line-height: 0;
        }

        .provider-marker-pin {
            display: block;
            width: 32px;
            height: 32px;
            filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
        }

        .provider-marker--active .provider-marker-pin {
            width: 36px;
            height: 36px;
            filter: drop-shadow(0 3px 8px rgba(255, 122, 0, 0.45));
        }

        .provider-marker--active {
            transform: scale(1.05);
        }

        .leaflet-tooltip.provider-marker-tooltip {
            background: rgba(255, 255, 255, 0.62);
            -webkit-backdrop-filter: blur(14px) saturate(160%);
            backdrop-filter: blur(14px) saturate(160%);
            border: 1px solid rgba(255, 255, 255, 0.55);
            border-radius: 10px;
            box-shadow:
                0 4px 18px rgba(0, 0, 0, 0.12),
                inset 0 1px 0 rgba(255, 255, 255, 0.65);
            color: #1e2430;
            font-size: 12px;
            font-weight: 500;
            line-height: 1.35;
            padding: 8px 12px;
            pointer-events: none;
            white-space: nowrap;
            z-index: 1100 !important;
        }

        .leaflet-tooltip-top.provider-marker-tooltip::before {
            border-top-color: rgba(255, 255, 255, 0.62);
        }

        .provider-marker-tooltip__inner {
            display: flex;
            flex-direction: column;
            gap: 2px;
            text-align: center;
        }

        .provider-marker-tooltip__doctor {
            font-weight: 500;
            color: #3a4454;
        }

        .provider-marker-tooltip__clinic {
            font-weight: 700;
            color: #c45a00;
        }

        body.active-dark-mode .leaflet-tooltip.provider-marker-tooltip {
            background: rgba(18, 22, 28, 0.58);
            border-color: rgba(255, 255, 255, 0.22);
            box-shadow:
                0 4px 18px rgba(0, 0, 0, 0.28),
                inset 0 1px 0 rgba(255, 255, 255, 0.12);
            color: #f0f4f8;
        }

        body.active-dark-mode .leaflet-tooltip-top.provider-marker-tooltip::before {
            border-top-color: rgba(18, 22, 28, 0.58);
        }

        body.active-dark-mode .provider-marker-tooltip__doctor {
            color: #d2dae6;
        }

        body.active-dark-mode .provider-marker-tooltip__clinic {
            color: #ffb366;
        }

        .leaflet-popup-content-wrapper {
            border-radius: 12px;
            padding: 0;
            border: 2px solid #ffffff;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
            overflow: visible;
        }

        .leaflet-popup-tip {
            box-shadow: 0 0 0 2px #ffffff;
        }

        /* #providerMap: beat theme/Leaflet defaults so gradient isn’t covered by image */
        #providerMap a.leaflet-popup-close-button {
            position: absolute;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            top: 10px;
            right: 10px;
            margin: 0;
            padding: 0;
            border: 0.5px solid rgba(255, 255, 255, 0.85);
            border-radius: 50%;
            background: linear-gradient(135deg, #ff7a00, #ff3d57);
            color: #ffffff;
            font-size: 16px;
            font-weight: 400;
            line-height: 1;
            text-align: center;
            text-decoration: none;
            z-index: 1000;
            opacity: 0.32;
            box-shadow:
                0 0 0 1px rgba(255, 255, 255, 0.5),
                0 4px 14px rgba(0, 0, 0, 0.12);
            transition: opacity 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        }

        #providerMap a.leaflet-popup-close-button:hover,
        #providerMap a.leaflet-popup-close-button:focus {
            opacity: 1;
            background: linear-gradient(135deg, #ff8f26, #ff5066);
            color: #ffffff;
            border-color: #ffffff;
            text-decoration: none;
            outline: none;
            box-shadow:
                0 0 0 1px rgba(255, 255, 255, 0.95),
                0 4px 14px rgba(0, 0, 0, 0.18);
        }

        .leaflet-popup-content {
            margin: 0;
            width: 280px !important;
        }

        .provider-popup {
            overflow: hidden;
            border-radius: 12px;
            background: #fff;
        }

        .provider-popup img {
            width: 100%;
            height: 140px;
            object-fit: cover;
            display: block;
            border-bottom: 1px solid #ececec;
        }

        .provider-popup-stack {
            margin: 0;
            padding: 0;
        }

        .provider-popup-line {
            margin: 0;
            padding: 7px 12px;
            border-bottom: 1px solid #ececec;
            font-size: 13px;
            line-height: 1.35;
        }

        .provider-popup-line:last-child {
            border-bottom: none;
        }

        .provider-popup-line h6 {
            margin: 0;
            font-size: 16px;
            font-weight: 700;
            line-height: 1.25;
            color: #2f3440;
        }

        .provider-popup-line p {
            margin: 0;
            font-size: 13px;
            line-height: 1.35;
            color: #4a5568;
        }

        .provider-popup .provider-item-cta {
            border-top: 1px solid #ececec;
        }

        .leaflet-popup-content .provider-popup p {
            margin: 0;
        }

        .leaflet-popup-content .provider-popup h6 {
            margin: 0;
        }

        @media (max-width: 991px) {

            /*
             * Mobile: let Leaflet position the popup (fixed + transform breaks inside transformed map panes).
             * Constrain width so the card doesn’t overflow or look stretched.
             */
            #providerMap .leaflet-popup-content-wrapper {
                max-width: calc(100vw - 32px);
                box-sizing: border-box;
            }

            #providerMap .leaflet-popup-content {
                width: min(280px, calc(100vw - 32px)) !important;
                max-width: calc(100vw - 32px) !important;
                box-sizing: border-box;
                max-height: min(58vh, 380px);
                overflow-y: auto;
                overflow-x: hidden;
                -webkit-overflow-scrolling: touch;
                overscroll-behavior: contain;
                touch-action: pan-y;
            }

            #providerMap .provider-popup img {
                max-width: 100%;
            }

            .provider-locator,
            .provider-left-col,
            .provider-right-col {
                min-height: auto;
            }

            .provider-left-col {
                position: static;
                width: 100%;
                order: 2;
                transform: none;
                opacity: 1;
                transition: none;
                max-height: none;
                overflow: visible;
                display: none;
            }

            .provider-locator.search-active .provider-left-col {
                display: block;
            }

            .provider-right-col {
                order: 1;
            }

            .provider-locator.search-active .provider-right-col {
                margin-left: 0;
                width: 100%;
            }

            .provider-initial-search {
                position: static;
                z-index: 3;
                transform: none;
                width: 100%;
                max-width: none;
                padding: 8px 10px;
                box-shadow: none;
                border-radius: 0;
                border-left: 0;
                border-right: 0;
            }

            .provider-right-col::before {
                opacity: 0;
            }

            .provider-starter-links {
                position: static;
                transform: none;
                width: 100%;
                margin-top: 12px;
            }

            .provider-initial-search-body {
                width: 100%;
            }

            .provider-initial-search-row {
                flex-wrap: wrap;
            }

            .provider-initial-country,
            .provider-initial-query,
            .provider-initial-radius,
            .provider-initial-button {
                width: 100%;
            }

            .provider-initial-query {
                flex: 1 1 100%;
            }

            .provider-right-col {
                min-height: 480px;
            }

            .provider-results {
                max-height: none;
            }

            /* Schedule Appointment modal */
            .provider-schedule-modal-overlay {
                position: fixed;
                inset: 0;
                background: rgba(0, 0, 0, 0.55);
                display: none;
                align-items: center;
                justify-content: center;
                padding: 18px;
                z-index: 3000;
            }

            .provider-schedule-modal-overlay.is-open {
                display: flex;
            }

            .provider-schedule-modal {
                width: min(620px, 100%);
                background: #ffffff;
                border-radius: 14px;
                box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
                position: relative;
                overflow: hidden;
            }

            .provider-schedule-modal-inner {
                padding: 18px;
            }

            .provider-schedule-modal-close {
                position: absolute;
                top: 11px;
                right: 12px;
                width: 36px;
                height: 36px;
                border: 1px solid rgba(0, 0, 0, 0.08);
                background: rgba(255, 255, 255, 0.9);
                border-radius: 50%;
                cursor: pointer;
                font-size: 22px;
                line-height: 1;
                color: #2f3440;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .provider-schedule-modal-close:hover {
                border-color: #ff7a00;
            }

            .provider-schedule-modal h2 {
                margin: -18px -18px 18px;
                padding: 20px 18px;
                font-size: 20px;
                font-weight: 800;
                color: #ffffff;
                background: linear-gradient(135deg, #ff7a00, #ff3d57);
            }

            .provider-schedule-modal p {
                margin: 0 0 14px;
                font-size: 13px;
                color: #4a5568;
                line-height: 1.35;
            }

            .provider-schedule-modal strong {
                color: #2f3440;
            }

            .provider-schedule-form-grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 12px;
                margin-top: 6px;
            }

            .provider-schedule-field {
                display: flex;
                flex-direction: column;
            }

            .provider-schedule-label {
                font-size: 12px;
                font-weight: 700;
                color: #2f3440;
                margin: 0 0 6px;
            }

            .provider-schedule-input,
            .provider-schedule-select {
                height: 44px;
                border: 1px solid #e5e7eb;
                border-radius: 10px;
                padding: 0 12px;
                background: #ffffff;
                color: #2f3440;
                font-size: 14px;
            }

            .provider-schedule-input:focus,
            .provider-schedule-select:focus {
                outline: none;
                border-color: #ff7a00;
                box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.16);
            }

            .provider-schedule-disclaimer {
                font-size: 11px;
                color: #6b7280;
                margin-top: 10px;
                margin-bottom: 14px;
                line-height: 1.35;
            }

            .provider-schedule-alert-note {
                margin-top: 14px;
                margin-bottom: 8px;
                padding: 10px 12px;
                border: 1px solid #ffd08a;
                border-left: 4px solid #ff7a00;
                border-radius: 8px;
                background: #fff8ee;
                color: #8a4b00;
                font-size: 12px;
                line-height: 1.45;
            }

            .provider-schedule-recaptcha-wrap {
                margin-top: 14px;
                display: flex;
                justify-content: center;
            }

            .provider-schedule-recaptcha {
                min-height: 78px;
            }

            .provider-schedule-form-message {
                margin-top: 10px;
                font-size: 13px;
                font-weight: 700;
                color: #ff7a00;
                min-height: 20px;
            }

            .provider-schedule-success {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                text-align: center;
                padding: 44px 32px 36px;
            }

            .provider-schedule-success-icon {
                width: 112px;
                height: 112px;
                margin: 0 auto 30px;
                flex-shrink: 0;
            }

            .provider-schedule-success-icon svg {
                width: 112px;
                height: 112px;
                display: block;
            }

            .provider-schedule-success-circle {
                fill: #22c55e;
            }

            .provider-schedule-success-check {
                stroke: #ffffff;
                stroke-width: 3.5;
                stroke-linecap: round;
                stroke-linejoin: round;
            }

            .provider-schedule-success-message {
                margin: 0 auto 30px;
                max-width: 440px;
                width: 100%;
                font-size: 22px;
                line-height: 1.6;
                font-weight: 600;
                text-align: center;
                color: #1e1e1e;
            }

            .provider-schedule-success-done {
                width: 100%;
                max-width: 280px;
                padding: 0 16px;
            }

            .provider-schedule-modal-overlay.is-success .provider-schedule-modal-inner>h2,
            .provider-schedule-modal-overlay.is-success .provider-schedule-modal-inner>#providerScheduleModalSubtext {
                display: none;
            }

            @media (max-width: 575px) {
                .provider-starter-links {
                    padding: 0 8px;
                }

                .provider-starter-links-grid {
                    grid-template-columns: 1fr;
                }

                .provider-starter-link-card {
                    width: 100%;
                    box-sizing: border-box;
                }

                .provider-schedule-modal-overlay {
                    align-items: flex-start;
                    overflow-y: auto;
                    padding: 12px;
                }

                .provider-schedule-modal {
                    max-height: calc(100vh - 24px);
                    overflow-y: auto;
                }

                .provider-schedule-form-grid {
                    grid-template-columns: 1fr;
                }
            }

            body.active-dark-mode .provider-schedule-modal {
                background: #151a20;
            }

            body.active-dark-mode .provider-schedule-modal h2,
            body.active-dark-mode .provider-schedule-modal strong {
                color: #e6ebf2;
            }

            body.active-dark-mode .provider-schedule-modal p {
                color: #c6d0e0;
            }

            body.active-dark-mode .provider-schedule-modal-close {
                background: rgba(21, 26, 32, 0.85);
                border-color: #2f3947;
                color: #e6ebf2;
            }

            body.active-dark-mode .provider-schedule-label {
                color: #e6ebf2;
            }

            body.active-dark-mode .provider-schedule-input,
            body.active-dark-mode .provider-schedule-select {
                background: #1b222b;
                border-color: #313a47;
                color: #e6edf7;
            }

            body.active-dark-mode .provider-schedule-input:focus,
            body.active-dark-mode .provider-schedule-select:focus {
                border-color: #ff7a00;
                box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.22);
            }

            body.active-dark-mode .provider-schedule-success-message {
                color: #e6ebf2;
            }
        }

        /* Schedule Appointment modal (desktop + mobile) */
        .provider-schedule-modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            display: none;
            align-items: center;
            justify-content: center;
            padding: 18px;
            z-index: 3000;
        }

        .provider-schedule-modal-overlay.is-open {
            display: flex;
        }

        .provider-schedule-modal {
            width: min(620px, 100%);
            background: #ffffff;
            border-radius: 14px;
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
            position: relative;
            overflow: hidden;
        }

        .provider-schedule-modal-inner {
            padding: 18px;
        }

        .provider-schedule-modal-close {
            position: absolute;
            top: 11px;
            right: 12px;
            width: 36px;
            height: 36px;
            border: 1px solid rgba(0, 0, 0, 0.08);
            background: rgba(255, 255, 255, 0.9);
            border-radius: 50%;
            cursor: pointer;
            font-size: 22px;
            line-height: 1;
            color: #2f3440;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .provider-schedule-modal-close:hover {
            border-color: #ff7a00;
        }

        .provider-schedule-modal h2 {
            margin: -18px -18px 18px;
            padding: 20px 18px;
            font-size: 20px;
            font-weight: 800;
            color: #ffffff;
            background: linear-gradient(135deg, #ff7a00, #ff3d57);
        }

        .provider-schedule-modal p {
            margin: 0 0 14px;
            font-size: 13px;
            color: #4a5568;
            line-height: 1.35;
        }

        .provider-schedule-modal strong {
            color: #2f3440;
        }

        .provider-schedule-form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-top: 6px;
        }

        .provider-schedule-field {
            display: flex;
            flex-direction: column;
        }

        .provider-schedule-label {
            font-size: 12px;
            font-weight: 700;
            color: #2f3440;
            margin: 0 0 6px;
        }

        .provider-schedule-input,
        .provider-schedule-select {
            height: 44px;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            padding: 0 12px;
            background: #ffffff;
            color: #2f3440;
            font-size: 14px;
        }

        .provider-schedule-input:focus,
        .provider-schedule-select:focus {
            outline: none;
            border-color: #ff7a00;
            box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.16);
        }

        .provider-schedule-disclaimer {
            font-size: 11px;
            color: #6b7280;
            margin-top: 10px;
            margin-bottom: 14px;
            line-height: 1.35;
        }

        .provider-schedule-alert-note {
            margin-top: 14px;
            margin-bottom: 8px;
            padding: 10px 12px;
            border: 1px solid #ffd08a;
            border-left: 4px solid #ff7a00;
            border-radius: 8px;
            background: #fff8ee;
            color: #8a4b00;
            font-size: 12px;
            line-height: 1.45;
        }

        .provider-schedule-recaptcha-wrap {
            margin-top: 14px;
            display: flex;
            justify-content: center;
        }

        .provider-schedule-recaptcha {
            min-height: 78px;
        }

        .provider-schedule-form-message {
            margin-top: 10px;
            font-size: 13px;
            font-weight: 700;
            color: #ff7a00;
            min-height: 20px;
        }

        .provider-schedule-success {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 44px 32px 36px;
        }

        .provider-schedule-success-icon {
            width: 112px;
            height: 112px;
            margin: 0 auto 30px;
            flex-shrink: 0;
        }

        .provider-schedule-success-icon svg {
            width: 112px;
            height: 112px;
            display: block;
        }

        .provider-schedule-success-circle {
            fill: #22c55e;
        }

        .provider-schedule-success-check {
            stroke: #ffffff;
            stroke-width: 3.5;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .provider-schedule-success-message {
            margin: 0 auto 30px;
            max-width: 440px;
            width: 100%;
            font-size: 22px;
            line-height: 1.6;
            font-weight: 600;
            text-align: center;
            color: #1e1e1e;
        }

        .provider-schedule-success-done {
            width: 100%;
            max-width: 280px;
            padding: 0 16px;
        }

        .provider-schedule-modal-overlay.is-success .provider-schedule-modal-inner>h2,
        .provider-schedule-modal-overlay.is-success .provider-schedule-modal-inner>#providerScheduleModalSubtext {
            display: none;
        }

        @media (max-width: 575px) {
            .provider-schedule-modal-overlay {
                align-items: flex-start;
                overflow-y: auto;
                padding: 12px;
            }

            .provider-schedule-modal {
                max-height: calc(100vh - 24px);
                overflow-y: auto;
            }

            .provider-schedule-form-grid {
                grid-template-columns: 1fr;
            }
        }

        body.active-dark-mode .provider-schedule-modal {
            background: #151a20;
        }

        body.active-dark-mode .provider-schedule-success-message {
            color: #e6ebf2;
        }

        body.active-dark-mode .provider-schedule-modal h2,
        body.active-dark-mode .provider-schedule-modal strong {
            color: #e6ebf2;
        }

        body.active-dark-mode .provider-schedule-modal p {
            color: #c6d0e0;
        }

        body.active-dark-mode .provider-schedule-modal-close {
            background: rgba(21, 26, 32, 0.85);
            border-color: #2f3947;
            color: #e6ebf2;
        }

        body.active-dark-mode .provider-schedule-label {
            color: #e6ebf2;
        }

        body.active-dark-mode .provider-schedule-input,
        body.active-dark-mode .provider-schedule-select {
            background: #1b222b;
            border-color: #313a47;
            color: #e6edf7;
        }

        body.active-dark-mode .provider-schedule-input:focus,
        body.active-dark-mode .provider-schedule-select:focus {
            border-color: #ff7a00;
            box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.22);
        }

        /*
         * Mobile / touch: hide desktop-only Ctrl+scroll hint (Bootstrap d-lg-block shows from 992px up).
         */
        @media screen and (max-width: 991px) {
            #locations .provider-map-zoom-hint {
                display: none !important;
            }
        }

        @media (hover: none) and (pointer: coarse) {
            #locations .provider-map-zoom-hint {
                display: none !important;
            }
        }