/* ── Rocco docs: Furo customizations ── */

/* Google Fonts: Inter */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

/* ── Hero tagline ── */
.rocco-tagline {
    font-size: 1.15rem;
    color: var(--color-foreground-secondary);
    margin: 0 0 2rem 0;
    line-height: 1.6;
}

/* ── Hero feature cards ── */
.rocco-hero-grid .sd-card {
    border-top: 3px solid var(--color-brand-primary);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.rocco-hero-grid .sd-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(26, 107, 138, 0.15);
}

.rocco-hero-grid .sd-card-body {
    font-size: 0.92rem;
}

/* ── Feature cards (bottom grid) ── */
.rocco-feature-card.sd-card {
    background: var(--color-background-secondary);
    border: 1px solid var(--color-background-border);
}

.rocco-feature-card .sd-card-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--color-brand-primary);
    gap: 0.4em;
}

/* ── Code blocks ── */
div[class*="highlight"] pre {
    border-radius: 6px;
    font-size: 0.85rem;
    line-height: 1.55;
}

/* ── Sidebar ── */
.sidebar-brand-text {
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: -0.02em;
}

/* ── Admonitions ── */
.admonition {
    border-radius: 6px;
    border-left-width: 4px;
}

.admonition > .admonition-title {
    font-weight: 600;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Article headings ── */
article h2 {
    border-bottom: 1px solid var(--color-background-border);
    padding-bottom: 0.35em;
    color: var(--color-brand-primary);
}

/* ── Tab sets ── */
.sd-tab-set > .sd-tab-content {
    border-radius: 0 6px 6px 6px;
}

/* ── Tables ── */
table.docutils {
    font-size: 0.9rem;
    border-radius: 6px;
    overflow: hidden;
}

table.docutils thead tr th {
    background: var(--color-brand-primary);
    color: white;
    font-weight: 600;
}

/* ── Horizontal rule ── */
article hr {
    border-color: var(--color-background-border);
    margin: 2.5rem 0;
}

/* ── Copy button alignment ── */
.copybtn {
    top: 0.6rem !important;
    right: 0.6rem !important;
}

/* ── Wrap long lines in plain-text code blocks (.. code-block:: text / none) ── */
.highlight-text pre,
.highlight-none pre {
    white-space: pre-wrap;
    word-break: break-word;
}

/* Fix Mermaid sizing in Furo */

.mermaid svg {
    max-width: 100% !important;
    height: auto !important;
}

/* CRITICAL FIX */
.mermaid foreignObject {
    overflow: visible !important;
}

/* Prevent node clipping */
.mermaid .node rect,
.mermaid .node polygon,
.mermaid .node path {
    overflow: visible !important;
}

/* Give labels room */
.mermaid .label {
    overflow: visible !important;
}

/* Furo content container fix */
.main .content .mermaid {
    overflow-x: auto;
    overflow-y: visible !important;
    padding: 1rem 0;
}