@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,500&family=Yeseva+One&family=Cinzel:wght@600;700&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{
  /* Rajasthani Meenakari Palette */
  --teal:#0e7490;--teal2:#0891b2;--teal3:#cffafe;--teal4:#164e63;
  --peacock:#1a5276;--peacock2:#2471a3;
  --marigold:#d4860a;--marigold2:#e67e22;--marigold3:#fef3c7;
  --ruby:#922b21;--ruby2:#c0392b;
  --ivory:#fdf6e3;--ivory2:#fef9f0;--ivory3:#fdebd0;
  --sand:#f5deb3;--sand2:#deb887;
  --orange:#e07b39;--orange2:#f0904a;
  --navy:#1a2744;--navy2:#0f1f3d;
  --txt:#1a1a2e;--txt2:#4a5568;--txt3:#718096;
  --bg:#fff;--bg2:#fdf8f0;--bg3:#f9f0e4;
  --border:#e8d5b7;--border2:#d4b896;
  --sh:0 1px 3px rgba(0,0,0,.1);
  --sh2:0 4px 14px rgba(0,0,0,.09);
  --sh3:0 12px 40px rgba(0,0,0,.13);
  --r:8px;--r2:12px;--r3:16px;
  /* Rajasthani patterns */
  --jaali:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d4860a' fill-opacity='0.06'%3E%3Cpath d='M20 20c0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10 10-4.5 10-10zm10 0c0-5.5-4.5-10-10-10v20c5.5 0 10-4.5 10-10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'DM Sans',sans-serif;color:var(--txt);background:var(--bg);overflow-x:hidden;min-height:100vh}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:'DM Sans',sans-serif}

/* ── RAJASTHANI JAALI PATTERN OVERLAY ── */
.jaali-pattern{
  background-image:
    radial-gradient(circle at 1px 1px, rgba(212,134,10,.12) 1px, transparent 0);
  background-size:24px 24px;
}
.jaali-border{
  position:relative;
}
.jaali-border::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:repeating-linear-gradient(90deg,var(--marigold) 0,var(--marigold) 8px,var(--ruby) 8px,var(--ruby) 16px,var(--peacock) 16px,var(--peacock) 24px,var(--marigold2) 24px,var(--marigold2) 32px);
  opacity:.85;
}

/* ── MANDALA DIVIDER ── */
.mandala-divider{
  display:flex;align-items:center;gap:1rem;margin:3rem auto;max-width:500px;
}
.mandala-divider::before,.mandala-divider::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--border2),transparent);
}
.mandala-divider span{
  font-size:1.4rem;color:var(--marigold);flex-shrink:0;
  filter:drop-shadow(0 0 4px rgba(212,134,10,.3));
}

/* ── NAV ── */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:64px;display:flex;align-items:center;padding:0 5%;
  background:rgba(255,253,248,.97);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);transition:box-shadow .3s;
}
#nav::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--marigold),var(--ruby),var(--peacock),var(--marigold2));
  opacity:.7;
}
#nav.shadow{box-shadow:0 4px 24px rgba(0,0,0,.1)}
#nav.transparent{background:transparent!important;border-bottom-color:transparent;backdrop-filter:none}
#nav.transparent::after{opacity:.5}
.nav-inner{width:100%;max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:.5rem}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem;color:var(--navy2);font-family:'Cormorant Garamond',serif;letter-spacing:.02em;flex-shrink:0}
.nav-logo-ico{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--marigold),var(--ruby));display:flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:0 2px 8px rgba(212,134,10,.4)}
#nav.transparent .nav-logo{color:#fff}
.nav-links{display:flex;align-items:center;gap:.15rem;margin-left:1rem;flex:1}
.nav-link{padding:.5rem .95rem;font-size:.93rem;font-weight:500;color:var(--txt2);background:none;border:none;border-radius:7px;transition:all .2s;white-space:nowrap}
.nav-link:hover{background:var(--ivory3);color:var(--marigold)}
/* Colorful city nav icons */
.nav-city-link{display:flex;align-items:center;gap:.35rem}
.nav-city-link i{font-size:1rem;color:var(--city-color,var(--marigold));transition:transform .2s;flex-shrink:0}
.nav-city-link:hover i{transform:scale(1.2)}
/* General icon color helpers */
.ico-ruby{color:#c0392b}.ico-peacock{color:#1a5276}.ico-teal{color:#0e7490}
.ico-marigold{color:#d4860a}.ico-saffron{color:#e67e22}.ico-indigo{color:#6c3483}
.ico-green{color:#1e8449}.ico-navy{color:#0f2239}
/* Tabler icon sizing */
.ti{line-height:1;vertical-align:-2px}
.ti-lg{font-size:1.3rem}
.ti-xl{font-size:1.6rem}
.ti-2xl{font-size:2rem}
#nav.transparent .nav-link{color:rgba(255,255,255,.85)}
#nav.transparent .nav-link:hover{background:rgba(255,255,255,.15)}
.nav-ai-badge{display:flex;align-items:center;gap:.35rem;padding:.42rem .8rem;font-size:.8rem;font-weight:600;color:var(--teal);border:1px solid rgba(14,116,144,.3);border-radius:7px;background:rgba(14,116,144,.06);white-space:nowrap}
.nav-ai-badge .dot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 0 2px rgba(34,197,94,.3);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.3)}50%{box-shadow:0 0 0 5px rgba(34,197,94,.1)}}
#nav.transparent .nav-ai-badge{color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.1)}
.nav-right{display:flex;align-items:center;gap:.55rem;flex-shrink:0;margin-left:auto}
.btn-ghost{padding:.42rem .9rem;font-size:.78rem;font-weight:600;border:1.5px solid var(--border2);border-radius:7px;background:none;color:var(--txt2);transition:all .2s;white-space:nowrap}
.btn-ghost:hover{border-color:var(--marigold);color:var(--marigold)}
#nav.transparent .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.btn-cta{padding:.52rem 1.15rem;font-size:.9rem;font-weight:700;border:none;border-radius:7px;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px rgba(212,134,10,.35)}
.btn-cta:hover{background:linear-gradient(135deg,var(--orange2),var(--marigold2));transform:translateY(-1px);box-shadow:0 4px 14px rgba(212,134,10,.45)}

/* Mobile Hamburger */
.nav-ham{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:.4rem;border-radius:6px;margin-left:auto}
.nav-ham span{display:block;width:20px;height:2px;background:var(--navy2);border-radius:2px;transition:all .25s}
#nav.transparent .nav-ham span{background:#fff}
.mob-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--ivory);border-top:2px solid var(--marigold);padding:1rem 5% 1.5rem;z-index:800;box-shadow:0 10px 30px rgba(0,0,0,.1);flex-direction:column;gap:.25rem}
.mob-menu.open{display:flex}
.mob-link{display:block;padding:.7rem .9rem;font-size:.85rem;font-weight:500;color:var(--txt);border-radius:8px}
.mob-link:hover{background:var(--ivory3);color:var(--marigold)}
.mob-cta{margin-top:.5rem;width:100%;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;border:none;border-radius:8px;padding:.75rem;font-size:.88rem;font-weight:700}

/* ── HERO ── */
.hero{position:relative;height:calc(100vh - 64px);min-height:580px;margin-top:64px}
.hero-slides{position:absolute;inset:0;display:flex;height:100%;transition:transform 1.1s cubic-bezier(.86,0,.07,1)}
.slide{flex:0 0 100%;position:relative}
.slide-bg{position:absolute;inset:0}
.slide-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1!important}
.slide-overlay{position:absolute;inset:0;pointer-events:none}
.slide.active .slide-bg img{opacity:1}
.slide::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 40%,transparent,rgba(0,0,0,.25) 100%),
    linear-gradient(to bottom,rgba(15,31,61,.15) 0%,transparent 40%,rgba(15,31,61,.85) 100%);
  z-index:1;pointer-events:none
}
.slide-content{position:absolute;inset:0;display:flex;align-items:center;padding:0 8%;z-index:2}
.slide-text{max-width:620px;color:#fff;opacity:0;transform:translateY(24px);transition:opacity .75s ease .25s,transform .75s ease .25s}
.slide.active .slide-text{opacity:1;transform:translateY(0)}
.slide-tag{
  display:inline-flex;align-items:center;gap:.45rem;
  background:rgba(212,134,10,.2);backdrop-filter:blur(14px);
  border:1px solid rgba(212,134,10,.5);
  padding:.4rem .9rem;border-radius:100px;
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:1.3rem;font-weight:600;color:#fde68a
}
.slide-h{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,5.5vw,4.8rem);font-weight:800;line-height:1.05;margin-bottom:1rem;text-shadow:0 4px 24px rgba(0,0,0,.5);white-space:pre-line}
.slide-sub{font-size:.95rem;color:rgba(255,255,255,.85);line-height:1.72;margin-bottom:2rem;max-width:460px}
.slide-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn-hero-p{
  padding:.9rem 2rem;
  background:linear-gradient(135deg,var(--marigold),var(--orange));
  color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;
  transition:all .3s;box-shadow:0 8px 24px rgba(212,134,10,.45);
}
.btn-hero-p:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(212,134,10,.6)}
.btn-hero-g{padding:.9rem 2rem;background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:10px;font-size:.9rem;font-weight:500;backdrop-filter:blur(12px);transition:all .3s}
.btn-hero-g:hover{background:rgba(255,255,255,.2);border-color:#fff;transform:translateY(-2px)}
.slide-dots{position:absolute;bottom:8rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:10}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:all .3s;padding:0}
.dot.on{width:28px;border-radius:4px;background:var(--marigold2)}
.slide-arr{position:absolute;top:45%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(212,134,10,.15);backdrop-filter:blur(12px);border:1px solid rgba(212,134,10,.4);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .3s}
.slide-arr:hover{background:rgba(212,134,10,.35);transform:translateY(-50%) scale(1.08)}
.arr-l{left:1.5rem}.arr-r{right:1.5rem}

