@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

:root {
    --color-blue: #0D2172;
    --color-lightblue: #89D4FF;
    --color-blue-hover: #2a4ebb;
    --color-green-hover: #70A737;
    --color-form-button: #B9E18F;
    --color-form-button-hover: #70A737;
    --body-line-height: 1.45;

    --font-size-lg: 40px;
    --font-size-md: 32px;
}
body.toolbar-horizontal header {
    top: 53px;
}
.region-content {
    padding: 0;
}
.offcanvas-backdrop {
    background: none;
}
.offcanvas-backdrop.show {
    opacity: 1;
}
.offcanvas.offcanvas-end {
    width: 100%;
}
.offcanvas .btn-close  {
    background: #89D4FF url(../image/global/btn_close.svg) center center no-repeat;
    border-radius: 50px;
    width: 50px;
    height: 50px;
    margin-left: auto;
    opacity: 1;
}
.offcanvas .offcanvas-body {
    padding: 30px 0 0;
}

@media all and (max-width: 991.98px) {
    :root {
        --font-size-lg: 36px;
        --font-size-md: 24px;
    }
}

@media all and (max-width: 767.98px) {
    :root {
        --font-size-lg: 34px;
        --font-size-md: 22px;
    }
}

.alert {
    margin-bottom: 40px;
    margin-top: 40px;
}
.alert-success {
    background-color: #EAF6FF;
    color: #000;
    border-color: #0052B4;
}
.alert-success a {
    color: #0052B4;
    text-decoration: underline;
}

/***** global *****/
body {
    background-color: #fff;
    color: #000;
    font-family: "Noto Sans TC", Arial, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    -webkit-overflow-scrolling: touch;
    line-height: var(--body-line-height);
}
body.user-page {
    background: linear-gradient(270deg, #E9FDE7 10%, #F4F4F4 97%);
}

.container-fluid {
    padding: 0;
}

main,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container,
.life-category-container,
.page-route-commerce-cart-page .views-element-container,
.region-content,
.back-to-top,
[class*="swiper-button-prev-"],
[class*="swiper-button-next-"] {
    --bs-gutter-x: 60px;
}
@media (min-width: 576px) {
    .container {
        max-width: none;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: none;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: none;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: none;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: none;
    }
}
@media (min-width: 1400px) {
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container {
        max-width: none;
    }
}
@media (min-width: 1500px) {
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container,
    .life-category-container,
    .page-route-commerce-cart-page .views-element-container {
        max-width: 1500px;
    }
}
@media screen and (max-width: 1099px) {
    main,
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container,
    .life-category-container,
    .page-route-commerce-cart-page .views-element-container,
    .region-content,
    .back-to-top,
    [class*="swiper-button-prev-"],
    [class*="swiper-button-next-"] {
        --bs-gutter-x: 40px;
    }
}
@media screen and (max-width: 767px) {
    main,
    .container-xxl,
    .container-xl,
    .container-lg,
    .container-md,
    .container-sm,
    .container,
    .life-category-container,
    .page-route-commerce-cart-page .views-element-container,
    .region-content,
    .back-to-top,
    [class*="swiper-button-prev-"],
    [class*="swiper-button-next-"] {
        --bs-gutter-x: 30px;
    }
}
.container.block-views h2 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    margin-bottom: 20px;
}
p, ol, ul, dl {
    margin-bottom: 20px;
}
a {
    color: var(--color-blue);
    transition: all 0.2s ease;
    text-decoration: none;
}
a:hover,
a:focus {
    color: var(--color-blue-hover);
}
header ul {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
/* ######### Custom Brand Filters ######### */
.custom-brand-filters {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    overflow-x: auto;
    overflow-y: hidden;
}
.custom-brand-filters + p {    
    font-size: 20px;
    text-align: center;
    margin-bottom: 0;
    padding: 100px 0;    
}
.brand-filter-btn {
    background-color: #fff;
    border-radius: 42px;
    border: 1px solid #21409A;
    color: #21409A;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    flex: 0 0 auto;
    padding: 8px 16px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}
.brand-filter-btn:hover {
  background-color: #89D4FF;
}
.brand-filter-btn.active {
  background-color: #21409A;
  color: #fff;
}

/* ######### Form ######### */
label {
    display: block;
    margin-bottom: 10px;
}
.form-required::after {
    background: none;
    content: '*';
    vertical-align: initial;
    height: auto;
}
input::placeholder {
    color: #727272;
}
.form-item, .form-actions {
    margin-top: 0;
    margin-bottom: 20px;
}
.form-control {
    border: #EBEBEB 1px solid;
    border-radius: 10px;
    padding: 7px 12px;
}
.form-select {
    background: #fff url(../image/global/sidebar_button_arrow.svg) right 16px center no-repeat;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; /* Removes default arrow */
    border: #EBEBEB 1px solid;
    border-radius: 10px;
    padding: 7px 36px 7px 12px;
}
.form-actions {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 0;
}
.btn-primary,
.btn-secondary {
    background-color: var(--color-form-button);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    min-width: 200px;
    padding: 15px;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus {
    background-color: var(--color-form-button-hover);
    color: #fff;
}
.btn-primary:disabled,
.btn-secondary:disabled {
    background-color: #E7E7E7;
    color: #727272;
}
.form-composite > .fieldset-wrapper > .description,
.form-item .description {
    color: #4E4E4E;
    margin-top: 5px;
}
.password-strength__meter,
.password-confirm-message {
    margin-top: 10px;
}
.password-suggestions {
    background-color: #fff;
    border: #939393 1px solid;
    border-radius: 10px;
    padding: 12px;
    margin: 20px 0;
}
.tabs-wrapper .nav-item.active,
.tabs-wrapper .media-library-view--widget .view-header a.nav-item.is-active,
.media-library-view--widget .view-header .tabs-wrapper a.nav-item.is-active {
    background: none;
}
.confirm-parent,
.password-parent {
    overflow: visible;
}
@media all and (max-width: 767.98px) {
    .tabs-wrapper .nav-tabs,
    .tabs-wrapper .media-library-view--widget .view-header,
    .media-library-view--widget .tabs-wrapper .view-header {
        background-color: #fff;
        border: #EBEBEB 1px solid;
        border-radius: 10px;
    }
    .tabs-wrapper .nav-item {
        padding: 0;
    }
    .tabs-wrapper.is-collapsible .nav-item.active .dropdown-toggle::after {
        background: url(../image/global/menu_arrow_bottom.svg) no-repeat;
        background-size: 16px;
        border: none;
        width: 16px;
        height: 10px;
        vertical-align: middle;
    }
}

/* ######### Breadcrumb ######### */
.breadcrumb-container {
    background-color: #C4DFF3;
    padding-top: 15px;
    padding-bottom: 15px;
}
.breadcrumb {
    margin-bottom: 0;
}
.breadcrumb-item {
    color: #0D2172;
    font-size: 14px;
    line-height: 17px;
}
.breadcrumb-item + .breadcrumb-item::before {
    color: #5A6592;
}
.breadcrumb .breadcrumb-item a {
    color: #5A6592;
    font-size: 14px;
    line-height: 17px;
    text-decoration: none;
}
.breadcrumb .breadcrumb-item a:hover,
.breadcrumb .breadcrumb-item a:focus {
    color: #0D2172;
}

/* ######### Pagination ######### */
.pagination {
    row-gap: 10px;
    margin-top: 50px;
    margin-bottom: 0;
    padding: 0;
}
.page-item-wrapper {
    background-color: #fff;
    border: 1px solid #EEE;
    border-radius: 50px;
    display: flex;
    padding-left: 20px;
    padding-right: 20px;
}
.pagination .page-link {
    background: none;
    color: #727272;
    font-size: 18px;
    line-height: 26px;
    border: none;
    padding: 10px;
}
.pagination .page-item:first-child:not(.pager__item--first, .pager__item--previous) .page-link,
.pagination .page-item:last-child:not(.pager__item--next, .pager__item--last) .page-link {
    border-radius: 0;
}
.pagination .page-item .page-link:hover,
.pagination .page-item .page-link:focus {
    color: #000;
}
.pagination .page-item.active .page-link {
    background: none;
    color: #000;
    font-weight: 500;
}
.pagination .pager__item--previous,
.pagination .pager__item--first {
    margin-right: 20px;
}
.pagination .pager__item--next,
.pagination .pager__item--last {
    margin-left: 20px;
}
.pagination .pager__item--first .page-link,
.pagination .pager__item--previous .page-link,
.pagination .pager__item--next .page-link,
.pagination .pager__item--last .page-link {
    border: 1px solid #EEE;
    border-radius: 50%;
    text-indent: -9999px;
    display: block;
    width: 50px;
    height: 50px;
    overflow: hidden;
    transition: all 0.2s ease-in-out;
}
.pagination .pager__item--previous .page-link {
    background: #fff url(../image/global/carousel_arrow.svg) center center no-repeat;
    background-size: cover;
    transform: scaleX(-1);
}
.pagination .pager__item--next .page-link {
    background: #fff url(../image/global/carousel_arrow.svg) center center no-repeat;
    background-size: cover;
}
.pagination .pager__item--first .page-link {
    background: #fff url(../image/global/double_arrow.svg) center center no-repeat;
    background-size: cover;
    transform: scaleX(-1);
}
.pagination .pager__item--last .page-link {
    background: #fff url(../image/global/double_arrow.svg) center center no-repeat;
    background-size: cover;
}
.pagination .pager__item--first .page-link:hover,
.pagination .pager__item--first .page-link:focus,
.pagination .pager__item--previous .page-link:hover,
.pagination .pager__item--previous .page-link:focus,
.pagination .pager__item--next .page-link:hover,
.pagination .pager__item--next .page-link:focus,
.pagination .pager__item--last .page-link:hover,
.pagination .pager__item--last .page-link:focus {
    background-color: #EAF6FF;
}

/* header  ***********************************************/
header {
    background-color: #fff;
    border-bottom: #EEEEEE 1px solid;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}
header .navbar {
    padding-top: 0;
    padding-bottom: 0;
}
header .navbar > .container-xxl {
    column-gap: 25px;
}
.region-nav-branding {
    display: none;
}
.navbar-brand {
    margin: 10px 50px 10px 0;
    padding: 0;
}
.navbar-brand img {
    height: 90px;
    margin: 0;
    transition: all 0.2s ease;
}
body.scroll-fixed .navbar-brand img {
    height: 60px;
}
header .offcanvas-body .nav-additional-search {
    margin-left: auto;
}
/* search */
.search-link {
    border: #D2D2D2 2px solid;
    border-radius: 36px;
    color: #000;
    font-size: 15px;
    line-height: 18px;
    text-decoration: none;
    display: flex;
    width: 94px;
    padding: 9px 15px;
}
.search-link:hover,
.search-link:focus {
    background-color: var(--color-lightblue);
}
.search-icon {
    width: 18px;
    height: 18px;
    stroke: #000;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    margin-right: 8px;
}
header .search-menu {
    background: linear-gradient(90deg, #FFF 50%, #D7E9F6 100%);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.20);
    margin-top: 1px;
    padding-top: 50px;
    padding-bottom: 50px;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1;
}
header .search-menu:not(.show) {
    display: none;
}
header .search-menu-wrapper {
    max-width: 600px;
    margin: 0 auto;
}
header .search-menu-wrapper input,
.mobile-menu-wrapper input {
    background: #fff url(../image/global/icon_search.svg) 14px center no-repeat;
    border: #D2D2D2 1px solid;
    border-radius: 50px;
    font-size: 15px;
    line-height: 30px;
    width: 100%;
    margin-bottom: 30px;
    padding: 10px 14px 10px 50px;
}
header .search-menu-wrapper input::placeholder,
.mobile-menu-wrapper input::placeholder {
    color: #000;
}
header .search-menu-wrapper p {
    color: var(--color-blue);
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
}
header .search-menu-wrapper ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
}
header .search-menu-wrapper ul li {
    width: calc(50% - 10px);
}
header .search-menu-wrapper ul li a {
    color: #727272;
    font-size: 15px;
    line-height: 28px;
    text-decoration: none;
}
header .search-menu-wrapper ul li a:hover,
header .search-menu-wrapper ul li a:focus {
    color: var(--color-blue-hover);
}
/* account */
.nav-additional {
    position: relative;
}
header .avatar {
    cursor: pointer;
}
.region-nav-additional:not(.show) {
    display: none;
}
.region-nav-additional #block-i2-theme-account-menu {
    padding-top: 15px;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    z-index: 1;
}
.region-nav-additional #block-i2-theme-account-menu .navbar-nav {
    background-color: #fff;
    border: #D2D2D2 1px solid;
    border-radius: 10px;
    flex-direction: column;
    width: 150px;
    overflow: hidden;
}
.region-nav-additional #block-i2-theme-account-menu .navbar-nav .nav-item:not(.d-none) + .nav-item {
    border-top: #D2D2D2 1px solid;
}
.region-nav-additional #block-i2-theme-account-menu .navbar-nav .nav-link {
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    width: 100%;
    padding: 10px 15px;
}

