/* WHOIS page owns its layout. No legacy WHOIS rules are required. */
.whois-page,
.whois-page * { box-sizing:border-box; }

.whois-page {
    flex:1;
    background:#f7f8fa;
    color:#172033;
}
.wi-query-band {
    padding:42px 24px 34px;
    border-bottom:1px solid #e5e9f0;
    background:#fff;
}
.wi-query-inner,
.wi-inner { width:min(1060px,100%); margin:0 auto; }
.wi-kicker {
    margin:0 0 8px;
    color:#667085;
    font-size:12px;
    font-weight:600;
}
.wi-h1 {
    margin:0;
    color:#151b26;
    font-size:28px;
    font-weight:750;
    line-height:1.25;
    letter-spacing:0;
}
.wi-sub {
    max-width:620px;
    margin:9px 0 24px;
    color:#667085;
    font-size:14px;
    line-height:1.7;
}
.wi-search {
    display:grid;
    grid-template-columns:minmax(0,1fr) 108px;
    width:min(760px,100%);
    height:48px;
    margin:0;
    overflow:hidden;
    border:1px solid #cfd7e4;
    border-radius:6px;
    background:#fff;
    transition:border-color .15s,box-shadow .15s;
}
.wi-search:focus-within {
    border-color:#2b5cd9;
    box-shadow:0 0 0 3px rgba(43,92,217,.11);
}
.wi-search input {
    width:100%;
    min-width:0;
    height:46px;
    padding:0 16px;
    border:0;
    outline:0;
    background:transparent;
    color:#172033;
    font:400 15px/1.4 system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
    letter-spacing:0;
    box-shadow:none!important;
}
.wi-search input::placeholder { color:#98a2b3; opacity:1; }
.wi-search button {
    height:48px;
    margin:-1px -1px -1px 0;
    padding:0 20px;
    border:1px solid #2b5cd9;
    border-radius:0 6px 6px 0;
    background:#2b5cd9;
    color:#fff;
    font:650 14px/1 system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
    cursor:pointer;
}
.wi-search button:hover { background:#244fc2; border-color:#244fc2; }
.wi-query-note { margin:10px 0 0; color:#8a94a5; font-size:12px; line-height:1.6; }

.wi-main { min-height:420px; padding:28px 24px 56px; }
.wi-result {
    overflow:hidden;
    border:1px solid #dce2eb;
    border-radius:8px;
    background:#fff;
}
.wi-hdr {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:16px;
    min-height:72px;
    padding:16px 20px;
    border-bottom:1px solid #e7ebf1;
}
.wi-domain-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
.wi-hdr-domain {
    min-width:0;
    color:#172033;
    font:700 20px/1.3 ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
    word-break:break-all;
}
.wi-refresh {
    min-height:28px;
    padding:0 9px;
    border:1px solid #d7dee9;
    border-radius:5px;
    background:#fff;
    color:#536176;
    font:600 12px/1 system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
    cursor:pointer;
}
.wi-refresh:hover { border-color:#aebbd0; color:#172033; }
.wi-local-badge,
.wi-stag {
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border-radius:4px;
    font-size:11px;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
}
.wi-local-badge { border:1px solid #c9d8ff; background:#f2f6ff; color:#2452c5; }
.wi-st-reg { background:#fff1f1; color:#c93636; }
.wi-st-avail { background:#ecf8f0; color:#147a3f; }
.wi-st-unk { background:#f1f3f6; color:#667085; }
.wi-st-rsv { background:#fff5e8; color:#a15c10; }
.wi-hdr-acts { display:flex; align-items:center; gap:8px; }
.wi-btn-sm-p {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 12px;
    border:1px solid #2b5cd9;
    border-radius:5px;
    background:#2b5cd9;
    color:#fff!important;
    font-size:12px;
    font-weight:650;
    text-decoration:none;
}
.wi-btn-sm-p:hover { background:#244fc2; border-color:#244fc2; }
#wi-hdr-price { white-space:nowrap; }

.wi-tabs {
    display:flex;
    min-height:45px;
    padding:0 8px;
    overflow-x:auto;
    border-bottom:1px solid #e7ebf1;
    scrollbar-width:none;
}
.wi-tabs::-webkit-scrollbar { display:none; }
.wi-tab {
    position:relative;
    flex:0 0 auto;
    min-width:68px;
    height:44px;
    padding:0 12px;
    border:0;
    background:transparent;
    color:#667085;
    font:600 13px/1 system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
    cursor:pointer;
}
.wi-tab:hover { color:#172033; }
.wi-tab.active { color:#2452c5; }
.wi-tab.active::after {
    content:"";
    position:absolute;
    right:12px;
    bottom:-1px;
    left:12px;
    height:2px;
    background:#2b5cd9;
}
.wi-panel { display:none; min-height:220px; padding:22px 20px 24px; }
.wi-panel.active { display:block; }

.wi-kv-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:0 0 18px;
    overflow:hidden;
    border:1px solid #e0e5ed;
    border-radius:6px;
}
.wi-kv { min-width:0; padding:14px 16px; border-right:1px solid #e7ebf1; }
.wi-kv:last-child { border-right:0; }
.wi-kv-lbl { margin-bottom:5px; color:#7b8698; font-size:11px; font-weight:600; }
.wi-kv-val { color:#172033; font-size:15px; font-weight:700; line-height:1.4; word-break:break-all; }
.wi-kv-sub { margin-top:3px; color:#7b8698; font-size:11px; }
.wi-info-tbl { overflow:hidden; border:1px solid #e0e5ed; border-radius:6px; }
.wi-info-row {
    position:relative;
    display:grid;
    grid-template-columns:142px minmax(0,1fr);
    gap:18px;
    min-height:44px;
    padding:11px 44px 11px 16px;
    border-bottom:1px solid #edf0f4;
}
.wi-info-row:last-child { border-bottom:0; }
.wi-info-row:nth-child(even) { background:#fafbfc; }
.wi-info-dt { color:#667085; font-size:12px; font-weight:600; line-height:1.6; }
.wi-info-dd { min-width:0; color:#273449; font-size:13px; font-weight:500; line-height:1.6; word-break:break-word; }
.wi-copy {
    position:absolute;
    top:8px;
    right:9px;
    min-width:32px;
    height:28px;
    padding:0 6px;
    border:0;
    border-radius:4px;
    background:transparent;
    color:#8994a6;
    font-size:11px;
    cursor:pointer;
}
.wi-copy:hover { background:#eef3ff; color:#2452c5; }
.wi-copy.done { color:#147a3f; }
.wi-raw-copy {
    min-height:32px;
    padding:0 11px;
    border:1px solid #d7dee9;
    border-radius:5px;
    background:#fff;
    color:#536176;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}
.wi-raw-copy:hover { border-color:#aebbd0; color:#172033; }
.wi-raw-pre {
    max-height:480px;
    margin:0;
    overflow:auto;
    padding:16px;
    border:1px solid #e0e5ed;
    border-radius:6px;
    background:#f7f8fa;
    color:#273449;
    font:12px/1.7 ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
    white-space:pre-wrap;
    word-break:break-all;
}
.wi-dns-tbl { width:100%; border-collapse:collapse; font-size:13px; }
.wi-dns-tbl th {
    padding:10px 12px;
    border-bottom:1px solid #dce2eb;
    background:#f7f8fa;
    color:#667085;
    font-size:11px;
    font-weight:650;
    text-align:left;
    text-transform:none;
}
.wi-dns-tbl td { padding:11px 12px; border-bottom:1px solid #edf0f4; vertical-align:top; }
.wi-dns-tbl tr:last-child td { border-bottom:0; }
.dns-type {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:22px;
    padding:0 6px;
    border-radius:4px;
    background:#edf1f6;
    color:#3d4b60;
    font-size:10px;
    font-weight:700;
}
.dns-A { background:#eaf1ff; color:#2452c5; }
.dns-AAAA { background:#f2edff; color:#6842b8; }
.dns-MX { background:#fff3e3; color:#9a5810; }
.dns-NS { background:#eaf7ef; color:#147a3f; }
.dns-TXT,.dns-SOA,.dns-CNAME { background:#edf1f6; color:#536176; }
.dns-record { color:#273449; font:12px/1.6 ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace; word-break:break-all; }
.wi-loading,.wi-empty { padding:48px 20px; color:#7b8698; font-size:13px; text-align:center; }
.wi-err { padding:12px 14px; border:1px solid #f2caca; border-radius:6px; background:#fff4f4; color:#a82d2d; font-size:13px; }

.wi-empty-state { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; padding:8px 2px; }
.wi-empty-copy h2 { margin:0 0 10px; color:#202938; font-size:18px; font-weight:700; }
.wi-empty-copy p { max-width:560px; margin:0; color:#667085; font-size:13px; line-height:1.8; }
.wi-data-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:24px 0 0; }
.wi-data-item { padding:12px 0; border-top:1px solid #e4e8ef; }
.wi-data-item strong { display:block; margin-bottom:4px; color:#344054; font-size:13px; }
.wi-data-item span { color:#7b8698; font-size:12px; line-height:1.6; }
.wi-examples { padding-left:24px; border-left:1px solid #dfe4ec; }
.wi-examples h2 { margin:0 0 12px; color:#344054; font-size:13px; font-weight:700; }
.wi-example-list { display:flex; flex-wrap:wrap; gap:7px; }
.wi-example {
    min-height:30px;
    padding:0 10px;
    border:1px solid #d7dee9;
    border-radius:5px;
    background:#fff;
    color:#445268;
    font:500 12px/28px ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
    text-decoration:none;
}
.wi-example:hover { border-color:#8da8e8; color:#2452c5; }

@media(max-width:767px) {
    .wi-query-band { padding:28px 16px 24px; }
    .wi-h1 { font-size:23px; }
    .wi-sub { margin-bottom:18px; font-size:13px; }
    .wi-search { grid-template-columns:minmax(0,1fr) 82px; height:46px; }
    .wi-search input { height:44px; padding:0 12px; font-size:16px; }
    .wi-search button { height:46px; padding:0 12px; }
    .wi-main { padding:18px 12px 40px; }
    .wi-hdr { grid-template-columns:1fr auto; gap:10px; padding:14px; }
    .wi-domain-line { grid-column:1/-1; }
    .wi-hdr-domain { font-size:16px; }
    #wi-hdr-price { text-align:left!important; }
    .wi-tabs { padding:0 2px; }
    .wi-tab { min-width:62px; padding:0 10px; font-size:12px; }
    .wi-panel { min-height:180px; padding:14px 10px 18px; }
    .wi-kv-row { grid-template-columns:1fr 1fr; }
    .wi-kv { padding:11px 12px; }
    .wi-info-row { grid-template-columns:88px minmax(0,1fr); gap:8px; padding:10px 36px 10px 11px; }
    .wi-info-dt { font-size:11px; }
    .wi-info-dd { font-size:12px; }
    .wi-dns-tbl th,.wi-dns-tbl td { padding:9px 8px; }
    .wi-raw-pre { max-height:58vh; padding:11px; font-size:11px; }
    .wi-empty-state { grid-template-columns:1fr; gap:30px; padding:2px 4px; }
    .wi-data-list { grid-template-columns:1fr; margin-top:18px; }
    .wi-examples { padding:0; border:0; }
}

@media(max-width:390px) {
    .wi-kv-row { grid-template-columns:1fr; }
    .wi-kv { border-right:0; border-bottom:1px solid #e7ebf1; }
    .wi-kv:last-child { border-bottom:0; }
    .wi-info-row { grid-template-columns:1fr; gap:2px; }
}