/* Hero Search Bar */
.hero-search{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:20;width:min(94vw,980px)}
.hs-wrap{
  background:rgba(255,253,248,.95);border-radius:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.22),0 0 0 1.5px rgba(212,134,10,.2);
  display:flex;align-items:stretch;overflow:hidden;
  border-top:3px solid var(--marigold);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.hs-field{flex:1;display:flex;flex-direction:column;padding:2rem 1.5rem;border-right:1.5px solid var(--bg3);min-width:0;position:relative}
.hs-field:last-of-type{border-right:none}
.hs-label{font-size:.72rem;font-weight:700;color:var(--marigold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.hs-inp{border:none;outline:none;font-size:1.05rem;font-weight:500;color:var(--txt);background:transparent;width:100%;font-family:'DM Sans',sans-serif}
.hs-inp::placeholder{color:#b0bec5}
.hs-type-btns{display:flex;gap:.28rem;flex-wrap:wrap}
.hs-type-btn{padding:.28rem .65rem;border-radius:20px;border:1.5px solid var(--border);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;background:var(--bg2);color:var(--txt2)}
.hs-type-btn.on{background:var(--navy2);border-color:var(--navy2);color:#fff}
.btn-hs-search{margin:.65rem;border-radius:12px;padding:1.5rem 2.2rem;font-size:1.05rem;font-weight:700;flex-shrink:0;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(212,134,10,.35);transition:all .3s;white-space:nowrap}
.btn-hs-search:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,134,10,.5)}
.city-sugg{border-radius:14px;overflow:hidden}
.city-sugg.show{display:block}
.city-sugg-item{display:flex;align-items:center;gap:.85rem;padding:1rem 1.2rem;background:none;border:none;cursor:pointer;text-align:left;width:100%;border-bottom:1px solid #f0e8dc;font-family:'DM Sans',sans-serif;transition:background .15s}
.city-sugg-item:last-child{border-bottom:none}
.city-sugg-item:hover{background:#fef3c7}
.csi-emoji{font-size:1.15rem;flex-shrink:0}
.csi-name{font-weight:700;font-size:.95rem;color:#1a1a2e}
.csi-info{font-size:.78rem;color:#6b7280}

/* ── SECTIONS ── */
.section{padding:5rem 5% 4rem;background:var(--bg)}
.section.alt-bg{background:var(--ivory2)}
.sec-inner{max-width:1400px;margin:0 auto}
.sec-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem}
.sec-eyebrow{
  font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem;
  color:var(--marigold);display:flex;align-items:center;gap:.5rem;
}
.sec-eyebrow::before{content:'◆';font-size:.5rem;color:var(--ruby);opacity:.7}
.sec-h{font-size:clamp(1.4rem,2.2vw,2rem);font-family:'Cormorant Garamond',serif;font-weight:800;color:var(--navy2);margin:0}
.sec-sub{font-size:.82rem;color:var(--txt3);margin-top:.3rem}
.see-all{font-size:.82rem;font-weight:600;color:var(--marigold);white-space:nowrap}
.see-all:hover{color:var(--marigold2)}

/* ── RAJASTHANI SECTION DIVIDER ── */
.raj-divider{
  text-align:center;padding:1.5rem 0;
  overflow:hidden;position:relative;
}
.raj-divider::before{
  content:'';position:absolute;top:50%;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--border2) 20%,var(--marigold) 50%,var(--border2) 80%,transparent);
}
.raj-divider-inner{
  position:relative;display:inline-flex;align-items:center;gap:.75rem;
  background:var(--bg);padding:0 1.25rem;
}
.raj-divider-inner span{font-size:1.2rem}

/* ── DESTINATIONS GRID ── */
.destinations-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:270px 210px;gap:.9rem;margin-top:1.75rem}
.dest-card{position:relative;border-radius:16px;overflow:hidden;border:none;cursor:pointer;background:none;padding:0;display:block;text-align:left}
.dest-card img,.dest-bg{position:absolute;inset:0;overflow:hidden}.dest-card img,.dest-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.dest-card:hover .dest-bg img{transform:scale(1.08)}
.dest-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,31,61,.85),rgba(0,0,0,.1) 55%,transparent)}
.dest-body{position:relative;z-index:2;padding:1.1rem;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.dest-emoji{font-size:1.4rem;margin-bottom:.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.dest-name{color:#fff;font-weight:700;font-size:1.05rem;font-family:'Cormorant Garamond',serif;margin-bottom:.12rem;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.dest-info{color:rgba(255,255,255,.65);font-size:.7rem}
.dest-badge{position:absolute;top:.65rem;right:.65rem;background:rgba(212,134,10,.85);backdrop-filter:blur(8px);color:#fff;font-size:.58rem;font-weight:700;padding:.22rem .55rem;border-radius:20px;z-index:3;letter-spacing:.04em}
.dest-card:nth-child(1),.dest-card:nth-child(2),.dest-card:nth-child(3){grid-row:1}
.dest-card:nth-child(4),.dest-card:nth-child(5),.dest-card:nth-child(6){grid-row:2}
/* Jaali corner decoration on dest cards */
.dest-card::after{
  content:'';position:absolute;top:0;left:0;right:0;bottom:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.04) 1px,transparent 0);
  background-size:18px 18px;pointer-events:none;z-index:1;
}

/* ── PROPERTY CARDS ── */
.hotels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.hotel-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  overflow:hidden;cursor:pointer;transition:all .35s;
}
.hotel-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(212,134,10,.15),0 8px 24px rgba(0,0,0,.1);border-color:var(--marigold)}
.hc-img{height:200px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8c870,#d4a840)}
.hc-img-bg{position:absolute;inset:0;overflow:hidden}.hc-img-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:contrast(1.05) saturate(1.1);opacity:1!important}
.hotel-card:hover 
/* Image quality enhancement */

.hc-badge{position:absolute;top:.65rem;left:.65rem;font-size:.6rem;font-weight:700;padding:.28rem .6rem;border-radius:20px;color:#fff;background:var(--teal);letter-spacing:.04em;backdrop-filter:blur(4px)}
.hc-fav{position:absolute;top:.55rem;right:.55rem;width:32px;height:32px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;border:none;transition:all .3s;backdrop-filter:blur(4px)}
.hc-fav:hover{background:#fff;transform:scale(1.12)}
.hc-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,31,61,.5),transparent 60%)}
.hc-body{padding:1rem 1.1rem 1.1rem;background:#fff}
.hc-price{font-size:1.15rem;font-weight:800;color:var(--navy2);margin-bottom:.1rem}
.hc-price span{font-size:.72rem;font-weight:400;color:var(--txt3)}
.hc-name{font-size:.9rem;font-weight:700;color:var(--navy2);margin-bottom:.22rem;font-family:'Cormorant Garamond',serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hc-loc{font-size:.73rem;color:var(--txt3);margin-bottom:.3rem;display:flex;align-items:center;gap:.3rem}
.hc-meta{display:flex;align-items:center;gap:.42rem;font-size:.73rem;color:var(--txt3);margin-bottom:.85rem}
.hc-dot{width:3px;height:3px;border-radius:50%;background:var(--border2);flex-shrink:0}
.hc-rating{color:var(--marigold);font-weight:600}
.btn-hc-view{width:100%;background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;padding:.6rem;border:none;border-radius:8px;font-size:.78rem;font-weight:600;transition:all .25s;letter-spacing:.02em}
.btn-hc-view:hover{background:linear-gradient(135deg,var(--teal4),var(--teal));transform:translateY(-1px);box-shadow:0 4px 12px rgba(14,116,144,.3)}

/* ── BENEFITS ── */
.benefits-sec{background:var(--ivory2);padding:4rem 5%;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--marigold),var(--ruby),var(--peacock)) 1}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;max-width:1400px;margin-left:auto;margin-right:auto}
.benefit-item{text-align:center;padding:1.5rem 1rem}
.benefit-ico{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--marigold3),var(--ivory3));border:2px solid var(--marigold);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 14px rgba(212,134,10,.2)}
.benefit-title{font-size:.92rem;font-weight:700;color:var(--navy2);margin-bottom:.4rem;font-family:'Cormorant Garamond',serif}
.benefit-desc{font-size:.78rem;color:var(--txt3);line-height:1.65}

