:root{--red:#cb0001;--dark:#1e2327;--gray:#606062;--light:#f8f7f5;--white:#fff;--border:#e8e0d8;--shadow:0 4px 24px rgba(30,35,39,.10);}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;color:var(--dark);background:var(--white);overflow-x:hidden;}
h1,h2,h3,h4,h5{font-family:'Cormorant Garamond',serif;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}
.container{max-width:1280px;margin:0 auto;padding:0 24px;}
.btn-red{background:var(--red);color:var(--white);padding:12px 28px;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:8px;}
.btn-red:hover{background:#a80001;transform:translateY(-1px);}
.btn-dark{background:var(--dark);color:var(--white);padding:12px 28px;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:8px;}
.btn-dark:hover{background:#2d3540;}
.btn-outline{background:transparent;color:var(--dark);padding:11px 28px;border:1.5px solid var(--dark);cursor:pointer;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:8px;}
.btn-outline:hover{background:var(--dark);color:var(--white);}
.section-label{font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:12px;display:block;}
.section-title{font-size:clamp(28px,4vw,44px);font-weight:600;color:var(--dark);line-height:1.15;}
.section-title span{color:var(--red);font-style:italic;}

/* ============ HEADER ============ */
#siteHeader{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;transition:all .4s;}
#siteHeader.scrolled{background:var(--dark);box-shadow:0 2px 20px rgba(0,0,0,.3);}
.header-top{background:var(--red);padding:6px 0;font-size:12px;color:var(--white);font-weight:500;}
.header-top .container{display:flex;justify-content:space-between;align-items:center;}
.header-top a{color:var(--white);}
.header-main{padding:0 24px;}
.header-main .container{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-icon{width:40px;height:40px;background:var(--red);display:flex;align-items:center;justify-content:center;color:var(--white);font-family:'Cormorant Garamond',serif;font-weight:700;font-size:20px;}
.logo-text{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--white);line-height:1.1;}
.logo-text small{display:block;font-family:'Outfit',sans-serif;font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);}
nav{display:flex;align-items:center;gap:4px;}
nav a{color:var(--white);font-size:13px;font-weight:500;padding:8px 14px;letter-spacing:.04em;position:relative;transition:color .3s;}
nav a::after{content:'';position:absolute;bottom:0;left:14px;right:14px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .3s;}
nav a:hover::after,nav a.active::after{transform:scaleX(1);}
nav a:hover{color:rgba(255,255,255,.8);}
.header-right{display:flex;align-items:center;gap:16px;}
.header-phone{color:var(--white);font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;}
.header-phone i{color:var(--red);}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--white);font-size:22px;cursor:pointer;}
.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--dark);z-index:2000;padding:40px 24px;flex-direction:column;gap:4px;overflow-y:auto;}
.mobile-nav.open{display:flex;}
.mobile-nav a{color:var(--white);font-size:18px;font-family:'Cormorant Garamond',serif;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.mobile-nav-close{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--white);font-size:28px;cursor:pointer;}
/* ── Header: dark text/icons BEFORE scroll ── */
#siteHeader:not(.scrolled) nav a{color:var(--white);}
#siteHeader:not(.scrolled) nav a:hover{color:var(--red);}
#siteHeader:not(.scrolled) .logo-text{color:var(--white);}
#siteHeader:not(.scrolled) .logo-text small{color:rgba(255,255,255,.7);}
#siteHeader:not(.scrolled) .header-phone{color:var(--white);}
#siteHeader:not(.scrolled) .mobile-menu-btn{color:var(--white);}
/* Scrolled header keeps white text */
#siteHeader.scrolled nav a{color:var(--white);}
#siteHeader.scrolled .logo-text{color:var(--white);}
#siteHeader.scrolled .logo-text small{color:rgba(255,255,255,.7);}
#siteHeader.scrolled .header-phone{color:var(--white);}
#siteHeader.scrolled .mobile-menu-btn{color:var(--white);}

