/* ==========================================================================
   Header & Search Fix - Arume Theme
   Fixes: Content behind header, search input, search overlay visibility
   ========================================================================== */

/* === BODY OFFSET FOR FIXED HEADER === */
body {
    padding-top: 180px !important;
}

body.has-announcement-bar {
    padding-top: 220px !important;
}

/* Pages with hero should NOT have extra padding */
body.home,
body.page-template-front-page,
body.home.has-announcement-bar,
body.page-template-front-page.has-announcement-bar {
    padding-top: 0 !important;
}

/* === HEADER === */
.header,
#header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: rgba(253, 253, 251, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

.header.scrolled,
#header.scrolled {
    background: rgba(253, 253, 251, 0.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Announcement bar positioning */
body.has-announcement-bar .header,
body.has-announcement-bar #header {
    top: 40px !important;
}

/* === SEARCH OVERLAY - HIDDEN BY DEFAULT === */
.search-overlay,
#searchOverlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.8) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding-top: 15vh !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

/* Search overlay visible state */
.search-overlay.active,
#searchOverlay.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Search container - proper size */
.search-container {
    max-width: 560px !important;
    width: 90% !important;
    background: #fff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    transform: translateY(-20px) scale(0.95) !important;
    opacity: 0 !important;
    transition: transform 0.3s ease, opacity 0.3s ease !important;
}

.search-overlay.active .search-container,
#searchOverlay.active .search-container {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
}

/* Search form wrapper */
.search-form-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Search form - proper sizing */
.search-overlay .search-form,
#searchOverlay .search-form,
.search-container .search-form {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    background: #F8F6F3 !important;
    border-radius: 50px !important;
    padding: 12px 20px !important;
    border: 1px solid #EAE7E3 !important;
    width: auto !important;
    max-width: none !important;
}

.search-form:focus-within {
    border-color: #3A2D22 !important;
    box-shadow: 0 0 0 3px rgba(58, 45, 34, 0.1) !important;
}

/* Search input - CONTROLLED SIZE */
.search-overlay .search-input,
#searchOverlay .search-input,
.search-container .search-input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    padding: 8px 12px !important;
    font-size: 1rem !important;
    color: #1A1A1A !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    outline: none !important;
}

.search-input::placeholder {
    color: #9A9590 !important;
}

/* Search submit button */
.search-overlay .search-submit,
#searchOverlay .search-submit,
.search-container .search-submit {
    flex-shrink: 0 !important;
    background: #3A2D22 !important;
    border: none !important;
    padding: 12px !important;
    cursor: pointer !important;
    color: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s, transform 0.2s !important;
}

.search-submit:hover {
    background: #5C4535 !important;
    transform: scale(1.05) !important;
}

.search-submit svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
}

/* Search close button */
.search-overlay .search-close,
#searchOverlay .search-close,
.search-container .search-close {
    flex-shrink: 0 !important;
    background: transparent !important;
    border: 1px solid #EAE7E3 !important;
    padding: 12px !important;
    cursor: pointer !important;
    color: #6B6560 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s !important;
}

.search-close:hover {
    background: #F8F6F3 !important;
    border-color: #3A2D22 !important;
    color: #3A2D22 !important;
}

.search-close svg {
    width: 20px !important;
    height: 20px !important;
    stroke: currentColor !important;
}

/* Search results */
.search-results {
    max-height: 50vh !important;
    overflow-y: auto !important;
    margin-top: 16px !important;
}

.search-results:empty {
    display: none !important;
}

/* === CART BADGE FIX === */
.cart-btn,
.action-btn.cart-btn,
a.cart-btn {
    position: relative !important;
}

.cart-count {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: #B89F6E !important;
    border-radius: 50% !important;
    z-index: 10 !important;
}

/* === WOOCOMMERCE PAGE FIX === */
.woocommerce-page .site-main,
.woocommerce-page #primary,
.woocommerce-page main {
    padding-top: 0 !important;
}

/* Category hero needs no extra padding - already has enough */
.category-hero {
    margin-top: 0 !important;
}

/* Page header for archive pages */
.page-header {
    padding-top: var(--space-6, 48px) !important;
}

/* ==========================================================================
   MEGA DROPDOWN MENU - Premium Design
   ========================================================================== */

/* Dropdown active state for touch devices */
.nav-left .nav-dropdown.dropdown-active .nav-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
}

@media (max-width: 1200px) {
    .nav-left .nav-dropdown.dropdown-active .nav-dropdown-menu {
        transform: translateX(0) translateY(0) !important;
    }
}

/* Dropdown container */
.nav-left .nav-dropdown {
    position: relative;
}

.nav-left .nav-dropdown-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
}

.nav-left .nav-dropdown-toggle .dropdown-arrow {
    width: 12px !important;
    height: 12px !important;
    transition: transform 0.3s ease !important;
    stroke-width: 2.5 !important;
    opacity: 0.6 !important;
}