/* ── WHY CHOOSE ── */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:2.5rem}
.why-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:1.75rem 1.5rem;text-align:center;transition:all .3s;
  position:relative;overflow:hidden;
}
.why-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--marigold),var(--ruby));
  transform:scaleX(0);transition:transform .3s;transform-origin:left;
}
.why-card:hover{box-shadow:0 16px 40px rgba(212,134,10,.12);border-color:var(--marigold);transform:translateY(-3px)}
.why-card:hover::before{transform:scaleX(1)}
.why-ico{width:60px;height:60px;border-radius:14px;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center}
.why-title{font-size:.95rem;font-weight:700;margin-bottom:.45rem;color:var(--navy2);font-family:'Cormorant Garamond',serif}
.why-desc{font-size:.8rem;color:var(--txt3);line-height:1.65}

/* ── TESTIMONIALS ── */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.tcard{
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:1.4rem;transition:all .3s;position:relative;
  border-left:3px solid var(--marigold);
}
.tcard:hover{box-shadow:0 8px 28px rgba(212,134,10,.1);transform:translateY(-2px)}
.tcard-stars{color:var(--marigold);font-size:.88rem;margin-bottom:.65rem;letter-spacing:.05em}
.tcard-quote{font-size:.82rem;color:var(--txt2);line-height:1.72;font-style:italic;margin-bottom:1rem}
.tcard-quote::before{content:'\201C';font-size:1.4rem;color:var(--marigold);opacity:.5;line-height:0;vertical-align:-4px;margin-right:.15rem}
.tcard-author{display:flex;align-items:center;gap:.65rem}
.tcard-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;color:#fff;flex-shrink:0;border:2px solid var(--marigold3)}
.tcard-name{font-size:.8rem;font-weight:600;color:var(--txt)}
.tcard-loc{font-size:.68rem;color:var(--txt3)}

/* ── FAQ ── */
.faq-list{margin-top:2rem;display:flex;flex-direction:column;gap:.55rem}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:all .3s}
.faq-item.open{border-color:var(--marigold);box-shadow:0 4px 14px rgba(212,134,10,.1)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.88rem;font-weight:600;background:none;border:none;text-align:left;color:var(--txt);cursor:pointer;gap:.5rem}
.faq-q:hover{color:var(--marigold)}
.faq-q .arr{font-size:.7rem;transition:transform .3s;flex-shrink:0;color:var(--txt3)}
.faq-item.open .arr{transform:rotate(180deg);color:var(--marigold)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .2s}
.faq-item.open .faq-a{max-height:300px;padding:.15rem 1.25rem 1rem}
.faq-a p{font-size:.82rem;color:var(--txt2);line-height:1.7}

/* ── CTA BAND ── */
.cta-band{
  background:linear-gradient(135deg,var(--navy2) 0%,#1e3a5f 50%,#2c1810 100%);
  padding:5rem 5%;text-align:center;color:#fff;position:relative;overflow:hidden;
}
.cta-band::before{
  content:'';position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(212,134,10,.08) 1px,transparent 0);
  background-size:28px 28px;pointer-events:none;
}
.cta-band::after{
  content:'🐪';position:absolute;right:5%;bottom:0;font-size:8rem;
  opacity:.06;line-height:1;pointer-events:none;
  filter:grayscale(1);
}
.cta-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:.75rem;text-shadow:0 4px 16px rgba(0,0,0,.3)}
.cta-band p{font-size:.9rem;color:rgba(255,255,255,.7);margin-bottom:2.25rem}
.cta-band-btns{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}
.btn-cta-w{padding:.9rem 2.2rem;background:#fff;color:var(--navy2);border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.btn-cta-w:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.3)}
.btn-cta-o{padding:.9rem 2.2rem;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(212,134,10,.4)}
.btn-cta-o:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(212,134,10,.55)}

/* ── PRESS ── */
.press-sec{padding:2rem 5%;border-bottom:1px solid var(--border);background:var(--ivory2)}
.press-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.press-label{font-size:.7rem;font-weight:700;color:var(--txt3);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.press-logos{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.press-logo{font-size:.8rem;font-weight:700;color:var(--txt3);letter-spacing:.06em;opacity:.5;font-style:italic}
.press-logo:hover{opacity:.9;color:var(--marigold)}

/* ── AWARDS ── */
.awards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2rem}
.award-card{
  background:linear-gradient(135deg,var(--navy2),#1e3a5f);
  border-radius:var(--r2);padding:1.5rem;text-align:center;color:#fff;
  border:1px solid rgba(212,134,10,.2);transition:all .3s;position:relative;overflow:hidden;
}
.award-card::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(212,134,10,.12),transparent 70%);
}
.award-card:hover{transform:translateY(-3px);border-color:rgba(212,134,10,.5);box-shadow:0 12px 32px rgba(212,134,10,.15)}
.award-ico{font-size:2rem;margin-bottom:.75rem;filter:drop-shadow(0 2px 8px rgba(212,134,10,.5))}
.award-name{font-size:.82rem;font-weight:700;margin-bottom:.25rem}
.award-year{font-size:.7rem;color:rgba(255,255,255,.5)}

/* ── FOOTER ── */
footer{
  background:linear-gradient(180deg,#0a1520 0%,#070d15 100%);
  color:rgba(255,255,255,.5);padding:4rem 5% 2rem;
  position:relative;overflow:hidden;
}
footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--marigold),var(--ruby),var(--peacock),var(--marigold2));
}
/* Rajasthani silhouette in footer */
footer::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:120px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120'%3E%3Cpath fill='rgba(212,134,10,0.04)' d='M0,80 L40,70 L60,75 L80,60 L100,65 L120,50 L140,55 L160,40 L180,45 L200,35 L220,40 L240,30 L260,35 L280,25 L300,30 L320,20 L340,25 L360,15 L380,20 L400,30 L420,25 L440,35 L460,28 L480,38 L500,30 L520,40 L540,35 L560,45 L580,38 L600,50 L620,42 L640,55 L660,48 L680,60 L700,52 L720,65 L740,55 L760,68 L780,60 L800,72 L820,65 L840,75 L860,68 L880,78 L900,72 L920,80 L960,75 L1000,80 L1040,70 L1080,78 L1120,72 L1160,80 L1200,74 L1240,80 L1280,76 L1320,80 L1360,77 L1400,80 L1440,78 L1440,120 L0,120 Z'/%3E%3C/svg%3E") bottom/cover no-repeat;
  pointer-events:none;
}
.footer-inner{max-width:1400px;margin:0 auto;position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.footer-brand-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem}
.footer-brand-logo .ico{width:32px;height:32px;border-radius:7px;background:linear-gradient(135deg,var(--marigold),var(--ruby));display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 2px 8px rgba(212,134,10,.3)}
.footer-brand-logo span{font-weight:800;font-size:.95rem;color:#fff;font-family:'Cormorant Garamond',serif}
.footer-desc{font-size:.78rem;line-height:1.75;max-width:240px;margin-bottom:1rem}
.footer-contact{font-size:.72rem;display:flex;flex-direction:column;gap:.35rem}
.footer-h{color:rgba(255,255,255,.8);font-weight:700;font-size:.82rem;margin-bottom:.85rem;letter-spacing:.04em}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-links a{font-size:.78rem;color:rgba(255,255,255,.45);transition:color .2s}
.footer-links a:hover{color:var(--marigold2)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.72rem}
.footer-btm-links{display:flex;gap:1.25rem}
.footer-btm-links a{color:rgba(255,255,255,.4);font-size:.72rem}
.footer-btm-links a:hover{color:var(--marigold2)}
/* Footer Rajasthani motif */
.footer-motif{text-align:center;padding:1rem 0 0;font-size:1.1rem;letter-spacing:.6rem;opacity:.2;color:var(--marigold2)}

/* ── TOAST ── */
.toast{
  position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);
  background:linear-gradient(135deg,var(--navy2),#1e3a5f);color:#fff;
  padding:.75rem 1.5rem;border-radius:10px;font-size:.82rem;font-weight:500;
  box-shadow:0 8px 28px rgba(0,0,0,.25);z-index:9999;opacity:0;
  transition:all .3s;pointer-events:none;border-left:3px solid var(--marigold);
  white-space:nowrap;max-width:90vw;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── BACK BUTTON ── */
.bk-back-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1.5px solid var(--border);border-radius:8px;padding:.45rem .9rem;font-size:.78rem;font-weight:600;color:var(--txt2);cursor:pointer;margin-bottom:1.25rem;transition:all .2s}
.bk-back-btn:hover{border-color:var(--marigold);color:var(--marigold)}

/* ────────────────────────────────────────────
   CITY / LISTINGS PAGE
──────────────────────────────────────────── */
.city-hero{position:relative;height:380px;margin-top:64px;overflow:hidden;background:linear-gradient(135deg,var(--navy2),#1e3a5f)}
.city-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(1.08) saturate(1.12)}
.city-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(15,31,61,.3),rgba(15,31,61,.72))
}
/* Jaali overlay on city hero */
.city-hero-overlay::after{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.03) 1px,transparent 0);
  background-size:20px 20px;
}
.city-hero-body{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 4% 2.5rem;width:100%;box-sizing:border-box}
.breadcrumb{font-size:.72rem;color:rgba(255,255,255,.5);margin-bottom:.7rem}
.breadcrumb a{color:rgba(255,255,255,.5)}
.breadcrumb a:hover{color:var(--marigold2)}
.city-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:#fff;margin-bottom:.45rem;text-shadow:0 4px 16px rgba(0,0,0,.4)}
.city-hero p{color:rgba(255,255,255,.72);font-size:.85rem;max-width:540px;line-height:1.65}
.city-hero-stats{display:flex;align-items:center;gap:1.5rem;margin-top:1rem}
.city-hero-stats span{color:rgba(255,255,255,.65);font-size:.75rem}
.city-hero-stats strong{color:var(--marigold2)}
.city-weather-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(212,134,10,.2);backdrop-filter:blur(8px);
  border:1px solid rgba(212,134,10,.4);border-radius:20px;
  padding:.28rem .75rem;margin-bottom:.8rem;
  color:#fde68a;font-size:.7rem;font-weight:600;align-self:flex-start;
}

