/* --------------------------------------------
	INSERT CSS FOR YOUR CHILD THEME HERE
-------------------------------------------- */

@font-face {
  font-family: 'Basel Grotesk';
  src: url('fonts/BaselGrotesk-Medium.eot');
  src: url('fonts/BaselGrotesk-Medium.eot?#iefix') format('embedded-opentype'),
    url('fonts/BaselGrotesk-Medium.woff2') format('woff2'),
    url('fonts/BaselGrotesk-Medium.woff') format('woff'),
    url('fonts/BaselGrotesk-Medium.ttf') format('truetype'),
    url('fonts/BaselGrotesk-Medium.svg#BaselGrotesk-Medium') format('svg');
  font-weight: 500;
  font-style: medium;
  font-display: swap;
}

@font-face {
  font-family: 'Basel Grotesk';
  src: url('fonts/BaselGrotesk-Regular.eot');
  src: url('fonts/BaselGrotesk-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/BaselGrotesk-Regular.woff2') format('woff2'),
    url('fonts/BaselGrotesk-Regular.woff') format('woff'),
    url('fonts/BaselGrotesk-Regular.ttf') format('truetype'),
    url('fonts/BaselGrotesk-Regular.svg#BaselGrotesk-Regular') format('svg');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

* {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, -apple-system, sans-serif !important;
}

i,
.fa,
.fas {
  font-family: "Font Awesome 5 Free" !important;
}

body {
  font-size: 15px;
}

#navi a {
  font-weight: 300;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 500 !important;
}

.home-text h2 {
  font-weight: 500;
}

*:focus {
  outline: none;
  border: 0;
}

a {
  transition: all 500ms ease !important;
}

a:not(.gm-product-image-wrap):not(.gm-card-image-link):not(.gm-drawer-btn):not(.gm-drawer-btn-pill):not(.gm-drawer-tab):hover {
  opacity: 0.7 !important;
}

@media (max-width: 767px) {

  .responsive-ux .product-item,
  .responsive-ux.woocommerce .columns-4.main-list-inn .product-item,
  .responsive-ux.woocommerce .columns-3.main-list-inn .product-item,
  .responsive-ux.woocommerce .columns-5.main-list-inn .product-item,
  .responsive-ux.woocommerce .columns-6.main-list-inn .product-item {
    width: 100%;
  }



}

.related.products {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 50px;
}


.product-item {
  width: 100%;
}

.product-item .inside {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 !important;
}

.responsive-ux .main-list .product-caption-title {
  font-weight: 500;
}

#faq .card-body {
  font-size: 15px;
  max-height: 350px;
  overflow-y: scroll;
  margin-top: 5px;
  scrollbar-color: #414141 #ebebeb;
  scrollbar-width: thin;
  background: #fafafa;
  border-radius: 5px;
}

#faq .card-body::-webkit-scrollbar-thumb {
  border-radius: 2rem !important;
}

#faq .card-body::-webkit-scrollbar-thumb {
  background-color: #ebebeb;
  border-radius: 8px;
  background-clip: padding-box;
}

#faq .card-body::-webkit-scrollbar {
  width: 8px;
}


.btn-header-link:focus {
  box-shadow: none;
  border-color: rgba(255, 255, 255, .1);
}

.woocommerce-product-details__short-description {
  font-size: 15px;
}

#faq .card {
  margin-bottom: 5px;
  border: 0;
}

#faq .card .card-header {
  border: 0;
  padding: 0;
  background: transparent;
}

#faq .card .card-header .btn-header-link {
  color: #414141;
  display: block;
  text-align: left;
  font-size: 16px;
  text-transform: uppercase;
}

#faq .card .card-header .btn-header-link:after {
  content: "\f2d1";
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
  float: right;
  font-size: 11px;
}

#faq .card .card-header .btn-header-link.collapsed {
  color: #414141;
}

#faq .card .card-header .btn-header-link.collapsed:after {
  content: "\f067";
  font-size: 11px;
}

#faq .card .collapsing {
  line-height: 30px;
}

#faq .card .collapse {
  border: 0;
}

#faq .card .collapse.show {
  line-height: 30px;
  color: #222;
}

.header-main {
  height: 60px !important;
}

.widget-title {
  text-align: left;
  border-bottom: 1px solid #ebebeb;
  font-weight: 500;
  font-size: 16px;
}


.slick-slide {
  padding: 10px;
}

.product-caption-title {
  text-align: left;
  display: block;
  font-weight: 600;
  font-size: 24px;
  line-height: 28px;
  margin-bottom: 1px;
  margin-top: 8px;
}

.archive-product-info .price span.woocommerce-Price-amount.amount {
  font-size: 21px;
}

.inside .price {
  display: block;
  text-align: left;
}

.inside .star-rating {
  display: none;
}

.inside .button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
  display: none;
}

.related.products .product-caption-title {
  font-size: 16px;
  margin-top: 10px;
}

.related.products .price bdi {
  font-size: 15px;
  font-weight: 400;
}

.related.products .price {
  margin: 0;
  padding: 0;
  line-height: 18px;
}

#faq .btn {
  padding: 0;
}

.product-single .product_meta {
  border-top: 1px solid #ebebeb;
  padding-top: 5px;
  margin-top: 15px;
}


@media only screen and (max-width :768px) {

  .responsive-ux .menu-panel .navi li {
    list-style: none;
    padding: 5px 0;
  }

  .mobile-btn-cart-click {
    display: block !important;
  }

  .mobile-btn-cart-click.has-buy-now #tbay-click-addtocart {
    width: 125px;
    border-right: 1px solid #ebebeb !important;
    border-top: 1px solid #000 !important;
  }

  .tbay-click-addtocart i {
    font-size: 20px !important;
  }

  .mobile-btn-cart-click.has-buy-now #tbay-click-addtocart::before {
    position: absolute;
    margin: 0;
    line-height: 50px;
    font-size: 18px;
  }

  .mobile-btn-cart-click #tbay-click-addtocart,
  .mobile-btn-cart-click #tbay-click-buy-now {
    font-size: 16px !important;
    font-weight: 700;
  }

  .mobile-btn-cart-click #tbay-click-addtocart {
    margin: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: auto;
    padding: 0;
    z-index: 500;
    border-radius: 0 !important;
    border: 0 !important;
    color: #414141 !important;
    line-height: 39px;
    text-align: center;
    min-height: 39px;
    width: 100%;
    background: #ffffff;
    font-size: 13px;
    text-transform: uppercase;
  }

  .mobile-btn-cart-click #tbay-click-addtocart::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 30px;
    background-color: #fff;
    top: 50%;
    transform: translate(0, -50%);
    min-width: unset;
    display: none;
  }

  .mobile-btn-cart-click #tbay-click-buy-now {
    padding: 0 30px;
    position: fixed;
    z-index: 1000;
    bottom: 0;
    width: calc(100% - 125px);
    left: 0;
    margin: 0;
    height: 39px;
    line-height: 39px;
    margin-left: 125px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px !important;
    max-height: 50px;
    opacity: 1;
    filter: alpha(opacity=100);
    text-align: center;
    color: #414141;
    background: #ffffff;
    font-weight: 700;
  }

  #mobile-close-infor-wrapper {
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.7);
    width: 100vw;
    left: 0;
    height: 1000vw;
    top: 0;
    z-index: 998;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: hidden;
    pointer-events: none;
  }

  .mobile-infor-wrapper,
  #mobile-close-infor {
    display: block !important;
  }

  .mobile-infor-wrapper .media {
    display: flex;
  }

  .form-cart-popup .information #shop-now {
    position: relative;
  }

  .form-cart-popup .information #shop-now .quantity {
    display: block !important;
    margin: 10px 15px 60px !important;
    padding: 0;
    height: 45px;
  }

  .form-cart-popup .information #shop-now .tbay-wishlist {
    position: absolute;
    z-index: 99;
    right: 15px;
    background: #fff;
    top: 12px;
  }

  .form-cart-popup .information #shop-now .tbay-compare {
    display: none !important;
  }

  .form-cart-popup .information #shop-now.has-buy-now.has-wishlist .tbay-buy-now {
    left: 0;
    right: auto;
    margin-left: 25px !important;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .single_add_to_cart_button,
  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .tbay-buy-now {
    bottom: 0 !important;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table {
    margin-bottom: 0 !important;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr {
    border-bottom: 1px solid #ddd;
    align-items: flex-start;
    padding: 0 185px 10px 15px;
    margin: 0;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr:last-child {
    border-bottom: 0;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr td.woocommerce-grouped-product-list-item__quantity {
    left: auto;
    width: auto;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr td.woocommerce-grouped-product-list-item__quantity .add-cart {
    margin-right: 15px;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr td.woocommerce-grouped-product-list-item__price {
    padding: 0;
    text-align: left;
  }

  .form-cart-popup .information form.cart {
    position: fixed;
    bottom: 0;
    width: 100vw;
    left: 0;
    background: #fff;
    z-index: 999;
    -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%);
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    margin: 0 !important;
  }

  .form-cart-popup .information form.cart.grouped_form .tbay-wishlist {
    display: none !important;
  }

  .form-cart-popup .information form.cart .group_table {
    margin: 15px 0 33px !important;
  }

  .form-cart-popup .information form.cart .group_table label {
    margin-bottom: 0;
  }

  .form-cart-popup .information form.cart .group_table tr {
    padding: 0 15px;
    margin-bottom: 10px;
    display: table-row;
  }

  .form-cart-popup .information form.cart .group_table tr>td.woocommerce-grouped-product-list-item__label,
  .form-cart-popup .information form.cart .group_table tr>td.woocommerce-grouped-product-list-item__price {
    width: 100%;
    display: inline-block;
    padding-bottom: 0 !important;
    max-width: unset;
  }

  .form-cart-popup .information form.cart .group_table tr>td.woocommerce-grouped-product-list-item__quantity .title-qty {
    display: none;
  }

  .form-cart-popup .information form.cart .group_table tr:last-child {
    padding-bottom: 0;
  }

  .form-cart-popup .information form.cart .group_table tr td {
    margin: 0 !important;
    padding: 0 3px;
  }

  .form-cart-popup .woocommerce-grouped-product-list-item__label {
    border-bottom: none !important;
  }

  .form-cart-popup .woocommerce-grouped-product-list-item__label label {
    font-size: 16px;
  }

  .form-cart-popup .information form.cart .group_table tr .box-quantity {
    margin-bottom: 15px !important;
    margin-top: 0 !important;
    padding-right: 0 !important;
  }

  .form-cart-popup .information form.cart .group_table tr p.stock {
    background: white;
    font-size: 14px;
    padding: 0;
    margin: 0;
  }

  .form-cart-popup .information form.cart .group_table tr .woocommerce-Price-amount {
    font-size: 16px;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper,
  .form-cart-popup .information form.cart #mobile-close-infor {
    display: block;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper {
    padding: 0 15px 15px;
    border-bottom: 1px solid #ddd;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper img {
    max-height: 100px;
    width: auto;
    max-width: 80px;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper .infor-body p.stock {
    background: white;
    font-size: 14px;
    padding: 0;
    margin: 0;
    text-align: left;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper .infor-body .price,
  .form-cart-popup .information form.cart .mobile-infor-wrapper .infor-body .woocommerce-Price-amount {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 5px;
  }

  .form-cart-popup .information form.cart .woocommerce-product-details__short-description {
    display: none;
  }

  .form-cart-popup .information form.cart #mobile-close-infor {
    text-align: right;
  }

  .form-cart-popup .information form.cart #mobile-close-infor i {
    font-size: 24px;
    margin: 10px 10px 0;
    display: inline-block;
    cursor: pointer;
  }

  .form-cart-popup .information form.cart #mobile-close-infor i:hover {
    color: var(--tb-theme-color);
  }

  .form-cart-popup .information form.cart div.quantity {
    padding: 0;
    float: none !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center;
  }

  .form-cart-popup .information form.cart div.quantity button[type="button"] {
    min-width: 36px;
    line-height: 45px;
    height: 45px;
  }

  .form-cart-popup .information form.cart div.quantity .title-qty {
    line-height: 47px;
  }

  .form-cart-popup .information form.cart .variations {
    padding: 15px;
    display: block;
    border-bottom: 1px solid #ddd !important;
    max-height: 220px;
    overflow: hidden;
    overflow-y: scroll;
    margin-bottom: 0 !important;
  }

  .form-cart-popup .information form.cart .variations tr:last-child {
    padding-bottom: 0;
  }

  .form-cart-popup .information form.cart .single_variation {
    display: none !important;
  }

  .form-cart-popup .information form.cart .single_add_to_cart_button.disabled,
  .form-cart-popup .information form.cart .tbay-buy-now.disabled {
    opacity: 0.7 !important;
    filter: alpha(opacity=70) !important;
  }

  .form-cart-popup .information form.cart.open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    z-index: 999999;
    padding: 0 !important;
  }

  .form-cart-popup .cart .button.buy_now_button,
  .form-cart-popup .cart .button.single_add_to_cart_button {
    width: 100% !important;
    display: inline-block;
    border-radius: inherit;
    background: #d14613;
    border: 0;
    color: #fff;
  }

  .form-cart-popup .information form.cart.open .variable-items-wrapper .wvs-has-image-tooltip:hover:after,
  .form-cart-popup .information form.cart.open .variable-items-wrapper .wvs-has-image-tooltip:hover:before,
  .form-cart-popup .information form.cart.open .variable-items-wrapper [data-wvstooltip]:hover:after,
  .form-cart-popup .information form.cart.open .variable-items-wrapper [data-wvstooltip]:hover:before {
    display: none;
  }

  .form-cart-popup .information form.cart.open .single_add_to_cart_button::before {
    margin: 0 !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-all .single_variation_wrap #shop-now.has-buy-now .single_add_to_cart_button:before {
    right: 1px;
    margin-top: 0 !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .tbay-buy-now {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button {
    width: 100% !important;
    font-size: 16px !important;
    transition: none !important;
    max-width: unset !important;
    line-height: 20px !important;
    display: block !important;
    border: none;
    color: #fff;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button:before,
  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button:after {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button.loading:after {
    position: relative;
    display: inline-block !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward {
    width: 100%;
    font-size: 16px;
    transition: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward::before,
  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward::after {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward {
    width: 100%;
    font-size: 16px !important;
    transition: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward:before,
  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward:after {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-buynow .tbay-buy-now {
    margin: 0;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    font-size: 16px;
  }

  .form-cart-popup .information form.cart.open.open-btn-buynow .tbay-buy-now {
    width: 100% !important;
    margin: 0 !important;
  }

  .form-cart-popup .information form.cart.open~#mobile-close-infor-wrapper {
    opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
    pointer-events: all;
  }

  .form-cart-popup .information form.cart.open~.mobile-btn-cart-click {
    display: none;
  }

  .open-btn-addtocart .buy_now_button {
    display: none !important;
  }

  #mobile-close-infor svg {
    padding: 5px;
    margin-right: 5px;
    cursor: pointer;
  }

  .responsive-ux .main-list .product-caption-title {
    font-size: 16px;
  }

  span.price span.woocommerce-Price-amount {
    font-size: 16px;
  }

  .custom_variation_swatches {
    display: block;
  }

  .archive-product-info {
    width: 100%;

  }

  .archive-product-info .product-caption-title {
    line-height: 25px;
  }

  .archive-product-info .price span.woocommerce-Price-amount.amount {
    font-size: 16px;
  }

  .single-product-store-btn {
    margin-top: 20px;
  }

}

@media (min-width: 768px) {
  .archive-title.title-wrap {
    padding-bottom: 55px;
  }

  .archive-product-info {
    width: 50%;
  }
}

/*------ Custom Archive Product -------*/

.archive-product-info .button {
  display: none !important;
}

img.pcat-cover {
  margin-bottom: 50px;
}

a.button.wp-element-button.product_type_variable.add_to_cart_button {
  display: none;
}

.archive-content-info {
  display: flex;
}

.custom_variation_swatches {
  width: 50%;
}

.custom_variation_swatches .vi-wpvs-option-wrap {
  border-radius: 100%;
}

.custom_variation_swatches .vi-wpvs-option-wrap {
  width: 50px !important;
  height: 50px !important;
}

/*----- Custom Single Product ------*/


.product-wrap.product-single.art-mini-slider p.price {
  margin: 0;
}

.single-product-store-btn {
  border: 1px solid #414141;
  display: block;
  margin-bottom: 20px;
  text-align: center;
  padding: 1em 2em;
  text-transform: uppercase;
  font-size: 16px;
  width: 100%;
}

.reset_variations {
  display: none !important;
}

.woo-plain-images .single-product-summary {
  padding-top: 0 !important;
}

.related.products .archive-product-info {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.archive-product-info .product-caption-title {
  text-align: left !important;
}

.related.products .archive-content-info {
  display: block;
}

.related.products .custom_variation_swatches {
  display: none;
}

.single_add_to_cart_button.button.alt.wp-element-button {
  border-radius: 32px;
  border: 1px solid #999;
}

ul.product-colors {
  display: flex;
  margin: 20px 0;
}

ul.product-colors li {
  list-style: none;
  padding-right: 10px;
  width: 20%;
}

ul.product-colors li a img {
  border-radius: 8px;
}

ul.product-colors li a.active img {
  border: 1px solid #414141;
}

.woocommerce-notices-wrapper,
.woocommerce-form-coupon-toggle {
  display: none;
}

.navi-header li.menu-item a:hover {
  color: #727272;
}

ul#menu-menu-footer-1 li,
#menu-social li {
  line-height: 1;
  padding: 0 0 13px 0 !important;
  border-bottom: 0 !important;
}

/* body:not(.page_from_top) #wrap {
  padding-top: 30px;
} */

.prdctfltr_wc .prdctfltr_filter_title>span.prdctfltr_woocommerce_filter_title {
  max-width: 20em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 300;
}

span.sold-out-inn {
  position: relative;
  font-size: 14px;
}

.xoo-wsc-basket {
  right: 0;
}

#faq .card .card-header .btn-header-link {
  font-weight: 300;
}

td.product-name {
  text-transform: uppercase;
  font-size: 15px;
}

table.shop_table.cart tr th {
  text-transform: uppercase;
  font-size: 15px;
}

.woocommerce button.button {
  font-size: 15px;
}

span.xoo-wsc-pname,
span.xoo-wsc-pname a {
  font-weight: 300;
  text-transform: uppercase;
}

.xoo-wsc-qtb-square input[type="number"].xoo-wsc-qty {
  border-top-width: 0;
  border-bottom-width: 0;
  vertical-align: middle;
  margin: 0;
}

.xoo-wsc-qty-box.xoo-wsc-qtb-square {
  border: 1px solid;
}


span.onsale,
.woocommerce span.onsale,
.woocommerce-page span.onsale {
  background: #000000;
  padding: 2px 10px;
  line-height: 30px;
  font-size: 15px;
  right: 20px;
  top: 20px;
}

.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce span.sold-out,
.woocommerce-page span.sold-out {
  position: absolute;
  top: 0;
  right: 0;
}

@media only screen and (max-width: 768px) {

  .mobile-fit-screen {
    height: 100vh;
    padding-top: 75vh !important;
  }

  span.onsale,
  .woocommerce span.onsale,
  .woocommerce-page span.onsale,
  .woocommerce span.sold-out,
  .woocommerce-page span.sold-out {
    right: 3px;
    top: 4px;
  }

  span.navi-trigger-text,
  section.related.products h2 {
    text-transform: uppercase;
  }

  #navi a:hover,
  #navi a:active,
  a.product-archive-title:active,
  a.product-archive-title:hover {
    color: #c7c7c7;
  }

}

@media all and (device-width: 768px) and (device-height: 1024px) and (orientation:portrait) {
  .main-list-inn {
    padding: 0 5px;
  }

  .mobile-fit-screen {
    height: 100vh;
    padding-top: 75vh !important;
  }
}

.home div#wrap,
.home .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
  padding: 0;
  margin: 0;
  top: 0 !important;
}

li.menu-item.menu-item-gtranslate.menu-item-has-children.notranslate img {
  margin-top: -5px;
}

.blog-unit-meta-bottom {
  display: none;
}

li.menu-item.menu-item-gtranslate-child {
  padding-bottom: 5px;
}

div#header-main {
  border-bottom: 0.5px solid #b2b2b2;
  background: #fff !important;
}

a.product-add-more {
  color: #999999;
  font-size: 13px;
  display: block;
  padding-top: 8px;
}

#faq .card {
  background: #F4F4F4;
}

#faq .card-body {
  font-size: 15px;
}

.woocommerce-product-details__short-description {
  font-size: 15px;
}

.navi-header li.menu-item a {
  text-transform: capitalize;
  font-size: 15px;
}

.responsive-ux .navi .menu li>a {
  text-transform: uppercase;
  line-height: 29px;
  font-size: 18px;
}

li {
  list-style: disc;
}

.archive-title .title-wrap-tit {
  text-transform: uppercase;
  font-weight: 600;
}

h2.grid-item-tit a.grid-item-tit-a {
  font-size: 28px;
}

span.price span.woocommerce-Price-amount {
  font-size: 25px;
}

.woocommerce .product-caption a.button {
  border: 1px soild #000000 !important;
}

.woocommerce ul.order_details {
  margin-bottom: 0;
  padding: 0 10px;
}

.woocommerce-checkout .entry h2 {
  margin: 20px 0 20px;
}

#footer p {
  margin-bottom: 5px;
  font-size: 13px;
}

#footer ul li {
  list-style: none;
}

#footer ul li a {
  font-size: 13px;
  Color: #414145;
  letter-spacing: inherit;
}

#footer .container-fluid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 15px;
  padding: 20px 0;

}

@media (max-width: 768px) {
  #footer .container-fluid {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 20px 0;

  }

}

#footer .footer-cols-item {
  width: 100%;
  float: left;
  padding: 0;
}

#slider-on-mobile {
  display: none;
}

@media only screen and (max-width: 768px) {
  #footer .footer-cols-item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    padding: 0 20px;
  }

  .responsive-ux .menu-panel .navi li {
    list-style: none;
  }
}

