
:root {

    --nr-primary: #1B4D3E;

    --nr-primary-light: #2A6B54;

    --nr-primary-dark: #0F3328;

    --nr-accent: #D4A574;

    --nr-success: #22C55E;

    --nr-warning: #F59E0B;

    --nr-danger: #EF4444;

    --nr-info: #3B82F6;

    --nr-bg-primary: #FAFAF9;

    --nr-bg-secondary: #F5F5F4;

    --nr-bg-card: #FFFFFF;

    --nr-border: #E7E5E4;

    --nr-text-primary: #1C1917;

    --nr-text-secondary: #57534E;

    --nr-text-muted: #A8A29E;

    --nr-gradient-hero: linear-gradient(135deg, #1B4D3E 0%, #2A6B54 50%, #1B4D3E 100%);

    --nr-shadow-sm: 0 1px 2px rgba(28, 25, 23, 0.05);

    --nr-shadow-md: 0 4px 6px -1px rgba(28, 25, 23, 0.1), 0 2px 4px -2px rgba(28, 25, 23, 0.1);

    --nr-shadow-lg: 0 10px 15px -3px rgba(28, 25, 23, 0.1), 0 4px 6px -4px rgba(28, 25, 23, 0.1);

    --nr-shadow-xl: 0 20px 25px -5px rgba(28, 25, 23, 0.1), 0 8px 10px -6px rgba(28, 25, 23, 0.1);

    --font-display: 'Instrument Sans', sans-serif;

    --font-body: 'DM Sans', sans-serif;

    --font-mono: 'JetBrains Mono', monospace;

    --nr-radius-sm: 6px;

    --nr-radius-md: 10px;

    --nr-radius-lg: 16px;

}

* { margin: 0; padding: 0; box-sizing: border-box; }

body { font-family: var(--font-body); background: var(--nr-bg-primary); color: var(--nr-text-primary); line-height: 1.6; }

.gf-icon { filter: brightness(0) saturate(100%); }

.gf-icon-white { filter: brightness(0) saturate(100%) invert(1); }

.gf-icon-primary { filter: brightness(0) saturate(100%) invert(23%) sepia(15%) saturate(1500%) hue-rotate(115deg) brightness(95%) contrast(90%); }

.gf-icon-accent { filter: brightness(0) saturate(100%) invert(72%) sepia(25%) saturate(500%) hue-rotate(350deg) brightness(95%) contrast(90%); }

.nr-header { background: var(--nr-bg-card); border-bottom: 1px solid var(--nr-border); position: sticky; top: 0; z-index: 1000; }

.nr-header-inner { max-width: 1600px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; height: 72px; }

.nr-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }

.nr-logo-icon { width: 44px; height: 44px; background: var(--nr-gradient-hero); border-radius: var(--nr-radius-md); display: flex; align-items: center; justify-content: center; }

.nr-logo-icon img { filter: brightness(0) saturate(100%) invert(1); }

.nr-logo-text { font-family: var(--font-display); font-size: 22px; font-weight: 700; color: var(--nr-primary); }

.nr-logo-text span { color: var(--nr-accent); }

.nr-nav { display: flex; align-items: center; gap: 8px; }

.nr-nav-item { padding: 10px 16px; font-size: 14px; font-weight: 500; color: var(--nr-text-secondary); text-decoration: none; border-radius: var(--nr-radius-sm); transition: all 0.2s; display: flex; align-items: center; gap: 6px; }

.nr-nav-item:hover { background: var(--nr-bg-secondary); color: var(--nr-text-primary); }

.nr-nav-item.active { background: var(--nr-primary); color: white; }

.nr-nav-item.active .gf-icon { filter: brightness(0) saturate(100%) invert(1); }

.nr-nav-dropdown { position: relative; }

.nr-nav-dropdown-menu { position: absolute; top: 100%; left: 0; background: var(--nr-bg-card); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-md); box-shadow: var(--nr-shadow-lg); min-width: 240px; padding: 8px; display: none; z-index: 100; }

.nr-nav-dropdown:hover .nr-nav-dropdown-menu { display: block; }

.nr-nav-dropdown-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--nr-radius-sm); text-decoration: none; color: var(--nr-text-primary); font-size: 14px; transition: all 0.2s; }

