/* ==========================================================
   Esello — local storefront theme
   Rebuilt to visually match the live reference (esellarstore.com,
   Active eCommerce / aiz-core). Values taken from the live
   page `:root` tokens and aiz-core.css (v=5229/9490).
   ========================================================== */

html { overflow-x: hidden; }
body { overflow-x: hidden; }

:root {
    --blue: #3490f3;
    --hov-blue: #2e7fd6;
    --soft-blue: rgba(0, 123, 255, 0.15);
    --secondary-base: #13814C;
    --hov-secondary-base: #0f6f41;
    --soft-secondary-base: rgba(19, 129, 76, 0.15);
    --gray: #9d9da6;
    --gray-dark: #8d8d8d;
    --secondary: #919199;
    --soft-secondary: rgba(145, 145, 153, 0.15);
    --success: #85b567;
    --soft-success: rgba(133, 181, 103, 0.15);
    --warning: #f3af3d;
    --soft-warning: rgba(243, 175, 61, 0.15);
    --light: #f5f5f5;
    --soft-light: #dfdfe6;
    --soft-white: #b5b5bf;
    --dark: #292933;
    --soft-dark: #1b1b28;
    --primary: #ffffff;
    --hov-primary: #e62e04;
    --soft-primary: rgba(255, 255, 255, 0.15);
    --white: #fff;
    --black: #17171f;
}

body {
    font-family: 'Public Sans', sans-serif;
    font-weight: 400;
    color: var(--dark);
    background: #fff;
}

a.text-reset:hover,
a:hover {
    text-decoration: none;
}

/* ---------- helpers ---------- */

.fs-11 { font-size: 0.6875rem !important; }
.fs-12 { font-size: 0.75rem !important; }
.fs-13 { font-size: 0.8125rem !important; }
.fs-14 { font-size: 0.875rem !important; }
.fs-15 { font-size: 0.9375rem !important; }
.fs-16 { font-size: 1rem !important; }
.fs-18 { font-size: 1.125rem !important; }
.fs-20 { font-size: 1.25rem !important; }
.fs-24 { font-size: 1.5rem !important; }
.fs-36 { font-size: 2.25rem !important; }
.fs-2x  { font-size: 2rem !important; }
.fs-3x  { font-size: 3rem !important; }
@media (min-width: 768px) {
    .fs-md-24 { font-size: 1.5rem !important; }
}

.fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }

.lh-1-4 { line-height: 1.4 !important; }
.lh-1-6 { line-height: 1.6 !important; }

