/* Header geometry only. The legacy TCD header is replaced only when shared data is available. */
body:has(#ppcb-header) { padding-top: 0 !important; }
body:has(#ppcb-header) #container { right: 0 !important; }
.ppcb-spacer { height: 72px; width: 100%; }
#ppcb-header, #ppcb-header *, #ppcb-drawer, #ppcb-drawer * { box-sizing: border-box; }
#ppcb-header { position: fixed; top: 0; left: 0; right: 0; height: 72px; z-index: 100000; background: #000; color: #fff; border-bottom: 1px solid #ffffff28; }
#ppcb-header .ppcb-inner { width: min(1500px,92%); height: 72px; margin: 0 auto; display: flex; align-items: center; position: relative; }
#ppcb-header .ppcb-logo { display: flex; align-items: center; flex: 0 0 250px; width: 250px; height: 56px; color: #fff; text-decoration: none; font-size: 18px; }
#ppcb-header .ppcb-logo img { display: block; width: auto; max-width: 250px; height: auto; max-height: 50px; filter: brightness(0) invert(1); }
#ppcb-header .ppcb-desktop { position: absolute; left: 50%; transform: translateX(-50%); width: max-content; }
#ppcb-header .pppm-list { gap: 8px; }
#ppcb-header .pppm-list > .pppm-item > a, #ppcb-header .pppm-list > .pppm-item > .pppm-label { height: 72px !important; }
#ppcb-header .ppcb-menu-button { display: none; margin-left: auto; width: 44px; height: 44px; padding: 11px; border: 1px solid #ffffff55; background: transparent; color: #fff; cursor: pointer; }
#ppcb-header .ppcb-menu-button span { display: block; height: 1px; margin: 5px 0; background: currentColor; }
#ppcb-header.ppcb-compact .ppcb-desktop { display: none; }
#ppcb-header.ppcb-compact .ppcb-menu-button { display: block; }
#ppcb-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(440px,94vw); max-width: none; height: 100dvh; max-height: none; border: 0; padding: 24px 28px 44px; background: #111820; color: #fff; overflow-y: auto; overscroll-behavior: contain; }
#ppcb-drawer:not([open]) { display: none; }
#ppcb-drawer::backdrop { background: #000a; }
#ppcb-drawer .ppcb-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; font: 13px Arial,sans-serif; letter-spacing: .12em; }
#ppcb-drawer .ppcb-close { width: 44px; height: 44px; border: 0; background: none; color: #fff; font: 30px Arial,sans-serif; cursor: pointer; padding: 0; }
#ppcb-drawer a { text-decoration: none; }
#ppcb-header button:focus-visible, #ppcb-drawer button:focus-visible { outline: 2px solid #c3a66b; outline-offset: -2px; }
body.admin-bar #ppcb-header { top: 32px; }
@media(max-width:1280px) {
  .ppcb-spacer { height: 57px; }
  #ppcb-header, #ppcb-header .ppcb-inner { height: 57px; }
  #ppcb-header .ppcb-inner { width: calc(100% - 32px); }
  #ppcb-header .ppcb-logo { width: 220px; flex-basis: 220px; height: 50px; }
  #ppcb-header .ppcb-logo img { max-width: 220px; max-height: 43px; }
  #ppcb-header .ppcb-desktop { display: none; }
  #ppcb-header .ppcb-menu-button { display: block; }
}
@media(max-width:782px) { body.admin-bar #ppcb-header { top: 46px; } }
@media(prefers-reduced-motion:no-preference) { #ppcb-drawer[open] { animation: ppcb-enter .3s ease-out; } }
@keyframes ppcb-enter { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }