/* ============================================================
   TGW MVP SHELL — header + footer only.
   Everything is scoped to .site-header / .tgw-drawer / .tgw-footer
   (plus the skip link) so nothing leaks onto parent-styled pages.
   Palette is the fixed TGW navy/brass — it does not change with
   any parent colour scheme. Extracted from the full memberoni-tgw
   build (style/tgw-member.css v1.1.2).
   ============================================================ */

.tgw-skip-link{position:absolute;left:-9999px;top:auto}
.tgw-skip-link:focus{left:16px;top:12px;z-index:200;background:#5fa8e0;color:#fff;padding:10px 16px;border-radius:8px}

/* ---------- Header (two-row, sticky, auto-hiding) ---------- */
.site-header{
  --h-bg:#10192d; --h-border:rgba(255,255,255,.06); --h-navrow-border:rgba(255,255,255,.05);
  --h-ink:#f4f7fa; --h-blue:#5fa8e0; --h-text:#cad5df; --h-nav:#bcc9d5; --h-muted:#9fb3c4;
  --h-iconborder:rgba(255,255,255,.16); --h-divider:rgba(255,255,255,.14);
  --h-panel:#0c1d2c; --h-panel-border:rgba(255,255,255,.12); --h-panel-title:#eef3f7; --h-panel-desc:#8398a9;
  --h-hover:rgba(95,168,224,.12); --h-open:rgba(95,168,224,.10);
  position:sticky;top:0;z-index:100;background:var(--h-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--h-border);
  transition:transform .28s ease
}
/* Auto-hide: slides away on scroll down, returns on scroll up (JS in header.php) */
.site-header.is-hidden{transform:translateY(-100%)}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}

.site-header a{text-decoration:none}
.site-header ul{list-style:none;margin:0;padding:0}

/* Row 1 */
.header-top{position:relative}
.header-top-inner{position:relative;max-width:1340px;margin:0 auto;padding:0 36px;height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box}

