/*
Theme Name: Zorem Docs
Theme URI: http://local.docs.zorem:8080
Author: Zorem
Author URI: http://zorem.com
Description: A custom documentation theme for Zorem Docs.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: zorem-docs
*/

*, *::before, *::after { box-sizing: border-box; }
body { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; margin: 0; }

/* New Releases page — multiline excerpt clamp & pagination */
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.zd-page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid #e2e8f0; background: #fff; color: #475569; font-size: 14px; font-weight: 500; text-decoration: none; transition: all .15s; }
.zd-page-link:hover { border-color: #2563eb; color: #2563eb; }
.zd-page-link--current { background: #2563eb; border-color: #2563eb; color: #fff; }
.zd-page-link--current:hover { color: #fff; }
span.zd-page-link { color: #cbd5e1; cursor: default; }

/* Dropdown hover */
.nav-products-dropdown { display: none; }
.nav-products-wrapper:hover .nav-products-dropdown { display: flex; }
.nav-products-wrapper:hover .chevron-icon { transform: rotate(180deg); }

/* Smooth transition for chevron */
.chevron-icon { transition: transform 0.2s ease; }

/* Hide scrollbar on doc sidebar while keeping scroll */
.zd-sidebar-scroll { scrollbar-width: none; -ms-overflow-style: none; }
.zd-sidebar-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* Doc page: 300px sidebar + matching navbar logo column */
.zd-doc-sidebar { width: 300px; }
@media (min-width: 1024px) {
  .zd-doc-logo-col { width: 300px; flex-shrink: 0; padding-left: 24px; padding-right: 24px; }
}

/* Search overlay */
#search-overlay { display: none; }
#search-overlay.active { display: flex; }

/* Fix WordPress menu list styles */
.zorem-nav ul { list-style: none; margin: 0; padding: 0; }
.zorem-nav ul li a { text-decoration: none; }

/* Footer nav menu link styles */
footer .menu { list-style: none; margin: 0; padding: 0; }
footer .menu li { list-style: none; }
footer .menu li a { font-size: 15px; color: #4b5563; text-decoration: none; transition: color 0.15s; }
footer .menu li a:hover { color: #2563eb; }

/* ===== DOC SIDEBAR ACCORDION ===== */
.doc-nav-toggle { cursor: pointer; border: none; background: none; text-align: left; }
.doc-nav-chevron { transition: transform 0.2s ease; }
.doc-nav-submenu { list-style: none; }
.doc-nav-submenu li { list-style: none; }

/* ===== ENTRY CONTENT STYLES ===== */
.entry-content h1 { font-size: 2rem; font-weight: 800; color: #0f172a; margin: 2.5rem 0 1rem; line-height: 1.3; }
.entry-content h2 { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin: 2.5rem 0 1rem; line-height: 1.3; }
.entry-content h3 { font-size: 1.25rem; font-weight: 600; color: #0f172a; margin: 0.75rem 0 0.75rem; line-height: 1.4; }
.entry-content h4 { font-size: 1.1rem; font-weight: 600; color: #0f172a; margin: 1.5rem 0 0.5rem; }
.entry-content p { color: #475569; line-height: 1.8; margin-bottom: 1.25rem; }
.entry-content ul, .entry-content ol { color: #475569; margin: 0 0 1.25rem 1.5rem; line-height: 1.8; }
.entry-content li { margin-bottom: 0.375rem; }
.entry-content img { max-width: 100%; height: auto; border: 1px solid #ccc; border-radius: 0.75rem; margin: 1.5rem 0; }
.entry-content a { color: #2563eb; text-decoration: none; }
.entry-content a:hover { color: #1d4ed8; text-decoration: underline; }
.entry-content strong { color: #0f172a; font-weight: 600; }
.entry-content blockquote {
    border-left: 3px solid #2563eb;
    background: #eff6ff;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
    border-radius: 0 0.5rem 0.5rem 0;
    color: #1e40af;
}
.entry-content blockquote p { color: #1e40af; margin-bottom: 0; }
.entry-content code {
    background: #f1f5f9;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.875em;
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}
.entry-content pre {
    background: #0f172a;
    color: #e2e8f0;
    padding: 1.5rem;
    border-radius: 0.75rem;
    overflow-x: auto;
    margin: 1.5rem 0;
    font-size: 0.875rem;
    line-height: 1.7;
}
.entry-content pre code { background: transparent; padding: 0; color: inherit; font-size: inherit; }
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.9375rem;
}
.entry-content th {
    background: #f8fafc;
    font-weight: 600;
    color: #0f172a;
    text-align: left;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid #e2e8f0;
}
.entry-content td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
}
.entry-content hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 2rem 0;
}

/* ===== WP CORE COLUMNS BLOCK ===== */
.entry-content .wp-block-columns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
    margin: 1.5rem 0 !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
}
.entry-content .wp-block-column {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    word-break: break-word;
    float: none !important;
}
.entry-content .wp-block-column > *:first-child { margin-top: 0 !important; }
.entry-content .wp-block-column > *:last-child { margin-bottom: 0 !important; }
.entry-content .wp-block-column p { margin-bottom: 0.75rem; }
.entry-content .wp-block-column img,
.entry-content .wp-block-column .wp-block-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 0.5rem !important;
    display: block !important;
    float: none !important;
}
.entry-content .wp-block-image {
    margin: 1rem 0;
    max-width: 100%;
    clear: both;
}
.entry-content .wp-block-image figure,
.entry-content figure.wp-block-image {
    margin: 0 !important;
    max-width: 100% !important;
}
.entry-content .wp-block-image figcaption,
.entry-content figure.wp-block-image figcaption {
    font-size: 0.875rem;
    color: #64748b;
    font-style: italic;
    margin-top: 0.5rem;
    text-align: left;
}
.entry-content .wp-block-columns.is-not-stacked-on-mobile { flex-wrap: nowrap !important; }
@media (max-width: 781px) {
    .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-direction: column !important; }
    .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column { flex-basis: 100% !important; }
}

/* ===== CHECKLIST (green ticks) ===== */
.is-style-checklist,
.entry-content .is-style-checklist {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.is-style-checklist li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.75rem;
}
.is-style-checklist li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 1.25rem;
    height: 1.25rem;
    background: #10b981;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

/* ===== CHECKLIST BLUE ===== */
.is-style-checklist-blue,
.entry-content .is-style-checklist-blue {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.is-style-checklist-blue li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.75rem;
}
.is-style-checklist-blue li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 1.25rem;
    height: 1.25rem;
    background: #2563eb;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

/* ===== STEPS (numbered circles) ===== */
.is-style-steps,
.entry-content .is-style-steps {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    counter-reset: step-counter;
}
.is-style-steps li {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1.25rem;
    counter-increment: step-counter;
}
.is-style-steps li::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 1.5rem;
    height: 1.5rem;
    background: #2563eb;
    color: white;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.5rem;
}

/* ===== CALLOUT BOXES (apply to core/group) ===== */
.is-style-info-box {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    border-left: 4px solid #2563eb !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    margin: 1.5rem 0 !important;
}
.is-style-info-box p { color: #1e40af !important; }
.is-style-info-box strong { color: #1e3a8a !important; }
.is-style-info-box::before {
    content: '';
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    margin-bottom: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%232563eb' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath stroke-linecap='round' d='M12 16v-4m0-4h.01'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.is-style-warning-box {
    background: #fffbeb !important;
    border: 1px solid #fde68a !important;
    border-left: 4px solid #f59e0b !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    margin: 1.5rem 0 !important;
}
.is-style-warning-box p { color: #92400e !important; }
.is-style-warning-box strong { color: #78350f !important; }
.is-style-warning-box::before {
    content: '';
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    margin-bottom: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23f59e0b' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.is-style-success-box {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-left: 4px solid #10b981 !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    margin: 1.5rem 0 !important;
}
.is-style-success-box p { color: #166534 !important; }
.is-style-success-box strong { color: #14532d !important; }
.is-style-success-box::before {
    content: '';
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    margin-bottom: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2310b981' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.is-style-tip-box {
    background: #faf5ff !important;
    border: 1px solid #e9d5ff !important;
    border-left: 4px solid #8b5cf6 !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem 1.5rem !important;
    margin: 1.5rem 0 !important;
}
.is-style-tip-box p { color: #6b21a8 !important; }
.is-style-tip-box strong { color: #581c87 !important; }
.is-style-tip-box::before {
    content: '';
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    margin-bottom: 0.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%238b5cf6' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 18v-5.25m0 0a6.01 6.01 0 001.5-.189m-1.5.189a6.01 6.01 0 01-1.5-.189m3.75 7.478a12.06 12.06 0 01-4.5 0m3.75 2.383a14.406 14.406 0 01-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 10-7.517 0c.85.493 1.509 1.333 1.509 2.316V18'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* ===== CARD (group style) ===== */
.is-style-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important;
    padding: 1.5rem !important;
    margin: 1.5rem 0 !important;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05) !important;
}

/* Hide EazyDocs injected elements */
.ezd-single-wrap,
.ezd-feedback-wrap,
.ezd-help-link,
.ezd-doc-nav-footer,
.ezd-doc-print,
.ezd-share-doc,
.ezd-toc-wrap,
.ezd-content-type,
.ezd-single-sidebar,
.powered-by-eazydocs,
#respond,
.comment-respond { display: none !important; }

/* ===== CUSTOM BLOCKS: Zorem Checklist ===== */
.zd-checklist,
.entry-content .zd-checklist {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin: 0 0 1.25rem !important;
}
.zd-checklist > li {
    margin-bottom: 0;
    margin-left: 0 !important;
    padding-left: 0 !important;
    line-height: 1.6;
}
.zd-checklist > li::before,
.zd-checklist > li::marker {
    content: none !important;
    display: none !important;
}
.zd-checklist-item-wrap {
    display: flex;
    flex-direction: column;
    padding: 4px 0;
}
.zd-checklist-main {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
svg.zd-checklist-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}
.zd-checklist-text {
    color: #475569;
    font-size: 0.9375rem;
}

/* Sub-items */
.zd-checklist-subitems {
    list-style: none !important;
    padding: 0 !important;
    margin: 4px 0 0 30px !important;
}
.zd-checklist-subitems > li {
    display: block;
    margin-bottom: 0;
    padding: 0;
}
.zd-checklist-sub-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 3px 0;
}
svg.zd-checklist-subicon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 3px;
}
.zd-checklist-subitems .zd-checklist-text {
    font-size: 0.875rem;
    color: #64748b;
}

/* Sub-sub-items (level 3) */
.zd-checklist-subsubitems {
    list-style: none !important;
    padding: 0 !important;
    margin: 2px 0 0 26px !important;
}
.zd-checklist-subsubitems li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 2px 0;
    margin-bottom: 0;
}
svg.zd-checklist-subsubicon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-top: 3px;
}
.zd-checklist-subsubitems .zd-checklist-text {
    font-size: 0.8125rem;
    color: #94a3b8;
}

/* ===== CUSTOM BLOCKS: Zorem Callout ===== */
.zd-callout {
    display: flex;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 1rem;
    border: 1px solid;
    margin: 1.5rem 0;
}
.zd-callout--info    { background: #eff6ff; border-color: #bfdbfe; }
.zd-callout--warning { background: #fffbeb; border-color: #fde68a; }
.zd-callout--success { background: #f0fdf4; border-color: #bbf7d0; }
.zd-callout--tip     { background: #faf5ff; border-color: #e9d5ff; }

.zd-callout-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: flex-start;
    padding-top: 1px;
}
.zd-callout-icon svg { width: 24px; height: 24px; }
.zd-callout--info    .zd-callout-icon { color: #2563eb; }
.zd-callout--warning .zd-callout-icon { color: #d97706; }
.zd-callout--success .zd-callout-icon { color: #16a34a; }
.zd-callout--tip     .zd-callout-icon { color: #9333ea; }

.zd-callout-body { flex: 1; min-width: 0; }

.zd-callout-title {
    display: block;
    font-weight: 600;
    font-size: 0.9375rem;
    margin-bottom: 4px;
}
.zd-callout--info    .zd-callout-title { color: #1e3a8a; }
.zd-callout--warning .zd-callout-title { color: #92400e; }
.zd-callout--success .zd-callout-title { color: #14532d; }
.zd-callout--tip     .zd-callout-title { color: #581c87; }

.zd-callout-text {
    font-size: 0.875rem;
    line-height: 1.7;
    margin: 0;
}
.zd-callout--info    .zd-callout-text { color: #1d4ed8; }
.zd-callout--warning .zd-callout-text { color: #92400e; }
.zd-callout--success .zd-callout-text { color: #166534; }
.zd-callout--tip     .zd-callout-text { color: #7e22ce; }

/* ===== CUSTOM BLOCKS: Zorem Steps ===== */
.zd-steps {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
    counter-reset: none;
}
.zd-steps li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 1rem;
    line-height: 1.6;
}
.zd-steps-number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2563eb;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
}
.zd-steps-text {
    color: #475569;
    font-size: 0.9375rem;
    padding-top: 3px;
}

/* ===== CUSTOM BLOCKS: Zorem Card ===== */
.zd-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin: 1.5rem 0;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05);
}
.zd-card-title {
    font-weight: 600;
    font-size: 1.0625rem;
    color: #0f172a;
    margin-bottom: 0.75rem;
}
.zd-card-body {
    color: #475569;
    line-height: 1.7;
}

/* ===== CUSTOM BLOCKS: Zorem Table ===== */
.zd-table {
    overflow-x: auto;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
    margin: 1.5rem 0;
}
.zd-table table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    border-spacing: 0;
}
.zd-table-th {
    background: #f8fafc;
    padding: 14px 24px;
    text-align: left;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: #0f172a;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}
.zd-table-col1 { width: 33.333%; }
.zd-table tbody tr + tr { border-top: 1px solid #e2e8f0; }
.zd-table-cell {
    padding: 20px 24px;
    vertical-align: top;
    font-size: 0.9375rem;
    line-height: 1.65;
}
.zd-table-label {
    font-weight: 600;
    color: #0f172a;
    width: 33.333%;
}
.zd-table-desc { color: #475569; }
.zd-table-row--highlight .zd-table-cell { background: rgba(219,234,254,0.35); }
.zd-table-row--highlight .zd-table-label { color: #1e3a8a; }

/* Stripes style variation */
.zd-table.is-style-stripes tbody tr:nth-child(odd) .zd-table-cell  { background: #f8fafc; }
.zd-table.is-style-stripes tbody tr:nth-child(even) .zd-table-cell { background: #ffffff; }

/* ===== CUSTOM BLOCKS: Zorem Changelog ===== */
.zd-changelog {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 1rem 0;
}
.zd-changelog-version {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    padding: 0.75rem 1.25rem 1rem;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.05);
}
.zd-changelog-header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 0.75rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #f1f5f9;
}
.zd-changelog-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.zd-changelog-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 99px;
    font-size: 0.6875rem;
    font-weight: 600;
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
    line-height: 1;
    position: relative;
    top: -1px;
}
.entry-content .zd-changelog-list,
.zd-changelog-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.zd-changelog-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.9375rem;
    color: #475569;
    line-height: 1.65;
}
.zd-changelog-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 8px;
}
.zd-changelog-dot--dev         { background: #3b82f6; }
.zd-changelog-dot--add         { background: #34d399; }
.zd-changelog-dot--improvement { background: #a78bfa; }
.zd-changelog-dot--fix         { background: #fb7185; }
.zd-changelog-dot--custom      { background: #94a3b8; }
.zd-changelog-list li strong   { color: #0f172a; font-weight: 600; }

/* === Prism.js code blocks (VS Code Dark+ theme) === */
.wp-block-code,
pre[class*="language-"] {
    margin: 1.5rem 0 !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    border: 1px solid #1e293b !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    white-space: pre-wrap !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    overflow-x: hidden !important;
}
pre[class*="language-"].line-numbers { padding-left: 3.8em !important; }
code[class*="language-"],
pre[class*="language-"] {
    font-family: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, monospace !important;
    tab-size: 4;
}
code[class*="language-"] {
    white-space: pre-wrap !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}
.line-numbers .line-numbers-rows { border-right-color: #334155 !important; }
.line-numbers-rows > span::before { color: #64748b !important; }
/* Toolbar (copy button) */
div.code-toolbar > .toolbar { opacity: 0; transition: opacity 0.15s; }
div.code-toolbar:hover > .toolbar { opacity: 1; }
div.code-toolbar > .toolbar .toolbar-item > button {
    background: #334155 !important;
    color: #e2e8f0 !important;
    border: 1px solid #475569 !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
div.code-toolbar > .toolbar .toolbar-item > button:hover { background: #475569 !important; }
