/* ============================================
   GLRA Realty — Shared Styles
   Used by every page. Don't put page-specific
   styles here — keep those in each page's <style> block.
   ============================================ */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  --gold:#c8a96e;--gold-dark:#a8894e;--gold-light:rgba(200,169,110,0.12);
  --navy:#0d1b2a;--navy-mid:#1a2d42;
  --gray:#7f8c8d;--gray-light:#f0f2f5;
  --white:#fff;--card-bg:#fff;--border-color:#cfd4da;--text-color:#1a2332;
  --shadow-sm:0 1px 4px rgba(0,0,0,.08), 0 2px 12px rgba(0,0,0,.06);
  --shadow-md:0 4px 14px rgba(0,0,0,.10), 0 8px 30px rgba(0,0,0,.08);
  --shadow-lg:0 8px 24px rgba(0,0,0,.12), 0 20px 50px rgba(0,0,0,.10);
  --transition:all .3s cubic-bezier(.4,0,.2,1);
  --success:#10b981;--danger:#ef4444
}
body.dark-mode{
  --gray-light:#111b27;--white:#0d1b2a;--card-bg:#1a2840;
  --border-color:#2a3f58;--text-color:#e8edf2;--gray:#9baab8
}

html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--text-color);background:var(--white);overflow-x:hidden;transition:background .3s,color .3s}
*{scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
*::-webkit-scrollbar{width:4px}
*::-webkit-scrollbar-thumb{background:var(--gold)}

/* ── NAVBAR (standard inner pages — index has its own) ── */
.navbar{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 5%;background:var(--navy);border-bottom:1px solid rgba(200,169,110,.2);z-index:1000;transition:var(--transition)}
body.dark-mode .navbar{background:#0a1520}
.logo{cursor:pointer;display:flex;align-items:center;flex-shrink:0}
.logo img{height:48px;width:auto;display:block}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{text-decoration:none;color:rgba(255,255,255,.78);font-weight:400;transition:var(--transition);font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.contact-btn-nav{border:1px solid var(--gold);padding:8px 22px;border-radius:2px;color:var(--gold)!important}
.contact-btn-nav:hover{background:var(--gold);color:#fff!important}
.mobile-menu-btn{display:none;font-size:22px;cursor:pointer;color:#fff}

/* ── MOBILE OVERLAY MENU ── */
.mobile-overlay{position:fixed;top:0;left:-100%;width:100%;height:100%;background:var(--navy);z-index:2000;transition:left .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:78px 20px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mobile-overlay.active{left:0}
.mobile-overlay .close-menu{position:fixed;top:20px;right:24px;font-size:26px;color:#fff;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:50%;z-index:2;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s}
.mobile-overlay.active .close-menu,.mobile-overlay.open .close-menu{visibility:visible;opacity:1}
.mobile-overlay-links{display:flex;flex-direction:column;gap:18px;text-align:center;width:100%;max-width:320px;padding:8px 0 24px}
.mobile-overlay-links a{color:#fff;text-decoration:none;font-size:18px;font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:1.5px;transition:var(--transition);padding:6px 0}
.mobile-overlay-links a:hover,.mobile-overlay-links a:active{color:var(--gold)}

/* ── NAV DROPDOWN (More menu) ── */
.nav-dropdown{position:relative}
.nav-dropdown>a,.nav-dropdown>span{cursor:pointer}
.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--white);border:1px solid var(--border-color);min-width:200px;padding:8px 0;display:none;z-index:300;box-shadow:var(--shadow-lg)}
/* Invisible bridge so the menu stays open while moving the mouse down */
.nav-dropdown-menu::before{content:'';position:absolute;bottom:100%;left:0;right:0;height:20px;background:transparent}
body.dark-mode .nav-dropdown-menu{background:#1a2840;border-color:#2a3f58}
.nav-dropdown:hover .nav-dropdown-menu{display:block}
.nav-dropdown-menu a{display:block;padding:10px 20px;font-size:13px;color:var(--text-color)!important;text-decoration:none;transition:var(--transition);border-bottom:1px solid var(--border-color);text-transform:none;letter-spacing:.5px}
.nav-dropdown-menu a:last-child{border-bottom:none}
.nav-dropdown-menu a:hover{color:var(--gold)!important;background:var(--gray-light);padding-left:26px}

/* ── PAGE HERO (top banner on inner pages) ── */
.page-hero{padding:108px 5% 56px;background:var(--navy);text-align:center;border-bottom:1px solid rgba(200,169,110,.15);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center top,rgba(200,169,110,.07) 0%,transparent 65%);pointer-events:none}
.page-hero .eyebrow{font-size:11px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;display:block;margin-bottom:12px}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:46px;color:#fff;font-weight:600;margin-bottom:12px;position:relative}
.page-hero p{color:rgba(255,255,255,.55);font-size:15px;max-width:560px;margin:0 auto;position:relative}

/* ── FLOATING ACTION BUTTONS (call/whatsapp/viber/messenger/instagram/dark mode) ── */
.floating-buttons{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:500}
.floating-buttons .floating-btn{width:46px;height:46px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:var(--shadow-md);transition:var(--transition);cursor:pointer;border:none;font-size:18px;color:#fff}
.floating-buttons .floating-btn:hover{transform:scale(1.08)}
.floating-buttons .btn-call,a.btn-call{background:#10b981 !important;color:#fff !important}
.floating-buttons .btn-whatsapp,a.btn-whatsapp{background:#25d366 !important;color:#fff !important}
.floating-buttons .btn-viber,a.btn-viber{background:#7360f2 !important;color:#fff !important}
.floating-buttons .btn-messenger,a.btn-messenger{background:#0084ff !important;color:#fff !important}
.floating-buttons .btn-instagram,a.btn-instagram{background:linear-gradient(45deg,#f09433,#d62976,#962fbf) !important;color:#fff !important}
.floating-buttons .btn-darkmode{background:var(--navy);color:var(--gold);border:1px solid var(--gold)}
body.dark-mode .floating-buttons .btn-darkmode{background:var(--gold);color:#fff}
.floating-buttons .floating-btn i{display:inline-block;line-height:1}

/* Mobile FAB toggle — JS injects this as the LAST child so it sits at the bottom */
.floating-buttons .fab-toggle{display:none;background:var(--gold);color:#fff;font-size:18px}
.floating-buttons .fab-toggle.is-open{background:var(--navy);color:#fff;transform:rotate(90deg)}
.floating-buttons .floating-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.floating-buttons .floating-btn i{pointer-events:none}
@media(max-width:768px){
  .floating-buttons{bottom:18px;right:18px;gap:8px}
  /* Hidden buttons must NOT take layout space — otherwise they create a dead zone
     above the FAB, and iOS finger-pad calibration causes mid-FAB taps to miss. */
  .floating-buttons > :not(.fab-toggle){display:none}
  .floating-buttons.expanded > :not(.fab-toggle){
    display:flex;
    animation:fabBtnIn .18s ease both;
  }
  .floating-buttons .fab-toggle{display:flex;animation:fabPulse 2.5s ease-in-out 1s 2}
}
@keyframes fabBtnIn{
  from{opacity:0;transform:translateY(10px) scale(.85)}
  to{opacity:1;transform:none}
}
@keyframes fabPulse{
  0%,100%{box-shadow:var(--shadow-md)}
  50%{box-shadow:0 0 0 8px rgba(200,169,110,.3),var(--shadow-md)}
}

/* ── BACK TO TOP ── */
.back-to-top{position:fixed;bottom:24px;left:24px;width:38px;height:38px;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:0;visibility:hidden;transition:var(--transition);z-index:500;font-size:13px}
.back-to-top.show{opacity:1;visibility:visible}

/* ── PAGE LOADER (the GLRA splash) ── */
.loader{position:fixed;inset:0;background:var(--navy);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .4s}
.loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.loader-content{text-align:center}
.loader-logo{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--gold);letter-spacing:8px;margin-bottom:18px}
.loader-bar{width:100px;height:1px;background:rgba(200,169,110,.2);margin:0 auto;position:relative;overflow:hidden}
.loader-bar::after{content:'';position:absolute;left:-50%;width:50%;height:100%;background:var(--gold);animation:glraLoading 1.2s infinite}
@keyframes glraLoading{0%{left:-50%}100%{left:150%}}

/* ── TOAST NOTIFICATIONS ── */
.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:#fff;padding:12px 20px;border:1px solid rgba(200,169,110,.3);z-index:3000;animation:glraToastIn .3s ease;font-size:13px;border-left:3px solid var(--gold)}
.toast.err{border-left-color:#ef4444}
@keyframes glraToastIn{from{transform:translateX(200px);opacity:0}to{transform:translateX(0);opacity:1}}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.4);padding:56px 5% 24px;margin-top:20px}
.footer-content{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:38px;margin-bottom:38px}
.footer-col h4{color:var(--gold);margin-bottom:14px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;transition:var(--transition)}
.footer-col ul li a:hover{color:var(--gold)}
.footer-col p{font-size:13px;line-height:1.9;color:rgba(255,255,255,.4)}
.footer-social{display:flex;gap:10px;margin-top:14px}
.footer-social a{width:34px;height:34px;border:1px solid rgba(200,169,110,.3);display:flex;align-items:center;justify-content:center;transition:var(--transition);color:rgba(255,255,255,.4);font-size:13px}
.footer-social a:hover{border-color:var(--gold);background:var(--gold);color:#fff}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.08);max-width:1100px;margin:0 auto 20px}
.footer-bottom{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,.22);letter-spacing:1px}
.footer-bottom-links{display:flex;gap:20px}
.footer-bottom-links a{font-size:11px;color:rgba(255,255,255,.22);text-decoration:none;transition:var(--transition)}
.footer-bottom-links a:hover{color:var(--gold)}

/* ── CURRENCY SWITCHER WIDGET ── */
.currency-switcher{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 14px;background:rgba(255,255,255,0.07);border:1px solid rgba(200,169,110,0.3);border-radius:2px;font-size:12px;color:rgba(255,255,255,0.7);transition:var(--transition)}
.currency-switcher:hover{border-color:var(--gold)}
.currency-switcher i{color:var(--gold);font-size:13px}
.currency-switcher select{background:transparent;border:none;color:#fff;font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;padding:4px 0;outline:none;font-weight:500;letter-spacing:.5px}
.currency-switcher select option{background:var(--navy);color:#fff}
.currency-rate-note{font-size:10px;color:rgba(255,255,255,0.45);margin-top:6px;letter-spacing:.5px;font-style:italic}

/* ── TRUST BADGES STRIP ── */
.trust-strip{background:var(--gray-light);padding:36px 5%;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}
body.dark-mode .trust-strip{background:#0a1520;border-color:#2a3f58}
.trust-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:center;justify-items:center}
.trust-item{display:flex;align-items:center;gap:12px;padding:8px;width:100%;max-width:220px;justify-content:flex-start}
.trust-item .trust-icon{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--gold-light);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:17px}
.trust-item .trust-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.trust-item .trust-label{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;color:var(--text-color);white-space:nowrap}
.trust-item .trust-sub{font-size:10.5px;color:var(--gray);letter-spacing:.5px;text-transform:uppercase;margin-top:2px}
@media(max-width:1100px){.trust-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .trust-item{justify-content:center;text-align:left;padding:6px}
  .trust-item .trust-label{font-size:15px}
}

/* ── MOBILE RESPONSIVE BASE ── */
@media(max-width:768px){
  .nav-links{display:none}
  .mobile-menu-btn{display:block}
  .logo{position:absolute;left:50%;transform:translateX(-50%)}
  .logo img{height:42px}
  .page-hero h1{font-size:32px}
  footer{margin-top:0}
  .footer-content{text-align:center}
  .footer-social{justify-content:center}
  .footer-bottom{flex-direction:column;text-align:center}
}

/* ── EMAIL-GATED PRINT/DOWNLOAD BUTTON & MODAL (used by all calculators) ── */
.print-button-wrapper{text-align:center;margin:36px auto 28px;max-width:1400px;padding:0 5%}
.print-btn{background:transparent;color:var(--gold);border:1px solid var(--gold);padding:12px 28px;font-weight:500;font-size:13px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:10px;letter-spacing:1.5px;text-transform:uppercase;font-family:'DM Sans',sans-serif}
.print-btn:hover{background:var(--gold);color:#fff}
.glra-print-gate{display:none;position:fixed;inset:0;background:rgba(5,12,22,.88);z-index:3000;align-items:center;justify-content:center}
.glra-print-gate.show{display:flex}
.glra-print-gate-card{background:#fff;max-width:420px;width:90%;padding:38px;position:relative;text-align:center;border:1px solid var(--border-color)}
.glra-print-gate-card>i{font-size:44px;color:var(--gold);margin-bottom:14px;display:block}
.glra-print-gate-card h3{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold);margin-bottom:8px}
.glra-print-gate-card p{font-size:13px;color:#666;margin-bottom:20px;line-height:1.7}
.glra-print-gate-card input{width:100%;padding:14px;border:1px solid var(--border-color);font-size:13px;margin-bottom:14px;font-family:'DM Sans',sans-serif;background:#fff;color:#0d1b2a}
.glra-print-gate-card input:focus{outline:none;border-color:var(--gold)}
.glra-print-gate-submit{width:100%;padding:14px;background:#0d1b2a;color:#fff;border:none;font-weight:500;cursor:pointer;transition:.2s;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-family:'DM Sans',sans-serif}
.glra-print-gate-submit:hover{background:var(--gold)}
.glra-print-gate-submit:disabled{opacity:.7;cursor:not-allowed}
.glra-print-gate-close{position:absolute;top:12px;right:18px;font-size:22px;cursor:pointer;color:#999;background:none;border:none;line-height:1}
.glra-print-gate-fine{font-size:11px;margin-top:15px;color:#888}

/* ── PRINT-ONLY HEADER (branded letterhead when printing) ── */
.print-only-header{display:none}
@media print{
  .navbar,.floating-buttons,.back-to-top,.toast,.disclaimer,.glra-print-gate,.print-button-wrapper,.no-print,footer,.scroll-progress,.gl-cursor,.neighborhoods-marquee{display:none !important}
  body{background:#fff;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-only-header{display:block;text-align:center;margin:0 auto 24px;padding:0 0 18px;border-bottom:2px solid #c8a96e;max-width:100%}
  .print-only-header img{height:60px;width:auto;margin-bottom:10px}
  .print-only-header h1{font-family:'Cormorant Garamond',serif;font-size:22px;color:#0d1b2a;margin-bottom:4px;font-weight:600}
  .print-only-header .print-subtitle{font-size:11px;color:#555;letter-spacing:1px}
  .print-only-header .print-meta{font-size:10px;color:#888;margin-top:6px;letter-spacing:.5px}
  @page{size:A4;margin:1.5cm}
}

/* ============================================
   DRAMATIC PASS V2 SHARED — 2026-05-06
   Applied to all 17 public pages via styles.css.
   Designed to enhance, not replace, page-specific styles.
   Removable: delete this whole block to revert.
   ============================================ */

/* (A) SCROLL PROGRESS BAR — auto-injected by main.js on every page */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--gold) 0%,#f0d9a8 100%);
  z-index:1500;will-change:width;
  box-shadow:0 0 12px rgba(200,169,110,0.6);
  transition:width .08s linear;
}

/* (B) NAVBAR — refined scroll behavior on inner pages */
.navbar{
  transition:padding .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,background .35s !important;
}
.navbar.scrolled{
  padding:10px 5% !important;
  box-shadow:0 4px 30px rgba(13,27,42,0.45) !important;
  border-bottom-color:rgba(200,169,110,0.45) !important;
}
.nav-links > a:not(.contact-btn-nav),.nav-links > .nav-dropdown > a{position:relative}
.nav-links > a:not(.contact-btn-nav)::after,.nav-links > .nav-dropdown > a::after{
  content:'';position:absolute;left:50%;bottom:-6px;width:0;height:1px;background:var(--gold);
  transition:width .35s cubic-bezier(.2,.7,.2,1),left .35s cubic-bezier(.2,.7,.2,1);
}
.nav-links > a:not(.contact-btn-nav):hover::after,.nav-links > .nav-dropdown:hover > a::after{width:100%;left:0}

/* (C) PAGE HERO — bigger, more dramatic, animated entrance */
.page-hero{
  padding:160px 5% 100px !important;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%) !important;
  border-bottom:1px solid rgba(200,169,110,0.25) !important;
  position:relative !important;overflow:hidden !important;
}
.page-hero::before{
  background:
    radial-gradient(ellipse 800px 400px at 50% 0%,rgba(200,169,110,0.18) 0%,transparent 70%),
    radial-gradient(circle 600px at 20% 100%,rgba(200,169,110,0.10) 0%,transparent 60%) !important;
}
.page-hero::after{
  content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:100px;height:1px;background:var(--gold);
}
.page-hero > *{position:relative;z-index:2}
.page-hero .eyebrow{
  font-size:11px !important;color:var(--gold) !important;letter-spacing:5px !important;
  text-transform:uppercase !important;display:block !important;margin-bottom:24px !important;font-weight:500 !important;
  animation:glraSharedFadeUp 1.0s cubic-bezier(.2,.7,.2,1) 0.1s both;
}
.page-hero h1{
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(40px,6vw,80px) !important;color:#fff !important;
  font-weight:500 !important;line-height:1.05 !important;
  letter-spacing:-0.02em !important;margin-bottom:24px !important;
  animation:glraSharedFadeUp 1.1s cubic-bezier(.2,.7,.2,1) 0.3s both;
}
.page-hero p{
  color:rgba(255,255,255,0.72) !important;font-size:17px !important;
  max-width:640px !important;margin:0 auto !important;line-height:1.65 !important;
  animation:glraSharedFadeUp 1.0s cubic-bezier(.2,.7,.2,1) 0.5s both;
}
.page-hero h1 em,.page-hero h1 .accent{color:var(--gold);font-style:italic;font-weight:600}
@media(max-width:768px){
  .page-hero{padding:120px 5% 70px !important}
  .page-hero h1{font-size:clamp(34px,8vw,52px) !important}
  .page-hero p{font-size:15px !important}
}
@keyframes glraSharedFadeUp{0%{opacity:0;transform:translateY(28px)}100%{opacity:1;transform:translateY(0)}}

/* (D) SCROLL REVEAL — auto-applied by main.js */
.gl-reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.gl-reveal.in{opacity:1;transform:none}

/* (E) BUTTON SHIMMER — premium light sweep on hover */
.cta-btn,.print-btn,.broker-btn-primary,.contact-btn-nav,.submit-btn,.search-btn-main,
.view-all-btn,.view-listings-btn{position:relative;overflow:hidden}
.cta-btn::before,.print-btn::before,.broker-btn-primary::before,.contact-btn-nav::before,
.submit-btn::before,.search-btn-main::before,.view-all-btn::before,.view-listings-btn::before{
  content:'';position:absolute;top:0;left:-130%;width:100%;height:100%;pointer-events:none;
  background:linear-gradient(120deg,transparent 0%,transparent 35%,rgba(255,255,255,0.32) 50%,transparent 65%,transparent 100%);
  transition:left .8s cubic-bezier(.2,.7,.2,1);z-index:1;
}
.cta-btn:hover::before,.print-btn:hover::before,.broker-btn-primary:hover::before,
.contact-btn-nav:hover::before,.submit-btn:hover::before,.search-btn-main:hover::before,
.view-all-btn:hover::before,.view-listings-btn:hover::before{left:130%}

/* (F) PROPERTY CARDS — cinematic hover (rendered by main.js) */
.prop-card{
  position:relative;border-radius:0 !important;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s cubic-bezier(.2,.7,.2,1) !important;
}
.prop-card:hover{
  transform:translateY(-10px) !important;
  box-shadow:0 0 0 1px var(--gold),0 40px 80px -25px rgba(200,169,110,0.5),0 18px 36px rgba(13,27,42,0.20) !important;
}
.prop-card-image{position:relative}
.prop-card-image img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1) !important}
.prop-card:hover .prop-card-image img{transform:scale(1.10) !important}
.prop-card-image::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(200,169,110,0) 0%,rgba(200,169,110,0.20) 100%);
  opacity:0;transition:opacity .55s cubic-bezier(.2,.7,.2,1);mix-blend-mode:overlay;
}
.prop-card:hover .prop-card-image::after{opacity:1}

/* (G) BLOG CARDS — same premium treatment */
.blog-card{transition:all .5s cubic-bezier(.2,.7,.2,1) !important;border-radius:0 !important}
.blog-card:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 0 0 1px var(--gold),0 40px 80px -25px rgba(200,169,110,0.40),0 18px 36px rgba(13,27,42,0.18) !important;
  border-color:transparent !important;
}

/* (H) FORMS — refined focus rings, premium feel */
.form-input:focus,.search-field-wrapper input:focus,
input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="number"]:focus,
textarea:focus,select:focus{
  outline:none !important;
  border-color:var(--gold) !important;
  box-shadow:0 0 0 3px rgba(200,169,110,0.12) !important;
}

/* (I) PREMIUM SCROLLBAR */
*::-webkit-scrollbar{width:6px !important;height:6px !important}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold) 0%,var(--gold-dark) 100%) !important;border-radius:3px}
*::-webkit-scrollbar-thumb:hover{background:var(--gold-dark) !important}

/* (J) FLOATING BUTTONS — refined hover */
.floating-buttons .floating-btn{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s !important}
.floating-buttons .floating-btn:hover{transform:translateY(-3px) scale(1.06) !important;box-shadow:0 12px 28px rgba(0,0,0,0.30) !important}

/* (K) BACK-TO-TOP refined */
.back-to-top{transition:all .3s cubic-bezier(.2,.7,.2,1) !important}
.back-to-top.show:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(200,169,110,0.45)}

/* (L) TOAST — premium glass */
.toast{
  border-radius:0 !important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  background:rgba(13,27,42,0.92) !important;
  box-shadow:0 12px 40px rgba(0,0,0,0.4) !important;
}

/* (M) LOADER — gentle breathing animation */
.loader-logo{font-size:42px !important;letter-spacing:14px !important;animation:glraLogoBreathe 2s ease-in-out infinite alternate}
@keyframes glraLogoBreathe{0%{opacity:0.55}100%{opacity:1}}

/* (N) FOOTER — refined */
footer{padding:80px 5% 30px !important}
.footer-col h4{font-weight:600 !important;letter-spacing:3px !important}
.footer-col ul li a{transition:all .3s cubic-bezier(.2,.7,.2,1) !important;display:inline-block}
.footer-col ul li a:hover{color:var(--gold) !important;transform:translateX(4px)}
.footer-social a{transition:all .3s cubic-bezier(.2,.7,.2,1) !important}
.footer-social a:hover{transform:translateY(-3px)}

/* (O) PRINT/MODAL GATE — premium polish */
.glra-print-gate-card{box-shadow:0 30px 80px rgba(0,0,0,0.4),0 0 0 1px rgba(200,169,110,0.15) inset !important}

/* (P) CURSOR FOLLOWER — REMOVED per user request */
.gl-cursor{display:none !important}

/* (Q) MAGNETIC BUTTONS — flag class added by main.js */
.gl-magnetic{transition:transform .25s cubic-bezier(.2,.7,.2,1)}

/* (R) SECTION HEADER REFINEMENT (used on inner pages) */
.section-header h2 .accent,.section-header h2 em{color:var(--gold);font-style:italic;font-weight:600}

/* (S) RESPECT REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  .gl-reveal,.page-hero .eyebrow,.page-hero h1,.page-hero p{
    opacity:1 !important;transform:none !important;animation:none !important;transition:none !important;
  }
  .gl-cursor{display:none !important}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
/* ===== END DRAMATIC PASS V2 SHARED ===== */

/* ============================================
   USABILITY PASS V3 — 2026-05-06
   Stunning is good — usable is better. This block
   adds a11y, perceived-performance, and orientation
   features. Removable: delete to revert.
   ============================================ */

/* (V3-A) SKIP TO CONTENT — invisible until keyboard-focused */
.skip-to-content{
  position:fixed;top:-100px;left:8px;
  background:var(--gold);color:#fff;
  padding:14px 22px;z-index:9999;
  font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;
  text-decoration:none;border-radius:0;
  transition:top .25s cubic-bezier(.2,.7,.2,1);
  font-family:'DM Sans',sans-serif;
  box-shadow:0 8px 24px rgba(0,0,0,0.3);
}
.skip-to-content:focus{top:8px;outline:2px solid #fff;outline-offset:2px}

/* (V3-B) ACTIVE NAV STATE — current page highlighted */
.nav-links > a.gl-active:not(.contact-btn-nav),
.nav-links > .nav-dropdown.gl-active > a{
  color:var(--gold) !important;
}
.nav-links > a.gl-active:not(.contact-btn-nav)::after,
.nav-links > .nav-dropdown.gl-active > a::after{
  width:100% !important;left:0 !important;
}
.mobile-overlay-links a.gl-active{color:var(--gold) !important}
/* Inner pages: nav-dropdown menu items can also flag active */
.nav-dropdown-menu a.gl-active{color:var(--gold) !important;background:rgba(200,169,110,0.05)}

/* (V3-C) SKELETON LOADERS — show while properties load */
.prop-card-skeleton{
  background:var(--card-bg);
  border:1px solid var(--border-color);
  height:380px;position:relative;overflow:hidden;
  border-radius:0;
}
.prop-card-skeleton::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(200,169,110,0.10) 50%,transparent 100%);
  animation:glraSkeleton 1.6s cubic-bezier(.2,.7,.2,1) infinite;
}
.prop-card-skeleton::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:120px;
  background:linear-gradient(180deg,transparent 0%,var(--card-bg) 100%);
}
@keyframes glraSkeleton{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* (V3-D) FOCUS-VISIBLE — only show outline when keyboard navigating */
*:focus{outline:none}
body.gl-keyboard *:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}
body.gl-keyboard a:focus-visible,
body.gl-keyboard button:focus-visible{
  outline-offset:4px;
}
/* Skip link override — always visible focus ring */
.skip-to-content:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* (V3-E) PAGE TRANSITION FADE */
body{transition:opacity .25s ease-out}
body.gl-leaving{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){
  body{transition:none}
  body.gl-leaving{opacity:1}
}

/* (V3-F) ANCHOR SCROLL OFFSET — anchor links don't hide under navbar */
section[id],div[id]:not(.search-float):not(.swiper-wrapper){scroll-margin-top:90px}
:target{scroll-margin-top:90px}

/* (V3-G) MOBILE TAP TARGETS — 44×44 minimum */
@media(max-width:768px){
  .nav-links a,.mobile-overlay-links a,.footer-col ul li a{min-height:44px;display:inline-flex;align-items:center}
  .floating-buttons .floating-btn,.btn-call,.btn-whatsapp,.btn-viber,.btn-messenger,.btn-instagram{min-width:48px;min-height:48px}
  .card-action-btn{min-width:40px;min-height:40px}
  .pagination-btn,.filter-pill,.tag-chip{min-height:40px}
}

/* (V3-H) IMAGE BLUR-UP — soft fade-in for lazy-loaded images */
img.lazy{filter:blur(20px);transition:filter .6s cubic-bezier(.2,.7,.2,1),opacity .6s}
img:not(.lazy){filter:none}

/* (V3-I) DARK MODE TRANSITION smoother (avoid flicker) */
body,body *{transition:background-color .35s ease,color .35s ease,border-color .35s ease}
/* Don't transition transforms on body change */
.swiper-slide,.swiper-wrapper,.gl-cursor,.scroll-progress,
.prop-card,.blog-card,.resource-card,
.cta-btn,.submit-btn,.search-btn-main,.print-btn,.broker-btn-primary{
  transition-property:transform,opacity,box-shadow,background-color,color,border-color !important;
}

/* (V3-J) IMPROVED SCROLL HINT VISIBILITY ON LOADER */
.loader.hide{pointer-events:none}
/* ===== END USABILITY PASS V3 ===== */