/* cart */
.cart-block--link__expand {
    position: relative;
}
.cart-block--summary__icon {
    display: block;
    width: 30px;
}
.cart-block--summary__count {
    background-color: #B9E18F;
    border-radius: 20px;
    color: #000;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    display: block;
    min-width: 20px;
    padding: 0 3px;
    position: absolute;
    top: -10px;
    left: calc(100% - 10px);
}

/* mega menu */
header .navbar-expand-lg .offcanvas .offcanvas-body {
    align-items: center;
}
header .main-nav {
    height: 111px;
    column-gap: 20px;
    margin-bottom: -1px;
}
body.scroll-fixed header .main-nav {
    height: 81px;
}
header .navbar-nav .nav-item {
    cursor: pointer;
    display: flex;
    align-items: center;
}
header .navbar-nav .dropdown {
    position: initial;
}
header .navbar-nav>.dropdown>span,
header .navbar-nav>.nav-item>a {
    color: var(--color-blue);
    font-size: 18px;
    line-height: 26px;
    display: block;
    padding: 10px;
}
header .navbar-nav .dropdown span:hover,
header .navbar-nav .dropdown span:focus,
header .navbar-nav .nav-item a:hover,
header .navbar-nav .nav-item a:focus {
    color: var(--color-blue-hover);
}
header .navbar-nav .dropdown span::after {
    background: url(../image/global/menu_arrow_bottom.svg) center center no-repeat;
    content: '';
    display: inline-block;
    width: 10px;
    height: 26px;
    margin-left: 8px;
    vertical-align: top;
}
/* product */
header .product-menu {
    background: linear-gradient(90deg, #FFF 50%, #D7E9F6 100%);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.20);
    display: none;
    margin-top: 1px;
    padding-top: 30px;
    padding-bottom: 30px;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1;
}
header .navbar-nav .dropdown:hover .product-menu,
header .navbar-nav .dropdown:focus .product-menu,
header .navbar-nav .dropdown:hover .category-menu,
header .navbar-nav .dropdown:focus .category-menu {
    display: block;
}
header .product-menu .product-level-2 {
    border-right: #E9E9E9 1px solid;
    flex: 0 0 auto;
    width: 215px;
}
header .product-menu .product-level-2 ul li a {
    border-radius: 10px 0 0 10px;
    color: #000;
    font-size: 18px;
    line-height: 26px;
    text-decoration: none;
    display: block;
    padding: 7px 15px 7px 30px;
}
header .product-menu .product-level-2 ul li a:hover,
header .product-menu .product-level-2 ul li a:focus {
    background: linear-gradient(90deg, #24469E 50%, #D7E9F6 95%);
    color: #fff;
    font-weight: 500;
}
header .product-menu .product-level-3 {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 30px;
    padding-right: 30px;
}
header .product-menu .product-level-3 .product-menu-title {
    color: var(--color-blue);
    font-size: 18px;
    line-height: 26px;
    font-weight: 500;
    margin-top: 8px;
}
header .product-menu .product-level-3 ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    margin-bottom: 30px;
}
header .product-menu .product-level-3 ul li {
    width: calc(50% - 10px);
}
header .product-menu .product-level-3 ul li a {
    color: #000;
    font-size: 15px;
    line-height: 28px;
    text-decoration: none;
}
header .product-menu .product-level-3 .menu-more {
    background: url(../image/global/menu_more_arrow.svg) right center no-repeat;
    color: var(--color-blue);
    font-size: 15px;
    line-height: 28px;
    text-decoration: none;
    margin-top: auto;
    padding-right: 14px;
}
header .product-menu .product-level-3 ul li a:hover,
header .product-menu .product-level-3 ul li a:focus,
header .product-menu .product-level-3 .menu-more:hover,
header .product-menu .product-level-3 .menu-more:focus {
    color: var(--color-blue-hover);
}
header .product-menu .product-image {
    flex: 0 0 auto;
    width: min(33.34%, 480px);
}
header .product-menu .product-image img {
    border-radius: 10px;
}
/* category */
header .category-menu {
    background: linear-gradient(90deg, #FFF 50%, #D7E9F6 100%);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.20);
    display: none;
    margin-top: 1px;
    padding-top: 20px;
    padding-bottom: 40px;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1;
}
header .category-menu .d-flex {
    gap: 24px;
}
.category-menu-card {
    background: linear-gradient(180deg, #D7E9F6 30%, #FBFBFB 70%);
    border-radius: 24px;
    display: flex;
    width: 464px;
    height: 230px;
    padding: 25px;
    position: relative;
}
.category-menu-card:nth-child(2) {
    background: linear-gradient(180deg, #E9FDE7 30%, #FBFBFB 70%);
}
.category-menu-card .card-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.category-menu-card .card-title {
    color: var(--color-blue);
    font-weight: 500;
    font-size: 20px;
    line-height: 1.45;
}
.category-menu-card .card-btn {
    background-color: #D7E9F6;
    border-radius: 30px;
    color: #000;
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    text-decoration: none;
    display: block;
    width: 60px;
    padding: 5px;
}
.category-menu-card:nth-child(2) .card-btn {
    background-color: #D9F9D5;
}
.category-menu-card .card-btn::after {
    content: '';
    position: absolute;
    inset: 0;
}
header .navbar-nav .nav-item .category-menu-card .card-btn:hover,
header .navbar-nav .nav-item .category-menu-card .card-btn:focus {
    background-color: #89D4FF;
    color: #000;
}
header .navbar-nav .nav-item .category-menu-card:nth-child(2) .card-btn:hover,
header .navbar-nav .nav-item .category-menu-card:nth-child(2) .card-btn:focus {
    background-color: #a4e262;
    color: #000;
}
.category-menu-card .card-img {
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
}

/* mobile */
.navbar-toggler {
    background: url(../image/global/menu.svg) no-repeat;
    border: none;
    border-radius: 0;
    width: 30px;
    height: 25px;
    padding: 0;
}
.mobile-menu {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.mobile-menu .menu-btn-lv1 {
    background: none;
    border: none;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 30px;
    display: flex;
    width: 100%;
    margin-bottom: 10px;
    padding: 0;
    transition: all 0.2s ease;
}
.mobile-menu .menu-btn-lv1[aria-expanded="true"] {
    margin-bottom: 20px;
}
.mobile-menu .menu-btn-lv2 {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    display: flex;
    width: 100%;
    margin-bottom: 10px;
    padding: 5px 0;
}
.mobile-menu .menu-btn-lv1 .bi,
.mobile-menu .menu-btn-lv2 .bi {
    margin-left: auto;
}
.mobile-menu .bi-chevron-down::before {
    font-size: 16px;
}
.mobile-menu .menu-btn-lv1[aria-expanded="true"] .bi-chevron-down,
.mobile-menu .menu-btn-lv2[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}
.menu-btn-lv1 ~ div>ul {
    border-top: #fff 1px solid;
    border-bottom: #fff 1px solid;
    padding-top: 20px;
    padding-bottom: 20px;
}
.mobile-menu .menu-btn-lv2 ~ div ul {
    transition: all 0.2s ease;
}
.mobile-menu .menu-btn-lv2[aria-expanded="true"] ~ div ul {
    margin-top: 5px;
    margin-bottom: 20px;
}
.mobile-menu .menu-link-lv1 {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 30px;
    text-decoration: none;
}
.menu-btn-lv1 ~ div .menu-link {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-decoration: none;
    display: block;
    margin-bottom: 10px;
    padding: 5px 0;
}
.menu-btn-lv2 ~ div .menu-link {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 30px;
    text-decoration: none;
    display: block;
    padding: 5px 0 5px 26px;
}

/* footer  ***********************************************/
footer {
    padding: 0;
}
footer .footer-graphic {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: -2px;
}
footer .footer-body {
    background-color: #fff;
    padding-top: 14px;
}
footer .footer-body h2 {
    color: var(--color-blue);
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 10px;
}
footer .footer-body p {
    color: var(--color-blue);
    font-size: 16px;
    line-height: calc(100% + 10px);
}
footer .footer-body .footer-region .navbar-nav {
    margin-bottom: 20px;
}
footer .footer-body .footer-region .navbar-nav .nav-link {
    color: var(--color-blue);
    font-size: 16px;
    line-height: calc(100% + 10px);
    padding: 0;
}
footer .footer-body .footer-region .navbar-nav .nav-link:hover,
footer .footer-body .footer-region .navbar-nav .nav-link:focus {
    color: var(--color-blue-hover);
}
footer .copyright-regions {
    /* border-top: #D2D2D2 1px solid; */
    margin-top: 20px;
    padding-top: 15px;
    padding-bottom: 15px;
}
footer .copyright-regions .d-flex {
    row-gap: 20px;
    position: relative;
}
footer .copyright-regions .d-flex::before {
    background-color: #D2D2D2;
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    left: calc(var(--bs-gutter-x) * 0.5);
    right: calc(var(--bs-gutter-x) * 0.5);
    top: -15px;
}
footer .copyright-regions p {
    color: #727272;
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 0;
}
footer .copyright-regions .navbar-nav {
    flex-direction: row;
    justify-content: flex-end;
}
footer .copyright-regions .navbar-nav .nav-item .nav-link {
    color: #727272;
    font-size: 14px;
    line-height: 26px;
    padding: 0 7px;
}
footer .copyright-regions .navbar-nav .nav-item .nav-link:hover,
footer .copyright-regions .navbar-nav .nav-item .nav-link:focus {
    color: #000;
}
footer .copyright-regions .navbar-nav .nav-item + .nav-item::before {
    content: '|';
    display: block;
    float: left;
}
.back-to-top {
    background: #B9E18F url(../image/global/back_to_top.svg) no-repeat;
    border-radius: 50px;
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.15);
    cursor: pointer;
    opacity: 0;
    position: fixed;
    right: calc(var(--bs-gutter-x) * 0.5);
    bottom: 100px;
    z-index: 30;
    pointer-events: none;
    transition: all 0.2s ease;
}
.back-to-top img {
    transition: all 0.2s ease;
}
.back-to-top:hover,
.back-to-top:focus {
    background: var(--color-green-hover) url(../image/global/back_to_top_white.svg) no-repeat;
}
.back-to-top:hover img,
.back-to-top:focus img {
    opacity: 0;
}

/* main  ***********************************************/
main {
    margin-top: 110px;
    position: relative;
    z-index: 0;
}

/* user login  ***********************************************/
.page-route-user-login .breadcrumb-container,
.page-route-user-register .breadcrumb-container,
.page-route-user-pass .breadcrumb-container {
    display: none;
}
.page-route-user-login main,
.page-route-user-register main,
.page-route-user-pass main {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-top: 100px;
}
.page-route-user-login main>*,
.page-route-user-register main>*,
.page-route-user-pass main>* {
    max-width: 500px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}
.page-route-user-login main .container,
.page-route-user-register main .container,
.page-route-user-pass main .container {
    padding-left: 0;
    padding-right: 0;
}
#block-i2-theme-local-tasks .tabs-wrapper {
    margin-top: 0;
    margin-bottom: 40px;
}
#block-i2-theme-local-tasks ul.nav-tabs {
    border-bottom: none;
    justify-content: center;
}
#block-i2-theme-local-tasks .nav-tabs .nav-item {
    position: relative;
}
#block-i2-theme-local-tasks .nav-tabs .nav-item + .nav-item::before {
    background-color: #939393;
    content: '';
    width: 1px;
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 8px;
}
#block-i2-theme-local-tasks .nav-tabs .nav-link {
    border: none;
    color: #000;
    font-size: 20px;
    line-height: 29px;
    padding: 10px 20px;
    position: relative;
}
#block-i2-theme-local-tasks .nav-tabs .nav-link:not(.active):hover,
#block-i2-theme-local-tasks .nav-tabs .nav-link:not(.active):focus {
    border: none;
    color: var(--color-blue-hover);
}
#block-i2-theme-local-tasks .nav-tabs .nav-link::after {
    background-color: #B9E18F;
    content: '';
    height: 4px;
    opacity: 0;
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    transition: all 0.2s ease;
}
#block-i2-theme-local-tasks .nav-tabs .nav-link.active {
    background: none;
    border-radius: 0;
    cursor: default;
    font-weight: 500;
}
#block-i2-theme-local-tasks .nav-tabs .nav-link.active::after {
    opacity: 1;
}
.page-route-user-login .block-page-title-block h1,
.page-route-user-register .block-page-title-block h1,
.page-route-user-pass .block-page-title-block h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    text-align: center;
    margin-bottom: 30px;
}
.page-route-user-login main .form-actions + a {
    display: block;
    width: fit-content;
    margin: 20px auto 0;
}

