/* =============================================
   sections.css — All sections styles
   ============================================= */

/* ABOUT STRIP */
.about-section{display:grid;grid-template-columns:1fr 1fr;min-height:85vh;overflow:hidden;}
.about-img{position:relative;overflow:hidden;}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s ease;}
.about-img:hover img{transform:scale(1.04);}
.about-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,0.15),transparent);}
.about-content{background:var(--navy);padding:90px 70px;display:flex;flex-direction:column;justify-content:center;}
.about-content h2{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:var(--white);line-height:1.15;margin-bottom:28px;}
.about-content h2 em{font-style:italic;color:var(--gold-light);}
.about-content p{color:rgba(255,255,255,0.65);line-height:1.9;font-size:0.9rem;font-weight:300;margin-bottom:16px;}
.about-stats{display:flex;gap:40px;margin-top:36px;}
.stat{text-align:center;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:600;color:var(--gold);}
.stat-label{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:4px;}
.about-link{margin-top:34px;display:inline-block;color:var(--gold);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;cursor:pointer;transition:color 0.3s;}
.about-link:hover{color:var(--gold-light);}

/* PROPERTY CARD SECTION */
.props-section{padding:90px 60px;background:var(--cream);}
.prop-carousel{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.prop-card{position:relative;overflow:hidden;cursor:pointer;box-shadow:0 8px 40px rgba(0,0,0,0.1);}

/* CARD IMAGE + MINI CAROUSEL */
.prop-card-img{position:relative;height:280px;overflow:hidden;}
.card-slides{display:flex;height:100%;transition:transform 0.45s ease;}
.card-slides img{min-width:100%;height:280px;object-fit:cover;flex-shrink:0;}
.card-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.5);border:none;color:white;width:30px;height:30px;cursor:pointer;font-size:0.9rem;z-index:4;opacity:0;transition:opacity 0.3s;display:flex;align-items:center;justify-content:center;}
.prop-card:hover .card-arrow{opacity:1;}
.card-prev{left:8px;}
.card-next{right:8px;}
.prop-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,20,0.75) 0%,transparent 55%);pointer-events:none;}
.prop-place{position:absolute;bottom:48px;left:14px;z-index:3;color:white;font-size:0.76rem;letter-spacing:0.14em;text-transform:uppercase;}
.card-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3;}
.card-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.45);transition:all 0.3s;cursor:pointer;}
.card-dot.active{background:var(--gold);width:14px;border-radius:3px;}

.prop-card-info{padding:18px 16px;background:white;}
.prop-card-info h4{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--navy);margin-bottom:6px;}
.prop-card-info p{font-size:0.78rem;color:var(--muted);margin-bottom:14px;}
.prop-book-btn{width:100%;background:var(--navy);color:var(--white);padding:10px;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.3s;font-family:'Jost',sans-serif;}
.prop-book-btn:hover{background:var(--gold);}
.prop-nav{display:flex;justify-content:center;margin-top:32px;}
.prop-nav-btn{padding:12px 30px;border:1px solid var(--navy);background:transparent;cursor:pointer;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;transition:all 0.3s;color:var(--navy);font-family:'Jost',sans-serif;}
.prop-nav-btn:hover{background:var(--navy);color:white;}