/* ============ HERO ============ */
.hero{height:100vh;min-height:600px;position:relative;overflow:hidden;padding:0;margin-top:0;}
.hero-slides{height:100%;position:relative;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,35,39,.75) 0%,rgba(30,35,39,.3) 60%,transparent 100%);}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 10vw;z-index:2;}
.hero-featured-label{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block;}
.hero-title{font-size:clamp(36px,6vw,76px);font-weight:600;color:var(--white);line-height:1.05;margin-bottom:16px;max-width:700px;}
.hero-title em{color:var(--red);font-style:italic;}
.hero-prop-meta{display:flex;align-items:center;gap:14px;margin-bottom:32px;flex-wrap:wrap;}
.hero-prop-price{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.5vw,32px);font-weight:700;color:var(--white);line-height:1;}
.hero-prop-divider{color:rgba(255,255,255,.4);font-size:20px;line-height:1;}
.hero-prop-location{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.85);font-size:15px;}
.hero-prop-location i{color:var(--red);}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.hero-indicators{position:absolute;bottom:36px;left:10vw;display:flex;gap:8px;z-index:2;}
.hero-dot{width:32px;height:3px;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s;}
.hero-dot.active{background:var(--red);width:56px;}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:var(--white);width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .3s;backdrop-filter:blur(4px);}
.hero-arrow:hover{background:var(--red);border-color:var(--red);}
.hero-prev{left:24px;}.hero-next{right:24px;}

/* ============ SEARCH BAR ============ */
.search-section{background:var(--white);padding:0;margin-top:-60px;position:relative;z-index:100;}
.search-box{background:var(--white);box-shadow:0 4px 32px rgba(30,35,39,.12);padding:28px 0;border-top:3px solid var(--red);}
.search-box>.container{padding-left:32px;padding-right:32px;}
.search-box h3{font-size:18px;font-weight:600;color:var(--dark);margin-bottom:20px;}
.search-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:12px;align-items:end;}
.properties-listing{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.search-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);}
.form-group select,.form-group input{padding:12px 16px;border:1.5px solid var(--border);font-family:'Outfit',sans-serif;font-size:14px;color:var(--dark);background:var(--white);appearance:none;cursor:pointer;outline:none;transition:border-color .3s;}
.form-group select:focus,.form-group input:focus{border-color:var(--red);}
.search-btn{padding:12px 28px;background:var(--red);color:var(--white);border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px;transition:background .3s;white-space:nowrap;}
.search-btn:hover{background:#a80001;}

/* ============ SECTIONS ============ */
section{padding:80px 0;}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;}

/* ============ PROPERTY CARDS — BASE (portrait, used on properties/search pages) ============ */
.properties-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.properties-listing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.search-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.location-listing{display:grid;grid-template-columns:1fr 1fr;gap:24px;}

/* Portrait card (default) */
.prop-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s,transform .3s;}
.prop-card:hover{box-shadow:0 8px 40px rgba(0,0,0,.12);transform:translateY(-2px);}
.prop-card-img{position:relative;overflow:hidden;height:210px;flex-shrink:0;}
.prop-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.prop-card:hover .prop-card-img img{transform:scale(1.05);}
.prop-card-body{padding:18px;display:flex;flex-direction:column;justify-content:space-between;flex:1;}

/* Landscape override — homepage grid & location listing */
.properties-grid .prop-card,
.location-listing .prop-card{display:grid;grid-template-columns:220px 1fr;flex-direction:unset;transform:none;}
.properties-grid .prop-card:hover,
.location-listing .prop-card:hover{transform:translateY(-2px);}
.properties-grid .prop-card-img,
.location-listing .prop-card-img{height:auto;min-height:190px;}
.properties-grid .prop-card-body,
.location-listing .prop-card-body{padding:18px;}