/* LISTINGS LAYOUT */
.listings-layout{display:flex;gap:1.75rem;align-items:flex-start;padding:2.5rem 4%;width:100%;box-sizing:border-box}
.filter-sidebar{width:260px;flex-shrink:0;background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.2rem;position:sticky;top:72px;border-top:3px solid var(--marigold)}
.filter-sidebar h3{font-weight:700;font-size:.88rem;color:var(--navy2);margin-bottom:.4rem;font-family:'Cormorant Garamond',serif}
.filter-clear{font-size:.7rem;color:var(--marigold);background:none;border:none;cursor:pointer;font-weight:600}
.filter-sec{margin-top:1rem}
.filter-sec-label{font-size:.62rem;font-weight:700;color:var(--marigold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;display:block}
.filter-radio{display:flex;align-items:center;gap:.5rem;margin-bottom:.38rem;cursor:pointer;font-size:.82rem;color:var(--txt)}
.filter-radio input{accent-color:var(--marigold);cursor:pointer}
.price-display{font-size:.8rem;font-weight:600;color:var(--marigold);margin-top:.3rem}
.sort-select{width:100%;border:1.5px solid var(--border);border-radius:7px;padding:.5rem .7rem;font-size:.8rem;color:var(--txt);background:#fff;outline:none;font-family:'DM Sans',sans-serif;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23d4860a'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - .6rem) center}

/* LISTINGS MAIN */
.listings-main{flex:1;min-width:0}
.filter-tabs{display:flex;gap:.4rem;margin-bottom:1.5rem;flex-wrap:wrap}
.ltab{padding:.46rem 1rem;border-radius:20px;border:1.5px solid var(--border);font-size:.78rem;font-weight:600;cursor:pointer;background:var(--bg2);color:var(--txt2);transition:all .2s}
.ltab.on,.ltab:hover{background:linear-gradient(135deg,var(--marigold),var(--orange));border-color:var(--marigold);color:#fff;box-shadow:0 4px 12px rgba(212,134,10,.25)}
.listings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}
.listings-count{font-size:.82rem;color:var(--txt3)}
.listings-count strong{color:var(--navy2);font-weight:700}
.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.prop-card{
  background:#fff;border:1px solid var(--border);border-radius:14px;
  overflow:hidden;cursor:pointer;transition:all .35s;
}
.prop-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(212,134,10,.12),0 4px 16px rgba(0,0,0,.08);border-color:var(--marigold)}
.prop-card.hidden{display:none}
.pc-img{height:200px;position:relative;overflow:hidden}
.pc-img-bg{position:absolute;inset:0;overflow:hidden}.pc-img-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);filter:contrast(1.05) saturate(1.08);opacity:1!important}
.prop-card:hover .pc-img-bg{position:absolute;inset:0;overflow:hidden}.pc-img-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94);filter:contrast(1.05) saturate(1.08);opacity:1!important}
.pc-badge{position:absolute;top:.65rem;left:.65rem;font-size:.6rem;font-weight:700;padding:.28rem .6rem;border-radius:20px;color:#fff;letter-spacing:.04em;backdrop-filter:blur(4px)}
.pc-fav{position:absolute;top:.55rem;right:.55rem;width:32px;height:32px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.88rem;border:none;transition:all .3s;backdrop-filter:blur(4px)}
.pc-fav:hover{background:#fff;transform:scale(1.1)}
.pc-body{padding:1rem}
.pc-price{font-size:1.1rem;font-weight:800;color:var(--navy2);margin-bottom:.1rem}
.pc-price span{font-size:.72rem;font-weight:400;color:var(--txt3)}
.pc-name{font-size:.88rem;font-weight:700;color:var(--navy2);margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Cormorant Garamond',serif}
.pc-loc{font-size:.73rem;color:var(--txt3);margin-bottom:.3rem}
.pc-meta{display:flex;align-items:center;gap:.42rem;font-size:.73rem;color:var(--txt3);margin-bottom:.75rem}
.pc-dot{width:3px;height:3px;border-radius:50%;background:var(--border2);flex-shrink:0}
.btn-pc-view{width:100%;background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;padding:.58rem;border:none;border-radius:7px;font-size:.78rem;font-weight:600;transition:all .25s}
.btn-pc-view:hover{background:linear-gradient(135deg,var(--teal4),var(--teal));box-shadow:0 4px 12px rgba(14,116,144,.3)}

/* ── ATTRACTIONS ── */
.attractions-sec{padding:3.5rem 4%;background:var(--ivory2);border-top:1px solid var(--border)}
.attr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}
.attr-card{
  background:#fff;border:1px solid var(--border);border-radius:12px;
  padding:1.1rem;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:.5rem;transition:all .25s;
  border-bottom:3px solid transparent;
}
.attr-card:hover{box-shadow:0 8px 24px rgba(212,134,10,.1);border-color:var(--marigold);border-bottom-color:var(--ruby);transform:translateY(-3px)}
.attr-icon{font-size:1.8rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}
.attr-name{font-size:.84rem;font-weight:700;color:var(--navy2);font-family:'Cormorant Garamond',serif}
.attr-dist{font-size:.7rem;color:var(--marigold);font-weight:600}
.attr-desc{font-size:.72rem;color:var(--txt3);line-height:1.55}

/* ────────────────────────────────────────────
   HOTEL DETAIL PAGE
──────────────────────────────────────────── */
.detail-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;padding:2rem 4%;width:100%;box-sizing:border-box;align-items:start}
.detail-main{min-width:0}
.detail-gallery{border-radius:16px;overflow:hidden;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:290px 190px;gap:.5rem;margin-bottom:2rem;background:#e8d5b7}
.gal-main{grid-row:1/3;overflow:hidden;cursor:pointer}
.gal-thumb{overflow:hidden;cursor:pointer}
.detail-gallery img{width:100%;height:100%;object-fit:cover;display:block;opacity:1!important}
.gal-main-bg,.gal-thumb-bg{position:absolute;inset:0;overflow:hidden;cursor:pointer}.gal-main-bg img,.gal-thumb-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:contrast(1.05) saturate(1.1);opacity:1!important}
.gal-main-bg:hover img,.gal-thumb-bg:hover img{transform:scale(1.04)}
/* Gallery direct img approach */
.detail-gallery img{width:100%;height:100%;object-fit:cover;display:block;opacity:1}
.detail-gallery > div{overflow:hidden}

.gal-thumb{position:relative;overflow:hidden}
.gal-more-btn{position:absolute;inset:0;background:rgba(15,31,61,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.82rem;font-weight:700;border:none;cursor:pointer;transition:background .2s;backdrop-filter:blur(2px)}
.gal-more-btn:hover{background:rgba(15,31,61,.7)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:2000;display:none;align-items:center;justify-content:center;flex-direction:column}
.lightbox.open{display:flex}
.lb-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px}
.lb-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;opacity:.7;transition:opacity .2s}
.lb-close:hover{opacity:1}
.lb-arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(212,134,10,.2);backdrop-filter:blur(10px);border:1px solid rgba(212,134,10,.4);color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;z-index:2001}
.lb-arr:hover{background:rgba(212,134,10,.45)}
.lb-arr-l{left:1.5rem}.lb-arr-r{right:1.5rem}
.lb-counter{position:absolute;bottom:1.5rem;color:rgba(255,255,255,.6);font-size:.8rem;background:rgba(0,0,0,.4);padding:.3rem .8rem;border-radius:20px}

