/* VT4VT shared header/footer shell */
:root { --vt-pine:#0b2819; --vt-forest:#123821; --vt-cream:#f5f0e5; --vt-paper:#fffdf8; --vt-orange:#e95e25; --vt-gold:#f5bb5a; --vt-line:rgba(245,240,229,.2); }
.vt4vt-shell-header { color:var(--vt-cream); background:var(--vt-pine); }
.vt4vt-shell-nav { width:min(1120px,calc(100% - 40px)); height:138px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid var(--vt-line); position:relative; z-index:20; }
.vt4vt-shell-logo { display:block; width:138px; height:126px; flex:0 0 auto; }
.vt4vt-shell-logo img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.vt4vt-shell-menu { display:flex; align-items:center; justify-content:flex-end; gap:19px; margin:0; padding:0; list-style:none; font-size:.78rem; font-weight:800; }
.vt4vt-shell-menu a,.vt4vt-shell-menu button { color:var(--vt-cream); text-decoration:none; font:inherit; }
.vt4vt-shell-menu button { display:inline-flex; align-items:center; gap:5px; padding:0; border:0; background:transparent; cursor:pointer; }
.vt4vt-shell-menu button::after { content:'?'; color:var(--vt-gold); font-size:.7rem; }
.vt4vt-shell-menu a:hover,.vt4vt-shell-menu button:hover { color:var(--vt-gold); }
.vt4vt-shell-item { position:relative; }
.vt4vt-shell-dropdown { position:absolute; top:calc(100% + 18px); left:0; min-width:230px; margin:0; padding:14px 0; list-style:none; background:var(--vt-paper); color:#152318; border-top:4px solid var(--vt-orange); box-shadow:0 18px 40px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(8px); transition:.16s ease; z-index:40; }
.vt4vt-shell-item:hover .vt4vt-shell-dropdown,.vt4vt-shell-item:focus-within .vt4vt-shell-dropdown,.vt4vt-shell-item.open .vt4vt-shell-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.vt4vt-shell-dropdown a { display:block; color:#152318; padding:10px 18px; white-space:nowrap; font-weight:800; }
.vt4vt-shell-dropdown a:hover { color:#152318; background:var(--vt-cream); }
.vt4vt-shell-shop { padding:14px 18px; background:var(--vt-orange); color:white!important; }
.vt4vt-shell-shop:hover { color:white!important; background:#c94414; }
.vt4vt-shell-toggle { display:none; margin-left:auto; border:1px solid rgba(245,240,229,.45); padding:12px 16px; color:var(--vt-cream); background:transparent; font:800 .8rem 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.vt4vt-shell-footer { background:var(--vt-pine); color:var(--vt-cream); padding:48px 0 28px; }
.vt4vt-footer-wrap { width:min(1120px,calc(100% - 40px)); margin:auto; }
.vt4vt-footer-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:42px; padding-bottom:38px; border-bottom:1px solid var(--vt-line); }
.vt4vt-footer-col h3 { margin:0 0 14px; color:white; font:800 .82rem 'DM Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }
.vt4vt-footer-col a { display:block; color:var(--vt-cream); text-decoration:none; margin:0 0 10px; font-size:.95rem; }
.vt4vt-footer-col a:hover { color:var(--vt-gold); }
.vt4vt-footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; color:#cbd2c9; font-size:.78rem; }
@media (max-width:980px) { .vt4vt-shell-menu { gap:12px; font-size:.72rem; } .vt4vt-footer-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px) { .vt4vt-shell-nav { height:138px; } .vt4vt-shell-logo { width:118px; height:110px; } .vt4vt-shell-toggle { display:block; } .vt4vt-shell-menu { display:none; position:absolute; top:100%; left:0; right:0; padding:18px 20px 24px; flex-direction:column; align-items:stretch; gap:14px; background:var(--vt-pine); border-bottom:1px solid var(--vt-line); } .vt4vt-shell-menu.open { display:flex; } .vt4vt-shell-item { position:static; } .vt4vt-shell-dropdown { position:static; display:none; opacity:1; visibility:visible; transform:none; box-shadow:none; margin-top:10px; min-width:0; } .vt4vt-shell-item.open .vt4vt-shell-dropdown { display:block; } .vt4vt-shell-shop { display:block; text-align:center; } .vt4vt-footer-grid { grid-template-columns:1fr; gap:24px; } .vt4vt-footer-bottom { flex-direction:column; } }
