html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin-bottom: 60px;
}


/* =========================================================
   EL GALPÓN - GLOBAL THEME
   ========================================================= */

:root {
    --galpon-red: #E00000;
    --galpon-red-dark: #B80000;
    --galpon-black: #000000;
    --galpon-gray: #666666;
    --galpon-light: #F5F5F5;
    --galpon-border: #E5E5E5;
    --galpon-white: #FFFFFF;
}


/* =========================================================
   STORE HEADER
   ========================================================= */

.store-header {
    background: var(--galpon-white);
    border-bottom: 1px solid var(--galpon-border);
    padding: 15px 0;
    position: relative;
    z-index: 1000;
}

.store-header-inner {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 45px;
}


/* =========================================================
   LOGO
   ========================================================= */

.brand {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.brand-logo {
    width: 115px;
    height: auto;
    object-fit: contain;
    transition: transform .2s ease;
}

.brand:hover .brand-logo {
    transform: scale(1.03);
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.store-navigation {
    display: flex;
    align-items: center;
    gap: 5px;
    height: 100%;
}

.store-nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 15px;
    color: var(--galpon-black);
    text-decoration: none;
    font-size: .86rem;
    font-weight: 650;
    border-radius: 6px;
    transition: color .2s ease, background-color .2s ease;
}

    .store-nav-link::after {
        content: "";
        position: absolute;
        left: 15px;
        right: 15px;
        bottom: 2px;
        height: 2px;
        background: var(--galpon-red);
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .2s ease;
    }

    .store-nav-link:hover {
        color: var(--galpon-red);
        background: #FFF7F7;
    }

        .store-nav-link:hover::after {
            transform: scaleX(1);
        }


/* =========================================================
   PRODUCTS DROPDOWN
   ========================================================= */

.store-nav-dropdown {
    position: relative;
}

.dropdown-trigger {
    cursor: pointer;
}

.dropdown-cat {
    font-size: 1rem;
    line-height: 1;
    display: inline-block;
    transition: transform .25s ease;
}

.store-nav-dropdown:hover .dropdown-cat {
    transform: translateY(-2px) rotate(-8deg);
}


/* =========================================================
   DROPDOWN MENU
   ========================================================= */

.store-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 245px;
    background: var(--galpon-white);
    border: 1px solid var(--galpon-border);
    border-radius: 8px;
    padding: 7px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .10);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.store-nav-dropdown:hover .store-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* =========================================================
   DROPDOWN ITEMS
   ========================================================= */

.store-dropdown-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    color: var(--galpon-black);
    text-decoration: none;
    border-radius: 6px;
    transition: background-color .15s ease, color .15s ease;
}

    .store-dropdown-link:hover {
        background: #FFF5F5;
        color: var(--galpon-red);
    }

    .store-dropdown-link strong {
        display: block;
        font-size: .82rem;
        font-weight: 700;
    }

    .store-dropdown-link small {
        display: block;
        margin-top: 2px;
        color: var(--galpon-gray);
        font-size: .68rem;
        font-weight: 400;
    }

.dropdown-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #F7F7F7;
    border-radius: 5px;
    color: var(--galpon-black);
    font-size: 1rem;
    transition: background-color .15s ease, color .15s ease;
}

.store-dropdown-link:hover .dropdown-icon {
    background: var(--galpon-red);
    color: var(--galpon-white);
}


/* =========================================================
   HEADER ACTIONS
   ========================================================= */

.header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
}


/* =========================================================
   BACK LINK
   ========================================================= */

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--galpon-black);
    text-decoration: none;
    font-size: .84rem;
    font-weight: 650;
    padding: 9px 13px;
    border: 1px solid var(--galpon-border);
    border-radius: 6px;
    background: var(--galpon-white);
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

    .back-link:hover {
        color: var(--galpon-red);
        border-color: #F0B5B5;
        background: #FFF7F7;
        transform: translateX(-2px);
    }


/* =========================================================
   RESPONSIVE HEADER
   ========================================================= */

@media (max-width: 768px) {

    .store-header-inner {
        gap: 20px;
    }

    .brand-logo {
        width: 95px;
    }

    .store-navigation {
        gap: 0;
    }

    .store-nav-link {
        padding: 9px 10px;
        font-size: .78rem;
    }

        .store-nav-link::after {
            left: 10px;
            right: 10px;
        }

    .header-actions {
        display: none;
    }
}


@media (max-width: 576px) {

    .store-header {
        padding: 12px 0;
    }

    .store-header-inner {
        justify-content: space-between;
    }

    .brand-logo {
        width: 90px;
    }

    .store-navigation {
        gap: 0;
    }

    .store-nav-link {
        padding: 8px 7px;
        font-size: .72rem;
    }

        .store-nav-link::after {
            display: none;
        }

    .store-nav-dropdown {
        position: static;
    }

    .store-dropdown-menu {
        left: 10px;
        right: 10px;
        width: auto;
        min-width: 0;
    }
}
