/* Content CSS — applied to single Agent / Use Case / Integration / Code / Resource / Post templates.
   The post_content body is styled here so the editor experience matches the front end. */

.entry-hero {
    padding: var(--s-9) 0 var(--s-7);
    background: var(--bg-card-alt);
    border-bottom: 1px solid var(--border-hairline);
}
.entry-hero .eyebrow { color: var(--ink-secondary); }
.entry-hero h1 { margin-bottom: var(--s-4); }
.entry-hero .lede { font-size: var(--fs-xl); margin-bottom: var(--s-5); max-width: 720px; }
.entry-hero__meta { display: flex; gap: var(--s-3); flex-wrap: wrap; align-items: center; margin-bottom: var(--s-5); }
.entry-hero__actions { display: flex; flex-wrap: wrap; gap: var(--s-3); }

.entry-body { max-width: var(--container-read); margin: 0 auto; padding: var(--s-9) var(--s-5); }
.entry-body h2 { font-size: var(--fs-2xl); margin-top: var(--s-7); margin-bottom: var(--s-4); }
.entry-body h3 { font-size: var(--fs-xl); margin-top: var(--s-6); margin-bottom: var(--s-3); }
.entry-body p, .entry-body ul, .entry-body ol { font-size: var(--fs-md); line-height: 1.75; }
.entry-body ul, .entry-body ol { padding-left: var(--s-5); }
.entry-body li { margin-bottom: var(--s-2); }
.entry-body blockquote { border-left: 3px solid var(--accent-primary); padding: var(--s-3) var(--s-5); margin: var(--s-5) 0; background: var(--bg-card-alt); border-radius: 0 var(--radius-md) var(--radius-md) 0; font-style: italic; color: var(--ink-secondary); }
.entry-body code { font-family: var(--ff-mono); background: var(--bg-card-alt); padding: 2px 6px; border-radius: var(--radius-sm); font-size: 0.9em; }
.entry-body pre { background: var(--bg-inverse); color: var(--ink-on-dark); padding: var(--s-4); border-radius: var(--radius-md); overflow-x: auto; }
.entry-body pre code { background: none; color: inherit; padding: 0; }
.entry-body img { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.entry-body a { text-decoration: underline; text-decoration-color: var(--accent-glow); text-underline-offset: 3px; }

.entry-related { background: var(--bg-card-alt); padding: var(--s-9) 0; margin-top: var(--s-9); }

.entry-pricing { background: var(--bg-card); border: 1px solid var(--border-hairline); border-radius: var(--radius-lg); padding: var(--s-6); margin: var(--s-6) 0; }
.entry-pricing__row { display: flex; justify-content: space-between; align-items: baseline; padding: var(--s-3) 0; border-bottom: 1px solid var(--border-hairline); }
.entry-pricing__row:last-child { border-bottom: 0; }
.entry-pricing__label { font-weight: 500; }
.entry-pricing__value { font-family: var(--ff-mono); color: var(--accent-primary); }

/* === Hero outcomes (entry-hero augmentation) === */
.entry-hero__outcomes { list-style: none; margin: 0 0 var(--s-5); padding: 0; display: grid; gap: var(--s-2); max-width: 720px; }
.entry-hero__outcomes li { padding-left: var(--s-5); position: relative; color: var(--ink-secondary); font-size: var(--fs-md); line-height: 1.5; }
.entry-hero__outcomes li::before { content: '→'; position: absolute; left: 0; top: 0; color: var(--accent-primary); font-weight: 600; }

/* === Section header (left-aligned variant) === */
.section-header--left { text-align: left; margin: 0 0 var(--s-6); max-width: 720px; }
.section-header--left .lede { margin: 0; }

/* === §2 How it works === */
.agent-how { padding: var(--s-9) 0; background: var(--bg-base); }
.agent-how__steps {
    list-style: none; margin: 0; padding: 0;
    display: grid; gap: var(--s-5);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    counter-reset: step;
}
.agent-how__step {
    padding: var(--s-6); background: var(--bg-card);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
}
.agent-how__num { font-family: var(--ff-mono); color: var(--accent-primary); font-size: var(--fs-sm); margin-bottom: var(--s-3); letter-spacing: 0.12em; }
.agent-how__step h3 { font-size: var(--fs-xl); margin-bottom: var(--s-3); }
.agent-how__step p { color: var(--ink-secondary); margin: 0; font-size: var(--fs-base); }

/* === §3 Capabilities === */
.agent-capabilities { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.agent-capabilities__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); grid-template-columns: 1fr; }
.agent-capabilities__list li {
    padding-left: var(--s-6); position: relative;
    font-size: var(--fs-md); line-height: 1.6;
    color: var(--ink-primary);
}
.agent-capabilities__list li::before {
    content: ''; position: absolute; left: 0; top: 0.55em;
    width: 12px; height: 12px;
    background: var(--accent-primary);
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
@media (min-width: 720px) {
    .agent-capabilities__list { grid-template-columns: 1fr 1fr; gap: var(--s-4) var(--s-6); }
}

/* === §4 Coverage === */
.agent-coverage { padding: var(--s-9) 0; background: var(--bg-base); }
.agent-coverage__grid { display: grid; gap: var(--s-6); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.agent-coverage__col h6 { color: var(--ink-secondary); margin-bottom: var(--s-3); }
.agent-coverage__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); align-items: flex-start; }
.agent-coverage__col a {
    color: var(--ink-primary);
    padding: var(--s-2) var(--s-4);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-hairline);
    background: var(--bg-card);
    font-size: var(--fs-sm);
    text-decoration: none;
    transition: border-color 160ms ease, color 160ms ease;
}
.agent-coverage__col a:hover { border-color: var(--accent-primary); color: var(--accent-primary); }