/* user my account  *************************************/
.page-route-entity-user-canonical .breadcrumb-container,
.page-route-commerce-order-address-book-overview .breadcrumb-container,
.page-route-entity-user-edit-form .breadcrumb-container,
.page-route-user-reset-form .breadcrumb-container {
    display: none;
}
.page-route-entity-user-canonical main,
.page-route-commerce-order-address-book-overview main,
.page-route-entity-user-edit-form main,
.page-route-user-reset-form main {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-top: 100px;
}
.page-route-entity-user-canonical main>*,
.page-route-commerce-order-address-book-overview main>*,
.page-route-entity-user-edit-form main>*,
.page-route-user-reset-form main>* {
    max-width: 500px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}
.page-route-entity-user-canonical main>*,
.page-route-user-reset-form main>* {
    text-align: center;
}
.page-route-entity-user-canonical .block-page-title-block h1,
.page-route-commerce-order-address-book-overview .block-page-title-block h1,
.page-route-entity-user-edit-form .block-page-title-block h1,
.page-route-user-reset-form .block-page-title-block h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    text-align: center;
    margin-bottom: 30px;
}
/* user info */
.page-route-entity-user-canonical .block-views-blockmy-user-info-block-1 h2 {
    color: var(--color-blue);
    font-size: 24px;
    line-height: 1.45;
    text-align: center;
    margin-bottom: 20px;
}
.page-route-entity-user-canonical .views-label {
    font-weight: 700;
    padding-right: 0.5em;
}
.page-route-entity-user-canonical .views-field-field-display-name .field-content {
    display: inline;
}
.page-route-entity-user-canonical .block-system-main-block,
.page-route-commerce-order-address-book-overview .address-book__profile,
.page-route-entity-user-edit-form .block-system-main-block,
.page-route-user-reset-form .block-system-main-block {
    background-color: #fff;
    border-radius: 24px;
    padding: 30px;
}
.page-route-entity-user-canonical .label,
.page-route-entity-user-canonical .field__label {
    line-height: 2;
    display: block;
    margin-bottom: 0;
}
.page-route-entity-user-canonical .profile,
.page-route-commerce-order-address-book-overview .profile {
    font-size: 18px;
    line-height: 2;
}

/* address book */
.page-route-commerce-order-address-book-overview h2 {
    color: var(--color-blue);
    font-size: 24px;
    line-height: 1.45;
    margin-bottom: 20px;
}
.page-route-commerce-order-address-book-overview .address-section:not(:last-child) {
    margin-bottom: 60px;
}
.page-route-commerce-order-address-book-overview .address-section button {
    background: none;
    border: none;
    color: var(--color-blue);
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    text-align: left;
    display: block;
    width: 100%;
    margin-bottom: 30px;
    padding: 0 15px 0 0;
    position: relative;
    transition: all 0.2s ease;
}
.page-route-commerce-order-address-book-overview .address-section button::after {
    background: url(../image/global/sidebar_button_arrow.svg) center center no-repeat;
    content: '';
    display: block;
    width: 12px;
    height: 10px;
    position: absolute;
    right: 0;
    top: 8px;
    transform: scaleY(-1);
}
.page-route-commerce-order-address-book-overview .address-section button[aria-expanded="false"]::after {
    transform: scaleY(1);
}
.page-route-commerce-order-address-book-overview #other-address .address-book__profile:not(:last-child) {
    margin-bottom: 30px;
}
.page-route-commerce-order-address-book-overview .profile .field {
    margin-bottom: 20px;
}
.page-route-commerce-order-address-book-overview .profile .field .field__label {
    margin-bottom: 0;
}
.page-route-commerce-order-address-book-overview .address-book__add-link {
    background-color: var(--color-form-button);
    border-radius: 8px;
    color: #000;
    font-size: 16px;
    line-height: 24px;
    width: fit-content;
    padding: 6px 15px;
}
.page-route-commerce-order-address-book-overview .address-book__add-link:hover,
.page-route-commerce-order-address-book-overview .address-book__add-link:focus {
    background-color: var(--color-form-button-hover);
    color: #fff;
}
.page-route-commerce-order-address-book-overview .address-book__container .address-book__add-link {
    margin: 0 0 -35px auto;
}
.page-route-commerce-order-address-book-overview .address-book__container:has(.address-book__empty-text) .address-book__add-link {
    margin: 0 auto 30px;
}
.page-route-commerce-order-address-book-overview .address-book__add-link + .address-book__empty-text {
    text-align: center;
}
.page-route-commerce-order-address-book-overview .address-book__profile {
    margin: 0 auto;
}
.page-route-commerce-order-address-book-overview .address-book__operations {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 0;
}
.page-route-commerce-order-address-book-overview .address-book__operations a {
    background-color: transparent;
    border: 1px solid #000;
    border-radius: 40px;
    color: #000;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    display: block;
    width: 140px;
    margin-right: 0;
    padding: 11px;
}
.page-route-commerce-order-address-book-overview .address-book__operations a:hover,
.page-route-commerce-order-address-book-overview .address-book__operations a:focus {
    background-color: #21409A;
    border-color: #21409A;
    color: #fff;
}

/* address book add or edit form */
.page-route-commerce-order-address-book-add-form .breadcrumb-container,
.page-route-commerce-order-address-book-edit-form .breadcrumb-container,
.page-route-commerce-order-address-book-delete-form .breadcrumb-container {
    display: none;
}
.page-route-commerce-order-address-book-add-form main,
.page-route-commerce-order-address-book-edit-form main,
.page-route-commerce-order-address-book-delete-form main {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-top: 100px;
}
.page-route-commerce-order-address-book-add-form main>*,
.page-route-commerce-order-address-book-edit-form main>*,
.page-route-commerce-order-address-book-delete-form main>* {
    max-width: 690px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}
.page-route-commerce-order-address-book-add-form .block-page-title-block h1,
.page-route-commerce-order-address-book-edit-form .block-page-title-block h1,
.page-route-commerce-order-address-book-delete-form .block-page-title-block h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    text-align: center;
    margin-bottom: 30px;
}
.page-route-commerce-order-address-book-add-form .form-item-address-0-address-given-name,
.page-route-commerce-order-address-book-edit-form .form-item-address-0-address-given-name {
    display: inline-block;
    width: calc(50% - 15px);
    margin-right: 26px;
}
.page-route-commerce-order-address-book-add-form .form-item-address-0-address-family-name,
.page-route-commerce-order-address-book-edit-form .form-item-address-0-address-family-name {
    display: inline-block;
    width: calc(50% - 15px);
    margin-right: 0;
}
.page-route-commerce-order-address-book-delete-form h1 {
    color: var(--color-blue);
    font-size: var(--font-size-md);
    line-height: 1.45;
    text-align: center;
    margin-bottom: 30px;
}
.page-route-commerce-order-address-book-delete-form .profile-customer-address-book-delete-form {
    text-align: center;
}
.page-route-commerce-order-address-book-edit-form .button--danger {
    display: none;
}

/* user order page  *************************************/
body.user-page.page-route-entity-commerce-order-user-view {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
}
.page-route-view-commerce-user-orders-order-page .breadcrumb-container {
    display: none;
}
.page-route-view-commerce-user-orders-order-page h1 {
    text-align: center;
}
.page-route-view-commerce-user-orders-order-page main,
.page-route-entity-commerce-order-user-view main .container-fluid {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-top: 100px;
}
.page-route-view-commerce-user-orders-order-page .block-page-title-block h1,
.page-route-entity-commerce-order-user-view .block-page-title-block h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    margin-bottom: 30px;
}
.page-route-view-commerce-user-orders-order-page .view-empty {
    text-align: center;
}
.page-route-view-commerce-user-orders-order-page main>div:has(.region-content) {
    max-width: 1500px;
    margin: 0 auto;
}
.page-route-view-commerce-user-orders-order-page .region-content,
.page-route-entity-commerce-order-user-view .region-content {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}
.page-route-view-commerce-user-orders-order-page table thead th {
    background: none;
    border-color: #939393;
    font-size: 18px;
    font-weight: 400;
    padding: 0 20px 20px;
}
.tablesort--asc,
.tablesort--desc {
    background: url(../image/global/sidebar_button_arrow.svg) center center no-repeat;
    vertical-align: top;
    height: 26px;
    margin-left: 5px;
}
.tablesort--desc {
    transform: scaleY(-1);
}
.page-route-view-commerce-user-orders-order-page table tbody tr {
    position: relative;
}
.page-route-view-commerce-user-orders-order-page table tbody td {
    background: none;
    border-color: #939393;
    box-shadow: none;
    font-size: 18px;
    vertical-align: middle;
    padding: 20px;
}
.page-route-view-commerce-user-orders-order-page table tbody td.views-field-placed {
    min-width: 190px;
}
.page-route-view-commerce-user-orders-order-page table tbody td a::after {
    content: '';
    position: absolute;
    inset: 0;
}

