*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #191d28;
    background-color: #fff;
}

body[data-bs-theme="dark"],
[data-bs-theme="dark"] body {
    color: #9b9bb4;
    background-color: #1e293b;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    border: 0;
    background: transparent;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

img,
svg {
    vertical-align: middle;
}

ul,
ol {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
    list-style: none;
}

p {
    margin-top: 0;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}

@media (min-width: 768px) {
    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }
}

@media (min-width: 1200px) {
    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
}

@media (min-width: 1400px) {
    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
}

.d-none {
    display: none !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

.align-items-center {
    align-items: center !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.text-center {
    text-align: center !important;
}

.text-white {
    color: #fff !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-normal {
    font-weight: 400 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.p-0 {
    padding: 0 !important;
}

.ms-1 {
    margin-left: 0.25rem !important;
}

.me-1 {
    margin-right: 0.25rem !important;
}

.ms-3 {
    margin-left: 1rem !important;
}

.rounded {
    border-radius: 4px !important;
}

.rounded-circle {
    border-radius: 50% !important;
}

.rounded-2 {
    border-radius: 8px !important;
}

.bg-white {
    background-color: #fff !important;
}

.bg-primary {
    background-color: #CDAE65 !important;
}

.bg-primary-green {
    background-color: #9BB95F !important;
}

.ft-bg-primary-green {
    font-size: 12px;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.logo_img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.z-2 {
    z-index: 2 !important;
}

@media (min-width: 768px) {
    .d-md-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-block {
        display: block !important;
    }

    .ps-lg-5 {
        padding-left: 3rem !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-block {
        display: block !important;
    }

    .justify-content-xl-end {
        justify-content: flex-end !important;
    }
}

.gheader {
    min-height: 104px;
}

@media (max-width: 991.98px) {
    .gheader {
        background-color: #fff;
        box-shadow: 0 14px 20px rgba(0, 4, 94, 0.04);
    }
}

.ghead-topbar {
    padding: 10px 0 44px;
}

.topbar-info-right {
    gap: 48px;
}

.topbar-info-right li {
    position: relative;
    color: #fff;
    font-size: 0.875rem;
}

.topbar-info-right li a {
    color: #fff;
    font-size: 0.875rem;
}

.topbar-info-right li::before {
    content: "";
    position: absolute;
    left: -24px;
    top: 50%;
    width: 1px;
    height: 12px;
    background-color: #fff;
    transform: translateY(-50%);
}

.topbar-info-right li:first-child::before {
    display: none;
}

.topbar-info-right li img {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    object-fit: cover;
}

.gshop-navbar {
    min-height: 70px;
    margin-top: -32px;
    box-shadow: 0 14px 20px rgba(0, 4, 94, 0.04);
}

@media (max-width: 991.98px) {
    .gshop-navbar {
        margin-top: 0;
        box-shadow: none !important;
    }
}

.gshop-navbar > .row {
    min-height: 70px;
}

.gshop-navbar-right::before {
    content: "";
    position: absolute;
    left: -37px;
    top: 50%;
    width: 1px;
    height: 80px;
    background-color: rgba(110, 179, 86, 0.1);
    transform: translateY(-50%);
}

@media (max-width: 991.98px) {
    .gshop-navbar-right::before {
        display: none;
    }
}

.gshop-navmenu ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.gshop-navmenu ul li a {
    display: inline-block;
    padding: 24px 15px;
    font-weight: 500;
    color: #5d6374;
    font-size: 15px;
    line-height: 1.45;
}

.gshop-header-icons {
    gap: 24px;
}

.header-icon,
.gshop-header-icons .header-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    min-width: 24px;
    height: 28px;
    padding: 0;
}

.header-icon-mob {
    top: 17px;
}

.cart-counter {
    position: absolute;
    top: -9px;
    right: -15px;
    width: 20px;
    height: 20px;
    padding: 0;
    line-height: 20px;
    font-size: 12px;
    text-align: center;
}

.user-menu-wrapper,
.cart-box-wrapper,
.dropdown-menu {
    opacity: 0;
    visibility: hidden;
}

.gshop-header-user .user-menu-wrapper {
    position: absolute;
    top: calc(100% + 10px);
    left: -15px;
    width: 200px;
    padding-top: 20px;
}

.gshop-header-user:hover .user-menu-wrapper {
    top: 100%;
    opacity: 1;
    visibility: visible;
}

.user-menu,
.apt_cart_box {
    background-color: #fff;
    box-shadow: 0 14px 20px rgba(0, 4, 94, 0.04);
    border-radius: 0 0 4px 4px;
}

.user-menu li a {
    display: block;
    color: #5d6374;
    font-size: 15px;
    font-weight: 500;
    padding: 12px 15px;
}

.cart-box-wrapper {
    position: absolute;
    min-width: 400px;
    top: calc(100% + 10px);
    right: -50px;
    z-index: 2;
    padding-top: 20px;
}

.gshop-header-cart:hover .cart-box-wrapper {
    top: 100%;
    opacity: 1;
    visibility: visible;
}

.apt_cart_box {
    padding: 16px 20px 30px;
}

.apt_cart_box ul {
    max-height: 300px;
}

.gshop-offcanvas-btn {
    width: 70px;
    height: 70px;
    margin-right: -1px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #78756E;
    border-radius: 0 4px 4px 0;
}

@media (max-width: 575.98px) {
    .gshop-offcanvas-btn {
        width: 60px;
        height: 60px;
    }

    .gshop-offcanvas-btn svg {
        width: 18px;
    }
}

.header-sticky.sticky-on {
    position: fixed !important;
    left: 0;
    top: 0;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 14px 20px rgba(0, 4, 94, 0.04);
    z-index: 1030 !important;
}

.header-sticky.sticky-on .ghead-topbar {
    display: none !important;
}

.header-sticky.sticky-on .gshop-navbar {
    margin-top: 0;
    box-shadow: none;
    padding-left: 0 !important;
}

.tt-theme-toggle {
    color: #fff;
}

.tt-theme-light {
    display: block;
}

.tt-theme-dark {
    display: none;
}

[data-bs-theme="dark"] .tt-theme-light {
    display: none;
}

[data-bs-theme="dark"] .tt-theme-dark {
    display: block;
}

[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .gheader,
[data-bs-theme="dark"] .gshop-navbar,
[data-bs-theme="dark"] .header-sticky.sticky-on,
[data-bs-theme="dark"] .user-menu,
[data-bs-theme="dark"] .apt_cart_box,
[data-bs-theme="dark"] .dropdown-menu {
    background-color: #191d28 !important;
}

[data-bs-theme="dark"] .gshop-navbar {
    box-shadow: 2px 4px 20px 0 rgba(255, 255, 255, 0.15);
}

.play-icon {
    z-index: 2;
    pointer-events: none;
    background-image: url("../img/play_icon2.png");
}

.swiper {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.swiper-wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    width: 100%;
    height: 100%;
    box-sizing: content-box;
    transition-property: transform;
}

.swiper-slide {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 992px) {
    .hero-imgs > .row > .d-flex.align-items-center {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .hero-imgs .text-hero {
        display: block !important;
    }
}

@media (max-width: 991.98px) {
    #quickview_modal .gstore-product-quick-view > .row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    #quickview_modal .ratings {
        display: inline-flex;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
}

.quickview-double-slider {
    width: 100%;
}

.gstore-product-quick-view .quickview-product-slider {
    width: 100%;
    min-height: clamp(320px, 42vw, 520px);
    border-radius: 8px;
    overflow: hidden;
}

.quickview-double-slider .quickview-product-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.quickview-double-slider .quickview-product-slider img {
    display: block;
    width: 100%;
    max-height: 520px;
    height: auto;
    object-fit: contain;
}

.quickview-double-slider .product-thumbnail-slider {
    width: 100%;
    height: auto !important;
    margin-top: 10px !important;
    overflow: hidden;
}

.quickview-double-slider .product-thumbnail-slider .swiper-wrapper {
    height: auto !important;
}

.quickview-double-slider .product-thumb-single {
    aspect-ratio: 1;
}

@media (max-width: 767.98px) {
    .gstore-product-quick-view .quickview-product-slider {
        min-height: min(420px, calc(100vw - 2rem));
    }
}

.sidebar-info-list .icon-wrapper {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}

.sidebar-info-list .icon-wrapper img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}
