/* Gyan Garbh's mobile journey. Desktop layouts keep their existing styles. */
.mobile-only,.mobile-swipe-hint{display:none}
.stay-price-note{display:block;font-size:13px;line-height:1.6;font-weight:500;color:#53695c;letter-spacing:0;margin-top:5px}
[data-mobile-surface] .mobile-nav{display:none}
.mobile-stay-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,600px);max-width:100%;max-height:90dvh;overflow-y:auto;border:0;border-radius:26px 26px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));background:#fafaf5;color:#173e32;box-shadow:0 -10px 50px #102a1e22}
.mobile-stay-sheet::backdrop{background:#102a1e80;backdrop-filter:blur(3px)}
.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.mobile-sheet-head h2{margin:0;font-size:25px}.mobile-sheet-head button{font-size:28px;width:44px;height:44px;border:1px solid #d9e2d0;background:#fff;border-radius:50%;color:#173e32}.mobile-stay-sheet>p{font-size:13px;line-height:1.7;color:#586b5c}
.marketplace .mobile-stay-sheet .stay-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;padding:0;margin:20px 0 0;background:none;border:0;gap:12px}
.marketplace .mobile-stay-sheet .stay-search>div{padding:12px;background:#fff;border:1px solid #d8e2d0;border-radius:14px!important;min-width:0}
.marketplace .mobile-stay-sheet .stay-search>div::before{display:none}
.marketplace .mobile-stay-sheet .stay-search label{font-size:12px;color:#52695d}
.marketplace .mobile-stay-sheet .stay-search :is(input,select){font-size:16px;height:44px;width:100%;min-width:0;background:none;padding:0;border:0}
.marketplace .mobile-stay-sheet .stay-search .date-divider{display:none}
.marketplace .mobile-stay-sheet .stay-search>div:last-of-type{grid-column:1/-1}
.marketplace .mobile-stay-sheet .stay-search .button{grid-column:1/-1;margin:0;min-height:52px;min-width:0;font-size:15px;border-radius:14px;background:#173e32;color:#fff}
body.mobile-sheet-open{overflow:hidden}
@media(max-width:700px){
 body[data-mobile-surface]{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));background:#fafaf5;color:#173e32}
 body[data-mobile-surface] input,body[data-mobile-surface] select,body[data-mobile-surface] textarea{font-size:16px}
 body[data-mobile-surface] button,body[data-mobile-surface] .button{min-height:44px}
 body[data-mobile-surface] :is(a,button,input,select,summary):focus-visible{outline:3px solid #bb8824;outline-offset:3px}
 .mobile-only{display:block}
 /* A compact arrival header, followed by one generous search field. */
 .marketplace[data-mobile-surface] .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding:12px 18px 16px;gap:9px 12px;background:#fafaf5;border:0}
 .marketplace[data-mobile-surface] .wordmark{width:auto;min-width:0}
 .marketplace[data-mobile-surface] .wordmark img{width:185px;max-width:100%;height:50px}
 .marketplace[data-mobile-surface] .language{font-size:13px;min-width:38px;min-height:44px}
 .marketplace[data-mobile-surface] .account{min-height:44px;display:flex;align-items:center;padding:9px 12px;border-radius:14px;font-size:12px}
 .marketplace[data-mobile-surface] .location-picker{grid-row:2;grid-column:1/-1;min-height:36px;background:transparent;border:0;padding:0 2px;gap:7px}
 .marketplace[data-mobile-surface] .location-picker>span{font-size:19px}
 .marketplace[data-mobile-surface] .location-picker select{font-size:16px;width:auto;max-width:100%;min-height:36px;color:#52695d;font-weight:600}
 .marketplace[data-mobile-surface] .search{grid-row:3;grid-column:1/-1;margin:0;min-height:52px;background:#fff;border:1px solid #dce5d9;box-shadow:0 4px 16px #173e3205;border-radius:17px;padding:3px 7px 3px 14px}
 .marketplace[data-mobile-surface] .search input{font-size:16px;min-height:44px}
 .marketplace[data-mobile-surface] .search button{min-width:44px;min-height:44px;border-radius:12px;background:#eff3e9;color:#173e32}
 .marketplace[data-mobile-surface] main{padding:0 18px 28px}
 .marketplace[data-mobile-surface] .categories{border:0;gap:8px;padding:0 0 17px;min-height:0;margin:0;justify-content:space-between}
 .marketplace[data-mobile-surface] .categories a{flex:1;min-width:0;min-height:67px;gap:6px;border-bottom:0;border-radius:15px;padding:10px 3px;font-size:12px;color:#5b6c60}
 .marketplace[data-mobile-surface] .categories a>span{background:none!important;width:28px;height:26px}
 .marketplace[data-mobile-surface] .categories a.selected{background:#e9efdf;color:#173e32}
 .marketplace[data-mobile-surface] .categories b{font-weight:650}
 /* An image-led welcome with restrained type and real navigation actions. */
 .marketplace[data-mobile-surface] .hero{height:280px;min-height:280px;align-items:end;border-radius:24px;background:#173e32;color:#fffdf2}
 .marketplace[data-mobile-surface] .hero>img{object-position:66% center}
 .marketplace[data-mobile-surface] .hero::after{background:linear-gradient(180deg,#102a1e08 5%,#102a1e4a 34%,#102a1ee8 100%)}
 .marketplace[data-mobile-surface] .hero-copy{width:100%;padding:22px;background:none}
 .marketplace[data-mobile-surface] .hero .mobile-hero-kicker{font-size:10px;font-weight:700;letter-spacing:.15em;color:#f4d38a;margin:0 0 10px}
 .marketplace[data-mobile-surface] .hero h1{font-size:31px;line-height:1.1;letter-spacing:-.9px;font-weight:600;max-width:100%;color:#fffdf2;margin:0 0 19px}
 .marketplace[data-mobile-surface] .hero .button{font-size:12px;min-height:44px;padding:10px 15px;border-radius:12px}
 .marketplace[data-mobile-surface] .hero .hero-stays{background:#ffffff13;border:1px solid #ffffff80;color:#fffdf2;margin-left:7px}
 .marketplace[data-mobile-surface] h2{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.65px}
 .marketplace[data-mobile-surface] .section-heading{margin:29px 0 14px;gap:12px}
 .marketplace[data-mobile-surface] .section-heading>a,.marketplace[data-mobile-surface] .stay-intro>a{min-height:44px;display:flex;align-items:center;font-size:12px}
 /* Every featured place is reachable. A peek of the next card invites a swipe. */
 .marketplace[data-mobile-surface] #place-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;gap:14px;scroll-snap-type:x proximity;scroll-padding-inline:1px;padding:1px 1px 12px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c5d1bd transparent}
 .marketplace[data-mobile-surface] #place-grid>.place-card:nth-child(n){display:flex;scroll-snap-align:start;border-radius:19px;border:1px solid #e0e7dc;background:#fff;box-shadow:none;min-width:0}
 .marketplace[data-mobile-surface] #place-grid .card-picture{height:190px}
 .marketplace[data-mobile-surface] #place-grid .card-body{padding:15px 16px 18px;min-height:96px}
 .marketplace[data-mobile-surface] #place-grid h3{font-size:17px;line-height:1.3;margin:0 25px 8px 0;min-height:0}
 .marketplace[data-mobile-surface] #place-grid .card-meta{font-size:12px}
 .marketplace[data-mobile-surface] #place-grid .card-action{width:29px;height:29px;bottom:17px;right:13px}
 .marketplace[data-mobile-surface] #places:has(.place-card:nth-child(2)) .mobile-swipe-hint{display:block;font-size:11px;color:#65735d;margin:1px 0 0}
 .marketplace[data-mobile-surface] #place-grid>.loading-card{min-height:286px}
 .marketplace[data-mobile-surface] #place-grid>.empty{grid-column:auto;min-width:100%}
 /* Stays are easy to compare, with a full photo and a clear price. */
 .marketplace[data-mobile-surface] #hotels{margin-top:32px;scroll-margin-top:16px}
 .marketplace[data-mobile-surface] .stay-intro{display:flex;align-items:start;gap:12px;margin-bottom:14px}
 .marketplace[data-mobile-surface] .stay-intro h2{font-size:27px;line-height:1.15;margin:0 0 7px}
 .marketplace[data-mobile-surface] .stay-intro p{font-size:13px;line-height:1.6}
 .marketplace[data-mobile-surface] .stay-intro>a{flex-shrink:0;margin:0;white-space:normal;max-width:72px;text-align:right;justify-content:end}
 .marketplace[data-mobile-surface] #toggle-stay-search{min-height:62px;background:#edf2e6;border-color:#d8e2cf;border-radius:17px;padding:13px 16px}
 .marketplace[data-mobile-surface] #toggle-stay-search strong{font-size:14px;font-weight:650;line-height:1.5}
 .marketplace[data-mobile-surface] #toggle-stay-search small{font-size:12px}
 .marketplace[data-mobile-surface] .stay-search input,.marketplace[data-mobile-surface] .stay-search select{font-size:16px}
 .marketplace[data-mobile-surface] .section-note{font-size:12px;line-height:1.6;margin-bottom:16px}
 .marketplace[data-mobile-surface] #hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .marketplace[data-mobile-surface] #hotel-grid>.hotel-card:nth-child(n){display:flex;flex-direction:column;min-width:0;padding:0;border-radius:18px;background:#fff;border:1px solid #dfe6d9;box-shadow:none}
 .marketplace[data-mobile-surface] #hotel-grid .card-picture{height:150px;min-height:150px;border-radius:0}
 .marketplace[data-mobile-surface] #hotel-grid .card-body{padding:13px 12px;min-width:0}
 .marketplace[data-mobile-surface] #hotel-grid h3{font-size:16px;line-height:1.35;letter-spacing:-.25px;min-height:2.7em;margin:0 0 6px}
 .marketplace[data-mobile-surface] #hotel-grid .card-meta{font-size:12px}
 .marketplace[data-mobile-surface] #hotel-grid .card-price{font-size:25px;margin:12px 0 6px;letter-spacing:-.65px;overflow-wrap:anywhere}
 .marketplace[data-mobile-surface] #hotel-grid .card-price small{font-size:11px;line-height:1.5}
 .marketplace[data-mobile-surface] #hotel-grid .tax-note{font-size:11px;margin-bottom:2px}
 .marketplace[data-mobile-surface] #hotel-grid .policy-link{font-size:12px;min-height:44px;margin:0 0 7px}
 .marketplace[data-mobile-surface] #hotel-grid .card-action{font-size:12px;min-height:44px;padding:11px 6px;border-radius:10px}
 .marketplace[data-mobile-surface] #hotel-grid .cover-illustration{font-size:9px;max-width:calc(100% - 10px);left:5px;bottom:5px;line-height:1.5}
 .marketplace[data-mobile-surface] .stay-assurances{border-radius:16px;padding:13px 0;margin:22px 0 0;background:#edf2e6}
 .marketplace[data-mobile-surface] .stay-assurances a{font-size:11px;min-height:58px}
 .marketplace[data-mobile-surface] .customer-footer>.footer-inner{padding:26px 18px;gap:20px}
 .marketplace[data-mobile-surface] .customer-footer nav{grid-template-columns:1fr 1fr;gap:20px}
 .marketplace[data-mobile-surface] .footer-link-group+.footer-link-group{border:0;padding:0}
 .marketplace[data-mobile-surface] .customer-footer .footer-link-group a{font-size:12px;min-height:36px;display:flex;align-items:center}
 /* The same four destinations stay in the same position across public pages. */
 body[data-mobile-surface] .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:4px;left:14px;right:14px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:1000;width:auto;max-width:440px;margin-inline:auto;min-height:66px;padding:7px;background:#fffefbf5;border:1px solid #d8e2d1;border-radius:23px;box-shadow:0 5px 24px #153f331a;backdrop-filter:blur(12px)}
 body[data-mobile-surface] .mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px;padding:5px 2px;border-radius:16px;color:#64735f;font-size:11px;line-height:1.2;text-decoration:none}
 body[data-mobile-surface] .mobile-nav a.active{background:#edf3e3;color:#173e32}
 body[data-mobile-surface] .mobile-nav b{font-weight:600}
 body[data-mobile-surface] .mobile-nav svg{width:22px;height:22px}
 /* Discovery and reading pages share the warmer, quieter visual language. */
 [data-mobile-surface="places"] .top{padding:14px 18px;background:#173e32;gap:10px;min-height:72px;flex-wrap:wrap}
 [data-mobile-surface="places"] .top nav{max-width:none;flex:1;gap:7px;justify-content:end}
 [data-mobile-surface="places"] .top .brand{font-size:19px}
 [data-mobile-surface="places"] main{padding:12px 18px 28px}
 [data-mobile-surface="places"] .intro{padding:24px 0 20px}
 [data-mobile-surface="places"] h1{font-size:32px;font-weight:650;line-height:1.15;letter-spacing:-.7px}
 [data-mobile-surface="places"] .filters{border:0;padding:12px;background:#edf2e6;border-radius:18px;gap:10px}
 [data-mobile-surface="places"] .filters :is(input,select){min-height:48px;border-radius:12px;background:#fff}
 [data-mobile-surface="places"] .cards{gap:20px}
 [data-mobile-surface="places"] .card{border-radius:20px;background:#fff;border-color:#dce4d6;box-shadow:none}
 [data-mobile-surface="places"] .card-content{padding:18px}
 [data-mobile-surface="places"] .tabs{overflow-x:auto;flex-wrap:nowrap;gap:22px;white-space:nowrap}
 [data-mobile-surface="places"] .tabs a{min-height:44px;display:flex;align-items:center;font-size:14px}
 [data-mobile-surface="places"] .mosaic{height:260px;border-radius:20px;overflow:hidden;gap:5px}
 [data-mobile-surface="places"] .sidebar{border-radius:20px;background:#fff;border-color:#dce4d6}
 /* Hotel details: less empty hero space and more room information per screen. */
 [data-mobile-surface="stay"] .navbar{min-height:60px;padding-block:10px;background:#173e32}
 [data-mobile-surface="stay"] .navbar-brand{font-size:18px!important}
 [data-mobile-surface="stay"] .navbar a.small{font-size:12px;color:#fffdf2}
 [data-mobile-surface="stay"] .hero{min-height:0}
 [data-mobile-surface="stay"] .hero-content{padding:78px 0 25px}
 [data-mobile-surface="stay"] .hero h1{font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.6px}
 [data-mobile-surface="stay"] .hero-meta{font-size:13px;line-height:1.7;gap:9px}
 [data-mobile-surface="stay"] .price-panel{padding:17px;border-radius:18px;box-shadow:none}
 [data-mobile-surface="stay"] .section-wrap{padding:30px 0}
 [data-mobile-surface="stay"] .section-title{font-size:25px;letter-spacing:-.5px}
 [data-mobile-surface="stay"] .section-nav{top:60px;padding:7px 0;margin-top:0;background:#fafaf5f5;box-shadow:none}
 [data-mobile-surface="stay"] .section-nav-links{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:6px}
 [data-mobile-surface="stay"] .section-nav-link{white-space:nowrap;min-height:44px;display:flex;align-items:center;padding:10px 13px;border-radius:13px;font-size:13px}
 [data-mobile-surface="stay"] .room-card{display:grid;grid-template-columns:minmax(0,1fr);padding:10px;gap:16px;border-radius:22px;box-shadow:none}
 [data-mobile-surface="stay"] .room-gallery-card{height:210px;min-height:210px;border-radius:15px}
 [data-mobile-surface="stay"] .room-content{padding:0 7px}
 [data-mobile-surface="stay"] .room-package{min-height:0;background:#f1f5e9;border:0;border-radius:16px;padding:17px}
 [data-mobile-surface="stay"] .room-package .price{font-size:26px;line-height:1.3}
 [data-mobile-surface="stay"] .room-book-btn{min-height:48px;border-radius:12px}
 [data-mobile-surface="stay"] .stay-date-summary{border-radius:18px;background:#edf3e4;gap:12px}
 [data-mobile-surface="stay"] .stay-date-summary button{min-height:46px;width:100%;font-size:14px;border-radius:12px}
 [data-mobile-surface="stays"] .search-box{border-radius:18px!important}
 [data-mobile-surface="stays"] .hotel-card{border-radius:20px!important;box-shadow:none}
 [data-mobile-surface="stays"] .hotel-card .btn{min-height:46px;border-radius:12px}
 [data-mobile-surface="profile"] .profile-layout{margin-top:18px;gap:16px}
 [data-mobile-surface="profile"] .profile-sidebar,[data-mobile-surface="profile"] .profile-panel{border-radius:20px;border-color:#dce4d6}
 [data-mobile-surface="profile"] .profile-tabs button{min-height:44px;font-size:13px}
}
@media(max-width:360px){
 .marketplace .mobile-stay-sheet .stay-search{grid-template-columns:minmax(0,1fr)}
 .marketplace[data-mobile-surface] .wordmark img{width:155px}
 .marketplace[data-mobile-surface] .site-header{gap:8px}
 .marketplace[data-mobile-surface] .hero-copy{padding:19px}
 .marketplace[data-mobile-surface] .hero h1{font-size:27px}
 .marketplace[data-mobile-surface] #hotel-grid{grid-template-columns:minmax(0,1fr)}
 .marketplace[data-mobile-surface] #hotel-grid .card-picture{height:190px;min-height:190px}
 .marketplace[data-mobile-surface] #hotel-grid h3{min-height:0;font-size:18px}
 .marketplace[data-mobile-surface] .stay-intro h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){body[data-mobile-surface] *{scroll-behavior:auto!important}.marketplace[data-mobile-surface] .travel-card{transition:none}}