.nr-nav-dropdown-item:hover { background: var(--nr-bg-secondary); }

.nr-nav-dropdown-icon { width: 32px; height: 32px; border-radius: var(--nr-radius-sm); display: flex; align-items: center; justify-content: center; }

.nr-header-actions { display: flex; align-items: center; gap: 12px; }

.nr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; font-family: var(--font-body); font-size: 14px; font-weight: 600; border-radius: var(--nr-radius-sm); border: none; cursor: pointer; transition: all 0.2s; text-decoration: none; }

.nr-btn-primary { background: var(--nr-primary); color: white; }

.nr-btn-primary:hover { background: var(--nr-primary-dark); }

.nr-btn-primary .gf-icon { filter: brightness(0) saturate(100%) invert(1); }

.nr-btn-secondary { background: var(--nr-bg-secondary); color: var(--nr-text-primary); border: 1px solid var(--nr-border); }

.nr-btn-secondary:hover { background: var(--nr-border); }

.nr-btn-sm { padding: 6px 12px; font-size: 13px; }

.nr-hero { background: var(--nr-gradient-hero); padding: 80px 24px; position: relative; overflow: hidden; }

.nr-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 0.5; }

.nr-hero-content { max-width: 900px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }

.nr-hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; background: rgba(255, 255, 255, 0.15); border-radius: 50px; color: white; font-size: 13px; font-weight: 500; margin-bottom: 24px; backdrop-filter: blur(10px); }

.nr-hero h1 { font-family: var(--font-display); font-size: 52px; font-weight: 700; color: white; margin-bottom: 16px; line-height: 1.1; }

.nr-hero h1 span { color: var(--nr-accent); }

.nr-hero-subtitle { font-size: 18px; color: rgba(255, 255, 255, 0.8); margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto; }




.nr-search-box { background: var(--nr-bg-card); border-radius: var(--nr-radius-lg); padding: 8px; box-shadow: var(--nr-shadow-xl); }

.nr-search-tabs { display: flex; gap: 4px; padding: 4px; background: var(--nr-bg-secondary); border-radius: var(--nr-radius-md); margin-bottom: 16px; }

.nr-search-tab { flex: 1; padding: 12px 16px; font-size: 14px; font-weight: 500; color: var(--nr-text-secondary); background: transparent; border: none; border-radius: var(--nr-radius-sm); cursor: pointer; transition: all 0.2s; display: flex; align-items: center; justify-content: center; gap: 6px; }

.nr-search-tab.active { background: var(--nr-bg-card); color: var(--nr-primary); box-shadow: var(--nr-shadow-sm); }

.nr-search-tab.active .gf-icon { filter: brightness(0) saturate(100%) invert(23%) sepia(15%) saturate(1500%) hue-rotate(115deg) brightness(95%) contrast(90%); }

.nr-search-inputs { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 12px; padding: 8px; }

.nr-search-field { display: flex; flex-direction: column; gap: 4px; }

.nr-search-field label { font-size: 11px; font-weight: 600; color: var(--nr-text-muted); text-transform: uppercase; letter-spacing: 0.5px; padding-left: 12px; }

.nr-search-input { padding: 12px 16px; font-size: 15px; border: 1px solid var(--nr-border); border-radius: var(--nr-radius-sm); background: var(--nr-bg-secondary); color: var(--nr-text-primary); transition: all 0.2s; }

.nr-search-input:focus { outline: none; border-color: var(--nr-primary); background: white; }

.nr-search-btn { align-self: flex-end; padding: 12px 32px; background: var(--nr-primary); color: white; border: none; border-radius: var(--nr-radius-sm); font-size: 15px; font-weight: 600; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: all 0.2s; }

.nr-search-btn:hover { background: var(--nr-primary-dark); }

.nr-search-btn .gf-icon { filter: brightness(0) saturate(100%) invert(1); }