.text-primary   { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.text-secondary-base { color: var(--secondary-base) !important; }
.text-gray      { color: var(--gray) !important; }
.text-gray-dark { color: var(--gray-dark) !important; }
.text-dark      { color: var(--dark) !important; }
.text-soft-light { color: var(--soft-light) !important; }
.text-soft-white { color: var(--soft-white) !important; }

.bg-primary { background-color: var(--primary) !important; }
.bg-secondary { background-color: var(--secondary) !important; }
.bg-secondary-base { background-color: var(--secondary-base) !important; }
.bg-soft-secondary-base { background-color: var(--soft-secondary-base) !important; }
.bg-light { background-color: var(--light) !important; }
.bg-black { background-color: var(--black) !important; }

.bg-black-10,
.hov-bg-black-10:hover {
    background-color: rgb(0 0 0 / 10%) !important;
}
.bg-black-20,
.hov-bg-black-20:hover,
.bg-black-10:hover {
    background-color: rgb(0 0 0 / 20%) !important;
}

.opacity-50, .hov-opacity-50:hover { opacity: 0.5 !important; }
.opacity-60, .hov-opacity-60:hover { opacity: 0.6 !important; }
.opacity-70, .hov-opacity-70:hover { opacity: 0.7 !important; }
.opacity-100, .hov-opacity-100:hover { opacity: 1 !important; }

.has-transition {
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.hov-text-primary:hover { color: var(--hov-primary) !important; }
.hov-text-secondary-base:hover { color: var(--secondary-base) !important; }
.hov-scale-img:hover img,
.hov-scale:hover { transform: scale(1.05); }

.hov-shadow-out:hover {
    z-index: 2 !important;
    box-shadow: 0px 20px 40px rgb(0 0 0 / 16%) !important;
}

.hov-animate-outline:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px var(--soft-primary) !important;
    border-color: var(--soft-light) !important;
}

/* ---------- sizes ---------- */

.h-30px { height: 30px !important; }
.h-35px { height: 35px !important; }
.h-40px { height: 40px !important; }
.h-45px { height: 45px !important; }
.h-50px { height: 50px !important; }
.h-80px { height: 80px !important; }
.h-140px { height: 140px !important; }
.h-190px { height: 190px !important; }
@media (min-width: 768px) {
    .h-md-30px { height: 30px !important; }
    .h-md-40px { height: 40px !important; }
    .h-md-150px { height: 150px !important; }
    .h-md-190px { height: 190px !important; }
}

.size-40px { width: 40px !important; height: 40px !important; }
.size-60px { width: 60px !important; height: 60px !important; }
.min-w-150px { min-width: 150px !important; }
@media (min-width: 992px) {
    .w-lg-200px { width: 200px !important; }
}

.py-20px { padding-top: 20px !important; padding-bottom: 20px !important; }

/* ---------- borders ---------- */

.border-soft-light { border-color: var(--soft-light) !important; }
.border-width-2 { border-width: 2px !important; }
.rounded-1 { border-radius: 0.25rem !important; }
.rounded-2 { border-radius: 0.5rem !important; }
.rounded-3 { border-radius: 1rem !important; }
.rounded-4 { border-radius: 1.5rem !important; }
.rounded-5 { border-radius: 5px !important; }

/* ---------- grid / gutters ---------- */

.gutters-5 {
    margin-right: -5px;
    margin-left: -5px;
}
.gutters-5 > .col,
.gutters-5 > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
}
.gutters-10 {
    margin-right: -10px;
    margin-left: -10px;
}
.gutters-10 > .col,
.gutters-10 > [class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}
.gutters-12 {
    margin-right: -12px;
    margin-left: -12px;
}
.gutters-12 > .col,
.gutters-12 > [class*="col-"] {
    padding-right: 12px;
    padding-left: 12px;
}
.gutters-16 {
    margin-right: -16px;
    margin-left: -16px;
}
.gutters-16 > .col,
.gutters-16 > [class*="col-"] {
    padding-right: 16px;
    padding-left: 16px;
}

