/* Mega Menu Core Layout */
.mega-menu-parent {
    position: relative !important;
    /* Default: Align menu relative to the button (About, Shop) */
}

/* Home Menu Exception: Needs to be static so the wide menu centers relative to Header */
.mega-menu-parent.mm-full-width-parent {
    position: static !important;
}

.mega-menu-wrapper {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 1000px;
    /* Wider for the new layout */
    margin-left: -500px;
    margin-top: 20px;

    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(0, 0, 0, 0.08);

    display: flex;
    overflow: hidden;
    z-index: 999;

    visibility: hidden;
    opacity: 0;
    transform: scale(1, 0.95);
    transform-origin: top;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
    /* Prevent interaction when hidden */
}

/* Hover Bridge - STRICT ANCHOR ONLY */
.mega-menu-wrapper::before {
    display: none !important;
}

/* Add Localized Bridge to the Home Link only using ::before */
.mega-menu-parent>a {
    position: relative !important;
}

.mega-menu-parent>a::before {
    content: "";
    position: absolute;
    top: 100%;
    /* Start exactly at bottom of link */
    left: 0;
    width: 100%;
    /* Strictly match Home button width */
    height: 30px;
    /* Cover the 20px gap + 10px overlap */
    background: transparent;
    z-index: 1000;
}

/* STRICT TRIGGER: Only open when hovering the LINK (plus bridge) OR the MENU itself */
/* Removing .mega-menu-parent:hover to prevent LI container triggers */
.mega-menu-parent>a:hover~.mega-menu-wrapper,
.mega-menu-wrapper:hover {
    visibility: visible;
    opacity: 1;
    transform: scale(1, 1);
    pointer-events: auto;
    /* Ensure clickable */
}

/* --- Left Column: Categories --- */
.mega-menu-left {
    width: 220px;
    /* Narrower to match Hub Location left panel */
    background: #ffffff;
    padding: 20px 12px;
    /* Reduced padding to match Hub Location */
    border-right: 1px solid #f0f0f0;
    flex-shrink: 0;
    /* Allow scrolling for long lists like Hub Locations */
    max-height: 380px;
    /* Match Hub Location height */
    overflow-y: auto;
}

/* Custom Scrollbar for Mega Menu Left */
.mega-menu-left::-webkit-scrollbar {
    width: 4px;
}

.mega-menu-left::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.mega-menu-left::-webkit-scrollbar-thumb {
    background: #d87126;
    border-radius: 4px;
}

.mega-menu-left::-webkit-scrollbar-thumb:hover {
    background: #bf5d15;
}

.mm-category-header {
    font-size: 14px;
    /* Slightly smaller to match Hub Location */
    color: #d87126 !important;
    /* RX Orange Pop */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    /* Tighter spacing */
    padding-left: 20px;
    text-align: left;
}

/* NUCLEAR SPECIFICITY - Force List to Show */
body .main-menu .mega-menu-wrapper .mega-menu-left ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block !important;
    visibility: visible !important;
    /* Override theme hidden */
    opacity: 1 !important;
    /* Override theme opacity */
    position: static !important;
    /* Override theme absolute positioning */
    box-shadow: none !important;
    background: transparent !important;
    width: 100% !important;
    transform: none !important;
}

.mega-menu-left ul li.mega-item {
    /* Added specific class */
    display: block;
    margin: 4px 0;
}

/* NUCLEAR SPECIFICITY - Force Black Text */
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item a {
    display: flex;
    align-items: center;
    padding: 8px 12px !important;
    /* Tighter padding to match Hub Location */
    color: #000000 !important;
    /* Strictly Black */
    font-size: 14px;
    /* Slightly smaller font */
    font-weight: 500;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s ease;
    background: transparent !important;
    border: none;
    text-transform: none;
    /* Prevent uppercase if theme enforces it */
}

/* Icons - Force Dark Grey */
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item a .mm-icon {
    width: 24px;
    text-align: center;
    margin-right: 12px;
    color: #555555 !important;
    font-size: 14px;
}

