/*
 * IPRevealed — Reverse DNS Lookup
 * Page-specific additions only. Core visual language comes from ip-intelligence.css.
 */

.rdns-page .rdns-results {
max-width: 100%;
}

.rdns-summary-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
background: var(--white);
border: 1px solid var(--border);
border-radius: 8px;
overflow: hidden;
}

.rdns-summary-item {
display: flex;
flex-direction: column;
justify-content: center;
gap: 7px;
min-height: 82px;
padding: 15px 18px;
border-right: 1px solid var(--border);
}

.rdns-summary-item:last-child {
border-right: 0;
}

.rdns-summary-label {
font: 700 10px var(--font-mono);
letter-spacing: .1em;
text-transform: uppercase;
color: var(--muted);
}

.rdns-summary-value {
font-size: 15px;
font-weight: 700;
line-height: 1.35;
color: var(--navy);
overflow-wrap: anywhere;
}

.rdns-summary-value.is-found {
color: #0A6B61;
}

.rdns-summary-value.is-empty {
color: var(--muted);
}

.rdns-hostnames-panel,
.rdns-interpretation {
margin-top: 18px;
}

.rdns-hostname-list {
list-style: none;
margin: 0;
padding: 0;
border-top: 1px solid var(--border);
}

.rdns-hostname-item {
display: grid;
grid-template-columns: 80px minmax(0, 1fr) auto;
align-items: center;
gap: 14px;
padding: 14px 0;
border-bottom: 1px solid var(--border);
}

.rdns-hostname-index {
font: 700 10px var(--font-mono);
letter-spacing: .1em;
text-transform: uppercase;
color: var(--muted);
}

.rdns-hostname-value {
font: 700 15px var(--font-mono);
color: var(--navy);
word-break: break-word;
overflow-wrap: anywhere;
}

.rdns-copy-btn {
appearance: none;
border: 1px solid var(--border);
border-radius: 7px;
background: var(--white);
color: var(--navy);
padding: 6px 10px;
font-size: 11.5px;
font-weight: 700;
cursor: pointer;
}

.rdns-copy-btn:hover {
background: var(--bg);
}

.rdns-copy-btn:focus-visible {
outline: 2px solid var(--teal);
outline-offset: 2px;
}

.rdns-no-ptr {
padding: 18px 20px;
background: var(--bg);
border: 1px solid var(--border);
border-radius: 8px;
}

.rdns-no-ptr p {
margin: 0;
color: var(--muted);
font-size: 14px;
line-height: 1.6;
}

.rdns-no-ptr .rdns-no-ptr-title {
margin-bottom: 5px;
font-weight: 700;
color: var(--navy);
}

.rdns-interpretation > p:last-child {
margin: 0;
max-width: 76ch;
color: var(--ink);
font-size: 15px;
line-height: 1.7;
}

.rdns-page code {
font-family: var(--font-mono);
font-size: .92em;
}

@media (max-width: 800px) {
.rdns-summary-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rdns-summary-item {
border-bottom: 1px solid var(--border);
}

.rdns-summary-item:nth-child(2) {
border-right: 0;
}

.rdns-summary-item:nth-child(3),
.rdns-summary-item:nth-child(4) {
border-bottom: 0;
}
}

@media (max-width: 560px) {
.rdns-summary-grid {
grid-template-columns: 1fr;
}

.rdns-summary-item {
border-right: 0;
border-bottom: 1px solid var(--border);
min-height: 70px;
}

.rdns-summary-item:nth-child(3) {
border-bottom: 1px solid var(--border);
}

.rdns-summary-item:last-child {
border-bottom: 0;
}

.rdns-hostname-item {
grid-template-columns: 1fr auto;
}

.rdns-hostname-index {
grid-column: 1 / -1;
}
}

/* 78F1D2 — RDNS premium polish */

/* Keep the lookup/result transition tighter than the larger IP intelligence report. */
.rdns-page .ipi-results-section {
    padding: 20px 0 30px;
}

