/* Shared navigation/footer polish. Loaded after base/home styles so these rules own the final desktop presentation layer. */

/* Darken the wood/navigation surfaces with layered backgrounds rather than covering pseudo-elements. */
.nav-shell{
    background:
        linear-gradient(180deg,rgba(8,5,3,.24),rgba(5,3,2,.46)),
        repeating-linear-gradient(90deg,#302416 0,#302416 29px,#352718 30px,#291e13 59px);
}
body.home .kbn-nav{
    background-image:
        linear-gradient(to bottom,rgba(13,8,4,.26),rgba(6,3,2,.48)),
        url("../images/wood-pattern-001.jpg");
}
body.home .kbn-footer{
    background-image:
        linear-gradient(180deg,rgba(8,5,3,.18),rgba(8,5,3,.32)),
        url("../images/bg-footer1000.webp");
}

/* Submenus are reading lists, not centered navigation pills. */
.submenu,
body.home .kbn-nav .submenu{text-align:left}
.submenu a,
body.home .kbn-nav .submenu a{
    justify-content:flex-start;
    text-align:left;
    width:100%;
}

/* One server-rendered social-control treatment for home and inner-page desktop navigation. */
.social-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    margin:0 8px 0 9px;
    padding:0;
    align-self:center;
}
.social-nav a,
body.home .kbn-nav .social-nav a{
    width:22px;
    height:22px;
    min-width:22px;
    min-height:22px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#c7ad6a;
    color:#39291a;
    font-family:Arial,sans-serif;
    font-size:11px;
    line-height:1;
    text-shadow:none;
    box-shadow:inset 0 1px 0 rgba(255,245,205,.28),0 1px 2px rgba(0,0,0,.48);
    opacity:.96;
    transition:transform .16s ease,background-color .16s ease,color .16s ease,filter .16s ease;
}
.social-nav a:hover,
.social-nav a:focus-visible,
body.home .kbn-nav .social-nav a:hover,
body.home .kbn-nav .social-nav a:focus-visible{
    background:#ddc47d;
    color:#2c1f14;
    transform:translateY(-1px);
    filter:brightness(1.04);
}
.social-nav i{display:block;width:auto;line-height:1}
.social-nav .fa-facebook-f{font-size:11px}
.social-nav .fa-twitter{font-size:11px}
.social-nav .fa-instagram{font-size:11px}
.social-nav .fa-youtube{font-size:10px}
.social-nav .fa-tripadvisor{font-size:12px}
.kbn-tripadvisor-mark{
    width:14px;
    height:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:1px;
    position:relative;
    color:currentColor;
}
.kbn-tripadvisor-mark:before{
    content:"";
    position:absolute;
    left:3px;
    right:3px;
    top:-1px;
    height:4px;
    border-top:1.4px solid currentColor;
    border-radius:50%;
}
.kbn-tripadvisor-mark span{
    width:6px;
    height:6px;
    border:1.25px solid currentColor;
    border-radius:50%;
    background:radial-gradient(circle,currentColor 0 1.15px,transparent 1.3px);
}