.detail-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:800;color:var(--navy2);margin-bottom:.4rem}
.detail-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}
.detail-badge{font-size:.68rem;font-weight:700;padding:.3rem .7rem;border-radius:20px;border:1.5px solid currentColor}
.detail-rating{display:flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--txt)}
.detail-loc{font-size:.8rem;color:var(--txt3)}

.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:1rem}
.amenity-chip{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;background:var(--ivory2);border:1px solid var(--border);border-radius:var(--r);font-size:.75rem;color:var(--txt2)}
.amenity-icon{font-size:.9rem;flex-shrink:0}

.room-types{margin-top:1.5rem;display:flex;flex-direction:column;gap:.8rem}
.rmc{background:#fff;border:2px solid var(--border);border-radius:var(--r2);padding:1rem 1.2rem;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.rmc:hover,.rmc.sel{border-color:var(--marigold);background:var(--ivory2);box-shadow:0 4px 14px rgba(212,134,10,.1)}
.rmc-with-img{padding:.75rem!important;gap:.75rem!important}
.rmc-img-side{width:90px;height:75px;flex-shrink:0;border-radius:8px;overflow:hidden;position:relative;cursor:zoom-in}
.rmc-img-side img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rmc-img-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;font-size:1.1rem}
.rmc-img-side:hover img{transform:scale(1.08)}
.rmc-img-side:hover .rmc-img-overlay{opacity:1}
@media(max-width:480px){.rmc-img-side{width:70px;height:60px}}
.rmc-name{font-size:.9rem;font-weight:700;color:var(--navy2);margin-bottom:.18rem;font-family:'Cormorant Garamond',serif}
.rmc-beds{font-size:.75rem;color:var(--txt3);margin-bottom:.35rem}
.rmc-amen{display:flex;gap:.35rem;flex-wrap:wrap}
.rmc-amen-chip{font-size:.65rem;background:var(--bg3);color:var(--txt2);padding:.18rem .5rem;border-radius:4px}
.rmc-price{font-size:1.1rem;font-weight:800;color:var(--marigold);white-space:nowrap;text-align:right}
.rmc-price-sub{font-size:.68rem;color:var(--txt3);margin-top:.08rem}
.btn-rmc-sel{padding:.45rem 1rem;background:var(--teal);color:#fff;border:none;border-radius:7px;font-size:.75rem;font-weight:600;transition:all .25s;white-space:nowrap;margin-top:.5rem}
.btn-rmc-sel:hover{background:var(--teal4)}
.rmc.sel .btn-rmc-sel{background:#166534;color:#fff}
.rmc-sel-right{display:flex;flex-direction:column;align-items:flex-end}

/* Detail Sidebar (Booking Widget) */
.booking-widget{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:1.4rem;position:sticky;top:80px;box-shadow:var(--sh);border-top:3px solid var(--marigold)}
.bw-price{font-size:1.6rem;font-weight:800;color:var(--navy2);margin-bottom:.08rem;font-family:'Cormorant Garamond',serif}
.bw-price span{font-size:.78rem;font-weight:400;color:var(--txt3)}
.bw-rating{display:flex;align-items:center;gap:.3rem;font-size:.8rem;margin-bottom:1.2rem;color:var(--txt)}
.bw-dates{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:.9rem}
.bw-date-box{padding:.72rem .85rem;display:flex;flex-direction:column;gap:.12rem;cursor:pointer;transition:background .2s}
.bw-date-box:hover{background:var(--ivory2)}
.bw-date-box:first-child{border-right:1.5px solid var(--border)}
.bw-date-label{font-size:.57rem;font-weight:700;color:var(--marigold);letter-spacing:.08em;text-transform:uppercase}
.bw-date-val{border:none;outline:none;font-size:.85rem;font-weight:600;color:var(--txt);background:transparent;width:100%;font-family:'DM Sans',sans-serif;cursor:pointer}
.bw-guests-row{display:flex;align-items:center;justify-content:space-between;border:1.5px solid var(--border);border-radius:10px;padding:.72rem .95rem;margin-bottom:1rem}
.bw-guests-lbl{font-size:.7rem;font-weight:700;color:var(--marigold);letter-spacing:.07em;text-transform:uppercase}
.bw-guests-ctrl{display:flex;align-items:center;gap:.65rem}
.bw-g-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border2);background:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;line-height:1}
.bw-g-btn:hover{border-color:var(--marigold);color:var(--marigold)}
.bw-g-count{font-size:.88rem;font-weight:600;min-width:18px;text-align:center}
.bw-nights{font-size:.82rem;color:var(--txt2);margin-bottom:.55rem;text-align:center}
.btn-book-now{width:100%;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;padding:1rem;font-size:.92rem;font-weight:700;border:none;border-radius:10px;transition:all .3s;box-shadow:0 4px 16px rgba(212,134,10,.35);margin-bottom:.75rem}
.btn-book-now:hover{background:linear-gradient(135deg,var(--orange2),var(--marigold2));transform:translateY(-1px);box-shadow:0 8px 24px rgba(212,134,10,.5)}
.bw-total-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--txt2);margin-bottom:.35rem}
.bw-total-row.bold{font-weight:700;font-size:.9rem;color:var(--txt);border-top:1px solid var(--border);padding-top:.5rem;margin-top:.15rem}
.bw-note{font-size:.7rem;color:var(--txt3);text-align:center}