/* order user view */
.page-route-entity-commerce-order-user-view .container-fluid .container {
    max-width: 1100px;
}
.page-route-entity-commerce-order-user-view #block-i2-theme-local-actions {
    display: none;
}
.page-route-entity-commerce-order-user-view main>div:has(.region-content) {
    max-width: 1100px;
    margin: 0 auto;
}
.page-route-entity-commerce-order-user-view .customer-information-body {
    background-color: #fff;
    border-radius: 24px;
    margin-bottom: 50px;
    padding: 40px;
}
.page-route-entity-commerce-order-user-view .customer-information {
    font-size: 16px;
    line-height: 2;
}
.page-route-entity-commerce-order-user-view .customer-information>div:not(.order-information-basic) .field:not(:last-child) {
    margin-bottom: 20px;
}
.page-route-entity-commerce-order-user-view .customer-information .order-information-basic {
    margin-bottom: 20px;
}
.page-route-entity-commerce-order-user-view .field--name-mail {
    margin-bottom: 50px;
}
.page-route-entity-commerce-order-user-view .customer-information__shipping {
    margin-bottom: 50px;
}
.page-route-entity-commerce-order-user-view .customer-information__shipping>.field__label,
.page-route-entity-commerce-order-user-view .customer-billing>.field__label,
.page-route-entity-commerce-order-user-view h2 {
    color: var(--color-blue);
    font-size: 24px;
    font-weight: 500;
    line-height: 35px;
    margin-bottom: 20px;
}
.page-route-entity-commerce-order-user-view .order-additional-information>* {
    line-height: 2;
}
.page-route-entity-commerce-order-user-view .order-additional-information>:last-child {
    margin-bottom: 0;
}
.page-route-entity-commerce-order-user-view .order-information-items table thead th {
    background: none;
    border-color: #939393;
    font-size: 18px;
    font-weight: 400;
    padding: 0 20px 20px;
}
.page-route-entity-commerce-order-user-view .order-information-items table tbody td {
    background: none;
    border-color: #939393;
    box-shadow: none;
    font-size: 18px;
    vertical-align: middle;
    padding: 20px;
}
.page-route-entity-commerce-order-user-view .order-information-items th.views-field-field-images {
    padding-left: 0;
    padding-right: 0;
}
.page-route-entity-commerce-order-user-view .order-information-items td.views-field-field-images {
    width: 110px;
    min-width: 110px;
    padding: 20px 0;
}
.page-route-entity-commerce-order-user-view .order-information-items th#view-title-table-column {
    text-indent: -9999px;
    min-width: 180px;
}
.page-route-entity-commerce-order-user-view .order-information-items .views-field-quantity {
    text-align: center;
    width: 100px;
    min-width: 100px;
}
.page-route-entity-commerce-order-user-view .order-information-items .views-field-total-price__number {
    text-align: right;
    width: 210px;
}
.page-route-entity-commerce-order-user-view .order-information-total-price .order-total-line {
    font-size: 18px;
    padding: 0 20px;
}
.page-route-entity-commerce-order-user-view .order-information-total-price .order-total-line:not(:last-child) {
    margin-bottom: 10px;
}
.page-route-entity-commerce-order-user-view .order-information-total-price .order-total-line__total {
    padding-top: 10px;
}
.page-route-entity-commerce-order-user-view .additional-order-fields {
    display: none;
}

/* index  ***********************************************/
/* Banner */
#carousel-vinda_slideshow_banner_home-block_1 {
    padding-bottom: 40px;
}
#carousel-vinda_slideshow_banner_home-block_1 .carousel-item .img-fluid {
    aspect-ratio: 1920 / 715;
    object-fit: cover;
    width: 100%;
}
.carousel-control-prev,
.carousel-control-next {
    background: #fff url(../image/global/carousel_arrow.svg) center center no-repeat;
    border: 1px solid #EEE;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    opacity: 1;
    margin-top: -25px;
    top: 50%;
    transition: all 0.2s ease-in-out;
}
.carousel-control-prev {
    left: 30px;
    transform: scale(-1);
}
.carousel-control-next {
    right: 30px;
}
.carousel-control-prev:hover,
.carousel-control-prev:focus {
    opacity: 1;
    transform: scale(-1) scale(1.2);
}
.carousel-control-next:hover,
.carousel-control-next:focus {
    opacity: 1;
    transform: scale(1.2);
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}
#carousel-vinda_slideshow_banner_home-block_1 .carousel-indicators {
    background: linear-gradient(270deg, #21409A 0%, #0080D1 62%, #0148A4 100%);
    padding-top: 30px;
    margin: 0;
}
.carousel-indicators [data-bs-target] {
    background-color: #D7E9F6;
    border: none;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    opacity: 1;
    margin-left: 6px;
    margin-right: 6px;
}
.carousel-indicators .active {
    background-color: var(--color-form-button);
}
/* Index Category */
.view-home-life-category {
    background: linear-gradient(270deg, #21409A 0%, #0080D1 62%, #0148A4 100%);
    padding-top: 60px;
    padding-bottom: 60px;
}
.life-category-container {
    display: flex;
    gap: 20px 22px;
    margin: 0 auto;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
}
.life-category-item {
  flex: 1; /* Makes both cards take up equal space (50%) */
}
.category-card {
    background: linear-gradient(180deg, #D7E9F6 30%, #FFF 70%);
    border-radius: 24px;
    display: flex;
    height: 310px;
    overflow: hidden;
    position: relative;
}
.life-category-item:nth-child(2) .category-card {
    background: linear-gradient(180deg, #E9FDE7 30%, #FFF 70%);
}
/* Left side: Lifestyle Image */
.category-lifestyle-img {
    width: 50%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.category-lifestyle-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.2s ease;
}
.category-card:hover .category-lifestyle-img img,
.category-card:focus .category-lifestyle-img img {
    transform: scale(1.15);
}
/* Right side: Text and Button */
.category-content {
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    width: 50%;
    padding: 30px 40px;
    z-index: 1;
}
.category-title {
    color: var(--color-blue);
    font-size: var(--font-size-md);
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: 20px;
}
/* The "Go" (前往) Button */
.category-card .btn {
    background-color: #D7E9F6;
    border: none;
    border-radius: 40px;
    color: #000;
    font-size: 18px;
    line-height: 20px;
    text-decoration: none;
    display: block;
    width: 80px;
    text-align: center;
    margin: 0;
    padding: 10px;
    transition: all 0.2s ease;
}
.category-card .btn::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
}
.category-card:hover .btn,
.category-card:focus .btn {
    background-color: var(--color-lightblue);
}
.life-category-item:nth-child(2) .category-card .btn {
    background-color: #D9F9D5;
}
.life-category-item:nth-child(2) .category-card:hover .btn,
.life-category-item:nth-child(2) .category-card:focus .btn {
    background-color: #a4e262;
}
/* Overlapping Product Image */
.category-product-img {
    position: absolute;
    top: 26.46%;
    bottom: 3.88%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.category-product-img img {
    height: 100%;
    width: auto;
    object-fit: contain;
}

/* ######### Homepage Carousel ######### */
/* Ensure the carousel container is the reference point for absolute positioning */
.homepage-carousel {
  position: initial;
}
.homepage-carousel .carousel-controls-custom {
  position: absolute;
  top: 0;
  right: calc(var(--bs-gutter-x) * 0.5);
  display: inline-flex;
  gap: 15px;
  align-items: center;
  height: calc(var(--font-size-lg)*1.45);
  z-index: 10;
}
.homepage-carousel .carousel-page-indicator {
  font-size: 22px;
  color: var(--color-blue);
  margin-right: 5px;
}
.homepage-carousel .carousel-control-prev,
.homepage-carousel .carousel-control-next {
    margin-top: 0;
    position: static;
    top: 0;
}
.homepage-carousel .carousel-control-prev:hover,
.homepage-carousel .carousel-control-prev:focus {
    background-color: #89D4FF;
    transform: scale(-1) scale(1);
}
.homepage-carousel .carousel-control-next:hover,
.homepage-carousel .carousel-control-next:focus {
    background-color: #89D4FF;
    transform: scale(1);
}

/* ######### Swiper Pagination Section ######### */
.swiper-pagination-section-container .swiper-pagination-controls {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    height: calc(var(--font-size-lg)*1.45);
    position: absolute;
    top: 0;
    right: calc(var(--bs-gutter-x) * 0.5);
}
.swiper-pagination-controls .swiper-pagination-fraction {
    font-size: 22px;
    color: var(--color-blue);
    width: auto;
    margin-right: 5px;
}
/* 將左右按鈕相同的樣式合併 */
[class*="swiper-button-next-"],
[class*="swiper-button-prev-"] {
    background: #fff url(../image/global/carousel_arrow.svg) center center no-repeat;
    border: 1px solid #EEE;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    transition: all 0.2s ease-in-out;
}
[class*="swiper-button-next-"] svg,
[class*="swiper-button-prev-"] svg {
    display: none;
}
[class*="swiper-button-prev-"] {
    transform: scaleX(-1);
}
[class*="swiper-button-next-"]:hover,
[class*="swiper-button-next-"]:focus,
[class*="swiper-button-prev-"]:hover,
[class*="swiper-button-prev-"]:focus {
    background-color: #89D4FF;
}
.swiper-pagination-section-container .swiper-slide {
    height: auto;
}



/* index product listing */
.block-views-blockhot-products-listing-block,
.block-views-blockhot-products-listing-block-all,
.block-views-blockhot-products-listing-block-vinda,
.block-views-blockhot-products-listing-block-dr-p,
.block-views-blockhot-products-listing-block-dr-p-pro,
.block-views-blockhot-products-listing-block-tena,
.block-views-blockcustomer-feedback-listing-block-1 {
    position: relative;
}
.index-products-listing {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
    padding-top: 60px;
    padding-bottom: 60px;
}
.product-card {
    border-radius: 24px;
    background: #FFF;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.10);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 20px;
    position: relative;
    transition: all 0.2s ease-in-out;
}
.product-card:hover,
.product-card:focus {
    background: #EAF6FF;
}
.product-badge .item-list ul {
    display: flex;
    column-gap: 15px;
    list-style: none;
    margin-bottom: 5px;
    padding-left: 0;
}
.product-badge .item-list ul li {
    color: #21409A;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}
.product-badge .new-product {
    color: #FF830F;
}
.product-title {
    font-size: 20px;
    line-height: 29px;
}
.product-title a {
    color: #000;
    font-size: 20px;
    line-height: 29px;
    text-decoration: none;
    margin-bottom:10px;
}
.product-title a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}
.product-meta {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    line-height: 18px;
    color: #727272;
    margin-bottom: 15px;
}
.product-meta .reviews {
    background: url(../image/global/product_reviews.svg) left center no-repeat;
    padding-left: 21px;
}
.product-image {
    width: 200px;
    margin: 0 auto 15px;
    text-align: center;
}
.product-card .product-image img {
    aspect-ratio: 1;
    object-fit: contain;
    max-width: 200px;
    width: 100%;
    height: auto;
}
.product-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: auto;
}
.product-footer .field--name-quantity {
    display: none;
}
.product-footer .form-actions {
    margin-top: 0;
}
.original-price {
    text-decoration: line-through;
    color: #ABABAB;
    font-size: 15px;
    line-height: 22px;
}
.current-price {
    color: #000;
    font-size: 24px;
    font-weight: 500;
    line-height: 42px;
}
.product-footer .btn-primary {
    min-width: auto;
    line-height: 26px;
    padding: 8px 16px;
    position: relative;
    z-index: 2;
}
.product-footer .btn-primary.btn:disabled {
    background-color: #E7E7E7;
    color: #727272;
}


/* index feedback listing */
.index-feedback-listing {
    padding-top: 60px;
}
.feedback-card {
    border-radius: 20px;
    border: 1px solid #D2D2D2;
    background: #FFF;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.10);
    position: relative;
    transition: all 0.2s ease-in-out;
}
.feedback-card:hover,
.feedback-card:focus {
    background-color: #EAF6FF;
}
.feedback-card .card-body {
    padding: 24px 24px 30px;
}
.feedback-product-title {
    font-size: 14px;
    line-height: 17px;
    margin-bottom: 18px;
}
.feedback-product-title a {
    color: #727272;
    font-size: 14px;
    line-height: 17px;
    text-decoration: none;
}
.feedback-product-title a::after {
    content: '';
    position: absolute;
    inset: 0;
}
.feedback-card .card-body .d-flex {
    gap: 20px;
}
.feedback-image {
    flex: 0 0 auto;
    width: 110px;
    height: 110px;
}
.feedback-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border: 1px solid #E5E7EB;
}
.feedback-details {
    flex: 1 1 auto;
}
.feedback-rating {
    margin-bottom: 10px;
}
.feedback-rating .field--name-field-rating-select {
    gap: 5px;
}
.feedback-rating .field--name-field-rating-select .star {
    font-size: 24px;
    width: 24px;
    height: 24px;
}
.feedback-review-title {
    color: #21409A;
    font-size: 22px;
    line-height: calc(100% + 10px);
    margin-bottom: 5px;
}
.feedback-desc {
    line-height: 1.4375;
}
.feedback-desc p {
    margin-bottom: 0;
}
.feedback-card .card-footer {
    background: none;
    border-top: #D2D2D2 1px solid;
    color: #727272;
    font-size: 14px;
    padding: 10px 24px;
}
.feedback-card .feedback-user {
    background: url(../image/global/feedback_user.svg) left center no-repeat;
    padding-left: 21px;
}

/* 1. Main Wrapper & Background */
.product-listing-carousel {
    overflow: hidden;
    /* Prevents horizontal scrollbar on the page */
    padding-bottom: 50px;
    /* Creates space at the bottom for the dots */
    padding-top: 20px;
    background-color: #dbeaf5;
    /* Light blue background matching your image */
}

/* 2. Center Mode Effect (Showing partial left/right slides) */
.product-listing-carousel .carousel-inner {
    padding: 0 15%;
    /* This shrinks the center image and reveals the side images */
    overflow: visible;
    /* Allows the side images to be seen */
}
.product-listing-carousel .carousel-item {
    padding: 0 10px;
    /* Creates the gap between the images */
}
.product-listing-carousel .carousel-item img {
    border-radius: 20px;
    /* Rounds the corners of the images */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    /* Optional: soft shadow */
}

/* 3. Custom Circular Arrows */
.product-listing-carousel .carousel-control-prev,
.product-listing-carousel .carousel-control-next {
    width: 40px;
    height: 40px;
    background-color: #ffffff;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.9;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    z-index: 10;
}
.product-listing-carousel .carousel-control-prev:hover,
.product-listing-carousel .carousel-control-next:hover {
    opacity: 1;
}

/* Position arrows on the edges of the CENTER image */
.product-listing-carousel .carousel-control-prev {
    left: 12%;
}
.product-listing-carousel .carousel-control-next {
    right: 12%;
}

/* Custom Dark Blue Arrow Icons (using SVG data URIs) */
.product-listing-carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002c77'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.product-listing-carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002c77'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* 4. Custom Dots (Indicators) */
.product-listing-carousel .carousel-indicators {
    bottom: -40px;
    margin-bottom: 0;
}
.product-listing-carousel .carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ffffff;
    opacity: 1;
    border: none;
    margin: 0 5px;
}
.product-listing-carousel .carousel-indicators .active {
    background-color: #002c77;
    /* Dark blue for the active dot */
}

