/* ═══════════════════════════════════════════════════
   KASHMIR SINTHAN TOP — SHARED STYLES
   Used by ALL pages
═══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&family=Jost:wght@300;400;500;600&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}

:root{
  --ink:#0a1208; --cream:#faf7f2;
  --gold:#b8860b; --gold2:#d4a017; --gold3:#f0c040;
  --sage:#3d6b4f; --moss:#1e4230; --mist:#6b9e7e;
  --light:#f4f0e8; --white:#ffffff;
  --sec-pad: clamp(3.5rem,8vw,8rem) clamp(1.2rem,5vw,5rem);
}

body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;line-height:1.6}

/* ── CURSOR ── */
#cur-dot,#cur-ring{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
#cur-dot{width:7px;height:7px;background:var(--gold3)}
#cur-ring{width:38px;height:38px;border:1.5px solid var(--gold2);transition:all .18s ease}
@media(hover:none){#cur-dot,#cur-ring{display:none}}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:1.2rem clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;transition:all .4s}
nav.solid{background:rgba(10,18,8,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 2px 40px rgba(0,0,0,.3);padding:.85rem clamp(1.2rem,5vw,5rem)}
nav.dark-nav{background:rgba(10,18,8,.96);backdrop-filter:blur(20px)}
.logo{font-family:'Playfair Display',serif;font-size:clamp(1.05rem,2.5vw,1.3rem);color:var(--white);letter-spacing:.03em;white-space:nowrap}
.logo span{color:var(--gold3)}
.nav-links{list-style:none;display:flex;align-items:center;gap:clamp(1.2rem,2.5vw,2.5rem)}
.nav-links a{font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);transition:color .3s;font-weight:500;padding:.25rem 0;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold3);transition:width .3s}
.nav-links a:hover,.nav-links a.active{color:var(--gold3)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-book{background:var(--gold2)!important;color:var(--ink)!important;padding:.45rem 1.3rem!important;font-weight:600!important;border-radius:2px;letter-spacing:.1em!important}
.nav-book::after{display:none!important}
.nav-book:hover{background:var(--gold3)!important}
.ham{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:6px;-webkit-tap-highlight-color:transparent}
.ham span{display:block;width:24px;height:2px;background:white;border-radius:2px;transition:all .3s}
.nav-drawer{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(5,12,5,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:490;flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;opacity:0;pointer-events:none;transition:opacity .35s ease}
.nav-drawer.open{opacity:1;pointer-events:all}
.nav-drawer a{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:rgba(255,255,255,.8);transition:color .3s}
.nav-drawer a:hover{color:var(--gold3)}
.nav-drawer .nd-book{background:var(--gold2);color:var(--ink)!important;padding:.8rem 2.5rem;border-radius:2px;font-size:1.1rem!important;font-weight:700}

/* ── PAGE HERO (inner pages) ── */
.page-hero{height:clamp(280px,40vw,420px);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:heroZoom 12s ease forwards}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.page-hero-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,12,5,.4),rgba(5,12,5,.65))}
.page-hero-content{position:relative;z-index:2;padding:1rem 1.5rem}
.page-hero-badge{display:inline-block;border:1px solid rgba(212,160,23,.5);color:var(--gold3);padding:.35rem 1rem;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;border-radius:1px}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,6vw,4.5rem);font-weight:900;color:var(--white);line-height:1}
.page-hero h1 em{font-style:italic;color:var(--gold3)}
.page-hero p{font-size:clamp(.85rem,1.5vw,1rem);color:rgba(255,255,255,.7);margin-top:.8rem;max-width:500px}

/* ── SECTION COMMONS ── */
section{padding:var(--sec-pad)}
.s-lbl{display:inline-flex;align-items:center;gap:.7rem;font-size:clamp(.6rem,.75vw,.67rem);letter-spacing:.22em;text-transform:uppercase;color:var(--mist);margin-bottom:.9rem}
.s-lbl::before{content:'';width:24px;height:1px;background:var(--gold2);flex-shrink:0}
h2.d{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4.5vw,3.8rem);font-weight:700;line-height:1.06;color:var(--moss)}
h2.d em{font-style:italic;color:var(--gold)}
h2.d.lt{color:var(--white)}
h2.d.lt em{color:var(--gold3)}

