/* Clean, category-first navigation inspired by travel search patterns. */
.jd-menu-btn{display:none;flex:none;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer}
.jd-menu-btn:hover,.jd-menu-btn[aria-expanded="true"]{border-color:var(--teal);box-shadow:0 3px 12px rgba(25,45,75,.12)}
.jd-navscreen{position:fixed;inset:0;z-index:80;background:rgba(20,30,48,.42);backdrop-filter:blur(3px);display:flex;justify-content:flex-start;animation:jd-nav-fade .16s ease-out}
.jd-navpanel{width:min(100%,480px);height:100%;overflow:auto;background:var(--surface);color:var(--ink);padding:calc(env(safe-area-inset-top,0px) + 1rem) 1.15rem calc(env(safe-area-inset-bottom,0px) + 1.2rem);box-shadow:16px 0 44px rgba(15,23,42,.18);animation:jd-nav-in .22s ease-out}
.jd-navhead{display:flex;align-items:center;gap:.8rem;padding:0 0 1rem;border-bottom:1px solid var(--line)}
.jd-navhead .logo{pointer-events:none}.jd-navclose{margin-left:auto;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--sunk);color:var(--ink);font-size:1.35rem;cursor:pointer}
.jd-navintro{margin:1rem 0 .35rem;color:var(--muted);font-size:.92rem}
.jd-navgroup{padding:.95rem 0 .8rem;border-bottom:1px solid var(--line)}
.jd-navgroup h2{margin:0 0 .7rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.jd-navgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.jd-navitem{min-width:0;display:flex;flex-direction:column;align-items:center;gap:.38rem;padding:.55rem .25rem .6rem;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--ink);font:inherit;font-size:.78rem;font-weight:700;text-align:center;cursor:pointer}
.jd-navitem:hover,.jd-navitem:focus-visible{background:var(--sunk);border-color:var(--line);outline:none}
.jd-navicon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#fff8e7,#fce6a8);box-shadow:0 4px 12px rgba(33,45,66,.10);font-size:1.4rem}
.jd-navitem:nth-child(4n + 2) .jd-navicon{background:linear-gradient(145deg,#eff8ff,#d9eaff)}
.jd-navitem:nth-child(4n + 3) .jd-navicon{background:linear-gradient(145deg,#effcf6,#d4f3e6)}
.jd-navitem:nth-child(4n) .jd-navicon{background:linear-gradient(145deg,#f7f0ff,#e9dcff)}
.jd-navitem span:last-child{line-height:1.15}

/* The Travel hub gets a clear category chooser ahead of the search controls. */
.trhero .wrap{position:relative}
.trhero .trtabbar{position:static;z-index:auto;background:transparent;border:0;box-shadow:none;margin:.9rem 0 .15rem}
.trhero .trtabbar .wrap{width:100%;padding:0}
.trtabs2{gap:.35rem;padding:.2rem 0 .5rem;align-items:flex-start}
.trtabs2 button{position:relative;min-width:88px;flex-direction:column;align-items:center;justify-content:flex-start;gap:.3rem;padding:.15rem .35rem .45rem;border:0;border-radius:14px;background:transparent;color:var(--muted);font-size:.78rem}
.trtabs2 button:hover{background:var(--sunk);color:var(--ink)}
.trtabs2 button.on{background:transparent;border:0;box-shadow:none;color:var(--ink)}
.trtabs2 .tti{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 4px 12px rgba(24,39,75,.10);font-size:1.35rem;transition:transform .16s ease,background .16s ease,color .16s ease}
.trtabs2 button.on .tti{background:#ff5a1f;border-color:#ff5a1f;color:#fff;box-shadow:0 7px 16px rgba(255,90,31,.28);transform:translateY(-1px)}
.trtabs2 .ttl{font-size:.82rem;line-height:1.15}
.trtabs2 small{position:absolute;top:-.12rem;right:.1rem;padding:.08rem .35rem;background:var(--ink);color:var(--bg);font-size:.65rem}
.trhero .trbar{border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 30px -20px rgba(15,23,42,.35);overflow:visible}
.trhero .trgo{margin:.25rem;padding:.72rem 1.2rem;border-radius:999px}
.trhero .trpop{margin-top:.45rem}

@keyframes jd-nav-fade{from{opacity:0}to{opacity:1}}
@keyframes jd-nav-in{from{transform:translateX(-18px);opacity:.7}to{transform:translateX(0);opacity:1}}
@media(max-width:760px){
 .jd-menu-btn{display:grid;width:38px;height:38px}
 header.top .locbtn{display:none}
 header.top .wrap{gap:.55rem}
 header.top .logo{font-size:1.3rem}
 header.top .logo i{width:25px;height:25px}
 header.top .spacer{min-width:0}
 header.top .post-btn{font-size:.82rem;white-space:nowrap}
 .jd-navpanel{padding-left:1rem;padding-right:1rem}
 .jd-navgrid{gap:.35rem}
 .jd-navitem{font-size:.74rem}
 .trhero{padding-top:1.25rem}
 .trtabs2{justify-content:flex-start;gap:.1rem}
 .trtabs2 button{min-width:76px;padding-inline:.2rem}
 .trtabs2 .tti{width:46px;height:46px;border-radius:14px}
 .trtabs2 .ttl{font-size:.75rem}
 .trhero .trbar{grid-template-columns:1fr 1fr;border-radius:20px;padding:.15rem}
 .trhero .trbar .trwhere{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}
 .trhero .trbar .trf{padding:.55rem .75rem}
 .trhero .trbar .trf:nth-of-type(3){border-right:0}
 .trhero .trbar .trgo{grid-column:1/-1;justify-content:center;margin:.4rem;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){.jd-navscreen,.jd-navpanel{animation:none}.trtabs2 .tti{transition:none}}
