/* Only content CSS is published: no editor runtime, fonts or icon library. */
.vpe-section { --vpe-ink: #172b3a; --vpe-surface: #f3f5f7; --vpe-accent: #2455e6; box-sizing: border-box; background: var(--vpe-surface); color: var(--vpe-ink); }
.vpe-palette-cobalt { --vpe-ink: #122550; --vpe-surface: #edf2ff; --vpe-accent: #2455e6; }
.vpe-palette-sand { --vpe-ink: #3e3021; --vpe-surface: #f6f1e8; --vpe-accent: #845327; }
.vpe-palette-sage { --vpe-ink: #193c2c; --vpe-surface: #edf4ed; --vpe-accent: #256848; }
.vpe-surface-dark { background: var(--vpe-ink); color: #fff; }
.vpe-section img { max-width: 100%; height: auto; }
.vpe-section .wp-block-column { min-width: 0; overflow-wrap: break-word; }
.vpe-section .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--vpe-accent); color: #fff; }
.vpe-section .wp-block-button__link:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.vpe-section .wp-block-details { border-block-end: 1px solid currentColor; padding-block: 16px; }
.vpe-section .wp-block-details summary { cursor: pointer; }
@media (max-width: 767px) {
    .vpe-hide-mobile { display: none !important; }
    .vpe-mobile-pad-none { padding: 0 !important; }
    .vpe-mobile-pad-small { padding: 16px !important; }
    .vpe-mobile-pad-medium { padding: 24px !important; }
    .vpe-mobile-pad-large { padding: 40px !important; }
}
@media (min-width: 768px) { .vpe-hide-desktop { display: none !important; } }
/* Device overrides are opt-in: inherited spacing is never overwritten. */
@media (prefers-reduced-motion: no-preference) {
    .vpe-effect-fade { animation: vpe-fade 600ms ease-out both; }
    .vpe-effect-rise { animation: vpe-rise 600ms ease-out both; }
    .vpe-effect-lift { transition: transform 180ms ease; }
    .vpe-effect-lift:hover, .vpe-effect-lift:focus-within { transform: translateY(-4px); }
}
@keyframes vpe-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes vpe-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
