/* 도메인 WHOIS 검증본 전용 (2026-09-28 디자인 개편) */
.whois-icon { width: 20px; height: 20px; flex: none; }
.whois-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.whois-eyebrow { margin: 0 0 6px; color: var(--accent-ink); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.whois-prose { margin: 0 0 24px; line-height: 1.85; }

/* 조회 패널 */
.whois-search { border-top: 3px solid var(--accent); }
.whois-search-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.whois-search-head .wt-panel-title { margin: 0; }
.whois-search-sub { margin: 6px 0 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.whois-protocols { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.whois-protocols li { padding: 5px 11px; border: 1px solid rgb(209 69 21 / 22%); border-radius: var(--r-pill); background: var(--accent-soft); color: var(--accent-ink); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.whois-input-row { display: flex; gap: 12px; }
.whois-field { position: relative; flex: 1; min-width: 0; }
.whois-field .whois-icon { position: absolute; top: 50%; left: 18px; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.whois-input { width: 100%; min-height: 60px; padding-left: 50px; font-size: 17px; }
.whois-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: none; min-width: 150px; min-height: 60px; font-size: 16px; }
.whois-submit[disabled] { opacity: .75; cursor: progress; }
.whois-examples { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.whois-examples-label { color: var(--muted); font-size: 13px; font-weight: 700; }
.whois-example { min-height: 34px; padding: 5px 12px; border: 1px solid var(--border); border-radius: var(--r-pill); background: var(--surface); color: var(--heading); font: inherit; font-size: 13px; cursor: pointer; overflow-wrap: anywhere; transition: border-color var(--dur), background var(--dur); }
.whois-example:hover { border-color: var(--heading); background: var(--alt); }
.whois-example:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.whois-help { margin: 12px 0 0; }
.whois-assurance { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--border-soft); list-style: none; color: var(--text); font-size: 14px; }
.whois-assurance li { display: inline-flex; align-items: center; gap: 6px; }
.whois-assurance .whois-icon { width: 16px; height: 16px; color: var(--success); stroke-width: 2.4; }
.whois-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* 결과 */
.whois-result { scroll-margin-top: 100px; overflow-wrap: anywhere; }
.whois-result:focus-visible { outline: 1px solid var(--border); outline-offset: 2px; }
.whois-alert { display: flex; gap: 12px; margin: 24px 0 0; padding: 18px 20px; border: 1px solid var(--border); border-left: 4px solid var(--heading); border-radius: var(--r-md); background: var(--alt); line-height: 1.7; }
.whois-alert .whois-icon { margin-top: 2px; color: var(--heading); }
.whois-alert p { margin: 4px 0 0; }
.whois-alert-error { border-left-color: var(--danger); }
.whois-alert-error .whois-icon { color: var(--danger); }
.whois-alert-title { color: var(--heading); font-size: 16px; }
.whois-report { margin-top: 28px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.whois-report-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--border); background: var(--alt); }
.whois-report-id { min-width: 0; }
.whois-report-kicker { margin: 0 0 2px; color: var(--muted); font-size: 13px; font-weight: 700; }
.whois-report-domain { margin: 0; color: var(--heading); font-size: 24px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.whois-report-ascii { margin: 2px 0 0; color: var(--muted); font: 13px/1.5 ui-monospace, monospace; }
.whois-copy { display: inline-flex; align-items: center; gap: 6px; flex: none; }
.whois-copy .whois-icon { width: 17px; height: 17px; }
.whois-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-bottom: 1px solid var(--border); }
.whois-fact { min-width: 0; padding: 18px 24px; }
.whois-fact + .whois-fact { border-left: 1px solid var(--border-soft); }
.whois-fact dt { margin-bottom: 6px; color: var(--muted); font-size: 13px; font-weight: 700; }
.whois-fact dd { margin: 0; color: var(--heading); font-size: 16px; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.whois-fact .whois-fact-note { margin-top: 4px; color: var(--accent-ink); font-size: 13px; font-weight: 700; }
.whois-raw-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px 0; color: var(--heading); font-size: 14px; font-weight: 800; }
.whois-chip { padding: 3px 9px; border-radius: var(--r-pill); background: var(--alt); color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.whois-raw { max-height: 520px; margin: 12px 24px 0; padding: 20px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--alt); font: 13px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; }
.whois-raw:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.whois-report .wt-status { margin: 8px 24px 0; }
.whois-report .wt-status:empty { display: none; }
.whois-report-meta { margin: 12px 24px 20px; color: var(--muted); font-size: 13px; line-height: 1.7; }

/* 특징 */
.whois-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.whois-feature { padding: 24px; border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); transition: box-shadow var(--dur), border-color var(--dur); }
.whois-feature:hover { border-color: var(--border-strong); box-shadow: var(--shadow-hover); }
.whois-feature-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: var(--r-md); background: var(--accent-soft); color: var(--accent-ink); }
.whois-feature-icon .whois-icon { width: 22px; height: 22px; }
.whois-feature-title { margin: 0 0 8px; color: var(--heading); font-size: 17px; font-weight: 800; line-height: 1.4; }
.whois-feature-text { margin: 0; color: var(--text); font-size: 15px; line-height: 1.75; }

/* 안내 카드 */
.whois-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.whois-guide-card { padding: 22px; border-radius: var(--r-lg); background: var(--alt); }
.whois-guide-title { margin: 0 0 10px; color: var(--heading); font-size: 17px; font-weight: 800; }
.whois-keys { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.whois-keys code { padding: 3px 8px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface); color: var(--heading); font: 12px/1.5 ui-monospace, monospace; }
.whois-guide-text { margin: 0; font-size: 15px; line-height: 1.75; }

/* 조회 방법 */
.whois-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: whois-step; }
.whois-step { position: relative; padding: 22px 22px 22px 70px; border: 1px solid var(--border); border-radius: var(--r-lg); counter-increment: whois-step; }
.whois-step::before { content: counter(whois-step); position: absolute; top: 20px; left: 22px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--heading); color: #fff; font-size: 15px; font-weight: 800; }
.whois-step-title { display: block; margin-bottom: 4px; color: var(--heading); font-size: 16px; }
.whois-step-text { display: block; font-size: 15px; line-height: 1.7; }

