/* The posts' and pages' bodies in the 2026 design (REDESIGN-PLAN.md section 3): WordPress's block markup,
   WPBakery's rows, columns, tabs and separators, TablePress's tables and the theme's frozen bodies, styled
   under .prose so no post's or page's file changes. Callouts keep their inline styles. Colours and fonts
   are the brand kit's custom properties only. */

.prose { color: var(--nb-grey-700); font-size: 17px; line-height: 1.7; overflow-wrap: break-word; }
.prose > :first-child, .prose .wpb_wrapper > :first-child { margin-top: 0; }
.prose > :is(p, ul, ol, h2, h3, h4, blockquote), .prose .wpb_wrapper > :is(p, ul, ol), .prose .team-block p { max-width: 72ch; }
.prose h1, .prose h2, .prose h3, .prose h4, .prose h5 { color: var(--nb-blue-900); letter-spacing: -0.015em; line-height: 1.25; margin: 1.8em 0 0.6em; }
.prose h2 { font-size: 28px; }
.prose h3 { font-size: 22px; }
.prose h4, .prose h5 { font-size: 18px; }
.prose p, .prose ul, .prose ol, .prose dl, .prose blockquote, .prose figure, .prose table { margin: 0 0 1.1em; }
.prose ul, .prose ol { padding-left: 1.4em; }
.prose li { margin: 0.3em 0; }
.prose a { color: var(--nb-blue-600); text-underline-offset: 2px; }
.prose strong { color: var(--nb-grey-800); }
.prose hr { border: 0; border-top: 1px solid var(--nb-grey-200); margin: 2em 0; }
.prose blockquote { margin-left: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--nb-blue-200); color: var(--nb-grey-700); }
.prose img { border-radius: 8px; }
.prose .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.prose .alignleft { float: left; margin: 0.3em 1.5em 1em 0; }
.prose .alignright { float: right; margin: 0.3em 0 1em 1.5em; }
.prose figure { max-width: 100%; }
.prose figcaption, .prose .wp-caption-text, .prose .wp-element-caption { margin-top: 8px; font-size: 14px; color: var(--nb-grey-500); }
.prose .wp-caption { max-width: 100%; }
.prose .has-background { border-radius: 12px; padding: 20px 24px; }
.prose .has-very-light-gray-background-color { background: var(--nb-grey-100); }
.prose code { font-size: 0.92em; background: var(--nb-grey-100); padding: 1px 5px; border-radius: 4px; }
.prose::after { content: ""; display: table; clear: both; }

/* Tables: WordPress's, TablePress's and plain, scrolled sideways on a phone. */
.prose .wp-block-table, .prose .tablepress-wrap { overflow-x: auto; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; display: block; overflow-x: auto; }
@media (min-width: 861px) { .prose table { display: table; } }
.prose th, .prose td { border: 1px solid var(--nb-grey-200); padding: 10px 12px; text-align: left; vertical-align: top; }
.prose thead th, .prose table.tablepress thead th { background: var(--nb-blue-50); color: var(--nb-blue-900); font-weight: 600; }
.prose tbody tr:nth-child(even) td { background: var(--nb-grey-50); }

/* The discount-rate pages' facts row and tabs (pages/wpcode-discount-rate-tabs.html), in the brand's colours. */
@media (max-width: 600px) { .prose div[style*="repeat(3, 1fr)"] { grid-template-columns: 1fr 1fr !important; } }
.prose .nc-tablist .nc-tab[aria-selected="true"] { color: var(--nb-blue-600) !important; border-color: var(--nb-blue-900) !important; }
.prose .nc-tablist .nc-tab:hover { color: var(--nb-blue-700) !important; }

/* WPBakery's rows and columns. */
.prose .vc_row { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 1.5em; }
.prose .vc_row::before, .prose .vc_row::after { display: none; }
.prose .vc_column_container { flex: 1 1 240px; min-width: 0; }
.prose .vc_col-sm-12 { flex-basis: 100%; }
.prose .vc_col-sm-9 { flex: 3 1 420px; }
.prose .vc_col-sm-3 { flex: 1 1 180px; }
.prose .vc_separator { display: flex; align-items: center; gap: 12px; margin: 1.5em 0; }
.prose .vc_sep_holder { flex: 1 1 auto; }
.prose .vc_sep_line { display: block; border-top: 1px solid var(--nb-grey-200); }
.prose .vc_separator h4 { margin: 0; font-size: 18px; }
.prose .vc_custom_heading { margin-top: 1.2em; font-family: inherit !important; color: var(--nb-blue-900) !important; }

/* WPBakery's tabs and accordions: every panel shown, each under its own title, without their script. */
.prose .vc_tta-tabs-container { display: none; }
.prose .vc_tta-panel { border: 1px solid var(--nb-grey-200); border-radius: 12px; margin: 0 0 12px; }
.prose .vc_tta-panel-heading { padding: 14px 20px; border-bottom: 1px solid var(--nb-grey-200); }
.prose .vc_tta-panel-title { margin: 0; font-size: 18px; }
.prose .vc_tta-panel-title a { text-decoration: none; color: var(--nb-blue-900); }
.prose .vc_tta-controls-icon { display: none; }
.prose .vc_tta-panel-body { display: block !important; padding: 16px 20px; }

/* The theme's frozen bodies: the management page's team, the clients' logos. */
.prose .team-block { border-top: 1px solid var(--nb-grey-200); padding: 24px 0; }
.prose .team-block .row { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: baseline; }
.prose .team-block .name { font-size: 20px; color: var(--nb-blue-900); }
.prose .twocolumns, .prose .article-frame, .prose .holder { display: block; }
.prose .partner-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; }
.prose .partner-list li { margin: 0; display: flex; align-items: center; justify-content: center; padding: 12px; border: 1px solid var(--nb-grey-200); border-radius: 12px; }

/* The comments: WordPress's frozen list and the comments API's form (api/README.md). */
.comments-area { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--nb-grey-200); }
.comments-area h2 { font-size: 22px; }
.comments-area .commentlist { list-style: none; padding: 0; }
.comments-area .children { list-style: none; padding-left: 24px; border-left: 2px solid var(--nb-grey-200); }
.comment-form label { display: block; margin-bottom: 6px; font-weight: 600; color: var(--nb-grey-800); }
.comment-form p { margin: 0 0 16px; }
.comments-area input[type="text"], .comments-area input[type="email"], .comments-area textarea { width: 100%; max-width: 640px; padding: 10px 12px; border: 1px solid var(--nb-grey-300); border-radius: 8px; }
.comments-area input[type="submit"], .comments-area button[type="submit"] { min-height: 44px; padding: 0 20px; border: 0; border-radius: 8px; background: var(--nb-blue-600); color: var(--nb-white); font-weight: 600; cursor: pointer; }
