.skip-link{
 position: absolute;
 left: -9999px;
 top: auto;
 width: 1px;
 height: 1px;
 overflow: hidden;
}
.skip-link:focus{
 left: var(--space-md);
 top: var(--space-md);
 width: auto;
 height: auto;
 padding: var(--space-sm) var(--space-md);
 background: var(--surface-elevated);
 color: var(--text-primary);
 border-radius: var(--radius-sm);
 box-shadow: var(--shadow-sm);
 z-index: 1000;
}
.site-header{
 background: var(--bg-primary);
 border-bottom: 1px solid var(--border-color);
 padding: 0;
 position: sticky;
 top: var(--admin-bar-offset, 0);
 z-index: 1000;
 will-change: top;
}
body.admin-bar{--admin-bar-offset: 32px;}
@media (max-width: 782px){body.admin-bar{--admin-bar-offset: 46px;}}
.header-inner{
 display: flex;
 justify-content: space-between;
 align-items: center;
 max-width: var(--max-width);
 margin: 0 auto;
 padding: var(--space-md);
 inline-size: min(calc(100% - 2*var(--space-sm)), var(--max-width));
 box-sizing: border-box;
}
.header-inner > *{min-width: 0;}
.site-branding-container{
 display: flex;
 align-items: center;
 gap: var(--space-sm);
 max-height: 50px;
}
.site-branding{
 display: flex;
 flex-direction: column;
 line-height: 1.2;
}
.site-logo{
 display: flex;
 flex-shrink: 0;
 max-height: 50px;
}
.site-logo .custom-logo{
 display: inline-block;
}
.site-logo .custom-logo img{
 max-width: 100%;
 max-height: 50px;
 object-fit: contain;
 width: 100%;
 vertical-align: middle;
}
.main-title{
 font-weight: 700;
 margin: 0;
}
.main-title a{
 color: var(--text-primary);
 text-decoration: none;
 vertical-align: super;
}
.site-description{
 font-size: 0.9rem;
 color: var(--text-secondary);
 margin: 0;
}
.header-search{
 position: relative;
}
.header-search-toggle{
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: var(--button-size);
 height: var(--button-size);
 border: none;
 border-radius: var(--border-radius-sm);
 background: var(--bg-primary);
 color: var(--text-primary);
 cursor: pointer;
 transition: var(--transition-all);
}
.header-search-toggle:hover,
.header-search-toggle:focus{
 color: var(--link-hover);
}
.header-search-panel{
 position: absolute;
 top: 0;
 right: 0;
 background: transparent;
 pointer-events: none;
 z-index: 1100;
}
.header-search-form{
 display: flex;
 align-items: center;
 gap: var(--space-sm);
 background: var(--bg-primary);
 border: 1px solid var(--border-color);
 border-radius: var(--border-radius);
 padding: 0 0 0 var(--space-sm);
 box-shadow: var(--shadow-md);
 width: 0;
 opacity: 0;
 overflow: hidden;
 transition: width 0.25s ease, opacity 0.2s ease;
}
.header-search.open .header-search-form{
 pointer-events: auto;
 width: min(560px, 70vw);
 opacity: 1;
}
.header-search-field[type="search"], .wp-block-search__input[type="search"]{
 flex: 1;
 min-width: 0;
 border: none;
 background: transparent;
 color: var(--text-primary);
 font-size: var(--text-base);
 padding: var(--space-sm);
 border-radius: var(--border-radius-sm);
}
.wp-block-search__input[type="search"]{
 border: 1px solid var(--border-color);
 background: var(--bg-primary);
}
.header-search-field[type="search"]:focus{
 outline: 2px;
}
.header-search-submit{
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: var(--button-size);
 height: var(--button-size);
 border: none;
 background: var(--primary-color);
 color: var(--white);
 border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0;
 cursor: pointer;
 transition: var(--transition-all);
}
.header-search-submit[disabled],
.header-search-submit[aria-disabled="true"]{
 background: var(--bg-secondary);
 color: var(--text-secondary);
 cursor: not-allowed;
}
.header-search-submit:hover:not([disabled]):not([aria-disabled="true"]){
 background: var(--primary-dark);
}
.theme-toggle{
 display: flex;
 align-items: center;
 justify-content: center;
 background: none;
 border: none;
 cursor: pointer;
 padding: var(--space-sm);
 color: var(--text-primary);
 border-radius: var(--border-radius-sm);
 transition: color 0.2s ease;
 margin: var(--space-sm);
}
.theme-toggle:hover{
 color: var(--link-hover);
}
.theme-toggle:focus{
 outline: 2px solid var(--primary-color);
 outline-offset: 2px;
}
.theme-icon{
 display: flex;
 align-items: center;
 justify-content: center;
}
.theme-icon svg{
 width: var(--icon-size-sm);
 height: var(--icon-size-sm);
 stroke: currentColor;
 fill: none;
 transition: var(--transition-color);
}
.theme-icon .sun-icon{
 display: none;
}
.theme-icon .moon-icon{
 display: block;
}
[data-theme="dark"] .theme-icon .sun-icon{
 display: block;
}
[data-theme="dark"] .theme-icon .moon-icon{
 display: none;
}
.footer-theme-toggle{
 display: flex;
 align-items: center;
}
.footer-theme-toggle p{
 margin: 0;
 font-weight: var(--text-thin);
}