/* LBS Modal Styles */
.nav-city{position:relative;flex:none;margin-left:14px;z-index:2}
.nav-city-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(23,105,224,.18);
  border-radius:99px;background:#eef6ff;color:#005bb5;font-family:inherit;
  font-size:13px;font-weight:700;cursor:pointer;transition:.18s;white-space:nowrap}
.nav-city-btn:hover{border-color:#0071e3;background:#fff;box-shadow:0 6px 16px rgba(23,105,224,.16)}
.nav-city-btn .ic{width:14px;height:14px;color:#f5a623}
.nav-city-btn .nav-caret{width:8px;height:8px;opacity:.6;transition:transform .2s}

.ysc-city-layer{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:900;display:flex;align-items:flex-start;justify-content:flex-start;padding-top:72px;
  background:transparent;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.ysc-city-layer.open{opacity:1;visibility:visible;pointer-events:auto}

.ysc-city-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100vh - 76px);
  display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #e7e9ee;border-radius:24px;
  background:rgba(255,255,255,.99);box-shadow:0 28px 80px rgba(7,20,46,.22);
  transform:translateY(-10px) scale(0.98);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.ysc-city-layer.open .ysc-city-dialog{transform:translateY(0) scale(1)}

.ysc-city-head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:20px;padding:24px 30px 14px}
.ysc-city-kicker{margin-bottom:6px;color:#0071e3;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.ysc-city-head h2{margin:0 0 5px;color:#1d1d1f;font-size:26px;line-height:1.2}
.ysc-city-head p{margin:0;color:#6e6e73;font-size:13px}
.ysc-city-close{width:36px;height:36px;border:0;border-radius:50%;background:#f2f2f7;color:#6e6e73;
  font:400 23px/1 Arial,sans-serif;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center}
.ysc-city-close:hover{background:#e5e5ea;color:#1d1d1f}

.ysc-city-body{padding:0 30px 30px;overflow-y:auto;scrollbar-width:none}
.ysc-city-body::-webkit-scrollbar{display:none}

.ysc-city-section-title{font-size:14px;color:#0071e3;font-weight:700;margin:0 0 14px}

.ysc-province-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}
.ysc-recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}

.ysc-province-option{min-height:64px;padding:9px 6px;border:1.5px solid #f2f2f7;border-radius:14px;background:#fcfcfd;
  color:#596579;font-family:inherit;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s}
.ysc-province-option strong{display:block;font-size:14px;line-height:1.25;font-weight:800;overflow-wrap:anywhere}
.ysc-province-option small{display:block;margin-top:4px;color:#99a2b2;font-size:10px;line-height:1.25}
.ysc-province-option:hover{border-color:#0071e3;background:#f4f9ff;color:#0066d6;transform:translateY(-1px)}
.ysc-province-option.on{border-color:#1670e8;background:#1670e8;color:#fff;box-shadow:0 8px 18px rgba(22,112,232,.24)}
.ysc-province-option.on small{color:rgba(255,255,255,.76)}

.empty-hint{font-size:13px;color:#8e8e93;padding:4px 0}

body.ysc-city-lock{overflow:hidden}

/* Mobile Drawer Links */
.ysc-city-mobile-link{width:100%;text-align:left;border:0;background:transparent;cursor:pointer;
  font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;color:#005bb5;padding:14px 0;border-bottom:1px solid #e5e5ea}

@media(max-width:980px){
  .nav-city{display:none}
  .ysc-city-layer{align-items:flex-end;padding-top:0;background:rgba(6,12,24,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .ysc-city-dialog{width:100%;max-height:91vh;border-radius:24px 24px 0 0;transform:translateY(100%) scale(1);margin-left:0 !important}
  .ysc-city-head{padding:22px 20px 15px}
  .ysc-city-head h2{font-size:23px}
  .ysc-city-head p{max-width:260px}
  .ysc-city-body{padding:0 20px 30px}
  .ysc-province-grid, .ysc-recent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .ysc-province-option{min-height:62px}
}
