/* TRS Global Estate - custom site styles (layered on top of the WPResidence theme CSS) */
:root{
    --trs-navy:#001a33;
    --trs-navy-light:#0a3a63;
    --trs-teal:#00443c;
    --trs-teal-light:#0f6b5c;
    --trs-cream:#f6f7f5;
    --trs-border:#e2e5e2;
    --trs-text:#222222;
}

/* ---------- Hero ---------- */
.trs-hero{
    background:linear-gradient(120deg, rgba(0,26,51,.84), rgba(0,68,60,.84)), url('photos/hero-banner.jpg') center/cover no-repeat;
    min-height:80vh;
    box-sizing:border-box;
    padding:140px 20px 70px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}
.trs-hero h1{
    color:#fff;
    font-size:42px;
    font-weight:700;
    margin-bottom:14px;
}
.trs-hero p{
    color:#e7ecea;
    max-width:640px;
    margin:0 auto 36px;
    font-size:17px;
}
.trs-search-form{
    background:#fff;
    border-radius:10px;
    padding:18px;
    max-width:1000px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}
.trs-search-form input, .trs-search-form select{
    flex:1 1 160px;
    padding:12px 14px;
    border:1px solid var(--trs-border);
    border-radius:6px;
    font-size:14px;
    color:var(--trs-text);
}
.trs-search-form button{
    flex:0 0 auto;
    background:var(--trs-teal);
    color:#fff;
    border:none;
    padding:12px 28px;
    border-radius:6px;
    font-weight:600;
    cursor:pointer;
}
.trs-search-form button:hover{ background:var(--trs-teal-light); }

