:root{--cream:#FAF6EF;--deep:#1A1209;--gold:#C8922A;--gold-light:#E8B84B;--warm:#8B5E3C;--rust:#C4622D;--text:#2E1F0E;--muted:#7A6A58;--card-bg:#FFFFFF;--border:rgba(200,146,42,0.2);--shadow:0 8px 40px rgba(26,18,9,0.10)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}.skip-link{position:absolute;top:-100px;left:20px;background:var(--gold);color:#fff;padding:10px 20px;z-index:999;transition:top .2s;text-decoration:none;font-weight:500}.skip-link:focus{top:10px}.topbar{background:var(--deep);color:rgba(255,255,255,.7);font-size:.78rem;letter-spacing:.08em;padding:8px 40px;display:flex;justify-content:space-between;align-items:center}.topbar a{color:var(--gold-light);text-decoration:none;outline:0}.topbar a:focus-visible{outline:2px solid var(--gold-light)}nav{position:sticky;top:0;z-index:100;background:rgba(250,246,239,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:70px}.nav-logo{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:var(--deep);letter-spacing:-.01em}.nav-logo span{color:var(--gold)}.nav-links{display:flex;gap:36px;list-style:none}.nav-links a{font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;outline:0;padding:6px 0}.nav-links a:focus-visible,.nav-links a:hover{color:var(--gold)}.nav-links a:focus-visible{outline:2px solid var(--gold)}.nav-cta{background:var(--gold);color:#fff;font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:10px 24px;border:none;cursor:pointer;text-decoration:none;transition:background .2s;outline:0}.nav-cta:focus-visible,.nav-cta:hover{background:var(--rust)}.nav-cta:focus-visible{outline:2px solid var(--deep)}.menu-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:8px;outline:0}.menu-toggle span{display:block;width:24px;height:2px;background:var(--deep);margin:5px 0;transition:.3s}.hero{min-height:85vh;display:grid;grid-template-columns:1.1fr 0.9fr;position:relative;overflow:hidden}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:60px 60px 60px 80px;position:relative;z-index:2}.hero-tag{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#fff;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:6px 16px;margin-bottom:24px;width:fit-content;animation:fadeUp .7s ease both}.hero-tag::before{content:'★';font-size:.65rem}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem, 4.5vw, 3.8rem);font-weight:700;line-height:1.1;color:var(--deep);margin-bottom:12px;animation:fadeUp .7s .1s ease both}.hero h1 em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:1.1em}.hero-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.35rem;color:var(--warm);margin-bottom:20px;animation:fadeUp .7s .2s ease both}.hero-desc{font-size:.95rem;color:var(--muted);line-height:1.7;max-width:480px;margin-bottom:30px;animation:fadeUp .7s .3s ease both}.hero-actions{display:flex;gap:16px;align-items:center;animation:fadeUp .7s .4s ease both}.btn-primary{background:var(--deep);color:#fff;padding:14px 32px;font-size:.88rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .2s;display:inline-block;outline:0}.btn-primary:focus-visible,.btn-primary:hover{background:var(--gold);transform:translateY(-2px)}.btn-primary:focus-visible{outline:2px solid var(--rust)}.btn-outline{border:1.5px solid var(--gold);color:var(--gold);padding:13px 28px;font-size:.88rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .2s;display:inline-block;outline:0}.btn-outline:focus-visible,.btn-outline:hover{background:var(--gold);color:#fff}.btn-outline:focus-visible{outline:2px solid var(--deep)}.hero-rating{margin-top:40px;display:flex;align-items:center;gap:18px;animation:fadeUp .7s .5s ease both}.rating-circle{width:70px;height:70px;border-radius:50%;background:var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-family:'Playfair Display',serif}.rating-circle .num{font-size:1.5rem;font-weight:700;line-height:1}.rating-circle .out{font-size:.65rem;opacity:.85}.rating-text .stars{color:var(--gold);font-size:1rem;letter-spacing:2px}.rating-text p{font-size:.8rem;color:var(--muted);margin-top:2px}.hero-right{position:relative;overflow:hidden;display:flex;align-items:stretch}.hero-right picture{width:100%;height:100%}.hero-img-main{width:100%;height:100%;object-fit:cover;display:block}.hero-deco{position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:4px;height:60%;background:linear-gradient(to bottom,transparent,var(--gold),transparent)}.trust-banner{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 80px;display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:20px}.trust-item{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--deep)}.trust-icon{color:var(--gold);font-weight:700}.proximity-badge{background:#fff9ed;border:1px dashed var(--gold);color:var(--rust);padding:6px 14px;border-radius:4px;font-size:.82rem;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-bottom:16px}.strip{background:var(--deep);padding:22px 80px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}.strip-item{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.8);font-size:.88rem}.strip-icon{width:36px;height:36px;background:rgba(200,146,42,.2);border:1px solid rgba(200,146,42,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.strip-item strong{color:#fff;display:block;font-size:.95rem}.strip-divider{width:1px;height:36px;background:rgba(255,255,255,.1)}.section-label{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem, 3.5vw, 2.8rem);font-weight:700;line-height:1.15;color:var(--deep)}.section-title em{font-style:italic;font-family:'Cormorant Garamond',serif;color:var(--gold)}.title-line{width:48px;height:3px;background:var(--gold);margin:20px 0 28px}.about{padding:100px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-imgs{position:relative;height:500px}.about-img-1,.about-img-2{box-shadow:var(--shadow);overflow:hidden}.about-img-1{position:absolute;top:0;left:0;width:70%;height:70%}.about-img-2{position:absolute;bottom:0;right:0;width:60%;height:60%;border:6px solid var(--cream)}.about-imgs img{width:100%;height:100%;object-fit:cover;display:block}.about-content p{font-size:.97rem;line-height:1.85;color:var(--muted);margin-bottom:20px}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}.stat-box{border:1px solid var(--border);padding:22px;background:#fff}.stat-box .num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--gold);line-height:1}.stat-box p{font-size:.82rem;color:var(--muted);margin-top:6px}.rooms{background:var(--deep);padding:100px 80px}.rooms .section-title{color:#fff}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px}.room-card{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer}.room-card-img{width:100%;height:100%;background:linear-gradient(135deg,#2a1a08,#6b3d1a);display:flex;align-items:center;justify-content:center;transition:transform .5s ease}.room-card-img img{width:100%;height:100%;object-fit:cover;display:block}.room-card:hover .room-card-img{transform:scale(1.05)}.room-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,18,9,.95) 0,rgba(26,18,9,.4) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .3s ease}.room-name{font-family:'Playfair Display',serif;font-size:1.15rem;color:#fff;margin-bottom:4px;font-weight:400}.room-tag{font-size:.75rem;color:var(--gold-light);letter-spacing:.1em;text-transform:uppercase}.room-card.featured{grid-row:span 2;aspect-ratio:unset}.room-card.featured .room-card-img{background:linear-gradient(135deg,#6b2e00,#c8922a);height:100%}@media (hover:hover){.room-card:hover .room-card-overlay{opacity:1}}@media (hover:none){.room-card-overlay{opacity:1;background:linear-gradient(to top,rgba(26,18,9,.98) 0,rgba(26,18,9,.6) 70%,transparent 100%);padding:16px}.room-name{font-size:1.05rem}.room-tag{font-size:.7rem}}.amenities{padding:100px 80px}.amenities-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.amenity-card{background:#fff;padding:36px 28px;border:1px solid var(--border);position:relative;overflow:hidden;transition:all .3s}.amenity-card::before{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--gold);transition:width .3s}.amenity-card:hover::before{width:100%}.amenity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.amenity-icon{font-size:2rem;margin-bottom:16px;display:block}.amenity-card h3{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--deep);margin-bottom:8px}.amenity-card p{font-size:.85rem;color:var(--muted);line-height:1.6}.testimonials{background:#f3ede2;padding:100px 80px}.reviews-badge-container{display:flex;flex-direction:column;align-items:center;margin-top:16px;gap:6px}.reviews-badge-stars{color:var(--gold);font-size:1.25rem;letter-spacing:2px}.reviews-badge-text{font-size:.9rem;font-weight:500;color:var(--muted)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.testi-card{background:#fff;padding:36px;position:relative;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.testi-card::before{content:'\201C';position:absolute;top:20px;right:28px;font-family:'Playfair Display',serif;font-size:5rem;color:var(--gold);opacity:.15;line-height:1}.testi-stars{color:var(--gold);margin-bottom:16px;font-size:.9rem}.testi-card p{font-size:.93rem;line-height:1.75;color:var(--muted);font-style:italic;margin-bottom:24px}.testi-author{display:flex;align-items:center;gap:14px;margin-top:auto}.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rust));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;flex-shrink:0}.testi-name{font-weight:700;font-size:.9rem;color:var(--deep)}.testi-role{font-size:.78rem;color:var(--muted);display:block;margin-top:2px}.testi-date{font-size:.72rem;color:var(--muted);opacity:.8;display:block;margin-top:2px}.location-section{padding:100px 80px;background:var(--cream)}.map-grid-container{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:stretch;margin-top:48px}.map-container-box{height:480px;background:#eaeaea;position:relative;box-shadow:var(--shadow);border:1px solid var(--border)}.map-container-box iframe{width:100%;height:100%;border:0}.distance-wrapper h3{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--deep);margin-bottom:24px}.distance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.distance-card{background:#fff;border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.distance-card:hover{box-shadow:var(--shadow);border-color:var(--gold)}.dist-dest{font-size:.95rem;font-weight:700;color:var(--deep)}.dist-val{font-size:.88rem;color:var(--gold);font-weight:500}.dist-time{font-size:.8rem;color:var(--muted)}.map-action-btns{margin-top:24px;display:flex;gap:16px}.faq-section{background:#f3ede2;padding:100px 80px}.faq-container{max-width:800px;margin:48px auto 0;display:flex;flex-direction:column;gap:12px}.faq-item{background:#fff;border:1px solid var(--border);overflow:hidden;transition:all .25s ease}.faq-trigger{width:100%;background:0 0;border:none;padding:20px 24px;text-align:left;font-family:'Playfair Display',serif;font-size:1.08rem;font-weight:600;color:var(--deep);display:flex;justify-content:space-between;align-items:center;cursor:pointer;outline:0}.faq-trigger:focus-visible{outline:2px solid var(--gold);background:rgba(200,146,42,.05)}.faq-icon-arrow{font-size:1.2rem;color:var(--gold);transition:transform .25s ease}.faq-panel{max-height:0;overflow:hidden;transition:max-height .25s ease-out,padding .25s ease-out;padding:0 24px}.faq-content{padding-bottom:20px;font-size:.92rem;line-height:1.7;color:var(--muted)}.faq-item.active{border-color:var(--gold);box-shadow:var(--shadow)}.faq-item.active .faq-trigger{color:var(--gold)}.faq-item.active .faq-icon-arrow{transform:rotate(180deg)}.faq-item.active .faq-panel{max-height:200px;padding:0 24px}.cta-band{background:var(--gold);padding:80px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.cta-band h2{font-family:'Playfair Display',serif;font-size:2.2rem;color:#fff;line-height:1.2}.cta-band p{color:rgba(255,255,255,.8);margin-top:10px;font-size:.97rem}.btn-white{background:#fff;color:var(--gold);padding:16px 36px;font-size:.9rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:all .2s;display:inline-block;outline:0}.btn-white:focus-visible,.btn-white:hover{background:var(--deep);color:#fff}.btn-white:focus-visible{outline:2px solid var(--border)}.contact{padding:100px 80px;background:var(--deep)}.contact .section-label{color:var(--gold-light)}.contact .section-title{color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:60px}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(200,146,42,.25);color:#fff;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:.92rem;outline:0;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}.form-group select{appearance:none;cursor:pointer}.form-group textarea{resize:vertical;min-height:100px}.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.25)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-info-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:32px}.ci-icon{width:46px;height:46px;background:rgba(200,146,42,.15);border:1px solid rgba(200,146,42,.3);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.ci-text strong{color:#fff;display:block;margin-bottom:4px;font-size:.9rem}.ci-text span{color:rgba(255,255,255,.5);font-size:.85rem;line-height:1.5}footer{background:#0e0b05;padding:60px 80px 30px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.07)}.footer-brand .logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:#fff;margin-bottom:16px}.footer-brand .logo span{color:var(--gold)}.footer-brand p{font-size:.85rem;color:rgba(255,255,255,.4);line-height:1.7}.footer-col h3{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:10px}.footer-col ul li a{font-size:.85rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;outline:0}.footer-col ul li a:focus-visible,.footer-col ul li a:hover{color:var(--gold)}.footer-col ul li a:focus-visible{outline:2px solid var(--gold)}.footer-bottom{padding-top:28px;display:flex;justify-content:space-between;align-items:center}.footer-bottom p{font-size:.8rem;color:rgba(255,255,255,.25)}.footer-bottom a{color:var(--gold);text-decoration:none}.float-widgets{position:fixed;bottom:30px;right:30px;display:flex;flex-direction:column;gap:12px;z-index:999}.btn-float{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.3);cursor:pointer;text-decoration:none;transition:transform .2s ease,background .2s ease;outline:0}.btn-float:focus-visible,.btn-float:hover{transform:scale(1.1)}.btn-float.float-wa{background:#25d366}.btn-float.float-call{background:var(--gold)}.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;width:100%;height:60px;background:var(--deep);grid-template-columns:1fr 1fr;z-index:998;border-top:1px solid var(--border)}.m-cta-btn{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.88rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;gap:8px;outline:0}.m-cta-btn.m-call{background:var(--deep);border-right:1px solid rgba(255,255,255,.1)}.m-cta-btn.m-wa{background:#25d366}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{transition:none!important;opacity:1!important;transform:none!important}*{animation:none!important;transition:none!important}}@media (max-width:1024px){.hero{grid-template-columns:1fr;min-height:auto}.hero-left{padding:60px 40px}.hero-right{height:380px}.about,.contact-grid,.location-section,.map-grid-container{grid-template-columns:1fr}.map-grid-container{gap:40px}.rooms-grid{grid-template-columns:1fr 1fr}.room-card.featured{grid-row:span 1;aspect-ratio:4/3}.amenities-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr}.about,.amenities,.contact,.cta-band,.faq-section,.location-section,.rooms,.testimonials,footer{padding-left:40px;padding-right:40px}nav{padding:0 24px}.strip,.topbar,.trust-banner{padding-left:24px;padding-right:24px}}@media (max-width:768px){.menu-toggle{display:block}.nav-links{display:none;flex-direction:column;position:absolute;top:70px;left:0;width:100%;background:var(--cream);border-bottom:1px solid var(--border);padding:24px;gap:20px;box-shadow:var(--shadow)}.nav-links.active{display:flex}nav .nav-cta{display:none}.mobile-cta-bar{display:grid}body{padding-bottom:60px}.float-widgets{bottom:75px;right:16px}.btn-float{width:48px;height:48px;font-size:1.3rem}}@media (max-width:680px){.hero-left{padding:48px 24px}.amenities-grid,.distance-grid,.rooms-grid,.testimonials-grid{grid-template-columns:1fr}.about,.amenities,.contact,.cta-band,.faq-section,.location-section,.rooms,.testimonials{padding:48px 24px}.strip{flex-direction:column;padding:24px;gap:16px;align-items:flex-start}.strip-divider{display:none}.cta-band{grid-template-columns:1fr;gap:24px}.footer-top{grid-template-columns:1fr;gap:32px}footer{padding:40px 24px 20px}.topbar{display:none}.map-container-box{height:320px}}@media (max-width:380px){.hero h1{font-size:2.1rem}.btn-outline,.btn-primary{padding:12px 20px;font-size:.8rem}.hero-actions{flex-direction:column;align-items:stretch;width:100%}.hero-actions a{text-align:center}}

/* --- NEW CUSTOM STYLES & FIXES --- */

/* Pricing Grid */
.pricing { padding: 100px 80px; background: var(--cream); }
.pricing-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; margin-top: 40px; }
.pricing-card { background: #fff; padding: 40px; border-top: 4px solid var(--rust); box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform 0.3s ease; }
.pricing-card:hover { transform: translateY(-5px); }
.pricing-card.secondary { border-top-color: var(--gold); }
.pricing-card h3 { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--deep); margin-bottom: 15px; }
.pricing-card .price { font-size: 2.2rem; font-weight: 700; color: var(--rust); margin-bottom: 25px; }
.pricing-card.secondary .price { color: var(--gold); }
.pricing-card .price span { font-size: 1rem; color: var(--muted); font-weight: 400; }
.pricing-card ul { list-style: none; margin-bottom: 30px; flex-grow: 1; }
.pricing-card ul li { margin-bottom: 12px; color: var(--muted); display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.pricing-card ul li .check { color: var(--gold); font-weight: 700; }
.pricing-cta { margin-top: auto; }
.pricing-cta a { width: 100%; text-align: center; }

/* Rules Grid */
.rules { padding: 100px 80px; background: var(--cream); }
.rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 40px; }

