/* V5 urgent travel-service enhancements */
.menu-btn{min-width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.11);color:#fff;font-size:23px;font-weight:800;cursor:pointer}
.live-cta{position:relative;background:#d9342b!important;color:#fff!important;border-color:#ef756d!important;box-shadow:0 4px 16px rgba(217,52,43,.28)}
.live-cta:before{content:"";position:absolute;left:9px;top:9px;width:7px;height:7px;border-radius:50%;background:#fff;animation:liveDot 1.45s ease-in-out infinite}
.live-cta{padding-left:23px!important}
@keyframes liveDot{0%,100%{opacity:.45;transform:scale(.75)}50%{opacity:1;transform:scale(1.35)}}
.menu-backdrop,.resource-backdrop{position:fixed;inset:0;background:rgba(8,18,28,.48);z-index:1100;backdrop-filter:blur(2px)}
.menu-drawer{position:fixed;z-index:1110;left:0;top:0;bottom:0;width:min(88vw,430px);background:#fffdf8;transform:translateX(-102%);transition:transform .22s ease;box-shadow:18px 0 50px rgba(10,26,39,.24);overflow:auto}
.menu-drawer.open{transform:translateX(0)}
.menu-drawer-inner{padding:calc(18px + env(safe-area-inset-top)) 18px 36px}
.menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 16px;border-bottom:1px solid #dfe5e6}
.menu-head small{display:block;color:#7a8791;font-weight:800;letter-spacing:.08em}
.menu-head h2{margin:3px 0 0;font-size:26px;color:#17283a}
.menu-close{width:42px;height:42px;border-radius:50%;border:1px solid #d9e0e2;background:#fff;font-size:24px}
.menu-section{padding:17px 0;border-bottom:1px solid #e6ebec}
.menu-section h3{margin:0 0 10px;font-size:15px;color:#52626e}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.menu-grid button,.menu-grid a{display:flex;align-items:center;gap:9px;min-height:48px;padding:11px 12px;border:1px solid #dce3e5;border-radius:13px;background:#fff;color:#17283a;text-decoration:none;text-align:left;font-weight:800}
.menu-grid .wide{grid-column:1/-1}
.menu-live{padding:14px;border-radius:16px;background:linear-gradient(135deg,#9e221d,#d9342b);color:#fff}
.menu-live h3{color:#fff;margin:0 0 4px;font-size:17px}
.menu-live p{margin:0 0 11px;font-size:13px;opacity:.9;line-height:1.5}
.menu-live-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.menu-live-actions a,.menu-live-actions button{min-height:45px;padding:9px;border:0;border-radius:11px;background:#fff;color:#912019;text-decoration:none;font-weight:900}
.resource-sheet{position:fixed;z-index:1120;left:50%;bottom:0;width:min(100%,980px);height:min(92vh,920px);transform:translate(-50%,103%);transition:transform .24s ease;background:#f4f1ea;border-radius:24px 24px 0 0;overflow:auto;box-shadow:0 -18px 60px rgba(10,26,39,.28)}
.resource-sheet.open{transform:translate(-50%,0)}
.resource-body-inner{padding:26px 18px 48px}
.resource-hero{padding:22px;border-radius:20px;background:linear-gradient(135deg,#102b42,#244e66);color:#fff;margin-bottom:16px}
.resource-hero h2{font-size:27px;margin:5px 0 8px}
.resource-hero p{margin:0;line-height:1.55;opacity:.92}
.resource-tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 12px;scrollbar-width:none}
.resource-tabs button{white-space:nowrap;border:1px solid #d8e0e2;border-radius:999px;background:#fff;padding:9px 12px;font-weight:800}
.resource-tabs button.on{background:#17283a;color:#fff;border-color:#17283a}
.resource-group{margin:18px 0}
.resource-group-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px}
.resource-group-head h3{margin:0;font-size:19px;color:#17283a}
.resource-group-head small{color:#73808a}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.resource-card{display:flex;gap:11px;min-height:98px;padding:14px;border:1px solid #dce4e5;border-radius:16px;background:#fff;color:#17283a;text-decoration:none;box-shadow:0 3px 10px rgba(24,44,58,.04)}
.resource-logo{flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#edf2f3;display:grid;place-items:center;font-size:12px;font-weight:1000;color:#25445a}
.resource-card strong{display:block;font-size:15px;line-height:1.35}
.resource-card p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#62717c}
.resource-card .official-badge{display:inline-block;margin-top:6px;padding:3px 7px;border-radius:999px;background:#e7f2ec;color:#315645;font-size:10px;font-weight:900}
.home-resource-banner{margin:16px 0;padding:18px;border-radius:18px;background:linear-gradient(135deg,#111d27,#263a49);color:#fff;box-shadow:0 10px 28px rgba(15,34,48,.15)}
.home-resource-banner .kicker{font-size:11px;font-weight:900;letter-spacing:.12em;color:#e8bd69}
.home-resource-banner h2{margin:5px 0 6px;font-size:21px}
.home-resource-banner p{margin:0 0 12px;line-height:1.5;color:#e7edf0}
.home-resource-banner button{min-height:45px;border:0;border-radius:12px;background:#fff;color:#17283a;padding:10px 14px;font-weight:900}
.rank-tools{display:flex;justify-content:space-between;gap:9px;align-items:center;margin:10px 0 14px}
.rank-density{display:flex;gap:5px}
.rank-density button{border:1px solid #d7e0e2;border-radius:10px;background:#fff;padding:8px 10px;font-weight:800;color:#52626e}
.rank-density button.on{background:#17283a;color:#fff}
body.compact-rank #rankView .rank-list{display:grid;grid-template-columns:1fr;gap:7px}
body.compact-rank #rankView .rank-row{min-height:88px}
.photo-slot-note{margin-top:8px;padding:8px 10px;border:1px dashed #b9c7cc;border-radius:10px;background:#f7faf9;color:#60717b;font-size:11px}
.live-explainer{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fff4f3;color:#9b2923;font-size:12px;font-weight:800;line-height:1.45}
@media(max-width:560px){
  .top-actions{gap:5px}
  .menu-btn{min-width:38px;width:38px;height:38px;border-radius:11px}
  .live-cta{font-size:12px!important;padding:8px 9px 8px 21px!important}
  .resource-grid{grid-template-columns:1fr}
  .resource-body-inner{padding-left:13px;padding-right:13px}
  .resource-hero{padding:18px}
  .menu-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:800px){
  .resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .menu-drawer{width:420px}
  .home-resource-banner{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}
  .home-resource-banner button{grid-column:2;grid-row:1/4;min-width:180px}
}
.price-band-wrap{margin:10px 0 15px;padding:12px;border:1px solid #dce4e5;border-radius:15px;background:#fff}
.price-band-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.price-band-head b{font-size:14px;color:#17283a}
.price-band-head small{font-size:10px;color:#73808a;text-align:right}
.price-band-chips{display:flex;gap:6px;overflow:auto;scrollbar-width:none}
.price-band-chips button{white-space:nowrap;border:1px solid #d8e0e2;border-radius:999px;background:#f8faf9;padding:8px 11px;font-weight:850;color:#4f606c}
.price-band-chips button.on{background:#17283a;color:#fff;border-color:#17283a}
body.compact-rank #rankView .rank-row{grid-template-columns:38px minmax(0,1fr) 18px;min-height:70px;padding:8px}
body.compact-rank #rankView .rank-thumb{display:none}
body.compact-rank #rankView .rank-main p{-webkit-line-clamp:1;font-size:9px}
body.compact-rank #rankView .rank-main strong{font-size:14px}
body.compact-rank #rankView .rank-main small{margin-top:2px}
body.compact-rank #rankView .top3{gap:7px}
.rank-filter-empty{margin:14px 0;padding:18px;border:1px dashed #c8d2d5;border-radius:14px;text-align:center;color:#677782;background:#fafbf9}
.area-helper{margin:14px 0;padding:15px;border-radius:16px;background:#fff;border:1px solid #dce4e5}
.area-helper h3{margin:0 0 4px;font-size:17px;color:#17283a}
.area-helper p{margin:0 0 10px;font-size:12px;line-height:1.45;color:#687984}
.area-helper-actions{display:flex;gap:7px;flex-wrap:wrap}
.area-helper-actions a,.area-helper-actions button{min-height:42px;border:1px solid #d6dfe1;border-radius:11px;background:#f8faf9;color:#213747;text-decoration:none;padding:9px 12px;font-weight:850}
.area-helper-actions .primary{background:#17283a;color:#fff;border-color:#17283a}

.v5-hotel-card{position:relative;text-align:left}
.hotel-card-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.hotel-rank{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#17283a;color:#fff;font-size:11px;font-weight:950;letter-spacing:.03em}
.hotel-score{display:inline-flex;align-items:baseline;gap:2px;padding:5px 8px;border-radius:999px;background:#f0eadc;color:#7c5a12;font-size:15px;font-weight:1000}
.hotel-score small{font-size:9px;font-weight:900}
.hotel-fitline{margin:6px 0 3px;font-weight:900;color:#24465c}
.hotel-meta-line{margin:2px 0 7px!important;color:#566975!important;font-size:11px!important}
.hotel-merits{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 3px}
.hotel-merits span{display:inline-block;padding:4px 7px;border-radius:999px;background:#eef4f1;color:#315a4c;font-size:10px;font-weight:850}
.hotel-caution{margin-top:7px!important;padding:7px 8px;border-radius:9px;background:#fff4ee;color:#9a4933!important;font-size:10.5px!important}
.hotel-rank-reason{margin-top:8px!important;padding-top:7px;border-top:1px dashed #d6dfe1;color:#405766!important;font-size:10.5px!important;font-weight:750}

.hotel-subrank{display:inline-flex;align-items:center;padding:5px 7px;border-radius:999px;background:#eef2f4;color:#405563;font-size:10px;font-weight:900}
.hotel-subrank.price{background:#f5eee0;color:#805f1f}
.hotel-status-row{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0 5px}
.hotel-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}
.hotel-status.ok{background:#e8f3ed;color:#315c49}
.hotel-status.check{background:#fff1df;color:#94611f}
.hotel-status.approx{background:#eef3f6;color:#536c7c}
.hotel-coverage-strip{margin:12px 0 16px;padding:13px 14px;border:1px solid #d9e2e4;border-radius:15px;background:#fff}
.hotel-coverage-strip div{display:grid;grid-template-columns:105px 1fr;gap:9px;padding:4px 0;align-items:start}
.hotel-coverage-strip b{font-size:12px;color:#1d3444}
.hotel-coverage-strip span{font-size:11px;color:#566b78;line-height:1.45}
.hotel-coverage-strip small{display:block;margin-top:7px;padding-top:8px;border-top:1px dashed #d9e2e4;color:#788791;font-size:9.5px;line-height:1.5}
@media(max-width:560px){.hotel-coverage-strip div{grid-template-columns:1fr;gap:2px}.hotel-card-badges{gap:4px}}

.podium-access,.place-access-line{display:flex;align-items:flex-start;gap:6px;margin:7px 0;padding:7px 8px;border-radius:10px;background:#f1f5f4;color:#385263;font-size:10.5px;line-height:1.35}
.podium-access b,.place-access-line b{font-weight:900}
.podium-access small,.place-access-line small{display:block;color:#7b898f;font-size:9px}
.rank-access{display:block;margin-top:4px;color:#4d6877;font-size:9.5px;font-weight:800;white-space:normal;line-height:1.35}
.hotel-access{font-weight:850!important;color:#354f60!important}
.detail-access-card{background:#f2f6f4!important;border-color:#d6e2dc!important}
.detail-access-card h3{margin-bottom:7px!important}
.detail-access-main{font-size:14px!important;color:#213b4a!important}
.detail-access-card small{color:#75858c}

/* 2026-09-30 · center the urgent departure-check CTA */
.today-top.live-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  vertical-align:middle;
}

/* 2026-09-30 · Busan metro guide */
.metro-guide{border-top:4px solid #246eb7}
.metro-intro{margin:0 0 12px;color:#526675;font-size:12px;line-height:1.55;word-break:keep-all}
.metro-lines,.metro-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.metro-lines div,.metro-quick div{padding:10px 11px;border-radius:12px;background:#f4f7fa;border:1px solid #dbe4e9}
.metro-lines b,.metro-quick b{display:block;font-size:12px;color:#17364c}
.metro-lines span,.metro-quick span{display:block;margin-top:3px;font-size:10px;color:#627582;line-height:1.45;word-break:keep-all}
.metro-quick{margin-top:9px}
.metro-quick div{background:#fffaf1;border-color:#eadfca}
.metro-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
@media(max-width:560px){.metro-lines,.metro-quick{grid-template-columns:1fr}}

/* Ranking clarity + method panel */
.rank-shield{
 width:58px!important;height:44px!important;clip-path:none!important;border-radius:14px 14px 18px 18px!important;
 border:2px solid rgba(255,255,255,.86);box-shadow:0 5px 14px rgba(21,38,49,.24)!important;
}
.rank-shield.gold{background:linear-gradient(145deg,#e8bd47,#9b6510)!important}
.rank-shield.silver{background:linear-gradient(145deg,#d8dde1,#737d86)!important}
.rank-shield.bronze{background:linear-gradient(145deg,#c97a4b,#864127)!important}
.rank-word{font-size:17px;font-weight:1000;letter-spacing:-.4px;line-height:1;color:#fff}
.rank-no{font-size:13px!important;font-weight:1000!important;min-width:34px!important;white-space:nowrap}
.rank-tool-actions{display:flex;align-items:center;gap:12px}
.method-btn{padding:6px 10px!important;border-radius:999px!important;background:#eef5f7!important}
.method-btn.on{background:#12354b!important;color:#fff!important}
.rank-method-panel{margin:0 11px 12px;padding:16px;border:1px solid #dce5e8;border-radius:16px;background:#f8fbfc}
.rank-method-panel[hidden]{display:none!important}
.method-head span,.track-title span{display:block;font-size:9px;font-weight:1000;letter-spacing:.14em;color:#4c7186}
.method-head h3,.track-title h3{margin:3px 0 0;font-size:20px;letter-spacing:-.5px}
.method-stats{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.method-stats b{font-size:10px;padding:6px 8px;border-radius:999px;background:#e9f1f4;color:#244c61}
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.method-grid>div{padding:10px;border-radius:12px;background:#fff;border:1px solid #e2e9ec}
.method-grid strong{font-size:11px;color:#193c50}
.method-grid p,.rank-method-panel>p{font-size:10.5px;line-height:1.55;color:#536773;margin:5px 0 0;word-break:keep-all}
.method-note{margin-top:10px!important;font-weight:800!important}
.rank-track-links{display:flex;gap:7px;margin:0 11px 12px}
.rank-track-links button{flex:1;border:1px solid #e0d7c4;background:#fffaf0;color:#5b4a2a;border-radius:12px;padding:9px 8px;font-weight:900;font-size:11px}
.special-track{scroll-margin-top:170px}
.icon-track{border-top:3px solid #b98436}
.track-title{margin-bottom:7px}
.track-index{display:inline-grid;place-items:center;min-width:28px;height:22px;border-radius:999px;background:#f0f4f6;color:#355d71;font-size:9px;margin-bottom:5px}
@media(max-width:560px){.method-grid{grid-template-columns:1fr}.rank-tool-actions{gap:7px}.rank-track-links{margin-top:2px}}

/* Ranking badge context */
.rank-shield{height:58px!important;min-width:62px!important;width:auto!important;padding:5px 9px!important;display:flex!important;flex-direction:column!important;gap:1px!important}
.medal-mark{font-size:15px;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.22)}
.rank-word{font-size:16px!important;line-height:1.05!important}
.rank-context{font-size:9.5px;font-weight:900;color:#6e7d86;letter-spacing:-.15px;margin:3px 0 5px}
.rank-context.list{display:block;margin:3px 0 0;font-size:9px;color:#7b8991}

/* 2026-09-30 · branded resources + responsive live dock */
.resource-card{position:relative;align-items:flex-start;padding-right:38px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.resource-card:hover{transform:translateY(-2px);border-color:#bdcbd1;box-shadow:0 8px 20px rgba(24,44,58,.10)}
.resource-logo{background:#fff;border:1px solid #e1e7e9;box-shadow:0 3px 9px rgba(20,43,57,.08);overflow:hidden}
.resource-logo img{width:28px;height:28px;object-fit:contain;display:block}
.resource-logo b{font-size:10px}
.resource-open{position:absolute;right:14px;top:15px;font-style:normal;font-size:18px;color:#90a0aa;font-weight:900}
.naver-place-btn{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:0 14px!important}
.naver-place-btn img{width:25px;height:25px;border-radius:6px;object-fit:contain;background:#fff}
.naver-place-btn span{flex:1;text-align:left}
.naver-place-btn em{font-style:normal;font-size:17px;opacity:.8}
.detail-resource-cta{width:100%;min-height:56px;border:1px solid #d6e0e3;border-radius:15px;background:linear-gradient(135deg,#fff,#f4f8f9);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;padding:10px 13px;color:#19384b;box-shadow:0 4px 12px rgba(19,49,66,.05)}
.detail-resource-cta .toolbox-mark{width:36px;height:36px;border-radius:10px;background:#123f58;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800}
.detail-resource-cta b{display:block;font-size:14px}
.detail-resource-cta small{display:block;margin-top:2px;font-size:10px;color:#6f7f88}
.detail-resource-cta em{font-style:normal;font-size:22px;color:#70838d}
.live-dock{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px!important;overflow:visible!important}
.live-shortcut{width:100%!important;min-width:0!important;justify-content:center!important;padding:0 5px!important}
@media(max-width:560px){
 .live-dock{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-top:5px!important}
 .live-shortcut{height:34px!important;font-size:9px!important}
 .live-shortcut .ico{font-size:13px!important}
 .resource-card{min-height:90px}
}
@media(min-width:900px){
 .zone-map-stage{height:390px!important}
 .zone-pin{max-width:155px!important;gap:4px!important}
 .zone-pin b{font-size:13px!important;line-height:1.25!important;padding:6px 9px!important;border-radius:9px!important}
 .zone-pin .pin-dot{width:23px!important;height:23px!important}
 .zone-map-head span{font-size:10px!important}
 .zone-map-head strong{font-size:21px!important}
 .zone-map-note{font-size:12px!important}
 .live-dock{max-width:1120px;margin:5px auto 0!important}
 .live-shortcut{height:38px!important;font-size:11px!important}
}

/* 2026-09-30 · beginner itinerary + responsive live tools + mobility guides */
.visual-timeline{padding:12px!important}
.visual-stop{position:relative!important;display:grid!important;grid-template-columns:94px minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important;min-height:108px!important;padding:0!important;margin:0 0 18px!important;border:1px solid #dde5e8!important;border-radius:16px!important;background:#fff!important;overflow:visible!important;box-shadow:0 5px 16px rgba(22,45,58,.08)!important;text-align:left!important}
.visual-stop>img{width:94px;height:108px;object-fit:cover;border-radius:15px 0 0 15px}
.visual-stop .stop-copy{display:flex;flex-direction:column;justify-content:center;padding:10px 12px 10px 0;min-width:0}
.visual-stop .stop-kind{font-size:9px!important;font-weight:1000;color:var(--city-accent)!important;letter-spacing:.08em;text-transform:uppercase}
.visual-stop .stop-copy strong{font-size:16px!important;line-height:1.25!important;margin:3px 0 5px}
.visual-stop .stop-copy em{font-style:normal;font-size:10.5px;color:#687985;line-height:1.45;word-break:keep-all}
.visual-stop .stop-no{position:absolute!important;left:8px!important;top:8px!important;width:30px!important;height:30px!important;border-radius:999px!important;background:rgba(11,49,70,.92)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:12px!important;font-weight:1000}
.visual-stop .stop-flow{position:absolute;left:43px;bottom:-20px;width:22px;height:22px;border-radius:999px;background:#eef5f7;color:#27566e;display:grid;place-items:center;font-size:13px;font-weight:1000;z-index:2}
.plan-stop-detail{padding-bottom:24px}
.plan-stop-hero{display:block;width:100%;height:260px;object-fit:cover}
.plan-stop-copy{padding:20px 24px 12px}
.plan-stop-copy>span{font-size:10px;font-weight:1000;letter-spacing:.12em;color:var(--city-accent)}
.plan-stop-copy h2{font-size:28px;line-height:1.15;margin:6px 0 10px;letter-spacing:-.8px}
.plan-stop-copy p{margin:0;color:#546874;line-height:1.6;word-break:keep-all}
.plan-stop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 24px}
.plan-stop-actions .btn{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #d9e1e5;border-radius:13px;background:#fff;color:#18384c;font-weight:900;text-decoration:none}
.plan-stop-actions .btn.primary{background:var(--city-primary);border-color:var(--city-primary);color:#fff}
.quick-mobility-guide>p{margin:0 0 12px;font-size:12px;line-height:1.6;color:#536975;word-break:keep-all}
.mobility-brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mobility-brand-grid a{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:74px;padding:11px 12px;border:1px solid #dfe7ea;border-radius:14px;background:#fff;text-decoration:none;color:#17394d}
.mobility-brand-grid a img{grid-row:1/3;width:34px;height:34px;border-radius:9px;object-fit:contain;background:#fff}
.mobility-brand-grid a b{font-size:13px;line-height:1.2}
.mobility-brand-grid a span{font-size:9.5px;color:#71818a;line-height:1.35}
.mobility-brand-grid a.secondary{grid-template-columns:1fr;background:#f5f7f8}
.resource-logo img{width:34px;height:34px;object-fit:contain;border-radius:9px}
.detail-resource-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important;margin-top:12px!important;border:0!important;border-radius:14px!important;background:#123f57!important;color:#fff!important;font-size:15px!important;font-weight:950!important}
@media(max-width:560px){
 .live-dock{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;overflow:visible!important}
 .live-shortcut{width:100%!important;min-width:0!important;height:38px!important;justify-content:center!important;padding:0 5px!important;font-size:10px!important}
 .plan-stop-actions{grid-template-columns:1fr}
}
@media(min-width:900px){
 .live-dock{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
 .live-shortcut{width:100%!important;height:43px!important;justify-content:center!important;font-size:12px!important}
 .zone-pin b{font-size:12px!important;padding:5px 8px!important;max-width:150px!important}
 .zone-map-head strong{font-size:20px!important}
 .zone-map-head span,.zone-map-note{font-size:11px!important}
 .visual-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .visual-stop{margin-bottom:0!important;min-height:126px!important;grid-template-columns:118px minmax(0,1fr)!important}
 .visual-stop>img{width:118px;height:126px}
 .visual-stop .stop-flow{display:none}
 .visual-stop .stop-copy strong{font-size:18px!important}
 .visual-stop .stop-copy em{font-size:12px}
 .plan-card .plan-band strong{font-size:24px!important}
 .plan-card .plan-band small{font-size:13px!important}
}

/* price / MICHELIN overview */
.food-overview-panel{margin:0 11px 14px;padding:16px;border:1px solid #dde5e8;border-radius:18px;background:#fff;scroll-margin-top:160px;box-shadow:var(--soft)}
.food-overview-panel[hidden]{display:none!important}
.overview-lead{font-size:11px;line-height:1.6;color:#5e707b;word-break:keep-all}
.price-overview-group{margin-top:14px}
.price-overview-group h4{display:flex;align-items:center;gap:6px;margin:0 0 7px;font-size:14px;color:#18384b}
.price-overview-group h4 small{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#edf3f5;color:#526b79;font-size:9px}
.price-overview-list{display:grid;gap:6px}
.price-overview-list button,.michelin-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #e0e6e9;border-radius:12px;background:#fbfcfc;padding:9px 10px;text-align:left;color:#17384b}
.price-overview-list button>b{font-size:11px;color:var(--city-accent)}
.price-overview-list button span,.michelin-row span{min-width:0}
.price-overview-list button strong,.michelin-row strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-overview-list button small,.michelin-row small{display:block;margin-top:3px;font-size:9.5px;line-height:1.35;color:#71808a}
.price-overview-list button>em,.michelin-row>em{font-style:normal;font-size:11px;font-weight:900;color:#405b6b}
.michelin-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.michelin-row{grid-template-columns:30px minmax(0,1fr) 14px;padding:9px}
.michelin-dot{width:28px;height:28px;border-radius:9px;background:#16222a;color:#fff;display:grid;place-items:center;font-size:12px!important;font-weight:1000}
.michelin-official-link{display:flex;align-items:center;justify-content:center;margin-top:12px;min-height:44px;border-radius:12px;background:#151d23;color:#fff;text-decoration:none;font-size:11px;font-weight:900}
.michelin-tool-btn{background:#20272c!important;color:#fff!important}
.rank-tool-actions{flex-wrap:wrap!important}
.detail-resource-cta{display:grid!important;grid-template-columns:36px minmax(0,1fr) 20px!important;align-items:center!important;width:100%!important;min-height:58px!important;margin-top:12px!important;border:0!important;border-radius:15px!important;background:#123f57!important;color:#fff!important;padding:10px 12px!important;text-align:left!important}
.detail-resource-cta .toolbox-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.13);font-size:22px}
.detail-resource-cta b{display:block;font-size:14px}
.detail-resource-cta small{display:block;margin-top:2px;font-size:9.5px;color:#dce9ee}
.detail-resource-cta em{font-style:normal;font-size:24px;text-align:right}
@media(max-width:560px){.michelin-grid{grid-template-columns:1fr}.food-overview-panel{padding:13px}}

/* 2026-09-30 · price overview + MICHELIN 2026 */
.food-overview-panel{margin:0 11px 14px;padding:16px;border:1px solid #dce5e8;border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(20,45,59,.06);scroll-margin-top:175px}
.food-overview-panel[hidden]{display:none!important}
.overview-lead{margin:9px 0 14px;font-size:11px;line-height:1.55;color:#5f727d;word-break:keep-all}
.price-overview-group{margin-top:13px}
.price-overview-group h4{display:flex;align-items:center;gap:7px;margin:0 0 7px;font-size:15px;color:#173a4e}
.price-overview-group h4 small{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:999px;background:#edf3f5;color:#466779;font-size:9px}
.price-overview-list{display:grid;gap:6px}
.price-overview-list button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:62px;padding:9px 10px;border:1px solid #e1e8eb;border-radius:13px;background:#fbfcfd;text-align:left;color:#17384c}
.price-overview-list button>b{display:grid;place-items:center;height:34px;border-radius:10px;background:#123f58;color:#fff;font-size:11px}
.price-overview-list strong{display:block;font-size:12px}
.price-overview-list small{display:block;margin-top:3px;font-size:9.5px;color:#6e7f89;line-height:1.35}
.price-overview-list em{font-style:normal;font-size:11px;font-weight:950;white-space:nowrap;color:#224e64}
.michelin-overview-panel{border-top:4px solid #bd1e2d;background:linear-gradient(180deg,#fff,#fffafa)}
.michelin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.michelin-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:64px;padding:9px 10px;border:1px solid #ecdfe1;border-radius:13px;background:#fff;text-align:left;color:#243b47}
.michelin-dot{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#bd1e2d;color:#fff;font-family:Georgia,serif;font-weight:900}
.michelin-row strong{display:block;font-size:12px}
.michelin-row small{display:block;margin-top:3px;font-size:9.5px;color:#6f7d85;line-height:1.35}
.michelin-row em{font-style:normal;font-size:18px;color:#9e767b}
.michelin-official-link{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;border-radius:12px;background:#1d252a;color:#fff!important;text-decoration:none;font-weight:900;font-size:11px}
.rank-tool-actions .michelin-tool-btn{border-color:#e7c8cc!important;color:#9e2130!important}
.rank-tool-actions .michelin-tool-btn.on{background:#bd1e2d!important;color:#fff!important;border-color:#bd1e2d!important}
@media(max-width:560px){.michelin-grid{grid-template-columns:1fr}.price-overview-list button{grid-template-columns:38px minmax(0,1fr) auto}}

.michelin-subhead{margin:16px 0 8px;font-size:14px;color:#1d3644}
.michelin-dot.star{background:#7c111d}
.star-row{background:#fff8f8;border-color:#e6c7cc}
.michelin-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
.michelin-links .michelin-official-link{margin-top:0}
.michelin-official-link.dark{background:#3b4449}
@media(max-width:560px){.michelin-links{grid-template-columns:1fr}}

.mobility-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:12px 0}
.mobility-steps>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:start;padding:10px;border:1px solid #dfe7ea;border-radius:13px;background:#f9fbfc}
.mobility-steps>div>b{display:grid;place-items:center;width:27px;height:27px;border-radius:999px;background:#123f58;color:#fff;font-size:11px}
.mobility-steps strong{display:block;font-size:11px;color:#18384b}
.mobility-steps small{display:block;margin-top:3px;font-size:9px;line-height:1.4;color:#6f7e87;word-break:keep-all}
@media(max-width:700px){.mobility-steps{grid-template-columns:1fr}.mobility-brand-grid{grid-template-columns:1fr}}

/* 2026-09-30 · calmer branded header */
.brand-row{display:grid;grid-template-columns:minmax(76px,1fr) minmax(170px,auto) minmax(76px,1fr);align-items:center;gap:8px;max-width:1120px;margin:0 auto}
.brand-row .masthead{justify-self:center;display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;max-width:none!important;text-align:left}
.brand-seal{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--city-primary),var(--city-accent));color:#fff;font:900 11px/1 Georgia,serif;letter-spacing:.04em;box-shadow:0 5px 12px rgba(18,53,75,.18)}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.brand-copy .mast-kicker{display:block!important;font-size:8px!important;line-height:1.15;letter-spacing:.12em;color:#718591;font-weight:950;white-space:nowrap}
.brand-copy #mastTitle{font-size:18px!important;line-height:1.1;margin-top:2px;letter-spacing:-.45px;color:#17354a}
.brand-row .top-actions{float:none!important;justify-self:end;display:flex;gap:5px;align-items:center}
.brand-row .today-top{justify-self:start;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px;height:34px!important;padding:0 10px!important;border-radius:11px!important;background:#fff1ef!important;color:#a6352c!important;border:1px solid #f0d0cb!important;box-shadow:0 3px 10px rgba(116,44,36,.06)}
.today-dot{font-size:8px;line-height:1;color:#d14e3f}
.today-label{font-size:10px;font-weight:950;white-space:nowrap}
.city-tabs{max-width:1120px;margin:7px auto 0!important;padding-top:6px;border-top:1px solid #edf1f2}
.primary-nav{max-width:1120px;margin:5px auto 0!important;padding:2px 0}
.primary-nav .nav-mark{font-size:8px!important;letter-spacing:.10em!important;line-height:1.1!important;margin-bottom:3px!important;color:#8a98a0}
.primary-nav button.on .nav-mark{color:var(--city-primary)}
.primary-nav b{font-size:11px!important}
@media(max-width:560px){
 .brand-row{grid-template-columns:72px minmax(0,1fr) 72px;gap:4px}
 .brand-seal{width:30px;height:30px;border-radius:10px;font-size:10px}
 .brand-row .masthead{gap:6px}
 .brand-copy .mast-kicker{font-size:6.7px!important;letter-spacing:.07em}
 .brand-copy #mastTitle{font-size:14px!important}
 .brand-row .today-top{height:32px!important;padding:0 7px!important}
 .today-label{font-size:9px}
 .brand-row .top-actions{gap:3px}
 .brand-row .lang-control button{min-width:29px!important;height:30px!important;font-size:9px!important;padding:0 4px!important}
 .brand-row .menu-btn{width:31px!important;height:31px!important}
 .city-tabs b{font-size:12px!important}
 .primary-nav b{font-size:10.5px!important}
}
@media(min-width:900px){
 .topbar{padding-left:24px!important;padding-right:24px!important}
 .brand-seal{width:39px;height:39px;border-radius:13px;font-size:12px}
 .brand-copy .mast-kicker{font-size:9px!important}
 .brand-copy #mastTitle{font-size:21px!important}
 .city-tabs button{height:40px!important}
 .city-tabs b{font-size:14px!important}
 .primary-nav button{height:44px!important}
 .primary-nav b{font-size:12px!important}
}

.fare-note{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#f2f7f8;border:1px solid #dbe7ea;font-size:10.5px;line-height:1.5;color:#506772;word-break:keep-all}
.fare-note a{font-weight:900;color:#15597a;text-decoration:underline;text-underline-offset:2px}
