*{margin:0;padding:0;box-sizing:border-box;}:root{--cream:#f3f5f9;--gold:#d9b24a;--gold-dark:#b7892c;--gold-light:#f1d98a;--dark-brown:#1f2f6d;--soft-gray:#5f6b85;--white:#ffffff;--shadow:rgba(0,0,0,0.1);--overlay:rgba(31,47,109,0.7);--shadow-soft:0 8px 30px rgba(0,0,0,0.08);--shadow-lift:0 18px 45px rgba(0,0,0,0.12);--accent-silver:#c6d1e5;}body{font-family:'Cormorant Garamond',serif;color:var(--dark-brown);background:var(--cream);line-height:1.6;overflow-x:hidden;}.container{max-width:1400px;margin:0 auto;padding:0 5%;}header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,0.05);transition:all 0.3s ease;}nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;max-width:1400px;margin:0 auto;}.logo{font-family:'Libre Baskerville',serif;font-size:1.5rem;font-weight:700;color:var(--dark-brown);text-decoration:none;letter-spacing:1px;transition:color 0.3s ease;}.logo:hover{color:var(--gold);}.nav-links{display:flex;gap:3rem;list-style:none;align-items:center;}.nav-divider{width:1px;height:24px;background:rgba(58,50,40,0.2);}.nav-icon a{display:inline-flex;align-items:center;justify-content:center;color:var(--dark-brown);width:36px;height:36px;border-radius:50%;background:rgba(212,165,116,0.15);transition:all 0.3s ease;}.nav-icon a:hover{color:var(--gold);background:rgba(212,165,116,0.25);transform:translateY(-1px);}.nav-links a{text-decoration:none;color:var(--dark-brown);font-size:1.1rem;font-weight:500;transition:color 0.3s ease;position:relative;}.nav-links a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--gold);transition:width 0.3s ease;}.nav-links a:hover::after,.nav-links a.active::after{width:100%;}.nav-links a:hover,.nav-links a.active{color:var(--gold);}.book-btn{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--dark-brown);padding:0.75rem 2.2rem;border-radius:999px;border:1px solid rgba(0,0,0,0.08);cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:700;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:var(--shadow-soft);}.book-btn:hover{background:linear-gradient(135deg,#fff2c7,var(--gold));transform:translateY(-2px);box-shadow:var(--shadow-lift);}.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;}.mobile-menu-btn span{width:25px;height:3px;background:var(--dark-brown);transition:all 0.3s ease;}.hero{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}.hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;background:linear-gradient(135deg,rgba(58,50,40,0.8),rgba(212,165,116,0.4)),url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"%3E%3Cdefs%3E%3ClinearGradient id="grad1" x1="0%25" y1="0%25" x2="100%25" y2="100%25"%3E%3Cstop offset="0%25" style="stop-color:%233a3228;stop-opacity:0.3" /%3E%3Cstop offset="100%25" style="stop-color:%23d4a574;stop-opacity:0.3" /%3E%3C/linearGradient%3E%3C/defs%3E%3Crect fill="url(%23grad1)" width="1200" height="800"/%3E%3Ccircle fill="%233a3228" fill-opacity="0.05" cx="200" cy="150" r="100"/%3E%3Ccircle fill="%23d4a574" fill-opacity="0.05" cx="800" cy="400" r="150"/%3E%3Ccircle fill="%233a3228" fill-opacity="0.05" cx="1000" cy="600" r="80"/%3E%3C/svg%3E');background-size:cover;background-position:center;animation:subtleZoom 20s ease-in-out infinite alternate;}.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:1;}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(58,50,40,0.3) 100%);z-index:2;}@keyframes subtleZoom{0%{transform:scale(1);}100%{transform:scale(1.05);}}.hero-content{position:relative;z-index:10;text-align:center;color:var(--white);max-width:900px;padding:2rem;animation:fadeInUp 1s ease-out;}.hero-accent{width:90px;height:2px;margin:0 auto 1.2rem;background:var(--accent-silver);opacity:0.9;}.hero-cta-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2.5rem;}.portfolio-btn{background:rgba(255,255,255,0.95);color:var(--dark-brown);padding:0.85rem 2.4rem;border-radius:999px;border:1px solid rgba(255,255,255,0.7);font-family:'Libre Baskerville',serif;font-size:0.95rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease;box-shadow:var(--shadow-soft);}.portfolio-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);}.hero-locations{font-size:0.95rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.75);}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}.hero-welcome{font-size:1.35rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.5rem;font-weight:700;animation:fadeInUp 1s ease-out 0.2s both;}.hero-title{font-family:'Playfair Display',serif;font-size:5rem;font-weight:800;line-height:1.1;color:#e0c06b;margin-bottom:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,0.25);animation:fadeInUp 1s ease-out 0.4s both;}.hero-subtitle{font-size:1.4rem;margin-bottom:3rem;font-weight:400;line-height:1.8;animation:fadeInUp 1s ease-out 0.6s both;}.search-form{background:rgba(255,255,255,0.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:15px;display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;box-shadow:0 10px 50px rgba(0,0,0,0.2);animation:fadeInUp 1s ease-out 0.8s both;max-width:900px;margin:0 auto;}.form-group{display:flex;flex-direction:column;gap:0.5rem;flex:1;min-width:200px;}.form-group label{font-size:0.9rem;color:var(--soft-gray);text-transform:uppercase;letter-spacing:1px;font-weight:600;}.form-group input,.form-group select,.form-group textarea{padding:1rem;border:2px solid #e0ddd8;border-radius:8px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--dark-brown);transition:all 0.3s ease;background:var(--white);}.form-group textarea{min-height:120px;resize:vertical;}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,165,116,0.1);}.search-btn,.submit-btn,.explore-btn,.cta-btn{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--dark-brown);padding:0.95rem 2.8rem;border-radius:12px;border:1px solid rgba(0,0,0,0.08);cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;letter-spacing:0.5px;transition:all 0.3s ease;box-shadow:var(--shadow-soft);}.search-btn:hover,.submit-btn:hover,.explore-btn:hover,.cta-btn:hover{background:linear-gradient(135deg,#fff2c7,var(--gold));transform:translateY(-2px);box-shadow:var(--shadow-lift);}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:10;animation:bounce 2s infinite;}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateX(-50%) translateY(0);}40%{transform:translateX(-50%) translateY(-10px);}60%{transform:translateX(-50%) translateY(-5px);}}.scroll-indicator svg{width:30px;height:30px;fill:var(--gold);filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));}.featured-section{padding:6rem 0;background:var(--white);}.section-header{text-align:center;margin-bottom:4rem;}.section-header h2{font-family:'Playfair Display',serif;font-size:3rem;margin-bottom:1rem;color:var(--dark-brown);}.section-header p{font-size:1.2rem;color:var(--soft-gray);margin-bottom:1rem;}.view-all-link{color:var(--gold);font-size:1.1rem;font-weight:600;text-decoration:none;transition:all 0.3s ease;}.view-all-link:hover{color:var(--gold-dark);text-decoration:underline;}.properties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;}.view-all-cta{display:flex;justify-content:center;margin-top:3rem;}.property-card{background:var(--white);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);transition:all 0.3s ease;cursor:pointer;}.property-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lift);}.property-card:focus-visible{outline:3px solid rgba(212,165,116,0.7);outline-offset:4px;}.property-image{position:relative;height:300px;overflow:hidden;background:linear-gradient(135deg,#d4a574,#3a3228);display:flex;align-items:center;justify-content:center;color:white;font-size:1.2rem;}.responsive-picture{display:block;width:100%;height:100%;}.responsive-picture img{width:100%;height:100%;object-fit:cover;display:block;}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}.property-card:hover .property-image img{transform:scale(1.1);}.status-badge{position:absolute;top:20px;left:20px;padding:0.5rem 1rem;border-radius:25px;font-size:0.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;}.status-badge.available{background:#4caf50;color:white;}.status-badge.booked{background:#757575;color:white;}.property-info{padding:1.5rem;}.property-title{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:0.5rem;color:var(--dark-brown);}.property-location{color:var(--soft-gray);margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem;}.property-description{color:var(--soft-gray);margin-bottom:1rem;line-height:1.6;}.property-features{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap;}.feature{display:flex;align-items:center;gap:0.5rem;color:var(--dark-brown);font-size:0.95rem;}.property-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e0ddd8;}.property-price{font-size:1.5rem;font-weight:700;color:var(--gold);}.property-price span{font-size:1rem;font-weight:400;color:var(--soft-gray);}.view-details-btn{background:transparent;border:1px solid rgba(212,165,116,0.7);color:var(--gold-dark);padding:0.55rem 1.6rem;border-radius:999px;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:700;letter-spacing:0.4px;cursor:pointer;transition:all 0.3s ease;}.view-details-btn:hover{background:rgba(212,165,116,0.15);color:var(--dark-brown);}.experience-section{padding:6rem 0;background:var(--cream);}.experience-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}.experience-image{border-radius:15px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,0.1);}.experience-image img,.placeholder-img,.experience-video video{width:100%;height:500px;object-fit:cover;}.about-hero-image{width:100%;height:500px;object-fit:cover;display:block;}.about-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin:3rem 0 2.5rem;}.about-highlight{display:flex;gap:1rem;align-items:flex-start;background:var(--white);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow-soft);}.about-icon{width:44px;height:44px;border-radius:12px;background:rgba(31,47,109,0.1);color:var(--dark-brown);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.about-icon svg{width:24px;height:24px;}.about-highlight h4{margin-bottom:0.4rem;font-size:1.1rem;}.about-highlight p{color:var(--soft-gray);}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:2.5rem;}.value-card{background:var(--white);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow-soft);}.value-card-title{margin-bottom:0.6rem;font-size:1.1rem;}.value-card-text{color:var(--soft-gray);}.experience-media{position:relative;width:100%;height:500px;background:#0f0f0f;}.experience-video.main{width:100%;height:100%;}.experience-video.inset{position:absolute;right:20px;bottom:20px;width:38%;max-width:260px;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,0.35);border:2px solid rgba(255,255,255,0.3);}.experience-video.inset video{height:100%;}.placeholder-img{background:linear-gradient(135deg,#d4a574,#3a3228);display:flex;align-items:center;justify-content:center;color:white;font-size:1.5rem;}.section-label{color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:0.9rem;font-weight:600;display:block;margin-bottom:1rem;}.experience-text h2{font-family:'Playfair Display',serif;font-size:2.5rem;margin-bottom:1.5rem;line-height:1.2;}.experience-text p{font-size:1.1rem;color:var(--soft-gray);margin-bottom:2rem;line-height:1.8;}.amenities-list{list-style:none;margin-bottom:2rem;}.amenities-list li{padding:0.8rem 0;border-bottom:1px solid #e0ddd8;color:var(--dark-brown);font-size:1.1rem;position:relative;padding-left:2rem;}.amenities-list li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:bold;font-size:1.3rem;}.testimonials-section{padding:6rem 0;background:var(--white);}.trust-section{padding:6rem 0;background:var(--white);}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;}.trust-card{background:var(--cream);border-radius:16px;padding:2rem;box-shadow:var(--shadow-soft);}.trust-card h3{margin-bottom:0.6rem;color:var(--dark-brown);}.trust-card p{color:var(--soft-gray);}.press-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;background:rgba(31,47,109,0.06);border-radius:14px;padding:1.2rem 1.5rem;margin-bottom:2rem;}.press-label{font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dark-brown);font-size:0.9rem;}.press-logos{display:flex;flex-wrap:wrap;gap:1.2rem;color:var(--soft-gray);font-weight:600;}.press-logos span{font-family:'Libre Baskerville',serif;font-size:0.95rem;}.location-section{padding:6rem 0;background:var(--cream);}.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;}.location-card{background:var(--white);border-radius:16px;padding:2rem;box-shadow:var(--shadow-soft);}.location-card h3{margin-bottom:1rem;color:var(--dark-brown);}.location-card ul{list-style:none;}.location-card li{margin-bottom:0.6rem;color:var(--soft-gray);}.callback-section{padding:5rem 0;background:var(--white);}.callback-content{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:center;}.callback-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;}.callback-form input{padding:0.9rem 1rem;border-radius:10px;border:1px solid rgba(31,47,109,0.2);font-family:'Cormorant Garamond',serif;font-size:1rem;}.faq-section{padding:6rem 0;background:var(--cream);}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}.faq-grid details{background:var(--white);padding:1.2rem 1.5rem;border-radius:14px;box-shadow:var(--shadow-soft);}.faq-grid summary{cursor:pointer;font-weight:700;color:var(--dark-brown);}.faq-grid p{margin-top:0.8rem;color:var(--soft-gray);}.policy-note{margin-top:2rem;background:rgba(31,47,109,0.06);padding:1.2rem 1.5rem;border-radius:12px;color:var(--soft-gray);}.contact-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;}.contact-card{background:var(--white);padding:2rem;border-radius:16px;box-shadow:var(--shadow-soft);}.contact-form{display:grid;gap:1rem;}.contact-form input,.contact-form textarea{padding:0.9rem 1rem;border-radius:10px;border:1px solid rgba(31,47,109,0.2);font-family:'Cormorant Garamond',serif;font-size:1rem;}.testimonials-section h2{font-family:'Playfair Display',serif;font-size:3rem;text-align:center;margin-bottom:4rem;}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;}.testimonial-card{background:var(--cream);padding:2.5rem;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.05);transition:all 0.3s ease;}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.1);}.stars{color:var(--gold);font-size:1.2rem;margin-bottom:1rem;}.testimonial-text{font-size:1.1rem;font-style:italic;color:var(--dark-brown);margin-bottom:1.5rem;line-height:1.8;}.testimonial-author{display:flex;align-items:center;gap:1rem;}.author-avatar{width:50px;height:50px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:1.2rem;}.author-info h4{font-size:1.1rem;margin-bottom:0.2rem;}.author-info p{font-size:0.9rem;color:var(--soft-gray);}.review-section{padding:6rem 0;background:var(--white);}.review-content{max-width:700px;margin:0 auto;text-align:center;}.review-content h2{font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--dark-brown);margin-bottom:1rem;}.review-content p{color:var(--soft-gray);margin-bottom:2.5rem;font-size:1.1rem;}.review-form{text-align:left;background:var(--cream);padding:2.5rem;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,0.08);}.review-form .submit-btn{width:100%;}.published-reviews{margin-top:4rem;}.published-reviews h3{font-family:'Playfair Display',serif;font-size:2rem;color:var(--dark-brown);text-align:center;margin-bottom:2rem;}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;}.review-card{background:var(--cream);padding:2rem;border-radius:14px;box-shadow:0 5px 20px rgba(0,0,0,0.06);}.review-card .review-stars{color:var(--gold);margin-bottom:1rem;font-size:1.1rem;}.review-card p{color:var(--dark-brown);font-style:italic;margin-bottom:1.5rem;line-height:1.7;}.review-card .review-author{display:flex;align-items:center;gap:0.8rem;}.review-card .review-initials{width:42px;height:42px;border-radius:50%;background:var(--gold);color:white;font-weight:700;display:flex;align-items:center;justify-content:center;}.review-card .review-meta h4{margin:0;font-size:1rem;}.review-card .review-meta span{color:var(--soft-gray);font-size:0.85rem;}.cta-section{padding:6rem 0;background:linear-gradient(135deg,#1f2f6d,#162452);color:white;text-align:center;}.cta-content h2{font-family:'Playfair Display',serif;font-size:3rem;margin-bottom:1rem;}.cta-content p{font-size:1.3rem;margin-bottom:2rem;opacity:0.9;}.cta-btn{font-size:1.3rem;padding:1.2rem 3.5rem;}footer{background:#1f2f6d;color:white;padding:4rem 0 2rem;}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem;}.footer-logo{font-family:'Libre Baskerville',serif;font-size:1.5rem;margin-bottom:1rem;}.footer-col p{opacity:0.8;line-height:1.8;}.footer-col h4{margin-bottom:1rem;font-size:1.2rem;}.footer-col ul{list-style:none;}.footer-col ul li{margin-bottom:0.8rem;opacity:0.8;}.footer-col ul li a{color:white;text-decoration:none;transition:color 0.3s ease;}.footer-col ul li a:hover{color:var(--gold);}.footer-map{margin-top:1rem;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft);}.footer-map iframe{width:100%;height:200px;border:0;display:block;}.social-links{display:flex;gap:1rem;}.social-links a{color:white;transition:all 0.3s ease;}.social-links a:hover{color:var(--gold);transform:translateY(-3px);}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.1);opacity:0.7;}.fx-attribution{margin-top:0.5rem;font-size:1rem;color:rgba(255,255,255,0.9);}.fx-attribution a{color:var(--gold);text-decoration:none;font-weight:600;}.fx-attribution a:hover{text-decoration:underline;}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);z-index:10000;align-items:center;justify-content:center;padding:2rem;overflow-y:auto;}.modal.active{display:flex;}.modal-content{background:white;padding:3rem;border-radius:20px;max-width:500px;width:100%;position:relative;animation:modalFadeIn 0.3s ease;max-height:90vh;overflow-y:auto;}.modal-large{max-width:900px;}@keyframes modalFadeIn{from{opacity:0;transform:translateY(-30px);}to{opacity:1;transform:translateY(0);}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--soft-gray);transition:color 0.3s ease;z-index:10;}.modal-close:hover{color:var(--dark-brown);}.modal-content h2{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:2rem;color:var(--dark-brown);}.hint-text{text-align:center;color:var(--soft-gray);font-size:0.9rem;margin-top:1rem;}.property-gallery{margin-bottom:2rem;}.property-gallery img{width:100%;height:400px;object-fit:cover;border-radius:10px;}.property-detail-info h2{font-family:'Playfair Display',serif;font-size:2.5rem;margin-bottom:0.5rem;}.property-detail-location{color:var(--soft-gray);margin-bottom:2rem;font-size:1.1rem;}.property-detail-description{margin-bottom:2rem;line-height:1.8;font-size:1.1rem;}.property-detail-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;}.feature-item{display:flex;align-items:center;gap:0.5rem;padding:1rem;background:var(--cream);border-radius:8px;}.property-detail-price{font-size:2.5rem;font-weight:700;color:var(--gold);margin-bottom:2rem;}.availability-calendar{margin-top:1.5rem;background:var(--cream);padding:1rem;border-radius:12px;}.availability-header{font-weight:700;color:var(--dark-brown);margin-bottom:0.8rem;}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0.6rem;}.availability-cell{background:var(--white);border-radius:10px;padding:0.6rem;font-size:0.85rem;color:var(--soft-gray);border:1px solid rgba(31,47,109,0.1);display:flex;flex-direction:column;gap:0.3rem;}.availability-cell.available{border-color:rgba(63,175,95,0.35);color:#3f7a55;}.availability-cell.unavailable{border-color:rgba(184,59,59,0.35);color:#b83b3b;}.property-rules,.property-policies{margin-top:1.5rem;}.property-rules h4,.property-policies h4{margin-bottom:0.6rem;color:var(--dark-brown);}.property-rules ul,.property-policies ul{list-style:none;color:var(--soft-gray);display:grid;gap:0.4rem;}.book-property-btn{width:100%;background:var(--gold);color:white;padding:1.2rem;border:none;border-radius:8px;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;}.book-property-btn:hover{background:var(--gold-dark);}.book-property-btn.is-disabled{background:#757575;cursor:not-allowed;}.book-property-btn.is-disabled:hover{background:#757575;transform:none;box-shadow:none;}.watch-video-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:0.8rem;width:100%;padding:1rem;border-radius:8px;border:1px solid var(--gold);color:var(--gold);text-decoration:none;font-weight:600;transition:all 0.3s ease;}.video-actions{margin-top:1.5rem;}.video-actions-label{font-weight:600;color:var(--dark-brown);margin-bottom:0.8rem;}.video-actions-list{display:grid;gap:0.8rem;}.video-modal .modal-content{max-width:900px;}.video-modal-body h3{margin-bottom:1rem;color:var(--dark-brown);}.video-modal-body video{width:100%;border-radius:12px;background:#000;}.watch-video-btn:hover{background:var(--gold);color:white;}.property-detail-price .price-per-night{font-size:1rem;color:var(--soft-gray);}.property-gallery{display:flex;flex-direction:column;gap:1rem;}.gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:0.75rem;}.gallery-thumb{border:2px solid transparent;border-radius:10px;padding:0;background:none;cursor:pointer;overflow:hidden;}.gallery-thumb img{width:100%;height:70px;object-fit:cover;display:block;}.gallery-thumb.is-active{border-color:var(--gold);}.image-list-tools{margin-top:1rem;}.image-list-preview{display:grid;gap:0.75rem;margin-top:0.5rem;}.image-chip{display:grid;grid-template-columns:16px 70px 1fr auto;gap:0.75rem;align-items:center;padding:0.5rem;border:1px solid #e0ddd8;border-radius:10px;background:var(--white);}.image-chip.is-invalid{border-color:#b83b3b;background:rgba(184,59,59,0.08);}.drag-handle{font-size:1rem;color:var(--soft-gray);cursor:grab;}.image-chip img{width:70px;height:50px;border-radius:6px;object-fit:cover;}.image-url{font-size:0.85rem;color:var(--soft-gray);word-break:break-all;}.chip-remove{background:transparent;border:1px solid #b83b3b;color:#b83b3b;padding:0.3rem 0.6rem;border-radius:6px;font-size:0.75rem;cursor:pointer;}.chip-remove:hover{background:#b83b3b;color:white;}.validation-message{font-size:0.85rem;color:#b83b3b;margin-top:0.25rem;min-height:1.1rem;opacity:0;transition:opacity 0.2s ease;}.validation-message.is-visible{opacity:1;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.8);display:none;align-items:center;justify-content:center;z-index:11000;padding:2rem;}.lightbox.active{display:flex;}.lightbox-content{position:relative;max-width:900px;width:100%;display:flex;align-items:center;justify-content:center;}.lightbox-image{max-width:100%;max-height:80vh;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.4);}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.15);border:none;color:white;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;}.lightbox-nav.prev{left:-10px;}.lightbox-nav.next{right:-10px;}.lightbox-close{position:absolute;top:-10px;right:-10px;background:white;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.4rem;}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(212,165,116,0.7);outline-offset:3px;}.filters-sidebar{background:white;padding:2rem;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.05);position:sticky;top:100px;}.filters-header{display:flex;align-items:center;gap:0.5rem;margin-bottom:2rem;font-family:'Playfair Display',serif;font-size:1.5rem;}.filter-group{margin-bottom:2rem;}.filter-group h3{font-size:1.1rem;margin-bottom:1rem;color:var(--dark-brown);}.range-label{display:block;font-size:0.95rem;color:var(--soft-gray);margin-bottom:0.5rem;}.checkbox-group{display:flex;flex-direction:column;gap:0.8rem;}.checkbox-group label{display:flex;align-items:center;gap:0.5rem;cursor:pointer;font-size:1rem;}.checkbox-group input[type="checkbox"]{width:18px;height:18px;cursor:pointer;}.filters-sidebar select{width:100%;padding:0.6rem 0.8rem;border-radius:8px;border:1px solid rgba(31,47,109,0.2);font-family:'Cormorant Garamond',serif;font-size:1rem;background:var(--white);}.price-range{display:flex;justify-content:space-between;margin-top:0.5rem;color:var(--soft-gray);}input[type="range"]{width:100%;margin-top:1rem;}.apply-filters-btn{width:100%;background:var(--dark-brown);color:white;padding:1rem;border:none;border-radius:8px;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;}.apply-filters-btn:hover{background:#2a241e;}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;}.logout-btn{background:transparent;border:2px solid var(--gold);color:var(--gold);padding:0.8rem 2rem;border-radius:25px;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;}.logout-btn:hover{background:var(--gold);color:white;}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem;}.stat-card{background:white;padding:2rem;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.05);}.stat-label{color:var(--soft-gray);font-size:0.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:0.5rem;}.stat-value{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:var(--dark-brown);margin-bottom:0.5rem;}.stat-change{font-size:0.9rem;color:var(--soft-gray);}.admin-table{background:white;padding:2rem;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.05);overflow-x:auto;}.admin-table h3{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:1.5rem;}table{width:100%;border-collapse:collapse;}thead{background:var(--cream);}th{padding:1rem;text-align:left;font-weight:600;color:var(--dark-brown);}td{padding:1rem;border-bottom:1px solid #e0ddd8;}.action-btn-group{display:flex;gap:0.5rem;flex-wrap:wrap;}.action-btn{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:0.5rem 1rem;border-radius:5px;font-size:0.9rem;cursor:pointer;transition:all 0.3s ease;}.action-btn:hover{background:var(--gold);color:white;}.action-btn.danger{border-color:#b83b3b;color:#b83b3b;}.action-btn.danger:hover{background:#b83b3b;color:white;}.status-badge.pending{background:#f0ad4e;color:white;}.status-badge.confirmed{background:#4caf50;color:white;}.status-badge.cancelled{background:#b83b3b;color:white;}.empty-state{text-align:center;color:var(--soft-gray);padding:2rem 1rem;}@media (max-width:968px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);flex-direction:column;padding:2rem;gap:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,0.1);}.nav-links.active{display:flex;}.nav-divider{display:none;}.experience-media,.experience-video video{height:360px;}.experience-video.inset{width:46%;right:12px;bottom:12px;}.callback-content{grid-template-columns:1fr;}.press-strip{justify-content:center;text-align:center;}.hero-cta-row{flex-direction:column;gap:0.8rem;}.mobile-menu-btn{display:flex;}.hero-title{font-size:3rem;}.search-form{flex-direction:column;padding:1.5rem;}.form-group{min-width:100%;}.search-btn{width:100%;}.experience-content{grid-template-columns:1fr;gap:2rem;}.properties-grid{grid-template-columns:1fr;}.two-column-layout{grid-template-columns:1fr;}.filters-sidebar{position:static;}}@media (max-width:600px){.hero-title{font-size:2.5rem;}.hero-subtitle{font-size:1.1rem;}.hero-welcome{font-size:0.9rem;}nav{padding:1rem 5%;}.logo{font-size:1.2rem;}.section-header h2{font-size:2rem;}.experience-text h2{font-size:2rem;}.modal-content{padding:2rem;}.stats-grid{grid-template-columns:1fr;}}.page-header{padding:8rem 0 4rem;background:linear-gradient(135deg,var(--dark-brown),#2a241e);color:white;text-align:center;}.page-header h1{font-family:'Playfair Display',serif;font-size:3.5rem;margin-bottom:1rem;}.page-header p{font-size:1.3rem;opacity:0.9;}.page-content{padding:4rem 0;}.two-column-layout{display:grid;grid-template-columns:300px 1fr;gap:3rem;}.main-content{min-height:400px;}.properties-count{text-align:center;color:var(--soft-gray);margin-bottom:2rem;font-size:1.1rem;}.reservation-container{max-width:800px;}.reservation-form{display:block;padding:3rem;}.reservation-title{text-align:center;font-family:'Playfair Display',serif;margin-bottom:2rem;}.reservation-section-title{margin-top:2rem;margin-bottom:1rem;font-family:'Playfair Display',serif;}.reservation-submit{width:100%;margin-top:2rem;}.reservation-note{text-align:center;margin-top:1rem;color:var(--soft-gray);}.reservation-note-link{color:var(--gold);font-weight:600;}.lifestyle-intro{text-align:center;max-width:800px;margin:0 auto 4rem;}.lifestyle-intro-text{font-size:1.2rem;line-height:1.8;margin-bottom:2rem;}.lifestyle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;}.lifestyle-card{background:var(--white);padding:2rem;border-radius:15px;box-shadow:0 5px 20px rgba(0,0,0,0.05);}.lifestyle-card p{color:var(--soft-gray);line-height:1.8;}.lifestyle-placeholder{height:250px;margin-bottom:1.5rem;}.lifestyle-photo{width:100%;height:250px;object-fit:cover;border-radius:12px;margin-bottom:1.5rem;display:block;}.photo-credits{margin-top:0.6rem;font-size:0.85rem;opacity:0.75;}.beach-access-heading,.lifestyle-heading,.lifestyle-heading-alt{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:1rem;}body.admin-page #header{position:fixed;top:0;left:0;width:100%;z-index:999;transform:translateY(calc(-100% + 14px));transition:transform 0.25s ease;background:rgba(255,255,255,0.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}body.admin-page #header:hover,body.admin-page #header:focus-within{transform:translateY(0);}body.admin-page .page-content{padding-top:2rem;}.is-hidden{display:none !important;}.admin-auth{max-width:520px;margin:3rem auto 4rem;background:var(--white);padding:2.5rem;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,0.08);text-align:center;}.admin-auth h2{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:0.5rem;color:var(--dark-brown);}.admin-auth p{color:var(--soft-gray);margin-bottom:1.5rem;}.admin-auth-divider{margin:1.5rem 0;font-weight:600;color:var(--soft-gray);}.admin-dashboard{animation:fadeInUp 0.6s ease-out;}.admin-settings{background:var(--white);padding:2rem;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,0.08);margin-bottom:2.5rem;}.admin-settings h3{margin-bottom:1.2rem;color:var(--dark-brown);}.availability-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;}.availability-list .availability-item{display:flex;align-items:center;justify-content:space-between;background:var(--white);padding:1rem 1.2rem;border-radius:12px;box-shadow:var(--shadow-soft);margin-bottom:0.8rem;}
.booking-partners{display:grid;gap:.9rem;}
.partner-btn{position:relative;display:inline-flex;align-items:center;gap:.85rem;padding:.85rem 1.2rem;border-radius:16px;background:linear-gradient(135deg,rgba(217,178,74,.55),rgba(31,47,109,.35));border:1px solid rgba(241,217,138,.7);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.3px;overflow:hidden;box-shadow:0 14px 28px rgba(0,0,0,.28);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.partner-btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(0,0,0,.25);border-color:rgba(241,217,138,.8);}.partner-btn:visited,.partner-btn:link{color:#fff;}
.partner-logo{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-family:'Libre Baskerville',serif;font-weight:700;background:linear-gradient(135deg,rgba(241,217,138,.95),rgba(217,178,74,.5));color:#1f2f6d;box-shadow:inset 0 0 0 1px rgba(241,217,138,.7);}
.partner-btn::after{content:\"\";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(241,217,138,.35) 45%,transparent 70%);transform:translateX(-120%);transition:transform .6s ease;opacity:.7;}
.partner-btn:hover::after{transform:translateX(120%);}

/* Property gallery UX improvements */
#propertyModal .modal-content.modal-large{
    width:90vw;
    max-width:90vw;
    max-height:90vh;
    padding:1.5rem;
}
#propertyModal .property-gallery-frame{
    position:relative;
}
#propertyModal .property-image.property-image-large{
    height:clamp(560px,74vh,88vh);
}
#propertyModal .property-image.property-image-large img{
    width:100%;
    height:100%;
    object-fit:cover;
}
#propertyModal .property-image.property-image-large .responsive-picture{
    display:block;
    width:100%;
    height:100%;
}
#propertyModal .property-image.property-image-large .responsive-picture img{
    height:100%;
}
#propertyModal .gallery-status{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:0.75rem;
    color:var(--soft-gray);
    font-weight:600;
}
#propertyModal .gallery-guide{
    font-size:0.95rem;
}
#propertyModal .gallery-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    border:none;
    width:48px;
    height:48px;
    border-radius:999px;
    cursor:pointer;
    font-size:2rem;
    line-height:1;
    color:#fff;
    background:rgba(31,47,109,0.55);
}
#propertyModal .gallery-nav.prev{left:14px;}
#propertyModal .gallery-nav.next{right:14px;}
#propertyModal .gallery-thumbs{
    display:flex;
    gap:0.75rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:0.25rem;
}
#propertyModal .gallery-thumb{
    flex:0 0 110px;
    scroll-snap-align:center;
}
#propertyModal .gallery-thumb img{
    height:76px;
}

