/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Version: 1.0
*/

/* =========================
   RoofNest Property Archive
   ========================= */

body{
    background:#f5f7fa;
}

/* Astra Container Fix */
.ast-container{
    max-width:100% !important;
    width:100% !important;
}

/* Main Archive Wrapper */
.roofnest-property{
    max-width:1400px !important;
    width:100% !important;
    margin:40px auto !important;
    padding:20px !important;
}

/* Page Title */
.archive-title{
    text-align:center;
    margin-bottom:40px;
    font-size:36px;
    font-weight:700;
    color:#222;
}

/* Property Grid */
.property-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:35px;
    max-width:1200px;
    margin:auto;
}

/* Property Card */
.property-card{
    background:#ffffff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
    transition:all .3s ease;
}

.property-card:hover{
    transform:translateY(-5px);
}

/* Property Image */
.property-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
}

/* Property Content */
.property-content{
    padding:20px;
}

/* Price */
.property-price{
    font-size:26px;
    font-weight:700;
    color:#0a7d2c;
    margin-bottom:12px;
}

/* Property Title */
.property-card h3{
    margin:0 0 10px;
    font-size:22px;
    line-height:1.4;
}

.property-card h3 a{
    text-decoration:none;
    color:#222;
}

.property-card h3 a:hover{
    color:#0d6efd;
}

/* Property Details */
.property-card p{
    margin:8px 0;
    color:#555;
    font-size:15px;
}

/* Button */
.view-btn{
    display:inline-block;
    margin-top:15px;
    background:#0d6efd;
    color:#ffffff !important;
    padding:10px 20px;
    border-radius:6px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.view-btn:hover{
    background:#084fc7;
}
/* Filter Bar */

.roofnest-filters{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
    max-width:1200px;
    margin:0 auto 20px;
}

.roofnest-filters select{
    width:100%;
    height:50px;
    padding:0 15px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
    font-size:15px;
}

.filter-btn{
    background:#0d6efd;
    color:#fff;
    border:none;
    padding:12px 25px;
    border-radius:8px;
    cursor:pointer;
}

.filter-btn:hover{
    background:#084fc7;
}

/* Tablet */
@media(max-width:992px){

.property-grid{
    grid-template-columns:repeat(2,1fr) !important;
}

}

/* Mobile */
@media(max-width:768px){

.property-grid{
    grid-template-columns:1fr !important;
}

.archive-title{
    font-size:28px;
}

}
/* ==========================
   RoofNest Single Property
========================== */

.roofnest-single-property{
    max-width:1400px;
    margin:40px auto;
    padding:20px;
}

.property-main{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
}

.property-image img{
    width:100%;
    border-radius:12px;
}

.property-left h1{
    margin-top:25px;
    font-size:42px;
}

.property-price{
    font-size:34px;
    font-weight:700;
    color:#0a7d2c;
    margin:15px 0;
}

.property-location{
    font-size:18px;
    color:#666;
}

.property-info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin:30px 0;
}

.property-info-grid div{
    background:#fff;
    padding:20px;
    border-radius:10px;
}

.property-info-grid strong{
    display:block;
    margin-bottom:8px;
}

.property-section{
    margin-top:40px;
}

.property-section h2{
    margin-bottom:20px;
}

.amenities-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.amenities-grid div{
    background:#fff;
    padding:15px;
    border-radius:8px;
}

.property-sidebar{
    position:relative;
}

.contact-box{
    position:sticky;
    top:100px;
    background:#fff;
    padding:25px;
    border-radius:12px;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
}

.sidebar-price{
    font-size:28px;
    font-weight:700;
    color:#0a7d2c;
    margin-bottom:20px;
}

.call-btn,
.whatsapp-btn{
    display:block;
    text-align:center;
    padding:14px;
    border-radius:8px;
    text-decoration:none;
    margin-bottom:15px;
    color:#fff !important;
    font-weight:600;
}

.call-btn{
    background:#0d6efd;
}

.whatsapp-btn{
    background:#25D366;
}

.promotion-box{
    margin-top:50px;
    background:#fff8e1;
    padding:25px;
    border-radius:10px;
}