/* GALLERY MODAL */
.gallery-wrap{position:relative;height:320px;overflow:hidden;background:#111;}
#gallerySlides{display:flex;height:320px;transition:transform 0.5s ease;}
#gallerySlides img{min-width:100%;height:320px;object-fit:cover;flex-shrink:0;display:block;}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.55);border:none;color:white;width:40px;height:40px;font-size:1.1rem;cursor:pointer;z-index:5;transition:background 0.2s;display:flex;align-items:center;justify-content:center;}
.gallery-arrow:hover{background:var(--gold);}
.gallery-arrow-left{left:12px;}
.gallery-arrow-right{right:12px;}
.gallery-counter{position:absolute;bottom:12px;right:14px;background:rgba(0,0,0,0.6);color:white;font-size:0.72rem;padding:3px 10px;border-radius:20px;z-index:5;font-family:'Jost',sans-serif;}
.gallery-thumbs-wrap{display:flex;gap:6px;padding:10px 16px;background:#f0f0f0;overflow-x:auto;}
.gallery-thumb{width:80px;height:56px;object-fit:cover;cursor:pointer;opacity:0.5;transition:opacity 0.2s,border 0.2s;border:2px solid transparent;flex-shrink:0;border-radius:2px;}
.gallery-thumb.active{opacity:1;border-color:var(--gold);}
.gallery-thumb:hover{opacity:0.85;}
.prop-detail-loc{color:var(--gold);font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px;}
.prop-modal-beds{font-size:0.82rem;color:var(--muted);margin-bottom:14px;}
.prop-detail-desc{color:var(--muted);font-size:0.88rem;line-height:1.9;margin-bottom:20px;}
.prop-amenities{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.amenity-tag{background:var(--cream);padding:6px 14px;font-size:0.75rem;letter-spacing:0.08em;color:var(--navy);}

/* BANNER */
.banner-section{background:linear-gradient(135deg,var(--navy) 0%,#1a2e4a 50%,var(--navy) 100%);padding:80px 60px;text-align:center;position:relative;overflow:hidden;}
.banner-section::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,0.12),transparent 70%);}
.banner-section h2{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:300;color:var(--white);margin-bottom:16px;}
.banner-section h2 em{color:var(--gold-light);font-style:italic;}
.banner-section p{color:rgba(255,255,255,0.6);font-size:0.92rem;max-width:540px;margin:0 auto 36px;line-height:1.8;}
.banner-btns{display:flex;gap:16px;justify-content:center;}

/* TESTIMONIALS */
.testimonials-section{padding:90px 60px;background:var(--cream2);}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px;}
.testi-card{background:white;padding:36px 30px;position:relative;box-shadow:0 4px 30px rgba(0,0,0,0.06);}
.testi-card::before{content:'"';font-family:'Cormorant Garamond',serif;font-size:5rem;color:var(--gold);opacity:0.3;position:absolute;top:10px;left:22px;line-height:1;}
.testi-stars{color:var(--gold);font-size:0.85rem;margin-bottom:16px;letter-spacing:2px;}
.testi-text{font-size:0.88rem;line-height:1.9;color:var(--muted);margin-bottom:24px;font-style:italic;}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:white;font-weight:600;font-size:0.9rem;}
.testi-name{font-weight:600;font-size:0.85rem;color:var(--navy);}
.testi-loc{font-size:0.73rem;color:var(--muted);}

/* CONTACT STRIP */
.contact-section{display:grid;grid-template-columns:1fr 1fr;}
.contact-info-side{padding:80px 70px;background:var(--navy);}
.contact-form-side{padding:80px 70px;background:white;}
.contact-info-side h3{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;color:white;margin-bottom:28px;}
.contact-info-side h3 em{font-style:italic;color:var(--gold-light);}
.contact-info-side p{color:rgba(255,255,255,0.6);font-size:0.88rem;line-height:1.8;margin-bottom:36px;}
.contact-detail{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.contact-icon{color:var(--gold);font-size:1rem;margin-top:2px;}
.contact-detail-text{color:rgba(255,255,255,0.75);font-size:0.85rem;line-height:1.6;}
.contact-detail-label{font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}

/* ABOUT PAGE */
.about-page-hero{background:var(--navy);padding:160px 60px 90px;text-align:center;}
.about-page-hero h1{font-family:'Cormorant Garamond',serif;font-size:4.5rem;font-weight:300;color:white;margin-bottom:16px;}
.about-page-hero h1 em{color:var(--gold-light);font-style:italic;}
.about-page-hero p{color:rgba(255,255,255,0.6);font-size:0.95rem;max-width:560px;margin:0 auto;}
.about-story{display:grid;grid-template-columns:1fr 1fr;min-height:500px;}
.about-story-img{overflow:hidden;}
.about-story-img img{width:100%;height:100%;object-fit:cover;}
.about-story-content{padding:70px 70px;background:var(--cream);display:flex;flex-direction:column;justify-content:center;}
.about-story-content h2{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--navy);margin-bottom:20px;}
.about-story-content p{color:var(--muted);font-size:0.9rem;line-height:1.9;margin-bottom:14px;}
.values-section{padding:90px 60px;background:white;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:52px;}
.value-card{padding:38px 30px;background:var(--cream);text-align:center;}
.value-icon{font-size:2.2rem;margin-bottom:16px;}
.value-card h4{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--navy);margin-bottom:12px;}
.value-card p{font-size:0.84rem;color:var(--muted);line-height:1.8;}
.team-section{padding:90px 60px;background:var(--cream2);}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px;}
.team-card{background:white;overflow:hidden;}
.team-card img{width:100%;height:220px;object-fit:cover;}
.team-card-info{padding:22px 20px;}
.team-card-info h4{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--navy);}
.team-card-info p{font-size:0.78rem;color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;}

