/**
 * Privacy Mirror — "What the Internet Knows About You"
 * Uses the ReportedIP design tokens (--rip-*). Sharp content boxes, no
 * accent-border watermarks, no emoji.
 *
 * @package ReportedIP_DNSChecker
 * @since 2.5.0
 */

.ridns-privacy-mirror {
    max-width: 1100px;
    margin: 0 auto;
}

.ridns-privacy-lead {
    font-size: var(--rip-text-base, 1rem);
    line-height: 1.6;
    color: var(--rip-gray-600, #4B5563);
    margin: 0 0 var(--rip-space-4, 1rem);
}

/* Consent + reveal button live inside the existing .ridns-form styling */
.ridns-privacy-form .ridns-form__row {
    margin-top: var(--rip-space-4, 1rem);
}

/* ----- Toolbar ----------------------------------------------------------- */
.ridns-privacy-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rip-space-3, 0.75rem);
    margin-bottom: var(--rip-space-6, 1.5rem);
}

.ridns-privacy-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    font-size: var(--rip-text-sm, 0.875rem);
    font-weight: 600;
    line-height: 1;
    border: 1px solid transparent;
    border-radius: var(--rip-radius, 6px);
    cursor: pointer;
    transition: var(--rip-transition, all 0.15s ease);
}

.ridns-privacy-action:disabled {
    opacity: 0.55;
    cursor: default;
}

.ridns-privacy-action--primary {
    background: var(--rip-gradient-primary, linear-gradient(135deg, #4F46E5, #7C3AED));
    color: #fff;
}

.ridns-privacy-action--primary:hover:not(:disabled) {
    filter: brightness(1.05);
}

.ridns-privacy-action--secondary {
    background: var(--rip-gray-100, #F3F4F6);
    color: var(--rip-gray-800, #1F2937);
    border-color: var(--rip-gray-300, #D1D5DB);
}

.ridns-privacy-action--secondary:hover:not(:disabled) {
    background: var(--rip-gray-200, #E5E7EB);
}

/* ----- Result grid ------------------------------------------------------- */
.ridns-privacy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--rip-space-4, 1rem);
    align-items: start;
}

.ridns-privacy-card {
    padding: var(--rip-space-5, 1.25rem);
}

.ridns-privacy-card__title {
    margin: 0 0 var(--rip-space-3, 0.75rem);
    font-size: var(--rip-text-lg, 1.125rem);
    font-weight: 700;
    color: var(--rip-gray-900, #111827);
}

.ridns-privacy-dl {
    margin: 0;
}

.ridns-privacy-dl__row {
    display: flex;
    justify-content: space-between;
    gap: var(--rip-space-4, 1rem);
    padding: 7px 0;
    border-bottom: 1px solid var(--rip-gray-100, #F3F4F6);
}

.ridns-privacy-dl__row:last-child {
    border-bottom: none;
}

.ridns-privacy-dl__key {
    margin: 0;
    flex: 0 0 auto;
    color: var(--rip-gray-500, #6B7280);
    font-size: var(--rip-text-sm, 0.875rem);
}

.ridns-privacy-dl__val {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    color: var(--rip-gray-900, #111827);
    font-size: var(--rip-text-sm, 0.875rem);
    font-family: var(--rip-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
    word-break: break-word;
    overflow-wrap: anywhere;
}

.ridns-privacy-card__note {
    margin: var(--rip-space-3, 0.75rem) 0 0;
    padding-top: var(--rip-space-3, 0.75rem);
    border-top: 1px solid var(--rip-gray-100, #F3F4F6);
    font-size: var(--rip-text-xs, 0.75rem);
    line-height: 1.5;
    color: var(--rip-gray-500, #6B7280);
}

@media (max-width: 600px) {
    .ridns-privacy-dl__row {
        flex-direction: column;
        gap: 2px;
    }
    .ridns-privacy-dl__val {
        text-align: left;
    }
}

/* ----- Static explainer + FAQ (SEO) ------------------------------------- */
.ridns-privacy-seo {
    max-width: 820px;
    margin: var(--rip-space-8, 2rem) auto 0;
    color: var(--rip-gray-700, #374151);
}

.ridns-privacy-seo h2 {
    margin: var(--rip-space-8, 2rem) 0 var(--rip-space-3, 0.75rem);
    font-size: var(--rip-text-2xl, 1.5rem);
    font-weight: 700;
    color: var(--rip-gray-900, #111827);
}

.ridns-privacy-seo h3 {
    margin: var(--rip-space-5, 1.25rem) 0 var(--rip-space-2, 0.5rem);
    font-size: var(--rip-text-lg, 1.125rem);
    font-weight: 600;
    color: var(--rip-gray-900, #111827);
}

.ridns-privacy-seo p {
    margin: 0 0 var(--rip-space-4, 1rem);
    line-height: 1.65;
}

.ridns-privacy-faq {
    border-bottom: 1px solid var(--rip-gray-200, #E5E7EB);
    padding: var(--rip-space-3, 0.75rem) 0;
}

.ridns-privacy-faq > summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--rip-gray-900, #111827);
    list-style: none;
    padding-right: 1.5rem;
    position: relative;
}

.ridns-privacy-faq > summary::-webkit-details-marker {
    display: none;
}

.ridns-privacy-faq > summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 400;
    color: var(--rip-gray-400, #9CA3AF);
}

.ridns-privacy-faq[open] > summary::after {
    content: "\2212"; /* minus */
}

.ridns-privacy-faq > p {
    margin: var(--rip-space-3, 0.75rem) 0 0;
    color: var(--rip-gray-600, #4B5563);
}

.ridns-privacy-trust {
    margin-top: var(--rip-space-6, 1.5rem) !important;
    font-size: var(--rip-text-sm, 0.875rem);
    color: var(--rip-gray-500, #6B7280);
}