/* Products Rating */
/* Container for the stars */
.field--name-field-rating-select {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}
/* Base style for all stars */
.field--name-field-rating-select .star {
    font-size: 18px;
    line-height: 1;
    text-indent: -9999px;
    display: block;
    width: 18px;
    height: 18px;
    overflow: hidden;
}
/* Empty star color (Gray) */
.field--name-field-rating-select .star.empty {
    background: url(../image/global/star_gray.svg);
    background-size: cover;
}
/* Filled star color (Yellow) */
.field--name-field-rating-select .star.filled {
    background: url(../image/global/star_yellow.svg);
    background-size: cover;
}
.field--name-field-customer-feedback-as-string,
.field--name-field-customer-feedback {
    display: none;
}

/* list page  ***********************************************/
.page-node-15,
.page-node-16,
.page-node-17,
.page-node-182,
.page-node-200 {
    background-color: #F7F7F7;
}
.page-node-15 .region-title,
.page-node-16 .region-title,
.page-node-17 .region-title,
.page-node-182 .region-title,
.page-node-200 .region-title {
    display: none;
}
.view-vinda-carousel-banner-2 .vinda-carousel-banner-2-swiper {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
    padding-top: 30px;
    padding-bottom: 30px;
    position: relative;
}
.swiper-button-prev-vinda-carousel-banner-2 {
    margin-top: -25px;
    position: absolute;
    left: calc(50% - (min(53.5vw, 800px) * 0.5) - 25px);
    top: calc(50% - 16px);
    z-index: 1;
}
.swiper-button-next-vinda-carousel-banner-2 {
    margin-top: -25px;
    position: absolute;
    right: calc(50% - (min(53.5vw, 800px) * 0.5) - 25px);
    top: calc(50% - 16px);
    z-index: 1;
}
.vinda-carousel-banner-2-swiper {
    padding: 0 56px;
}
.vinda-carousel-banner-2-swiper .swiper-slide {
    width: min(53.5vw, 800px);
    box-sizing: border-box;
}
.vinda-carousel-banner-2-swiper .swiper-slide img {
    border-radius: 24px;
    width: 100%;
    aspect-ratio: 800 / 370;
    object-fit: cover;
    height: auto;
    display: block;
}
.swiper-horizontal.vinda-carousel-banner-2-swiper>.swiper-pagination-bullets {
    text-align: center;
    margin-top: 22px;
    line-height: 10px;
}
.swiper-horizontal.vinda-carousel-banner-2-swiper>.swiper-pagination-bullets .swiper-pagination-bullet {
    background-color: #fff;
    width: 10px;
    height: 10px;
    margin: 0 6px;
    opacity: 1;
}
.swiper-horizontal.vinda-carousel-banner-2-swiper>.swiper-pagination-bullets .swiper-pagination-bullet-active {
    background-color: #21409A;
}
.block-field-blocknodepagetitle .field--name-title {
    border-bottom: #939393 1px solid;
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    font-weight: 500;
    line-height: 1.45;
    display: block;
    margin-top: 60px;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.product-catalog-container {
    display: flex;
    gap: 30px;
}
.catalog-sidebar {
    flex: 0 0 auto;
    min-width: 235px;
}
/* ######### Filter Sidebar ######### */
/* 分隔線 */
.filter-sidebar-wrapper .section {
    border-bottom: #939393 1px solid;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.filter-sidebar-wrapper .title-text {
    background: none;
    border: none;
    color: var(--color-blue);
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    text-align: left;
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 0 15px 0 0;
    position: relative;
    transition: all 0.2s ease;
}
.filter-sidebar-wrapper .title-text::after {
    background: url(../image/global/sidebar_button_arrow.svg) center center no-repeat;
    content: '';
    display: block;
    width: 12px;
    height: 10px;
    position: absolute;
    right: 0;
    top: 8px;
    transform: scaleY(-1);
}
.filter-sidebar-wrapper .title-text[aria-expanded="false"] {
    margin-bottom: 0;
}
.filter-sidebar-wrapper .title-text[aria-expanded="false"]::after {
    transform: scaleY(1);
}
/* 核取方塊列表容器 */
.filter-sidebar-wrapper .checkbox-list {
    /* display: flex; */
    flex-direction: column;
    gap: 12px;
}
/* 單個核取方塊項目 */
.filter-sidebar-wrapper .radio-item,
.filter-sidebar-wrapper .checkbox-item {
    cursor: pointer;
    display: flex;
    align-items: center;
    margin-bottom: 0;
}
.filter-sidebar-wrapper .radio-item input[type="radio"],
.filter-sidebar-wrapper .checkbox-item input[type="checkbox"] {
    /* 隱藏原生 checkbox */
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    border: #000 1px solid;
    border-radius: 2px;
    width: 14px;
    height: 14px;
    margin-top: 2px;
    margin-right: 8px;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
}
.filter-sidebar-wrapper .radio-item input[type="radio"]::before,
.filter-sidebar-wrapper .checkbox-item input[type="checkbox"]::before {
    background-color: #0052B4;
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    margin-left: 1.5px;
    margin-top: 2px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); /* Checkmark shape */
}
.filter-sidebar-wrapper .radio-item input[type="radio"]:checked,
.filter-sidebar-wrapper .checkbox-item input[type="checkbox"]:checked {
    background-color: #EAF6FF;
    border-color: #0052B4;
}
.filter-sidebar-wrapper .radio-item input[type="radio"]:checked::before,
.filter-sidebar-wrapper .checkbox-item input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.filter-sidebar-wrapper .label-text {
    color: #000;
    font-size: 16px;
    line-height: 2;
}
/* 價格區塊特有樣式 */
.filter-sidebar-wrapper .max-price-text {
    color: #000;
    font-size: 14px;
    line-height: 20px;
    margin-top: 15px;
    margin-bottom: 10px;
}
/* 雙向滑塊容器 */
.filter-sidebar-wrapper .slider-container {
    display: flex;
    align-items: center;
    height: 20px;
    margin-bottom: 20px;
    position: relative;
}
/* 灰色底軌道 */
.filter-sidebar-wrapper .slider-track {
    background-color: #e0e0e0;
    border-radius: 2px;
    width: 100%;
    height: 4px;
    position: absolute;
    z-index: 1;
}
/* 綠色選取範圍軌道 */
.filter-sidebar-wrapper .slider-range {
    background-color: #B9E18F; /* 淺綠色 */
    border-radius: 2px;
    height: 4px;
    position: absolute;
    /* 預設 0 到 800 (80%) */
    left: 0%;
    right: 0%;
    z-index: 2;
}
/* 隱藏原生 input range 樣式，只顯示拉桿 */
.filter-sidebar-wrapper .range-input {
    width: 100%;
    height: 4px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 50%;
    z-index: 3;
    outline: none;
    transform: translateY(-50%);
}
/* Webkit (Chrome, Safari, Edge) 拉桿樣式 */
.filter-sidebar-wrapper .range-input::-webkit-slider-thumb {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    height: 16px;
    width: 16px;
    pointer-events: auto;
    -webkit-appearance: none;
    cursor: pointer;
}
/* Firefox 拉桿樣式 */
.filter-sidebar-wrapper .range-input::-moz-range-thumb {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    height: 16px;
    width: 16px;
    pointer-events: auto;
    cursor: pointer;
}
/* 價格輸入框容器 */
.filter-sidebar-wrapper .price-inputs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.filter-sidebar-wrapper .input-box {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 20px;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    width: 100px;
    padding: 5px 15px;
}
.filter-sidebar-wrapper .currency-symbol {
  color: #727272;
  font-size: 15px;
  line-height: 16px;
  margin-right: 5px;
}
/* 隱藏 number input 的上下箭頭 */
.filter-sidebar-wrapper .input-box input {
    border: none;
    color: #000;
    font-size: 15px;
    line-height: 16px;
    text-align: right;
    outline: none;
    width: calc(100% - 14px);
    -moz-appearance: textfield;
}
.filter-sidebar-wrapper .input-box input::-webkit-outer-spin-button,
.filter-sidebar-wrapper .input-box input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.filter-sidebar-wrapper .price-separator {
    background-color: #000;
    width: 10px;
    height: 2px;
}
/* 清除按鈕 */
.filter-sidebar-wrapper .search-btn {
    background-color: #21409A;
    border: 1px solid #21409A;
    border-radius: 40px;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    width: 100%;
    min-width: auto;
    margin: 0 auto 20px !important;
    padding: 11px;
    cursor: pointer;
    transition: background-color 0.2s;
}
.filter-sidebar-wrapper .search-btn:hover {
    background-color: #0D2172;
    border-color: #0D2172;

}

/* 清除按鈕 */
.filter-sidebar-wrapper .clear-btn {
    background-color: transparent;
    border: 1px solid #000;
    border-radius: 40px;
    color: #000;
    font-size: 16px;
    line-height: 1;
    width: 100%;
    padding: 11px;
    cursor: pointer;
    transition: background-color 0.2s;
}
.filter-sidebar-wrapper .clear-btn:hover {
    background-color: #fff;
}