.lightbox-meta{
    position:absolute;
    left:50%;
    bottom:-1.75rem;
    transform:translateX(-50%);
    color:#fff;
    background:rgba(0,0,0,0.45);
    border-radius:999px;
    padding:0.45rem 0.9rem;
    display:flex;
    gap:0.7rem;
    align-items:center;
    font-size:0.95rem;
}
.lightbox-guide{
    opacity:0.9;
}

@media (max-width:968px){
    #propertyModal .modal-content.modal-large{
        width:94vw;
        max-width:94vw;
        max-height:90vh;
        padding:1rem;
    }
    #propertyModal .property-image.property-image-large{
        height:min(62vh,520px);
    }
    #propertyModal .gallery-status{
        flex-direction:column;
        align-items:flex-start;
        gap:0.35rem;
    }
    .lightbox-meta{
        bottom:-2.4rem;
        font-size:0.85rem;
    }
}

/* Large media overlays: target ~90% viewport usage */
.lightbox-content{
    width:90vw;
    max-width:90vw;
}
.lightbox-image{
    width:100%;
    max-width:100%;
    max-height:90vh;
    object-fit:contain;
}

/* Theme toggle + night mode */
:root{
    color-scheme:light;
}

:root[data-theme="night"]{
    --cream:#0c1424;
    --white:#152033;
    --dark-brown:#e8eefc;
    --soft-gray:#b8c4de;
    --overlay:rgba(4,9,18,0.72);
    --shadow-soft:0 8px 30px rgba(0,0,0,0.35);
    --shadow-lift:0 18px 45px rgba(0,0,0,0.45);
    --accent-silver:#9fb3dc;
    color-scheme:dark;
}