/* 확장자·FAQ 펼침 */
.whois-summary { position: relative; display: block; padding: 16px 40px 16px 0; cursor: pointer; color: var(--heading); font-weight: 700; line-height: 1.6; list-style: none; }
.whois-summary::-webkit-details-marker { display: none; }
.whois-summary::after { content: ""; position: absolute; top: 50%; right: 6px; width: 10px; height: 10px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: translateY(-70%) rotate(45deg); transition: transform var(--dur); }
details[open] > .whois-summary::after { transform: translateY(-30%) rotate(-135deg); }
.whois-summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.whois-disclosure { border: 1px solid var(--border); border-radius: var(--r-md); padding: 0 18px; }
.whois-tlds { display: flex; flex-wrap: wrap; gap: 8px; max-height: 320px; overflow-y: auto; padding: 4px 0 18px; }
.whois-tld { padding: 5px 10px; border-radius: var(--r-sm); background: var(--alt); color: var(--heading); font-size: 13px; overflow-wrap: anywhere; max-width: 100%; }
.whois-faqs { border-top: 1px solid var(--border); }
.whois-faq { border-bottom: 1px solid var(--border); }
.whois-faq[open] .whois-summary { color: var(--accent-ink); }
.whois-answer { margin: 0 0 20px; padding-right: 40px; line-height: 1.85; }

/* 공식 자료 */
.whois-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.whois-source { position: relative; display: grid; gap: 2px; padding: 16px 48px 16px 18px; border: 1px solid var(--border); border-radius: var(--r-md); color: var(--text); text-decoration: none; transition: border-color var(--dur), background var(--dur); }
.whois-source:hover { border-color: var(--heading); background: var(--alt); text-decoration: none; }
.whois-source:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.whois-source-org { color: var(--accent-ink); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.whois-source-title { color: var(--heading); font-weight: 700; }
.whois-source .whois-icon { position: absolute; top: 50%; right: 18px; width: 18px; height: 18px; color: var(--muted); transform: translateY(-50%); }

@media (max-width: 991px) {
    .whois-features, .whois-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .whois-steps { grid-template-columns: minmax(0, 1fr); }
    .whois-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .whois-fact:nth-child(3) { border-left: 0; }
    .whois-fact:nth-child(n + 3) { border-top: 1px solid var(--border-soft); }
}
@media (max-width: 640px) {
    .whois-search-head { flex-direction: column; gap: 12px; margin-bottom: 20px; }
    .whois-input-row { flex-direction: column; gap: 10px; }
    .whois-input { min-height: 54px; font-size: 16px; }
    .whois-submit { width: 100%; min-height: 52px; }
    .whois-assurance { flex-direction: column; gap: 8px; }
    .whois-features, .whois-guide, .whois-sources { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .whois-feature, .whois-guide-card { padding: 20px; }
    .whois-feature { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 18px; }
    .whois-feature-icon { grid-row: span 2; width: 40px; height: 40px; margin: 0; }
    .whois-feature-title { margin: 0 0 4px; font-size: 16px; }
    .whois-feature-text { font-size: 14px; line-height: 1.7; }
    .whois-fact:nth-child(n + 3) { grid-column: 1 / -1; border-left: 0; }
    .whois-report-head { flex-direction: column; align-items: stretch; padding: 18px 16px; }
    .whois-report-domain { font-size: 21px; }
    .whois-copy { justify-content: center; }
    .whois-fact { padding: 14px 16px; }
    .whois-fact dd { font-size: 15px; }
    .whois-raw-head { padding: 14px 16px 0; }
    .whois-raw { margin: 10px 16px 0; padding: 14px; font-size: 12px; }
    .whois-report .wt-status { margin-inline: 16px; }
    .whois-report-meta { margin: 12px 16px 16px; }
    .whois-step { padding: 18px 18px 18px 64px; }
    .whois-step::before { left: 18px; top: 18px; }
    .whois-answer { padding-right: 0; }
}
@media (max-width: 400px) {
    .whois-fact { padding: 12px; }
    .whois-fact dd { font-size: 14px; }
    .whois-fact:nth-child(-n + 2) dd:not(.whois-fact-note) { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
    .whois-feature, .whois-example, .whois-source, .whois-summary::after { transition: none; }
}
