/* Shared navigation layout; loaded by WordPress before the page body. */
/* === کدهای مخفی کننده منوی قدیمی (Kill Switch) === */
.mobile-sidebar, 
.sidebar-backdrop,
#mobile-menu,
.mobile-menu-wrapper,
.offcanvas-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -9999 !important;
    transform: translateX(-100%) !important;
    width: 0 !important;
    height: 0 !important;
}

body { font-family: 'PeydaWeb', Tahoma, Arial, sans-serif; background-color: #f8fafc; overflow-x: hidden; }

/* Main scrollbar colors and sizes remain defined by style.css. */
::-webkit-scrollbar-thumb { border: 2px solid #fff7ed; }

/* انیمیشن لرزش ملایم برای سبد خرید */
@keyframes wiggle {
    0%, 100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}
.animate-wiggle { animation: wiggle 1s ease-in-out infinite; }

/* مگا منو */
.mega-menu-content { 
    opacity: 0; 
    visibility: hidden; 
    transition: all 0.2s ease-in-out; 
    transform: translateY(10px); 
}
.group\/nav:hover .mega-menu-content { 
    opacity: 1; 
    visibility: visible; 
    transform: translateY(0); 
}

/* جستجو در موبایل */
.search-overlay { opacity: 0; visibility: hidden; transition: opacity .3s ease-in-out, visibility 0s .3s; }
.search-overlay.active { opacity: 1; visibility: visible; transition: opacity .3s ease-in-out, visibility 0s; }
.search-wrapper { transform: translateY(-100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.search-overlay.active .search-wrapper { transform: translateY(0); }

/* رفع مشکل لوگو */
.header-logo-fix { height: 2.75rem !important; width: auto !important; object-fit: contain; }
@media (min-width: 768px) { .header-logo-fix { height: 3.25rem !important; } }

/* منوی موبایل پایین (Bottom Sheet) */
#mobile-menu-sheet {
    transition: transform 0.4s cubic-bezier(0.32,0.72,0,1);
}
.custom-scrollbar::-webkit-scrollbar { width: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

/* Navigation remains in the normal document flow on all viewport sizes. */
#site-header { position: relative; top: auto; }
.group\/nav:focus-within .mega-menu-content { opacity: 1; visibility: visible; transform: translateY(0); }
.hapomeo-navigation-open { overflow: hidden !important; overscroll-behavior: none; }
#mobile-menu-sheet { visibility: visible; transition: transform .35s cubic-bezier(.32,.72,0,1), visibility 0s; }
#mobile-menu-sheet[aria-hidden="true"] { visibility: hidden; transition: transform .35s cubic-bezier(.32,.72,0,1), visibility 0s .35s; }
#mobile-menu-sheet > .overflow-y-auto { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px)); }
#mobile-menu-handle { border: 0; flex-shrink: 0; background-color: transparent; }
#search-wrapper { max-height: 100vh; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; padding-top: env(safe-area-inset-top, 0px); }
.hapomeo-mobile-search-submit { position: absolute; left: .5rem; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: .75rem; color: #fff; background: #244243; display: inline-flex; align-items: center; justify-content: center; }
.hapomeo-navigation-fallback { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 1rem 1rem; }
.hapomeo-navigation-fallback a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .75rem; border-radius: .75rem; background: #fff; color: #244243; }
#site-header a:focus-visible,
#site-header button:focus-visible,
#mobile-menu-sheet a:focus-visible,
#mobile-menu-sheet button:focus-visible,
#search-overlay button:focus-visible,
#hapomeo-support a:focus-visible,
#hapomeo-support button:focus-visible { outline: 3px solid #519294; outline-offset: 3px; }
#search-overlay input:focus-visible { outline: 2px solid #519294; outline-offset: 2px; }
#hapomeo-support-panel[aria-hidden="true"] { visibility: hidden; opacity: 0; pointer-events: none; }
#hapomeo-support.is-open #hapomeo-support-panel { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(50%, 0); }
#hapomeo-support-toggle { animation: none; }
#hapomeo-support-toggle[aria-expanded="true"] .fa-headset { opacity: 0; transform: rotate(90deg) scale(.5); }
#hapomeo-support-toggle[aria-expanded="true"] .fa-xmark { opacity: 1; transform: none; }
#hapomeo-support-toggle[aria-expanded="false"] .fa-headset { opacity: 1; transform: none; }
#hapomeo-support-toggle[aria-expanded="false"] .fa-xmark { opacity: 0; transform: rotate(-90deg) scale(.5); }
#hapomeo-newsletter-form { position: relative; }
.hapomeo-newsletter-honeypot { position: absolute; inset-inline-start: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; pointer-events: none; }
#hapomeo-newsletter-form input { min-width: 0; }
#hapomeo-newsletter-form input,
#hapomeo-newsletter-form button { font-family: inherit; }
#hapomeo-newsletter-form button:disabled { opacity: .65; cursor: wait; }
#hapomeo-newsletter-form input:focus-visible,
#hapomeo-newsletter-form button:focus-visible { outline: 2px solid #244243; outline-offset: 3px; }
#hapomeo-newsletter-message { overflow-wrap: anywhere; }
#hapomeo-newsletter-message.hapomeo-newsletter-error { color: #fff; }
@media (max-width: 1023px) {
    #main-header { gap: .5rem; padding-inline: .75rem; }
    .header-brand { min-width: 0; flex-shrink: 1; }
    #site-header .header-logo-fix { max-width: min(35vw, 160px); }
    .header-controls { gap: .25rem; }
    .header-controls > button, .header-controls > a { min-width: 44px; min-height: 44px; }
    #close-search-btn, #close-mobile-menu { min-width: 44px; min-height: 44px; }
    #mobile-menu-sheet { max-height: 88vh; max-height: 88dvh; height: 78vh; height: 78dvh; }
    #mobile-menu-sheet [id^="submenu-"] a { min-height: 44px; display: flex; align-items: center; }
    #mobile-menu-sheet button, #mobile-menu-sheet a, .header-controls button, .header-controls a { touch-action: manipulation; }
    #search-input, #hapomeo-newsletter-form input[name="mobile"] { font-size: 16px; }
    #hapomeo-newsletter-form input[name="mobile"] { min-height: 44px; padding-inline: .5rem; }
    #hapomeo-newsletter-form button[type="submit"] { min-height: 44px; padding-inline: .75rem; }
    #hapomeo-support { right: 1rem; bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)); }
    body.single-product #hapomeo-support { bottom: calc(7rem + env(safe-area-inset-bottom, 0px)); }
    body.woocommerce-cart #hapomeo-support, body.woocommerce-checkout #hapomeo-support { bottom: calc(8rem + env(safe-area-inset-bottom, 0px)); }
    @supports selector(body:has(#sticky-buy-bar)) {
        body:has(input:focus, textarea:focus, select:focus) #hapomeo-support { visibility: hidden; opacity: 0; pointer-events: none; }
        body.single-product:not(:has(#sticky-buy-bar.visible:not(.hidden-footer))) #hapomeo-support { bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)); }
        body.woocommerce-cart:not(:has(#mobile-sticky-footer:not(.translate-y-full):not(.hidden):not(.pointer-events-none))) #hapomeo-support,
        body.woocommerce-checkout:not(:has(#mobile-sticky-btn:not(.translate-y-full):not(.hidden):not(.pointer-events-none))) #hapomeo-support { bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)); }
    }
}
@media (max-width: 379px) {
    #site-header .header-logo-fix { max-width: 112px; height: 2.25rem !important; }
    #hapomeo-newsletter-form button[type="submit"] { padding-inline: .625rem; }
}
@media (prefers-reduced-motion: reduce) {
    #mobile-menu-sheet, .search-overlay, .search-wrapper, #hapomeo-support-panel, #hapomeo-support-toggle, #hapomeo-support-toggle i { transition-duration: .01ms !important; animation: none !important; }
}
@media (min-width: 1024px) {
    .hapomeo-navigation-fallback { display: none; }
}
