/* ── WP Document Verify — Public Verification Page (v1.2) ── */
/* Primary brand colour: #2596be */

:root {
    --wdv-primary:       #2596be;
    --wdv-primary-dark:  #1a7a9e;
    --wdv-primary-light: #e8f5fa;
    --wdv-primary-mid:   #c0e3f0;
    --wdv-valid:         #0e7c4a;
    --wdv-valid-bg:      #ecfdf5;
    --wdv-valid-border:  #6ee7b7;
    --wdv-warn:          #b45309;
    --wdv-warn-bg:       #fffbeb;
    --wdv-warn-border:   #fcd34d;
    --wdv-danger:        #b91c1c;
    --wdv-danger-bg:     #fef2f2;
    --wdv-danger-border: #fca5a5;
    --wdv-neutral-bg:    #f8fafc;
    --wdv-border:        #d0e8f2;
    --wdv-text:          #0f2b38;
    --wdv-muted:         #5e8a9a;
    --wdv-radius:        12px;
}

.wdv-verify-wrap {
    max-width: 680px;
    margin: 48px auto;
    padding: 0 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--wdv-text);
}

/* ── Header ── */
.wdv-verify-header {
    text-align: center;
    margin-bottom: 36px;
}
.wdv-brand-logo {
    max-height: 72px;
    margin-bottom: 18px;
}
.wdv-verify-title {
    font-size: 30px;
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--wdv-primary-dark);
    letter-spacing: -.5px;
}
.wdv-verify-subtitle {
    color: var(--wdv-muted);
    margin: 0;
    font-size: 15px;
}
.wdv-verify-subtitle strong { color: var(--wdv-primary); }

/* ── Search form ── */
.wdv-verify-form-wrap {
    background: var(--wdv-primary-light);
    border: 1.5px solid var(--wdv-primary-mid);
    border-radius: var(--wdv-radius);
    padding: 28px 28px 24px;
    margin-bottom: 32px;
    box-shadow: 0 2px 12px rgba(37,150,190,.08);
}
.wdv-search-row { display: flex; gap: 10px; }
.wdv-verify-input {
    flex: 1;
    height: 52px;
    padding: 0 18px;
    font-size: 15px;
    border: 2px solid var(--wdv-primary-mid);
    border-radius: 8px;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    background: #fff;
    color: var(--wdv-text);
    font-family: 'Courier New', monospace;
    letter-spacing: .5px;
}
.wdv-verify-input:focus {
    border-color: var(--wdv-primary);
    box-shadow: 0 0 0 3px rgba(37,150,190,.18);
}
.wdv-verify-input::placeholder { font-family: inherit; letter-spacing: 0; color: #9bbcca; }
.wdv-verify-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 52px;
    padding: 0 26px;
    background: var(--wdv-primary);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s, transform .1s;
    white-space: nowrap;
    letter-spacing: .2px;
}
.wdv-verify-btn:hover  { background: var(--wdv-primary-dark); }
.wdv-verify-btn:active { transform: scale(.98); }

/* ── Hint text under the form ── */
.wdv-form-hint {
    text-align: center;
    font-size: 12px;
    color: var(--wdv-muted);
    margin-top: 10px;
}
.wdv-form-hint code {
    background: #fff;
    border: 1px solid var(--wdv-border);
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 11px;
    color: var(--wdv-primary-dark);
}

