/* Locations Page Styles - Google Store Locator */

/* Store Locator Section */
.store-locator-section {
    padding: 2rem 0;
    background-color: #f8fafc;
}

.locator-container {
    height: 70vh;
    min-height: 500px;
    width: 100%;
    position: relative;
}

/* Google Maps Extended Component Library overrides */
gmpx-store-locator {
    width: 100% !important;
    height: 100% !important;
}

/* Custom styling for the store locator to match brand */
gmpx-store-locator::part(panel) {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

gmpx-store-locator::part(map) {
    border-radius: 8px;
}

gmpx-store-locator::part(search-input) {
    border: 2px solid #e2e8f0;
    border-radius: 6px;
    padding: 0.75rem;
    font-size: 1rem;
}

gmpx-store-locator::part(search-input):focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

gmpx-store-locator::part(location-list-item) {
    border-bottom: 1px solid #e2e8f0;
    padding: 1rem;
    transition: background-color 0.2s ease;
}

gmpx-store-locator::part(location-list-item):hover {
    background-color: #f8fafc;
}

gmpx-store-locator::part(location-title) {
    color: #1e3a8a;
    font-weight: 600;
    font-size: 1.125rem;
}

gmpx-store-locator::part(location-address) {
    color: #475569;
    font-size: 0.9375rem;
}

gmpx-store-locator::part(directions-button) {
    background-color: #3b82f6;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

gmpx-store-locator::part(directions-button):hover {
    background-color: #2563eb;
}

gmpx-store-locator::part(call-button) {
    background-color: #10b981;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

gmpx-store-locator::part(call-button):hover {
    background-color: #059669;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .store-locator-section {
        padding: 1rem 0;
    }

    .locator-container {
        height: 600px;
        margin: 1rem;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }

    /* Mobile layout adjustments for Google Store Locator */
    gmpx-store-locator {
        --gmpx-fixed-panel-height-column-layout: 50% !important;
    }
}

@media (max-width: 480px) {
    .locator-container {
        height: 500px;
        margin: 0.5rem;
    }
}

/* Loading state styling */
gmpx-store-locator::part(loading-spinner) {
    border-color: #3b82f6;
}

/* Error state styling */
gmpx-store-locator::part(error-message) {
    background-color: #fef2f2;
    color: #dc2626;
    padding: 1rem;
    border-radius: 6px;
    border: 1px solid #fecaca;
}