/* Badge row — all labels on the left, side by side */
.prop-badges{position:absolute;top:12px;left:12px;display:flex;gap:5px;flex-wrap:wrap;z-index:2;}
.prop-badge{background:var(--red);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;}
.prop-type-badge{background:var(--dark);color:var(--white);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;}
.prop-project-badge{position:absolute;bottom:12px;left:12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;color:#fff;z-index:2;}
.proj-ongoing{background:#d97706;}
.proj-complete{background:#16a34a;}
.proj-off-plan{background:#2563eb;}

/* Card content */
.prop-card-top h3{font-size:17px;font-weight:600;color:var(--dark);margin-bottom:7px;line-height:1.3;}
.prop-card-top h3 a:hover{color:var(--red);}
.prop-location{display:flex;align-items:center;gap:5px;color:var(--gray);font-size:13px;margin-bottom:10px;}
.prop-location i{color:var(--red);}
.prop-specs{display:flex;gap:12px;margin-bottom:10px;flex-wrap:wrap;}
.prop-spec{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--gray);}
.prop-spec i{color:var(--red);font-size:11px;}
.prop-price{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--red);margin-bottom:14px;}
.prop-price small{font-family:'Outfit',sans-serif;font-size:12px;font-weight:400;color:var(--gray);}
.prop-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.btn-compare{background:transparent;color:var(--dark);border:1.5px solid var(--dark);padding:8px 14px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .3s;display:flex;align-items:center;gap:5px;}
.btn-compare:hover,.btn-compare.in-compare{background:var(--dark);color:var(--white);}
.btn-compare.in-compare{background:var(--red);border-color:var(--red);}

/* ============ BANNERS ============ */
.banners-row{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.banner-item{position:relative;height:280px;overflow:hidden;cursor:pointer;}
.banner-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.banner-item:hover img{transform:scale(1.05);}
.banner-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(30,35,39,.7) 0%,rgba(30,35,39,.2) 60%);}
.banner-content{position:absolute;bottom:28px;left:32px;z-index:2;color:var(--white);}
.banner-content .section-label{color:rgba(255,255,255,.8);}
.banner-content h3{font-size:28px;font-weight:600;margin-bottom:4px;}
.banner-content p{font-size:14px;opacity:.8;}

/* ============ CTA ============ */
.cta-section{background:var(--dark);overflow:hidden;}
.cta-inner{display:grid;grid-template-columns:1fr 400px;gap:0;min-height:480px;}
.cta-content{padding:80px 60px;display:flex;flex-direction:column;justify-content:center;}
.cta-content .section-label{color:var(--red);}
.cta-content h2{font-size:clamp(28px,3.5vw,48px);color:var(--white);margin-bottom:20px;}
.cta-content p{color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:32px;font-size:15px;max-width:480px;}
.cta-img{position:relative;overflow:hidden;}
.cta-img img{width:100%;height:100%;object-fit:cover;}
.cta-img::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,var(--dark) 0%,transparent 40%);z-index:1;}

/* ============ BLOG CARDS ============ */
.blogs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.blog-card{border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s;}
.blog-card:hover{box-shadow:var(--shadow);}
.blog-card-img{height:180px;overflow:hidden;position:relative;}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.blog-card:hover .blog-card-img img{transform:scale(1.05);}
.blog-cat{position:absolute;bottom:12px;left:12px;background:var(--red);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;}
.blog-card-body{padding:20px;}
.blog-meta{display:flex;gap:12px;font-size:12px;color:var(--gray);margin-bottom:10px;}
.blog-card-body h4{font-size:16px;font-weight:600;color:var(--dark);line-height:1.3;margin-bottom:10px;}
.blog-card-body h4 a:hover{color:var(--red);}
.blog-card-body p{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:14px;}
.read-more{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:6px;}

/* ============ TESTIMONIALS ============ */
.testimonials{background:var(--light);}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testimonial-card{background:var(--white);padding:32px;border-bottom:3px solid var(--red);}
.stars{color:var(--red);margin-bottom:16px;font-size:14px;}
.testimonial-card p{font-size:14px;color:var(--gray);line-height:1.7;margin-bottom:20px;font-style:italic;}
.testimonial-author{display:flex;align-items:center;gap:12px;}
.author-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.author-info strong{display:block;font-size:14px;font-weight:700;color:var(--dark);}
.author-info span{font-size:12px;color:var(--gray);}

