/* Domain lookup uses the public site's existing theme and container tokens. */
.iid-whois-page {
  --whois-surface: #fff;
  --whois-soft: #edf3ff;
  --whois-success: #1d6a50;
  --whois-success-bg: #edf8f2;
  --whois-error: #b42318;
  background: var(--iid-bg);
}
.iid-whois-page main { outline: none; min-width: 0; }
.iid-whois-page main section { padding: 0; }
.iid-whois-page main .whois-hero {
  padding: 54px 0 72px;
  border-bottom: 1px solid var(--iid-line);
  background: linear-gradient(115deg, #eff5ff, #f9fbff 65%, #edf3ff);
}
.whois-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.whois-hero-copy h1 { font-size: clamp(30px, 3.3vw, 44px); font-weight: 700; line-height: 1.3; margin: 0 0 18px; text-wrap: balance; }
.whois-hero-copy .iid-eyebrow { margin-bottom: 18px; }
.whois-intro { max-width: 560px; margin: 0; font-size: 16px; line-height: 1.9; color: var(--iid-copy); }
.whois-coverage { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; padding: 0; margin: 24px 0 0; }
.whois-coverage li { display: flex; align-items: center; gap: 7px; color: #475f80; font-size: 13px; }
.whois-coverage i { color: var(--iid-primary); font-size: 19px; }
.whois-scope { position: relative; overflow: hidden; background: var(--iid-dark); border: 1px solid #294366; border-radius: 15px; min-height: 214px; padding: 27px 25px; color: #b5c5df; }
.whois-scope-copy { position: relative; z-index: 1; max-width: 260px; }
.whois-scope-kicker { display: inline-block; color: #a9c8ff; font: 10px ui-monospace, monospace; letter-spacing: .13em; margin-bottom: 15px; }
.whois-scope h2 { font-size: 19px; color: #f1f6ff; margin: 0 0 10px; line-height: 1.45; }
.whois-scope p { font-size: 13px; line-height: 1.85; color: #b5c5df; margin: 0; max-width: 224px; }
.whois-scope-art { position: absolute; right: -25px; top: 11px; width: 194px; height: 194px; opacity: .5; color: #4b70a1; }
.whois-scope-art svg { width: 100%; height: 100%; }
.whois-scope-domains { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.whois-scope-domains span { font: 11px ui-monospace, monospace; color: #d2e2ff; padding: 5px 9px; background: #1d3354; border: 1px solid #3a5275; border-radius: 5px; }
.whois-scope-domains span:last-child { color: #ffd2b5; border-color: #725039; background: #3a2d28; }
.whois-workspace { position: relative; padding-bottom: 64px; }
.whois-search { position: relative; margin-top: -30px; padding: 26px 30px 21px; background: var(--whois-surface); border: 1px solid var(--iid-line); border-radius: 13px; box-shadow: 0 6px 24px #14213b06; }
.whois-search > label { display: block; color: var(--iid-ink); font-size: 15px; font-weight: 600; margin: 0 0 11px; }
.whois-search-row { display: flex; gap: 12px; align-items: stretch; }
.whois-input-wrap { display: flex; align-items: center; gap: 13px; min-width: 0; flex: 1; background: #fbfcff; border: 1px solid #cbd7e8; border-radius: 8px; padding: 0 17px; transition: border-color .18s, box-shadow .18s; }
.whois-input-wrap:focus-within { border-color: var(--iid-primary); }
.whois-input-wrap > i { color: #6f85a6; font-size: 25px; flex-shrink: 0; }
.whois-input-wrap input { width: 100%; min-width: 0; background: transparent; border: 0; padding: 15px 0; color: var(--iid-ink); font-size: 16px; line-height: 1.5; outline: none; }
.whois-input-wrap input::placeholder { color: #687a95; opacity: 1; }
.whois-submit { min-width: 154px; min-height: 56px; flex-shrink: 0; font-size: 15px; gap: 10px; }
.whois-submit > i { font-size: 23px; }
.whois-search-hint { margin: 11px 0 0; color: #60718a; font-size: 12px; line-height: 1.8; }
.whois-input-error { color: var(--whois-error); font-size: 13px; line-height: 1.8; margin: 10px 0 0; }
.whois-input-error:empty { display: none; }
.whois-input-wrap:has([aria-invalid=true]) { border-color: var(--whois-error); }
.whois-examples { display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf1f7; color: #60718a; font-size: 12px; }
.whois-examples > span { margin-right: 3px; }
.whois-examples a { display: inline-flex; align-items: center; min-height: 32px; padding: 3px 7px; border-radius: 4px; color: #375f9c; overflow-wrap: anywhere; }
.whois-examples a:hover { color: var(--iid-primary); background: var(--whois-soft); }
.is-loading .whois-submit > i { width: 18px; height: 18px; border: 2px solid #ffffff70; border-top-color: #fff; border-radius: 50%; animation: whois-spin .8s linear infinite; }
.is-loading .whois-submit > i::before { content: none; }
.iid-whois-page button:disabled { opacity: .7; cursor: wait; }
@keyframes whois-spin { to { transform: rotate(360deg); } }
.whois-section-kicker { margin: 0 0 8px; font-size: 11px; color: #617593; font-weight: 600; letter-spacing: .08em; }
.iid-whois-page main .whois-result, .iid-whois-page main .whois-guide { padding-top: 38px; }
.whois-result-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 24px; }
.whois-result-heading > div { min-width: 0; }
.whois-result-heading h2 { margin: 0; color: var(--iid-ink); font-size: clamp(25px, 2.6vw, 32px); font-weight: 650; overflow-wrap: anywhere; }
.whois-normalized { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; color: #566f91; font-size: 12px; }
.whois-found { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; background: var(--whois-success-bg); color: var(--whois-success); border: 1px solid #c6e5d5; border-radius: 6px; font-size: 12px; flex-shrink: 0; }
.whois-found > i { font-size: 18px; }
.whois-date-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-bottom: 22px; }
.whois-date-card { display: flex; align-items: center; gap: 14px; padding: 22px; background: var(--whois-surface); border: 1px solid var(--iid-line); border-radius: 11px; min-width: 0; }
.whois-date-card > i { color: #4e7cbd; font-size: 29px; flex-shrink: 0; }
.whois-date-card > div { min-width: 0; }
.whois-date-card span { display: block; font-size: 12px; color: #60718a; margin-bottom: 6px; }
.whois-date-card strong { display: block; font-size: 14px; color: var(--iid-ink); font-weight: 550; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; line-height: 1.65; }
.whois-result-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 22px; align-items: start; }
.whois-result-main, .whois-sidebar { min-width: 0; display: grid; gap: 20px; }
.whois-panel { padding: 26px 28px; background: var(--whois-surface); border: 1px solid var(--iid-line); border-radius: 11px; min-width: 0; overflow-wrap: anywhere; }
.whois-panel h3 { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 600; margin: 0 0 20px; line-height: 1.6; }
.whois-panel h3 i { font-size: 24px; color: #5c80b5; }
.whois-fields { margin: 0; font-size: 14px; }
.whois-fields > div { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 22px; padding: 15px 0; border-top: 1px solid #eaf0f6; }
.whois-fields > div:first-child { padding-top: 0; border: 0; }
.whois-fields > div:last-child { padding-bottom: 0; }
.whois-fields dt { color: #60718a; font-weight: 400; }
.whois-fields dd { color: #253d5c; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.whois-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.whois-status-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.whois-status-list li { display: flex; align-items: baseline; gap: 10px 18px; flex-wrap: wrap; padding: 9px 12px; background: #f5f8fd; border: 1px solid #e5ebf5; border-radius: 5px; color: #3b608f; font-size: 13px; }
.whois-status-list code { color: #516c8f; font-size: 12px; overflow-wrap: anywhere; }
.whois-muted { color: #60718a; font-size: 14px; margin: 0; }
.whois-nameservers { margin: 0; padding: 0 0 0 22px; font: 14px/1.8 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #294c76; }
.whois-nameservers li { padding: 8px 0 8px 8px; overflow-wrap: anywhere; }
.whois-nameservers li + li { border-top: 1px solid #eaf0f6; }
.whois-nameservers li::marker { color: #7890af; font-size: 12px; }
.whois-dnssec { display: flex; flex-wrap: wrap; gap: 10px 16px; padding-top: 18px; margin-top: 12px; border-top: 1px solid var(--iid-line); font-size: 12px; color: #60718a; }
.whois-dnssec code { color: #365c89; font-size: 12px; overflow-wrap: anywhere; }
.whois-source-panel { padding: 25px; }
.whois-source-panel h3 { font-size: 15px; margin-bottom: 17px; }
.whois-source-type { display: inline-block; color: #2b61b3; background: var(--whois-soft); border: 1px solid #d7e5fc; font: 11px ui-monospace, monospace; padding: 5px 8px; border-radius: 5px; margin-bottom: 11px; }
.whois-source-panel p { font-size: 12px; color: #4e698d; margin: 0 0 22px; line-height: 1.85; }
.whois-source-panel dl { margin: 0 0 17px; font-size: 12px; }
.whois-source-panel dt { color: #60718a; font-weight: 400; margin-bottom: 5px; }
.whois-source-panel dd { color: #3c587a; font-variant-numeric: tabular-nums; margin: 0; }
.whois-source-panel a { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; }
.whois-note { padding: 25px; border-radius: 10px; background: #eaf1fd; border: 1px solid #dce7f8; }
.whois-note > i { display: block; color: #577fb9; font-size: 27px; margin-bottom: 14px; }
.whois-note h3 { font-size: 15px; font-weight: 600; margin-bottom: 12px; line-height: 1.7; }
.whois-note p { font-size: 13px; line-height: 1.9; margin: 0; color: #4c6689; }
.whois-note p + p { margin-top: 15px; padding-top: 15px; border-top: 1px solid #d2dff2; }
.whois-state-panel { display: flex; align-items: flex-start; gap: 22px; padding: 34px; border: 1px solid var(--iid-line); border-radius: 12px; background: var(--whois-surface); }
.whois-state-icon { display: grid; place-items: center; background: var(--whois-soft); border: 1px solid #dce7fa; border-radius: 11px; width: 52px; height: 52px; font-size: 29px; color: #5176ad; flex-shrink: 0; }
.whois-state-copy { min-width: 0; }
.whois-state-copy h3 { margin: 0 0 10px; font-size: 21px; font-weight: 600; line-height: 1.6; }
.whois-state-copy p { font-size: 15px; color: #566e90; line-height: 1.9; max-width: 760px; margin: 0; }
.whois-state-actions { display: flex; align-items: center; gap: 12px 24px; flex-wrap: wrap; margin-top: 23px; }
.whois-state-actions > a { display: flex; align-items: center; gap: 9px; min-height: 44px; font-size: 13px; }
.whois-raw { margin-top: 22px; background: var(--whois-surface); border: 1px solid var(--iid-line); border-radius: 11px; overflow: hidden; }
.whois-raw > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 28px; cursor: pointer; list-style: none; }
.whois-raw > summary::-webkit-details-marker, .whois-faq summary::-webkit-details-marker { display: none; }
.whois-raw summary strong { display: block; color: #2a4567; font-size: 15px; font-weight: 600; }
.whois-raw summary small { display: block; color: #60718a; font-size: 12px; margin-top: 4px; }
.whois-raw summary > i { color: #6887b0; font-size: 17px; transition: transform .18s; flex-shrink: 0; }
.whois-raw[open] summary > i { transform: rotate(180deg); }
.whois-raw-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 0 28px; padding-top: 16px; border-top: 1px solid var(--iid-line); color: #60718a; font-size: 12px; }
.whois-raw-toolbar button { display: inline-flex; align-items: center; gap: 8px; color: #365e9a; background: #f3f7ff; border: 1px solid #d7e3f6; border-radius: 6px; padding: 8px 12px; min-height: 44px; cursor: pointer; }
.whois-raw-toolbar button:hover { background: #eaf1fe; border-color: #a9c4ee; }
.whois-copy-message { font-size: 12px; color: #365e9a; margin: 8px 28px 0; }
.whois-copy-message:empty { display: none; }
.whois-raw pre { margin: 16px 28px 28px; padding: 22px; color: #324d70; background: #f6f8fc; border: 1px solid #e5ebf4; border-radius: 7px; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; font: 12px/1.85 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; max-height: 640px; overflow-y: auto; }
.whois-guide-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 23px; }
.whois-guide-heading h2, .whois-faq h2 { font-size: 25px; font-weight: 650; margin: 0; line-height: 1.4; }
.whois-guide-heading > p { margin: 0; font-size: 14px; color: #60718a; }
.whois-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.whois-guide-grid article { padding: 28px; background: var(--whois-surface); border: 1px solid var(--iid-line); border-radius: 11px; }
.whois-feature-icon { display: grid; place-items: center; width: 43px; height: 43px; background: var(--whois-soft); border: 1px solid #dde8fb; border-radius: 10px; font-size: 26px; color: #4c79ba; margin-bottom: 19px; }
.whois-guide-grid h3 { font-size: 17px; font-weight: 600; margin: 0 0 11px; }
.whois-guide-grid p { margin: 0; font-size: 14px; line-height: 1.9; color: #586f8e; }
.iid-whois-page main .whois-faq { padding-top: 48px; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 50px; }
.whois-faq-list { border-top: 1px solid var(--iid-line); }
.whois-faq details { border-bottom: 1px solid var(--iid-line); }
.whois-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; min-height: 66px; padding: 19px 0; color: #334e70; font-size: 15px; font-weight: 500; list-style: none; }
.whois-faq summary i { flex-shrink: 0; font-size: 20px; color: #6181ad; transition: transform .18s; }
.whois-faq details[open] summary i { transform: rotate(45deg); }
.whois-faq details p { font-size: 14px; color: #5b7191; line-height: 1.9; margin: 0; padding-bottom: 22px; }
.iid-whois-page button, .iid-whois-page a { touch-action: manipulation; }
@media (max-width: 1100px) {
  .whois-hero-grid { gap: 34px; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .whois-scope-art { right: -65px; opacity: .35; }
  .whois-date-card { padding: 20px 17px; gap: 10px; }
  .whois-date-card > i { font-size: 25px; }
  .whois-date-card strong { font-size: 13px; }
  .whois-result-grid { grid-template-columns: minmax(0, 1fr) 250px; gap: 18px; }
  .whois-fields > div { grid-template-columns: 126px minmax(0, 1fr); gap: 18px; }
  .whois-panel { padding: 24px; }
  .iid-whois-page main .whois-faq { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767px) {
  .iid-whois-page main .whois-hero { padding: 35px 0 57px; }
  .whois-hero-grid { grid-template-columns: 1fr; gap: 25px; }
  .whois-hero-copy h1 { margin-bottom: 15px; }
  .whois-intro { font-size: 16px; }
  .whois-coverage { gap: 10px 17px; margin-top: 18px; }
  .whois-coverage li { font-size: 12px; }
  .whois-scope { display: none; }
  .whois-search { padding: 22px; margin-top: -26px; }
  .whois-search-row { gap: 10px; }
  .whois-submit { min-width: 114px; padding: 12px 16px; font-size: 14px; }
  .whois-input-wrap { padding: 0 13px; gap: 8px; }
  .whois-input-wrap > i { font-size: 22px; }
  .whois-search-hint { font-size: 12px; }
  .whois-result-heading { align-items: flex-start; flex-direction: column; gap: 13px; margin-bottom: 20px; }
  .whois-date-grid { gap: 12px; grid-template-columns: 1fr; margin-bottom: 18px; }
  .whois-date-card { padding: 17px 20px; gap: 14px; }
  .whois-date-card > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex: 1; }
  .whois-date-card span { flex-shrink: 0; margin: 0; }
  .whois-date-card strong { font-size: 13px; text-align: right; }
  .whois-result-grid { grid-template-columns: 1fr; }
  .whois-sidebar { grid-template-columns: 1fr 1fr; gap: 18px; }
  .whois-panel, .whois-note { padding: 23px; }
  .whois-fields > div { grid-template-columns: 135px minmax(0, 1fr); gap: 15px; }
  .whois-state-panel { padding: 25px 22px; gap: 16px; }
  .whois-state-icon { width: 44px; height: 44px; font-size: 25px; }
  .whois-state-copy h3 { font-size: 19px; }
  .whois-guide-heading { flex-direction: column; align-items: flex-start; gap: 10px; }
  .whois-guide-grid { grid-template-columns: 1fr; gap: 14px; }
  .whois-guide-grid article { padding: 24px; }
  .whois-feature-icon { margin-bottom: 17px; }
  .whois-guide-grid p { font-size: 15px; }
  .iid-whois-page main .whois-faq { padding-top: 36px; grid-template-columns: 1fr; gap: 23px; }
  .whois-faq details p { font-size: 15px; }
  .whois-guide-heading h2, .whois-faq h2 { font-size: 23px; }
  .whois-raw > summary { padding: 21px 22px; }
  .whois-raw-toolbar { margin-inline: 22px; }
  .whois-raw pre { margin: 16px 18px 20px; padding: 17px; }
  .whois-copy-message { margin-inline: 22px; }
  .whois-workspace { padding-bottom: 44px; }
}
@media (max-width: 480px) {
  .whois-search { padding: 21px 18px 16px; }
  .whois-search-row { flex-direction: column; }
  .whois-submit { width: 100%; min-height: 48px; }
  .whois-input-wrap input { padding-block: 14px; }
  .whois-input-wrap > i { display: none; }
  .whois-examples { gap: 3px 4px; }
  .whois-examples a { min-height: 40px; padding-inline: 5px; }
  .whois-examples > span { width: 100%; }
  .whois-fields > div { grid-template-columns: 1fr; gap: 6px; }
  .whois-date-card > div { display: block; }
  .whois-date-card strong { text-align: left; font-size: 14px; margin-top: 5px; }
  .whois-sidebar { grid-template-columns: 1fr; }
  .whois-state-panel { flex-direction: column; }
  .whois-status-list li { gap: 4px; align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .iid-whois-page *, .iid-whois-page *::before, .iid-whois-page *::after { animation: none !important; transition-duration: .01ms !important; }
}
