.whoisip-page { padding: 2.25rem 0 3rem; }
.whoisip-hero { margin-bottom: 1rem; }
.whoisip-title { margin: 0.5rem 0; font-family: "Syne", sans-serif; font-size: clamp(1.9rem, 3.2vw, 2.6rem); line-height: 1.1; }
.whoisip-title span { color: #2c67f2; }
.whoisip-sub { margin: 0; max-width: 62ch; color: #445166; }

.whoisip-panel { border: 1px solid #dbe3f1; border-radius: 14px; background: #f7f9fe; padding: 1rem; }
.whoisip-row { display: grid; grid-template-columns: 1fr auto; gap: 0.65rem; }
.whoisip-actions { display: flex; gap: 0.55rem; align-items: stretch; }
.whoisip-label { display: inline-block; font-weight: 600; margin-bottom: 0.45rem; }
.whoisip-input { width: 100%; min-height: 2.9rem; border-radius: 10px; border: 1px solid #becce4; padding: 0.65rem 0.8rem; font-size: 1rem; background: #fff; }
.whoisip-btn { border-radius: 10px; min-width: 160px; }
.whoisip-btn--myip { min-width: 110px; }
.whoisip-hint { margin: 0.55rem 0 0; color: #64728a; font-size: 0.92rem; }
.whoisip-error { margin: 0.6rem 0 0; color: #b30f2f; font-weight: 600; }

.whoisip-layout { margin-top: 0.9rem; display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
.whoisip-box { border: 1px solid #d3dcec; border-radius: 9px; background: #fff; overflow: hidden; }
.whoisip-box > h2 { margin: 0; padding: 0.62rem 0.75rem; font-size: 1.05rem; font-weight: 700; background: #eef3fb; border-bottom: 1px solid #dfe7f5; color: #1d2b49; }

.whoisip-info { display: grid; }
.whoisip-row-data { display: grid; grid-template-columns: 180px 1fr; gap: 0.8rem; padding: 0.5rem 0.75rem; border-bottom: 1px solid #ecf1fa; }
.whoisip-row-data:last-child { border-bottom: 0; }
.whoisip-row-data > span { color: #5a6985; font-size: 0.9rem; }
.whoisip-row-data > strong { color: #1a2947; font-size: 0.93rem; font-weight: 600; word-break: break-word; }

.whoisip-flag { width: 34px; height: 24px; border: 1px solid #d2dbeb; border-radius: 4px; object-fit: cover; }

.whoisip-accordion { margin-top: 0.7rem; border: 1px solid #dbe3f1; border-radius: 12px; background: #fff; overflow: hidden; }
.whoisip-accordion > summary { cursor: pointer; list-style: none; font-weight: 600; padding: 0.62rem 0.75rem; background: #f8faff; border-bottom: 1px solid #ebf1fb; }
.whoisip-accordion > summary::-webkit-details-marker { display: none; }
.whoisip-accordion > *:not(summary) { padding: 0.65rem 0.75rem; }
.whoisip-pre { margin: 0; white-space: pre-wrap; word-break: break-word; font-size: 0.9rem; line-height: 1.35; color: #1a2947; }

@media (max-width: 700px) {
  .whoisip-row { grid-template-columns: 1fr; }
  .whoisip-actions { display: grid; grid-template-columns: 1fr; }
  .whoisip-btn { width: 100%; }
  .whoisip-row-data { grid-template-columns: 1fr; gap: 0.2rem; }
}