/* More compact, product-like empty state. */
.rdns-page .ipi-empty-state {
    padding: 30px 24px 28px;
    border-radius: 10px;
    box-shadow: 0 10px 28px -26px rgba(7, 19, 33, .42);
}

.rdns-page .ipi-empty-t {
    margin-bottom: 18px;
}

/* Report hierarchy. */
.rdns-page .ipi-report-head {
    margin-bottom: 16px;
}

/* Premium summary strip: compact, readable, slightly elevated. */
.rdns-page .rdns-summary-grid {
    border-radius: 10px;
    box-shadow: 0 10px 28px -24px rgba(7, 19, 33, .32);
}

.rdns-page .rdns-summary-item {
    min-height: 76px;
    padding: 13px 17px;
    gap: 5px;
}

.rdns-page .rdns-summary-label {
    letter-spacing: .12em;
}

.rdns-page .rdns-summary-value {
    font-size: 15.5px;
}

/* Evidence sections should feel connected rather than vertically fragmented. */
.rdns-page .rdns-hostnames-panel,
.rdns-page .rdns-interpretation {
    margin-top: 16px;
}

.rdns-page .ipi-panel {
    border-radius: 10px;
}

.rdns-page .rdns-hostname-item {
    padding: 12px 0;
}

.rdns-page .rdns-copy-btn {
    transition: background .14s ease, border-color .14s ease;
}

.rdns-page .rdns-copy-btn:hover {
    background: #F4F7FA;
    border-color: #B7C5D6;
}

.rdns-page .rdns-no-ptr {
    padding: 16px 18px;
    border-radius: 10px;
}

/* Editorial sections: preserve breathing room while reducing scroll inflation. */
.rdns-page .ipi-guide {
    padding: 36px 0;
}

.rdns-page .ipi-explainers {
    margin-bottom: 28px;
}

.rdns-page .ipi-provenance {
    padding: 36px 0 42px;
}

.rdns-page .ipi-faq-section {
    padding: 36px 0 50px;
}

@media (max-width: 800px) {
    .rdns-page .ipi-results-section {
        padding: 18px 0 26px;
    }

    .rdns-page .rdns-summary-item {
        min-height: 72px;
        padding: 13px 15px;
    }

    .rdns-page .ipi-guide,
    .rdns-page .ipi-provenance {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .rdns-page .ipi-faq-section {
        padding-top: 32px;
        padding-bottom: 44px;
    }
}

@media (max-width: 560px) {
    .rdns-page .ipi-empty-state {
        padding: 26px 18px 24px;
    }

    .rdns-page .rdns-summary-item {
        min-height: 66px;
    }
}

/* 78F1D3 — RDNS premium editorial layer */

/* Harmonize the technical reading width across the lower half of the tool. */
.rdns-page .ipi-guide-inner,
.rdns-page .ipi-provenance-inner,
.rdns-page .ipi-faq-inner {
    max-width: 1080px;
}

/* --------------------------------------------------------------------------
   Understanding reverse DNS — structured technical matrix.
   -------------------------------------------------------------------------- */

.rdns-page .ipi-explainers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 30px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--white);
    overflow: hidden;
}

.rdns-page .ipi-explainer {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 0 14px;
    min-width: 0;
    padding: 21px 22px;
    border-bottom: 1px solid var(--border);
}

.rdns-page .ipi-explainer:nth-child(odd) {
    border-right: 1px solid var(--border);
}

.rdns-page .ipi-explainer:nth-child(3),
.rdns-page .ipi-explainer:nth-child(4) {
    border-bottom: 0;
}

.rdns-page .ipi-explainer-n {
    color: #0A6B61;
}

.rdns-page .ipi-explainer-body h2 {
    font-size: 17px;
    margin-bottom: 7px;
}

.rdns-page .ipi-explainer-body p {
    font-size: 14.5px;
    line-height: 1.68;
    color: var(--ink);
}

/* --------------------------------------------------------------------------
   Analyst note — distinct expert interpretation surface.
   -------------------------------------------------------------------------- */