.nr-hero-stats { display: flex; justify-content: center; gap: 48px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.nr-hero-stat { text-align: center; }

.nr-hero-stat-value { font-family: var(--font-display); font-size: 32px; font-weight: 700; color: white; }

.nr-hero-stat-label { font-size: 13px; color: rgba(255, 255, 255, 0.7); margin-top: 4px; }

.nr-main { max-width: 1600px; margin: 0 auto; padding: 48px 24px; }

.nr-section { margin-bottom: 64px; }

.nr-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }

.nr-section-title { font-family: var(--font-display); font-size: 28px; font-weight: 700; color: var(--nr-text-primary); display: flex; align-items: center; gap: 12px; }

.nr-section-subtitle { font-size: 14px; color: var(--nr-text-muted); margin-top: 4px; }

.nr-user-types { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }

.nr-user-card { background: var(--nr-bg-card); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); padding: 24px; text-align: center; transition: all 0.3s; cursor: pointer; text-decoration: none; }

.nr-user-card:hover { border-color: var(--nr-primary); box-shadow: var(--nr-shadow-lg); transform: translateY(-4px); }

.nr-user-icon { width: 64px; height: 64px; border-radius: var(--nr-radius-md); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }

.nr-user-icon.buyer { background: linear-gradient(135deg, #3B82F6, #1D4ED8); }

.nr-user-icon.seller { background: linear-gradient(135deg, #22C55E, #16A34A); }

.nr-user-icon.agent { background: linear-gradient(135deg, #8B5CF6, #6D28D9); }

.nr-user-icon.broker { background: linear-gradient(135deg, #F59E0B, #D97706); }

.nr-user-icon.investor { background: linear-gradient(135deg, #EC4899, #BE185D); }

.nr-user-icon.pro { background: linear-gradient(135deg, #14B8A6, #0D9488); }

.nr-user-icon .gf-icon { filter: brightness(0) saturate(100%) invert(1); }

.nr-user-card h3 { font-size: 16px; font-weight: 600; color: var(--nr-text-primary); margin-bottom: 8px; }

.nr-user-card p { font-size: 13px; color: var(--nr-text-muted); line-height: 1.5; }




.nr-map-preview { display: grid; grid-template-columns: 320px 1fr; gap: 0; background: var(--nr-bg-card); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); overflow: hidden; height: 480px; }

.nr-map-sidebar { border-right: 1px solid var(--nr-border); display: flex; flex-direction: column; }

.nr-map-filters { padding: 16px; border-bottom: 1px solid var(--nr-border); }

.nr-map-filter-row { display: flex; gap: 8px; margin-bottom: 8px; }

.nr-map-filter-row:last-child { margin-bottom: 0; }

.nr-map-filter { flex: 1; padding: 8px 12px; font-size: 13px; border: 1px solid var(--nr-border); border-radius: var(--nr-radius-sm); background: var(--nr-bg-secondary); }

.nr-map-results { flex: 1; overflow-y: auto; }

.nr-map-result { display: flex; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--nr-border); cursor: pointer; transition: all 0.2s; }

.nr-map-result:hover { background: var(--nr-bg-secondary); }

.nr-map-result-image { width: 72px; height: 56px; background: var(--nr-bg-secondary); border-radius: var(--nr-radius-sm); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.nr-map-result-info { flex: 1; min-width: 0; }

.nr-map-result-price { font-size: 16px; font-weight: 700; color: var(--nr-primary); }

.nr-map-result-address { font-size: 13px; color: var(--nr-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.nr-map-result-specs { font-size: 12px; color: var(--nr-text-muted); margin-top: 2px; }

.nr-map-view { background: linear-gradient(135deg, #E8F5E9, #C8E6C9); position: relative; display: flex; align-items: center; justify-content: center; }

.nr-map-placeholder { text-align: center; color: var(--nr-text-muted); }

.nr-map-placeholder .gf-icon { opacity: 0.3; margin-bottom: 12px; }

.nr-map-markers { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; }

.nr-map-marker { position: absolute; background: var(--nr-primary); color: white; padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; box-shadow: var(--nr-shadow-md); }

.nr-subdapps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.nr-subdapp { background: var(--nr-bg-card); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); padding: 24px; transition: all 0.3s; }

.nr-subdapp:hover { box-shadow: var(--nr-shadow-lg); transform: translateY(-2px); }

.nr-subdapp-header { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; }

.nr-subdapp-icon { width: 52px; height: 52px; border-radius: var(--nr-radius-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.nr-subdapp-icon.value { background: linear-gradient(135deg, #3B82F6, #1D4ED8); }

.nr-subdapp-icon.mortgage { background: linear-gradient(135deg, #22C55E, #16A34A); }

.nr-subdapp-icon.insurance { background: linear-gradient(135deg, #F59E0B, #D97706); }

.nr-subdapp-icon.title { background: linear-gradient(135deg, #8B5CF6, #6D28D9); }

.nr-subdapp-icon.escrow { background: linear-gradient(135deg, #EC4899, #BE185D); }

.nr-subdapp-icon.inspect { background: linear-gradient(135deg, #EF4444, #DC2626); }

.nr-subdapp-icon.tours { background: linear-gradient(135deg, #06B6D4, #0891B2); }

.nr-subdapp-icon.connect { background: linear-gradient(135deg, #6366F1, #4338CA); }

.nr-subdapp-icon .gf-icon { filter: brightness(0) saturate(100%) invert(1); }

.nr-subdapp-info h4 { font-size: 16px; font-weight: 600; color: var(--nr-text-primary); margin-bottom: 4px; }

.nr-subdapp-domain { font-family: var(--font-mono); font-size: 11px; color: var(--nr-text-muted); }

.nr-subdapp-desc { font-size: 13px; color: var(--nr-text-secondary); line-height: 1.5; margin-bottom: 16px; }

.nr-subdapp-pricing { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--nr-border); }

.nr-subdapp-old { font-size: 12px; color: var(--nr-text-muted); text-decoration: line-through; }

.nr-subdapp-new { font-size: 14px; font-weight: 600; color: var(--nr-success); }

.nr-comparison { background: var(--nr-bg-card); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); overflow: hidden; }

.nr-comparison-header { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; background: var(--nr-primary); color: white; font-size: 13px; font-weight: 600; }

.nr-comparison-header > div { padding: 16px 20px; border-right: 1px solid rgba(255, 255, 255, 0.1); }

.nr-comparison-header > div:last-child { border-right: none; }

.nr-comparison-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; border-bottom: 1px solid var(--nr-border); font-size: 14px; }

.nr-comparison-row:last-child { border-bottom: none; }

.nr-comparison-row > div { padding: 16px 20px; border-right: 1px solid var(--nr-border); display: flex; align-items: center; }

.nr-comparison-row > div:last-child { border-right: none; background: rgba(27, 77, 62, 0.05); color: var(--nr-primary); font-weight: 600; }

.nr-comparison-row > div:first-child { font-weight: 500; color: var(--nr-text-primary); }

.nr-comparison-bad { color: var(--nr-danger); }

.nr-comparison-good { color: var(--nr-success); }

.nr-dashboard-preview { background: var(--nr-bg-card); border: 1px solid var(--nr-border); border-radius: var(--nr-radius-lg); overflow: hidden; }

.nr-dashboard-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; background: var(--nr-bg-secondary); border-bottom: 1px solid var(--nr-border); }

.nr-dashboard-tabs { display: flex; gap: 4px; }

.nr-dashboard-tab { padding: 8px 16px; font-size: 13px; font-weight: 500; color: var(--nr-text-secondary); background: transparent; border: none; border-radius: var(--nr-radius-sm); cursor: pointer; }

.nr-dashboard-tab.active { background: var(--nr-bg-card); color: var(--nr-primary); }

.nr-dashboard-content { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--nr-border); }

.nr-dashboard-widget { background: var(--nr-bg-card); padding: 24px; }

.nr-dashboard-widget h5 { font-size: 12px; font-weight: 600; color: var(--nr-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }

.nr-dashboard-metric { font-family: var(--font-display); font-size: 32px; font-weight: 700; color: var(--nr-text-primary); }

.nr-dashboard-metric-sub { font-size: 13px; color: var(--nr-success); margin-top: 4px; }

.nr-footer { background: var(--nr-primary); color: white; padding: 64px 24px 32px; margin-top: 64px; }

.nr-footer-inner { max-width: 1600px; margin: 0 auto; }

.nr-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }

.nr-footer-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }

.nr-footer-logo-icon { width: 40px; height: 40px; background: rgba(255, 255, 255, 0.15); border-radius: var(--nr-radius-md); display: flex; align-items: center; justify-content: center; }

.nr-footer-logo-icon .gf-icon { filter: brightness(0) saturate(100%) invert(1); }

.nr-footer-logo-text { font-family: var(--font-display); font-size: 20px; font-weight: 700; }

.nr-footer-logo-text span { color: var(--nr-accent); }

.nr-footer-brand p { font-size: 14px; color: rgba(255, 255, 255, 0.7); line-height: 1.6; }

.nr-footer-column h4 { font-size: 14px; font-weight: 600; margin-bottom: 16px; color: white; }

.nr-footer-links { list-style: none; }

.nr-footer-links li { margin-bottom: 10px; }

.nr-footer-links a { color: rgba(255, 255, 255, 0.7); text-decoration: none; font-size: 13px; transition: color 0.2s; }

.nr-footer-links a:hover { color: white; }

.nr-footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, 0.1); }

.nr-footer-copyright { font-size: 13px; color: rgba(255, 255, 255, 0.5); }

.nr-footer-badges { display: flex; gap: 16px; }

.nr-footer-badge { display: flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255, 255, 255, 0.7); }

.nr-footer-badge .gf-icon { filter: brightness(0) saturate(100%) invert(1); opacity: 0.7; }

@media (max-width: 1200px) {

    .nr-user-types { grid-template-columns: repeat(3, 1fr); }

    .nr-subdapps { grid-template-columns: repeat(2, 1fr); }

    .nr-search-inputs { grid-template-columns: 1fr 1fr; }

}

@media (max-width: 768px) {

    .nr-user-types { grid-template-columns: repeat(2, 1fr); }

    .nr-subdapps { grid-template-columns: 1fr; }

    .nr-hero h1 { font-size: 36px; }

    .nr-hero-stats { flex-wrap: wrap; gap: 24px; }

    .nr-map-preview { grid-template-columns: 1fr; height: auto; }

    .nr-comparison-header, .nr-comparison-row { grid-template-columns: 1fr; }

    .nr-dashboard-content { grid-template-columns: repeat(2, 1fr); }

    .nr-footer-grid { grid-template-columns: 1fr 1fr; }

    .nr-nav { display: none; }

}




/* ============================================

   ON THE MARKET - Listings Section

   ============================================ */

.nr-listing-tabs {

    display: flex;

    gap: 8px;

    margin-bottom: 24px;

    flex-wrap: wrap;

}

.nr-listing-tab {

    padding: 10px 20px;

    border: 1px solid var(--nr-border, #e2e8f0);

    background: var(--nr-bg-card, #fff);

    border-radius: 8px;

    font-size: 14px;

    font-weight: 500;

    color: var(--nr-text-secondary, #64748b);

    cursor: pointer;

    transition: all 0.2s;

}

.nr-listing-tab:hover {

    border-color: var(--nr-primary, #0f766e);

    color: var(--nr-primary, #0f766e);

}

.nr-listing-tab.active {

    background: var(--nr-primary, #0f766e);

    border-color: var(--nr-primary, #0f766e);

    color: white;

}



.nr-listings-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 24px;

}

.nr-listing-card {

    background: var(--nr-bg-card, #fff);

    border: 1px solid var(--nr-border, #e2e8f0);

    border-radius: 12px;

    overflow: hidden;

    text-decoration: none;

    color: inherit;

    transition: all 0.2s;

}

.nr-listing-card:hover {

    border-color: var(--nr-primary, #0f766e);

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);

    transform: translateY(-2px);

}









    align-items: center;

    justify-content: center;

    position: relative;

}

.nr-listing-image .gf-icon {

    opacity: 0.3;

}

.nr-listing-badge {

    position: absolute;

    top: 12px;

    left: 12px;

    padding: 4px 10px;

    border-radius: 6px;

    font-size: 11px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}

.nr-listing-badge.sale {

    background: #dcfce7;

    color: #166534;

}

.nr-listing-badge.rent {

    background: #dbeafe;

    color: #1e40af;

}

.nr-listing-badge.lease {

    background: #fef3c7;

    color: #92400e;

}

.nr-listing-content {

    padding: 16px;

}

.nr-listing-price {

    font-size: 20px;

    font-weight: 700;

    color: var(--nr-primary, #0f766e);

    margin-bottom: 4px;

}

.nr-listing-address {

    font-size: 14px;

    font-weight: 500;

    color: var(--nr-text-primary, #1e293b);

    margin-bottom: 2px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}

.nr-listing-location {

    font-size: 13px;

    color: var(--nr-text-secondary, #64748b);

    margin-bottom: 8px;

}

.nr-listing-specs {

    display: flex;

    gap: 12px;

    font-size: 13px;

    color: var(--nr-text-secondary, #64748b);

}

.nr-listing-specs span {

    display: flex;

    align-items: center;

    gap: 4px;

}

.nr-listing-type {

    background: #f1f5f9;

    padding: 2px 8px;

    border-radius: 4px;

    font-size: 12px;

}



.nr-no-listings {

    grid-column: 1 / -1;

    text-align: center;

    padding: 48px 24px;

    background: var(--nr-bg-secondary, #f8fafc);

    border-radius: 12px;

}

.nr-no-listings-icon {

    margin-bottom: 16px;

    opacity: 0.4;

}

.nr-no-listings p {

    color: var(--nr-text-secondary, #64748b);

    margin-bottom: 16px;

}



/* ============================================

   PROPERTY DISCOVERY Section

   ============================================ */

.nr-discovery-section {

    background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);

    margin: 0 -24px;

    padding: 48px 24px;

}

.nr-discovery-intro {

    margin-bottom: 32px;

}

.nr-discovery-message {

    display: flex;

    gap: 20px;

    padding: 24px;

    background: white;

    border: 1px solid var(--nr-border, #e2e8f0);

    border-radius: 12px;

    border-left: 4px solid var(--nr-accent, #2dd4bf);

}

.nr-discovery-icon {

    flex-shrink: 0;

}

.nr-discovery-icon .gf-icon-accent {

    filter: brightness(0) saturate(100%) invert(70%) sepia(50%) saturate(500%) hue-rotate(120deg);

}

.nr-discovery-text h3 {

    font-size: 18px;

    font-weight: 600;

    color: var(--nr-text-primary, #1e293b);

    margin-bottom: 8px;

}

.nr-discovery-text p {

    font-size: 14px;

    color: var(--nr-text-secondary, #64748b);

    line-height: 1.6;

}



.nr-discovery-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

    margin-bottom: 32px;

}

.nr-discovery-card {

    background: white;

    border: 1px solid var(--nr-border, #e2e8f0);

    border-radius: 12px;

    padding: 24px;

    text-align: center;

    transition: all 0.2s;

}

.nr-discovery-card:hover {

    border-color: var(--nr-primary, #0f766e);

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);

}

.nr-discovery-card-icon {

    margin-bottom: 12px;

}

.nr-discovery-card-icon .gf-icon-primary {

    filter: brightness(0) saturate(100%) invert(35%) sepia(80%) saturate(500%) hue-rotate(130deg);

}

.nr-discovery-card h4 {

    font-size: 16px;

    font-weight: 600;

    color: var(--nr-text-primary, #1e293b);

    margin-bottom: 8px;

}

.nr-discovery-card p {

    font-size: 13px;

    color: var(--nr-text-secondary, #64748b);

    line-height: 1.5;

}



.nr-discovery-search {

    max-width: 700px;

    margin: 0 auto;

}

.nr-discovery-form {

    display: flex;

    gap: 12px;

}

.nr-discovery-input-wrap {

    flex: 1;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 0 16px;

    background: white;

    border: 2px solid var(--nr-border, #e2e8f0);

    border-radius: 12px;

    transition: border-color 0.2s;

}

.nr-discovery-input-wrap:focus-within {

    border-color: var(--nr-primary, #0f766e);

}

.nr-discovery-input {

    flex: 1;

    padding: 16px 0;

    border: none;

    outline: none;

    font-size: 15px;

    background: transparent;

}

.nr-discovery-input::placeholder {

    color: var(--nr-text-muted, #94a3b8);

}



/* Section actions alignment */

.nr-section-actions {

    display: flex;

    gap: 12px;

    align-items: center;

}



/* ============================================

   RESPONSIVE - New Sections

   ============================================ */

@media (max-width: 1200px) {

    .nr-listings-grid { grid-template-columns: repeat(3, 1fr); }

    .nr-discovery-grid { grid-template-columns: repeat(2, 1fr); }

}

@media (max-width: 900px) {

    .nr-listings-grid { grid-template-columns: repeat(2, 1fr); }

}

@media (max-width: 768px) {

    .nr-listings-grid { grid-template-columns: 1fr; }

    .nr-discovery-grid { grid-template-columns: 1fr; }

    .nr-discovery-section { margin: 0 -16px; padding: 32px 16px; }

    .nr-discovery-message { flex-direction: column; text-align: center; }

    .nr-discovery-form { flex-direction: column; }

    .nr-listing-tabs { justify-content: center; }

}




/* Listing card images */

.nr-listing-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}




/* Listing placeholder improvements */

.nr-listing-placeholder {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;

    height: 100%;

    width: 100%;

}

.nr-listing-placeholder .gf-icon {

    opacity: 0.25;

    width: 48px;

    height: 48px;

}

.nr-listing-placeholder span {

    font-size: 11px;

    color: #94a3b8;

    font-weight: 500;


    margin-bottom: 32px;

}



.nr-search-header h1 {

    font-size: 28px;

    font-weight: 700;

    margin-bottom: 24px;

    display: flex;

    align-items: center;

    gap: 12px;

}



.nr-search-form {

    background: var(--nr-bg-card);

    border-radius: var(--nr-radius-lg);

    padding: 24px;

    box-shadow: var(--nr-shadow-sm);

}



.nr-search-form .nr-search-inputs {

    display: grid;

    grid-template-columns: 2fr repeat(5, 1fr);

    gap: 16px;

    margin-bottom: 20px;

}



.nr-search-form .nr-search-field {

    display: flex;

    flex-direction: column;

    gap: 6px;

}



.nr-search-field-wide {

    grid-column: span 1;

}



.nr-search-form .nr-search-field label {

    font-size: 12px;

    font-weight: 600;

    color: var(--nr-text-secondary);

    display: flex;

    align-items: center;

    gap: 6px;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



.nr-search-form .nr-search-field input,

.nr-search-form .nr-search-field select {

    padding: 12px 14px;

    border: 1px solid var(--nr-border);

    border-radius: var(--nr-radius-sm);

    font-size: 14px;

    background: var(--nr-bg-primary);

    transition: all 0.2s;

}



.nr-search-form .nr-search-field input:focus,

.nr-search-form .nr-search-field select:focus {

    outline: none;

    border-color: var(--nr-primary);

    box-shadow: 0 0 0 3px rgba(27, 77, 62, 0.1);

}



.nr-search-actions {

    display: flex;

    gap: 12px;

}



/* Results */

.nr-search-results {

    margin-top: 32px;

}



.nr-results-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 20px;

}



.nr-results-count {

    font-size: 16px;

    color: var(--nr-text-secondary);

}



.nr-results-sort {

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 14px;

    color: var(--nr-text-secondary);

}



.nr-results-sort select {

    padding: 8px 12px;

    border: 1px solid var(--nr-border);

    border-radius: var(--nr-radius-sm);

    font-size: 14px;

    background: var(--nr-bg-card);

}



/* No Results */

.nr-no-results {

    text-align: center;

    padding: 80px 20px;

    background: var(--nr-bg-card);

    border-radius: var(--nr-radius-lg);

    color: var(--nr-text-muted);

}



.nr-no-results h3 {

    font-size: 20px;

    margin: 20px 0 8px;

    color: var(--nr-text-primary);

}



.nr-no-results p {

    margin-bottom: 24px;

}



/* Listing Cards (Search Results) */

.nr-search-results .nr-listings {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));

    gap: 24px;

}



.nr-listing-card {

    background: var(--nr-bg-card);

    border-radius: var(--nr-radius-lg);

    overflow: hidden;

    box-shadow: var(--nr-shadow-sm);

    transition: all 0.2s;

}



.nr-listing-card:hover {

    box-shadow: var(--nr-shadow-lg);

    transform: translateY(-2px);

}



.nr-listing-card-link {

    text-decoration: none;

    color: inherit;

    display: block;

}



.nr-listing-image {

    position: relative;

    aspect-ratio: 16/10;

    background: var(--nr-bg-secondary);

    overflow: hidden;

}



.nr-listing-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.nr-listing-image-placeholder {

    display: flex;

    align-items: center;

    justify-content: center;

    height: 100%;

    color: var(--nr-text-muted);

}



.nr-listing-badge {

    position: absolute;

    top: 12px;

    left: 12px;

    padding: 6px 12px;

    border-radius: var(--nr-radius-sm);

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

}



.nr-listing-badge-active {

    background: var(--nr-primary);

    color: white;

}



.nr-listing-content {

    padding: 20px;

}



.nr-listing-price {

    font-size: 22px;

    font-weight: 700;

    color: var(--nr-primary);

    margin-bottom: 6px;

}



.nr-listing-address {

    font-size: 16px;

    font-weight: 600;

    color: var(--nr-text-primary);

    margin-bottom: 4px;

}



.nr-listing-location {

    font-size: 14px;

    color: var(--nr-text-secondary);

    margin-bottom: 12px;

}



.nr-listing-meta {

    display: flex;

    gap: 16px;

    font-size: 13px;

    color: var(--nr-text-muted);

}



.nr-listing-meta span {

    display: flex;

    align-items: center;

    gap: 4px;

}



/* Pagination */

.nr-pagination {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 16px;

    margin-top: 40px;

    padding-top: 24px;

    border-top: 1px solid var(--nr-border);

}



.nr-pagination-btn {

    display: flex;

    align-items: center;

    gap: 6px;

    padding: 10px 20px;

    background: var(--nr-bg-card);

    border: 1px solid var(--nr-border);

    border-radius: var(--nr-radius-sm);

    color: var(--nr-primary);

    text-decoration: none;

    font-weight: 500;

    transition: all 0.2s;

}



.nr-pagination-btn:hover {

    background: var(--nr-primary);

    color: white;

    border-color: var(--nr-primary);

}



.nr-pagination-info {

    font-size: 14px;

    color: var(--nr-text-secondary);

}



/* ============================================

   RESPONSIVE - PROPERTY & SEARCH

   ============================================ */

@media (max-width: 1024px) {

    .nr-property-layout {

        grid-template-columns: 1fr;

    }

    

    .nr-property-sidebar {

        flex-direction: row;

        flex-wrap: wrap;

    }

    

    .nr-sidebar-card {

        flex: 1;

        min-width: 280px;

    }

    

    .nr-search-form .nr-search-inputs {

        grid-template-columns: repeat(3, 1fr);

    }

}



@media (max-width: 768px) {

    .nr-breadcrumb {

        padding: 12px 16px;

        font-size: 13px;

    }

    

    .nr-property-layout {

        padding: 0 16px;

    }

    

    .nr-property-info {

        padding: 20px;

    }

    

    .nr-property-info .nr-property-price {

        font-size: 26px;

    }

    

    .nr-property-info .nr-property-address {

        font-size: 20px;

    }

    

    .nr-property-stats {

        gap: 16px;

    }

    

    .nr-details-grid {

        grid-template-columns: 1fr;

    }

    

    .nr-claims-summary {

        flex-direction: column;

        text-align: center;

    }

    

    .nr-claims-count {

        padding-right: 0;

        padding-bottom: 16px;

        border-right: none;

        border-bottom: 1px solid var(--nr-border);

    }

    

    .nr-sidebar-card {

        min-width: 100%;

    }

    

    .nr-search-page {

        padding: 20px 16px 40px;

    }

    

    .nr-search-header h1 {

        font-size: 22px;

    }

    

    .nr-search-form {

        padding: 16px;

    }

    

    .nr-search-form .nr-search-inputs {

        grid-template-columns: 1fr;

    }

    

    .nr-search-actions {

        flex-direction: column;

    }

    

    .nr-search-results .nr-listings {

        grid-template-columns: 1fr;

    }

}

