/* ============================================================
   r33 · 查机构 / 查备案（并入查中介页 · 2026-10-25）
   为什么单独一个文件：首页.html 已 1.06MB，且省份格与统计格
   被 r23 / r23b / b49 三层覆盖过（最后定义者胜），直接改主文件
   容易踩到「改了没生效」。这里做成独立覆盖层，只接管三处：
     · r23ProvGridHTML  → 省份格（真实 29 省分布）
     · r23RenderStats   → 收录概况（真实数字）
     · renderProvinces  → 重绘入口
   数据：/assets/filings-index.json（2212 家，gzip 后约 107KB，懒加载）
   ============================================================ */

.r33-search {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    position: relative;
}
.r33-search > .ico {
    position: absolute;
    left: 15px;
    width: 17px;
    height: 17px;
    color: var(--muted);
    pointer-events: none;
}
.r33-search input {
    flex: 1;
    min-width: 0;
    padding: 13px 15px 13px 42px;
    border: 1.5px solid var(--line-2);
    border-radius: 12px;
    font-size: 14.5px;
    font-family: inherit;
    color: var(--ink);
    outline: none;
    background: #FBFDFF;
    transition: .2s;
}
.r33-search input::placeholder { color: #93A3B5; }
.r33-search input:focus {
    border-color: var(--gold);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(245, 130, 42, .13);
}
.r33-search .btn {
    padding: 12px 26px;
    border-radius: 12px;
    font-size: 14.5px;
    flex: none;
}

.r33-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 16px;
    font-size: 12.5px;
    color: var(--muted);
}
.r33-hint b { color: var(--navy); font-weight: 700; }
.r33-hint .tok {
    padding: 4px 11px;
    border: 1px solid var(--line-2);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    color: var(--navy-2);
    cursor: pointer;
    transition: .18s;
}
.r33-hint .tok:hover {
    border-color: var(--gold);
    color: var(--gold-ink);
    background: rgba(245, 130, 42, .07);
}

/* ---------- 结果区 ---------- */
.r33-box { margin-top: 18px; }
.r33-box__hd {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 4px;
}
.r33-box__hd b { font-size: 14.5px; color: var(--navy); }
.r33-box__hd span { font-size: 12.5px; color: var(--muted); }
.r33-box__hd em {
    margin-left: auto;
    font-style: normal;
    font-size: 12px;
    color: var(--muted);
}

.r33-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 2px;
    border-bottom: 1px dashed var(--line);
}
.r33-row:last-child { border-bottom: none; }
.r33-row__mk {
    width: 34px;
    height: 34px;
    flex: none;
    border-radius: 9px;
    background: #EFF4FA;
    color: var(--navy);
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.r33-row__bd { flex: 1; min-width: 0; }
.r33-row__nm {
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.5;
    word-break: break-all;
}
.r33-row__meta {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.7;
    margin-top: 2px;
    word-break: break-all;
}
.r33-row__st { flex: none; }
.r33-row__go {
    flex: none;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--gold-ink);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
}

.r33-empty {
    padding: 26px 0 10px;
    text-align: center;
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.9;
}
.r33-empty b { color: var(--navy); }

.r33-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    flex-wrap: wrap;
}
.r33-pager button {
    padding: 7px 14px;
    border: 1px solid var(--line-2);
    border-radius: 9px;
    background: #fff;
    font-size: 13px;
    font-family: inherit;
    color: var(--navy-2);
    cursor: pointer;
    transition: .18s;
}
.r33-pager button:hover:not(:disabled) {
    border-color: var(--gold);
    color: var(--gold-ink);
}
.r33-pager button:disabled {
    opacity: .42;
    cursor: default;
}
.r33-pager span {
    font-size: 12.5px;
    color: var(--muted);
    padding: 0 4px;
}

/* 统计格：数字用等宽感，避免 2212 与 438 宽度差太大跳版 */
.r23-stats__item .v { font-variant-numeric: tabular-nums; }

@media (max-width: 640px) {
    .r33-search { flex-wrap: wrap; }
    .r33-search .btn { width: 100%; }
    .r33-row { align-items: flex-start; flex-wrap: wrap; }
    .r33-row__go { width: 100%; justify-content: flex-end; }
}