.nav-left .nav-dropdown:hover .nav-dropdown-toggle .dropdown-arrow {
    transform: rotate(180deg) !important;
    opacity: 1 !important;
}

/* Dropdown panel */
.nav-left .nav-dropdown-menu {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    min-width: 320px !important;
    max-width: 420px !important;
    width: max-content !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 1001 !important;
    overflow: visible !important;
}

.nav-left .nav-dropdown:hover .nav-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* Prevent dropdown from being cut off on small screens */
@media (max-width: 1200px) {
    .nav-left .nav-dropdown-menu {
        left: 0 !important;
        transform: translateX(0) translateY(10px) !important;
    }

    .nav-left .nav-dropdown:hover .nav-dropdown-menu {
        transform: translateX(0) translateY(0) !important;
    }
}

/* Dropdown Grid */
.nav-left .dropdown-grid,
.nav-left .nav-dropdown-menu .dropdown-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    padding: 8px !important;
    background: #f8f8f6 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Dropdown Item */
.nav-left .dropdown-item,
.nav-left .nav-dropdown-menu .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 16px !important;
    background: #fff !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.nav-left .dropdown-item::after,
.nav-left .nav-dropdown-menu .dropdown-item::after {
    display: none !important;
}

.nav-left .dropdown-item:hover,
.nav-left .nav-dropdown-menu .dropdown-item:hover {
    background: #faf9f7 !important;
    transform: translateX(4px) !important;
    padding-left: 16px !important;
}

/* Dropdown Item Icon */
.nav-left .dropdown-item-icon,
.nav-left .nav-dropdown-menu .dropdown-item-icon {
    width: 44px !important;
    height: 44px !important;
    flex-shrink: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #f5f5f3 0%, #eae8e4 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nav-left .dropdown-item-icon img,
.nav-left .nav-dropdown-menu .dropdown-item-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.nav-left .dropdown-item-icon-placeholder,
.nav-left .nav-dropdown-menu .dropdown-item-icon-placeholder {
    color: #999 !important;
}

.nav-left .dropdown-item-icon-placeholder svg,
.nav-left .nav-dropdown-menu .dropdown-item-icon-placeholder svg {
    stroke-width: 1.5 !important;
    width: 20px !important;
    height: 20px !important;
}

/* Dropdown Item Text */
.nav-left .dropdown-item-text,
.nav-left .nav-dropdown-menu .dropdown-item-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
}

.nav-left .dropdown-item-name,
.nav-left .nav-dropdown-menu .dropdown-item-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.nav-left .dropdown-item-count,
.nav-left .nav-dropdown-menu .dropdown-item-count {
    font-size: 12px !important;
    color: #888 !important;
    font-weight: 400 !important;
}

/* Dropdown Footer */
.nav-left .dropdown-footer,
.nav-left .nav-dropdown-menu .dropdown-footer {
    padding: 12px 16px !important;
    background: #fff !important;
    border-top: 1px solid #f0f0f0 !important;
}

.nav-left .dropdown-view-all,
.nav-left .nav-dropdown-menu .dropdown-view-all {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    background: #3A2D22 !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.nav-left .dropdown-view-all::after,
.nav-left .nav-dropdown-menu .dropdown-view-all::after {
    display: none !important;
}

.nav-left .dropdown-view-all:hover {
    background: #2A1F18 !important;
    transform: scale(1.02) !important;
    color: #fff !important;
}

.nav-left .dropdown-view-all svg,
.nav-left .nav-dropdown-menu .dropdown-view-all svg {
    transition: transform 0.2s ease !important;
    stroke: currentColor !important;
    width: 16px !important;
    height: 16px !important;
}

.nav-left .dropdown-view-all:hover svg,
.nav-left .nav-dropdown-menu .dropdown-view-all:hover svg {
    transform: translateX(4px) !important;
}

/* Hide old dropdown divider */
.nav-left .dropdown-divider {
    display: none !important;
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 992px) {
    body {
        padding-top: 120px !important;
    }

    body.has-announcement-bar {
        padding-top: 160px !important;
    }

    body.home,
    body.page-template-front-page {
        padding-top: 0 !important;
    }
}

@media (max-width: 768px) {
    body {
        padding-top: 100px !important;
    }

    body.has-announcement-bar {
        padding-top: 140px !important;
    }

    .search-overlay,
    #searchOverlay {
        padding: 24px 16px !important;
        padding-top: 10vh !important;
    }

    .search-container {
        padding: 20px !important;
    }

    .search-form-wrapper {
        flex-wrap: wrap !important;
    }

    .search-container .search-form {
        width: 100% !important;
        order: 2 !important;
    }

    .search-close {
        order: 1 !important;
        margin-left: auto !important;
    }
}

@media (max-width: 480px) {
    body {
        padding-top: 90px !important;
    }

    body.has-announcement-bar {
        padding-top: 130px !important;
    }
}
