/* ============================================================
   ValidEmail — API documentation shared styles
   Used by all /Docs/api-* pages and the response guide.
   ============================================================ */

.docs-hero {
    border: 0;
    border-radius: 1rem;
    background: linear-gradient(130deg, #0f172a 0%, #1d4ed8 48%, #2563eb 100%);
    color: #fff;
    overflow: hidden;
    position: relative;
}

.docs-hero:before,
.docs-hero:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
}

.docs-hero:before {
    width: 330px;
    height: 330px;
    right: -70px;
    top: -120px;
}

.docs-hero:after {
    width: 220px;
    height: 220px;
    left: -80px;
    bottom: -120px;
}

.docs-hero .docs-hero-subtitle {
    color: rgba(255, 255, 255, 0.78);
    max-width: 46rem;
}

.docs-card {
    border: 1px solid #e9ebec;
    border-radius: 1rem;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

.docs-card .card-header {
    background: transparent;
}

/* --- Page navigation pills ------------------------------------ */

.docs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.docs-nav .docs-nav-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    padding: .35rem .85rem;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .15s ease-in-out;
}

.docs-nav .docs-nav-link:hover {
    border-color: #2563eb;
    color: #1d4ed8;
}

.docs-nav .docs-nav-link.active {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

/* --- Endpoint line -------------------------------------------- */

.docs-endpoint {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    padding: .65rem .9rem;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: .85rem;
    word-break: break-all;
}

.docs-method {
    display: inline-block;
    border-radius: .45rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: .28rem .6rem;
    font-family: var(--vz-font-sans-serif, system-ui, sans-serif);
}

.docs-method-get {
    background: #d1fae5;
    color: #047857;
}

.docs-method-post {
    background: #dbeafe;
    color: #1d4ed8;
}

.docs-method-put {
    background: #fef3c7;
    color: #b45309;
}

.docs-method-delete {
    background: #fee2e2;
    color: #b91c1c;
}

/* --- Code blocks ---------------------------------------------- */

.docs-code {
    position: relative;
    border-radius: .85rem;
    overflow: hidden;
    background: #0f172a;
    margin: 0;
}

.docs-code-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .9rem;
    background: rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.docs-code pre {
    margin: 0;
    padding: 1rem 1.1rem;
    background: transparent;
    max-height: 34rem;
    overflow: auto;
}

.docs-code pre code {
    background: transparent;
    color: #e2e8f0;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: .82rem;
    line-height: 1.55;
    padding: 0;
    white-space: pre;
}

.docs-copy-btn {
    border: 0;
    background: transparent;
    color: #94a3b8;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    cursor: pointer;
    padding: 0;
}

.docs-copy-btn:hover {
    color: #e2e8f0;
}

/* --- Field / status tables ------------------------------------ */

.docs-table th,
.docs-table td {
    vertical-align: middle;
    font-size: .875rem;
}

.docs-table code {
    font-size: .8rem;
}

/* --- Chips & callouts ----------------------------------------- */

.docs-chip {
    display: inline-block;
    border-radius: 999px;
    padding: .3rem .8rem;
    font-size: .75rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.docs-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    border-radius: 50%;
    background: #e0ecff;
    color: #1e40af;
    font-weight: 700;
    font-size: .9rem;
}

.docs-callout {
    border: 1px solid #e2e8f0;
    border-left: 4px solid #2563eb;
    border-radius: .75rem;
    background: #f8fafc;
    padding: 1rem 1.15rem;
}

.docs-callout.docs-callout-warning {
    border-left-color: #f59e0b;
    background: #fffbeb;
}

.docs-callout.docs-callout-success {
    border-left-color: #10b981;
    background: #ecfdf5;
}

.docs-callout p:last-child,
.docs-callout ul:last-child {
    margin-bottom: 0;
}

/* --- Misc ------------------------------------------------------ */

.docs-section-title {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.docs-anchor {
    scroll-margin-top: 6rem;
}

@media (max-width: 575.98px) {
    .docs-code pre code {
        font-size: .75rem;
    }
}
