*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--evp-ground);color:var(--evp-ink);font:400 var(--evp-fs-base)/1.6 var(--evp-font-body)}
h1,h2,h3,h4{font-family:var(--evp-font-head);font-weight:var(--evp-head-weight);line-height:1.15;letter-spacing:-.01em}
h1{font-size:var(--evp-fs-display)}h2{font-size:var(--evp-fs-xxl)}h3{font-size:var(--evp-fs-xl)}h4{font-size:var(--evp-fs-lg)}
a{color:var(--evp-accent-ink)}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--evp-ink);outline-offset:2px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;left:16px;top:16px;z-index:1000;width:auto;height:auto;clip:auto;padding:12px 16px;background:var(--evp-surface);border-radius:var(--evp-radius-sm)}
.site-main{min-height:60vh}

/* Page layout: width and sidebar come from body/layout classes set by the theme */
.evp-wrap{max-width:var(--evp-container);margin-inline:auto;padding-inline:max(16px,calc(var(--evp-space)*1.5))}
.evp-w-narrow{max-width:min(var(--evp-container),960px)}
.evp-w-wide{max-width:max(var(--evp-container),1440px)}
.evp-layout{display:grid;gap:calc(var(--evp-space)*3);padding-block:calc(var(--evp-space)*3)}
.evp-layout--right{grid-template-columns:minmax(0,1fr) 300px}
.evp-layout--left{grid-template-columns:300px minmax(0,1fr)}
.evp-layout--left .evp-sidebar{order:-1}
.evp-main{min-width:0}
@media (max-width:900px){.evp-layout--right,.evp-layout--left{grid-template-columns:minmax(0,1fr)}.evp-layout--left .evp-sidebar{order:0}}
.evp-sidebar .widget{background:var(--evp-surface);border:1px solid var(--evp-line);border-radius:var(--evp-radius);padding:calc(var(--evp-space)*1.25);margin-bottom:calc(var(--evp-space)*1.5)}
.evp-sidebar .widget-title,.evp-sidebar .wp-block-heading{margin:0 0 var(--evp-space);font-size:var(--evp-fs-lg)}
.evp-sidebar ul{margin:0;padding-left:1.1em}
.evp-container{max-width:var(--evp-container);margin:0 auto;padding:calc(var(--evp-space)*3) 24px}

/* Hero banner title */
.evp-hero{background:var(--evp-footer-bg);color:var(--evp-band-ink);padding-block:calc(var(--evp-space)*4)}
.evp-hero h1{margin:0 0 var(--evp-space);color:inherit}
.evp-hero .evp-meta{color:var(--evp-band-muted)}
.evp-hero a{color:inherit}

/* Forms, buttons, pagination */
.evp-searchform{display:flex;gap:8px;max-width:480px}
.evp-searchform input{flex:1;min-height:44px;padding:0 14px;border:1px solid var(--evp-field-line,#687a76);border-radius:var(--evp-radius-sm);background:var(--evp-surface);color:inherit;font:inherit}
.evp-searchform button,.evp-button{min-height:44px;padding:0 20px;border:0;border-radius:var(--evp-radius-sm);background:var(--evp-accent);color:var(--evp-ink);font:600 var(--evp-fs-base) var(--evp-font-body);cursor:pointer}
.pagination{margin-top:calc(var(--evp-space)*2)}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;border:1px solid var(--evp-line);border-radius:var(--evp-radius-sm);background:var(--evp-surface);text-decoration:none}
.pagination .current{background:var(--evp-ink);color:var(--evp-surface)}
.evp-fallback-header,.evp-fallback-footer{padding:16px 24px;background:var(--evp-surface);border-bottom:1px solid var(--evp-line)}
.evp-fallback-header__name{font-family:var(--evp-font-head);font-weight:800;color:inherit;text-decoration:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Breadcrumbs (printed by the EV Portal Core plugin) */
.evp-breadcrumbs{margin-bottom:calc(var(--evp-space)*1.5);font-size:var(--evp-fs-sm);color:var(--evp-muted)}
.evp-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0;padding:0}
.evp-breadcrumbs li+li::before{content:"\203A";margin-right:8px;color:var(--evp-line)}
.evp-breadcrumbs a{color:inherit}

/* Focus stays visible on dark areas (hero, footer, mobile menu) */
.evp-hero :focus-visible,.evp-footer :focus-visible,.evp-fallback-footer :focus-visible{outline-color:currentColor}
/* Skip-link target: focus lands there without a visible box */
.site-main:focus{outline:0}
/* Text-size and spacing friendly: no fixed heights on text blocks, long words wrap */
.site-main{overflow-wrap:break-word}
/* Windows high-contrast mode: keep borders and focus visible */
@media (forced-colors:active){.evp-button,.evp-searchform button,.evp-tag,input,select,textarea{border:1px solid ButtonText}:focus-visible{outline:2px solid Highlight}}
/* Users who ask for less motion get none */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Small screens: tighter page padding, nothing may push the page sideways */
.site-main{overflow-x:clip}
@media (max-width:640px){
.evp-wrap{padding-inline:max(16px,env(safe-area-inset-left))}
.evp-layout{gap:calc(var(--evp-space)*1.5);padding-block:calc(var(--evp-space)*1.5) calc(var(--evp-space)*2.5)}
.evp-entry__header{margin-bottom:var(--evp-space)}
.evp-hero{padding-block:calc(var(--evp-space)*2.5)}
.evp-breadcrumbs{margin-bottom:var(--evp-space);font-size:.8rem}
.entry{font-size:1rem}
.entry h2,.entry h3,.entry h4{margin-block:1.4em .5em}
.alignleft,.alignright{float:none;display:block;margin:0 auto 1em}
.pagination a,.pagination span{min-width:40px;padding:0 10px}
.evp-searchform{max-width:none}
}
@media (max-width:380px){
.evp-wrap{padding-inline:12px}
}
