/*
Theme Name: Ventureplain
Author: Ventureplain
Description: Block theme for Ventureplain. Base and trust pages come from this pack; navigation, authors, contact, tagline, logo and icon come from the AEN PLAN contract.
Version: 1.0.2
Requires at least: 6.7
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: ventureplain
*/
:root { --vb-accent:var(--aen-primary,#65437c); --vb-ink:#292431; --vb-muted:#6c6573; --vb-line:#e4dfe8; --vb-soft:#f7f5f9; }
* { box-sizing:border-box; }
body { background:var(--vb-soft); color:var(--vb-ink); font-size:16px; }
.wp-site-blocks { padding-block:0; padding-inline:var(--wp--style--root--padding-left,20px); }
.wp-site-blocks > header,.wp-site-blocks > footer { margin-inline:calc(-1 * var(--wp--style--root--padding-left,20px)); padding-inline:var(--wp--style--root--padding-left,20px); background:#fff; }
.wp-site-blocks > * { margin-block-start:0; }
a { text-decoration:none; text-underline-offset:3px; }
a:hover { text-decoration:underline; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--vb-accent); outline-offset:4px; }
img { max-width:100%; height:auto; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute!important; white-space:nowrap; width:1px; }
.vb-header { background:#fff; border-top:3px solid var(--vb-accent); margin:0; }
.vb-header > * { margin-block-start:0; }
.vb-masthead { max-width:1320px; margin:auto; min-height:92px; display:flex; align-items:center; justify-content:center; gap:12px; padding:16px 0; }
.vb-masthead .wp-block-site-logo { margin:0; }
.vb-masthead .wp-block-site-logo img { display:block; width:48px; height:48px; object-fit:contain; }
.vb-masthead .wp-block-site-title { font-size:32px; font-weight:750; line-height:1.1; letter-spacing:-1px; margin:0; color:var(--vb-ink); }
.vb-nav-shell { border-top:1px solid var(--vb-line); border-bottom:1px solid var(--vb-line); }
.vb-nav-row { max-width:1320px; margin:0 auto; display:flex; align-items:center; gap:20px; min-height:54px; position:relative; }
.vb-home-link { font-weight:700; color:var(--vb-accent); margin:0; }
.vb-home-link a { display:block; padding:6px 12px; background:#f0e9f5; }
.vb-nav-row nav.wp-block-navigation { flex:1; margin:0; font-size:14px; font-weight:700; }
.vb-nav-row .wp-block-navigation__container { gap:28px; }
.vb-nav-row .wp-block-navigation-item__content { min-height:44px; display:flex; align-items:center; }
.vb-search-toggle { margin:0 0 0 auto; }
.vb-search-toggle summary { list-style:none; font-size:0; cursor:pointer; width:44px; height:44px; display:grid; place-items:center; }
.vb-search-toggle summary::-webkit-details-marker { display:none; }
.vb-search-toggle summary::before { content:""; width:23px; height:23px; background:currentColor; mask:url('assets/search.svg') center/contain no-repeat; }
.vb-search-toggle > .wp-block-search { position:absolute; right:0; top:54px; width:min(420px,calc(100vw - 32px)); padding:16px; background:#fff; border:1px solid var(--vb-line); box-shadow:0 6px 16px #29243114; z-index:20; margin:0; }
.wp-block-search__input { background:#fff; border:1px solid #d6cfdd; min-width:0; min-height:44px; padding:10px 12px; font:inherit; border-radius:0; }
.wp-block-search__button { background:var(--vb-accent); border:0; color:#fff; min-width:44px; min-height:44px; margin-left:0; padding:10px 14px; cursor:pointer; }
.wp-block-search__button svg { fill:currentColor; min-width:24px; }
.vb-layout { max-width:1400px; margin:20px auto 48px; display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:20px; align-items:start; }
.vb-primary,.vb-sidebar { min-width:0; margin:0; }
.vb-primary > :first-child { margin-top:0; }
.vb-list-heading { margin-bottom:24px; border-bottom:1px solid var(--vb-line); padding-bottom:16px; }
.vb-list-heading h1 { font-size:28px; line-height:1.25; margin:0; }
.vb-list-heading p { color:var(--vb-muted); margin:10px 0 0; }
.vb-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:0; padding:0; }
.vb-cards > li { background:#fff; border:1px solid var(--vb-line); list-style:none; min-width:0; margin:0; }
.vb-cards .wp-block-post-featured-image { margin:0; aspect-ratio:10/7; overflow:hidden; }
.vb-cards .wp-block-post-featured-image a,.vb-cards .wp-block-post-featured-image img { display:block; width:100%; height:100%; object-fit:cover; }
.aen-no-image { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:3/2; background:#eee9f2; color:var(--vb-muted); }
.vb-card-copy { padding:18px 20px 20px; }
.vb-category { display:inline-block; color:var(--vb-accent); font-size:12px; line-height:1.5; font-weight:650; }
.vb-card-copy .wp-block-post-title { font-size:21px; line-height:1.32; letter-spacing:-.3px; margin:7px 0 10px; }
.vb-card-copy .wp-block-post-title a { color:var(--vb-ink); }
.vb-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0; color:var(--vb-muted); font-size:12px; line-height:1.4; }
.volt-author-byline { display:inline-flex; align-items:center; gap:6px; color:inherit; }
.volt-author-byline img { width:20px; height:20px; border-radius:50%; }
.vb-meta .wp-block-post-date { margin:0!important; font-size:inherit; }
.vb-card-copy .wp-block-post-excerpt { font-size:14px; line-height:1.65; margin:12px 0 0!important; color:#5b5462; }
.vb-card-copy .wp-block-post-excerpt p { margin:0; }
.vb-sidebar-content > * { margin:0 0 28px; }
.vb-sidebar-content h2 { font-size:21px; font-weight:650; line-height:1.3; margin:0 0 12px; }
.vb-sidebar-content ul { list-style:none; margin:0; padding:0; font-size:14px; line-height:1.6; }
.vb-sidebar-content li { border-bottom:1px solid var(--vb-line); padding:9px 0; }
.vb-sidebar-content a { color:#514958; }
.vb-count { float:right; font-size:12px; color:var(--vb-muted); padding-left:8px; }
.wp-block-query-pagination { display:flex; justify-content:space-between; gap:20px; font-size:14px; margin:32px 0 0; }
.wp-block-query-pagination a { display:inline-flex; align-items:center; min-height:44px; background:#fff; border:1px solid var(--vb-line); padding:8px 16px; }
.vb-reading { background:transparent; border:0; padding:0; }
.vb-reading .wp-block-post-title { font-size:34px; line-height:1.22; letter-spacing:-.7px; margin:10px 0 16px; overflow-wrap:anywhere; }
.vb-reading > .vb-meta { padding-bottom:0; margin-bottom:14px; font-size:13px; }
.vb-reading .wp-block-post-content { font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.vb-reading .wp-block-post-content > * { max-width:100%; }
.vb-reading .wp-block-post-content > :first-child { margin-top:0; }
.vb-reading .wp-block-post-content h2 { font-size:21px; line-height:1.5; margin-top:30px; }
.vb-reading .wp-block-post-content h3 { font-size:20px; line-height:1.5; }
.vb-reading .wp-block-post-content img { display:block; max-width:100%; height:auto; }
.vb-reading .wp-block-post-content figure { margin-inline:0; }
.vb-reading .wp-block-post-content table { width:100%; border-collapse:collapse; }
.vb-reading td,.vb-reading th { padding:10px; border:1px solid var(--vb-line); }
.vb-post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border-top:1px solid var(--vb-line); padding-top:24px; margin-top:28px; font-size:14px; }
.vb-post-navigation > :last-child { text-align:right; }
.aen-related { border-top:1px solid var(--vb-line); margin-top:28px; padding-top:24px; }
.aen-related h2 { font-size:21px; }
.aen-related ul { padding-left:20px; }
.aen-related li { margin-block:10px; }
.volt-author-summary { display:flex; align-items:center; gap:16px; margin-bottom:24px; border-bottom:1px solid var(--vb-line); padding:0 0 20px; }
.volt-author-summary img { width:56px; height:56px; border-radius:50%; }
.volt-author-summary h1 { font-size:28px; margin:0; }
.volt-author-count { margin-left:auto; font-size:13px; color:var(--vb-muted); white-space:nowrap; }
.vb-footer { background:#fff; border-top:1px solid var(--vb-line); padding:36px 0 0; }
.vb-footer-grid { max-width:1400px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.vb-footer h2 { font-size:20px; margin:0 0 18px; }
.vb-footer ul { list-style:none; padding:0; margin:0; }
.vb-footer li { margin-bottom:10px; font-size:14px; }
.vb-footer p { font-size:14px; line-height:1.75; color:var(--vb-muted); }
.vb-footer a { color:var(--vb-ink); }
.vb-footer-posts li { margin-bottom:20px; }
.vb-breadcrumb { font-size:13px; margin-bottom:14px; color:var(--vb-muted); }
.vb-related { border-top:1px solid var(--vb-line); margin-top:28px; padding-top:24px; }
.vb-related > h2 { font-size:22px; }
.vb-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.vb-related-grid article { min-width:0; background:#fff; }
.vb-related-image,.vb-related-image img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.vb-related h3 { font-size:19px; line-height:1.4; margin:14px 16px 10px; }
.vb-related p { font-size:14px; line-height:1.6; margin:0 16px 16px; }
.vb-footer-bottom { max-width:1320px; margin:28px auto 0; border-top:1px solid var(--vb-line); padding:18px 0; }
.vb-footer-bottom p { margin:0; font-size:12px; }
.vb-not-found { padding-block:48px; }
.vb-not-found h1 { font-size:38px; margin:0 0 16px; }
.vb-not-found .wp-block-search { max-width:500px; margin:24px 0; }
.aen-back-to-top { position:fixed; right:24px; bottom:24px; z-index:30; display:grid; place-items:center; width:44px; height:44px; padding:10px; background:#fff; border:1px solid var(--vb-accent); border-radius:0; color:var(--vb-accent); cursor:pointer; }
.aen-back-to-top[hidden] { display:none!important; }
.aen-back-to-top:hover { background:var(--vb-accent); color:#fff; }
.aen-back-to-top:focus-visible { outline:2px solid var(--vb-accent); outline-offset:4px; }
.aen-back-to-top svg { width:20px; height:20px; }
.aen-menu-brand,.aen-menu-meta { display:none; }
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close { min-width:44px; min-height:44px; }
body .wp-block-navigation.aen-designed-navigation .wp-block-navigation__responsive-container.is-menu-open { background:#fff; color:var(--vb-ink); padding:max(24px,env(safe-area-inset-top)) 24px 36px; border-top:4px solid var(--vb-accent); }
.is-menu-open .aen-menu-brand,.is-menu-open .aen-menu-meta { display:block; width:100%; }
.is-menu-open .aen-menu-home { display:flex; align-items:center; gap:10px; font-size:22px; font-weight:750; margin:0 44px 24px 0; color:var(--vb-ink); }
.is-menu-open .aen-menu-logo { width:34px; height:34px; object-fit:contain; }
body .is-menu-open .wp-block-navigation__responsive-container-content { padding-top:8px; align-items:stretch; }
body .is-menu-open .wp-block-navigation__container { width:100%; align-items:stretch; gap:0; }
body .is-menu-open .wp-block-navigation-item { width:100%; }
body .is-menu-open .wp-block-navigation-item a { width:100%; padding:14px 0; border-bottom:1px solid var(--vb-line); font-size:18px; }
.is-menu-open .aen-menu-meta { margin-top:24px; }
@media (max-width:1000px) {
  .vb-layout { grid-template-columns:minmax(0,1fr) 245px; gap:24px; }
  .vb-cards { gap:20px; }
  .vb-card-copy { padding:16px; }
  .vb-card-copy .wp-block-post-title { font-size:19px; }
  .vb-nav-row .wp-block-navigation__container { gap:18px; }
  .vb-footer-grid { gap:32px; }
}
@media (max-width:780px) {
  .vb-layout { display:block; margin-top:20px; }
  .vb-sidebar { margin-top:36px; border-top:1px solid var(--vb-line); padding-top:28px; }
  .vb-footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .vb-nav-row .wp-block-navigation__responsive-container:not(.is-menu-open),.vb-nav-row .wp-block-navigation__responsive-container-open:not(.always-shown) { display:none; }
  .vb-nav-row .wp-block-navigation__responsive-container-open { display:flex!important; }
}
@media (max-width:600px) {
  .vb-header { position:relative; }
  .vb-masthead { justify-content:center; min-height:104px; gap:8px; }
  .vb-masthead .wp-block-site-logo img { width:32px; height:32px; }
  .vb-masthead .wp-block-site-title { font-size:22px; letter-spacing:-.6px; white-space:nowrap; }
  .vb-nav-shell { border-top:1px solid var(--vb-line); }
  .vb-nav-row { min-height:56px; position:relative; }
  .vb-home-link { display:none; }
  .vb-nav-row nav.wp-block-navigation { flex:1; }
  .vb-nav-row .vb-search-toggle { margin-left:auto; }
  .vb-search-toggle > .wp-block-search { top:56px; right:0; }
  .vb-layout { margin:18px auto 32px; }
  .vb-cards { grid-template-columns:1fr; gap:24px; }
  .vb-card-copy { padding:16px 18px 20px; }
  .vb-card-copy .wp-block-post-title { font-size:21px; }
  .vb-reading { padding:0; }
  .vb-reading .wp-block-post-title { font-size:27px; }
  .vb-reading .wp-block-post-content h2 { font-size:21px; }
  .vb-related-grid { grid-template-columns:1fr; }
  .vb-list-heading h1,.volt-author-summary h1 { font-size:25px; }
  .vb-footer-grid { display:block; }
  .vb-footer-grid > section { margin-bottom:28px; }
  .vb-not-found { padding-block:24px; }
  .vb-not-found h1 { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }


body.single-post .wp-block-post-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    border-collapse: collapse;
    border-spacing: 0;
    margin-block: 1.25em;
    line-height: 1.55;
}
body.single-post .wp-block-post-content table :is(th, td) {
    border: 1px solid #94a3b8;
    border-color: color-mix(in srgb, currentColor 45%, transparent);
    padding: .6em .75em;
    min-width: calc(8ch + 1.5em);
    vertical-align: top;
    text-align: start;
    overflow-wrap: normal;
    word-break: normal;
}
body.single-post .wp-block-post-content table :is(th, thead td) {
    font-weight: 700;
    background-color: color-mix(in srgb, currentColor 6%, transparent);
}
body.single-post .wp-block-post-content table :is(th, td) > :first-child { margin-block-start: 0; }
body.single-post .wp-block-post-content table :is(th, td) > :last-child { margin-block-end: 0; }
body.single-post .wp-block-post-content .wp-block-table { max-width: 100%; overflow-x: auto; }
body.single-post .wp-block-post-content :is(ul, ol):not(.wp-block-post-template):not(.wp-block-navigation__container) {
    padding-inline-start: 1.65em;
    margin-block: 1em;
    list-style-position: outside;
}
body.single-post .wp-block-post-content ul:not(.wp-block-post-template):not(.wp-block-navigation__container) { list-style-type: disc; }
body.single-post .wp-block-post-content ol:not([type]) { list-style-type: decimal; }
body.single-post .wp-block-post-content ul:not(.wp-block-post-template):not(.wp-block-navigation__container) ul { list-style-type: circle; }
body.single-post .wp-block-post-content ul:not(.wp-block-post-template):not(.wp-block-navigation__container) ul ul { list-style-type: square; }
body.single-post .wp-block-post-content :is(ul, ol):not(.wp-block-post-template):not(.wp-block-navigation__container) > li {
    display: list-item;
    margin-block: .35em;
    padding-inline-start: .15em;
}
body.single-post .wp-block-post-content :is(ul, ol):not(.wp-block-post-template):not(.wp-block-navigation__container) li > :is(ul, ol) { margin-block: .35em; }
body.single-post .wp-block-post-content li > p { margin-block: .35em; }
body.single-post .wp-block-post-content blockquote {
    margin-inline: 0;
    padding-inline: 1em;
    border-inline-start: 3px solid currentColor;
}
body.single-post .wp-block-post-content img:is(.emoji, .wp-smiley) {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    min-width: 0 !important;
    max-width: 1em !important;
    margin: 0 .07em !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    vertical-align: -.1em;
    object-fit: contain;
}

.aen-static-map{max-width:800px;margin:1.5rem 0}.aen-static-map-image{display:block;width:100%;height:auto}.aen-static-map figcaption{font-size:.75rem;line-height:1.5}.aen-contact-address{overflow-wrap:anywhere}

/* Live contact details: independent cards, never embedded between form fields. */
.aen-contact-panel{margin:1.5rem 0;max-width:900px}.aen-contact-panel header{margin-bottom:1.5rem}.aen-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin:0}.aen-contact-cards>div{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);padding:1.25rem;border-radius:6px}.aen-contact-cards dt{font-size:.85em;font-weight:700;margin-bottom:.5rem}.aen-contact-cards dd{margin:0;overflow-wrap:anywhere}.aen-contact-panel .aen-static-map{width:100%;max-width:100%;margin:0}
.aen-contact-cards>div{min-width:0}.aen-feed-link p{margin-top:0}.aen-feed-link a{display:inline-block;min-height:44px;padding:.6em 0}
