/* ── Atharva Realties v2 — Shared Styles ─────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#080808;color:#fff;font-family:'Outfit',sans-serif;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif}

/* Tulsi Heritage Font - Lucida Bright with Garamond fallback */
.tulsi-font{font-family:'Lucida Bright','Lucida Grande','Lucida',Garamond,serif !important;font-weight:600;letter-spacing:.03em}

/* Reveal */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .75s ease,transform .75s ease}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .75s ease,transform .75s ease}
.reveal-right.visible{opacity:1;transform:none}

/* Gradient text */
.gold-text{background:linear-gradient(135deg,#E8C96A 0%,#C9A84C 50%,#A07830 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Glass */
.glass{background:rgba(255,255,255,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08)}
.glass-gold{background:rgba(201,168,76,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(201,168,76,.2)}
.glass-dark{background:rgba(0,0,0,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06)}

/* Buttons */
.btn-gold{background:linear-gradient(135deg,#C9A84C,#A07830);color:#000;font-weight:600;letter-spacing:.04em;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}
.btn-gold:hover{box-shadow:0 0 30px rgba(201,168,76,.4);transform:translateY(-2px)}
.btn-outline{border:1px solid rgba(201,168,76,.4);color:#C9A84C;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}
.btn-outline:hover{background:rgba(201,168,76,.1);box-shadow:0 0 20px rgba(201,168,76,.2);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}
.btn-ghost:hover{border-color:rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.05)}

/* Form */
.form-input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:10px;padding:12px 16px;width:100%;font-family:'Outfit',sans-serif;font-size:14px;transition:border-color .3s;outline:none}
.form-input::placeholder{color:rgba(255,255,255,.35)}
.form-input:focus{border-color:rgba(201,168,76,.6);box-shadow:0 0 0 3px rgba(201,168,76,.08)}
select.form-input option{background:#111;color:#fff}
textarea.form-input{resize:vertical;min-height:110px}

/* Nav */
.nav-floating{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:100;transition:all .4s ease}
#mobile-menu{max-height:0;overflow:hidden;transition:max-height .4s ease}
#mobile-menu.open{max-height:500px}

/* Header rows */
.header-logo{position:sticky;top:0;z-index:50;background:rgba(8,8,8,0.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.header-menu{position:sticky;top:144px;z-index:49;background:rgba(8,8,8,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:2px solid #C9A84C}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.25);color:#C9A84C;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:100px}

/* Dividers */
.gold-line{height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.4),transparent)}

/* Progress */
.progress-bar{height:3px;background:#1E1E1E;border-radius:2px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,#C9A84C,#E8C96A);border-radius:2px;transition:width 1.5s cubic-bezier(.4,0,.2,1)}

/* Cards */
.card-dark{background:#111;border:1px solid #1E1E1E;border-radius:16px;transition:all .3s ease}
.card-dark:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.03);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.4)}

/* WhatsApp float */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:999;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(37,211,102,.4);transition:transform .3s ease;animation:float 4s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1)}

/* Img hover zoom */
.img-zoom{overflow:hidden;border-radius:16px}
.img-zoom img{transition:transform .7s ease}
.img-zoom:hover img{transform:scale(1.07)}

/* Page hero */
.page-hero{background:linear-gradient(135deg,#0a0906 0%,#111008 100%);padding:160px 0 80px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(201,168,76,.08) 0%,transparent 70%);pointer-events:none}

/* Scrollbar */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:#080808}
::-webkit-scrollbar-thumb{background:#C9A84C;border-radius:2px}

/* Status pill */
.status-available{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#4ade80}
.status-booked{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#f87171}
.status-reserved{background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.3);color:#facc15}

/* Timeline */
.timeline-line{position:absolute;left:19px;top:8px;width:2px;background:linear-gradient(to bottom,#C9A84C,rgba(201,168,76,.1));height:calc(100% - 16px)}
.timeline-dot-done{background:#C9A84C;border:3px solid #C9A84C;box-shadow:0 0 12px rgba(201,168,76,.5)}
.timeline-dot-active{background:#080808;border:3px solid #C9A84C;box-shadow:0 0 16px rgba(201,168,76,.6);animation:pulse-gold 2s infinite}
.timeline-dot-pending{background:#1E1E1E;border:3px solid #333}

/* Spec table */
.spec-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #1a1a1a}
.spec-row:last-child{border-bottom:none}

@keyframes float{0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)}}
@keyframes pulse-gold{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.4)} 50%{box-shadow:0 0 0 8px rgba(201,168,76,0)}}
@keyframes marquee{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── Lightbox ──────────────────────────────────────────────── */
#lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.95);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:center;justify-content:center}
#lightbox.lb-open{display:flex}
#lb-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.8);transition:opacity .25s ease}
.lb-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}
.lb-close:hover{background:rgba(201,168,76,.3);border-color:#C9A84C;color:#C9A84C}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-prev:hover,.lb-next:hover{background:rgba(201,168,76,.3);border-color:#C9A84C;color:#C9A84C}
.lb-caption{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.875rem;font-family:'Outfit',sans-serif;background:rgba(0,0,0,.55);padding:7px 18px;border-radius:20px;white-space:nowrap;pointer-events:none}
.lb-counter{position:absolute;top:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.4);font-size:.75rem;font-family:'Outfit',sans-serif;background:rgba(0,0,0,.55);padding:4px 14px;border-radius:20px;pointer-events:none}
/* Lightbox cursor + hover zoom indicator */
[data-lightbox]{cursor:zoom-in !important;position:relative}
[data-lightbox] *{cursor:zoom-in !important;pointer-events:none}
[data-lightbox]::after{
  content:'';
  position:absolute;top:50%;left:50%;
  width:56px;height:56px;
  margin:-28px 0 0 -28px;
  border-radius:50%;
  background:rgba(201,168,76,.92);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:26px;
  transform:scale(0);opacity:0;
  transition:transform .25s ease,opacity .25s ease;
  z-index:20;pointer-events:none;
  box-shadow:0 4px 24px rgba(0,0,0,.5);
}
[data-lightbox]:hover::after{transform:scale(1);opacity:1}