/* ── BUTTONS ── */
.btn-prim{display:inline-flex;align-items:center;gap:.5rem;background:var(--moss);color:var(--white);padding:.8rem 1.8rem;font-size:clamp(.72rem,.85vw,.78rem);font-weight:500;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:all .3s;border:none;white-space:nowrap;cursor:pointer}
.btn-prim:hover{background:var(--gold2);color:var(--ink);transform:translateY(-2px)}
.btn-wa{display:inline-flex;align-items:center;gap:.65rem;background:#25d366;color:white;padding:.95rem 2rem;font-size:clamp(.75rem,.9vw,.84rem);font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;transition:all .3s;box-shadow:0 6px 28px rgba(37,211,102,.4);white-space:nowrap;border:none;cursor:pointer}
.btn-wa:hover{background:#1ea855;transform:translateY(-3px)}
.btn-outline{display:inline-flex;align-items:center;gap:.6rem;background:transparent;color:var(--moss);padding:.75rem 1.6rem;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--moss);border-radius:2px;transition:all .3s;cursor:pointer}
.btn-outline:hover{background:var(--moss);color:white}

/* ── CARDS (packages / cars) ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:clamp(1rem,2vw,1.8rem)}
.card{background:white;border-radius:6px;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(10,18,8,.13)}
.card-img{height:clamp(180px,22vw,240px);overflow:hidden;position:relative;flex-shrink:0}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1);display:block}
.card:hover .card-img img{transform:scale(1.08)}
.card-img-ov{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(10,18,8,.5))}
.card-tag{position:absolute;top:1rem;left:1rem;background:var(--gold2);color:var(--ink);font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.28rem .75rem;border-radius:1px}
.card-body{padding:clamp(1.2rem,2vw,1.8rem);display:flex;flex-direction:column;flex:1}
.card-loc{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin-bottom:.4rem;display:flex;align-items:center;gap:.35rem}
.card-name{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;color:var(--moss);margin-bottom:.6rem;line-height:1.2}
.card-desc{font-size:clamp(.8rem,.9vw,.83rem);color:rgba(10,18,8,.56);line-height:1.75;margin-bottom:1rem;flex:1}
.card-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.2rem}
.pill{background:rgba(61,107,79,.1);color:var(--sage);font-size:.62rem;letter-spacing:.06em;padding:.25rem .65rem;border-radius:20px;font-weight:500}
.card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(61,107,79,.12);padding-top:1rem;gap:.5rem;flex-wrap:wrap}
.card-hint{font-size:.72rem;color:var(--mist)}
.card-cta{display:inline-flex;align-items:center;gap:.35rem;background:var(--moss);color:white;padding:.55rem 1.2rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;transition:all .3s;font-weight:500;white-space:nowrap}
.card-cta:hover{background:#25d366}

/* ── MARQUEE ── */
.mq-wrap{background:var(--moss);padding:.8rem 0;overflow:hidden;white-space:nowrap}
.mq-track{display:inline-flex;gap:2.5rem;animation:mq 22s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-item{font-size:clamp(.6rem,.8vw,.68rem);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);flex-shrink:0}
.mq-item span{color:var(--gold3);margin-right:2rem}

/* ── FLOAT WA ── */
.fwa{position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.5);animation:popIn .5s 1.2s both;-webkit-tap-highlight-color:transparent}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}
.fwa:hover{transform:scale(1.1)}
.fwa-p{position:absolute;inset:-5px;border-radius:50%;background:rgba(37,211,102,.25);animation:rpl 2s infinite}
@keyframes rpl{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}
.fwa svg{width:26px;height:26px;fill:white}

/* ── FOOTER ── */
footer{background:#060e05;padding:clamp(3rem,6vw,5rem) clamp(1.2rem,5vw,5rem) clamp(1.5rem,3vw,2.5rem)}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);margin-bottom:clamp(2.5rem,4vw,4rem)}
.ft-logo{font-family:'Playfair Display',serif;font-size:clamp(1.2rem,2vw,1.4rem);color:white;margin-bottom:.9rem}
.ft-logo span{color:var(--gold3)}
.ft-about{font-size:clamp(.78rem,.9vw,.81rem);color:rgba(255,255,255,.35);line-height:1.85;max-width:255px;margin-bottom:1.4rem}
.ft-socs{display:flex;gap:.6rem;flex-wrap:wrap}
.ft-s{width:36px;height:36px;border:1px solid rgba(255,255,255,.1);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:rgba(255,255,255,.45);transition:all .3s}
.ft-s:hover{border-color:var(--gold2);color:var(--gold3)}
.ft-col h4{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.26);margin-bottom:1.1rem}
.ft-col ul{list-style:none}
.ft-col ul li{margin-bottom:.6rem}
.ft-col ul a{font-size:clamp(.78rem,.9vw,.81rem);color:rgba(255,255,255,.44);transition:color .3s}
.ft-col ul a:hover{color:var(--gold3)}
.ft-bot{border-top:1px solid rgba(255,255,255,.06);padding-top:1.8rem;display:flex;justify-content:space-between;align-items:center;font-size:clamp(.65rem,.75vw,.71rem);color:rgba(255,255,255,.2);flex-wrap:wrap;gap:.8rem}
.gov-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(212,160,23,.1);border:1px solid rgba(212,160,23,.2);padding:.32rem .85rem;border-radius:2px;font-size:.62rem;color:var(--gold3);letter-spacing:.1em;margin-top:1.1rem}

/* ── REVEAL ANIMATION ── */
.ra{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.ra.on{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ── TOAST ── */
.toast{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--moss);color:white;padding:.7rem 1.5rem;border-radius:4px;font-size:.82rem;font-weight:500;opacity:0;transition:all .35s;z-index:1000;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.error{background:#c0392b}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .nav-links{display:none!important}
  .ham{display:flex}
  .ft-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:640px){
  .ft-grid{grid-template-columns:1fr;gap:2rem}
  .ft-about{max-width:100%}
  .ft-bot{flex-direction:column;text-align:center}
  .card-grid{grid-template-columns:1fr}
  .btn-wa,.btn-prim{width:100%;justify-content:center}
}
@media(max-width:380px){
  .logo{font-size:.95rem}
  h2.d{font-size:1.75rem}
}
