/*
 * GLOMA FRONTEND STYLE — CLEAN PROFESSIONAL BUILD
 * File: public_html/css/style.css
 *
 * Purpose:
 * - Keep frontend icons clean and visible
 * - Keep the header, menus and cart in separate layers
 * - Prevent the cart dropdown from stretching over the page
 * - Keep product/cart images inside their containers
 * - Improve desktop and mobile behaviour
 *
 * Important:
 * - This file is for the CUSTOMER FRONTEND only.
 * - Admin Back/Forward button styles belong in admin/topheader.php.
 */

/* =========================================================
   1. ICON FONT AND GENERAL ICON ALIGNMENT
   ========================================================= */

.fa,
.fa::before,
.fa::after {
    font-family: FontAwesome !important;
    font-style: normal !important;
    font-weight: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.bi,
.bi::before,
.bi::after {
    font-family: "bootstrap-icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.gloma-amazon-header i,
.gloma-amazon-header .fa,
.gloma-amazon-header .bi,
.main-nav i,
.header-links i,
.footer-links i,
.cart-dropdown i,
.product i,
.product-widget i {
    display: inline-block !important;
    vertical-align: middle !important;
    line-height: 1 !important;
}

.gloma-modern-i,
.gloma-amazon-header .gloma-modern-i,
.gloma-amazon-header .fa,
.gloma-amazon-header .bi {
    min-width: 18px !important;
    margin-right: 7px !important;
    font-size: 16px !important;
    text-align: center !important;
}

/* =========================================================
   2. OLD FONT AWESOME ICON FALLBACKS
   ========================================================= */

.fa-car::before {
    content: "\f1b9" !important;
}

.fa-shopping-cart::before {
    content: "\f07a" !important;
}

.fa-bars::before {
    content: "\f0c9" !important;
}

.fa-search::before {
    content: "\f002" !important;
}

.fa-flask::before {
    content: "\f0c3" !important;
}

.fa-medkit::before {
    content: "\f0fa" !important;
}

.fa-wheelchair::before {
    content: "\f193" !important;
}

.fa-laptop::before {
    content: "\f109" !important;
}

.fa-tags::before {
    content: "\f02c" !important;
}

.fa-plane::before {
    content: "\f072" !important;
}

.fa-headphones::before {
    content: "\f025" !important;
}

.fa-map-marker::before {
    content: "\f041" !important;
}

.fa-user-circle::before {
    content: "\f2bd" !important;
}

.fa-angle-right::before {
    content: "\f105" !important;
}

.fa-edit::before {
    content: "\f044" !important;
}

.fa-envelope::before {
    content: "\f0e0" !important;
}

.fa-phone::before {
    content: "\f095" !important;
}

/* =========================================================
   3. HEADER LAYERS — PREVENT MENU/CART OVERLAP
   ========================================================= */

.gloma-amazon-header {
    position: relative !important;
    z-index: 10000 !important;
    overflow: visible !important;
    isolation: isolate !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.12) !important;
}

.gloma-amazon-topbar {
    position: relative !important;
    z-index: 10300 !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 10px !important;
    overflow: visible !important;
}

.gloma-amazon-logo,
.gloma-amazon-location,
.gloma-account-link,
.gloma-orders-link,
.gloma-cart-area {
    flex: 0 0 auto !important;
}

.gloma-amazon-search,
.header-search {
    flex: 1 1 auto !important;
    min-width: 180px !important;
}

.gloma-amazon-nav {
    position: relative !important;
    z-index: 10100 !important;
    display: flex !important;
    min-height: 44px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.gloma-amazon-nav::-webkit-scrollbar {
    display: none !important;
}

.gloma-submenu-strip {
    position: relative !important;
    z-index: 10050 !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.gloma-submenu-strip::-webkit-scrollbar {
    display: none !important;
}

main,
.gloma-pro-main,
.section,
#product-row {
    position: relative;
    z-index: 1;
}

/* =========================================================
   4. TOP NAVIGATION ICONS AND HOVER
   ========================================================= */

.gloma-amazon-nav a,
.gloma-amazon-nav button {
    display: inline-flex !important;
    min-height: 38px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
    align-items: center !important;
    gap: 6px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    transition:
        background 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}

.gloma-amazon-nav a:hover,
.gloma-amazon-nav button:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.gloma-amazon-nav a i,
.gloma-amazon-nav button i {
    min-width: 17px !important;
    margin-right: 3px !important;
    font-size: 15px !important;
    text-align: center !important;
}

.gloma-all-menu-btn i {
    font-size: 20px !important;
}

.search-btn i,
.header-search .search-btn i,
.gloma-amazon-search .search-btn i {
    min-width: auto !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 18px !important;
}

.gloma-amazon-location i {
    margin-right: 6px !important;
    color: #ffffff !important;
    font-size: 18px !important;
}

.gloma-account-link,
.gloma-orders-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.gloma-account-link i,
.gloma-orders-link i {
    margin-right: 4px !important;
    color: #ffffff !important;
    font-size: 18px !important;
}

/* =========================================================
   5. CUSTOMER CART BUTTON
   ========================================================= */

.gloma-cart-area {
    position: relative !important;
    z-index: 2147483000 !important;
    display: block !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.gloma-cart-link {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    min-height: 42px !important;
    padding: 7px 9px !important;
    align-items: center !important;
    gap: 6px !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.gloma-cart-link:hover,
.gloma-cart-link:focus {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.gloma-cart-link i {
    min-width: 26px !important;
    margin-right: 4px !important;
    color: #ffffff !important;
    font-size: 25px !important;
}

.gloma-cart-link .badge.qty {
    position: absolute !important;
    top: -5px !important;
    left: 27px !important;
    right: auto !important;
    display: inline-flex !important;
    min-width: 19px !important;
    height: 19px !important;
    padding: 0 5px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #ff9900 !important;
    color: #111827 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* =========================================================
   6. CART DROPDOWN — CLEAN TEMU/AMAZON-STYLE PANEL
   ========================================================= */

.gloma-cart-area .cart-dropdown,
.gloma-cart-area .gloma-pro-cart-dropdown,
.header-ctn .gloma-cart-area .cart-dropdown {
    position: absolute !important;
    top: calc(100% + 9px) !important;
    right: 0 !important;
    left: auto !important;
    z-index: 2147483600 !important;

    display: none !important;
    float: none !important;
    width: 365px !important;
    min-width: 320px !important;
    max-width: calc(100vw - 20px) !important;
    max-height: 72vh !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;

    border: 1px solid rgba(15, 23, 42, 0.16) !important;
    border-radius: 15px !important;
    background: #ffffff !important;
    color: #101827 !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.34) !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.gloma-cart-area.open .cart-dropdown,
.gloma-cart-area.gloma-cart-open .cart-dropdown,
.gloma-cart-area.open .gloma-pro-cart-dropdown,
.gloma-cart-area.gloma-cart-open .gloma-pro-cart-dropdown {
    display: block !important;
}

.gloma-cart-area .cart-list,
.gloma-cart-area #cart_product {
    display: block !important;
    width: 100% !important;
    max-height: 385px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: transparent !important;
    scrollbar-width: thin !important;
}

.gloma-cart-area .cart-dropdown .product-widget,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-item,
.gloma-cart-area #cart_product .product-widget {
    display: flex !important;
    width: 100% !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    align-items: center !important;
    gap: 10px !important;

    float: none !important;
    clear: both !important;
    overflow: hidden !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.10) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

.gloma-cart-area .cart-dropdown .product-widget:last-child,
.gloma-cart-area #cart_product .product-widget:last-child {
    border-bottom: 0 !important;
}

.gloma-cart-area .cart-dropdown .product-img,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-img,
.gloma-cart-area #cart_product .product-img,
.gloma-cart-area #cart_product .gloma-mini-cart-img,
.cart-dropdown .product-widget .product-img,
.cart-dropdown .gloma-mini-cart-img {
    position: relative !important;
    display: flex !important;
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 3px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;

    float: none !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 11px !important;
    background: #f8fafc !important;
    transform: none !important;
}

.gloma-cart-area .cart-dropdown img,
.gloma-cart-area .cart-dropdown .product-img img,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-img img,
.gloma-cart-area #cart_product img,
.cart-dropdown .product-widget img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 58px !important;
    height: 100% !important;
    max-height: 58px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 8px !important;
    background: transparent !important;
    transform: none !important;
}

.gloma-cart-area .cart-dropdown .product-body,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-body,
.gloma-cart-area #cart_product .product-body,
.gloma-cart-area #cart_product .gloma-mini-cart-body {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    float: none !important;
    background: transparent !important;
}

.gloma-cart-area .cart-dropdown .product-name,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-title,
.gloma-cart-area #cart_product .product-name,
.gloma-cart-area #cart_product .gloma-mini-cart-title {
    display: -webkit-box !important;
    max-height: 36px !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    overflow: hidden !important;

    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.gloma-cart-area .cart-dropdown .product-name a,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-title a {
    color: #0f172a !important;
    text-decoration: none !important;
}

.gloma-cart-area .cart-dropdown .product-price,
.gloma-cart-area .cart-dropdown .gloma-mini-cart-price {
    margin: 0 !important;
    color: #0b5f8a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
}

.gloma-cart-area .cart-dropdown .delete,
.gloma-cart-area .cart-dropdown .remove,
.gloma-cart-area .cart-dropdown .delete-cart-item {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

.gloma-cart-area .cart-dropdown .cart-summary {
    display: flex !important;
    margin: 0 !important;
    padding: 10px 4px 8px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    border: 0 !important;
    background: #ffffff !important;
    color: #0f172a !important;
}

.gloma-cart-area .cart-dropdown .cart-summary h5,
.gloma-cart-area .cart-dropdown .cart-summary small {
    margin: 0 !important;
    color: #0f172a !important;
}

.gloma-cart-area .cart-dropdown .cart-btns {
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    background: transparent !important;
}

.gloma-cart-area .cart-dropdown .cart-btns a {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #0b5f8a, #0f8dda) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.gloma-cart-area .cart-dropdown .cart-btns a:hover {
    background: linear-gradient(135deg, #084a6c, #0b73b4) !important;
    color: #ffffff !important;
}

.gloma-cart-area .cart-dropdown .product,
.gloma-cart-area .cart-dropdown .product-widget,
.gloma-cart-area .cart-dropdown .product-img,
.gloma-cart-area .cart-dropdown .product-body,
.gloma-cart-area .cart-dropdown .add-to-cart {
    max-width: 100% !important;
    transform: none !important;
}

/* =========================================================
   7. WHITE SUBMENU PILLS
   ========================================================= */

.gloma-submenu-strip a,
.gloma-submenu-strip button {
    display: inline-flex !important;
    min-height: 42px !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    align-items: center !important;
    gap: 7px !important;

    border-radius: 40px !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08) !important;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease !important;
}

.gloma-submenu-strip a:hover,
.gloma-submenu-strip button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12) !important;
}

.gloma-submenu-strip i {
    min-width: 17px !important;
    color: #0b5f8a !important;
    font-size: 15px !important;
    text-align: center !important;
}

/* =========================================================
   8. SIDE DRAWER ICONS
   ========================================================= */

.gloma-drawer-head strong,
.gloma-drawer-categories button,
.gloma-drawer-categories a,
.gloma-drawer-links a {
    display: flex !important;
    align-items: center !important;
}

.gloma-drawer-head i {
    margin-right: 8px !important;
    font-size: 20px !important;
}

.gloma-drawer-categories button,
.gloma-drawer-categories a {
    justify-content: space-between !important;
}

.gloma-menu-left {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.gloma-menu-left i {
    color: #0b5f8a !important;
    font-size: 17px !important;
}

.gloma-chevron {
    margin-right: 0 !important;
    margin-left: auto !important;
    font-size: 14px !important;
    opacity: 0.75 !important;
}

.gloma-drawer-links a i {
    margin-right: 7px !important;
    color: #0b5f8a !important;
    font-size: 15px !important;
}

/* =========================================================
   9. PROFILE, PRODUCT AND FOOTER ICONS
   ========================================================= */

.gloma-profile-card p {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.gloma-profile-card p i {
    color: #0b5f8a !important;
    font-size: 16px !important;
}

.product .add-to-cart .add-to-cart-btn i,
.product-details .add-to-cart .add-to-cart-btn i {
    font-size: 16px !important;
    text-align: center !important;
}

.gloma-amazon-nav a:hover i,
.gloma-amazon-nav button:hover i,
.gloma-submenu-strip a:hover i,
.gloma-submenu-strip button:hover i,
.gloma-drawer-categories a:hover i,
.gloma-drawer-categories button:hover i,
.gloma-drawer-links a:hover i {
    transform: translateY(-1px) scale(1.08) !important;
}

.gloma-amazon-header i:empty::before,
.gloma-submenu-strip i:empty::before,
.gloma-side-drawer i:empty::before {
    display: inline-block !important;
}

/* =========================================================
   10. RESPONSIVE HEADER AND CART
   ========================================================= */

@media (max-width: 1100px) {
    .gloma-amazon-topbar {
        gap: 7px !important;
    }

    .gloma-amazon-location {
        max-width: 135px !important;
    }

    .gloma-account-link small,
    .gloma-orders-link small {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .gloma-amazon-topbar {
        flex-wrap: wrap !important;
    }

    .gloma-amazon-logo {
        order: 1 !important;
    }

    .gloma-amazon-location {
        order: 2 !important;
    }

    .gloma-account-link,
    .gloma-orders-link,
    .gloma-cart-area {
        order: 3 !important;
    }

    .gloma-amazon-search,
    .header-search {
        order: 4 !important;
        flex: 1 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .gloma-amazon-nav a,
    .gloma-amazon-nav button {
        padding-right: 8px !important;
        padding-left: 8px !important;
        font-size: 13px !important;
    }

    .gloma-amazon-nav a i,
    .gloma-amazon-nav button i {
        min-width: 15px !important;
        font-size: 14px !important;
    }

    .gloma-cart-link i {
        font-size: 22px !important;
    }

    .gloma-submenu-strip a,
    .gloma-submenu-strip button {
        font-size: 13px !important;
    }

    .gloma-submenu-strip i {
        font-size: 14px !important;
    }

    .gloma-cart-area .cart-dropdown,
    .gloma-cart-area .gloma-pro-cart-dropdown,
    .header-ctn .gloma-cart-area .cart-dropdown {
        position: fixed !important;
        top: 68px !important;
        right: 8px !important;
        left: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: calc(100vh - 82px) !important;
        margin: 0 !important;
    }

    .gloma-cart-area .cart-list,
    .gloma-cart-area #cart_product {
        max-height: calc(100vh - 185px) !important;
    }
}

@media (max-width: 520px) {
    .gloma-amazon-location {
        display: none !important;
    }

    .gloma-account-link strong,
    .gloma-orders-link strong,
    .gloma-cart-link strong {
        display: none !important;
    }

    .gloma-account-link,
    .gloma-orders-link,
    .gloma-cart-link {
        min-width: 42px !important;
        min-height: 42px !important;
        padding: 7px !important;
        justify-content: center !important;
    }

    .gloma-cart-link .badge.qty {
        top: -4px !important;
        left: 24px !important;
    }

    .gloma-cart-area .cart-dropdown .product-img,
    .gloma-cart-area .cart-dropdown .gloma-mini-cart-img,
    .gloma-cart-area #cart_product .product-img,
    .gloma-cart-area #cart_product .gloma-mini-cart-img {
        flex-basis: 56px !important;
        width: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
    }

    .gloma-cart-area .cart-dropdown img,
    .gloma-cart-area .cart-dropdown .product-img img,
    .gloma-cart-area #cart_product img {
        max-width: 50px !important;
        max-height: 50px !important;
    }
}