/* Count Badge - Force Orange (Supporting Words Pop) */
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item a .mm-count {
    margin-left: auto;
    font-size: 12px;
    color: #d87126 !important;
    /* RX Orange Pop */
    font-weight: 500;
}

/* Active/Hover State - Force Orange Background & White Text */
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item a:hover,
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item.active a {
    background: #d87126 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(216, 113, 38, 0.3);
}

/* Active/Hover Icons & Counts - Force White */
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item.active a .mm-icon,
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item.active a .mm-count,
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item.active a:hover .mm-icon,
body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item a:hover .mm-count {
    color: #ffffff !important;
}

/* Remove Arrows from Parent Theme */
.main-menu ul li.mega-menu-parent .mega-menu-left ul li.submenu>a:after {
    display: none !important;
}

/* --- Right Column: Content --- */
.mega-menu-right {
    flex: 1;
    padding: 20px 25px;
    /* Adjusted padding to match Hub Location */
    background: #fafafa;
    display: flex;
    flex-direction: column;
}

/* Header Area */
.mm-content-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    /* Tighter spacing to match Hub Location */
    width: 100%;
}

.mm-title-group h3 {
    font-size: 20px;
    color: #d87126;
    /* Make Title Orange Pop */
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    line-height: normal;
    /* Fix alignment */
}

.mm-title-group span {
    font-size: 13px;
    color: #666;
    /* Keep subtle or make Black? distinct from title */
    margin-left: 10px;
    font-weight: 400;
    margin-top: 3px;
}

.mm-view-all {
    font-size: 13px;
    color: #d87126;
    font-weight: 600;
    transition: all 0.2s;
}

.mm-view-all:hover {
    color: #bf5d15;
    text-decoration: underline;
}

/* Layout Grid */
.mm-grid {
    display: flex;
    gap: 20px;
    /* Reduced gap to match Hub Location */
    height: 100%;
}

/* Banner Card */
.mm-banner-card {
    width: 250px;
    /* Fixed width similar to Hub Location app image */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    /* transition: transform 0.3s ease; */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    height: 350px;
    /* Match Hub Location app image height */
    flex-shrink: 0;
}

/* .mm-banner-card:hover {
    transform: translateY(-5px);
} */

.mm-banner-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-banner-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: #fff;
}

.mm-banner-text h4 {
    color: #fff;
    font-size: 18px;
    margin-bottom: 5px;
    font-weight: 600;
}

.mm-banner-text p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}

/* Product List Wrapper - Scrollable Container */
.mm-products-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Product List - Scrollable */
.mm-products {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* Adjusted gap for proper spacing */
    padding-left: 5px;
    padding-right: 8px;
    max-height: 350px;
    /* Maximum height before scrolling - matches banner height */
    overflow-y: auto;
    overflow-x: hidden;
}

/* Custom Scrollbar for Product List */
.mm-products::-webkit-scrollbar {
    width: 5px;
}

.mm-products::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.mm-products::-webkit-scrollbar-thumb {
    background: #d87126;
    border-radius: 10px;
}

.mm-products::-webkit-scrollbar-thumb:hover {
    background: #bf5d15;
}

.mm-product-item {
    display: flex;
    align-items: center;
    background: transparent;
    padding: 10px;
    /* Slightly more padding for better spacing */
    border-radius: 8px;
    transition: background 0.2s;
    text-decoration: none !important;
}

.mm-product-item:hover {
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
}

.mm-prod-thumb {
    width: 64px;
    height: 64px;
    border-radius: 6px;
    background: #eee;
    margin-right: 15px;
    overflow: hidden;
    flex-shrink: 0;
}

.mm-prod-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-prod-info h5 {
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
    font-weight: 500;
    line-height: 1.3;
}

.mm-prod-price {
    font-size: 14px;
    color: #d87126;
    font-weight: 700;
}