/* ── Result panel ── */
.wdv-result {
    border-radius: var(--wdv-radius);
    padding: 36px 32px;
    text-align: center;
    animation: wdvSlideIn .3s ease;
}
@keyframes wdvSlideIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* valid */
.wdv-result-valid {
    background: linear-gradient(160deg, #f0fdfa 0%, var(--wdv-valid-bg) 100%);
    border: 2px solid var(--wdv-valid-border);
}
/* revoked / expired */
.wdv-result-revoked,
.wdv-result-expired {
    background: var(--wdv-warn-bg);
    border: 2px solid var(--wdv-warn-border);
}
/* not found / rate limited */
.wdv-result-not_found,
.wdv-result-rate_limited {
    background: var(--wdv-neutral-bg);
    border: 2px solid #cbd5e1;
}
/* tampered */
.wdv-result-tampered {
    background: var(--wdv-danger-bg);
    border: 2px solid var(--wdv-danger-border);
}

/* ── Icons ── */
.wdv-result-icon { margin-bottom: 14px; }
.wdv-icon-valid   svg { stroke: var(--wdv-valid); }
.wdv-icon-invalid svg { stroke: var(--wdv-danger); }
.wdv-icon-warning svg { stroke: var(--wdv-warn); }
.wdv-icon-info    svg { stroke: var(--wdv-muted); }

/* ── Titles ── */
.wdv-result-title {
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 8px;
    letter-spacing: -.3px;
}
.wdv-result-valid   .wdv-result-title { color: var(--wdv-valid); }
.wdv-result-revoked .wdv-result-title,
.wdv-result-expired .wdv-result-title { color: var(--wdv-warn); }
.wdv-result-not_found .wdv-result-title,
.wdv-result-rate_limited .wdv-result-title { color: #475569; }
.wdv-result-tampered  .wdv-result-title { color: var(--wdv-danger); }

.wdv-result-msg {
    color: #4a6a78;
    font-size: 15px;
    margin: 0 0 24px;
}

/* ── Certificate card ── */
.wdv-cert-card {
    background: #fff;
    border: 1.5px solid var(--wdv-primary-mid);
    border-radius: 10px;
    padding: 20px 28px;
    text-align: left;
    margin: 0 auto 24px;
    max-width: 500px;
    box-shadow: 0 2px 12px rgba(37,150,190,.08);
    position: relative;
    overflow: hidden;
}
/* Accent stripe at top */
.wdv-cert-card::before {
    content: '';
    display: block;
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--wdv-primary), var(--wdv-primary-dark));
}
.wdv-cert-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid var(--wdv-primary-light);
    font-size: 14px;
}
.wdv-cert-row:last-child { border-bottom: none; }
.wdv-cert-label {
    color: var(--wdv-muted);
    font-weight: 600;
    flex-shrink: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.wdv-cert-value { color: var(--wdv-text); font-weight: 600; text-align: right; }
.wdv-cert-row-id .wdv-cert-value {
    font-family: 'Courier New', monospace;
    font-size: 13px;
    font-weight: 700;
    color: var(--wdv-primary-dark);
    letter-spacing: .5px;
    word-break: break-all;
}

/* ── Integrity badge ── */
.wdv-integrity-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--wdv-primary-light);
    color: var(--wdv-primary-dark);
    border: 1px solid var(--wdv-primary-mid);
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 18px;
    letter-spacing: .3px;
}
.wdv-integrity-badge svg { stroke: var(--wdv-primary); }

/* ── Revoke reason ── */
.wdv-revoke-reason {
    font-size: 14px;
    color: var(--wdv-warn);
    background: var(--wdv-warn-bg);
    border: 1px solid var(--wdv-warn-border);
    border-radius: 6px;
    padding: 10px 16px;
    margin: 0 auto 18px;
    max-width: 440px;
    text-align: left;
}

/* ── Timestamp ── */
.wdv-verify-timestamp {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 14px;
    letter-spacing: .3px;
}

/* ── Responsive ── */
@media (max-width: 520px) {
    .wdv-verify-wrap { margin: 24px auto; }
    .wdv-verify-form-wrap { padding: 20px 16px; }
    .wdv-search-row { flex-direction: column; }
    .wdv-verify-btn { width: 100%; justify-content: center; }
    .wdv-result { padding: 28px 20px; }
    .wdv-cert-card { padding: 16px 16px; }
    .wdv-cert-row { flex-direction: column; gap: 2px; }
    .wdv-cert-value { text-align: left; }
    .wdv-verify-title { font-size: 24px; }
}