/* ============ PARTNERS MARQUEE ============ */
.partners{background:var(--dark);padding:40px 0;overflow:hidden;}
.partners h5{text-align:center;font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:24px;}
.marquee-wrapper{overflow:hidden;position:relative;}
.marquee-wrapper::before,.marquee-wrapper::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;}
.marquee-wrapper::before{left:0;background:linear-gradient(to right,var(--dark),transparent);}
.marquee-wrapper::after{right:0;background:linear-gradient(to left,var(--dark),transparent);}
.marquee-track{display:flex;gap:48px;animation:marquee 20s linear infinite;width:max-content;}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.partner-logo{background:rgba(255,255,255,.08);padding:14px 28px;display:flex;align-items:center;justify-content:center;min-width:140px;font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;color:rgba(255,255,255,.6);white-space:nowrap;transition:all .3s;}
.partner-logo:hover{background:rgba(203,0,1,.2);color:var(--white);}

/* ============ FOOTER ============ */
footer{background:#131619;padding:64px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;margin-bottom:48px;}
.footer-brand .logo-text{color:var(--white);}
.footer-tagline{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;margin:16px 0 24px;}
.social-links{display:flex;gap:10px;}
.social-links a{width:36px;height:36px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:14px;transition:all .3s;}
.social-links a:hover{background:var(--red);color:var(--white);}
.footer-col h5{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:20px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{font-size:14px;color:rgba(255,255,255,.6);transition:color .3s;}
.footer-col ul li a:hover{color:var(--red);}
.footer-contact-item{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start;}
.footer-contact-item i{color:var(--red);margin-top:2px;font-size:14px;min-width:16px;}
.footer-contact-item span{font-size:13px;color:rgba(255,255,255,.6);line-height:1.5;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:13px;color:rgba(255,255,255,.35);}
.footer-bottom a{color:rgba(255,255,255,.35);transition:color .3s;}
.footer-bottom a:hover{color:var(--red);}

/* ============ PAGE HERO ============ */
.page-hero{height:480px;position:relative;display:flex;align-items:flex-end;padding:48px 0;margin-top:0;}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(30,35,39,.9),rgba(30,35,39,.3));}
.page-hero-content{position:relative;z-index:2;}
.page-hero-content .section-label{color:rgba(255,255,255,.7);}
.page-hero-content h1{font-size:clamp(32px,5vw,56px);color:var(--white);font-weight:600;}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-top:12px;}
.breadcrumb span{font-size:13px;color:rgba(255,255,255,.5);}
.breadcrumb a{font-size:13px;color:rgba(255,255,255,.5);}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb i{font-size:9px;color:rgba(255,255,255,.4);}

/* ============ FILTER BAR ============ */
.filter-bar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:106px;z-index:90;}
.filter-bar .container{display:flex;gap:8px;padding:12px 24px;overflow-x:auto;}
.filter-chip{padding:7px 16px;border:1.5px solid var(--border);background:var(--white);color:var(--gray);font-size:12px;font-weight:600;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .3s;white-space:nowrap;}
.filter-chip:hover,.filter-chip.active{border-color:var(--red);background:var(--red);color:var(--white);}

/* ============ PROPERTIES LISTING ============ */
/* (defined above in card section) */

