/* Shared front-end header. Homepage transparency remains in style-pc.css. */
body:has(> header.site-header) {
    margin-top: 68px;
}

header.site-header {
    border-top: 0;
    background: #8f1718;
    box-shadow: none !important;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}

header.site-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #c79a38;
    pointer-events: none;
}

header.site-header > .container {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 0 48px;
}

header.site-header .navbar {
    height: 68px;
    background: transparent;
}

header.site-header .navbar .logo { flex-shrink: 0; margin-right: 18px; }
header.site-header .navbar .logo img { max-height: 46px; width: auto; }
header.site-header .navbar .menu li { padding: 0 8px; }
header.site-header .navbar .menu li a {
    color: rgba(255, 250, 241, .9);
    font-size: 16px;
    letter-spacing: 1px;
    white-space: nowrap;
}

header.site-header .navbar .option li { padding: 0 6px; }
header.site-header .navbar .option li a { align-items: center; color: rgba(255, 250, 241, .92); }
header.site-header .navbar .option .line-login {
    padding: 9px 14px;
    border-radius: 0;
    background: transparent;
    color: #fff;
}

header.site-header a:focus-visible { outline: 2px solid #c79a38; outline-offset: 4px; }

body:has(> header.site-header) > .sub-menu:not(.cart-drawer) { top: 68px; }
body:has(> header.site-header) > .sub-menu:not(.cart-drawer) .close-block { height: calc(100vh - 68px); }
body:has(> header.site-header) .anchor_menu.move { top: 68px; }

@media (max-width: 1023px) {
    header.site-header .navbar > .menu {
        visibility: hidden;
        opacity: 0;
        width: 0;
    }

    header.site-header .navbar > .menu.active {
        display: flex;
        position: fixed;
        inset: 0;
        z-index: 99;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        visibility: visible;
        opacity: 1;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        overflow: auto;
        overscroll-behavior: contain;
        background: #fffdf9;
    }

    header.site-header .navbar > .menu.active li { width: 100%; padding: 0; }
    header.site-header .navbar > .menu.active li a { justify-content: center; padding: 15px 0; color: #493429; }
    header.site-header .navbar .mobile-show { display: block !important; }
    header.site-header .navbar .menu-close { position: absolute; top: 0; right: 0; width: 50px !important; height: 50px !important; }
}

@media (max-width: 767px) {
    body:has(> header.site-header) { margin-top: 60px; }
    header.site-header > .container { padding: 0 16px; }
    header.site-header .navbar { height: 60px; }
    header.site-header .navbar .logo img { max-height: 42px; }
    header.site-header .navbar .option { gap: 2px; }
    header.site-header .navbar .option li { padding: 0 3px; }
    header.site-header .navbar .option li a { color: #fff; }
    header.site-header .navbar .option .line-login { padding: 6px 8px; font-size: 12px; }
    body:has(> header.site-header) > .sub-menu:not(.cart-drawer) { top: 0; }
    body:has(> header.site-header) .anchor_menu.move { top: 60px; }
}
