/* LIV VUE — Modern Premium Overlay | Font: Montserrat only */
:root {
  --radius-card: 22px;
  --radius-btn: 50px;
  --radius-badge: 50px;
  --radius-input: 12px;
  --shadow-card: 0 8px 32px rgba(20,35,52,0.08), 0 2px 8px rgba(20,35,52,0.04);
  --shadow-card-hover: 0 24px 64px rgba(20,35,52,0.16), 0 8px 24px rgba(20,35,52,0.08);
  --transition-smooth: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
*, *::before, *::after, h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,span,div,label {
  font-family: 'Montserrat', sans-serif !important;
}
body { background: linear-gradient(160deg, #f9f6ee 0%, #f4f0e8 100%); }
nav {
  background: rgba(20,35,52,0.96) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(201,173,152,0.08);
  height: 76px !important;
}
.nav-btn { border-radius: var(--radius-btn) !important; padding: 0.6rem 1.6rem !important; box-shadow: 0 2px 12px rgba(201,173,152,0.3); transition: var(--transition-smooth) !important; }
.nav-btn:hover { box-shadow: 0 4px 20px rgba(201,173,152,0.5); transform: translateY(-1px); }
.prop-card { border-radius: var(--radius-card) !important; border: none !important; box-shadow: var(--shadow-card) !important; transition: transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.45s cubic-bezier(0.25,0.46,0.45,0.94) !important; overflow: hidden !important; background: #ffffff !important; }
.prop-card:hover { transform: translateY(-10px) scale(1.01) !important; box-shadow: var(--shadow-card-hover) !important; }
.card-img { height: 245px !important; border-radius: var(--radius-card) var(--radius-card) 0 0 !important; overflow: hidden !important; }
.card-img img { transition: transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94) !important; }
.prop-card:hover .card-img img { transform: scale(1.08) !important; }
.card-img::after { content:''; position:absolute; bottom:0; left:0; right:0; height:55%; background:linear-gradient(to top, rgba(20,35,52,0.35) 0%, transparent 100%); pointer-events:none; z-index:1; }
.badge { border-radius: var(--radius-badge) !important; font-size:0.55rem !important; padding:0.3rem 0.75rem !important; z-index:2; position:relative; }
.b-avail { background: rgba(201,173,152,0.92) !important; box-shadow: 0 2px 8px rgba(201,173,152,0.3); }
.b-feat  { background: rgba(20,35,52,0.88) !important; backdrop-filter: blur(8px); }
.b-new   { background: rgba(45,106,79,0.9) !important; }
.card-fav { border-radius:50% !important; width:36px !important; height:36px !important; background:rgba(255,255,255,0.92) !important; box-shadow:0 2px 12px rgba(20,35,52,0.12); transition:var(--transition-smooth) !important; }
.card-fav:hover { transform:scale(1.12); background:#fff !important; }
.card-body { padding:1.4rem 1.6rem 1.6rem !important; }
.card-price { font-size:1.3rem !important; font-weight:500 !important; letter-spacing:-0.01em; }
.book-btn { border-radius:var(--radius-btn) !important; padding:0.38rem 1rem !important; font-size:0.58rem !important; transition:var(--transition-smooth) !important; border:1.5px solid rgba(201,173,152,0.5) !important; }
.book-btn:hover { background:var(--navy) !important; color:#fff !important; border-color:var(--navy) !important; transform:translateY(-1px); box-shadow:0 4px 16px rgba(20,35,52,0.2); }
.btn-primary { border-radius:var(--radius-btn) !important; box-shadow:0 4px 20px rgba(201,173,152,0.35); transition:var(--transition-smooth) !important; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(201,173,152,0.5) !important; }
.btn-ghost { border-radius:var(--radius-btn) !important; transition:var(--transition-smooth) !important; }
.btn-ghost:hover { transform:translateY(-2px); }
.link-all { border-radius:var(--radius-btn) !important; border:1.5px solid rgba(201,173,152,0.4) !important; padding:0.45rem 1.2rem !important; transition:var(--transition-smooth) !important; }
.link-all:hover { background:var(--navy); color:var(--dust) !important; border-color:var(--navy) !important; transform:translateY(-1px); }
.form-group input,.form-group select,.form-group textarea { border-radius:var(--radius-input) !important; border:1.5px solid rgba(20,35,52,0.1) !important; background:rgba(255,255,255,0.7) !important; transition:var(--transition-smooth) !important; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--dust) !important; box-shadow:0 0 0 3px rgba(201,173,152,0.12); background:#fff !important; }
.soc { border-radius:50% !important; transition:var(--transition-smooth) !important; }
.soc:hover { transform:translateY(-2px); border-color:var(--dust) !important; }
.wa-float { border-radius:50% !important; box-shadow:0 4px 24px rgba(37,211,102,0.5) !important; transition:var(--transition-smooth) !important; width:56px !important; height:56px !important; }
.wa-float:hover { transform:scale(1.12) !important; box-shadow:0 8px 32px rgba(37,211,102,0.6) !important; }
.stab { border-radius:var(--radius-btn) !important; transition:var(--transition-smooth) !important; margin:0 0.25rem !important; }
.stab.active { background:var(--navy) !important; color:var(--dust) !important; border-bottom-color:transparent !important; box-shadow:0 4px 16px rgba(20,35,52,0.2); }
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.65s cubic-bezier(0.25,0.46,0.45,0.94), transform 0.65s cubic-bezier(0.25,0.46,0.45,0.94); }
.reveal.visible { opacity:1; transform:translateY(0); }
#gal-main,.gal-main { border-radius:var(--radius-card) !important; overflow:hidden; }
@keyframes pageFadeIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
body > section:first-of-type { animation:pageFadeIn 0.6s ease both; }
@media(max-width:900px){ .prop-card{border-radius:18px !important} section{padding-left:1.25rem !important;padding-right:1.25rem !important} }
@media(max-width:600px){ .prop-card{border-radius:16px !important} .card-img{height:200px !important;border-radius:16px 16px 0 0 !important} }