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