/* LISTINGS PAGE */
.listings-hero{background:var(--navy);padding:140px 60px 70px;text-align:center;}
.listings-hero h1{font-family:'Cormorant Garamond',serif;font-size:4rem;font-weight:300;color:white;margin-bottom:16px;}
.listings-hero h1 em{color:var(--gold-light);font-style:italic;}
.listings-filter{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap;}
.filter-btn{padding:9px 24px;border:1px solid rgba(255,255,255,0.3);color:rgba(255,255,255,0.7);background:transparent;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;font-family:'Jost',sans-serif;}
.filter-btn.active,.filter-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--dark);}
.listings-grid-section{padding:70px 60px;}
.listings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.listing-card{background:white;overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,0.07);cursor:pointer;transition:transform 0.3s,box-shadow 0.3s;}
.listing-card:hover{transform:translateY(-5px);box-shadow:0 16px 50px rgba(0,0,0,0.13);}
.listing-card-img{position:relative;height:240px;overflow:hidden;}
.listing-card-img .card-slides{display:flex;height:100%;transition:transform 0.45s ease;}
.listing-card-img .card-slides img{min-width:100%;height:240px;object-fit:cover;flex-shrink:0;}
.listing-card-img .card-arrow{opacity:0;}
.listing-card:hover .card-arrow{opacity:1;}
.listing-card-img .card-dots{bottom:46px;}
.listing-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,20,0.55) 0%,transparent 50%);pointer-events:none;}
.listing-badge{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--dark);padding:4px 12px;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;z-index:3;}
.listing-card-body{padding:22px 22px 26px;}
.listing-card-body .place{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.listing-card-body h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--navy);margin-bottom:8px;}
.listing-card-body p{font-size:0.83rem;color:var(--muted);margin-bottom:16px;line-height:1.7;}
.listing-features{display:flex;gap:16px;margin-bottom:18px;}
.feature{font-size:0.75rem;color:var(--muted);}
.listing-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f0f0f0;}
.price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--navy);}
.price span{font-size:0.75rem;font-family:'Jost',sans-serif;color:var(--muted);}
.view-btn{background:var(--navy);color:white;padding:9px 20px;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.3s;font-family:'Jost',sans-serif;}
.view-btn:hover{background:var(--gold);color:var(--dark);}

/* CONTACT PAGE */
.contact-page-hero{background:var(--navy);padding:140px 60px 70px;text-align:center;}
.contact-page-hero h1{font-family:'Cormorant Garamond',serif;font-size:4rem;font-weight:300;color:white;margin-bottom:14px;}
.contact-page-hero h1 em{color:var(--gold-light);font-style:italic;}
.contact-page-body{display:grid;grid-template-columns:1fr 1.5fr;min-height:600px;}
.contact-page-info{background:var(--cream2);padding:70px 60px;}
.contact-page-info h2{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--navy);margin-bottom:24px;}
.contact-cards{display:flex;flex-direction:column;gap:22px;margin-top:36px;}
.contact-card{background:white;padding:24px 22px;display:flex;gap:16px;align-items:flex-start;}
.contact-card-icon{width:42px;height:42px;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1rem;flex-shrink:0;}
.contact-card-text h4{font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--navy);margin-bottom:6px;}
.contact-card-text p{font-size:0.85rem;color:var(--muted);line-height:1.7;}
.contact-page-form{padding:70px 60px;background:white;}

/* RESPONSIVE */
@media(max-width:900px){
  .about-section,.about-story,.contact-section,.contact-page-body{grid-template-columns:1fr;}
  .about-img{height:300px;}.about-content{padding:50px 30px;}.about-story-content{padding:50px 30px;}
  .prop-carousel{grid-template-columns:repeat(2,1fr);}
  .testimonials-grid,.values-grid,.team-grid,.listings-grid{grid-template-columns:1fr;}
  .props-section,.banner-section,.testimonials-section{padding:60px 24px;}
  .contact-info-side,.contact-form-side,.contact-page-info,.contact-page-form{padding:50px 30px;}
  .listings-grid-section{padding:50px 24px;}
  .listings-hero{padding:120px 24px 50px;}
  .banner-btns{flex-direction:column;align-items:center;}
  .gallery-wrap,#gallerySlides,#gallerySlides img{height:220px;}
}