@media only screen and (max-width: 500px) {
  #slider-on-mobile {
    display: block;
  }

  #slider-on-pc {
    display: none;
  }
}

*:focus {
  outline: none;
  border: 0;
}

#faq .card-body {
  font-size: 14px;
  max-height: 350px;
  overflow-y: scroll;
  margin: 20px 0;
  scrollbar-color: #414141 #ebebeb;
  scrollbar-width: thin;
  background-color: transparent;
  padding: 0;
}

#faq .card-body::-webkit-scrollbar-thumb {
  border-radius: 2rem !important;
}

#faq .card-body::-webkit-scrollbar-thumb {
  background-color: #ebebeb;
  border-radius: 8px;
  background-clip: padding-box;
}

#faq .card-body::-webkit-scrollbar {
  width: 8px;
}


.btn-header-link:focus {
  box-shadow: none;
  border-color: rgba(255, 255, 255, .1);
}

.woocommerce-product-details__short-description {
  font-size: 15px;
}

#faq .card {
  margin-bottom: 5px;
  border: 0;
}

#faq .card .card-header {
  border: 0;
  padding: 0;
  background: transparent;
}

#faq .card .card-header .btn-header-link {
  color: #414141;
  display: block;
  text-align: left;
  font-size: 16px;
  text-transform: uppercase;
}

#faq .card .card-header .btn-header-link:after {
  content: "\f2d1";
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
  float: right;
  font-size: 11px;
}

#faq .card .card-header .btn-header-link.collapsed {
  color: #414141;
}

#faq .card .card-header .btn-header-link.collapsed:after {
  content: "\f067";
  font-size: 11px;
}

#faq .card .collapsing {
  line-height: 30px;
}

#faq .card .collapse {
  border: 0;
}

#faq .card .collapse.show {
  line-height: 30px;
  color: #222;
}


.widget-title {
  text-align: left;
  border-bottom: 1px solid #ebebeb;
  font-weight: 500;
  font-size: 16px;
}



.slick-slide {
  padding: 10px;
}

.product-caption-title {
  text-align: left;
  display: block;
  font-weight: 600;
  font-size: 15px !important;
  line-height: 1.2;
  margin-bottom: 6px;
  margin-top: 8px;
  text-transform: uppercase;
}

.archive-product-info .price span.woocommerce-Price-amount.amount {
  font-size: 16px;
}

.woocommerce .price del {
  color: #a2a2a2;
  font-size: 15px !important;
}

.inside .price {
  display: block;
  text-align: left;
}

.inside .star-rating {
  display: none;
}

.inside .button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
  display: none;
}

.related.products .product-caption-title {
  font-size: 15px;
  margin-top: 10px;
}

.related.products .price bdi {
  font-size: 15px;
  font-weight: 400;
}

.related.products .price {
  margin: 0;
  padding: 0;
  line-height: 18px;
}

#faq .btn {
  padding: 0;
}

.product-single .product_meta {
  border-top: 1px solid #ebebeb;
  padding-top: 5px;
  margin-top: 15px;
}

span.woocommerce-Price-amount.amount {
  color: #000;
  font-size: 19px;
}

.woocommerce .main-list {
  margin: 0 !important;
}



@media only screen and (max-width :768px) {

  .mobile-btn-cart-click {
    display: block !important;
  }

  .mobile-btn-cart-click.has-buy-now #tbay-click-addtocart {
    width: 125px;
    border-right: 1px solid #000 !important;
  }

  .woocommerce div.product .product_title {
    padding-top: 15px;
  }

  div#tbay-click-buy-now {
    font-weight: 300 !important;
  }

  span.navi-trigger-text-menu.navi-trigger-text-inn {
    padding-top: 2px;
  }

  .archive-content-info {
    display: block;
  }


  .tbay-click-addtocart i {
    font-size: 20px !important;
  }

  .mobile-btn-cart-click.has-buy-now #tbay-click-addtocart::before {
    position: absolute;
    margin: 0;
    line-height: 50px;
    font-size: 18px;
  }

  .mobile-btn-cart-click #tbay-click-addtocart,
  .mobile-btn-cart-click #tbay-click-buy-now {
    font-size: 16px !important;
    font-weight: 700;
    border-top: 1px solid #000;
  }

  .mobile-btn-cart-click #tbay-click-addtocart {
    margin: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: auto;
    padding: 0;
    z-index: 500;
    border-radius: 0 !important;
    border: 0 !important;
    color: #414141 !important;
    line-height: 44px;
    text-align: center;
    min-height: 45px;
    width: 100%;
    background: #ffffff;
    font-size: 13px;
    text-transform: uppercase;
  }

  .mobile-btn-cart-click .fab {
    font-family: 'Font Awesome 5 Brands' !important;
  }


  .mobile-btn-cart-click #tbay-click-addtocart::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 30px;
    background-color: #fff;
    top: 50%;
    transform: translate(0, -50%);
    min-width: unset;
    display: none;
  }

  .mobile-btn-cart-click #tbay-click-buy-now {
    padding: 0 30px;
    position: fixed;
    z-index: 1000;
    bottom: 0;
    width: calc(100% - 125px);
    left: 0;
    margin: 0;
    height: 45px;
    line-height: 45px;
    margin-left: 125px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px !important;
    max-height: 50px;
    opacity: 1;
    filter: alpha(opacity=100);
    text-align: center;
    color: #414141;
    background: #ffffff;
    font-weight: 700;
  }

  #mobile-close-infor-wrapper {
    display: block;
    position: fixed;
    background: rgba(0, 0, 0, 0.7);
    width: 100vw;
    left: 0;
    height: 1000vw;
    top: 0;
    z-index: 998;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: hidden;
    pointer-events: none;
  }

  .mobile-infor-wrapper,
  #mobile-close-infor {
    display: block !important;
  }

  .mobile-infor-wrapper .media {
    display: flex;
  }

  .form-cart-popup .information #shop-now {
    position: relative;
  }

  .form-cart-popup .information #shop-now .quantity {
    display: block !important;
    margin: 10px 15px 60px !important;
    padding: 0;
    height: 45px;
  }

  .form-cart-popup .information #shop-now .tbay-wishlist {
    position: absolute;
    z-index: 99;
    right: 15px;
    background: #fff;
    top: 12px;
  }

  .form-cart-popup .information #shop-now .tbay-compare {
    display: none !important;
  }

  .form-cart-popup .information #shop-now.has-buy-now.has-wishlist .tbay-buy-now {
    left: 0;
    right: auto;
    margin-left: 25px !important;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .single_add_to_cart_button,
  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .tbay-buy-now {
    bottom: 0 !important;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table {
    margin-bottom: 0 !important;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr {
    border-bottom: 1px solid #ddd;
    align-items: flex-start;
    padding: 0 185px 10px 15px;
    margin: 0;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr:last-child {
    border-bottom: 0;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr td.woocommerce-grouped-product-list-item__quantity {
    left: auto;
    width: auto;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr td.woocommerce-grouped-product-list-item__quantity .add-cart {
    margin-right: 15px;
  }

  .form-cart-popup .information.product.product-type-grouped form.cart.grouped_form .group_table tr td.woocommerce-grouped-product-list-item__price {
    padding: 0;
    text-align: left;
  }

  .form-cart-popup .information form.cart {
    position: fixed;
    bottom: 0;
    width: 100vw;
    left: 0;
    background: #fff;
    z-index: 999;
    -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%);
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    margin: 0 !important;
  }

  .form-cart-popup .information form.cart.grouped_form .tbay-wishlist {
    display: none !important;
  }

  .form-cart-popup .information form.cart .group_table {
    margin: 15px 0 33px !important;
  }

  .form-cart-popup .information form.cart .group_table label {
    margin-bottom: 0;
  }

  .form-cart-popup .information form.cart .group_table tr {
    padding: 0 15px;
    margin-bottom: 10px;
    display: table-row;
  }

  .form-cart-popup .information form.cart .group_table tr>td.woocommerce-grouped-product-list-item__label,
  .form-cart-popup .information form.cart .group_table tr>td.woocommerce-grouped-product-list-item__price {
    width: 100%;
    display: inline-block;
    padding-bottom: 0 !important;
    max-width: unset;
  }

  .form-cart-popup .information form.cart .group_table tr>td.woocommerce-grouped-product-list-item__quantity .title-qty {
    display: none;
  }

  .form-cart-popup .information form.cart .group_table tr:last-child {
    padding-bottom: 0;
  }

  .form-cart-popup .information form.cart .group_table tr td {
    margin: 0 !important;
    padding: 0 3px;
  }

  .form-cart-popup .woocommerce-grouped-product-list-item__label {
    border-bottom: none !important;
  }

  .form-cart-popup .woocommerce-grouped-product-list-item__label label {
    font-size: 16px;
  }

  .form-cart-popup .information form.cart .group_table tr .box-quantity {
    margin-bottom: 15px !important;
    margin-top: 0 !important;
    padding-right: 0 !important;
  }

  .form-cart-popup .information form.cart .group_table tr p.stock {
    background: white;
    font-size: 14px;
    padding: 0;
    margin: 0;
  }

  .form-cart-popup .information form.cart .group_table tr .woocommerce-Price-amount {
    font-size: 16px;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper,
  .form-cart-popup .information form.cart #mobile-close-infor {
    display: block;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper {
    padding: 0 15px 15px;
    border-bottom: 1px solid #ddd;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper img {
    max-height: 100px;
    width: auto;
    max-width: 80px;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper .infor-body p.stock {
    background: white;
    font-size: 14px;
    padding: 0;
    margin: 0;
    text-align: left;
  }

  .form-cart-popup .information form.cart .mobile-infor-wrapper .infor-body .price,
  .form-cart-popup .information form.cart .mobile-infor-wrapper .infor-body .woocommerce-Price-amount {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 5px;
  }

  .form-cart-popup .information form.cart .woocommerce-product-details__short-description {
    display: none;
  }

  .form-cart-popup .information form.cart #mobile-close-infor {
    text-align: right;
  }

  .form-cart-popup .information form.cart #mobile-close-infor i {
    font-size: 24px;
    margin: 10px 10px 0;
    display: inline-block;
    cursor: pointer;
  }

  .form-cart-popup .information form.cart #mobile-close-infor i:hover {
    color: var(--tb-theme-color);
  }

  .form-cart-popup .information form.cart div.quantity {
    padding: 0;
    float: none !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center;
  }

  .form-cart-popup .information form.cart div.quantity button[type="button"] {
    min-width: 36px;
    line-height: 45px;
    height: 45px;
  }

  .form-cart-popup .information form.cart div.quantity .title-qty {
    line-height: 47px;
  }

  .form-cart-popup .information form.cart .variations {
    padding: 15px;
    display: block;
    border-bottom: 1px solid #ddd !important;
    max-height: 220px;
    overflow: hidden;
    overflow-y: scroll;
    margin-bottom: 0 !important;
  }

  .form-cart-popup .information form.cart .variations tr:last-child {
    padding-bottom: 0;
  }

  .form-cart-popup .information form.cart .single_variation {
    display: none !important;
  }

  .form-cart-popup .information form.cart .single_add_to_cart_button.disabled,
  .form-cart-popup .information form.cart .tbay-buy-now.disabled {
    opacity: 0.7 !important;
    filter: alpha(opacity=70) !important;
  }

  .form-cart-popup .information form.cart.open {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    z-index: 999999;
    padding: 0 !important;
  }

  .form-cart-popup .cart .button.buy_now_button,
  .form-cart-popup .cart .button.single_add_to_cart_button {
    width: 100% !important;
    display: inline-block;
    border-radius: inherit;
    background: #d14613;
    border: 0;
    color: #fff;
  }

  .form-cart-popup .information form.cart.open .variable-items-wrapper .wvs-has-image-tooltip:hover:after,
  .form-cart-popup .information form.cart.open .variable-items-wrapper .wvs-has-image-tooltip:hover:before,
  .form-cart-popup .information form.cart.open .variable-items-wrapper [data-wvstooltip]:hover:after,
  .form-cart-popup .information form.cart.open .variable-items-wrapper [data-wvstooltip]:hover:before {
    display: none;
  }

  .form-cart-popup .information form.cart.open .single_add_to_cart_button::before {
    margin: 0 !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-all .single_variation_wrap #shop-now.has-buy-now .single_add_to_cart_button:before {
    right: 1px;
    margin-top: 0 !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .tbay-buy-now {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button {
    width: 100% !important;
    font-size: 16px !important;
    transition: none !important;
    max-width: unset !important;
    line-height: 20px !important;
    display: block !important;
    border: none;
    color: #fff;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button:before,
  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button:after {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button.loading:after {
    position: relative;
    display: inline-block !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward {
    width: 100%;
    font-size: 16px;
    transition: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward::before,
  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward::after {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward {
    width: 100%;
    font-size: 16px !important;
    transition: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward:before,
  .form-cart-popup .information form.cart.open.open-btn-addtocart .single_add_to_cart_button+.added_to_cart.wc-forward:after {
    display: none !important;
  }

  .form-cart-popup .information form.cart.open.open-btn-buynow .tbay-buy-now {
    margin: 0;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    font-size: 16px;
  }

  .form-cart-popup .information form.cart.open.open-btn-buynow .tbay-buy-now {
    width: 100% !important;
    margin: 0 !important;
  }

  .form-cart-popup .information form.cart.open~#mobile-close-infor-wrapper {
    opacity: 1;
    filter: alpha(opacity=100);
    visibility: visible;
    pointer-events: all;
  }

  .form-cart-popup .information form.cart.open~.mobile-btn-cart-click {
    display: none;
  }

  .open-btn-addtocart .buy_now_button {
    display: none !important;
  }

  #mobile-close-infor svg {
    padding: 5px;
    margin-right: 5px;
    cursor: pointer;
  }

  .form-cart-popup .woocommerce div.product form.cart {
    margin: 0;
  }

  .responsive-ux .main-list .product-caption-title {
    font-size: 16px;
  }

  span.price span.woocommerce-Price-amount {
    font-size: 16px;
  }

  .custom_variation_swatches {
    display: block;
  }

  .archive-product-info {
    width: 100%;
  }

  .archive-product-info .product-caption-title {
    line-height: 25px;
  }

  .archive-product-info .price span.woocommerce-Price-amount.amount {
    font-size: 16px;
  }

  .single-product-store-btn {
    margin-top: 20px;
  }

  /* .woocommerce .main-list {
  margin: 0 2em !important;
} */


  /*------  Trang chủ ------*/





  span.prdctfltr_showing {
    display: none;
  }

  p.stock.in-stock {
    display: none;
  }

  span.onsale,
  .woocommerce span.onsale,
  .woocommerce-page span.onsale {
    background: #000;
    padding: 2px 10px;
    line-height: 30px;
    font-size: 15px;
  }

  .slick-slider {
    max-width: 100%;
    overflow: hidden;
  }
}





@media (min-width: 768px) {
  .archive-title.title-wrap {
    padding-bottom: 55px;
  }

  .archive-product-info {
    width: 100%
  }
}


/*------ Custom Archive Product -------*/

.archive-product-info .button {
  display: none !important;
}

img.pcat-cover {
  margin-bottom: 50px;
}

a.button.wp-element-button.product_type_variable.add_to_cart_button {
  display: none;
}

.archive-content-info {
  display: block;
}



.custom_variation_swatches {
  width: 100%;
}

.custom_variation_swatches .vi-wpvs-option-wrap {
  border-radius: 100%;
}

.custom_variation_swatches .vi-wpvs-option-wrap {
  width: 50px !important;
  height: 50px !important;
}

/*----- Custom Single Product ------*/
.product-wrap.product-single.art-mini-slider p.price {
  margin: 0;
}

.woocommerce div.product form.cart {
  display: inline-block;
  margin: 15px 10px 10px 0;
}


.single-product-store-btn {
  border: 1px solid #414141;
  display: block;
  margin-bottom: 20px;
  text-align: center;
  padding: 1em 2.5em;
  text-transform: uppercase;
  font-size: 16px;
  transition: all 200ms ease;
}

.single-product-store-btn:hover,
.woocommerce div.product form.cart .button:hover {
  background: #414141;
  color: #fff;
}

.reset_variations {
  display: none !important;
}

.woocommerce div.product form.cart {
  display: inline-block;
  margin: 15px 10px 10px 0 !important;
}

.woo-plain-images .single-product-summary {
  padding-top: 0 !important;
}



section.related.products h2 {
  text-align: center;
  text-transform: uppercase;
}

.related.products .archive-product-info {
  width: 100%;
}

.related.products .archive-content-info {
  display: block;
}

.related.products .custom_variation_swatches {
  display: none;
}

.single_add_to_cart_button.button.alt.wp-element-button {
  border-radius: 32px;
  border: 1px solid #999;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  display: none;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  text-align: center;
  font-size: 16px;
  margin: 20px 0 0 0;
  padding: 0;
  line-height: 20px;
}


section.woocommerce-customer-details,
section.woocommerce-order-details {
  display: none;
}




/*------  Trang chủ ------*/

.home-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.home-text h2 {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 15px;
}


.home-btn a {
  font-size: 13px;
  padding: 1em 3em;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  border: 1px solid #ffffff;
  margin: 0 10px;
  width: fit-content;
  transition: all 200ms ease;
}

.home-btn a:hover {
  font-size: 13px;
  padding: 1em 3em;
  background: rgba(255, 255, 255, 0.2);
  color: #000;
  border: 1px solid #fff;
}

@media (max-width: 400px) {
  .home-btn {
    flex-direction: column;
    gap: 15px;
  }

}

ul.sub-menu li {
  list-style: none;
}

ul.sub-menu {
  background: #fff !important;
  padding: 2em 0 0em 0 !important;
}


ul.sub-menu li {
  background: transparent !important;
  padding-left: 1em !important;
  padding-right: 1em !important;
  padding-bottom: 0.5em !important;

}

.clearfix.pagenums.pagenums-default.container-fluid {
  text-align: center;
}

span.page-numbers.current {
  color: #000;
  font-weight: 700;
}

.slick-prev:before,
.slick-next:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-next:before {
  content: '\f054';
}

.slick-prev:before {
  content: '\f053';
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received:before {
  font-family: 'Font Awesome 5 Free';
  content: '\f058';
  padding-right: 7px;
  color: #00ba30;
}

.prdctfltr_buttons {
  display: none;
}

span.prdctfltr_showing {
  display: none;
}

.stock.in-stock {
  display: none;
}

.vietqr-row {
  display: none !important;
}


/* collection */

.padding {
  padding: 50px 10%;

}

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-row: auto;
  align-items: center;
  gap: 50px;
  margin-bottom: 1em;
}

@media (max-width: 767px) {
  .two-col {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


.info-container {
  display: flex;
  flex-direction: column;
  /* padding:  5em 0 0 0; */
  overflow: hidden !important;
  gap: 2em;
}

/* @media (max-width: 767px) {
  .info-container{
    padding: 2em 2em 0 2em;
  }
} */

.slideshow-container {
  overflow: hidden !important;
}

.divider {
  width: 100%;
  height: 1px;
  background-color: #c7c7c7;
}

.fullwrap-layout-inn {
  padding: 3em 5em;
}


@media (max-width: 1000px) {
  .fullwrap-layout-inn {
    padding: 3em 2em;

  }

}

@media (max-width: 375px) {
  .fullwrap-layout-inn {
    padding: 1em 0;

  }

}


#content.container-fluid {
  /* display: flex; */

}

.header-main .container-fluid {
  padding: 0 60px;
}

@media (min-width: 768px) {
  .container-fluid {
    padding: 0;

  }
}

.product-wrapper {
  display: flex;
  flex-direction: row;
  gap: 50px;
  align-items: center;
}

@media screen and (max-width: 765px) {
  .product-wrapper {
    flex-direction: column;
    gap: 0px;

  }

  .product-information {
    width: 100% !important;
  }
}

.accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 50px;
}

.product-information {
  padding: 0 !important;
}

.divider {
  height: 1px;
  width: 100%;
  background-color: #c7c7c7;
}

.product-slider {
  width: 100%;
}

.product-slider {
  position: relative;
  margin: auto;
}

/* Category title */


.cover {
  width: 100%;
  overflow: hidden;
  position: relative;
}


.cover-image {
  width: 100%;

}

.cover video {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 3 / 1;
}

.cover-title {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  height: fit-content;
  padding: 0 60px;
}

.container-fluid

/* Owl Carousel */
.owl-dots {
  display: flex;
  gap: 20px;
  justify-content: center;
  position: absolute;
  bottom: 0;
  padding: 3rem 0;
  width: 100%;
  z-index: 9999;
}

.owl-carousel button.owl-dot {

  border: 1px solid #c7c7c7 !important;
}

.owl-dot.active {
  background-color: #c7c7c7 !important;
}

/* Product Column */

.columns-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-row: auto;
  gap: 3em;
}

@media (max-width: 768px) {
  .columns-3 {
    grid-template-columns: 1fr 1fr;
    gap: 2em;
  }

  .fullwrap-layout-inn {
    padding: 1rem;
  }

}

.woocommerce.archive .product-item {
  width: 100% !important;
}

span#search-icon-header {
  font-size: 20px;
}

div#woocomerce-cart-side {
  display: none !important;
}

/* ----------------------------------------------------
   MARTIAN VISTA COLLECTION HERO & LUXURY STYLES
---------------------------------------------------- */
.martian-home-wrapper {
  background-color: #0d0d0d;
  color: #ffffff;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif;
}

.martian-hero-section {
  position: relative;
  width: 100%;
  height: 85vh;
  min-height: 550px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%),
    url('https://images.unsplash.com/photo-1511499767150-a48a237f0083?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 80px;
}

.martian-hero-content {
  text-align: center;
  z-index: 2;
}

.martian-hero-title {
  font-size: 2.8rem;
  font-weight: 400;
  letter-spacing: 6px;
  color: #ffffff;
  margin-bottom: 25px;
  text-transform: uppercase;
}

.martian-hero-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
}

.martian-btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 25px;
  font-size: 0.85rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.martian-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.7);
  color: #ffffff !important;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(5px);
}

.martian-btn-outline:hover {
  background: #ffffff;
  color: #000000 !important;
  border-color: #ffffff;
}

.martian-btn-primary {
  border: 1px solid #ffffff;
  color: #000000 !important;
  background: #ffffff;
}

.martian-btn-primary:hover {
  background: transparent;
  color: #ffffff !important;
}

.martian-section {
  padding: 70px 40px;
  background: #ffffff;
  color: #111111;
}

.martian-container {
  max-width: 1300px;
  margin: 0 auto;
}

.martian-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
}

.martian-section-title {
  font-size: 1.3rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
  color: #111;
}

.martian-link-more {
  color: #111 !important;
  text-decoration: underline !important;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.martian-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.martian-product-card {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 4px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.martian-product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.martian-product-image-wrap {
  display: block;
  height: 260px;
  background: #eaeaea;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 15px;
}

.martian-placeholder-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  letter-spacing: 3px;
  background: linear-gradient(135deg, #111111 0%, #2a2a2a 100%);
  color: #ffffff;
}

.martian-product-info {
  text-align: left;
}

.martian-product-name {
  font-size: 0.95rem;
  margin: 0 0 8px 0;
  letter-spacing: 1px;
}

.martian-product-name a {
  color: #111 !important;
  text-decoration: none !important;
}

.martian-product-price {
  font-weight: 600;
  color: #333;
  font-size: 0.9rem;
}

/* Sub-label */
.martian-sub-label {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 3px;
  color: #888;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.martian-hero-subtitle {
  font-size: 0.9rem;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 30px;
  text-transform: uppercase;
}

/* Collection Grid */
.martian-collections-section {
  background: #000000;
  padding: 60px 40px;
}

.martian-collection-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
}

@media (max-width: 900px) {
  .martian-collection-grid {
    grid-template-columns: 1fr;
  }
}

.martian-collection-card {
  position: relative;
  height: 420px;
  background-size: cover;
  background-position: center;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 40px;
}

.martian-collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.8) 100%);
}