/* === §5 Pricing === */
.agent-pricing { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.agent-pricing__rows { background: var(--bg-card); border: 1px solid var(--border-hairline); border-radius: var(--radius-lg); padding: 0 var(--s-6); box-shadow: var(--shadow-card); }
.agent-pricing__row { display: grid; grid-template-columns: 1fr auto; gap: var(--s-5); align-items: center; padding: var(--s-5) 0; border-bottom: 1px solid var(--border-hairline); }
.agent-pricing__row:last-child { border-bottom: 0; }
.agent-pricing__label { font-weight: 600; font-size: var(--fs-md); margin-bottom: var(--s-2); color: var(--ink-primary); }
.agent-pricing__row p { margin: 0; color: var(--ink-secondary); font-size: var(--fs-base); }
.agent-pricing__value { font-family: var(--ff-mono); color: var(--accent-primary); font-size: var(--fs-xl); font-weight: 500; white-space: nowrap; }
.agent-pricing__row--labs .agent-pricing__value { color: var(--status-labs); }
@media (max-width: 600px) {
    .agent-pricing__row { grid-template-columns: 1fr; gap: var(--s-3); }
}

/* === §6 Proof === */
.agent-proof { padding: var(--s-9) 0; background: var(--bg-base); }
.agent-proof__grid { display: grid; gap: var(--s-6); grid-template-columns: 1fr; }
@media (min-width: 800px) { .agent-proof__grid { grid-template-columns: 1.4fr 1fr; align-items: start; } }
.agent-proof__quote {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    padding: var(--s-6); border-radius: var(--radius-lg);
    border-left: 4px solid var(--accent-primary);
    font-size: var(--fs-lg); line-height: 1.55; font-style: italic;
    color: var(--ink-primary); margin: 0;
}
.agent-proof__quote p { margin: 0; }
.agent-proof__quote cite { display: block; margin-top: var(--s-4); font-style: normal; color: var(--ink-secondary); font-size: var(--fs-sm); font-family: var(--ff-mono); letter-spacing: 0.04em; }
.agent-proof__metrics { display: grid; gap: var(--s-3); }
.agent-proof__metric { background: var(--bg-card); border: 1px solid var(--border-hairline); padding: var(--s-5); border-radius: var(--radius-lg); }
.agent-proof__metric-value { font-family: var(--ff-display); font-size: var(--fs-3xl); font-weight: 600; color: var(--accent-primary); line-height: 1.05; margin-bottom: var(--s-2); }
.agent-proof__metric-label { color: var(--ink-secondary); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.1em; font-family: var(--ff-mono); }
.agent-proof__partners { list-style: none; padding: 0; margin: 0 0 var(--s-5); display: flex; flex-wrap: wrap; gap: var(--s-3); }
.agent-proof__partners li { padding: var(--s-2) var(--s-4); background: var(--bg-card); border: 1px solid var(--border-hairline); border-radius: var(--radius-pill); font-family: var(--ff-mono); font-size: var(--fs-sm); }
.agent-proof__cta { font-size: var(--fs-md); }

/* === §8 FAQ === */
.agent-faq { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.agent-faq__list { display: flex; flex-direction: column; gap: var(--s-3); }
.agent-faq__item { background: var(--bg-card); border: 1px solid var(--border-hairline); border-radius: var(--radius-lg); padding: var(--s-4) var(--s-5); }
.agent-faq__item--open { border-left: 3px solid var(--accent-primary); }
.agent-faq__q { font-weight: 600; font-size: var(--fs-md); margin: 0 0 var(--s-3); line-height: 1.35; }
/* Legacy <details>/<summary> fallback for any pre-existing markup */
.agent-faq__item summary {
    font-weight: 500; cursor: pointer; font-size: var(--fs-md);
    padding: var(--s-2) 0; list-style: none;
    display: flex; justify-content: space-between; align-items: center; gap: var(--s-4);
}
.agent-faq__item summary::-webkit-details-marker { display: none; }
.agent-faq__item summary::after {
    content: '+'; font-size: var(--fs-2xl); color: var(--accent-primary);
    transition: transform 160ms ease; line-height: 1; flex-shrink: 0;
}
.agent-faq__item[open] summary::after { content: '−'; }
.agent-faq__a { color: var(--ink-secondary); padding: var(--s-3) 0 var(--s-2); border-top: 1px solid var(--border-hairline); margin-top: var(--s-3); }
.agent-faq__a p { color: var(--ink-secondary); }

/* === §9 Final CTA === */
.agent-cta { padding: var(--s-9) 0; background: var(--bg-inverse); color: var(--ink-on-dark); }
.agent-cta__content { text-align: center; max-width: 720px; margin: 0 auto; }
.agent-cta__content h2 { color: var(--ink-on-dark); margin-bottom: var(--s-4); }
.agent-cta__content .lede { color: var(--ink-on-dark); opacity: 0.85; margin: 0 auto var(--s-6); }
.agent-cta__actions { display: flex; gap: var(--s-3); justify-content: center; flex-wrap: wrap; }
.agent-cta .btn-ghost { color: var(--ink-on-dark); border-color: rgba(255,255,255,0.3); }
.agent-cta .btn-ghost:hover { color: var(--ink-on-dark); border-color: var(--ink-on-dark); }

/* ============================================================
   Use Case template (single-use_case.php) — workflow before/after
   ============================================================ */

.workflow { padding: var(--s-9) 0; }
.workflow--today { background: var(--bg-base); }
.workflow--vitru { background: var(--bg-inverse); color: var(--ink-on-dark); }
.workflow--vitru .lede { color: var(--ink-on-dark); opacity: 0.85; }

.workflow__steps {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
    counter-reset: step;
    max-width: 760px;
    margin-inline: auto;
}
.workflow__step {
    padding: var(--s-5);
    background: var(--bg-card);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg);
    position: relative;
    display: flex; flex-direction: column; gap: var(--s-2);
}
/* Architectural section-line separator between steps.
   Hairline with a small rotated diamond at center — drafting-style centerline mark. */
.workflow__step + .workflow__step { margin-top: var(--s-7); }
.workflow__step + .workflow__step::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: calc(var(--s-7) / -2);
    height: 1px;
    background-image: linear-gradient(
        to right,
        var(--border-hairline) 0,
        var(--border-hairline) 44%,
        transparent 44%,
        transparent 56%,
        var(--border-hairline) 56%,
        var(--border-hairline) 100%
    );
    pointer-events: none;
}
.workflow__step + .workflow__step::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(var(--s-7) / -2);
    width: 12px; height: 12px;
    transform: translate(-50%, -50%) rotate(45deg);
    background: var(--bg-base);
    border: 1px solid var(--accent-primary);
    pointer-events: none;
}
.workflow--vitru .workflow__step + .workflow__step::before {
    background-image: linear-gradient(
        to right,
        rgba(255,255,255,0.18) 0,
        rgba(255,255,255,0.18) 44%,
        transparent 44%,
        transparent 56%,
        rgba(255,255,255,0.18) 56%,
        rgba(255,255,255,0.18) 100%
    );
}
.workflow--vitru .workflow__step + .workflow__step::after {
    background: var(--bg-inverse);
    border-color: var(--status-live);
}
.workflow__step--vitru {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--ink-on-dark);
}
.workflow__step--vitru h3 { color: var(--ink-on-dark); }
.workflow__step--vitru p { color: var(--ink-on-dark); opacity: 0.8; }
.workflow__num {
    font-family: var(--ff-mono); color: var(--accent-primary);
    font-size: var(--fs-sm); letter-spacing: 0.12em;
}
.workflow__step h3 { font-size: var(--fs-lg); margin: 0; line-height: 1.25; }
.workflow__step p { color: var(--ink-secondary); margin: 0; font-size: var(--fs-base); flex: 1; }
.workflow__time {
    margin-top: auto;
    font-family: var(--ff-mono); font-size: var(--fs-xs);
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--accent-primary);
    padding-top: var(--s-3); border-top: 1px solid var(--border-hairline);
}
.workflow__step--vitru .workflow__time { border-top-color: rgba(255, 255, 255, 0.12); color: var(--status-live); }