/* ######### Catalog Main ######### */
.catalog-main {
    flex: 1 1 auto;
    margin-top: 0;
}
.catalog-main .views-view-responsive-grid__item-inner {
    height: 100%;
}
.catalog-main .views-view-responsive-grid {
    --views-responsive-grid--column-count: 3;
}
/* Top Bar */
.catalog-top-bar {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.catalog-top-bar .result-count {
    color: #000;
    font-size: 15px;
    line-height: 22px;
    margin-left: 24PX;
}
.catalog-top-bar .sort-dropdown {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-left: auto;
}
.catalog-top-bar .sort-label {
    color: #000;
    font-size: 16px;
    line-height: 22px;
}
.catalog-top-bar #sort-by {
    background: #fff url(../image/global/sidebar_button_arrow.svg) right 20px center no-repeat;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; /* Removes default arrow */
    border: #E6E6E6 1px solid;
    border-radius: 40px;
    color: #000;
    font-size: 16px;
    line-height: 20px;
    width: 250px;
    padding: 10px 32px 10px 20px;
    cursor: pointer;
}
.catalog-top-bar + .view-empty p {
    font-size: 20px;
    text-align: center;
    margin-bottom: 0;
    padding: 100px 0;    
}

/* product detail page  ***************************************/
.product-detail-page {
    background-color: #F7F7F7;
}
.detail-related-products {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
    padding-top: 60px;
}
.detail-related-products .view-rel-products-listing .views-view-responsive-grid {
    --views-responsive-grid--column-count: 4;
}
.detail-related-products .view-rel-products-listing .views-view-responsive-grid__item-inner {
    height: 100%;
}
.product-detail-page footer {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
}
.product-detail-page h1 {
    display: none;
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section {
    column-gap: 60px;
    margin-top: 60px;
    margin-bottom: 100px;
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section .layout__region--first {
    flex: 0 0 auto;
    width: clamp(350px, 35%, 500px);
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section .layout__region--second {
    flex: 1 1 auto;
    width: calc(100% - 560px);
}
.product-gallery-swiper .swiper-slide {
    border: #E1E1E1 1px solid;
}
.product-gallery-swiper .swiper-slide img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
}
.product-gallery-swiper .thumbnail-btn {
    opacity: .5;
    width: calc(25% - 15px) !important;
}
.product-gallery-swiper .thumbnail-btn:hover,
.product-gallery-swiper .thumbnail-btn:focus,
.product-gallery-swiper .swiper-slide-thumb-active {
    opacity: 1;
}
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-next,
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-prev {
    background: #fff url(../image/global/thumbnail_arrow.svg) center center no-repeat;
    border-radius: 30px;
    display: block;
    width: 30px !important;
    height: 30px;
    margin-top: -15px;
}
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-next {
    right: -15px;
}
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-prev {
    left: -15px;
    transform: scaleX(-1);
}
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-next:after,
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-prev:after {
    content: none;
}
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-next:hover,
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-next:focus,
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-prev:hover,
.product-gallery-swiper .thumbnail-nav-wrapper .swiper-button-prev:focus {
    background-color: #89D4FF;
}
.product-detail-page .field--name-field-product-tags {
    display: flex;
    column-gap: 15px;
    margin-bottom: 5px;
}
.product-detail-page .field--name-field-product-tags .field__item {
    color: #21409A;
    font-size: 18px;
    font-weight: 500;
    line-height: 22px;
}
.product-detail-page .field--name-field-product-tags .field__item .new-product {
    color: #FF830F;
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section .field--name-title {
    font-size: calc(var(--font-size-md) - 2px);
    font-weight: 500;
    margin-bottom: 20px;
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section .field--name-field-rating-select {
    gap: 5px;
    margin-bottom: 30px;
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section .field--name-field-rating-select .star {
    font-size: 22px;
    width: 22px;
    height: 22px;
}
.product-detail-page .block-system-main-block>article>.layout--twocol-section .field--name-field-customer-feedback {
    background: url(../image/global/detail_feedback.svg) left center no-repeat;
    font-size: 18px;
    line-height: 26px;
    float: right;
    margin-top: -52px;
    padding-left: 25px;
}
.product-detail-page .field--name-list-price .field__label,
.product-detail-page .field--name-price .field__label,
.product-detail-page .field--name-variations label {
    display: none;
}
.product-detail-page .field--name-list-price .field__item {
    text-decoration: line-through;
    color: #ABABAB;
    font-size: 15px;
    line-height: 22px;
}
.product-detail-page .field--name-price {
    margin-bottom: 30px;
}
.product-detail-page .field--name-price .field__item {
    color: var(--color-blue);
    font-size: calc(var(--font-size-md) + 2px);
    font-weight: 500;
}
.product-detail-page .field--name-variations .form-number {
    border: #C5C5C5 1px solid;
    border-radius: 34px;
    color: #727272;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
    width: 80px;
    /* padding-left: 26px; */
}
.product-detail-page .form-actions {
    margin-top: 20px;
    text-align: left;
}
.product-detail-page .detail-body {
    border-top: #939393 1px solid;
    margin-top: 30px;
    padding-top: 30px;
}
.product-detail-page .detail-body>h2 {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 10px;
}
.product-detail-page .detail-body .field--name-body p {
    font-size: 16px;
    line-height: 2;
}
.product-detail-page .detail-body .field--name-body :last-child {
    margin-bottom: 0;
}

/* Tab container styling */
.product-detail-page .three_tabs {
    padding-bottom: 60px;
}
.custom-tab-list {
  display: flex;
  padding-left: 6px;
  margin-bottom: 20px;
}
.custom-tab-button {
    background: none;
    border: none;
    border-radius: 0;
    color: #000;
    cursor: pointer;
    font-size: 20px;
    line-height: 29px;
    padding: 10px 20px;
    position: relative;
    transition: all 0.2s ease;
}
.custom-tab-button:not(.active):hover,
.custom-tab-button:not(.active):focus {
  color: var(--color-blue-hover);
}
.custom-tab-button.active {
    background: none;
    border-radius: 0;
    cursor: default;
    font-weight: 500;
}
.custom-tab-button::after {
    background-color: #B9E18F;
    content: '';
    height: 4px;
    opacity: 0;
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    transition: all 0.2s ease;
}
.custom-tab-button.active::after {
    opacity: 1;
}
.tab-content-block {
    background-color: #fff;
    border-radius: 24px;
    padding: 40px;
    display: none;
    animation: fadeIn 0.3s ease-in-out;
}
.tab-content-block.active-content {
    display: block;
}
.tab-content-block > h2,
.tab-content-block > * > h2:first-child {
    display: none;
}
.tab-content-block .field--name-body p,
.tab-content-block .field--name-body ol,
.tab-content-block .field--name-body ul {
    font-size: 16px;
    line-height: 2;
}
.tab-content-block .field--name-body img {
    max-width: 100%;
    height: auto;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* Tab feedback styling */
.view-customer-feedback-1-prod .view-content .views-row {
    position: relative;
}
.view-customer-feedback-1-prod .view-content .views-row h2 {
    display: none;
}
.view-customer-feedback-1-prod .view-content .views-row:not(:last-child) {
    border-bottom: #D2D2D2 1px solid;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.view-customer-feedback-1-prod .view-content .feedback-header {
    display: flex;
}
.view-customer-feedback-1-prod .product-name {
    color: #727272;
    font-size: 14px;
    line-height: 17px;
    margin-right: 20px;
    padding-bottom: 15px;
}
.view-customer-feedback-1-prod .user-profile {
    color: #727272;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin-left: auto;
    position: relative;
}
.view-customer-feedback-1-prod .user-profile::before {
    background: #D7E9F6 url(../image/global/feedback_avatar.svg) no-repeat;
    background-size: cover;
    border-radius: 40px;
    content: '';
    flex: 0 0 auto;
    display: block;
    width: 40px;
    height: 40px;
    margin-right: 10px;
}
.view-customer-feedback-1-prod .field--name-field-rating-select {
    gap: 5px;
    margin-bottom: 15px;
}
.view-customer-feedback-1-prod .field--name-field-rating-select .star {
    font-size: 24px;
    width: 24px;
    height: 24px;
}
.view-customer-feedback-1-prod .feedback-title {
    color: #21409A;
    font-size: 22px;
    display: block;
    margin-bottom: 10px;
}
.view-customer-feedback-1-prod .feedback-desc {
    margin-bottom: 20px;
}
.view-customer-feedback-1-prod .feedback-date {
    color: #727272;
    font-size: 14px;
    line-height: 20px;
}

.vocabulary-shipping-body-option>h2 {
    display: none;
}
.vocabulary-shipping-body-option .field--name-description h2 {
    color: var(--color-blue);
    font-size: 24px;
    line-height: 35px;
    margin-bottom: 20px;
}
.vocabulary-shipping-body-option .field--name-description h2 ~ h2 {
    margin-top: 30px;
}
.vocabulary-shipping-body-option .field--name-description h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 10px;
}
.vocabulary-shipping-body-option .field--name-description p,
.vocabulary-shipping-body-option .field--name-description ol,
.vocabulary-shipping-body-option .field--name-description ul {
    font-size: 16px;
    line-height: 2;
}

/* shopping cart page  ***************************************/
.page-route-commerce-cart-page {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
}
.page-route-commerce-cart-page .region-title {
    padding-top: 60px;
}
.page-route-commerce-cart-page .region-title h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    margin-bottom: 30px;
}
.page-route-commerce-cart-page .views-element-container {
    margin: 0 auto;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}
.page-route-commerce-cart-page .view-commerce-cart-form table {
    margin-bottom: 20px;
}
.page-route-commerce-cart-page .view-commerce-cart-form table a {
    color: #000;
    text-decoration: none;
    overflow: hidden;
}
.page-route-commerce-cart-page .view-commerce-cart-form table a:hover,
.page-route-commerce-cart-page .view-commerce-cart-form table a:focus {
    color: var(--color-blue-hover);
}
.page-route-commerce-cart-page .view-commerce-cart-form table thead th {
    background: none;
    border-color: #939393;
    font-size: 18px;
    font-weight: 400;
    padding: 0 20px 20px;
}
.page-route-commerce-cart-page .view-commerce-cart-form table tbody td {
    background: none;
    border-color: #939393;
    box-shadow: none;
    font-size: 18px;
    vertical-align: middle;
    padding: 20px;
}
.page-route-commerce-cart-page .view-commerce-cart-form .views-field-title-1 {
    min-width: 180px;
}
.page-route-commerce-cart-page .view-commerce-cart-form .views-field-field-images {
    width: 110px;
}
.page-route-commerce-cart-page .view-commerce-cart-form td.views-field-field-images {
    padding: 20px 0;
}
.page-route-commerce-cart-page .view-commerce-cart-form td.views-field-field-images a {
    background-color: #fff;
    display: block;
    width: 110px;
    aspect-ratio: 1;
}
.page-route-commerce-cart-page .view-commerce-cart-form td.views-field-field-images .img-fluid {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    transition: all 0.2s ease;
}
.page-route-commerce-cart-page .view-commerce-cart-form table a .img-fluid:hover,
.page-route-commerce-cart-page .view-commerce-cart-form table a .img-fluid:focus {
    opacity: .75;
}
.page-route-commerce-cart-page .view-commerce-cart-form .views-field-unit-price__number {
    text-align: center;
    width: 130px;
}
.page-route-commerce-cart-page .view-commerce-cart-form .views-field-edit-quantity {
    text-align: center;
    width: 120px;
}
.page-route-commerce-cart-page .view-commerce-cart-form .quantity-edit-input {
    border: #C5C5C5 1px solid;
    border-radius: 30px;
    color: #000;
    text-align: center;
    padding: 2px 15px 2px 15px;
    width: 80px;
}
.page-route-commerce-cart-page .view-commerce-cart-form .views-field-remove-button {
    text-align: center;
    width: 80px;
}
.page-route-commerce-cart-page .view-commerce-cart-form .delete-order-item {
    background: #fff url(../image/global/trash.svg) center center no-repeat;
    border: #C5C5C5 1px solid;
    border-radius: 40px;
    text-indent: -9999px;
    display: block;
    min-width: auto;
    width: 40px;
    height: 40px;
    margin: 0 auto;
    overflow: hidden !important;
}
.page-route-commerce-cart-page .view-commerce-cart-form .delete-order-item:hover,
.page-route-commerce-cart-page .view-commerce-cart-form .delete-order-item:focus {
    background-color: #EAF6FF;
    border-color: #0052B4;
}
.page-route-commerce-cart-page .view-commerce-cart-form .views-field-total-price__number {
    text-align: right;
    width: 210px;
}

/* order total */
.page-route-commerce-cart-page .order-total-line {
    font-size: 18px;
    padding: 0 20px;
}
.page-route-commerce-cart-page .order-total-line:not(:last-child) {
    margin-bottom: 10px;
}
.page-route-commerce-cart-page .order-total-line__total {
    padding-top: 10px;
}
.page-route-commerce-cart-page .form-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 60px;
}
.page-route-commerce-cart-page .form-actions .btn {
    margin: 0;
}

/* cart empty */
.page-route-commerce-cart-page.cart-empty .region-title {
    display: none;
}
.page-route-commerce-cart-page.cart-empty .block-system-main-block {
    text-align: center;
    padding: 140px 15px 80px;
}
.page-route-commerce-cart-page .cart-empty-page {
    background: url(../image/global/icon_cart_empty.svg) center top no-repeat;
    font-size: 24px;
    font-weight: 500;
    line-height: 35px;
    margin-bottom: 50px;
    padding-top: 100px;
}

/* checkout page  ***************************************/
.page-route-commerce-checkout-form {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
}
.page-route-commerce-checkout-form .region-title {
    display: none;
}
.page-route-commerce-checkout-form main>:last-child:not(.container-fluid) {
    max-width: 1500px;
    margin: 0 auto;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-top: 60px;
}
.page-route-commerce-checkout-form .layout-region-checkout-main {
    width: calc(50% + 30px);
    padding-right: 60px;
}
.page-route-commerce-checkout-form h3 {
    color: var(--color-blue);
    font-size: 24px;
    font-weight: 500;
    line-height: 35px;
    margin-bottom: 30px;
}
.page-route-commerce-checkout-form .summary-wrapper {
    background-color: #fff;
    border-radius: 10px;
    padding: 10px 30px 30px;
}
.page-route-commerce-checkout-form .summary-wrapper table {
    margin-bottom: 30px;
}
.page-route-commerce-checkout-form .summary-wrapper table td {
    border-color: #939393;
    box-shadow: none;
    font-size: 18px;
    line-height: 26px;
    padding: 20px;
}
.page-route-commerce-checkout-form .summary-wrapper table tr:last-child td {
    border-bottom: none;
}
.page-route-commerce-checkout-form .summary-wrapper table td:first-child {
    padding-left: 0;
}
.page-route-commerce-checkout-form .summary-wrapper table td:last-child {
    padding-right: 0;
}
.page-route-commerce-checkout-form .summary-wrapper table .views-field-total-price__number {
    text-align: right;
}
.page-route-commerce-checkout-form .summary-wrapper .field--name-total-price {
    margin-bottom: 30px;
}
.page-route-commerce-checkout-form .summary-wrapper .field--name-total-price .order-total-line {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 10px;
    padding: 0;
}
.page-route-commerce-checkout-form .summary-wrapper .field--name-total-price .order-total-line__total {
    margin-bottom: 0;
    padding-top: 10px;
}
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form {
    display: flex;
    align-items: flex-end;
    gap: 20px;
}
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form .form-item {
    margin-bottom: 0;
}
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form .form-item label {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 20px;
}
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form .form-item .form-control {
    border-color: #C5C5C5;
}
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form-apply {
    background-color: var(--color-blue);
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
    min-width: 120px;
    margin-left: 0;
    padding: 10px;
}
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form-apply:hover,
.page-route-commerce-checkout-form .summary-wrapper #edit-sidebar-coupon-redemption-form-apply:focus {
    color: #000;
    background-color: var(--color-lightblue);
}
.page-route-commerce-checkout-form .layout-region-checkout-secondary {
    width: calc(50% - 30px);
    margin-bottom: 10px;
}
.page-route-commerce-checkout-form legend {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 20px;
}
.page-route-commerce-checkout-form legend a {
    color: var(--color-blue);
    font-weight: 400;
    text-decoration: none;
}
.page-route-commerce-checkout-form legend a:hover,
.page-route-commerce-checkout-form legend a:focus {
    color: var(--color-blue-hover);
}
.page-route-commerce-checkout-form #edit-payment-information>legend {
    display: none;
}
.page-route-commerce-checkout-form .form-item-shipping-information-shipping-profile-address-0-address-administrative-area,
.page-route-commerce-checkout-form .address-container-inline>.form-item-shipping-information-shipping-profile-address-0-address-given-name {
    display: inline-block;
    width: calc(50% - 15px);
    margin-right: 26px;
}
.page-route-commerce-checkout-form .form-item-shipping-information-shipping-profile-address-0-address-locality,
.page-route-commerce-checkout-form .address-container-inline>.form-item-shipping-information-shipping-profile-address-0-address-family-name {
    display: inline-block;
    width: calc(50% - 15px);
    margin-right: 0;
}
.page-route-commerce-checkout-form .address-book-edit-button {
    margin-left: 0;
    margin-bottom: 50px;
}
.page-route-commerce-checkout-form #edit-customer-comments {
    margin-top: 30px;
}
.page-route-commerce-checkout-form label.option[for*="edit-payment-information-payment-method-paydollar"]::after {
    background: url(../image/global/payment.svg) no-repeat;
    content: '';
    display: block;
    width: 92px;
    height: 15px;
    margin-top: 20px;
}
.page-route-commerce-checkout-form .layout-region-checkout-secondary .field:not(:last-child) {
    margin-bottom: 20px;
}
.page-route-commerce-checkout-form .layout-region-checkout-secondary .field>* {
    font-size: 16px;
    line-height: 2;
}
.page-route-commerce-checkout-form .layout-region-checkout-footer {
    border-top: #939393 1px solid;
    clear: both;
    float: none;
    width: 100%;
    padding-top: 50px;
    padding-right: 0;
}
.page-route-commerce-checkout-form .layout-region-checkout-footer .form-actions {
    margin-top: 0;
}
.page-route-commerce-checkout-form .layout-region-checkout-footer .form-actions input {
    margin: 0 auto;
}
.page-route-commerce-checkout-form .layout-region-checkout-footer .form-actions input ~ a {
    color: var(--color-blue);
    text-decoration: none;
    display: block;
    width: fit-content;
    margin: 20px auto;
}
.page-route-commerce-checkout-form .layout-region-checkout-footer .form-actions input ~ a:hover,
.page-route-commerce-checkout-form .layout-region-checkout-footer .form-actions input ~ a:focus {
    color: var(--color-blue-hover);
}

