:root{--vs-primary:#111111;--vs-secondary:#8a6700;--vs-accent:#ffde59;--vs-bg:#faf8f3;--vs-text:#161616;--vs-white:#fff;--bs-body-font-family:'Montserrat',system-ui,sans-serif;--bs-body-color:var(--vs-text);--bs-body-bg:var(--vs-bg);--bs-link-color:var(--vs-secondary)}
html{overflow-x:hidden}body{overflow-x:hidden;padding-bottom:64px}
@media(min-width:992px){body{padding-bottom:0}}
h1,h2,.display-font{font-family:'Montserrat',system-ui,sans-serif;color:var(--vs-primary)}
a{text-decoration:none}img{max-width:100%}
.vs-nav{background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.06)}
.vs-brand{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.4rem;color:var(--vs-primary)!important;letter-spacing:.5px}
.vs-nav .nav-link{font-weight:500;color:var(--vs-text)}.vs-nav .nav-link.active,.vs-nav .nav-link:hover{color:var(--vs-secondary)}
.btn-vs{background:var(--vs-primary);color:#fff;border:0}.btn-vs:hover,.btn-vs:focus{background:var(--vs-secondary);color:#fff}
.btn-outline-vs{border:1px solid var(--vs-primary);color:var(--vs-primary)}.btn-outline-vs:hover{background:var(--vs-primary);color:#fff}
.btn-accent{background:var(--vs-accent);color:#161616;border:0;font-weight:600}.btn-accent:hover{background:#e8c53f;color:#161616}
.btn{border-radius:10px}.btn-lg{padding:.8rem 1.4rem}
.form-control,.form-select{border-radius:10px;min-height:44px}
.vs-card {
    background: #fff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 2px 14px rgba(17, 17, 17, .08);
    overflow: hidden;
    transition: transform .15s, box-shadow .15s;
}
.vs-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(17,17,17,.14)}
.vs-card .thumb{aspect-ratio:16/10;object-fit:cover;width:100%;background:#e5ece7}
.vs-hero{background:linear-gradient(120deg,rgba(17,17,17,.78),rgba(17,17,17,.35)),var(--hero-img,none) center/cover,#111111;color:#fff;padding:5rem 0 6rem}
.vs-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem)}
.vs-search{background:#fff;color:var(--vs-text);border-radius:18px;padding:1.25rem;box-shadow:0 12px 40px rgba(0,0,0,.2);margin-top:-3.5rem;position:relative}
.vs-tabs .nav-link{color:var(--vs-text);border-radius:10px;font-weight:600}.vs-tabs .nav-link.active{background:var(--vs-primary);color:#fff}
.section-title{font-family:'Montserrat',sans-serif;color:var(--vs-primary);font-weight:700}
.price{color:var(--vs-primary);font-weight:700}
.rating-pill{background:var(--vs-primary);color:#fff;border-radius:8px;padding:.1rem .5rem;font-size:.8rem;font-weight:600}
.chip{display:inline-block;background:#f6f3ea;color:var(--vs-primary);border-radius:20px;padding:.1rem .6rem;font-size:.75rem;margin:0 .2rem .2rem 0}
.cat-card{display:block;color:inherit;text-align:center;padding:1.5rem 1rem}
.cat-card .ico{width:64px;height:64px;border-radius:50%;background:#f6f3ea;color:var(--vs-primary);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto .75rem}
.vs-footer{background:var(--vs-primary);color:#fff}.vs-footer a{color:rgba(255,255,255,.8)}.vs-footer a:hover{color:#fff}
.vs-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.1);display:flex;z-index:1030;padding-bottom:env(safe-area-inset-bottom)}
.vs-bottom-nav a{flex:1;text-align:center;padding:.5rem 0;color:#667;font-size:.7rem;display:flex;flex-direction:column;gap:2px}.vs-bottom-nav a i{font-size:1.15rem}.vs-bottom-nav a.on{color:var(--vs-primary)}
.map-box{height:420px;border-radius:16px;overflow:hidden;z-index:0}
.user-loc-dot span{display:block;width:18px;height:18px;border-radius:50%;background:#0d6efd;border:3px solid #fff;box-shadow:0 0 0 2px rgba(13,110,253,.35),0 0 0 8px rgba(13,110,253,.12)}
.route-pin span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.leaflet-tooltip.route-label{background:#fff;border:1px solid #e3e0d8;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.12);font-size:11px;font-weight:600;color:#161616;padding:3px 7px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.leaflet-tooltip.route-label:before{display:none}
.stepper{display:flex;gap:.5rem;flex-wrap:wrap}.stop-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.stop-row .form-control{flex:1}.suggest{position:absolute;z-index:1000;background:#fff;border:1px solid #dde;border-radius:10px;width:100%;max-height:220px;overflow:auto;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.suggest div{padding:.5rem .75rem;cursor:pointer;font-size:.9rem}.suggest div:hover{background:#f6f3ea}
.dash-side{background:#fff;border-radius:16px;padding:.75rem;box-shadow:0 2px 14px rgba(17,17,17,.08)}
.dash-side a{display:block;padding:.55rem .85rem;border-radius:10px;color:var(--vs-text);font-weight:500}.dash-side a:hover,.dash-side a.on{background:#f6f3ea;color:var(--vs-primary)}
.stat{background:#fff;border-radius:16px;padding:1.1rem;box-shadow:0 2px 14px rgba(17,17,17,.08)}.stat .n{font-size:1.5rem;font-weight:700;color:var(--vs-primary)}.stat .l{font-size:.8rem;color:#667}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px;border-radius:16px;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover}.gallery img:first-child{grid-row:span 2}
@media(max-width:768px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:180px 120px}.gallery img:first-child{grid-column:span 2;grid-row:auto}.map-box{height:320px}.vs-hero{padding:3rem 0 5rem}}
.table-responsive{border-radius:12px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.8rem}.cal div{padding:.35rem 0;text-align:center;border-radius:6px;background:#f6f3ea}.cal .no{background:#f5d6d6;color:#933}.cal .h{background:transparent;font-weight:600}
.star{color:var(--vs-accent)}
@media print{.vs-nav,.vs-footer,.vs-bottom-nav,.no-print{display:none!important}body{background:#fff;padding:0}}

.cat-card{padding:0 0 1.25rem;overflow:hidden}.cat-card .cat-art{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}.cat-card .ico{margin-top:-32px;position:relative;border:3px solid #fff}.cat-card h3,.cat-card p{padding:0 1rem}


/* ===== Ranthambore Trip - travel-portal layout ===== */
:root{--vs-grad:linear-gradient(90deg,#2b2b2b,#111111);--vs-cta:linear-gradient(90deg,#ffe483,#f5c518);--vs-muted:#5d6b78;--vs-line:#e9e5da}
body{background:var(--vs-bg);font-size:.95rem}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:var(--vs-primary);padding:.5rem 1rem;z-index:2000}.skip-link:focus{left:8px;top:8px}
.vs-top{background:#fff;box-shadow:0 1px 0 var(--vs-line);position:sticky;top:0;z-index:1040}
.vs-top .brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.25rem;color:var(--vs-primary);letter-spacing:-.2px}
.vs-top .brand .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--vs-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.vs-top .brand small{display:block;font-size:.62rem;font-weight:600;color:var(--vs-muted);letter-spacing:1.2px;text-transform:uppercase;margin-top:-3px}
.vs-top .top-link{color:var(--vs-text);font-weight:600;font-size:.85rem;padding:.4rem .75rem;border-radius:8px;display:inline-flex;gap:.4rem;align-items:center}.vs-top .top-link:hover{background:#f4f1e8;color:var(--vs-primary)}
.btn-cta{background:var(--vs-cta);color:#fff!important;border:0;font-weight:700;border-radius:999px;padding:.55rem 1.6rem;box-shadow:0 6px 16px rgba(245,197,24,.28)}
.btn-cta:hover {
    filter: brightness(1.05);
    /* transform: translateY(-1px); */
}
.btn-login{background:var(--vs-grad);color:#fff!important;border:0;font-weight:700;border-radius:8px;padding:.45rem 1.1rem}
.vs-subnav{background:#fff;border-bottom:1px solid var(--vs-line)}
.vs-subnav .wrap{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;justify-content:center}.vs-subnav .wrap::-webkit-scrollbar{display:none}
.vs-subnav a{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:84px;padding:.55rem .7rem .5rem;color:var(--vs-muted);font-size:.78rem;font-weight:600;border-bottom:3px solid transparent;white-space:nowrap}
.vs-subnav a i{font-size:1.25rem}.vs-subnav a:hover{color:var(--vs-primary)}.vs-subnav a.on{color:var(--vs-secondary);border-bottom-color:var(--vs-secondary)}
@media(max-width:991.98px){.vs-subnav{display:none}}

.vs-hero{position:relative;background:linear-gradient(180deg,rgba(13,13,13,.55),rgba(13,13,13,.2) 60%,rgba(13,13,13,.55)),var(--hero-img,none) center/cover,#111111;color:#fff;padding:2.5rem 0 7.5rem;min-height:430px}
.vs-hero h1{color:#fff;font-weight:800;letter-spacing:-.5px;text-shadow:0 2px 12px rgba(0,0,0,.3);font-family:'Montserrat',system-ui,sans-serif;font-size:clamp(1.7rem,4.2vw,2.8rem)}
.vs-hero .lead{font-size:clamp(.95rem,2vw,1.15rem);text-shadow:0 1px 8px rgba(0,0,0,.35)}
.vs-search{background:#fff;color:var(--vs-text);border-radius:18px;padding:0;box-shadow:0 14px 44px rgba(13,13,13,.28);margin-top:-6.2rem;position:relative;z-index:5}
.vs-stabs{display:flex;gap:.25rem;overflow-x:auto;padding:.6rem .75rem 0;border-bottom:1px solid var(--vs-line);scrollbar-width:none}.vs-stabs::-webkit-scrollbar{display:none}
.vs-stabs button{flex:1 0 auto;min-width:92px;background:none;border:0;border-bottom:3px solid transparent;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .6rem .55rem;color:var(--vs-muted);font-weight:700;font-size:.8rem;white-space:nowrap}
.vs-stabs button i{font-size:1.35rem}.vs-stabs button.active{color:var(--vs-secondary);border-bottom-color:var(--vs-secondary);background:linear-gradient(180deg,transparent,#f7f4ec)}
.vs-sbody{padding:1.1rem 1.1rem 2.4rem}
.fld{border:1px solid var(--vs-line);border-radius:12px;padding:.45rem .8rem;background:#fff;height:100%}.fld:focus-within{border-color:var(--vs-secondary);box-shadow:0 0 0 3px rgba(255,222,89,.12)}
.fld label{display:block;font-size:.68rem;font-weight:700;color:var(--vs-muted);text-transform:uppercase;letter-spacing:.6px;margin:0}
.fld input,.fld select{border:0;outline:0;width:100%;font-weight:700;font-size:1.02rem;padding:0;background:transparent;min-height:30px;color:var(--vs-text)}
.search-go{position:absolute;left:50%;bottom:-1.35rem;transform:translateX(-50%);font-size:1.15rem;padding:.7rem 3.4rem;text-transform:uppercase;letter-spacing:1px}
@media(max-width:767.98px){.vs-hero{padding-bottom:6rem}.search-go{width:calc(100% - 2.2rem);padding:.75rem 1rem}.vs-sbody{padding-bottom:2.8rem}}

.scroller{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.25rem .25rem 1rem;scrollbar-width:thin}.scroller>*{scroll-snap-align:start;flex:0 0 auto}
.offer{width:300px;border-radius:16px;padding:1.1rem 1.2rem;color:#fff;position:relative;overflow:hidden;min-height:128px;display:flex;flex-direction:column;justify-content:space-between}
.offer:nth-child(4n+1){background:linear-gradient(120deg,#111111,#2b2b2b)}.offer:nth-child(4n+2){background:linear-gradient(120deg,#ffde59,#ffe98f)}.offer:nth-child(4n+3){background:linear-gradient(120deg,#1b8a6b,#46b58f)}.offer:nth-child(4n){background:linear-gradient(120deg,#6a4cc2,#9a7ae6)}
.offer .code{display:inline-block;border:1.5px dashed rgba(255,255,255,.8);border-radius:8px;padding:.15rem .6rem;font-weight:800;letter-spacing:1px;font-size:.85rem}
.offer .big{font-size:1.5rem;font-weight:800;line-height:1.1}
.offer::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.12)}
.sec-title{font-weight:800;font-size:clamp(1.25rem,2.4vw,1.6rem);color:var(--vs-text);font-family:'Montserrat',system-ui,sans-serif;letter-spacing:-.3px}
.sec-sub{color:var(--vs-muted);margin:-.2rem 0 1rem}
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
@media(max-width:991.98px){.svc-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:575.98px){.svc-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}
.svc{display:block;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(13,13,13,.07);color:var(--vs-text);transition:.15s;height:100%}.svc:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,13,13,.14);color:var(--vs-text)}
.svc img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.svc .b{padding:.7rem .8rem .85rem}.svc h3{font-size:.95rem;font-weight:700;margin:0 0 .15rem}.svc p{font-size:.76rem;color:var(--vs-muted);margin:0}
.cat-card{padding:0}
.card-row>.vs-card{width:270px}
@media(max-width:575.98px){.card-row>.vs-card{width:78vw}}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media(max-width:767.98px){.trust{grid-template-columns:repeat(2,1fr)}}
.trust div{background:#fff;border-radius:16px;padding:1.1rem;text-align:center;box-shadow:0 2px 12px rgba(13,13,13,.06)}.trust i{font-size:1.6rem;color:var(--vs-secondary);margin-bottom:.4rem}.trust b{display:block}.trust span{font-size:.8rem;color:var(--vs-muted)}
.faq .accordion-button{font-weight:700}.faq .accordion-item{border:0;border-radius:12px!important;margin-bottom:.6rem;box-shadow:0 2px 10px rgba(13,13,13,.06);overflow:hidden}
.vs-footer{background:#0d0d0d;color:#fff;padding-top:1rem}.vs-footer h6{font-weight:700;letter-spacing:.3px}.vs-footer .links a{display:flex;align-items:center;gap:.45rem;padding:.15rem 0;font-size:.85rem}.vs-footer .links a i{flex:0 0 auto;width:1.05rem;font-size:.78rem;text-align:center;opacity:.65}.vs-footer .links a:hover i{opacity:1}
.vs-footer .legal{background:#050505;font-size:.8rem}
.pay-chips span{display:inline-block;background:rgba(255,255,255,.1);border-radius:6px;padding:.15rem .55rem;font-size:.72rem;margin:0 .25rem .25rem 0}

/* listing pages */
.res-wrap{display:grid;grid-template-columns:270px 1fr;gap:1.25rem;align-items:start}
@media(max-width:991.98px){.res-wrap{grid-template-columns:1fr}}
.filters{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(13,13,13,.07);padding:1rem}.filters h2{font-size:1rem;font-weight:800;font-family:'Montserrat',sans-serif;color:var(--vs-text);margin:0 0 .6rem}
.filters .grp{border-top:1px solid var(--vs-line);padding:.8rem 0}.filters .grp:first-of-type{border-top:0}.filters .grp h3{font-size:.82rem;font-weight:700;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px;color:var(--vs-muted)}
@media(min-width:992px){.filters{position:sticky;top:150px}}
.hcard{display:grid;grid-template-columns:280px 1fr 200px;background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(13,13,13,.07);overflow:hidden;margin-bottom:1rem;transition:.15s}.hcard:hover{box-shadow:0 10px 26px rgba(13,13,13,.14)}
.hcard .ph{position:relative;min-height:190px}.hcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hcard .mid{padding:1rem 1.1rem}.hcard .mid h3{font-size:1.1rem;font-weight:800;margin:0}.hcard .mid h3 a{color:var(--vs-text)}
.hcard .end{padding:1rem;border-left:1px dashed var(--vs-line);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;text-align:right}
.hcard .end .amt{font-size:1.5rem;font-weight:800;color:var(--vs-text);line-height:1}.hcard .end .amt-sub{font-size:.72rem;color:var(--vs-muted)}
.hcard .ph .wishbtn{position:absolute;right:.6rem;top:.6rem;z-index:2}
@media(max-width:767.98px){.hcard{grid-template-columns:1fr}.hcard .ph{min-height:0;aspect-ratio:16/9}.hcard .end{border-left:0;border-top:1px dashed var(--vs-line);flex-direction:row;align-items:center;text-align:left}}
.page-head{background:var(--vs-grad);color:#fff;padding:1.1rem 0 3.2rem}.page-head h1{color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.3rem,3vw,1.9rem);margin:0}.page-head .breadcrumb{--bs-breadcrumb-divider-color:#bcd;margin-bottom:.3rem}.page-head .breadcrumb a{color:#f1ead3}.page-head .breadcrumb-item.active{color:#fff}
.pull-up{margin-top:-2.2rem;position:relative;z-index:3}
.vs-card{border-radius:14px}
.rating-pill{background:#1b8a6b}
.btn-vs{background:var(--vs-grad)}.btn-vs:hover{filter:brightness(1.08);background:var(--vs-grad)}
h1,h2,.display-font,.section-title{font-family:'Montserrat',system-ui,sans-serif;font-weight:800}
.vs-bottom-nav a.on{color:var(--vs-secondary)}
@media(max-width:991.98px){#filterPane{--bs-offcanvas-width:320px}#filterPane .filters{box-shadow:none;border-radius:0}}
@media(max-width:575.98px){.vs-top .brand small{display:none}.vs-hero{min-height:360px;padding-top:1.8rem}}
img{max-width:100%;height:auto}
.vs-sbody{padding-bottom:3.2rem}
a{color:var(--vs-secondary)}
.btn-login{white-space:nowrap}.vs-top .brand{white-space:nowrap}
@media(max-width:575.98px){.vs-top .brand{font-size:1.05rem}.vs-top .brand .logo-mark{width:32px;height:32px}.btn-login{font-size:.8rem;padding:.4rem .7rem}}

/* ===== Premium minimalist header (e-commerce style) ===== */
:root{--ink:#111111;--soft:#f6f4ee;--hair:#e9e5da;--brand:#111111}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
.vs-announce{background:var(--ink);color:#d8d8d8;font-size:.74rem;letter-spacing:.2px;padding:.38rem 0}
.vs-announce a{color:#fff}.vs-announce i{color:#ffe98f;margin-right:.25rem}
.vs-top{background:rgba(255,255,255,.94);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);box-shadow:none;border-bottom:1px solid var(--hair)}
.vs-main{display:flex;align-items:center;gap:1.1rem;padding-top:.8rem;padding-bottom:.8rem}
.vs-top .brand{flex:0 0 auto;gap:.6rem}
.vs-top .brand .logo-mark{border-radius:11px;box-shadow:0 4px 12px rgba(17,17,17,.25)}
.vs-top .brand-text{font-weight:800;font-size:1.15rem;line-height:1.05;color:var(--ink);letter-spacing:-.3px}
.vs-top .brand-text small{display:block;font-size:.58rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#7d8b97;margin-top:2px}
.vs-searchbar{flex:1 1 auto;display:flex;align-items:center;max-width:720px;margin:0 auto;background:var(--soft);border:1.5px solid transparent;border-radius:999px;transition:.15s;overflow:hidden}
.vs-searchbar:hover{background:#fff;border-color:var(--hair)}
.vs-searchbar:focus-within{background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px rgba(17,17,17,.08)}
.vs-searchbar select{border:0;background:transparent;padding:.62rem .5rem .62rem 1.1rem;font-weight:600;font-size:.82rem;color:var(--ink);outline:0;border-right:1px solid var(--hair);cursor:pointer;max-width:132px}
.vs-searchbar input{flex:1;min-width:0;border:0;background:transparent;outline:0;padding:.65rem 1rem;font-size:.92rem;color:var(--ink)}
.vs-searchbar input::placeholder{color:#8a97a3}
.vs-searchbar button{border:0;background:var(--brand);color:#fff;width:42px;height:38px;margin:3px;border-radius:999px;flex:0 0 auto;transition:.15s}
.vs-searchbar button:hover{background:#000000}
.vs-actions{display:flex;align-items:center;gap:.15rem;flex:0 0 auto;margin-left:auto}
.vs-act,.vs-icon-btn{position:relative;display:inline-flex;align-items:center;gap:.45rem;height:42px;min-width:42px;justify-content:center;padding:0 .7rem;border-radius:999px;border:0;background:none;color:var(--ink);font-weight:600;font-size:.86rem;text-decoration:none;transition:.15s}
.vs-act i,.vs-icon-btn i{font-size:1.15rem}
.vs-act:hover,.vs-icon-btn:hover{background:var(--soft);color:var(--brand)}
.vs-act.dropdown-toggle::after{display:none}
.vs-avatar{display:block;width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--hair);flex:0 0 auto;background:#fff}
.vs-avatar-sm{width:38px;height:38px}
.vs-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f5c518;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;line-height:1}
.vs-badge.static{position:static;display:inline-flex;margin-left:auto;border:0}
.vs-dd{border:1px solid var(--hair);border-radius:14px;box-shadow:0 16px 40px rgba(15,31,43,.14);padding:.4rem;min-width:240px;margin-top:.5rem!important}
.vs-dd .dd-head{padding:.6rem .8rem .7rem;border-bottom:1px solid var(--hair);margin-bottom:.3rem}.vs-dd .dd-head strong{display:block}.vs-dd .dd-head small{color:#7d8b97}
.vs-dd .dropdown-item{border-radius:8px;padding:.5rem .8rem;font-size:.88rem;display:flex;gap:.6rem;align-items:center}.vs-dd .dropdown-item i{width:18px;color:#7d8b97}
.vs-dd .dropdown-item:hover{background:var(--soft);color:var(--brand)}
.vs-subnav {
    border-bottom: 0;
    background: #ebebeb;
}
.vs-subnav .wrap{justify-content:flex-start;gap:.15rem}
.vs-subnav a{flex-direction:row;gap:.45rem;min-width:0;padding:.6rem .85rem;font-size:.84rem;font-weight:600;color:#55646f;border-bottom:2px solid transparent}
.vs-subnav a i{font-size:.95rem;color:#9aa7b2}
.vs-subnav a:hover{color:var(--brand)}.vs-subnav a:hover i{color:var(--brand)}
.vs-subnav a.on{color:var(--brand);border-bottom-color:var(--brand)}.vs-subnav a.on i{color:var(--brand)}
.vs-subnav .vs-vendor-link{color:#f5c518}.vs-subnav .vs-vendor-link i{color:#f5c518}
.vs-top{position:sticky;top:0}
@media(max-width:991.98px){
  .vs-subnav{display:none}
  .vs-main{flex-wrap:wrap;gap:.5rem .4rem;padding-top:.55rem;padding-bottom:.65rem}
  .vs-main .brand{order:2;margin-right:auto}
  .vs-main .vs-icon-btn{order:1;margin-left:-.5rem}
  .vs-actions{order:3;margin-left:0}
  .vs-searchbar{order:4;flex:0 0 100%;max-width:none;margin:0}
  .vs-searchbar input{padding:.6rem .9rem}
  .vs-announce{display:none}
}
/* Mobile slide-in menu */
.vs-offcanvas{--bs-offcanvas-width:310px;border:0}
.vs-offcanvas .offcanvas-header{border-bottom:1px solid var(--hair);padding:1rem 1.1rem}
.vs-offcanvas .brand{display:flex;align-items:center;gap:.55rem;color:var(--ink)}.vs-offcanvas .brand .logo-mark{width:34px;height:34px;border-radius:10px;background:var(--vs-grad);color:#fff;display:flex;align-items:center;justify-content:center}
.vs-offcanvas .brand-text{font-weight:800;font-size:1.05rem}
.vs-offcanvas .offcanvas-body{padding:1rem 1.1rem 1.5rem}
.mm-user{display:flex;align-items:center;gap:.8rem;background:var(--soft);border-radius:14px;padding:.85rem;margin-bottom:.9rem}
.mm-user .av{width:44px;height:44px;border-radius:50%;background:var(--vs-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex:0 0 auto;overflow:hidden}.mm-user .av img{width:100%;height:100%;object-fit:cover;display:block}
.mm-user strong{display:block;line-height:1.2}.mm-user a{font-size:.82rem;font-weight:600}
.mm-label{font-size:.68rem;text-transform:uppercase;letter-spacing:1.3px;color:#8a97a3;font-weight:700;margin:1rem .3rem .35rem}
.mm-list a{display:flex;align-items:center;gap:.8rem;padding:.7rem .6rem;border-radius:10px;color:var(--ink);font-weight:600;font-size:.94rem;text-decoration:none}
.mm-list a i{width:20px;text-align:center;color:#7d8b97}
.mm-list a:hover,.mm-list a.on{background:var(--soft);color:var(--brand)}.mm-list a.on i,.mm-list a:hover i{color:var(--brand)}
.mm-list.small a{font-weight:500;font-size:.86rem;padding:.45rem .6rem;color:#55646f}
/* refined surfaces */
.vs-card{box-shadow:0 1px 2px rgba(15,31,43,.04),0 6px 20px rgba(15,31,43,.05);border:1px solid #efece4}
.vs-search{box-shadow:0 18px 50px rgba(13,13,13,.2)}
.btn-cta{box-shadow:0 8px 20px rgba(245,197,24,.25)}
.vs-bottom-nav{border-top:1px solid var(--hair);box-shadow:0 -6px 24px rgba(15,31,43,.06)}
.vs-offcanvas{background:#fff}


/* ===== Brand: black + gold, Montserrat (matches the tiger logo) ===== */
:root{--gold:#ffde59;--gold-deep:#e0b800;--gold-ink:#8a6700;--ink:#111;--vs-primary:#111;--vs-secondary:#8a6700;--vs-accent:#ffde59;--vs-bg:#faf8f3;--brand:#111;
 --vs-grad:linear-gradient(90deg,#111,#2b2b2b);--vs-cta:linear-gradient(90deg,#ffe98f,#ffde59);--bs-link-color:#8a6700;--bs-link-hover-color:#111;--bs-body-font-family:'Montserrat',system-ui,sans-serif}
body{font-family:'Montserrat',system-ui,sans-serif;letter-spacing:.005em}
h1,h2,h3,h4,.sec-title{font-family:'Montserrat',system-ui,sans-serif;color:#111;letter-spacing:-.01em}
.sec-title{font-weight:700;position:relative;padding-bottom:.55rem}
.sec-title::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--gold);margin-top:.45rem}
.text-center .sec-title::after{margin-left:auto;margin-right:auto}
a{color:#8a6700}a:hover{color:#111}
/* brand */
.vs-top .brand{padding:0}
.vs-top .brand img.logo-img{height:64px;width:auto;display:block}
@media(max-width:575.98px){.vs-top .brand img.logo-img{height:46px}}
.wordmark{font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:#fff;font-size:1.05rem;white-space:nowrap}
.wordmark b{font-weight:800;letter-spacing:.2em}.wordmark .dot{color:var(--gold)}
/* buttons: gold fill needs dark text */
.btn-cta,.btn-accent{background:var(--gold)!important;color:#111!important;border:0;font-weight:700;box-shadow:0 8px 20px rgba(224,184,0,.28);letter-spacing:.02em}
.btn-cta:hover,.btn-accent:hover{background:#f5cf33!important;filter:none;color:#111!important}
.btn-vs,.btn-login{background:#111;color:#fff!important;border:0}.btn-vs:hover,.btn-login:hover{background:#2b2b2b;color:var(--gold)!important;filter:none}
.btn-outline-vs{border:1.5px solid #111;color:#111}.btn-outline-vs:hover{background:#111;color:var(--gold)}
.vs-searchbar button{background:#111;color:var(--gold)}.vs-searchbar button:hover{background:#2b2b2b}
.vs-searchbar:focus-within{border-color:#111;box-shadow:0 0 0 4px rgba(255,222,89,.35)}
.fld:focus-within{border-color:#111;box-shadow:0 0 0 3px rgba(255,222,89,.45)}
.form-control:focus,.form-select:focus{border-color:#111;box-shadow:0 0 0 .2rem rgba(255,222,89,.45)}
.form-check-input:checked{background-color:#111;border-color:#111}
/* nav + tabs */
.vs-subnav a.on,.vs-stabs button.active{color:#111;border-bottom-color:var(--gold-deep)}
.vs-subnav a.on i,.vs-stabs button.active i{color:var(--gold-deep)}
.vs-subnav a:hover,.vs-subnav a:hover i{color:#111}
.vs-stabs button.active{background:linear-gradient(180deg,transparent,#fff8d6)}
.vs-subnav .vs-vendor-link,.vs-subnav .vs-vendor-link i{color:#8a6700}
.vs-badge{background:var(--gold);color:#111;border-color:#fff}
.vs-announce{background:#111;color:#d8d8d8}.vs-announce i{color:var(--gold)}
.vs-top .brand .logo-mark{background:#111;color:var(--gold);box-shadow:none}
.vs-offcanvas .brand .logo-mark,.mm-user .av{background:#111;color:var(--gold)}
.mm-list a:hover,.mm-list a.on{background:#fff8d6;color:#111}.mm-list a.on i,.mm-list a:hover i{color:var(--gold-ink)}
.vs-dd .dropdown-item:hover{background:#fff8d6;color:#111}
/* hero */
.vs-hero{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 60%,rgba(0,0,0,.6)),var(--hero-img,none) center/cover,#111}
.vs-hero h1{letter-spacing:-.02em}
.vs-search{box-shadow:0 22px 60px rgba(0,0,0,.28)}
/* offers */
.offer:nth-child(4n+1){background:linear-gradient(120deg,#111,#2b2b2b);color:#fff}.offer:nth-child(4n+1) .code{color:var(--gold);border-color:var(--gold)}
.offer:nth-child(4n+2){background:linear-gradient(120deg,#ffde59,#ffe98f);color:#111}.offer:nth-child(4n+2) .code{border-color:#111}
.offer:nth-child(4n+3){background:linear-gradient(120deg,#2b2b2b,#4a4a4a);color:#fff}.offer:nth-child(4n+3) .code{color:var(--gold);border-color:var(--gold)}
.offer:nth-child(4n){background:linear-gradient(120deg,#f5c518,#ffde59);color:#111}.offer:nth-child(4n) .code{border-color:#111}
.offer::after{background:rgba(255,255,255,.1)}
.offer:nth-child(4n+2)::after,.offer:nth-child(4n)::after{background:rgba(0,0,0,.07)}
.trust i{color:var(--gold-ink)}
.rating-pill{background:#111;color:var(--gold)}
.star,.hcard .star,.mid .star{color:#e0a800}
.chip{background:#f6f3ea;color:#4a4a4a}
.page-head{background:#111}.page-head .breadcrumb a{color:#d9c46a}
.svc:hover{box-shadow:0 10px 26px rgba(0,0,0,.14)}
.hcard .end .amt{color:#111}
/* footer */
.vs-footer{background:#111;color:#e8e8e8}.vs-footer .legal{background:#000}
.vs-footer h6{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem}
.vs-footer a{color:#e8e8e8}.vs-footer a:hover{color:var(--gold)}
.vs-footer .btn-cta{color:#111!important}
.pay-chips span{background:rgba(255,222,89,.12);color:var(--gold)}
.vs-bottom-nav a.on{color:#111}.vs-bottom-nav a.on i{color:var(--gold-deep)}
.alert-info{--bs-alert-bg:#fff8d6;--bs-alert-border-color:#f1e19a;--bs-alert-color:#5b4a00}
/* profile photo */
.profile-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 10px rgba(13,13,13,.15);flex:0 0 auto;background:#fff}
.profile-avatar-empty{display:flex;align-items:center;justify-content:center;background:var(--soft);color:#7d8b97;font-size:1.7rem}

/* ───── Multi-step vendor registration ───── */
.wiz-steps{list-style:none;display:flex;justify-content:space-between;gap:.25rem;padding:0;margin:0 0 .75rem;counter-reset:none}
.wiz-steps li{flex:1;text-align:center;color:var(--vs-muted);font-size:.72rem;font-weight:600;cursor:default}
.wiz-steps li span{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:#efece2;color:var(--vs-muted);font-weight:700;margin-bottom:.2rem;transition:.2s}
.wiz-steps li em{display:block;font-style:normal}
.wiz-steps li.active span{background:var(--vs-primary);color:#fff;box-shadow:0 0 0 4px rgba(245,197,24,.45)}
.wiz-steps li.active{color:var(--vs-primary)}
.wiz-steps li.done span{background:var(--vs-accent);color:#161616}.wiz-steps li.done{cursor:pointer}
.wiz-bar{height:5px;margin-bottom:1.25rem;background:#efece2}.wiz-bar .progress-bar{background:var(--vs-accent);transition:width .3s}
.wiz-step{border:0;padding:0;margin:0;min-width:0}.wiz-step[hidden]{display:none}
.wiz-step legend{font-weight:700;margin-bottom:.75rem}
.wiz-pv{max-height:90px;object-fit:cover;border:1px solid var(--vs-line)}.wiz-pv-round{width:90px;height:90px;border-radius:50%}
.guide-pv{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--vs-line);background:#fff;padding-bottom:3.4rem}
.guide-pv .gp-banner{height:110px;background:linear-gradient(120deg,#2b2b2b,#8a6700) center/cover no-repeat}
.guide-pv .gp-avatar{position:absolute;left:1.25rem;top:62px;width:88px;height:88px;border-radius:50%;border:4px solid #fff;object-fit:cover;background:#efece2;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.guide-pv .gp-hint{position:absolute;left:7.5rem;top:122px}
@media(max-width:576px){.wiz-steps li em{display:none}.wiz-nav{flex-wrap:wrap;gap:.5rem}}

/* ───── Local Guide profile cards ───── */
.guide-card{position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 2px 14px rgba(17,17,17,.09);display:flex;flex-direction:column;height:100%;transition:transform .2s,box-shadow .2s}
.guide-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(17,17,17,.16)}
.gc-banner{display:block;height:130px;background:linear-gradient(120deg,#2b2b2b,#8a6700) center/cover no-repeat;position:relative}
.guide-card-lg .gc-banner{height:210px}
.gc-badge{position:absolute;top:10px;right:10px;background:var(--vs-accent);color:#161616;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:999px}
.gc-avatar-wrap{display:block;width:96px;height:96px;margin:-48px 0 0 1.25rem;position:relative;z-index:1}
.gc-avatar{width:96px;height:96px;border-radius:50%;border:4px solid #fff;object-fit:cover;background:#efece2;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.guide-card-lg .gc-avatar-wrap,.guide-card-lg .gc-avatar{width:120px;height:120px}.guide-card-lg .gc-avatar-wrap{margin-top:-60px}
.gc-body{padding:.6rem 1.25rem 1.25rem;display:flex;flex-direction:column;flex:1}
.gc-name{font-size:1.1rem;font-weight:700;margin:.25rem 0 .1rem;display:flex;align-items:center;gap:.4rem}.gc-name a{color:var(--vs-primary)}
.gc-ver{color:#1d9bf0;font-size:.85rem}
.gc-tag{color:var(--vs-muted);font-size:.85rem;margin-bottom:.4rem}
.gc-rating{margin-bottom:.5rem}
.gc-meta{list-style:none;padding:0;margin:0 0 .5rem;font-size:.82rem;color:var(--vs-muted);display:flex;flex-wrap:wrap;gap:.2rem .9rem}.gc-meta i{margin-right:.35rem;color:var(--vs-secondary)}
.gc-chips{margin-bottom:.5rem}
.gc-review{font-size:.8rem;background:#faf8f3;border-left:3px solid var(--vs-accent);border-radius:8px;padding:.5rem .7rem;margin:.25rem 0 .75rem;color:#3b3b3b}
.gc-review i{color:var(--vs-accent)}.gc-review footer{font-size:.72rem;color:var(--vs-muted);margin-top:.2rem}
.gc-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--vs-line)}

/* ───── Hero typing effect ───── */
.hero-type{font-family:'Montserrat',system-ui,sans-serif;font-weight:800;color:#fff;font-size:clamp(1.7rem,4.6vw,3rem);letter-spacing:-.5px;text-shadow:0 2px 12px rgba(0,0,0,.35);margin:0 0 .5rem}
.hero-type .typed-wrap{color:var(--vs-accent);white-space:nowrap;display:inline-block;min-height:1.2em;border-right:3px solid var(--vs-accent);padding-right:4px;animation:vs-caret .8s steps(1) infinite}
.hero-type .typed-wrap.typing{animation:none}
.hero-type .lead-in{display:block;font-size:.5em;font-weight:600;letter-spacing:2px;text-transform:uppercase;opacity:.9;margin-bottom:.35rem}
@keyframes vs-caret{50%{border-color:transparent}}
@media(prefers-reduced-motion:reduce){.hero-type .typed-wrap{animation:none}}
