﻿/*
Theme Name: THEME HÙNG VŨ
Description: Theme by Vũ Đình Hùng
Author: https://www.facebook.com/vudinhhungth
Template: flatsome
Version: 100.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
.hdevvn-show-cats {
		display: none!important;}

.single_add_to_cart_button{
border-radius:10px!important;width:100%;
}

.ux-buy-now-button{
width:100%;
border-radius:10px;
}

}

.custom-product-page .hv-store-locator__map-col, .custom-product-page h2.hv-store-locator__title, .custom-product-page .hv-store-locator__search{
	display:none!important;
}

.category-page-row{
    padding-top: 0px;
}
nav.woocommerce-breadcrumb.breadcrumbs.uppercase {
    text-align: left;
}
.nail-content-carousel-wrapper {
  --nail-content-carousel-gap: 16px;
  padding-left: calc(var(--nail-content-carousel-gap) / 2);
  padding-right: calc(var(--nail-content-carousel-gap) / 2);
}
.nail-content-carousel {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.nail-content-carousel > .col,
.nail-content-carousel > .flickity-viewport > .flickity-slider > .col {
  padding-left: calc(var(--nail-content-carousel-gap) / 2) !important;
  padding-right: calc(var(--nail-content-carousel-gap) / 2) !important;
  padding-bottom: 0 !important;
}
.nail-content-carousel__item {
  min-width: 0;
}
.nail-content-carousel__item > .row {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.nail-content-carousel__item > .row > .col {
  padding-bottom: 0;
}
.hv-pk .hv-title-with-cat{
	display: block !important;
}
.hv-pk .hv-title-with-cat__header{
	display:none;
}
.hv-radius img{
	border-radius:10px!important;
}
a,p, strong, b, h1, h2, h3, h4, h5, h6 {
    font-family: 'fonth1';
}
.single_add_to_cart_button{
border-radius:10px!important;width:185px;;
}
.ux-buy-now-button{
width:215px;
border-radius:10px;
}

.my-custom-below-price-shop {
    margin-top: 10px;
    text-align: center;
}
.my-custom-below-price-shop .my-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    border-radius: 3px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.25s ease;
    box-shadow: none;
    border: none;
    min-width: 80px;
    justify-content: center;
}

.my-custom-below-price-shop .my-btn .icon {
    font-size: 12px;
}
.my-custom-below-price-shop .my-btn {
    padding: 4px 5px;      /* giảm padding ngang và dọc */
    font-size: 13px;        /* chữ nhỏ hơn một chút */
    min-width:50px;        /* nút nhỏ gọn hơn */
    border-radius: 3px;     /* bo góc nhẹ */
    gap: 4px;               /* khoảng cách icon và chữ nhỏ lại */
}

.my-custom-below-price-shop .my-btn .icon {
    font-size: 14px;        /* icon nhỏ hơn */
}

/* Giữ nguyên màu xanh và hover */
.my-custom-below-price-shop .call-btn {
    background-color: #02a1d8;
}

.my-custom-below-price-shop .call-btn:hover {
    background-color: #02a1d8;
}

.my-custom-below-price-shop .zalo-btn {
    background-color: #02a1d8;
}

.my-custom-below-price-shop .zalo-btn:hover {
    background-color: #02a1d8;
}

/* Căn giữa nút */
.my-custom-below-price-shop .btn-group {
    justify-content: center;
    gap: 6px;
}





.nguoidat{
font-size:12px;
margin-top:-20px;
color:#3b3b3b;
}
.off-canvas-left .mfp-content{
background:#fff!important;
opacity:1!important;
}

.textaa {
font-size:12px;text-align:center;
    background: #02a1d8;
    padding: 8px 10px;
    border-radius: 5px;
    font-weight:600;
    border: solid 1px rgba(59, 59, 59, 0.2);
    margin-bottom: 10px;
}
.textaa p{
    margin-bottom: 0;
}
.textab p {
  margin-top: 10px;
  align-items: center;
  justify-content: flex-start;
  background: #fff;
  color: #02a1d8;
border:1px solid #02a1d8;
  font-weight: 600;
  font-size: 12px;
  padding: 2px 20px;
  width: 100%;
  border-radius: 10px;
  cursor: pointer;
  text-align: center;
}
.nut1{
margin-bottom:0px!important;
}
.cotproduct2 bdi{
color:#f3921f;
}
.linhkiena i{
padding:10px;
color:#02a1d8;
margin-right:5px;
font-size:95%;
border-radius:50px;
border: solid 1px #02a1d8;

}
.services { 
    display: flex;
    flex-wrap: wrap; /* nếu quá dài sẽ xuống dòng */
    gap: 20px; /* khoảng cách giữa các phần tử */
}
.service-item i {
  color:#02a1d8;
margin-right:0px;
}
.service-item {
margin: 0;margin-top:-5px;
font-size:90%;background:#fff;
	padding:2px 10px;
border-radius:5px;
border: solid 1px #02a1d8;
}
.post-item .box-image:hover::before{
-webkit-animation:shine .75s;
animation:shine .75s}
@-webkit-keyframes shine{
100%{left:125%}
}
@keyframes shine{
100%{left:125%}
}
.post-item .box-image::before{
position:absolute;
top:0;
left:-75%;
z-index:2;
display:block;
content:'';
width:50%;
height:100%;
background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 100%);
background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 100%);
-webkit-transform:skewX(-25deg);transform:skewX(-25deg)
}
.product-small .box-image:hover::before{
   -webkit-animation:shine .75s;animation:shine .75s
}
@-webkit-keyframes shine{
   100%{left:125%}
}
@keyframes shine{
   100%{left:125%}
}
.product-small .box-image::before{
  position:absolute;
  top:0;
  left:-75%;
  z-index:2;
  display:block;
  content:'';
  width:50%;
  height:100%;
  background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 100%);
  background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 100%);
  -webkit-transform:skewX(-25deg);transform:skewX(-25deg)
}
.product-small.box {
    text-align: center;
    padding: 20px 20px 10px;
    position: relative;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0px 0px 21px 1px rgba(0, 0, 0, .06);
}
.ux-relay__load-more-button{
border-radius:30px;
font-size:90%;
}
p.name.product-title a {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    padding:0px;
}
.product-small.box bdi {
    font-size: 15px;
    font-weight: 600;
    color: #f3921f;
    text-transform: capitalize;
    margin-top:20px;
}
.section-title-normal {
    border-bottom: 0;
    border-radius: 5px;
    background: #fff;
}

.section-title-normal b {
    display: none;
}

.section-title-normal span {
    margin-right: 5px !important;
    padding-bottom: 0;
    border-bottom: 0;
    margin-bottom: 10px;
    font-size: 20px;
    color: #02a1d8 !important;
}

span.hdevvn-show-cats li a:focus:not(:focus-visible) {
    color: red;
}

span.hdevvn-show-cats {
    display: flex; /* dùng flex cho dễ căn chỉnh */
    flex-wrap: wrap; /* nếu nhiều nút sẽ xuống dòng */
    gap: 15px; /* khoảng cách giữa các nút */
    padding: 0;
    margin: 0;
    list-style: none;
}