.theme-toggle-item{
    display:flex;
    align-items:center;
}

.theme-toggle-btn{
    display:inline-flex;
    align-items:center;
    gap:0.65rem;
    min-height:46px;
    border:1px solid rgba(31,47,109,0.26);
    background:linear-gradient(145deg,rgba(255,255,255,0.97),rgba(241,245,252,0.96));
    color:#1b285e;
    border-radius:999px;
    padding:0.6rem 1.2rem;
    font-family:'Libre Baskerville',serif;
    font-size:0.88rem;
    font-weight:700;
    letter-spacing:0.35px;
    text-transform:uppercase;
    cursor:pointer;
    transition:transform 0.22s ease,border-color 0.22s ease,box-shadow 0.22s ease,background 0.22s ease;
    box-shadow:
        0 10px 24px rgba(10,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.9);
}

.theme-toggle-btn:hover{
    transform:translateY(-2px);
    border-color:rgba(217,178,74,0.72);
    background:linear-gradient(145deg,rgba(255,255,255,1),rgba(250,243,219,0.94));
    box-shadow:
        0 14px 30px rgba(10,20,40,0.18),
        inset 0 1px 0 rgba(255,255,255,0.95);
}

.theme-toggle-btn:focus-visible{
    outline:3px solid rgba(217,178,74,0.55);
    outline-offset:2px;
}