/* CPT agent-grid section — used by Use Case / Integration / Code singles */
.cpt-agents-grid { padding: var(--s-9) 0; background: var(--bg-base); }

/* ============================================================
   Integration template (single-integration.php)
   ============================================================ */

.integration-mcp { padding: var(--s-9) 0; background: var(--bg-base); }

.integration-examples { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.integration-examples__grid {
    display: grid; gap: var(--s-4);
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.integration-examples__card {
    background: var(--bg-card);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg);
    padding: var(--s-5);
    display: flex; flex-direction: column; gap: var(--s-3);
}
.integration-examples__num {
    font-family: var(--ff-mono); color: var(--accent-primary);
    font-size: var(--fs-sm); letter-spacing: 0.12em;
}
.integration-examples__card h3 { margin: 0; font-size: var(--fs-lg); }
.integration-examples__card p { color: var(--ink-secondary); margin: 0; }

.integration-install { padding: var(--s-9) 0; background: var(--bg-base); }
.integration-install__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-4); }
.integration-install__step {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg); padding: var(--s-5);
    display: grid; grid-template-columns: 60px 1fr; gap: var(--s-4); align-items: start;
}
.integration-install__num {
    font-family: var(--ff-mono); color: var(--accent-primary);
    font-size: var(--fs-2xl); font-weight: 600; line-height: 1;
}
.integration-install__body h4 { margin: 0 0 var(--s-2); font-size: var(--fs-lg); }
.integration-install__body p { color: var(--ink-secondary); margin: 0; }

