
/**

 * NeuraRealty Layout CSS

 * Header, footer, navigation, page structures

 * NeuraWeb Global Inc.

 */



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

   HEADER

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

.nr-header {

    position: sticky;

    top: 0;

    z-index: var(--nr-z-sticky);

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

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

}



.nr-header-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    max-width: 1600px;

    margin: 0 auto;

    padding: 0 24px;

    height: 72px;

}



/* Logo */

.nr-logo {

    display: flex;

    align-items: center;

    gap: 12px;

    text-decoration: none;

    flex-shrink: 0;

}



.nr-logo-icon {

    width: 44px;

    height: 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--nr-gradient-hero);

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

}



.nr-logo-icon .gf-icon {

    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);

}



/* Navigation */

.nr-nav {

    display: flex;

    align-items: center;

    gap: 4px;

}



.nr-nav-item {

    display: flex;

    align-items: center;

    gap: 6px;

    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 var(--nr-transition-fast);

}



.nr-nav-item:hover {

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

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

}



.nr-nav-item.active {

    background: var(--nr-primary);

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

}



.nr-nav-item.active .gf-icon {

    filter: brightness(0) saturate(100%) invert(1);

}



/* Navigation Dropdown */

.nr-nav-dropdown {

    position: relative;

}



.nr-nav-dropdown-menu {

    position: absolute;

    top: 100%;

    left: 0;

    z-index: var(--nr-z-dropdown);

    min-width: 260px;

    padding: 8px;

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

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

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

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

    opacity: 0;

    visibility: hidden;

    transform: translateY(8px);

    transition: all var(--nr-transition-fast);

}



.nr-nav-dropdown:hover .nr-nav-dropdown-menu {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}



.nr-nav-dropdown-item {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 10px 12px;

    text-decoration: none;

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

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

    transition: background var(--nr-transition-fast);

}



.nr-nav-dropdown-item:hover {

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

}



.nr-nav-dropdown-icon {

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

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

    flex-shrink: 0;

}



.nr-nav-dropdown-text {

    flex: 1;

    min-width: 0;

}



.nr-nav-dropdown-title {

    font-size: 14px;

    font-weight: 500;

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

}



.nr-nav-dropdown-desc {

    font-size: 12px;

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

}



/* Header Actions */

.nr-header-actions {

    display: flex;

    align-items: center;

    gap: 12px;

}



/* User Menu */

.nr-user-menu {

    position: relative;

}



.nr-user-btn {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 4px;

    background: transparent;

    border: none;

    cursor: pointer;

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

}



.nr-avatar {

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--nr-gradient-hero);

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

    font-size: 14px;

    font-weight: 600;

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

}



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

   FOOTER

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

.nr-footer {

    background: var(--nr-primary);

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

    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 repeat(4, 1fr);

    gap: 48px;

    margin-bottom: 48px;

}



/* Footer Brand */

.nr-footer-brand {

    max-width: 300px;

}



.nr-footer-logo {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 16px;

}



.nr-footer-logo-icon {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(255, 255, 255, 0.15);

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

}



.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-tagline {

    font-size: 14px;

    color: rgba(255, 255, 255, 0.7);

    line-height: 1.6;

    margin: 0;

}



/* Footer Columns */

.nr-footer-column h4 {

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 16px;

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

}



.nr-footer-links {

    list-style: none;

}



.nr-footer-links li {

    margin-bottom: 10px;

}



.nr-footer-links a {

    font-size: 13px;

    color: rgba(255, 255, 255, 0.7);

    text-decoration: none;

    transition: color var(--nr-transition-fast);

}



.nr-footer-links a:hover {

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

}



/* Footer Bottom */

.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);

    flex-wrap: wrap;

    gap: 16px;

}



.nr-footer-copyright {

    font-size: 13px;

    color: rgba(255, 255, 255, 0.5);

}



.nr-footer-badges {

    display: flex;

    gap: 20px;

}



.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;

}



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

   BREADCRUMB

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

.nr-breadcrumb {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 16px 0;

    font-size: 13px;

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

    max-width: 1600px;

    margin: 0 auto;

}



.nr-breadcrumb a {

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

    text-decoration: none;

}



.nr-breadcrumb a:hover {

    color: var(--nr-primary);

}



.nr-breadcrumb-current {

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

    font-weight: 500;

}



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

   TWO COLUMN LAYOUT (Property page)

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

.nr-layout-2col {

    display: grid;

    grid-template-columns: 1fr 380px;

    gap: 32px;

    max-width: 1600px;

    margin: 0 auto;

    padding: 0 24px;

}



.nr-layout-main {

    min-width: 0;

}



.nr-layout-sidebar {

    display: flex;

    flex-direction: column;

    gap: 20px;

}



/* Sticky sidebar */

.nr-sidebar-sticky {

    position: sticky;

    top: 96px;

}



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

   SEARCH LAYOUT

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

.nr-search-layout {

    max-width: 1800px;

    margin: 0 auto;

    padding: 20px 24px;

}



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

   RESPONSIVE

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

@media (max-width: 1200px) {

    .nr-layout-2col {

        grid-template-columns: 1fr 320px;

    }

    

    .nr-footer-grid {

        grid-template-columns: 1fr 1fr;

    }

}



@media (max-width: 900px) {

    .nr-layout-2col {

        grid-template-columns: 1fr;

    }

    

    .nr-layout-sidebar {

        order: -1;

    }

    

    .nr-sidebar-sticky {

        position: static;

    }

}



@media (max-width: 768px) {

    .nr-header-inner {

        padding: 0 16px;

        height: 64px;

    }

    

    .nr-nav {

        display: none;

    }

    

    .nr-logo-text {

        font-size: 18px;

    }

    

    .nr-footer {

        padding: 48px 16px 24px;

    }

    

    .nr-footer-grid {

        grid-template-columns: 1fr;

        gap: 32px;

    }

    

    .nr-footer-brand {

        max-width: none;

    }

    

    .nr-footer-bottom {

        flex-direction: column;

        text-align: center;

    }

    

    .nr-search-layout {

        padding: 16px;

    }

}



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

   HERO SECTION (Homepage)

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

.nr-hero {

    background: var(--nr-gradient-hero);

    padding: 80px 24px;

    position: relative;

    overflow: hidden;

}



.nr-hero::before {

    content: '';

    position: absolute;

    inset: 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 {

    position: relative;

    z-index: 1;

    max-width: 900px;

    margin: 0 auto;

    text-align: center;

}



.nr-hero-badge {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 8px 16px;

    background: rgba(255, 255, 255, 0.15);

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

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

    font-size: 13px;

    font-weight: 500;

    margin-bottom: 24px;

    backdrop-filter: blur(10px);

}



.nr-hero h1 {

    font-size: 52px;

    font-weight: 700;

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

    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);

    max-width: 600px;

    margin: 0 auto 40px;

}



/* Hero Stats */

.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: var(--nr-text-inverse);

}



.nr-hero-stat-label {

    font-size: 13px;

    color: rgba(255, 255, 255, 0.7);

    margin-top: 4px;

}



@media (max-width: 768px) {

    .nr-hero {

        padding: 48px 16px;

    }

    

    .nr-hero h1 {

        font-size: 32px;

    }

    

    .nr-hero-stats {

        flex-wrap: wrap;

        gap: 24px;

    }

    

    .nr-hero-stat {

        flex: 0 0 calc(50% - 12px);

    }

}

