/**
 * Flatline MRI Property Search — Plugin Styles
 * These augment the theme CSS for plugin-specific components.
 */

/* Loading overlay */
.mri-loading-overlay {
    position: relative;
    min-height: 200px;
}
.mri-loading-overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.8);
    z-index: 10;
    border-radius: 8px;
}
.mri-loading-overlay .spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 11;
}

/* Enquiry form feedback */
.enquiry-form .alert { margin-top: .75rem; }
.enquiry-form .btn:disabled {
    opacity: .65;
    cursor: not-allowed;
}

/* Property gallery keyboard focus */
.property-gallery__thumb:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

/* Map info window */
.gm-style .map-infowindow {
    padding: .5rem;
    max-width: 220px;
    font-family: 'Poppins', sans-serif;
    font-size: .8rem;
}
.gm-style .map-infowindow img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: .4rem;
}
.gm-style .map-infowindow strong {
    display: block;
    font-size: .85rem;
    color: #1a2744;
    margin-bottom: .15rem;
}
.gm-style .map-infowindow a {
    display: inline-block;
    margin-top: .35rem;
    font-size: .8rem;
    color: #c8a55a;
    font-weight: 600;
}

/* Search form: compact variant (hero) */
.hero-search .mri-search-form-wrapper .type-switcher {
    background: rgba(255,255,255,.15);
}
.hero-search .search-form {
    background: transparent;
    padding: 0;
    box-shadow: none;
}
.hero-search .form-control,
.hero-search .form-select {
    background: rgba(255,255,255,.9);
}
.hero-search .search-form-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

/* Results transition */
#mri-properties-grid {
    transition: opacity .2s ease;
}
#mri-properties-grid.is-loading {
    opacity: .4;
    pointer-events: none;
}

/* Print: expand all cards */
@media print {
    .properties-grid { grid-template-columns: 1fr 1fr !important; }
    .property-card { break-inside: avoid; }
    .search-form, .results-header { display: none !important; }
}