/* ============ SIDEBAR ============ */
.page-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start;}
.sidebar{position:sticky;top:100px;}
.sidebar-widget{background:var(--white);border:1px solid var(--border);padding:24px;margin-bottom:20px;}
.sidebar-widget h4{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.sidebar-btns{display:flex;flex-direction:column;gap:10px;}
.whatsapp-btn{background:#25D366;color:var(--white);padding:12px 20px;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .3s;}
.whatsapp-btn:hover{background:#1da850;}

/* ============ SINGLE PROPERTY ============ */
.property-images{display:flex;flex-direction:column;gap:8px;margin-bottom:32px;min-width:0;}
.property-images .main-img{height:420px;overflow:hidden;}
.property-images .main-img img{width:100%;height:100%;object-fit:cover;transition:opacity .2s;}
.property-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;min-width:0;width:100%;}
.property-thumbs::-webkit-scrollbar{height:4px;}
.property-thumbs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.property-thumbs .thumb{flex:0 0 120px;height:80px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s;}
.property-thumbs .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.property-thumbs .thumb:hover img{transform:scale(1.05);}
.property-thumbs .thumb.thumb-active{border-color:var(--red);}
.prop-detail-badge{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:var(--white);padding:6px 14px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;}
.prop-detail-title{font-size:clamp(24px,3.5vw,40px);font-weight:600;margin-bottom:8px;}
.prop-detail-location{display:flex;align-items:center;gap:6px;color:var(--gray);font-size:15px;margin-bottom:24px;}
.prop-detail-location i{color:var(--red);}
.prop-detail-specs{display:flex;gap:0;border:1px solid var(--border);margin-bottom:32px;overflow:hidden;}
.prop-detail-spec{flex:1;padding:16px;text-align:center;border-right:1px solid var(--border);}
.prop-detail-spec:last-child{border-right:none;}
.prop-detail-spec i{font-size:20px;color:var(--red);margin-bottom:6px;display:block;}
.prop-detail-spec strong{display:block;font-size:16px;font-weight:700;color:var(--dark);}
.prop-detail-spec small{font-size:11px;color:var(--gray);letter-spacing:.08em;text-transform:uppercase;}
.prop-section-title{font-size:22px;font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--red);}
.features-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:32px;}
.feature-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray);}
.feature-item i{color:var(--red);}
.amenities-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;}
.amenity-tag{background:var(--light);border:1px solid var(--border);padding:8px 16px;font-size:13px;color:var(--dark);}

/* ============ BOOKING FORM ============ */
.booking-form{display:flex;flex-direction:column;gap:10px;}
.booking-form input{padding:10px 14px;border:1.5px solid var(--border);font-family:'Outfit',sans-serif;font-size:13px;outline:none;transition:border-color .3s;}
.booking-form input:focus{border-color:var(--red);}
.booking-form .btn-red,.booking-form .btn-red:hover{color:#fff !important;}

/* ============ MODAL ============ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal-box{background:var(--white);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;}
.modal-header{background:var(--dark);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;}
.modal-header h3{color:var(--white);font-size:20px;font-weight:600;}
.modal-close{background:none;border:none;color:var(--white);font-size:22px;cursor:pointer;}
.modal-body{padding:28px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.form-field label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);}
.form-field input,.form-field select,.form-field textarea{padding:11px 14px;border:1.5px solid var(--border);font-family:'Outfit',sans-serif;font-size:14px;outline:none;transition:border-color .3s;width:100%;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--red);}
.form-field textarea{resize:vertical;min-height:80px;}

/* ============ COMPARE BAR ============ */
.compare-bar{position:fixed;bottom:0;left:0;right:0;background:var(--dark);z-index:900;padding:16px 24px;border-top:3px solid var(--red);}
.compare-bar-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:20px;}
.compare-slots{display:flex;gap:12px;flex:1;}
.compare-slot{border:1.5px dashed rgba(255,255,255,.3);padding:10px 16px;min-width:180px;color:rgba(255,255,255,.4);font-size:13px;display:flex;align-items:center;justify-content:space-between;}
.compare-slot.filled{border-color:rgba(255,255,255,.6);color:var(--white);}
.compare-slot-remove{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:16px;}
.compare-bar-actions{display:flex;gap:10px;align-items:center;}
.compare-clear-btn{background:none;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.6);padding:8px 16px;font-size:12px;cursor:pointer;font-family:'Outfit',sans-serif;}

/* ============ COMPARE PAGE ============ */
.compare-table{width:100%;border-collapse:collapse;margin-bottom:40px;}
.compare-table th{background:var(--dark);color:var(--white);padding:16px;text-align:left;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;}
.compare-table td{padding:16px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:top;}
.compare-table tr:hover td{background:var(--light);}
.compare-table td:first-child{font-weight:600;color:var(--gray);font-size:12px;letter-spacing:.08em;text-transform:uppercase;width:180px;}
.compare-prop-img{height:200px;overflow:hidden;margin-bottom:12px;}
.compare-prop-img img{width:100%;height:100%;object-fit:cover;}