.theme-toggle-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.8rem;
    height:1.8rem;
    border-radius:999px;
    font-size:1rem;
    line-height:1;
    background:linear-gradient(145deg,rgba(31,47,109,0.16),rgba(31,47,109,0.07));
}

.theme-toggle-text{
    line-height:1;
    margin-top:0.04rem;
}

:root[data-theme="night"] body{
    background:var(--cream);
    color:var(--dark-brown);
}

:root[data-theme="night"] header{
    background:linear-gradient(120deg,rgba(6,14,28,0.9),rgba(16,28,49,0.88));
    box-shadow:0 14px 38px rgba(0,0,0,0.42);
    border-bottom:1px solid rgba(241,217,138,0.2);
}

:root[data-theme="night"] nav{
    border:1px solid rgba(241,217,138,0.28);
    border-radius:18px;
    background:linear-gradient(120deg,rgba(6,14,28,0.82),rgba(10,22,42,0.78));
    box-shadow:
        0 14px 34px rgba(0,0,0,0.36),
        inset 0 1px 0 rgba(255,255,255,0.06);
    backdrop-filter:saturate(130%);
}

:root[data-theme="night"] .nav-divider{
    background:rgba(241,217,138,0.38);
}

:root[data-theme="night"] .logo,
:root[data-theme="night"] .nav-links a{
    color:#e7efff;
}

