/* Unified slider arrow style: chevron-only controls.
   Override for .product-arrow (block-list-product), .swiper-arrow (block-fourteen, blockCategory-sports). */

/* ---------- unified border-radius (pill) for all buttons/shapes.
   Excludes .hero-cta-button (XEM NGAY trong banner). ---------- */
.nav-pills .nav-link,
.nav-tabs .nav-link,
.nav-link,
.button-primary:not(.hero-cta-button),
.button-secondary:not(.hero-cta-button),
.btn-view-more,
.p-card__size,
.single_add_to_cart_button,
.add-to-cart,
.add-to-cart-wrap button[type="submit"],
.product-attr__size .size-dot,
.product-attributes .size-dot,
.buy-now,
.filter-mobile,
.child-cate-item {
    border-radius: 12px !important;
}

/* Quantity wrapper box */
.add-to-cart-wrap .qty-box {
    border-radius: 12px !important;
}

/* Buttons inside banner/hero sections use 30px radius (distinct from 12px default) */
.hero-section .hero-cta-button,
.hero-section .button-primary,
.hero-section .button-secondary,
.hero-section .elementor-button,
.hero-section .nav-link,
.banner-section .hero-cta-button,
.banner-section .button-primary,
.banner-section .button-secondary,
.banner-section .elementor-button,
.banner-section .nav-link,
.elementor-section .hero-cta-button,
.elementor-widget-button .elementor-button {
    border-radius: 30px !important;
}

/* ---------- section-categories: remove fixed aspect-ratio so box follows image height ---------- */
.section-categories .col-inner {
    aspect-ratio: auto !important;
}

/* ---------- circular category item: thin outer ring with gap ---------- */
.col-inner-style-two .image {
    position: relative;
    border: none !important;
    overflow: visible !important;
    border-radius: 50%;
}

.col-inner-style-two .image::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid #d9d9d9;
    pointer-events: none;
}

.col-inner-style-two .image img {
    border-radius: 50%;
}

/* Remove the vertical divider between category items */
.section-categories .col-inner-style-two::after {
    display: none !important;
}

