/**
 * Serenity Rep Finder - Frontend Styles
 * Matches serenityslidingdoor.com brand language
 * Square edges, teal #0076a0, professional B2B aesthetic
 */

.srf-rep-finder {
    --srf-primary: #0076a0;
    --srf-primary-dark: #005f82;
    --srf-text: #060606;
    --srf-text-light: #ffffff;
    --srf-text-muted: #5a5a5a;
    --srf-bg: #ffffff;
    --srf-bg-alt: #f5f7f9;
    --srf-bg-dark: #060606;
    --srf-border: #e0e0e0;
    --srf-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    --srf-card-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
    --srf-transition: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Container */
.srf-rep-finder {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    color: var(--srf-text);
    line-height: 1.6;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
}

.srf-rep-finder *,
.srf-rep-finder *::before,
.srf-rep-finder *::after {
    box-sizing: border-box;
}

/* ============================================
   BREAKDANCE OVERRIDES
   Reset Breakdance container interference

   Problem: Breakdance applies flex-direction:column to
   .section-container which cascades into our layout.
   Solution: Use :has() to reset parent containers and
   use max specificity on our flex elements.
   ============================================ */

/* Reset Breakdance section containers that hold our plugin */
.breakdance .section-container:has(.srf-rep-finder) {
    display: block !important;
    flex-direction: unset !important;
}

/* For browsers without :has() support, use JS class fallback */
.breakdance .section-container.srf-container-reset {
    display: block !important;
    flex-direction: unset !important;
}

/* Kill ALL Breakdance flex/grid inheritance on our elements */
.bde-section .srf-rep-finder,
.bde-section__content .srf-rep-finder,
.bde-column .srf-rep-finder,
.bde-div .srf-rep-finder,
.bde-code .srf-rep-finder,
.bde-shortcode .srf-rep-finder,
[class*="bde-"] .srf-rep-finder,
[class*="breakdance"] .srf-rep-finder,
.breakdance .srf-rep-finder {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    float: none !important;
    flex: none !important;
    flex-direction: unset !important;
}

/* Force split panel to be flex row */
.bde-section .srf-split-panel,
.bde-section__content .srf-split-panel,
.bde-column .srf-split-panel,
.bde-div .srf-split-panel,
.bde-code .srf-split-panel,
.bde-shortcode .srf-split-panel,
[class*="bde-"] .srf-split-panel,
[class*="breakdance"] .srf-split-panel,
body .srf-split-panel {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Force map panel width */
.bde-section .srf-map-panel,
.bde-section__content .srf-map-panel,
.bde-column .srf-map-panel,
.bde-div .srf-map-panel,
[class*="bde-"] .srf-map-panel,
[class*="breakdance"] .srf-map-panel,
body .srf-map-panel {
    display: flex !important;
    flex-direction: column !important;
    width: 60% !important;
    min-width: 60% !important;
    max-width: 60% !important;
    flex: 0 0 60% !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Force cards panel width */
.bde-section .srf-cards-panel,
.bde-section__content .srf-cards-panel,
.bde-column .srf-cards-panel,
.bde-div .srf-cards-panel,
[class*="bde-"] .srf-cards-panel,
[class*="breakdance"] .srf-cards-panel,
body .srf-cards-panel {
    display: block !important;
    width: 40% !important;
    min-width: 40% !important;
    max-width: 40% !important;
    flex: 0 0 40% !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Ensure map container is flex */
.bde-section .srf-map-container,
[class*="bde-"] .srf-map-container,
[class*="breakdance"] .srf-map-container,
body .srf-map-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
}

/* Ensure SVG sizing */
.bde-section .srf-map-container svg,
[class*="bde-"] .srf-map-container svg,
[class*="breakdance"] .srf-map-container svg,
body .srf-map-container svg {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
}

/* Fix search icon */
.bde-section .srf-search-icon,
[class*="bde-"] .srf-search-icon,
[class*="breakdance"] .srf-search-icon,
body .srf-search-icon {
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
    min-height: 1rem !important;
    max-width: 1rem !important;
    max-height: 1rem !important;
}

/* Mobile: Stack vertically */
@media (max-width: 1023px) {
    .bde-section .srf-split-panel,
    [class*="bde-"] .srf-split-panel,
    [class*="breakdance"] .srf-split-panel,
    body .srf-split-panel {
        flex-direction: column !important;
    }

    .bde-section .srf-map-panel,
    [class*="bde-"] .srf-map-panel,
    [class*="breakdance"] .srf-map-panel,
    body .srf-map-panel {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }

    .bde-section .srf-cards-panel,
    [class*="bde-"] .srf-cards-panel,
    [class*="breakdance"] .srf-cards-panel,
    body .srf-cards-panel {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }
}

/* ============================================
   END BREAKDANCE OVERRIDES
   ============================================ */

/* Header with toggle + search */
.srf-rep-finder .srf-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--srf-border);
}

/* Country Toggle Buttons - Serenity style */
.srf-rep-finder .srf-country-toggle,
.bde-section .srf-country-toggle,
[class*="bde-"] .srf-country-toggle,
[class*="breakdance"] .srf-country-toggle,
body .srf-country-toggle {
    display: flex !important;
    gap: 0 !important;
}

.srf-rep-finder .srf-toggle-btn,
.bde-section .srf-toggle-btn,
[class*="bde-"] .srf-toggle-btn,
[class*="breakdance"] .srf-toggle-btn,
body .srf-toggle-btn {
    padding: 0.875rem 2rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: 1px solid var(--srf-border) !important;
    background: var(--srf-bg-alt) !important;
    color: var(--srf-text-muted) !important;
    cursor: pointer !important;
    transition: all 0.3s var(--srf-transition) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-family: inherit !important;
}

.srf-rep-finder .srf-toggle-btn:first-child,
.bde-section .srf-toggle-btn:first-child,
[class*="bde-"] .srf-toggle-btn:first-child,
[class*="breakdance"] .srf-toggle-btn:first-child,
body .srf-toggle-btn:first-child {
    border-right: none !important;
}

.srf-rep-finder .srf-toggle-btn.is-active,
.bde-section .srf-toggle-btn.is-active,
[class*="bde-"] .srf-toggle-btn.is-active,
[class*="breakdance"] .srf-toggle-btn.is-active,
body .srf-toggle-btn.is-active {
    background: var(--srf-primary) !important;
    color: var(--srf-text-light) !important;
    border-color: var(--srf-primary) !important;
}

.srf-rep-finder .srf-toggle-btn:hover:not(.is-active),
.bde-section .srf-toggle-btn:hover:not(.is-active),
[class*="bde-"] .srf-toggle-btn:hover:not(.is-active),
[class*="breakdance"] .srf-toggle-btn:hover:not(.is-active),
body .srf-toggle-btn:hover:not(.is-active) {
    background: var(--srf-border) !important;
    color: var(--srf-text) !important;
}

/* Search */
.srf-rep-finder .srf-search,
.bde-section .srf-search,
[class*="bde-"] .srf-search,
[class*="breakdance"] .srf-search,
body .srf-search {
    position: relative !important;
    flex: 1 !important;
    max-width: 320px !important;
}

.srf-rep-finder .srf-search-input,
.bde-section .srf-search-input,
[class*="bde-"] .srf-search-input,
[class*="breakdance"] .srf-search-input,
body .srf-search-input {
    width: 100% !important;
    padding: 0.875rem 1rem 0.875rem 2.75rem !important;
    border: 1px solid var(--srf-border) !important;
    border-radius: 0 !important;
    font-size: 0.9375rem !important;
    background: var(--srf-bg) !important;
    color: var(--srf-text) !important;
    transition: border-color 0.3s var(--srf-transition), box-shadow 0.3s var(--srf-transition) !important;
    margin: 0 !important;
    height: auto !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    font-family: inherit !important;
}

.srf-rep-finder .srf-search-input:focus,
.bde-section .srf-search-input:focus,
[class*="bde-"] .srf-search-input:focus,
[class*="breakdance"] .srf-search-input:focus,
body .srf-search-input:focus {
    outline: none !important;
    border-color: var(--srf-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 118, 160, 0.1) !important;
}

.srf-rep-finder .srf-search-input::placeholder,
.bde-section .srf-search-input::placeholder,
[class*="bde-"] .srf-search-input::placeholder,
[class*="breakdance"] .srf-search-input::placeholder,
body .srf-search-input::placeholder {
    color: var(--srf-text-muted) !important;
}

.srf-rep-finder .srf-search-icon,
.bde-section .srf-search-icon,
[class*="bde-"] .srf-search-icon,
[class*="breakdance"] .srf-search-icon,
body .srf-search-icon {
    position: absolute !important;
    left: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
    min-height: 1rem !important;
    max-width: 1rem !important;
    max-height: 1rem !important;
    color: var(--srf-text-muted) !important;
    pointer-events: none !important;
    display: block !important;
}

.srf-rep-finder .srf-search-icon circle,
.srf-rep-finder .srf-search-icon path,
.bde-section .srf-search-icon circle,
.bde-section .srf-search-icon path,
[class*="bde-"] .srf-search-icon circle,
[class*="bde-"] .srf-search-icon path,
[class*="breakdance"] .srf-search-icon circle,
[class*="breakdance"] .srf-search-icon path,
body .srf-search-icon circle,
body .srf-search-icon path {
    stroke: currentColor !important;
    fill: none !important;
}

/* Country Sections */
.srf-rep-finder .srf-country-section {
    display: none;
}

.srf-rep-finder .srf-country-section.is-active {
    display: block;
}

/* Split Panel Layout */
.srf-rep-finder .srf-split-panel {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    background: var(--srf-bg);
    box-shadow: var(--srf-card-shadow);
    min-height: 550px;
}

.srf-rep-finder .srf-map-panel {
    width: 60% !important;
    flex: 0 0 60% !important;
    padding: 2.5rem;
    position: sticky;
    top: 100px;
    height: calc(100vh - 140px);
    max-height: 650px;
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    background: var(--srf-bg);
    border-right: 1px solid var(--srf-border);
}

.srf-rep-finder .srf-map-container {
    flex: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 280px;
    position: relative;
}

.srf-rep-finder .srf-map-container svg {
    width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    display: block !important;
}

.srf-rep-finder .srf-map-hint {
    text-align: center;
    color: var(--srf-text-muted);
    font-size: 0.8125rem;
    margin-top: 1.5rem;
    padding: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.srf-rep-finder .srf-cards-panel {
    width: 40% !important;
    flex: 0 0 40% !important;
    background: var(--srf-bg-alt);
    max-height: calc(100vh - 140px);
    overflow-y: auto;
}

.srf-rep-finder .srf-cards-list {
    padding: 1.5rem;
}

/* Rep Cards - Clean, professional */
.srf-rep-finder .srf-rep-card,
.bde-section .srf-rep-card,
[class*="bde-"] .srf-rep-card,
[class*="breakdance"] .srf-rep-card,
body .srf-rep-card {
    background: var(--srf-bg) !important;
    padding: 1.5rem !important;
    margin-bottom: 1rem !important;
    border-radius: 0 !important;
    border: none !important;
    border-left: 4px solid var(--rep-color, var(--srf-primary)) !important;
    box-shadow: var(--srf-card-shadow) !important;
    transition: transform 0.3s var(--srf-transition), box-shadow 0.3s var(--srf-transition) !important;
    display: block !important;
}

.srf-rep-finder .srf-rep-card:last-child,
.bde-section .srf-rep-card:last-child,
[class*="bde-"] .srf-rep-card:last-child,
[class*="breakdance"] .srf-rep-card:last-child,
body .srf-rep-card:last-child {
    margin-bottom: 0 !important;
}

.srf-rep-finder .srf-rep-card:hover,
.bde-section .srf-rep-card:hover,
[class*="bde-"] .srf-rep-card:hover,
[class*="breakdance"] .srf-rep-card:hover,
body .srf-rep-card:hover {
    box-shadow: var(--srf-card-shadow-hover) !important;
    transform: translateY(-2px) !important;
}

.srf-rep-finder .srf-rep-card.is-highlighted,
.bde-section .srf-rep-card.is-highlighted,
[class*="bde-"] .srf-rep-card.is-highlighted,
[class*="breakdance"] .srf-rep-card.is-highlighted,
body .srf-rep-card.is-highlighted {
    background: linear-gradient(to right, rgba(0, 118, 160, 0.06), var(--srf-bg)) !important;
    border-left-color: var(--srf-primary) !important;
    box-shadow: var(--srf-card-shadow-hover) !important;
}

.srf-rep-finder .srf-card-state,
.bde-section .srf-card-state,
[class*="bde-"] .srf-card-state,
[class*="breakdance"] .srf-card-state,
body .srf-card-state {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--srf-primary) !important;
    margin: 0 0 0.375rem 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.srf-rep-finder .srf-card-note,
.bde-section .srf-card-note,
[class*="bde-"] .srf-card-note,
[class*="breakdance"] .srf-card-note,
body .srf-card-note {
    display: inline-block !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--srf-primary) !important;
    background: rgba(0, 118, 160, 0.1) !important;
    border: 1px solid var(--srf-primary) !important;
    font-style: normal !important;
    margin: 0 0 0.625rem 0 !important;
    padding: 0.25rem 0.625rem !important;
    line-height: 1.3 !important;
}

.srf-rep-finder .srf-card-name,
.bde-section .srf-card-name,
[class*="bde-"] .srf-card-name,
[class*="breakdance"] .srf-card-name,
body .srf-card-name {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: var(--srf-text) !important;
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

.srf-rep-finder .srf-card-contact,
.bde-section .srf-card-contact,
[class*="bde-"] .srf-card-contact,
[class*="breakdance"] .srf-card-contact,
body .srf-card-contact {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.25rem !important;
    font-size: 0.9375rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.srf-rep-finder .srf-card-phone,
.srf-rep-finder .srf-card-email,
.srf-rep-finder .srf-card-website,
.bde-section .srf-card-phone,
.bde-section .srf-card-email,
.bde-section .srf-card-website,
[class*="bde-"] .srf-card-phone,
[class*="bde-"] .srf-card-email,
[class*="bde-"] .srf-card-website,
[class*="breakdance"] .srf-card-phone,
[class*="breakdance"] .srf-card-email,
[class*="breakdance"] .srf-card-website,
body .srf-card-phone,
body .srf-card-email,
body .srf-card-website {
    color: var(--srf-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s var(--srf-transition) !important;
}

.srf-rep-finder .srf-card-phone:hover,
.srf-rep-finder .srf-card-email:hover,
.srf-rep-finder .srf-card-website:hover,
.bde-section .srf-card-phone:hover,
.bde-section .srf-card-email:hover,
.bde-section .srf-card-website:hover,
[class*="bde-"] .srf-card-phone:hover,
[class*="bde-"] .srf-card-email:hover,
[class*="bde-"] .srf-card-website:hover,
[class*="breakdance"] .srf-card-phone:hover,
[class*="breakdance"] .srf-card-email:hover,
[class*="breakdance"] .srf-card-website:hover,
body .srf-card-phone:hover,
body .srf-card-email:hover,
body .srf-card-website:hover {
    color: var(--srf-primary-dark) !important;
    text-decoration: underline !important;
}

/* Hidden cards */
.srf-rep-finder .srf-rep-card.is-hidden {
    display: none !important;
}

/* Split State Cards (multiple regions in one card) */
.srf-rep-finder .srf-split-card,
.bde-section .srf-split-card,
[class*="bde-"] .srf-split-card,
[class*="breakdance"] .srf-split-card,
body .srf-split-card {
    border-left: 4px solid var(--srf-primary) !important;
}

.srf-rep-finder .srf-card-regions,
.bde-section .srf-card-regions,
[class*="bde-"] .srf-card-regions,
[class*="breakdance"] .srf-card-regions,
body .srf-card-regions {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin-top: 0.75rem !important;
}

.srf-rep-finder .srf-region,
.bde-section .srf-region,
[class*="bde-"] .srf-region,
[class*="breakdance"] .srf-region,
body .srf-region {
    padding: 1rem !important;
    border-left: 3px solid var(--rep-color, var(--srf-primary)) !important;
    background: var(--srf-bg-alt) !important;
    margin-bottom: 0.5rem !important;
}

.srf-rep-finder .srf-region:last-child,
.bde-section .srf-region:last-child,
[class*="bde-"] .srf-region:last-child,
[class*="breakdance"] .srf-region:last-child,
body .srf-region:last-child {
    margin-bottom: 0 !important;
}

.srf-rep-finder .srf-region-label,
.bde-section .srf-region-label,
[class*="bde-"] .srf-region-label,
[class*="breakdance"] .srf-region-label,
body .srf-region-label {
    display: inline-block !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--srf-text-light) !important;
    background: var(--rep-color, var(--srf-primary)) !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0.25rem 0.5rem !important;
    line-height: 1.3 !important;
}

.srf-rep-finder .srf-region .srf-card-name,
.bde-section .srf-region .srf-card-name,
[class*="bde-"] .srf-region .srf-card-name,
[class*="breakdance"] .srf-region .srf-card-name,
body .srf-region .srf-card-name {
    font-size: 1rem !important;
    margin-bottom: 0.5rem !important;
}

.srf-rep-finder .srf-region .srf-card-contact,
.bde-section .srf-region .srf-card-contact,
[class*="bde-"] .srf-region .srf-card-contact,
[class*="breakdance"] .srf-region .srf-card-contact,
body .srf-region .srf-card-contact {
    font-size: 0.875rem !important;
}

/* Canada Section */
.srf-rep-finder .srf-ca-section {
    padding: 2rem;
    background: var(--srf-bg);
    box-shadow: var(--srf-card-shadow);
}

.srf-rep-finder .srf-canada-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1rem;
}

.srf-rep-finder .srf-canada-card {
    margin-bottom: 0;
}

/* No reps message */
.srf-rep-finder .srf-no-reps {
    text-align: center;
    padding: 4rem 2rem;
    color: var(--srf-text-muted);
}

.srf-rep-finder .srf-no-reps p {
    margin: 0 0 0.5rem 0;
}

.srf-rep-finder .srf-no-reps a {
    color: var(--srf-primary);
    font-weight: 600;
    text-decoration: none;
}

.srf-rep-finder .srf-no-reps a:hover {
    text-decoration: underline;
}

/* Map SVG States */
.srf-rep-finder .srf-map-container svg path[id^="US-"],
.bde-section .srf-map-container svg path[id^="US-"],
[class*="bde-"] .srf-map-container svg path[id^="US-"],
[class*="breakdance"] .srf-map-container svg path[id^="US-"],
body .srf-map-container svg path[id^="US-"] {
    fill: var(--srf-border) !important;
    stroke: #fff !important;
    stroke-width: 1 !important;
    cursor: pointer !important;
    transition: fill 0.25s var(--srf-transition), opacity 0.25s var(--srf-transition) !important;
}

.srf-rep-finder .srf-map-container svg path[id^="US-"]:hover,
.bde-section .srf-map-container svg path[id^="US-"]:hover,
[class*="bde-"] .srf-map-container svg path[id^="US-"]:hover,
[class*="breakdance"] .srf-map-container svg path[id^="US-"]:hover,
body .srf-map-container svg path[id^="US-"]:hover {
    fill: var(--srf-primary) !important;
    opacity: 0.85 !important;
}

.srf-rep-finder .srf-map-container svg path[id^="US-"].has-rep,
.bde-section .srf-map-container svg path[id^="US-"].has-rep,
[class*="bde-"] .srf-map-container svg path[id^="US-"].has-rep,
[class*="breakdance"] .srf-map-container svg path[id^="US-"].has-rep,
body .srf-map-container svg path[id^="US-"].has-rep {
    fill: var(--state-color, var(--srf-primary)) !important;
}

.srf-rep-finder .srf-map-container svg path[id^="US-"].has-rep:hover,
.bde-section .srf-map-container svg path[id^="US-"].has-rep:hover,
[class*="bde-"] .srf-map-container svg path[id^="US-"].has-rep:hover,
[class*="breakdance"] .srf-map-container svg path[id^="US-"].has-rep:hover,
body .srf-map-container svg path[id^="US-"].has-rep:hover {
    opacity: 0.8 !important;
}

.srf-rep-finder .srf-map-container svg path[id^="US-"].is-active,
.bde-section .srf-map-container svg path[id^="US-"].is-active,
[class*="bde-"] .srf-map-container svg path[id^="US-"].is-active,
[class*="breakdance"] .srf-map-container svg path[id^="US-"].is-active,
body .srf-map-container svg path[id^="US-"].is-active {
    fill: var(--srf-primary) !important;
    stroke: var(--srf-text) !important;
    stroke-width: 2 !important;
}

.srf-rep-finder .srf-map-container svg path[id^="US-"].is-dimmed,
.bde-section .srf-map-container svg path[id^="US-"].is-dimmed,
[class*="bde-"] .srf-map-container svg path[id^="US-"].is-dimmed,
[class*="breakdance"] .srf-map-container svg path[id^="US-"].is-dimmed,
body .srf-map-container svg path[id^="US-"].is-dimmed {
    opacity: 0.25 !important;
}

/* Mobile Responsive */
@media (max-width: 1023px) {
    .srf-rep-finder .srf-header {
        flex-direction: column;
        align-items: stretch;
    }

    .srf-rep-finder .srf-country-toggle {
        width: 100%;
    }

    .srf-rep-finder .srf-toggle-btn {
        flex: 1;
        text-align: center;
    }

    .srf-rep-finder .srf-search {
        max-width: 100%;
    }

    .srf-rep-finder .srf-split-panel {
        flex-direction: column !important;
    }

    .srf-rep-finder .srf-map-panel {
        width: 100% !important;
        flex: 0 0 auto !important;
        position: relative;
        height: auto;
        max-height: 45vh;
        padding: 1.5rem;
        border-right: none;
        border-bottom: 1px solid var(--srf-border);
    }

    .srf-rep-finder .srf-cards-panel {
        width: 100% !important;
        flex: 0 0 auto !important;
        max-height: none;
        overflow: visible;
    }

    .srf-rep-finder .srf-cards-list {
        padding: 1.25rem;
    }
}

@media (max-width: 600px) {
    .srf-rep-finder .srf-toggle-btn {
        padding: 0.75rem 1rem !important;
        font-size: 0.8125rem !important;
    }

    .srf-rep-finder .srf-rep-card {
        padding: 1.25rem;
    }

    .srf-rep-finder .srf-card-contact {
        flex-direction: column;
        gap: 0.5rem;
    }

    .srf-rep-finder .srf-canada-grid {
        grid-template-columns: 1fr;
    }

    .srf-rep-finder .srf-map-panel {
        padding: 1rem;
    }

    .srf-rep-finder .srf-map-hint {
        font-size: 0.75rem;
    }
}

/* ============================================
   OFFICE LOCATION MARKERS
   Small dots on map showing rep office locations
   ============================================ */

.srf-rep-finder .srf-office-markers {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.srf-rep-finder .srf-office-marker,
.bde-section .srf-office-marker,
[class*="bde-"] .srf-office-marker,
[class*="breakdance"] .srf-office-marker,
body .srf-office-marker {
    position: absolute;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: var(--marker-color, var(--srf-primary)) !important;
    border: 2px solid #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
    transform: translate(-50%, -50%) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: transform 0.2s var(--srf-transition), box-shadow 0.2s var(--srf-transition) !important;
    z-index: 10 !important;
}

.srf-rep-finder .srf-office-marker:hover,
.bde-section .srf-office-marker:hover,
[class*="bde-"] .srf-office-marker:hover,
[class*="breakdance"] .srf-office-marker:hover,
body .srf-office-marker:hover {
    transform: translate(-50%, -50%) scale(1.3) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    z-index: 20 !important;
}

.srf-rep-finder .srf-marker-tooltip,
.bde-section .srf-marker-tooltip,
[class*="bde-"] .srf-marker-tooltip,
[class*="breakdance"] .srf-marker-tooltip,
body .srf-marker-tooltip {
    position: absolute !important;
    transform: translateX(-50%) translateY(-100%) !important;
    background: var(--srf-bg-dark) !important;
    color: var(--srf-text-light) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 0.625rem 0.875rem !important;
    white-space: nowrap !important;
    border-radius: 0 !important;
    pointer-events: auto !important;
    z-index: 100 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.srf-rep-finder .srf-marker-tooltip[style*="display: none"],
.srf-rep-finder .srf-marker-tooltip:empty {
    visibility: hidden !important;
    opacity: 0 !important;
}

.srf-rep-finder .srf-marker-tooltip::after,
.bde-section .srf-marker-tooltip::after,
[class*="bde-"] .srf-marker-tooltip::after,
[class*="breakdance"] .srf-marker-tooltip::after,
body .srf-marker-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--srf-bg-dark);
}

.srf-rep-finder .srf-marker-name,
.bde-section .srf-marker-name,
[class*="bde-"] .srf-marker-name,
[class*="breakdance"] .srf-marker-name,
body .srf-marker-name {
    display: block !important;
    font-weight: 600 !important;
}

.srf-rep-finder .srf-marker-city,
.bde-section .srf-marker-city,
[class*="bde-"] .srf-marker-city,
[class*="breakdance"] .srf-marker-city,
body .srf-marker-city {
    display: block !important;
    font-weight: 400 !important;
    font-size: 0.6875rem !important;
    opacity: 0.85 !important;
}

.srf-rep-finder .srf-marker-contact,
.bde-section .srf-marker-contact,
[class*="bde-"] .srf-marker-contact,
[class*="breakdance"] .srf-marker-contact,
body .srf-marker-contact {
    display: flex !important;
    gap: 0.75rem !important;
    margin-top: 0.5rem !important;
    padding-top: 0.5rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.srf-rep-finder .srf-marker-phone,
.srf-rep-finder .srf-marker-email,
.srf-rep-finder .srf-marker-website,
.bde-section .srf-marker-phone,
.bde-section .srf-marker-email,
.bde-section .srf-marker-website,
[class*="bde-"] .srf-marker-phone,
[class*="bde-"] .srf-marker-email,
[class*="bde-"] .srf-marker-website,
[class*="breakdance"] .srf-marker-phone,
[class*="breakdance"] .srf-marker-email,
[class*="breakdance"] .srf-marker-website,
body .srf-marker-phone,
body .srf-marker-email,
body .srf-marker-website {
    color: var(--srf-text-light) !important;
    text-decoration: none !important;
    font-size: 0.6875rem !important;
    font-weight: 500 !important;
    opacity: 0.9 !important;
    transition: opacity 0.2s var(--srf-transition) !important;
}

.srf-rep-finder .srf-marker-phone:hover,
.srf-rep-finder .srf-marker-email:hover,
.srf-rep-finder .srf-marker-website:hover,
.bde-section .srf-marker-phone:hover,
.bde-section .srf-marker-email:hover,
.bde-section .srf-marker-website:hover,
[class*="bde-"] .srf-marker-phone:hover,
[class*="bde-"] .srf-marker-email:hover,
[class*="bde-"] .srf-marker-website:hover,
[class*="breakdance"] .srf-marker-phone:hover,
[class*="breakdance"] .srf-marker-email:hover,
[class*="breakdance"] .srf-marker-website:hover,
body .srf-marker-phone:hover,
body .srf-marker-email:hover,
body .srf-marker-website:hover {
    opacity: 1 !important;
    text-decoration: underline !important;
}

/* SVG marker styles */
.srf-rep-finder .srf-office-marker-svg,
.bde-section .srf-office-marker-svg,
[class*="bde-"] .srf-office-marker-svg,
[class*="breakdance"] .srf-office-marker-svg,
body .srf-office-marker-svg {
    transition: r 0.2s var(--srf-transition), filter 0.2s var(--srf-transition) !important;
}

.srf-rep-finder .srf-office-marker-svg:hover,
.bde-section .srf-office-marker-svg:hover,
[class*="bde-"] .srf-office-marker-svg:hover,
[class*="breakdance"] .srf-office-marker-svg:hover,
body .srf-office-marker-svg:hover {
    r: 6 !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) !important;
}