.integration-requirements { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.integration-requirements__table {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg); padding: 0 var(--s-6);
    box-shadow: var(--shadow-card);
    margin: 0;
}
.integration-requirements__row {
    display: grid; grid-template-columns: 1fr 2fr; gap: var(--s-5);
    padding: var(--s-4) 0; border-bottom: 1px solid var(--border-hairline);
    align-items: baseline;
}
.integration-requirements__row:last-child { border-bottom: 0; }
.integration-requirements__row dt { color: var(--ink-secondary); font-family: var(--ff-mono); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.08em; }
.integration-requirements__row dd { margin: 0; color: var(--ink-primary); font-size: var(--fs-base); }
@media (max-width: 600px) {
    .integration-requirements__row { grid-template-columns: 1fr; gap: var(--s-1); }
}

/* ============================================================
   Regulation template (single-regulation.php)
   ============================================================ */

.code-stats { padding: var(--s-7) 0 var(--s-5); background: var(--bg-base); }
.code-stats__row {
    display: grid; gap: var(--s-3);
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    background: var(--bg-card);
    border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg);
    padding: var(--s-3) var(--s-5);
    box-shadow: var(--shadow-card);
}
.code-stats__item { padding: var(--s-3) var(--s-4); }
.code-stats__item + .code-stats__item { border-left: 1px solid var(--border-hairline); }
@media (max-width: 700px) { .code-stats__item + .code-stats__item { border-left: 0; border-top: 1px solid var(--border-hairline); } }
.code-stats__value {
    font-family: var(--ff-display); font-weight: 600;
    font-size: var(--fs-2xl); color: var(--accent-primary); line-height: 1.1;
    margin-bottom: var(--s-1);
}
.code-stats__label {
    font-family: var(--ff-mono); font-size: var(--fs-xs);
    text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-secondary);
}

.code-library { padding: var(--s-9) 0; background: var(--bg-base); }
.code-library__grid {
    display: grid; gap: var(--s-4);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.code-library__card {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg); padding: var(--s-5);
    display: flex; flex-direction: column; gap: var(--s-3);
}
.code-library__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); }
.code-library__head h3 { margin: 0; font-size: var(--fs-lg); }
.code-library__count {
    font-family: var(--ff-mono); font-size: var(--fs-sm); font-weight: 500;
    color: var(--accent-primary);
    background: rgba(14, 132, 165, 0.08);
    padding: var(--s-1) var(--s-3); border-radius: var(--radius-pill);
}
.code-library__examples { color: var(--ink-secondary); margin: 0; font-size: var(--fs-base); }

.code-limitations { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.code-limitations__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.code-limitations__list li {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    border-left: 3px solid var(--status-labs);
    border-radius: var(--radius-md);
    padding: var(--s-3) var(--s-5);
    color: var(--ink-primary); font-size: var(--fs-base);
}

.code-cadence { padding: var(--s-9) 0; background: var(--bg-base); }
.code-cadence__card {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    border-radius: var(--radius-lg); padding: var(--s-6);
    box-shadow: var(--shadow-card);
}
.code-cadence__card p { font-size: var(--fs-md); margin: 0; color: var(--ink-primary); }

.code-authority { padding: var(--s-9) 0; background: var(--bg-card-alt); }
.code-authority__card {
    background: var(--bg-card); border: 1px solid var(--border-hairline);
    border-left: 4px solid var(--accent-primary);
    border-radius: var(--radius-lg); padding: var(--s-6);
}
.code-authority__card p { color: var(--ink-secondary); }
.code-authority__card p:last-child { margin-bottom: 0; }