/* login in */
.form-wrapper__returning-customer {
    float: none;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 0;
}
.form-wrapper__returning-customer + .checkout-register-toggle-btn {
    text-align: center;
    max-width: 500px;
    margin-top: 50px;
    margin-bottom: 0;
}
.form-wrapper__returning-customer + .checkout-register-toggle-btn span {
    flex: 1 1 auto;
    padding-left: 16px;
}
#edit-login-returning-customer-submit {
    display: block;
    margin: 0 auto 20px;
}
#edit-login-returning-customer-submit ~ a {
    color: var(--color-blue);
    text-decoration: none;
    display: block;
    width: fit-content;
    margin: 0 auto;
}
#edit-login-returning-customer-submit ~ a:hover,
#edit-login-returning-customer-submit ~ a:focus {
    color: var(--color-blue-hover);
}
.form-wrapper__guest-checkout {    
    float: none;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 50px 0 0;
}
#edit-login-guest-continue {
    display: block;
    margin: 0 auto;
}
/* checkout complete */
.page-route-commerce-checkout-form .checkout-complete,
.page-route-commerce-checkout-form .commerce-checkout-completion-register {
    max-width: 500px;
    margin: 0 auto;
}
.page-route-commerce-checkout-form .checkout-complete p,
.page-route-commerce-checkout-form .commerce-checkout-completion-register p {
    font-size: 16px;
    line-height: 2;
}
#local-checkout-submit {
    display: block;
    margin: 0 auto;
}

/* search page  ***********************************************/
.search-page {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
}
.search-page .region-title {
    padding-top: 60px;
}
.search-page .region-title h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    margin-bottom: 30px;
}
.search-page .view-search-products-listing .form-item {
    float: none;
    max-width: 600px;
    margin: 0 auto;
}
.search-page .view-search-products-listing .view-header {
    font-size: 15px;
    line-height: 22px;
    text-align: center;
    margin-bottom: 20px;
}
.search-page .view-search-products-listing label {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.search-page .view-search-products-listing .form-control {
    background: #fff url(../image/global/icon_search.svg) 14px center no-repeat;
    border: #D2D2D2 1px solid;
    border-radius: 50px;
    font-size: 15px;
    line-height: 30px;
    width: 100%;
    margin-bottom: 50px;
    padding: 10px 14px 10px 50px;
}
.search-page .form-actions {
    display: none;
}
.search-page .search-product-item {
    position: relative;
}
.search-product-list-header {
    border-bottom: 1px solid #939393;
}
.search-product-item {
    padding: 20px 0;
    border-bottom: 1px solid #939393;
}
.search-product-item-inner {
    color: #000;
    display: flex;
    align-items: center;
    gap: 20px;
    padding-right: 20px;
}
.search-product-image {
    flex-shrink: 0;
    width: 110px;
}
.search-product-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    transition: all 0.2s ease;
}
.search-product-details {
    flex: 1 1 auto;
    display: flex;
    justify-content: space-between;
}
.search-product-title {
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
}
.search-product-title a {
    color: #000;
    font-size: 18px;
    line-height: 26px;
    text-decoration: none;
    display: block;
    margin-bottom: 0;
}
.search-product-title a:hover {
    color: var(--color-blue-hover);
}
.search-product-item-inner .search-product-price {
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
    margin-left: auto;
}