.mm-prod-price span {
    font-size: 12px;
    color: #999;
    text-decoration: line-through;
    margin-left: 6px;
    font-weight: 400;
}

/* Footer Tags */
.mm-footer {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.mm-tags {
    display: flex;
    gap: 10px;
}

.mm-tag {
    padding: 5px 12px;
    background: #eef1f6;
    color: #666;
    font-size: 12px;
    font-weight: 500;
    border-radius: 100px;
    transition: all 0.2s;
}

.mm-tag.hot {
    background: rgba(216, 113, 38, 0.1);
    color: #d87126;
}

.mm-tag:hover {
    background: #d87126;
    color: #fff;
}

/* Responsive - Mobile Optimization */
@media (max-width: 991px) {

    /* Show mega menu on mobile with full-screen layout */
    .mega-menu-wrapper {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        transform: none !important;
        max-height: none !important;
    }

    /* Home card variant - same full screen on mobile */
    .mega-menu-wrapper.home-card {
        width: 100vw !important;
        min-width: 100vw !important;
        transform: none !important;
        max-height: none !important;
    }

    /* Mini menu variant - same full screen on mobile */
    .mega-menu-wrapper.mini {
        width: 100vw !important;
        min-width: 100vw !important;
        transform: none !important;
        max-width: none !important;
    }

    /* Left Panel - Full width navigation at top */
    .mega-menu-left {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        padding: 16px !important;
        border-right: none !important;
        border-bottom: 2px solid #f0f0f0 !important;
        max-height: none !important;
        overflow: visible !important;
        flex-shrink: 0 !important;
    }

    /* Left panel header */
    .mm-category-header {
        font-size: 16px !important;
        padding-left: 0 !important;
        margin-bottom: 12px !important;
    }

    /* Left panel menu items - horizontal scroll or wrap */
    body .main-menu .mega-menu-wrapper .mega-menu-left ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item a {
        padding: 12px 16px !important;
        font-size: 14px !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    /* Active state more prominent on mobile */
    body .main-menu .mega-menu-wrapper .mega-menu-left ul li.mega-item.active a {
        transform: scale(1.02);
    }

    /* Right Panel - Full width content below navigation */
    .mega-menu-right {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px !important;
        flex: 1 !important;
        overflow-y: auto !important;
        background: #fafafa !important;
    }

    /* Header section */
    .mm-content-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }

    .mm-title-group h3 {
        font-size: 22px !important;
    }

    .mm-view-all {
        font-size: 14px !important;
    }

    /* Grid Layout - Stack vertically on mobile */
    .mm-grid {
        flex-direction: column !important;
        gap: 20px !important;
        max-height: none !important;
        height: auto !important;
    }

    /* Banner Card - Full width at top */
    .mm-banner-card {
        width: 100% !important;
        max-width: 100% !important;
        height: 300px !important;
        order: -1 !important;
        flex-shrink: 0 !important;
    }

    .mega-menu-wrapper.home-card .mm-banner-card {
        width: 100% !important;
        height: 300px !important;
    }

    /* Products Wrapper - Full width below banner */
    .mm-products-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .mega-menu-wrapper.home-card .mm-products-wrapper {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Products List - Allow natural flow */
    .mm-products {
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
        gap: 12px !important;
    }

    .mega-menu-wrapper.home-card .mm-products {
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    /* Product Items - Touch friendly */
    .mm-product-item {
        padding: 12px !important;
        min-height: 80px !important;
    }

    .mega-menu-wrapper.home-card .mm-product-item {
        padding: 12px !important;
    }

    /* Product thumbnails - slightly larger on mobile */
    .mm-prod-thumb {
        width: 70px !important;
        height: 70px !important;
        margin-right: 12px !important;
    }

    .mega-menu-wrapper.home-card .mm-prod-thumb {
        width: 70px !important;
        height: 70px !important;
        margin-right: 12px !important;
    }

    /* Product info - larger text */
    .mm-prod-info h5 {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .mega-menu-wrapper.home-card .mm-prod-info h5 {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .mm-prod-price {
        font-size: 15px !important;
    }

    .mega-menu-wrapper.home-card .mm-prod-price {
        font-size: 15px !important;
    }

    /* Footer button - full width on mobile */
    .mm-footer-btn,
    .mega-menu-wrapper.home-card .mm-products-wrapper .mm-footer-btn {
        padding: 16px 24px !important;
        font-size: 16px !important;
        margin-top: 16px !important;
    }

    /* Hub Location Layout - Stack vertically */
    .mm-hub-app-promo {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .mm-hub-app-img {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
    }

    .mm-hub-app-content {
        padding-right: 0 !important;
    }

    .mm-hub-header {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .mm-app-btn,
    .mm-app-btn-small {
        width: 100% !important;
        padding: 14px 24px !important;
        font-size: 16px !important;
    }

    .mm-app-features {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .mm-app-feature {
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .mm-feature-icon {
        width: 40px !important;
        height: 40px !important;
        margin-bottom: 0 !important;
    }

    /* Gallery Layout - Stack vertically */
    .mm-gallery-layout {
        flex-direction: column !important;
        height: auto !important;
        max-height: none !important;
        gap: 16px !important;
    }

    .mm-featured-container {
        max-width: 100% !important;
        width: 100% !important;
        height: 300px !important;
    }

    .mm-thumbnail-container {
        max-width: 100% !important;
        width: 100% !important;
    }

    .mm-thumbnail-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* Hub grid - single column on mobile */
    .mm-hub-grid {
        grid-template-columns: 1fr !important;
        height: auto !important;
        gap: 16px !important;
    }

    .mm-hub-image {
        height: 200px !important;
    }

    /* Contact info - better spacing */
    .mm-hub-contact-info {
        gap: 10px !important;
        margin-bottom: 20px !important;
    }

    .mm-contact-item {
        font-size: 15px !important;
    }

    /* Close menu on clicking outside - add overlay background */
    .mega-menu-wrapper::before {
        content: '' !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        z-index: -1 !important;
        display: block !important;
    }

    /* Ensure proper stacking in mobile */
    .mega-menu-left {
        order: 1 !important;
    }

    .mega-menu-right {
        order: 2 !important;
    }
}

/* --- Mini Mega Menu (Exact Right Column Replica - Fit Content) --- */
/* --- Mini Mega Menu (Exact Right Column Replica - Fit Content) --- */
/* --- Mini Mega Menu (Exact Right Column Replica - Fit Content) --- */
.mega-menu-wrapper.mini {
    width: max-content !important;
    /* Strictly fit the text content */
    min-width: 220px;
    max-width: none;
    /* Allow it to grow if text is long */
    margin-left: 0;
    left: 50%;
    /* Center relative to parent */
    top: 100%;
    margin-top: 15px;
    flex-direction: column;
    background: #fafafa;
    /* Match Right Column BG */
    padding: 15px;
    /* Add padding to wrapper for the 'card' feel */
    border-radius: 12px;

    /* Centering Transform */
    transform: translateX(-50%) scale(1, 0.95);
}

/* Localized Bridge for Mini Menus */
.mega-menu-parent>a:hover+.mega-menu-wrapper.mini,
.mega-menu-wrapper.mini:hover {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) scale(1, 1);
}

/* Ensure 'Right' column fills the mini wrapper */
.mega-menu-wrapper.mini .mega-menu-right {
    width: 100%;
    background: transparent;
    /* Wrapper has the color */
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}

/* List Items - Clean Style */
.mega-menu-wrapper.mini .mm-product-item {
    padding: 10px 15px;
    /* Increased padding */
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
    border-radius: 8px;
    margin-bottom: 4px;
    /* Increased spacing */
}

.mega-menu-wrapper.mini .mm-product-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

/* Hover effect exact copy */
.mega-menu-wrapper.mini .mm-product-item:hover {
    background: #d87126;
    /* RX Orange */
    box-shadow: 0 4px 12px rgba(216, 113, 38, 0.3);
}

.mega-menu-wrapper.mini .mm-prod-info h5 {
    font-size: 14px;
    margin: 0;
    color: #333;
    font-weight: 500;
    white-space: nowrap;
    /* CRITICAL: Forces box to expand to fit text */
    transition: color 0.2s;
}

.mega-menu-wrapper.mini .mm-product-item:hover .mm-prod-info h5 {
    color: #ffffff !important;
}

/* Header in Mini Menu */
.mega-menu-wrapper.mini .mm-content-header {
    margin-bottom: 15px;
    /* More breathing room */
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.mega-menu-wrapper.mini .mm-title-group h3 {
    font-size: 16px;
}

/* --- HUB LOCATION SPECIFIC (Fit Content Grid) --- */
.mega-menu-wrapper.mini.hub {
    width: max-content !important;
    /* Fit the 2 columns exactly */
    min-width: 400px;
    /* Minimum for 2 cols */
}

/* --- Home Menu Card Style (Matches Hub Location) --- */
.mega-menu-wrapper.home-card {
    width: 880px !important;
    /* Exact size matching Hub Location card from screenshot */
    min-width: 880px;
    left: 50%;
    margin-left: 0;
    /* Override default negative margin */
    transform: translateX(-50%) scale(1, 0.95);
    /* Center & Start Scale */
    max-height: 450px;
    /* Match Hub Location card height */
}

.mega-menu-parent>a:hover~.mega-menu-wrapper.home-card,
.mega-menu-wrapper.home-card:hover {
    transform: translateX(-50%) scale(1, 1);
}

/* Override Bridge for Hub if it's wide */
/* Center alignment logic if needed, but left-align is standard 'proper' */
/* We keep left align to be 'proper' standard dropdown behavior */

.mega-menu-wrapper.mini.hub .mm-products {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 2 Columns */
    gap: 10px 20px;
    /* Row Gap, Column Gap */
}

/* --- Hub Location Specific Grid --- */
.mm-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    height: 320px;
    /* Adjust height as needed */
    margin-bottom: 20px;
}

.mm-hub-image {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.mm-hub-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mm-hub-image:hover img {
    transform: scale(1.05);
    /* Subtle zoom on hover */
}

/* --- Hub Location App Promo (New Layout) --- */
/* --- Hub Location App Promo (New Layout) --- */
.mm-hub-app-promo {
    display: flex;
    width: 100%;
    height: 100%;
    gap: 30px;
    align-items: flex-start;
    /* Left align vertical */
}

.mm-hub-app-img {
    width: 250px;
    /* Adjusted width to fit */
    height: 350px;
    /* Fixed height to match card feel */
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.mm-hub-app-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mm-hub-app-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-right: 15px;
    align-items: flex-start;
    text-align: left;
}

/* Hub Header with Button */
.mm-hub-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 10px;
    gap: 15px;
}

.mm-hub-header-left {
    flex: 1;
}

.mm-app-tag {
    font-size: 10px;
    font-weight: 700;
    color: #d87126;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.mm-app-tag i {
    font-size: 6px;
    color: #d87126;
}

.mm-hub-app-content h3 {
    font-size: 22px;
    font-weight: 700;
    color: #000;
    line-height: 1.15;
    margin-bottom: 0;
    letter-spacing: -0.5px;
}

.mm-hub-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 15px;
}

.mm-app-features {
    display: flex;
    gap: 15px;
    margin-bottom: 0;
    width: 100%;
}

.mm-app-feature {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.mm-feature-icon {
    width: 36px;
    height: 36px;
    border: 1px solid #FFD8BA;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    color: #d87126;
    background: #FFF8F3;
}

.mm-feature-icon i {
    font-size: 14px;
}

.mm-app-feature h5 {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    line-height: 1.3;
    text-align: left;
    margin-bottom: 0;
}

.mm-feature-text p {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    margin: 4px 0 0 0;
}

/* Hub Contact Info */
.mm-hub-contact-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
    width: 100%;
}

.mm-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    color: #555;
    line-height: 1.3;
}

.mm-contact-item i {
    color: #d87126;
    font-size: 11px;
    margin-top: 2px;
    flex-shrink: 0;
}

.mm-contact-item span {
    flex: 1;
}

.mm-app-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 35px;
    background: #FF8F3F;
    background: linear-gradient(90deg, #FF8F3F 0%, #d87126 100%);
    color: white;
    font-weight: 600;
    font-size: 15px;
    border-radius: 50px;
    text-decoration: none;
    width: max-content;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(216, 113, 38, 0.3);
}

/* Small button variant for header */
.mm-app-btn-small {
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
    border-radius: 30px;
}

.mm-app-btn-small i {
    font-size: 14px;
    margin-right: 5px;
}

.mm-app-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(216, 113, 38, 0.4);
    color: white;
}

/* --- Adapter for Left-Style Lists in Mini Menus --- */
/* --- Adapter for Left-Style Lists in Mini Menus --- */
.mega-menu-wrapper.mini .mega-menu-left {
    width: max-content;
    /* or wider if needed, but consistent with home link */
    border: none;
    padding: 10px 0;
    min-width: 200px;
    /* Ensure a sane minimum */
    background: transparent;
    max-height: none;
    overflow: visible;
}

/* Ensure the header looks right in this context */
.mega-menu-wrapper.mini .mega-menu-left .mm-category-header {
    padding-left: 20px;
    margin-bottom: 12px;
}

/* Adjust list item padding/margin if needed */
.mega-menu-wrapper.mini .mega-menu-left ul li.mega-item {
    margin: 2px 0;
}

.mega-menu-wrapper.mini .mega-menu-left ul li.mega-item a {
    padding: 8px 12px !important;
}



/* ============================================ */
/* HOME MENU SPECIFIC RIGHT COLUMN LAYOUT */
/* ============================================ */

/* Right Column Container - Optimized */
.mega-menu-wrapper.home-card .mega-menu-right {
    width: 630px !important;
    max-width: 630px;
    padding: 20px 25px !important;
}

/* Grid Layout - Optimized Spacing */
.mega-menu-wrapper.home-card .mm-grid {
    display: flex;
    gap: 20px !important;
    height: 100%;
    max-height: 350px;
    align-items: flex-start;
}

/* Banner Card */
.mega-menu-wrapper.home-card .mm-banner-card {
    width: 240px !important;
    height: 350px !important;
    flex-shrink: 0;
}

/* Product List Wrapper with Button */
.mega-menu-wrapper.home-card .mm-products-wrapper {
    flex: 1;
    max-width: 340px !important;
    display: flex;
    flex-direction: column;
    height: 350px !important;
    /* Fixed height to match banner */
    overflow: hidden;
}

/* Product List */
.mega-menu-wrapper.home-card .mm-products {
    display: flex;
    flex-direction: column;
    gap: 6px !important;
    padding-left: 0 !important;
    margin-bottom: 0;
    flex: 1;
    /* Take remaining space */
    overflow-y: auto;
    /* Scrollable */
    min-height: 0;
    /* Important for flex child scrolling */
    padding-bottom: 10px;
}

/* Product Items */
.mega-menu-wrapper.home-card .mm-product-item {
    padding: 6px 8px !important;
    margin-bottom: 0 !important;
}

/* Product Thumbnail */
.mega-menu-wrapper.home-card .mm-prod-thumb {
    width: 56px !important;
    height: 56px !important;
    margin-right: 10px !important;
}

/* Product Info */
.mega-menu-wrapper.home-card .mm-prod-info {
    text-align: left !important;
}

.mega-menu-wrapper.home-card .mm-prod-info h5 {
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
}

.mega-menu-wrapper.home-card .mm-prod-price {
    text-align: left !important;
    font-size: 12px !important;
}

/* Header */
.mega-menu-wrapper.home-card .mm-content-header {
    margin-bottom: 15px !important;
}

.mega-menu-wrapper.home-card .mm-title-group h3 {
    font-size: 17px !important;
}

/* Left Column */
.mega-menu-wrapper.home-card .mega-menu-left {
    width: 220px !important;
    padding: 18px 10px !important;
    max-height: 380px !important;
}

/* Footer Button - Positioned Below Product Items */
.mega-menu-wrapper.home-card .mm-products-wrapper .mm-footer-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 12px 20px !important;
    background: linear-gradient(135deg, #FF8F3F 0%, #d87126 100%) !important;
    color: white !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(216, 113, 38, 0.35) !important;
    margin-top: 12px !important;
}

.mega-menu-wrapper.home-card .mm-products-wrapper .mm-footer-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(216, 113, 38, 0.45) !important;
    background: linear-gradient(135deg, #d87126 0%, #bf5d15 100%) !important;
    color: white !important;
}

.mega-menu-wrapper.home-card .mm-products-wrapper .mm-footer-btn i {
    margin-left: 8px !important;
    transition: transform 0.3s ease !important;
}

.mega-menu-wrapper.home-card .mm-products-wrapper .mm-footer-btn:hover i {
    transform: translateX(4px) !important;
}

/* ============================================ */
/* GALLERY LAYOUT STYLES */
/* ============================================ */

/* Gallery Layout Container */
.mm-gallery-layout {
    display: flex;
    gap: 20px;
    height: 350px;
    max-height: 350px;
}

/* Featured Image Container */
.mm-featured-container {
    flex: 1;
    max-width: 400px;
    height: 100%;
}

.mm-featured-image {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.mm-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.mm-featured-image:hover img {
    transform: scale(1.05);
}

/* Featured Image Overlay */
.mm-featured-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 25px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.5) 60%, transparent 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.mm-featured-overlay h4 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.2;
}

.mm-featured-overlay p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    margin-bottom: 15px;
    line-height: 1.4;
}

/* Featured Button Inside Image */
.mm-featured-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    background: linear-gradient(135deg, #FF8F3F 0%, #d87126 100%);
    color: white !important;
    font-weight: 600;
    font-size: 14px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(216, 113, 38, 0.4);
}

.mm-featured-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(216, 113, 38, 0.5);
    background: linear-gradient(135deg, #d87126 0%, #bf5d15 100%);
    color: white !important;
}

.mm-featured-btn i {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.mm-featured-btn:hover i {
    transform: translateX(4px);
}

/* Thumbnail Container */
.mm-thumbnail-container {
    flex: 1;
    max-width: 230px;
    overflow: hidden;
    position: relative;
}

/* Thumbnail Grid with Scroll */
.mm-thumbnail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    height: 100%;
    max-height: 350px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
}

/* Custom Scrollbar for Thumbnail Grid */
.mm-thumbnail-grid::-webkit-scrollbar {
    width: 5px;
}

.mm-thumbnail-grid::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.mm-thumbnail-grid::-webkit-scrollbar-thumb {
    background: #d87126;
    border-radius: 10px;
}

.mm-thumbnail-grid::-webkit-scrollbar-thumb:hover {
    background: #bf5d15;
}

/* Individual Thumbnail */
.mm-gallery-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mm-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.mm-gallery-thumb:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.mm-gallery-thumb:hover img {
    transform: scale(1.1);
}

/* Active Thumbnail */
.mm-gallery-thumb.active {
    border-color: #d87126;
    box-shadow: 0 4px 15px rgba(216, 113, 38, 0.3);
}

.mm-gallery-thumb.active::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(216, 113, 38, 0.15);
    pointer-events: none;
}

/* Active Thumbnail Check Icon */
.mm-gallery-thumb.active::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: white;
    font-size: 18px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mm-gallery-thumb.active::before {
    opacity: 1;
}