/* Gallery Grid */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: 16px; margin-top: 40px; }
.gallery-item { position: relative; overflow: hidden; border-radius: 8px; cursor: pointer; }
.gallery-item picture, .gallery-item img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.5s ease; display: block; }
.gallery-item:hover img { transform: scale(1.08); }
.gallery-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,18,9,0.9) 0%, rgba(26,18,9,0) 60%); display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; opacity: 0; transition: opacity 0.3s ease; }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-overlay h3 { color: #fff; font-family: 'Playfair Display', serif; font-size: 1.4rem; margin-bottom: 4px; }
.gallery-overlay p { color: var(--gold-light); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; }
.gallery-item.large { grid-column: span 2; grid-row: span 2; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item.wide { grid-column: span 2; }

/* Why Choose Us Grid */
.why-choose-us { padding: 80px; background: #fff; border-bottom: 1px solid var(--border); }
.why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
.why-item { display: flex; align-items: flex-start; gap: 20px; padding: 24px; background: var(--cream); border: 1px solid var(--border); transition: transform 0.3s, box-shadow 0.3s; }
.why-item:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.why-icon { font-size: 2rem; flex-shrink: 0; }
.why-text h4 { font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--deep); margin-bottom: 8px; }
.why-text p { font-size: 0.9rem; color: var(--muted); line-height: 1.6; }

/* Mobile Menu Overlay Fixes */
.nav-links.active { position: fixed; top: 70px; left: 0; width: 100%; height: calc(100vh - 70px); background: rgba(250, 246, 239, 0.98); backdrop-filter: blur(10px); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 30px; padding: 40px; z-index: 99; overflow-y: auto; }
.nav-links.active a { font-size: 1.5rem; }

/* Mobile logo wrap fix */
.nav-logo { white-space: nowrap; }

/* Float widgets fix to avoid overlapping CTA bar */
.float-widgets { z-index: 997; }

/* Remove old grids display if needed */
.rooms-grid { display: none !important; }
.distance-grid { display: none !important; }

/* Global overrides for images to fix fitting */
img { max-width: 100%; height: auto; }
.room-card-img img, .about-imgs img { object-fit: cover; object-position: center; }

/* Responsiveness 1024px */
@media (max-width: 1024px) {
    .pricing, .rules, .why-choose-us { padding: 80px 40px; }
    .gallery-grid { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 200px; }
    .gallery-item.large { grid-column: span 2; grid-row: span 2; }
    .gallery-item.tall { grid-row: span 2; }
    .gallery-item.wide { grid-column: span 1; }
    .rules-grid { gap: 40px; }
}

/* Responsiveness 768px */
@media (max-width: 768px) {
    .pricing, .rules, .why-choose-us { padding: 60px 24px; }
    .pricing-grid { grid-template-columns: 1fr; gap: 30px; }
    .rules-grid { grid-template-columns: 1fr; gap: 40px; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
    .gallery-item.large { grid-column: span 2; grid-row: span 2; }
    .gallery-item.tall { grid-row: span 1; grid-column: span 1; }
    .gallery-item.wide { grid-column: span 2; }
    
    /* Ensure floating buttons are above the mobile cta bar */
    .float-widgets { bottom: 85px !important; right: 16px !important; }
    
    /* FAQ spacing */
    .faq-trigger { font-size: 1rem; padding: 16px; }
    .faq-panel { padding: 0 16px; }
    .faq-item.active .faq-panel { padding: 0 16px 16px 16px; }
    
    /* Reset text wrapping / horizontal scroll */
    html, body { overflow-x: hidden; width: 100%; padding-bottom: 80px; }
    
    .float-widgets { display: none !important; }
}

/* Responsiveness 412px, 390px, 375px, 360px, 320px */
@media (max-width: 480px) {
    .pricing, .rules, .why-choose-us { padding: 40px 16px; }
    .pricing-card { padding: 24px; }
    .pricing-card h3 { font-size: 1.4rem; }
    .pricing-card .price { font-size: 1.8rem; }
    .why-item { flex-direction: column; align-items: center; text-align: center; }
    
    .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 250px; }
    .gallery-item.large { grid-column: span 1; grid-row: span 1; }
    .gallery-item.wide { grid-column: span 1; }
    .gallery-item.tall { grid-column: span 1; grid-row: span 1; }
    
    /* Gallery overlay should be visible on mobile since no hover */
    .gallery-overlay { opacity: 1; background: linear-gradient(to top, rgba(26,18,9,0.9) 0%, rgba(26,18,9,0) 70%); }
}

/* Fix mobile nav toggle animation */
.menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* --- IMAGE & RESPONSIVENESS FIXES --- */

/* Professional image container for building hero */
.hero-img-placeholder {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* Ensure images span fully and don't leave white space */
.hero-img-main {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Fix building exterior gallery item to always span full width */
.gallery-item.wide {
    grid-column: 1 / -1 !important;
}

/* Apply professional container settings to gallery items */
.gallery-item {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Fix Hero Layout on Mobile: Full Width Image On Top, Features Below */
@media (max-width: 1024px) {
    .hero {
        display: flex !important;
        flex-direction: column !important;
    }
    .hero-right {
        order: -1;
        width: 100%;
        height: 380px;
    }
    .hero-left {
        order: 1;
        padding: 48px 24px !important;
    }
}

@media (max-width: 680px) {
    .hero-right {
        height: 320px;
    }
}
.form-group select, .form-group select option { background: #1A1209; color: #ffffff; } .form-group select:focus { border-color: var(--gold); outline: none; }
