﻿
/* Custom Modern Styling */
/* ============================
   GLOBAL COLOR SCHEME
   ============================ */

/* Primary colors from logo */
:root {
    --brand-red: #E31B23;
    --brand-red-dark: #c2181f;
    --brand-navy: #00275E;
    --brand-gray: #2c3e50;
    --brand-light-gray: #f1f3f5;
    --brand-bg: #ffffff;
}

/* ---------------------------
   Body and headings
---------------------------- */
body {
    color: var(--brand-gray);
    background-color: #f8f9fa; /* keep light gray */
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--brand-navy);
    font-weight: 600;
}

.section-title {
    color: var(--brand-gray);
    border-bottom: 2px solid var(--brand-light-gray);
}

/* ---------------------------
   Links
---------------------------- */
a {
    color: var(--brand-navy);
    transition: color 0.3s ease;
}

    a:hover, a:focus {
        color: var(--brand-red);
        text-decoration: none;
    }

/* ---------------------------
   Buttons
---------------------------- */
.btn-primary {
    background-color: var(--brand-red);
    border-color: var(--brand-red);
    color: #fff;
    font-weight: 500;
    transition: all 0.3s ease;
}

    .btn-primary:hover {
        background-color: var(--brand-red-dark);
        border-color: var(--brand-red-dark);
    }

.btn-outline-primary {
    color: var(--brand-navy);
    border-color: var(--brand-navy);
    font-weight: 500;
}

    .btn-outline-primary:hover {
        background-color: var(--brand-navy);
        color: #fff;
        border-color: var(--brand-navy);
    }

/* ---------------------------
   Header / Navbar
---------------------------- */
header.bg-white {
    background-color: var(--brand-bg);
}

header .nav-link.text-dark {
    color: var(--brand-navy);
    font-weight: 500;
}

    header .nav-link.text-dark:hover {
        color: var(--brand-red);
    }

/* Session user text */
header span.fw-medium {
    color: var(--brand-navy);
}

/* ---------------------------
   Cards and Hero
---------------------------- */
.hero-image {
    border-radius: 12px;
    object-fit: cover;
    width: 100%;
    max-height: 500px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

div.card.h-100.text-center.shadow-sm {
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

    div.card.h-100.text-center.shadow-sm:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.3);
        background-color: rgba(227, 27, 35, 0.05);
    }

/* Property price */
.property-price {
    color: var(--brand-red);
    font-weight: 700;
}

/* Badges */
.badge-custom {
    background-color: #e3f2fd;
    color: var(--brand-navy);
}

/* ---------------------------
   Tables
---------------------------- */
.table-opportunities th {
    background-color: var(--brand-light-gray);
    font-weight: 600;
    color: var(--brand-gray);
}

    .table-opportunities th.action-header {
        color: var(--brand-red);
        font-weight: 800;
    }

/* ---------------------------
   Footer
---------------------------- */
.footer-dark {
    background-color: #212529;
    color: #adb5bd;
}

    .footer-dark a {
        color: #adb5bd;
        text-decoration: none;
    }

        .footer-dark a:hover {
            color: var(--brand-red);
        }

/* Footer social buttons hover */
footer .btn-outline-light:hover {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}

footer h5 {
    color: #fff !important;
}
/* ---------------------------
   Status badges
---------------------------- */
.status-active {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
    box-shadow: 0 0 6px rgba(40, 167, 69, 0.3);
}

.status-inactive {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    box-shadow: 0 0 6px rgba(220, 53, 69, 0.3);
}

/* ---------------------------
   Responsive tweaks
---------------------------- */
@media (max-width: 767.98px) {
    header .container {
        flex-direction: column;
        align-items: flex-start;
    }

    header .nav {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    header .d-flex.align-items-center {
        width: 100%;
        justify-content: flex-start;
        margin-top: 0.5rem;
    }

    header .btn {
        margin-bottom: 0.3rem;
    }
}

.sticky-sidebar {
    position: sticky;
    top: 95px;
}

.section-title {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 0.5rem;
}

.property-price {
    color: #00a8cc;
    font-weight: 700;
    font-size: 1.8rem;
}

.agent-img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: fill;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.badge-custom {
    background-color: #e3f2fd;
    color: #0d6efd;
    font-weight: 500;
}

.table-opportunities th {
    background-color: #f1f3f5;
    font-weight: 600;
}

.property-card-img {
    height: 180px;
    object-fit: cover;
}

.footer-dark {
    background-color: #212529;
    color: #adb5bd;
}

    .footer-dark a {
        color: #adb5bd;
        text-decoration: none;
    }

        .footer-dark a:hover {
            color: #fff;
        }


footer a:hover {
    color: #fff !important;
}
/* Social media icons hover (one style for all) */
footer .btn-outline-light:hover {
    background-color: #fff !important; /* icon background on hover */
    color: #000 !important; /* icon color on hover */
    border-color: #fff !important; /* border color on hover */
    transition: all 0.3s ease;
}

.fab {
    padding-right: 3px;
}

.status-active {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
    box-shadow: 0 0 6px rgba(40, 167, 69, 0.3);
}

.status-inactive {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    box-shadow: 0 0 6px rgba(220, 53, 69, 0.3);
}

.view-all-right {
    float: right;
}

    .view-all-right a {
        text-decoration: none;
    }

.badge a {
    text-decoration: none;
}

.table-opportunities {
    table-layout: fixed;
    width: 100%;
}

/* Ellipsis only on large screens and up */
@media (min-width: 992px) { /* Bootstrap lg breakpoint */
    /* Fixed width columns */
    .truncate-col {
        width: 180px; /* adjust if needed */
        max-width: 180px;
    }

    /* Ellipsis behavior */
    .truncate-text {
        display: block;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

/* On smaller screens (md and below), let columns expand naturally */
@media (max-width: 991.98px) {
    .truncate-col {
        width: auto;
        max-width: 100%;
    }

    .truncate-text {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }
}

/* Strong, clean green header emphasis */
.table-opportunities th.action-header {
    font-weight: 800;
    color: #198754;
    letter-spacing: 0.6px;
}

/* Hover effect for the single card with these classes */
div.card.h-100.text-center.shadow-sm {
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

    div.card.h-100.text-center.shadow-sm:hover {
        transform: translateY(-5px); /* lifts the card */
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); /* stronger shadow */
        background-color: rgba(255, 255, 255, 0.05); /* subtle background change */
    }

/* Apply only on large screens and above */
@media (min-width: 992px) {
    #navbarContent {
        display: flex; /* Keep horizontal layout */
        margin-bottom: -30px; /* Your custom spacing */
    }
}