*{box-sizing:border-box;margin:0;padding:0}
:root{
 --bg:#eef0f3; --bg2:#f7f8fa; --card:#ffffff; --line:#dfe3e8;
 --text:#1a1d22; --muted:#5b6471; --gold:#b18a3d; --gold2:#caa358;
 --accent:#b89358;
}
html,body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.serif{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:.5px}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
section{padding:96px 0;position:relative}
h2.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,58px);font-weight:500;letter-spacing:1px;margin-bottom:8px;line-height:1.1}
.s-eyebrow{color:var(--gold);font-size:12px;letter-spacing:4px;text-transform:uppercase;margin-bottom:14px;font-weight:500}
.s-sub{color:var(--muted);max-width:640px;margin-bottom:50px}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;transition:all .4s;backdrop-filter:blur(0)}
.nav.scrolled{background:rgba(11,13,16,.85);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding:12px 28px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:38px;width:auto;filter:brightness(1.1)}
.brand span{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:3px}
.menu-btn{background:transparent;border:1px solid var(--line);width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:all .3s;color:#fff}
.menu-btn:hover{border-color:var(--gold);background:rgba(201,162,76,.08)}
.menu-btn span{display:block;width:18px;height:1.5px;background:#fff;transition:.3s}

/* PANEL */
.panel{position:fixed;top:0;right:0;height:100vh;width:min(420px,90vw);background:#0d1014;z-index:100;transform:translateX(100%);transition:transform .55s cubic-bezier(.77,0,.18,1);padding:90px 50px;display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--line)}
.panel.open{transform:translateX(0)}
.panel a{font-family:'Cormorant Garamond',serif;font-size:30px;color:#fff;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);transition:.3s;position:relative;opacity:0;transform:translateX(20px)}
.panel.open a{opacity:1;transform:translateX(0)}
.panel a:nth-child(1){transition:all .5s .15s}
.panel a:nth-child(2){transition:all .5s .22s}
.panel a:nth-child(3){transition:all .5s .29s}
.panel a:nth-child(4){transition:all .5s .36s}
.panel a:nth-child(5){transition:all .5s .43s}
.panel a:nth-child(6){transition:all .5s .50s}
.panel a:nth-child(7){transition:all .5s .57s}
.panel a:nth-child(8){transition:all .5s .64s}
.panel a:hover{color:var(--gold);padding-left:14px}
.panel-foot{margin-top:auto;color:var(--muted);font-size:13px;letter-spacing:1px}
.panel-close{position:absolute;top:24px;right:24px;background:transparent;border:0;color:#fff;font-size:22px;cursor:pointer;width:44px;height:44px;border:1px solid var(--line);border-radius:50%}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99;opacity:0;pointer-events:none;transition:.4s;backdrop-filter:blur(4px)}
.backdrop.open{opacity:1;pointer-events:all}

/* HERO */
.hero{height:100vh;height:100dvh;min-height:640px;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:0}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,16,.45) 0%, rgba(11,13,16,.4) 40%, rgba(11,13,16,.9) 100%)}
.hero-inner{position:relative;z-index:2;max-width:900px;padding:0 28px}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,8vw,108px);line-height:.95;font-weight:500;letter-spacing:1px;margin-bottom:22px}
.hero h1 .gold{color:var(--gold);font-style:italic}
.hero p.lead{font-size:clamp(15px,1.6vw,19px);max-width:560px;color:#d6dbe2;margin-bottom:36px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{padding:15px 30px;border-radius:2px;font-weight:500;font-size:13px;letter-spacing:2.2px;text-transform:uppercase;cursor:pointer;transition:.35s;border:1px solid transparent;font-family:inherit;display:inline-flex;align-items:center;gap:10px}
.btn-primary{background:var(--gold);color:#0b0d10;border-color:var(--gold)}
.btn-primary:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(201,162,76,.5)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.hero-meta{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:space-between;padding:0 28px;z-index:2;color:var(--muted);font-size:12px;letter-spacing:3px;text-transform:uppercase}

/* UNITS */
.units{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:32px}
.unit{background:var(--card);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:.5s}
.unit:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 30px 60px -25px rgba(0,0,0,.7)}
.unit-media{position:relative;height:260px;overflow:hidden}
.unit-slider{display:flex;width:400%;height:100%;transition:transform .8s cubic-bezier(.77,0,.18,1)}
.unit-slider img{width:25%;height:100%;object-fit:cover;flex-shrink:0}
.unit-tag{position:absolute;top:14px;left:14px;background:rgba(11,13,16,.7);backdrop-filter:blur(8px);padding:7px 14px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,162,76,.4)}
.unit-body{padding:28px;display:flex;flex-direction:column;gap:16px;flex:1}
.unit-body h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500}
.unit-desc{color:var(--muted);font-size:14px;min-height:42px}
.unit-spec{display:flex;gap:18px;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.unit-spec li{flex:1;text-align:center}
.unit-spec b{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold)}
.unit-spec span{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.unit-price{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.unit-price div{text-align:center;padding:10px 4px;background:rgba(255,255,255,.02);border:1px solid var(--line)}
.unit-price span{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}
.unit-price b{font-size:18px;font-weight:600;color:#fff}
.unit-actions{display:flex;gap:10px;margin-top:auto}
.unit-actions .btn{flex:1;padding:13px 14px;font-size:11px;letter-spacing:1.6px}

/* AMENITIES */
.amen-wrap{background:var(--bg2);border:1px solid var(--line);padding:36px;border-radius:4px}
.amen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.amen{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.02);border:1px solid var(--line);transition:.3s;border-radius:2px}
.amen:hover{background:rgba(201,162,76,.08);border-color:var(--gold);transform:translateY(-2px)}
.amen-i{font-size:20px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:rgba(201,162,76,.12);border-radius:50%;flex-shrink:0}
.amen span:last-child{font-size:13px}

/* GALLERY */
.gal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.gal-tab{padding:9px 18px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:.3s;font-family:inherit}
.gal-tab.active,.gal-tab:hover{border-color:var(--gold);color:var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;grid-auto-rows:240px;grid-auto-flow:dense}
.g-item{position:relative;overflow:hidden;cursor:pointer;background:#000}
.g-item:nth-child(7n+1){grid-row:span 2}
.g-item:nth-child(11n+3){grid-column:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;transition:1s cubic-bezier(.2,.6,.2,1)}
.g-item:hover img{transform:scale(1.08)}
.g-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);color:#fff;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;opacity:0;transition:.4s}
.g-item:hover figcaption{opacity:1}
.g-item.hidden{display:none}

/* ENV split */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.split-media{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:520px}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-media img:first-child{grid-row:span 2}

/* FORM / BOOKING */
.booking{background:var(--card);border:1px solid var(--line);padding:44px;border-radius:4px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.field label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;background:#0c0f14;border:1px solid var(--line);color:#fff;font-family:inherit;font-size:14px;transition:.25s;border-radius:2px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#0d1116}
.field textarea{min-height:110px;resize:vertical}
.calc{margin-top:24px;padding:24px;background:rgba(201,162,76,.06);border:1px solid rgba(201,162,76,.25);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.calc h4{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;letter-spacing:1px}
.calc .total{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--gold)}
.full{grid-column:1/-1}
.note{font-size:12px;color:var(--muted);margin-top:14px}

/* MODAL */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.modal.open{display:flex;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-box{background:#0e1116;border:1px solid var(--line);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;padding:40px;position:relative;border-radius:6px;animation:slideUp .4s cubic-bezier(.77,0,.18,1)}
@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-close{position:absolute;top:14px;right:14px;background:transparent;border:1px solid var(--line);width:38px;height:38px;border-radius:50%;color:#fff;cursor:pointer}
.modal h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500;margin-bottom:6px}
.modal p.sub{color:var(--muted);margin-bottom:24px;font-size:14px}

/* PAY METHODS */
.pay-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:18px}
.pay-method{padding:18px 12px;background:#0c0f14;border:1px solid var(--line);cursor:pointer;text-align:center;transition:.3s;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#cdd3dc;border-radius:3px}
.pay-method:hover,.pay-method.active{border-color:var(--gold);color:var(--gold);background:rgba(201,162,76,.06)}
.pay-method-i{font-size:24px;margin-bottom:6px;display:block}
.pay-panel{margin-top:24px;padding:24px;background:#0c0f14;border:1px solid var(--line);display:none;border-radius:3px}
.pay-panel.open{display:block;animation:fadeIn .35s}
.qr-card{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.qr-card img{width:170px;height:170px;background:#fff;padding:10px;border-radius:4px}
.qr-info{flex:1;min-width:240px}
.qr-info b{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.addr{display:flex;gap:8px;align-items:center;padding:12px;background:#11151b;border:1px solid var(--line);word-break:break-all;font-family:'JetBrains Mono',monospace;font-size:12px}
.copy{background:var(--gold);border:0;padding:6px 12px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#0b0d10;cursor:pointer;flex-shrink:0;border-radius:2px}
.warn{margin-top:16px;padding:14px;background:rgba(201,80,80,.08);border:1px solid rgba(201,80,80,.3);color:#f0a8a8;font-size:12px;border-radius:3px}
.network-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.network-tabs button{flex:1;padding:10px 8px;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;font-family:inherit;border-radius:2px}
.network-tabs button.active{border-color:var(--gold);color:var(--gold);background:rgba(201,162,76,.06)}

/* CONTACT */
.contact{background:linear-gradient(180deg,var(--bg2),var(--bg));}
.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:50px 0 30px;text-align:center;color:var(--muted);font-size:13px}
footer .brand{justify-content:center;margin-bottom:18px}
footer a:hover{color:var(--gold)}

/* Reveal anim base (in case JS fails, content shows) */
.reveal{opacity:1}

/* Toast */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(80px);background:#0e1116;border:1px solid var(--gold);color:#fff;padding:16px 28px;z-index:300;border-radius:4px;font-size:14px;transition:.5s cubic-bezier(.77,0,.18,1);opacity:0}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* Floorplan */
.fp{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:var(--bg2);padding:40px;border:1px solid var(--line)}
.fp img{background:#fff;padding:24px}

@media (max-width:860px){
  section{padding:64px 0}
  .split,.contact-box,.fp{grid-template-columns:1fr;gap:30px}
  .split-media{height:380px}
  .booking{padding:28px 22px}
  .nav{padding:14px 18px}
  .panel{padding:80px 36px}
  .panel a{font-size:24px}
  .hero-meta{flex-direction:column;gap:6px;text-align:center;align-items:center;font-size:10px;bottom:20px}
  .container{padding:0 18px}
  .unit-actions{flex-direction:column}
  .unit-price b{font-size:15px}
  .amen-wrap{padding:22px}
}
@media (max-width:480px){
  .hero{min-height:560px}
  .pay-methods{grid-template-columns:1fr 1fr}
  .qr-card{flex-direction:column;text-align:center}
}

/* === Input overflow fixes (iOS date) === */
.form-grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.field{min-width:0}
.field input,.field select,.field textarea{max-width:100%;min-width:0;-webkit-appearance:none;appearance:none}
.field input[type="date"]{min-height:48px;line-height:1.2;font-variant-numeric:tabular-nums}
@media (max-width:480px){
  .form-grid{grid-template-columns:1fr;gap:14px}
  .booking{padding:22px 16px}
  .field input,.field select,.field textarea{font-size:16px;padding:12px 14px}
}

/* === Desktop / laptop form layout fix — applies only above 1024px.
   Mobile and tablet layouts (<=1024px) are intentionally left unchanged. === */
@media (min-width:1025px){
  .form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .form-grid .field{min-width:0;box-sizing:border-box}
  .form-grid .field label{display:block;white-space:normal;word-break:normal}
  .form-grid .field input,
  .form-grid .field select,
  .form-grid .field textarea{box-sizing:border-box;width:100%;max-width:100%}
  .form-grid .field.full{grid-column:1/-1}
}

/* === Amenities preview / modal === */
.amen-preview .amen{display:flex}
.amen-grid.collapsed .amen:nth-child(n+9){display:none}
.amen-view-btn{margin:22px auto 0;display:block}
.amen-modal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-height:65vh;overflow:auto;padding-right:6px}
.amen-modal-list::-webkit-scrollbar{width:6px}
.amen-modal-list::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}

/* === Lightbox === */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:400;display:none;align-items:center;justify-content:center;backdrop-filter:blur(14px);touch-action:pan-y}
.lightbox.open{display:flex}
.lb-img{max-width:94vw;max-height:88vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6);user-select:none;-webkit-user-drag:none}
.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;z-index:2}
.lb-btn:hover{background:rgba(201,162,76,.25);border-color:var(--gold)}
.lb-prev{left:18px}.lb-next{right:18px}
.lb-close{top:18px;right:18px;left:auto;transform:none;width:46px;height:46px;font-size:20px}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:12px;letter-spacing:3px;text-transform:uppercase;background:rgba(0,0,0,.4);padding:6px 14px;border-radius:30px}
@media (max-width:600px){.lb-btn{width:44px;height:44px;font-size:20px}.lb-prev{left:6px}.lb-next{right:6px}}

/* === hCaptcha wrap === */
.captcha-wrap{margin-top:20px;display:flex;justify-content:center}

/* === Real condo info / details === */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:34px}
.fact{padding:22px;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:3px}
.fact b{display:block;font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--gold);margin-bottom:4px}
.fact span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}

html,body{max-width:100%;overflow-x:hidden}
h1,h2,h3,h4,p,a,span,li,label,button{overflow-wrap:break-word;word-wrap:break-word}
.s-title,.hero-title{overflow-wrap:break-word;hyphens:auto}
@media(max-width:520px){
  .s-title{font-size:clamp(28px,8vw,42px) !important}
  .hero-title{font-size:clamp(34px,10vw,56px) !important}
  .modal-box{padding:28px 18px}
  .container{padding-left:18px;padding-right:18px}
}
/* Turnstile + upload (added — no design changes elsewhere) */
.cf-turnstile{margin-top:18px;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:65px;overflow:hidden}
.cf-turnstile iframe{max-width:100%}
@media (max-width:360px){.cf-turnstile{justify-content:flex-start}}
.upload-zone{margin-top:18px;border:1.5px dashed rgba(201,162,76,.55);background:#0c0f14;padding:30px 22px;border-radius:6px;text-align:center;cursor:pointer;transition:.25s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px}
.upload-zone:hover{border-color:var(--gold);background:rgba(201,162,76,.05)}
.upload-zone input{display:none}
.upload-zone .uz-icon{font-size:26px;line-height:1;margin-bottom:4px;color:var(--gold);display:block}
.upload-zone .uz-label{font-size:13px;letter-spacing:2.2px;text-transform:uppercase;color:var(--text);font-weight:500;display:block}
.upload-zone .uz-hint{display:block;margin-top:2px;font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:none}
.upload-preview{margin-top:14px;display:none;flex-direction:column;align-items:center;gap:10px}
.upload-preview img{max-width:100%;max-height:240px;border-radius:4px;border:1px solid var(--line)}
.upload-progress{height:4px;background:#1a1d22;border-radius:2px;overflow:hidden;margin-top:10px;display:none}
.upload-progress > span{display:block;height:100%;width:0;background:var(--gold);transition:width .25s}
.upload-status{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:8px;text-align:center;min-height:14px}


/* ============ LIGHT LUXURY THEME OVERRIDES ============ */
/* Nav + side panel */
.nav.scrolled{background:rgba(247,248,250,.88) !important;border-bottom:1px solid var(--line)}
.menu-btn{color:var(--text) !important;border-color:var(--line)}
.menu-btn span{background:var(--text) !important}
.menu-btn:hover{background:rgba(177,138,61,.08)}
.panel{background:#ffffff !important;border-left:1px solid var(--line)}
.panel a{color:var(--text) !important;border-bottom:1px solid rgba(0,0,0,.06)}
.panel a:hover{color:var(--gold) !important}
.panel-close{color:var(--text) !important;border-color:var(--line)}
.backdrop{background:rgba(20,24,30,.35)}

/* Buttons */
.btn-primary{color:#ffffff !important}
.btn-primary:hover{box-shadow:0 12px 30px -10px rgba(177,138,61,.45)}
.btn-ghost{color:var(--text) !important;border-color:rgba(0,0,0,.22) !important}
.btn-ghost:hover{color:var(--gold) !important;border-color:var(--gold) !important}

/* Units */
.unit{box-shadow:0 1px 2px rgba(20,24,30,.04)}
.unit:hover{box-shadow:0 30px 60px -25px rgba(20,24,30,.18)}
.unit-tag{background:rgba(255,255,255,.92) !important;color:var(--gold);border:1px solid rgba(177,138,61,.35)}
.unit-price div{background:rgba(20,24,30,.03) !important}
.unit-price b{color:var(--text) !important}

/* Amenities + facts */
.amen{background:rgba(20,24,30,.025) !important}
.amen:hover{background:rgba(177,138,61,.08)}
.amen-i{background:rgba(177,138,61,.14)}
.fact{background:rgba(20,24,30,.025) !important}

/* Gallery tabs */
.gal-tab{color:var(--muted)}
.gal-tab.active,.gal-tab:hover{color:var(--gold);border-color:var(--gold)}

/* Forms */
.booking{box-shadow:0 1px 2px rgba(20,24,30,.04)}
.field input,.field select,.field textarea{background:#f4f6f8 !important;color:var(--text) !important;border-color:var(--line)}
.field input:focus,.field select:focus,.field textarea:focus{background:#ffffff !important;border-color:var(--gold) !important}
.field input::placeholder,.field textarea::placeholder{color:#9aa3b2}

/* Modals */
.modal{background:rgba(20,24,30,.55)}
.modal-box{background:#ffffff !important;color:var(--text);box-shadow:0 30px 80px rgba(20,24,30,.25)}
.modal-close{color:var(--text) !important;border-color:var(--line)}

/* Payment */
.pay-method{background:#f4f6f8 !important;color:var(--text) !important}
.pay-method:hover,.pay-method.active{color:var(--gold) !important;background:rgba(177,138,61,.08) !important}
.pay-panel{background:#f4f6f8 !important}
.addr,.qr-card>div>div[style*="background:#0c0f14"]{background:#ffffff !important;border:1px solid var(--line) !important}
#cryptoAddr{color:var(--text) !important}
.copy{color:#ffffff !important}
.warn{background:rgba(201,80,80,.08);color:#a14040}
.network-tabs button{color:var(--muted)}
.network-tabs button.active{color:var(--gold);background:rgba(177,138,61,.08)}

/* Upload */
.upload-zone{background:#f4f6f8 !important;border:1px dashed rgba(177,138,61,.5)}
.upload-zone:hover{background:rgba(177,138,61,.06) !important}
.upload-progress{background:#e4e7eb !important}

/* Toast */
.toast{background:#ffffff !important;color:var(--text) !important;box-shadow:0 12px 40px rgba(20,24,30,.18)}

/* Contact gradient */
.contact{background:linear-gradient(180deg,var(--bg2),var(--bg)) !important}

/* Hero overlay — keep dark glass over hero image so hero text stays readable */
/* (no change to .hero-bg::after, .hero h1, .hero p.lead, .hero-meta) */

/* Inline-style patches for elements using inline dark backgrounds */
[style*="background:#0c0f14"]{background:#f4f6f8 !important}
[style*="background:#0b0d10"]{background:var(--bg) !important}
[style*="background:#0e1116"]{background:#ffffff !important}
[style*="background:#11151b"]{background:#ffffff !important}

/* Lightbox stays dark — it's an image viewer overlay (intentional) */
/* === Room gallery: "View Gallery" button + per-room photo gallery (added, self-contained) === */
.unit-gallery-btn{width:100%;justify-content:center;padding:12px 14px;font-size:11px;letter-spacing:1.6px}
.rg-overlay{position:fixed;inset:0;z-index:500;display:none;background:rgba(8,9,11,.97);backdrop-filter:blur(10px);flex-direction:column}
.rg-overlay.open{display:flex}
.rg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.rg-title{font-family:'Cormorant Garamond',serif;font-size:24px;color:#fff;font-weight:500;line-height:1.1}
.rg-title span{display:block;font-family:inherit;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-top:4px}
.rg-close{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:20px;cursor:pointer;flex-shrink:0;transition:.25s;display:flex;align-items:center;justify-content:center}
.rg-close:hover{background:rgba(201,162,76,.25);border-color:var(--gold)}
.rg-grid{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 22px 44px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;grid-auto-rows:180px}
.rg-grid img{width:100%;height:100%;object-fit:cover;border-radius:3px;cursor:pointer;background:#15171b;transition:transform .35s ease,opacity .35s ease;opacity:0}
.rg-grid img.in{opacity:1}
.rg-grid img:hover{transform:scale(1.03)}
@media (min-width:1025px){.rg-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:200px}}
.rg-view{position:fixed;inset:0;z-index:520;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.95);touch-action:pan-y}
.rg-view.open{display:flex}
.rg-view img{max-width:94vw;max-height:88vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6);user-select:none;-webkit-user-drag:none}
.rg-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;z-index:2}
.rg-nav:hover{background:rgba(201,162,76,.25);border-color:var(--gold)}
.rg-prev{left:18px}.rg-next{right:18px}
.rg-vclose{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:20px;cursor:pointer;z-index:2;transition:.25s;display:flex;align-items:center;justify-content:center}
.rg-vclose:hover{background:rgba(201,162,76,.25);border-color:var(--gold)}
.rg-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:12px;letter-spacing:3px;text-transform:uppercase;background:rgba(0,0,0,.4);padding:6px 14px;border-radius:30px}
@media (max-width:600px){.rg-nav{width:44px;height:44px;font-size:20px}.rg-prev{left:6px}.rg-next{right:6px}.rg-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:130px}.rg-title{font-size:20px}}