/* other page  ************************************************/
.page-route-entity-node-canonical {
    background: linear-gradient(270deg, #C1E0F7 10%, #F4F4F4 97%);
}
.page-route-entity-node-canonical h1 {
    color: var(--color-blue);
    font-size: var(--font-size-lg);
    line-height: 1.45;
    margin-bottom: 30px;
}
.page-route-entity-node-canonical:not(.path-frontpage) main>.container-fluid {
    padding-top: 60px;
}
.page-route-entity-node-canonical:not(.path-frontpage) main>div:has(.region-content) {
    max-width: 1500px;
    margin: 0 auto;
}
.page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section {
    justify-content: space-between;
    row-gap: 40px;
}
.page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section > .layout__region--first,
.page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section > .layout__region--second {
    flex: 0 0 auto;
    width: calc(50% - 30px);
}
.page-route-entity-node-canonical .layout--onecol .block-field-blocknodepagefield-body {
    background-color: #fff;
    border-radius: 24px;
    padding: 40px;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body .field--name-field-body>:last-child {
    margin-bottom: 0;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body h2 {
    color: var(--color-blue);
    font-size: 24px;
    font-weight: 500;
    line-height: 35px;
    margin-bottom: 20px;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body h2 ~ h2 {
    margin-top: 30px;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 10px;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body p,
.page-route-entity-node-canonical .block-field-blocknodepagefield-body ul li,
.page-route-entity-node-canonical .block-field-blocknodepagefield-body ol li {
    line-height: 2;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body a {
    color: rgba(var(--bs-link-color-rgb));
    text-decoration: underline;
}
.page-route-entity-node-canonical .block-field-blocknodepagefield-body a:hover,
.page-route-entity-node-canonical .block-field-blocknodepagefield-body a:focus {
    color: var(--color-blue-hover);
}

/**************************************************************/
/* Media Query ************************************************/
@media screen and (min-width: 992px) {

}
@media screen and (max-width: 1359px) {
    /* product detail page  ***************************************/
    .detail-related-products .view-rel-products-listing .views-view-responsive-grid {
        --views-responsive-grid--column-count: 2;
    }
}
@media screen and (max-width: 1299px) {
    /* list page  ***********************************************/
    /* ######### Catalog Main ######### */
    .catalog-main .views-view-responsive-grid {
        --views-responsive-grid--column-count: 2;
    }
}
@media screen and (max-width: 1199px) {
    /* header  ***********************************************/
    /* mega menu */
    header .product-menu .product-image {
        width: 320px;
    }
    /* user order page  *************************************/
    /* order user view */
    .page-route-entity-commerce-order-user-view .customer-information-body {
        padding: 30px;
    }
    /* product detail page  ***************************************/
    .product-detail-page .block-system-main-block>article>.layout--twocol-section {
        gap: 40px 30px;
    }
    /* Tab container styling */
    .tab-content-block {
        padding: 30px;
    }
    /* checkout page  ***************************************/
    .page-route-commerce-checkout-form .layout-region-checkout-main {
        width: calc(50% + 15px);
        padding-right: 30px;
    }
    .page-route-commerce-checkout-form .layout-region-checkout-secondary {
        width: calc(50% - 15px);
    }
    /* other page  ************************************************/
    .page-route-entity-node-canonical .layout--onecol .block-field-blocknodepagefield-body {
        padding: 30px;
    }
    .page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section > .layout__region--first,
    .page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section > .layout__region--second {
        width: calc(50% - 15px);
    }
}
@media screen and (max-width: 1099px) {
    header .product-menu .product-image {
        display: none;
    }
}
@media screen and (max-width: 991px) {
    .offcanvas {
        background: linear-gradient(270deg, #21409A 0%, #0080D1 62%, #0148A4 100%);
        padding: 15px;
    }
    /* footer  ***********************************************/
    footer .footer-regions {
        row-gap: 10px;
    }
    #block-i2-theme-footerleft img {
        margin-bottom: 20px;
    }
    /* index  ***********************************************/
    /* Banner */
    #carousel-vinda_slideshow_banner_home-block_1 .carousel-item .img-fluid {
        aspect-ratio: 4 / 3;
    }
    /* Index Category */
    .view-home-life-category {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .life-category-container {
        flex-direction: column;
    }
    .category-card {
        height: 230px;
    }
    .category-content {
        padding: 22px;
    }

    /* list page  ***********************************************/
    .vinda-carousel-banner-2-swiper {
        padding: 0 40px;
    }
    .vinda-carousel-banner-2-swiper .swiper-slide {
        width: calc(100vw - 220px);
    }
    .swiper-button-prev-vinda-carousel-banner-2 {
        left: 85px;
    }
    .swiper-button-next-vinda-carousel-banner-2 {
        right: 85px;
    }
    /* ######### Catalog Main ######### */
    .catalog-main .views-view-responsive-grid {
        --views-responsive-grid--column-count: 1;
    }
    /* Top Bar */
    .catalog-top-bar #sort-by {
        width: 160px;
    }

    /* product detail page  ***************************************/
    .product-detail-page .block-system-main-block>article>.layout--twocol-section .layout__region--first {
        width: 40%;
    }

    /* checkout page  ***************************************/
    .page-route-commerce-checkout-form .layout-region-checkout-main {
        width: 100%;
        margin-bottom: 50px;
        padding-right: 0;
    }
    .page-route-commerce-checkout-form .layout-region-checkout-secondary {
        width: 100%;
        margin-bottom: 30px;
    }

    /* other page  ************************************************/
    .page-route-entity-node-canonical .layout--onecol .block-field-blocknodepagefield-body {
        padding: 20px;
    }
    .page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section > .layout__region--first,
    .page-route-entity-node-canonical:not(.path-frontpage) .layout--twocol-section > .layout__region--second {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    /* ######### Pagination ######### */
    .page-item-wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
    .pagination .page-link {
        padding: 5px 10px;
    }
    .pagination .pager__item--previous,
    .pagination .pager__item--first {
        margin-right: 10px;
    }
    .pagination .pager__item--next,
    .pagination .pager__item--last {
        margin-left: 10px;
    }
    .pagination .pager__item--first .page-link,
    .pagination .pager__item--previous .page-link,
    .pagination .pager__item--next .page-link,
    .pagination .pager__item--last .page-link {
        width: 40px;
        height: 40px;
    }
    /* header  ***********************************************/
    .navbar-brand img {
        height: 70px;
    }
    body.scroll-fixed .navbar-brand img {
        height: 50px;
    }
    /* footer  ***********************************************/
    footer .footer-graphic {
        object-fit: cover;
        object-position: right;
        height: 160px;
    }
    footer .footer-body {
        padding-top: 0;
    }
    footer .footer-regions .col-12 {
        text-align: center;
    }
    #block-i2-theme-footerleft img {
        width: 100px;
        height: auto;
        margin-top: -118px;
        margin-bottom: 0;
    }
    .back-to-top {
        bottom: 50px;
    }
    /* main  ***********************************************/
    main {
        margin-top: 90px;
    }
    /* user login  ***********************************************/
    #block-i2-theme-local-tasks .nav-tabs .nav-link::after {
        content: none;
    }
    #block-i2-theme-local-tasks .nav-tabs .nav-link {
        font-size: 16px;
        padding: 7px 12px;
    }
    #block-i2-theme-local-tasks .nav-tabs .tab-toggle {
        padding: 7px 12px;
    }
    #block-i2-theme-local-tasks .nav-tabs .nav-item + .nav-item::before {
        content: none;
    }
    /* user my account  *************************************/
    /* user info */
    .page-route-entity-user-canonical .block-system-main-block,
    .page-route-commerce-order-address-book-overview .address-book__profile,
    .page-route-entity-user-edit-form .block-system-main-block {
        border-radius: 15px;
        padding: 20px;
    }
    /* address book */
    .page-route-commerce-order-address-book-overview .address-book__operations a {
        width: fit-content;
        min-width: 90px;
    }
    /* address book add or edit form */
    .page-route-commerce-order-address-book-add-form .form-item-address-0-address-given-name,
    .page-route-commerce-order-address-book-edit-form .form-item-address-0-address-given-name {
        width: calc(50% - 10px);
        margin-right: 15px;
    }
    .page-route-commerce-order-address-book-add-form .form-item-address-0-address-family-name,
    .page-route-commerce-order-address-book-edit-form .form-item-address-0-address-family-name {
        width: calc(50% - 10px);
    }
    /* user order page  *************************************/
    /* order user view */
    .page-route-entity-commerce-order-user-view .customer-information-body {
        padding: 20px;
    }
    /* index  ***********************************************/
    /* Banner */
    #carousel-vinda_slideshow_banner_home-block_1 {
        padding-bottom: 30px;
    }
    .carousel-control-prev,
    .carousel-control-next {
        display: none;
    }
    #carousel-vinda_slideshow_banner_home-block_1 .carousel-indicators {
        padding-top: 20px;
    }
    /* Index Category */
    .category-card {
        height: 165px;
    }
    .category-content {
        padding: 16px;
    }
    .category-card .btn {
        font-size: 16px;
        line-height: 18px;
        width: 50px;
        padding: 4px;
    }
    /* ######### Homepage Carousel ######### */
    .homepage-carousel .carousel-controls-custom {
        margin-top: 30px;
        position: relative;
        right: 0;
    }
    .homepage-carousel .carousel-page-indicator {
        margin-right: 0;
        order: 2;
    }
    .homepage-carousel .carousel-control-prev {
        display: block;
        order: 1;
    }
    .homepage-carousel .carousel-control-next {
        display: block;
        order: 3;
    }
    /* ######### Swiper Pagination Section ######### */
    .swiper-pagination-section-container .swiper-pagination-controls {
        justify-content: center;
        width: 100%;
        margin-top: 30px;
        position: relative;
        right: auto;
    }
    .swiper-pagination-controls .swiper-pagination-fraction {
        margin-right: 0;
        order: 2;
    }
    .swiper-pagination-section-container .swiper-pagination-controls [class*="swiper-button-prev-"] {
        order: 1;
    }
    .swiper-pagination-section-container .swiper-pagination-controls [class*="swiper-button-next-"] {
        order: 3;
    }
    /* index product listing */
    .index-products-listing {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    /* list page  ***********************************************/
    .product-catalog-container {
        flex-direction: column;
    }
    .view-vinda-carousel-banner-2 .vinda-carousel-banner-2-swiper {
        padding: 20px 0;
    }
    .vinda-carousel-banner-2-swiper .swiper-slide {
        width: calc(100vw - 30px);
    }
    .swiper-button-prev-vinda-carousel-banner-2,
    .swiper-button-next-vinda-carousel-banner-2 {
        display: none;
    }
    .swiper-horizontal.vinda-carousel-banner-2-swiper>.swiper-pagination-bullets {
        margin-top: 15px;
    }
    /* ######### Catalog Main ######### */
    /* Top Bar */
    .catalog-top-bar {
        flex-direction: column-reverse;
        align-items: flex-start;
    }
    .catalog-top-bar .result-count {
        margin: 0 auto;
    }
    .catalog-top-bar .sort-dropdown {
        width: 100%;
        margin-left: 0;
    }
    .catalog-top-bar #sort-by {
        flex: 1 1 auto;
    }

    /* product detail page  ***************************************/
    .product-detail-page .block-system-main-block>article>.layout--twocol-section .layout__region--first,
    .product-detail-page .block-system-main-block>article>.layout--twocol-section .layout__region--second {
        width: 100%;
    }
    .detail-related-products .view-rel-products-listing .views-view-responsive-grid {
        --views-responsive-grid--column-count: 1;
    }
    /* Tab container styling */
    .custom-tab-list {
        padding-left: 0;
    }
    .custom-tab-button {
        font-size: 18px;
        line-height: 26px;
        padding: 10px 15px;
    }
    .custom-tab-button::after {
        left: 15px;
        right: 15px;
    }
    .tab-content-block {
        padding: 20px;
    }
    .view-customer-feedback-1-prod .view-content .feedback-header {
        flex-direction: column;
        margin-bottom: 15px;
    }
    .view-customer-feedback-1-prod .product-name {
        margin-right: 0;
    }
    .view-customer-feedback-1-prod .user-profile {
        margin-left: 0;
    }

    /* search page  ***********************************************/
    .search-product-item-inner {
        align-items: normal;
        padding-right: 0;
    }
    .search-product-details {
        flex-direction: column;
    }
    .search-product-item-inner .search-product-price {
        margin-left: 0;
    }

    /* checkout page  ***************************************/
    .page-route-commerce-checkout-form main>:last-child:not(.container-fluid) {
        padding-top: 40px;
    }
    .page-route-commerce-checkout-form .layout-region-checkout-main {
        margin-bottom: 40px;
    }
    .page-route-commerce-checkout-form .summary-wrapper {
        padding: 15px 20px 30px;
    }
    .page-route-commerce-checkout-form .summary-wrapper table td {
        padding: 15px 10px;
    }
    .page-route-commerce-checkout-form .layout-region-checkout-secondary {
        width: 100%;
        margin-bottom: 20px;
    }
    .page-route-commerce-checkout-form #edit-customer-comments {
        margin-top: 20px;
    }
    .page-route-commerce-checkout-form .layout-region-checkout-footer {
        padding-top: 40px;
    }

    /* other page  ************************************************/
    .page-route-entity-node-canonical:not(.path-frontpage) main>.container-fluid {
        padding-top: 40px;
    }
}

/* Cart quantity fullscreen loader (templates/includes/cart-fullscreen-loader.html.twig) */
.cart-fullscreen-loader {
    display: none;
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.7);
}
.cart-fullscreen-loader.is-active {
    display: flex;
}
.cart-fullscreen-loader__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}
.cart-fullscreen-loader__spinner {
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 6px solid #f3f3f3;
    border-top-color: #3498db;
    animation: cart-fullscreen-loader-spin 1s linear infinite;
}
@keyframes cart-fullscreen-loader-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
