/* ==========================================================================
   PequeMonster - Mobile Header Redesign (CSS Overlay Approach)
   Only active on mobile (<= 768px). Desktop is completely untouched.
   ========================================================================== */

/* ---------- VARIABLES ---------- */
:root {
    --pm-green: #5BA4CF;
    --pm-green-dark: #3D7EAA;
    --pm-green-light: #E3F2FD;
    --pm-whatsapp: #5BA4CF;
    --pm-coral: #e8715a;
    --pm-dark: #1a1a2e;
    --pm-gray: #6b7280;
    --pm-gray-light: #f3f4f6;
    --pm-border: #e5e7eb;
    --pm-shadow: 0 2px 8px rgba(0,0,0,0.08);
    --pm-shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
    --pm-header-height: 56px;
}

/* ==========================================================================
   DESKTOP: hide new mobile elements entirely
   ========================================================================== */
.pm-header,
.pm-search-overlay,
.pm-search-scrim,
.pm-sidebar,
.pm-sidebar-scrim {
    display: none !important;
}

/* ==========================================================================
   MOBILE ONLY
   ========================================================================== */
@media (max-width: 768px) {

    /* ---------- HIDE OLD HEADER ELEMENTS ---------- */
    .header-wrapper .nav.nav-height,
    .header-wrapper .head,
    .header-wrapper .topmenu_container,
    .header-wrapper .infopanel,
    #header .nav.nav-height,
    #header .head,
    #header .topmenu_container,
    #header .infopanel,
    #search_block_top,
    #carttop,
    .shopping_cart,
    .blockcart-wrapper,
    #header_user_info,
    #header_logo,
    #logo_wrapper,
    .finalmenu,
    #FINALmenu,
    .FINALmenu-mobile-trigger,
    .mobile_menu_wrapper,
    #FINALmenu-mobile-nav,
    .menu-place-holder,
    .topmenu_container,
    .header-top-area,
    .displayNav,
    #header .nav .container,
    .header-wrapper .nav .container {
        display: none !important;
    }

    /* Hide the entire old header wrapper content but keep wrapper for structure */
    .header-wrapper {
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        background: none !important;
    }

    #header {
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
        background: none !important;
        border: none !important;
    }

    /* ---------- SHOW NEW MOBILE HEADER ---------- */
    .pm-header {
        display: flex !important;
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        height: var(--pm-header-height);
        background: #fff;
        box-shadow: var(--pm-shadow);
        z-index: 10000;
        align-items: center;
        padding: 0 16px;

        box-sizing: border-box;
    }

    /* Body padding to account for fixed header */
    body {
        padding-top: var(--pm-header-height) !important;
        overflow-x: hidden !important;
    }

    /* Also push down the page wrapper */
    #page {
        padding-top: 0 !important;
    }

    /* Fix loader overlay positioning */
    .loaderbg {
        top: var(--pm-header-height) !important;
    }

    /* ---------- HEADER LOGO ---------- */
    .pm-header__logo {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-shrink: 0;
        text-decoration: none;
    }

    .pm-header__logo-img {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        object-fit: contain;
    }

    .pm-header__logo-text {
        font-size: 14px;
        font-weight: 700;
        color: var(--pm-dark);
        letter-spacing: -0.3px;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }

    .pm-header__logo-text span {
        color: var(--pm-green);
    }

    .pm-header__spacer {
        flex: 1;
    }

    /* ---------- HEADER ACTION BUTTONS ---------- */
    .pm-header__actions {
        display: flex;
        align-items: center;
        gap: 2px;
    }

    .pm-header__btn {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        background: transparent;
        border-radius: 10px;
        cursor: pointer;
        position: relative;
        -webkit-transition: background 0.2s;
        transition: background 0.2s;
        color: #444;
        padding: 0;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: transparent;
    }

    .pm-header__btn:active {
        background: var(--pm-gray-light);
    }

    .pm-header__btn svg {
        width: 22px;
        height: 22px;
        pointer-events: none;
    }

    /* ---------- CART BADGE ---------- */
    .pm-header__cart-badge {
        position: absolute;
        top: 4px;
        right: 2px;
        background: var(--pm-coral);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        min-width: 16px;
        height: 16px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        padding: 0 3px;
        box-sizing: border-box;
    }

    .pm-header__cart-badge.pm-hidden {
        display: none !important;
    }

    /* ---------- SEARCH OVERLAY ---------- */
    .pm-search-scrim {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.3);
        z-index: 10099;
        opacity: 0;
        pointer-events: none;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s;
    }

    .pm-search-scrim.active {
        opacity: 1;
        pointer-events: auto;
    }

    .pm-search-overlay {
        display: flex !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 10100;
        padding: 8px 12px;
        align-items: center;
        gap: 8px;
        box-shadow: var(--pm-shadow-lg);
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-sizing: border-box;
    }

    .pm-search-overlay.active {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    .pm-search-overlay__back {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        background: none;
        cursor: pointer;
        flex-shrink: 0;
        color: #444;
        padding: 0;
        -webkit-appearance: none;
    }

    .pm-search-overlay__back svg {
        width: 20px;
        height: 20px;
    }

    .pm-search-overlay__input {
        flex: 1;
        height: 40px;
        border: 2px solid var(--pm-border);
        border-radius: 10px;
        padding: 0 14px;
        font-size: 15px;
        font-family: inherit;
        outline: none;
        -webkit-transition: border-color 0.2s;
        transition: border-color 0.2s;
        -webkit-appearance: none;
        box-sizing: border-box;
    }

    .pm-search-overlay__input:focus {
        border-color: var(--pm-green);
    }

    .pm-search-overlay__submit {
        width: 40px;
        height: 40px;
        border: none;
        background: var(--pm-green);
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        flex-shrink: 0;
        padding: 0;
        -webkit-appearance: none;
    }

    .pm-search-overlay__submit svg {
        width: 18px;
        height: 18px;
        color: #fff;
    }

    /* ---------- SIDEBAR ---------- */
    .pm-sidebar-scrim {
        display: block !important;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.4);
        z-index: 10200;
        opacity: 0;
        pointer-events: none;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s;
    }

    .pm-sidebar-scrim.active {
        opacity: 1;
        pointer-events: auto;
    }

    .pm-sidebar {
        display: flex !important;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 300px;
        max-width: 85vw;
        background: #fff;
        z-index: 10201;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        flex-direction: column;

        box-sizing: border-box;
    }

    .pm-sidebar.active {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .pm-sidebar__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        border-bottom: 1px solid var(--pm-border);
        flex-shrink: 0;
    }

    .pm-sidebar__title {
        font-size: 16px;
        font-weight: 700;
        color: var(--pm-dark);
    }

    .pm-sidebar__close {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none;
        background: var(--pm-gray-light);
        border-radius: 50%;
        cursor: pointer;
        color: #555;
        padding: 0;
        -webkit-appearance: none;
    }

    .pm-sidebar__close svg {
        width: 18px;
        height: 18px;
    }

    .pm-sidebar__user {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px 20px;
        background: var(--pm-green-light);
        border-bottom: 1px solid var(--pm-border);
        flex-shrink: 0;
    }

    .pm-sidebar__user-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--pm-green);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        flex-shrink: 0;
    }

    .pm-sidebar__user-icon svg {
        width: 20px;
        height: 20px;
    }

    .pm-sidebar__user-info {
        flex: 1;
        min-width: 0;
    }

    .pm-sidebar__user-name {
        font-size: 14px;
        font-weight: 600;
        color: var(--pm-dark);
    }

    .pm-sidebar__user-link {
        font-size: 12px;
        color: var(--pm-green-dark);
        font-weight: 500;
        text-decoration: none;
    }

    .pm-sidebar__body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .pm-sidebar__section-title {
        padding: 14px 20px 6px;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--pm-gray);
    }

    .pm-sidebar__item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 20px;
        font-size: 14px;
        font-weight: 500;
        color: #333;
        cursor: pointer;
        -webkit-transition: background 0.15s;
        transition: background 0.15s;
        border: none;
        background: none;
        width: 100%;
        text-align: left;
        font-family: inherit;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: transparent;
        box-sizing: border-box;
    }

    .pm-sidebar__item:active {
        background: var(--pm-gray-light);
    }

    .pm-sidebar__item-icon {
        width: 20px;
        height: 20px;
        color: var(--pm-gray);
        flex-shrink: 0;
        -webkit-transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
    }

    .pm-sidebar__item--highlight {
        color: var(--pm-coral);
        font-weight: 600;
    }

    .pm-sidebar__subitems {
        max-height: 0;
        overflow: hidden !important;

        -webkit-transition: max-height 0.3s ease;
        transition: max-height 0.3s ease;
        background: var(--pm-gray-light);
    }

    .pm-sidebar__subitems.open {
        max-height: 500px;
    }

    .pm-sidebar__subitem {
        display: block;
        padding: 10px 20px 10px 36px;
        font-size: 13px;
        color: #555;
        text-decoration: none;
        -webkit-transition: background 0.15s;
        transition: background 0.15s;
    }

    .pm-sidebar__subitem:active {
        background: var(--pm-border);
    }

    .pm-sidebar__divider {
        height: 1px;
        background: var(--pm-border);
        margin: 8px 20px;
    }

    .pm-sidebar__link {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px 20px;
        font-size: 14px;
        font-weight: 500;
        color: #333;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .pm-sidebar__link:active {
        background: var(--pm-gray-light);
    }

    .pm-sidebar__link svg {
        width: 18px;
        height: 18px;
        color: var(--pm-gray);
    }

    .pm-sidebar__footer {
        padding: 12px 20px;
        border-top: 1px solid var(--pm-border);
        flex-shrink: 0;
    }

    .pm-sidebar__whatsapp {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        background: var(--pm-whatsapp);
        border-radius: 12px;
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
    }

    .pm-sidebar__whatsapp svg {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
    }

    /* ---------- BREADCRUMB FIX ---------- */
    /* Breadcrumbs - compact modern style */
    body .breadcrumb,
    body .breadcrumb.clearfix,
    #columns .breadcrumb {
        margin: 0 !important;
        padding: 8px 16px !important;
        white-space: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        font-size: 12px !important;
        scrollbar-width: none !important;
        background: #f8f9fa !important;
        border-bottom: 1px solid #eee !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        text-transform: none !important;
        color: #666 !important;
        line-height: 1.4 !important;
    }

    body .breadcrumb a,
    body .breadcrumb.clearfix a {
        color: #5BA4CF !important;
        text-decoration: none !important;
        font-weight: 500 !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        text-transform: none !important;
    }

    body .breadcrumb .navigation-pipe,
    body .breadcrumb.clearfix .navigation-pipe {
        color: #ccc !important;
        margin: 0 4px !important;
        font-size: 0 !important;
    }

    body .breadcrumb .navigation-pipe::after {
        content: "\203A" !important;
        font-size: 14px !important;
        color: #ccc !important;
    }

    .breadcrumb::-webkit-scrollbar {
        display: none;
    }

    /* ---------- COLUMNS CONTAINER FIX ---------- */
    .columns-container-top {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

} /* end @media (max-width: 768px) */

    /* Fix horizontal overflow on mobile */
    html, body, #page, .columns-container, #columns {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