:root[data-theme="night"] .nav-links a:hover,
:root[data-theme="night"] .nav-links a.active{
    color:#f1d98a;
}

:root[data-theme="night"] .nav-links a::after{
    background:#f1d98a;
}

:root[data-theme="night"] .nav-icon a{
    background:rgba(241,217,138,0.14);
    color:#f1d98a;
}

:root[data-theme="night"] .theme-toggle-btn{
    background:linear-gradient(145deg,rgba(13,25,46,0.96),rgba(8,17,33,0.94));
    border-color:rgba(241,217,138,0.52);
    color:#f7f1d6;
    box-shadow:
        0 12px 28px rgba(0,0,0,0.42),
        inset 0 1px 0 rgba(255,255,255,0.09);
}

:root[data-theme="night"] .theme-toggle-btn:hover{
    border-color:rgba(241,217,138,0.85);
    background:linear-gradient(145deg,rgba(18,33,58,0.98),rgba(10,21,39,0.95));
}

:root[data-theme="night"] .theme-toggle-icon{
    background:linear-gradient(145deg,rgba(241,217,138,0.36),rgba(241,217,138,0.2));
}

:root[data-theme="night"] .modal-content,
:root[data-theme="night"] .filters-sidebar,
:root[data-theme="night"] .admin-table,
:root[data-theme="night"] .stat-card{
    border:1px solid rgba(241,217,138,0.12);
}