.rdns-page .ipi-analyst {
    position: relative;
    border: 1px solid var(--border);
    border-left: 3px solid var(--teal);
    border-radius: 10px;
    background: var(--white);
    padding: 20px 22px 21px;
}

.rdns-page .ipi-analyst .ipi-kicker {
    margin-bottom: 10px;
}

.rdns-page .ipi-analyst h2 {
    font-size: 21px;
    margin-bottom: 8px;
}

.rdns-page .ipi-analyst p {
    max-width: 82ch;
    font-size: 15px;
    line-height: 1.7;
}

/* --------------------------------------------------------------------------
   Data provenance — compact trust surface.
   -------------------------------------------------------------------------- */

.rdns-page .ipi-sources {
    margin-bottom: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--white);
    overflow: hidden;
}

.rdns-page .ipi-source-row {
    grid-template-columns: minmax(155px, 190px) minmax(0, 1fr);
    padding: 14px 18px;
}

.rdns-page .ipi-source-row:last-child {
    border-bottom: 0;
}

.rdns-page .ipi-source-row dt {
    font-size: 12px;
}

.rdns-page .ipi-source-row dd {
    font-size: 13.5px;
}

.rdns-page .ipi-methodology-note {
    max-width: 88ch;
    padding-left: 2px;
}

/* --------------------------------------------------------------------------
   Next-step navigation — retain the restrained infrastructure aesthetic.
   -------------------------------------------------------------------------- */

.rdns-page .ipi-conn-strip {
    margin-top: 28px;
    padding: 17px 20px;
    border-radius: 10px;
    background: #F7F9FC;
}

.rdns-page .ipi-conn-k {
    font-size: 11px;
    letter-spacing: .1em;
}

.rdns-page .ipi-conn-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
}

.rdns-page .ipi-conn-links a {
    text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   FAQ — contained reference surface instead of loose full-width rules.
   -------------------------------------------------------------------------- */

.rdns-page .ipi-faq-list {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--white);
    overflow: hidden;
}

.rdns-page .ipi-faq-list details {
    padding: 0 20px;
}

.rdns-page .ipi-faq-list details:first-child {
    border-top: 0;
}

.rdns-page .ipi-faq-list details:last-child {
    border-bottom: 0;
}

.rdns-page .ipi-faq-list summary {
    padding: 17px 0;
}

.rdns-page .ipi-faq-list p {
    max-width: 78ch;
    margin-bottom: 17px;
}

/* --------------------------------------------------------------------------
   Responsive collapse.
   -------------------------------------------------------------------------- */

@media (max-width: 800px) {
    .rdns-page .ipi-explainers {
        grid-template-columns: 1fr;
    }

    .rdns-page .ipi-explainer {
        padding: 18px 18px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .rdns-page .ipi-explainer:nth-child(odd) {
        border-right: 0;
    }

    .rdns-page .ipi-explainer:nth-child(3) {
        border-bottom: 1px solid var(--border);
    }

    .rdns-page .ipi-explainer:last-child {
        border-bottom: 0;
    }

    .rdns-page .ipi-analyst {
        padding: 18px;
    }

    .rdns-page .ipi-source-row {
        grid-template-columns: 145px minmax(0, 1fr);
        padding: 13px 16px;
    }

    .rdns-page .ipi-faq-list details {
        padding: 0 17px;
    }
}

@media (max-width: 560px) {
    .rdns-page .ipi-explainer {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 0 10px;
        padding: 17px 15px;
    }

    .rdns-page .ipi-explainer-body h2 {
        font-size: 16px;
    }

    .rdns-page .ipi-explainer-body p {
        font-size: 14px;
    }

    .rdns-page .ipi-source-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .rdns-page .ipi-source-row dt {
        margin-bottom: 1px;
    }

    .rdns-page .ipi-conn-strip {
        padding: 16px;
    }

    .rdns-page .ipi-conn-links i {
        margin: 0 6px;
    }

    .rdns-page .ipi-faq-list details {
        padding: 0 15px;
    }
}