.martian-collection-info {
  position: relative;
  z-index: 2;
  color: #ffffff;
}

.martian-collection-info span {
  font-size: 0.75rem;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.7);
  display: block;
  margin-bottom: 8px;
}

.martian-collection-info h3 {
  font-size: 1.6rem;
  margin: 0 0 15px 0;
  color: #ffffff !important;
  letter-spacing: 2px;
}

.martian-btn-link {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 0.85rem;
  letter-spacing: 2px;
  font-weight: 500;
}

/* Brand Story Section */
.martian-story-section {
  background: #111111;
  color: #ffffff;
  padding: 100px 40px;
  text-align: center;
}

.martian-story-content {
  max-width: 800px;
  margin: 0 auto;
}

.martian-story-content h2 {
  font-size: 2rem;
  letter-spacing: 4px;
  margin: 20px 0 25px 0;
  color: #ffffff !important;
  text-transform: uppercase;
}

.martian-story-content p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #cccccc;
  margin-bottom: 35px;
  font-weight: 300;
}

/* ----------------------------------------------------
   GENTLE MONSTER FULLSCREEN VIDEO HERO STYLES
---------------------------------------------------- */
/* Transparent Header Overlay on Front Page */
body.home #header,
body.home #header-main,
body.home .header-main,
body.home .header-holder,
body.home #navi-header,
body.home .navi-header,
body.home .wrap-head,
body.home .logo-wrap,
body.home .navi-logo,
body.home #navi {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.home .wrap-all,
body.home #content,
body.home .martian-home-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home #header a,
body.home #header-main a,
body.home .header-main a,
body.home #navi a,
body.home .logo-a,
body.home .logo-h1 a,
body.home .menu-item a,
body.home .site-name a {
  color: #111111 !important;
  text-shadow: none !important;
}

.martian-video-hero {
  position: relative;
  width: 100%;
  height: calc(78vh + 50px);
  /* Tăng chiều cao thêm 20px về phía dưới */
  min-height: 520px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 70px;
  background-color: #000000;
}

.martian-hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 1;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.martian-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.martian-hero-content {
  position: relative;
  z-index: 3;
  text-align: center;
}

.martian-hero-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', serif, sans-serif !important;
  font-size: 2rem;
  font-weight: 400 !important;
  letter-spacing: 5px;
  color: #ffffff;
  margin-bottom: 25px;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.martian-hero-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
}

.martian-btn-pill {
  display: inline-block;
  padding: 9px 30px;
  border-radius: 50px !important;
  font-size: 12px !important;
  letter-spacing: 2px;
  text-transform: capitalize;
  text-decoration: none !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all 0.35s ease !important;
}

.martian-btn-pill:hover {
  background: rgba(255, 255, 255, 0.95);
  color: #000000 !important;
  border-color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

/* ----------------------------------------------------
   PERFECT INLINE FLEXBOX ALIGNMENT (MENU LEFT & CENTER LOGO)
---------------------------------------------------- */
/* Hide duplicate theme fallback logo text */
.logo-not-show-txt,
body.home .logo-not-show-txt,
body.front-page .logo-not-show-txt,
.home .logo-not-show-txt,
span.logo-not-show-txt,
.logo-text.logo-not-show-txt {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.home #header,
body.home .header-main,
body.front-page #header,
body.front-page .header-main,
.home #header,
.home .header-main {
  position: absolute !important;
  top: 20px !important;
  left: 0 !important;
  width: 100% !important;
  height: 50px !important;
  padding: 0 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  z-index: 99999 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Menu bên trái */
body.home #navi-header,
body.home .navi-header,
body.home #navi,
body.home .navi,
.home #navi-header,
.home .navi-header {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  z-index: 100000 !important;
}

body.home #navi-header ul,
body.home .navi-header ul,
body.home #navi ul {
  display: flex !important;
  gap: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  align-items: center !important;
}

body.home #navi-header li,
body.home .navi-header li,
body.home #navi li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-block !important;
}

body.home #navi-header a,
body.home .navi-header a,
body.home #navi a,
.home #navi-header a,
.home .navi-header a {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  text-transform: capitalize !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

/* Logo ở chính giữa màn hình - căn khớp 100% với trục giữa của Menu */
body.home .navi-logo,
body.home .logo-wrap,
body.home #logo,
body.home .logo,
body.front-page .navi-logo,
body.front-page .logo-wrap,
body.front-page #logo,
body.front-page .logo,
.home .navi-logo,
.home .logo-wrap,
.home #logo,
.home .logo {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 100000 !important;
  width: max-content !important;
}

body.home .logo-a,
body.home .logo-h1,
body.home .logo-h1 a,
body.home .logo-wrap a,
body.home .logo-text:not(.logo-not-show-txt),
.home .logo-a,
.home .logo-text:not(.logo-not-show-txt) {
  font-size: 28px !important;
  letter-spacing: 5px !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
  white-space: nowrap !important;
  color: #ffffff !important;
  line-height: 1 !important;
  text-shadow: none !important;
  filter: none !important;
  display: inline-block !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ----------------------------------------------------
   MULTI-MEDIA HERO SLIDER & PROGRESS BARS
---------------------------------------------------- */
.martian-slides-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.martian-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}

.martian-slide.active {
  opacity: 1;
  visibility: visible;
}

.martian-hero-media {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

/* Progress Bar Indicators Strip under CTA buttons */
.martian-progress-strip {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 420px !important;
  width: 85% !important;
  margin: 30px auto 0 auto !important;
  z-index: 9999 !important;
  position: relative !important;
}

.martian-progress-bar {
  flex: 1 !important;
  height: 2px !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  position: relative !important;
  transition: background 0.3s ease !important;
}

.martian-progress-bar:hover {
  background: rgba(255, 255, 255, 0.7) !important;
}

.martian-progress-fill {
  height: 100% !important;
  width: 0%;
  background: #ffffff !important;
  border-radius: 2px !important;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.9) !important;
  transition: width 0.05s linear !important;
}

/* ----------------------------------------------------
   GENTLE MONSTER LARGE 2-CARD HORIZONTAL SCROLL SHOWCASE
---------------------------------------------------- */
.gm-editorial-section {
  background-color: #f4f4f4 !important;
  padding: 60px 0 100px 0;
  color: #111111;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  overflow: hidden;
}

.gm-editorial-container {
  width: 100%;
  max-width: 100%;
  padding: 0 20px;
}

.gm-editorial-header {
  margin-bottom: 30px;
  padding: 0 20px;
}

.gm-editorial-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2 !important;
}

.gm-editorial-more {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  color: #111111 !important;
  text-decoration: underline !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  transition: opacity 0.3s ease !important;
}

.gm-editorial-more:hover {
  opacity: 0.6;
}

/* Horizontal Scroll Container - Max 2 Large Cards on Screen */
.gm-editorial-scroll {
  display: flex !important;
  gap: 20px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 20px;
}

.gm-editorial-scroll::-webkit-scrollbar {
  display: none;
}

.gm-product-card {
  flex: 0 0 calc(49.2vw - 15px) !important;
  min-width: 550px !important;
  position: relative !important;
  background-color: #f4f4f4 !important;
  display: block !important;
}

@media (max-width: 900px) {
  .gm-product-card {
    flex: 0 0 88vw !important;
    min-width: 320px !important;
  }
}

.gm-product-image-wrap {
  display: block;
  width: 100%;
  height: 80vh;
  min-height: 680px;
  overflow: hidden;
  background-color: #f4f4f4 !important;
  margin-bottom: 0 !important;
}

.gm-product-card,
.gm-product-card:hover,
.gm-product-image-wrap,
.gm-product-image-wrap:hover {
  transform: none !important;
  opacity: 1 !important;
  background-color: #f4f4f4 !important;
}

.gm-product-img,
.gm-product-img:hover,
.gm-product-card:hover .gm-product-img {
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
  filter: none !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

.gm-product-meta {
  position: absolute !important;
  bottom: 30px !important;
  left: 30px !important;
  z-index: 10 !important;
  padding: 0 !important;
  text-align: left !important;
}

@media (max-width: 900px) {
  .gm-product-meta {
    bottom: 20px !important;
    left: 20px !important;
  }
}

.gm-product-name {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #111111 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.5px !important;
}

.gm-product-name a {
  color: #111111 !important;
  text-decoration: none !important;
}

.gm-product-price {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #222222 !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.5px !important;
}

.gm-wishlist-btn {
  display: inline-block !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  color: #111111 !important;
  text-decoration: underline !important;
  text-transform: uppercase !important;
  transition: color 0.3s ease, opacity 0.3s ease !important;
}

.gm-wishlist-btn:hover,
.gm-wishlist-btn.active {
  color: #e02424 !important;
  opacity: 0.8;
}

/* ----------------------------------------------------
   PRODUCT VIEW THUMBNAIL NAVIGATION STRIP
---------------------------------------------------- */
.gm-thumbnail-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  margin-top: -20px !important;
  position: relative !important;
  z-index: 20 !important;
  padding: 0 !important;
}

.gm-thumb-list {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  max-width: 330px !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.gm-thumb-list::-webkit-scrollbar {
  display: none;
}

.gm-thumb-item {
  width: 58px !important;
  height: 78px !important;
  flex: 0 0 58px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  opacity: 1 !important;
  border: none !important;
  outline: none !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}

.gm-thumb-item:hover,
.gm-thumb-item.active {
  opacity: 1 !important;
  border: none !important;
  outline: none !important;
  transform: none !important;
}

.gm-thumb-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.gm-thumb-label {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  margin-left: 8px !important;
  user-select: none;
}

/* ----------------------------------------------------
   GENTLE MONSTER BEST: THIS WEEK TOP 20
---------------------------------------------------- */
.gm-top20-section {
  background-color: #f4f4f4 !important;
  padding: 80px 0 100px 0;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  color: #111111;
  width: 100%;
}

.gm-top20-container {
  width: 100%;
  max-width: 100%;
  padding: 0 20px;
}

.gm-top20-header {
  margin-bottom: 35px;
}

.gm-top20-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2 !important;
}

.gm-top20-more {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  color: #111111 !important;
  text-decoration: underline !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  transition: opacity 0.3s ease !important;
}

.gm-top20-more:hover {
  opacity: 0.6;
}

.gm-top20-grid {
  display: flex !important;
  gap: 20px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 20px;
}

.gm-top20-grid::-webkit-scrollbar {
  display: none;
}

.gm-eyewear-card,
.gm-eyewear-card:hover {
  flex: 0 0 calc(20vw - 16px) !important;
  min-width: 260px !important;
  position: relative;
  background-color: #f4f4f4 !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px;
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
}

@media (max-width: 1200px) {

  .gm-eyewear-card,
  .gm-eyewear-card:hover {
    flex: 0 0 calc(33.33vw - 20px) !important;
    min-width: 220px !important;
  }
}

@media (max-width: 768px) {

  .gm-eyewear-card,
  .gm-eyewear-card:hover {
    flex: 0 0 calc(50vw - 20px) !important;
    min-width: 180px !important;
  }
}

.gm-eyewear-img-wrap,
.gm-eyewear-img-wrap:hover {
  width: 100%;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent !important;
  overflow: hidden;
  transform: none !important;
  opacity: 1 !important;
}

.gm-eyewear-img,
.gm-eyewear-img:hover,
.gm-eyewear-card:hover .gm-eyewear-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
  filter: none !important;
}

.gm-eyewear-meta {
  padding-top: 15px;
  text-align: left;
}

.gm-eyewear-name {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #111111 !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.5px !important;
}

.gm-eyewear-price {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #333333 !important;
  letter-spacing: 0.5px !important;
}

/* ----------------------------------------------------
   GENTLE MONSTER FOOTER
---------------------------------------------------- */
/* Hide default parent theme #footer */
#footer,
footer#footer {
  display: none !important;
}

.gm-footer {
  background-color: #f2f4f5 !important;
  border-top: none !important;
  padding: 35px 60px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  color: #111111 !important;
  font-size: 13px !important;
}

.gm-footer-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

.gm-footer-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
}

.gm-footer-links a {
  color: #111111 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: opacity 0.3s ease !important;
}

.gm-footer-links a:hover {
  opacity: 0.6;
}

/* Gentle Monster 1:1 Footer Social Popover Dropdown */
.gm-footer-social-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.gm-footer-social-dropdown {
  position: absolute !important;
  bottom: 100% !important;
  left: 0 !important;
  margin-bottom: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 99999 !important;
  padding-bottom: 6px !important;
}

.gm-footer-social-dropdown::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100% !important;
  height: 20px !important;
  background: transparent !important;
}

.gm-footer-social-wrap:hover .gm-footer-social-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.gm-footer-social-dropdown a {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  color: #111111 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: opacity 0.2s ease !important;
}

.gm-footer-social-dropdown a:hover {
  opacity: 0.5 !important;
}

.gm-footer-country {
  color: #111111 !important;
  font-size: 13px !important;
}

.gm-footer-copyright {
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  color: #111111 !important;
}



/* Hide default Google Translate top banner & floating popups */
.gtranslate_wrapper,
#gt_float_wrapper,
.goog-te-banner-frame,
body>.skiptranslate {
  display: none !important;
}

body {
  top: 0 !important;
}

/* ----------------------------------------------------
   GENTLE MONSTER LANGUAGE SELECTION POPUP MODAL
---------------------------------------------------- */
.gm-footer-lang-trigger {
  color: #111111 !important;
  font-size: 13px !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  transition: opacity 0.3s ease !important;
}

.gm-footer-lang-trigger:hover {
  opacity: 0.6 !important;
}

.gm-lang-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}

.gm-lang-modal-overlay.open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.gm-lang-modal-card {
  background: #ffffff !important;
  width: 440px !important;
  max-width: 90vw !important;
  border-radius: 20px !important;
  padding: 32px 30px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
  position: relative !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  transform: translateY(15px);
  transition: transform 0.3s ease !important;
}

.gm-lang-modal-overlay.open .gm-lang-modal-card {
  transform: translateY(0);
}

.gm-lang-modal-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 25px !important;
}

.gm-lang-modal-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  margin: 0 !important;
  letter-spacing: 0.5px !important;
}

.gm-lang-modal-close {
  background: none !important;
  border: none !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  color: #888888 !important;
  padding: 0 !important;
  transition: color 0.2s ease !important;
}

.gm-lang-modal-close:hover {
  color: #111111 !important;
}

.gm-lang-modal-body {
  margin-bottom: 25px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.gm-lang-label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #666666 !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.gm-lang-select-wrap {
  position: relative !important;
  width: 100% !important;
}

.gm-lang-select-arrow {
  position: absolute !important;
  right: 18px !important;
  top: 40% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
}

.gm-lang-select-arrow svg {
  display: block !important;
  pointer-events: none !important;
}

.gm-lang-select {
  width: 100% !important;
  height: 52px !important;
  border: 1px solid #111111 !important;
  border-radius: 14px !important;
  padding: 0 40px 0 16px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #111111 !important;
  background: #ffffff !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease !important;
}

.gm-lang-select:focus {
  border-color: #111111 !important;
  border-width: 1.5px !important;
}

.gm-lang-save-btn {
  width: 100% !important;
  height: 50px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: opacity 0.3s ease !important;
}

.gm-lang-save-btn:hover {
  opacity: 0.85 !important;
}

/* ----------------------------------------------------
   FARELLO 1:1 EXACT 4 FULLSCREEN CARDS PDP LAYOUT
---------------------------------------------------- */
/* BREAK SINGLE PRODUCT PAGE OUT OF ARNOLD CONTAINER TO 100% FULLSCREEN WIDTH */
.single-product #content,
.single-product #main,
.single-product .container,
.single-product .single-product-summary,
.single-product .product-wrapper,
.single-product .entry-content,
.single-product .page-main,
.single-product .site-content,
.single-product #main-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.farello-pdp-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background-color: #f5f5f7 !important;
  color: #1d1d1f !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
}

.farello-top-breadcrumb,
.woocommerce-breadcrumb,
.breadcrumb,
#breadcrumbs,
.gm-pdp-breadcrumb,
.farello-breadcrumb {
  display: none !important;
}

/* ================= TOP BAR HEADER FOR ALL NON-HOMEPAGE PAGES (SHOP / PDP / ARCHIVE) ================= */
body:not(.home) #header,
body:not(.home) #header-main,
body:not(.home) .header-main {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 60px !important;
  padding: 0 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  z-index: 99999 !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  border: none !important;
  border-bottom: none !important;
}

/* Menu bên trái */
body:not(.home) #navi-header,
body:not(.home) .navi-header,
body:not(.home) #navi,
body:not(.home) .navi {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  z-index: 100000 !important;
}

body:not(.home) #navi-header ul,
body:not(.home) .navi-header ul,
body:not(.home) #navi ul {
  display: flex !important;
  gap: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  align-items: center !important;
}

body:not(.home) #navi-header li,
body:not(.home) .navi-header li,
body:not(.home) #navi li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

body:not(.home) #navi-header a,
body:not(.home) .navi-header a,
body:not(.home) #navi a {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  text-transform: capitalize !important;
  color: #1d1d1f !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

/* Logo ở chính giữa */
body:not(.home) .navi-logo {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 100000 !important;
  width: max-content !important;
}