:root[data-theme="night"] .form-group input,
:root[data-theme="night"] .form-group select,
:root[data-theme="night"] .form-group textarea,
:root[data-theme="night"] .contact-form input,
:root[data-theme="night"] .contact-form textarea,
:root[data-theme="night"] .callback-form input{
    background:#0e1729;
    border-color:#314361;
    color:var(--dark-brown);
}

:root[data-theme="night"] .form-group input::placeholder,
:root[data-theme="night"] .form-group textarea::placeholder,
:root[data-theme="night"] .contact-form input::placeholder,
:root[data-theme="night"] .contact-form textarea::placeholder,
:root[data-theme="night"] .callback-form input::placeholder{
    color:#8fa1c3;
}

:root[data-theme="night"] .nav-links{
    background:linear-gradient(120deg,rgba(10,18,34,0.96),rgba(12,24,43,0.95));
}

@media (min-width:969px){
    :root[data-theme="night"] .nav-links{
        background:linear-gradient(120deg,rgba(10,19,35,0.8),rgba(13,26,46,0.76));
        border:1px solid rgba(241,217,138,0.22);
        border-radius:999px;
        padding:0.45rem 1.1rem;
        box-shadow:0 12px 28px rgba(0,0,0,0.3);
    }
}

/* Night mode clarity fix for filter sidebar */
:root[data-theme="night"] .filters-sidebar{
    background:linear-gradient(165deg,rgba(14,24,44,0.98),rgba(9,18,34,0.97));
    border:1px solid rgba(241,217,138,0.3);
    box-shadow:
        0 14px 32px rgba(0,0,0,0.36),
        inset 0 1px 0 rgba(255,255,255,0.07);
    color:#eef4ff;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

:root[data-theme="night"] .filters-header,
:root[data-theme="night"] .filter-group h3{
    color:#f3f7ff;
    text-shadow:none;
}

:root[data-theme="night"] .range-label,
:root[data-theme="night"] .checkbox-group label,
:root[data-theme="night"] .price-range{
    color:#d3def3;
}

:root[data-theme="night"] .checkbox-group input[type="checkbox"]{
    accent-color:#f1d98a;
}

:root[data-theme="night"] .filters-sidebar select{
    background:#101b31;
    border-color:#4d6288;
    color:#eef4ff;
}

:root[data-theme="night"] .filters-sidebar select:focus{
    border-color:#f1d98a;
    box-shadow:0 0 0 3px rgba(241,217,138,0.2);
}

:root[data-theme="night"] .apply-filters-btn{
    background:linear-gradient(135deg,#f1d98a,#d9b24a);
    color:#16223f;
    border:1px solid rgba(255,255,255,0.18);
    box-shadow:0 10px 22px rgba(0,0,0,0.3);
}

:root[data-theme="night"] .apply-filters-btn:hover{
    background:linear-gradient(135deg,#ffe9a8,#e2bc58);
}

/* Performance: skip below-the-fold rendering until sections approach viewport */
@supports (content-visibility: auto) {
  .experience-section,
  .trust-section,
  .location-section,
  .callback-section,
  .faq-section,
  .testimonials-section,
  .review-section,
  .cta-section {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
  }
}

/* Hero stability: avoid pre-video image flash */
.hero-bg {
  background: #0b1222 !important;
  animation: none !important;
}

.hero-video {
  opacity: 1 !important;
}

/* Rates and status enhancements */
.property-price .price-monthly {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.9rem;
  color: var(--soft-gray);
  font-weight: 500;
}

.property-detail-price .price-per-month {
  display: block;
  margin-top: 0.45rem;
  font-size: 1rem;
  color: var(--soft-gray);
  font-weight: 500;
}

.status-badge.unavailable {
  background: #b83b3b;
  color: #fff;
}

/* Residences mobile layout hard override (placed at end to win cascade) */
@media (max-width: 968px) {
  .page-content .two-column-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.25rem;
  }

  .page-content .filters-sidebar {
    position: static !important;
    top: auto;
  }

  .page-content .main-content {
    min-width: 0;
  }

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

@media (max-width: 600px) {
  .page-content {
    padding: 2rem 0;
  }

  .page-content .container {
    padding: 0 1rem;
  }

  .page-content .properties-grid {
    gap: 1rem;
  }
}

.scroll-top-btn {
    position: fixed;
    right: 1.2rem;
    bottom: 1.4rem;
    width: 58px;
    height: 58px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #e5c88a, #c99f59);
    color: #ffffff;
    font-family: 'Libre Baskerville', serif;
    font-size: 1.05rem;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
    cursor: pointer;
    z-index: 1200;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.scroll-top-btn.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.scroll-top-btn:hover {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.3);
}

@media (max-width: 600px) {
    .scroll-top-btn {
        width: 52px;
        height: 52px;
        right: 0.9rem;
        bottom: 1rem;
        font-size: 0.95rem;
    }
}

/* Brand palette (approved) */
:root {
    --brand-blue: #184f92;
    --cream: #F2EEE7;
    --white: #ffffff;
    --gold: #c89f30;
    --gold-dark: #aa7f13;
    --gold-light: #ddb34d;
    --dark-brown: #252525;
    --soft-gray: #575148;
    --overlay: rgba(24, 79, 146, 0.62);
    --shadow: rgba(0, 0, 0, 0.1);
    --shadow-soft: 0 8px 30px rgba(0, 0, 0, 0.08);
    --shadow-lift: 0 18px 45px rgba(0, 0, 0, 0.12);
    --accent-silver: #e4cb79;
    --panel-champagne: #ECE5DA;
}

body {
    background: var(--cream);
    color: var(--dark-brown);
}

header {
    background: rgba(242, 238, 231, 0.95);
}

.page-header,
.cta-section,
footer {
    background: linear-gradient(135deg, var(--brand-blue), #133f75);
    color: #ffffff;
}

.trust-card,
.location-card,
.contact-card,
.testimonial-card,
.review-form,
.admin-table,
.admin-settings,
.lifestyle-card,
.about-highlight,
.value-card {
    background: var(--panel-champagne);
}

/* Keep booking CTAs visually consistent across Day / Night / Auto */
.book-btn,
.book-property-btn {
    background: linear-gradient(135deg, #ddb34d, #c89f30);
    color: #252525;
    border: 1px solid rgba(0, 0, 0, 0.14);
}

.book-btn:hover,
.book-property-btn:hover {
    background: linear-gradient(135deg, #f0c767, #c89f30);
    color: #252525;
}

:root[data-theme="night"] .book-btn,
:root[data-theme="night"] .book-property-btn,
:root[data-theme="night"] .book-btn:hover,
:root[data-theme="night"] .book-property-btn:hover {
    background: linear-gradient(135deg, #ddb34d, #c89f30);
    color: #252525;
    border: 1px solid rgba(0, 0, 0, 0.14);
}