@media(max-width:768px){

.property-main{
    grid-template-columns:1fr;
}

.property-info-grid{
    grid-template-columns:1fr;
}

.amenities-grid{
    grid-template-columns:1fr;
}

.property-left h1{
    font-size:32px;
}

}

.single-property .ast-container,
.single-property .site-content,
.single-property .content-area,
.single-property article{
    max-width:100% !important;
    width:100% !important;
}

.roofnest-single-property{
    max-width:1400px !important;
    margin:40px auto !important;
    padding:20px !important;
}

.property-main{
    display:grid !important;
    grid-template-columns:2fr 1fr !important;
    gap:40px !important;
}

.property-left{
    width:100%;
}

.property-sidebar{
    width:100%;
}

/* Similar Properties */

.similar-properties{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:20px;
}

.similar-card{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
    transition:.3s;
}

.similar-card:hover{
    transform:translateY(-4px);
}

.similar-card img{
    width:100%;
    height:180px;
    object-fit:cover;
}

.similar-card h4{
    padding:15px 15px 5px;
    margin:0;
    font-size:18px;
}

.similar-card p{
    padding:0 15px 15px;
    margin:0;
    color:#0a7d2c;
    font-weight:600;
}

.similar-card a{
    text-decoration:none;
    color:#222;
}

@media(max-width:768px){

    .similar-properties{
        grid-template-columns:1fr;
    }

}

/* Featured Property Badge */

.property-card{
    position:relative;
}

.featured-badge{
    position:absolute;
    top:15px;
    left:15px;
    background:#ff9800;
    color:#fff;
    padding:6px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:700;
    z-index:10;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
}

.filter-btn{
    width:100%;
    height:50px;
    font-size:16px;
    font-weight:600;
}

.featured-badge{
    position:absolute;
    top:10px;
    left:10px;
    background:#ffb100;
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:6px 10px;
    border-radius:20px;
    z-index:9;
}

@media(max-width:768px){

.roofnest-filters{
    grid-template-columns:1fr;
}

.property-grid{
    grid-template-columns:1fr;
}

}

.filter-btn{
    grid-column:1 / -1;
}
.property-card{
    transition:all .3s ease;
}

.property-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.featured-badge{
    background:#ffb100;
    color:#fff;
    font-weight:700;
    font-size:11px;
    letter-spacing:.5px;
}

.property-views{
    color:#666;
    font-size:14px;
    margin-top:5px;
}


.property-views{
    color:#666;
    font-size:14px;
    margin-top:5px;
}

.sort-dropdown{

    width:100%;
    height:50px;
    border:1px solid #ddd;
    border-radius:8px;
    padding:0 15px;
    background:#fff;
    font-size:15px;
    margin-top:15px;

}

/* ==========================
   RoofNest Property Actions
========================== */

.property-actions{
    display:flex;
    gap:10px;
    margin:15px 0;
}

.property-actions button{

    flex:1;
    height:42px;

    border:1px solid #dcdfe5;
    border-radius:8px;

    background:#fff;
    color:#444;

    font-size:14px;
    font-weight:600;

    cursor:pointer;

    transition:.25s;
}

.property-actions button:hover{

    transform:translateY(-2px);
    box-shadow:0 6px 15px rgba(0,0,0,.08);

}

.save-property.saved{

    background:#dc3545;
    color:#fff;
    border-color:#dc3545;

}

.share-property{

    border-color:#0d6efd !important;
    color:#0d6efd !important;

}

.share-property:hover{

    background:#0d6efd !important;
    color:#fff !important;

}

/* =====================================
   Property Action Buttons
===================================== */

.property-actions{
    display:flex;
    gap:10px;
    margin:15px 0;
}

.property-action-btn{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    padding:10px 15px;

    background:#f5f7fa;
    border:1px solid #dbe3ea;
    border-radius:8px;

    color:#555;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    cursor:pointer;

    transition:all .25s ease;
}

.property-action-btn:hover{
    background:#e9eef5;
    border-color:#1f6fff;
    color:#1f6fff;
    transform:translateY(-2px);
}