/* Homepage footer row: center all cards on the same vertical axis. */
body.home .kbn-footer__grid{align-items:center}
body.home .kbn-footer__grid>section,
body.home .kbn-footer__grid>.kbn-award,
body.home .kbn-footer__grid>.kbn-typewriter-link{align-self:center}
body.home .kbn-award{
    all:unset;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    width:136px;
    cursor:pointer;
}
body.home .kbn-award:before{content:none;display:none}
body.home .kbn-award:focus-visible{outline:2px solid #d7bd7d;outline-offset:5px;border-radius:3px}
body.home .kbn-award img{
    width:128px;
    height:auto;
    display:block;
    filter:drop-shadow(0 6px 8px rgba(0,0,0,.45));
}
body.home .kbn-typewriter-link{align-self:center}

/*
 * Desktop remains desktop through 13-inch laptop widths. This is the approved
 * 1025–1320 desktop geometry; responsive-navigation.css begins at 1024px.
 * Generic link resets deliberately exclude .menus: reservation-header-plaque.css
 * is the single desktop owner for Bistro Menus and Reserve Your Table geometry.
 */
@media (min-width:1025px) and (max-width:1320px){
    .primary-nav>.header-brand{display:inline-flex!important}

    .primary-nav>.nav-list,
    body.home .kbn-nav>.nav-list{
        display:flex!important;
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-height:none!important;
        overflow:visible!important;
        margin:0!important;
        padding:0!important;
        background:none!important;
        border:0!important;
        box-shadow:none!important;
        flex-direction:row!important;
        align-items:stretch!important;
        justify-content:center!important;
    }
    .primary-nav>.nav-list>.nav-item,
    body.home .kbn-nav>.nav-list>.nav-item{
        display:flex!important;
        width:auto!important;
        position:relative!important;
        align-items:stretch!important;
    }

    .primary-nav>.nav-list>.nav-item:not(.menus)>.nav-link{
        width:auto!important;
        height:auto!important;
        min-height:68px!important;
        margin:0!important;
        padding:0 7px!important;
        justify-content:center!important;
        border:0!important;
        box-shadow:none!important;
        background:none!important;
        text-align:center!important;
        white-space:nowrap!important;
        font-size:9px!important;
        letter-spacing:.04em!important;
    }
    body.home .kbn-nav>.nav-list>.nav-item:not(.menus)>.nav-link{
        width:auto!important;
        height:auto!important;
        min-height:48px!important;
        margin:0!important;
        padding:0 9px!important;
        justify-content:center!important;
        border:0!important;
        box-shadow:none!important;
        background:none!important;
        text-align:center!important;
        white-space:nowrap!important;
        font-size:11px!important;
    }

    .primary-nav .submenu-toggle,
    body.home .kbn-nav .submenu-toggle{display:none!important}
    .primary-nav .submenu,
    body.home .kbn-nav .submenu{
        position:absolute!important;
        top:100%!important;
        left:0!important;
        right:auto!important;
        display:none!important;
        min-width:240px!important;
        width:max-content!important;
        max-width:320px!important;
        margin:0!important;
        padding:7px 0!important;
        overflow:visible!important;
        background:#0b0d09!important;
        border:0!important;
        border-top:3px solid #c6a15d!important;
        box-shadow:0 20px 45px rgba(0,0,0,.66)!important;
        text-align:left!important;
    }
    .primary-nav .nav-item:hover>.submenu,
    .primary-nav .nav-item:focus-within>.submenu,
    body.home .kbn-nav .nav-item:hover>.submenu,
    body.home .kbn-nav .nav-item:focus-within>.submenu{display:block!important}
    .primary-nav .submenu a,
    body.home .kbn-nav .submenu a{
        min-height:0!important;
        padding:11px 14px!important;
        justify-content:flex-start!important;
        text-align:left!important;
        white-space:nowrap!important;
        font-size:10px!important;
    }

    .primary-nav .social-nav,
    body.home .kbn-nav .social-nav{
        width:auto!important;
        flex:0 0 auto!important;
        justify-content:center!important;
        gap:5px!important;
        margin:0 6px!important;
        padding:0!important;
        box-shadow:none!important;
    }
    .primary-nav .social-nav a,
    body.home .kbn-nav .social-nav a{
        width:22px!important;
        height:22px!important;
        min-width:22px!important;
        min-height:22px!important;
    }
    .primary-nav .kbn-reservation-nav,
    body.home .kbn-nav .kbn-reservation-nav{
        width:auto!important;
        padding:0!important;
        flex:0 0 auto!important;
    }
    body.home .kbn-nav{
        top:clamp(210px,25vh,272px)!important;
        justify-content:center!important;
        padding:0 18px!important;
    }
}

@media (max-width:640px){
    body.home .kbn-footer__grid{align-items:start}
    body.home .kbn-award{width:112px;justify-self:center}
    body.home .kbn-award img{width:104px}
}

/* Bistro Menus plaque matches the homepage treatment: no decorative desktop chevron. */
.primary-nav .nav-item.menus>.nav-link .desktop-caret{display:none!important}