/* ---------- single product buy box: cap at 1440px ---------- */
.product-detail .product-buy-box > .container-fluid {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

/* ---------- product ribbon NEW / BESTSELLER (from icon-web.svg) ---------- */
.p-card .list-cate {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 4;
    pointer-events: none;
}

.p-card .list-cate .p-card__ribbon {
    display: inline-block;
    width: 38px;
    height: auto;
    line-height: 0;
    position: relative;
    z-index: 4;
    background: transparent;
    padding: 0;
    border-radius: 0;
    color: inherit;
}

.p-card .list-cate .p-card__ribbon svg {
    width: 100%;
    height: auto;
    display: block;
}

@media(max-width: 768px) {
    .p-card .list-cate .p-card__ribbon {
        width: 32px;
    }
}

/* Neutralize old class overrides if still referenced */
.p-card .list-cate .p-card__category {
    background: none !important;
    clip-path: none !important;
    padding: 0 !important;
    height: auto !important;
    min-width: 0 !important;
}


/* ---------- block-list-product ---------- */
.list-product .tab-content .tab-pane {
    position: relative;
}

.list-product .tab-content .product-arrow {
    position: absolute;
    top: var(--product-arrow-top, calc(50% - 60px));
    transform: translateY(-50%);
    border: none;
    background: #0a0a0a;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 5;
    box-shadow: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.list-product .tab-content .product-arrow:hover {
    background: #222;
    transform: translateY(-50%) scale(1.05);
}

.list-product .tab-content .product-arrow svg path {
    stroke: #fff !important;
}

.list-product .tab-content .product-arrow.product-prev {
    left: -24px;
}

.list-product .tab-content .product-arrow.product-next {
    right: -24px;
    left: auto;
    transform: translateY(-50%) scale(-1);
}

.list-product .tab-content .product-arrow.product-next:hover {
    transform: translateY(-50%) scale(-1.05);
}

@media (max-width: 1024px) {
    .list-product .tab-content .product-arrow.product-prev { left: 8px; }
    .list-product .tab-content .product-arrow.product-next { right: 8px; }
}

@media (max-width: 991px) {
    .list-product .tab-content .product-arrow {
        width: 40px;
        height: 40px;
        top: var(--product-arrow-top, calc(50% - 40px));
    }
}

/* ---------- blockCategory-sports (.section-categories .tab-content .swiper-arrow) ---------- */
.section-categories .tab-content {
    padding-top: 0;
}

.section-categories .tab-content .swiper-arrow {
    position: absolute;
    top: calc(50% + 25px);
    transform: translateY(-50%);
    z-index: 10;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: #0a0a0a;
    box-shadow: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    margin: 0;
    cursor: pointer;
}

.section-categories .tab-content .swiper-arrow:hover {
    background: #222;
    transform: translateY(-50%) scale(1.05);
}

.section-categories .tab-content .swiper-arrow::before {
    content: "";
    background: url('../images/icons/arrow-circle-prev.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 16px;
    height: 16px;
    margin-left: 2px;
    filter: brightness(0) invert(1);
}

.section-categories .tab-content .swiper-button-prev {
    left: -24px !important;
    right: auto !important;
}

.section-categories .tab-content .swiper-button-prev::before {
    background-image: url('../images/icons/arrow-circle-next.svg');
    transform: none;
    margin-left: 0;
}

.section-categories .tab-content .swiper-button-prev:hover {
    transform: translateY(-50%) scale(1.05);
}

.section-categories .tab-content .swiper-button-next {
    right: -24px !important;
    left: auto !important;
}

@media (max-width: 1024px) {
    .section-categories .tab-content .swiper-button-prev { left: 8px !important; }
    .section-categories .tab-content .swiper-button-next { right: 8px !important; }
}

@media (max-width: 991px) {
    .section-categories .tab-content .swiper-arrow {
        width: 40px;
        height: 40px;
    }
}

/* ---------- block-fourteen (.blog .swiper-arrows) ---------- */
.blog .swiper-arrows {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 16px;
    gap: 8px;
    z-index: 5;
    pointer-events: none;
}

.blog .swiper-arrows .swiper-arrow {
    position: static;
    pointer-events: auto;
    margin: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #0a0a0a;
    border: none;
    box-shadow: none;
    transition: all 0.25s ease;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog .swiper-arrows .swiper-arrow:hover {
    background: #222;
    transform: scale(1.05);
}

.blog .swiper-arrows .swiper-arrow svg {
    width: 14px;
    height: 14px;
}

.blog .swiper-arrows .swiper-arrow svg path {
    stroke: #fff !important;
}

.blog .swiper-arrows .swiper-button-next svg {
    transform: scale(-1);
}

@media (max-width: 991px) {
    .blog .swiper-arrows .swiper-arrow {
        width: 40px;
        height: 40px;
    }
}

/* ---------- feedback: use the same chevron ">" everywhere, without circular arrow buttons ---------- */
.button-primary,
.button-secondary,
.btn-view-more,
.hero-cta-button {
    gap: 8px;
}

.button-primary svg,
.button-secondary svg,
.btn-view-more svg,
.hero-cta-button svg,
.section-categories .title-arrow {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    color: currentColor !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.button-primary svg circle,
.button-secondary svg circle,
.btn-view-more svg circle,
.hero-cta-button svg circle {
    display: none !important;
    fill: transparent !important;
}

.button-primary svg path,
.button-secondary svg path,
.btn-view-more svg path,
.hero-cta-button svg path,
.section-categories .title-arrow path {
    stroke: currentColor !important;
    fill: currentColor !important;
}

.section-categories .scroll-btn {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff;
    filter: none !important;
    cursor: pointer;
    transition: color .25s ease, transform .25s ease;
}

.section-categories .scroll-btn:hover {
    color: #d1372f;
}

.section-categories .scroll-btn svg {
    width: 14px;
    height: 14px;
    display: block;
}

.section-categories .scroll-btn svg path {
    stroke: currentColor !important;
    fill: none !important;
}

.section-categories .scroll-btn.prev {
    transform: translateY(-50%) scaleX(-1) !important;
    left: 15px !important;
}

.section-categories .scroll-btn.next {
    transform: translateY(-50%) !important;
    right: 15px !important;
}

@media (max-width: 768px) {
    .section-categories .scroll-btn {
        width: 31px !important;
        height: 31px !important;
        min-width: 31px !important;
    }

    .section-categories .scroll-btn svg {
        width: 31px !important;
        height: 31px !important;
    }

    .section-categories .scroll-btn.prev {
        left: 0 !important;
    }

    .section-categories .scroll-btn.next {
        right: 0 !important;
    }
}

.list-product .tab-content .product-arrow,
.section-categories .tab-content .swiper-arrow,
.blog .swiper-arrows .swiper-arrow,
.product-detail .pdp-main-prev,
.product-detail .pdp-main-next,
.product-detail .suggested-products .swiper-button-next,
.product-detail .suggested-products .swiper-button-prev {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #0a0a0a;
}

.list-product .tab-content .product-arrow:hover,
.section-categories .tab-content .swiper-arrow:hover,
.blog .swiper-arrows .swiper-arrow:hover,
.product-detail .pdp-main-prev:hover,
.product-detail .pdp-main-next:hover,
.product-detail .suggested-products .swiper-button-next:hover,
.product-detail .suggested-products .swiper-button-prev:hover {
    background: transparent !important;
    color: #d1372f;
}

.list-product .tab-content .product-arrow.product-prev,
.list-product .tab-content .product-arrow.product-next,
.section-categories .tab-content .swiper-button-prev,
.section-categories .tab-content .swiper-button-next,
.product-detail .suggested-products .swiper-button-prev,
.product-detail .suggested-products .swiper-button-next {
    transform: translateY(-50%) !important;
}

.list-product .tab-content .product-arrow.product-prev:hover,
.list-product .tab-content .product-arrow.product-next:hover,
.section-categories .tab-content .swiper-button-prev:hover,
.section-categories .tab-content .swiper-button-next:hover,
.product-detail .suggested-products .swiper-button-prev:hover,
.product-detail .suggested-products .swiper-button-next:hover {
    transform: translateY(-50%) !important;
}

.list-product .tab-content .product-arrow svg,
.blog .swiper-arrows .swiper-arrow svg {
    width: 14px !important;
    height: 14px !important;
}

.list-product .tab-content .product-arrow svg path,
.blog .swiper-arrows .swiper-arrow svg path {
    stroke: currentColor !important;
    fill: none !important;
}

.list-product .tab-content .product-arrow.product-prev svg {
    transform: scaleX(-1);
}

.list-product .tab-content .product-arrow.product-next svg,
.blog .swiper-arrows .swiper-button-prev svg {
    transform: none !important;
}

.blog .swiper-arrows .swiper-button-next svg {
    transform: scaleX(-1) !important;
}

.section-categories .tab-content .swiper-arrow::before,
.product-detail .pdp-main-prev::after,
.product-detail .pdp-main-next::after,
.product-detail .suggested-products .swiper-button-next::after,
.product-detail .suggested-products .swiper-button-prev::after {
    content: "" !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    background: none !important;
    background-image: none !important;
    filter: none !important;
    font-size: 0 !important;
}

.section-categories .tab-content .swiper-button-next::before,
.product-detail .pdp-main-next::after,
.product-detail .suggested-products .swiper-button-next::after {
    transform: rotate(45deg) !important;
}

.section-categories .tab-content .swiper-button-prev::before,
.product-detail .pdp-main-prev::after,
.product-detail .suggested-products .swiper-button-prev::after {
    transform: rotate(-135deg) !important;
}

@media (max-width: 991px) {
    .list-product .tab-content .product-arrow,
    .section-categories .tab-content .swiper-arrow,
    .blog .swiper-arrows .swiper-arrow,
    .product-detail .pdp-main-prev,
    .product-detail .pdp-main-next,
    .product-detail .suggested-products .swiper-button-next,
    .product-detail .suggested-products .swiper-button-prev {
        width: 31px !important;
        height: 31px !important;
        min-width: 31px !important;
    }

    .list-product .tab-content .product-arrow svg,
    .section-categories .tab-content .swiper-arrow svg,
    .blog .swiper-arrows .swiper-arrow svg,
    .product-detail .pdp-main-prev svg,
    .product-detail .pdp-main-next svg,
    .product-detail .suggested-products .swiper-button-next svg,
    .product-detail .suggested-products .swiper-button-prev svg {
        width: 31px !important;
        height: 31px !important;
    }
}

/* ---------- feedback deck: header, mobile menu, product grids, PDP, footer ---------- */
@media (max-width: 1024px) {
    header.main-header .header-right .box-wishlist {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    header.main-header .header-menu > ul.menu {
        gap: clamp(20px, 1.55vw, 32px) !important;
    }

    header.main-header .header-right {
        gap: 16px !important;
    }

    header.main-header .header-search .search-form {
        min-width: 240px !important;
    }
}

@media (min-width: 1025px) and (max-width: 1500px) {
    header.main-header .header-menu > ul.menu {
        gap: 20px !important;
    }

    header.main-header .header-search .search-form {
        min-width: 210px !important;
    }
}

@media (max-width: 1024px) {
    .canvas-menu-mobile {
        --bs-offcanvas-width: 100vw;
        width: 100vw !important;
        max-width: 100vw !important;
        border-right: 0 !important;
    }

    .canvas-menu-mobile .offcanvas-header {
        position: relative;
        justify-content: center;
        padding: 24px 38px 28px;
    }

    .canvas-menu-mobile .offcanvas-header > a {
        max-width: 200px;
        margin: 0 auto;
    }

    .canvas-menu-mobile .offcanvas-header > a img {
        width: 100%;
        height: auto;
    }

    .canvas-menu-mobile .btn-close {
        position: absolute;
        top: 24px;
        right: 24px;
    }

    .mobile-menu .sub-menu-fake > li > .sub-menu {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .mobile-menu .sub-menu-fake > li > .sub-menu > li {
        margin-bottom: 12px;
    }

    .mobile-menu .sub-menu-fake > li > .sub-menu a {
        line-height: 24px !important;
        padding: 4px 0;
    }

    .mobile-menu .sub-menu-fake > li.menu-item-has-children .ic-down {
        background-position: right center !important;
    }

    .mobile-menu .sub-menu-fake > li.col-image > .sub-menu {
        gap: 12px;
        overflow-x: auto;
    }

    .mobile-menu .sub-menu-fake > li.col-image > .sub-menu li {
        width: 72% !important;
        min-width: 72% !important;
        aspect-ratio: 16 / 9 !important;
    }

    .mobile-menu .extra-menu-mobi {
        margin-top: 12px !important;
    }
}

@media (max-width: 767.98px) {
    .list-product {
        padding-bottom: 44px !important;
    }

    .list-product .product-swiper__slider.is-mobile-grid {
        overflow: visible !important;
    }

    .list-product .product-swiper__slider.is-mobile-grid .swiper-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 12px;
        transform: none !important;
    }

    .list-product .product-swiper__slider.is-mobile-grid .swiper-slide {
        width: auto !important;
        margin-right: 0 !important;
    }

    .list-product .product-swiper__slider.is-mobile-grid .swiper-slide.is-mobile-hidden {
        display: none !important;
    }

    .list-product .product-arrow,
    .list-product .product-counter {
        display: none !important;
    }

    .section-categories {
        padding-bottom: 40px !important;
    }
}

.p-card .button-showSize {
    width: 32px !important;
    height: 32px !important;
    padding: 8px !important;
}

.p-card .button-showSize svg {
    width: 16px;
    height: 16px;
}

.section-categories .col-inner-style-two .image {
    aspect-ratio: 256 / 354 !important;
    border: none !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.section-categories .col-inner-style-two .image::after {
    display: none !important;
}

.section-categories .col-inner-style-two .image img {
    border-radius: 14px !important;
    object-fit: cover;
}

.product-detail .pdp-related-swiper .pdp-arrow {
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0a0a0a;
    box-shadow: none !important;
}

.product-detail .pdp-related-swiper .pdp-arrow:hover {
    border: 0 !important;
    color: #d1372f;
}

.product-detail .pdp-related-swiper .pdp-prev,
.product-detail .pdp-related-swiper .pdp-next,
.product-detail .pdp-related-swiper .pdp-next:hover {
    transform: translateY(-50%) !important;
}

.product-detail .pdp-related-swiper .pdp-prev svg {
    transform: scaleX(-1);
}

.product-detail .pdp-related-swiper .pdp-next svg {
    transform: none !important;
}

.product-detail .pdp-related-swiper .pdp-arrow svg {
    width: 14px !important;
    height: 14px !important;
}

.product-detail .pdp-related-swiper .pdp-arrow svg path {
    stroke: currentColor !important;
    fill: none !important;
}

.info-return-policy .info-return-policy__image {
    display: none !important;
}

.info-return-policy .col-inner {
    max-width: 960px;
    margin: 0 auto;
}

.info-return-policy .feature-list {
    justify-content: center;
}

@media (max-width: 768px) {
    footer#footer .footer-menu > ul > .menu-item > a::before {
        width: 10px !important;
        height: 10px !important;
        right: 4px !important;
        background: none !important;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        filter: none !important;
        transform: translateY(-65%) rotate(135deg) !important;
    }

    footer#footer .footer-menu > ul > .menu-item.active > a::before {
        transform: translateY(-35%) rotate(-45deg) !important;
    }
}