body:not(.home) .logo-wrap {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

body:not(.home) .logo-a,
body:not(.home) .logo-h1,
body:not(.home) .logo-h1 a,
body:not(.home) .logo-wrap a,
body:not(.home) .logo-text:not(.logo-not-show-txt) {
  font-size: 22px !important;
  letter-spacing: 5px !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
  white-space: nowrap !important;
  color: #1d1d1f !important;
  line-height: 1 !important;
  text-shadow: none !important;
  text-decoration: none !important;
  display: inline-block !important;
}

body:not(.home) .logo-not-show-txt {
  display: none !important;
}

/* Ẩn bớt các nút dư thừa bên phải */
body:not(.home) .navi-trigger-out,
body:not(.home) .header-bar-social {
  display: none !important;
}

/* Card 1 Standard Padding */
body.single-product .farello-card-left {
  padding: 50px 60px !important;
}

.farello-bc-slash {
  color: #d0d0d0;
}

.farello-bc-current {
  color: #1d1d1f;
  font-weight: 600;
}

/* Showcase Wrapper Container (Relative parent wrapping Section 1 and Section 2) */
.farello-showcase-container {
  position: relative !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Sticky Overlay Bounds (Spans ONLY across Section 1 & Section 2) */
.farello-sticky-overlay-bounds {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  pointer-events: none !important;
  z-index: 40 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.farello-sticky-spacer {
  width: 100% !important;
  height: calc(100% - 84px) !important;
  pointer-events: none !important;
}

/* Hide WooCommerce quantity wrapper inside Farello sticky bar */
.farello-cart-form-inline .quantity,
.farello-cart-form-inline input,
.farello-cart-form-inline label {
  display: none !important;
}

/* Sticky Bar Content Base Container */
.farello-sticky-bar-content {
  position: sticky !important;
  bottom: 40px !important;
  width: 100% !important;
  height: 52px !important;
  padding: 0 48px !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  pointer-events: none !important;
  z-index: 50 !important;
  box-sizing: border-box !important;
}

.farello-sticky-left {
  width: 50% !important;
  height: 52px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  margin: 0 0 10px 0 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

.farello-color-thumbs-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 52px !important;
}

/* 1. Ảnh nhỏ màu ở Card bên trái */
.farello-thumb-btn {
  width: 52px !important;
  height: 52px !important;
  border: 2px solid #e5e5e7 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  cursor: pointer !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
  vertical-align: bottom !important;
  position: static !important;
  transform: none !important;
  align-self: flex-end !important;
}

.farello-thumb-btn.active {
  border-color: #8b2828 !important;
}

.farello-thumb-btn img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 4px !important;
  display: block !important;
}

.farello-thumb-btn:hover {
  transform: scale(1.04) !important;
}

.farello-sticky-right {
  width: 50% !important;
  height: 52px !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

/* Single Unified Form Container for BOTH buttons on the Right Card */
form.cart.farello-cart-form-inline {
  width: 100% !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  position: static !important;
  transform: none !important;
  pointer-events: auto !important;
}

/* Button 1: Chi tiết sản phẩm */
.farello-btn-scroll-details {
  width: 50% !important;
  height: 52px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  color: #1d1d1f !important;
  border: 1px solid #e5e5e7 !important;
  border-radius: 0px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  transition: background 0.2s ease !important;
  position: static !important;
  transform: none !important;
  align-self: flex-end !important;
  pointer-events: auto !important;
}

/* Button 2: Thêm vào giỏ hàng */
button.farello-btn-add-cart,
.farello-cart-form-inline button.farello-btn-add-cart,
.farello-cart-form-inline .farello-btn-add-cart {
  width: 50% !important;
  height: 52px !important;
  padding: 0 24px !important;
  margin: 0 !important;
  background-color: #1d1d1f !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
  transition: background-color 0.2s ease !important;
  position: static !important;
  transform: none !important;
  align-self: flex-end !important;
  pointer-events: auto !important;
}

@media screen and (max-width: 767px) {
  .farello-sticky-overlay-bounds {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 52px !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
  }

  .farello-sticky-spacer {
    display: none !important;
  }

  .farello-sticky-bar-content {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #e5e5e7 !important;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08) !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .farello-sticky-left {
    display: none !important;
  }

  .farello-sticky-right {
    width: 100% !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  form.cart.farello-cart-form-inline {
    width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .farello-btn-scroll-details {
    width: 50% !important;
    height: 52px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    border: none !important;
    border-right: 1px solid #e5e5e7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  button.farello-btn-add-cart,
  .farello-cart-form-inline button.farello-btn-add-cart {
    width: 50% !important;
    height: 52px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

/* Fullscreen 2-Columns Grid Sections (Height: 100vh) */
.farello-fullscreen-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  height: calc(100vh - 64px);
  min-height: 650px;
  overflow: hidden;
  position: relative;
  background-color: #f5f5f7;
}

@media (max-width: 1024px) {
  .farello-fullscreen-section {
    grid-template-columns: 1fr;
    height: auto;
    min-height: auto;
  }
}

.farello-card {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}

/* CARD 1 (Cột Trái Section 1): White background, avatar, title & color thumbs */
.farello-card-left {
  background-color: #ffffff;
  padding: 50px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid #e5e5e7;
}

.farello-card-header {
  z-index: 10;
}

.farello-card-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: #1d1d1f !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.2 !important;
}

.farello-title-subtitle {
  font-weight: 300 !important;
  color: #86868b !important;
}

.farello-sku-text {
  font-size: 12px;
  color: #86868b;
  letter-spacing: 0.5px;
  margin: 0;
}

.farello-sku-text span {
  font-weight: 700;
  color: #1d1d1f;
}

.farello-avatar-center {
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}

.farello-avatar-image {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: initial !important;
  transition: none !important;
}

/* CARD 2 (Cột Phải Section 1): Model photo vertical gallery */
.farello-card-right {
  background-color: #ebebeb;
}

.farello-gallery-viewport {
  width: 100% !important;
  height: 100% !important;
  overflow-y: auto !important;
  scroll-snap-type: y mandatory !important;
  overscroll-behavior-y: contain !important;
  scrollbar-width: none !important;
  scroll-behavior: smooth !important;
}

.farello-gallery-viewport::-webkit-scrollbar {
  display: none !important;
}

.farello-slide-item {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.farello-slide-img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: initial !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Vertical Dots Indicator (Left edge of Card 2 like Screenshot 1) */
.farello-vertical-dots {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 20;
}

.farello-dot-btn {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.farello-dot-btn:hover,
.farello-dot-btn.active {
  background: #c02626 !important;
  transform: scale(1.4);
}

/* Card 3 & Card 4 Full Cover Images (Section 2) */
.farello-card-full-img {
  padding: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

.farello-card-full-img img.farello-full-img,
img.farello-full-img {
  width: 100% !important;
  height: 100vh !important;
  max-height: 100vh !important;
  object-fit: cover !important;
  display: block !important;
}

/* ================= SECTION 3: TECHNICAL ACCORDIONS (1:1 FARELLO SHOWCASE) ================= */
.farello-details-section {
  background-color: #ffffff !important;
  padding: 80px 48px 140px 48px !important;
  border-top: 1px solid #e5e5e7 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.farello-details-grid {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 0 !important;
}

.farello-details-left {
  width: 50% !important;
  padding-right: 48px !important;
  box-sizing: border-box !important;
}

.farello-details-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  color: #1d1d1f !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

.farello-details-right {
  width: 50% !important;
  box-sizing: border-box !important;
}

.farello-accordion-group {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.farello-accordion-item {
  border-bottom: 1px solid #e5e5e7 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.farello-acc-btn {
  width: 100% !important;
  background: none !important;
  border: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1d1d1f !important;
  cursor: pointer !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

.farello-accordion-item.open .farello-acc-btn {
  padding: 10px 0 0px 0 !important;
}

.farello-acc-icon {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #1d1d1f !important;
}

.farello-acc-body {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease !important;
}

.farello-acc-content {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #444444 !important;
  padding: 0 0 16px 0 !important;
}

.farello-acc-content p {
  margin: 0 0 6px 0 !important;
}

.farello-acc-content p:last-child {
  margin-bottom: 0 !important;
}

.farello-acc-content ul {
  padding-left: 18px !important;
  margin: 0 !important;
}

.farello-acc-content li {
  margin-bottom: 6px !important;
}

@media (max-width: 900px) {
  .farello-details-section {
    padding: 48px 24px 80px 24px !important;
  }

  .farello-details-grid {
    flex-direction: column !important;
  }

  .farello-details-left,
  .farello-details-right {
    width: 100% !important;
    padding-right: 0 !important;
  }

  .farello-details-title {
    margin-bottom: 32px !important;
  }
}

/* BREAK SINGLE PRODUCT PAGE OUT OF ARNOLD CONTAINER TO 100% FULLSCREEN WIDTH */
.single-product #content,
.single-product #main,
.single-product .container,
.single-product .single-product-summary,
.single-product .product-wrapper,
.single-product .entry-content,
.single-product .page-main,
.single-product .site-content,
.single-product #main-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.farello-pdp-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background-color: #f5f5f7 !important;
  color: #1d1d1f !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
}

.farello-top-breadcrumb {
  max-width: 1440px;
  margin: 0 auto;
  padding: 16px 40px;
  font-size: 12px;
  color: #86868b;
  display: flex;
  align-items: center;
  gap: 10px;
}

.farello-top-breadcrumb a {
  color: #86868b;
  text-decoration: none;
}

.farello-top-breadcrumb a:hover {
  color: #1d1d1f;
}

.farello-bc-slash {
  color: #d0d0d0;
}

.farello-bc-current {
  color: #1d1d1f;
  font-weight: 600;
}

/* Fullscreen 2-Columns Grid Sections (Height: 100vh) */
.farello-fullscreen-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  height: calc(100vh - 64px);
  min-height: 650px;
  overflow: hidden;
  position: relative;
  background-color: #f5f5f7;
}

@media (max-width: 1024px) {
  .farello-fullscreen-section {
    grid-template-columns: 1fr;
    height: auto;
    min-height: auto;
  }
}

.farello-card {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}

/* CARD 1 (Cột Trái Section 1): White background, avatar, title & color thumbs */
.farello-card-left {
  background-color: #ffffff;
  padding: 50px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid #e5e5e7;
}

.farello-card-header {
  z-index: 10;
}

.farello-card-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: #1d1d1f !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.2 !important;
}

.farello-title-subtitle {
  font-weight: 300 !important;
  color: #86868b !important;
}

.farello-sku-text {
  font-size: 12px;
  color: #86868b;
  letter-spacing: 0.5px;
  margin: 0;
}

.farello-sku-text span {
  font-weight: 700;
  color: #1d1d1f;
}

.farello-avatar-center {
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}

.farello-avatar-image {
  max-width: 90%;
  max-height: 380px;
  object-fit: contain;
  transition: transform 0.4s ease;
}

/* Color Thumbnails (Bottom-Left Corner of Card 1 like Screenshot 1) */
.farello-card-color-thumbs {
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 10;
  padding-top: 20px;
}

.farello-thumb-btn {
  width: 60px;
  height: 60px;
  border: 2px solid #e5e5e7;
  padding: 0;
  background: #ffffff;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.2s ease;
}

.farello-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.farello-thumb-btn:hover,
.farello-thumb-btn.active {
  border-color: #8b2828 !important;
  /* Farello Red/Purple Active Border */
  transform: scale(1.05);
}

/* CARD 2 (Cột Phải Section 1): Model photo vertical gallery */
.farello-card-right {
  background-color: #ebebeb;
}

.farello-gallery-viewport {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
}

.farello-gallery-viewport::-webkit-scrollbar {
  display: none;
}

.farello-slide-item {
  width: 100%;
  height: 100%;
  scroll-snap-align: start;
  flex-shrink: 0;
}

.farello-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Vertical Dots Indicator (Left edge of Card 2 like Screenshot 1) */
.farello-vertical-dots {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 20;
}

.farello-dot-btn {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.farello-dot-btn:hover,
.farello-dot-btn.active {
  background: #c02626 !important;
  /* Active red dot from Farello screenshot 1 */
  transform: scale(1.4);
}

/* Card 3 & Card 4 Full Cover Images (Section 2) */
.farello-card-full-img {
  padding: 0 !important;
}

.farello-full-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Section 3: Technical Accordions */
.farello-details-section {
  background-color: #ffffff;
  padding: 100px 60px;
  border-top: 1px solid #e5e5e7;
}

.farello-details-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
}

@media (max-width: 900px) {
  .farello-details-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.farello-details-title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1d1d1f !important;
  margin: 0 !important;
}

.farello-accordion-group {
  display: flex;
  flex-direction: column;
}

.farello-accordion-item {
  border-bottom: 1px solid #e5e5e7;
  padding: 22px 0;
}

.farello-accordion-item:first-child {
  padding-top: 0;
}

.farello-acc-btn {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1d1d1f;
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.farello-acc-icon {
  font-size: 20px;
  font-weight: 400;
}

.farello-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, margin-top 0.3s ease;
}

.farello-accordion-item.open .farello-acc-body {
  max-height: 500px;
  margin-top: 16px;
}

.farello-acc-content {
  font-size: 14px;
  line-height: 1.7;
  color: #4a4a4a;
}

.farello-acc-content ul {
  padding-left: 20px;
  margin: 0;
}

/* FIXED BOTTOM FLOATING BAR (Standard Farello Style in Screenshot 1 & 2) */
.farello-floating-bar-sticky {
  position: fixed;
  bottom: 24px;
  right: 40px;
  z-index: 999;
  pointer-events: auto;
}

.farello-floating-bar-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.farello-btn-scroll-details {
  height: 48px;
  padding: 0 28px;
  background: #ffffff;
  color: #1d1d1f;
  border: 1px solid #e5e5e7;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  transition: background 0.2s ease;
}

.farello-btn-scroll-details:hover {
  background: #f5f5f7;
}

.farello-btn-arrow {
  font-size: 14px;
}

.farello-cart-form-inline {
  margin: 0;
}

.farello-cart-form-inline .quantity {
  display: none !important;
}

.farello-btn-add-cart {
  height: 48px;
  padding: 0 32px;
  background-color: #1d1d1f;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 20px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: background-color 0.2s ease;
}

.farello-btn-add-cart:hover {
  background-color: #000000;
}

.farello-price-tag {
  font-weight: 400;
  color: #d0d0d0;
  font-size: 13px;
}

.farello-pdp-container {
  background-color: #f5f5f7 !important;
  color: #1d1d1f !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
}

/* Breadcrumb Header Bar */
.farello-breadcrumb {
  max-width: 1440px;
  margin: 0 auto;
  padding: 20px 40px;
  font-size: 13px;
  color: #86868b;
  display: flex;
  align-items: center;
  gap: 8px;
}

.farello-breadcrumb a {
  color: #86868b;
  text-decoration: none;
  transition: color 0.2s ease;
}

.farello-breadcrumb a:hover {
  color: #1d1d1f;
}

.farello-bc-sep {
  color: #cccccc;
}

.farello-bc-current {
  color: #1d1d1f;
  font-weight: 500;
}

/* Grid Sections (Hero & Accessories) */
.farello-grid-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  background-color: #f5f5f7;
}

@media (max-width: 1024px) {
  .farello-grid-section {
    grid-template-columns: 1fr;
  }
}

/* Section 1 Hero: Card 1 (Avatar) & Card 2 (Model Scroll) */
.farello-hero-section {
  min-height: calc(100vh - 64px);
}

.farello-col-left {
  background-color: #ffffff;
  padding: 50px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  border-right: 1px solid #e5e5e7;
}

.farello-product-title {
  font-size: 38px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  color: #1d1d1f !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.1 !important;
}

.farello-color-subtitle {
  font-weight: 300 !important;
  color: #86868b !important;
}

.farello-sku-label {
  font-size: 13px;
  color: #86868b;
  margin: 0;
}

.farello-sku-label span {
  font-weight: 700;
  color: #1d1d1f;
}

.farello-avatar-wrap {
  width: 100%;
  height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0;
}

.farello-avatar-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.4s ease;
}

/* Cột Phải: Model Vertical Gallery */
.farello-col-right {
  background-color: #ebebeb;
  height: calc(100vh - 64px);
  overflow: hidden;
  position: relative;
}

@media (max-width: 1024px) {
  .farello-col-right {
    height: 500px;
  }
}

.farello-vertical-gallery {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
}

.farello-vertical-gallery::-webkit-scrollbar {
  display: none;
}

.farello-gallery-slide {
  width: 100%;
  height: 100%;
  scroll-snap-align: center;
  flex-shrink: 0;
}

.farello-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Section 2: Accessories Showcase (Card 3 & Card 4) */
.farello-acc-section {
  min-height: calc(100vh - 64px);
}

.farello-card-3,
.farello-card-4 {
  padding: 0 !important;
  height: calc(100vh - 64px);
  overflow: hidden;
}

.farello-acc-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Section 3: Technical & Product Details (Accordion Grid) */
.farello-details-section {
  background-color: #ffffff;
  padding: 80px 40px 120px 40px;
  border-top: 1px solid #e5e5e7;
}

.farello-details-container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

@media (max-width: 900px) {
  .farello-details-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.farello-details-heading {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1d1d1f !important;
  margin: 0 !important;
  letter-spacing: -0.5px !important;
}

.farello-accordion-list {
  display: flex;
  flex-direction: column;
}

.farello-acc-item {
  border-bottom: 1px solid #e5e5e7;
  padding: 20px 0;
}

.farello-acc-item:first-child {
  padding-top: 0;
}

.farello-acc-toggle {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #1d1d1f;
  cursor: pointer;
  padding: 0;
  text-align: left;
  transition: color 0.2s ease;
}

.farello-acc-toggle:hover {
  color: #8b5a2b;
}

.farello-acc-symbol {
  font-size: 20px;
  font-weight: 400;
  color: #111111;
}

.farello-acc-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, margin-top 0.3s ease;
}

.farello-acc-item.open .farello-acc-panel {
  max-height: 500px;
  margin-top: 16px;
}

.farello-acc-inner {
  font-size: 14px;
  line-height: 1.7;
  color: #4a4a4a;
}

.farello-acc-inner ul {
  padding-left: 20px;
  margin: 0;
}

.farello-acc-inner li {
  margin-bottom: 8px;
}

/* ================= BOTTOM STICKY FLOATING BAR (FARELLO OVERLAY Z-50) ================= */
.farello-floating-control-bar {
  position: fixed;
  bottom: 30px;
  left: 0;
  width: 100%;
  z-index: 999;
  pointer-events: none;
}

.farello-control-bar-inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
}

/* Left Side: Color Thumbnail Selector */
.farello-control-left {
  pointer-events: auto;
}

.farello-color-thumbs {
  display: flex;
  align-items: center;
  gap: 12px;
}

.farello-color-thumb-btn {
  width: 70px;
  height: 70px;
  border: 2px solid transparent;
  padding: 0;
  background: #ffffff;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.farello-color-thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.farello-color-thumb-btn:hover,
.farello-color-thumb-btn.active {
  border-color: #8b5a2b;
  transform: scale(1.08);
  box-shadow: 0 8px 25px rgba(139, 90, 43, 0.3);
}

/* Right Side: Action Buttons */
.farello-control-right {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.farello-btn-details-scroll {
  height: 52px;
  padding: 0 24px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid #e5e5e7;
  color: #1d1d1f;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.farello-btn-details-scroll:hover {
  background: #ffffff;
  transform: translateY(-2px);
}

.farello-arrow-down {
  transition: transform 0.3s ease;
}

/* Add to Bag CTA */
.farello-add-cart-form {
  margin: 0;
  display: flex;
  align-items: center;
}

.farello-add-cart-form .quantity {
  display: none !important;
}

.farello-btn-add-bag {
  height: 52px;
  padding: 0 32px;
  background-color: #1d1d1f;
  color: #ffffff;
  border: none;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.farello-btn-add-bag:hover {
  background-color: #000000;
  transform: translateY(-2px);
}

.farello-btn-price {
  font-weight: 400;
  color: #d0d0d0;
  font-size: 12px;
}

.gm-pdp-wrap {
  background-color: #f5f5f7 !important;
  color: #1d1d1f !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  padding: 0 !important;
  margin: 0 !important;
}

.gm-pdp-breadcrumb {
  max-width: 1440px;
  margin: 0 auto;
  padding: 20px 40px;
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #86868b;
  display: flex;
  align-items: center;
  gap: 8px;
}

.gm-pdp-breadcrumb a {
  color: #86868b;
  text-decoration: none;
  transition: color 0.2s ease;
}

.gm-pdp-breadcrumb a:hover {
  color: #1d1d1f;
}

.gm-pdp-bc-sep {
  color: #cccccc;
}

.gm-pdp-bc-active {
  color: #1d1d1f;
  font-weight: 500;
}

/* 2 Columns Hero Layout */
.gm-pdp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 120px);
  background-color: #f5f5f7;
  gap: 0;
}

@media (max-width: 1024px) {
  .gm-pdp-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}

/* Left Column: Avatar & Swatches */
.gm-pdp-left-col {
  padding: 40px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #ffffff;
  position: relative;
}

.gm-pdp-title {
  font-size: 36px !important;
  font-weight: 700 !important;
  letter-spacing: -0.5px !important;
  color: #1d1d1f !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.1 !important;
}

.gm-pdp-sku {
  font-size: 13px;
  color: #86868b;
  margin: 0;
}

.gm-pdp-sku span {
  font-weight: 600;
  color: #1d1d1f;
}

.gm-pdp-main-image-container {
  width: 100%;
  height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
}

.gm-pdp-main-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

/* Color Swatches Selector */
.gm-pdp-colors-selector {
  border-top: 1px solid #e5e5e7;
  padding-top: 20px;
}

.gm-pdp-colors-label {
  font-size: 11px;
  letter-spacing: 1px;
  color: #666666;
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px;
}

.gm-pdp-swatches-list {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gm-pdp-swatch-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  outline: 1px solid #d0d0d0;
  cursor: pointer;
  transition: transform 0.2s ease, outline-color 0.2s ease;
  padding: 0;
}

.gm-pdp-swatch-btn:hover,
.gm-pdp-swatch-btn.active {
  transform: scale(1.15);
  outline: 2px solid #111111;
}

/* Right Column: Model Vertical Gallery */
.gm-pdp-right-col {
  background-color: #ebebeb;
  height: calc(100vh - 120px);
  overflow: hidden;
  position: relative;
}

@media (max-width: 1024px) {
  .gm-pdp-right-col {
    height: 500px;
  }
}

.gm-pdp-model-gallery {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
}

.gm-pdp-model-gallery::-webkit-scrollbar {
  display: none;
}

.gm-pdp-gallery-item {
  width: 100%;
  height: 100%;
  scroll-snap-align: center;
  flex-shrink: 0;
}

.gm-pdp-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Sticky Action Panel / Bar */
.gm-pdp-action-panel {
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid #e0e0e0;
  z-index: 999;
  padding: 16px 40px;
  box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.05);
}

.gm-pdp-action-container {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.gm-pdp-action-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #1d1d1f !important;
}

.gm-pdp-action-price {
  font-size: 15px;
  font-weight: 500;
  color: #333333;
}

.gm-pdp-action-right {
  display: flex;
  align-items: center;
  gap: 15px;
}

.gm-pdp-action-right form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.gm-pdp-add-btn {
  height: 48px !important;
  padding: 0 35px !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  transition: opacity 0.3s ease !important;
  border: none !important;
  cursor: pointer !important;
}

.gm-pdp-add-btn:hover {
  opacity: 0.85 !important;
}

.gm-pdp-wishlist-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  border: 1px solid #d0d0d0;
  background: #ffffff;
  font-size: 20px;
  color: #888888;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.gm-pdp-wishlist-icon.active,
.gm-pdp-wishlist-icon:hover {
  color: #e02424;
  border-color: #e02424;
}

/* Accordion Information Section */
.gm-pdp-accordions-section {
  max-width: 900px;
  margin: 60px auto;
  padding: 0 20px;
}

.gm-pdp-accordion-item {
  border-bottom: 1px solid #e0e0e0;
}

.gm-pdp-accordion-head {
  width: 100%;
  padding: 22px 0;
  background: none;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #1d1d1f;
  cursor: pointer;
  text-align: left;
}

.gm-pdp-acc-icon {
  font-size: 18px;
  font-weight: 400;
  transition: transform 0.3s ease;
}

.gm-pdp-accordion-item.open .gm-pdp-acc-icon {
  transform: rotate(45deg);
}

.gm-pdp-accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.gm-pdp-accordion-item.open .gm-pdp-accordion-body {
  max-height: 500px;
}

.gm-pdp-acc-content {
  padding-bottom: 25px;
  font-size: 14px;
  line-height: 1.6;
  color: #555555;
}

.gm-pdp-acc-content ul {
  padding-left: 20px;
  margin: 0;
}

.gm-pdp-acc-content li {
  margin-bottom: 8px;
}

/* ================= GENTLE MONSTER SUB-MENU DROPDOWN ================= */
#navi-header ul li {
  position: relative !important;
}

#navi-header ul li .gm-sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  padding: 16px 0 0 0 !important;
  margin-top: 0 !important;
  min-width: 180px !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: 999999 !important;
}

/* Show Sub-Menu on Hover */
#navi-header ul li:hover>.gm-sub-menu,
#navi-header ul li .gm-sub-menu:hover {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Hover bridge to keep dropdown open seamlessly when moving cursor down */
#navi-header ul li::after {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100% !important;
  height: 20px !important;
  display: block !important;
}

/* Sub-menu Item Links - Sequential top-to-bottom entrance animation */
#navi-header ul li .gm-sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100% !important;
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#navi-header ul li:hover>.gm-sub-menu li {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Sequential delay list (Hiện lần lượt từ trên xuống) */
#navi-header ul li:hover>.gm-sub-menu li:nth-child(1) {
  transition-delay: 0.02s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(2) {
  transition-delay: 0.05s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(3) {
  transition-delay: 0.08s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(4) {
  transition-delay: 0.11s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(5) {
  transition-delay: 0.14s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(6) {
  transition-delay: 0.17s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(7) {
  transition-delay: 0.20s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(8) {
  transition-delay: 0.23s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(9) {
  transition-delay: 0.26s !important;
}

#navi-header ul li:hover>.gm-sub-menu li:nth-child(10) {
  transition-delay: 0.29s !important;
}

#navi-header ul li .gm-sub-menu li a {
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  letter-spacing: 0.2px !important;
  text-transform: capitalize !important;
  display: block !important;
  padding: 3px 0 !important;
  white-space: nowrap !important;
}

#header #navi-header .gm-sub-menu li a,
body #header #navi-header .gm-sub-menu li a,
body.home #header #navi-header .gm-sub-menu li a,
body.home #header .gm-sub-menu li a {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6) !important;
}

#header #navi-header .gm-sub-menu li a:hover,
body #header #navi-header .gm-sub-menu li a:hover,
body.home #header #navi-header .gm-sub-menu li a:hover,
body.home #header .gm-sub-menu li a:hover {
  color: #ffffff !important;
  opacity: 0.7 !important;
}

#navi-header ul li .gm-sub-menu li a {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

#navi-header ul li .gm-sub-menu li a:hover {
  color: #ffffff !important;
  opacity: 0.75 !important;
  transform: translateX(2px) !important;
}

/* ================= GENTLE MONSTER SHOP ARCHIVE PAGE STYLES ================= */
.gm-shop-archive-wrapper {
  background-color: #ffffff !important;
  min-height: 80vh !important;
  padding-bottom: 100px !important;
}

/* ================= GENTLE MONSTER HORIZONTAL SCROLLABLE SUB-CATEGORY STRIP ================= */
.gm-subcat-strip-container {
  width: 100% !important;
  background-color: #f2f4f5 !important;
  padding: 12px 48px !important;
  border-bottom: none !important;
  border: none !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 100 !important;
}

/* Horizontal Scroll Wrap for Pills */
.gm-pill-scroll-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  scroll-behavior: auto !important;
  padding: 0 !important;
  flex: 1 !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

.gm-pill-scroll-wrap.dragging {
  cursor: grabbing !important;
  scroll-behavior: auto !important;
}

.gm-pill-scroll-wrap::-webkit-scrollbar {
  display: none !important;
}

/* Capsule Pill Tag Buttons */
.gm-pill-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  border-radius: 50px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #86868b !important;
  background-color: #f5f5f7 !important;
  border: 1px solid #e5e5e7 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

.gm-pill-tag:hover {
  background-color: #e8e8ed !important;
  color: #1d1d1f !important;
  border-color: #d2d2d7 !important;
}

.gm-pill-tag.active {
  background-color: #1d1d1f !important;
  color: #ffffff !important;
  border-color: #1d1d1f !important;
  font-weight: 500 !important;
}

/* Filter Button (Right Side) */
.gm-filter-btn-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  height: 32px !important;
  align-self: center !important;
}

.gm-filter-btn {
  background: transparent !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  color: #1d1d1f !important;
  cursor: pointer !important;
  padding: 0 4px !important;
  height: 32px !important;
  line-height: 1 !important;
  margin: 0 !important;
  vertical-align: middle !important;
  transition: opacity 0.2s ease !important;
  box-sizing: border-box !important;
}

.gm-filter-btn span {
  display: inline-block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gm-filter-btn .gm-filter-svg {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-top: -1px !important;
}

.gm-filter-btn:hover {
  opacity: 0.7 !important;
}

/* ================= GENTLE MONSTER EXPANDABLE FILTER PANEL DROPDOWN ================= */
.gm-filter-panel-dropdown {
  width: 100% !important;
  background-color: #f5f5f7 !important;
  /* Gentle Monster signature off-white clean background */
  border-bottom: 1px solid #e5e5e7 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease, visibility 0.35s ease !important;
  position: relative !important;
  z-index: 99 !important;
}

.gm-filter-panel-dropdown.open {
  max-height: 1000px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide Subcat Strip Pill Tags & Text Header when Filter is Open (1:1 Gentle Monster) */
body.gm-filter-is-open .gm-subcat-strip-container,
body.gm-filter-is-open .gm-category-text-header,
body.gm-filter-is-open .gm-shop-hero-campaign {
  display: none !important;
}

.gm-filter-panel-inner {
  padding: 32px 48px 48px 48px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.gm-filter-panel-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 32px !important;
}

.gm-filter-panel-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  color: #1d1d1f !important;
  text-transform: uppercase !important;
}

.gm-filter-panel-title sup {
  font-size: 10px !important;
  top: -0.6em !important;
  margin-left: 2px !important;
  color: #86868b !important;
}

.gm-filter-panel-close {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #1d1d1f !important;
  padding: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.gm-filter-panel-close:hover {
  transform: rotate(90deg) !important;
  opacity: 0.7 !important;
}

/* 5-Column Filter Layout */
.gm-filter-grid {
  display: grid !important;
  grid-template-columns: 2.2fr 2.2fr 1fr 1.2fr 1fr !important;
  gap: 32px !important;
  width: 100% !important;
}

@media (max-width: 1200px) {
  .gm-filter-grid {
    grid-template-columns: 1fr 1fr 1fr !important;
  }
}

@media (max-width: 768px) {
  .gm-filter-grid {
    grid-template-columns: 1fr !important;
  }
}

.gm-filter-col-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  color: #1d1d1f !important;
  text-transform: uppercase !important;
  margin: 0 0 16px 0 !important;
}

.gm-filter-options-subgrid {
  display: grid !important;
  gap: 10px 16px !important;
}

.gm-filter-options-subgrid.col-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.gm-filter-options-subgrid.col-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.gm-filter-options-subgrid.col-1 {
  grid-template-columns: 1fr !important;
}

/* Custom Minimalist Checkbox & Radio Labels matching Gentle Monster screenshot */
.gm-filter-checkbox,
.gm-filter-radio {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #1d1d1f !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  user-select: none !important;
  transition: opacity 0.2s ease !important;
}

.gm-filter-checkbox:hover,
.gm-filter-radio:hover {
  opacity: 0.7 !important;
}

/* Hide native inputs and draw sleek Gentle Monster square & round borders */
.gm-filter-checkbox input[type="checkbox"],
.gm-filter-radio input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 14px !important;
  height: 14px !important;
  border: 1.2px solid #6e6e73 !important;
  background-color: transparent !important;
  outline: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

.gm-filter-checkbox input[type="checkbox"] {
  border-radius: 2px !important;
}

.gm-filter-radio input[type="radio"] {
  border-radius: 50% !important;
}

.gm-filter-checkbox input[type="checkbox"]:checked {
  background-color: #1d1d1f !important;
  border-color: #1d1d1f !important;
}

.gm-filter-checkbox input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 4px !important;
  top: 1px !important;
  width: 4px !important;
  height: 7px !important;
  border: solid #ffffff !important;
  border-width: 0 1.5px 1.5px 0 !important;
  transform: rotate(45deg) !important;
}

.gm-filter-radio input[type="radio"]:checked {
  border-color: #1d1d1f !important;
}

.gm-filter-radio input[type="radio"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 3px !important;
  top: 3px !important;
  width: 6px !important;
  height: 6px !important;
  background-color: #1d1d1f !important;
  border-radius: 50% !important;
}

/* Gentle Monster Featured Hero Campaign Banner */
.gm-shop-hero-campaign {
  width: 100% !important;
  margin-bottom: 48px !important;
  overflow: hidden !important;
  position: relative !important;
  height: 1050px !important;
  max-height: 92vh !important;
  background-color: #000000 !important;
  transition: opacity 0.3s ease !important;
}

.gm-shop-hero-campaign.gm-banner-hidden {
  display: none !important;
}

.gm-campaign-media {
  width: 100% !important;
  height: 100% !important;
  max-height: 1050px !important;
  overflow: hidden !important;
}

.gm-campaign-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* ================= GENTLE MONSTER 1:1 SHOP ARCHIVE PAGE STYLES (BACKGROUND #f2f4f5 & 4 CARDS PER ROW 100VW FULL WIDTH BREAKOUT) ================= */
body.post-type-archive-product,
body.tax-product_cat,
body.woocommerce-shop,
.gm-shop-archive-wrapper {
  background-color: #f2f4f5 !important;
  /* Gentle Monster soft off-white page background */
  min-height: 80vh !important;
  padding-bottom: 100px !important;
  overflow-x: hidden !important;
}

/* Breakout of any theme container to 100% full viewport width edge-to-edge */
.gm-shop-fullwidth-grid-container,
.gm-product-grid-inner {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-color: #f2f4f5 !important;
}

/* 4 Cards Per Row Full Width Grid Layout matching Gentle Monster */
.gm-products-grid-4col,
.gm-shop-fullwidth-grid-container ul.products,
.gm-product-grid-inner ul.products,
.gm-shop-archive-wrapper ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
ul.products,
ul.products.columns-1,
ul.products.columns-2,
ul.products.columns-3,
ul.products.columns-4,
ul.products.columns-5,
ul.products.columns-6 {
  display: grid !important;
  grid-template-columns: 25% 25% 25% 25% !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: #f2f4f5 !important;
}

@media (max-width: 768px) {

  .gm-products-grid-4col,
  .gm-shop-fullwidth-grid-container ul.products,
  .gm-product-grid-inner ul.products,
  .gm-shop-archive-wrapper ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  ul.products,
  ul.products[class*="columns-"] {
    grid-template-columns: 50% 50% !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Individual Product Card Styling - Override all Arnold theme inner card containers */
.gm-product-card-item,
.gm-shop-archive-wrapper ul.products li.product,
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
ul.products li.product,
section.product-item,
.product-item,
.main-list-item,
.inside,
.archive-content-info,
.archive-product-info {
  background-color: #f2f4f5 !important;
  /* Seamless match with page background */
  background: #f2f4f5 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.gm-product-card-item,
.gm-shop-archive-wrapper ul.products li.product,
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
ul.products li.product {
  border: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  padding: 0 16px 60px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: background-color 0.25s ease !important;
}

/* ABSOLUTELY ZERO HOVER ANIMATION / COLOR / SCALE / SHADOW / TRANSITION ON PRODUCT CARDS & IMAGES */
.gm-product-card-item:hover,
.gm-shop-archive-wrapper ul.products li.product:hover,
.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
ul.products li.product:hover {
  background-color: #f2f4f5 !important;
  background: #f2f4f5 !important;
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Image Wrap & Gentle Monster Horizontal Carousel Track & Hover Arrows < > */
.gm-card-image-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #f2f4f5 !important;
}

.gm-card-image-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  text-decoration: none !important;
  position: relative !important;
}

.gm-card-slider-track {
  display: flex !important;
  height: 100% !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform !important;
}

.gm-card-slide {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Dash Segment Image Indicators (_ _ _ _ _) */
.gm-card-dashes-wrap {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  margin-bottom: 4px !important;
  margin-top: 4px !important;
}

.gm-card-dashes {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.gm-dash-item {
  display: block !important;
  width: 9px !important;
  height: 1px !important;
  background-color: #c7c7cc !important;
  border-radius: 0.5px !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, height 0.25s ease !important;
}

.gm-dash-item.active {
  background-color: #1d1d1f !important;
  height: 1.2px !important;
}

.gm-card-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  background: transparent !important;
  border: none !important;
  color: #1d1d1f !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.2s ease, visibility 0.2s ease !important;
  padding: 0 !important;
}

.gm-card-arrow-prev {
  left: 0px !important;
}

.gm-card-arrow-next {
  right: 0px !important;
}

/* ONLY SHOW ARROWS < > ON CARD HOVER - NO OTHER EFFECT! */
.gm-product-card-item:hover .gm-card-arrow,
.gm-card-image-wrap:hover .gm-card-arrow {
  opacity: 1 !important;
  visibility: visible !important;
}

.gm-card-img,
.gm-product-card-item img,
.gm-card-image-link img,
.gm-card-slide img,
ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
  transition: opacity 0.15s ease !important;
}

.gm-product-card-item:hover .gm-card-img,
.gm-product-card-item:hover img,
.gm-card-image-link:hover img,
ul.products li.product:hover img,
a:hover img {
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow: none !important;
  mix-blend-mode: normal !important;
}

/* Product Meta Info Bar - POSITIONS AT MARGIN-TOP -2PX DIRECTLY UNDER DASHES */
.gm-card-info-meta {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-top: 0 !important;
  margin-top: -32px !important;
  border-top: none !important;
  border: none !important;
}

.gm-card-text-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.gm-card-title-link {
  text-decoration: none !important;
}

.gm-card-title,
.product-caption-title,
.product-archive-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.4px !important;
  color: #1d1d1f !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.gm-card-price-status,
.gm-card-price,
.gm-card-price *,
.price,
.amount {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #6e6e73 !important;
}

.gm-card-price {
  color: #6e6e73 !important;
  font-size: 12px !important;
}

.gm-card-stock {
  color: #86868b !important;
  font-size: 11px !important;
}

/* Bookmark Icon */
.gm-card-bookmark-btn {
  background: transparent !important;
  border: none !important;
  padding: 4px !important;
  cursor: pointer !important;
  color: #1d1d1f !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gm-card-bookmark-btn svg {
  width: 22px !important;
  height: 22px !important;
  stroke-width: 1.4 !important;
}

.gm-card-bookmark-btn:hover {
  opacity: 1 !important;
  transform: scale(1.15) !important;
}

/* ================= HIDE WOOCOMMERCE COMING SOON MODE NOTICE BANNER ================= */
.wc-coming-soon-banner,
.woocommerce-coming-soon-banner,
.coming-soon-mode-notice,
#wpadminbar-coming-soon,
body>div[class*="coming-soon"],
body>div[id*="coming-soon"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* ================= GENTLE MONSTER 1:1 TOP RIGHT HEADER UTILITIES & 3-COLUMN LAYOUT ================= */
#header-main,
.header-main {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.header-col-left {
  flex: 1 1 0% !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

.header-col-center,
.header-main .navi-logo {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  z-index: 10 !important;
  margin: 0 !important;
}

.header-col-right {
  flex: 1 1 0% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.gm-header-right-actions {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin-left: auto !important;
}

.gm-search-ticker-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.gm-header-manifesto-link {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #1d1d1f !important;
  text-decoration: none !important;
  letter-spacing: 0.2px !important;
  margin-right: 0 !important;
  transition: opacity 0.2s ease !important;
}

.gm-header-ticker-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  margin-top: 1px !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

.gm-ticker-text,
.gm-header-manifesto-link .gm-ticker-text,
#header .gm-ticker-text,
body #header .gm-ticker-text {
  display: inline-block !important;
  font-family: 'gentleSanregularEn', 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #1d1d1f !important;
  letter-spacing: 0.2px !important;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform !important;
}

.gm-ticker-text.slide-out {
  opacity: 0 !important;
  transform: translateY(-10px) !important;
}

.gm-ticker-text.slide-in-prep {
  opacity: 0 !important;
  transform: translateY(10px) !important;
}

.gm-ticker-text.slide-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.gm-header-manifesto-link:hover {
  opacity: 0.7 !important;
  color: #000000 !important;
}

.gm-header-action-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1d1d1f !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.gm-header-action-btn:hover {
  opacity: 0.7 !important;
}

.gm-header-cart-icon-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
}

.gm-header-cart-icon-wrap svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #1d1d1f !important;
}

.gm-header-cart-count {
  position: absolute !important;
  top: 9px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: #1d1d1f !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* Hide default theme redundant icons */
.head-meta .wc-cart-icon,
.head-meta .search-header-btn,
.head-meta .header-bar-social {
  display: none !important;
}

/* Keep product card and image background color 100% unchanged on hover */
.gm-product-card-item:hover,
.gm-shop-archive-wrapper ul.products li.product:hover,
.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
ul.products li.product:hover,
.gm-card-image-wrap:hover,
.gm-card-image-link:hover,
.gm-card-slide:hover,
.gm-product-card:hover,
.gm-product-image-wrap:hover,
a.gm-product-image-wrap:hover,
a.gm-card-image-link:hover,
.gm-eyewear-card:hover,
.gm-eyewear-img-wrap:hover {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

/* Keep single header exact native position, with z-index above Bag/Wishlist modal */
#header,
#header-main,
.header-main,
.header-main-wrap,
#header-main-sticky,
body.home #header,
body:not(.home) #header,
body:not(.home) #header-main {
  z-index: 9999999 !important;
}

/* FORCE FULL SOLID BLACK FOR ALL HEADER TEXT & ICONS WHEN BAG/WISHLIST MODAL IS OPEN */
body.gm-modal-open #header *,
body.gm-modal-open #header-main *,
body.gm-modal-open .header-main * {
  color: #000000 !important;
}

body.gm-modal-open #header svg,
body.gm-modal-open #header-main svg,
body.gm-modal-open .header-main svg,
body.gm-modal-open #header svg path,
body.gm-modal-open #header svg circle,
body.gm-modal-open #header svg rect,
body.gm-modal-open #header svg line {
  stroke: #000000 !important;
}

body.gm-modal-open .logo-text,
body.gm-modal-open .logo-a,
body.gm-modal-open .gm-ticker-text,
body.gm-modal-open .gm-header-manifesto-link,
body.gm-modal-open .gm-header-cart-count,
body.gm-modal-open #navi a,
body.gm-modal-open .navi-header a,
body.gm-modal-open #navi-header a,
body.gm-modal-open #navi-header li a,
body.gm-modal-open .navi-header li a,
body.gm-modal-open .menu-item a,
body.home.gm-modal-open #navi-header a,
body.home.gm-modal-open .navi-header a,
body.home.gm-modal-open #navi a,
body.home.gm-modal-open #navi-header li a,
body.home.gm-modal-open .navi-header li a,
body.home.gm-modal-open #navi li a,
body.front-page.gm-modal-open #navi-header a,
body.front-page.gm-modal-open .navi-header a,
body.front-page.gm-modal-open #navi a,
body.front-page.gm-modal-open #navi-header li a,
body.front-page.gm-modal-open .navi-header li a {
  color: #000000 !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

/* REMOVE ALL TEXT SHADOW / DROP SHADOW FROM MARTIAN BRAND LOGO GLOBALLY */
.logo-wrap,
.logo-wrap a,
.logo-wrap h1,
.logo-wrap .logo-text,
.logo-wrap .logo-a,
#header .logo-wrap *,
#header-main .logo-wrap *,
.logo-not-show-txt,
.logo-a,
.logo-text,
#logo {
  text-shadow: none !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Completely hide Side Cart plugin (xoo-wsc) navbar & floating icon */
.xoo-wsc-cart-trigger,
.xoo-wsc-container,
.xoo-wsc-markup,
.xoo-wsc-modal,
.xoo-wsc-basket,
.xoo-wsc-slider,
.xoo-wsc-bkt,
.xoo-wsc-opac,
#xoo-wsc-basket,
.xoo-wsc-icon-atc {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ================= GENTLE MONSTER 1:1 BAG & WISHLIST OVERLAY MODAL ================= */
.gm-drawer-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999990 !important;
  background-color: #f4f4f6 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  padding: 80px 20px 40px 20px !important;
}

.gm-drawer-overlay.open,
.gm-drawer-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.gm-drawer-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-height: 70vh !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

/* Row 2: Tabs Centered + Close Button X on Far Right (Aligned with Screenshot 2) */
.gm-drawer-tabs-header {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  margin-top: 10px !important;
  margin-bottom: 80px !important;
  height: 38px !important;
}

.gm-drawer-tabs {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 auto !important;
  height: 38px !important;
}

.gm-drawer-close {
  position: absolute !important;
  right: 41px !important;
  top: 0 !important;
  height: 38px !important;
  margin-top: -3px !important;
  transform: none !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #111111 !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.2s ease !important;
  z-index: 99 !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

.gm-drawer-close:hover {
  opacity: 0.6 !important;
}

.gm-drawer-tab {
  font-family: 'gentleSanregularEn', 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  height: auto !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  border: none !important;
  background: transparent !important;
  color: #8e8e93 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}


.gm-drawer-tab sup {
  font-size: 11px !important;
  line-height: 1 !important;
  margin-left: 2px !important;
  top: -0.4em !important;
  position: relative !important;
}

.gm-drawer-tab.active {
  background-color: #e2e2e7 !important;
  color: #111111 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Panes */
.gm-drawer-tab-pane {
  display: none !important;
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.gm-drawer-tab-pane.active {
  display: flex !important;
}

/* Empty Message & Button */
.gm-drawer-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 60px 20px !important;
  text-align: center !important;
}

.gm-drawer-empty-msg {
  font-family: 'gentleSanregularEn', 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 250 !important;
  color: #333333 !important;
  margin-bottom: 35px !important;
  letter-spacing: 0.2px !important;
}

.gm-drawer-tab:hover {
  opacity: 1 !important;
  filter: none !important;
}

.gm-drawer-btn,
.gm-drawer-btn-pill,
a.gm-drawer-btn,
a.gm-drawer-btn-pill,
.gm-drawer-empty a,
.gm-drawer-overlay a {
  display: inline-block !important;
  font-family: 'gentleSanregularEn', 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 36px !important;
  border-radius: 4px !important;
  text-align: center !important;
  transition: none !important;
  opacity: 1 !important;
  filter: none !important;
}

.gm-drawer-btn-pill,
.gm-drawer-empty a,
.gm-drawer-overlay a.gm-drawer-btn-pill {
  border: 1px solid #c7c7cc !important;
  background-color: transparent !important;
  color: #111111 !important;
}

.gm-drawer-overlay a:hover,
.gm-drawer-overlay a:focus,
.gm-drawer-overlay a:active,
.gm-drawer-btn:hover,
.gm-drawer-btn-pill:hover,
a.gm-drawer-btn:hover,
a.gm-drawer-btn-pill:hover,
.gm-drawer-empty a:hover,
.gm-drawer-empty a:focus,
.gm-drawer-empty a:active {
  border-color: #c7c7cc !important;
  background-color: transparent !important;
  color: #111111 !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.gm-drawer-btn-black {
  background-color: #111111 !important;
  color: #ffffff !important;
  width: 100% !important;
}

.gm-drawer-btn-black:hover {
  background-color: #111111 !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

.gm-drawer-btn-outline {
  border: 1px solid #111111 !important;
  background-color: transparent !important;
  color: #111111 !important;
  width: 100% !important;
}

.gm-drawer-btn-outline:hover {
  border-color: #111111 !important;
  background-color: transparent !important;
  color: #111111 !important;
  opacity: 1 !important;
}

/* Cart & Wishlist Item Lists */
.gm-drawer-cart-items,
.gm-drawer-wishlist-grid {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 15px !important;
  margin-bottom: 30px !important;
}

.gm-drawer-cart-item,
.gm-drawer-wishlist-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #ffffff !important;
  padding: 16px 20px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.gm-drawer-item-img {
  width: 70px !important;
  height: 70px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gm-drawer-item-img img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

.gm-drawer-item-info {
  flex: 1 !important;
  padding: 0 20px !important;
}

.gm-drawer-item-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  margin: 0 0 4px 0 !important;
}

.gm-drawer-item-price {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  color: #555555 !important;
}

.gm-drawer-item-remove {
  color: #8e8e93 !important;
  font-size: 20px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  padding: 4px 8px !important;
  transition: color 0.2s ease !important;
}

.gm-drawer-item-remove:hover {
  color: #e02424 !important;
}

.gm-drawer-cart-footer {
  width: 100% !important;
  padding-top: 20px !important;
  border-top: 1px solid #e5e5ea !important;
}

.gm-drawer-subtotal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  margin-bottom: 20px !important;
}

/* ================= GENTLE MONSTER 1:1 LEGAL & TERMS PAGE STYLES ================= */
.gm-legal-page-wrapper {
  width: 100% !important;
  min-height: 85vh !important;
  background-color: #f4f4f6 !important;
  padding: 5px 40px 100px 40px !important;
  box-sizing: border-box !important;
}

.gm-legal-tabs-bar {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 50px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.gm-legal-tab-pill {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  height: 30px !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  border: 1px solid #d5d5dc !important;
  background: #ffffff !important;
  color: #7e7e83 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  outline: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

.gm-legal-tab-pill.active {
  background: #ffffff !important;
  border-color: #111111 !important;
  color: #111111 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

.gm-legal-tab-pill:hover {
  color: #111111 !important;
  border-color: #111111 !important;
}

.gm-legal-content-container {
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.gm-legal-section {
  display: none !important;
}

.gm-legal-section.active {
  display: block !important;
}

.gm-legal-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  text-align: center !important;
  margin-bottom: 60px !important;
}

.gm-legal-body {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #333333 !important;
}

.gm-legal-body p {
  margin-bottom: 22px !important;
}

.gm-legal-body h4 {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  margin-top: 36px !important;
  margin-bottom: 12px !important;
  text-transform: capitalize !important;
}

.gm-legal-effective {
  color: #777777 !important;
  font-size: 12px !important;
  margin-bottom: 30px !important;
}

.gm-legal-body a {
  color: #111111 !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}

.gm-announcement-list {
  margin-top: 30px !important;
}

.gm-announcement-item {
  padding: 24px 0 !important;
  border-bottom: 1px solid #e0e0e5 !important;
}

.gm-announcement-date {
  font-size: 12px !important;
  color: #8e8e93 !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.gm-announcement-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  margin-bottom: 8px !important;
}

/* ================= GLOBAL PAGE BACKGROUND COLOR #f2f4f5 ================= */
html,
body,
#wrap-outer,
#wrap,
#content,
#main,
#main-wrap,
.site-main,
.page-wrap,
.page,
.single,
.archive,
.woocommerce,
.woocommerce-page,
.gm-legal-page-wrapper,
.gm-drawer-overlay {
  background-color: #f2f4f5 !important;
}

/* ================= GENTLE MONSTER 1:1 STORES / STORE LOCATOR PAGE STYLES ================= */
.gm-stores-page-wrapper {
  display: flex !important;
  width: 100% !important;
  height: calc(100vh - 60px) !important;
  margin-top: 60px !important;
  background-color: #f2f4f5 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Map Column (Left ~60%) */
.gm-stores-map-column {
  flex: 1 1 60% !important;
  height: 100% !important;
  position: relative !important;
  background-color: #e5e5e7 !important;
}

.gm-stores-map {
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

/* Leaflet Map Grayscale Custom Marker Pin */
.gm-map-custom-marker {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gm-marker-dot {
  width: 14px !important;
  height: 14px !important;
  background-color: #111111 !important;
  border: 3px solid #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.2s ease !important;
}

.gm-marker-dot:hover {
  transform: scale(1.3) !important;
}

/* Sidebar Column (Right ~40%) */
.gm-stores-sidebar-column {
  flex: 0 0 42% !important;
  max-width: 580px !important;
  height: 100% !important;
  background-color: #f2f4f5 !important;
  border-left: 1px solid #e0e0e5 !important;
  padding: 24px 32px 0 32px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Fixed Header Controls Box (Stays in place when list scrolls) */
.gm-stores-fixed-header {
  flex: 0 0 auto !important;
  background-color: #f2f4f5 !important;
  z-index: 10 !important;
  padding-bottom: 8px !important;
}

/* Filter Header Row */
.gm-stores-filter-top {
  display: flex !important;
  justify-content: flex-end !important;
  margin-bottom: 10px !important;
}

.gm-stores-filter-btn {
  background: transparent !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  cursor: pointer !important;
}

/* Controls Box (Selects & Current Location) */
.gm-stores-controls-card {
  margin-bottom: 16px !important;
}

.gm-stores-select-grid {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 2px !important;
}

.gm-stores-select-box {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.gm-stores-select-box label {
  font-size: 11px !important;
  color: #8e8e93 !important;
  margin-bottom: 4px !important;
  font-weight: 500 !important;
}

.gm-stores-select {
  width: 100% !important;
  height: 42px !important;
  background-color: #ffffff !important;
  border: 1px solid #e0e0e5 !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  outline: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%3C111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

.gm-stores-location-btn {
  background: transparent !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #111111 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin-top: -8px !important;
  line-height: 1 !important;
}

/* Store Cards (Scrolls Independently) */
.gm-stores-list {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding-bottom: 60px !important;
  padding-right: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 36px !important;
  scrollbar-width: thin !important;
}

.gm-stores-list::-webkit-scrollbar {
  width: 4px !important;
}

.gm-stores-list::-webkit-scrollbar-thumb {
  background-color: #d0d0d5 !important;
  border-radius: 2px !important;
}

.gm-store-card {
  background-color: transparent !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

.gm-store-card:hover {
  opacity: 0.9 !important;
}

.gm-store-card-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 6px !important;
}

.gm-store-name {
  font-family: 'gentleSansEn', 'Basel Grotesk', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: #111111 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

.gm-store-distance {
  font-size: 11px !important;
  color: #8e8e93 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}

.gm-store-status {
  font-size: 12px !important;
  color: #666666 !important;
  margin-bottom: 8px !important;
}

.gm-status-open {
  color: #2e7d32 !important;
  font-weight: 600 !important;
}

.gm-store-address {
  font-size: 12px !important;
  color: #555555 !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
}

.gm-store-services {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 16px !important;
}

.gm-service-pill {
  font-size: 11px !important;
  color: #666666 !important;
  background-color: #e5e5ea !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-weight: 400 !important;
}

.gm-store-image-wrap {
  width: 100% !important;
  height: 260px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.gm-store-image-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.gm-store-card:hover .gm-store-image-wrap img {
  transform: scale(1.03) !important;
}

/* Mobile responsive layout */
@media (max-width: 900px) {
  .gm-stores-page-wrapper {
    flex-direction: column !important;
    height: auto !important;
  }

  .gm-stores-map-column {
    height: 350px !important;
    flex: none !important;
  }

  .gm-stores-sidebar-column {
    flex: none !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ================= GENTLE MONSTER 1:1 CATEGORY TEXT HEADER (SUNGLASSES & GLASSES) ================= */
.gm-category-text-header {
  text-align: center !important;
  padding: 100px 24px 70px 24px !important;
  background-color: #f2f4f5 !important;
  box-sizing: border-box !important;
}

.gm-category-title {
  font-family: 'gentleSansEn', 'Basel Grotesk', serif, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.2 !important;
}

.gm-category-desc {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  color: #555555 !important;
  margin: 0 auto !important;
  max-width: 620px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

/* ================= GENTLE MONSTER 1:1 ACCOUNT SLIDE-IN DRAWER MODAL ================= */
.gm-account-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(0, 0, 0, 0.4) !important;
  z-index: 99999999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.35s ease, visibility 0.35s ease !important;
  backdrop-filter: blur(2px) !important;
}

.gm-account-modal-overlay.open,
.gm-account-modal-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.gm-account-drawer-container {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 480px !important;
  max-width: 90vw !important;
  height: 100vh !important;
  background-color: #f7f7f8 !important;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15) !important;
  transform: translateX(100%) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 64px 40px 40px 40px !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  pointer-events: auto !important;
}

.gm-account-modal-overlay.open .gm-account-drawer-container,
.gm-account-modal-overlay.active .gm-account-drawer-container {
  transform: translateX(0) !important;
}

/* Close button X top right */
.gm-account-drawer-close {
  position: absolute !important;
  top: 20px !important;
  right: 24px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #111111 !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 100 !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.gm-account-drawer-close:hover {
  opacity: 0.6 !important;
  transform: scale(1.1) !important;
}

.gm-account-drawer-close svg,
.gm-account-drawer-close line,
.gm-account-drawer-close path {
  pointer-events: none !important;
}

/* Sections */
.gm-account-section {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.gm-account-section-title {
  font-family: 'gentleSansEn', 'Basel Grotesk', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  margin: 0 0 10px 0 !important;
}

.gm-account-section-sub {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', sans-serif !important;
  font-size: 12px !important;
  color: #666666 !important;
  line-height: 1.55 !important;
  margin: 0 0 24px 0 !important;
}

/* Field Header & Inputs */
.gm-account-field-header {
  display: flex !important;
  justify-content: flex-end !important;
  margin-bottom: 6px !important;
}

.gm-account-req-label {
  font-size: 11px !important;
  color: #888888 !important;
  font-weight: 400 !important;
}

.gm-account-register-form .gm-account-input-wrap,
.gm-account-login-form .gm-account-input-wrap,
.gm-account-input-wrap,
.gm-account-gender-wrap {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
}

.gm-account-input {
  width: 100% !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  font-size: 12.5px !important;
  background-color: #ffffff !important;
  border: 1px solid #e0e0e2 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  color: #111111 !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
}

.gm-account-input:focus {
  border-color: #111111 !important;
}

.gm-account-input::placeholder {
  color: #888888 !important;
}

select.gm-account-input {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%3C888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  cursor: pointer !important;
}

input[type="date"].gm-account-input {
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, sans-serif !important;
}

/* Gender Radio / Checkbox Selection Box */
.gm-account-gender-wrap {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  padding: 8px 14px !important;
  background-color: #ffffff !important;
  border: 1px solid #e0e0e2 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

.gm-account-gender-label {
  display: block !important;
  font-size: 12px !important;
  color: #888888 !important;
  font-family: 'gentleSanregularEn', 'Basel Grotesk', sans-serif !important;
  margin-bottom: 8px !important;
}

.gm-account-gender-options {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

.gm-account-radio-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  color: #111111 !important;
  font-family: 'gentleSanregularEn', 'Basel Grotesk', sans-serif !important;
  user-select: none !important;
}

.gm-account-radio-label input[type="radio"] {
  accent-color: #111111 !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
  margin: 0 !important;
}

/* Buttons */
.gm-account-btn {
  font-family: 'gentleSansEn', 'Basel Grotesk', sans-serif !important;
  box-sizing: border-box !important;
}

.gm-account-btn-submit {
  width: 100% !important;
  height: 48px !important;
  background-color: #79797b !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.gm-account-btn-submit:hover {
  background-color: #111111 !important;
}

/* Account Login / Register View Toggle Link Wrap */
.gm-account-toggle-wrap {
  margin-top: 24px !important;
  text-align: center !important;
  font-size: 13px !important;
  color: #666666 !important;
  font-family: 'gentleSanregularEn', 'Basel Grotesk', sans-serif !important;
}

.gm-account-toggle-wrap a {
  color: #111111 !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  margin-left: 4px !important;
  transition: opacity 0.2s ease !important;
}

.gm-account-toggle-wrap a:hover {
  opacity: 0.7 !important;
}

/* Divider OR */
.gm-account-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 24px 0 !important;
  position: relative !important;
}

.gm-account-divider::before,
.gm-account-divider::after {
  content: "" !important;
  flex: 1 !important;
  height: 1px !important;
  background-color: #e2e2e5 !important;
}

.gm-account-divider span {
  padding: 0 14px !important;
  font-size: 11px !important;
  color: #888888 !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
}

/* Social Login Buttons */
.gm-account-social-btns {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
}

.gm-account-btn-social {
  width: 100% !important;
  height: 48px !important;
  background-color: #ffffff !important;
  border: 1px solid #e0e0e2 !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  color: #111111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.gm-account-btn-social:hover {
  border-color: #111111 !important;
  background-color: #fafafa !important;
}

.gm-account-btn-track {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  background-color: transparent !important;
  border: 1px solid #d0d0d5 !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  color: #111111 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.gm-account-btn-track:hover {
  border-color: #111111 !important;
  background-color: rgba(0, 0, 0, 0.03) !important;
}

/* ================= GENTLE MONSTER 1:1 SUBSCRIBE POPUP MODAL ================= */
.gm-subscribe-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(0, 0, 0, 0.45) !important;
  z-index: 99999999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.35s ease, visibility 0.35s ease !important;
  backdrop-filter: blur(4px) !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.gm-subscribe-modal-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.gm-subscribe-modal-box {
  background-color: rgba(230, 230, 232, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  width: 480px !important;
  max-width: 90vw !important;
  border-radius: 16px !important;
  padding: 40px 36px 36px 36px !important;
  box-sizing: border-box !important;
  position: relative !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25) !important;
  transform: scale(0.95) translateY(10px) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.gm-subscribe-modal-overlay.active .gm-subscribe-modal-box {
  transform: scale(1) translateY(0) !important;
}

.gm-subscribe-modal-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  background: rgba(0, 0, 0, 0.08) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #111111 !important;
  transition: all 0.2s ease !important;
  z-index: 100 !important;
  padding: 0 !important;
}

.gm-subscribe-modal-close svg,
.gm-subscribe-modal-close line {
  pointer-events: none !important;
}

.gm-subscribe-modal-close:hover {
  background: rgba(0, 0, 0, 0.16) !important;
  color: #000000 !important;
  transform: scale(1.1) !important;
}

.gm-subscribe-title {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #111111 !important;
  margin: 0 0 12px 0 !important;
  text-align: left !important;
}

.gm-subscribe-subtitle {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #555555 !important;
  margin: 0 0 24px 0 !important;
  text-align: left !important;
}

.gm-subscribe-field-group {
  position: relative !important;
  width: 100% !important;
  background-color: #ffffff !important;
  border: 1.5px solid transparent !important;
  border-radius: 12px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, padding 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  cursor: text !important;
}

.gm-subscribe-field-group:focus-within,
.gm-subscribe-field-group.has-value {
  border-color: #111111 !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  justify-content: flex-start !important;
}

.gm-subscribe-label {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13.5px !important;
  color: #777777 !important;
  line-height: 1.2 !important;
  display: block !important;
  transition: font-size 0.2s ease, color 0.2s ease, margin 0.2s ease !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gm-subscribe-field-group:focus-within .gm-subscribe-label,
.gm-subscribe-field-group.has-value .gm-subscribe-label {
  font-size: 10.5px !important;
  color: #888888 !important;
  margin-bottom: 2px !important;
}

.gm-subscribe-input-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.2s ease, opacity 0.2s ease !important;
}

.gm-subscribe-field-group:focus-within .gm-subscribe-input-row,
.gm-subscribe-field-group.has-value .gm-subscribe-input-row {
  max-height: 28px !important;
  opacity: 1 !important;
}

.gm-subscribe-input {
  width: 100% !important;
  height: 22px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 13px !important;
  color: #111111 !important;
  outline: none !important;
  box-shadow: none !important;
}

.gm-subscribe-input::placeholder {
  color: #aaaaaa !important;
  font-size: 13px !important;
}

.gm-subscribe-submit-btn {
  background: transparent !important;
  border: none !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: #777777 !important;
  cursor: pointer !important;
  padding: 0 0 0 12px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: color 0.2s ease !important;
}

.gm-subscribe-submit-btn:hover {
  color: #111111 !important;
}

/* ================= ALWAYS FIXED STICKY HEADER (NEVER HIDE ON SCROLL UP/DOWN) ================= */
#header,
#header-main,
.header-main,
.header-main-wrap,
#header-main-sticky,
body.home #header,
body.home #header-main,
body.home .header-main,
body.front-page #header,
body.front-page .header-main,
.home #header,
.home .header-main,
body:not(.home) #header,
body:not(.home) #header-main,
body:not(.home) .header-main {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999999 !important;
  transform: none !important;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

/* Prevent any parent theme or JS script from hiding header on scroll down/up */
#header.ux-header-hide,
.ux-header-hide,
header#header,
#header[data-scroll],
#header-main {
  transform: none !important;
  top: 0 !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Non-homepage pages header background */
body:not(.home) #header,
body:not(.home) #header-main,
body:not(.home) .header-main {
  background-color: #ffffff !important;
}

/* Homepage header (always white background, dark text like all other pages) */
body.home #header,
body.home #header-main,
body.home .header-main {
  background-color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) !important;
}

body.home #header a:not(.gm-sub-menu a),
body.home #header .logo-text,
body.home #header .gm-ticker-text,
body.home #header .gm-header-cart-count,
body.home #header #navi-header>ul>li>a {
  color: #111111 !important;
  text-shadow: none !important;
}

body.home #header svg line,
body.home #header svg path,
body.home #header svg circle,
body.home #header svg rect {
  stroke: #111111 !important;
}

/* Content top offset for non-homepage pages so fixed 60px header doesn't overlap top content */
body:not(.home) #wrap-all,
body:not(.home) #main,
body:not(.home) .site-main,
body:not(.home) .gm-category-page-container,
body:not(.home) .archive-wrap,
body:not(.home) .woocommerce-page {
  padding-top: 60px !important;
}

/* =========================================================================
   COMMENT / ẨN TRIỆT ĐỂ TẤT CẢ HIỆU ỨNG & NÚT FLOATING Ở GÓC DƯỚI BÊN PHẢI (ON ALL PAGES)
   ========================================================================= */
.bottom-contact,
#back-to-top,
.back-to-top,
#scroll-top,
.scroll-top,
#scroll-up,
.scroll-up,
#totop,
.totop,
#go-top,
.go-top,
#scrollUp,
.scrollUp,
.chaty-widget,
.chaty-main-widget,
.chaty-outer-forms,
.joinchat,
.gtranslate_wrapper,
a[href="#top"],
a[href="#header"],
[class*="back-to-top"],
[class*="scroll-to-top"],
[class*="scrollToTop"],
[id*="back-to-top"],
[id*="scroll-to-top"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================================
   COMMENT / ẨN MỤC "INTELLIGENT EYEWEAR" VÀ "EXPLORE" TRÊN HEADER MENU
   ========================================================================= */
#navi-header li.menu-item-intelligent-eyewear,
#navi-header li[class*="intelligent"],
#navi-header a[href*="intelligent"],
.navi-header a[href*="intelligent"],
#navi_wrap a[href*="intelligent"],
header a[href*="intelligent"],
nav a[href*="intelligent"],
#navi-header ul>li:has(a[href*="intelligent"]),
.navi-header ul>li:has(a[href*="intelligent"]),
#navi-header li.menu-item-explore,
#navi-header li[class*="explore"],
#navi-header a[href*="explore"],
.navi-header a[href*="explore"],
#navi_wrap a[href*="explore"],
header a[href*="explore"],
nav a[href*="explore"],
#navi-header ul>li:has(a[href*="explore"]),
.navi-header ul>li:has(a[href*="explore"]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Ensure Header is always visible on top when Bag/Wishlist modal or Account modal is open */
body.gm-modal-open #header,
body.gm-modal-open #header-main,
body.gm-modal-open .header-main,
.gm-drawer-overlay.open~#header,
.gm-drawer-overlay.open~#header-main,
#header:has(~ .gm-drawer-overlay.open),
body:has(.gm-drawer-overlay.open) #header,
body:has(.gm-drawer-overlay.open) #header-main,
body:has(.gm-drawer-overlay.open) .header-main {
  background-color: #ffffff !important;
  z-index: 9999999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) !important;
}

body.gm-modal-open #header a,
body.gm-modal-open #header .logo-text,
body.gm-modal-open #header .gm-ticker-text,
body.gm-modal-open #header .gm-header-cart-count,
body.gm-modal-open #header #navi-header a,
body:has(.gm-drawer-overlay.open) #header a,
body:has(.gm-drawer-overlay.open) #header .logo-text,
body:has(.gm-drawer-overlay.open) #header .gm-ticker-text,
body:has(.gm-drawer-overlay.open) #header .gm-header-cart-count,
body:has(.gm-drawer-overlay.open) #header #navi-header a {
  color: #111111 !important;
}

body.gm-modal-open #header svg line,
body.gm-modal-open #header svg path,
body.gm-modal-open #header svg circle,
body.gm-modal-open #header svg rect,
body:has(.gm-drawer-overlay.open) #header svg line,
body:has(.gm-drawer-overlay.open) #header svg path,
body:has(.gm-drawer-overlay.open) #header svg circle,
body:has(.gm-drawer-overlay.open) #header svg rect {
  stroke: #111111 !important;
}

/* ====================================================
   FARELLO-STYLE CHECKOUT PAGE STYLING (/thanh-toan)
   ==================================================== */
.farello-checkout-page-wrap,
.farello-checkout-page-wrap .entry-content,
.farello-checkout-page-wrap .woocommerce,
.page-template-page-thanh-toan .container,
.page-template-page-checkout .container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.farello-checkout-container {
  max-width: 100% !important;
  width: 100% !important;
  margin: 20px 0 80px 0 !important;
  padding: 30px 40px !important;
  box-sizing: border-box !important;
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, sans-serif;
  color: #111111;
}

@media (max-width: 768px) {
  .farello-checkout-container {
    padding: 20px 16px !important;
  }
}

body.woocommerce-checkout {
  background-color: #f8f8f9 !important;
}

.farello-checkout-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

@media (min-width: 992px) {
  .farello-checkout-grid {
    grid-template-columns: 3fr 2fr;
    gap: 36px;
  }
}

/* Card Container */
.farello-checkout-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 28px 32px;
  margin-bottom: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  border: 1px solid #eaeaea;
}

.farello-card-title {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #111111;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}

/* Gender Selection Radio Group */
.farello-gender-field {
  margin-bottom: 20px;
}

.farello-radio-group {
  display: flex;
  align-items: center;
  gap: 28px;
}

.farello-radio-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: #222222;
  user-select: none;
}

.farello-radio-item input[type="radio"] {
  accent-color: #111111;
  width: 17px;
  height: 17px;
  cursor: pointer;
}

/* Inputs & Selects Grid */
.farello-input-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 768px) {
  .farello-input-grid {
    grid-template-columns: 1fr 1fr;
  }

  .farello-full-width {
    grid-column: span 2;
  }
}

/* Custom Dropdown Styling for Province / City */
.farello-custom-dropdown-wrap {
  position: relative !important;
}

.farello-dropdown-trigger {
  width: 100% !important;
  height: 46px !important;
  padding: 0 16px !important;
  font-size: 13.5px !important;
  background-color: #ffffff !important;
  border: 1px solid #dcdcdf !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  color: #888888 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}

.farello-dropdown-trigger:hover,
.farello-custom-dropdown-wrap:has(.farello-dropdown-menu.open) .farello-dropdown-trigger {
  border-color: #111111 !important;
}

.farello-dropdown-text.has-value {
  color: #111111 !important;
  font-weight: 500 !important;
}

.farello-dropdown-icon {
  width: 16px !important;
  height: 16px !important;
  color: #888888 !important;
  transition: transform 0.2s ease !important;
}

.farello-custom-dropdown-wrap:has(.farello-dropdown-menu.open) .farello-dropdown-icon {
  transform: rotate(180deg) !important;
}

.farello-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #dcdcdf !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
  z-index: 99999 !important;
  display: none;
  overflow: hidden !important;
}

.farello-dropdown-menu.open {
  display: block !important;
}

.farello-dropdown-search-wrap {
  padding: 10px 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #fafafa !important;
}

.farello-dropdown-search-input {
  width: 100% !important;
  height: 36px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  border: 1px solid #e0e0e2 !important;
  border-radius: 6px !important;
  outline: none !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
}

.farello-dropdown-search-input:focus {
  border-color: #111111 !important;
}

.farello-dropdown-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  max-height: 220px !important;
  overflow-y: auto !important;
}

.farello-dropdown-item {
  padding: 10px 16px !important;
  font-size: 13.5px !important;
  color: #222222 !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}

.farello-dropdown-item:hover,
.farello-dropdown-item.selected {
  background: #f4f4f5 !important;
  color: #111111 !important;
  font-weight: 600 !important;
}

.farello-dropdown-no-results {
  padding: 14px 16px !important;
  font-size: 13px !important;
  color: #999999 !important;
  text-align: center !important;
}

.farello-field-wrap {
  position: relative;
}

.farello-input {
  width: 100% !important;
  height: 46px !important;
  padding: 0 16px !important;
  font-size: 13.5px !important;
  background-color: #ffffff !important;
  border: 1px solid #dcdcdf !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  color: #111111 !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.farello-input:focus,
.farello-textarea:focus {
  border-color: #111111 !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
}

.farello-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%3C888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  cursor: pointer !important;
}

.farello-textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  font-size: 13.5px !important;
  background-color: #ffffff !important;
  border: 1px solid #dcdcdf !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  color: #111111 !important;
  outline: none !important;
  font-family: inherit !important;
  resize: vertical !important;
  transition: all 0.2s ease !important;
}

/* Delivery Method Choices */
.farello-delivery-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.farello-delivery-option {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border: 1px solid #e2e2e5;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.farello-delivery-option:hover,
.farello-delivery-option:has(input:checked) {
  border-color: #111111;
  background-color: #fafafa;
}

.farello-delivery-option input[type="radio"] {
  accent-color: #111111;
  width: 18px;
  height: 18px;
}

.farello-delivery-info {
  display: flex;
  flex-direction: column;
}

.farello-delivery-name {
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}

.farello-delivery-desc {
  font-size: 12.5px;
  color: #777777;
}

/* Farello Warranty Banner Box */
.farello-warranty-box {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px 28px;
  border: 1px solid #eaeaea;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.farello-warranty-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.farello-warranty-icon {
  width: 24px;
  height: 24px;
  color: #111111;
  flex-shrink: 0;
  margin-top: 2px;
}

.farello-warranty-item strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #111111;
}

.farello-warranty-item p {
  font-size: 12.5px;
  color: #666666;
  margin: 2px 0 0 0;
}

/* Right Column Order Summary Items */
.farello-order-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
  max-height: 320px;
  overflow-y: auto;
  padding-right: 4px;
}

.farello-cart-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.farello-cart-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eeeeee;
  flex-shrink: 0;
}

.farello-cart-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.farello-cart-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #111111;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.farello-cart-details {
  flex: 1;
}

.farello-cart-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #111111;
  margin: 0;
}

.farello-cart-price {
  font-size: 14px;
  font-weight: 700;
  color: #111111;
}

/* Coupon Box */
.farello-coupon-box {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 24px !important;
}

.farello-coupon-box .farello-input {
  flex: 1 !important;
  height: 46px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.farello-btn-apply {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  line-height: 1 !important;
  padding: 0 22px !important;
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: opacity 0.2s ease !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

.farello-btn-apply:hover {
  opacity: 0.85 !important;
}

/* Summary Totals */
.farello-summary-totals {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

.farello-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  color: #555555;
}

.farello-text-green {
  color: #16a34a !important;
  font-weight: 600 !important;
}

.farello-summary-divider {
  height: 1px;
  background: #eeeeee;
  margin: 8px 0;
}

.farello-total-row {
  font-size: 16px;
  font-weight: 700;
  color: #111111;
}

.farello-total-amount {
  font-size: 20px;
  font-weight: 800;
  color: #111111;
}

/* Payment Section */
.farello-payment-section {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
}

.farello-payment-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: #111111;
  margin-bottom: 14px;
}

.farello-payment-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.farello-payment-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e2e2e5;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.farello-payment-option:hover,
.farello-payment-option:has(input:checked) {
  border-color: #111111;
  background: #fafafa;
}

.farello-payment-option input[type="radio"] {
  accent-color: #111111;
  width: 17px;
  height: 17px;
  margin-top: 2px;
}

.farello-payment-label strong {
  display: block;
  font-size: 13.5px;
  color: #111111;
}

.farello-payment-label small {
  display: block;
  font-size: 12px;
  color: #777777;
  margin-top: 2px;
}

/* Submit Place Order Button */
.farello-submit-wrap {
  margin-top: 28px;
}

.farello-btn-submit {
  width: 100% !important;
  height: 52px !important;
  background-color: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
}

.farello-btn-submit:hover {
  background-color: #333333 !important;
}

@media (min-width: 992px) {
  .farello-sticky-summary {
    position: sticky;
    top: 100px;
  }
}

/* ====================================================
   GENTLE MONSTER MY ACCOUNT / PROFILE PAGE STYLING
   ==================================================== */
.gm-account-page-wrapper {
  background-color: #f8f8f9 !important;
  min-height: calc(100vh - 120px);
  padding: 40px 60px 100px 60px !important;
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, sans-serif !important;
  color: #111111 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* On My Account Page: Main site header is relative so it scrolls away naturally */
body:has(.gm-account-page-wrapper) #header,
body:has(.gm-account-page-wrapper) #header-main,
body:has(.gm-account-page-wrapper) .header-main,
body.page-template-page-my-account #header,
body.page-template-page-my-account #header-main,
body.page-template-page-my-account .header-main {
  position: relative !important;
  top: auto !important;
  transform: none !important;
}

@media (max-width: 992px) {
  .gm-account-page-wrapper {
    padding: 30px 40px 80px 40px !important;
  }
}

@media (max-width: 576px) {
  .gm-account-page-wrapper {
    padding: 24px 20px 60px 20px !important;
  }
}

/* Guest View */
.gm-account-guest-container {
  max-width: 500px;
  margin: 80px auto;
  text-align: center;
}

.gm-account-guest-title {
  font-size: 24px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 12px !important;
}

.gm-account-guest-subtitle {
  font-size: 14px !important;
  color: #666666 !important;
  margin-bottom: 28px !important;
}

.gm-account-guest-btn {
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 32px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

/* Inner Container - Full width to match header left/right alignment */
.gm-account-inner-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Top Nav Bar - Standard flow so it scrolls away naturally */
.gm-account-nav-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
  margin-bottom: 40px !important;
}

.gm-account-pill-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.gm-account-pill-btn {
  height: 27px !important;
  min-height: 27px !important;
  max-height: 27px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #666668 !important;
  background: transparent !important;
  border: 1px solid #d9dce2 !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  line-height: 25px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  user-select: none !important;
  outline: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 0 !important;
}

.gm-account-pill-btn:hover {
  border-color: #b0b4be !important;
  color: #111111 !important;
}

.gm-account-pill-btn.active {
  background-color: #e2e4e8 !important;
  border-color: #e2e4e8 !important;
  color: #111111 !important;
  font-weight: 500 !important;
}

.gm-account-logout-btn {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: #111111 !important;
  text-decoration: none !important;
}

.gm-account-logout-btn:hover {
  text-decoration: underline !important;
}

/* Centered Greeting Header */
.gm-account-greeting {
  text-align: center !important;
  margin: 40px 0 60px 0 !important;
}

.gm-account-greeting h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  color: #111111 !important;
  margin: 0 !important;
}

/* Tab Panes */
.gm-account-tab-pane {
  display: none;
}

.gm-account-tab-pane.active {
  display: block;
}

/* Centered Content Box for Account Overview Tab */
.gm-account-overview-content {
  max-width: 800px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Account Sections */
.gm-account-section {
  margin-bottom: 60px !important;
}

.gm-account-section-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 24px !important;
}

.gm-account-section-title {
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 12.5px !important;
  letter-spacing: 0.08em !important;
  color: #111111 !important;
  margin: 0 !important;
  text-transform: uppercase !important;
}

.gm-wishlist-badge {
  font-size: 10px !important;
  top: -0.6em !important;
  font-weight: 600 !important;
}

.gm-account-more-link {
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 11.5px !important;
  letter-spacing: 0.08em !important;
  color: #111111 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.gm-account-more-link:hover {
  text-decoration: underline !important;
}

.gm-account-empty-msg {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-weight: 350 !important;
  font-style: normal !important;
  font-size: 13px !important;
  color: #111111 !important;
  margin: 16px 0 !important;
}

/* Empty Purchases Layout matching Gentle Monster Screenshot */
.gm-account-empty-purchases-wrap {
  text-align: center !important;
  margin-top: 40px !important;
  margin-bottom: 60px !important;
}

.gm-account-empty-purchases-wrap .gm-account-empty-msg {
  text-align: center !important;
  margin-bottom: 32px !important;
}

.gm-account-continue-btn {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  border: 1px solid #111111 !important;
  background: transparent !important;
  color: #111111 !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 350 !important;
  font-style: normal !important;
  letter-spacing: 0.08em !important;
  padding: 14px 0 !important;
  border-radius: 6px !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.gm-account-continue-btn:hover {
  background: transparent !important;
  color: #111111 !important;
  opacity: 0.8 !important;
}

/* Wishlist Grid - 4 Columns & Shorter Compact Image Height */
.gm-account-wishlist-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px 16px !important;
}

/* Wishlist Grid - Transparent Background Matching Page */
.gm-account-wishlist-grid .gm-product-card-item,
.gm-account-wishlist-grid .gm-card-inner,
.gm-account-wishlist-grid .gm-card-image-wrap,
.gm-account-wishlist-grid .gm-card-slide,
.gm-account-wishlist-grid .gm-card-info-meta,
.gm-account-wishlist-grid .gm-card-text-wrap,
.gm-account-wishlist-grid .gm-card-dashes-wrap {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

.gm-account-wishlist-grid .gm-product-card-item:hover,
.gm-account-wishlist-grid .gm-card-inner:hover,
.gm-account-wishlist-grid .gm-card-image-wrap:hover {
  background: transparent !important;
  background-color: transparent !important;
}

.gm-account-wishlist-grid .gm-card-image-wrap {
  height: 240px !important;
  margin-bottom: 8px !important;
}

.gm-account-wishlist-grid .gm-card-img {
  max-height: 85% !important;
  max-width: 85% !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .gm-account-wishlist-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px 6px !important;
  }

  .gm-account-wishlist-grid .gm-card-image-wrap {
    height: 100px !important;
    margin-bottom: 4px !important;
  }

  .gm-account-wishlist-grid .gm-card-img {
    max-height: 90% !important;
    max-width: 90% !important;
    object-fit: contain !important;
  }

  .gm-account-wishlist-grid .gm-card-title,
  .gm-account-wishlist-grid .gm-product-title,
  .gm-account-wishlist-grid .woocommerce-loop-product__title {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .gm-account-wishlist-grid .gm-card-price,
  .gm-account-wishlist-grid .price {
    font-size: 9.5px !important;
  }

  .gm-account-wishlist-grid .gm-card-bookmark-btn {
    top: 4px !important;
    right: 4px !important;
  }

  .gm-account-wishlist-grid .gm-card-bookmark-btn svg {
    width: 12px !important;
    height: 14px !important;
  }
}

@media (min-width: 768px) {
  .gm-account-wishlist-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 1024px) {
  .gm-account-wishlist-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

.gm-account-wishlist-grid .gm-card-bookmark-btn {
  color: #111111 !important;
}

.gm-account-wishlist-grid .gm-card-bookmark-btn svg {
  fill: currentColor !important;
}

.gm-wishlist-status {
  font-size: 11px !important;
  color: #888888 !important;
}

/* Profile Summary Box - Transparent Background Matching Page */
.gm-account-profile-summary-box {
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.gm-profile-info-display {
  margin-bottom: 24px !important;
}

.gm-profile-name,
.gm-profile-email,
.gm-profile-phone {
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-weight: 350 !important;
  font-style: normal !important;
  font-size: 18px !important;
  color: #111111 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.4 !important;
}

.gm-account-edit-profile-trigger {
  width: 100% !important;
  margin: 0 auto !important;
  display: block !important;
  background: transparent !important;
  border: 1px solid #111111 !important;
  border-radius: 6px !important;
  padding: 14px 0 !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 350 !important;
  font-style: normal !important;
  letter-spacing: 0.08em !important;
  color: #111111 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
}

.gm-account-edit-profile-trigger:hover {
  background: transparent !important;
  color: #111111 !important;
  opacity: 0.8 !important;
}

/* Edit Profile Form */
.gm-edit-profile-form {
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

.gm-profile-form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 16px !important;
}

@media (max-width: 768px) {
  .gm-profile-form-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

.gm-profile-field-wrap {
  margin-bottom: 0 !important;
}

.gm-profile-field-wrap label {
  display: block !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: #444444 !important;
  margin-bottom: 3px !important;
}

.gm-profile-input {
  width: 100% !important;
  height: 38px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  background: #ffffff !important;
  border: 1px solid #dcdcdf !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
  color: #111111 !important;
}

.gm-profile-input:focus {
  border-color: #111111 !important;
  outline: none !important;
}

.gm-profile-gender-radios {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  height: 32px !important;
}

.gm-profile-gender-radios label {
  font-size: 13px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}

.gm-profile-divider {
  border: none !important;
  border-top: 1px solid #eaeaea !important;
  margin: 20px 0 16px 0 !important;
}

.gm-profile-sub-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: #333333 !important;
  margin-bottom: 10px !important;
}

.gm-profile-msg {
  font-size: 13px !important;
  margin: 16px 0 !important;
  padding: 10px 14px !important;
  border-radius: 6px !important;
  display: none;
}

.gm-profile-msg.success {
  display: block !important;
  background: #e6f4ea !important;
  color: #137333 !important;
}

.gm-profile-msg.error {
  display: block !important;
  background: #fce8e6 !important;
  color: #c5221f !important;
}

.gm-profile-save-btn {
  background: #111111 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 40px !important;
  font-family: 'gentleSansLightEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 350 !important;
  font-style: normal !important;
  letter-spacing: 0.08em !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

.gm-profile-save-btn:hover {
  opacity: 0.9 !important;
}

/* ====================================================
   GENTLE MONSTER WISHLIST SLIDE-IN DRAWER MODAL
   ==================================================== */
.gm-wishlist-drawer-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  transition: visibility 0.3s ease, opacity 0.3s ease !important;
}

.gm-wishlist-drawer-modal.open,
.gm-wishlist-drawer-modal.active {
  visibility: visible !important;
  opacity: 1 !important;
}

.gm-wishlist-drawer-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(2px) !important;
}

.gm-wishlist-drawer-content {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 440px !important;
  max-width: 90vw !important;
  height: 100% !important;
  background: #f8f8f9 !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08) !important;
  transform: translateX(100%) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 32px 32px 40px 32px !important;
  box-sizing: border-box !important;
}

.gm-wishlist-drawer-modal.open .gm-wishlist-drawer-content,
.gm-wishlist-drawer-modal.active .gm-wishlist-drawer-content {
  transform: translateX(0) !important;
}

.gm-wishlist-drawer-close {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  background: transparent !important;
  border: none !important;
  color: #111111 !important;
  cursor: pointer !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.2s ease !important;
}

.gm-wishlist-drawer-close:hover {
  opacity: 0.6 !important;
}

.gm-wishlist-drawer-body {
  margin-top: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.gm-wishlist-notice-msg {
  font-size: 13.5px !important;
  color: #111111 !important;
  margin-bottom: 32px !important;
  line-height: 1.4 !important;
}

.gm-wishlist-drawer-title {
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 11.5px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  margin-bottom: 24px !important;
}

.gm-wishlist-drawer-items {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  flex: 1 !important;
  overflow-y: auto !important;
  align-content: start !important;
  padding-right: 4px !important;
}

.gm-wishlist-drawer-item {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.gm-wishlist-drawer-item-thumb {
  width: 100% !important;
  height: 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

.gm-wishlist-drawer-item-thumb img {
  max-width: 90% !important;
  max-height: 90% !important;
  object-fit: contain !important;
}

.gm-wishlist-drawer-item-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  margin: 0 0 2px 0 !important;
}

.gm-wishlist-drawer-item-price {
  font-size: 11.5px !important;
  color: #555555 !important;
  margin: 0 !important;
}

.gm-wishlist-drawer-footer {
  margin-top: 24px !important;
}

.gm-wishlist-view-btn {
  display: block !important;
  width: 100% !important;
  border: 1px solid #111111 !important;
  background: transparent !important;
  color: #111111 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  padding: 14px 0 !important;
  border-radius: 6px !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.gm-wishlist-view-btn:hover {
  background: #111111 !important;
  color: #ffffff !important;
}

/* Centered Tab Headers (Account, Purchases, Wishlist, Profile) - ONLY Title Sticks at Top on Scroll */
.gm-account-greeting,
.gm-account-wishlist-header,
.gm-account-tab-header {
  text-align: center !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9998 !important;
  background-color: #f8f8f9 !important;
  padding-top: 20px !important;
  padding-bottom: 24px !important;
  margin: 0 0 30px 0 !important;
}

.gm-account-greeting h2,
.gm-account-wishlist-header h2,
.gm-account-tab-header h2 {
  font-family: 'gentleSanregularEn', 'Basel Grotesk', system-ui, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 18px !important;
  letter-spacing: 0.1em !important;
  color: #111111 !important;
  margin: 0 !important;
  display: inline-block !important;
  position: relative !important;
  text-transform: uppercase !important;
}

.gm-account-wishlist-header .gm-wishlist-badge {
  font-size: 11px !important;
  font-weight: 500 !important;
  top: -0.6em !important;
}

@media screen and (max-width: 767px) {

  /* Reduce excess whitespace above Profile / Account / Purchases / Wishlist titles and sections on Mobile */
  .gm-account-page-wrapper {
    padding: 4px 16px 40px 16px !important;
  }

  .gm-account-nav-bar {
    margin-bottom: 8px !important;
  }

  .gm-account-greeting,
  .gm-account-wishlist-header,
  .gm-account-tab-header {
    padding-top: 4px !important;
    padding-bottom: 6px !important;
    margin: 0 0 8px 0 !important;
  }

  .gm-account-section {
    margin-bottom: 12px !important;
  }

  /* Ultra-compact Mobile Profile Form */
  .gm-profile-form-grid {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .gm-profile-field-wrap label {
    font-size: 11px !important;
    margin-bottom: 2px !important;
  }

  .gm-profile-input {
    height: 34px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }

  .gm-profile-gender-radios {
    height: 24px !important;
    gap: 12px !important;
  }

  .gm-profile-gender-radios label {
    font-size: 12px !important;
  }

  .gm-profile-divider {
    margin: 10px 0 8px 0 !important;
  }

  .gm-profile-sub-title {
    font-size: 11px !important;
    margin-bottom: 6px !important;
  }

  .gm-profile-save-btn {
    padding: 10px 24px !important;
    font-size: 12px !important;
    margin-top: 8px !important;
  }
}

/* Add to Bag button in Wishlist cards */
.gm-wishlist-add-to-bag-btn {
  margin-top: 10px !important;
  display: inline-block !important;
  background: #eef0f2 !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 6px 14px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.gm-wishlist-add-to-bag-btn:hover {
  background: #dcdfe3 !important;
}

h2.farello-card-title,
.farello-card-title,
.farello-checkout-card .farello-card-title,
.farello-checkout-card h2,
.farello-checkout-container h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  line-height: 1.2 !important;
  margin: 0 0 16px 0 !important;
}

/* Hide mobile-only components on Desktop */
@media screen and (min-width: 768px) {
  .gm-mobile-only {
    display: none !important;
  }
}

/* ==========================================================================
   GENTLE MONSTER MOBILE RESPONSIVE HOMEPAGE STYLES (STRICT MOBILE SCOPE ONLY)
   ========================================================================== */

@media screen and (max-width: 767px) {

  /* Hide desktop-only components on Mobile screens */
  .gm-desktop-only {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
  }

  /* Show mobile-only components on Mobile screens */
  .gm-mobile-only {
    display: block !important;
  }

  /* Hide avatar strip completely on mobile */
  .gm-mobile-avatar-strip,
  .gm-mobile-avatar-strip.gm-mobile-only,
  .gm-avatar-item {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
  }

  /* Mobile Header 52px Fixed Bar & Triggers Across ALL Pages */
  #header {
    height: 52px !important;
    min-height: 52px !important;
  }

  #header .header-main,
  .header-main {
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .header-col-left {
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
  }

  .header-col-center,
  .navi-logo,
  .header-main .navi-logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    float: none !important;
  }

  .header-col-right {
    float: none !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: auto !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    z-index: 10 !important;
  }

  .gm-header-right-actions,
  .gm-mobile-left-triggers {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    height: 100% !important;
  }

  .gm-mobile-menu-trigger,
  .gm-mobile-search-trigger,
  .gm-header-action-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: #111111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    line-height: 1 !important;
  }

  .gm-mobile-menu-trigger svg,
  .gm-mobile-search-trigger svg,
  .gm-header-action-btn svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    stroke: #111111 !important;
    stroke-width: 1.4px !important;
    display: block !important;
  }

  /* Hide Desktop Nav Menu & Desktop Ticker Search Group on Mobile */
  .header-col-left nav,
  .header-col-left #navi-header,
  .header-col-left .navi-header,
  .header-col-left #navi_wrap,
  .header-col-left ul,
  .header-col-left li,
  .gm-search-ticker-group,
  .gm-header-ticker-wrap {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
  }

  /* Screen 1 (Header + Hero Banner + Trending Bar) Fits 100dvh */
  .martian-video-hero {
    position: relative !important;
    height: calc(100dvh - 52px - 72px) !important;
    min-height: 440px !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
  }

  .martian-video-hero video,
  .martian-video-hero img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  .martian-hero-content {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    text-align: center !important;
    z-index: 5 !important;
    padding: 0 16px 12px 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .martian-hero-title {
    font-size: 20px !important;
    font-family: "__gentleMonsterSerif_e7439a", "__gentleMonsterSerif_Fallback_e7439a", serif, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.2 !important;
  }

  .martian-hero-buttons {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 0 24px 0 !important;
  }

  .martian-hero-buttons .martian-btn,
  .martian-hero-buttons a {
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0.08em !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    color: #ffffff !important;
  }

  /* Trending Bar (Screenshot 1) - STRICTLY MOBILE ONLY */
  .gm-mobile-trending-bar {
    padding: 2px 16px 10px 16px !important;
    margin-top: 0 !important;
    background: #f5f5f7 !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  .gm-trending-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 2px !important;
    margin-bottom: 4px !important;
  }

  .gm-trending-title {
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #111111 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .gm-trending-plus-btn {
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    color: #111111 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }

  .gm-trending-search-wrap {
    position: relative !important;
    width: 100% !important;
    height: 42px !important;
    background: #f5f5f7 !important;
    border: 1px solid #111111 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    margin-top: 2px !important;
  }

  .gm-trending-search-wrap .gm-search-icon-svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    stroke: #111111 !important;
    stroke-width: 1.5px !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
  }

  .gm-trending-text-rotator {
    position: relative !important;
    flex: 1 !important;
    height: 24px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .gm-rotator-item {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) translateY(100%) !important;
    opacity: 0 !important;
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #111111 !important;
    white-space: nowrap !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease !important;
  }

  .gm-rotator-item.active {
    transform: translate(-50%, -50%) translateY(0) !important;
    opacity: 1 !important;
  }

  .gm-rotator-item.exit {
    transform: translate(-50%, -50%) translateY(-100%) !important;
    opacity: 0 !important;
  }

  /* Mobile Showcase Header (Screenshot Match: LATEST⁴⁹ on Left, MORE on Right) */
  .gm-editorial-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 20px 12px 20px !important;
    margin-bottom: 0 !important;
  }

  .gm-editorial-title {
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #111111 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .gm-editorial-title sup {
    font-size: 9px !important;
    font-weight: 400 !important;
    top: -0.5em !important;
    margin-left: 1px !important;
  }

  .gm-editorial-more {
    font-size: 12px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #111111 !important;
    text-decoration: none !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  /* Mobile Showcase Large Product Image Full Width */
  .gm-product-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .gm-product-image-wrap {
    display: block !important;
    width: 100% !important;
    height: calc(65vh - 40px) !important;
    min-height: 380px !important;
    max-height: calc(70vh - 40px) !important;
    background: transparent !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .gm-product-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 25% !important;
    transform: scale(1.12) !important;
    display: block !important;
  }

  /* Mobile Meta Row Below Large Image (Title + Price Left, Product View + Bookmark Right) */
  .gm-product-meta-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    padding: 12px 20px 8px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  .gm-meta-left {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .gm-meta-left .gm-product-name {
    margin: 0 0 2px 0 !important;
    line-height: 1.2 !important;
  }

  .gm-meta-left .gm-product-name a {
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 500 !important;
    color: #111111 !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
  }

  .gm-meta-left .gm-product-price {
    font-size: 11px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    color: #666666 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  .gm-meta-right {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: auto !important;
  }

  .gm-product-view-label {
    font-size: 11px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 500 !important;
    color: #111111 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
  }

  .gm-wishlist-bookmark-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    color: #111111 !important;
    display: flex !important;
    align-items: center !important;
  }

  .gm-wishlist-bookmark-btn svg {
    width: 15px !important;
    height: 15px !important;
    stroke: #111111 !important;
    stroke-width: 1.4px !important;
  }

  .gm-wishlist-bookmark-btn.active svg {
    fill: #111111 !important;
  }

  /* Thumbnail Strip Row (Initial right-aligned, full width when scrolling) */
  .gm-thumbnail-strip-row {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 6px 16px 10px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .gm-thumb-list {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    margin-left: auto !important;
    max-width: 100% !important;
    padding-left: 12px !important;
  }

  .gm-thumb-list::-webkit-scrollbar {
    display: none !important;
  }

  .gm-thumb-item {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 36px !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    opacity: 0.6 !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease, border-color 0.2s ease !important;
  }

  .gm-thumb-item.active {
    opacity: 1 !important;
    border-color: #111111 !important;
  }

  .gm-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Mobile TOP 20 / BEST Section Styling (Screenshot Match: BEST²¹ Left, MORE Right) */
  .gm-top20-section {
    padding: 30px 0 40px 0 !important;
    background: #f5f5f7 !important;
  }

  .gm-top20-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 20px 16px 20px !important;
    margin-bottom: 0 !important;
  }

  .gm-top20-title {
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #111111 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .gm-top20-title sup {
    font-size: 9px !important;
    font-weight: 400 !important;
    top: -0.5em !important;
    margin-left: 1px !important;
  }

  .gm-top20-more {
    font-size: 12px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #111111 !important;
    text-decoration: none !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  /* Horizontal Scroll Grid on Mobile */
  .gm-top20-grid {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    padding: 0 20px 16px 20px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .gm-top20-grid::-webkit-scrollbar {
    display: none !important;
  }

  .gm-eyewear-card {
    flex: 0 0 145px !important;
    width: 145px !important;
    min-width: 145px !important;
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
  }

  .gm-eyewear-img-wrap {
    width: 100% !important;
    height: 100px !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
  }

  .gm-eyewear-img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .gm-eyewear-meta {
    text-align: left !important;
  }

  .gm-eyewear-name {
    font-size: 12px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.2 !important;
  }

  .gm-eyewear-price {
    font-size: 11px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    color: #666666 !important;
    font-weight: 400 !important;
  }

  /* Mobile Category Page Model Showcase Block */
  .gm-category-mobile-showcase {
    width: 100% !important;
    margin-bottom: 0 !important;
    background: #f5f5f7 !important;
    box-sizing: border-box !important;
  }

  /* Mobile Category Page Title & Description Aligned Left */
  .gm-category-text-header {
    text-align: left !important;
    padding: 24px 20px 24px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .gm-category-title {
    text-align: left !important;
    font-size: 16px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 500 !important;
    color: #111111 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.2 !important;
  }

  .gm-category-desc {
    text-align: left !important;
    font-size: 12px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #555555 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  .gm-cat-showcase-card {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .gm-cat-showcase-card .gm-product-image-wrap {
    width: 100% !important;
    height: calc(65vh - 40px) !important;
    min-height: 380px !important;
    max-height: calc(70vh - 40px) !important;
    overflow: hidden !important;
  }

  .gm-cat-showcase-card .gm-product-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 25% !important;
    transform: scale(1.12) !important;
  }

  .gm-mobile-drawer-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #ffffff !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }

  .gm-mobile-drawer-overlay.open {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .gm-mobile-drawer-content {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }

  .gm-mobile-drawer-header {
    display: flex !important;
    justify-content: flex-start !important;
    margin-bottom: 30px !important;
  }

  .gm-mobile-drawer-close {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: #111111 !important;
  }

  .gm-mobile-menu-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .gm-mobile-menu-list li {
    margin-bottom: 20px !important;
  }

  .gm-mobile-menu-list a {
    font-size: 16px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #111111 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
  }

  /* Mobile Search Drawer (Screenshot 2) */
  .gm-mobile-search-top {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 30px !important;
  }

  .gm-mobile-search-form {
    width: 100% !important;
  }

  .gm-mobile-search-input-wrap {
    position: relative !important;
    width: 100% !important;
    border-bottom: 1px solid #111111 !important;
    padding-bottom: 8px !important;
  }

  .gm-mobile-search-input {
    width: 100% !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 14px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    letter-spacing: 0.05em !important;
    color: #111111 !important;
    padding-right: 30px !important;
  }

  .gm-mobile-search-icon-svg {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    stroke: #111111 !important;
  }

  .gm-mobile-search-heading {
    font-size: 12px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 500 !important;
    color: #111111 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin: 0 0 16px 0 !important;
  }

  .gm-mobile-search-heading sup {
    font-size: 9px !important;
  }

  .gm-mobile-search-tags {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .gm-mobile-search-tags a {
    display: inline-block !important;
    padding: 6px 14px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    color: #333333 !important;
    text-decoration: none !important;
  }

  .gm-mobile-recent-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
  }

  .gm-recent-item img {
    width: 100% !important;
    height: 120px !important;
    object-fit: cover !important;
  }

  /* Mobile Legal / Policy / Terms Page Layout (1:1 Reference Screenshot & DevTools Specs) */
  body.page-template-page-terms-of-use #header,
  body:has(.gm-legal-page-wrapper) #header,
  body:has(.gm-legal-page-wrapper) #header-main,
  body:has(.gm-legal-page-wrapper) .header-main {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.page-template-page-terms-of-use .fixed-menu,
  body:has(.gm-legal-page-wrapper) .fixed-menu {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.page-template-page-terms-of-use #main,
  body:has(.gm-legal-page-wrapper) #main,
  body:has(.gm-legal-page-wrapper) .wrap-all {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .gm-legal-page-wrapper,
  .martian-legal-content {
    background-color: #f4f4f6 !important;
    padding: 4px 20px 80px 20px !important;
    margin-top: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .gm-legal-tabs-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 0 24px 0 !important;
    padding: 4px 12px 0 12px !important;
    height: auto !important;
    min-height: 36px !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
  }

  .gm-legal-tabs-bar::-webkit-scrollbar {
    display: none !important;
  }

  .gm-legal-tab-pill {
    font-size: 10px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #858585 !important;
    height: 32px !important;
    padding: 0 12px !important;
    border-radius: 16px !important;
    border: 1px solid #e0e0e4 !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }

  .gm-legal-tab-pill.active {
    background: #dedede !important;
    border-color: #dedede !important;
    color: #111111 !important;
    font-weight: 500 !important;
    box-shadow: none !important;
  }

  .gm-legal-content-container {
    max-width: 100% !important;
    text-align: left !important;
  }

  .gm-legal-title,
  .martian-legal-content h1 {
    font-size: 18px !important;
    font-family: __gentleSansLightEn_9e3a7a, __gentleSansLightEn_Fallback_9e3a7a, Arial, sans-serif !important;
    font-weight: 350 !important;
    font-style: normal !important;
    line-height: 22px !important;
    color: #111111 !important;
    text-transform: uppercase !important;
    text-align: left !important;
    margin: 19px 0 19px 0 !important;
  }

  .gm-legal-body,
  .martian-legal-content {
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.55 !important;
    color: #111111 !important;
    text-align: left !important;
  }

  .gm-legal-body p,
  .martian-legal-content p {
    font-size: 13px !important;
    font-family: __gentleSansRegularEn_ad80ad, __gentleSansRegularEn_Fallback_ad80ad, Arial, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.55 !important;
    color: #111111 !important;
    margin-bottom: 16px !important;
    text-align: left !important;
  }

  .gm-legal-body h4,
  .martian-legal-content h2,
  .martian-legal-content h3 {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin-top: 24px !important;
    margin-bottom: 10px !important;
    text-transform: none !important;
    text-align: left !important;
  }

  .gm-legal-effective {
    color: #333333 !important;
    font-size: 12px !important;
    margin-bottom: 20px !important;
  }

  .gm-legal-body a,
  .martian-legal-content a {
    color: #111111 !important;
    text-decoration: underline !important;
  }
}

/* Gentle Monster Minimalist Add-to-Cart Toast Notification */
.gm-toast-notice {
  position: fixed !important;
  top: 90px !important;
  right: 28px !important;
  background: #1d1d1f !important;
  color: #ffffff !important;
  padding: 14px 24px !important;
  border-radius: 0px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25) !important;
  transform: translateY(-20px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: auto !important;
}

.gm-toast-notice.show {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.gm-toast-link {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
}

.gm-toast-link:hover {
  opacity: 0.8 !important;
}

/* Hide WooCommerce Default & Custom Bottom Toast Notice Message */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-page .woocommerce-message,
.gm-toast-notification,
#gmCartToastNotification {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Quantity Control Box Matching Sample Image 2 (Stacked Buttons on Right) */
.gm-qty-control-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 8px !important;
}

.gm-qty-label {
  font-size: 11px !important;
  color: #767676 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.gm-qty-box-stacked {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 3px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  height: 28px !important;
  box-sizing: border-box !important;
}

.gm-qty-box-stacked .gm-qty-num {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  padding: 0 12px !important;
  min-width: 28px !important;
  text-align: center !important;
  line-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.gm-qty-stacked-btns {
  display: flex !important;
  flex-direction: column !important;
  border-left: 1px solid #cfcfcf !important;
  width: 20px !important;
  height: 100% !important;
  background: #f0f0f0 !important;
  box-sizing: border-box !important;
}

.gm-qty-stacked-btns .gm-qty-btn {
  width: 100% !important;
  height: 50% !important;
  background: #eaeaea !important;
  border: none !important;
  color: #222222 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  outline: none !important;
  transition: background 0.15s ease !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.gm-qty-stacked-btns .gm-qty-btn.gm-qty-plus {
  border-bottom: 1px solid #cfcfcf !important;
}

.gm-qty-stacked-btns .gm-qty-btn:hover {
  background: #d8d8d8 !important;
}

/* Gentle Monster Centered Cart Popup Modal (Matching Image 2) */
.gm-cart-page-wrap {
  background: #f4f4f4 !important;
  min-height: 80vh !important;
  padding: 60px 20px 80px 20px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.gm-page-cart-container {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.gm-page-cart-inner {
  background: transparent !important;
  width: 100% !important;
}

/* Centered Tabs Header & Close Button */
.gm-page-cart-header {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-bottom: 24px !important;
  position: relative !important;
}

.gm-page-cart-header .gm-drawer-tabs {
  justify-content: center !important;
  gap: 24px !important;
}

.gm-page-cart-close {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 22px !important;
  color: #666666 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
}

.gm-page-cart-close:hover {
  color: #000000 !important;
}

/* Item cards in cart list */
.gm-page-cart-items .gm-drawer-cart-item {
  background: #ffffff !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: none !important;
}

/* Perfect Horizontal Baseline Alignment for BAG & YÊU THÍCH Tabs */
.gm-drawer-tabs {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  height: 36px !important;
  line-height: 1 !important;
}

.gm-drawer-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  padding: 0 16px !important;
  border-radius: 17px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: #767676 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
}

.gm-drawer-tab.active {
  background-color: #e2e2e7 !important;
  color: #111111 !important;
  border-color: transparent !important;
}

.gm-drawer-tab sup {
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-left: 3px !important;
  top: -2px !important;
  position: relative !important;
  display: inline-block !important;
  vertical-align: baseline !important;
}

/* Gentle Monster 1:1 Search Overlay Drawer (Desktop & Mobile) */
.gm-search-overlay-drawer,
#gmMobileSearchDrawer {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: #f5f6f8 !important; /* Gentle Monster Signature Light Grey */
  z-index: 9999999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s ease !important;
  overflow-y: auto !important;
  padding-top: 100px !important;
  padding-bottom: 60px !important;
}

.gm-search-overlay-drawer.open,
.gm-search-overlay-drawer.active,
#gmMobileSearchDrawer.open,
#gmMobileSearchDrawer.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Close X button top right below header */
.gm-search-drawer-close {
  position: absolute !important;
  top: 90px !important;
  right: 48px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #333333 !important;
  padding: 8px !important;
  z-index: 10 !important;
}

.gm-search-drawer-inner {
  max-width: 660px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Centered Search Bar Input Form */
.gm-search-bar-form {
  width: 100% !important;
  margin-bottom: 44px !important;
}

.gm-search-input-box {
  position: relative !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid #333333 !important;
  padding-bottom: 8px !important;
}

.gm-search-box-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin-right: 12px !important;
  color: #333333 !important;
  display: inline-block !important;
}

.gm-search-main-input {
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
  color: #111111 !important;
  letter-spacing: 0.3px !important;
  padding: 0 !important;
  height: auto !important;
}

.gm-search-main-input::placeholder {
  color: #999999 !important;
}

/* Search Sections (SEARCH TRENDS & RECENTLY VIEWED) */
.gm-search-section {
  width: 100% !important;
  margin-bottom: 44px !important;
}

.gm-search-section-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.gm-search-section-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  color: #222222 !important;
  text-transform: uppercase !important;
  margin: 0 0 20px 0 !important;
}

.gm-search-section-header .gm-search-section-title {
  margin-bottom: 0 !important;
}

.gm-search-remove-btn {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.8px !important;
  color: #666666 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.gm-search-remove-btn:hover {
  color: #111111 !important;
}

/* SEARCH TRENDS 5-card horizontal grid */
.gm-search-trends-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
}

.gm-trend-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-decoration: none !important;
}

.gm-trend-img-wrap {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background-color: #ededed !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
}

.gm-trend-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.gm-trend-title {
  font-size: 11px !important;
  color: #333333 !important;
  text-align: center !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

/* No History Centered State */
.gm-search-no-history {
  text-align: center !important;
  font-size: 12px !important;
  color: #666666 !important;
  padding: 40px 0 !important;
}

/* Gentle Monster Full-Width Container Header with Isolated Bag & Wishlist Widths */
.gm-drawer-overlay,
#gmBagWishlistModal {
  width: 100vw !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

#gmBagWishlistModal .gm-drawer-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  box-sizing: border-box !important;
}

/* Tab 1: BAG Content (Centered 580px Width - Exactly As Original) */
#gmPaneBag {
  width: 100% !important;
  max-width: 580px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Tab 2: YÊU THÍCH Content (100% Full-Width 4-Column Grid) */
#gmPaneWishlist {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.gm-wishlist-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  .gm-wishlist-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.gm-wishlist-card-exact {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
  width: 100% !important;
}

.gm-wishlist-card-exact .gm-card-image-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  background-color: #f2f4f5 !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gm-wishlist-card-exact .gm-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

.gm-wishlist-card-exact .gm-card-dashes-wrap {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  margin-bottom: 6px !important;
}

.gm-wishlist-card-exact .gm-card-info-meta {
  width: 100% !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  text-align: left !important;
  margin-top: 0 !important;
}

.gm-wishlist-card-exact .gm-card-text-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  gap: 2px !important;
}

.gm-wishlist-card-exact .gm-card-title {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: #111111 !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

.gm-wishlist-card-exact .gm-card-price {
  font-size: 12px !important;
  color: #444444 !important;
  text-align: left !important;
}

.gm-wishlist-card-exact .gm-card-bookmark-btn {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  color: #111111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}