/* ============ ABOUT ============ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-img-collage{position:relative;height:480px;}
.about-img-collage .img-main{position:absolute;top:0;left:0;right:60px;bottom:60px;overflow:hidden;}
.about-img-collage .img-accent{position:absolute;bottom:0;right:0;width:200px;height:200px;overflow:hidden;border:6px solid var(--white);}
.about-img-collage img{width:100%;height:100%;object-fit:cover;}
.about-content .section-label{color:var(--red);}
.about-content h2{margin-bottom:20px;}
.about-content p{color:var(--gray);line-height:1.8;margin-bottom:16px;font-size:15px;}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}
.stat-item{text-align:center;padding:20px;border:1px solid var(--border);}
.stat-item strong{display:block;font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:700;color:var(--red);}
.stat-item span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;}
.team-card{text-align:center;}
.team-card-img{height:260px;overflow:hidden;margin-bottom:16px;}
.team-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.team-card:hover .team-card-img img{transform:scale(1.05);}
.team-card h4{font-size:18px;font-weight:600;margin-bottom:4px;}
.team-card span{font-size:13px;color:var(--gray);}

/* ============ INSIGHTS ============ */
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

/* ============ SINGLE BLOG ============ */
.blog-layout{display:grid;grid-template-columns:1fr 320px;gap:40px;}
.blog-content{max-width:none;}
.blog-content h1{font-size:clamp(28px,4vw,44px);font-weight:600;margin-bottom:12px;}
.blog-content .blog-meta{margin-bottom:24px;}
.blog-hero-img{width:100%;height:360px;object-fit:cover;margin-bottom:32px;}
.blog-body p{font-size:15px;line-height:1.85;color:var(--gray);margin-bottom:20px;}
.blog-body h2{font-size:26px;font-weight:600;color:var(--dark);margin:28px 0 14px;}
.blog-sidebar-widget{background:var(--light);padding:24px;margin-bottom:20px;}
.blog-sidebar-widget h5{font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);margin-bottom:16px;}
.recent-post{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start;}
.recent-post-img{width:60px;height:60px;object-fit:cover;flex-shrink:0;}
.recent-post-info{font-size:13px;color:var(--dark);line-height:1.4;}
.recent-post-info small{color:var(--gray);font-size:11px;}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;}
.contact-form-wrap .form-field{margin-bottom:16px;}
.contact-info-grid{display:flex;flex-direction:column;gap:24px;margin-top:32px;}
.contact-info-item{display:flex;gap:16px;align-items:flex-start;}
.contact-info-icon{width:44px;height:44px;background:var(--red);display:flex;align-items:center;justify-content:center;color:var(--white);flex-shrink:0;}
.contact-info-text strong{display:block;font-size:14px;font-weight:700;margin-bottom:2px;}
.contact-info-text span{font-size:13px;color:var(--gray);}
.map-placeholder{background:var(--light);height:300px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);margin-top:24px;}

/* ============ LOCATION PAGE ============ */
.location-about{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px;}
.location-about img{width:100%;height:360px;object-fit:cover;}
.location-about p{font-size:15px;color:var(--gray);line-height:1.8;margin-bottom:14px;}

/* ============ OTHER LOCATIONS ============ */
.other-locations{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;}
.location-mini-card{position:relative;height:160px;overflow:hidden;cursor:pointer;}
.location-mini-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.location-mini-card:hover img{transform:scale(1.08);}
.location-mini-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);}
.location-mini-card-title{position:absolute;bottom:12px;left:12px;z-index:2;color:var(--white);font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;}

/* ============ TYPE PAGE ============ */
.type-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px;}
.type-intro img{width:100%;height:380px;object-fit:cover;}
.type-intro p{font-size:15px;color:var(--gray);line-height:1.8;margin-bottom:14px;}