.property-action-btn i,
.property-action-btn svg{
    font-size:15px;
}

/* Saved Button */

.property-action-btn.saved{
    background:#dc3545;
    border-color:#dc3545;
    color:#fff;
}

.property-action-btn.saved:hover{
    background:#c82333;
    border-color:#c82333;
    color:#fff;
}

/* Share Button */

.share-property{
    color:#1f6fff;
}

/* Full Width View Details Button */
.full-width-btn{
    display:block;
    width:100%;
    text-align:center;

    padding:12px 15px;
    margin:15px 0 12px;

    background:#1f6fff;
    color:#fff !important;

    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    font-size:15px;

    transition:.3s;
    box-sizing:border-box;
}

.full-width-btn:hover{
    background:#1558d6;
    color:#fff;
}

.property-actions{
    display:flex;
    gap:10px;
    width:100%;
}

.property-actions .property-action-btn{
    flex:1;
}


/*====================================================
        ROOFNEST PREMIUM PROPERTY CARDS
====================================================*/

.property-card{

    background:#fff;

    border-radius:14px;

    overflow:hidden;

    box-shadow:0 10px 28px rgba(0,0,0,.08);

    transition:.35s ease;

    border:1px solid #eef2f7;

}

.property-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.14);

}

.property-card img{

    width:100%;

    height:240px;

    object-fit:cover;

    transition:.4s;

}

.property-card:hover img{

    transform:scale(1.04);

}

.property-content{

    padding:18px;

}

/*====================================================
        PROPERTY CONTENT POLISH
====================================================*/

.property-price{
    font-size:18px;
    font-weight:700;
    color:#0c8f3e;
    margin-bottom:18px;
}

.property-card h3{
    font-size:24px;
    line-height:1.35;
    font-weight:700;
    margin:0 0 16px;
}

.property-card p{
    margin:8px 0;
    color:#666;
    font-size:15px;
    display:flex;
    align-items:center;
    gap:6px;
}

.property-views{
    margin-top:12px;
    color:#888;
    font-size:14px;
}

.full-width-btn{
    margin-top:18px;
    margin-bottom:14px;
}

/*====================================================
        PREMIUM FILTER PANEL
====================================================*/

.roofnest-filters{

    background:#ffffff;

    padding:28px;

    border-radius:16px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    margin-bottom:30px;

}

.roofnest-filters select{

    width:100%;

    height:52px;

    border:1px solid #dfe5ec;

    border-radius:10px;

    background:#fff;

    padding:0 16px;

    font-size:15px;

    transition:.3s;

}

.roofnest-filters select:hover{

    border-color:#1f6fff;

}

.roofnest-filters select:focus{

    outline:none;

    border-color:#1f6fff;

    box-shadow:0 0 0 3px rgba(31,111,255,.15);

}

.filter-btn{

    width:100%;

    height:56px;

    border:none;

    border-radius:10px;

    background:#1f6fff;

    color:#fff;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

    margin-top:20px;

}

.filter-btn:hover{

    background:#1558d6;

    transform:translateY(-2px);

}

.sort-wrapper{

    margin-top:20px;

    display:flex;

    justify-content:flex-start;

    align-items:center;

}

.sort-wrapper select{

    width:280px;

    height:50px;

    border-radius:10px;

}

/*==============================
Pagination
==============================*/

.roofnest-pagination{

    margin:50px 0;

    display:flex;

    justify-content:center;

}

.roofnest-pagination ul{

    display:flex;

    gap:10px;

    list-style:none;

    padding:0;

    margin:0;

}

.roofnest-pagination li a,
.roofnest-pagination li span{

    display:block;

    padding:12px 18px;

    background:#fff;

    border:1px solid #ddd;

    border-radius:8px;

    text-decoration:none;

    color:#333;

    transition:.3s;

}

.roofnest-pagination li a:hover{

    background:#2563eb;

    color:#fff;

}

.roofnest-pagination .current{

    background:#2563eb;

    color:#fff;

    border-color:#2563eb;

}