/* Logo */
.site-header .logo{display:flex;align-items:center;gap:18px;flex-shrink:0}
.logo-badge{width:70px;height:70px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 38% 32%,#16344e,#0a1c2c);border:2.5px solid #d4af52;box-shadow:0 0 0 5px rgba(212,175,82,.10);display:flex;align-items:center;justify-content:center}
.logo-badge-img{width:60px;height:60px;object-fit:contain;display:block}
/* Customizer logo (academy_logo) — rectangular, no medallion */
.logo-img{display:block;max-height:56px;width:auto;max-width:240px;object-fit:contain}
.wordmark{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
.wordmark .line-1{font-family:'Oswald',sans-serif;font-weight:600;font-size:27px;letter-spacing:.5px;color:var(--h-ink)}
.wordmark .line-2{font-family:'Oswald',sans-serif;font-weight:400;font-size:13px;letter-spacing:8px;color:var(--h-blue);margin-top:5px}

/* User menu */
.user-menu{display:flex;align-items:center;gap:26px;flex-shrink:0}
.user-menu .user-link{font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:1.4px;color:var(--h-text);padding:6px 1px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;text-transform:uppercase}
.user-menu .user-link:hover{color:#fff;border-bottom-color:#d4af52}
.user-menu-end{display:flex;align-items:center;gap:16px;padding-left:26px;border-left:1px solid var(--h-divider)}
.logout-link{white-space:nowrap;font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:1.4px;color:var(--h-muted);padding:6px 1px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;text-transform:uppercase}
.logout-link:hover{color:#f0a3a3;border-bottom-color:rgba(224,95,95,.6)}
.hdr-search{display:flex;margin:0}
.site-header .icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--h-iconborder);background:rgba(255,255,255,.04);color:#c5d2dd;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s;padding:0}
.site-header .icon-btn:hover{background:var(--h-hover);border-color:var(--h-blue);color:#fff}
.btn-login{display:inline-flex;align-items:center;justify-content:center;font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:15px;padding:11px 22px;border-radius:9px;background:#1f8fd0;color:#fff!important;transition:background .15s}
.btn-login:hover{background:#186fa3}

/* Row 2 */
.header-nav-row{border-top:1px solid var(--h-navrow-border);background:rgba(255,255,255,.012)}
.primary-nav{max-width:1340px;margin:0 auto;padding:0 36px;height:64px;display:flex;align-items:stretch;gap:14px;box-sizing:border-box}
.pnav{display:flex;align-items:stretch;gap:14px}
.tgwh-item{position:relative;display:flex;align-items:stretch}
.site-header .nav-link,.site-header .nav-trigger{display:flex;align-items:center;gap:7px;padding:0 18px;font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:1.3px;font-weight:500;color:var(--h-nav);background:none;border:none;cursor:pointer;transition:color .15s;text-transform:uppercase}
.site-header .nav-link:hover,.site-header .nav-trigger:hover{color:#fff}
.site-header .nav-link.is-active{font-weight:600;color:var(--h-ink);box-shadow:inset 0 -3px 0 #d4af52}
.yt-plus{font-family:'Libre Franklin',sans-serif;font-size:11px;font-weight:700;letter-spacing:0;color:#ff6b6b;border:1px solid rgba(255,107,107,.5);border-radius:5px;padding:1px 5px;line-height:1.4;margin-left:1px;text-transform:none}
.nav-trigger .chevron{transition:transform .18s ease}
.tgwh-item.is-open .nav-trigger{color:#fff;background:var(--h-open);border-radius:8px}
.tgwh-item.is-open .nav-trigger .chevron{transform:rotate(180deg)}

/* Dropdown */
.site-header .dropdown{position:absolute;top:calc(100% + 6px);left:0;background:var(--h-panel);border:1px solid var(--h-panel-border);border-radius:16px;box-shadow:0 24px 50px -12px rgba(0,0,0,.6);padding:10px;z-index:120;min-width:300px;animation:tgwhMenuIn .16s ease both}
.site-header .dropdown[hidden]{display:none}
@keyframes tgwhMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.dropdown-label{padding:8px 12px 10px;font-family:'Libre Franklin',sans-serif;font-size:11px;letter-spacing:1.5px;color:var(--h-blue);font-weight:600}
.dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:11px;transition:background .12s}
.dropdown-item:hover{background:var(--h-hover)}
.dropdown-item .text{display:flex;flex-direction:column;gap:2px}
.dropdown-item .title{font-family:'Libre Franklin',sans-serif;font-size:14.5px;font-weight:600;color:var(--h-panel-title)}
.dropdown-item .desc{font-size:12.5px;color:var(--h-panel-desc)}
.dropdown-item .arrow{color:var(--h-blue);font-size:17px}

/* Burger (mobile, Row 1) */
.tgwh-burger{display:none;width:44px;height:44px;border:1px solid var(--h-iconborder);border-radius:10px;background:transparent;cursor:pointer;flex-direction:column;gap:4px;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.tgwh-burger span{width:20px;height:2px;background:var(--h-nav);border-radius:2px}
.site-header.nav-open .tgwh-burger{background:var(--h-open);border-color:var(--h-blue)}

/* Mobile drawer — combines the primary + member menu locations (≤1080px) */
.tgw-drawer{display:none;position:absolute;top:100%;left:0;right:0;background:var(--h-panel);border-top:1px solid var(--h-panel-border);box-shadow:0 18px 40px rgba(0,0,0,.4);padding:16px 18px 20px;z-index:120;max-height:calc(100vh - 80px);overflow-y:auto;box-sizing:border-box}
.tgw-drawer .drawer-search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid var(--h-panel-border);border-radius:10px;padding:10px 12px;margin-bottom:6px}
.tgw-drawer .drawer-search svg{width:15px;height:15px;color:var(--h-muted);flex-shrink:0}
.tgw-drawer .drawer-search input[type="search"]{flex:1;background:transparent;border:0;outline:0;color:var(--h-ink);font-size:14px;font-family:'Libre Franklin',sans-serif;box-shadow:none}
.tgw-drawer .drawer-search input::placeholder{color:var(--h-muted)}
.tgw-drawer .drawer-label{padding:14px 2px 6px;font-family:'Libre Franklin',sans-serif;font-size:11px;letter-spacing:1.5px;color:var(--h-blue);font-weight:600;text-transform:uppercase}
.tgw-drawer ul{list-style:none;margin:0;padding:0}
.tgw-drawer li{margin:0}
.tgw-drawer a{display:flex;align-items:center;min-height:46px;padding:0 2px;font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:1.3px;font-weight:500;color:var(--h-nav);text-decoration:none;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.05)}
.tgw-drawer a:hover{color:#fff}
.tgw-drawer li.current-menu-item>a,.tgw-drawer li.current_page_item>a{color:var(--h-ink);box-shadow:inset 3px 0 0 #d4af52;padding-left:10px}
.tgw-drawer ul ul{padding-left:16px}
.tgw-drawer ul ul a{font-family:'Libre Franklin',sans-serif;font-size:14.5px;font-weight:600;letter-spacing:.2px;text-transform:none;min-height:42px;color:var(--h-text)}
.tgw-drawer .drawer-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.tgw-drawer .drawer-logout{font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:13.5px;letter-spacing:1.4px;color:var(--h-muted);text-transform:uppercase}
.tgw-drawer .drawer-logout:hover{color:#f0a3a3}

/* Responsive — mobile bar is just logo + burger; everything else in the drawer */
@media(max-width:1080px){
  .header-top-inner{height:74px}
  .wordmark{display:none}
  .user-menu{display:none}
  .header-nav-row{display:none}
  .tgwh-burger{display:flex}
  .site-header.nav-open .tgw-drawer{display:block}
}
@media(max-width:560px){
  .logo-badge{width:54px;height:54px}
  .logo-badge-img{width:46px;height:46px}
  .logo-img{max-height:42px;max-width:180px}
  .header-top-inner{padding:0 18px;height:66px}
}

/* ---------- Footer ---------- */
.tgw-footer{background:#10192d;color:#cad5df;border-top:1px solid rgba(255,255,255,.08);padding:44px 0 38px;font-family:'Libre Franklin',sans-serif}
.tgw-footer a{text-decoration:none;color:inherit}
.tgw-foot-container{max-width:1180px;margin:0 auto;padding:0 30px;box-sizing:border-box}
.tgw-foot-widgets{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.foot-in img{height:42px;width:auto;display:block}
.foot-meta{font-size:13.5px}
.foot-links{display:flex;gap:20px;font-size:13.5px}
.foot-links a:hover{color:#fff}
@media(max-width:560px){.tgw-foot-container{padding:0 18px}}

:where(.site-header,.tgw-drawer,.tgw-footer) :where(a,button,input):focus-visible{outline:3px solid #5fa8e0;outline-offset:3px;border-radius:8px}
