/* TrainTo.Zone menu.css
   Separate icon menus: Guild / Messages / Site.
   Desktop intentionally matches mobile: stacked links inside scrollable panels.
*/
.site-header{
    position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header-height);
    pointer-events:none;overflow:visible;
}
.beam-img{pointer-events:none}.beam-logo-link{pointer-events:auto}
.site-header-custom-guild .guild-header-beam-img{
    width:100%;height:var(--header-height);object-fit:cover;object-position:center center;
    filter:drop-shadow(0 12px 20px rgba(0,0,0,.9));
}
.site-header-hidden-beam{height:0}.site-header-hidden-beam .beam-logo-link{display:none}
.ttz-menu-cluster,.ttz-icon-button,.ttz-menu-panel{pointer-events:auto}.ttz-menu-open{position:absolute;opacity:0;pointer-events:none}
.ttz-menu-cluster{
    position:fixed;z-index:330;top:clamp(20px,2vw,28px);right:clamp(12px,2vw,24px);
    display:flex;gap:.38rem;align-items:flex-start;
}
.ttz-icon-button{
    position:relative;width:46px;height:40px;padding:7px;display:grid;place-items:center;
    border-radius:8px;border:1px solid rgba(241,208,138,.38);
    background:rgba(31,16,7,.84);box-shadow:0 6px 16px rgba(0,0,0,.58);
    color:var(--gold,#f1d08a);-webkit-text-fill-color:var(--gold,#f1d08a);
    font-weight:900;font-size:1.15rem;line-height:1;cursor:pointer;text-shadow:0 1px 3px #000;
}
.ttz-guild-button{border-color:rgba(77,225,112,.55);box-shadow:0 0 0 1px rgba(77,225,112,.35),0 6px 16px rgba(0,0,0,.58)}
.ttz-messages-button{border-color:rgba(185,25,25,.75);box-shadow:0 0 0 1px rgba(185,25,25,.45),0 6px 16px rgba(0,0,0,.58)}
.ttz-site-button{display:grid;gap:6px;align-content:center}.ttz-site-button span{display:block;width:100%;height:3px;border-radius:999px;background:var(--gold,#f1d08a);box-shadow:0 1px 3px #000}
.ttz-icon-button b{position:absolute;right:-7px;top:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#a41f18;color:#fff;-webkit-text-fill-color:#fff;display:grid;place-items:center;font-size:.72rem;line-height:1;text-shadow:none}
.ttz-menu-panel{
    position:fixed;z-index:320;top:calc(var(--header-height) + .35rem);right:1rem;
    width:min(370px,calc(100vw - 2rem));max-height:calc(100svh - var(--header-height) - 1rem);
    overflow-y:auto;display:none;gap:.75rem;padding:1rem;
    border:2px solid rgba(142,89,35,.9);border-radius:14px;
    background:linear-gradient(rgba(34,18,8,.985),rgba(9,5,3,.995));box-shadow:0 18px 38px rgba(0,0,0,.78);
    scrollbar-width:thin;scrollbar-color:#8d5726 rgba(0,0,0,.25);
}
#ttz-guild-open:checked~.ttz-guild-panel,#ttz-messages-open:checked~.ttz-messages-panel,#ttz-site-open:checked~.ttz-site-panel{display:grid}
#ttz-guild-open:checked~.ttz-guild-button,#ttz-messages-open:checked~.ttz-messages-button,#ttz-site-open:checked~.ttz-site-button{filter:brightness(1.18);box-shadow:inset 0 0 0 2px rgba(255,230,160,.18),0 0 15px rgba(255,188,70,.18)}
.ttz-menu-panel .nav-section{display:grid;gap:.35rem}.nav-section-title,.guild-menu-section-title{display:block;padding:.65rem .8rem;border:2px solid rgba(111,58,19,.9);border-radius:10px;background:linear-gradient(90deg,rgba(82,38,13,.95),rgba(144,83,29,.9),rgba(61,27,9,.95));font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f1d08a;-webkit-text-fill-color:#f1d08a;text-shadow:0 2px 2px rgba(0,0,0,.9),0 0 8px rgba(255,190,76,.45)}
.submenu{display:grid!important;gap:.35rem!important;position:static!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}.submenu a,.ttz-menu-panel a{display:block;width:100%;padding:.55rem .75rem;white-space:normal;word-break:normal;overflow-wrap:break-word;text-align:left;line-height:1.15;font-size:.92rem;letter-spacing:.055em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(241,208,138,.22);border-radius:8px;background:rgba(0,0,0,.22);color:#f1d08a!important;-webkit-text-fill-color:#f1d08a!important;text-shadow:0 1px 2px #000}.submenu a:hover,.ttz-menu-panel a:hover{background:rgba(241,208,138,.1);color:#fff0bc!important;-webkit-text-fill-color:#fff0bc!important}.ttz-menu-panel a strong{float:right;color:#fff0bc}
.site-header .hamburger,.site-header .main-nav,.header-notifications,.guild-page-menu,.content-page .guild-page-menu{display:none!important}
.hide-site-beam .ttz-menu-cluster,.site-header-hidden-beam .ttz-menu-cluster{top:1rem}.hide-site-beam .ttz-menu-panel,.site-header-hidden-beam .ttz-menu-panel{top:4.25rem;max-height:calc(100svh - 5rem)}
@media(max-width:760px){.ttz-menu-cluster{top:20px;right:12px}.ttz-menu-panel{top:calc(var(--header-height) + .25rem);right:.75rem;width:min(340px,calc(100vw - 1.5rem));max-height:calc(100svh - var(--header-height) - .6rem)}.hide-site-beam .ttz-menu-panel,.site-header-hidden-beam .ttz-menu-panel{top:4.25rem;max-height:calc(100svh - 5rem)}}


/* 20260625-30 hard menu fix: each menu is its own icon panel; links stack vertically everywhere. */
.ttz-menu-panel .submenu,
.ttz-menu-panel .nav-section .submenu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .35rem !important;
}
.ttz-menu-panel .submenu a,
.ttz-menu-panel a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}
.ttz-site-button b { display: none !important; }
.ttz-menu-cluster { z-index: 600 !important; }
.site-header-custom-guild { height: var(--header-height) !important; }
.site-header-custom-guild .guild-header-beam-img {
    display:block !important;
    width:100% !important;
    height:var(--header-height) !important;
    object-fit:cover !important;
    object-position:center center !important;
}
body.page-guild-theme-manage .site-header-custom-guild .guild-header-beam-img,
body.page-guild-manage .site-header-custom-guild .guild-header-beam-img,
body.page-guild-edit .site-header-custom-guild .guild-header-beam-img,
body.page-guild-menu-manage .site-header-custom-guild .guild-header-beam-img,
body.page-guild-forum-manage .site-header-custom-guild .guild-header-beam-img {
    height: var(--header-height) !important;
}
