/* ============================================================
 * Farm-style Mobile Navigation
 * Only active when PostNavStyle = 'farm'
 * PC (min-width:960px): hidden completely
 * Mobile (max-width:959px): hide original nav elements, show farm nav
 * ============================================================ */

/* --- PC: hide farm nav completely --- */
@media (min-width: 960px) {
    .farm-nav { display: none !important; }
}

/* --- Mobile only --- */
@media (max-width: 959px) {

    /* Hide original mobile nav elements from post-nav.php */
    #masthead { min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
    #primary-bar { display: none !important; }
    .site-start { display: none !important; }
    #secondary-bar { display: none !important; }
    .mobile-menu2 { display: none !important; }
    .search-icon { display: none !important; }
    #mobile-nav { display: none !important; }
    .main-nav { display: none !important; }

    /* Farm nav container */
    .farm-nav {
        position: relative;
        width: 100%;
        background: #fff;
        z-index: 9999;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }

    /* Sticky (fixed) state after scroll */
    .farm-nav.farm-nav-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        animation: farmSlideDown 0.3s ease;
    }

    @keyframes farmSlideDown {
        from { transform: translateY(-100%); }
        to   { transform: translateY(0); }
    }

    /* Nav bar: LOGO left + toggle right */
    .farm-nav-bar {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        height: 50px;
        padding: 0 14px;
        position: relative;
    }

    /* Top accent line when fixed */
    .farm-nav.farm-nav-fixed .farm-nav-bar {
        border-top: 3px solid var(--farm-accent, #ffffff);
    }

    /* Logo */
    .farm-nav-logo a {
        display: block;
        line-height: 0;
    }
    .farm-nav-logo img {
        height: 30px;
        width: auto;
        max-width: 180px;
        object-fit: contain;
    }

    /* Hamburger toggle button */
    .farm-nav-toggle {
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        width: 40px;
        height: 40px;
        -webkit-tap-highlight-color: transparent;
    }

    .farm-nav-toggle-icon,
    .farm-nav-toggle-icon::before,
    .farm-nav-toggle-icon::after {
        display: block;
        width: 22px;
        height: 2px;
        background: #333;
        border-radius: 1px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .farm-nav-toggle-icon {
        position: relative;
    }

    .farm-nav-toggle-icon::before,
    .farm-nav-toggle-icon::after {
        content: '';
        position: absolute;
        left: 0;
    }

    .farm-nav-toggle-icon::before { top: -7px; }
    .farm-nav-toggle-icon::after  { top: 7px; }

    /* Open state: X icon */
    .farm-nav-toggle.active .farm-nav-toggle-icon {
        background: transparent;
    }
    .farm-nav-toggle.active .farm-nav-toggle-icon::before {
        top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .farm-nav-toggle.active .farm-nav-toggle-icon::after {
        top: 0;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    /* Menu panel (hidden by default) */
    .farm-nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        box-shadow: 0 4px 16px rgba(0,0,0,0.12);
        max-height: 70vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .farm-nav-menu.open {
        display: block;
        animation: farmFadeIn 0.2s ease;
    }

    @keyframes farmFadeIn {
        from { opacity: 0; }
        to   { opacity: 1; }
    }

    /* Menu list */
    .farm-nav-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .farm-nav-list > li {
        border-bottom: 1px solid #f0f0f0;
    }

    .farm-nav-list > li:last-child {
        border-bottom: none;
    }

    .farm-nav-list > li > a {
        display: block;
        padding: 13px 16px;
        color: #333;
        text-decoration: none;
        font-size: 15px;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }

    .farm-nav-list > li > a:hover,
    .farm-nav-list > li > a:active {
        color: var(--farm-accent, #e8432c);
        background: #fafafa;
    }

    /* Sub-menus: display flat, indented */
    .farm-nav-list .sub-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        background: #f8f8f8;
    }

    .farm-nav-list .sub-menu > li {
        border-bottom: 1px solid #f0f0f0;
    }

    .farm-nav-list .sub-menu > li > a {
        display: block;
        padding: 10px 16px 10px 32px;
        color: #666;
        text-decoration: none;
        font-size: 14px;
    }

    .farm-nav-list .sub-menu > li > a:hover,
    .farm-nav-list .sub-menu > li > a:active {
        color: var(--farm-accent, #e8432c);
    }

    /* Search box in menu panel */
    .farm-nav-search {
        padding: 12px 16px;
        border-top: 1px solid #f0f0f0;
    }

    .farm-nav-search form {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        background: #f5f5f5;
        border-radius: 4px;
        padding: 4px 8px;
    }

    .farm-nav-search input[type="search"] {
        -webkit-flex: 1;
        flex: 1;
        border: none;
        background: none;
        outline: none;
        font-size: 14px;
        padding: 6px 4px;
        -webkit-appearance: none;
        appearance: none;
    }

    .farm-nav-search button {
        background: none;
        border: none;
        cursor: pointer;
        padding: 6px;
        color: #999;
        font-size: 16px;
    }

    .farm-nav-search button:hover {
        color: var(--farm-accent, #e8432c);
    }

    /* Body scroll lock when menu open */
    body.farm-nav-open {
        overflow: hidden;
    }

    /* Overlay backdrop */
    .farm-nav-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.4);
        z-index: 9998;
    }

    .farm-nav-overlay.show {
        display: block;
    }

}