/* ────────────────────────────────────────────
   BOOKING / PAYMENT / CONFIRM PAGES
──────────────────────────────────────────── */
.bk-page{padding-top:80px;padding-bottom:4rem;background:var(--ivory2);min-height:100vh}
.bk-wrap{max-width:1100px;margin:0 auto;padding:1.5rem 5%}
.bk-progress{display:flex;align-items:center;gap:.35rem;margin-bottom:2rem}
.bk-step{display:flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600}
.bk-step-num{width:24px;height:24px;border-radius:50%;background:var(--border);color:var(--txt3);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;transition:all .25s}
.bk-step.active .bk-step-num{background:var(--marigold);color:#fff;box-shadow:0 2px 8px rgba(212,134,10,.4)}
.bk-step.done .bk-step-num{background:#22c55e;color:#fff}
.bk-step.active .bk-step-lbl{color:var(--txt)}
.bk-step-lbl{color:var(--txt3);transition:color .25s}
.bk-sep{flex:1;height:1.5px;background:var(--border);max-width:80px}

.bk-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}
.bk-main{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.5rem;border-top:3px solid var(--marigold)}
.bk-main-h{font-size:1rem;font-weight:700;color:var(--navy2);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);font-family:'Cormorant Garamond',serif}
.bk-sidebar{background:#fffdf8;border:2px solid rgba(212,134,10,.35);border-radius:16px;padding:1.6rem;position:sticky;top:80px;border-top:4px solid var(--marigold);box-shadow:0 8px 32px rgba(212,134,10,.12),0 2px 8px rgba(0,0,0,.06)}
.bk-hotel-row{display:flex;gap:.85rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.bk-hotel-img{width:70px;height:70px;border-radius:8px;overflow:hidden;flex-shrink:0;position:relative}
.bk-hotel-img-bg{position:absolute;inset:0;overflow:hidden}.bk-hotel-img-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bk-hotel-name{font-size:1.05rem;font-weight:800;color:var(--navy2);font-family:'Cormorant Garamond',serif}
.bk-hotel-loc{font-size:.7rem;color:var(--txt3);margin-top:.15rem}
.bk-hotel-stars{color:var(--marigold);font-size:.75rem;margin-top:.3rem}
.bk-sum-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--txt);margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.bk-sum-row:last-of-type{border-bottom:none}
.bk-sum-total{display:flex;justify-content:space-between;font-size:1rem;font-weight:700;border-top:2px solid var(--border);padding-top:.75rem;margin-top:.3rem}
.bk-sum-total span:last-child{color:var(--marigold)}

/* Form styles */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-row.full{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-group label{font-size:.7rem;font-weight:700;color:var(--marigold);letter-spacing:.07em;text-transform:uppercase}
.form-inp{width:100%;border:1.5px solid var(--border);padding:.7rem .9rem;font-size:.85rem;color:var(--txt);border-radius:8px;outline:none;transition:all .25s;font-family:'DM Sans',sans-serif;background:#fff}
.form-inp:focus{border-color:var(--marigold);box-shadow:0 0 0 3px rgba(212,134,10,.1)}

/* Toggle */
.toggle-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.tgl-btn{padding:.48rem .9rem;border-radius:8px;border:1.5px solid var(--border);font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;color:var(--txt2);transition:all .2s}
.tgl-btn.on{background:var(--navy2);border-color:var(--navy2);color:#fff}
.aadhaar-ok{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.65rem .9rem;font-size:.78rem;color:#166534;margin-top:.75rem;display:none}
.aadhaar-ok.show{display:block}

/* Payment */
.pay-sec-lbl{font-size:.65rem;font-weight:700;color:var(--marigold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem}
.pay-methods{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.pmt{padding:.5rem 1rem;border:1.5px solid var(--border);border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;color:var(--txt2);transition:all .2s}
.pmt.on,.pmt:hover{border-color:var(--marigold);background:var(--ivory2);color:var(--marigold)}
.pay-r2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.pay-note{font-size:.72rem;color:var(--txt3);background:var(--ivory2);border:1px solid var(--border);border-radius:8px;padding:.75rem;margin:1rem 0;line-height:1.6}
.btn-pay{width:100%;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;padding:1rem;font-size:.92rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px rgba(212,134,10,.35)}
.btn-pay:hover{background:linear-gradient(135deg,var(--orange2),var(--marigold2));transform:translateY(-1px)}

/* ────────────────────────────────────────────
   RESPONSIVE
──────────────────────────────────────────── */
@media(max-width:1200px){
  .prop-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:1024px){
  .detail-layout,.bk-layout{grid-template-columns:1fr}
  .detail-gallery{grid-template-rows:240px 160px}
  .booking-widget,.bk-sidebar{position:relative;top:auto}
  .amenities-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .nav-links,.nav-right{display:none}
  .nav-ham{display:flex}
  .hero-search .hs-wrap{flex-wrap:wrap}
  .hs-field{min-width:calc(50% - .5rem);border-right:none;border-bottom:1.5px solid var(--bg3)}
  .btn-hs-search{width:calc(100% - 1.1rem);margin:.55rem}
  .destinations-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:.75rem}
  .dest-card:nth-child(1),.dest-card:nth-child(2),.dest-card:nth-child(3),.dest-card:nth-child(4),.dest-card:nth-child(5),.dest-card:nth-child(6){grid-row:auto;height:200px}
  .hotels-grid{grid-template-columns:1fr 1fr}
  .benefits-grid,.why-grid,.testi-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .listings-layout{flex-direction:column;padding:1.5rem 4%}
  .filter-sidebar{width:100%;position:relative;top:auto}
  .prop-grid{grid-template-columns:1fr 1fr}
  .attr-grid{grid-template-columns:1fr 1fr}
  .awards-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .bk-layout{grid-template-columns:1fr}
  .hero{height:calc(100svh - 64px);min-height:540px}
}
@media(max-width:600px){
  .hero-search{bottom:1rem}
  .hs-field{min-width:100%}
  .destinations-grid{grid-template-columns:1fr}
  .hotels-grid,.prop-grid{grid-template-columns:1fr}
  .attr-grid{grid-template-columns:1fr 1fr}
  .awards-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .slide-content{padding:0 5%}
  .slide-h{font-size:2rem}
}

/* ────────────────────────────────────────────
   RAJASTHANI SVG ICONS (inline, colorful)
──────────────────────────────────────────── */

/* Raj icon base */
.raj-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.raj-icon svg{width:100%;height:100%;display:block}

/* Nav city icon chips */
.nav-city-chip{display:flex;align-items:center;gap:.38rem}
.nav-city-chip .ricon{width:18px;height:18px}

/* Benefit icons */
.benefit-ico-wrap{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;position:relative}
.benefit-ico-wrap svg{width:36px;height:36px}

/* Why card icons */
.why-ico-wrap{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem}
.why-ico-wrap svg{width:32px;height:32px}

/* Attraction icon */
.attr-icon-wrap svg{width:28px;height:28px}

/* Property card favorite */
.pc-fav svg,.hc-fav svg{width:16px;height:16px}

/* ────────────────────────────────────────────
   GLASS MORPHISM — Rajasthani Theme
──────────────────────────────────────────── */
.glass{
  background:rgba(255,253,248,.72);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(212,134,10,.18);
  box-shadow:0 8px 32px rgba(15,31,61,.08);
}
.glass-dark{
  background:rgba(15,31,61,.65);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(212,134,10,.2);
  box-shadow:0 8px 32px rgba(0,0,0,.2);
}
.glass-card{
  background:rgba(255,253,248,.8);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(212,134,10,.15);
  border-radius:var(--r3);
  box-shadow:0 4px 24px rgba(15,31,61,.08),0 1px 0 rgba(255,255,255,.9) inset;
}
/* Glass Nav when transparent */
#nav.transparent{
  background:rgba(15,31,61,.35)!important;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom-color:rgba(212,134,10,.2)!important;
}
/* Glass Search Bar */
/* glass merged into .hs-wrap */
/* Glass Hotel Cards */
.hotel-card,.prop-card{
  background:rgba(255,253,248,.9);
  backdrop-filter:blur(8px);
}
/* Glass Booking Widget */
.booking-widget{
  background:rgba(255,253,248,.95)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 16px 48px rgba(15,31,61,.12),0 1px 0 rgba(255,255,255,.9) inset!important;
}
/* Glass Filter Sidebar */
.filter-sidebar{
  background:rgba(255,253,248,.9)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
/* Glass Slide Tags */
.slide-tag{
  background:rgba(212,134,10,.18)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
/* Glass Slide Arrows */
.slide-arr{
  background:rgba(212,134,10,.18)!important;
  backdrop-filter:blur(12px)!important;
}
/* Glass Dots */
.slide-dots{
  background:rgba(0,0,0,.2);
  backdrop-filter:blur(8px);
  border-radius:20px;
  padding:.3rem .5rem;
}
/* Glass City Hero Stats */
.city-hero-stats span{
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
  border-radius:20px;
  padding:.25rem .75rem;
  border:1px solid rgba(255,255,255,.15);
}

/* ── RAJASTHANI SVG ICON SYSTEM ── */
.raj-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
/* Mandala spinner for loading */
@keyframes spin-slow{to{transform:rotate(360deg)}}
.raj-spin{animation:spin-slow 8s linear infinite}

/* ── NUMBER FONT (Rajasthani feel) ── */
/* ── NUMBER FONT — Yeseva One (Royal Rajasthani feel) ── */
.num-font,.bw-price,.calc-total-row .val,.fact-num,.hist-hero-meta-num,
.a-card-num,.demo-stat-num,.bot-stat-num,.map-stat-num,.stat-num{
  font-family:'Yeseva One','Cormorant Garamond',serif!important;
  font-variant-numeric:lining-nums;letter-spacing:.01em;
}
/* Price numbers */
.pc-price,.hc-price,.bw-price,.rmc-price,.bw-g-count{
  font-family:'Yeseva One','Cormorant Garamond',serif!important;
}
/* Hero big numbers */


/* ── CHATBOT ── */





.cb-header{
  background:linear-gradient(135deg,var(--navy2),#1e3a5f);
  padding:.9rem 1.1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;
}
.cb-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--marigold),var(--ruby));display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
.cb-header-info h4{font-size:.88rem;font-weight:700;color:#fff;margin-bottom:.1rem}
.cb-header-info p{font-size:.65rem;color:rgba(255,255,255,.55)}
.cb-close{margin-left:auto;background:rgba(255,255,255,.1);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.cb-msgs{flex:1;overflow-y:auto;padding:.85rem;display:flex;flex-direction:column;gap:.55rem;background:var(--ivory2)}
.cb-msg{max-width:82%;padding:.6rem .85rem;border-radius:14px;font-size:.8rem;line-height:1.6}
.cb-msg.bot{background:#fff;color:var(--txt);align-self:flex-start;border-bottom-left-radius:4px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.cb-msg.user{background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.cb-msg-time{font-size:.62rem;opacity:.55;margin-top:.2rem;text-align:right}
.cb-quick{padding:.55rem .85rem;display:flex;gap:.35rem;flex-wrap:wrap;background:#fff;border-top:1px solid var(--border);flex-shrink:0}
.cb-qbtn{background:var(--ivory2);border:1px solid rgba(212,134,10,.3);border-radius:20px;padding:.28rem .7rem;font-size:.68rem;color:var(--marigold);cursor:pointer;font-weight:600;transition:all .2s;font-family:'Inter',sans-serif}
.cb-qbtn:hover{background:var(--marigold);color:#fff}
.cb-input-row{padding:.6rem .85rem;display:flex;gap:.5rem;align-items:center;background:#fff;border-top:1px solid var(--border);flex-shrink:0}
.cb-input{flex:1;border:1.5px solid var(--border);border-radius:20px;padding:.45rem .85rem;font-size:.8rem;outline:none;font-family:'Inter',sans-serif;background:var(--ivory2);color:var(--txt)}
.cb-input:focus{border-color:var(--marigold)}
.cb-send{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--marigold),var(--orange));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cb-typing{display:flex;gap:4px;align-items:center;padding:.6rem .85rem}
.cb-typing span{width:7px;height:7px;border-radius:50%;background:var(--marigold);animation:typingDot 1.2s ease-in-out infinite}
.cb-typing span:nth-child(2){animation-delay:.2s}
.cb-typing span:nth-child(3){animation-delay:.4s}
@keyframes typingDot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}

/* ── MULTI ROOM SELECT ── */
.room-qty-row{display:flex;align-items:center;gap:.5rem;margin-top:.6rem}
.room-qty-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border2);background:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;line-height:1}
.room-qty-btn:hover{border-color:var(--marigold);color:var(--marigold)}
.room-qty-num{font-size:.85rem;font-weight:700;min-width:20px;text-align:center;color:var(--navy2)}
.rmc.multi-sel{border-color:var(--marigold)!important;background:var(--ivory2)!important}

/* ── AADHAAR 3-STEP FLOW ── */
.adh-steps{display:flex;align-items:center;margin-bottom:1.5rem;padding:.85rem 1rem;background:var(--ivory2);border:1px solid var(--border);border-radius:12px}
.adh-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}
.adh-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--border);color:var(--txt3);transition:all .3s}
.adh-step span{font-size:.65rem;font-weight:600;color:var(--txt3);text-align:center;transition:color .3s}
.adh-step.active .adh-step-num{background:var(--marigold);color:#fff;box-shadow:0 2px 8px rgba(212,134,10,.4)}
.adh-step.active span{color:var(--marigold);font-weight:700}
.adh-step.done .adh-step-num{background:#1e8449;color:#fff}
.adh-step.done span{color:#1e8449}
.adh-sep{flex:1;height:2px;background:var(--border);border-radius:2px;max-width:40px}
.adh-capture-preview{border-radius:10px;overflow:hidden;border:2px solid #16a34a;max-height:130px}


/* ────────────────────────────────────────────
   SKELETON LOADING
──────────────────────────────────────────── */
@keyframes shimmer{0%{background-position:-600px 0}100%{background-position:600px 0}}
.skeleton{background:linear-gradient(90deg,#f0ece4 25%,#e8e0d4 50%,#f0ece4 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:6px}
.skel-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.skel-img{height:200px}.skel-body{padding:1rem}
.skel-line{height:12px;margin-bottom:9px}.skel-line.short{width:60%}.skel-line.med{width:80%}.skel-line.full{width:100%}
.skel-price{height:20px;width:40%;margin-bottom:8px}
.skel-btn{height:36px;border-radius:8px;margin-top:6px}

.hc-img{position:relative;overflow:hidden}

/* ────────────────────────────────────────────
   STICKY MOBILE BOOK BAR
──────────────────────────────────────────── */
.sticky-book-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:700;
  background:rgba(255,253,248,.97);backdrop-filter:blur(16px);
  border-top:1.5px solid var(--border);
  padding:.75rem 5%;
  align-items:center;justify-content:space-between;gap:.75rem;
  box-shadow:0 -4px 20px rgba(0,0,0,.1);
}
@media(max-width:900px){.sticky-book-bar{display:flex}}
.sticky-book-price{font-family:'Yeseva One',serif;font-size:1.3rem;font-weight:700;color:var(--navy2)}
.sticky-book-sub{font-size:.65rem;color:var(--txt3)}
.sticky-book-btn{background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;border:none;border-radius:10px;padding:.75rem 1.75rem;font-size:.88rem;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 4px 14px rgba(212,134,10,.4)}

/* ────────────────────────────────────────────
   MOBILE FILTER BOTTOM SHEET
──────────────────────────────────────────── */
.filter-sheet-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:600;backdrop-filter:blur(2px)}
.filter-sheet-overlay.open{display:block}
.filter-sheet{position:fixed;bottom:0;left:0;right:0;z-index:601;background:#fff;border-radius:20px 20px 0 0;padding:1.25rem 5% 2rem;max-height:80vh;overflow-y:auto;transform:translateY(100%);transition:transform .35s cubic-bezier(.34,1.1,.64,1);box-shadow:0 -8px 32px rgba(0,0,0,.15)}
.filter-sheet.open{transform:translateY(0)}
.sheet-handle{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:0 auto 1.1rem}
.sheet-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--navy2);margin-bottom:1.1rem}
.filter-chip-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.85rem}
.filter-chip{padding:.4rem .85rem;border-radius:20px;border:1.5px solid var(--border);font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;color:var(--txt2);transition:all .2s;font-family:'Inter',sans-serif}
.filter-chip.on{background:var(--marigold);border-color:var(--marigold);color:#fff}
.sheet-apply-btn{width:100%;background:linear-gradient(135deg,var(--marigold),var(--orange));color:#fff;border:none;border-radius:10px;padding:.85rem;font-size:.9rem;font-weight:700;cursor:pointer;margin-top:1rem}
.mob-filter-btn{display:none}
@media(max-width:900px){
  .mob-filter-btn{display:flex;align-items:center;gap:.4rem;background:var(--ivory2);border:1.5px solid var(--border);border-radius:8px;padding:.55rem 1rem;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--navy2)}
}

/* ────────────────────────────────────────────
   CALENDAR PICKER
──────────────────────────────────────────── */
.cal-wrap{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:300;background:#fff;border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.18);border:1px solid var(--border);border-top:3px solid var(--marigold);width:320px;display:none}
.cal-wrap.open{display:block}
.cal-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}
.cal-nav{background:none;border:1px solid var(--border);border-radius:6px;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s}
.cal-nav:hover{background:var(--ivory2);border-color:var(--marigold)}
.cal-month{font-family:'Playfair Display',serif;font-size:.88rem;font-weight:700;color:var(--navy2)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:.65rem .75rem .85rem}
.cal-dow{text-align:center;font-size:.6rem;font-weight:700;color:var(--txt3);padding:.2rem 0;letter-spacing:.07em}
.cal-day{text-align:center;padding:.35rem .2rem;border-radius:6px;font-size:.78rem;cursor:pointer;transition:all .15s;position:relative}
.cal-day:hover:not(.cal-empty):not(.cal-past){background:var(--ivory3);color:var(--navy2)}
.cal-day.today{font-weight:700;color:var(--marigold)}
.cal-day.selected-start,.cal-day.selected-end{background:var(--marigold);color:#fff;font-weight:700;border-radius:6px}
.cal-day.in-range{background:rgba(212,134,10,.12);border-radius:0;color:var(--navy2)}
.cal-day.selected-start{border-radius:6px 0 0 6px}
.cal-day.selected-end{border-radius:0 6px 6px 0}
.cal-day.selected-start.selected-end{border-radius:6px}
.cal-day.cal-past{color:#d1d5db;cursor:not-allowed}
.cal-day.cal-empty{cursor:default}
.cal-day.cheap{color:#1e8449;font-weight:700}
.cal-day.cheap::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#22c55e}
.cal-day.expensive{color:#dc2626}
.cal-legend{display:flex;gap:.75rem;padding:.45rem .75rem .7rem;font-size:.65rem;color:var(--txt3);border-top:1px solid var(--bg3);justify-content:center}
.cal-legend span{display:flex;align-items:center;gap:.3rem}
.cal-selected-range{padding:.6rem .75rem;background:var(--ivory2);font-size:.75rem;color:var(--txt2);text-align:center;font-weight:600;border-top:1px solid var(--border);display:none}

/* ────────────────────────────────────────────
   RECENTLY VIEWED
──────────────────────────────────────────── */
.recently-viewed{padding:2rem 5% 1.5rem;background:var(--ivory2);border-top:1px solid var(--border)}
.rv-strip{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}
.rv-strip::-webkit-scrollbar{display:none}
.rv-card{flex:0 0 200px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .25s;text-decoration:none;color:inherit}
.rv-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(212,134,10,.12);border-color:var(--marigold)}
.rv-img{height:100px;position:relative;overflow:hidden}
.rv-img img{width:100%;height:100%;object-fit:cover}
.rv-body{padding:.6rem .75rem}
.rv-name{font-size:.78rem;font-weight:700;color:var(--navy2);margin-bottom:.1rem;font-family:'Playfair Display',serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-price{font-size:.7rem;color:var(--marigold);font-weight:600}

/* ────────────────────────────────────────────
   AVAILABILITY URGENCY
──────────────────────────────────────────── */
.avail-badge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);border-radius:20px;padding:.2rem .6rem;font-size:.65rem;font-weight:700;color:#dc2626}
.avail-badge.low{animation:badgePulse 2s ease-in-out infinite}
@keyframes badgePulse{0%,100%{opacity:1}50%{opacity:.7}}

/* ────────────────────────────────────────────
   MAP
──────────────────────────────────────────── */
.map-panel{height:420px;border-radius:14px;overflow:hidden;border:1px solid var(--border);margin-bottom:1.5rem;position:relative}
.map-toggle-row{display:flex;gap:.5rem;margin-bottom:.85rem}
.map-toggle-btn{padding:.46rem .9rem;border-radius:8px;border:1.5px solid var(--border);font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;color:var(--txt2);transition:all .2s}
.map-toggle-btn.on{background:var(--navy2);border-color:var(--navy2);color:#fff}
.leaflet-popup-content-wrapper{border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,.15)!important;border:1px solid var(--border)!important}
.map-popup-name{font-family:'Playfair Display',serif;font-weight:700;font-size:.88rem;color:var(--navy2);margin-bottom:.2rem}
.map-popup-price{color:var(--marigold);font-weight:700;font-size:.82rem}
.map-popup-btn{display:block;margin-top:.45rem;background:var(--marigold);color:#fff;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.72rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;width:100%}

/* ════════════════════════════════════════════
   DARK MODE
════════════════════════════════════════════ */
[data-theme="dark"]{
  --teal:#22d3ee;--teal2:#06b6d4;--teal3:#0c4a6e;--teal4:#0891b2;
  --peacock:#60a5fa;--peacock2:#93c5fd;
  --marigold:#fbbf24;--marigold2:#f59e0b;--marigold3:#1c1408;--marigold-icon:#fbbf24;
  --ruby:#f87171;--ruby2:#ef4444;
  --ivory:#1a1410;--ivory2:#1e1812;--ivory3:#241f16;
  --sand:#2a2218;--sand2:#3a2f1e;
  --orange:#fb923c;--orange2:#f97316;
  --navy:#e2d9c8;--navy2:#f5efe3;
  --txt:#e8ddd0;--txt2:#c4b8a8;--txt3:#9a8f80;
  --bg:#0f0d0a;--bg2:#141210;--bg3:#1a1714;
  --border:#2a2520;--border2:#3a3028;
  --sh:0 1px 3px rgba(0,0,0,.4);
  --sh2:0 4px 14px rgba(0,0,0,.35);
  --sh3:0 12px 40px rgba(0,0,0,.5);
}
[data-theme="dark"] body{background:var(--bg);color:var(--txt)}
[data-theme="dark"] #nav{background:rgba(15,13,10,.95)!important;border-bottom-color:#2a2520!important}
[data-theme="dark"] #nav.transparent{background:rgba(15,13,10,.4)!important}
[data-theme="dark"] .hotel-card,[data-theme="dark"] .prop-card,[data-theme="dark"] .why-card,
[data-theme="dark"] .tcard,[data-theme="dark"] .bk-main,[data-theme="dark"] .bk-sidebar,
[data-theme="dark"] .booking-widget,[data-theme="dark"] .filter-sidebar,
[data-theme="dark"] .faq-item,[data-theme="dark"] .rmc,[data-theme="dark"] .attr-card{
  background:#1a1714!important;border-color:#2a2520!important;
}
[data-theme="dark"] .section{background:var(--bg)!important}
[data-theme="dark"] .section.alt-bg,[data-theme="dark"] .benefits-sec,
[data-theme="dark"] .attractions-sec,[data-theme="dark"] .press-sec,
[data-theme="dark"] .recently-viewed{background:#141210!important}
[data-theme="dark"] .hs-wrap{background:rgba(26,23,20,.97)!important;border-color:#3a3028!important}
[data-theme="dark"] .hs-inp{color:var(--txt)!important}
[data-theme="dark"] .mob-menu{background:#1a1714}
[data-theme="dark"] .form-inp{background:#1a1714;border-color:#2a2520;color:var(--txt)}
[data-theme="dark"] .form-inp:focus{border-color:var(--marigold)}
[data-theme="dark"] .slide::after{background:linear-gradient(to bottom,rgba(5,4,3,.2) 0%,transparent 40%,rgba(5,4,3,.88) 100%)!important}
[data-theme="dark"] .dest-overlay{background:linear-gradient(to top,rgba(5,4,3,.9),rgba(0,0,0,.15) 55%,transparent)!important}
[data-theme="dark"] .cal-wrap,[data-theme="dark"] .city-sugg{background:#1a1714;border-color:#2a2520}
[data-theme="dark"] .cal-day:hover:not(.cal-empty):not(.cal-past){background:#2a2520}
[data-theme="dark"] .ltab{background:#1a1714;border-color:#2a2520;color:var(--txt3)}
[data-theme="dark"] .sort-select{background:#1a1714;color:var(--txt);border-color:#2a2520}
[data-theme="dark"] .hc-body,[data-theme="dark"] .pc-body{background:#1a1714}
[data-theme="dark"] .rv-card{background:#1a1714;border-color:#2a2520}
[data-theme="dark"] .cb-msgs{background:#141210}
[data-theme="dark"] .cb-msg.bot{background:#1a1714;border-color:#2a2520;color:var(--txt)}
[data-theme="dark"] 
[data-theme="dark"] .cb-quick,[data-theme="dark"] .cb-input-row{background:#1a1714;border-color:#2a2520}
[data-theme="dark"] .cb-input{background:#141210;border-color:#2a2520;color:var(--txt)}
[data-theme="dark"] .ver-card{background:#1a1714;border-color:#2a2520}
[data-theme="dark"] .scan-wrap,[data-theme="dark"] .groupModal div,[data-theme="dark"] .priceAlertModal div{filter:none}

/* Dark mode toggle button */
.dm-toggle{
  width:36px;height:36px;border-radius:50%;
  background:var(--ivory2);border:1.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1rem;transition:all .25s;flex-shrink:0;
}
.dm-toggle:hover{border-color:var(--marigold);background:var(--ivory3)}

/* UPI App Buttons */
.upi-app-btn{width:100%;display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--border);background:#fff;border-radius:8px;padding:.55rem .9rem;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s;font-family:'Inter',sans-serif;color:var(--txt)}
.upi-app-btn:hover{border-color:var(--marigold);background:var(--ivory2)}
[data-theme="dark"] .upi-app-btn{background:#1a1714;border-color:#2a2520;color:var(--txt)}

/* ════════════════════════════════════════════
   SMOOTH PAGE LOAD & PERFORMANCE
════════════════════════════════════════════ */

/* Prevent flash of unstyled content */
html{visibility:visible}
/* html visibility managed by JS */

/* Smooth page transitions */
@keyframes fadeInPage{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
body{animation:fadeInPage .2s ease forwards}

/* Images always visible */
img{display:block}

/* Prevent layout shift on images - subtle background while loading */
.hc-img,.pc-img,.gal-main,.gal-thumb,.rv-img,.bk-hotel-img{background:linear-gradient(135deg,#e8d5b7,#f5e6d0)}

/* Fix hero white flash - dark background so hero never appears white */
.hero,.hist-hero{background:linear-gradient(135deg,#1a1020,#0f2239)!important}
.slide{background:linear-gradient(135deg,#1a1020,#0f2239)}
.hero-slides,.slide-bg{background:linear-gradient(135deg,#1a1020,#0f2239)}

/* Smooth nav shadow transition */
#nav{transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}

/* Fix font swap flash */
.sec-h,.slide-h,.hc-name,.pc-name,.hotel-card h3,h1,h2,h3{
  font-display:swap;
}

/* Prevent scroll-jump on modal open */
body.modal-open{overflow:hidden;padding-right:0}

/* Glass effect - unified (remove conflicts) */
.glass-card,.booking-widget,.filter-sidebar,.hs-wrap{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

/* Fix prop-grid layout at all breakpoints */
@media(min-width:1201px){.prop-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:901px) and (max-width:1200px){.prop-grid{grid-template-columns:repeat(2,1fr)}}

/* Smooth skeleton shimmer */
@keyframes shimmer{
  0%{background-position:-800px 0}
  100%{background-position:800px 0}
}
.skeleton{
  background:linear-gradient(90deg,#f0ece4 0%,#e8e0d4 50%,#f0ece4 100%);
  background-size:800px 100%;
  animation:shimmer 1.6s ease-in-out infinite;
}

/* Fix calendar z-index */
.cal-wrap{z-index:500}

/* Fix chatbot z-index on mobile */



/* Smooth modal animations */
#tourModal,#groupModal,#priceAlertModal,#reviewModal{
  transition:opacity .25s ease;
}

/* Fix sticky bar padding for mobile bottom nav */
@media(max-width:900px){
  body{padding-bottom:0}
  .sticky-book-bar{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}
}

/* ── RTDC Logo — background removal ── */
.nav-logo img {
  mix-blend-mode: multiply;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
}
#nav.transparent .nav-logo img,
#nav.rtdc-style .nav-logo img {
  mix-blend-mode: screen;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.4)) brightness(1.1);
}
.footer-brand-logo img {
  mix-blend-mode: normal;
  filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,0.3));
  opacity: 0.9;
}




