body { font-family: Optima, Segoe, "Segoe UI", Candara, Calibri, Arial, sans-serif; color: #2b2b2b; background: #fff; }

/* Brand color overrides */
:root {
    --brand-green: #006444;
    --brand-dark: #1f2d24;
}

.site-navbar, .admin-navbar {
    background-color: #ffffff !important;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 10;
}
.site-navbar .nav-link, .admin-navbar .nav-link {
    color: var(--brand-dark) !important;
}
.site-navbar .nav-link:hover, .admin-navbar .nav-link:hover {
    color: var(--brand-green) !important;
}

/* Simple text logo: capitalized name with a green underline, plus subtitle */
.logo-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.2;
}
.logo-text {
    color: var(--brand-dark) !important;
    font-weight: 400;
    font-variant: small-caps;
    letter-spacing: 1.5px;
    padding-bottom: 4px;
    border-bottom: 1px solid #00a870;
}
.logo-subtitle {
    color: var(--brand-dark) !important;
    font-size: 0.7rem;
    font-weight: 400;
    font-variant: small-caps;
    letter-spacing: 0.3px;
    text-transform: none;
    opacity: 1;
    margin-top: 6px;
    text-align: center;
}

.hero {
    background: #f2f6f2;
    color: var(--brand-dark);
    border-radius: 6px;
}

.btn-primary { background-color: var(--brand-green); border-color: var(--brand-green); }
.btn-primary:hover, .btn-primary:focus { background-color: #004d34; border-color: #004d34; }
.btn-outline-primary { color: var(--brand-green); border-color: var(--brand-green); }
.btn-outline-primary:hover { background-color: var(--brand-green); border-color: var(--brand-green); color: #fff; }

/* Property cards */
.property-card-image { position: relative; aspect-ratio: 4 / 3; background: #eee; overflow: hidden; }
.property-card-image img { width: 100%; height: 100%; object-fit: cover; }
.no-image { display: flex; align-items: center; justify-content: center; height: 100%; color: #999; }
.property-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.property-price { color: var(--brand-green); }

.property-card-unavailable .property-card-image img { filter: grayscale(60%); opacity: 0.7; }
.property-status-badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 2;
    background: var(--brand-dark);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.25rem 0.6rem;
    border-radius: 3px;
}
.property-status-badge-inline {
    background: var(--brand-dark);
    color: #fff;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.3rem 0.7rem;
}

/* Footer */
.site-footer { background: #f5f5f5; color: #555; border-top-color: var(--brand-green) !important; }
.site-footer a { color: var(--brand-green); }

/* Gallery lightbox */
.gallery-link { display: block; cursor: zoom-in; }

.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    cursor: pointer;
    z-index: 10;
}
.gallery-nav:hover { background: rgba(0, 0, 0, 0.7); }
.gallery-nav-prev { left: 0.5rem; }
.gallery-nav-next { right: 0.5rem; }