/* ---------- Section wrapper ---------- */
.trs-section{
    max-width:1200px;
    margin:0 auto;
    padding:70px 20px;
}
.trs-section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 40px;
}
.trs-section-head h2{
    font-size:32px;
    font-weight:700;
    color:var(--trs-navy);
    margin-bottom:12px;
}
.trs-section-head p{ color:#555; }
.trs-section-alt{ background:var(--trs-cream); }
.trs-section-foot{ text-align:center; margin-top:36px; }

/* ---------- Property / Blog cards ---------- */
.trs-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:28px;
}
.trs-card, .trs-blog-card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 4px 20px rgba(0,0,0,.08);
    display:flex;
    flex-direction:column;
    transition:transform .2s ease, box-shadow .2s ease;
}
.trs-card:hover, .trs-blog-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.trs-card-img{
    display:block;
    height:200px;
    background-size:cover;
    background-position:center;
    position:relative;
}
.trs-badge{
    position:absolute;
    top:14px;
    left:14px;
    padding:5px 12px;
    border-radius:4px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    color:#fff;
}
.trs-badge-sale{ background:var(--trs-teal); }
.trs-badge-rent{ background:var(--trs-navy-light); }
.trs-card-body{ padding:20px; flex:1; display:flex; flex-direction:column; }
.trs-card-price{ font-size:20px; font-weight:700; color:var(--trs-teal); margin-bottom:6px; }
.trs-card-title{ font-size:17px; margin:0 0 8px; }
.trs-card-title a{ color:var(--trs-navy); text-decoration:none; }
.trs-card-title a:hover{ color:var(--trs-teal); }
.trs-card-location{ color:#666; font-size:14px; margin-bottom:8px; }
.trs-card-location i{ color:var(--trs-teal); margin-right:4px; }
.trs-card-meta{ color:#666; font-size:13px; margin-bottom:10px; }
.trs-card-type{
    align-self:flex-start;
    margin-top:auto;
    background:var(--trs-cream);
    color:var(--trs-navy);
    font-size:12px;
    font-weight:600;
    padding:4px 10px;
    border-radius:4px;
}
.trs-blog-meta{ color:#888; font-size:13px; margin-bottom:8px; }
.trs-blog-excerpt{ color:#555; font-size:14px; line-height:1.6; }
.trs-readmore{ color:var(--trs-teal); font-weight:600; text-decoration:none; font-size:14px; }
.trs-readmore:hover{ color:var(--trs-navy); }

/* ---------- Listing page ---------- */
.trs-listing-wrap{ max-width:1200px; margin:0 auto; padding:50px 20px 80px; }
.trs-filter-bar{
    background:#fff;
    border:1px solid var(--trs-border);
    border-radius:10px;
    padding:20px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:14px;
}
.trs-filter-bar input, .trs-filter-bar select{
    flex:1 1 150px;
    padding:11px 12px;
    border:1px solid var(--trs-border);
    border-radius:6px;
    font-size:14px;
}
.trs-filter-bar button{
    padding:11px 22px;
    border-radius:6px;
    border:none;
    font-weight:600;
    cursor:pointer;
}
.trs-filter-bar .trs-btn-primary{ background:var(--trs-teal); color:#fff; }
.trs-filter-bar .trs-btn-primary:hover{ background:var(--trs-teal-light); }
.trs-filter-bar .trs-btn-reset{ background:#eee; color:var(--trs-text); }
#listing-count{ color:#666; margin-bottom:24px; display:block; }
.trs-empty{ color:#777; padding:40px 0; text-align:center; grid-column:1/-1; }

/* ---------- Single page (property + blog) ---------- */
.trs-single-hero{
    height:380px;
    background-size:cover;
    background-position:center;
    position:relative;
}
.trs-single-hero .trs-badge{ top:auto; bottom:14px; }
.trs-single-body{
    max-width:1200px;
    margin:0 auto;
    padding:50px 20px 80px;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:50px;
}
.trs-single-main h1{ color:var(--trs-navy); font-size:30px; margin-bottom:10px; }
.trs-single-price{ font-size:26px; font-weight:700; color:var(--trs-teal); margin:14px 0; }
.trs-single-meta{
    list-style:none; padding:0; margin:0 0 24px;
    display:flex; flex-wrap:wrap; gap:22px;
    border-top:1px solid var(--trs-border);
    border-bottom:1px solid var(--trs-border);
    padding:18px 0;
}
.trs-single-meta li{ color:#444; font-size:14px; }
.trs-single-meta i{ color:var(--trs-teal); margin-right:6px; }
.trs-single-main p{ color:#444; line-height:1.8; }
.trs-sidebar-card{
    background:var(--trs-cream);
    border-radius:10px;
    padding:26px;
}
.trs-sidebar-card h4{ color:var(--trs-navy); margin-bottom:10px; }
.trs-sidebar-card .wpresidence_button{
    display:inline-block;
    margin-top:14px;
    background:var(--trs-teal) !important;
    color:#fff !important;
    text-decoration:none;
    padding:11px 26px;
    border-radius:6px;
    font-weight:600;
}
.trs-sidebar-email{
    display:block;
    margin-top:14px;
    color:var(--trs-navy);
    text-decoration:none;
    font-size:14px;
}
.trs-sidebar-list{ list-style:none; padding:0; margin:0; }
.trs-sidebar-list li{ padding:10px 0; border-bottom:1px solid var(--trs-border); }
.trs-sidebar-list a{ color:var(--trs-navy); text-decoration:none; font-size:14px; }
.trs-sidebar-list a:hover{ color:var(--trs-teal); }
@media(max-width:900px){ .trs-single-body{ grid-template-columns:1fr; } }

/* ---------- About / Contact ---------- */
.trs-about-banner{
    height:320px;
    background:linear-gradient(120deg, rgba(0,68,60,.82), rgba(10,58,99,.82)), url('photos/about-banner.jpg') center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}
.trs-about-banner h1{ color:#fff; font-size:36px; }
.trs-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
    gap:24px;
    text-align:center;
    margin-top:20px;
}
.trs-stats div strong{ display:block; font-size:32px; color:var(--trs-teal); }
.trs-stats div span{ color:#666; font-size:14px; }
.trs-values{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:24px;
}
.trs-value-card{
    background:#fff;
    border:1px solid var(--trs-border);
    border-radius:10px;
    padding:26px;
    text-align:center;
}
.trs-value-card i{ font-size:28px; color:var(--trs-teal); margin-bottom:14px; display:block; }
.trs-value-card h4{ color:var(--trs-navy); margin-bottom:8px; }
.trs-value-card p{ color:#666; font-size:14px; }

.trs-contact-wrap{
    max-width:1100px;
    margin:0 auto;
    padding:60px 20px 90px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}
.trs-contact-info h2{ color:var(--trs-navy); margin-bottom:16px; }
.trs-contact-info ul{ list-style:none; padding:0; margin:24px 0 0; }
.trs-contact-info li{ display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; color:#444; }
.trs-contact-info li i{ color:var(--trs-teal); font-size:18px; margin-top:3px; }
.trs-contact-form input, .trs-contact-form textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--trs-border);
    border-radius:6px;
    margin-bottom:14px;
    font-size:14px;
    font-family:inherit;
}
.trs-contact-form button{
    background:var(--trs-teal);
    color:#fff;
    border:none;
    padding:13px 30px;
    border-radius:6px;
    font-weight:600;
    cursor:pointer;
}
.trs-contact-form button:hover{ background:var(--trs-teal-light); }
.trs-success{
    background:#e6f4ef;
    color:var(--trs-teal);
    padding:14px 18px;
    border-radius:6px;
    margin-bottom:16px;
    font-size:14px;
}
@media(max-width:800px){ .trs-contact-wrap{ grid-template-columns:1fr; } }

/* ---------- Footer latest properties widget ---------- */
.trs-footer-listing{ list-style:none; }
.trs-footer-listing a{ display:flex; align-items:center; gap:12px; text-decoration:none; padding:10px 0; }
.trs-footer-listing-img{
    width:56px; height:56px; flex:0 0 auto;
    background-size:cover; background-position:center;
    border-radius:6px;
}
.trs-footer-listing-info{ display:flex; flex-direction:column; }
.trs-footer-listing-title{ color:#fff; font-size:13px; line-height:1.4; }
.trs-footer-listing-price{ color:#9fb3c8; font-size:12px; margin-top:2px; }
#footer-latest-list{ padding:0; margin:0; }

/* ---------- Nav active state ---------- */
.wpresidence-navigation-menu .menu-item.active > a,
.mobilex-menu .menu-item.active > a{
    color:#fff !important;
    font-weight:700;
    border-bottom:2px solid #ffffff;
}
.menu-footer-container .menu-item.active > a{ color:var(--trs-teal) !important; font-weight:700; }
