/* EstiCRM - 6 wariantów kart ofert.
   classic, minimal, premium, encasa, compact, dark-frame */

/* ==================== VARIANT: MINIMAL (lionsestate) ==================== */
body .esticrm-card--minimal .esticrm-card__media {
    aspect-ratio: 4 / 3 !important;
    border-radius: var(--esticrm-radius-card) !important;
}

body .esticrm-card--minimal .esticrm-card__badge-floating {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    display: inline-flex !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    background: var(--esticrm-accent) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-family: var(--esticrm-font-sans) !important;
    z-index: 2 !important;
}

body .esticrm-card--minimal .esticrm-card__badge-floating.esticrm-card__badge--wynajem { background: #5a3520 !important; color: #f5e8d8 !important; }
body .esticrm-card--minimal .esticrm-card__badge-floating.esticrm-card__badge--sprzedaz { background: #1a2a3a !important; color: #c8dff5 !important; }

body .esticrm-card--minimal .esticrm-card__body { padding: 4px 0 !important; }

body .esticrm-card--minimal .esticrm-card__title {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    margin: 0 0 4px !important;
}

body .esticrm-card--minimal .esticrm-card__location-only {
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 8px !important;
}

body .esticrm-card--minimal .esticrm-card__minimal-stats {
    display: flex !important;
    gap: 16px !important;
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 10px !important;
}

body .esticrm-card--minimal .esticrm-card__price--big {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: var(--esticrm-text) !important;
    margin-top: 6px !important;
}

/* ==================== VARIANT: PREMIUM (theleadersestate) ==================== */
body .esticrm-card--premium {
    background: #fff !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .04) !important;
    transition: box-shadow .3s, transform .3s !important;
}

body .esticrm-card--premium:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, .08) !important;
    transform: translateY(-2px) !important;
}

body .esticrm-card--premium .esticrm-card__media {
    aspect-ratio: 16 / 11 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body .esticrm-card--premium .esticrm-card__body { padding: 22px 22px 24px !important; }

body .esticrm-card--premium .esticrm-card__eyebrow {
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    color: var(--esticrm-accent) !important;
    margin: 0 0 8px !important;
}

body .esticrm-card--premium .esticrm-card__title {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    margin: 0 0 6px !important;
}

body .esticrm-card--premium .esticrm-card__location-only {
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 16px !important;
}

body .esticrm-card--premium .esticrm-card__divider {
    height: 1px !important;
    background: var(--esticrm-border) !important;
    margin: 0 0 16px !important;
}

body .esticrm-card--premium .esticrm-card__premium-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr auto !important;
    gap: 16px !important;
    align-items: end !important;
}

body .esticrm-card--premium .esticrm-card__spec-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

body .esticrm-card--premium .esticrm-card__spec-label {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--esticrm-muted) !important;
}

body .esticrm-card--premium .esticrm-card__spec-value {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--esticrm-text) !important;
}

body .esticrm-card--premium .esticrm-card__spec-block--price .esticrm-card__spec-value {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--esticrm-accent) !important;
}

/* ==================== VARIANT: ENCASA (overlay) ==================== */
body .esticrm-card--encasa {
    position: relative !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 5 !important;
}

body .esticrm-card--encasa .esticrm-card__media--full {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body .esticrm-card--encasa .esticrm-card__media--full img,
body .esticrm-card--encasa .esticrm-card__media--full .esticrm-card__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body .esticrm-card--encasa .esticrm-card__encasa-overlay {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: 20px !important;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.5) 60%, transparent 100%) !important;
    color: #fff !important;
}

body .esticrm-card--encasa .esticrm-card__badge { margin: 0 0 12px !important; }

body .esticrm-card--encasa .esticrm-card__title-overlay {
    margin: 0 0 8px !important;
    color: #fff !important;
    font-family: var(--esticrm-font-serif) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

body .esticrm-card--encasa .esticrm-card__overlay-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 12px !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, .85) !important;
}

body .esticrm-card--encasa .esticrm-card__price-overlay {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #fff !important;
}