span.hdevvn-show-cats li {
    display: inline-block; /* hiển thị ngang */
    background-color: #f0f0f0; /* nền xám nhạt */
    border-radius: 20px; /* bo tròn */
    padding: 5px 12px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

span.hdevvn-show-cats li a {
    font-size: 15px;
    text-transform: none;
    font-weight: 400;
    color: #333; /* chữ màu tối */
    text-decoration: none;
}

span.hdevvn-show-cats li:hover {
    background-color: #f3921f;
    transition: background-color 0.5s ease;
}

span.hdevvn-show-cats li:hover a {
    color: white;
}

.section-title a {
    font-size: 14px;
    margin-left: auto;
    color: white;
    margin-right: 10px;
}

.danhmucsanpham .flickity-prev-next-button svg {
    height: auto;
border-radius:50%;
  box-shadow: 0px 0px 20px 1px rgba(1, 0, 0, .2);
    left: 50%;
    max-height: 100%;
    max-width: 100%;
    padding: 22%;
    position: absolute;
    top: 80%;
    transform: translate(-50%, -50%);
    transition: all .3s;
    width: 100%;
}
.flickity-prev-next-button svg {
    height: auto;
border-radius:50%;
  box-shadow: 0px 0px 20px 1px rgba(1, 0, 0, .2);
    left: 50%;
    max-height: 100%;
    max-width: 100%;
    padding: 22%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all .3s;
    width: 100%;
}
.section2 .icon-box{
padding:10px 10px;
font-size:90%;
background:#fff;
border-radius:10px;
	    box-shadow: 0px 0px 20px 1px rgba(1, 0, 0, .5);
}
.cot1 .col-inner{
  box-shadow: 0px 0px 20px 1px rgba(2, 161, 216, 0.2);
}

.danhmucsanpham .product-category .col-inner{
 	    box-shadow: 0px 0px 20px 1px rgba(0, 0, 0, .06);
border-radius:10px;
}
.danhmucsanpham .product-category .col-inner img{
height:120px;
object-position:contain;
}
.danhmucsanpham .header-title{
height:20px;
text-transform:capitalize!important;
}

.text1 strong {
  background: linear-gradient(180deg, #f3921f 0%, #ffb55d 100%);
font-weight:900!important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; /* sửa từ -webkit-text-color thành -webkit-text-fill-color */
  background-clip: text;
  color: transparent;
}

.search-keywords {
  margin-top: 8px;
  font-size: 13px;
  color: #fff;
}

.search-keywords span {
  margin-right: 8px;
  font-weight: bold;
}

.search-keywords a {
  color: #fff;
  text-decoration: none;
  margin-right: 6px;
}

.search-keywords a:hover {
  text-decoration: underline;
transition:0.7;
}
.header-vertical-menu__opener {
border-radius:5px;
}

.form-flat input:not([type=submit]), .form-flat select, .form-flat textarea{
border:none;
	height:36px;
background:#fff;
border-radius:5px;
}
.form-flat .icon-search:before{
color:#f3921f!important
}

.account-item a{
padding:10px 20px!important;
background:#fff;
color:#f3921f!important;
border-radius:5px;
}
.image-icon img{
height:22px;
width:100%;
object-fit:contain;
}
.cart-item a{
padding:7px 20px!important;
background:#fff;
color:#f3921f!important;
border-radius:5px;
}
.header-button-1 span{
padding:7px 10px;
}
.header-vertical-menu__fly-out{
border-radius:5px;
margin-top:10px;
}

/* Static Flatsome vertical mega menu shortcode */
.hv-static-vertical-menu {
    max-width: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
    z-index: 30;
}

.hv-static-vertical-menu > .header-vertical-menu__fly-out {
    margin-top: 0;
    opacity: 1;
    overflow: visible;
    position: relative;
    visibility: visible;
    width: 100%;
    z-index: 30;
}

.hv-static-vertical-menu__scroll {
    background: #fff;
    border: 2px solid #ededed;
    border-radius: 5px;
    max-height: 350px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.hv-static-vertical-menu__scroll::-webkit-scrollbar {
    width: 6px;
}

.hv-static-vertical-menu__scroll::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.18);
    border-radius: 999px;
}

.hv-static-vertical-menu__scroll::-webkit-scrollbar-track {
    background: transparent;
}

.hv-static-vertical-menu__dropdown-stage {
    left: 100%;
    padding-left: 12px;
    pointer-events: auto;
    position: absolute;
    top: 0;
    z-index: 35;
}

.hv-static-vertical-menu .nav-vertical-fly-out {
    margin: 0;
}

.hv-static-vertical-menu .nav-vertical-fly-out > li.menu-item {
    position: relative;
}

.hv-static-vertical-menu .nav-vertical-fly-out > li.menu-item > a {
    min-height: 48px;
}

.hv-static-vertical-menu .nav-vertical-fly-out > li.has-dropdown > .nav-dropdown {
    display: block;
    left: 100% !important;
    margin: 0 !important;
    opacity: 0;
    pointer-events: none;
    top: 0 !important;
    transform: none !important;
    visibility: hidden;
}

.hv-static-vertical-menu .nav-vertical-fly-out > li.has-dropdown:hover > .nav-dropdown,
.hv-static-vertical-menu .nav-vertical-fly-out > li.current-dropdown > .nav-dropdown {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.hv-static-vertical-menu .current-dropdown .nav-dropdown {
    top: 0 !important;
}

.hv-static-vertical-menu--enhanced .nav-vertical-fly-out > li.has-dropdown > .nav-dropdown {
    display: none !important;
}

.hv-static-vertical-menu__dropdown-stage > .nav-dropdown {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.12);
    display: table !important;
    height: auto;
    left: 0 !important;
    margin: 0 !important;
    max-height: none !important;
    opacity: 0;
    overflow: visible;
    pointer-events: none;
    position: absolute !important;
    top: 0 !important;
    transform: none !important;
    visibility: hidden;
    width: auto;
}

.hv-static-vertical-menu__dropdown-stage > .nav-dropdown.is-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.hv-static-vertical-menu__dropdown-stage > .nav-dropdown > li,
.hv-static-vertical-menu__dropdown-stage > .nav-dropdown .nav-column,
.hv-static-vertical-menu__dropdown-stage > .nav-dropdown .nav-column li,
.hv-static-vertical-menu__dropdown-stage > .nav-dropdown .row,
.hv-static-vertical-menu__dropdown-stage > .nav-dropdown .col,
.hv-static-vertical-menu__dropdown-stage > .nav-dropdown .col-inner {
    background: transparent;
    position: relative;
    z-index: 1;
}

.hv-static-vertical-menu--empty {
    background: #fff;
    border: 1px dashed rgba(0, 0, 0, 0.15);
    border-radius: 16px;
    color: #666;
    padding: 16px;
}

.hv-shop-archive-top-block {
    margin: 12px 0 28px;
}

.hv-shop-archive-top-block:empty {
    display: none;
}

.hv-shop-archive-top-block__hero {
    margin-bottom: 28px;
}

.hv-shop-archive-top-block__hero > *:last-child {
    margin-bottom: 0 !important;
}

.hv-shop-archive-top-block__title {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 18px;
}

.hv-shop-archive-top-block__group {
    margin-bottom: 24px;
}

.hv-shop-archive-top-block__label {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 12px;
}

.hv-shop-archive-top-block__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hv-shop-archive-top-block__chip {
    align-items: center;
    background: #f3f5f7;
    border: 1px solid transparent;
    border-radius: 16px;
    color: #444;
    display: inline-flex;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.1;
    min-height: 46px;
    padding: 10px 18px;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.hv-shop-archive-top-block__chip:hover,
.hv-shop-archive-top-block__chip.is-active {
    background: #fff;
    border-color: var(--fs-color-secondary);
    color: var(--fs-color-secondary);
}

.hv-shop-archive-top-block__toolbar {
    align-items: center;
    border-top: 1px solid rgba(34, 34, 34, 0.1);
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding-top: 20px;
}

.hv-shop-archive-top-block__service-title {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.hv-shop-archive-top-block__sorts {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    justify-content: flex-end;
}

.hv-shop-archive-top-block__sort {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(34, 34, 34, 0.14);
    border-radius: 8px;
    color: #4d4d4d;
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    gap: 8px;
    justify-content: center;
    min-height: 35px;
    padding: 0 8px;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.hv-shop-archive-top-block__sort + .hv-shop-archive-top-block__sort {
    margin-left: -1px;
}

.hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort:first-child {
    border-radius: 16px 0 0 16px;
}

.hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort:nth-child(2) {
    border-radius: 0 16px 16px 0;
}

.hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort:nth-child(2):not(.hv-shop-archive-top-block__sort--price) {
    padding-right: 20px;
}

.hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort--price {
    border-radius: 16px;
}

.hv-shop-archive-top-block__sort:hover,
.hv-shop-archive-top-block__sort.is-active {
    background: #fff;
    border-color: var(--fs-color-secondary);
    box-shadow: none;
    color: var(--fs-color-secondary);
}

.hv-shop-archive-top-block__sort-text {
    line-height: 1;
    white-space: nowrap;
}

.hv-shop-archive-top-block__sort-icon {
    align-items: center;
    color: #b6b6b6;
    display: inline-flex;
    flex: 0 0 auto;
    height: 16px;
    justify-content: center;
    width: 16px;
}

.hv-shop-archive-top-block__sort-icon svg {
    display: block;
    height: auto;
    max-height: 16px;
    max-width: 16px;
    width: auto;
}

.hv-shop-archive-top-block__sort:hover .hv-shop-archive-top-block__sort-icon,
.hv-shop-archive-top-block__sort.is-active .hv-shop-archive-top-block__sort-icon {
    color: var(--fs-color-secondary);
}

.hv-shop-archive-top-block__sort--price {
    gap: 10px;
    margin-left: 20px !important;
}

.hv-shop-archive-top-block__sort-price-icon {
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    opacity: 0.55;
    transition: opacity 0.2s ease;
}

.hv-shop-archive-top-block__sort:hover .hv-shop-archive-top-block__sort-price-icon,
.hv-shop-archive-top-block__sort.is-active .hv-shop-archive-top-block__sort-price-icon {
    opacity: 1;
}

.hv-shop-archive-top-block__sort-price-arrow {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    display: block;
    height: 0;
    transition: opacity 0.2s ease;
    width: 0;
}

.hv-shop-archive-top-block__sort-price-arrow--up {
    border-bottom: 6px solid currentColor;
}

.hv-shop-archive-top-block__sort-price-arrow--down {
    border-top: 6px solid currentColor;
}

.hv-shop-archive-top-block__sort--price.is-price-asc .hv-shop-archive-top-block__sort-price-arrow--down,
.hv-shop-archive-top-block__sort--price.is-price-desc .hv-shop-archive-top-block__sort-price-arrow--up {
    opacity: 0.32;
}

@media (max-width: 849px) {
    .hv-shop-archive-top-block {
        margin-bottom: 20px;
    }

    .hv-shop-archive-top-block__hero {
        margin-bottom: 18px;
    }

    .hv-shop-archive-top-block__title {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 16px;
    }

    .hv-shop-archive-top-block__group {
        margin-bottom: 18px;
    }

    .hv-shop-archive-top-block__label,
    .hv-shop-archive-top-block__service-title {
        font-size: 16px;
        line-height: 22px;
    }

    .hv-shop-archive-top-block__chips {
        gap: 8px;
        max-height: 80px;
        overflow: hidden;
    }

    .hv-shop-archive-top-block__group.is-expanded .hv-shop-archive-top-block__chips {
        max-height: none;
        overflow: visible;
    }

    .hv-shop-archive-top-block__chip {
        border-radius: 10px;
        font-size: 14px;
        line-height: 18px;
        min-height: 36px;
        padding: 7px 14px;
    }

    .hv-shop-archive-top-block__chips-toggle {
        appearance: none;
        background: transparent;
        border: 0;
        color: var(--fs-color-secondary);
        cursor: pointer;
        display: inline-flex;
        font-family: inherit;
        font-size: 13px;
        font-weight: 600;
        line-height: 18px;
        margin-top: 8px;
        padding: 0;
    }

    .hv-shop-archive-top-block__chips-toggle[hidden] {
        display: none !important;
    }

    .hv-shop-archive-top-block__toolbar {
        align-items: stretch;
        border-top: 1px dashed rgba(34, 34, 34, 0.14);
        flex-direction: column;
        gap: 8px;
        padding-top: 14px;
    }

    .hv-shop-archive-top-block__sorts {
        flex-wrap: nowrap;
        gap: 0;
        justify-content: flex-start;
        width: 100%;
    }

    .hv-shop-archive-top-block__sort {
        border-radius: 0;
        font-size: 14px;
        gap: 6px;
        min-height: 42px;
        padding: 0 14px;
    }

    .hv-shop-archive-top-block__sort + .hv-shop-archive-top-block__sort {
        margin-left: -1px;
    }

    .hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort:first-child {
        border-radius: 10px 0 0 10px;
        flex: 0 0 auto;
    }

    .hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort:nth-child(2) {
        border-radius: 0 10px 10px 0;
        flex: 0 0 auto;
    }

    .hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort:nth-child(2):not(.hv-shop-archive-top-block__sort--price) {
        padding-right: 14px;
    }

    .hv-shop-archive-top-block__sorts > .hv-shop-archive-top-block__sort--price {
        border-radius: 10px;
        flex: 1 1 auto;
        justify-content: space-between;
        margin-left: 8px !important;
        min-width: 0;
    }

    .hv-shop-archive-top-block__sort-icon {
        height: 15px;
        width: 15px;
    }
}

/* Homepage category card demo style */
.home .product-category .col-inner {
    box-shadow: none;
    height: 100%;
}

.home .product-category .col-inner > a {
    display: block;
    height: 100%;
}

.home .product-category .box-category {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(60, 56, 56, 0.14);
    border-radius: 8px;
    box-shadow: none;
    display: flex;
    gap: 16px;
    overflow: hidden;
    padding: 10px 5px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.home .product-category .box-category:hover {
    border-color: rgba(243, 146, 31, 0.45);
    box-shadow: 0 10px 24px rgba(2, 161, 216, 0.08);
    transform: translateY(-2px);
}

.home .product-category .box-category .box-image {
    flex: 0 0 74px;
    margin: 0;
    max-width: 74px;
    width: 74px;
}

.home .product-category .box-category .box-image img {
    height: 56px;
    object-fit: contain;
    object-position: center;
    width: 100%;
}

.home .product-category .box-category .box-text {
    flex: 1 1 auto;
    padding: 0;
}

.home .product-category .box-category .box-text-inner {
    align-items: center;
    display: flex;
    min-height: 100%;
}

.home .product-category .box-category .header-title {
    color: #3c3838 !important;
    display: -webkit-box;
    font-size: 16px !important;
    font-weight: 600;
    height: auto;
    letter-spacing: 0;
    line-height: 1.35;
    margin: 0;
    overflow: hidden;
    text-transform: none !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 849px) {
    .hv-static-vertical-menu {
        display: none;
    }

    .home .product-category .box-category {
        border-radius: 14px;
        gap: 12px;
        min-height: 92px;
        padding: 12px 14px;
    }

    .home .product-category .box-category .box-image {
        flex-basis: 52px;
        max-width: 52px;
        width: 52px;
    }

    .home .product-category .box-category .box-image img {
        height: 40px;
    }

    .home .product-category .box-category .header-title {
        font-size: 12px !important;
    }
}

/* Product loop badge */
.hv-product-loop-badge-wrap {
    margin-bottom: 12px;
}

.hv-product-loop-badge {
    display: inline-flex;
    align-items: center;
    background: var(--fs-color-primary);
    border-radius: 8px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    padding: 5px 10px;
    text-transform: uppercase;
}

@media (max-width: 849px) {
    .hv-product-loop-badge-wrap {
        margin-bottom: 10px;
    }

    .hv-product-loop-badge {
        font-size: 10px;
        padding: 7px 12px;
    }
}

/* Single product highlights */
.hv-product-highlights {
    border: 1px dashed var(--fs-color-primary);
    border-radius: 10px;
margin-top:10px;
    padding: 8px 10px;
}

.hv-product-highlights__title {
    color: #2f2f2f;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 14px;
}

.hv-product-highlights__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hv-product-highlights__item {
    align-items: flex-start;
    display: flex;
    gap: 10px;
}
.hv-product-highlights li{
    margin-left:0!important;
}
.hv-product-highlights__item + .hv-product-highlights__item {
    margin-top: 10px;
}

.hv-product-highlights__icon {
    border: 1.5px solid var(--fs-color-primary);
    border-radius: 999px;
    color: var(--fs-color-primary);
    flex: 0 0 28px;
    height: 28px;
    margin-top: 1px;
    position: relative;
    width: 28px;
}

.hv-product-highlights__icon::before {
    content: "\2713";
    font-size: 15px;
    font-weight: 700;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.hv-product-highlights__text {
    color: #2f2f2f;
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.6;
}

.hv-product-highlights__text strong {
    color: var(--fs-color-secondary);
    font-weight: 700;
}

@media (max-width: 849px) {
    .hv-product-highlights {
        border-radius: 16px;
        margin: 14px 0 20px;
        padding: 16px;
    }

    .hv-product-highlights__title {
        font-size: 15px;
        margin-bottom: 12px;
    }

    .hv-product-highlights__item {
        gap: 8px;
    }

    .hv-product-highlights__icon {
        flex-basis: 24px;
        height: 24px;
        width: 24px;
    }

    .hv-product-highlights__icon::before {
        font-size: 13px;
    }

    .hv-product-highlights__text {
        font-size: 14px;
        line-height: 1.5;
    }
}

/* Product loop highlights slider */
.hv-loop-highlights {
    color: #3c3838;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 8px;
    width: 100%;
}

.hv-loop-highlights__viewport {
    height: var(--hv-loop-highlight-height, 20px);
    overflow: hidden;
    position: relative;
}

.hv-loop-highlights__track {
    transition: transform 0.55s ease;
    will-change: transform;
}

.hv-loop-highlights__track--no-transition {
    transition: none;
}

.hv-loop-highlights__slide {
    align-items: center;
    display: flex;
    gap: 6px;
    min-height: 20px;
}

.hv-loop-highlights__icon {
    color: #02a1d8;
    display: inline-flex;
    flex: 0 0 12px;
    height: 12px;
    width: 12px;
}

.hv-loop-highlights__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-loop-highlights__icon--saving {
    flex-basis: 12px;
    height: 13px;
    width: 12px;
}

.hv-loop-highlights__slide--saving .hv-loop-highlights__text,
.hv-loop-highlights__slide--saving .hv-loop-highlights__text strong {
    color: #d07a10;
}

.hv-loop-highlights__text {
    color: #3c3838;
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hv-loop-highlights__text strong {
    color: #3c3838;
    font-weight: 600;
}

@media (max-width: 849px) {
    .hv-loop-highlights {
        font-size: 12px;
        margin-top: 6px;
    }

    .hv-loop-highlights__slide {
        gap: 5px;
        min-height: 18px;
    }

    .hv-loop-highlights__icon {
        flex-basis: 12px;
        height: 12px;
        width: 12px;
    }

    .hv-loop-highlights__icon--saving {
        height: 13px;
    }
}

/* UX title with category */
.hv-title-with-cat {
    --hv-title-header-width: max-content;
    align-items: center !important;
    display: grid !important;
    gap: 0 22px;
    grid-template-columns: var(--hv-title-header-width) minmax(0, 1fr);
    justify-content: flex-start !important;
    overflow: visible;
    width: 100%;
}

.hv-title-with-cat__header {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    grid-column: 1;
    justify-content: flex-start;
    min-width: max-content;
    position: relative;
    width: max-content;
    z-index: 2;
}

.hv-title-with-cat__heading-group {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0;
    justify-content: flex-start;
    min-width: max-content;
    white-space: nowrap;
}

.hv-title-with-cat__title {
    color: #2f2f2f !important;
    display: block;
    flex: 0 0 auto !important;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
    max-width: none !important;
    white-space: nowrap;
    width: auto !important;
}

.hv-title-with-cat__badge {
    align-items: center;
    color: #02a1d8;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 700;
    gap: 10px;
    justify-content: flex-start;
    margin-left: 16px;
    padding-left: 18px;
    position: relative;
    white-space: nowrap;
}

.hv-title-with-cat__badge::before {
    background: rgba(47, 47, 47, 0.22);
    content: '';
    height: 24px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}

.hv-title-with-cat__badge img {
    display: block;
    flex: 0 0 auto;
    height: 28px;
    width: 28px;
}

.hv-title-with-cat__badge strong {
    color: inherit;
    display: block;
    font-size: inherit;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}

.hv-title-with-cat__header > a {
    align-items: center;
    color: #2f2f2f;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 600;
    gap: 6px;
    margin: 0;
    text-decoration: none;
}

.hv-title-with-cat__cats-wrap {
    cursor: grab;
    grid-column: 2;
    margin-left: 0;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: none;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    width: 100%;
}

.hv-title-with-cat__cats-wrap::-webkit-scrollbar {
    display: none;
}

.hv-title-with-cat__cats-wrap.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.hv-title-with-cat .hdevvn-show-cats {
    align-items: center;
    display: inline-flex !important;
    flex-wrap: nowrap;
    gap: 14px;
    justify-content: flex-start;
    list-style: none;
    margin: 0;
    min-width: max-content;
    padding: 0;
    white-space: nowrap;
}

.hv-title-with-cat .hdevvn-show-cats li {
    background: #f2f4f5;
    border-radius: 8px;
    flex: 0 0 auto;
    margin: 0;
    padding: 8px 12px;
}

.hv-title-with-cat .hdevvn-show-cats li a {
    color: #404040;
    display: block;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    text-decoration: none;
}

.hv-title-with-cat .hdevvn-show-cats li:hover {
    background-color: #f2f4f5;
}

.hv-title-with-cat .hdevvn-show-cats li:hover a {
    color: #404040;
}

@media (max-width: 849px) {
    .hv-title-with-cat {
        align-items: flex-start !important;
        gap: 12px;
        grid-template-columns: 1fr;
    }

    .hv-title-with-cat__header {
        align-items: center;
        gap: 10px;
        grid-column: 1;
        min-width: 0;
        width: 100%;
    }

    .hv-title-with-cat__heading-group {
        align-items: center;
        flex-wrap: wrap;
        min-width: 0;
        row-gap: 8px;
        width: 100%;
    }

    .hv-title-with-cat__title {
        font-size: 18px;
        max-width: none !important;
        white-space: normal;
        width: auto !important;
    }

    .hv-title-with-cat__badge {
        font-size: 15px;
        margin-left: 10px;
        padding-left: 12px;
    }

    .hv-title-with-cat__badge::before {
        height: 18px;
    }

    .hv-title-with-cat__badge img {
        height: 22px;
        width: 22px;
    }

    .hv-title-with-cat__cats-wrap {
        cursor: grab;
        grid-column: 1;
        width: 100%;
    }

    .hv-title-with-cat .hdevvn-show-cats {
        display: inline-flex !important;
        gap: 10px;
    }

    .hv-title-with-cat .hdevvn-show-cats li {
        padding: 10px 14px;
    }

    .hv-title-with-cat .hdevvn-show-cats li a {
        font-size: 15px;
    }
}

@media only screen and (max-width: 48em) {
    .hv-title-with-cat .hdevvn-show-cats {
        display: inline-flex !important;
    }
}

.hv-product-gallery-video-slide {
    padding: 0;
}

.hv-product-gallery-video-main {
    background: #f3f5f7;
    border-radius: 24px;
    overflow: hidden;
    padding: 18px;
}

.hv-product-gallery-video-frame {
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
}

.hv-product-gallery-video-frame iframe {
    border: 0;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.hv-product-gallery-video-thumb a {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.hv-product-gallery-video-thumb__poster {
    display: block;
    overflow: hidden;
    position: relative;
}

.hv-product-gallery-video-thumb__poster::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.42) 100%);
    content: '';
    inset: 0;
    position: absolute;
}

.hv-product-gallery-video-thumb__poster img {
    display: block;
    width: 100%;
}

.hv-product-gallery-video-thumb__play {
    align-items: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 999px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
    color: #ff0033;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 34px;
    z-index: 2;
}

.hv-product-gallery-video-thumb__play svg {
    display: block;
    height: 16px;
    margin-left: 2px;
    width: 16px;
}

@media (max-width: 849px) {
    .hv-product-gallery-video-main {
        border-radius: 18px;
        padding: 12px;
    }

    .hv-product-gallery-video-frame {
        border-radius: 14px;
    }

    .hv-product-gallery-video-thumb a {
        border-radius: 12px;
    }
}

/* Product detail tabs: all sections visible with anchor navigation */
.hv-product-detail-tabs {
    margin-top: 24px;
}

.hv-product-tabs-nav-wrap {
    background: #fff;
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
    margin-bottom: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    position: sticky;
    scrollbar-width: none;
    top: 70px;
    z-index: 21;
    width: 100%;
}

.hv-product-tabs-nav-wrap::-webkit-scrollbar {
    display: none;
}

.hv-product-tabs-nav {
    display: inline-flex;
    gap: 0;
    list-style: none;
    margin: 0;
    min-width: 100%;
    padding: 0;
    white-space: nowrap;
}

.hv-product-tabs-nav__item {
    margin: 0;
}

.hv-product-tabs-nav__link {
    align-items: center;
    border-bottom: 2px solid transparent;
    color: #1f2937;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 600;
    gap: 8px;
    line-height: 1.4;
    min-height: 48px;
    padding: 12px 14px;
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.hv-product-tabs-nav__link:hover,
.hv-product-tabs-nav__link.is-active {
    border-color: var(--fs-color-secondary);
    color: var(--fs-color-secondary);
}

.hv-product-tabs-nav__text {
    display: block;
}

.hv-product-tabs-nav__count {
    align-items: center;
    background: #f3f5f7;
    border-radius: 999px;
    color: #4b5563;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 700;
    justify-content: center;
    line-height: 1;
    min-width: 22px;
    padding: 4px 7px;
}

.hv-product-tabs-nav__link.is-active .hv-product-tabs-nav__count,
.hv-product-tabs-nav__link:hover .hv-product-tabs-nav__count {
    background: rgba(0, 0, 0, 0.05);
    color: inherit;
}

.hv-product-tabs-panels {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hv-product-tab-panel {
    display: block !important;
    margin: 0;
    scroll-margin-top: 140px;
}

.hv-product-tab-panel__head {
    margin-bottom: 16px;
}

.hv-product-tab-panel__title {
    color: #111827;
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    text-transform: none;
}

.hv-product-tab-panel__body > *:last-child {
    margin-bottom: 0;
}

.hv-product-tab-panel--description img,
.hv-product-tab-panel--description iframe,
.hv-product-tab-panel--description table {
    max-width: 100%;
}

.hv-product-faq {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hv-product-faq__item {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
}

.hv-product-faq__question {
    align-items: center;
    color: #111827;
    cursor: pointer;
    display: flex;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 600;
    gap: 16px;
    justify-content: space-between;
    line-height: 1.6;
    list-style: none;
    padding: 16px 18px;
}

.hv-product-faq__question::-webkit-details-marker {
    display: none;
}

.hv-product-faq__question-text {
    flex: 1 1 auto;
}

.hv-product-faq__toggle {
    border: 1px solid rgba(17, 24, 39, 0.14);
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 22px;
    position: relative;
    width: 22px;
}

.hv-product-faq__toggle::before,
.hv-product-faq__toggle::after {
    background: currentColor;
    content: '';
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.hv-product-faq__toggle::before {
    height: 2px;
    width: 10px;
}

.hv-product-faq__toggle::after {
    height: 10px;
    width: 2px;
}

.hv-product-faq__item[open] .hv-product-faq__question {
    color: var(--fs-color-secondary);
}

.hv-product-faq__item[open] .hv-product-faq__toggle {
    border-color: rgba(0, 0, 0, 0.08);
    color: var(--fs-color-secondary);
}

.hv-product-faq__item[open] .hv-product-faq__toggle::after {
    opacity: 0;
}

.hv-product-faq__answer {
    border-top: 1px solid #eef2f7;
    color: #4b5563;
    font-size: 15px;
    line-height: 1.8;
    padding: 0 18px 18px;
}

.hv-product-faq__answer p {
    margin-bottom: 10px;
}

.hv-product-faq-cta {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    margin-top: 16px;
}

.hv-product-faq-cta__title {
    color: #4b5563;
    font-family: 'fonth1';
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    margin: 0 0 10px;
}

.hv-product-faq-cta__button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--fs-color-secondary);
    border-radius: 12px;
    color: var(--fs-color-secondary);
    cursor: pointer;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 16px;
    font-weight: 700;
    height: 50px;
    justify-content: center;
    line-height: 24px;
    min-height: 50px;
    padding: 0 20px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    width: auto;
}

.hv-product-faq-cta__button:hover {
    background: var(--fs-color-secondary);
    color: #fff;
}

body.hv-product-modal-open {
    overflow: hidden;
}

.hv-product-question-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 9999;
}

.hv-product-question-modal[hidden] {
    display: none !important;
}

.hv-product-question-modal__backdrop {
    background: rgba(17, 24, 39, 0.42);
    inset: 0;
    position: absolute;
}

.hv-product-question-modal__dialog {
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.18);
    max-width: 874px;
    opacity: 0;
    overflow: hidden;
    position: relative;
    transform: translateY(16px) scale(0.97);
    transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
    width: min(100%, 874px);
    z-index: 1;
}

.hv-product-question-modal.is-open .hv-product-question-modal__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.hv-product-question-modal.is-success .hv-product-question-modal__dialog {
    background: linear-gradient(180deg, #e9fcff 0%, #fbfffd 100%);
    max-width: 1080px;
    width: min(100%, 1080px);
}

.hv-product-question-modal__close {
    align-items: center;
    background: #b6b6b6;
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
    z-index: 3;
}

.hv-product-question-modal__close svg {
    display: block;
    height: 22px;
    width: 22px;
}

.hv-product-question-modal__panel {
    display: none;
}

.hv-product-question-modal__panel.is-active {
    display: block;
}

.hv-product-question-modal__panel--form {
    background: #fff;
}

.hv-product-question-modal__header {
    border-bottom: 1px solid #e5e7eb;
    padding: 22px 28px;
}

.hv-product-question-modal__title {
    color: #202020;
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.hv-product-question-modal__body {
    padding: 26px 28px 28px;
}

.hv-product-question-modal__label {
    color: #202020;
    display: block;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 14px;
}

.hv-product-question-modal__field {
    border: 1px solid #d9dee5;
    border-radius: 16px;
    box-shadow: none;
    color: #202020;
    font-family: 'fonth1';
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 20px;
    min-height: 180px;
    padding: 20px 22px;
    resize: vertical;
    width: 100%;
}

.hv-product-question-modal__field:focus {
    border-color: var(--fs-color-secondary);
    outline: none;
}

.hv-product-question-modal__submit {
    background: var(--fs-color-secondary);
    border: 0;
    border-radius: 16px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    min-height: 80px;
    padding: 18px 24px;
    transition: opacity 0.2s ease, background-color 0.2s ease;
    width: 100%;
}

.hv-product-question-modal__submit:disabled {
    background: #e3e7ed;
    color: rgba(255, 255, 255, 0.9);
    cursor: not-allowed;
}

.hv-product-question-modal__submit:not(:disabled):hover {
    opacity: 0.92;
}

.hv-product-question-modal__panel--success {
    padding: 86px 56px 34px;
    text-align: center;
}

.hv-product-question-modal__success-icon {
    color: #02a1d8;
    display: inline-flex;
    height: 98px;
    justify-content: center;
    margin-bottom: 34px;
    width: 98px;
}

.hv-product-question-modal__success-icon svg {
    display: block;
    height: 98px;
    width: 98px;
}

.hv-product-question-modal__success-title {
    color: var(--fs-color-primary);
    font-family: 'fonth1';
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 10px;
}

.hv-product-question-modal__success-text {
    color: var(--fs-color-secondary);
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
}

.hv-product-question-modal__success-text--strong {
    font-size: 24px;
    font-weight: 700;
    margin-top: 2px;
}

.hv-product-question-modal__actions {
    display: flex;
    gap: 28px;
    justify-content: center;
    margin-top: 72px;
}

.hv-product-question-modal__action {
    align-items: center;
    border-radius: 18px;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    min-height: 96px;
    min-width: 376px;
    padding: 18px 30px;
    text-decoration: none;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.hv-product-question-modal__action:hover {
    opacity: 0.92;
}

.hv-product-question-modal__action--ghost {
    background: #fff;
    border: 2px solid var(--fs-color-secondary);
    color: var(--fs-color-secondary);
}

.hv-product-question-modal__action--solid {
    background: var(--fs-color-secondary);
    border: 2px solid var(--fs-color-secondary);
    color: #fff;
}

.hv-product-qa {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hv-product-qa__item {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 18px;
}

.hv-product-qa__question,
.hv-product-qa__answer {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hv-product-qa__answer {
    border-top: 1px dashed rgba(17, 24, 39, 0.12);
    margin-top: 14px;
    padding-top: 14px;
}

.hv-product-qa__label {
    color: var(--fs-color-secondary);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: uppercase;
}

.hv-product-qa__label--answer {
    color: var(--fs-color-primary);
}

.hv-product-qa__title {
    color: #111827;
    font-family: 'fonth1';
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    margin: 0;
}

.hv-product-qa__meta {
    color: #6b7280;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.hv-product-qa__answer-text {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.8;
}

.hv-product-qa__answer-text p {
    margin-bottom: 10px;
}

.hv-product-review-stars {
    align-items: center;
    color: #e5e7eb;
    display: inline-flex;
    gap: 6px;
}

.hv-product-review-stars__star {
    color: #e5e7eb;
    display: inline-flex;
    height: 18px;
    width: 18px;
}

.hv-product-review-stars__star svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-review-stars__star.is-active {
    color: #f6ab22;
}

.hv-product-reviews {
    display: flex;
    flex-direction: column;
}

.hv-product-reviews__summary {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding-bottom: 32px;
}

.hv-product-reviews__summary-main {
    align-items: center;
    display: flex;
    gap: 22px;
}

.hv-product-reviews__score {
    color: #3a3a3a;
    font-family: 'fonth1';
    font-size: 78px;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.95;
}

.hv-product-reviews__summary-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hv-product-reviews__summary-stars .hv-product-review-stars__star {
    height: 28px;
    width: 28px;
}

.hv-product-reviews__count {
    color: #666;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.hv-product-reviews__open {
    align-items: center;
    background: var(--fs-color-secondary);
    border: 0;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 24px;
    font-weight: 700;
    justify-content: center;
    min-height: 60px;
    padding: 15px 30px;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.hv-product-reviews__open:hover {
    opacity: 0.94;
    transform: translateY(-1px);
}

.hv-product-reviews__list {
    border-top: 1px solid #e5e7eb;
}

.hv-product-review-card {
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 26px 0;
}

.hv-product-review-card.is-collapsed {
    display: none;
}

.hv-product-review-card__top {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hv-product-review-card__author-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.hv-product-review-card__author {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.hv-product-review-card__verified {
    align-items: center;
    color: #1f9b8b;
    display: inline-flex;
    gap: 10px;
}

.hv-product-review-card__verified-icon {
    display: inline-flex;
    flex: 0 0 auto;
    height: 24px;
    width: 24px;
}

.hv-product-review-card__verified-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-review-card__verified-text {
    font-family: 'fonth1';
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
}

.hv-product-review-card__rating-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
}

.hv-product-review-card__stars .hv-product-review-stars__star {
    height: 22px;
    width: 22px;
}

.hv-product-review-card__rating-label {
    color: #666;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.hv-product-review-card__content {
    color: #3f3f46;
    font-family: 'fonth1';
    font-size: 26px;
    font-weight: 400;
    line-height: 1.72;
}

.hv-product-review-card__content p {
    margin-bottom: 14px;
}

.hv-product-review-card__footer {
    align-items: center;
    color: #808080;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
}

.hv-product-review-card__helpful {
    align-items: center;
    color: #8b8b8b;
    display: inline-flex;
    gap: 10px;
}

.hv-product-review-card__helpful-icon {
    display: inline-flex;
    height: 34px;
    width: 34px;
}

.hv-product-review-card__helpful-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-review-card__helpful-count,
.hv-product-review-card__date {
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.hv-product-reviews__more {
    align-self: center;
    background: transparent;
    border: 0;
    color: var(--fs-color-secondary);
    cursor: pointer;
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 700;
    margin-top: 22px;
    padding: 0;
}

.hv-product-reviews__empty {
    border-top: 1px solid #e5e7eb;
    color: #666;
    font-family: 'fonth1';
    font-size: 18px;
    line-height: 1.7;
    padding: 28px 0 0;
}

.hv-product-review-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 28px;
    position: fixed;
    z-index: 10000;
}

.hv-product-review-modal[hidden] {
    display: none !important;
}

.hv-product-review-modal__backdrop {
    background: rgba(17, 24, 39, 0.42);
    inset: 0;
    position: absolute;
}

.hv-product-review-modal__dialog {
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.18);
    max-height: calc(100vh - 56px);
    max-width: 1460px;
    opacity: 0;
    overflow: auto;
    position: relative;
    transform: translateY(16px) scale(0.97);
    transition: opacity 0.18s ease, transform 0.18s ease;
    width: min(100%, 1460px);
    z-index: 1;
}

.hv-product-review-modal.is-open .hv-product-review-modal__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.hv-product-review-modal.is-success .hv-product-review-modal__dialog {
    max-width: 564px;
    overflow: hidden;
    width: min(100%, 564px);
}

.hv-product-review-modal.is-success .hv-product-review-modal__close {
    display: none;
}

.hv-product-review-modal__close {
    align-items: center;
    background: #b6b6b6;
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
    z-index: 3;
}

.hv-product-review-modal__close svg {
    display: block;
    height: 22px;
    width: 22px;
}

.hv-product-review-modal__panel {
    display: none;
}

.hv-product-review-modal__panel.is-active {
    display: block;
}

.hv-product-review-modal__header {
    border-bottom: 1px solid #e5e7eb;
    padding: 22px 34px;
}

.hv-product-review-modal__title {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.hv-product-review-modal__body {
    padding: 32px 34px 34px;
}

.hv-product-review-modal__hero {
    background: linear-gradient(180deg, #fff8ee 0%, #fff 100%);
    border-radius: 24px;
    margin-bottom: 26px;
    overflow: hidden;
    padding: 30px 24px 36px;
    position: relative;
    text-align: center;
}

.hv-product-review-modal__hero-deco {
    color: rgba(246, 171, 34, 0.14);
    position: absolute;
}

.hv-product-review-modal__hero-deco::before {
    content: '★';
    font-size: 84px;
    line-height: 1;
}

.hv-product-review-modal__hero-deco--left {
    left: 18px;
    top: 14px;
}

.hv-product-review-modal__hero-deco--right {
    right: 18px;
    top: 26px;
}

.hv-product-review-modal__hero-deco--right::before {
    content: '✦';
    font-size: 92px;
}

.hv-product-review-modal__product {
    color: #3a3a3a;
    font-family: 'fonth1';
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 18px;
}

.hv-product-review-modal__rating-value {
    color: #3a3a3a;
    font-family: 'fonth1';
    font-size: 56px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 14px;
}

.hv-product-review-modal__stars {
    align-items: center;
    display: inline-flex;
    gap: 14px;
}

.hv-product-review-modal__star {
    background: transparent;
    border: 0;
    color: #e5e7eb;
    cursor: pointer;
    display: inline-flex;
    height: 52px;
    padding: 0;
    width: 52px;
}

.hv-product-review-modal__star svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-review-modal__star.is-active {
    color: #f6ab22;
}

.hv-product-review-modal__field-group + .hv-product-review-modal__field-group {
    margin-top: 24px;
}

.hv-product-review-modal__label {
    color: #3a3a3a;
    display: block;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
}

.hv-product-review-modal__input,
.hv-product-review-modal__textarea {
    background: #fff;
    border: 1px solid #d7dee7;
    border-radius: 18px;
    box-shadow: none;
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 18px;
    line-height: 1.6;
    margin: 0;
    padding: 18px 24px;
    width: 100%;
}

.hv-product-review-modal__input {
    min-height: 82px;
}

.hv-product-review-modal__textarea {
    min-height: 160px;
    resize: vertical;
}

.hv-product-review-modal__input:focus,
.hv-product-review-modal__textarea:focus {
    border-color: var(--fs-color-secondary);
    outline: none;
}

.hv-product-review-modal__upload {
    align-items: center;
    background: #f3f4f6;
    border-radius: 18px;
    color: #808080;
    display: inline-flex;
    height: 110px;
    justify-content: center;
    width: 110px;
}

.hv-product-review-modal__upload-icon {
    display: inline-flex;
    height: 56px;
    width: 56px;
}

.hv-product-review-modal__upload-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-review-modal__captcha {
    align-items: center;
    border: 1px solid #d7dee7;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    margin: 26px auto 0;
    max-width: 610px;
    padding: 20px 24px;
    width: 100%;
}

.hv-product-review-modal__captcha-label {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 16px;
}

.hv-product-review-modal__captcha-input {
    display: none;
}

.hv-product-review-modal__captcha-box {
    background: #fff;
    border: 2px solid #666;
    display: inline-flex;
    flex: 0 0 auto;
    height: 28px;
    position: relative;
    width: 28px;
}

.hv-product-review-modal__captcha-box::after {
    border-bottom: 3px solid #2563eb;
    border-right: 3px solid #2563eb;
    content: '';
    height: 14px;
    left: 8px;
    opacity: 0;
    position: absolute;
    top: 2px;
    transform: rotate(45deg);
    width: 7px;
}

.hv-product-review-modal__captcha-input:checked + .hv-product-review-modal__captcha-box::after {
    opacity: 1;
}

.hv-product-review-modal__captcha-text {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}

.hv-product-review-modal__captcha-brand {
    color: #808080;
    font-family: 'fonth1';
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
}

.hv-product-review-modal__submit {
    background: rgba(255, 107, 30, 0.42);
    border: 0;
    border-radius: 18px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 26px;
    font-weight: 700;
    justify-content: center;
    margin-top: 26px;
    min-height: 92px;
    padding: 18px 24px;
    transition: opacity 0.2s ease, background-color 0.2s ease;
    width: 100%;
}

.hv-product-review-modal__submit:disabled {
    background: rgba(255, 107, 30, 0.42);
    cursor: not-allowed;
}

.hv-product-review-modal__submit:not(:disabled) {
    background: var(--fs-color-secondary);
}

.hv-product-review-modal__submit:not(:disabled):hover {
    opacity: 0.94;
}

.hv-product-review-modal__panel--success {
    padding: 56px 34px 34px;
}

.hv-product-review-modal__success-line {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: center;
    margin-bottom: 34px;
}

.hv-product-review-modal__success-icon {
    color: #02a1d8;
    display: inline-flex;
    flex: 0 0 auto;
    height: 38px;
    width: 38px;
}

.hv-product-review-modal__success-icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-review-modal__success-text {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 26px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

.hv-product-review-modal__success-button {
    align-items: center;
    background: var(--fs-color-secondary);
    border: 0;
    border-radius: 14px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 700;
    justify-content: center;
    min-height: 70px;
    padding: 16px 24px;
    width: 100%;
}

@media (max-width: 849px) {
    .hv-product-reviews__summary {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
        padding-bottom: 24px;
    }

    .hv-product-reviews__summary-main {
        gap: 16px;
    }

    .hv-product-reviews__score {
        font-size: 54px;
    }

    .hv-product-reviews__summary-stars .hv-product-review-stars__star {
        height: 22px;
        width: 22px;
    }

    .hv-product-reviews__count,
    .hv-product-review-card__author,
    .hv-product-review-card__verified-text,
    .hv-product-review-card__rating-label,
    .hv-product-review-card__helpful-count,
    .hv-product-review-card__date,
    .hv-product-reviews__empty {
        font-size: 15px;
    }

    .hv-product-reviews__open {
        border-radius: 16px;
        font-size: 20px;
        min-height: 72px;
        min-width: 100%;
        width: 100%;
    }

    .hv-product-review-card {
        gap: 14px;
        padding: 20px 0;
    }

    .hv-product-review-card__verified-icon {
        height: 20px;
        width: 20px;
    }

    .hv-product-review-card__stars .hv-product-review-stars__star {
        height: 18px;
        width: 18px;
    }

    .hv-product-review-card__content {
        font-size: 18px;
        line-height: 1.8;
    }

    .hv-product-review-card__helpful-icon {
        height: 26px;
        width: 26px;
    }

    .hv-product-reviews__more {
        font-size: 18px;
        margin-top: 18px;
    }

    .hv-product-review-modal {
        padding: 16px;
    }

    .hv-product-review-modal__dialog {
        border-radius: 22px;
        max-height: calc(100vh - 32px);
        width: 100%;
    }

    .hv-product-review-modal__header {
        padding: 18px 20px;
    }

    .hv-product-review-modal__title {
        font-size: 22px;
    }

    .hv-product-review-modal__body {
        padding: 22px 20px 24px;
    }

    .hv-product-review-modal__hero {
        border-radius: 18px;
        margin-bottom: 20px;
        padding: 24px 18px 28px;
    }

    .hv-product-review-modal__hero-deco::before {
        font-size: 54px;
    }

    .hv-product-review-modal__hero-deco--right::before {
        font-size: 60px;
    }

    .hv-product-review-modal__product {
        font-size: 22px;
    }

    .hv-product-review-modal__rating-value {
        font-size: 42px;
        margin-bottom: 12px;
    }

    .hv-product-review-modal__stars {
        gap: 8px;
    }

    .hv-product-review-modal__star {
        height: 38px;
        width: 38px;
    }

    .hv-product-review-modal__field-group + .hv-product-review-modal__field-group {
        margin-top: 18px;
    }

    .hv-product-review-modal__label {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .hv-product-review-modal__input,
    .hv-product-review-modal__textarea {
        border-radius: 14px;
        font-size: 16px;
        padding: 15px 18px;
    }

    .hv-product-review-modal__input {
        min-height: 62px;
    }

    .hv-product-review-modal__textarea {
        min-height: 134px;
    }

    .hv-product-review-modal__upload {
        border-radius: 14px;
        height: 86px;
        width: 86px;
    }

    .hv-product-review-modal__upload-icon {
        height: 44px;
        width: 44px;
    }

    .hv-product-review-modal__captcha {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-top: 20px;
        padding: 16px;
    }

    .hv-product-review-modal__captcha-text {
        font-size: 16px;
    }

    .hv-product-review-modal__submit {
        border-radius: 16px;
        font-size: 22px;
        margin-top: 20px;
        min-height: 72px;
    }

    .hv-product-review-modal__panel--success {
        padding: 40px 20px 24px;
    }

    .hv-product-review-modal__success-line {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 24px;
    }

    .hv-product-review-modal__success-icon {
        height: 30px;
        width: 30px;
    }

    .hv-product-review-modal__success-text {
        font-size: 20px;
    }

    .hv-product-review-modal__success-button {
        border-radius: 12px;
        font-size: 20px;
        min-height: 58px;
    }
}


@media (max-width: 849px) {
    .hv-product-detail-tabs {
        margin-top: 20px;
    }

    .hv-product-tabs-nav-wrap {
        margin-bottom: 16px;
        top: 54px;
    }

    .hv-product-tabs-nav__link {
        font-size: 14px;
        min-height: 44px;
        padding: 10px 12px;
    }

    .hv-product-tab-panel {
        border-radius: 16px;
        padding: 16px;
        scroll-margin-top: 118px;
    }

    .hv-product-tab-panel__head {
        margin-bottom: 14px;
    }

    .hv-product-tab-panel__title {
        font-size: 18px;
    }

    .hv-product-faq__question,
    .hv-product-faq__answer,
    .hv-product-qa__answer-text {
        font-size: 14px;
    }

    .hv-product-faq__question {
        padding: 14px 16px;
    }

    .hv-product-faq__answer {
        padding: 0 16px 16px;
    }

    .hv-product-qa__item {
        border-radius: 14px;
        padding: 16px;
    }

    .hv-product-qa__title {
        font-size: 15px;
    }
}

@media (max-width: 849px) {
    .hv-product-faq-cta {
        margin-top: 14px;
    }

    .hv-product-faq-cta__title {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 10px;
    }

    .hv-product-faq-cta__button {
        border-radius: 12px;
        font-size: 15px;
        height: 52px;
        line-height: 22px;
        min-height: 52px;
        min-width: 198px;
        padding: 0 24px;
        width: auto;
    }

    .hv-product-question-modal {
        padding: 16px;
    }

    .hv-product-question-modal__dialog,
    .hv-product-question-modal.is-success .hv-product-question-modal__dialog {
        border-radius: 22px;
        max-width: 100%;
        width: 100%;
    }

    .hv-product-question-modal__close {
        height: 34px;
        right: 14px;
        top: 14px;
        width: 34px;
    }

    .hv-product-question-modal__header {
        padding: 18px 20px;
    }

    .hv-product-question-modal__title {
        font-size: 20px;
    }

    .hv-product-question-modal__body {
        padding: 20px;
    }

    .hv-product-question-modal__label {
        font-size: 16px;
    }

    .hv-product-question-modal__field {
        border-radius: 14px;
        font-size: 15px;
        min-height: 150px;
        padding: 16px 18px;
    }

    .hv-product-question-modal__submit {
        border-radius: 14px;
        font-size: 17px;
        min-height: 64px;
    }

    .hv-product-question-modal__panel--success {
        padding: 72px 22px 22px;
    }

    .hv-product-question-modal__success-icon {
        height: 82px;
        margin-bottom: 28px;
        width: 82px;
    }

    .hv-product-question-modal__success-icon svg {
        height: 82px;
        width: 82px;
    }

    .hv-product-question-modal__success-title {
        font-size: 28px;
    }

    .hv-product-question-modal__success-text {
        font-size: 18px;
    }

    .hv-product-question-modal__success-text--strong {
        font-size: 19px;
    }

    .hv-product-question-modal__actions {
        flex-direction: column;
        gap: 14px;
        margin-top: 34px;
    }

    .hv-product-question-modal__action {
        border-radius: 14px;
        font-size: 18px;
        min-height: 64px;
        min-width: 100%;
        width: 100%;
    }
}

/* Flatsome-sized review + modal refinements */
.hv-product-question-modal,
.hv-product-review-modal {
    padding: 20px;
    z-index: 2147483000;
}

.hv-product-reviews__summary {
    gap: 18px;
    padding: 0 0 1em;
}

.hv-product-reviews__summary-main {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 1em;
    min-width: 0;
}

.hv-product-reviews__score {
    font-size: 3.25em;
    line-height: 1;
}

.hv-product-reviews__summary-meta {
    gap: 0.35em;
}

.hv-product-reviews__summary-stars .hv-product-review-stars__star {
    height: 20px;
    width: 20px;
}

.hv-product-reviews__count {
    font-size: 1em;
    line-height: 1.6;
}

.hv-product-reviews__open,
.hv-product-review-modal__submit,
.hv-product-review-modal__success-button,
.hv-product-question-modal__submit,
.hv-product-question-modal__action {
    font-size: 0.97em;
    line-height: 2.4em;
    margin: 0;
    min-height: 2.5em;
    padding: 0 1.2em;
}

.hv-product-reviews__open {
    min-width: 13em;
}

.hv-product-review-card {
    gap: 12px;
    padding: 18px 0;
}

.hv-product-review-card__top {
    gap: 8px;
}

.hv-product-review-card__author {
    font-size: 1em;
    line-height: 1.4;
}

.hv-product-review-card__verified-icon {
    height: 20px;
    width: 20px;
}

.hv-product-review-card__verified-text,
.hv-product-review-card__rating-label,
.hv-product-review-card__helpful-count,
.hv-product-review-card__date {
    font-size: 0.9em;
    line-height: 1.6;
}

.hv-product-review-card__stars .hv-product-review-stars__star {
    height: 18px;
    width: 18px;
}

.hv-product-review-card__content {
    font-size: 1em;
    line-height: 1.6;
}

.hv-product-review-card__content p {
    margin-bottom: 1em;
}

.hv-product-review-card__helpful-icon {
    height: 24px;
    width: 24px;
}

.hv-product-reviews__more {
    font-size: 1em;
    margin-top: 1em;
}

.hv-product-reviews__empty {
    padding: 18px 0 0;
}

.hv-product-reviews__empty-title {
    font-size: 1.125em;
    line-height: 1.4;
    margin: 0 0 0.35em;
}

.hv-product-reviews__empty-text {
    font-size: 1em;
    line-height: 1.6;
    margin: 0;
}

.hv-product-question-modal__dialog {
    border-radius: 18px;
    max-width: 540px;
    width: min(100%, 540px);
}

.hv-product-question-modal.is-success .hv-product-question-modal__dialog {
    max-width: 540px;
    width: min(100%, 540px);
}

.hv-product-question-modal__close,
.hv-product-review-modal__close {
    height: 34px;
    right: 14px;
    top: 14px;
    width: 34px;
}

.hv-product-question-modal__close svg,
.hv-product-review-modal__close svg {
    height: 18px;
    width: 18px;
}

.hv-product-question-modal__header,
.hv-product-review-modal__header {
    padding: 16px 20px;
}

.hv-product-question-modal__title,
.hv-product-review-modal__title {
    font-size: 1.25em;
    line-height: 1.3;
}

.hv-product-question-modal__body {
    padding: 20px;
}

.hv-product-question-modal__label,
.hv-product-review-modal__label {
    font-size: 0.9em;
    margin-bottom: 0.4em;
}

.hv-product-question-modal__field {
    border-radius: 0;
    font-size: 0.97em;
    line-height: 1.6;
    margin: 0;
    min-height: 120px;
    padding: 0.7em 0.75em;
}

.hv-product-question-modal__submit,
.hv-product-question-modal__action {
    border-radius: 6px;
}

.hv-product-question-modal__panel--success {
    padding: 34px 20px 20px;
}

.hv-product-question-modal__success-icon {
    height: 72px;
    margin-bottom: 20px;
    width: 72px;
}

.hv-product-question-modal__success-icon svg {
    height: 72px;
    width: 72px;
}

.hv-product-question-modal__success-title {
    font-size: 1.25em;
    line-height: 1.3;
    margin: 0 0 0.35em;
}

.hv-product-question-modal__success-text,
.hv-product-question-modal__success-text--strong {
    font-size: 1em;
    line-height: 1.6;
    margin: 0;
}

.hv-product-question-modal__actions {
    gap: 12px;
    margin-top: 24px;
}

.hv-product-question-modal__action {
    min-width: 14em;
}

.hv-product-review-modal__dialog {
    border-radius: 18px;
    max-width: 920px;
    width: min(100%, 920px);
}

.hv-product-review-modal.is-success .hv-product-review-modal__dialog {
    max-width: 520px;
    width: min(100%, 520px);
}

.hv-product-review-modal__body {
    padding: 20px;
}

.hv-product-review-modal__hero {
    border-radius: 14px;
    margin-bottom: 18px;
    padding: 20px 16px 22px;
}

.hv-product-review-modal__hero-deco::before {
    font-size: 48px;
}

.hv-product-review-modal__hero-deco--left {
    left: 10px;
    top: 10px;
}

.hv-product-review-modal__hero-deco--right {
    right: 14px;
    top: 18px;
}

.hv-product-review-modal__hero-deco--right::before {
    font-size: 56px;
}

.hv-product-review-modal__product {
    font-size: 1.25em;
    line-height: 1.3;
    margin: 0 auto 0.5em;
    max-width: 32em;
}

.hv-product-review-modal__rating-value {
    font-size: 2.5em;
    margin-bottom: 0.25em;
}

.hv-product-review-modal__stars {
    gap: 8px;
}

.hv-product-review-modal__star {
    height: 34px;
    width: 34px;
}

.hv-product-review-modal__field-group + .hv-product-review-modal__field-group {
    margin-top: 1em;
}

.hv-product-review-modal__input,
.hv-product-review-modal__textarea {
    border: 1px solid #ddd;
    border-radius: 0;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    font-size: 0.97em;
    margin: 0;
    padding: 0 0.75em;
}

.hv-product-review-modal__input {
    height: 2.507em;
    min-height: 0;
}

.hv-product-review-modal__textarea {
    min-height: 120px;
    padding-bottom: 0.7em;
    padding-top: 0.7em;
}

.hv-product-review-modal__upload {
    border-radius: 10px;
    height: 72px;
    width: 72px;
}

.hv-product-review-modal__upload-icon {
    height: 34px;
    width: 34px;
}

.hv-product-review-modal__captcha {
    border-radius: 8px;
    margin-top: 1em;
    max-width: 430px;
    min-height: 0;
    padding: 16px;
}

.hv-product-review-modal__captcha-label {
    gap: 12px;
}

.hv-product-review-modal__captcha-text {
    font-size: 1em;
}

.hv-product-review-modal__captcha-brand {
    font-size: 0.75em;
}

.hv-product-review-modal__submit,
.hv-product-review-modal__success-button {
    border-radius: 6px;
}

.hv-product-review-modal__submit {
    margin-top: 1em;
}

.hv-product-review-modal__panel--success {
    padding: 34px 20px 20px;
    text-align: center;
}

.hv-product-review-modal__success-line {
    gap: 12px;
    margin-bottom: 18px;
}

.hv-product-review-modal__success-icon {
    height: 28px;
    width: 28px;
}

.hv-product-review-modal__success-text {
    font-size: 1.125em;
    line-height: 1.4;
}

.hv-product-review-modal__success-button {
    max-width: 12em;
}

@media (max-width: 849px) {
    .hv-product-question-modal,
    .hv-product-review-modal {
        padding: 16px;
    }

    .hv-product-reviews__summary {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .hv-product-reviews__score {
        font-size: 2.75em;
    }

    .hv-product-reviews__summary-stars .hv-product-review-stars__star {
        height: 18px;
        width: 18px;
    }

    .hv-product-reviews__open {
        min-width: 0;
        width: 100%;
    }

    .hv-product-review-card__content {
        font-size: 0.95em;
    }

    .hv-product-question-modal__dialog,
    .hv-product-review-modal__dialog {
        border-radius: 16px;
        width: 100%;
    }

    .hv-product-review-modal.is-success .hv-product-review-modal__dialog {
        max-width: 460px;
        width: min(100%, 460px);
    }

    .hv-product-question-modal__header,
    .hv-product-review-modal__header {
        padding: 14px 16px;
    }

    .hv-product-question-modal__title,
    .hv-product-review-modal__title {
        font-size: 1.125em;
    }

    .hv-product-question-modal__body,
    .hv-product-review-modal__body {
        padding: 16px;
    }

    .hv-product-review-modal__hero {
        margin-bottom: 16px;
        padding: 18px 14px 20px;
    }

    .hv-product-review-modal__product {
        font-size: 1.125em;
    }

    .hv-product-review-modal__rating-value {
        font-size: 2.25em;
    }

    .hv-product-review-modal__star {
        height: 30px;
        width: 30px;
    }

    .hv-product-question-modal__field,
    .hv-product-review-modal__input,
    .hv-product-review-modal__textarea {
        font-size: 1rem;
    }

    .hv-product-question-modal__actions {
        flex-direction: column;
    }

    .hv-product-question-modal__action,
    .hv-product-review-modal__success-button {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 549px) {
    .hv-product-question-modal,
    .hv-product-review-modal {
        padding: 12px;
    }

    .hv-product-reviews__summary-main {
        gap: 0.8em;
    }

    .hv-product-reviews__score {
        font-size: 2.3em;
    }

    .hv-product-reviews__summary-stars .hv-product-review-stars__star {
        height: 16px;
        width: 16px;
    }

    .hv-product-reviews__count,
    .hv-product-review-card__author,
    .hv-product-review-card__verified-text,
    .hv-product-review-card__rating-label,
    .hv-product-review-card__helpful-count,
    .hv-product-review-card__date,
    .hv-product-reviews__empty-title,
    .hv-product-reviews__empty-text {
        font-size: 0.9em;
    }

    .hv-product-review-card {
        padding: 16px 0;
    }

    .hv-product-review-card__helpful-icon {
        height: 20px;
        width: 20px;
    }

    .hv-product-question-modal__dialog,
    .hv-product-review-modal__dialog {
        border-radius: 14px;
    }

    .hv-product-question-modal__header,
    .hv-product-review-modal__header {
        padding: 14px 16px;
    }

    .hv-product-question-modal__body,
    .hv-product-review-modal__body {
        padding: 14px 16px 16px;
    }

    .hv-product-review-modal__hero {
        padding: 16px 12px 18px;
    }

    .hv-product-review-modal__product {
        font-size: 1em;
    }

    .hv-product-review-modal__rating-value {
        font-size: 2em;
    }

    .hv-product-review-modal__star {
        height: 26px;
        width: 26px;
    }

    .hv-product-review-modal__upload {
        height: 64px;
        width: 64px;
    }

    .hv-product-review-modal__upload-icon {
        height: 30px;
        width: 30px;
    }

    .hv-product-review-modal__captcha {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 12px;
    }

    .hv-product-review-modal__captcha-text,
    .hv-product-review-modal__success-text,
    .hv-product-question-modal__success-title,
    .hv-product-question-modal__success-text,
    .hv-product-question-modal__success-text--strong {
        font-size: 1em;
    }
}

.hv-product-question-modal__captcha,
.hv-product-review-modal__captcha {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe3ee;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding: 12px 14px;
}

.hv-product-question-modal__captcha-label,
.hv-product-review-modal__captcha-label {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 10px;
    margin: 0;
}

.hv-product-question-modal__captcha-input,
.hv-product-review-modal__captcha-input {
    height: 1px;
    left: -9999px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.hv-product-question-modal__captcha-box,
.hv-product-review-modal__captcha-box {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    flex: 0 0 18px;
    height: 18px;
    position: relative;
    width: 18px;
}

.hv-product-question-modal__captcha-box::after,
.hv-product-review-modal__captcha-box::after {
    border-bottom: 2px solid var(--fs-color-secondary);
    border-right: 2px solid var(--fs-color-secondary);
    content: '';
    height: 9px;
    left: 6px;
    opacity: 0;
    position: absolute;
    top: 1px;
    transform: rotate(45deg);
    width: 4px;
}

.hv-product-question-modal__captcha-input:checked + .hv-product-question-modal__captcha-box::after,
.hv-product-review-modal__captcha-input:checked + .hv-product-review-modal__captcha-box::after {
    opacity: 1;
}

.hv-product-question-modal__captcha-text,
.hv-product-review-modal__captcha-text,
.hv-product-review-modal__captcha-brand {
    color: #334155;
    font-size: 14px;
    line-height: 20px;
}

.hv-product-question-modal__notice,
.hv-product-review-modal__notice {
    color: #dc2626;
    font-size: 14px;
    line-height: 20px;
    margin: 10px 0 0;
}

.hv-product-question-modal__trap,
.hv-product-review-modal__trap {
    height: 1px;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: auto;
    width: 1px;
}

.hv-product-review-modal__upload {
    align-items: center;
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    color: #334155;
    cursor: pointer;
    display: inline-flex;
    gap: 10px;
    justify-content: flex-start;
    min-height: 56px;
    padding: 12px 14px;
    width: 100%;
}

.hv-product-review-modal__upload-input {
    display: none;
}

.hv-product-review-modal__upload-icon {
    color: var(--fs-color-secondary);
    flex: 0 0 20px;
    height: 20px;
    width: 20px;
}

.hv-product-review-modal__upload-text {
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

.hv-product-review-modal__upload-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.hv-product-review-modal__upload-preview {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: inline-flex;
    gap: 8px;
    max-width: 100%;
    padding: 6px 8px;
}

.hv-product-review-modal__upload-preview-image {
    border-radius: 8px;
    display: block;
    height: 44px;
    object-fit: cover;
    width: 44px;
}

.hv-product-review-modal__upload-preview-name {
    color: #475569;
    font-size: 13px;
    line-height: 18px;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hv-product-review-card__gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hv-product-review-card__gallery-item {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: block;
    overflow: hidden;
}

.hv-product-review-card__gallery-image {
    display: block;
    height: 88px;
    object-fit: cover;
    width: 88px;
}

@media (max-width: 849px) {
    .hv-product-question-modal__captcha,
    .hv-product-review-modal__captcha {
        align-items: flex-start;
        flex-direction: column;
    }

    .hv-product-review-modal__upload-preview-name {
        max-width: 120px;
    }

    .hv-product-review-card__gallery-image {
        height: 76px;
        width: 76px;
    }
}

.hv-product-qa-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.hv-product-qa-block__head {
    align-items: baseline;
    display: flex;
    gap: 12px;
}

.hv-product-qa-block__title {
    color: #222;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin: 0;
}

.hv-product-qa-block__count {
    color: #7b7b7b;
    font-family: 'fonth1';
    font-size: 15px;
    line-height: 24px;
}

.hv-product-qa-block__composer {
    align-items: center;
    background: #fff;
    border: 1px solid #dde4ee;
    border-radius: 20px;
    display: flex;
    gap: 12px;
    min-height: 74px;
    overflow: hidden;
    padding: 0 20px 0 24px;
}

.hv-product-qa-block__input {
    -webkit-appearance: none;
    appearance: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #7585a0;
    flex: 1 1 auto;
    font-family: 'fonth1';
    font-size: 16px;
    height: 54px;
    line-height: 24px;
    margin: 0 !important;
    min-height: 0;
    padding: 0 !important;
}

.hv-product-qa-block__input:focus {
    border: 0 !important;
    box-shadow: none !important;
    outline: none;
}

.hv-product-qa-block__input::placeholder {
    color: #7585a0;
    opacity: 1;
}

.hv-product-qa-block__submit {
    align-items: center;
    background: transparent;
    border: 0;
    color: #3a3a3a;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 52px;
    height: 52px;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 52px;
}

.hv-product-qa-block__submit svg {
    display: block;
    height: 30px;
    width: 30px;
}

.hv-product-qa-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.hv-product-qa-entry {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hv-product-qa-entry__divider {
    border-bottom: 1px solid #eef2f7;
}

.hv-product-qa-entry__question,
.hv-product-qa-entry__answer {
    display: flex;
    gap: 16px;
}

.hv-product-qa-entry__answer {
    margin-left: 32px;
}

.hv-product-qa-entry__avatar {
    align-items: center;
    background: #e5e7eb;
    border-radius: 999px;
    color: #7a7a7a;
    display: inline-flex;
    flex: 0 0 50px;
    font-family: 'fonth1';
    font-size: 22px;
    font-weight: 500;
    height: 50px;
    justify-content: center;
    line-height: 1;
    width: 50px;
}

.hv-product-qa-entry__avatar--staff {
    background: #ff6a21;
    color: #fff;
}

.hv-product-qa-entry__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.hv-product-qa-entry__name,
.hv-product-qa-entry__name--staff {
    color: #2f2f2f;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
}

.hv-product-qa-entry__staff-line {
    align-items: center;
    display: flex;
    gap: 8px;
}

.hv-product-qa-entry__verified {
    color: #ff7a00;
    display: inline-flex;
    flex: 0 0 auto;
    height: 18px;
    width: 18px;
}

.hv-product-qa-entry__verified svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-qa-entry__question-text,
.hv-product-qa-entry__answer-text {
    color: #555;
    font-family: 'fonth1';
    font-size: 16px;
    line-height: 28px;
}

.hv-product-qa-entry__answer-text p {
    margin-bottom: 0;
}

.hv-product-qa-entry__answer-text.is-collapsed {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    overflow: hidden;
}

.hv-product-qa-entry__answer-text.is-expanded {
    display: block;
}

.hv-product-qa-entry__more {
    align-self: flex-start;
    background: transparent;
    border: 0;
    color: #ff6a21;
    cursor: pointer;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    padding: 0;
}

.hv-product-qa-entry__meta {
    align-items: center;
    display: flex;
    gap: 10px;
}

.hv-product-qa-entry__reply-label {
    color: #ff6a21;
    font-family: 'fonth1';
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
}

.hv-product-qa-modal,
.hv-product-qa-success {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 2147483200;
}

.hv-product-qa-modal[hidden],
.hv-product-qa-success[hidden] {
    display: none !important;
}

.hv-product-qa-modal__backdrop,
.hv-product-qa-success__backdrop {
    background: rgba(15, 23, 42, 0.45);
    inset: 0;
    position: absolute;
}

.hv-product-qa-modal__dialog,
.hv-product-qa-success__dialog {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
    opacity: 0;
    position: relative;
    transform: translateY(12px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    z-index: 1;
}

.hv-product-qa-modal.is-open .hv-product-qa-modal__dialog,
.hv-product-qa-success.is-open .hv-product-qa-success__dialog {
    opacity: 1;
    transform: translateY(0);
}

.hv-product-qa-modal__dialog {
    max-width: 880px;
    width: min(100%, 880px);
}

.hv-product-qa-success__dialog {
    max-width: 420px;
    padding: 28px 28px 24px;
    width: min(100%, 420px);
}

.hv-product-qa-modal__close {
    align-items: center;
    background: transparent;
    border: 0;
    color: #111;
    cursor: pointer;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 36px;
}

.hv-product-qa-modal__close svg {
    display: block;
    height: 18px;
    width: 18px;
}

.hv-product-qa-modal__header {
    border-bottom: 1px solid #eef2f7;
    padding: 24px 28px;
}

.hv-product-qa-modal__title {
    color: #222;
    font-family: 'fonth1';
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    margin: 0;
}

.hv-product-qa-modal__body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px 28px 28px;
}

.hv-product-qa-modal__input {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: none;
    color: #64748b;
    font-family: 'fonth1';
    font-size: 16px;
    height: 56px;
    line-height: 24px;
    margin: 0;
    padding: 0 18px;
}

.hv-product-qa-modal__input:focus {
    border-color: #cbd5e1;
    box-shadow: none;
    outline: none;
}

.hv-product-qa-modal__captcha {
    align-items: center;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    margin: 2px auto 0;
    max-width: 480px;
    padding: 14px 18px;
    width: 100%;
}

.hv-product-qa-modal__captcha-label {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 12px;
    margin: 0;
}

.hv-product-qa-modal__captcha-input {
    height: 1px;
    left: -9999px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.hv-product-qa-modal__captcha-box {
    background: #fff;
    border: 2px solid #8b8b8b;
    border-radius: 3px;
    flex: 0 0 22px;
    height: 22px;
    position: relative;
    width: 22px;
}

.hv-product-qa-modal__captcha-box::after {
    border-bottom: 2px solid #02a1d8;
    border-right: 2px solid #02a1d8;
    content: '';
    height: 11px;
    left: 7px;
    opacity: 0;
    position: absolute;
    top: 1px;
    transform: rotate(45deg);
    width: 5px;
}

.hv-product-qa-modal__captcha-input:checked + .hv-product-qa-modal__captcha-box::after {
    opacity: 1;
}

.hv-product-qa-modal__captcha-text,
.hv-product-qa-modal__captcha-brand,
.hv-product-qa-modal__notice {
    font-family: 'fonth1';
    font-size: 14px;
    line-height: 22px;
}

.hv-product-qa-modal__captcha-text {
    color: #222;
}

.hv-product-qa-modal__captcha-brand {
    color: #64748b;
}

.hv-product-qa-modal__notice {
    color: #dc2626;
    margin: 0;
}

.hv-product-qa-modal__trap {
    height: 1px;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.hv-product-qa-modal__submit,
.hv-product-qa-success__button {
    align-items: center;
    background: #ffb291;
    border: 0;
    border-radius: 14px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: 'fonth1';
    font-size: 16px;
    font-weight: 500;
    height: 56px;
    justify-content: center;
    line-height: 24px;
    padding: 0 24px;
}

.hv-product-qa-modal__submit {
    width: 100%;
}

.hv-product-qa-modal__submit:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

.hv-product-qa-modal__submit:not(:disabled) {
    background: #ff8f61;
}

.hv-product-qa-success__line {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 20px;
}

.hv-product-qa-success__icon {
    color: #02a1d8;
    display: inline-flex;
    flex: 0 0 auto;
    height: 30px;
    width: 30px;
}

.hv-product-qa-success__icon svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-product-qa-success__text {
    color: #222;
    font-family: 'fonth1';
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}

.hv-product-qa-success__button {
    background: #ff6a21;
    margin: 0 auto;
    min-width: 140px;
}

@media (max-width: 849px) {
    .hv-product-qa-block {
        gap: 18px;
    }

    .hv-product-qa-block__head {
        gap: 8px;
    }

    .hv-product-qa-block__title {
        font-size: 17px;
        line-height: 24px;
    }

    .hv-product-qa-block__count,
    .hv-product-qa-entry__name,
    .hv-product-qa-entry__name--staff,
    .hv-product-qa-entry__reply-label,
    .hv-product-qa-entry__more,
    .hv-product-qa-success__text {
        font-size: 14px;
        line-height: 22px;
    }

    .hv-product-qa-block__composer {
        border-radius: 16px;
        min-height: 58px;
        padding: 0 12px 0 16px;
    }

    .hv-product-qa-block__input,
    .hv-product-qa-entry__question-text,
    .hv-product-qa-entry__answer-text,
    .hv-product-qa-modal__input,
    .hv-product-qa-modal__submit,
    .hv-product-qa-modal__captcha-text,
    .hv-product-qa-modal__captcha-brand,
    .hv-product-qa-modal__notice,
    .hv-product-qa-success__button {
        font-size: 12px;
        line-height: 20px;
    }

    .hv-product-qa-block__submit {
        flex-basis: 42px;
        height: 42px;
        width: 42px;
    }

    .hv-product-qa-block__submit svg {
        height: 24px;
        width: 24px;
    }

    .hv-product-qa-entry__question,
    .hv-product-qa-entry__answer {
        gap: 12px;
    }

    .hv-product-qa-entry__answer {
        margin-left: 20px;
    }

    .hv-product-qa-entry__avatar {
        flex-basis: 42px;
        font-size: 18px;
        height: 42px;
        width: 42px;
    }

    .hv-product-qa-modal,
    .hv-product-qa-success {
        padding: 14px;
    }

    .hv-product-qa-modal__dialog,
    .hv-product-qa-success__dialog {
        border-radius: 16px;
        width: 100%;
    }

    .hv-product-qa-modal__header {
        padding: 18px 18px 16px;
    }

    .hv-product-qa-modal__body {
        padding: 18px;
    }

    .hv-product-qa-modal__input,
    .hv-product-qa-modal__submit,
    .hv-product-qa-success__button {
        height: 48px;
    }

    .hv-product-qa-modal__captcha {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 12px 14px;
    }

    .hv-product-qa-success__dialog {
        padding: 22px 20px 18px;
    }
}

.hv-product-question-modal__close,
.hv-product-review-modal__close {
    align-items: center;
    border-radius: 50%;
    box-sizing: border-box;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    line-height: 1;
    max-height: 30px;
    max-width: 30px;
    min-height: 30px;
    min-width: 30px;
    padding: 0;
    right: 16px;
    top: 16px;
    width: 30px;
}

.hv-product-question-modal__close svg,
.hv-product-review-modal__close svg {
    height: 14px;
    width: 14px;
}

@media (max-width: 849px) {
    .hv-product-question-modal__close,
    .hv-product-review-modal__close {
        flex-basis: 28px;
        height: 28px;
        max-height: 28px;
        max-width: 28px;
        min-height: 28px;
        min-width: 28px;
        right: 12px;
        top: 12px;
        width: 28px;
    }

    .hv-product-question-modal__close svg,
    .hv-product-review-modal__close svg {
        height: 12px;
        width: 12px;
    }
}


.hv-product-review-modal {
    padding: 20px !important;
}

.hv-product-review-modal__dialog {
    border-radius: 16px !important;
    max-height: calc(100vh - 40px) !important;
    max-width: 760px !important;
    width: min(100%, 760px) !important;
}

.hv-product-review-modal__header {
    padding: 14px 18px !important;
}

.hv-product-review-modal__title {
    font-size: 18px !important;
    line-height: 26px !important;
}

.hv-product-review-modal__body {
    padding: 16px 18px 18px !important;
}

.hv-product-review-modal__hero {
    border-radius: 12px !important;
    margin-bottom: 14px !important;
    padding: 18px 14px 18px !important;
}

.hv-product-review-modal__hero-deco::before {
    font-size: 40px !important;
}

.hv-product-review-modal__hero-deco--left {
    left: 10px !important;
    top: 10px !important;
}

.hv-product-review-modal__hero-deco--right {
    right: 12px !important;
    top: 16px !important;
}

.hv-product-review-modal__hero-deco--right::before {
    font-size: 46px !important;
}

.hv-product-review-modal__product {
    font-size: 16px !important;
    line-height: 24px !important;
    margin: 0 auto 8px !important;
    max-width: 520px !important;
}

.hv-product-review-modal__rating-value {
    font-size: 38px !important;
    margin-bottom: 6px !important;
}

.hv-product-review-modal__stars {
    gap: 6px !important;
}

.hv-product-review-modal__star {
    height: 30px !important;
    width: 30px !important;
}

.hv-product-review-modal__field-group + .hv-product-review-modal__field-group {
    margin-top: 12px !important;
}

.hv-product-review-modal__label {
    font-size: 15px !important;
    line-height: 22px !important;
    margin-bottom: 6px !important;
}

.hv-product-review-modal__input,
.hv-product-review-modal__textarea {
    border-radius: 10px !important;
    font-size: 15px !important;
    line-height: 22px !important;
    padding: 10px 14px !important;
}

.hv-product-review-modal__input {
    height: 46px !important;
    min-height: 46px !important;
}

.hv-product-review-modal__textarea {
    min-height: 112px !important;
    padding-bottom: 10px !important;
    padding-top: 10px !important;
}

.hv-product-review-modal__upload {
    border-radius: 10px !important;
    min-height: 52px !important;
    padding: 10px 12px !important;
}

.hv-product-review-modal__upload-icon {
    height: 18px !important;
    width: 18px !important;
}

.hv-product-review-modal__upload-text {
    font-size: 14px !important;
    line-height: 20px !important;
}

.hv-product-review-modal__upload-list {
    gap: 8px !important;
    margin-top: 8px !important;
}

.hv-product-review-modal__captcha {
    border-radius: 10px !important;
    margin-top: 12px !important;
    max-width: 360px !important;
    padding: 10px 12px !important;
}

.hv-product-review-modal__captcha-label {
    gap: 10px !important;
}

.hv-product-review-modal__captcha-text,
.hv-product-review-modal__captcha-brand,
.hv-product-review-modal__notice {
    font-size: 14px !important;
    line-height: 20px !important;
}

.hv-product-review-modal__submit {
    border-radius: 10px !important;
    font-size: 16px !important;
    line-height: 44px !important;
    margin-top: 12px !important;
    min-height: 44px !important;
    padding: 0 16px !important;
}

@media (max-width: 849px) {
    .hv-product-review-modal {
        padding: 12px !important;
    }

    .hv-product-review-modal__dialog {
        max-height: calc(100vh - 24px) !important;
    }

    .hv-product-review-modal__header {
        padding: 12px 14px !important;
    }

    .hv-product-review-modal__title {
        font-size: 17px !important;
        line-height: 24px !important;
    }

    .hv-product-review-modal__body {
        padding: 14px 14px 16px !important;
    }

    .hv-product-review-modal__hero {
        padding: 16px 12px !important;
    }

    .hv-product-review-modal__product {
        font-size: 15px !important;
        line-height: 22px !important;
    }

    .hv-product-review-modal__rating-value {
        font-size: 32px !important;
    }

    .hv-product-review-modal__star {
        height: 26px !important;
        width: 26px !important;
    }

    .hv-product-review-modal__label {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .hv-product-review-modal__input,
    .hv-product-review-modal__textarea,
    .hv-product-review-modal__captcha-text,
    .hv-product-review-modal__captcha-brand,
    .hv-product-review-modal__notice,
    .hv-product-review-modal__upload-text {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .hv-product-review-modal__input {
        height: 42px !important;
        min-height: 42px !important;
    }

    .hv-product-review-modal__textarea {
        min-height: 96px !important;
    }

    .hv-product-review-modal__captcha {
        max-width: 100% !important;
        padding: 10px 12px !important;
    }

    .hv-product-review-modal__submit {
        font-size: 15px !important;
        line-height: 42px !important;
        min-height: 42px !important;
    }
}

.hv-store-locator {
    margin: 0 0 24px;
}

.hv-store-locator--empty {
    background: #f8fafc;
    border: 1px solid #d9e0ec;
    border-radius: 16px;
    color: #334155;
    font-size: 15px;
    line-height: 24px;
    padding: 18px 20px;
}

.hv-store-locator__layout {
    display: grid;
    gap: 18px;
    grid-template-columns: 476px minmax(0, 1fr);
    align-items: stretch;
}

.hv-store-locator__sidebar {
    min-width: 0;
}

.hv-store-locator__intro {
    margin-bottom: 12px;
}

.hv-store-locator__title {
    color: #111827;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin: 0;
}

.hv-store-locator__subtitle {
    color: #64748b;
    font-size: 13px;
    line-height: 20px;
    margin: 3px 0 0;
}

.hv-store-locator__toolbar {
    margin-bottom: 12px;
}

.hv-store-locator__search {
    align-items: center;
    background: #fff;
    border: 1px solid #d9e0ec;
    border-radius: 14px;
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    min-height: 52px;
    padding: 0 14px;
}

.hv-store-locator__search-icon {
    color: #111827;
    flex: 0 0 20px;
    height: 20px;
    width: 20px;
}

.hv-store-locator__search-icon svg,
.hv-store-locator__nearest-icon svg,
.hv-store-locator__card-link-icon svg,
.hv-store-locator__select-arrow svg {
    display: block;
    height: 100%;
    width: 100%;
}

.hv-store-locator__search input {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #111827;
    font-size: 15px;
    height: 50px;
    line-height: 22px;
    margin: 0;
    padding: 0;
}

.hv-store-locator__search input::placeholder {
    color: #94a3b8;
}

.hv-store-locator__search input:focus {
    box-shadow: none;
    outline: none;
}

.hv-store-locator__filters {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hv-store-locator__select-wrap {
    position: relative;
}

.hv-store-locator__select-wrap select {
    appearance: none;
    -webkit-appearance: none;
    background: #fff;
    border: 1px solid #d9e0ec;
    border-radius: 14px;
    box-shadow: none;
    color: #334155;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    height: 52px;
    line-height: 20px;
    margin: 0;
    padding: 0 40px 0 14px;
    width: 100%;
}

.hv-store-locator__select-wrap select:focus {
    border-color: var(--fs-color-secondary);
    box-shadow: none;
    outline: none;
}

.hv-store-locator__select-arrow {
    color: #9ca3af;
    height: 18px;
    pointer-events: none;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
}

.hv-store-locator__nearest {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--fs-color-secondary);
    cursor: pointer;
    display: inline-flex;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
    margin: 10px 0 0;
    padding: 0;
}

.hv-store-locator__nearest:hover {
    opacity: 0.9;
}

.hv-store-locator__nearest-icon {
    display: inline-flex;
    flex: 0 0 16px;
    height: 16px;
    width: 16px;
}

.hv-store-locator__count {
    color: #1f2937;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    margin: 0 0 10px;
}

.hv-store-locator__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 870px;
    overflow-y: auto;
    padding-right: 4px;
}

.hv-store-locator__card {
    background: #f3f6f9;
    border: 1px solid #d7e1ea;
    border-radius: 14px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.hv-store-locator__card:hover,
.hv-store-locator__card.is-active {
    border-color: var(--fs-color-secondary);
    box-shadow: 0 6px 16px rgba(255, 103, 34, 0.08);
}

.hv-store-locator__card:focus-visible {
    outline: 2px solid var(--fs-color-secondary);
    outline-offset: 2px;
}

.hv-store-locator__card-body {
    padding: 14px 16px;
}

.hv-store-locator__card-address {
    color: #374151;
    font-size: 15px;
    font-weight: 500;
    line-height: 23px;
    margin: 0;
}

.hv-store-locator__card-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
}

.hv-store-locator__card-link {
    align-items: center;
    color: var(--fs-color-secondary);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 6px;
    line-height: 18px;
    text-decoration: none;
}

.hv-store-locator__card-link:hover {
    color: var(--fs-color-secondary);
    opacity: 0.9;
}

.hv-store-locator__card-link-icon {
    align-items: center;
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 20px;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.hv-store-locator__card-link-icon svg {
    height: 10px;
    width: 10px;
}

.hv-store-locator__map-col {
    min-width: 0;
}

.hv-store-locator__map-frame {
    background: #f8fafc;
    border-radius: 18px;
    height: 100%;
    min-height: 870px;
    overflow: hidden;
}

.hv-store-locator__map-frame iframe {
    border: 0;
    display: block;
    height: 870px;
    width: 100%;
}

.hv-store-locator__map-empty {
    align-items: flex-start;
    background: #f8fafc;
    color: #334155;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    min-height: 870px;
    padding: 24px;
}

.hv-store-locator__map-empty strong {
    color: #111827;
    font-size: 18px;
    line-height: 26px;
}

.hv-store-locator__map-empty p {
    color: #64748b;
    font-size: 14px;
    line-height: 22px;
    margin: 0;
}

.hv-store-locator__empty {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    color: #64748b;
    font-size: 14px;
    line-height: 22px;
    padding: 18px;
    text-align: center;
}

.hv-store-locator [hidden] {
    display: none !important;
}

.hv-store-locator--no-map .hv-store-locator__layout {
    grid-template-columns: minmax(0, 1fr);
}

.hv-store-locator--list {
    background: #f3f6f9;
    border-radius: 20px;
    padding: 16px;
}

.hv-store-locator--list .hv-store-locator__intro {
    margin-bottom: 10px;
}

.hv-store-locator--list .hv-store-locator__toolbar {
    margin-bottom: 10px;
}

.hv-store-locator--list .hv-store-locator__filters {
    gap: 12px;
}

.hv-store-locator--list .hv-store-locator__select-wrap select:disabled {
    background: #f8fafc;
    border-color: #e3eaf3;
    color: #94a3b8;
    cursor: not-allowed;
}

.hv-store-locator--list .hv-store-locator__count {
    margin-bottom: 12px;
}

.hv-store-locator--list .hv-store-locator__list {
    gap: 10px;
    max-height: 620px;
    padding-right: 2px;
}

.hv-store-locator--list .hv-store-locator__card {
    background: #ffffff;
    border-color: #e3eaf3;
    border-radius: 16px;
    cursor: pointer;
}

.hv-store-locator--list .hv-store-locator__card:hover {
    border-color: #d8e1eb;
    box-shadow: none;
}

.hv-store-locator--list .hv-store-locator__card.is-active {
    border-color: var(--fs-color-secondary);
    box-shadow: 0 6px 16px rgba(255, 103, 34, 0.08);
}

.hv-store-locator--list .hv-store-locator__card:focus-visible {
    outline: 2px solid var(--fs-color-secondary);
    outline-offset: 2px;
}

.hv-store-locator--list .hv-store-locator__card-body {
    padding: 16px 18px;
}

.hv-store-locator--list .hv-store-locator__card-address {
    font-size: 15px;
    line-height: 24px;
}

.hv-store-locator--list .hv-store-locator__card-actions {
    gap: 0;
    margin-top: 10px;
}

.hv-store-locator--list .hv-store-locator__card-link {
    font-size: 13px;
    line-height: 18px;
}

.hv-store-locator--list .hv-store-locator__card-link-icon {
    flex: 0 0 18px;
    height: 18px;
    width: 18px;
}

.hv-store-locator--list .hv-store-locator__card-link-icon svg {
    height: 9px;
    width: 9px;
}

@media (max-width: 1199px) {
    .hv-store-locator__layout {
        grid-template-columns: 420px minmax(0, 1fr);
    }
}

@media (max-width: 849px) {
    .hv-store-locator {
        margin-bottom: 20px;
    }

    .hv-store-locator__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .hv-store-locator__map-col {
        display: none;
    }

    .hv-store-locator--list {
        border-radius: 18px;
        padding: 14px;
    }

    .hv-store-locator--list .hv-store-locator__list {
        max-height: none;
        padding-right: 0;
    }

    .hv-store-locator--list .hv-store-locator__card-body {
        padding: 14px 16px;
    }

    .hv-store-locator__title {
        font-size: 15px;
        line-height: 22px;
    }

    .hv-store-locator__subtitle,
    .hv-store-locator__count {
        font-size: 13px;
        line-height: 19px;
    }

    .hv-store-locator__search,
    .hv-store-locator__select-wrap select {
        min-height: 48px;
        height: 48px;
    }

    .hv-store-locator__search {
        gap: 8px;
        padding: 0 13px;
    }

    .hv-store-locator__search-icon {
        flex-basis: 18px;
        height: 18px;
        width: 18px;
    }

    .hv-store-locator__search input {
        font-size: 14px;
        height: 46px;
        line-height: 20px;
    }

    .hv-store-locator__filters {
        gap: 8px;
    }

    .hv-store-locator__select-wrap select {
        font-size: 13px;
        line-height: 18px;
        padding-left: 13px;
        padding-right: 38px;
    }

    .hv-store-locator__select-arrow {
        height: 16px;
        right: 13px;
        width: 16px;
    }

    .hv-store-locator__nearest {
        font-size: 12px;
        line-height: 18px;
        margin-top: 8px;
    }

    .hv-store-locator__nearest-icon {
        flex-basis: 14px;
        height: 14px;
        width: 14px;
    }

    .hv-store-locator__list {
        gap: 8px;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .hv-store-locator__card-body {
        padding: 12px 14px;
    }

    .hv-store-locator__card-address {
        font-size: 14px;
        line-height: 21px;
    }

    .hv-store-locator__card-actions {
        gap: 12px;
        margin-top: 8px;
    }

    .hv-store-locator__card-link {
        font-size: 12px;
        line-height: 17px;
    }

    .hv-store-locator__card-link-icon {
        flex-basis: 18px;
        height: 18px;
        width: 18px;
    }

    .hv-store-locator__card-link-icon svg {
        height: 9px;
        width: 9px;
    }
}

@media (max-width: 549px) {
    .hv-store-locator__filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .hv-store-locator__card-address {
        font-size: 13px;
        line-height: 20px;
    }

    .hv-store-locator__card-actions {
        gap: 10px;
    }

    .hv-store-locator__card-link {
        font-size: 12px;
        line-height: 17px;
    }
}

/* Mobile mega menu built from Flatsome mobile menu */
@media (max-width: 849px) {
    body .off-canvas-left .mfp-content {
        --drawer-width: 100vw;
        max-width: none;
        width: 100vw;
    }

    #main-menu.hv-mobile-mega-ready {
        background: #fff;
        max-width: none;
        width: 100vw;
    }

    #main-menu.hv-mobile-mega-ready .sidebar-menu {
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
        padding: 12px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__source {
        display: none !important;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search {
        flex: 0 0 auto;
        margin-bottom: 10px;
        width: 100%;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search:empty {
        display: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search .header-search-form-wrapper,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search .searchform-wrapper,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search form {
        width: 100%;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search .searchform .flex-row {
        border: 1px solid #e6e6e6;
        border-radius: 9px;
        height: 40px;
        overflow: hidden;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search input.search-field {
        font-size: 13px;
        height: 38px;
        line-height: 38px;
        padding: 0 10px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__search .ux-search-submit {
        background: var(--fs-color-secondary) !important;
        border-radius: 0 8px 8px 0;
        color: #fff !important;
        flex-basis: 40px;
        height: 40px;
        line-height: 40px;
        min-height: 40px;
        padding: 0;
        width: 40px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu {
        display: grid;
        flex: 1 1 auto;
        gap: 10px;
        grid-template-columns: clamp(112px, 28vw, 220px) minmax(0, 1fr);
        min-height: 0;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tabs,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__panels {
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tabs::-webkit-scrollbar,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__panels::-webkit-scrollbar {
        display: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tabs {
        background: #f5f6f7;
        border: 1px solid #eeeeee;
        border-radius: 12px;
        padding: 6px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab {
        align-items: center;
        appearance: none;
        background: transparent;
        border: 0;
        border-radius: 9px;
        color: #444;
        cursor: pointer;
        display: flex;
        font-family: inherit;
        font-size: 12px;
        font-weight: 600;
        gap: 6px;
        line-height: 16px;
        margin: 0;
        min-height: 46px;
        padding: 7px 6px;
        position: relative;
        text-align: left;
        width: 100%;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab + .hv-mobile-mega-menu__tab {
        margin-top: 4px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab img,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab svg,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab i {
        color: currentColor;
        flex: 0 0 20px;
        font-size: 18px;
        height: 20px;
        object-fit: contain;
        width: 20px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab span {
        display: block;
        min-width: 0;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab.is-active {
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        color: var(--fs-color-secondary);
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab.is-active::before {
        background: var(--fs-color-secondary);
        border-radius: 3px;
        bottom: 8px;
        content: '';
        left: 0;
        position: absolute;
        top: 8px;
        width: 3px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__panels {
        padding: 1px 1px 6px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__panel {
        display: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__panel.is-active {
        display: block;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__panel[hidden] {
        display: none !important;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__heading {
        margin-bottom: 8px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__heading-link {
        align-items: center;
        background: color-mix(in srgb, var(--fs-color-secondary) 10%, white);
        border: 1px solid color-mix(in srgb, var(--fs-color-secondary) 22%, white);
        border-radius: 10px;
        color: var(--fs-color-secondary);
        display: flex;
        font-size: 14px;
        font-weight: 700;
        gap: 7px;
        line-height: 18px;
        min-height: 38px;
        padding: 8px 10px;
        text-decoration: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__heading-link img,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__heading-link svg,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__heading-link i,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__section-title img,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__section-title svg,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__section-title i,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chip img,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chip svg,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chip i,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tile img,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tile svg,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tile i {
        color: currentColor;
        display: block;
        flex: 0 0 20px;
        font-size: 18px;
        height: 20px;
        max-height: 20px;
        max-width: 20px;
        object-fit: contain;
        width: 20px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__section {
        background: #fff;
        border: 1px solid #eeeeee;
        border-radius: 10px;
        margin-bottom: 8px;
        padding: 8px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__section-title {
        align-items: center;
        color: #333;
        display: flex;
        font-size: 13px;
        font-weight: 700;
        gap: 6px;
        line-height: 18px;
        margin-bottom: 7px;
        text-decoration: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chips {
        display: grid;
        gap: 6px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chip,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tile {
        align-items: center;
        background: #f6f7f8;
        border: 1px solid transparent;
        border-radius: 8px;
        color: #3d3d3d;
        display: flex;
        font-size: 12px;
        font-weight: 500;
        gap: 6px;
        line-height: 16px;
        min-height: 34px;
        padding: 7px 8px;
        text-decoration: none;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tile {
        background: #fff;
        border-color: #eeeeee;
        font-size: 13px;
        margin-bottom: 7px;
        min-height: 38px;
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chip:hover,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tile:hover,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__section-title:hover,
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__heading-link:hover {
        border-color: var(--fs-color-secondary);
        color: var(--fs-color-secondary);
    }
}

@media (max-width: 374px) {
    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu {
        gap: 8px;
        grid-template-columns: 104px minmax(0, 1fr);
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__chips {
        grid-template-columns: minmax(0, 1fr);
    }

    #main-menu.hv-mobile-mega-ready .hv-mobile-mega-menu__tab {
        font-size: 11px;
        line-height: 15px;
    }
}

/* Mobile fixed footer nav */
.hv-mobile-footer-nav {
    display: none;
}

@media (max-width: 849px) {
    body {
        padding-bottom: 82px;
    }

    .header-wrapper .mobile-nav .nav-icon > a[data-open="#main-menu"],
    .header-wrapper .mobile-nav .nav-icon > a[data-open="#main-menu"] i,
    .header-wrapper .mobile-nav .nav-icon > a[data-open="#main-menu"] i::before {
        color: #fff !important;
    }

    body.mfp-ready .hv-mobile-footer-nav {
        display: none;
    }

    .hv-mobile-footer-nav {
        background: #fff;
        border-top: 1px solid #edf0f2;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
        display: grid;
        gap: 6px;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        left: 0;
        padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 9998;
    }

    .hv-mobile-footer-nav__item {
        align-items: center;
        background: #f1f3f5;
        border: 1px solid transparent;
        border-radius: 10px;
        color: #555;
        display: flex;
        flex-direction: column;
        font-family: inherit;
        font-size: 12px;
        font-weight: 500;
        gap: 3px;
        justify-content: center;
        line-height: 16px;
        min-height: 58px;
        padding: 6px 3px;
        text-align: center;
        text-decoration: none;
    }

    .hv-mobile-footer-nav__item:hover,
    .hv-mobile-footer-nav__item:focus,
    .hv-mobile-footer-nav__item.is-active {
        background: color-mix(in srgb, var(--fs-color-secondary) 12%, white);
        border-color: color-mix(in srgb, var(--fs-color-secondary) 18%, white);
        color: var(--fs-color-secondary);
    }

    .hv-mobile-footer-nav__icon {
        align-items: center;
        display: inline-flex;
        height: 26px;
        justify-content: center;
        width: 26px;
    }

    .hv-mobile-footer-nav__icon svg {
        display: block;
        height: 26px;
        width: 26px;
    }

    .hv-mobile-footer-nav__text {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }
}

@media (max-width: 374px) {
    .hv-mobile-footer-nav {
        gap: 4px;
        padding-left: 6px;
        padding-right: 6px;
    }

    .hv-mobile-footer-nav__item {
        font-size: 11px;
        min-height: 54px;
        padding-left: 2px;
        padding-right: 2px;
    }

    .hv-mobile-footer-nav__icon,
    .hv-mobile-footer-nav__icon svg {
        height: 24px;
        width: 24px;
    }
}

/* UX footer mobile accordion */
.hv-footer-mobile-accordion__toggle {
    display: none;
}

#footer .hv-footer-mobile-accordion ul {
    list-style: none;
    padding-left: 0;
}

#footer .hv-footer-mobile-accordion li {
    list-style: none;
    padding-left: 0;
}

#footer .hv-footer-mobile-accordion li::marker {
    content: '';
}

@media (max-width: 849px) {
    #footer .hv-footer-mobile-accordion {
        margin-bottom: 10px;
    }

    #footer .hv-footer-mobile-accordion__toggle {
        align-items: center;
        appearance: none;
        background: #f1f3f5;
        border: 1px solid #e3e7eb;
        border-radius: 10px;
        color: #3f3f3f;
        cursor: pointer;
        display: flex;
        font-family: inherit;
        font-size: 14px;
        font-weight: 700;
        justify-content: space-between;
        line-height: 20px;
        min-height: 46px;
        padding: 0 14px;
        text-align: left;
        width: 100%;
    }

    #footer .hv-footer-mobile-accordion__toggle:hover,
    #footer .hv-footer-mobile-accordion.is-open .hv-footer-mobile-accordion__toggle {
        border-color: color-mix(in srgb, var(--fs-color-secondary) 28%, #e3e7eb);
        color: var(--fs-color-secondary);
    }

    #footer .hv-footer-mobile-accordion__icon {
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        display: block;
        flex: 0 0 10px;
        height: 10px;
        margin-left: 10px;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
        width: 10px;
    }

    #footer .hv-footer-mobile-accordion.is-open .hv-footer-mobile-accordion__icon {
        transform: translateY(3px) rotate(-135deg);
    }

    #footer .hv-footer-mobile-accordion > .tieudefull,
    #footer .hv-footer-mobile-accordion > h4 {
        display: none !important;
    }

    #footer .hv-footer-mobile-accordion:not(.is-open) > *:not(.hv-footer-mobile-accordion__toggle):not(.tieudefull):not(h4) {
        display: none !important;
    }

    #footer .hv-footer-mobile-accordion.is-open > *:not(.hv-footer-mobile-accordion__toggle):not(.tieudefull):not(h4) {
        display: block;
    }

    #footer .hv-footer-mobile-accordion ul {
        margin: 10px 0 0;
    }

    #footer .hv-footer-mobile-accordion li {
        font-size: 14px;
        line-height: 21px;
        margin-bottom: 7px;
    }
}

/* Fastcare-style blog archive */
.hv-blog-archive {
    background: #fff;
    padding: 14px 0 34px;
}

.hv-blog-archive__container {
    margin: 0 auto;
    max-width: 1350px;
    padding: 0 15px;
}

.hv-blog-archive__breadcrumb {
    align-items: center;
    color: #7a7a7a;
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    gap: 8px;
    line-height: 20px;
    margin-bottom: 12px;
}

.hv-blog-archive__breadcrumb a {
    color: #6d6d6d;
    text-decoration: none;
}

.hv-blog-archive__breadcrumb a:hover {
    color: var(--fs-color-secondary);
}

.hv-blog-archive__banner {
    margin-bottom: 14px;
}

.hv-blog-archive__banner img {
    border-radius: 8px;
}

.hv-blog-archive__banner .row,
.hv-blog-archive__banner .col {
    margin-bottom: 0;
    padding-bottom: 0;
}

.hv-blog-archive__tabs {
    align-items: center;
    border-bottom: 1px solid #e7e7e7;
    display: flex;
    gap: 0;
    margin-bottom: 18px;
    overflow-x: auto;
    padding-bottom: 10px;
    scrollbar-width: none;
    white-space: nowrap;
}

.hv-blog-archive__tabs::-webkit-scrollbar {
    display: none;
}

.hv-blog-archive__tab {
    color: #3d3d3d;
    display: inline-flex;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    padding: 0 14px;
    position: relative;
    text-decoration: none;
}

.hv-blog-archive__tab:first-child {
    padding-left: 0;
}

.hv-blog-archive__tab + .hv-blog-archive__tab::before {
    background: #dadada;
    content: '';
    height: 18px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
}

.hv-blog-archive__tab--title {
    font-size: 18px;
    font-weight: 700;
}

.hv-blog-archive__tab:hover,
.hv-blog-archive__tab.is-active {
    color: var(--fs-color-secondary);
}

.hv-blog-archive__tab.is-active::after {
    background: var(--fs-color-secondary);
    border-radius: 999px;
    bottom: -11px;
    content: '';
    height: 2px;
    left: 14px;
    position: absolute;
    right: 14px;
}

.hv-blog-archive__tab:first-child.is-active::after {
    left: 0;
}

.hv-blog-archive__heading {
    color: #333;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    margin: 0 0 18px;
}

.hv-blog-archive__layout {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) 340px;
}

.hv-blog-archive__main {
    min-width: 0;
}

.hv-blog-archive__featured {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    margin-bottom: 14px;
}

.hv-blog-archive__featured-image,
.hv-blog-archive__compact-image,
.hv-blog-archive__list-image,
.hv-blog-archive__recent-image {
    background: #f2f4f6;
    border-radius: 8px;
    display: block;
    overflow: hidden;
    position: relative;
}

.hv-blog-archive__featured-image {
    aspect-ratio: 1.34 / 1;
    min-height: 0;
}

.hv-blog-archive__featured-image img,
.hv-blog-archive__compact-image img,
.hv-blog-archive__list-image img,
.hv-blog-archive__recent-image img,
.hv-blog-archive__image-placeholder {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.hv-blog-archive__featured-body {
    align-self: center;
}

.hv-blog-archive__meta {
    color: var(--fs-color-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 17px;
    margin-bottom: 9px;
    text-transform: uppercase;
}

.hv-blog-archive__featured-title {
    color: #333;
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
    margin: 0 0 12px;
}

.hv-blog-archive__featured-title a,
.hv-blog-archive__list-title a,
.hv-blog-archive__compact-title,
.hv-blog-archive__recent-title {
    color: inherit;
    text-decoration: none;
}

.hv-blog-archive__featured-title a:hover,
.hv-blog-archive__list-title a:hover,
.hv-blog-archive__compact-title:hover,
.hv-blog-archive__recent-title:hover {
    color: var(--fs-color-secondary);
}

.hv-blog-archive__excerpt {
    color: #666;
    font-size: 14px;
    line-height: 22px;
    margin: 0;
}

.hv-blog-archive__compact-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 22px;
}

.hv-blog-archive__compact-image {
    aspect-ratio: 1.42 / 1;
    margin-bottom: 8px;
}

.hv-blog-archive__compact-title {
    color: #333;
    display: -webkit-box;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.hv-blog-archive__list {
    border-top: 1px solid #ececec;
}

.hv-blog-archive__list-post {
    border-bottom: 1px solid #ececec;
    display: grid;
    gap: 14px;
    grid-template-columns: 165px minmax(0, 1fr);
    padding: 16px 0;
}

.hv-blog-archive__list-image {
    aspect-ratio: 1.55 / 1;
}

.hv-blog-archive__list-title {
    color: #333;
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
    margin: 0 0 7px;
}

.hv-blog-archive__sidebar {
    border-left: 1px solid #e8e8e8;
    padding-left: 26px;
}

.hv-blog-archive__sidebar-title {
    display: none;
}

.hv-blog-archive__sidebar-title::after {
    display: none;
}

.hv-blog-archive__recent-post {
    border-bottom: 1px solid #ececec;
    display: grid;
    gap: 12px;
    grid-template-columns: 96px minmax(0, 1fr);
    padding: 12px 0;
}

.hv-blog-archive__recent-image {
    aspect-ratio: 1.35 / 1;
}

.hv-blog-archive__recent-title {
    color: #333;
    display: -webkit-box;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.hv-blog-archive__pagination {
    margin-top: 22px;
}

.hv-blog-archive__pagination .nav-links {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: center;
}

.hv-blog-archive__pagination .page-numbers {
    align-items: center;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    color: #444;
    display: inline-flex;
    font-size: 13px;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 10px;
}

.hv-blog-archive__pagination .page-numbers.current,
.hv-blog-archive__pagination .page-numbers:hover {
    border-color: var(--fs-color-secondary);
    color: var(--fs-color-secondary);
}

@media (max-width: 849px) {
    .hv-blog-archive {
        padding: 10px 0 24px;
    }

    .hv-blog-archive__container {
        padding: 0 12px;
    }

    .hv-blog-archive__breadcrumb {
        font-size: 13px;
        gap: 6px;
        margin-bottom: 10px;
    }

    .hv-blog-archive__banner {
        margin-bottom: 12px;
    }

    .hv-blog-archive__tabs {
        margin-left: -12px;
        margin-right: -12px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .hv-blog-archive__tab {
        font-size: 13px;
        padding: 0 11px;
    }

    .hv-blog-archive__tab--title {
        font-size: 16px;
    }

    .hv-blog-archive__heading {
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 14px;
    }

    .hv-blog-archive__layout {
        display: block;
    }

    .hv-blog-archive__featured {
        display: block;
        margin-bottom: 12px;
    }

    .hv-blog-archive__featured-image {
        aspect-ratio: 1.48 / 1;
        margin-bottom: 12px;
        min-height: 0;
    }

    .hv-blog-archive__featured-title {
        font-size: 20px;
        line-height: 27px;
    }

    .hv-blog-archive__compact-grid {
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-bottom: 18px;
    }

    .hv-blog-archive__list-post {
        gap: 10px;
        grid-template-columns: 108px minmax(0, 1fr);
        padding: 13px 0;
    }

    .hv-blog-archive__list-title {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 5px;
    }

    .hv-blog-archive__excerpt {
        font-size: 13px;
        line-height: 20px;
    }

    .hv-blog-archive__list-post .hv-blog-archive__excerpt {
        display: none;
    }

    .hv-blog-archive__sidebar {
        border-left: 0;
        border-top: 1px solid #ececec;
        margin-top: 22px;
        padding-left: 0;
        padding-top: 18px;
    }

    .hv-blog-archive__recent-post {
        grid-template-columns: 82px minmax(0, 1fr);
    }
}

/* Fastcare-style single post */
.hv-single-post {
    padding: 12px 0 32px;
}

.hv-single-post__banner {
    margin-bottom: 16px;
}

.hv-single-post__layout {
    align-items: start;
    gap: 26px;
}

.hv-single-post__article {
    margin: 0;
}

.hv-single-post__header {
    margin-bottom: 14px;
}

.hv-single-post__category {
    color: var(--fs-color-secondary);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
    margin-bottom: 8px;
    text-decoration: none;
    text-transform: uppercase;
}

.hv-single-post__category:hover {
    color: var(--fs-color-primary);
}

.hv-single-post__title {
    color: #333 !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 10px;
}

.hv-single-post__meta {
    align-items: center;
    color: #777;
    display: flex;
    font-size: 13px;
    gap: 8px;
    line-height: 18px;
}

.hv-single-post__avatar {
    border-radius: 50%;
    display: block;
    flex: 0 0 34px;
    height: 34px;
    overflow: hidden;
    width: 34px;
}

.hv-single-post__avatar img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.hv-single-post__meta-text {
    display: flex;
    flex-direction: column;
}

.hv-single-post__author {
    color: #333;
    font-weight: 600;
    text-decoration: none;
}

.hv-single-post__author:hover {
    color: var(--fs-color-secondary);
}

.hv-single-post .entry-content.single-page {
    color: #3d3d3d;
    font-size: 14px;
    line-height: 1.75;
    padding-top: 0;
}

.hv-single-post .entry-content.single-page > *:first-child {
    margin-top: 0;
}

.hv-single-post .entry-content p {
    margin-bottom: 14px;
}

.hv-single-post .entry-content h2 {
    font-size: 20px;
    line-height: 1.35;
    margin: 20px 0 10px;
}

.hv-single-post .entry-content h3 {
    font-size: 17px;
    line-height: 1.4;
    margin: 18px 0 9px;
}

.hv-single-post .entry-content img {
    border-radius: 6px;
    height: auto;
    max-width: 100%;
}

.hv-single-post .entry-content table {
    font-size: 13px;
    margin: 12px 0;
}

.hv-single-post .blog-share {
    margin-top: 20px;
}

.hv-single-post .entry-author.author-box {
    border-top: 1px solid #ececec;
    margin-top: 20px;
    padding-top: 16px;
}

.hv-single-post #comments {
    margin-top: 16px;
}

.hv-single-post .hv-post-qa-block {
    margin-top: 16px;
}

.hv-single-post__sidebar {
    padding-left: 24px;
    position: sticky;
    top: 90px;
}

.admin-bar .hv-single-post__sidebar {
    top: 122px;
}

.hv-single-post__sidebar .hv-blog-archive__recent-post:first-child {
    padding-top: 0;
}

.hv-single-post__sidebar .hv-blog-archive__recent-post {
    gap: 10px;
    grid-template-columns: 92px minmax(0, 1fr);
    padding: 10px 0;
}

.hv-single-post__sidebar .hv-blog-archive__meta {
    font-size: 11px;
    line-height: 15px;
    margin-bottom: 4px;
}

.hv-single-post__sidebar .hv-blog-archive__recent-title {
    font-size: 13px;
    line-height: 18px;
}

@media (max-width: 849px) {
    .hv-single-post {
        padding: 10px 0 24px;
    }

    .hv-single-post__container {
        padding: 0 12px;
    }

    .hv-single-post__banner {
        margin-bottom: 12px;
    }

    .hv-single-post__title {
        font-size: 20px;
        line-height: 1.35;
    }

    .hv-single-post__meta {
        font-size: 12px;
    }

    .hv-single-post .entry-content.single-page {
        font-size: 14px;
        line-height: 1.7;
    }

    .hv-single-post .entry-content h2 {
        font-size: 18px;
    }

    .hv-single-post .entry-content h3 {
        font-size: 16px;
    }

    .hv-single-post__sidebar {
        padding-left: 0;
        position: static;
        top: auto;
    }
}

/* Luxury desktop product CTA */
@media (min-width: 850px) {
    .single-product .custom-product-page .add-to-cart-container {
        margin-top: 4px;
    }

    .single-product .custom-product-page .add-to-cart-container form.cart {
        align-items: center;
        display: grid;
        gap: 10px;
        grid-template-columns: 112px minmax(0, 1fr) minmax(0, 1fr);
        margin-bottom: 12px;
        max-width: 560px;
    }

    .single-product .custom-product-page .ux-quantity.quantity {
        align-items: center;
        background: #fff;
        border: 1px solid rgba(2, 161, 216, 0.16);
        border-radius: 12px;
        box-shadow: 0 8px 18px rgba(20, 35, 28, 0.05);
        display: grid;
        grid-template-columns: 34px 1fr 34px;
        height: 42px;
        margin: 0;
        overflow: hidden;
        width: 112px;
    }

    .single-product .custom-product-page .ux-quantity .ux-quantity__button,
    .single-product .custom-product-page .ux-quantity .qty {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #282828;
        font-size: 14px;
        font-weight: 600;
        height: 42px;
        line-height: 42px;
        margin: 0;
        min-height: 42px;
        padding: 0;
        text-align: center;
    }

    .single-product .custom-product-page .ux-quantity .ux-quantity__button {
        color: #666;
        font-size: 17px;
        min-width: 34px;
    }

    .single-product .custom-product-page .single_add_to_cart_button,
    .single-product .custom-product-page .ux-buy-now-button {
        align-items: center;
        border: 0 !important;
        border-radius: 12px !important;
        box-sizing: border-box;
        display: inline-flex;
        font-size: 14px;
        font-weight: 700;
        justify-content: center;
        letter-spacing: 0;
        line-height: 1.2;
        margin: 0 !important;
        min-height: 42px;
        min-width: 0;
        padding: 0 14px !important;
        text-shadow: none;
        width: 100% !important;
    }

    .single-product .custom-product-page .single_add_to_cart_button {
        background: #fc7600!important;
        box-shadow: 0 9px 20px rgba(243, 146, 31, 0.22);
        color: #fff !important;
    }

    .single-product .custom-product-page .ux-buy-now-button {
        background: #2f80ed !important;
        box-shadow: 0 9px 20px rgba(2, 161, 216, 0.2);
        color: #fff !important;
    }

    .single-product .custom-product-page .single_add_to_cart_button:hover,
    .single-product .custom-product-page .ux-buy-now-button:hover {
        filter: brightness(1.03);
        transform: translateY(-1px);
    }
}

/* Luxury mobile product CTA */
@media (max-width: 849px) {
    .single-product .custom-product-page .add-to-cart-container {
        margin-top: 0;
    }

    .single-product .custom-product-page .add-to-cart-container form.cart {
        align-items: center;
        box-sizing: border-box;
        display: grid;
        gap: 10px;
        grid-template-columns: 112px minmax(0, 1fr);
        margin-bottom: 10px;
    }

    .single-product .custom-product-page .ux-quantity.quantity {
        align-items: center;
        background: #fff;
        box-sizing: border-box;
        border: 1px solid rgba(2, 161, 216, 0.18);
        border-radius: 12px;
        box-shadow: 0 8px 20px rgba(20, 35, 28, 0.06);
        display: grid;
        grid-template-columns: 34px 1fr 34px;
        height: 44px;
        margin: 0;
        overflow: hidden;
        width: 112px;
    }

    .single-product .custom-product-page .ux-quantity .ux-quantity__button,
    .single-product .custom-product-page .ux-quantity .qty {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #282828;
        font-size: 15px;
        font-weight: 600;
        height: 44px;
        line-height: 44px;
        margin: 0;
        min-height: 44px;
        padding: 0;
        text-align: center;
    }

    .single-product .custom-product-page .ux-quantity .ux-quantity__button {
        color: #6c6c6c;
        font-size: 18px;
        min-width: 34px;
    }

    .single-product .custom-product-page .single_add_to_cart_button,
    .single-product .custom-product-page .ux-buy-now-button,
    .single-product .custom-product-page .nut1.button {
        align-items: center;
        border: 0 !important;
        border-radius: 12px !important;
        box-sizing: border-box;
        display: inline-flex;
        font-size: 15px;
        font-weight: 700;
        justify-content: center;
        letter-spacing: 0;
        line-height: 1.2;
        min-height: 44px;
        min-width: 0;
        padding: 0 14px !important;
        text-shadow: none;
        width: 100% !important;
    }

    .single-product .custom-product-page .single_add_to_cart_button {
        background: #fc7600 !important;
        box-shadow: 0 10px 22px rgba(243, 146, 31, 0.26);
        color: #fff !important;
        margin: 0 !important;
    }

    .single-product .custom-product-page .ux-buy-now-button {
        background: #2f80ed !important;
        box-shadow: 0 10px 22px rgba(2, 161, 216, 0.24);
        color: #fff !important;
        grid-column: 1 / -1;
        margin: 0 !important;
    }

    .single-product .custom-product-page .single_add_to_cart_button:hover,
    .single-product .custom-product-page .ux-buy-now-button:hover,
    .single-product .custom-product-page .nut1.button:hover {
        filter: brightness(1.03);
        transform: translateY(-1px);
    }

    .single-product .custom-product-page .textaa {
        background: linear-gradient(180deg, #fffdf8 0%, #fff7eb 100%);
        border: 1px solid rgba(243, 146, 31, 0.24);
        border-radius: 12px;
        box-shadow: 0 8px 20px rgba(60, 42, 20, 0.06);
        color: var(--fs-color-secondary);
        font-size: 13px;
        line-height: 20px;
        margin: 8px 0 0 !important;
        max-width: 100%;
        padding: 7px 12px;
        text-align: center;
        width: 100%;
    }

    .single-product .custom-product-page .textaa p {
        margin: 0;
    }

    .single-product .custom-product-page .nut1.button {
        background: #02a1d8 !important;
        box-shadow: 0 12px 24px rgba(178, 0, 0, 0.22);
        color: #fff !important;
        gap: 8px;
        margin: 8px 0 0 !important;
        min-height: 48px;
    }

    .single-product .custom-product-page .nut1.button span {
        white-space: nowrap;
    }

    .single-product .custom-product-page .textab p {
        background: #fff;
        border: 1px solid #02a1d8;
        border-radius: 999px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 8px 18px rgba(0, 0, 0, 0.12);
        color: #02a1d8;
        display: inline-flex;
        font-size: 12px;
        justify-content: center;
        line-height: 18px;
        margin: 8px 0 0;
        max-width: 100%;
        min-height: 32px;
        padding: 6px 12px;
        width: 100%;
    }
}

@media (max-width: 380px) {
    .single-product .custom-product-page .add-to-cart-container form.cart {
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .single-product .custom-product-page .ux-quantity.quantity {
        grid-template-columns: 32px 1fr 32px;
        width: 104px;
    }

    .single-product .custom-product-page .single_add_to_cart_button,
    .single-product .custom-product-page .ux-buy-now-button,
    .single-product .custom-product-page .nut1.button {
        font-size: 14px;
    }
}