/* ============ ALERT ============ */
.alert{padding:16px 20px;margin-bottom:16px;font-size:14px;border-left:3px solid;}
.alert-success{background:#f0fdf4;border-color:#22c55e;color:#166534;}
.alert-error{background:#fef2f2;border-color:#ef4444;color:#991b1b;}

/* ============ COOKIE BANNER ============ */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#131619;border-top:3px solid var(--red);display:none;padding:16px 24px;box-shadow:0 -4px 24px rgba(0,0,0,.3);}
.cookie-banner-content{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.cookie-banner-text{flex:1;min-width:0;}
.cookie-banner-text strong{display:block;font-size:14px;color:var(--white);margin-bottom:4px;}
.cookie-banner-text p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.5;margin:0;}
.cookie-banner-text a{color:var(--red);text-decoration:underline;}
.cookie-banner-text a:hover{color:#ff3333;}
.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-btn{padding:10px 24px;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:all .3s;}
.cookie-btn-accept{background:var(--red);color:var(--white);}
.cookie-btn-accept:hover{background:#a80001;}
.cookie-btn-decline{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);}
.cookie-btn-decline:hover{background:rgba(255,255,255,.2);color:var(--white);}

/* ============ FLOATING WHATSAPP BUTTON ============ */
.floating-wa{position:fixed;bottom:100px;right:24px;z-index:9998;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:28px;box-shadow:0 4px 16px rgba(37,211,102,.35);transition:all .3s;text-decoration:none;}
.floating-wa:hover{background:#1da850;transform:scale(1.1);box-shadow:0 6px 24px rgba(37,211,102,.5);color:var(--white);}
.floating-wa::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.3);animation:wa-pulse 2s infinite;}
@keyframes wa-pulse{0%{transform:scale(1);opacity:1;}100%{transform:scale(1.3);opacity:0;}}

/* ============ UTILITY ============ */
.text-center{text-align:center;}
.mt-12{margin-top:12px;}.mt-24{margin-top:24px;}.mt-40{margin-top:40px;}.mt-48{margin-top:48px;}
.mb-0{margin-bottom:0!important;}
.no-results{text-align:center;padding:60px 20px;}
.no-results i{font-size:48px;color:var(--border);margin-bottom:16px;display:block;}
.no-results h3{font-size:22px;color:var(--gray);margin-bottom:8px;}
.loading{text-align:center;padding:40px;color:var(--gray);}

/* ============ RESPONSIVE ============ */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .search-form{grid-template-columns:1fr 1fr;}
  .search-btn{grid-column:span 2;}
  .prop-card{grid-template-columns:260px 1fr;}
  .blogs-grid{grid-template-columns:repeat(2,1fr);}
  .testimonials-grid{grid-template-columns:repeat(2,1fr);}
  .page-with-sidebar{grid-template-columns:1fr;}
  .cta-inner{grid-template-columns:1fr;}
  .cta-img{height:300px;}
  .about-grid,.contact-grid,.location-about,.type-intro{grid-template-columns:1fr;}
  .about-img-collage{height:320px;}
  .blog-layout{grid-template-columns:1fr;}
  .property-thumbs .thumb{flex:0 0 90px;height:64px;}
  .other-locations{grid-template-columns:repeat(2,1fr);}
  .banners-row{grid-template-columns:1fr;}
}
@media(max-width:680px){
  nav,.header-phone,.header-right .btn-red{display:none;}
  .mobile-menu-btn{display:block;}
  .prop-card{grid-template-columns:1fr;}.prop-card-img{height:200px;}
  .search-form{grid-template-columns:1fr;}.search-btn{grid-column:auto;}
  .blogs-grid,.testimonials-grid,.insights-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .section-header{flex-direction:column;align-items:flex-start;gap:12px;}
  .hero-content{padding:0 24px;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .other-locations{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .compare-bar-inner{flex-wrap:wrap;}
  .cookie-banner-content{flex-direction:column;align-items:stretch;text-align:center;}
  .cookie-banner-actions{justify-content:center;}
  .floating-wa{bottom:80px;right:16px;width:48px;height:48px;font-size:22px;}
}