/* ==================== VARIANT: COMPACT (maxon) ==================== */
body .esticrm-card--compact .esticrm-card__media { aspect-ratio: 3 / 2 !important; }
body .esticrm-card--compact .esticrm-card__body { padding: 12px 4px !important; }
body .esticrm-card--compact .esticrm-card__title { font-size: 15px !important; margin: 0 0 4px !important; }
body .esticrm-card--compact .esticrm-card__location-only { font-size: 11px !important; color: var(--esticrm-muted) !important; margin: 0 0 8px !important; }
body .esticrm-card--compact .esticrm-card__compact-row {
    display: flex !important; align-items: center !important; gap: 8px !important;
    flex-wrap: wrap !important; font-size: 12px !important; color: var(--esticrm-muted) !important;
}
body .esticrm-card--compact .esticrm-card__compact-price {
    margin-left: auto !important; font-weight: 600 !important; color: var(--esticrm-text) !important; font-size: 14px !important;
}

/* ==================== VARIANT: DARK-FRAME (axiimmo) ==================== */
body .esticrm-card--dark-frame {
    background: var(--esticrm-dark) !important;
    color: #f0ebe0 !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

body .esticrm-card--dark-frame .esticrm-card__media { margin: 0 !important; border-radius: 0 !important; aspect-ratio: 16 / 11 !important; }
body .esticrm-card--dark-frame .esticrm-card__body { padding: 16px 18px 20px !important; }
body .esticrm-card--dark-frame .esticrm-card__title,
body .esticrm-card--dark-frame .esticrm-card__title a { color: #f0ebe0 !important; }
body .esticrm-card--dark-frame .esticrm-card__title a:hover { color: var(--esticrm-accent) !important; }
body .esticrm-card--dark-frame .esticrm-card__location-only {
    color: #aaa39d !important; font-size: 11px !important; letter-spacing: 1px !important;
    text-transform: uppercase !important; margin: 4px 0 12px !important;
}
body .esticrm-card--dark-frame .esticrm-card__spec { color: #aaa39d !important; }
body .esticrm-card--dark-frame .esticrm-card__sep { color: #6a6560 !important; }
body .esticrm-card--dark-frame .esticrm-card__dark-footer {
    display: flex !important; justify-content: space-between !important; align-items: baseline !important;
    padding-top: 12px !important; border-top: 1px solid rgba(255, 255, 255, .1) !important;
}
body .esticrm-card--dark-frame .esticrm-card__price { color: #f0ebe0 !important; font-size: 16px !important; }
body .esticrm-card--dark-frame .esticrm-card__sqm { color: #aaa39d !important; }
body .esticrm-card--dark-frame .esticrm-card__fav { background: rgba(30, 28, 28, 0.85) !important; color: #ccc !important; }

/* ==================== GRID kolumny SZTYWNO ==================== */
body .esticrm-cards-grid {
    display: grid !important;
    gap: 28px !important;
    margin: 24px 0 !important;
}
body .esticrm-cards-grid--cols-1 { grid-template-columns: 1fr !important; }
body .esticrm-cards-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body .esticrm-cards-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body .esticrm-cards-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

@media (max-width: 960px) {
    body .esticrm-cards-grid--cols-3,
    body .esticrm-cards-grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
    body .esticrm-cards-grid--cols-2,
    body .esticrm-cards-grid--cols-3,
    body .esticrm-cards-grid--cols-4 { grid-template-columns: 1fr !important; }
}

/* Favorites icon badge - odsuniety od gwiazdki */
body .esticrm-favorites-icon__badge {
    top: -3px !important;
    right: -3px !important;
    border: 2px solid #fff !important;
}

body .esticrm-favorites-icon--heart .esticrm-favorites-icon__star svg,
body .esticrm-favorites-icon--bookmark .esticrm-favorites-icon__star svg {
    width: 24px !important;
    height: 24px !important;
}

/* B1 FIX: favorites-icon__badge bez border, wycentrowany - usunięcie złych override z v5 */
body .esticrm-favorites-icon__badge {
    top: 0 !important;
    right: 0 !important;
    border: 0 !important;
}

/* ============================================================
   B2 FIX: Stacked layout dla długich tytułów (smart mode)
   ============================================================ */
body .esticrm-card--stacked .esticrm-card__row,
body .esticrm-card--stacked .esticrm-card__row--sub {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
}
body .esticrm-card--stacked .esticrm-card__price,
body .esticrm-card--stacked .esticrm-card__sqm {
    text-align: left !important;
}

/* ============================================================
   v8 C2: 4 nowe karty z popularnych portali
   ============================================================ */

body .esticrm-card__media--16-9 { aspect-ratio: 16/9 !important; }
body .esticrm-card__media--4-3 { aspect-ratio: 4/3 !important; }

body .esticrm-card--otodom {
    background: #fff !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
body .esticrm-card--otodom .esticrm-card__media { display: block !important; position: relative !important; }
body .esticrm-card--otodom .esticrm-card__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-card__otodom-badge {
    position: absolute !important; top: 12px !important; left: 12px !important;
    padding: 4px 10px !important; background: var(--esticrm-accent) !important;
    color: #fff !important; border-radius: 4px !important;
    font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .5px !important;
    z-index: 3 !important;
}
body .esticrm-card__body--otodom { padding: 14px !important; }
body .esticrm-card__price--otodom { font-size: 22px !important; font-weight: 700 !important; color: var(--esticrm-text) !important; }
body .esticrm-card__sqm--otodom { color: var(--esticrm-muted) !important; font-size: 13px !important; margin-top: 2px !important; }
body .esticrm-card__otodom-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin: 10px 0 !important; }
body .esticrm-card__otodom-tag {
    padding: 3px 9px !important; background: var(--esticrm-bg) !important;
    border-radius: 999px !important; font-size: 11px !important;
    color: var(--esticrm-text) !important;
}
body .esticrm-card__title--otodom { font-size: 15px !important; margin: 6px 0 4px !important; }

body .esticrm-card--zillow {
    background: #fff !important; border-radius: 8px !important; overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
}
body .esticrm-card--zillow .esticrm-card__media { position: relative !important; display: block !important; }
body .esticrm-card--zillow .esticrm-card__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-card__zillow-status {
    position: absolute !important; top: 12px !important; left: 12px !important;
    padding: 4px 10px !important; background: #006aff !important;
    color: #fff !important; border-radius: 4px !important;
    font-size: 11px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: .5px !important; z-index: 3 !important;
}
body .esticrm-card__zillow-price-overlay {
    position: absolute !important; bottom: 12px !important; left: 12px !important;
    padding: 6px 12px !important; background: rgba(0,0,0,.75) !important;
    color: #fff !important; border-radius: 4px !important;
    font-size: 18px !important; font-weight: 700 !important; z-index: 3 !important;
}
body .esticrm-card__body--zillow { padding: 14px !important; }
body .esticrm-card__zillow-stats {
    display: flex !important; gap: 12px !important; margin-bottom: 6px !important;
    font-size: 13px !important; color: var(--esticrm-text) !important;
}
body .esticrm-card__zillow-stats strong { font-weight: 700 !important; }
body .esticrm-card__title--zillow { font-size: 14px !important; font-weight: 400 !important; color: var(--esticrm-muted) !important; }

body .esticrm-card--compass {
    background: #fff !important; border-radius: 4px !important; overflow: hidden !important;
    transition: box-shadow .2s !important;
}
body .esticrm-card--compass:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1) !important; }
body .esticrm-card--compass .esticrm-card__media { display: block !important; position: relative !important; }
body .esticrm-card--compass .esticrm-card__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-card__body--compass { padding: 16px !important; }
body .esticrm-card__price--compass-top { font-size: 24px !important; font-weight: 300 !important; letter-spacing: -.5px !important; color: var(--esticrm-text) !important; }
body .esticrm-card__compass-stats {
    display: flex !important; gap: 16px !important; margin: 4px 0 8px !important;
    font-size: 12px !important; color: var(--esticrm-muted) !important;
    text-transform: uppercase !important; letter-spacing: .5px !important;
}
body .esticrm-card__compass-address { font-size: 13px !important; color: var(--esticrm-text) !important; margin-bottom: 4px !important; }
body .esticrm-card__title--compass { font-size: 13px !important; color: var(--esticrm-muted) !important; font-weight: 400 !important; }
body .esticrm-card__compass-agent {
    display: flex !important; align-items: center !important; gap: 8px !important;
    margin-top: 12px !important; padding-top: 12px !important;
    border-top: 1px solid var(--esticrm-border) !important;
}
body .esticrm-card__compass-agent img { width: 28px !important; height: 28px !important; border-radius: 50% !important; object-fit: cover !important; }
body .esticrm-card__compass-agent span { font-size: 12px !important; color: var(--esticrm-text) !important; }

body .esticrm-card--idealista-list {
    display: grid !important;
    grid-template-columns: 280px 1fr 200px !important;
    gap: 16px !important; padding: 12px !important;
    background: #fff !important; border: 1px solid var(--esticrm-border) !important;
    border-radius: 8px !important; align-items: stretch !important;
}
body .esticrm-card--idealista-list .esticrm-card__media--idealista {
    display: block !important; position: relative !important;
    overflow: hidden !important; border-radius: 6px !important;
    aspect-ratio: 16/10 !important;
}
body .esticrm-card--idealista-list .esticrm-card__media--idealista img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .esticrm-card__body--idealista-info { padding: 4px !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
body .esticrm-card__idealista-stats { display: flex !important; gap: 10px !important; flex-wrap: wrap !important; font-size: 13px !important; color: var(--esticrm-muted) !important; }
body .esticrm-card__body--idealista-price {
    display: flex !important; flex-direction: column !important;
    align-items: flex-end !important; justify-content: space-between !important;
    padding: 4px !important; gap: 8px !important;
}
body .esticrm-card__price--idealista { font-size: 22px !important; font-weight: 700 !important; color: var(--esticrm-text) !important; }
@media (max-width: 768px) {
    body .esticrm-card--idealista-list { grid-template-columns: 1fr !important; }
    body .esticrm-card__body--idealista-price { align-items: flex-start !important; flex-direction: row !important; }
}

/* v8 A29.5: Compare button per karta */
body .esticrm-card__compare-btn {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    padding: 6px 12px !important;
    background: var(--esticrm-bg, #f3f3f3) !important;
    color: var(--esticrm-text) !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius) !important;
    font-size: 12px !important; font-weight: 500 !important;
    cursor: pointer !important; transition: background .15s, color .15s !important;
}
body .esticrm-card__compare-btn:hover,
body .esticrm-card__compare-btn.is-active {
    background: var(--esticrm-accent) !important; color: #fff !important;
    border-color: var(--esticrm-accent) !important;
}
body .esticrm-card__compare-btn svg, body .esticrm-card__compare-btn i { width: 14px !important; height: 14px !important; }
body .esticrm-card__compare-btn--pos-top-right,
body .esticrm-card__compare-btn--pos-bottom-right {
    position: absolute !important; z-index: 4 !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
    border-color: transparent !important;
}
body .esticrm-card__compare-btn--pos-top-right { top: 12px; right: 12px; }
body .esticrm-card__compare-btn--pos-bottom-right { bottom: 12px; right: 12px; }

/* v8 A29.6: empty state porównywarki */
body .esticrm-compare-empty {
    text-align: center !important; padding: 60px 24px !important;
    background: var(--esticrm-bg, #fafafa) !important; border-radius: 12px !important;
    margin: 40px auto !important; max-width: 480px !important;
}
body .esticrm-compare-empty__icon { font-size: 56px !important; margin-bottom: 16px !important; }
body .esticrm-compare-empty__title { font-size: 22px !important; font-weight: 600 !important; margin: 0 0 12px !important; }
body .esticrm-compare-empty__text { color: var(--esticrm-muted) !important; line-height: 1.5 !important; margin: 0 0 20px !important; }
body .esticrm-compare-empty__cta {
    display: inline-block !important; padding: 12px 24px !important;
    background: var(--esticrm-accent) !important; color: #fff !important;
    text-decoration: none !important; border-radius: 999px !important; font-weight: 500 !important;
}
body .esticrm-compare-empty__cta:hover { opacity: .9 !important; }

body .esticrm-compare-thumb {
    width: 180px !important; margin: 0 auto 8px !important;
    overflow: hidden !important; border-radius: 6px !important;
    background: var(--esticrm-bg) !important;
}
body .esticrm-compare-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
body .esticrm-compare-label { display: inline-flex !important; align-items: center !important; gap: 6px !important; }
body .esticrm-compare-label svg, body .esticrm-compare-label i { width: 16px !important; height: 16px !important; }

/* ============================================================
   v6: NOWE WARIANTY KART
   ============================================================ */

/* HORIZONTAL (gn.um.wroc.pl - lista) */
body .esticrm-card--horizontal {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 20px !important;
    background: var(--esticrm-card-bg, #fff) !important;
    border: 1px solid var(--esticrm-border) !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
}
body .esticrm-card--horizontal .esticrm-card__media {
    margin: 0 !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 0 !important;
}
body .esticrm-card--horizontal .esticrm-card__body {
    padding: 18px 20px 18px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
body .esticrm-card--horizontal .esticrm-card__title { font-size: 18px !important; }
body .esticrm-card--horizontal .esticrm-card__horizontal-footer {
    margin-top: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}
body .esticrm-card--horizontal .esticrm-card__price { font-size: 17px !important; font-weight: 600 !important; }
body .esticrm-card--horizontal .esticrm-card__cta {
    margin-left: auto !important;
    color: var(--esticrm-accent) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    text-decoration: none !important;
}
@media (max-width: 640px) {
    body .esticrm-card--horizontal { grid-template-columns: 1fr !important; }
    body .esticrm-card--horizontal .esticrm-card__body { padding: 0 16px 16px !important; }
}

/* LUXURY-BORDERED (Engel&Völkers / Sotheby's) */
body .esticrm-card--luxury-bordered {
    background: #fff !important;
    border: 1px solid var(--esticrm-accent-light) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    text-align: center !important;
}
body .esticrm-card--luxury-bordered .esticrm-card__media {
    aspect-ratio: 16 / 11 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
body .esticrm-card--luxury-bordered .esticrm-card__body { padding: 24px 20px 28px !important; }
body .esticrm-card--luxury-bordered .esticrm-card__eyebrow {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    color: var(--esticrm-accent) !important;
    margin: 0 0 12px !important;
}
body .esticrm-card__title--serif {
    font-family: var(--esticrm-font-serif) !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
}
body .esticrm-card--luxury-bordered .esticrm-card__luxury-divider {
    width: 32px !important;
    height: 1px !important;
    background: var(--esticrm-accent) !important;
    margin: 14px auto !important;
}
body .esticrm-card__price--serif {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 20px !important;
    color: var(--esticrm-accent) !important;
    font-weight: 500 !important;
}

/* MODERN-TAG (Compass) */
body .esticrm-card--modern-tag .esticrm-card__media { aspect-ratio: 4 / 3 !important; }
body .esticrm-card--modern-tag .esticrm-card__tags-floating {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    display: flex !important;
    gap: 6px !important;
    z-index: 2 !important;
}
body .esticrm-card--modern-tag .esticrm-card__tag {
    padding: 4px 10px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--esticrm-text) !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
}
body .esticrm-card--modern-tag .esticrm-card__tag--sprzedaz { background: #1a2a3a !important; color: #fff !important; }
body .esticrm-card--modern-tag .esticrm-card__tag--wynajem { background: #5a3520 !important; color: #fff !important; }
body .esticrm-card--modern-tag .esticrm-card__price { font-size: 18px !important; font-weight: 600 !important; margin: 12px 0 4px !important; }
body .esticrm-card--modern-tag .esticrm-card__title { font-size: 15px !important; margin: 0 0 4px !important; }
body .esticrm-card--modern-tag .esticrm-card__modern-stats {
    display: flex !important;
    gap: 12px !important;
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    margin-top: 8px !important;
}

/* STACKED-INFO (Zillow) */
body .esticrm-card--stacked-info {
    background: #fff !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
}
body .esticrm-card--stacked-info .esticrm-card__media { aspect-ratio: 4 / 3 !important; margin: 0 !important; border-radius: 0 !important; }
body .esticrm-card--stacked-info .esticrm-card__body { padding: 16px 18px 18px !important; }
body .esticrm-card__price--xl {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--esticrm-text) !important;
    margin: 0 0 8px !important;
}
body .esticrm-card--stacked-info .esticrm-card__stacked-stats {
    display: flex !important;
    gap: 14px !important;
    align-items: baseline !important;
    margin: 0 0 12px !important;
    font-size: 11px !important;
    color: var(--esticrm-muted) !important;
}
body .esticrm-card--stacked-info .esticrm-card__stacked-stats strong {
    font-size: 16px !important;
    color: var(--esticrm-text) !important;
    margin-right: 2px !important;
    font-weight: 600 !important;
}
body .esticrm-card--stacked-info .esticrm-card__title { font-size: 14px !important; font-weight: 400 !important; color: var(--esticrm-muted) !important; margin: 0 0 4px !important; }
body .esticrm-card--stacked-info .esticrm-card__stacked-actions { margin-top: 14px !important; }
body .esticrm-card__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 8px 16px !important;
    border-radius: var(--esticrm-radius) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    color: var(--esticrm-accent) !important;
}
body .esticrm-card__cta--primary {
    background: var(--esticrm-accent) !important;
    color: #fff !important;
}
body .esticrm-card__cta--primary:hover { background: #9a7821 !important; }

/* GRADIENT-OVERLAY (Vilea) */
body .esticrm-card--gradient-overlay {
    position: relative !important;
    border-radius: var(--esticrm-radius-card) !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 5 !important;
}
body .esticrm-card--gradient-overlay .esticrm-card__media--full {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
body .esticrm-card--gradient-overlay .esticrm-card__gradient-overlay {
    position: absolute !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    padding: 24px 22px !important;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.5) 50%, transparent 100%) !important;
    color: #fff !important;
}
body .esticrm-card--gradient-overlay .esticrm-card__title-overlay {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    margin: 8px 0 !important;
    color: #fff !important;
    line-height: 1.2 !important;
}
body .esticrm-card--gradient-overlay .esticrm-card__gradient-stats {
    display: flex !important;
    gap: 12px !important;
    align-items: baseline !important;
    font-size: 13px !important;
    color: rgba(255,255,255,.85) !important;
    flex-wrap: wrap !important;
}
body .esticrm-card--gradient-overlay .esticrm-card__price-overlay {
    margin-left: auto !important;
    font-family: var(--esticrm-font-serif) !important;
    font-size: 20px !important;
    color: #fff !important;
    font-weight: 500 !important;
}

/* BRUTALIST (Knight Frank) */
body .esticrm-card--brutalist {
    background: #fff !important;
    border-bottom: 2px solid var(--esticrm-text) !important;
    border-radius: 0 !important;
    padding: 0 0 20px !important;
}
body .esticrm-card--brutalist .esticrm-card__media {
    aspect-ratio: 3 / 2 !important;
    margin: 0 0 18px !important;
    border-radius: 0 !important;
}
body .esticrm-card--brutalist .esticrm-card__brutalist-num,
body .esticrm-card--brutalist .esticrm-card__brutalist-eyebrow {
    font-family: var(--esticrm-font-sans) !important;
    font-size: 11px !important;
    letter-spacing: 3px !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
}
body .esticrm-card__title--xl {
    font-size: 28px !important;
    line-height: 1.1 !important;
    margin: 0 0 12px !important;
}
body .esticrm-card--brutalist .esticrm-card__brutalist-meta {
    display: flex !important;
    gap: 16px !important;
    font-size: 12px !important;
    color: var(--esticrm-muted) !important;
    margin: 0 0 12px !important;
    flex-wrap: wrap !important;
}
body .esticrm-card__price--brutalist {
    font-family: var(--esticrm-font-serif) !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    color: var(--esticrm-text) !important;
}