.row-cols-2 > * { flex: 0 0 50%; max-width: 50%; }
.row-cols-3 > * { flex: 0 0 33.333333%; max-width: 33.333333%; }
.row-cols-4 > * { flex: 0 0 25%; max-width: 25%; }
.row-cols-5 > * { flex: 0 0 20%; max-width: 20%; }
@media (min-width: 768px) {
    .row-cols-md-3 > * { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .row-cols-md-4 > * { flex: 0 0 25%; max-width: 25%; }
}
@media (min-width: 992px) {
    .row-cols-lg-3 > * { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .row-cols-lg-4 > * { flex: 0 0 25%; max-width: 25%; }
    .row-cols-lg-5 > * { flex: 0 0 20%; max-width: 20%; }
}
@media (min-width: 1200px) {
    .row-cols-xl-3 > * { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .row-cols-xl-4 > * { flex: 0 0 25%; max-width: 25%; }
    .row-cols-xl-5 > * { flex: 0 0 20%; max-width: 20%; }
}

/* ---------- positioning ---------- */

.absolute-top-right { position: absolute !important; top: 10px; right: 10px; }
.absolute-top-left { position: absolute !important; top: 10px; left: 10px; }
.absolute-bottom-left { position: absolute !important; bottom: 0; left: 0; }
.absolute-center {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
}
.top-100 { top: 100% !important; }
.left-0 { left: 0 !important; }
.right-0 { right: 0 !important; }
.z-1 { z-index: 1 !important; }
.z-3 { z-index: 3 !important; }
.z-1020 { z-index: 1020 !important; }
.z-1035 { z-index: 1035 !important; }

.text-truncate-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.dashboard-mobile-nav-scroll {
    display: flex;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.dashboard-mobile-nav-scroll > a { flex: 0 0 auto; }

.c-scrollbar-light::-webkit-scrollbar { width: 5px; height: 5px; }
.c-scrollbar-light::-webkit-scrollbar-thumb { background: var(--soft-light); border-radius: 5px; }

.img-fit {
    max-height: 100%;
    width: 100%;
    object-fit: cover;
}

/* ---------- header ---------- */

.top-navbar .dropdown-menu { border-radius: 0; border-color: var(--soft-light); }
.top-navbar .dropdown-menu .dropdown-item { font-size: 0.8125rem; }

.logo-bar-area .btn { box-shadow: none; }

.front-header-search {
    border-radius: 50px !important;
}
.search-input-box {
    position: relative;
    flex-grow: 1;
}
.search-input-box input {
    height: 40px;
    padding-right: 40px;
    background: transparent;
}
.front-header-search .search-input-box input {
    border-radius: 50px !important;
}
.mobile-search-link {
    width: 40px;
    height: 40px;
}
.mobile-search-link i { font-size: 1.75rem; }
.search-input-box > svg {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.all-category:hover .las {
    transform: rotate(180deg);
}

.header_menu_links:hover { text-decoration: none; }

.nav-cart-box .dropdown-menu { min-width: 280px; }

/* ---------- product card ---------- */

.aiz-card-box {
    overflow: hidden;
}

.aiz-p-hov-icon a {
    display: block;
    height: 36px;
    width: 36px;
    line-height: 36px;
    text-align: center;
    background: #fff;
    margin-top: 5px;
    margin-right: 5px;
    color: #333;
    font-size: 16px;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 15%);
    transform: translateX(calc(100% + 15px));
    -webkit-transform: translateX(calc(100% + 15px));
    transition: all 0.5s ease;
}
.aiz-p-hov-icon a:hover {
    background: var(--hov-primary);
    color: #fff;
}
.aiz-p-hov-icon a:nth-child(2) { transition-delay: 0.05s; }
.aiz-p-hov-icon a:nth-child(3) { transition-delay: 0.1s; }
.aiz-card-box:hover .aiz-p-hov-icon a {
    transform: translateX(0);
    -webkit-transform: translateX(0);
}

.aiz-card-box .disc-amount {
    opacity: 0 !important;
    transition: all 0.5s ease;
}
.aiz-card-box:hover .disc-amount {
    opacity: 1 !important;
}

.cart-btn {
    background: #000;
    opacity: 0.7;
    transform: translateY(100%);
    -webkit-transform: translateY(100%);
    transition: all 0.5s ease;
}
.cart-btn:hover { opacity: 0.9; }
.aiz-card-box:hover .cart-btn {
    transform: translateY(0);
    -webkit-transform: translateY(0);
}
.cart-btn .cart-btn-text {
    margin-top: 48px;
    margin-bottom: 20px;
    transition: all 0.5s ease;
}
.cart-btn:hover .cart-btn-text {
    margin-top: -40px;
}

/* ---------- rating ---------- */

.rating i {
    color: #c3c3c5;
    font-size: 1rem;
    letter-spacing: -1px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.rating i.active,
.text-rating { color: #ffa707; }
.rating-mr-2 i { margin-right: 2px; }

/* ---------- buttons ---------- */

.btn { border-radius: 0.25rem; }

.btn-primary,
.btn-soft-primary:hover {
    background-color: var(--hov-primary);
    border-color: var(--hov-primary);
    color: var(--white);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--hov-primary);
    border-color: var(--hov-primary);
    color: var(--white);
    opacity: 0.85;
}

.btn-secondary-base {
    background-color: var(--secondary-base);
    border-color: var(--secondary-base);
    color: var(--white);
}
.btn-secondary-base:hover,
.btn-secondary-base:focus {
    background-color: var(--hov-secondary-base);
    border-color: var(--hov-secondary-base);
    color: var(--white);
}

.btn-icon { padding: 0.25rem 0.5rem; }

/* ---------- product detail ---------- */

.aiz-plus-minus .btn { border-radius: 0; }
.aiz-plus-minus input[type="number"]::-webkit-inner-spin-button,
.aiz-plus-minus input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.aiz-plus-minus input[type="number"] { -moz-appearance: textfield; }

.aiz-nav-tabs a {
    border-bottom: 2px solid transparent;
    display: inline-block;
}
.aiz-nav-tabs a.active {
    border-bottom: 2px solid var(--hov-primary);
}

.product-gallery .carousel-box img { width: 100%; }

/* ---------- pagination ---------- */

.pagination .page-link,
.page-item.disabled .page-link {
    min-width: 32px;
    min-height: 32px;
    line-height: 32px;
    text-align: center;
    padding: 0;
    border: 1px solid var(--soft-light);
    font-size: 0.875rem;
    border-radius: 0 !important;
    color: var(--dark);
}
.pagination .page-item { margin: 0 5px; }
.pagination .page-item.active .page-link {
    background-color: var(--dark);
    border-color: var(--dark);
    color: #fff;
}

/* ---------- forms ---------- */

.form-control:focus {
    border-width: 2px !important;
}
.form-control {
    border-color: var(--soft-light);
}

/* ---------- footer ---------- */

.footer-info { background: #fff; }
.footer-apps { gap: 8px; }
.footer-apps span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 42px;
    color: #c2c2c7;
    background: #dedee0;
}
.footer-links summary {
    display: block;
    cursor: default;
    list-style: none;
}
.footer-links summary::-webkit-details-marker { display: none; }
.footer-links:not([open]) > :not(summary) { display: block; }

.footer-widget .animate-underline-white { position: relative; }
.animate-underline-white {
    position: relative;
}
.animate-underline-white::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    height: 1px;
    background: #fff;
    border-radius: 2px;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .5s cubic-bezier(0, 0, .2, 1);
}
.animate-underline-white:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.social.colored a {
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    color: #fff;
    background: var(--secondary);
    font-size: 1rem;
    transition: all 0.3s ease;
}
.social.colored a.facebook { background: #3b5998; }
.social.colored a.twitter { background: #1da1f2; }
.social.colored a.instagram { background: #e1306c; }
.social.colored a.youtube { background: #ff0000; }
.social.colored a.linkedin { background: #0a66c2; }

/* ---------- misc ---------- */

.cat-image {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.aiz-category-menu .category-nav-element > a {
    display: block;
    padding: 12px 16px;
}
.aiz-category-menu .category-nav-element:hover { background: var(--light); }

.breadcrumb-item.active { color: var(--dark); }
.breadcrumb-item + .breadcrumb-item::before { content: "/"; color: var(--soft-light); }

.category-image-frame {
    height: 250px;
    background: #fff;
}
.category-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.catalog-page { padding-top: 36px; }
.catalog-page .breadcrumb { margin-bottom: 15px !important; }
.catalog-page .aiz-filter-sidebar { margin-top: -4px; }
.catalog-page .breadcrumb { transform: translateY(-6px); }
.catalog-page h1 { transform: translateY(-4px); }
.catalog-page select[name="sort_by"] { transform: translateY(-8px); }
.catalog-category-filter { min-height: 164px; }
.catalog-price-filter { min-height: 129px; }
.catalog-range-line {
    position: relative;
    height: 6px;
    margin-top: 2px;
    border-radius: 4px;
    background: #eeeeef;
}
.catalog-range-line span {
    position: absolute;
    left: 0;
    top: -4px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #159459;
}
.catalog-price-input {
    width: 70px;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--secondary);
    background: transparent;
    font-size: 14px;
    -moz-appearance: textfield;
}
.catalog-price-input::-webkit-outer-spin-button,
.catalog-price-input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }

/* mobile bottom nav */
.aiz-mobile-bottom-nav {
    border-top: 1px solid var(--soft-light);
    z-index: 1030;
    background-color: rgb(255 255 255 / 95%);
}
.aiz-mobile-bottom-nav a {
    color: var(--dark);
    font-size: 0.6875rem;
    display: block;
    text-align: center;
    padding: 8px 0;
}
.aiz-mobile-bottom-nav a i { font-size: 1.3rem; display: block; }
.aiz-mobile-bottom-nav a:hover { color: var(--hov-primary); }

/* category carousel scroll row */
.cat-carousel-scroll {
    display: flex;
    overflow-x: auto;
    padding-bottom: 4px;
}
.cat-carousel-scroll > .carousel-box {
    flex: 0 0 auto;
    margin-right: 10px;
}

/* ==========================================================
   Header geometry (matches live reference measurements)
   ========================================================== */

.h-36px { height: 36px !important; }

@media (min-width: 1200px) {
    .front-header-search {
        max-width: 693px;
    }
}

/* single-row header menu (no wrapping / no overlap) */
.hor-swipe { white-space: nowrap; }
.hor-swipe > .list-inline-item { display: inline-block; }
.hor-swipe > .list-inline-item > a { vertical-align: top; }

/* ==========================================================
   Homepage sections & horizontal carousels
   ========================================================== */

.pl-48 { padding-left: 48px !important; }
.pl-64 { padding-left: 64px !important; }
.pt-48 { padding-top: 48px !important; }

@media (min-width: 768px) {
    .fs-md-20 { font-size: 1.25rem !important; }
}

.home-section { margin-top: 32px; }
.home-section-first { margin-top: 48px; }

/* section panel (matches reference bordered box) */
.section-box {
    background: #fff;
    border: 1px solid #dfdfe6;
    border-radius: 0.5rem;
    padding: 48px 32px 20px 32px;
}

.home-section:last-of-type { margin-top: 4px; }

.section-head-row .slide-arrow {
    display: block;
    color: var(--secondary);
    line-height: 1;
    cursor: pointer;
    transition: color 0.3s ease;
}
.section-head-row {
    margin-bottom: 18px;
}
.section-head-row .slide-arrow:hover {
    color: var(--hov-primary);
}
.section-head-row .slide-arrow.link-disable {
    pointer-events: none;
    opacity: 0.4;
}

.aiz-carousel-scroll { position: relative; }
.aiz-carousel-scroll .track {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
}
.aiz-carousel-scroll .track::-webkit-scrollbar { display: none; }
.aiz-carousel-scroll .track { -ms-overflow-style: none; scrollbar-width: none; }

/* category strip (12 slides, slide pitch 247px, first card at container content edge) */
.cat-track { padding-left: 0; }
.home-banner-area .cat-carousel-scroll {
    display: block;
    overflow: visible;
    padding-bottom: 0;
}
.cat-track .cat-slide {
    flex: 0 0 247px;
    display: flex;
    align-items: flex-start;
}
.cat-next-arrow {
    position: absolute;
    z-index: 2;
    top: 56px;
    right: 0;
    width: 43px;
    height: 43px;
    padding: 0;
    border: 1px solid #e6e6e9;
    border-radius: 50%;
    background: #fff;
    color: var(--dark);
    box-shadow: 0 2px 5px rgb(0 0 0 / 8%);
    cursor: pointer;
}
.cat-next-arrow i { font-size: 1rem; }

@media (min-width: 1200px) {
    .home-section > .container > .section-box {
        position: relative;
        border-color: transparent;
    }
    .home-section > .container > .section-box::before {
        position: absolute;
        content: "";
        z-index: 0;
        pointer-events: none;
        inset: 16px 0;
        border: 1px solid #dfdfe6;
        border-radius: 0.5rem;
    }
    .home-section > .container > .section-box > * { position: relative; z-index: 1; }
}

/* product rows (card pitch 210px, card width 178px, first card at 214px) */
.product-track { padding-left: 16px; }
.product-track .product-slide { flex: 0 0 210px; }
.product-track .product-slide .aiz-card-box { width: 178px; }

@media (max-width: 1199.98px) {
    .logo-bar-area .py-20px { padding-top: 18.5px !important; padding-bottom: 18.5px !important; }
    .logo-bar-area button i { color: var(--secondary); }
    .cat-track { padding-left: 0; }
    .cat-track .cat-slide { flex-basis: 138px; }
    .product-track { padding-left: 15px; }
    .product-track .product-slide { flex-basis: 210px; }
    .home-section-title { padding-left: 15px !important; }
    .home-section-first { margin-top: 64px; }
    .cat-next-arrow { top: 58px; }
    .catalog-page .breadcrumb { margin-bottom: 16px !important; }
    .catalog-page .breadcrumb { transform: translateY(-4px); }
    .catalog-page h1 { transform: translateY(-4px); }
    .catalog-page select[name="sort_by"] { transform: translateY(-1px); }
    .catalog-products { margin-top: 5px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .home-section .section-box { padding: 32px 32px 8px; }
}

/* ---------- mobile responsive ---------- */

@media (max-width: 767.98px) {
    .category-image-frame { background: var(--light); }

    .footer-info { padding-bottom: 24px !important; }
    .footer-info .h-45px { height: 36px !important; }
    .footer-info .social.colored { margin-bottom: 18px !important; }
    .footer-widget .container { padding: 0; }
    .footer-widget .row { margin: 0; }
    .footer-widget [class*="col-"] { padding: 0; }
    .footer-links { border-bottom: 1px solid rgb(255 255 255 / 7%); }
    .footer-links summary {
        position: relative;
        padding: 15px;
        cursor: pointer;
        color: var(--soft-light) !important;
        font-size: 12px !important;
        text-align: left;
    }
    .footer-links summary::after {
        position: absolute;
        content: "+";
        top: 14px;
        right: 15px;
        color: var(--secondary);
    }
    .footer-links[open] summary::after { content: "−"; }
    .footer-links:not([open]) > :not(summary) { display: none; }
    .footer-links > ul { padding: 0 15px 12px; text-align: left; }

    .section-box {
        padding: 17px 16px 9px;
    }
    .home-section { margin-top: 20px; }
    .home-section-first { margin-top: 41px; }
    .pt-48 { padding-top: 48px !important; }

    .cat-track .cat-slide { flex-basis: 180px; }
    .product-track .product-slide { flex-basis: 167px; }
    .product-track .product-slide .aiz-card-box { width: 132px; }
    .home-section .section-head-row { margin-bottom: 17px; }
    .home-section .product-track .h-140px { height: 132px !important; }
    .home-section .product-slide h3 { margin-top: 6px !important; }

    .newsletter-form {
        flex-direction: column;
        width: 100%;
    }
    .newsletter-form input[type="email"] {
        min-width: 0 !important;
        width: 100%;
        margin-bottom: 8px;
    }
    .newsletter-form .btn {
        width: 100%;
    }

    .cart-table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    .catalog-page { padding-top: 38px; }
    .catalog-page .breadcrumb {
        margin-bottom: 17px !important;
        font-size: 13px;
        line-height: 20px;
        white-space: nowrap;
        flex-wrap: nowrap;
    }
    .catalog-page h1 { transform: translateY(-3px); }
    .catalog-page select[name="sort_by"] { transform: none; }
    .catalog-products {
        margin-top: 7px;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    /* fix 1px border overflow on product grid rows */
    .row.border-left { margin-left: 0; border-left: none !important; }
    .row.border-left > [class*="col-"] { border-left: 1px solid var(--soft-light); }

}

@media (max-width: 991.98px) {
    /* customer/seller sidebar: collapsible on tablet */
    .es-dashboard-sidebar {
        margin-bottom: 16px;
    }
    .es-dashboard-sidebar .card-body.p-0 { padding: 0 !important; }
    .es-dashboard-sidebar .seller-nav,
    .es-dashboard-sidebar .customer-nav {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    .es-dashboard-sidebar .seller-nav.expanded,
    .es-dashboard-sidebar .customer-nav.expanded {
        max-height: 800px;
    }
}

/* ---------- mobile header cart/account icons ---------- */
.es-mobile-icons .es-mobile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    position: relative;
}
.es-mobile-icons .es-mobile-icon .badge {
    position: absolute;
    top: 0;
    right: -2px;
    font-size: 10px;
    padding: 2px 5px;
}
