/* v2 配下ページの本文スタイル */
.doc-page > section > * {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.doc-page h2 {
    font-family: "Space Grotesk", "Noto Sans JP", sans-serif;
    font-size: 32px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 600;
    color: #0b1c30;
    margin: 0 0 1.25rem;
    padding-left: 0;
    border-left: none;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.doc-page h2::before {
    content: "";
    width: 3rem;
    height: 0.5rem;
    background: #2e8bee;
    flex-shrink: 0;
}

.doc-page h3 {
    font-family: "Space Grotesk", "Noto Sans JP", sans-serif;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    color: #0b1c30;
    margin: 2rem 0 0.75rem;
}

.doc-page p,
.doc-page li {
    font-family: Inter, "Noto Sans JP", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #414752;
}

.doc-page p { margin: 0 0 1rem; }
.doc-page ul,
.doc-page ol { margin: 0 0 1.25rem; padding-left: 1.25rem; }
.doc-page li { margin-bottom: 0.4rem; }
.doc-page a:not([class*="btn-"]) { color: #005daa; text-underline-offset: 3px; }
.doc-page a:not([class*="btn-"]):hover { color: #0075d5; }
.doc-page .btn-primary,
.doc-page .btn-primary:hover { color: #ffffff; }
.doc-page .btn-secondary { color: #0b1c30; }
.doc-page .btn-secondary:hover { color: #005daa; }

.doc-page .table-wrap,
.doc-page .overflow-x-auto {
    overflow-x: auto;
    margin: 0.75rem 0 1.25rem;
    border: 1px solid #c0c7d5;
    background: #ffffff;
}

.doc-page table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    margin: 0 0 1.25rem;
}

.doc-page .table-wrap table { margin: 0; }

.doc-page th,
.doc-page td {
    text-align: left;
    padding: 12px 16px;
    border: 1px solid #c0c7d5;
    vertical-align: top;
}

.doc-page th {
    background: #eff4ff;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0b1c30;
    font-weight: 500;
}

.doc-page pre {
    background: #eff4ff;
    border: 1px solid #c0c7d5;
    padding: 16px 20px;
    overflow-x: auto;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    line-height: 1.5;
    color: #0b1c30;
    margin: 0 0 1.25rem;
}

.doc-page code {
    font-family: "JetBrains Mono", monospace;
    font-size: 0.85em;
    background: #eff4ff;
    border: 1px solid #c0c7d5;
    padding: 0.1em 0.4em;
}

.doc-page pre code {
    background: none;
    border: 0;
    padding: 0;
}

.doc-page .callout-info,
.doc-page .callout-warning,
.doc-page .summary-box {
    border: 1px solid #c0c7d5;
    border-left: 4px solid #2e8bee;
    background: #ffffff;
    padding: 20px 24px;
    margin: 0 0 1.25rem;
}

.doc-page .callout-warning,
.doc-page .callout-warning--critical {
    border-left-color: #ba1a1a;
    background: #fff8f7;
}

.doc-page .card {
    background: #ffffff;
    border: 1px solid #c0c7d5;
    padding: 24px;
    margin: 0 0 1.25rem;
    border-radius: 0;
    box-shadow: none;
}

.doc-page .section-band,
.doc-page .section-inner {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

/* 旧ガイド配色を v2 トークンへ */
body.doc-child {
    --background: #f8f9ff;
    --foreground: #0b1c30;
    --muted: #eff4ff;
    --muted-foreground: #414752;
    --card: #ffffff;
    --border: #c0c7d5;
    --primary: #005daa;
    --primary-light: #0075d5;
    --primary-pale: #d4e3ff;
    --primary-foreground: #ffffff;
    --accent-bg: #eff4ff;
    --accent: #2e8bee;
    --deep: #004785;
    --warning-bg: #fff8f7;
    --warning-border: #ba1a1a;
    --band-alt: #eff4ff;
    --radius: 0;
    --radius-lg: 0;
    --shadow-soft: none;
    --shadow-card: none;
    --shadow-hover: none;
    --grid-line: #005daa0f;
    --accent-bar: #2e8bee;
    --max: 1280px;
    --font-sans: Inter, "Noto Sans JP", sans-serif;
}
