/**
 * Location Sync — Grille biens + pagination v1.5
 * !important sur tous les sélecteurs pour éviter les conflits thème/Elementor
 */

/* ── Grille ──────────────────────────────────────────────────────────────── */
.ls-biens-grid { display: grid !important; gap: 24px !important; }
.ls-grid-1 { grid-template-columns: 1fr !important; }
.ls-grid-2 { grid-template-columns: repeat(2,1fr) !important; }
.ls-grid-3 { grid-template-columns: repeat(3,1fr) !important; }
.ls-grid-4 { grid-template-columns: repeat(4,1fr) !important; }
.ls-grid-5 { grid-template-columns: repeat(5,1fr) !important; }
.ls-grid-6 { grid-template-columns: repeat(6,1fr) !important; }

@media (max-width: 768px) { .ls-biens-grid { grid-template-columns: repeat(2,1fr) !important; } }
@media (max-width: 480px) { .ls-biens-grid { grid-template-columns: 1fr !important; } }

/* ── Carte ───────────────────────────────────────────────────────────────── */
.ls-bien-card {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #ebebeb !important;
    transition: box-shadow .2s, transform .2s !important;
    position: relative !important;
}
.ls-bien-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,.12) !important;
    transform: translateY(-3px) !important;
}
.ls-bien-card a {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
}
.ls-bien-une  { border-color: #c8a24c !important; }
.ls-badge-une {
    position: absolute !important;
    top: 12px !important; left: 12px !important;
    background: #c8a24c !important; color: #fff !important;
    font-size: .72rem !important; font-weight: 700 !important;
    padding: 3px 10px !important; border-radius: 20px !important;
    z-index: 2 !important; letter-spacing: .04em !important;
}

/* Image */
.ls-card-img {
    height: 220px !important;
    background-size: cover !important;
    background-position: center !important;
    background-color: #f0f0f0 !important;
}

/* Body */
.ls-card-body   { padding: 16px 18px 18px !important; }
.ls-card-meta   { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 6px !important; }
.ls-card-type   { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .08em !important; color: #888 !important; text-transform: uppercase !important; }
.ls-card-tx     { font-size: 11px !important; font-weight: 600 !important; padding: 2px 8px !important; border-radius: 3px !important; text-transform: uppercase !important; letter-spacing: .05em !important; }
.ls-tx-location { background: #e8f4fd !important; color: #1a6fa8 !important; }
.ls-tx-vente    { background: #fdf0e8 !important; color: #a85a1a !important; }
.ls-tx-les_deux { background: #f0f0f0 !important; color: #555 !important; }
.ls-card-prix   { margin: 0 0 8px !important; font-size: 1.05rem !important; font-weight: 700 !important; color: #1a1a1a !important; }
.ls-card-title  { margin: 0 0 6px !important; font-size: .95rem !important; font-weight: 600 !important; color: #1a1a1a !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.ls-card-loc    { margin: 0 0 4px !important; font-size: .82rem !important; color: #666 !important; }
.ls-card-ref    { margin: 0 !important; font-size: .82rem !important; color: #999 !important; }
.ls-no-results  { text-align: center !important; padding: 40px !important; color: #888 !important; font-size: .95rem !important; }

/* ── Pagination ──────────────────────────────────────────────────────────── */
.ls-pagination {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; flex-wrap: wrap !important;
    gap: 12px !important; margin-top: 36px !important;
    padding-top: 24px !important; border-top: 1px solid #ebebeb !important;
}
.ls-pagination-info     { font-size: .85rem !important; color: #888 !important; }
.ls-pagination-controls { display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important; }
.ls-page-btn {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; min-width: 36px !important;
    height: 36px !important; padding: 0 10px !important;
    border-radius: 8px !important; border: 1.5px solid #e0e0e0 !important;
    background: #fff !important; color: #333 !important;
    font-size: .88rem !important; font-weight: 500 !important;
    text-decoration: none !important; transition: all .2s !important; cursor: pointer !important;
}
.ls-page-btn:hover:not(.ls-disabled):not(.ls-page-current) { border-color: #c8a24c !important; color: #c8a24c !important; }
.ls-page-current  { background: #c8a24c !important; border-color: #c8a24c !important; color: #fff !important; font-weight: 700 !important; }
.ls-page-prev,
.ls-page-next     { font-size: 1.2rem !important; font-weight: 700 !important; }
.ls-disabled      { opacity: .35 !important; cursor: default !important; pointer-events: none !important; }
.ls-page-dots     { display: inline-flex !important; align-items: center !important; padding: 0 4px !important; color: #aaa !important; }
