/******* Start Common.css *******/
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2') format('woff2');
}

@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/roboto-condensed/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meGCQYbw.woff2') format('woff2');
}

/***** start header *****/
#header {
    background: #ffffff;
    color: #7a7a7a;
    width: 100%;
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    margin-bottom: 0;
}
#header a:hover {
    text-decoration: none;
}
#index #header {
    border: none;
    margin-bottom: 0;
}
.card {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
}
#module-tvcmsblog-archive #content {
    border: none;
}
.tvcmsheader-sticky.sticky {
    top: 0;
    position: fixed;
    z-index: 100;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .12);
    background-color: #ffd741;
    width: 100%;
    left: 0;
    -webkit-animation: mySticky 1s;
    -moz-animation: mySticky 1s;
    animation: mySticky 1s;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    transition: transform 0.1s ease-in-out;
    -webkit-transition: -webkit-transform 0.1s ease-in-out;
    -moz-transition: transform 0.1s ease-in-out;
    -webkit-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    -moz-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    -ms-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    -o-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    list-style: none;
}
.tvcmsheader-sticky.sticky .menu-subtitle {
    top: 0;
}
/*Chrome, Safari, Opera */
@-webkit-keyframes mySticky {
    from {
        margin-top: -200px;
    }
    to {
        margin-top: 0;
    }
}
/*Standard syntax */
@-moz-keyframes mySticky {
    from {
        margin-top: -200px;
    }
    to {
        margin-top: 0;
    }
}
/*Standard syntax*/
@keyframes mySticky {
    from {
        margin-top: -200px;
    }
    to {
        margin-top: 0;
    }
}
/***** start mobile header *****/
/***** start logo *****/
.tv-header-logo {
    padding: 15px 0;
}
.tv-header-logo {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
}

.tv-header-logo img {
    max-width: 100%;
}
.tvcms-loading-inner img.logo {
    padding: 0;
    margin-bottom: 10px;
    border-radius: 0;
}
/***** end logo *****/
/***** start horizontal menu *****/
.tvcmsdesktop-top-header-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.tvmain-menu-sub-menu .top-menu.tv-header-menu {
    overflow: hidden;
    margin: 0;
}
.tvcmsdesktop-top-header-wrapper .tvcmsmain-menu-wrapper {
    position: relative;
    z-index: 70;
	right: 10px; 
}
.tvcmsvertical-menu .menu-dropdown {
    border-radius: 3px;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper>.tv-header-menu>li {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}
.tvmain-menu-sub-menu .tv-header-menu li {
    overflow: hidden;
    width: 185px;
    margin: 0;
    float: left;
    padding-right: 10px;
    position: relative;
}
.tvmain-menu-sub-menu .tv-header-menu li #header .header-top .position-static {
    margin-bottom: 0;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper .tv-header-menu[data-depth="0"]>li>.tvmenu-link-wrapper a span {
    color: #ffffff;
    font-weight: 500;
    text-transform: capitalize;
    font-size: 13px;
    position: relative;
    line-height: 39px;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper .tv-header-menu[data-depth="0"]>li>.tvmenu-link-wrapper a span:after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    background-color: #d90244;
    bottom: 0;
    left: 0;
    transition: all 400ms ease;
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper .tv-header-menu[data-depth="0"]>li:hover>.tvmenu-link-wrapper a span:after {
    width: 100%;
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper .tv-header-menu[data-depth="1"]>li>.tvmenu-link-wrapper a span {
    color: #222222;
    font-weight: bold;
    text-transform: capitalize;
    font-size: 12px;
}
.tvmenu-link-wrapper {
    position: relative;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper .tv-header-menu[data-depth="1"]>li>.tvmenu-link-wrapper a span:hover {
    color: #d90244;
}
.tvcms-header-menu .tv-header-menu>li>.tvmenu-link-wrapper i {
    color: #ffffff;
    line-height: 20px;
    font-size: 17px;
}
.tvmain-menu-sub-menu .tvmenu-toggle-icon {
    display: none;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper>.tv-header-menu>li {
    padding: 0 20px;
}
#tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper>.tv-header-menu>li:first-child {
    padding-left: 0;
}
.tvcmsdesktop-top-header-wrapper .tvmain-menu-dropdown.tv-auto-scroll {
    max-height: 400px;
    overflow-y: scroll;
}
.tvmain-menu-wrapper a[data-depth="2"] .tvmain-menu-text-box {
    font-size: 12px;
    line-height: 30px;
    font-weight: 300;
}
.tvcms-header-menu .tv-header-menu>li>.tvmenu-link-wrapper a[data-depth="1"] {
    font-size: 14px;
    font-weight: 600;
    display: block;
    line-height: 30px;
    text-align: left;
}
.tvmain-menu-mobile-dropdown {
    text-align: left;
}
.tvmenu-button-wrapper {
    display: none;
}
.tvheader-top-menu-img {
    padding-top: 20px;
}
.tv-desk-open {
    opacity: 1;
    visibility: visible;
    -webkit-transform: perspective(600px) rotateX(0deg);
    -moz-transform: perspective(600px) rotateX(0deg);
    -ms-transform: perspective(600px) rotateX(0deg);
    -o-transform: perspective(600px) rotateX(0deg);
    transform: perspective(600px) rotateX(0deg);
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

/***** mobile horizontal menu *****/
.tvmobileheader-offer-wrapper {
    text-align: center;
}
.tvmobileheader-offer-wrapper .tvheader-nav-offer-text {
    display: -webkit-inline-box;
}
/***** start header right *****/
/***** offer text *****/
.tvcmsmobile-header-right {
    position: relative;
    z-index: 1;
}
.tv-contact-account-cart-wrapper {
    text-align: right;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.tv-myaccount-btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer;
}
.tvcms-header-cart {
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    position: relative;
}
.tvheader-cart-wrapper {
    padding: 29px 0 29px 24px;
}
.tv-account-wrapper {
    padding: 32px 0 32px 0;
}
#tvcmsdesktop-account-button {
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
}
.tvcart-icon-text-wrapper .tvcart-lable,
.tv-account-wrapper .tv-myaccount-btn span {
    font-size: 16px;
    font-weight: 500;
    color: #000000;
    display: inline-block;
    vertical-align: middle;
    max-width: 75px;
    text-align: left;
}

/***** start serach right *****/
#header .tvsearch-top-wrapper {
    position: relative;
}
#header .tvmobile-search-icon .tvsearch-close {
    display: none;
}

.tvheader-sarch-display:hover .tvheader-search-display-icon .tvsearch-open {
    background-position: -56px -543px;
    -webkit-transition: all 0.5s ease 0.1s;
    -o-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
}
#header #_desktop_search .tvsearch-top-wrapper .tvsearch-open {
    display: flex;
}

#header #_desktop_search .tvsearch-top-wrapper .tvsearch-open,
#header #_desktop_search .tvsearch-top-wrapper .tvsearch-open:hover {
    -webkit-transition: all 0.5s ease 0.1s;
    -o-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
}
.tvcmssearch-wrapper {
    float: none;
    padding: 10px 0;
}
.tvsearch-header-display-wrappper form {
    border-radius: 33px;
    border: 3px solid rgba(0, 0, 0, 0.07);
    overflow: hidden;
	background: #edbe00; 
}

.tvcmssearch-dropdown {
    z-index: 90;
    border-radius: 3px;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    -moz-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    -ms-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    -o-box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
    box-shadow: 0px 1px 3px 1px rgba(128, 128, 128, 0.27);
}
.tvcmsheader-search.search-widget form button[type=submit] .tvserach-name,
#_desktop_search .tvcmsheader-search .tvserach-name {
    display: none;
    color: #ffffff;
    font-size: 15px;
    font-weight: 400;
}
.tvcmsheader-search.search-widget form button[type=submit] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.tvcmsheader-search.search-widget form button[type=submit] i {
    font-size: 0;
    background-image: url(../img/themevolty/sprite.png);
    background-position: 0px -706px;
    width: 50px;
}
.tvcmsheader-search .tvcms-select-category {
    display: block;
    border: none;
    min-width: 90px;
    font-size: 12px;
    color: #222222;
    margin: 0 20px 0 10px;
    padding-left: 10px;
    background-color: transparent;
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    background-image: url(../img/themevolty/arrow-down1.png);
    background-repeat: no-repeat;
    background-position: 100%;
}
.tvheader-sarch-display {
    display: none;
}

#header .tvsearch-header-display-wrappper {
    position: relative;
    opacity: 1;
    right: 0;
    left: 0;
    visibility: visible;
    -webkit-transform: none;
    -o-transform: none;
    -ms-transform: none;
    -moz-transform: none;
    transform: none;
    width: 100%;
    z-index: 90
}
#header .tvsearch-result {
    margin: 0;
}
.tvsearch-more-search-wrapper {
    text-align: center;
    margin: 10px 0;
}
.tvcmsheader-search.search-widget form input[type=text] {
    height: 52px;
    color: #222222;
    padding: 0 0 0 16px;
}
.tvcmsheader-search.search-widget form input[type=text]::placeholder {
    color: #aaaaaa;
    opacity: 1;
}
.tvsearch-dropdown-close {
    border: none;
    height: 40px;
    display: inline-block;
    text-align: center;
    width: 40px;
    line-height: 42px;
    padding: 0;
    margin: 0;
}
.tvsearch-dropdown-wrapper:hover .tvsearch-dropdown-content-box .tvsearch-dropdown-title {
    color: #d90244;
}
.tvsearch-dropdown-close-wrapper {
    position: absolute;
    right: 4px;
    top: 4px;
}

/***** start deckstop and mobile my account *****/
.tvcms-header-myaccount {
    position: relative;
    cursor: pointer;
}
.tvcms-header-myaccount .tv-myaccount-btn i {
    background-image: url(../img/themevolty/sprite.png);
    height: 40px;
    background-position: -5px -756px;
    width: 40px;
    cursor: pointer;
    display: block;
    -webkit-transition: all 0.5s ease 0.1s;
    -o-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
    background-color: transparent;
    border-radius: 0;
    font-size: 0;
    margin-right: 8px;
}
.tvcms-header-myaccount:hover .tv-myaccount-btn i {
    background-position: -55px -756px;
    -webkit-transition: all 0.5s ease 0.1s;
    -o-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
}
.tvcms-header-myaccount .tv-account-dropdown {
    right: -60px;
    left: auto;
    top: 100%;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, 0.07);
    /*border-bottom: 4px solid #d90244;*/
    padding: 10px 15px;
    min-width: 174px;
    width: max-content;
    background-clip: inherit;
    box-shadow: 0px 0px 2px 0.8px rgba(122, 122, 122, 0.18);
}

/***** main header-navbar *****/
.tvcmsdesktop-top-header-wrapper .tvcmsdesktop-top-header {
    /*border-bottom: 1px solid rgba(0, 0, 0, 0.07);*/
}
.container.tvcmsdesktop-top-wrapper {
    padding: 0;
}
.tvcmsdesktop-top-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.tvheader-nav-offer-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 8px 0;
}
.tvheader-nav-offer-text i {
    font-size: 16px;
    color: #000000;
    margin-right: 5px;
}
.tvheader-nav-offer-text {
    font-size: 14px;
    color: #222222;
    font-weight: 400;
    line-height: 20px;
    margin-bottom: 0;
}
.tvheader-nav-offer-text p {
    margin-bottom: 0;
    color: #000000;
}

/***** start deckstop language *****/
.tvheader-language-currency-wrapper {
    text-align: right;
}
.tvheader-language {
    margin-right: 26px;
}
.tvheader-language,
.tvheader-currency {
    display: inline-block;
    position: relative;
    vertical-align: middle;
}
.tvcmsdesktop-language-selector {
    text-align: right;
}
#tvcmsdesktop-language-selector .tv-language-btn .tv-language-span,
#tvcmsdesktop-currency-selector .tv-currency-btn .tv-currency-span {
    color: #000000;
    font-size: 14px;
    width: 100%;
    line-height: 40px;
    font-weight: 400;
}
#tvcmsdesktop-language-selector .tv-language-lable,
#tvcmsdesktop-currency-selector .tv-currency-lable {
    display: none;
}
#tvcmsdesktop-language-selector .tv-language-btn,
#tvcmsdesktop-currency-selector .tv-currency-btn {
    display: block;
    width: 100%;
    cursor: pointer;
}
#tvcmsdesktop-language-selector .tv-language-btn .tvimage-lazy {
    margin-right: 5px;
    margin-bottom: 2px;
}

#tvcmsdesktop-language-selector .tv-language-btn i,
#tvcmsdesktop-currency-selector .tv-currency-btn i {
    color: #000000;
    font-size: 12px;
    width: 20px;
    text-align: center;
}
#tvcmsdesktop-user-info .tvhedaer-sign-btn,
.tvcmsdesktop-view-wishlist .tvwishlist-name span,
.tv-account-dropdown a.tvmyccount,
.tvcmsdesktop-view-compare .tvdesktop-view-compare-name {
    color: #000000;
    font-size: 14px;
    line-height: 40px;
    font-weight: 400;
}
.tvdesktop-wishlist:hover .tvwishlist-name span,
.tvcmsdesktop-view-compare:hover .tvdesktop-view-compare-name,
.tvdesktop-wishlist:hover .tvwishlist-icon i,
.tvdesktop-view-compare:hover .tvdesktop-compare-icon i {
    color: #d90244;
}
#tvcmsdesktop-user-info a.tvhedaer-sign-btn {
    display: block;
}
#tvcmsdesktop-user-info a.tvhedaer-sign-btn:last-child {
    border: none;
    display: block;
}
#tvcmsdesktop-user-info .tvhedaer-sign-btn i {
    color: #000000;
    font-size: 12px;
    width: 20px;
    text-align: center;
}
#tvcmsdesktop-language-selector:hover .tv-language-btn i,
#tvcmsdesktop-currency-selector:hover .tv-currency-btn i,
#tvcmsdesktop-user-info:hover .tvhedaer-sign-btn i,
#tvcmsdesktop-language-selector:hover .tv-language-btn .tv-language-span,
#tvcmsdesktop-currency-selector:hover .tv-currency-btn .tv-currency-span,
#tvcmsdesktop-user-info .tvhedaer-sign-btn:hover,
.tv-account-dropdown a.tvmyccount:hover {
    color: #d90244;
}
/*.tv-account-dropdown > div {
    border-bottom: 1px solid #e5e5e5;
}*/
.tv-account-dropdown>div:last-child {
    border-bottom: none;
}
.tv-language-dropdown li img {
    margin-right: 10px;
}
.tv-language-dropdown li a,
.tv-currency-dropdown li a {
    font-size: 14px;
    color: #222222;
    line-height: 30px;
}
.tv-language-dropdown li a:hover,
.tv-currency-dropdown li a:hover {
    color: #d90244;
}

.tv-language-dropdown,
.tv-currency-dropdown {
    border: 1px solid rgba(0, 0, 0, 0.07);
    padding: 10px 20px;
    background-color: #ffffff;
    text-align: left;
}

/***** media language *****/
/***** start decsktop cart *****/
.tvheader-cart-btn-wrapper {
    position: relative;
}
.tv-cart-icon i {
    line-height: 40px;
    height: 40px;
    width: 40px;
    color: #222222;
    display: none;
}
.tvcart-no-product {
    padding: 15px;
}
.tv-header-cart .tv-cart-icon {
    display: flex;
    margin-right: 14px;
}
.tv-header-cart .tv-cart-icon:hover {
    background-position: -55px -655px;
    -webkit-transition: all 0.5s ease 0.1s;
    -o-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
}
.tv-cart-cart-inner {
    position: absolute;
    height: 18px;
    width: 18px;
    border-radius: 18px;
    right: 2px;
    top: -2px;
    color: #ffffff;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    background-color: #d90244;
}
.tvcart-no-product-label {
    text-align: center;
}
.tvcmscart-show-dropdown {
    width: 340px;
    position: absolute;
    right: 0;
    z-index: 90;
    background-color: #ffffff;
    top: 100%;
    opacity: 0;
    box-shadow: 0px 0px 2px 0.8px rgba(122, 122, 122, 0.18);
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -o-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -moz-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.tvcmscart-show-dropdown.open {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.tvcart-product-totle {
    margin-bottom: 10px;
    color: #666666;
}
.tvcart-product-list {
    padding: 15px 35px;
    border-top: 1px solid #e5e5e5;
    text-align: left;
}
.tvcmscart-show-dropdown .tvcart-product-wrapper.items {
    overflow: hidden;
    padding: 10px 0;
}
.tvcmscart-show-dropdown .tvcart-product-list-img {
    height: 60px;
    width: 60px;
    margin-right: 15px;
    position: relative;
    float: left;
}
.tvcmscart-show-dropdown .tvcart-product-list-price {
    display: inline-block;
    vertical-align: middle;
    width: 80%;
}
.tvshoping-cart-dropdown-title span.product-name {
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    color: #000000;
    font-size: 15px;
    text-transform: capitalize;
    font-weight: 500;
    margin-bottom: 0;
}
.tvcart-product-content {
    overflow: hidden;
}
.tvcart-product-list-price span {
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    display: inline-block;
    vertical-align: middle;
    color: #666666;
}
.tvcmscart-show-dropdown .tvshoping-cart-dropdown-title a {
    font-size: 15px;
}
.tvcmscart-show-dropdown .tvcart-product-list-attribute {
    display: none;
}
.tvcart-product-remove {
    display: inline-block;
    vertical-align: middle;
    width: 20%;
}
.tvcmscart-show-dropdown .tvcart-product-list-img:hover .tvcart-product-remove {
    opacity: 1;
    visibility: visible;
}
.tvcart-product-remove a i {
    height: 32px;
    width: 32px;
    display: block;
    line-height: 32px;
    display: none;
    color: #ffffff;
    font-size: 16px;
}
.tvcart-product-remove a {
    background-image: url(../img/themevolty/sprite.png);
    height: 40px;
    width: 40px;
    background-position: -5px 145px;
    display: block;
}
.tvcart-product-content-box {
    position: relative;
    margin-bottom: 20px;
    scroll-behavior: smooth;
    overflow-y: auto;
    max-height: 245px;
    padding-right: 20px;
}
.tvcart-product-list-total-info .tvshoping-cart-subtotal,
.tvshoping-cart-shipping,
.tvshoping-cart-tax,
.ttshoping-cart-total {
    font-size: 16px;
    color: #222;
    font-weight: 600;
}
span.tvcart-product-price {
    float: right;
    color: #000;
    font-weight: 600;
    font-size: 16px;
}
.tvcart-product-list-subtotal-prod,
.tvcart-product-list-subtotal-shipping,
.tvcart-product-list-subtotal-tax,
.tvcart-product-list-subtotal-excluding-text {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.tvcart-product-list-subtotal-excluding-text {
    border-top: 1px solid #e5e5e5;
    padding-top: 10px;
}
.tvcart-product-list-viewcart {
    background-color: #ffffff;
    border-radius: 5px;
    text-align: center;
    margin-bottom: 10px;
}
.tvcart-product-list-checkout {
    background-color: #d90244;
    border-radius: 5px;
    text-align: center;
}
.tvcart-product-list-viewcart:hover {
    background-color: #d90244;
}
.tvcart-product-list-checkout:hover {
    background-color: #ffffff;
}
.tvcart-product-list-viewcart:hover a {
    color: #ffffff;
}
.tvcart-product-list-checkout:hover a {
    color: #222222;
}
.tvcart-product-list-checkout a,
.tvcart-product-list-viewcart a {
    display: block;
    font-weight: 600;
    padding: 13px 10px;
}
.tvcart-product-list-checkout a {
    color: #ffffff;
}
.tvorder-conformation-wrapper {
    margin-bottom: 100px;
}
.tvshopping-cart-quentity {
    margin: 0 7px;
}
.tvcart-product-list-btn-wrapper {
    padding: 35px;
    background-color: #222222;
}

/***** Media cart *****/
/***** Media cart *****/
#blockcart-modal .cart-content .cart-content-btn .btn-secondary:hover {
    background-color: #373737;
    color: #ffffff;
}
@media(max-width: 1050px) {
    .tvcmsstore-time {
        display: block;
    }
    .tvheader-cart-wrapper .tv-cart-icon {
        margin: 0 5px 0 0;
    }
}
/***** RTL ALL header *****/

.tvcategory-title-wrapper {
    background-color: #ffd741;
    text-align: left;
    padding: 15px 20px;
    border-bottom: 1px solid #e5e5e5;
    position: relative;
}
.tvcategory-title-wrapper .tvleft-right-title span {
    text-align: left;
    color: #222222;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    font-family: 'Roboto Condensed';
    text-transform: uppercase;
}
/****** end header *****/
/****** product after link *****/
.tvallproduct-link,
.tvfooter-view-link {
    text-align: right;
}
.tvnews-event-link a,
.tvallproduct-link a,
.tvleft-right-penal-all-block .tvall-product-bottom-link-block a,
.tvcmsblog-left-side .tvnews-event-link a,
.tvfooter-view-link a {
    color: #222222;
}
.tvnews-event-link a i,
.tvallproduct-link a i,
.tvleft-right-penal-all-block .tvall-product-bottom-link-block a i,
.tvcmsblog-left-side .tvnews-event-link a i,
.tvfooter-view-link a i {
    font-size: 15px;
    font-weight: 300;
    line-height: 15px;
    color: #222222;
}
.tvleft-right-penal-all-block .tvall-product-bottom-link-block,
.tvcmsblog-left-side .tvnews-event-link,
.tvallproduct-link,
.tvfooter-view-link {
    display: none;
}
.tvnews-event-link a:hover,
.tvallproduct-link a:hover,
.tvleft-right-penal-all-block .tvall-product-bottom-link-block a:hover,
.tvcmsblog-left-side .tvnews-event-link a:hover,
.tvfooter-view-link a:hover,
.tvnews-event-link a:hover i,
.tvallproduct-link a:hover i,
.tvleft-right-penal-all-block .tvall-product-bottom-link-block a:hover i,
.tvcmsblog-left-side .tvnews-event-link a:hover i,
.tvfooter-view-link a:hover i {
    color: #d90244;
}
.tv-total-product-number {
    line-height: 40px;
}
.tv-total-product-number {
    line-height: 40px;
}
.tvcmstab-title-product {
    margin-bottom: 20px;
}
.tvcmsspecial-product,
.tvcmsfeatured-product,
.tvcmsbest-seller-product,
.tvcmsnew-product,
.tvcmssame-category-product,
.tvcmscross-selling-product,
.tvcmslike-product {
    margin-bottom: 0; /*era 25px Fr@ */
    display: flex;
}
/***** product title design *****/
.tvcmsmain-title-wrapper {
    margin-bottom: 15px;
    position: relative;
}
.tvtab-title-wrapper {
    overflow: hidden;
    position: relative;
    margin-bottom: 0;
    float: right;
    padding-right: 90px;
}
.tvcustomer-services .tvcmsmain-title-wrapper {
    display: none;
}
.tvtab-product .tvcms-main-title {
    float: left;
}
.tvtab-product .tvtab-title-wrapper .tvtabs-products {
    margin-bottom: 0;
}
.tvtab-title-wrapper .tvtabs-products li {
    position: relative;
    padding: 9px 15px;
    border-radius: 3px;
    display: inline-block;
    vertical-align: top;
    margin: 0;
    border: 1px solid transparent;
    margin: 0 8px;
}
.tvtab-title-wrapper .tvtabs-products li span {
    font-weight: 700;
    color: #333333;
    font-size: 18px;
    letter-spacing: 0.6px;
    font-family: 'Roboto Condensed';
    text-transform: capitalize;
}
.tvtab-title-wrapper .tvtabs-products li:hover,
.tvtab-title-wrapper .tvtabs-products li.active {
    border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: 33px; 
    margin-bottom: 5px; 
}
.tvtab-title-wrapper .tvtabs-products li:hover span,
.tvtab-title-wrapper .tvtabs-products li.active span {
    color: #d90244;
}
.tvtab-product {
    overflow: hidden;
}
.tvcms-main-title .tvmain-title h2 {
    font-size: 30px;
    color: #333333;
    text-transform: uppercase;
    line-height: 36px;
    position: relative;
    font-weight: 700;
    font-family: 'Roboto Condensed';
    padding-bottom: 0;
    letter-spacing: 0.3px;
    margin-bottom: 0;
    display: inline-block;
}
.tvfooter-product-box-layout .tvcms-main-title .tvmain-title h2 {
    font-size: 22px;
}
.tvcms-main-title .tvmain-sub-title h4 {
    text-align: center;
    font-size: 20px;
    line-height: normal;
    margin-bottom: 5px;
    display: none;
}
.tvcms-main-title .tvmain-desc {
    text-align: left;
    font-size: 14px;
    line-height: normal;
    margin-bottom: 10px;
    color: #000;
    letter-spacing: 3px;
    text-transform: uppercase;
    display: none;
}

/***** tab title *****/
@media(max-width: 1380px) {
    .tvtab-title-wrapper .tvtabs-products li span {
        font-size: 15px;
    }
    .tvtab-title-wrapper .tvtabs-products li {
        padding: 9px 8px;
        margin: 0 4px;
    }
    .tvcms-main-title .tvmain-title h2 {
        font-size: 28px !important;
    }
}
@media(max-width: 1280px) {
    .tvcms-main-title .tvmain-title h2,
    .tvinstagram-slider-title-wrapper .tvinstagram-title,
    .tvinstagram-slider-title-wrapper .tvinstagram-user-name {
        font-size: 24px !important;
    }
    .tvfooter-product-box-layout .tvcms-main-title .tvmain-title h2 {
        font-size: 22px !important;
    }
    .tvproduct-name h6,
    .product-price-and-shipping .price {
        font-size: 15px !important;
    }
    .tvproduct-wrapper .tvproduct-timer-wrapper .hours,
    .tvproduct-wrapper .tvproduct-timer-wrapper .minutes,
    .tvproduct-wrapper .tvproduct-timer-wrapper .days,
    .tvproduct-wrapper .tvproduct-timer-wrapper .seconds {
        font-size: 12px !important;
    }
    .tvproduct-wrapper .tvproduct-timer-wrapper {
        min-width: 20px;
    }

    .tvcmsprev-btn {
        height: 32px !important;
        width: 32px !important;
    }
    .tvcmsnext-btn {
        height: 32px !important;
        width: 32px !important;
    }
    .tvcmsprev-btn i,
    .tvcmsnext-btn i {
        font-size: 20px;
        width: 31px !important;
        height: 31px !important;
        line-height: 31px !important;
    }
    .tvcart-icon-text-wrapper .tvcart-lable,
    .tv-account-wrapper .tv-myaccount-btn span {
        font-size: 15px !important;
    }
    .tvheader-nav-offer-text {
        padding: 10px 0;
    }
    #tvcmsdesktop-language-selector .tv-language-btn .tv-language-span,
    #tvcmsdesktop-currency-selector .tv-currency-btn .tv-currency-span {
        line-height: 40px;
    }
    .tvnews-event-content-wrapper .tvnews-event-titel a h3,
    .kr_blog_post_area .tvblog_post .post_content .post_title a {
        font-size: 15px !important;
    }
    .tvservices-content-box .tvservices-title {
        font-size: 15px !important;
    }
    .tvcategory-slider-info-box {
        font-size: 14px !important;
    }
    .tvtabcategory-product-li a:not([href]):not([tabindex]),
    .tvtabcategory-show a:not([href]):not([tabindex]),
    .tvtabcategory-hide a:not([href]):not([tabindex]) {
        font-size: 12px !important;
    }
}
/***** Start All Product design *****/
/***** Start Main Wrapper *****/
.tvproduct-wrapper {
    background-color: #ffffff;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.07);
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    cursor: pointer;
}
.tvproduct-wrapper:hover {
    box-shadow: 0px 5px 10px 0px rgba(23, 84, 116, 0.18);
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.products.owl-carousel.owl-drag .owl-item:hover,
.tvtabcategory-all-product-slider .owl-item:hover {
    position: relative;
    z-index: 20;
}
.tvall-product-wrapper-info-box.tvtab-first-product {
    margin-bottom: 15px;
}
.tvall-product-wrapper-info-box {
    padding: 0 7.5px;
}

.tv-product-top-hover {
    text-align: left;
    padding: 15px;
}
.tvproduct-wrapper.list,
.tvproduct-wrapper.list-2,
.tvproduct-wrapper.catelog {
    margin-bottom: 0;
}
/***** Start Product detail slider *****/
.slick-dots li button:before {
    font-size: 30px
}
.slick-dots li {
    margin: 0
}
.tvvertical-slider img.thumb {
    display: inline-block;
}
.tvvertical-slider img.thumb.selected,
.tvvertical-slider img.thumb:hover {
    /*border: none;*/
}
/***** Start Product Review *****/
.tvproduct-wrapper .tvall-product-star-icon {
    padding-bottom: 10px;
}
.tvall-product-star-icon .star i {
    font-size: 14px;
    color: #cccccc;
    margin: 0 1px;
}
.tvall-product-star-icon .star.star_on i {
    color: #ffc315;
}
/***** End Product Review *****/
/***** Start all sale lable *****/
.tvproduct-flags {
    display: inline-block;
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 1;
    margin: 0;
    opacity: 0;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.tvproduct-page-wrapper .tvproduct-flags {
    opacity: 1;
}
.tvproduct-wrapper:hover .tvproduct-flags {
    opacity: 1;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.tvproduct-online-new-wrapper .tvproduct-flags li {
    text-align: left;
}
.tvproduct-sale-pack-wrapper {
    right: 15px;
    left: auto;
    text-align: right;
}
.tvproduct-online-new-wrapper {
    left: 15px;
    right: auto;
    text-align: left;
}
.tvproduct-sale-pack-wrapper .tvproduct-flags li {
    text-align: right;
}
.tvproduct-flags.tvproduct-sale-pack-wrapper li {
    color: #d90244;
}
.tvproduct-flags li {
    font-size: 12px;
    color: #333333;
    font-weight: 500;
    text-transform: capitalize;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    margin-bottom: 5px;
}
/***** Start all sale lable--list-list-2--catelog *****/
.list.tvproduct-wrapper .tvproduct-flags,
.catelog.tvproduct-wrapper .tvproduct-flags,
.list-2.tvproduct-wrapper .tvproduct-flags {
    opacity: 1;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
}
/*****Start image change on hover*****/
.tvproduct-wrapper .tvproduct-image a {
    text-align: center;
    display: block;
    position: relative;
}
.tvproduct-wrapper .tvproduct-image {
    overflow: hidden;
    padding-right: 0;
}
.tvproduct-wrapper .lazy {
    position: relative;
}
img.lazy.loaded {
    height: auto;
    width: auto;
    background: none;
}
.tvproduct-wrapper .lazy,
img.lazy {
    background: #ffffff url(../img/themevolty/product.gif) no-repeat scroll 50% 50%;
    width: 100%;
}
.tvproduct-wrapper .tvproduct-hover-img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px);
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    background-color: #fff;
}
.tvproduct-wrapper:hover .tvproduct-hover-img {
    opacity: 1;
    -webkit-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    -webkit-transform: translateX(0px);
    -moz-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
}
/*****End image change on hover*****/
/*****Start timer design *****/
.tvproduct-wrapper.grid .tvproduct-timer,
.tvproduct-wrapper.grid-2 .tvproduct-timer {
    position: absolute;
    left: 0;
    right: 0;
    top: 15px;
    text-align: center;
    margin: 0 auto;
    opacity: 1;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.tvproduct-wrapper:hover.grid .tvproduct-timer,
.tvproduct-wrapper:hover.grid-2 .tvproduct-timer {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px);
    opacity: 0;
}
.tvproduct-wrapper .tvtimer-wrapper {
    overflow: hidden;
    vertical-align: top;
    display: inline-block;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 20px;
    padding: 0 5px;
    background-color: #ffffff;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
}
.tvproduct-wrapper .tvproduct-timer-icon {
    display: inline-block;
}
.tvproduct-wrapper .tvproduct-timer-icon i {
    font-size: 18px;
    margin-right: 3px;
    /*background-image: url(../img/themevolty/sprite.png);*/
    /*background-position: -210px -159px;*/
    /*height: 32px;*/
    /*width: 25px;*/
}
.tvproduct-wrapper .tvproduct-timer-wrapper {
    position: relative;
    text-align: center;
    min-width: 30px;
    height: 30px;
    line-height: 30px;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
}
.tvproduct-wrapper .tvproduct-timer-wrapper .seconds {
    color: #d90244;
    font-size: 14px;
    font-weight: 400;
}
.tvproduct-wrapper .tvproduct-timer-wrapper .hours,
.tvproduct-wrapper .tvproduct-timer-wrapper .minutes,
.tvproduct-wrapper .tvproduct-timer-wrapper .days {
    color: #333333;
    font-size: 14px;
    font-weight: 400;
}
.tvproduct-wrapper .tvtimer-dot {
    display: inline-block;
    vertical-align: baseline;
    margin: 0;
    font-size: 14px;
    color: #111111;
}
.tvproduct-wrapper .tvproduct-timer-wrapper .tvtimer-name {
    display: none;
}
@media(max-width: 1199px) {
    .tvproduct-wrapper .tvproduct-timer-wrapper {
        min-width: 22px;
    }
}
/***** mobile Start timer design *****/
@media(max-width: 1600px) {
    .tvproduct-wrapper .tvtimer-wrapper {
        padding: 0 5px;
    }
}

/***** end Start timer design *****/
/*****Start cart-Quick-compare-wishlist Hover btn*****/
.tvproduct-wrapper.grid .tvproduct-hover-btn,
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn {
    position: absolute;
    top: auto;
    bottom: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    text-align: center;
    right: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.tvproduct-wrapper.grid:hover .tvproduct-hover-btn,
.tvproduct-wrapper.grid-2:hover .tvproduct-hover-btn {
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.tvproduct-wrapper.grid .tvproduct-quick-btn,
.tvproduct-wrapper.grid-2 .tvproduct-quick-btn,
.tvproduct-wrapper.grid .tvproduct-cart-btn,
.tvproduct-wrapper.grid-2 .tvproduct-cart-btn,
.tvproduct-wrapper.grid .tvproduct-cart-btn,
.tvproduct-wrapper.grid-2 .tvproduct-cart-btn,
.tvproduct-wrapper.grid .tvproduct-wishlist,
.tvproduct-wrapper.grid-2 .tvproduct-wishlist,
.tvproduct-wrapper.grid .tvcompare-wrapper,
.tvproduct-wrapper.grid-2 .tvcompare-wrapper {
    margin: 0 5px;
    background-color: transparent;
    border-radius: 50px;
    border: none;
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateY(60px);
    -moz-transform: translateY(60px);
    -ms-transform: translateY(60px);
    -o-transform: translateY(60px);
    transform: translateY(60px);
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}
.tvproduct-wrapper:hover .tvproduct-quick-btn,
.tvproduct-wrapper:hover .tvproduct-cart-btn,
.tvproduct-wrapper:hover .tvproduct-wishlist,
.tvproduct-wrapper:hover .tvcompare-wrapper {
    -webkit-transform: translateX(0px);
    -moz-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
    transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}
.tvproduct-wrapper .tvproduct-hover-btn .tvproduct-quick-btn {
    transition-delay: 0.2s;
}
.tvproduct-wrapper .tvproduct-hover-btn .tvproduct-cart-btn {
    transition-delay: 0.3s;
}
.tvproduct-wrapper .tvproduct-hover-btn .tvcompare-wrapper {
    transition-delay: 0.4s;
}
.tvproduct-wrapper .tvproduct-hover-btn .tvproduct-wishlist {
    transition-delay: 0.5s;
}
.tvproduct-wrapper:hover .tvproduct-hover-btn .tvproduct-quick-btn {
    transition-delay: 0.2s;
}
.tvproduct-wrapper:hover .tvproduct-hover-btn .tvproduct-cart-btn {
    transition-delay: 0.3s;
}
.tvproduct-wrapper:hover .tvproduct-hover-btn .tvcompare-wrapper {
    transition-delay: 0.4s;
}
.tvproduct-wrapper:hover .tvproduct-hover-btn .tvproduct-wishlist {
    transition-delay: 0.5s;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart,
.tvproduct-wrapper .tvproduct-quick-btn .tvproduct-quick-icon,
.tvproduct-wrapper .tvproduct-wishlist .tvproduct-wishlist-icon,
.tvproduct-wrapper .tvcompare-wrapper .tvproduct-compare-icon i.add,
.tvproduct-wrapper .tvcompare-wrapper .tvproduct-compare-icon i.remove {
    height: 36px;
    width: 36px;
    background-color: #ffd741;
    border-radius: 50px;
    color: #000;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
}
.tvproduct-wrapper .tvproduct-quick-btn:hover .tvproduct-quick-icon,
.tvproduct-wrapper .tvproduct-cart-btn:hover .tvproduct-add-to-cart,
.tvproduct-wrapper .tvproduct-wishlist:hover .tvproduct-wishlist-icon,
.tvproduct-wrapper .tvcompare-wrapper:hover .tvproduct-compare-icon i.add {
    background-color: #d90244;
    color: #fff;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart {
    padding: 0;
    overflow: hidden;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart span,
.tvproduct-wrapper .tvproduct-wishlist .panel-product-line span,
.tvproduct-wrapper .tvproduct-quick-btn .tvproduct-quick-lable {
    display: none;
}
.tvproduct-wrapper .tvproduct-add-to-cart-label,
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart i,
.tvproduct-wrapper .tvproduct-quick-btn i,
.tvproduct-wrapper .tvproduct-wishlist .panel-product-line i,
.tvproduct-wrapper .tvcompare-wrapper .tvproduct-compare-icon i.add,
.tvproduct-wrapper .tvcompare-wrapper .tvproduct-compare-icon i.remove {
    padding: 8px;
    width: 36px;
    height: 36px;
    font-size: 21px;
}
.tvproduct-wrapper .tvcompare-wrapper .tvproduct-compare-icon i.hide,
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart i.hide {
    display: none;
}
.tvproduct-wrapper .tvproduct-out-of-stock i.add-cart {
    display: none;
}
.tvproduct-wrapper .tvproduct-out-of-stock i.out-of-stock.hide {
    display: block;
}
.tvproduct-wrapper .tvcompare-wrapper:hover .tvproduct-compare-icon i.remove {
    color: #ffffff;
    background-color: #d90244;
    background-position: -158px -609px;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-out-of-stock {
    z-index: 2;
    position: relative;
    opacity: 1;
    background-color: #ffd741;
    border-radius: 50px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
}
.tvproduct-wrapper .tvproduct-cart-btn:hover .tvproduct-out-of-stock {
    background-color: #d90244;
}
.tvproduct-wishlist-compare .tvcompare-wrapper:hover i,
.tvproduct-wishlist-compare .tvcompare-wrapper:hover span,
.tvproduct-wishlist-compare .tvproduct-wishlist:hover i,
.tvproduct-wishlist-compare .tvproduct-wishlist:hover span {
    color: #d90244
}
/***** end Start cart-Quick-compare-wishlist Hover btn *****/
/*****Start Product Title & Price*****/
.tvproduct-name.product-title a h6 {
    color: #333333;
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 500;
    letter-spacing: 0.4px;
}
/*.tvleft-right-product-slider .tv-product-price .price{
    font-size: 14px;
}
.tvleft-right-product-slider .tv-product-price .regular-price{
    font-size: 13px;   
}*/
ul.wlp_bought_list li .product_infos .product-name {
    color: #333333;
    font-size: 16px;
    text-transform: capitalize;
    font-weight: 500;
}
.product-price-and-shipping .price {
    font-size: 16px;
    font-weight: 900;
    color: #d90244;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0;
    letter-spacing: 0;
}
.product-price-and-shipping .regular-price {
    margin-left: 5px;
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through;
    color: #666666;
    letter-spacing: 0.3px;
    vertical-align: middle;
    margin-right: 5px;
    display: inline-block;
}

.tvproduct-name-price-wrapper .tvproduct-name {
    padding-bottom: 6px;
}
.tvproduct-name .tvproduct-cat-name {
    display: none;
}
/*.product-description .tvproduct-name .product-title {
    padding: 0 0 10px 0;
}*/
.tvproduct-wrapper .product-price-and-shipping {
    display: inline-block;
}
.product-price-and-shipping .tvproduct-discount-price {
    color: #999999;
    font-weight: 400;
    font-size: 11px;
    padding: 3px;
    border: 1px solid #cccccc;
    display: none;
}
.tvproduct-info-box-wrapper {
    padding: 15px;
    text-align: center;
}
.tvproduct-wrapper.list .product-description .tvproduct-name.product-title,
.tvproduct-wrapper.list-2 .product-description .tvproduct-name.product-title,
.tvproduct-wrapper.catelog .product-description .tvproduct-name.product-title {
    padding: 0;
}
@media(max-width: 1281px) {
    .tvproduct-info-box-wrapper {
        padding: 8px;
    }
    .tvleft-right-product-slider .tvproduct-wrapper {
        padding: 5px !important;
    }
}
/***** end Start Product Title & Price*****/
.tv-verticalmenu-slider-wrapper .product-description {
    padding: 15px;
    text-align: center;
}
.tvverticalmenu-dropdown .product-container {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
}
/*****Start Gride---Gride-2---List---List-2---Cateloge Product*****/
#products.grid-2 .tv-grid-list-wrapper-info-box {
    width: 33.33%;
}
.tvproduct-catalog-btn-wrapper {
    display: block;
    text-align: center;
}
.tv-product-cart-quentity-inner {
    margin-right: 0;
    margin-bottom: 15px;
}
.tv-product-catalog-btn .tvproduct-cart-quentity {
    width: 40px;
    color: #000000;
}
.tvproduct-cart-quentity-increment,
.tvproduct-cart-quentity-decrement {
    background-color: #222222;
    border: none;
    color: #ffffff;
}
.tvproduct-cart-quentity-increment:hover,
.tvproduct-cart-quentity-decrement:hover {
    background-color: #d90244;
}

#products.list-2 .tv-product-desc,
#products.list .tv-product-desc {
    font-size: 14px;
    color: #666666;
    font-weight: 400;
    line-height: 22px;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 10px;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}
#products.catelog .tv-product-desc {
    font-size: 14px;
    color: #666666;
    font-weight: 400;
    -webkit-line-clamp: 3;
    line-height: 22px;
    overflow: hidden;
    margin-bottom: 10px;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    text-align: center;
}
#products.list .tvproduct-name,
#products.list-2 .tvproduct-name,
#products.catelog .tvproduct-name {
    margin-bottom: 10px;
}
#products.catelog .tvall-product-star-icon .comments_note {
    text-align: center;
}
#products.catelog .tvproduct-name {
    text-align: center;
}
#products #products.catelog .product-price-and-shipping,
#products.catelog .product-accessories .product-price-and-shipping,
#products.catelog .product-miniature .product-price-and-shipping {
    text-align: center;
}
#products.catelog .tvproduct-catalog-price {
    text-align: center;
    padding: 0;
}
#products.catelog .tvproduct-catalog-price .tv-product-price {
    margin-bottom: 10px;
}
#products.catelog .tvproduct-timer {
    display: block;
}
#products.list .tvproduct-wrapper .product-description .tvall-product-star-icon,
#products.list-2 .tvproduct-wrapper .product-description .tvall-product-star-icon,
#products.catelog .tvproduct-wrapper .product-description .tvall-product-star-icon {
    display: block;
    padding: 0
}
#products.list .tvproduct-wrapper.list .tvproduct-image {
    padding: 0;
}
.tvproductlist-comment-stock-wrapper {
    overflow: hidden;
}
#products.list-2 .tvproduct-image {
    width: 50%;
    padding: 0;
}
#products.list-2 .tvproductdescription-button-wrapper {
    width: 50%;
    padding: 15px;
}
#products.list-2 .tvproduct-timer {
    margin-bottom: 15px;
}
#products.list .tvproductdescription-button-wrapper {
    padding: 15px;
}
.tvproduct-wrapper.list .tv-product-list {
    margin-right: 20px;
}
.tvcmsstock-indicator-wraper {
    display: none;
}
@media(min-width: 992px) and (max-width: 1500px) {
    .tv-grid-list-all-wrapper {
        padding: 0;
    }

    .tv-total-product {
        margin-left: 2px;
    }
}
@media(max-width:1199px) and (min-width: 992px) {
    #products.list-2 .tv-grid-list-wrapper-info-box {
        width: 100%;
    }
}
/***** mobile Start Gride---Gride-2---List---List-2---Cateloge Product*****/
.tv-grid-list-wrapper-info-box {
    margin-bottom: 15px;
}
.tvcatlog-button-wrapper .tvproduct-quick-btn,
.tvcatlog-button-wrapper .tvproduct-cart-btn,
.tvcatlog-button-wrapper .tvproduct-wishlist,
.tvcatlog-button-wrapper .tvcompare-wrapper,
.tvall-product-btn-list .tvproduct-quick-btn,
.tvall-product-btn-list .tvproduct-cart-btn,
.tvall-product-btn-list .tvproduct-wishlist,
.tvall-product-btn-list .tvcompare-wrapper {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}
#products.catelog .tvtimer-wrapper {
    margin-bottom: 10px;
}
@media(min-width: 1200px) and (max-width: 1400px) {
    #products.grid .tvall-product-wrapper-info-box {
        width: 33.33%;
    }
    .tvproduct-wrapper.list .tv-product-list {
        float: none;
        margin-right: 0;
    }
    .tvproduct-timer-wrapper {
        min-width: 25px;
    }
}
@media(min-width: 1401px) and (max-width: 1700px) {
    .tvproduct-wrapper.list .tv-product-list {
        margin-right: 5px;
    }
}
@media(min-width: 1680px) {
    #products.grid .tvall-product-wrapper-info-box {
        width: 20%;
    }
}
@media(min-width: 768px) and (max-width: 1199px) {
    .tv-product-catalog-btn {
        text-align: center;
    }
    .tvcatlog-button-wrapper {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .tv-grid-list-wrapper-info-box {
        margin-bottom: 15px;
    }
}
/***** endStart Gride---Gride-2---List---List-2---Cateloge Product *****/
/*****Start Product ALL RTL*****/

/***** teblet-Product-RTL *****/

/***** special product design *****/
.tvbanner-hover-wrapper img {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
}
.tvnew-product,
.tvbest-seller-product,
.tvfeatured-product {
    margin: 0;
}
.tvall-product-offer-banner {
    /*display: flex;*/
    flex-wrap: wrap;
}
.tvall-product-branner {
    width: 20%;
    float: left;
    padding: 0 7.5px;
}
.tvimage-true {
    width: 80%;
    float: left;
    padding: 0px;
}
.tvcmsnew-product .tvall-product-offer-banner,
.tvcmsbest-seller-product .tvall-product-offer-banner,
.tvcmsspecial-product .tvall-product-offer-banner {
    margin: 0 -7.5px;
}
/***** footer product design *****/
/*.tvfooter-product-box-layout .tvmain-all-product-wrapper {
    margin-left: -15px;
    margin-right: -15px;
}*/
.tvfooter-product-box-layout .tvmain-all-product-wrapper {
    margin: -7.5px;
    border-radius: 3px;
    overflow: hidden;
}
.tvfooter-product-box-layout {
    margin-bottom: 30px;
}
.tvmain-all-product-wrapper .owl-stage-outer {
    margin-right: 1px;
}
.tvmain-all-product-wrapper .owl-item.active {
    border-right: 1px solid #f7f7f7;
}
.tvleft-right-product-slider .tvproduct-wrapper {
    padding: 20px 15px;
    margin-bottom: 0;
    border-bottom: 1px solid #f7f7f7;
    border-left: none;
    border-right: none;
    border-top: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    box-shadow: none;
}
.tvleft-right-product-slider:last-child .tvproduct-wrapper {
    border: none;
}
.tvleft-right-product-slider .product-price-and-shipping .tvproduct-discount-price {
    display: none;
}
.tvmain-footer-tab-prod-slider {
    padding: 0;
}
.tvfooter-product-box-layout .tvleft-right-product-slider {
    padding: 7.5px;
}
.tvfooter-product-box-layout .tvleft-right-product-slider .tvproduct-wrapper {
    border: 1px solid rgba(0, 0, 0, 0.07);
}

.tvleft-right-product-slider .tvproduct-name.product-title a h6 {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
/*.tvall-product-branner .tvbanner-hover-wrapper img{
    border: none;
}*/
@media(min-width: 590px) and (max-width: 991px) {
    .tvall-product-branner {
        width: 33.33333%;
    }
    .tvall-product-branner .tvbanner-hover-wrapper {
        display: block;
    }
    .tvall-product-branner img.lazy.loaded {
        width: 100%;
    }
    .tvimage-true {
        width: 66.66666%;
    }
}
@media(min-width: 992px) and (max-width: 1349px) {
    .tvall-product-branner {
        width: 25%;
    }
    .tvall-product-branner .tvbanner-hover-wrapper {
        display: block;
    }
    .tvall-product-branner img.lazy.loaded {
        width: 100%;
    }
    .tvimage-true {
        width: 75%;
    }
}

@media(min-width: 1401px) {
    .tvall-product-branner .tvbanner-hover-wrapper {
        display: block;
        padding: 0 3px;
        background: #fff;
        border-radius: 3px;
        /*border: 1px solid rgba(0, 0, 0, 0.07);*/
    }
}
@media(min-width: 1501px) {
    .tvall-product-branner .tvbanner-hover-wrapper {
        padding: 0 10px;
    }
}
@media(min-width: 1551px) {
    .tvall-product-branner .tvbanner-hover-wrapper {
        padding: 0 18px;
    }
}

@media(min-width: 1601px) and (max-width: 1660px) {
    .tvall-product-branner .tvbanner-hover-wrapper {
        padding: 0 22px;
    }
}
@media(min-width: 1661px) {
    .tvall-product-branner .tvbanner-hover-wrapper {
        padding: 0;
    }
}
@media(min-width: 1350px) and (max-width: 1660px) {
    .tvall-product-branner {
        width: 25%;
    }
    .tvall-product-branner img.lazy.loaded {
        width: 100%;
    }
    .tvimage-true {
        width: 75%;
    }
    .tvcmstwoofferbanners-one {
        margin: 0 -7.5px 50px -7.5px;
    }
}
@media(min-width: 1500px) and (max-width: 1539px) {
    .tvcmsvertical-menu li.level-1,
    .tvvertical-menu-show-hide-category .tvvertical-show-category,
    .tvvertical-menu-show-hide-category .tvvertical-hide-category {
        margin: 7px 0;
    }
    .tvmain-slider-contant .tvmain-slider-title {
        padding-bottom: 6px !important;
        padding-top: 6px !important;
    }
    .tvmain-slider-contant .tvmain-slider-info p {
        margin-bottom: 5px;
    }
}
@media(min-width: 1540px) and (max-width: 1660px) {
    .tvcmsvertical-menu li.level-1,
    .tvvertical-menu-show-hide-category .tvvertical-show-category,
    .tvvertical-menu-show-hide-category .tvvertical-hide-category {
        margin: 9px 0;
    }
    .tvmain-slider-contant .tvmain-slider-info p {
        margin-bottom: 5px;
    }
}
@media(max-width: 1599px) {
    .tvfooter-product-title-product .owl-item.active:first-child {
        border-right: none;
    }
}
/*@media(max-width: 1399px) {
    .tvall-product-branner {
        width: 24%;
    }

    .tvimage-true {
        width: 76%;
    }
}*/
/*@media(max-width: 1024px) {
    .tvall-product-branner {
        width: 27%;
    }

    .tvimage-true {
        width: 73%;
    }
}*/
/* product page */
#product-description-short-2 p span {
    line-height: 20px;
}
.tvproduct-page-wrapper .tvall-product-star-icon .tvall-product-review:hover {
    color: #373737;
}
.tvproduct-description-tab .nav-tabs li.nav-item {
    margin: 0
}
.tvproduct-description-tab .nav-tabs .nav-item .nav-link {
    font-size: 16px;
    font-weight: 400;
    padding: 0;
    background: #fff;
    padding: 20px 40px;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, 0.07);
}
.pack-product-container .pack-product-name a {
    color: #373737;
}
.social-icon li {
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
}
.social-icon li a {
    height: 28px;
    width: 40px;
    display: block;
    border-radius: 40px;
    font-size: 0;
    box-shadow: none;
}
.social-icon li:hover a {
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .14);
}
.facebook.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -62px;
    background-color: #3C5A99;
}
.twitter.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -112px; /* Era -111px*/
    background-color: #25D366; /* Era 38A1F3*/
}
.rss.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -155px;
    background-color: #EE802F;
}
.youtube.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -205px;
    background-color: #c4302b;
}
.googleplus.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -255px;
    background-color: #DD4B39;
}
.pinterest.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -311px;
    background-color: #f06562; /* Era c8232c */
}
.vimeo.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -355px;
    background-color: #4EBBFF;
}
.instagram.icon-black a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -5px -405px;

}
.facebook.icon-black a:hover {
    background-position: -55px -62px;
    background-color: #ffffff;
}
.twitter.icon-black a:hover {
    background-position: -55px -111px;
    background-color: #ffffff;
}
.rss.icon-black a:hover {
    background-position: -55px -155px;
    background-color: #ffffff;
}
.youtube.icon-black a:hover {
    background-position: -55px -205px;
    background-color: #ffffff;
}
.googleplus.icon-black a:hover {
    background-position: -55px -255px;
    background-color: #ffffff;
}
.pinterest.icon-black a:hover {
    background-color: #ffffff;
    background-position: -55px -311px;
}
.vimeo.icon-black a:hover {
    background-position: -55px -355px;
    background-color: #ffffff;
}
.instagram.icon-black a:hover {
    background-position: -55px -405px;
    background-color: #ffffff;
}
/***** pagination btn *****/
.tvmain-slider-next-pre-btn {
    display: block;
}
.tvcmsprev-btn {
    height: 36px;
    width: 36px;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 50px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
    right: 45px;
    background-color: #355e9e; 
}
.tvcmsnext-btn {
    height: 36px;
    width: 36px;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 50px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
    right: 0;
    background-color: #355e9e;  
}
.tvcmsprev-btn:hover {
    border: 1px solid #ffd741;
    background-color: #ffd741;
}
.tvcmsnext-btn:hover {
    border: 1px solid #ffd741;
    background-color: #ffd741;
}
.tvcmsnext-btn:hover i,
.tvcmsprev-btn:hover i {
    color: #000000;
}
/*.tvcmsprev-btn i,
.tvcmsnext-btn i {
    display: none;
}*/
.tvmain-slider-next-pre-btn .tvcmsprev-btn {
    left: 15px;
    right: auto;
}
.tvmain-slider-next-pre-btn .tvcmsnext-btn {
    right: 15px;
    left: auto;
}
.tvcms-testimonial-next-pre-btn,
.tvcms-blog-left-side-next-pre-btn {
    text-align: center;
}
.tvmain-slider-next-pre-btn .tvcmsprev-btn,
.tvcms-vertical-menu-next-pre-btn .tvcmsprev-btn {
    left: 15px;
    right: auto;
}
.tvmain-slider-next-pre-btn .tvcmsnext-btn,
.tvcms-vertical-menu-next-pre-btn .tvcmsnext-btn {
    right: 15px;
    left: auto;
}
.tvcms-brandlist-pagination-wrapper .tvcms-brandlist-next-pre-btn .tvbrandlist-slider-prev {
    left: 10px;
}
.tvcms-brandlist-pagination-wrapper .tvcms-brandlist-next-pre-btn .tvbrandlist-slider-next {
    right: 10px;
}
.tvcms-left-testimonial .tvcms-testimonial-pagination-wrapper .tvcms-testimonial-next-pre-btn .tvtestimonial-prev,
.tvcms-left-testimonial .tvcms-testimonial-pagination-wrapper .tvcms-testimonial-next-pre-btn .tvtestimonial-next,
.tvcms-blog-left-side-pagination-wrapper .tvcms-blog-left-side-next-pre-btn .tvblog-left-side-prev,
.tvcms-blog-left-side-pagination-wrapper .tvcms-blog-left-side-next-pre-btn .tvblog-left-side-next {
    -webkit-transform: none;
    -o-transform: none;
    -ms-transform: none;
    -moz-transform: none;
    transform: none;
    position: static;
    display: inline-block;
    margin: 0 5px;
}
/*   pagination btn */
.nivo-controlNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    bottom: 25px;
}
.nivo-controlNav {
    display: block;
    bottom: 0;
    top: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}
.nivo-controlNav .nivo-control,
.owl-theme .owl-dots .owl-dot span {
    border: none;
    background-color: #cccccc;
    height: 2px;
    width: 10px;
    border-radius: 3px;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
    margin: 0 5px;
    display: inline-block;
}
.nivo-controlNav .nivo-control.active,
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    border: none;
    background-color: #d90244;
    height: 3px;
    width: 10px;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}
.nivo-controlNav .nivo-control:before {
    display: none;
}
.tvcms-brandlist-pagination-wrapper {
    display: none;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}
.tvbrandlist-slider:hover .tvcms-brandlist-pagination-wrapper {
    display: block;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

.tvcms-testimonial-next-pre-btn,
.tvcms-blog-left-side-next-pre-btn {
    direction: ltr;
}
/******footer-before*****/
/*****newsletter****/
.block_newsletter {
    margin-bottom: 0;
}
.tvnewsletter-lable-wrapper {
    position: relative;
    text-align: left;
}
.tvnewsletter-description p {
    color: #666666;
    font-size: 14px;
    padding: 0;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.3px;
}
.tvnewsleeter-input-button-wraper {
    position: relative;
}
.tvnewsleteer-btn-wrapper {
    position: absolute;
    top: 0;
    right: 0;
}
.block_newsletter form {
    width: 100%;
    margin: 0 auto;
}
.tvnewsleteer-btn-wrapper .btn-primary:hover {
    background-color: #d90244;
}
.tvnewsleeter-input-button-wraper .input-wrapper input {
    height: 38px;
    color: #333;
    background-color: #f5f5f5;
    border: 1px solid #eee;
    min-width: 200px;
    border-radius: 3px;
    font-size: 16px;
    font-weight: 400;
}
.tvnewsleeter-input-button-wraper .input-wrapper input::placeholder {
    color: #333;
    opacity: 1;
    font-size: 12px;
    font-weight: 400;
}
@media(max-width: 1400px) and (min-width: 1200px) {
    .tvnewsleteer-btn-wrapper .btn-primary[type=submit] {
        font-size: 10px;
        padding: 0 5px;
    }
}
@media(max-width: 1199px) {
    .tvnewsleteer-btn-wrapper .btn-primary[type=submit] {
        padding: 0 15px;
    }
}

/*****footer *****/
.tvfooter-storelogo-inner .tvtags-wrapper-info {
    border: 1px solid #cccccc;
    padding: 0 10px;
}
.tvfooter-storelogo-inner .tvtags-wrapper-info .tvtags-title a {
    color: #999999;
}
.tvfooter-storelogo-inner {
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    text-align: center;
}
.footer-container {
    margin-top: 0;
    padding-top: 0;
    border: none;
    box-shadow: none;
    background-color: #ffffff;
    border-top: 1px solid rgba(0, 0, 0, 0.07);
}
.tvfooter-storelogo-imformation {
    padding: 20px 0;
    display: flex;
    flex-wrap: wrap;
}
.tvfooter-logo-block .tvfooter-logo-desc {
    color: #666666;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    max-width: 70%;
    padding-top: 20px;
    margin: 0 auto;
}
.tvfooter-store-link a {
    color: #b5b5b5;
    font-weight: 500;
    font-size: 14px;
}
.tvfooter-store-link a:hover {
    color: #d90244;
}
.tvfooter-logo-block {
    padding: 40px 0;
}
.tvfooter-logo-block .tvfooter-img-block {
    margin-bottom: 0;
    text-align: center;
}
.links .title {
    border-bottom: none;
}
.tvfooter-title-wrapper,
.tvdekstop-footer-all-title-wrapper,
.tvnewsletter-lable-wrapper {
    position: relative;
    margin-bottom: 15px;
}
.block-social.tvcmsfooter-social-icon .tvfooter-title {
    display: none;
}
.tvcmsfooter-social-icon .tvfooter-title-wrapper {
    display: none;
}
.tvfooter-title-wrapper .tvfooter-title,
.tvdekstop-footer-all-title-wrapper .tvfooter-title,
.block_newsletter .tvnewsletter-title {
    font-size: 18px;
    color: #333333;
    display: block;
    font-weight: 500;
    text-transform: capitalize;
}
.block_newsletter p {
    padding-top: 0;
}
.footer-container li i,
.tvfooter-title-wrapper .tvfooter-toggle-icon {
    display: none;
}
.tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.footer-container .tvfooter-account-link li,
.footer-container #block_myaccount_infos li,
.tvfooter-category-block ul li {
    margin-bottom: 12px;
}
.footer-container li a {
    color: #666666;
    font-size: 14px;
    font-weight: 600;
    position: relative;
}
.footer-container li a:hover {
    color: #d90244;
}
.tvfooter-category-block ul {
    overflow: hidden;
}
#footer_sub_menu_store_info,
.tvfooter-store-link a {
    color: #666666;
    font-size: 14px;
    font-weight: 400;
}
#footer_sub_menu_store_info .tvfooter-addresses {
    padding-bottom: 10px;
    position: relative;
}
.tvfooter-address-lable {
    float: left;
    padding-right: 3px;
}
#footer_sub_menu_store_info {
    /*padding-left: 20px;*/
}
#footer_sub_menu_store_info .tvfooter-store-link-content {
    position: relative;
    padding-bottom: 12px;
}
#footer_sub_menu_store_info .tvfooter-store-link-fax,
#footer_sub_menu_store_info .tvfooter-store-link {
    position: relative;
    padding-bottom: 12px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li {
    background-color: transparent;
    position: relative;
    height: 40px;
    width: 30px;
    margin: 0;
    border-radius: 40px;
    display: inline-block;
    vertical-align: top;
}
.tvfooter-social-icon-wrapper li a {
    font-size: 0;
    display: block;
    height: 40px;
    width: 40px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.rss a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -5px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.facebook a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -55px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.twitter a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -105px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.youtube a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -155px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.googleplus a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -255px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.pinterest a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -205px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.vimeo a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -355px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.instagram a {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -55px -305px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.rss:hover a {
    background-position: -155px -5px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.facebook:hover a {
    background-position: -155px -55px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.twitter:hover a {
    background-position: -155px -105px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.youtube:hover a {
    background-position: -155px -155px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.googleplus:hover a {
    background-position: -155px -255px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.pinterest:hover a {
    background-position: -155px -205px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.vimeo:hover a {
    background-position: -155px -355px;
}
.tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li.instagram:hover a {
    background-position: -155px -305px;
}
.tvfooter-copy-payment-icon-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}
.tvfooter-copy-payment-icon-wrapper {
    padding: 20px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.07);
}
.tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.tvcopylink {
    text-align: center;
    padding: 0;
}
.tvcopylink p {
    color: #666666;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 27px;
    text-transform: capitalize;
    font-weight: 500;
    display: inline-block;
}
.tvcopylink p:hover {
    color: #d90244;
}
.tvbottom-to-top {
    position: fixed;
	bottom: 65px; 
    right: 30px;
    background-color: #edbe00;
    z-index: 40;
    display: none;
    cursor: pointer;
    border-radius: 40px;
}
.tvbottom-to-top:hover {
    background-color: #d90244;
}
.tvbottom-to-top span {
    display: none;
}
.tvbottom-to-top .tvbottom-to-top-icon {
    background-image: url(../img/themevolty/sprite.png);
    background-position: -102px -853px;
    color: transparent;
    width: 45px;
    font-size: 0;
    height: 45px;
    line-height: 45px;
    text-align: center;
    display: block;
    background-repeat: no-repeat;
}
.tvbottom-to-top i {
    display: none;
}
/***** Teblet-footer *****/
.tvfooter-social-icon-wrapper {
    margin-bottom: 0;
}
/***** mobile-footer *****/
@media(max-width: 1199px) {
    .tvfooter-copy-payment-icon-inner {
        display: block;
    }
    .tvfooter-copy-payment-icon-wrapper {
        padding: 15px 0;
    }
    .tvcopylink {
        padding-top: 10px;
    }
    .tvcmsfooter-social-icon {
        padding-top: 10px;
        text-align: center;
    }
}

/***** end footer *****/
@media (max-width: 1920px) and (min-width: 992px) {
    .tv-main-div.tv-box-layout.container {
        margin: 2% 5%;
        width: auto;
        padding: 15px;
    }
}
.tv-main-div.tv-box-layout.container {
    background-color: #f7f7f7;
}

/*****Custom Shopping Cart Right Side*****/
.ttvcmscart-show-dropdown-right .tvcart-product-list-img {
    width: 90px;
    height: auto;
    margin-right: 15px;
    flex-shrink: 0;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-img img {
    border: 1px solid #eee;
}
.ttvcmscart-show-dropdown-right .tvcart-product-remove {
    position: absolute;
    width: auto;
    top: 180px;
    right: 35px;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value {
    display: -webkit-flex;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    padding: 15px 20px;
    height: 50px;
    /*border-bottom: 1px solid #eee;*/
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value .ttvshoping-cart-label {
    font-size: 14px;
    color: #222;
    font-weight: 400;
    letter-spacing: 1px;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value .ttvcart-product-value {
    font-size: 16px;
    font-weight: 600;
    color: #000000;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.tax .ttvshoping-cart-label,
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.tax .ttvcart-product-value {
    font-size: 14px;
}

.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total .ttvcart-product-value {
    color: #d90244;
}
.ttvcmscart-show-dropdown-right .ttvclose-cart {
    height: 40px;
    width: 40px;
    background-image: url(../img/themevolty/sprite.png);
    background-position: -105px -805px;
    padding: 0;
    background-color: transparent;
    border: none;
    /*border-right: 1px solid #eeeeee;*/
    cursor: pointer;
}
.ttvcmscart-show-dropdown-right .ttvclose-cart:focus {
    outline: none;
    background-color: transparent;
}
.ttvcmscart-show-dropdown-right .tvcart-product-content {
    max-width: 213px;
}
.ttvcmscart-show-dropdown-right .ttvcart-close-title-count {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*border-bottom: 1px solid #eeeeee;*/
    height: 40px;
}
.ttvcmscart-show-dropdown-right .ttvcart-top-title h4 {
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000;
    padding-bottom: 0;
    margin-bottom: 0px;
    text-align: center;
    font-size: 15px;
}
.ttvcmscart-show-dropdown-right .ttvcart-counter {
    height: 20px;
    width: 20px;
    line-height: 20px;
    text-align: center;
    margin: 10px;
    border-radius: 100%;
    background-color: #355e9e;
    /*border-left: 1px solid #eeeeee;*/
}
.ttvcmscart-show-dropdown-right .ttvcart-counter .ttvcart-products-count {
    font-weight: 500;
    color: #ffffff;
    font-size: 15px;
}
.ttvcmscart-show-dropdown-right .ttvcart-scroll-container {
    height: calc(100vh - 255px);
    max-height: 100%;
    overflow-y: auto;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-content-box {
    position: relative;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper {
    padding: 20px 0 20px 20px;
    /*border-bottom: 1px solid #eee;*/
    display: -webkit-flex;
    display: flex;
    position: relative;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper:after,
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #eeeeee;
    height: 1px;
    width: 90%;
    margin: 0 auto;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper:last-child:after {
    display: none;
}
.ttvcmscart-show-dropdown-right .tvshoping-cart-dropdown-title .product-name {
    white-space: normal;
    font-size: 18px;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box .tvshopping-cart-qty {
    font-size: 13px;
    color: #666666;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box .product-qty {
    font-size: 13px;
    margin-left: 5px;
    color: #666666;
}
.ttvcmscart-show-dropdown-right .tvcart-product-content .product-price {
    font-size: 16px;
    font-weight: 900;
    color: #d90244;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0;
    letter-spacing: 0;
    margin-right: 5px;
}
.ttvcmscart-show-dropdown-right .tvshoping-cart-dropdown-title,
.ttvcmscart-show-dropdown-right .tvcart-product-list-box {
    margin-bottom: 10px;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart {
    width: 50%;
    display: block;
    float: left;
    text-align: center;
    background-color: #222;
    transition: color 0.3s ease 0s, background-color 0.3s ease 0s;
    /*border: none; */
	border-radius: 30px; /* FR@ add */
    box-shadow: none;
    cursor: pointer;
    padding: 0;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout {
    width: 50%;
    display: block;
    float: left;
    text-align: center;
    background-color: #d90244;
    transition: color 0.3s ease 0s, background-color 0.3s ease 0s;
    border: none;
    box-shadow: none;
    cursor: pointer;
    padding: 0;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover {
    background-color: #d90244;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout:hover {
    background-color: #222;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart a {
    padding: 19px 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 14px;
    display: block;
    color: #fff;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a {
    padding: 19px 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 14px;
    display: block;
    color: #fff;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout:hover a {
    color: #fff;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover a {
    color: #fff;
}
.ttvcmscart-show-dropdown-right {
    width: calc(100% - 50px);
    max-width: 380px;
    height: 100vh;
    position: fixed;
    top: 0;
    bottom: 0;
    background-color: #ffffff;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, .05);
    z-index: 999;
    visibility: hidden;
    text-align: left;
    right: -100%;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    overflow-y: auto;
}
body.classicCartOpen .ttvcmscart-show-dropdown-right+.modal-backdrop-cart {
    background-color: rgba(0, 0, 0, 0.3);
    position: fixed;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
body.classicCartOpen .ttvcmscart-show-dropdown-right {
    right: 0;
    visibility: visible;
}
.ttvcmscart-show-dropdown-right .ttvcart-no-product-label {
    padding: 25px 40px;
    font-weight: 500;
    font-size: 16px;
    color: #666;
    text-align: center;
}
.ttvcart-no-product {
    background-image: url(../img/themevolty/cart.png);
    background-position: center;
    min-height: 100%;
    background-repeat: no-repeat;
}

.tvcms_customer_name {
    text-transform: capitalize;
}
#module-tvcmsproductcompare-productcomparelist .tvcompare_extra_information {
    width: 11%;
}
.tvwishlist-popup {
    right: 0;
    padding: 15px;
    border: 1px solid #ffffff;
    z-index: 999;
    margin: 20px;
    background: #fff;
    position: fixed;
    width: 300px;
    text-align: center;
    display: none;
}
.tvwishlist-popup.success {
    border: 3px solid #1da61540;
}
.tvwishlist-popup.warning {
    border: 3px solid #ff9f0047;
}
.tvwishlist-popup.error {
    border: 3px solid #dd000057;
}
.tvwishlist-popup.warning i {
    color: orange;
}
.tvwishlist-popup.success i {
    color: green;
}
.tvwishlist-popup.error i {
    color: red;
}
.tvwishlist-popup p {
    padding: 0px;
    margin: 0 5px;
}
#search_filters .facet .facet-label .custom-checkbox,
#search_filters .facet .facet-label .custom-radio {
    top: auto !important;
}
#bottom_sticky_data .new_comment_form_ok {
    display: none;
}
.tv-category-main-div,
.products-sort-order .select-title {
    border: 1px solid rgba(0, 0, 0, 0.07);
}
.tvcmsfooter-background-image {
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}
/***** all common ****/
img {
    width: auto;
    height: auto;
    max-width: 100%;
}
.tvfilter-search-types-dropdown {
    max-height: 180px;
    overflow: hidden;
    overflow-y: auto;
}
.tvcms-cart-loading {
    animation: fa-spin 2s infinite linear;
}

/******* Start Custom Css *******/
/***** tv designer css *****/
/*@import url("common.css");*/

body {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    line-height: normal;
	background-color: #fff;
    /*background-color: #f2f2f2;*/
    letter-spacing: 1px;
}

/***** common css *****/
::selection {
    background-color: #d21717;
    color: #ffffff;
}

/**::-webkit-scrollbar {
    background-color: #cccccc;
    width: 5px;
}
*::-webkit-scrollbar-thumb {
    background-color: #d21717;
    width: 5px;
}*/

a:focus,
a:hover {
    color: #d90244;
    text-decoration: none;
}

.btn-primary:hover {
    color: #ffffff;
    background-color: #d90244;
    border-color: transparent
}

.btn-info.active.focus,
.btn-info.active:focus,
.btn-info.active:hover,
.btn-info:active.focus,
.btn-info:active:focus,
.btn-info:active:hover,
.open>.btn-info.dropdown-toggle.focus,
.open>.btn-info.dropdown-toggle:focus,
.open>.btn-info.dropdown-toggle:hover {
    color: #ffffff;
    background-color: #d90244;
    border-color: #d90244
}

.btn-outline-primary {
    color: #d90244;
    background-image: none;
    background-color: transparent;
    border-color: #d90244
}

.btn-outline-primary.active,
.btn-outline-primary.focus,
.btn-outline-primary:active,
.btn-outline-primary:focus,
.btn-outline-primary:hover,
.open>.btn-outline-primary.dropdown-toggle {
    color: #ffffff;
    background-color: #d90244;
    border-color: #d90244
}

.btn-outline-info.active.focus,
.btn-outline-info.active:focus,
.btn-outline-info.active:hover,
.btn-outline-info:active.focus,
.btn-outline-info:active:focus,
.btn-outline-info:active:hover,
.open>.btn-outline-info.dropdown-toggle.focus,
.open>.btn-outline-info.dropdown-toggle:focus,
.open>.btn-outline-info.dropdown-toggle:hover {
    color: #ffffff;
    background-color: #d90244;
    border-color: #d90244
}

.btn-primary {
    color: #000;
    background-color: #fc0; /* FR@ background-color: #373737; */
    border-color: transparent;
    border-radius: 33px;
}

.btn-primary.active,
.btn-primary:active,
.open>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #373737;
    border-color: transparent;
}

.btn-outline-primary.active.focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.active:hover,
.btn-outline-primary:active.focus,
.btn-outline-primary:active:focus,
.btn-outline-primary:active:hover,
.open>.btn-outline-primary.dropdown-toggle.focus,
.open>.btn-outline-primary.dropdown-toggle:focus,
.open>.btn-outline-primary.dropdown-toggle:hover {
    color: #fff;
    background-color: #373737;
    border-color: #175c6a
}

.tag-primary[href]:focus,
.tag-primary[href]:hover {
    background-color: #373737
}

a.bg-primary:focus,
a.bg-primary:hover {
    background-color: #373737
}

a.text-primary:focus,
a.text-primary:hover {
    color: #373737;
}

.btn-link {
    font-weight: 400;
    color: #d90244;
    border-radius: 0
}

.dropdown-item.active,
.dropdown-item.active:focus,
.dropdown-item.active:hover {
    color: #ffffff;
    text-decoration: none;
    background-color: #d90244;
    outline: 0
}

.nav-pills .nav-item.open .nav-link,
.nav-pills .nav-item.open .nav-link:focus,
.nav-pills .nav-item.open .nav-link:hover,
.nav-pills .nav-link.active,
.nav-pills .nav-link.active:focus,
.nav-pills .nav-link.active:hover {
    color: #ffffff;
    cursor: default;
    background-color: #d90244
}

.card-primary {
    background-color: #d90244;
    border-color: #d90244
}

.card-outline-primary {
    border-color: #d90244
}

.page-item.active .page-link,
.page-item.active .page-link:focus,
.page-item.active .page-link:hover {
    z-index: 2;
    color: #ffffff;
    cursor: default;
    background-color: #d90244;
    border-color: #d90244
}

.page-link {
    position: relative;
    float: left;
    padding: .5rem .75rem;
    margin-left: -1px;
    color: #d90244;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd
}

.tag-primary {
    background-color: #d90244
}

.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover {
    z-index: 2;
    color: #ffffff;
    text-decoration: none;
    background-color: #d90244;
    border-color: #d90244
}

.bg-primary {
    background-color: #d90244
}

.text-primary {
    color: #d90244
}

.btn-unstyle:focus .expand-more {
    color: #d90244
}

.form-control:focus,
.input-group.focus {
    outline: none;
}

.bootstrap-touchspin .group-span-filestyle .btn-touchspin,
.group-span-filestyle .bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-default {
    background: #d90244;
    color: #ffffff;
    text-transform: uppercase;
    border-radius: 0;
    font-size: .875rem;
    padding: .5rem 1rem
}

.custom-radio input[type=radio]:checked+span {
    display: block;
    background-color: #d90244;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: absolute;
    left: .125rem;
    top: .125rem
}

.dropdown-item:focus,
.dropdown-item:hover {
    background: none;
    text-decoration: none;
    color: #d90244
}

.search-widget form input[type=text]:focus+button .search {
    color: #d90244
}

.search-widget form button[type=submit] .search:hover {
    color: #d90244
}

#header .top-menu a[data-depth="0"]:hover {
    color: #d90244;
    text-decoration: none
}

.top-menu .sub-menu a:hover {
    color: #d90244
}

body#checkout section.checkout-step .delete-address,
body#checkout section.checkout-step .edit-address {
    display: inline-block;
    margin: 0 .3125rem;
    background: #373737 none no-repeat scroll 0 0;
    color: #FFF;
    padding: 0 10px;
    height: 30px;
    line-height: 30px;
    font-weight: 400;
    -webkit-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

body#checkout section.checkout-step .delete-address,
body#checkout section.checkout-step .edit-address {
    background-color: #d90244;
    color: #ffffff;
}

body#checkout section.checkout-step .delete-address:hover,
body#checkout section.checkout-step .edit-address:hover {
    background-color: #373737;
    color: #ffffff;
}

.page-my-account #content .links a:hover i {
    color: #d90244
}

.carousel .carousel-control .icon-next:hover i,
.carousel .carousel-control .icon-prev:hover i {
    color: #d90244
}

.products-sort-order .select-list:hover {
    background: #d90244;
    color: #fff;
    text-decoration: none
}

.facet-dropdown.open>.select-title {
    border: 3px solid #d90244;
    background: #f6f6f6
}

.facet-dropdown .select-list:hover {
    background: #d90244;
    color: #ffffff;
    text-decoration: none
}

.pagination .current a {
    /*color: #d90244;*/
    text-decoration: none;
    font-size: 1.25rem
}

.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover {
    color: #d90244
}

.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover {
    color: #d90244
}

.tabs .nav-tabs .nav-link.active {
    color: #d90244
}

#product-modal .modal-content .modal-body .product-images img:hover {
    border-color: #d90244
}

#blockcart-modal .product-name {
    color: #d90244;
    font-size: 1.125rem
}

.product-price .current-price .price,
.modal-body.tv-addtocart-content-part .tv-addtocart-price {
    color: #d90244;
    font-size: 20px;
    line-height: 22px;
    font-weight: 900;
    letter-spacing: 0;
    vertical-align: middle;
}

.quickview .tv-indicator.tv-bar .tv-outer,
.tv-product-page-content .tv-indicator.tv-bar .tv-outer {
    height: 8px;
}

.product-customization .product-message:focus {
    background-color: #f1f1f1;
    outline: none;
}

.cart-grid-body a.label:hover {
    color: #d90244
}

.tv-addtocart-price {
    color: #373737;
}

.block_newsletter form input[type=text]:focus {
    outline: none;
    color: #232323;
    background: #fff
}

.block_newsletter form input[type=email]::placeholder {
    color: #000;
}

.block_newsletter form input[type=text]:focus+button .search {
    color: #d90244
}

.block_newsletter form button[type=submit] .search:hover {
    color: #d90244
}

.account-list a:hover {
    color: #d90244
}

#header .header-nav .cart-preview.active {
    background: #d90244
}

#header .header-nav .blockcart a:hover {
    color: #d90244;
}

#wrapper .breadcrumb {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
}

#wrapper .breadcrumb li:last-child a,
#wrapper .breadcrumb li:hover a {
    color: #d90244;
}

#wrapper .breadcrumb li:last-child:after {
    content: none;
}

#wrapper .breadcrumb li a {
    /*text-transform: capitalize;*/
}

#tv-back-top-wrapper {
    background-color: #ffffff;
    border: 1px solid #ececec;
    border-radius: 3px;
}

#search_filters_brands .facet .tvsearch-filter-brand-wrapper li.facet-label a:hover,
#search_filters_suppliers .facet .tvserach-filter-suppliers li.facet-label a:hover,
.tvserach-filter-suppliers p:hover {
    color: #d90244;
}

.cart-summary-line:not(:last-child) {
    margin-bottom: 10px;
}

.tvprocess-to-checkout {
    background-color: #d90244;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
}

.checkout .tvprocess-to-checkout i {
    font-size: 18px;
    margin: 0 0 0 5px;
}
.tvcenter-block-product-section {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    padding: 15px 0;
    background-color: #ffffff;
    margin-bottom: 30px;
}

body#checkout .custom-checkbox {
    float: left;
}

.tvwishlist-send-mess-btn .button-small {
    background-color: #d90244;
    color: #ffffff;
}

.tvwishlist-send-mess-btn .button-small:hover {
    background-color: #222222;
}

.tvcmsNewsLetterPopup-i .tvnewsletterpopup-button-icon:hover {
    background-color: #d90244;
}

.tv-sub-category-inner {
    border-radius: 3px;
    border: 1px solid transparent;
}

.tv-sub-category-inner:hover {
    border: 1px solid rgba(0, 0, 0, 0.04);
}

.tv-category-image {
    text-align: center;
}

#js-product-list .tvgrid-list-view-product .products {
    margin: 0 -7.5px;
}

#block-reassurance li .block-reassurance-item {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-left: 3px solid #355e9e;  /* FR@  #00000;*/
	border-radius: 3px;				/* FR@  empty*/
}

.form-control {
    /*background-color: #ffffff;*/
    border-radius: 12px;
}

.form-control-submit.disabled {
    background-color: #000000;
}

/***** end common css *****/
#wrapper {
    /*padding-top: 15px;*/
    position: relative;
}

#index #wrapper {
    padding-top: 25px;
    padding-bottom: 0;
}

#cms #wrapper,
#category #wrapper,
#product #wrapper {
    /*padding: 0;*/
}

#authentication .radio-inline .custom-radio,
#identity .radio-inline .custom-radio {
    margin-right: 8px;
}

#pagenotfound .page-not-found {
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.07);
}

#authentication .radio-inline,
#identity .radio-inline {
    padding: 0 10px 0 0;
}

#module-tvcmsblog-single .blog_post_content {
    overflow: hidden;
    margin-bottom: 30px;
}

#main .tvpage-header-title-wrapper,
.tvall-page-top-title {
    border-radius: 3px;
}

#sitemap .sitemap {
    display: inline-block;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    background-color: #fff;
    margin-top: 0;
    padding: 15px 0;
    width: 100%;
    margin: 0 auto;
}

.sitemap ul li a:hover {
    color: #355e9e
}

#main .tv-sub-pages-inner-content {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    padding: 30px;
}

#contact .contact-rich {
    background-color: #fff;
    padding: 15px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.07);
}

.tvall-page-top-title h1,
#main .tvpage-header-title-wrapper h1 {
    color: #222222;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: uppercase;
}

#module-tvcmsblog-archive .blog_post_content {
    padding: 15px;
}

.tv_blog_post_area .tvblog_post .post_thumbnail {
    margin-bottom: 0;
}

.tv_blog_post_area.single .tvblog_post .post_content .post_meta {
    margin-bottom: 10px;
}

.tv_blog_post_area.single .post_content {
    text-align: left;
}

#blog_post .meta_date i {
    font-size: 16px;
    line-height: 14px;
    height: 18px;
}

.tv_blog_post_area .post_content .post_title {
    margin-bottom: 15px;
}

.tv_blog_post_area .read_more {
    display: inline-block;
    width: 100%;
}

.pagination .tvinner-page-pagination li {
    /*background-color: #ffd741;*/
}

.pagination .disabled {
    color: #000000;
}

input {
    outline: none;
    padding: 0 10px;
}

.container {
    position: relative;
}

@media (max-width: 1200px) {
    .container {
        width: 1630px;
        max-width: 100%;
        max-width: 100%;
    }

    .tvcmsdesktop-top-header .container,
    .tvcms-header-menu-offer-wrapper .container,
    .tvcmsdesktop-top-second .container {
        width: 1630px;
        max-width: 100%;
        padding: 0 45px;
    }
}

@media (max-width: 1661px) {

    .tvcmsdesktop-top-header .container,
    .tvcms-header-menu-offer-wrapper .container,
    .tvcmsdesktop-top-second .container {
        max-width: 100%;
        padding: 0 55px;
		padding-left: 10px; /* menu più a sinistra Fr@*/
    }
}

@media (max-width: 1023px) {

    .container,
    .tvcmsdesktop-top-header .container,
    .tvcms-header-menu-offer-wrapper .container,
    .tvcmsdesktop-top-second .container {
        padding: 0 15px;
    }
}

.table-bordered,
.table-bordered td,
.table-bordered th {
    border: 1px solid rgba(0, 0, 0, 0.07);
    vertical-align: middle;
}

.table thead th {
    border-bottom: 2px solid #e5e5e5;
    display: table-cell;
}

/***** quickview-comman-page *****/
.quickview .modal-footer {
    border-top: 1px solid rgba(0, 0, 0, 0.07);
}

.quickview .modal-content {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    min-height: 28.13rem;
    border-radius: 3px;
}

#blockcart-modal .modal-title {
    padding-right: 25px;
}

/***** comper *****/
.tvcmscomparison .remove {
    text-align: right;
}

/***** theme *****/
.tvcms-loading-inner {
    background-color: transparent;
    padding: 0;
}

.tv-main-div {
    position: relative;
    overflow: hidden;
    /*background-color: #f5f5f5; SFONDO*/
	background-color: #fff;
}

.tvsearch-dropdown-total-wrapper:hover .tvsearch-dropdown-total {
    color: #d90244;
}

.tvcart-product-list-checkout:hover {
    background-color: #d90244;
    color: #ffffff;
}

.tvnews-event-link {
    width: 100%;
    overflow: hidden;
}

#header .tvcart-product-list-checkout:hover a {
    color: #ffffff;
}

/***** left pannal *****/
#content-wrapper .container {
    padding: 0;
}

.tvtab-product-list-wrapper,
.tvcategory-slider-inner-info-box,
.tvspecial-product {
    margin: 0;
}

.tvsame-category-product,
.tvcross-selling-product,
.tvlike-product {
    margin: 0 -7.5px;
}

.tvcmsvertical-menu-wrapper .tvleft-right-title.facet-label {
    text-align: left;
    padding-left: 40px;
}

.tvleft-right-title.facet-label,
.block-categories .category-top-menu>li.tv-category-title-wrapper a {
    text-align: left;
    color: #333333;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Roboto Condensed', sans-serif;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.tvleft-right-title.facet-label {
    text-align: left;
}



.tvleft-right-title-toggle {
    color: #000000;
    display: none;
}

#products.grid .tvproduct-view.tvproduct-grid,
#products.grid-2 .tvproduct-view.tvproduct-grid-2,
#products.list .tvproduct-view.tvproduct-list,
#products.list-2 .tvproduct-view.tvproduct-list-2,
#products.catelog .tvproduct-view.tvproduct-catelog,
.tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper:hover,
.tvcmsproduct-grid-list .tvproduct-view:hover,
.tv_search_filter_wrapper .tvleft-right-title-wrapper:hover {
    /*background-color: #d90244;*/
}

#search_filters_brands,
#search_filters_suppliers,
.tvleft-right-penal-all-block,
.block-categories,
.tvcms-left-testimonial,
#left-column .tvcmscustomer-services,
#right-column .tvcmscustomer-services,
.tvcmsblog-left-side {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    margin-bottom: 30px;
    background-color: #ffffff;
}

#search_filters_brands .facet .tvsearch-filter-brand-wrapper li.facet-label a,
.tvserach-filter-suppliers p {
    color: #333333;
    font-size: 14px;
    font-weight: 400;
}

.tvleft-right-title-wrapper,
.tv-category-title-wrapper {
    background-color: transparent;
    padding: 10px 15px;
    text-align: left;
}

.tvleft-product-wrapper-info,
.tvcmsblog-left-side .tvblog-event-all-block,
.tvsearch-filter-brand-wrapper,
.tvserach-filter-suppliers,
.tvtestimonial-slider-button-wrapper,
.tv-category-wrapper,
.tv-leftcategory-wrapper,
.tvserach-filter-wrapper,
#left-column .tv-all-service.card-deck,
#right-column .tv-all-service.card-deck {
    border-top: 1px solid rgba(0, 0, 0, 0.07);
}

.tvcategory-name {
    text-align: center;
    margin-top: 15px;
    color: #373737;
}

.tvcategory-name a {
    color: #373737;
	font-weight: 500; /* GRASSETTO NOMI CATEGORIE FR@*/
}



.block-categories .category-sub-menu {
    margin-top: 0;
}

.block-categories .category-top-menu li>.category-sub-menu {
    margin: 0;
    padding: 10px 20px;
}



.tvcategory-chain-slider-inner-info-box,
.tvfeature-product-offer-banner,
.tvtab-product-branner {
    margin: 0 -7.5px;
}

@media(max-width: 1380px) {

    .tvleft-right-title.facet-label,
    .block-categories .category-top-menu>li.tv-category-title-wrapper a {
        font-size: 14px;
    }
}

@media(max-width: 1199px) {

    .tvleft-right-title.facet-label,
    .block-categories .category-top-menu>li.tv-category-title-wrapper a {
        font-size: 16px;
    }
}

@media(max-width: 1199px) {
    #left-column .tvleft-right-product-slider {
        width: 25%;
        float: left;
    }

    #left-column .tvleft-product-wrapper {
        overflow: hidden;
    }

    #left-column .tvfilter-brand-list-wrapper {
        width: 49%;
        float: left;
        margin-right: 7.5px;
    }

    #left-column .tvfilter-supplier-list-wrapper {
        width: 49%;
        float: left;
        margin-left: 7.5px;
    }
}



#category .page-content.page-not-found .tvsearch-top-wrapper {
    padding: 0;
}

#pagenotfound #content-wrapper .tvsearch-header-display-wrappper {
    position: inherit;
    visibility: visible;
    opacity: 1;
    transform: unset;
    box-shadow: none;
}

.tvcmsleftsideofferbanners-one {
    margin-bottom: 30px;
}

.tvcmsleftsideofferbanners-one img {
    width: 100%;
}

@media(max-width: 1199px) {
    .tvcmsleftsideofferbanners-one img {
        width: auto;
    }

    .tvcmstvcmsleftsideofferbanners {
        text-align: center;
    }

    .tvcmsleftsideofferbanners-one {
        text-align: center;
    }
}

.block-categories .category-sub-menu li[data-depth="0"]>a {
    font-weight: 600;
    font-size: 14px;
    color: #333333;
}

.block-categories .category-sub-menu li[data-depth="2"]:hover>a,
.block-categories .category-sub-menu li[data-depth="0"]:hover>a,
.block-categories .category-sub-menu li[data-depth="1"]:hover>a {
    color: #d90244;
}

.block-categories .category-sub-menu li:hover>.navbar-toggler {
    color: #d90244;
}

.block-categories .category-sub-menu li .category-sub-link {
    color: #666666;
    font-weight: 400;
    font-size: 14px;
}

.block-categories .category-sub-menu li .category-sub-link:hover {
    color: #d90244;
}

/***** theme-control *****/


.tvcmstheme-control .tvtheme-control-wrapper .tvselect-theme select,
.tvcmstheme-control .tvtheme-control-wrapper .tvselect-title-font-1 select,
.tvcmstheme-control .tvtheme-control-wrapper .tvselect-title-font-2 select {
    background-image: url(../img/themevolty/arrow-down.png);
    background-color: #ffffff;
    color: #000000;
    font-weight: 400;
    font-size: 14px;
    width: 90%;
    margin: 0 auto;
    display: block;
    padding: 13px 15px;
    background-repeat: no-repeat;
    background-position: 96%;
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    cursor: pointer;
    border: 1px solid #eeeeee;
    border-radius: 3px;
    /*float: right;*/
}



/***** new button *****/
/***** app logo *****/
.tvcmsapp-logo {
    margin-bottom: 30px;
}

.tvapp-logo-content-box {
    background-color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    border-radius: 3px;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.07);
    padding: 30px 100px 0 100px;
    margin: 0;
}

.tvapp-logo-img-content-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

.tvapp-logo-content-inner {
    text-align: right;
    padding-right: 100px;
    width: 450px;
    padding-bottom: 60px;
}



.tvapp-logo-content-inner .tvdekstop-footer-all-title-wrapper .tvfooter-title span {
    font-size: 36px;
    display: block;
    color: #333333;
    letter-spacing: 0.3px;
    font-weight: 700;
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: capitalize;
}

.tvdekstop-footer-all-sub-title-wrapper {
    display: none;
}

.tvdekstop-footer-all-desc-wrapper span {
    font-size: 16px;
    color: #333333;
    font-weight: 500;
    line-height: 30px;
    -webkit-line-clamp: 2;
    overflow: hidden;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    text-transform: capitalize;
}

.tvapp-logo-wrapper {
    margin: 5px;
    display: inline-block;
}

.tvapp-logo-link-wrapper {
    display: inline-block;
    text-align: center;
}

@media(max-width: 1660px) {
    .tvapp-logo-content-inner .tvdekstop-footer-all-title-wrapper .tvfooter-title span {
        font-size: 28px;
    }

    .tvapp-logo-content-inner {
        padding-right: 50px;
        width: 500px;
        padding-bottom: 0;
    }

    .tvdekstop-footer-all-desc-wrapper span {
        font-size: 12px;
    }

    .tvapp-logo-content-box {
        padding: 30px 60px 0 60px;
    }
}

@media(max-width: 1399px) {
    .tvapp-logo-content-box {
        padding: 30px 50px 0 50px;
    }
}

/***** blog *****/
.tvcmsblog-event .tvblog-event-all-content-block.tvblog-even .tvblog-img-block:after,
.tvcmsblog-event .tvblog-event-all-content-block.tvblog-odd .tvblog-img-block:after {
    display: none;
}

.tvnews-event-content-wrapper {
    text-align: center;
    padding: 20px 15px;
}

.tvnews-event-read-more {
    text-align: left;
}

.tvnews-event-content-wrapper .tvdate-time {
    margin-bottom: 10px;
    display: inline-block;
    vertical-align: middle;
}

.tvnews-event-content-wrapper .tvdate-time .tvmonth-time {
    padding: 0 5px;
}

.tvnews-event-content-wrapper .tvnews-event-titel a h3,
.kr_blog_post_area .tvblog_post .post_content .post_title a {
    color: #333333;
    font-size: 16px;
    font-weight: 500;
    text-transform: capitalize;
    letter-spacing: 0.3px;
}

.tvnews-event-content-wrapper .tvnews-event-titel {
    margin-bottom: 10px;
}

.tvblog-event-all-content-block .tvnews-event-titel a:hover {
    color: #d90244;
}

.tvnews-event-description,
.kr_blog_post_area .tvblog_post .post_content .post_description p {
    color: #666666;
    font-size: 14px;
    line-height: 20px;
    -webkit-line-clamp: 2;
    margin-bottom: 0;
}

.tvnews-wrapper-info-box {
    background-color: transparent;
    padding: 0;
}

.tvblog-img-content-wrapper {
    background-color: #ffffff;
    transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
}

.tvblog-event-all-content-block .tvblog-img-block .tvblog-content-img {
    position: relative;
    height: auto;
}

.tvblog-event-all-content-block .tvnews-event-buttons i {
    color: #ffffff;
    line-height: 44px;
}

.tvblog-event-all-content-block .tvblog-img-block .tvblog-content-img:after,
.blog_post_content_top .tvnews-event-overly {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    right: 0;
    top: -100px;
    bottom: 0;
    opacity: 0;
    background-color: rgba(51, 51, 51, 0.5);
    transition: all 0.6s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.tvblog-event-all-content-block:hover .tvblog-img-block .tvblog-content-img:after,
.blog_post_content_top:hover .tvnews-event-overly {
    opacity: 1;
    top: 0;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.tvblog-event-all-content-block .tvnews-event-buttons {
    height: 46px;
    width: 46px;
    display: block;
    border-radius: 25px;
    border: 2px solid #ffffff;
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -khtml-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    text-align: center;
}

.tvblog-event-all-content-block .tvnews-event-buttons {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    opacity: 0;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    -ms-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.tvblog-event-all-content-block .tvblog-img-block .tvblog-content-img,
.blog_post_content {
    transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -khtml-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.tvblog-event-all-content-block:hover .tvnews-event-buttons,
.blog_post_content:hover .tvnews-event-buttons {
    opacity: 1;
}

.blog_post_content_top.tvblog-img-block,
.kr_blog_post_area .tvblog_post .post_thumbnail {
    overflow: hidden;
}

.tvblog-date-username .post_meta {
    display: inline-block;
    vertical-align: top;
}

.tvblog-date-username p,
#module-tvcmsblog-archive .post_content .post_meta p {
    color: #666666;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.3px;
    margin-bottom: 0;
    display: inline-block;
    vertical-align: middle;
}

.kr_blog_post_area .tvblog_post .post_content .post_meta,
.kr_blog_post_area .tvblog_post .post_content .post_title {
    margin-bottom: 5px;
}

.blog_post_content .tvnews-event-buttons i {
    border: none;
    -webkit-transform: unset;
    -moz-transform: unset;
    -ms-transform: unset;
    -o-transform: unset;
    transform: unset;
}

.blog_post_content .tvnews-event-buttons:hover i {
    border: none;
    color: #ffffff;
}

.blog_post_content .tvnews-event-buttons i {
    color: #ffffff;
    font-size: 24px;
}

#module-tvcmsblog-archive .tvpagination-title-item-main-wrapper {
    margin: 0;
}

.tvpagination-title-item-wrapper .tvinner-page-pagination-wrapper {
    background-color: #ffffff;
    display: flex;
    padding: 10px 0;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    margin-bottom: 0;
}

.kr_blog_post_inner.products,
#module-tvcmsblog-archive .tvall-page-top-title,
#module-tvcmsblog-single .page-content {
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
}

#module-tvcmsblog-single .page-content {
    padding: 30px 15px;
}

@media(max-width: 1199px) {
    .tvblog-event-all-content-block {
        padding: 15px;
    }
}
/***** left blog *****/
.tvcmsblog-left-side .tvblog-img-block {
    padding: 0;
}

.tvnews-event-read-more {
    display: none;
}

.tvdate-time-icon {
    height: 16px;
    width: 16px;
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    background-image: url(../img/themevolty/sprite.png);
    background-position: -217px -268px;
}

.tvcms-blog-left-side-pagination-wrapper {
    height: 60px;
}

/***** end blog *****/
/***** single banner *****/
.tvcmsofferbanners-one {
    margin-bottom: 30px;
}

.tvcmstvcmsofferbanners .tvbanner-hover-wrapper {
    overflow: hidden;
}

/***** end single banner *****/
/***** slider *****/
.tvcmssliderofferbanners-one .tvbanner1,
.tvcmssliderofferbanners-one .tvbanner2 {
    padding: 0;
}

.tvcmssliderofferbanners-one .tvbanner1 {
    margin-bottom: 30px;
}

.tvcms-main-slider {
    /*border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;*/
}

.tvcms-slider-offerbanner-wrapper {
    margin-bottom: 10px; /* FR@ margin-bottom: 30px; */
}

.tvcmssliderofferbanners-one {
    width: 18.2%;   /* FR@ width: 20%; */
}

.tvcmsmain-slider-wrapper {
    width: 80%;
}

.tvmain-slider-contant {
    position: initial;
    -webkit-transform: none;
    -o-transform: none;
    -ms-transform: none;
    -moz-transform: none;
    transform: none;
    max-width: unset;
    cursor: pointer;
}

.tvmain-slider-content-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: 1px solid #f7f7f7;
    background-color: #fefefe;
}

.tvmain-slider-content-inner {
    padding: 0 15px;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.tvmain-slider-content-inner:after {
    position: absolute;
    content: "";
    bottom: 0;
    width: 100%;
    height: 1px;
    left: 0;
    background-color: transparent;
}

.tvmain-slider-content-inner.active:after {
    /*background-color: #d90244;  linea sotto lo slider FR@  background-color: #d90244;  */
}

.tvmain-slider-contant .tvmain-slider-title {
    font-size: 14px;
    font-weight: 500;
    color: #222222;
    text-transform: capitalize;
    margin-bottom: 0;
    text-shadow: none;
    text-align: center;
    padding-bottom: 8px;
    padding-top: 13px;
    letter-spacing: 0.3px;
}

.tvmain-slider-contant .tvmain-slider-title:hover {
    color: #d90244;
}

.tvmain-slider-contant .tvmain-slider-info h2 {
    font-size: 84px;
    text-transform: uppercase;
    margin-bottom: 25px;
    color: #222222;
    font-weight: 700;
    text-shadow: none;
    display: none;
}
.tvmain-slider-contant .tvmain-slider-info p {
    font-size: 12px;
    color: #666666;
    font-weight: 400;
    text-transform: capitalize;
    letter-spacing: 0.3px;
    margin-bottom: 10px;
}
.tvmain-slider-btn {
    display: none;
}

.tvmain-slider-contant .tvmain-slider-button {
    text-transform: uppercase;
    font-size: 16px;
    color: #FFFFFF;
    padding: 0 20px;
    font-weight: 500;
    letter-spacing: 0;
    cursor: pointer;
    border-radius: 10px;
    line-height: 35px;
    border: none;
    text-shadow: none;
    background-color: #d90244;
}

.tvmain-slider-contant .tvmain-slider-button:hover {
    color: #d90244;
}



@media (max-width: 1585px) {
    .tvmain-slider-contant .tvmain-slider-title {
        padding-top: 9px;
    }

    .tvmain-slider-contant .tvmain-slider-info p {
        margin-bottom: 10px;
    }
}

@media(min-width:1400px) and (max-width: 1500px) {
    .tvmain-slider-contant .tvmain-slider-title {
        padding-bottom: 5px;
        padding-top: 5px;
    }

    .tvmain-slider-contant .tvmain-slider-info p {
        letter-spacing: 0.3px;
        margin-bottom: 7px;
    }

    .tvcms-main-title .tvmain-title h2 {
        font-size: 28px;
    }

    .tvtab-title-wrapper .tvtabs-products li span,
    .tvleft-right-title.facet-label,
    .block-categories .category-top-menu>li.tv-category-title-wrapper a,
    .tvfooter-title-wrapper .tvfooter-title,
    .tvdekstop-footer-all-title-wrapper .tvfooter-title,
    .block_newsletter .tvnewsletter-title,
    .tvservices-content-box .tvservices-title {
        font-size: 16px;
    }

    .product-price-and-shipping .price,
    .h6,
    h6 {
        font-size: 15px;
    }
}

@media(min-width:1281px) and (max-width: 1400px) {
    .tvcmsvertical-menu li.level-1 {
        margin: 6px 0;
        padding: 7px 10px;
    }

    .tvmain-slider-contant .tvmain-slider-info p {
        margin-bottom: 7px;
    }

    .tvmain-slider-contant .tvmain-slider-title {
        padding-bottom: 0px;
        padding-top: 5px;
    }

    .tvmain-slider-contant .tvmain-slider-info p {
        letter-spacing: 0.3px;
        margin-bottom: 5px;
    }

    .tvcms-main-title .tvmain-title h2 {
        font-size: 24px;
    }

    .tvtab-title-wrapper .tvtabs-products li span,
    .tvleft-right-title.facet-label,
    .block-categories .category-top-menu>li.tv-category-title-wrapper a,
    .tvfooter-title-wrapper .tvfooter-title,
    .tvdekstop-footer-all-title-wrapper .tvfooter-title,
    .block_newsletter .tvnewsletter-title,
    .tvservices-content-box .tvservices-title {
        font-size: 16px;
    }

    .product-price-and-shipping .price,
    .h6,
    h6 {
        font-size: 15px;
    }
}

@media(max-width:1280px) {
    .tvfooter-product-sticky-bottom .product-quantity .input-group-btn-vertical .btn {
        float: none;
    }

    .tvcmsvertical-menu li.level-1 {
        margin: 7px 0;
        padding: 7px 10px;
    }

    .tvcmsvertical-menu li.level-1,
    .tvvertical-menu-show-hide-category .tvvertical-show-category,
    .tvvertical-menu-show-hide-category .tvvertical-hide-category {
        padding: 5px 15px;
    }

    .tvmain-slider-contant .tvmain-slider-info p {
        margin-bottom: 2px;
    }

    .tvmain-slider-contant .tvmain-slider-title {
        padding-bottom: 2px;
        padding-top: 3px;
    }

    .tvcmsvertical-menu-wrapper .tvleft-right-penal-all-block {
        padding-left: 10px;
    }
}

@media(max-width:1200px) {

    .tvcmsvertical-menu li.level-1,
    .tvvertical-menu-show-hide-category .tvvertical-show-category,
    .tvvertical-menu-show-hide-category .tvvertical-hide-category {
        padding: 14px 10px;
    }
}

body#checkout .custom-checkbox {
    float: left;
}

/***** end slider *****/
/*****************************************************/

@media (min-width: 1024px) and (max-width: 1661px) {

    .tvcmsbrandlist-slider .container,
    .tvcmscustomer-services .container,
    .footer-container .container,
    .tvfooter-product-box-layout .container,
    .tv-main-div #wrapper>.container {
        max-width: 100%;
        padding: 0 45px;
    }
}

@media (min-width: 1200px) {
    #content-wrapper.col-xl-10 {
        float: left;
        width: 78%;
    }

    #right-column.col-xl-2,
    #left-column.col-xl-2 {
        float: left;
        width: 22%;
    }
}

@media (min-width: 1660px) {
    #content-wrapper.col-xl-10 {
        float: left;
        width: 80%;
    }

    #right-column.col-xl-2,
    #left-column.col-xl-2 {
        float: left;
        width: 20%;
    }
}

/***************************/
.shimmercard-container {
    position: relative;
    padding-bottom: 15px;
}

.shimmercard {
    border: 1px solid rgba(0, 0, 0, 0.07);
    background-color: #FFF;
    border-radius: 6px;
    overflow: hidden;
    left: 27%;
    top: 140px;
}

.shimmercard:nth-child(2) {
    top: 160px;
    transform: scale(0.95);
}

.shimmercard:nth-child(1) {
    top: 180px;
    transform: scale(0.9);
}

.shimmerBG {
    background: #f3f3f3cf;
    background-size: 1200px 100%;
}

@-webkit-keyframes shimmer {
    0% {
        background-position: -100% 0;
    }

    100% {
        background-position: 100% 0;
    }
}

@keyframes shimmer {
    0% {
        background-position: -1200px 0;
    }

    100% {
        background-position: 1200px 0;
    }
}

.shimmermedia {
    padding-top: 100%;
}

.shimmerp-32 {
    padding: 7.5px;
}

.shimmertitle-line {
    height: 24px;
    width: 100%;
    margin-bottom: 12px;
    border-radius: 20px;
}

.shimmercontent-line {
    height: 8px;
    width: 80%;
    margin-bottom: 16px;
    border-radius: 8px;
}

.shimmerend {
    width: 40%;
}

.shimmerm-t-24 {
    margin-top: 24px;
}

.shimmercategory-chain-slider-wrapper .shimmercard {
    width: 410px;
    height: 370px;
}

.shimmercategory-chain-slider-content {
    padding: 30px 15px;
}

.shimmercategory-chain-slider-wrapper .shimmermedia {
    height: 200px;
    display: table;
}

.shimmerproduct-left-right-penal .shimmermedia {
    width: 50%;
    float: left;
    height: 100px;
}

.shimmerproduct-left-right-penal .shimmerproduct-left-right-content {
    width: 50%;
    float: right;
}

.shimmerproduct-left-right-penal .shimmercard {
    flex-direction: inherit;
    height: 100px;
}

/********************/
.tvfooter-logo-block .tvfooter-img-block img {
    max-height: 200px;
    height: auto;
    width: auto;
}

#pagenotfound #main .page-header {
    margin-top: 0px;
}

.tvfooter-payment-icon img {
    width: auto;
    height: auto;
}

.tv-category-block-wrapper .tv-category-cover img,
.tv-category-image img {
    border-radius: 3px;
}

.page-content {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 3px;
    padding: 15px 15px;
}

.tvproduct-description-tab #tab-content {
    padding: 30px;
    background: #fff;
    border-radius: 3px;
}

#left-column #search_filters {
    display: block;
}

/*******************************/
.tvfooter-social-icon-left {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    left: -95px;
    direction: ltr;
    z-index: 60;
    margin: 0
}

.tvfooter-social-icon-left .tvsocial-title {
    display: inline-block;
    vertical-align: middle;
    text-transform: capitalize;
}

.tvfooter-social-icon-left li {
    display: block;
    height: auto;
    width: auto;
    background-color: transparent;
    border-radius: 3px;
    text-align: right;
    margin-bottom: 7px;
    transition: all .3s linear;
}

.tvfooter-social-icon-left li:hover {
    margin-right: calc(-80% + 15px);
}

.tvfooter-social-icon-left li a {
    display: block;
    background-color: #fff;
    box-shadow: 1px 1px 3px 0px rgba(122, 122, 122, 0.18);
    border-radius: 0 5px 5px 0;
    padding-left: 10px;
    transition: all .3s ease;
}

.tvfooter-social-icon-left li:hover a {
    color: #fff;
    box-shadow: none;
}

.tvfooter-social-icon-left li i {
    display: inline-block;
    vertical-align: middle;
    background-image: url(../img/themevolty/sprite.png);
    height: 32px;
    width: 40px;
}

.tvfooter-social-icon-left .rss i {
    background-position: -105px -10px;
}

.tvfooter-social-icon-left .facebook i {
    background-position: -105px -60px;
}

.tvfooter-social-icon-left .twitter i {
    background-position: -105px -110px;
}

.tvfooter-social-icon-left .youtube i {
    background-position: -104px -158px;
}

.tvfooter-social-icon-left .googleplus i {
    background-position: -102px -258px;
}

.tvfooter-social-icon-left .pinterest i {
    background-position: -103px -208px;
}

.tvfooter-social-icon-left .vimeo i {
    background-position: -104px -358px;
}

.tvfooter-social-icon-left .instagram i {
    background-position: -104px -309px;
}

.tvfooter-social-icon-left .rss:hover i {
    background-position: -5px -10px;
}

.tvfooter-social-icon-left .facebook:hover i {
    background-position: -5px -60px;
}

.tvfooter-social-icon-left .twitter:hover i {
    background-position: -5px -110px;
}

.tvfooter-social-icon-left .youtube:hover i {
    background-position: -4px -158px;
}

.tvfooter-social-icon-left .googleplus:hover i {
    background-position: -2px -258px;
}

.tvfooter-social-icon-left .pinterest:hover i {
    background-position: -3px -208px;
}

.tvfooter-social-icon-left .vimeo:hover i {
    background-position: -4px -358px;
}

.tvfooter-social-icon-left .instagram:hover i {
    background-position: -4px -309px;
}

.tvfooter-social-icon-left .rss:hover a {
    background-color: #ff7b0a
}

.tvfooter-social-icon-left .facebook:hover a {
    background-color: #3a589e
}

.tvfooter-social-icon-left .twitter:hover a {
    background-color: #5ea9dd
}

.tvfooter-social-icon-left .youtube:hover a {
    background-color: #ec2828
}

.tvfooter-social-icon-left .googleplus:hover a {
    background-color: #df4b38
}

.tvfooter-social-icon-left .pinterest:hover a {
    background-color: #cb2027
}

.tvfooter-social-icon-left .vimeo:hover a {
    background-color: #1ab7ea
}

.tvfooter-social-icon-left .instagram:hover a {
    background-color: #64443c
}

.tvright-sticky-option {
    position: fixed;
    right: -100px;
    top: 50%;
    -webkit-transform: translateY(-48%);
    transform: translateY(-48%);
    direction: ltr;
    z-index: 70
}

.tvright-sticky-option #tvcmsdesktop-user-info .tvhedaer-sign-btn,
.tvright-sticky-option .tvcmsdesktop-view-wishlist .tvwishlist-name span,
.tvright-sticky-option .tvcmsdesktop-view-compare .tvdesktop-view-compare-name {
    line-height: normal;
}

.tvright-sticky-option .tvtight-sticky {
    background-color: #fff;
    height: 30px;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    padding: 0 10px 0 0;
    box-shadow: -1px 1px 3px 0px rgba(122, 122, 122, 0.18);
    border-radius: 5px 0 0 5px;
    transition: all .3s ease;
}

.tvright-sticky-option .tvtight-sticky:hover {
    background-color: #ff214f;
    color: #000;
    box-shadow: none;
    margin-left: calc(-80% + 1px);
}

.tvright-sticky-option .tvtight-sticky:hover i,
.tvright-sticky-option .tvtight-sticky:hover span,
.tvright-sticky-option .tvtight-sticky:hover a,
.tvright-sticky-option .tvtight-sticky:hover .tvdesktop-view-compare-name {
    color: #fff;
}

.tvright-sticky-option .tvtight-sticky i {
    font-size: 18px;
    height: 30px;
    width: 35px;
    line-height: 30px;
    text-align: center;
    vertical-align: middle;
}

/********************************/
#search_filters .facet .facet-label:hover a {
    color: #d90244
}

.custom-checkbox {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-right: 7px;
    float: left;
}

.custom-checkbox input[type='checkbox'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 17px;
    width: 17px;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    cursor: pointer;
}

.custom-checkbox span {
    border: 1px solid rgba(0, 0, 0, 0.07);
    height: 17px;
    width: 17px;
    line-height: 1;
    background: #F6F8FF;
    border-radius: 3px;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, .14)
}

.custom-checkbox label {
    margin-left: 7px;
    text-align: left;
}

.custom-checkbox span i {
    font-size: 14px;
    font-weight: bold;
    margin: 0px 0 1px 1px;
    opacity: 0;
    -webkit-transform: scale(.6);
    -moz-transform: scale(.6);
    -ms-transform: scale(.6);
    -o-transform: scale(.6);
    transition: all .3s ease-in-out;
}

.custom-checkbox input[type=checkbox]:checked+span {
    border: 1px solid #888;
}

.custom-checkbox input[type=checkbox]:checked+span .checkbox-checked,
.custom-checkbox input[type=checkbox]:checked+span i {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

.tvfilter-search-types-dropdown .tvcolor-box .color i {
    font-size: 16px;
    margin: 3px 0 1px 1px;
}

/* --- RESET E UNIFORMAZIONE PULSANTI GIALLI --- */
.tvall-inner-btn {
    background-color: #ffcc00 !important; /* Giallo fisso */
    color: #ffffff !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    display: inline-flex !important; 
    align-items: center;
    justify-content: center;
    outline: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all .3s ease-in-out !important;
    position: relative;
    text-decoration: none !important;
    font-weight: 600;
    text-transform: uppercase;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Ombra leggera */
	width: auto !important;
}

/* Rimuoviamo l'effetto rosso o bianco sovrapposto del tema */
.tvall-inner-btn:after {
    display: none !important; 
}

/* Hover: Giallo più intenso e ombra più marcata */
.tvall-inner-btn:hover {
    background-color: #e6b800 !important; /* Giallo più scuro */
    color: #fff !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.2) !important;
    transform: translateY(-2px); /* Effetto sollevamento */
}

/* --- PULSANTE ANNULLA (Uniformato nello stile) --- */
.tvall-inner-btn-cancel {
    background-color: #355e9e !important;
    color: #fff !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: none !important;
    transition: all .3s ease-in-out !important;
    font-weight: 600;
    text-transform: uppercase;
}

.tvall-inner-btn-cancel:hover {
    background-color: #2a4a7d !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.2) !important;
}

/* --- FIX SPECIFICO MOBILE PER CENTRATURA E SPAZIO --- */
@media (max-width: 767px) {
    /* Forza i pulsanti a occupare la riga e centrarsi */
    body#my-account .page-footer, 
    body#my-account .tvtheme-layout-wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 20px 0 !important;
    }

    .tvall-inner-btn, .tvall-inner-btn-cancel {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
        width: 100% !important;
        max-width: 280px;
    }
}

.tvall-inner-btn-cancel.disabled,
.tvall-inner-btn.disabled,
i.material-icons.block {
    cursor: no-drop;
}

button.js-mailalert-add {
    margin-top: 0 !important;
}
.tvproduct-stock-social .tv-product-page {
    display: inline-flex;
}

.tvall-inner-btn span,
.tvall-inner-btn i {
    position: relative;
    z-index: 1;
    text-decoration: none;
}

.tvall-inner-btn:hover span,
.tvall-inner-btn:hover i {
    color: #fff;
    text-decoration: none;
}

.tvall-inner-btn-cancel span,
.tvall-inner-btn span {
    font-size: 13px;
    color: #000;
    text-transform: uppercase;
    line-height: normal;
    vertical-align: middle;
    letter-spacing: 2px;
    display: inline-block;
    text-align: center;
	font-weight: 600;
}

.tvall-inner-btn-cancel span {
    color: #fff;
    vertical-align: middle;
}

.tvall-inner-btn i {
    margin-right: 5px;
    color: #000;
    font-size: 15px;
    vertical-align: middle;
}

.tvedit-btn {
    background-color: #156674;
    color: #fff;
    padding: 6px 7px;
    display: inline-block;
    vertical-align: middle;
    border: none;
    outline: none;
    border-radius: 3px;
    margin: 0 5px 5px 0
}

.tvremove-btn {
    background-color: #c82333;
    border-radius: 3px;
    color: #fff;
    padding: 6px 7px;
    display: inline-block;
    vertical-align: middle;
    border: none;
    outline: none;
    border-radius: 3px;
    margin: 0 5px 5px 0
}

.tvedit-btn:hover,
.tvremove-btn:hover {
    background-color: #000
}

.tvedit-btn span,
.tvremove-btn span {
    color: #fff;
    display: inline-block;
    vertical-align: middle;
}

.tvedit-btn i,
.tvremove-btn i {
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 14px;
    color: #fff
}

#search_filters .facet .facet-title {
    border-bottom: none;
}

#search_filters .facet .tvfilter-search-types-title {
    border-bottom: 1px solid #f1f1f1;
}

/***** START RIGHT STICKY CSS *****/
.tvcmsright-sticky {
    right: 0;
    position: fixed;
    top: 0;
    white-space: nowrap;
    width: auto;
    margin: auto;
    bottom: 0;
    max-height: 200px;
    z-index: 2;
}

.tvcmsright-sticky .tvright-sticky {
    position: relative;
    min-width: 40px;
    width: auto;
}

.tvcmsright-sticky .tvright-sticky-wrapper {
    position: absolute;
}

.tvsticky-up-arrow,
.tvsticky-wishlist,
.tvsticky-compare,
.tvright-sticky-account,
.tvright-sticky-add-to-cart {
    background-color: #FFF;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
    padding: 0 10px;
    height: 28px;
    text-transform: uppercase;
    border-radius: 15px 0 0 15px;
    display: block;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    margin: 10px 0;
    overflow: hidden;
}

.tvsticky-up-arrow i,
.tvsticky-wishlist i,
.tvsticky-compare i,
.tvright-sticky-account i,
.tvright-sticky-add-to-cart i {
    color: #355e9e; /*#6f6f6f;*/
    font-size: 16px;
    height: 28px;
    line-height: 28px;
    float: left;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.tvsticky-up-arrow span,
.tvsticky-wishlist .tvwishlist-sticky-name,
.tvsticky-compare .tvsticky-compare-name,
.tvright-sticky-account span,
.tvright-sticky-add-to-cart span {
    color: #FFF;
    font-size: 10px;
    float: left;
    line-height: 28px;
    margin: 0 0 0 9px;
    opacity: 0;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.tvsticky-up-arrow a,
.tvsticky-wishlist a,
.tvsticky-compare a,
.tvright-sticky-account a,
.tvright-sticky-add-to-cart a {
    width: 100%;
    display: inline-block;
}

.tvsticky-up-arrow:hover,
.tvsticky-wishlist:hover,
.tvsticky-compare:hover,
.tvright-sticky-account:hover,
.tvright-sticky-add-to-cart:hover {
    margin-left: calc(-100% + 30px);
    background: #ff214f;
}

.tvsticky-up-arrow:hover i,
.tvsticky-wishlist:hover i,
.tvsticky-compare:hover i,
.tvright-sticky-account:hover i,
.tvright-sticky-add-to-cart:hover i {
    color: #FFF;
}

.tvsticky-up-arrow:hover span,
.tvsticky-wishlist:hover .tvwishlist-sticky-name,
.tvsticky-compare:hover .tvsticky-compare-name,
.tvright-sticky-account:hover span,
.tvright-sticky-add-to-cart:hover span {
    opacity: 1;
}

.tvheader-top-info .tvsticky-compare {
    display: none;
}

.tv-account-dropdown,
.tv-language-dropdown,
.tv-currency-dropdown {
    display: none;
}

/***** END RIGHT STICKY CSS *****/
.tv-footer-social-icon {
    left: 0;
    position: fixed;
    top: 0;
    white-space: nowrap;
    width: auto;
    z-index: 0;
    margin: auto;
    bottom: 0;
    max-height: 275px;
}

.tv-footer-social-icon .tv-footer-social-icon-wrapper {
    position: relative;
    min-width: 40px;
    width: auto;
}

.tv-footer-social-icon .tv-footer-social-icon-inner {
    position: absolute;
    right: 0;
}

.tv-footer-social-icon .tvblock-social-content {
    overflow: hidden;
    height: 28px;
    background-color: #FFF;
    border-radius: 0 15px 15px 0;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    margin: 10px 0;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
    z-index: 2;
    padding: 7px 10px;
}

.tv-footer-social-icon .tvblock-social-content:hover {
    background: #4CAF50; 
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvfacebook-wrapper:hover {
    background: #3a589e;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvtwitter-wrapper:hover {
    background: #5ea9dd;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvrss-wrapper:hover {
    background: #ff7b0a;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvyoutube-wrapper:hover {
    background: #ec2828;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvgoogleplus-wrapper:hover {
    background: #df4b38;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvpinterest-wrapper:hover {
    background: #cb2027;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvvimeo-wrapper:hover {
    background: #1ab7ea;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvinstagram-wrapper:hover {
    background: #64443c;
    margin-right: calc(-100% + 30px);
}

.tv-footer-social-icon .tvblock-social-content .tvblock-social-icon {
    width: 16px;
    height: 16px;
    float: right;
}

.tv-footer-social-icon .tvblock-social-content .tvblock-social-icon.tvgoogleplus {
    height: 18px;
    width: 18px;
}

.tvblock-social-content.tvgoogleplus-wrapper {
    padding: 5px 7px;
}

.block-social .tvblock-social-content.tvgoogleplus-wrapper span {
    line-height: 19px;
}

.block-social .tvblock-social-content span {
    display: block;
    color: #FFF;
    line-height: 15px;
    margin: 0 9px 0 3px;
    font-size: 10px;
    text-transform: uppercase;
    opacity: 0;
    float: right;
    transition: .2s ease-in-out;
}

.tv-footer-social-icon .tvblock-social-content:hover span {
    opacity: 1;
}

#footer .tvblock-social-icon path {
    fill: #6f6f6f !important;
}

#footer .tv-footer-social-icon .tvblock-social-content:hover .tvblock-social-icon path {
    fill: #ffffff !important;
}

#product .data-sheet {
    max-width: 40%;
}

.tvcmsofferbanners-one .tvbanner-hover-wrapper {
    display: block;
}

#cms .tv-sub-pages-inner-content {
    overflow: hidden;
}

.tvcart-product-content .regular-price {
    margin-left: 5px;
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through;
    color: #666666;
    letter-spacing: 0.3px;
    vertical-align: middle;
    margin-right: 5px;
    display: inline-block;
}

.tvvertical-slider .product-images {
    overflow: hidden;
}

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

#header .tv-myaccount-btn-desktop svg {
    margin-right: 12px;
}

.tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper,
.tvcms-right-column-wrapper .tv-right-pannal-btn-wrapper,
.tvcmsproduct-grid-list .tvproduct-grid,
.tvcmsproduct-grid-list .tvproduct-grid-2,
.tvcmsproduct-grid-list .tvproduct-list,
.tvcmsproduct-grid-list .tvproduct-list-2,
.tvcmsproduct-grid-list .tvproduct-catelog,
.tv_search_filter_wrapper .tvleft-right-title-wrapper {
    background-color: #ffffff;
    color: #000;
}

.tv_search_filter_wrapper .tvleft-right-title-wrapper {
    border: 1px solid #ededed;
}

.tv_search_filter_wrapper .tvleft-right-title-wrapper:hover {
    border-color: #d90244;
}

#products .tvproduct-view.tvproduct-grid svg.tvgrid g path,
#products .tvproduct-view.tvproduct-grid-2 svg.tvgrid-2 g path,
#products .tvproduct-view.tvproduct-list svg.tvlist g path,
#products .tvproduct-view.tvproduct-list-2 svg.tvlist-2 g path,
#products .tvproduct-view.tvproduct-catelog svg.tvcatelog g path,
#products .tvproduct-view.tvproduct-catelog svg.tvcatelog g polygon,
#products .tv_search_filter_wrapper .tvleft-right-title-wrapper svg.tvfilter-top g polygon,
#products .tv-left-pannal-btn-wrapper svg g rect {
    fill: #bbbbbb !important
}

#products .tvproduct-view.tvproduct-grid:hover svg.tvgrid g path,
#products .tvproduct-view.tvproduct-grid-2:hover svg.tvgrid-2 g path,
#products .tvproduct-view.tvproduct-list:hover svg.tvlist g path,
#products .tvproduct-view.tvproduct-list-2:hover svg.tvlist-2 g path,
#products .tvproduct-view.tvproduct-catelog:hover svg.tvcatelog g path,
#products .tvproduct-view.tvproduct-catelog:hover svg.tvcatelog g polygon,
#products .tvproduct-view.tvproduct-grid.active svg.tvgrid g path,
#products .tvproduct-view.tvproduct-grid-2.active svg.tvgrid-2 g path,
#products .tvproduct-view.tvproduct-list.active svg.tvlist g path,
#products .tvproduct-view.tvproduct-list-2.active svg.tvlist-2 g path,
#products .tvproduct-view.tvproduct-catelog.active svg.tvcatelog g path,
#products .tvproduct-view.tvproduct-catelog.active svg.tvcatelog g polygon {
    fill: #000000 !important
}

.tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper i,
.tvcms-right-column-wrapper .tv-right-pannal-btn-wrapper i,
.tv_search_filter_wrapper .tvleft-right-title-wrapper i,
.tvcmsproduct-grid-list .tvproduct-grid i,
.tvcmsproduct-grid-list .tvproduct-grid-2 i,
.tvcmsproduct-grid-list .tvproduct-list i,
.tvcmsproduct-grid-list .tvproduct-list-2 i,
.tvcmsproduct-grid-list .tvproduct-catelog i {
    color: #000;
}

#products .tv_search_filter_wrapper .tvleft-right-title-wrapper:hover i,
#products .tv_search_filter_wrapper .tvleft-right-title-wrapper:hover {
    color: #000;
}

.tvcmsheader-search.search-widget form .tvheader-top-search-wrapper button[type=submit] svg g path,
.tvcmsheader-search.search-widget form .tvheader-top-search-wrapper button[type=submit] svg g rect,
.tvcmsheader-search.search-widget form .tvheader-top-search-wrapper:hover button[type=submit] svg g path,
.tvcmsheader-search.search-widget form .tvheader-top-search-wrapper:hover button[type=submit] svg g rect {
    fill: #e30047 !important;
}

.tvheader-top-search-wrapper {
    padding: 15px 16px;
	background-color: #edbe00;
}

.tvproduct-cart-quentity-decrement i,
.tvproduct-cart-quentity-increment i {
    font-size: 15px;
}

.tvproduct-cart-quentity-decrement:hover i,
.tvproduct-cart-quentity-increment:hover i {
    color: #ffffff;
}

.tvblog-event-all-content-block:hover .tvnews-event-buttons {
    opacity: 1;
}

.cart-overview .bootstrap-touchspin .input-group-btn-vertical {
    display: inline-flex;
}

@media (min-width: 992px) {
    .tv-header-menu {
        margin: 0;
        overflow: hidden;
    }

    .tvmain-menu-dropdown {
        position: absolute;
        background-color: #ffffff;
        z-index: 60;
        padding: 15px;
        outline: 1px solid #e5e5e5;
        left: auto;
        opacity: 0;
        visibility: hidden;
        transform: perspective(600px) rotateX(-90deg);
        -webkit-transform: perspective(600px) rotateX(-90deg);
        -moz-transform: perspective(600px) rotateX(-90deg);
        -ms-transform: perspective(600px) rotateX(-90deg);
        -o-transform: perspective(600px) rotateX(-90deg);
        transform-origin: 0% 0%;
        -webkit-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transition: all 500ms ease;
        -webkit-transition: all 500ms ease;
        -moz-transition: all 500ms ease;
        -ms-transition: all 500ms ease;
        -o-transition: all 500ms ease;
    }

    .tv-language-dropdown,
    .tv-currency-dropdown {
        position: absolute;
        z-index: 100;
        min-width: 142px;
        margin: 0;
        right: auto;
        left: auto;
        box-shadow: 0px 0px 2px 0.8px rgba(122, 122, 122, 0.18);
    }

    .tvcmsdesktop-top-header-wrapper.header-4 .tv-language-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-4 .tv-currency-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-2 .tv-language-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-2 .tv-currency-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-3 .tv-language-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-3 .tv-currency-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-6 .tv-language-dropdown,
    .tvcmsdesktop-top-header-wrapper.header-6 .tv-currency-dropdown {
        position: inherit;
        box-shadow: none;
    }

    .tvcmsmain-menu-wrapper {
        -webkit-transition: 0.5s ease-in-out;
        -o-transition: 0.5s ease-in-out;
        -ms-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }

    .tvcmsmain-menu-wrapper.tvcmsmain-menu-block {
        -webkit-transition: 0.5s ease-in-out;
        -o-transition: 0.5s ease-in-out;
        -ms-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }
    .tvbanner-hover-wrapper img {
        width: 100%;
    }

    #footer_sub_menu_store_info,
    #footer_sub_menu_link,
    #footer_sub_menu_myaccount,
    #footer_sub_menu_social_icon {
        display: block;
        overflow: hidden;
    }
}

/***** Header & Footer Layout Design Css *****/
.header-3 .container_tv_megamenu {
    text-align: left;
}

.header-4 .tvcms-header-menu-offer-wrapper,
.header-6 .tvcms-header-menu-offer-wrapper {
    min-height: auto;
    background-color: #ffffff;
    border-top: none;
    border-bottom: none;
}

.header-6 .tvcms-header-menu-offer-wrapper {
    background-color: transparent;
}

.header-6 .tvcms-header-menu-offer-wrapper.sticky {
    background-color: #ffffff;
}

.header-3 .tvcms-header-menu {
    display: flex;
    align-items: center;
}

.header-3 #_desktop_contact_link {
    padding: 0;
}

.header-3 #_desktop_contact_link #contact-link i {
    margin-right: 10px;
    color: #000000;
}

.header-3 #_desktop_contact_link #contact-link span {
    color: #000000;
    font-size: 16px;
}

.header-4 .tvcmssearch-wrapper,
.header-5 .tvcmssearch-wrapper,
.header-6 .tvcmssearch-wrapper {
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    margin-right: 24px;
}

#header .header-4 #_desktop_search .tvsearch-top-wrapper .tvsearch-open i,
#header .header-4 #_desktop_search .tvsearch-top-wrapper .tvsearch-close i,
#header .header-5 #_desktop_search .tvsearch-top-wrapper .tvsearch-open i,
#header .header-5 #_desktop_search .tvsearch-top-wrapper .tvsearch-close i,
#header .header-6 #_desktop_search .tvsearch-top-wrapper .tvsearch-open i,
#header .header-6 #_desktop_search .tvsearch-top-wrapper .tvsearch-close i {
    color: #000000;
    font-size: 34px;
}

#header .header-4 .tvsearch-header-display-wrappper,
#header .header-5 .tvsearch-header-display-wrappper,
#header .header-6 .tvsearch-header-display-wrappper {
    max-width: 435px;
    width: 435px;
}

.header-5 .tvheader-language-currency-wrapper {
    text-align: left;
}

.header-5 .tv-header-logo {
    justify-content: center;
}

.header-5 .tv-account-wrapper .tv-myaccount-btn span,
.header-4 .tv-account-wrapper .tv-myaccount-btn span,
.header-6 .tv-account-wrapper .tv-myaccount-btn span {
    display: none;
}

.tvcmsdesktop-top-header-wrapper.header-6 {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
}

#header .header-4 .tv-myaccount-btn-desktop svg,
#header .header-5 .tv-myaccount-btn-desktop svg,
#header .header-6 .tv-myaccount-btn-desktop svg {
    margin: 0;
}

.tvcmsdesktop-top-header-wrapper.header-4 .tvheader-sarch-display,
.tvcmsdesktop-top-header-wrapper.header-5 .tvheader-sarch-display,
.tvcmsdesktop-top-header-wrapper.header-6 .tvheader-sarch-display,
#tvcms-mobile-view-header.mobile-header-2 .tvheader-sarch-display {
    display: block;
}

#header .tvcmsdesktop-top-header-wrapper.header-4 .tvsearch-header-display-wrappper,
#header .tvcmsdesktop-top-header-wrapper.header-5 .tvsearch-header-display-wrappper,
#header .tvcmsdesktop-top-header-wrapper.header-6 .tvsearch-header-display-wrappper {
    position: absolute;
    right: 0;
    left: auto;
    top: 60px;
    z-index: 90;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -o-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -moz-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}


#header #tvcms-mobile-view-header.mobile-header-2 .tvsearch-header-display-wrappper {
    position: inherit;
    display: none;
    opacity: 0;
    height: 0;
    visibility: hidden;
    top: 0;
    transition: all 0.35s ease-in-out;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
}

#header #tvcms-mobile-view-header.mobile-header-2 .tvsearch-header-display-wrappper.open {
    display: block;
    opacity: 1;
    height: 100%;
    visibility: visible;
    padding: 0 0 10px;
    transition: all 0.35s ease-in-out;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
}

#header .tvcmsdesktop-top-header-wrapper.header-4 .tvsearch-header-display-wrappper.open,
#header .tvcmsdesktop-top-header-wrapper.header-5 .tvsearch-header-display-wrappper.open,
#header .tvcmsdesktop-top-header-wrapper.header-6 .tvsearch-header-display-wrappper.open {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.footer-container.footer-2 .tvfooter-logo-block,
.footer-container.footer-3 .tvfooter-logo-block,
.footer-container.footer-4 .tvfooter-logo-block {
    padding: 0px 0;
}

.footer-container.footer-2 .tvfooter-logo-block .tvfooter-logo-desc {
    width: 100%;
    max-width: 100%;
    text-align: left;
}

.footer-container.footer-4 .tvfooter-logo-block .tvfooter-logo-desc {
    width: 90%;
    max-width: 90%;
    text-align: left;
    margin: 0;
}

.footer-container.footer-2 .tvfooter-storelogo-inner,
.footer-container.footer-3 .tvfooter-storelogo-inner,
.footer-container.footer-4 .tvfooter-storelogo-inner {
    border: none;
    text-align: left;
    margin-bottom: 15px;
}

.footer-container.footer-3 .tvfooter-storelogo-inner {
    margin-bottom: 35px;
}

.footer-container.footer-2 .tvfooter-logo-block .tvfooter-img-block {
    text-align: left;
}

.footer-container.footer-2 .tvfooter-payment-icon-img-block,
.footer-container.footer-2 .tvcopylink,
.footer-container.footer-2 .tvcmsfooter-social-icon,
.footer-container.footer-3 .tvfooter-payment-icon-img-block,
.footer-container.footer-3 .tvcopylink,
.footer-container.footer-3 .tvcmsfooter-social-icon {
    width: 100%;
    text-align: center;
}

.footer-container.footer-3 .tvfooter-storelogo-weapper,
.footer-container.footer-3 .tvfooter-contact-link-wrapper,
.footer-container.footer-3 .tvfooter-category-block,
.footer-container.footer-3 .tvfooter-account-link,
.footer-container.footer-3 #block_myaccount_infos,
.footer-container.footer-3 .tvcms-newsletter-wrapper,
.footer-container.footer-3 .tvcmsfooter-store-time {
    width: 100%;
    float: none;
    margin: 0 auto;
    text-align: center;
}

.footer-container.footer-3 .tvfooter-contact-link-wrapper .tvfooter-address,
.footer-container.footer-3 .tvfooter-category-block,
.footer-container.footer-3 .tvfooter-account-link .tvfooter-account-wrapper,
.footer-container.footer-3 #block_myaccount_infos,
.footer-container.footer-3 .tvcms-newsletter-wrapper .tvnewsletter-block,
.footer-container.footer-3 .tvcmsfooter-store-time .tvfooter-store-time-info-box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.footer-container.footer-2 .tvfooter-copy-payment-icon-inner,
.footer-container.footer-3 .tvfooter-copy-payment-icon-inner,
.footer-container.footer-3 .tvfooter-storelogo-imformation {
    display: block;
}

.footer-container.footer-2 .tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper,
.footer-container.footer-3 .tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper {
    justify-content: center;
    margin-bottom: 10px;
}

.footer-container.footer-3 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.footer-container.footer-3 .tvfooter-account-link li,
.footer-container.footer-3 #block_myaccount_infos li,
.footer-container.footer-3 .tvfooter-category-block ul li,
.footer-container.footer-4 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.footer-container.footer-4 .tvfooter-account-link li,
.footer-container.footer-4 #block_myaccount_infos li,
.footer-container.footer-4 .tvfooter-category-block ul li {
    margin-bottom: 12px;
    display: inline-block;
}

.footer-container.footer-3 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.footer-container.footer-4 .tvfooter-time-wrapper .tvfooter-open-time-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.footer-container.footer-3 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.footer-container.footer-3 .tvfooter-account-link li,
.footer-container.footer-3 #block_myaccount_infos li,
.footer-container.footer-3 .tvfooter-category-block ul li {
    margin: 0 25px 0px 25px;
}

.footer-container.footer-4 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.footer-container.footer-4 .tvfooter-account-link li,
.footer-container.footer-4 #block_myaccount_infos li,
.footer-container.footer-4 .tvfooter-category-block ul li {
    margin: 0 40px 20px 0;
}

.footer-container.footer-3 .tvnewsleeter-input-button-wraper {
    width: 60%;
}

.footer-container.footer-3 .tvfooter-addresses br {
    display: none;
}

.footer-container.footer-3 .tvfooter-addresses,
.footer-container.footer-3 .tvfooter-store-link,
.footer-container.footer-3 .tvfooter-store-link-content,
.footer-container.footer-3 .tvfooter-store-link-fax {
    margin: 0 20px;
    padding: 0 !important;
}

.footer-container.footer-3 #footer_sub_menu_store_info {
    margin-bottom: 15px;
}

.footer-container.footer-4 .tvfooter-logo-block {
    margin-bottom: 25px;
}

#footer_sub_menu_store_info .tvfooter-addresses i,
#footer_sub_menu_store_info .tvfooter-store-link i,
#footer_sub_menu_store_info .tvfooter-store-link-content i,
#footer_sub_menu_store_info .tvfooter-store-link-fax i {
    margin-right: 8px;
    font-size: 17px;
    color: #666;
}

.footer-container.footer-3 .tvnewsletter-lable-wrapper {
    text-align: center;
    margin-right: 25px;
    margin-bottom: 0;
}

.footer-container.footer-3 .block_newsletter .tvnewsletter-title {
    margin: 0;
}

.footer-container.footer-3 .tvnewsletter-description p {
    margin-bottom: 0;
}

.footer-container.footer-4 .tvfooter-contact-link-wrapper,
.footer-container.footer-4 .tvfooter-logo-block .tvfooter-img-block {
    width: 100%;
    padding: 0;
    text-align: left;
}

.footer-container.footer-4 .tvfooter-contact-link-wrapper,
.footer-container.footer-4 .tvfooter-category-block,
.footer-container.footer-4 .tvfooter-account-link,
.footer-container.footer-4 #block_myaccount_infos,
.footer-container.footer-4 .tvcms-newsletter-wrapper,
.footer-container.footer-4 .tvcmsfooter-store-time {
    width: 100%;
}

.footer-container.footer-4 .block_newsletter form {
    width: 50%;
    margin: 0;
}

.footer-container.footer-3 .block_newsletter form {
    margin: 0;
    /*width: 60%;*/
}

.footer-container.footer-4 .tvfooter-logo-link-wrapper li a:before {
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    display: block;
    opacity: 1;
    margin: auto;
    width: 7px;
    right: -23px;
    border-radius: 100%;
    height: 7px;
    background-color: transparent;
    border: 1px solid #cccccc;
}

.footer-container.footer-4 .tvfooter-logo-link-wrapper li:last-child a:before {
    display: none;
}



.footer-container.footer-3 .tvfooter-logo-link-wrapper li a:before {
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    display: block;
    opacity: 1;
    margin: auto;
    width: 10px;
    height: 1px;
    right: -30px;
    background-color: #cccccc;
}

.footer-container.footer-3 .tvfooter-logo-link-wrapper li:last-child a:before {
    display: none;
}

.footer-container.footer-4 .tvfooter-links-wrapper {
    padding: 0;
}

.product-4 .tvvertical-slider.col-sm-3 {
    /*width: 100%;*/
}

.product-4 .tvvertical-slider .tvvertical-slider-next,
.product-4 .tvvertical-slider .tvvertical-slider-pre,
.product-6 .tvvertical-slider .tvvertical-slider-next,
.product-6 .tvvertical-slider .tvvertical-slider-pre,
.product-3 .tvvertical-slider .tvvertical-slider-next,
.product-3 .tvvertical-slider .tvvertical-slider-pre {
    position: absolute;
    width: 30px;
    height: 30px;
    line-height: 30px;
}

.product-4 .tvvertical-slider .tvvertical-slider-next,
.product-6 .tvvertical-slider .tvvertical-slider-next {
    right: 15px;
}

.product-3 .tvvertical-slider .tvvertical-slider-next {
    right: -15px;
    top: 45%;
}

.product-4 .tvvertical-slider .tvvertical-slider-pre,
.product-6 .tvvertical-slider .tvvertical-slider-pre {
    left: 15px;
}

.product-3 .tvvertical-slider .tvvertical-slider-pre {
    left: -15px;
    top: 45%;
}

.product-4 .tvvertical-slider .tvvertical-slider-next,
.product-4 .tvvertical-slider .tvvertical-slider-pre,
.product-6 .tvvertical-slider .tvvertical-slider-next,
.product-6 .tvvertical-slider .tvvertical-slider-pre {
    width: 30px;
    height: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.product-4 .tvvertical-slider .tvvertical-slider-next:hover,
.product-4 .tvvertical-slider .tvvertical-slider-pre:hover,
.product-6 .tvvertical-slider .tvvertical-slider-next:hover,
.product-6 .tvvertical-slider .tvvertical-slider-pre:hover {
    background-color: #f5f5f5;
}

.product-4 .tvvertical-slider .tvvertical-slider-next span,
.product-4 .tvvertical-slider .tvvertical-slider-pre span,
.product-6 .tvvertical-slider .tvvertical-slider-next span,
.product-6 .tvvertical-slider .tvvertical-slider-pre span {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-3 .tvvertical-slider .product-images {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    max-height: max-content;
    margin-top: 15px;
    padding-bottom: 0;
}

.product-3 .tvvertical-slider .product-images.slick-slider {
    display: block;
}

.tvvertical-slider .slick-slider .tvcmsVerticalSlider:nth-child(1) img,
.tvvertical-slider .tvcmsVerticalSlider img {
    border: 1px solid transparent;
}

.tvvertical-slider .slick-slide.slick-current .tvcmsVerticalSlider:nth-child(1) img.thumb {
    /*border: 1px solid #00000012;*/
}

/*.tvvertical-slider .slick-slider .tvcmsVerticalSlider img.thumb.selected,*/
.tvvertical-slider .slick-slider .tvcmsVerticalSlider img.thumb.active,
.tvvertical-slider .slick-slider .tvcmsVerticalSlider img.thumb:hover {
    border: 1px solid #eee;
}

.product-3 .tvcmsVerticalSlider {
    /*display: inline-block;*/
    padding: 0 5px;
    width: 96px;
    /*height: 145px;*/
}

.quickview .product-3 .tvcmsVerticalSlider {
    width: 150.2343px;
}

 /*
.tv-product-page-content .tvproduct-special-desc {
    border-top: 1px dashed #a7a7a7;
    padding: 20px 0 0px;
    margin-bottom: 15px;
} */

.tv-product-page-content .tvwishlist-compare-wrapper-page {
    margin-bottom: 25px;
    padding: 0 0 0 0;
}

.tvproduct-wishlist-compare {
    border-bottom: 1px dashed #a7a7a7;
}

.tvproduct-page-wrapper .product-prices .tax-shipping-delivery-label,
.quickview .product-prices .tax-shipping-delivery-label {
    margin-top: 8px;
    color: #666666;
    font-size: 14px;
}

.quickview .product-discount .regular-price,
.tvproduct-page-wrapper .product-discount .regular-price {
    font-size: 16px;
}

.product-price .current-price .price,
.modal-body.tv-addtocart-content-part .tv-addtocart-price {
    font-size: 24px;
}

.product-additional-info {
    /* FR@ padding-top: 25px;*/
    margin-bottom: 0;
}

.tv-product-page .tv-indicator {
    padding-top: 30px;
    margin-bottom: 0;
    margin-right: 50px;
}

.tv-product-page-content h1,
.tv-product-page-content .tvall-product-star-icon,
.tv-product-page-content .product-prices,
.tvproduct-page-decs p,
.product-quantity,
.product-variants>.product-variants-item {
      /* FR@ margin-bottom: 25px; */
}

.tvproduct-stock-social {
   /* FR@ display: inline-flex; */
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
}
.product-additional-info .tabs {
    margin-top: .1em;
}

.tvproduct-wishlist-compare {
    margin-top: 0;
    padding-bottom: 30px; 
}

.tvproduct-wishlist-compare .tvproduct-wishlist a:focus {
    color: #000000;
}

.product-3 #block-reassurance li {
    width: 100%;
}

.product-2 .tvproduct-sale-pack-wrapper {
    right: 30px;
}

.product-2 .tvproduct-online-new-wrapper {
    left: 30px;
}

.product-2 .tvproduct-image-slider {
    box-shadow: none;
    margin: 0 -15px;
}

.product-2 .tvproduct-image-slider .col-md-6 img {
    border: 1px solid #f5f5f5;
    margin-bottom: 15px;
}

.product-2 .product-cover .layer {
    right: 30px;
    bottom: 30px;
}

@media (max-width: 1140px) {
    .footer-container.footer-3 .tvfooter-contact-link-wrapper .tvfooter-address,
    .footer-container.footer-3 .tvfooter-category-block,
    .footer-container.footer-3 .tvfooter-account-link .tvfooter-account-wrapper,
    .footer-container.footer-3 #block_myaccount_infos,
    .footer-container.footer-3 .tvcms-newsletter-wrapper .tvnewsletter-block,
    .footer-container.footer-3 .tvcmsfooter-store-time .tvfooter-store-time-info-box {
        display: block;
    }

    .footer-container.footer-3 .tvfooter-title-wrapper .tvfooter-title:after,
    .footer-container.footer-3 .block_newsletter .tvnewsletter-title:after {
        display: none;
    }

    .footer-container.footer-3 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
    .footer-container.footer-3 .tvfooter-account-link li,
    .footer-container.footer-3 #block_myaccount_infos li,
    .footer-container.footer-3 .tvfooter-category-block ul li {
        margin: 0 25px 15px 25px;
    }

    .footer-container.footer-3 .tvfooter-addresses,
    .footer-container.footer-3 .tvfooter-store-link,
    .footer-container.footer-3 .tvfooter-store-link-content,
    .footer-container.footer-3 .tvfooter-store-link-fax {
        padding-bottom: 10px !important;
    }
    .footer-container.footer-3 .tvnewsletter-lable-wrapper {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .footer-container.footer-3 .tvnewsleeter-input-button-wraper {
        margin: 0 auto;
        margin-bottom: 15px;
    }
    .footer-container.footer-3 .tvfooter-addresses,
    .footer-container.footer-3 .tvfooter-store-link,
    .footer-container.footer-3 .tvfooter-store-link-content,
    .footer-container.footer-3 .tvfooter-store-link-fax {
        margin: 0 10px;
    }
}

@media (max-width: 1180px) {
    #header .header-4 .tv-menu-horizontal ul li.level-1>a,
    #header .header-6 .tv-menu-horizontal ul li.level-1>a {
        /*padding: 9px 10px;*/
        font-size: 16px;
    }

    .header-3 #_desktop_contact_link #contact-link span {
        font-size: 14px;
    }

    .header-3 #_desktop_contact_link #contact-link i {
        font-size: 20px;
        margin-right: 5px;
    }

    .header-3 .tvcmsdesktop-contact,
    .header-4 .tvcmsheader-nav-right,
    .header-6 .tvcmsheader-nav-right {
        padding-left: 0;
    }

    .header-4 .tvcmssearch-wrapper,
    .header-6 .tvcmssearch-wrapper {
        margin-right: 15px;
    }

    .header-4 .tvheader-cart-wrapper,
    .header-6 .tvheader-cart-wrapper {
        padding: 25px 0 25px 15px;
    }
}

@media (min-width: 992px) {
    .footer-container.footer-3 #footer_sub_menu_store_info {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer-container.footer-3 .tvfooter-time-wrapper,
    .footer-container.footer-4 .tvfooter-time-wrapper {
        display: flex;
        justify-content: center;
        margin-bottom: 15px;
    }

    .footer-container.footer-4 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
    .footer-container.footer-4 .tvfooter-time-wrapper {
        justify-content: flex-start;
    }
}
@media (max-width: 768px) {
    /*.footer-container.footer-3 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,*/
    .footer-container.footer-3 .tvfooter-account-link li,
    .footer-container.footer-3 #block_myaccount_infos li,
    .footer-container.footer-3 .tvfooter-category-block ul li,
    .footer-container.footer-4 .tvfooter-account-link li,
    .footer-container.footer-4 #block_myaccount_infos li,
    .footer-container.footer-4 .tvfooter-category-block ul li {
        display: block;
    }
    .footer-container.footer-4 .tvfooter-time-wrapper .tvfooter-open-time-wrapper {
        justify-content: flex-start;
    }

    .footer-container.footer-3 .tvfooter-logo-link-wrapper li a:before,
    .footer-container.footer-4 .tvfooter-logo-link-wrapper li a:before {
        display: none;
    }

    .footer-container.footer-4 .block_newsletter form {
        width: 100%;
        margin: 0;
    }
}
.product-4 .tvcmsVerticalSlider {
    margin: 4px 0 15px 0;
}

.tvvertical-slider .product-images .slick-dots {
    bottom: -3px;
}

.tv-total-product {
    margin-left: 10px;
}

.tvall-page-shortby .products-sort-order .select-title {
    padding: 7px 10px;
}

.tvproduct-cart-quentity-decrement {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
}

.tvproduct-cart-quentity-increment {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

.tvproduct-cart-quentity-increment,
.tvproduct-cart-quentity-decrement {
    background-color: #f5f5f5;
    color: #000000;
}

.tv-product-catalog-btn .tvproduct-cart-quentity {
    border: 1px solid #f5f5f5;
}

.tv-all-page-main-title-wrapper {
    padding: 15px 0 0;
}

#wrapper .breadcrumb {
    background-color: transparent;
    padding: 0;
    border: none;
    /*margin-top: 15px;*/
    margin-bottom: 0;
}

#wrapper .breadcrumb i {
    font-size: 16px;
    color: #232323;
    margin-right: 5px;
    vertical-align: middle;
}

#wrapper .breadcrumb a:hover i {
    color: #d90244;
}

#wrapper .breadcrumb span {
    vertical-align: middle;
    line-height: 24px;
}

.tv-sub-category-inner,
.tv-sub-category-inner:hover {
    background-color: transparent;
    border: none;
    padding: 0;
}

.tv-total-product-number,
.products-selection .sort-by {
    color: #000000;
}

.tvwishlist-icon i,
.tvdesktop-compare-icon i,
#tvcmsdesktop-user-info .tvhedaer-sign-btn i,
.tvmyccount i,
#tvcmsdesktop-user-info .tvhedaer-sign-btn i {
    font-size: 18px;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}

.tvwishlist-icon,
.tvdesktop-compare-icon,
#tvcmsdesktop-user-info .tvhedaer-sign-btn i,
#tvcmsdesktop-user-info .tvhedaer-sign-btn span,
.tvmyccount i,
.tvwishlist-name,
.tvdesktop-view-compare-name {
    display: inline-block;
}

.tv-category-block-wrapper #category-description {
    margin-top: 10px;
}



.footer-container.footer-2 .tvcmsfooter-social-icon #footer_sub_menu_social_icon,
.footer-container.footer-3 .tvcmsfooter-social-icon #footer_sub_menu_social_icon,
.footer-container.footer-3 .tvfooter-logo-block .tvfooter-logo-desc,
.footer-container.footer-3 .tvfooter-title-wrapper .tvfooter-title,
.footer-container.footer-3 .tvdekstop-footer-all-title-wrapper .tvfooter-title,
.footer-container.footer-3 .block_newsletter .tvnewsletter-title {
    text-align: center;
}

.footer-container.footer-3 .tvfooter-title-wrapper .tvfooter-title:after,
.footer-container.footer-3 .block_newsletter .tvnewsletter-title:after {
    content: ':';
    position: absolute;
    right: -10px;
    top: 0;
    bottom: 0;
    margin: auto;
    font-size: 16px;
    line-height: 22px;
    color: #000000;
}
/***** CMS Design *****/

.cms-description .row {
    display: flex;
    flex-wrap: wrap;
}

.cms-description h1 {
    padding-bottom: 0.8em;
    margin-bottom: 0;
    font-size: 4em;
}

.cms-description h2 {
    padding-bottom: 0.8em;
    margin-bottom: 0;
    font-size: 3.5em;
}

.cms-description h3 {
    padding-bottom: 0.8em;
    margin-bottom: 0;
    font-size: 2.8em;
}

.cms-description h4 {
    padding-bottom: 0.8em;
    margin-bottom: 0;
    font-size: 2em;
}

.cms-description h5 {
    padding-bottom: 0.8em;
    margin-bottom: 0;
    font-size: 1.5em;
}

.cms-description h6 {
    padding-bottom: 0.8em;
    margin-bottom: 0;
    font-size: 1.2em;
}

.cms-description p {
    font-size: 16px;
    padding-bottom: 2.48em;
    color: #000000;
    margin: 0;
}

.cms-description a {
    color: #d90244;
}

.cms-description a:hover {
    /*text-decoration: underline;*/
}

.cms-description ol,
.cms-description ul {
    margin-bottom: 2.48em;
}

.cms-description ol li,
.cms-description ul li {
    font-size: 16px;
    padding-bottom: 12px;
    color: #000000;
    line-height: 24px;
}

.cms-description ul {
    padding-left: 40px;
    list-style: disc;
    display: inline-block;
}

.cms-description table {
    width: 70%;
}

.fancybox-inner .cms-description table {
    width: 100%;
    margin-bottom: 0;
}

.cms-description table {
    margin-bottom: 2.48em;
}

.cms-description table,
.cms-description th,
.cms-description td {
    border: 1px solid #dddddd;
    border-collapse: collapse;
}

.cms-description th,
.cms-description td {
    font-size: 16px;
    padding: 8px 15px;
    border: 1px solid #dddddd;
}

.cms-description tr:nth-child(even) {
    background-color: #f5f5f5;
}

.cms-description blockquote {
    margin: 16px 40px;
    position: relative;
}

.cms-description blockquote:before {
    content: '';
    position: absolute;
    left: -40px;
    top: 0;
    bottom: 2.48em;
    background-color: #cccccc;
    /*height: 100%;*/
    width: 10px;
}

.cms-description img {
    display: block;
    /*margin: 0 30px 30px 0;*/
}

.cms-description hr {
    padding-bottom: 2.48em;
    width: 50%;
}

#tvproduct-customize .cms-description table {
    width: 100%;
    margin: 0;
}

.menu-content .tvmobile-lang,
.menu-content .tvmobile-curr {
    /*display: inline-block;*/
    /*width: 50%;*/
}

.newsletter_block_popup-bottom label:after {
    content: '';
    background-color: #d90244;
    width: 100%;
    transform: scaleX(0);
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

.newsletter_block_popup-bottom label:hover:after {
    transform: scaleX(1);
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -ms-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

#tvcms-mobile-view-header.mobile-header-1 .tvheader-language,
#tvcms-mobile-view-header.mobile-header-1 .tvheader-currency,
#tvcms-mobile-view-header.mobile-header-2 .tvheader-language,
#tvcms-mobile-view-header.mobile-header-2 .tvheader-currency,
.tvcmsdesktop-top-header-wrapper.header-2 .tvheader-language,
.tvcmsdesktop-top-header-wrapper.header-2 .tvheader-currency,
.tvcmsdesktop-top-header-wrapper.header-3 .tvheader-language,
.tvcmsdesktop-top-header-wrapper.header-3 .tvheader-currency,
.tvcmsdesktop-top-header-wrapper.header-4 .tvheader-language,
.tvcmsdesktop-top-header-wrapper.header-4 .tvheader-currency,
.tvcmsdesktop-top-header-wrapper.header-6 .tvheader-language,
.tvcmsdesktop-top-header-wrapper.header-6 .tvheader-currency {
    display: block;
    margin: 0;
}

.tvcmsdesktop-top-header-wrapper.header-6 {
    background-color: #ffffffc4;
}

#header .tv-myaccount-btn-desktop svg path:nth-child(1) {
    fill: none !important;
    stroke: #000 !important;
}

#header .tv-myaccount-btn-desktop svg path:nth-child(2) {
    fill: #FFD742 !important;
}

#header .tv-myaccount-btn-desktop svg circle {
    fill: none !important;
    stroke: #000 !important;
}

#header .tv-cart-icon-main svg g path:nth-child(1) {
    fill: #FFD741 !important;
}

#header .tv-cart-icon-main svg g path:nth-child(2) {
    fill: #000000 !important;
}

#header .tv-cart-icon-main svg g ellipse {
    fill: none !important;
    stroke: #000 !important;
}

.tvheader-search-display-icon .tvsearch-open svg polygon,
.tvheader-search-display-icon .tvsearch-close svg g {
    fill: #000000 !important;
}

.tvheader-search-display-icon .tvsearch-open svg circle:nth-child(3) {
    fill: none !important;
    stroke: #000 !important;
}

.tvheader-search-display-icon .tvsearch-open svg circle:nth-child(2) {
    fill: #FFD741 !important;
}

.mobile-header-2 .tv-account-dropdown {
    top: 47px;
}

.mobile-header-1 .tv-account-dropdown {
    top: 40px;
}

.tvsearch-header-display-full .tvheader-search-btn svg circle:nth-child(2) {
    fill: #FFD741 !important;
}

/* 1) Evita il taglio del cerchio (causa deformazione) */
.tvsearch-header-display-full .tvheader-search-btn svg {
  overflow: visible;              /* fondamentale */
}

/* 2) Cerchio lente: solo stroke, niente fill */
.tvsearch-header-display-full .tvheader-search-btn svg circle:nth-of-type(2) {
  fill: #edbe00 !important;
  stroke: #000 !important;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* 3) Manico (polygon): per “ispessire” devi aggiungere lo stroke */
.tvsearch-header-display-full .tvheader-search-btn svg polygon {
  fill: #000 !important;
  stroke: #000 !important;        /* <-- questo mancava */
  stroke-width: 1px;            /* aumenta spessore percepito */
  stroke-linejoin: round;
}

/*hover su lente*/
.tvheader-search-btn {
  cursor: pointer;
}

.tvheader-search-btn svg {
  transition: transform .2s ease;
}

.tvheader-search-btn svg circle,
.tvheader-search-btn svg polygon {
  transition: stroke .2s ease;
}

.tvheader-search-btn:hover svg {
  transform: scale(1.08);
}

.tvheader-search-btn:hover svg circle:nth-of-type(2),
.tvheader-search-btn:hover svg polygon {
  stroke: #000 !important;     /* blu brand */
}
.tvheader-search-btn:active {
  transform: scale(0.95);
}
/* fine lente */
.tvproduct-page-decs p {
    color: #000000;
    font-size: 14px;
}

.tvwishlist-compare-wrapper-page .tvproduct-wishlist span,
.tvcompare-wrapper .tvcmsproduct-compare-btn span {
    font-size: 16px;
    color: #000000;
}

.tvproduct-tax-label {
    margin-left: 10px;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 400;
    color: #666666;
}

.tv-sub-category-inner:hover .tvcategory-name a {
    color: #d90244;
}

.product-4 .tvvertical-slider .product-images {
    max-height: none;
	border: 1px solid #e5e5e5;  /*FR@ empty */
	border-radius: 8px;			/*FR@ empty */
}

.tvvertical-slider .product-images {
    max-height: 630px;
}

.product-6 .tvvertical-slider .product-images {
    max-height: none;
    text-align: center;
}

.product-2 .tvvertical-slider {
    display: none;
}

.product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider,
.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider {
    display: none;
}

.product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1),
.product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(2),
.product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(3),
.product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(4),
.product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(5),
.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1),
.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(2),
.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(3) {
    display: block;
}

.product-3 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider,
.product-6 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider {
    display: block;
}

.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1),
.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(2),
.product-6 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(3) {
    width: 470px;
    display: inline-block;
}

.product-6 .tv-product-page-content h1 {
    padding: 0;
}

.product-6 .tvproduct-page-wrapper .star_content {
    float: none;
}

.product-6 .tvall-product-star-icon {
    display: flex;
    justify-content: center;
}

.product-6 .product-price,
.product-6 .product-variants>.product-variants-item,
.product-6 .product-quantity,
#product .product-6 #block-reassurance ul,
.tvproduct-page-wrapper .product-6 .tvproduct-timer {
    justify-content: center;
}

.product-6 .tvcart-btn-model {
    float: none;
    justify-content: center;
}

.product-6 .product-add-to-cart .add-to-cart {
    margin-right: 0;
    margin-left: 0;
}

@media (min-width: 992px) {
    .product-6 .tvvertical-slider .slick-slide {
        opacity: 0.8;
        transition: all 0.35s ease-in-out;
        -webkit-transition: all 0.35s ease-in-out;
        -moz-transition: all 0.35s ease-in-out;
        -ms-transition: all 0.35s ease-in-out;
        -o-transition: all 0.35s ease-in-out;
    }

    .product-6 .tvvertical-slider .slick-center {
        opacity: 1;
        transform: scale(1.08);
        -moz-transform: scale(1.08);
        -ms-transform: scale(1.08);
        -o-transform: scale(1.08);
        -webkit-transform: scale(1.08);
        transition: all 0.35s ease-in-out;
        -webkit-transition: all 0.35s ease-in-out;
        -moz-transition: all 0.35s ease-in-out;
        -ms-transition: all 0.35s ease-in-out;
        -o-transition: all 0.35s ease-in-out;
    }
}

.product-5 .tvvertical-slider {
    display: none;
}

.product-2 .tvvertical-slider .product-images {
    text-align: center;
}

@media (max-width: 1440px) {
    .product-1 .tvvertical-slider .product-images {
        max-height: 411px;
    }
}

.login-form .tvall-inner-btn,
.register-form .tvall-inner-btn {
    display: block;
    width: 100%;
    margin-bottom: 0;
}

.form-title h1 {
    font-size: 28px;
    text-align: center;
    margin-bottom: 25px;
}

label.required:after {
    content: "*";
    color: #f00;
    margin-left: 3px;
}

.tvcategory-chain-title a:hover {
    color: #d90244;
}

.product-2 .tvproduct-image-slider .col-md-6:nth-child(odd) {
    padding-right: 7.5px;
}

.product-2 .tvproduct-image-slider .col-md-6:nth-child(even) {
    padding-left: 7.5px;
}

.product-2 .tv-product-page-content {
    margin-bottom: 10px;
}

.product-4 .tvvertical-slider .product-images .tvcmsVerticalSlider {
    display: none;
}

.product-4 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1) {
    display: block;
}

.product-4 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider {
    display: block;
}

.product-6 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider img {
    margin: 0 auto;
}

.product-5 .product-cover .tvproduct-image-slider .col-md-12 {
    margin-bottom: 15px;
}

#product .tvproduct-page-wrapper .tvprduct-image-info-wrapper.product-6 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.product-6 .tv-product-page-content {
    text-align: center;
    margin: 0 auto;
    padding: 15px 0;
}

.product-6 .images-container {
    width: 100%;
}

/*.tvproduct-cart-btn .add-cart-loading.show,
.tvproduct-cart-btn .add-cart.show {
    display: block;
}
.tvproduct-cart-btn .add-cart-loading.hide,
.tvproduct-cart-btn .add-cart.hide {
    display: none;
}*/
.tvproduct-cart-btn .add-cart-loading {
    -webkit-transform: rotate(360deg);
    -webkit-transition-duration: 1s;
    -webkit-transition-delay: now;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
}

.breadcrumb li:first-child a:before {
    font-family: "Material Icons";
    content: "\e88a";
    font-size: 16px;
    vertical-align: middle;
    margin-right: 5px;
}

.tvwishlist-inner-product-img-block img {
    margin: 0 auto;
}

.product-6 .tvcms-product-brand-logo {
    margin-bottom: 25px;
}

.product-6 .tvproduct-brand {
    position: unset;
}

@media (max-width: 1280px) and (min-width: 1025px) {
    .product-3 .tvcart-btn-model {
        float: none;
    }
}

.quickprod-6 .tvquickview-prod-img {
    margin-bottom: 15px;
}

.quickprod-6 .tvquickview-prod-img,
.quickprod-6 .tvquickview-prod-details {
    width: 100%;
}

.quickprod-6 .tvquickview-prod-details {
    text-align: center;
}

.quickprod-6 .tvquickview-prod-details .product-price,
.quickprod-6 .tvquickview-prod-details .product-variants>.product-variants-item,
.quickprod-6 .tvquickview-prod-details .product-quantity,
.quickprod-6 .tvquickview-prod-details .tvcart-btn-model {
    justify-content: center;
}

.quickprod-6 .tvquickview-prod-details .tvcart-btn-model,
.quickprod-6 .tvquickview-prod-details .star_content {
    float: none;
}

.quickprod-6 .tvquickview-prod-details .tvall-product-star-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.quickprod-6 .tvquickview-prod-details .product-add-to-cart .add-to-cart {
    margin: 0;
}

.quickview .product-6 .images-container {
    min-height: unset;
}

.quickview .product-6 .tvvertical-slider .product-images {
    display: flex;
}

.quickview .product-6 .tvvertical-slider .product-images img {
    max-height: 243px;
}

.quickview .product-6 .tvvertical-slider .product-images.slick-slider {
    display: block;
}

.tvfooter-product-sticky-bottom .card {
    margin-bottom: 0;
}

.tvfooter-product-sticky-bottom .product-pack .pack-product-container .thumb-mask,
.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-name,
.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-price,
.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-quantity {
    width: auto;
}

.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-name,
.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-price,
.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-quantity {
    display: block;
    margin: 0 5px;
}

.tvfooter-product-sticky-bottom .product-pack .pack-product-container .pack-product-name {
    flex: none;
}

.tvfooter-product-sticky-bottom .product-pack {
    margin: 0 10px;
}

.tvfooter-product-sticky-bottom .product-pack .h4 {
    display: none;
}

.tvfooter-product-sticky-bottom .product-pack .pack-product-container {
    padding: 10px;
    justify-content: flex-start;
}

#tvcmsdesktop-user-info .tvhedaer-sign-btn i {
    margin-right: 5px;
}

.tvinner-page-pagination li i {
    color: #cccccc;
}

.tvinner-page-pagination li:hover i {
    color: #000000;
}

.table-bordered.tvwishlist-info td a {
    text-decoration: underline;
}

.required sup {
    color: #f00;
    margin-left: 5px;
    right: 0;
}

.tvwishlist-vuew-label {
    text-align: right;
}

.tv-addtocart-product-image {
    text-align: center;
}

.cart-content-btn a.tvall-inner-btn {
    background-color: #d90244;
}

.cart-content-btn a.tvall-inner-btn:hover:after {
    background-color: #222222;
}

.tvproduct-play-icon {
    position: absolute;
    /*margin-bottom: 15px;*/
    top: 15px;
    left: 30px;
    z-index: 10;
}

.product-3 .tvproduct-play-icon,
.product-6 .tvproduct-play-icon {
    right: 20px;
    text-align: center;
}

.media-list .media {
    margin-bottom: 15px;
}

.product-3 .tvvertical-slider {
    padding: 0 3.5px;
}

.product-1 .tvvertical-slider .slick-slider li img {
    /*padding: 3px;*/
}

.tvproduct-play-icon span {
    vertical-align: middle;
    font-size: 16px;
}

.tvproduct-play-icon i {
    margin-right: 5px;
    font-size: 34px;
}

.tvbottom-to-top {
    display: none !important;
}

body .tv-main-div .half-wrapper-backdrop {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #0000004d;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 10;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

.full-wrapper-backdrop {
    background-color: #0000004d;
    position: fixed;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

body.mobile-menu-open .full-wrapper-backdrop,
body.classicCartOpen .full-wrapper-backdrop {
    opacity: 1;
    visibility: visible;
}

body.cart-open .tv-main-div .half-wrapper-backdrop,
body.layout-open .tv-main-div .half-wrapper-backdrop,
body.menu-open .tv-main-div .half-wrapper-backdrop,
body.dropdown-open .tv-main-div .half-wrapper-backdrop,
body.search-open .tv-main-div .half-wrapper-backdrop {
    opacity: 1;
    visibility: visible;
}

.product-images ul {
    margin-bottom: 0;
}

.tvproduct-page-wrapper .tvall-product-star-icon .tvall-product-review:hover {
    color: #000000;
}

.mobile-header-1 .tv-header-logo {
    padding: 10px 0;
}

#tvtheme-reset-layout,
#tvtheme-reset-bgcolor,
#tvtheme-reset-text {
    cursor: pointer;
}



.tvcmsdesktop-top-second {
    min-height: 95px;
}

.tvcms-cart-loading {
    animation: fa-spin 2s infinite linear;
}

.tvcmsdesktop-top-header-wrapper.header-4,
.tvcmsdesktop-top-header-wrapper.header-6 {
    border-bottom: 1px solid #00000012;
}

/******* start RTL Css *******/
.lang-rtl sup {
    left: -5px;
    right: auto;
}

.lang-rtl .label,
.lang-rtl label {
    text-align: left;
}
.lang-rtl .page-content.page-cms {
    text-align: right;
}
.lang-rtl .products-sort-order .dropdown-menu {
    text-align: right;
}
.lang-rtl .tvleft-right-product-slider .product-description {
    text-align: right;
    padding-right: 15px;
    padding-left: 0;
}
.lang-rtl .tv-product-page-content .tv-indicator.tv-bar .tv-outer {
    margin: 0 0 0 20px;
}
.lang-rtl #block-reassurance li .block-reassurance-item {
    border-right: 3px solid #000;
    border-left: 1px solid #e5e5e5
}
.lang-rtl .tvproduct-wishlist-compare .tvcompare-wrapper i,
.lang-rtl .tvproduct-wishlist-compare .tvproduct-wishlist i {
    margin: 0 0 0 5px;
}
.lang-rtl .tvcart-btn-model {
    text-align: right;
}
.lang-rtl .product-add-to-cart .add-to-cart {
    margin-right: 0;
    margin-left: 25px;
}
#authentication.lang-rtl .radio-inline,
#identity.lang-rtl .radio-inline {
    padding: 0 0 0 10px
}
#authentication.lang-rtl .radio-inline .custom-radio,
#identity.lang-rtl .radio-inline .custom-radio {
    margin-right: 0;
    margin-left: 8px
}
body#checkout.lang-rtl div.checkout-step #customer-form .radio-inline,
body#checkout.lang-rtl div.checkout-step #delivery-address .radio-inline,
body#checkout.lang-rtl div.checkout-step #invoice-address .radio-inline,
body#checkout.lang-rtl div.checkout-step #login-form .radio-inline {
    padding: 0 0 0 10px
}
body#checkout.lang-rtl div.checkout-step .custom-radio {
    margin-left: 5px;
    margin-right: 0
}
.lang-rtl #block-reassurance img {
    margin: 0 0 0 10px
}

.lang-rtl .custom-checkbox label {
    text-align: right
}
.lang-rtl .nav-inline .nav-item+.nav-item,
.lang-rtl .nav-inline .nav-link+.nav-link {
    margin: 0 0 0 10px
}
#authentication.lang-rtl .radio-inline,
#identity.lang-rtl .radio-inline {
    padding: 0 0 0 10px
}
#authentication.lang-rtl .radio-inline .custom-radio,
#identity.lang-rtl .radio-inline .custom-radio {
    margin-right: 0;
    margin-left: 8px
}
.lang-rtl .tvproduct-page-wrapper .tv-product-page-image {
    float: right
}
.lang-rtl .tv-product-page-content {
    direction: rtl;
}
.lang-rtl .tv-product-page-content .tvproduct-brand {
    right: auto;
    left: 0;
}
.lang-rtl .tv-product-page-content h1 {
    padding-right: 0;
    padding-left: 200px;
}
.lang-rtl .tvcart-btn-model {
    float: right;
}
.lang-rtl .open-comment-form,
.lang-rtl .tvshipping-btn,
.lang-rtl .tvcustomize-btn {
    margin-right: 0px;
    margin-left: 20px;
}
.lang-rtl .product-price .current-price .price {
    padding-left: 10px;
}
.lang-rtl .tvproduct-flags,
.lang-rtl .tvprduct-image-info-wrapper .product-cover .layer {
    left: 15px;
    right: auto
}
.lang-rtl .tvproduct-page-wrapper .comments_note {
    text-align: right
}
.lang-rtl .tvproduct-page-wrapper .star_content,
.lang-rtl .quickview .star_content {
    float: right;
    margin: 0 0 0 10px
}
.lang-rtl .tvproduct-page-wrapper .product-discount,
.lang-rtl .quickview .product-discount,
.lang-rtl .tvproduct-page-wrapper .product-price {
    float: right
}
.lang-rtl .tvproduct-page-wrapper .product-6 .product-price {
    float: none;
}
.lang-rtl .tvproduct-page-wrapper .product-variants>.product-variants-item ul {
    padding-right: 0
}
.lang-rtl .product-quantity .qty {
    margin-right: 0;
    margin-left: .4rem
}
.lang-rtl .product-actions .control-label {
    margin: 0 0 0 20px;
    float: right
}
.lang-rtl #product-modal .modal-content .modal-body .product-images {
    padding-right: 0
}
.lang-rtl .product-information #block-reassurance ul,
.lang-rtl .tvproduct-description-tab .nav-tabs {
    padding-right: 0
}
.lang-rtl .social-icon li {
    margin: 0 0 0 10px
}
.lang-rtl .btn-primary .material-icons,
.lang-rtl .btn-secondary .material-icons,
.lang-rtl .btn-tertiary .material-icons {
    margin: 0 0 0 .625rem
}
.lang-rtl .product-variants>.product-variants-item ul li.float-xs-left {
    float: right
}
.lang-rtl .product-quantity #quantity_wanted {
    /*border-left: none*/
}
#product.lang-rtl .modal-header button.close {
    left: 5px;
    right: auto
}
#product.lang-rtl #content-wrapper {
    float: none
}
@media (max-width:767px) {
    .lang-rtl .tvproduct-page-wrapper .tv-product-page-image {
        float: none
    }
}
@media (max-width:480px) {
    .lang-rtl .quickview .modal-footer .social-icon li {
        margin: 0 0 0 7px
    }
}
.lang-rtl .quickview .col-sm-6 {
    /*float: right*/
}
.lang-rtl .modal-content .js-productinfo p {
    text-align: left
}
.lang-rtl .quickview .arrows {
    left: 60px;
    right: auto
}
.lang-rtl .js-qv-product-images,
.lang-rtl .quickview .product-variants-item ul {
    padding-right: 0
}
.lang-rtl .quickview .mask {
    margin: 0 20px 45px 0
}
.lang-rtl .tvproduct-page-wrapper .product-discount .regular-price,
.lang-rtl .quickview .product-discount .regular-price {
    margin: 0 0 0 13px
}
.lang-rtl .product-pack .pack-product-container .pack-product-quantity {
    border-right: 2px solid #f1f1f1;
    border-left: none
}
@media (max-width: 767px) {
    .lang-rtl .modal-content .js-productinfo p {
        text-align: center
    }
    .lang-rtl .quickview .mask {
        margin: 15px 0 0
    }
}
@media (max-width:375px) {
    .lang-rtl .product-pack .pack-product-container .pack-product-quantity {
        border: none
    }
}
body.lang-rtl {
    direction: rtl
}
.lang-rtl .tvcms-header-myaccount {
    float: right
}
.lang-rtl .tvcmscart-show-dropdown .tvcart-product-list-img {
    float: right;
    margin-left: 15px;
    margin-right: 0
}
.lang-rtl .tvmultibanner-part1 {
    float: right
}
.lang-rtl .tvcart-product-content {
    margin-right: 85px;
    margin-left: 0
}
.lang-rtl .tvtab-product-all-pagination .tvtab-product-list-wrapper {
    direction: ltr
}
.lang-rtl .thumbnail-container .tvproduct-timer .tvtimer-wrapper {
    direction: rtl
}
.lang-rtl .owl-carousel {
    direction: ltr
}
.lang-rtl .tv-search-account-cart-wrapper {
    float: left;
}
.lang-rtl .tv-language-dropdown,
.tv-currency-dropdown {
    padding: 10px
}
@media (max-width: 575px) {
    .lang-rtl .tvcms-next-pre-btn {
        direction: ltr
    }
}
.lang-rtl .tvleft-right-product-slider .tvproduct-image {
    float: right
}
.lang-rtl .tvleft-right-product-slider .tvproduct-name {
    text-align: right
}
.lang-rtl .tvleft-right-penal-all-block .tvall-product-bottom-link-block,
.lang-rtl .tvcmsblog-left-side .tvnews-event-link,
.lang-rtl .tvallproduct-link,
.lang-rtl .tvnews-event-link {
    text-align: left
}
.lang-rtl .tvnews-event-read-more-link i,
.lang-rtl .tvleft-right-penal-all-block .tvall-product-bottom-link-block i,
.lang-rtl .tvcmsblog-left-side .tvnews-event-link i,
.lang-rtl .tvallproduct-link i,
.lang-rtl .tvnews-event-link i {
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
    line-height: 26px
}
.lang-rtl .tvfooter-time-wrapper .tvfooter-open-time-wrapper .tvfooter-opentime-lable {
    float: right;
    margin-left: 10px
}
.lang-rtl #footer_sub_menu_store_time,
.lang-rtl #footer_sub_menu_link,
.lang-rtl #footer_sub_menu_myaccount,
.lang-rtl #footer_sub_menu_social_icon {
    padding-right: 0
}
.lang-rtl .tvfooter-title-wrapper .tvfooter-title {
    text-align: right
}
.lang-rtl .tvfooter-social-icon-wrapper li a {
    padding: 0 40px 0 0
}
.lang-rtl .tvcmsfooter-social-icon .tvfooter-social-icon-wrapper li {
    text-align: right
}
.lang-rtl .tvvertical-menu-img-block {
    float: right
}
.lang-rtl .tv-vertical-menu-icon-wrapper {
    left: 0;
    right: auto
}
.lang-rtl .tvcmsvertical-menu li:not(.tvvertical-menu-show-hide-category) .tvvertical-menu-dropdown-icon {
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
    text-align: right;
}
.lang-rtl span.tvcart-product-price {
    float: left
}
.lang-rtl #wrapper .breadcrumb ol {
    direction: ltr
}
.lang-rtl .tvnewsletter-lable-wrapper .tvnewsletter-lable {
    padding-left: 25px;
    padding-right: 90px
}
.lang-rtl .tv-left-search-totle-product,
.lang-rtl .tv-grid-list-all-wrapper,
.lang-rtl .tvall-page-shortby,
.lang-rtl .tv-sub-category-wrapper,
.lang-rtl .tvcms-all-pagination .tv-pagination-result,
.lang-rtl .tvinner-page-showing-item {
    float: right
}
.lang-rtl .pagination .tvinner-page-pagination li {
    margin: 0 15px 0 0
}
.lang-rtl.pagination .page-list.tv-pagination-wrapper,
.lang-rtl .pagination .page-list.tvinner-page-pagination {
    direction: ltr;
    float: left
}
.lang-rtl .tvcms-right-column-wrapper .tv-right-pannal-btn-wrapper {
    float: left
}
.lang-rtl .tv-total-product {
    margin-left: 0;
    margin-right: 10px
}
.lang-rtl .tvproduct-wrapper.list .tv-indicator.tv-pie .tv-outer {
    margin-right: 0
}
.lang-rtl .tv-product-cart-quentity-inner,
.lang-rtl .tvproduct-cart-catalog-btn {
    margin-right: 0;
    margin-left: 15px
}
.lang-rtl #products.list .tvproduct-name,
.lang-rtl #products #products.list .product-price-and-shipping,
.lang-rtl #products.list .product-accessories .product-price-and-shipping,
.lang-rtl #products.list .product-miniature .product-price-and-shipping,
.lang-rtl #products.list .comments_note,
.lang-rtl .tvproduct-wrapper.list .tv-product-list,
.lang-rtl #products.list-2 .tvproduct-name,
.lang-rtl #products #products.list-2 .product-price-and-shipping,
.lang-rtl #products.list-2 .product-accessories .product-price-and-shipping,
.lang-rtl #products.list-2 .product-miniature .product-price-and-shipping,
.lang-rtl #products.list-2 .comments_note {
    text-align: right
}
.lang-rtl .tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper,
.lang-rtl .tvcms-right-column-wrapper .tv-right-pannal-btn-wrapper,
.lang-rtl .tvcmsproduct-grid-list .tvproduct-grid,
.lang-rtl .tvcmsproduct-grid-list .tvproduct-grid-2,
.lang-rtl .tvcmsproduct-grid-list .tvproduct-list,
.lang-rtl .tvcmsproduct-grid-list .tvproduct-list-2,
.lang-rtl .tvcmsproduct-grid-list .tvproduct-catelog,
.lang-rtl .tv_search_filter_wrapper .tvleft-right-title-wrapper {
    margin-left: 10px;
    margin-right: 0;
    direction: ltr;
}
.lang-rtl #blockcart-modal .divide-right,
.lang-rtl #blockcart-modal .tv-addtocart-product-image {
    float: right
}
.lang-rtl #blockcart-modal .divide-right {
    border-left: 1px solid #e5e5e5;
    border-right: 0
}
.lang-rtl #blockcart-modal .cart-content .cart-content-btn .btn {
    margin-right: 0;
    margin-left: 15px
}
.lang-rtl #module-tvcmsblog-archive .pagination .page-list.tvinner-page-pagination {
    float: left
}
#module-tvcmsblog-archive.lang-rtl .pagination .page-list.tvinner-page-pagination {
    float: left
}
.lang-rtl #products.list .tvproduct-timer {
    text-align: right
}
.lang-rtl #products.list-2 .tvproduct-timer {
    text-align: right
}
.lang-rtl .tvproduct-timer-wrapper {
    margin: 0 0 0 6px;
}
.lang-rtl #products.list-2 .tvtimer-wrapper .tvproduct-timer-wrapper:first-child {
    margin-right: 0;
    margin-left: 5px
}
.lang-rtl #products.list .tvtimer-wrapper .tvproduct-timer-wrapper:first-child {
    margin-right: 0;
    margin-left: 5px
}
.lang-rtl .block-categories .collapse-icons {
    left: 0;
    right: auto
}
.lang-rtl .tvcms-left-column-wrapper .tv-left-pannal-btn-wrapper {
    background-position: -58px -721px
}
.lang-rtl .tvcms-right-column-wrapper .tv-right-pannal-btn-wrapper {
    background-position: -104px -721px
}

@media (min-width:768px){
.lang-rtl .cart-grid-body,
.lang-rtl .tvcheckout-process-left {
    float: right
}
}
.lang-rtl body#checkout div.checkout-step .radio-block,
body#checkout.lang-rtl div.checkout-step .address-footer {
    text-align: right
}
body#checkout.lang-rtl div.checkout-step .payment-options .custom-radio {
    margin-right: 0;
    float: right !important;
    margin-left: 20px
}
@media (min-width: 992px) {
    .lang-rtl .tvcmsvertical-menu .menu-dropdown {
        right: 100%;
        -webkit-transform: translateX(-20px);
        -o-transform: translateX(-20px);
        -ms-transform: translateX(-20px);
        -moz-transform: translateX(-20px);
        transform: translateX(-20px)
    }
    .lang-rtl #right-column.tv-left-right-panel-hide {
        left: -500px;
        right: auto
    }
    .lang-rtl #right-column.tv-left-right-panel-hide.open {
        left: 0;
        right: auto
    }
    .lang-rtl #left-column.tv-left-right-panel-hide {
        right: -500px;
        left: auto
    }
    .lang-rtl #left-column.tv-left-right-panel-hide.open {
        right: 0;
        left: auto
    }
    .lang-rtl .tv-left-right-panel-hide .tvright-column-close-btn {
        right: 5px;
        left: auto
    }
    .lang-rtl .tv-left-right-panel-hide .tvleft-column-close-btn {
        left: 5px;
        right: auto
    }
}
@media (max-width: 991px) {

    .lang-rtl .tvfooter-toggle-icon-wrapper.tvfooter-toggle-icon {
        right: auto;
        left: 0;
    }
    .lang-rtl .tvcmsmobile-header-left {
        float: right
    }
    .lang-rtl .tvcmsmobile-header-right {
        float: left
    }
    .lang-rtl #tvcmsmobile-horizontal-menu {
        margin-left: 30px;
        margin-right: 0
    }
    .lang-rtl .tvfooter-toggle-icon-wrapper .tvfooter-toggle-icon {
        left: 0;
        right: auto
    }
    .lang-rtl .tvcmsvertical-menu li .tvvertical-menu-dropdown-icon1 {
        right: auto;
        left: -10px
    }
    .lang-rtl .tvfooter-title-wrapper .tvfooter-title {
        padding-right: 10px
    }
}
@media (max-width: 575px) {
    .lang-rtl .tvcmsmobile-header-right {
        float: unset
    }
    .lang-rtl .tvcmsmobile-header-left {
        float: unset
    }
    .lang-rtl .tv-left-search-totle-product,
    .lang-rtl .tv-grid-list-all-wrapper,
    .lang-rtl .tvall-page-shortby,
    .lang-rtl .tv-sub-category-wrapper,
    .lang-rtl .tvcms-all-pagination .tv-pagination-result,
    .lang-rtl .tvinner-page-showing-item {
        width: 100%
    }
}
.lang-rtl #id_new_comment_form {
    text-align: right;
}
.lang-rtl #new_comment_form #criterions_list li {
    display: flex;
    flex-wrap: wrap;
}
.lang-rtl #new_comment_form #criterions_list label {
    margin: 0 0 0 20px;
}
.lang-rtl #new_comment_form .star_content {
    display: flex;
}
.lang-rtl #new_comment_form label {
    text-align: right;
}
.lang-rtl .form-group {
    display: flex;
    flex-wrap: wrap;
}
.lang-rtl .page-footer .account-link i {
    margin: 0 0 0 5px;
}
.lang-rtl .pull-right.btn-home i {
    margin: 0 0 0 10px;
}
.lang-rtl .form-control-select {
    background-position: left center;
}
.lang-rtl .cart-summary-line .value {
    float: left;
}
body#checkout.lang-rtl div.checkout-step .radio-block {
    text-align: right;
}
body#checkout.lang-rtl div.checkout-step.-reachable.-complete h1 .step-edit {
    float: left;
}
.lang-rtl .order-confirmation-table .row {
    display: flex;
    flex-wrap: wrap;
}
.lang-rtl #tvcmsdesktop-main-menu .tvcmsmain-menu-wrapper .tv-header-menu[data-depth="0"]>li>.tvmenu-link-wrapper a span:after {
    left: auto;
    right: 0;
}
.lang-rtl .tvcmsdesktop-top-header-box {
    direction: rtl;
}
.lang-rtl .tv-search-account-cart-wrapper {
    float: left;
}
.lang-rtl .tv-contact-account-cart-wrapper {
    text-align: left;
    /*direction: ltr;*/
}
.lang-rtl .tvcart-icon-text-wrapper .tvcart-lable,
.lang-rtl .tv-account-wrapper .tv-myaccount-btn span {
    text-align: right;
}
.lang-rtl .tvcmsheader-search .tvcms-select-category {
    background-position: 0
}
.lang-rtl .tvcms-header-myaccount .tv-myaccount-btn i {
    margin-right: 10px;
    margin-left: 0;
}
.lang-rtl .tvcms-header-myaccount .tv-account-dropdown {
    left: 0;
    right: auto;
    text-align: right;
}
#history.lang-rtl caption,
#history.lang-rtl th {
    text-align: right;
}
.lang-rtl .tvcmsdesktop-top-header-wrapper .tvcmsdesktop-top-wrapper {
    direction: rtl;
}
.lang-rtl .tvheader-offer-wrapper {
    float: right;
}
.lang-rtl .tvheader-language-currency-wrapper {
    text-align: left;
}
.lang-rtl .tvheader-nav-offer-text i {
    margin: 0 0 0 5px;
}
.lang-rtl #tvcmsdesktop-language-selector .tv-language-btn .tvimage-lazy {
    margin-right: 0;
    margin-left: 5px;
}
.lang-rtl .tv-language-dropdown li img {
    margin-left: 10px;
    margin-right: 0;
}
.lang-rtl .tvcmsdesktop-language-selector {
    direction: rtl;
    text-align: left;
}
.lang-rtl #tvcmsdesktop-language-selector .tv-language-btn,
.lang-rtl #tvcmsdesktop-currency-selector .tv-currency-btn {
    direction: rtl;
}
.lang-rtl .tv-language-dropdown,
.lang-rtl .tv-currency-dropdown {
    text-align: right;
}
.lang-rtl .tvcmscart-show-dropdown {
    left: 0;
    right: auto;
}
.lang-rtl .tvcart-product-totle {
    text-align: right;
}
.lang-rtl .tvcart-product-content-box {
    direction: rtl;
    padding: 0 0 0 20px
}
.lang-rtl .tvcart-product-content {
    text-align: right;
    direction: rtl;
}
.lang-rtl .tvcart-product-list-subtotal-prod {
    direction: rtl;
}
.lang-rtl #tvcmsdesktop-logo {
    float: none;
}
.lang-rtl .tvcms-header-menu .tv-header-menu>li>.tvmenu-link-wrapper a[data-depth="1"],
.lang-rtl .tvmain-menu-mobile-dropdown {
    text-align: right;
}
.lang-rtl .tvmenu-toggle-icon {
    right: auto;
    left: 0;
}
.lang-rtl .tvtab-product .tvcms-main-title {
    float: right;
}
.lang-rtl .tvtab-title-wrapper {
    float: left;
    padding-right: 0;
    padding-left: 90px;
}
.lang-rtl .product-price-and-shipping .price,
.lang-rtl .product-price-and-shipping .regular-price {
    margin: 0 0 0 5px;
}
.lang-rtl .product-price-and-shipping .price {
    font-size: 14px;
}
.lang-rtl .tvproduct-hover-btn-wrapper {
    direction: ltr;
}
.lang-rtl .tvproduct-online-new-wrapper {
    left: 15px;
    right: auto;
    text-align: left;
}
.lang-rtl .tvproduct-sale-pack-wrapper {
    right: 15px;
    left: auto;
    text-align: right;
}
.lang-rtl #products.list-2 .product-description,
.lang-rtl #products.list .product-description {
    text-align: right;
}
.lang-rtl .tv-product-cart-quentity-inner,
.lang-rtl .tvproduct-cart-catalog-btn {
    margin-left: 0;
    margin-right: 0;
}
.lang-rtl .tvproduct-info-box-wrapper .product-description {
    direction: ltr;
}
.lang-rtl .tvfooter-product-box-layout .tvleft-right-product-slider .tvproduct-wrapper {
    direction: rtl;
}
.lang-rtl .tvcmsprev-btn {
    right: auto;
    left: 0;
}
.lang-rtl .tvcmsnext-btn {
    left: 45px;
    right: auto;
}
.lang-rtl .tvcms-newsletter-wrapper {
    float: right;
}
.lang-rtl .tvnewsletter-lable-wrapper {
    text-align: right;
}
.lang-rtl .tvnewsletter-lable-wrapper:before {
    right: 0;
    left: auto;
}
.lang-rtl .block_newsletter form .input-wrapper {
    direction: ltr;
}
.lang-rtl #footer_sub_menu_store_info {
    /*padding: 0 25px 0 0;*/
}
.lang-rtl #footer_sub_menu_store_info .tvfooter-addresses:after {
    left: auto;
    right: -25px;
}
.lang-rtl #footer_sub_menu_store_info .tvfooter-store-link-fax:after {
    left: auto;
    right: -25px;
}
.lang-rtl #footer_sub_menu_store_info .tvfooter-store-link:after {
    left: auto;
    right: -25px;
}
.lang-rtl #footer_sub_menu_store_info .tvfooter-store-link-content:after {
    left: auto;
    right: -25px;
}
.lang-rtl #footer_sub_menu_social_icon {
    text-align: left;
}
.lang-rtl .tvfooter-address-lable {
    float: right;
    padding-left: 5px;
    padding-right: 0;
}
@media(max-width: 1199px) {
    .lang-rtl #footer_sub_menu_social_icon {
        text-align: center;
    }
}
.lang-rtl .page-list {
    direction: ltr;
    float: left;
}
.lang-rtl #newsletter_block_popup .tvnewsletter-popup-wrapper .tvnewsletter-popup-img-wrapper {
    margin: 0 0 0 10px;
}
.lang-rtl body#checkout section.checkout-step .radio-block,
body#checkout section.checkout-step .address-footer {
    text-align: right;
}
.lang-rtl .tvproduct-flags,
.lang-rtl .tvprduct-image-info-wrapper .product-cover .layer {
    right: 20px;
    left: auto;
}
.lang-rtl .tvproduct-flags.tvproduct-sale-pack-wrapper {
    left: 20px;
    right: auto;
}
.lang-rtl .tvtab-title-wrapper .tvtabs-products li:last-child:after {
    background-color: #000000;
}
.lang-rtl .tvtab-title-wrapper .tvtabs-products li:first-child:after {
    background-color: transparent;
}
.lang-rtl #right-column.col-xl-2,
.lang-rtl #left-column.col-xl-2 {
    float: right;
}
.lang-rtl .ttvcmscart-show-dropdown-right {
    direction: rtl;
}
.lang-rtl .ttvcmscart-show-dropdown-right .tvcart-product-content {
    margin-right: 15px;
}
.lang-rtl .ttvcmscart-show-dropdown-right .ttvclose-cart {
    /*border-left: 1px solid #eeeeee;*/
}
.lang-rtl .ttvcmscart-show-dropdown-right .ttvcart-counter {
    /*border-right: 1px solid #eeeeee;*/
}
.lang-rtl .ttvcmscart-show-dropdown-right .tvcart-product-remove {
    left: 0;
    right: auto;
}
.lang-rtl .ttvcmscart-show-dropdown-right {
    right: auto;
    left: -100%;
}
.lang-rtl .tabs .nav-tabs .nav-item {
    float: right;
}
body.lang-rtl.classicCartOpen .ttvcmscart-show-dropdown-right {
    right: auto;
    left: 0;
}
/***** End Custom Shopping Cart Right Side *****/
.lang-rtl .tvcmsright-sticky {
    right: -77px;
}
.lang-rtl .tv_blog_post_area .post_content {
    text-align: right;
}
.lang-rtl .tvleft-right-title.facet-label {
    text-align: right;
}
#category.lang-rtl #left-column {
    padding-left: 15px;
    padding-right: 15px;
    float: right;
}
.lang-rtl .tvvertical-menu-img-block {
    margin-right: 0;
    margin-left: 10px;
}

.lang-rtl .tvcmsvertical-menu-wrapper .tvleft-right-penal-all-block {
    padding-left: 0;
    padding-right: 20px;
}

.lang-rtl .tvcmsvertical-menu li .tvvertical-menu-dropdown-icon1 {
    left: 15px;
    right: auto;
}
.lang-rtl .tvcmsvertical-menu-wrapper .tvleft-right-title.facet-label {
    text-align: right;
    padding: 0 40px 0 0;
}
.lang-rtl .tvcmsvertical-menu-wrapper .tvleft-right-title-toggle i {
    right: 15px;
    left: auto;
}
.lang-rtl .tvcmsvertical-menu-wrapper .tvleft-right-title-toggle {
    left: auto;
    right: 0;
}
.lang-rtl .tvcmsvertical-menu li.level-1,
.lang-rtl .tvvertical-menu-show-hide-category .tvvertical-show-category,
.lang-rtl .tvvertical-menu-show-hide-category .tvvertical-hide-category {
    border-left: none;
    border-right: 3px solid #e1e1e1;
}
.lang-rtl .tvcmsvertical-menu li.level-1:hover,
.lang-rtl .tvvertical-menu-show-hide-category .tvvertical-show-category:hover,
.lang-rtl .tvvertical-menu-show-hide-category .tvvertical-hide-category:hover {
    border-left: none;
    border-right: 3px solid #d90244;
}
.lang-rtl .tvcmstheme-control .tvtheme-control-wrapper .tvselect-theme select,
.lang-rtl .tvcmstheme-control .tvtheme-control-wrapper .tvselect-title-font-1 select,
.lang-rtl .tvcmstheme-control .tvtheme-control-wrapper .tvselect-title-font-2 select {
    /*background-position: 10px*/
}
.lang-rtl .tvapp-logo-content-inner {
    padding-left: 100px;
    padding-right: 0;
}
.lang-rtl .tvblog-date-username {
    direction: rtl;
}
.lang-rtl .tvcmsmain-slider-wrapper {
    float: right;
}
.lang-rtl .custom-checkbox input[type='checkbox'] {
    left: auto;
    right: 0;
}

body#checkout.lang-rtl .custom-checkbox {
    float: right;
}

.lang-rtl .custom-checkbox label {
    margin-right: 9px;
}

body#checkout.lang-rtl div.checkout-step #customer-form .form-control-label,
body#checkout.lang-rtl div.checkout-step #delivery-address .form-control-label,
body#checkout.lang-rtl div.checkout-step #invoice-address .form-control-label,
body#checkout.lang-rtl div.checkout-step #login-form .form-control-label {
    text-align: right;
}

.lang-rtl .custom-checkbox {
    margin: 0 0 0 3px;
}

.lang-rtl #search_filters .facet .facet-label a {
    margin: 0 5px 0 0;
    text-align: right;
}
.lang-rtl .tvall-inner-btn i {
    margin: 0 0 0 5px;
}
.lang-rtl .footer-container.footer-4 .tvfooter-logo-link-wrapper li:last-child a:before {
    display: block;
}
.lang-rtl .tvheader-language {
    margin-left: 26px;
    margin-right: 0;
}

.lang-rtl .tvcmsheader-search.search-widget form input[type=text] {
    padding: 0 16px 0 0;
}

.lang-rtl .header-3 #_desktop_contact_link {
    text-align: left;
}

.lang-rtl .header-3 #_desktop_contact_link #contact-link i {
    margin-right: 0;
    margin-left: 10px;
}

.lang-rtl .header-3 .container_tv_megamenu,
.lang-rtl .header-5 .tvheader-language-currency-wrapper,
.lang-rtl .footer-container.footer-4 .tvfooter-contact-link-wrapper,
.lang-rtl .footer-container.footer-4 .tvfooter-logo-block .tvfooter-img-block,
.lang-rtl .footer-container.footer-4 .tvfooter-logo-block .tvfooter-logo-desc,
.lang-rtl .footer-container.footer-2 .tvfooter-logo-block .tvfooter-img-block,
.lang-rtl .footer-container.footer-2 .tvfooter-logo-block .tvfooter-logo-desc {
    text-align: right;
}

.lang-rtl #footer_sub_menu_store_info .tvfooter-addresses i,
.lang-rtl #footer_sub_menu_store_info .tvfooter-store-link i,
.lang-rtl #footer_sub_menu_store_info .tvfooter-store-link-content i,
.lang-rtl #footer_sub_menu_store_info .tvfooter-store-link-fax i {
    margin-right: 0;
    margin-left: 8px;
}
.lang-rtl .footer-container.footer-4 .tvfooter-time-wrapper .tvfooter-open-time-wrapper,
.lang-rtl .footer-container.footer-4 .tvfooter-account-link li,
.lang-rtl .footer-container.footer-4 #block_myaccount_infos li,
.lang-rtl .footer-container.footer-4 .tvfooter-category-block ul li {
    margin: 0 0 20px 40px;
}
.lang-rtl .tv-sub-category-title-wrapper {
    padding: 15px 15px 0 0px;
}

.lang-rtl #wrapper .breadcrumb ol {
    direction: rtl;
}

.lang-rtl #wrapper .breadcrumb i {
    margin-right: 0;
    margin-left: 5px;
}

.lang-rtl .tvleft-right-title-wrapper,
.lang-rtl .tv-category-title-wrapper,
.lang-rtl .tvleft-right-title.facet-label,
.lang-rtl .block-categories .category-top-menu>li.tv-category-title-wrapper a {
    text-align: right;
}
.lang-rtl .tvcategory-chain-slider-content-box {
    direction: rtl;
}
.lang-rtl .tvcmsNewsLetterPopup-i .tvnewsletterpopup-button-icon {
    left: 15px;
    right: auto;
}

.lang-rtl .tvheader-cart-wrapper {
    padding: 25px 30px 25px 0px;
}

.lang-rtl #header .tv-myaccount-btn-desktop svg {
    margin-right: 0;
    margin-left: 12px;
}

.lang-rtl .tvwishlist-icon i,
.lang-rtl .tvdesktop-compare-icon i,
.lang-rtl #tvcmsdesktop-user-info .tvhedaer-sign-btn i,
.lang-rtl .tvmyccount i,
.lang-rtl #tvcmsdesktop-user-info .tvhedaer-sign-btn i {
    margin-right: 0;
    margin-left: 8px;
}

.lang-rtl #header .tv-menu-horizontal ul li.level-1>a {
    direction: ltr;
}

.lang-rtl .footer-container.footer-3 .tvfooter-logo-link-wrapper li a:before {
    left: -30px;
    right: auto;
}

.lang-rtl .footer-container.footer-3 .tvfooter-title-wrapper .tvfooter-title:after,
.lang-rtl .footer-container.footer-3 .block_newsletter .tvnewsletter-title:after {
    left: -10px;
    right: auto;
}

.lang-rtl .footer-container.footer-3 .tvnewsletter-lable-wrapper {
    margin-right: 0;
    margin-left: 25px;
}

.lang-rtl #blockcart-modal .cart-content {
    padding-right: 2.5rem;
    padding-left: 0;
}

.lang-rtl #blockcart-modal .cart-content .cart-content-btn button {
    margin-left: .3125rem;
    margin-right: 0;
}

.lang-rtl #blockcart-modal .modal-title i.material-icons {
    margin-left: 1.875rem;
    margin-right: 0;
}

.lang-rtl .tv-addtocart-msg-wrapper .tv-addtocart-close {
    left: 15px;
    right: auto;
}

.lang-rtl .tvvertical-slider {
    direction: ltr;
}

.lang-rtl .tv-product-page .tv-indicator {
    margin-right: 0;
    margin-left: 50px;
}

.lang-rtl .tvproduct-wrapper .tvproduct-timer-icon i {
    margin-right: 0;
    margin-left: 3px;
}

.lang-rtl #header .header-4 .tv-myaccount-btn-desktop svg,
.lang-rtl #header .header-5 .tv-myaccount-btn-desktop svg,
.lang-rtl #header .header-6 .tv-myaccount-btn-desktop svg {
    margin: 0;
}

.lang-rtl .breadcrumb li:first-child a:before {
    margin-right: 0;
    margin-left: 5px;
}

.lang-rtl .products-selection .sort-by {
    text-align: left;
}

.lang-rtl .tv_search_filter_wrapper .tvleft-right-title-wrapper .tvproduct-top-filter-name {
    padding: 0px 0 0 5px;
}

.lang-rtl .tvfilter-search-types-dropdown>li .magnitude {
    float: left;
}

.lang-rtl .tvproduct-play-icon {
    left: auto;
    right: 30px;
}

.lang-rtl .open-comment-form .tvcustom-icons {
    margin-right: 0;
    margin-left: 5px;
}

.lang-rtl .cms-description blockquote:before {
    left: auto;
    right: -40px;
}

.lang-rtl .tvproduct-description-tab .product-reference .label,
.lang-rtl .tvproduct-description-tab .product-quantities .label {
    margin: 0 0px 0 8px;
}

.lang-rtl .tvproduct-page-wrapper .product-3 .tv-product-page-image {
    float: left
}

.lang-rtl .cms-description ul {
    padding-left: 0;
    padding-right: 40px;
}

.lang-rtl .contact-form .form-control-label {
    text-align: right;
}

.lang-rtl .text-sm-right {
    text-align: left !important;
}

.lang-rtl .label,
.lang-rtl label {
    text-align: right;
}

.lang-rtl .custom-checkbox {
    float: none;
}

.lang-rtl .table thead th {
    text-align: right;
}

.lang-rtl #hideWishlist {
    float: right;
}

.lang-rtl .header-4 .tvcmssearch-wrapper,
.lang-rtl .header-5 .tvcmssearch-wrapper,
.lang-rtl .header-6 .tvcmssearch-wrapper {
    margin-right: 0;
    margin-left: 30px;
}

.lang-rtl #header .tvcmsdesktop-top-header-wrapper.header-4 .tvsearch-header-display-wrappper,
.lang-rtl #header .tvcmsdesktop-top-header-wrapper.header-5 .tvsearch-header-display-wrappper,
.lang-rtl #header .tvcmsdesktop-top-header-wrapper.header-6 .tvsearch-header-display-wrappper {
    left: 0;
    right: auto;
}
.lang-rtl .tvmain-slider-next-pre-btn .tvcmsprev-btn,
.lang-rtl .tvcms-vertical-menu-next-pre-btn .tvcmsprev-btn {
    left: 15px;
    right: auto;
}
.lang-rtl .tvmain-slider-next-pre-btn .tvcmsnext-btn,
.lang-rtl .tvcms-vertical-menu-next-pre-btn .tvcmsnext-btn {
    right: 15px;
    left: auto;
}

.lang-rtl .menu-subtitle {
    left: -8px;
    right: auto;
}

@media (max-width: 991px) {
    .lang-rtl #tvcmsdesktop-language-selector .tv-language-btn,
    .lang-rtl #tvcmsdesktop-currency-selector .tv-currency-btn {
        text-align: right;
    }
    .lang-rtl #footer_sub_menu_store_info {
        margin: 0;
        overflow: hidden;
        padding: 0 15px 0 15px;
    }
    .lang-rtl #footer_sub_menu_store_time,
    .lang-rtl #footer_sub_menu_link,
    .lang-rtl #footer_sub_menu_myaccount,
    .lang-rtl #footer_sub_menu_social_icon {
        padding: 0 15px;
    }
    .lang-rtl .tvproduct-wrapper .tvproduct-hover-btn {
        right: 10px;
        left: auto;
    }
    .lang-rtl #footer_sub_menu_store_time,
    .lang-rtl #footer_sub_menu_link,
    .lang-rtl #footer_sub_menu_myaccount,
    .lang-rtl #footer_sub_menu_social_icon {
        padding: 0 15px;
    }
    .lang-rtl #header .tv-myaccount-btn-desktop svg {
        width: 23px;
        height: 23px;
        margin: 0;
        margin-right: 0;
        margin-left: 0;
    }
    .lang-rtl .tvmobile-slidebar {
        right: -300px;
        left: auto;
    }
    .lang-rtl .tvmobile-slidebar.open {
        right: 0;
        left: auto;
    }
    .lang-rtl .tvapp-logo-content-inner {
        width: 100%;
    }
    .lang-rtl .tvtags-content-box {
        text-align: center;
    }
    .lang-rtl #tvcmsmobile-horizontal-menu .tvcmsmain-menu-wrapper>.tv-header-menu {
        right: -300px;
        left: auto;
    }
    .lang-rtl #tvcmsmobile-horizontal-menu .tv-header-menu.open {
        right: 0;
        left: auto;
    }
    .lang-rtl .tvcmsdesktop-language-selector {
        text-align: center;
    }
    .lang-rtl .tvtab-product .tvcms-main-title {
        float: none;
        text-align: center;
        margin-bottom: 0;
    }
    .lang-rtl .tvtab-title-wrapper {
        margin-bottom: 0px;
    }

}
@media (max-width: 768px) {
    .lang-rtl .tvcmsmain-slider-wrapper {
        float: none;
    }
    .lang-rtl .tvtab-title-wrapper {
        float: none;
        padding-right: 0;
        margin-bottom: 15px;
        padding-left: 0;
    }
    .lang-rtl .tv-account-wrapper,
    .lang-rtl .tvheader-cart-wrapper {
        padding: 0;
    }
}
@media (max-width: 650px) {
    .lang-rtl .tvcmsheader-search {
        text-align: center;
    }
}
@media (max-width: 575px) {
    .lang-rtl .tvcmsprev-btn,
    .lang-rtl .tvcmsnext-btn {
        -webkit-transform: none;
        -o-transform: none;
        -ms-transform: none;
        -moz-transform: none;
        transform: none;
        display: inline-block;
        position: inherit;
        margin: 0 3px;
    }
    .lang-rtl .tvapp-logo-content-inner {
        margin-right: 0;
        padding: 0;
        margin-bottom: 15px;
        text-align: center;
    }
    .lang-rtl #tvcmsmobile-horizontal-menu {
        margin: 0;
    }
    .lang-rtl .tv-contact-account-cart-wrapper {
        float: none;
        border: none;
    }
    .lang-rtl .tvsearch-header-display-wrappper {
        left: 0;
        right: auto;
    }
    .lang-rtl .tvcmsmobile-cart-acount-text {
        text-align: left;
        padding-right: 0;
        padding-left: 15px;
    }
    .lang-rtl #products.list .tvproduct-name,
    .lang-rtl #products.list .tv-indicator .tv-items,
    .lang-rtl #products.list .tvproduct-timer,
    .lang-rtl #products.list .comments_note,
    .lang-rtl #products.list .product-miniature .product-price-and-shipping,
    .lang-rtl #products.list-2 .product-description,
    .lang-rtl #products.list .product-description {
        text-align: center;
    }
    .lang-rtl .tvproduct-wrapper.list .tvall-product-btn-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media (min-width: 992px) {
    .lang-rtl .tv-language-dropdown,
    .lang-rtl .tv-currency-dropdown {
        right: auto;
        left: 0;
        text-align: right;
    }
    .lang-rtl .tvproduct-wrapper.list .tv-product-list {
        float: right;
        margin-right: 0;
        margin-left: 15px;
        text-align: center;
    }
}
@media (max-width: 991px) and (min-width: 576px) {
    .lang-rtl .tvproduct-wrapper.list .tv-product-list {
        float: right;
        margin-right: 0;
        margin-left: 15px;
    }
}

@media(max-width: 1440px) {
    .lang-rtl .product-add-to-cart .add-to-cart {
        margin: 0 0 5px 30px;
    }
}
@media (max-width: 1008px) {
    *::-webkit-scrollbar {
        width: 5px;
        background-color: #ddd;
    }
    *::-webkit-scrollbar-thumb {
        background-color: #d90244;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
    }
body {
    overflow: auto;
}
}

.product-3 #block-reassurance {
    margin-bottom: 20px;
}

#cart #block-reassurance li {
    margin: 0 0px 5px 0;
}


.tvforce-hide {
    display: none;
}

/******* Start Media-tablet Css *******/
/* Media Css 769 to 1024 */
@media(max-width: 1023px) {
    .tv-footer-social-icon.slideInLeft,
    .tvcmsright-sticky.slideInRight {
        display: none;
    }
}
@media (min-width: 992px) and (max-width: 1024px) {
    .tvtabcategory-product-li,
    .tvtabcategory-show,
    .tvtabcategory-hide {
        padding: 11px 16px 11px 10px;
    }
    .tvtabcategory-product-li a,
    .tvtabcategory-show a,
    .tvtabcategory-hide a {
        font-size: 14px;
    }
}
@media (max-width: 1024px) {
    .tvbottom-to-top {
        display: block !important;
    }
    .product-1 .tvvertical-slider .product-images {
        max-height: 585px;
    }
    .product-4 .tvvertical-slider .tvcmsVerticalSlider img {
        margin: 0 auto;
    }
    .tvapp-logo-content-box {
        padding: 30px 30px 0 30px;
    }

    #category .tv-grid-list-wrapper-info-box {
        width: 25%;
    }
    #product .data-sheet {
        max-width: 100%;
    }
    /*.tvprduct-image-info-wrapper .product-cover{
    }
    .tvprduct-image-info-wrapper .tvvertical-slider{
        width: 100%;
    }*/
    .tvproduct-page-wrapper .tv-product-page-image {
        margin-bottom: 30px;
    }
    .tvproduct-page-wrapper .tv-product-page-image,
    .tvproduct-page-wrapper .tv-product-page-content {
        width: 100%;
    }
    .tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper {
        justify-content: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        float: none;
    }
    .zoomContainer {
        display: none;
    }
}
@media(max-width: 991px) {
    .footer-container.footer-4 .block_newsletter form {
        margin: 0 auto;
    }
    .mobile-header-1,
    .mobile-header-2,
    .mobile-header-3 {
        border-bottom: 1px solid #00000012;
    }
    .tvcmsheader-sticky.sticky .tv-header-logo {
        padding: 8px 0;
    }
    .footer-container.footer-4 .tvfooter-storelogo-inner {
        margin: 0;
    }
    .footer-container.footer-3 .tvnewsletter-lable-wrapper {
        margin-bottom: 15px;
        margin-right: 0;
    }
    #index #wrapper {
        padding-top: 15px;
    }
    #tvcmsmobile-search .tvheader-search-display-icon {
        display: none;
    }
    .container_tv_megamenu {
        display: block;
    }
    .tvmain-slider-next-pre-btn {
        display: none;
    }
    #tvmain-slider .owl-dots {
        display: none;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        justify-content: center;
        z-index: 0;
        margin-top: 0;
        margin-bottom: 0;
    }
    #tvmain-slider.owl-theme .owl-dots .owl-dot,
    .owl-theme .owl-dots .owl-dot span {
        display: block;
        flex: 1;
        width: 100%;
        height: 2px;
    }
    #tvmain-slider.owl-theme .owl-dots .owl-dot.active span,
    #tvmain-slider.owl-theme .owl-dots .owl-dot:hover span {
        height: 2px;
        width: 100%;
    }
    .tvcmsmobile-contact {
        position: relative;
        padding: 10px 0 0 0;
    }
    .tvcmsmobile-contact:before {
        content: '';
        background-color: #e5e5e5;
        position: absolute;
        width: 100%;
        height: 1px;
        top: 0;
        left: 0;
        right: 0;
        display: block;
        margin: 0 auto;
    }
    .tvmobile-sliderbar-btn {
        padding: 5px 0;
    }
    #left-column .tvleft-right-product-slider {
        width: 50%;
        float: left;
    }
    .tvapp-logo-content-box {
        padding: 30px 15px 0 15px;
    }
    .tvapp-logo-content-inner .tvdekstop-footer-all-title-wrapper .tvfooter-title span {
        font-size: 22px;
    }
    .tvdekstop-footer-all-desc-wrapper span {
        font-size: 14px;
    }
    .tvapp-logo-content-inner {
        width: 100%;
    }
    .tvcmsapp-logo {
        margin-bottom: 30px;
    }
    .tvcmsofferbanners-one {
        margin-bottom: 30px;
    }
    .tvcmssliderofferbanners-one .tvbanner1,
    .tvcmssliderofferbanners-one .tvbanner2 {
        padding: 0 15px;
    }
    .tvcmssliderofferbanners-one .tvbanner1 {
        margin-bottom: 0;
        text-align: right;
    }
    .tvcmssliderofferbanners-one .tvbanner2 {
        margin-bottom: 0;
        text-align: left;
    }
    .tvcms-slider-offerbanner-wrapper {
        margin-bottom: 30px;
    }
    .tvmain-slider-contant .tvmain-slider-button {
        padding: 0 10px;
        font-size: 12px;
        line-height: 20px;
    }
    .tvcmsmain-slider-wrapper {
        margin-bottom: 30px;
        width: 100%;
    }
    .tvcmssliderofferbanners-one {
        width: 100%;
        display: inline-block;
        text-align: center;
    }
    #header {
        position: relative;
    }
    #index #header {
        position: relative;
        background-color: #ffffff;
        /*margin-bottom: 15px;*/
    }
    .tvtags-content-box {
        text-align: center;
    }
    .tvcmsmobile-header-search-logo-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .tvcmsdesktop-top-header-box {
        display: block;
    }
    #tvcmsmobile-horizontal-menu .tvcmsmain-menu-wrapper>.tv-header-menu {
        position: absolute;
        background-color: #ffffff;
        border: 1px solid rgba(0, 0, 0, 0.07);
        top: 100%;
        width: 50%;
        z-index: 70;
        display: block;
        opacity: 0;
        -webkit-transition: all 0.7s ease 0.1s;
        -moz-transition: all 0.7s ease 0.1s;
        -ms-transition: all 0.7s ease 0.1s;
        -o-transition: all 0.7s ease 0.1s;
        transition: all 0.7s ease 0.1s;
        padding: 30px;
        left: -300px;
        visibility: hidden;
        max-height: 500px;
        overflow-y: scroll;
    }
    #tvcmsmobile-horizontal-menu .tv-header-menu.open {
        opacity: 1;
        -webkit-transition: all 0.7s ease 0.1s;
        -o-transition: all 0.7s ease 0.1s;
        transition: all 0.7s ease 0.1s;
        visibility: visible;
        left: 0;
    }

    #tvcmsmobile-horizontal-menu .tv-header-menu li {
        width: 100%;
        text-align: center;
        position: relative;
        display: block;
        padding: 0;
    }
    #tvcmsmobile-horizontal-menu .tv-header-menu ul[data-depth="1"]>li {
        padding: 10px 0;
        float: unset;
    }
    .tvheader-top-menu-img {
        padding: 10px 0;
    }
    #tvcmsmobile-horizontal-menu>.tvcmsmain-menu-wrapper>.tv-header-menu>li {
        border-bottom: 1px solid #f1f1f1;
    }
    #tvcmsmobile-horizontal-menu>.tvcmsmain-menu-wrapper>.tv-header-menu>li>.tvmenu-link-wrapper {
        padding: 15px 20px;
    }
    #tvcmsmobile-horizontal-menu>.tvcmsmain-menu-wrapper>.tv-header-menu>li>.tvmenu-link-wrapper a {
        color: #222222;
        font-weight: 500;
    }
    .tvmenu-link-wrapper .tvdropdown-submenu.tvmenu-link {
        display: block;
        width: 100%;
    }
    #tvcmsmobile-horizontal-menu .tv-header-menu li .tvmain-menu-mobile-dropdown .category.tvmain-menu-wrapper {
        padding: 3px 0;
    }
    .tvmenu-link-wrapper .tvdropdown-submenu.tvmenu-link span {
        color: #000;
        font-weight: 500;
    }
    .tvmenu-link-wrapper .tvdropdown-submenu.tvmenu-link span:hover {
        color: #e40046;
    }
    #tvcmsmobile-horizontal-menu .tv-header-menu li:last-child {
        border-bottom: none;
    }
    #tvcmsmobile-horizontal-menu .tv-header-menu li a i {
        float: right;
        padding: 0 40px;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -moz-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }
    .tvcmsmobile-header-menu-offer-text {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        /*background-color: #fdd740;*/
        padding: 0 15px;
    }
    .tvmenu-toggle-icon {
        position: absolute;
        right: 0;
    }
    .tvmain-menu-dropdown {
        display: none;
        width: 100%;
        padding: 0 0 15px 0;
    }
    .tvmenu-button-wrapper {
        display: inline-block;
        vertical-align: middle;
        padding: 10px 0;
    }
    #tvcmsmobile-horizontal-menu-left {
        padding: 0;
    }
    #tvcms-mobile-view-header .tvmenu-button i {
        color: #ffffff;
        font-size: 24px;
        width: 35px;
        height: 35px;
        line-height: 33px;
        text-align: center;
        border: 1px solid rgba(162, 71, 99, 0.36);
        border-radius: 5px;
        vertical-align: top;
        cursor: pointer;
        background-color: rgba(0, 0, 0, 0.1);
    }
    #header .tvcmsmain-menu-wrapper .menu {
        display: block;
    }
    .tvcmsmobile-header-menu {
        position: initial;
        padding: 0;
    }

    .tvcmsmobile-top-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .tvmobileheader-language-currency-wrapper {
        text-align: right;
    }
    .tv-account-wrapper,
    .tvheader-cart-wrapper {
        padding: 5px 0;
    }
    .tvheader-sarch-display .tvheader-search-display-icon .tvsearch-open {
        display: flex;
    }
    .tvcmsheader-search {
        text-align: center;
        cursor: pointer;
    }
    #header .mobile-header-2 .tv-myaccount-btn-desktop svg,
    #header .mobile-header-3 .tv-myaccount-btn-desktop svg {
        margin: 0;
    }
    #header .tvsearch-top-wrapper {
        width: 70%;
        padding: 15px 0;
        display: inline-block;
    }
    .tvcmsheader-search.search-widget form input[type=text] {
        /*height: 40px;*/
    }
    .tvcmsheader-search .tvcms-select-category {
        margin: 0 10px;
    }
    .tvsearch-header-display-wrappper form {
       /* overflow: visible; /* M@D overflow: visible;*/
    }
    .tvsearch-result {
        left: 0;
    }
    .tvcmsdesktop-language-selector,
    .tvcmsdesktop-top-wrapper {
        text-align: center;
    }
    .tv-language-dropdown,
    .tv-currency-dropdown {
        padding: 10px;
    }
    .tvcmsdesktop-top-header-wrapper {
        display: none;
    }
    .tvcmsmobile-header-logo-right-wrapper #tvcmsmobile-header-logo {
        width: 100%;
    }
    .tvcmsmobile-cart-acount-text {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: right;
        justify-content: flex-end;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        padding: 0;
    }
    .tv-cart-cart-inner {
        position: absolute;
        right: -4px;
        top: -4px;
    }
    #tvcmsmobile-account-button {
        margin: 0 20px;
    }

    #contact-link span {
        color: #333333;
        position: relative;
        line-height: 40px;
   		display: inline-block;
        vertical-align: middle;
    }
    #contact-link span:before {
        font-family: 'Material Icons';
        content: '\e0b0';
        font-size: 22px;
        color: #333333;
        margin: 0 5px 0 0;
        line-height: 30px;
		 display: none;
        /*display: inline-block;*/
        vertical-align: middle;
    }
    #contact-link i {
       /* display: none;  /* FR@ display: none; */
    }
    .tvstore-email-wrapper,
    .tvstore-time-infowrapper,
    .tvcmsstore-time {
        margin-right: 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .tvcmsdesktop-language-selector,
    .tvheader-offer-wrapper {
        width: 100%;
    }
    .tvcmsstore-time {
        display: block;
    }
    #contact-link {
        justify-content: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
    }
    .tvmobile-sliderbar-btn a {
        height: auto;
        width: auto;
        display: inline-block;
        vertical-align: middle;
        text-align: center;
        padding: 8px 8px 8px 0px;
        background-color: rgba(255, 255, 255, 0.76);
        /*border: 1px solid rgba(0, 0, 0, 0.07);*/
    }
    #header .tv-menu-horizontal ul li.level-1>a {
        font-size: 16px;
        font-family: inherit;
        line-height: 40px;
    }
    .tvmobile-sliderbar-btn i {
        /*padding: 8px 0px;*/
		font-size: 23px;
    }
    #header .tv-menu-horizontal ul li.level-1>a {
        /*padding:5px 15px;*/
        padding: 0;
    }
    .tv-menu-horizontal li.level-1 {
        border-bottom: none;
        padding-bottom: 5px;
    }
    .tv-menu-col,
    .tv-menu-row {
        padding-bottom: 5px;
    }
    .menu-subtitle {
        top: 0;
        right: auto;
    }
    .tvmega-menu-title {
        font-size: 16px;
        color: #666666;
        text-align: center;
        font-weight: 500;
        position: relative;
        text-transform: capitalize;
        padding: 0 0 15px 0;
        margin-bottom: 15px;
    }
    .tvmega-menu-title:after {
        position: absolute;
        content: "";
        width: 112%;
        left: -15px;
        right: 0;
        bottom: 0;
        height: 1px;
        background-color: #e5e5e5;
    }
    .tvmobile-dropdown-close a i {
        position: absolute;
        right: 10px;
        top: 12px;
        font-size: 24px;
        color: #333333;
        z-index: 10;
    }
    .tv-total-product-number {
        font-size: 12px;
    }
    .tvcmsspecial-product,
    .tvcmstab-title-product {
        margin-bottom: 10px; /*  era 20 Fr@*/
    }
    /*.tvcmsfeatured-product,
    .tvcmsbest-seller-product,
    .tvcmsnew-product,
    .tvcmssame-category-product,
    .tvcmscross-selling-product,
    .tvcmslike-product {
        margin-bottom: 20px;
    }*/
    #left-column {
        display: none;
    }
    .tvtab-title-wrapper .tvtabs-products li {
        padding: 9px 10px;
    }
    .tvcms-main-title .tvmain-title h2 {
        font-size: 24px !important;
        font-family: inherit;
    }
    .tvtab-title-wrapper .tvtabs-products li span,
    .tvcategory-title-wrapper .tvleft-right-title span {
        font-family: inherit;
    }
    .tvproduct-name h6,
    .product-price-and-shipping .price {
        font-size: 14px !important;
    }
    .tvcart-icon-text-wrapper .tvcart-lable,
    .tv-account-wrapper .tv-myaccount-btn span {
        font-size: 14px !important;
        display: none;
    }
    .tvheader-nav-offer-text p,
    #tvcmsdesktop-language-selector .tv-language-btn .tv-language-span,
    #tvcmsdesktop-currency-selector .tv-currency-btn .tv-currency-span {
        font-size: 14px !important;
    }
    .tvnews-event-content-wrapper .tvnews-event-titel a h3,
    .kr_blog_post_area .tvblog_post .post_content .post_title a {
        font-size: 14px !important;
    }
    .tvfooter-product-box-layout .tvcms-main-title .tvmain-title h2 {
        font-size: 20px !important;
    }
    .tvservices-content-box .tvservices-title {
        font-size: 14px !important;
    }
    .tvproduct-flags {
        opacity: 1;
    }
    .tvproduct-wrapper.grid:hover .tvproduct-timer,
    .tvproduct-wrapper.grid-2:hover .tvproduct-timer {
        -webkit-transform: translateY(0px);
        -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
        -o-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
    .tvproduct-timer .tvproduct-timer-wrapper {
        margin: 0;
    }
    .tvproduct-wrapper.grid:hover .tvproduct-timer,
    .tvproduct-wrapper.grid-2:hover .tvproduct-timer {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
    }
    .tvproduct-wrapper.grid .tvproduct-timer,
    .tvproduct-wrapper.grid-2 .tvproduct-timer {
        bottom: 42px;
        top: auto;
    }
    /*.tvproduct-wrapper.grid .tvproduct-hover-btn,
    .tvproduct-wrapper.grid-2 .tvproduct-hover-btn {
        opacity: 1;
        position: unset;
        bottom: 0;
        margin-top: 5px;
    }*/
    .tvproduct-wrapper.grid .tvproduct-quick-btn,
    .tvproduct-wrapper.grid-2 .tvproduct-quick-btn,
    .tvproduct-wrapper.grid .tvproduct-cart-btn,
    .tvproduct-wrapper.grid-2 .tvproduct-cart-btn,
    .tvproduct-wrapper.grid .tvproduct-cart-btn,
    .tvproduct-wrapper.grid-2 .tvproduct-cart-btn,
    .tvproduct-wrapper.grid .tvproduct-wishlist,
    .tvproduct-wrapper.grid-2 .tvproduct-wishlist,
    .tvproduct-wrapper.grid .tvcompare-wrapper,
    .tvproduct-wrapper.grid-2 .tvcompare-wrapper {
        transform: none;
        margin: 0 2px;
    }
    .tvfooter-product-title-product,
    .tvfooter-product-box-layout {
        margin-bottom: 15px;
    }
    .tv-product-page-image .page-content {
        width: 100%;
        margin: 0 auto;
    }
    .tvcms-brandlist-pagination-wrapper {
        display: block;
    }
    .tvmain-slider-next-pre-btn .tvcmsprev-btn {
        left: 5px;
    }
    .tvmain-slider-next-pre-btn .tvcmsnext-btn {
        right: 5px;
    }
    .tvnewsleeter-input-button-wraper .input-wrapper input {
        min-width: 100%;
    }
    .tvfooter-logo-block {
        padding: 20px 0;
    }
    .tvfooter-storelogo-inner {
        border: 0;
    }
    .tvnewsletter-lable-wrapper {
        margin-top: 15px;
    }
    .tvfooter-storelogo-imformation {
        padding: 15px 0;
        flex-direction: column;
    }
    #footer_sub_menu_store_info .tvfooter-addresses:after,
    #footer_sub_menu_store_info .tvfooter-store-link-content:after,
    #footer_sub_menu_store_info .tvfooter-store-link-fax:after,
    #footer_sub_menu_store_info .tvfooter-store-link:after {
        left: -35px;
    }
    #footer_sub_menu_store_info {
        padding-left: 15px;
    }
    #footer_sub_menu_store_time,
    #footer_sub_menu_link,
    #footer_sub_menu_myaccount,
    #footer_sub_menu_tvfooter_category {
        margin: 0;
        overflow: hidden;
        padding: 0 15px;
    }
    .tvfooter-toggle-icon-wrapper.tvfooter-toggle-icon {
        display: block;
        padding: 0;
        height: 36px;
        width: 36px;
        text-align: center;
        line-height: 36px;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        cursor: pointer;
    }
    .tvfooter-toggle-icon-wrapper.tvfooter-toggle-icon i {
        color: #333333;
    }
    .tvfooter-toggle-icon-wrapper.tvfooter-toggle-icon .remove {
        display: none;
    }
    .tvcmsfooter-social-icon .tvfooter-title-wrapper {
        padding-left: 0;
    }
    .tvfooter-title-wrapper {
        margin-bottom: 0px;
    }
    .tvfooter-title-wrapper .tvfooter-title {
        margin-bottom: 10px;
        padding: 10px;
        border: 1px solid rgba(0, 0, 0, 0.07);
        font-size: 16px !important;
    }
    .block_newsletter .tvnewsletter-title,
    .tvnewsletter-description {
        text-align: center;
    }
    .tvnewsleeter-input-button-wraper {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 0 auto;
        /*margin-bottom: 15px;*/
    }
    .tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper {
        justify-content: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        float: none;
    }
    .tvcopylink p {
        text-align: center;
    }

}
@media (max-width: 820px) {
    .quickview .tvcart-btn-model {
        float: none;
    }
}
@media(min-width: 768px) {
    .pagination .page-list.tv-pagination-wrapper,
    .pagination .page-list.tvinner-page-pagination {
        -webkit-box-pack: flex-end;
        -ms-flex-pack: flex-end;
        justify-content: flex-end;
    }
}

@media (max-width: 991px) {
    .lang-rtl #contact-link span:before {
        margin: 0 0 0 5px;
    }
    .lang-rtl #contact-link {
        text-align: right;
    }
    .lang-rtl .tvheader-cart-wrapper {
        padding: 0;
    }
    .tvcmsheader-sticky.sticky {
        background-color: #ffffff;
    }

    .product-1 .tvvertical-slider .product-images {
        max-height: 627px;
    }
    .tvcmsheader-search.search-widget form input[type=text] {
        height: 42px;
    }
    .tvheader-top-search-wrapper {
        padding: 10px 10px; /* FRA@ padding: 10px 16px; */
    }
    .tvcmsheader-search.search-widget form button[type=submit] svg {
        width: 20px;
    }
    #header .tv-myaccount-btn-desktop svg {
        width: 26px;
        height: 26px;
        margin: 0;
        margin-right: 0;
        margin-left: 0;
    }
    .tvheader-cart-wrapper .tv-cart-icon svg {
        width: 26px;
        height: 26px;
    }
    .tv-cart-cart-inner {
        width: 16px;
        height: 16px;
        font-size: 10px;
    }
    .tvheader-nav-offer-text i {
        font-size: 14px;
    }
    .tvproduct-play-icon {
        position: unset;
        text-align: center;
    }
    .tvproduct-play-icon span {
        font-size: 14px;
    }
    .tvproduct-play-icon i {
        font-size: 30px;
    }
    .tvproduct-description-tab #tab-content {
        padding: 15px;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tv-header-logo {
        padding: 15px 0;
    }
    #tvcms-mobile-view-header.mobile-header-3 .tvmobile-sliderbar-btn {
        padding: 10px 0 10px 0;
    }
    #tvcms-mobile-view-header.mobile-header-3 .tvcmsmobile-header-menu,
    #tvcms-mobile-view-header.mobile-header-3 .tvcmsmobile-header-search {
        width: 50%;
    }
    #tvcms-mobile-view-header.mobile-header-3 .tvcmsmobile-header-search-logo-wrapper {
        flex-wrap: wrap;
        justify-content: center;
    }
    #tvcms-mobile-view-header.mobile-header-3 .tv-header-logo {
        justify-content: center;
    }
    .tvmobile-slidebar {
        /*opacity: 0;*/
        visibility: hidden;
        position: fixed;
        z-index: 1001;
        padding: 15px;
        background-color: #ffffff;
        border: 1px solid #e5e5e5;
        border-radius: 3px;
        left: -300px;
        min-width: 300px;
        width: 300px;
        height: 100vh;
        top: 0;
        overflow-y: auto;
        overflow-x: hidden;
        transform-origin: top;
        -webkit-transition: all 0.3s ease 0.1s;
        -moz-transition: all 0.3s ease 0.1s;
        -ms-transition: all 0.3s ease 0.1s;
        -o-transition: all 0.3s ease 0.1s;
        transition: all 0.3s ease 0.1s;
    }
    .tvmobile-slidebar.open {
        visibility: visible;
        text-align: left;
        left: 0;
        /*opacity: 1;*/
        transform-origin: top;
        -webkit-transition: all 0.3s ease 0.1s;
        -moz-transition: all 0.3s ease 0.1s;
        -ms-transition: all 0.3s ease 0.1s;
        -o-transition: all 0.3s ease 0.1s;
        transition: all 0.3s ease 0.1s;
    }

    .tv-menu-horizontal .menu-content .tvmega-menu-title {
        display: block;
    }

    #tvcms-mobile-view-header.mobile-header-2 #tvcmsmobile-account-button {
        margin: 0;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvcmsmobile-header-logo-right-wrapper {
        padding: 0;
        min-height: 64px;
    }
    #tvcms-mobile-view-header.mobile-header-1 .tvcmsmobile-header-logo-right-wrapper {
        min-height: 55px;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tv-account-wrapper .tv-myaccount-btn span,
    .tvcms-search-click .tv-account-wrapper .tv-myaccount-btn span {
        display: none;
    }
    #header #tvcms-mobile-view-header.mobile-header-2 .tvsearch-header-display-wrappper {
        max-width: 400px;
        width: 400px;
        margin: auto;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvheader-sarch-display,
    #tvcms-mobile-view-header.mobile-header-2 #tvcmsmobile-account-button,
    #tvcms-mobile-view-header.mobile-header-2 #tvmobile-cart {
        margin: 0 0 0 20px;
    }
    .lang-rtl #tvcms-mobile-view-header.mobile-header-2 .tvheader-sarch-display,
    .lang-rtl #tvcms-mobile-view-header.mobile-header-2 #tvcmsmobile-account-button,
    .lang-rtl #tvcms-mobile-view-header.mobile-header-2 #tvmobile-cart {
        margin: 0 20px 0 0px;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvcmsmobile-header-search {
        display: flex;
        position: unset;
        align-items: center;
        justify-content: flex-end;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvcmsmobile-header-menu {
        padding: 0 15px;
    }
    #header .mobile-header-2 .tvsearch-top-wrapper {
        width: 100%;
        padding: 0;
        display: block;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvsearch-open svg,
    #tvcms-mobile-view-header.mobile-header-2 .tvsearch-close svg {
        vertical-align: middle;
        width: 20px;
        height: 20px;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvsearch-close svg {
        width: 20px;
        height: 15px;
    }
}
/******* End Media-tablet Css *******/


/******* Start Media-mobile Css *******/
/* Media Css 768 to 320 */
@media(min-width: 576px) and (max-width: 767px) {
    #products.list .tvproductdescription-button-wrapper,
    #products.list .tvproduct-wrapper.list .tvproduct-image {
        width: 50%;
    }
}
@media(max-width: 767px) {
    .tvapp-logo-content-box {
        display: block;
        padding: 15px;
    }
    .tvapp-logo-content-wrapper {
        margin-bottom: 15px;
    }
    .tvmain-slider-content-wrapper {
        display: flex;
        overflow: hidden;
        border: none;
        background-color: transparent;
        /*display: none;*/
    }
    .tvmain-slider-content-inner {
        /*width: 50%;*/
        /*float: left;*/
        margin: 1px 0 0 0;
        display: block;
    }
    .tvmain-slider-contant {
        display: none;
    }
    .tvcms-main-slider {
        border-bottom: none;
    }
    .tvfooter-social-icon-wrapper li a {
        width: 48px;
        height: 48px;
    }
    .tvmain-slider-content-inner:last-child {
        width: 100%;
    }
    #category .tv-grid-list-wrapper-info-box {
        width: 33.33%;
    }
    .tvall-inner-btn-cancel span,
    .tvall-inner-btn span {
        font-size: 14px;
    }
    #header .tvsearch-top-wrapper {
        width: 100%;
    }

    .tvtab-title-wrapper {
        float: none;
        padding-right: 0;
        margin-bottom: 15px;
        padding-left: 0;
    }
    #products.catelog .tv-product-list {
        margin: 0;
    }
    .tvproduct-description-tab .nav-tabs li.nav-item {
        margin: 0 0px 10px 0px;
        width: 100%
    }
    .tvnewsletter-block {
        display: block;
        text-align: center;
    }
    .tvfooter-copy-payment-icon-wrapper {
        padding: 10px 0;
    }
    .tvcmsfooter-social-icon {
        padding-top: 0;
    }
   
    .tvcopylink p {
        text-align: center;
    }
    .block_newsletter {
        border: none;
        padding-bottom: 0;
    }
    .tvfooter-payment-icon-img-block .tvfooter-payment-icon-wrapper {
        justify-content: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        float: none;
    }
    .tvcopylink,
    .tvfooter-payment-icon-img-block {
        margin-bottom: 15px;
        padding: 0 15px;
    }
    .footer-container .links ul>li {
        border: none;
        padding: 0;
        font-weight: normal;
    }
    .footer-container .links ul {
        background-color: transparent;
    }
    .tvbottom-to-top {
       /* FR@ right: 15px; */
		right: 20px;
    }
    .tvfooter-copy-payment-icon-inner {
        display: block;
    }
    .tvcmsfooter-social-icon {
        text-align: center;
    }
}
@media(max-width: 768px) {
    .product-2 .tvvertical-slider {
        display: block;
    }

    .product-2 .product-cover {
        display: none;
    }

    .product-1 .tvvertical-slider .product-images {
        max-height: max-content;
    }

    .tvvertical-slider .slick-slide.slick-current .tvcmsVerticalSlider:nth-child(1) img.thumb,
    .tvvertical-slider .tvcmsVerticalSlider:nth-child(1) img {
        border: none;
    }

    .product-1 .tvvertical-slider .product-images .tvcmsVerticalSlider,
    .product-2 .tvvertical-slider .product-images .tvcmsVerticalSlider,
    .product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider,
    .product-5 .tvvertical-slider .product-images .tvcmsVerticalSlider {
        display: none !important;
    }

    .product-1 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1),
    .product-2 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1),
    .product-3 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1),
    .product-5 .tvvertical-slider .product-images .tvcmsVerticalSlider:nth-child(1) {
        display: block !important;
    }

    .product-1 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider,
    .product-2 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider,
    .product-3 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider,
    .product-5 .tvvertical-slider .product-images.slick-slider .tvcmsVerticalSlider {
        display: block !important;
    }

    .product-3 .tvcmsVerticalSlider {
        width: auto;
    }
    .tvproduct-play-icon {
        text-align: center;
    }
    .tvvertical-slider .slick-slider li img.thumb.active,
    .tvvertical-slider .slick-slider li img.thumb:hover {
        border: 1px solid transparent;
    }
    .tvvertical-slider .product-images {
        padding-bottom: 30px;
        margin-bottom: 0;
    }
    .cms-description img {
        margin-bottom: 15px;
    }
    #product #block-reassurance ul {
        display: flex;
    }
    #product #block-reassurance ul li {
        margin: 0 15px 5px 0;
    }
    .product-2 .tvproduct-image-slider .col-md-6 {
        width: 50%;
        float: left;
    }
    #left-column .tvfilter-brand-list-wrapper {
        width: 48%;
        float: left;
        margin-right: 7.5px;
    }
    #left-column .tvfilter-supplier-list-wrapper {
        width: 48%;
        float: left;
        margin-left: 7.5px;
    }
    #tvcmsmobile-horizontal-menu .tv-header-menu.open {
        opacity: 1;
        -webkit-transition: all 0.7s ease 0.1s;
        -o-transition: all 0.7s ease 0.1s;
        transition: all 0.7s ease 0.1s;
        right: 30%;
        width: 70%;
    }
    .tvcmsmobile-header-menu #tvmobile-megamenu .title-menu-mobile i {
        padding: 3px 0px;
    }
    .tvcmsmobile-header-menu #tvmobile-megamenu .title-menu-mobile a {
        height: 32px;
        width: 32px;
    }
    .tv-account-wrapper,
    .tvheader-cart-wrapper {
        padding: 0;
    }
    .tvmobileheader-offer-wrapper .tvheader-nav-offer-text {
        padding: 7px 0;
    }
    #header .tvsearch-top-wrapper {
        padding: 10px 0;
    }
    .tvcms-header-myaccount .tv-myaccount-btn,
    .tv-header-cart .tv-cart-icon {
        /*transform: scale(0.9);*/
    }
    .tv-cart-cart-inner {
        position: absolute;
        right: -3px;
        top: -7px;
    }
    .tvcmsheader-search.search-widget form input[type=text] {
        /*height: 35px;*/
    }
    .tvcmsheader-search.search-widget form button[type=submit] i {
        background-position: 0px -707px;
    }
    .tvcmsheader-search.search-widget form button[type=submit] i {
        line-height: 30px;
        height: 30px;
    }
    .tvprduct-image-info-wrapper .product-cover {
        display: none;
    }
    .product-5 .tvvertical-slider {
        display: block;
    }
    /*.tvprduct-image-info-wrapper.product-5 .product-cover {
        display: block;
    }*/
    .tvprduct-image-info-wrapper .tvvertical-slider {
        width: 100%;
    }
    .tvproduct-page-wrapper .tv-product-page-image,
    .tvproduct-page-wrapper .tv-product-page-content {
        width: 100%;
    }
    .tvproduct-wrapper .tvproduct-hover-btn .tvproduct-quick-btn {
        display: none;
    }
    .tvproduct-flags li {
        font-size: 11px;
    }
}
@media (max-width: 650px) {
    .lang-rtl .tvapp-logo-content-inner {
        padding: 0;
    }
    .tv-header-logo {
        /*padding: 15px 0;*/
    }
    .tv-header-logo a {
        width: 100%;
    }
    .tvcmsmobile-header-search-logo-wrapper {
        display: flex;
        /*flex-wrap: wrap;*/
    }
    #tvcms-mobile-view-header.mobile-header-1 .tvcmsmobile-header-search-logo-wrapper {
        flex-wrap: wrap;
    }
   /* #tvcms-mobile-view-header.mobile-header-1 .tv-header-logo {
        padding: 20px 0;
    }*/
    #header #tvcms-mobile-view-header.mobile-header-1 .tvsearch-top-wrapper {
        padding: 0px 0 15px 0;
    }
    #tvcms-mobile-view-header.mobile-header-1 .tvmobileheader-offer-wrapper .tvheader-nav-offer-text {
        padding: 10px 0 0;
    }
    #tvcms-mobile-view-header.mobile-header-3 .tv-header-logo img {
        /*transform: scale(0.8);*/
        display: inline-block;
    }
    .tv-header-logo {
        height: auto;
        text-align: center;
        justify-content: center; /* M@D justify-content: center;*/
    }
    #header #tvcms-mobile-view-header.mobile-header-2 .tv-header-logo {
        justify-content: flex-start;
    }
    #header #tvcms-mobile-view-header.mobile-header-2.mobile-header-3 .tv-header-logo {
        justify-content: center;
    }
    .tvcmsmobile-top-wrapper {
        padding-bottom: 0px;
    }
    #header .tvsearch-top-wrapper {
        width: 70%;
        padding: 10px 0 10px 0;
        display: inline-block;
    }

    .tvcmsheader-search {
        text-align: center;
        padding-right: 0;
    }
    #header #tvcms-mobile-view-header.mobile-header-2 .tvsearch-header-display-wrappper {
        /*top: 35px;*/
    }
    #tvcms-mobile-view-header.mobile-header-2 .tv-account-wrapper,
    #tvcms-mobile-view-header.mobile-header-2 .tvheader-cart-wrapper {
        padding: 5px 0;
    }
}
@media(max-width: 600px) {
    #tvcmsmobile-account-button {
        margin: 0 14px;
    }
}
@media(max-width: 590px) {
    .tvall-product-branner {
        width: 100%;
        text-align: center;
        margin: 5px 0;
    }
    .tvimage-true {
        width: 100%;
    }

    .tvall-product-branner {
        margin: 0 0 15px 0;
    }
}
@media(max-width: 575px) {
    .tvproduct-review-box {
        margin-top: 15px;
    }

    .footer-container.footer-4 .block_newsletter form,
    .footer-container.footer-3 .block_newsletter form {
        width: 100%;
        margin: 0;
    }
    #tvcms-mobile-view-header.mobile-header-2 .tvcmsmobile-header-logo-right-wrapper {
        width: 100%;
    }
    .product-2 .tvproduct-image-slider .col-md-6 {
        width: 100%;
        float: none;
    }
    .tvcms-header-myaccount .tv-myaccount-btn,
    .tv-header-cart .tv-cart-icon {
        /*transform: scale(0.8);*/
    }
    .tvapp-logo-img-content-wrapper {
        display: block;
        text-align: center;
    }
    .tvapp-logo-content-inner {
        margin-right: 0;
        padding: 0;
        margin-bottom: 15px;
        text-align: center;
    }
    .tvcmssliderofferbanners-one .tvbanner1,
    .tvcmssliderofferbanners-one .tvbanner2 {
        width: 50%;
        /*margin-bottom: 15px; FR@ spazio sotto i banner*/
        padding: 0 15px; /* padding: 0 7.5px; FR@ era*/
        text-align: center;
        float: left;
    }
    .tvmain-slider-content-inner {
        width: 100%;
    }
    .tvmain-slider-contant .tvmain-slider-info h2 {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .tvmain-slider-contant .tvmain-slider-button {
        padding: 0 6px;
        font-size: 10px;
        line-height: 16px;
    }
    .tvcms-slider-offerbanner-wrapper {
        margin-bottom: 20px;
    }
    .tvtab-title-wrapper .tvtabs-products li {
        display: block;
    }
    #category .tv-grid-list-wrapper-info-box {
        width: 50%;
    }
    #js-product-list .tvgrid-list-view-product .products {
        margin: 0;
    }
    .tvall-product-wrapper-info-box {
        padding: 2px;
        margin: 0px;
    }
    .tvall-product-wrapper-info-box.tvtab-first-product {
        /*margin: 0px; PIù SPAZIO TRA LE CARDS IN MOBILE DI HOMETAB FR@*/
    }
    .tvproduct-wrapper {
        margin: 0px;
    }
    #tv-back-top-wrapper {
        padding: 10px;
        margin-top: 10px;
    }
    .tvsearch-filter-content-wrapper .facet:not(:last-child) {
        margin-bottom: 20px;
    }
    .tvproduct-timer .tvproduct-timer-wrapper~.tvproduct-timer-wrapper {
        margin-left: 0px;
    }
    #tvcms-mobile-view-header {
        display: block;
        height: auto;
    }
    .tvmobileheader-language-currency-wrapper {
        text-align: center;
    }
    .tvcmsmobile-top-wrapper {
        display: block;
        padding-bottom: 0px;
    }
    #tvcmsmobile-horizontal-menu .tvcmsmain-menu-wrapper>.tv-header-menu {
        width: 100%;
    }
    .tvcmsmobile-header-center {
        width: 100%;
    }
    #tvcmsmobile-horizontal-menu {
        margin: 0;
    }
    .tvcmsmobile-header-right {
        width: 100%;
        float: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    #tvcmsmobile-header-right {
        display: none;
        padding: 0;
    }
    .tv-contact-account-cart-wrapper {
        float: none;
        border: none;
    }
    #header .tvsearch-top-wrapper {
        width: 100%;
        padding: 15px 0 15px 0;
    }

    #_desktop_search .tvheader-top-search {
        width: 100%;
    }
    .tvcmsheader-search .tvcms-select-category {
        min-width: 50px;
    }
    .tvcmsheader-search.search-widget form button[type=submit] .tvserach-name,
    #_desktop_search .tvcmsheader-search .tvserach-name {
        font-size: 12px;
    }
    .tvcmsheader-search.search-widget form input[type=text] {
        font-size: 16px; 
    }
    .tvheader-nav-offer-text {
        text-align: center;
        justify-content: center;
        padding: 12px 15px;
    }

    .tvheader-language {
        margin-right: 0;
    }
    .tv-account-dropdown>div {
        border-bottom: none;
    }
    #tvcmsdesktop-language-selector .tv-language-btn .tv-language-span,
    #tvcmsdesktop-currency-selector .tv-currency-btn .tv-currency-span {
        line-height: 40px;
    }
    .tvcmscart-show-dropdown {
        left: auto;
        right: 0;
        width: 290px;
    }
    .tvcmscart-show-dropdown .tvcart-product-list-img {
        float: left;
    }
    .tvcmscart-show-dropdown .tvcart-product-wrapper.items {
        display: block;
    }
    .tvcart-product-list,
    .tvcart-product-list-btn-wrapper {
        padding: 15px;
    }
    .tvcmscart-show-dropdown {
        width: 290px;
    }
    #tvcmsmobile-account-button {
        margin: 0 5px;
    }
   /* #tvmobile-cart,
    .tvoffer-text-inner {
        display: inline-block;
        vertical-align: middle;
    }*/
    .tvcmsmobile-cart-acount-text {
        text-align: right;
        padding-left: 0;
    }

    .tvcms-header-myaccount .tv-myaccount-btn i {
        margin: 0;
    }
    .tvcms-header-cart .tv-cart-icon {
        margin: 0 4px;
    }
    #contact-link {
        display: block;
    }
    .tvheader-cart-wrapper {
        padding: 0;
    }
    .tvcms-header-cart,
    #tvcmsdesktop-account-button {
        padding: 0;
        border: none;
    }
    .tvcmsstore-time {
        display: block;
    }

    .tvtab-title {
        text-align: center;
    }
    .tvtab-product .tvtab-title-wrapper .tvtabs-products {
        display: inline-block;
        vertical-align: middle;
    }
    .tvtab-title-wrapper .tvtabs-products li {
        margin: 5px;
    }
    .tvproduct-wrapper .lazy,
    img.lazy {
        transform: scale(0.6);
    }
    img.lazy.loaded {
        transform: unset;
    }
    .tvproduct-quick-btn,
    .tvproduct-cart-btn,
    .tvproduct-wishlist,
    .tvcompare-wrapper {
        margin: 2px;
    }
    #products.list .tvall-product-star-icon {
        margin-bottom: 0;
    }
    #products.list .tvproduct-timer {
        text-align: center;
    }
    #products.list-2 .tv-product-desc,
    #products.list .tv-product-desc {
        text-align: center;
    }
    #products.list .product-description {
        text-align: center;
    }
    #products.catelog .tvcms-product-name-star {
        padding-bottom: 0;
    }
    .tvproduct-wrapper.list .tv-product-list {
        float: none;
        margin: 0;
    }
    .tvproduct-wrapper.list .tv-indicator.tv-bar .tv-outer {
        margin: 0 auto;
    }

    .tvbanner-hover-wrapper img {
        width: auto;
        margin: 0 auto;
    }
    .tvcms-vertical-menu-next-pre-btn {
        text-align: center;
        margin-top: 15px;
    }
    .tvtab-product .tvcms-main-title,
    .tvcmsmain-title-wrapper {
        float: none;
        text-align: center;
        margin-bottom: 0;
    }
    .tvcms-next-pre-btn,
    .tvtabcategory-product-next-pre-btn {
        text-align: center;
        margin-bottom: 10px; 
		margin-top: 10px; 
        direction: ltr;
    }
    .tvtab-title-wrapper {
        margin-bottom: 0px;
    }
    .tvcmsprev-btn,
    .tvcmsnext-btn {
        -webkit-transform: none;
        -o-transform: none;
        -ms-transform: none;
        -moz-transform: none;
        transform: none;
        display: inline-block;
        position: inherit;
        margin: 0 3px;
    }
    .tvtab-title-wrapper {
        margin-top: 5px;
    }
    .tvbrandlist-slider-prev.tvcmsprev-btn,
    .tvbrandlist-slider-next.tvcmsnext-btn,
    .tvmain-slider-next-pre-btn .tvcmsprev-btn,
    .tvmain-slider-next-pre-btn .tvcmsnext-btn {
        -webkit-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -moz-transform: translate(0, -50%);
        transform: translate(0, -50%);
        display: inline-block;
        position: absolute;
        margin: 0;
    }
    .tvfooter-product-title-product .tvcmsmain-title-wrapper {
        margin-bottom: 5px;
        direction: ltr;
    }
    .tvfooter-logo-block .tvfooter-logo-desc {
        max-width: 100%;
    }
    .tvcart-incr-decr-price {
        justify-content: left;
    }
    .tvwishlist-popup {
        left: 0;
        margin: 20px auto;
    }
    .product-additional-info .js-mailalert {
    flex-direction: column;
    row-gap: 8px;
}
}
@media(max-width: 500px) {
    #left-column .tvleft-right-product-slider {
        width: 100%;
        padding: 10px 10px;
    }
    #left-column .tvfilter-brand-list-wrapper,
    #left-column .tvfilter-supplier-list-wrapper {
        width: 100%;
        margin: 20px 0;
    }
}
@media(max-width: 480px) {
    .tvsearch-dropdown-wrapper {
        width: 100%
    }
    .tvproduct-info-box-wrapper {
        padding: 10px 15px 15px 15px;
    }
    .tvproduct-stock-social {
        display: inline-block;
    }
    .product-actions .social-icon {
        justify-content: flex-start;
    }
    .product-actions .input-container label span {
        padding: 8px 11px 6px;
    }
    .tv-product-page-content h1,
    .tv-product-page-content .tvall-product-star-icon,
    .tv-product-page-content .product-prices,
    .tvproduct-page-decs p,
    .product-quantity,
    .product-variants>.product-variants-item {
        margin-bottom: 15px;
    }
    .product-additional-info {
        padding-top: 15px;
    }
    #product .product-6 #block-reassurance ul {
        justify-content: flex-start;
    }
    #module-tvcmsblog-single .blog_post_content {
        margin: 0 -15px;
    }
    .comments_area ol.comment_list {
        padding-left: 0;
    }
    #tvcmsblogs_commentfrom {
        width: 95%;
    }
    .tvcms-blog-inner-page {
        margin: 0;
    }
    #module-tvcmsblog-single .comment_meta_author i,
    #module-tvcmsblog-single .comment_content_bottom i,
    #module-tvcmsblog-single .comment_meta_date i,
    #module-tvcmsblog-single .comment_meta_date span {
        margin-right: 5px;
    }
    #module-tvcmsblog-single .comment_meta_author i,
    #module-tvcmsblog-single .comment_content_bottom i,
    #module-tvcmsblog-single .comment_meta_date i {
        font-size: 22px;
    }
}

@media (max-width: 460px) {
    .tvcart-btn-model {
        float: none;
    }
}
@media (max-width: 425px) {
    #tvcms-mobile-view-header.mobile-header-2 .tvcmsmobile-header-logo-right-wrapper,
    #tvcms-mobile-view-header.mobile-header-1 .tvcmsmobile-header-logo-right-wrapper {
        min-height: 50px;
    }
    #tvcms-mobile-view-header.mobile-header-3 .tvcmsmobile-header-logo-right-wrapper {
        min-height: 64px;
    }
}
@media(max-width: 400px) {
    .tvbanner-wrapper.tvone-banner-wrapper-info {
        display: block;
    }
    .tvcmssliderofferbanners-one .tvbanner1,
    .tvcmssliderofferbanners-one .tvbanner2 {
        margin-bottom: 0px;
    }
}
@media(max-width:370px) {
    .tvheader-nav-offer-text p {
        font-size: 11px !important;
    }
    button.button1.tvslider-video-playbtn.autoplay {
        bottom: 35%;
        right: 10px;
    }
    button.button1.tvslider-video-playbtn.autoplay i.material-icons {
        font-size: 24px;
    }
}
@media(max-width: 335px) {
    #category .tv-grid-list-wrapper-info-box {
        width: 100%;
    }
}


@media(max-width: 650px) {
    .mobile-header-2 .tv-account-dropdown {
        top: 47px;
    }

    #tvcms-mobile-view-header.mobile-header-1 .tvcmsmobile-header-search,
    #tvcms-mobile-view-header.mobile-header-1 .tvcmsmobile-header-logo-right-wrapper {
        width: 100%;
    }
    #header #tvcms-mobile-view-header.mobile-header-2 .tvsearch-header-display-wrappper {
        width: 280px;
        right: -100px;
    }
}
@media (max-width: 1200px) {
    .product-1 .tvvertical-slider .product-images {
        max-height: 321px;
    }
    .lang-rtl .tvcmsvertical-menu-wrapper .tvleft-right-penal-all-block {
        padding-left: 0;
        padding-right: 10px;
    }
}
.lang-rtl .media-left {
    padding-right: 0;
    padding-left: 10px;
}
/******* End Media-mobile Css *******/
.tvcmsdesktop-top-header-wrapper.header-3 .tvcmsmain-menu-wrapper {
    padding-left: 0;
}
.tvwishlist-send-mess-btn {
    text-align: right;
}
.header-4 .tvcmsheader-nav-right {
    padding-left: 0;
}
.tvproduct-out-of-stock.disable i {
    cursor: no-drop;
}
.lang-rtl .tvfooter-product-sticky-bottom .product-variants>.product-variants-item ul li {
    margin: 0 0 3px 8px;
}
.lang-rtl .tvfilter-search-types-dropdown .tvcolor-box {
    margin: 0 0 0 10px;
}
/****/
.product-actions .input-container label span {
   box-shadow: 0 5px 10px rgb(0 0 0 / 14%);
}
.product-variants>.product-variants-item label input[checked="checked"]:checked+span {
  box-shadow: 0 5px 10px rgb(0 0 0 / 40%);
}

.tvcmstheme-control .tvtheme-control-icon, .tvcmstheme-layout .tvtheme-layout-icon {
  box-shadow: -3px 2px 3px -1px rgb(0 0 0 / 30%);
}

.product-variants>.product-variants-item label:hover span {
  box-shadow: 0 5px 10px rgb(0 0 0 / 40%);
}

.radio-toolbar input[type="radio"]:checked+label span {
   box-shadow: 4px 5px 3px 0px rgb(0 0 0 / 15%);
}

.radio-toolbar label:hover span {
  box-shadow: 0px 2px 3px 0px rgb(0 0 0 / 20%);
}

 .tvselect-layout.tvall-theme-content .card-header,
.tvlayout-radio-img>input:hover+.tvlayout-image {
   box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 20%);
}
.block_newsletter p {
    padding-top: .625rem;
    line-height: 1.2;
    border-radius: 3px;
}

.product-actions .social-icon {
    justify-content: center; 
	margin-bottom: 15px;
} 

.tvfooter-product-sticky-bottom.sticky .tv-product-page .tv-indicator {
    padding-top: 8px;
    margin-left: 11px;
}

.tvfooter-product-sticky-bottom.sticky .tvflex-items {
    gap: 10px;
}

.tvheader-checkout .tvcmsdesktop-contact {
    text-align: end;
}

/* ===============================
   PRODUCT GRID – SAFE & ISOLATED
================================ */

.tvproduct-wrapper.grid .product-description {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Title */
.tvproduct-wrapper.grid .product-title h6 {
  line-height: 1.25;
  white-space: normal;
  margin-top: 0 !important;
  margin-bottom: 5px !important;
}

/* Reference */
.tvproduct-wrapper.grid .tv-product-reference {
  font-size: 12px;
  color: #777;
  margin-bottom: 4px;
}

/* Availability */
.tvproduct-wrapper.grid .tv-product-availability {
  margin-bottom: 6px;
}

.tvproduct-wrapper.grid .tv-pill {
  display: inline-block;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 999px;
}

/* Pill colors */
.tvproduct-wrapper.grid .tv-available {
  background: #e6f6ea;
  color: #1a7f37;
}

.tvproduct-wrapper.grid .tv-preorder {
  background: #fff3cd;
  color: #856404;
}

.tvproduct-wrapper.grid .tv-unavailable {
  background: #fdecea;
  color: #b42318;
}

/* PRICE – always bottom aligned */
.tvproduct-wrapper.grid .tv-product-price-box {
  margin-top: auto;
  min-height: 24px;
  display: flex;
  align-items: center;
}

/* Out of production */
.tvproduct-wrapper.grid .tv-out-production {
  font-size: 13px;
  font-weight: 700;
  color: #b42318;
}

/* Mobile clamp */
@media (max-width: 768px) {
  .tvproduct-wrapper.grid .product-title h6 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
	min-height: 210px !important;
  }
}
/* box prezzo sempre in fondo */
.tvproduct-wrapper.grid .tv-product-price-box {
  margin-top: auto;
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center; /* come scheda prodotto */
}

/* PREZZO STANDARD */
.tvproduct-wrapper.grid .tv-product-price-box .price {
  font-size: 20px;
  font-weight: 700;
  color: #0066cc;
}

/* Prezzo barrato (se presente) */
.tvproduct-wrapper.grid .tv-product-price-box .regular-price {
  margin-left: 6px;
  font-size: 14px;
  color: #999;
  text-decoration: line-through;
}

/* FUORI PRODUZIONE – NON TOCCARE */
.tvproduct-wrapper.grid .tv-out-production {
  font-size: 13px;
  font-weight: 700;
  color: #b42318;
}

/* ===============================
   PRODUCT REFERENCE
================================ */

.tvproduct-wrapper.grid .tv-product-reference {
  font-size: 12px;
  font-weight: 700; 
  color: #666;
}
.tvproduct-wrapper.grid .tv-product-reference {
  cursor: pointer;
  transition: color 0.2s ease;
}

.tvproduct-wrapper.grid .tv-product-reference.copied {
  color: #1a7f37;
}


/* fine */


.tvfooter-product-box-layout .tvcmsmain-all-product .tvproduct-name .product-title h6 {
 display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3em;
}

.tvfooter-product-sticky-bottom.sticky #bottom_sticky_data .product-pack article {
    margin-bottom: 5px;
}

#product-modal .modal-content .modal-body .product-images img {
    width: 60%; 
}
/* MOD */

/* ============================
   SPACING LEFT COLUMN (solo pagina prodotto)
=============================== */
@media (min-width: 992px) {
  body#product #left-column .theiaStickySidebar {
    padding-left: 10px;
    padding-right: 5px;
  }

  body#product #left-column {
    padding-right: 10px;
  }
}

/* ============================================================
   PRODUCT META — STILE APPLE / AMAZON
   ============================================================ */

.product-meta-block {
  margin: 8px 0 4px;
}

.product-meta-block .product-meta-line {
  display: flex;
  align-items: center;
  column-gap: 6px;
  margin: 4px 0;
  font-size: 16px;
}

.product-meta-block .meta-icon {
  font-size: 20px;
  width: 20px;
  text-align: center;
}

.product-meta-block .meta-label {
  font-weight: 600;
  color: #333;
  min-width: 115px; /* allineamento ma meno spazio */
}

.product-meta-block .meta-value {
  font-weight: 600;
  color: #777;
 -webkit-font-smoothing: antialiased;
}

/* Prezzo – allineamento con le altre label */
.product-meta-block .meta-price-line {
  align-items: center;
}

.product-meta-block .meta-price-value {
  display: flex;
  align-items: center;
}

/* Normalizza il tpl di prezzo interno */
.product-meta-block .product-prices {
  margin: 0;
}

.product-meta-block .product-prices .product-price.h5 {
  margin: 0;
  font-size: 16px;
}

.product-meta-block .product-prices .current-price .price {
  font-size: 20px;
  font-weight: 700;
  color: #0066cc;
}

/* Nasconde la vecchia label Prezzo del tpl product-prices */
.product-meta-block #product_references {
  display: none;
}

/* Più spazio sotto la riga stock */
.product-meta-block .product-meta-line.stock-line {
  margin-bottom: 14px;
}

/* Righe disponibilità — spazio extra tra Prezzo e Stock */
.product-meta-block .product-meta-line.availability-line {
  margin-top: 6px;
  margin-bottom: 8px;
}

/* ============================================================
   DISPONIBILITÀ — PILL OVALE STILE APPLE
   ============================================================ */

.meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
}

/*  Disponibile */
.meta-pill.available {
  background: #d8f3df;
  color: #2e7d32;
}

/*  Su ordinazione / limitata */
.meta-pill.limited {
  background: #fff4d8;
  color: #c57f00;
}

/*  Non disponibile */
.meta-pill.unavailable {
  background: #ffd8d8;
  color: #c62828;
  padding: 6px 13px !important;
	
	/* SOLUZIONE PER SAFARI */
    white-space: nowrap !important; /* Impedisce categoricamente di andare a capo */
    display: inline-block !important; /* Assicura che il padding sia calcolato correttamente */
    vertical-align: middle;
}

/* ============================================================
   COPY BUTTON — come prima: bottone + "Copiato!" verde sopra
   ============================================================ */

.copy-wrapper {
  position: relative;
  display: inline-block;
  margin-left: 4px; 
}

.copy-ref-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: #f7f7f7;
  border-radius: 8px;
  border: 1px solid #ddd;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.2s, border-color 0.2s;
}

.copy-ref-btn:hover {
  background: #ececec;
  border-color: #cfcfcf;
}

.copy-ref-btn .copy-icon {
  width: 18px;
  height: 18px;
}

/* badge verde che rimpiazza il pulsante */
.copy-success {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 14px;
  background: #28a745;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.copy-success.show {
  opacity: 1;
}

/* quando "copiato", nascondo dolcemente il pulsante sotto */
.copy-ref-btn.is-hidden {
  opacity: 0;
}


/* ============================================================
   FIX QUANTITÀ TOUCHSPIN — forza visibilità valore
   ============================================================ */

.product-quantity input#quantity_wanted {
  opacity: 1 !important;
  visibility: visible !important;
  color: #111 !important;
  background-color: #fff !important;
}

/* nel caso il tema gli metta display:none da qualche parte */
.product-quantity .bootstrap-touchspin input#quantity_wanted,
.bootstrap-touchspin input#quantity_wanted {
  display: block !important;
}

/* ============================================================
   RESPONSIVE MOBILE
   ============================================================ */

@media (max-width: 600px) {
  .product-meta-block .product-meta-line {
    flex-wrap: wrap;
  }

  .product-meta-block .meta-label {
    min-width: 100px;
  }
}
/* ----------------------------------------
   MICRO-RITOCCHI RICHIESTI
---------------------------------------- */

/* (1) Spazio tra icona e label */
.product-meta-line .meta-icon {
    margin-right: 4px !important;
}

/* (2) Riduci distanza label → valore */
.product-meta-line .meta-label {
    min-width: 100px !important;
    margin-right: 4px !important;
}

/* (3) TOUCHSPIN — forza valore SEMPRE visibile */
#quantity_wanted,
.product-quantity input#quantity_wanted,
.bootstrap-touchspin input#quantity_wanted {
    opacity: 1 !important;
    visibility: visible !important;
    color: #111 !important;
    text-align: center !important;
    font-size: 16px !important;
    display: block !important;
    height: 38px !important;
    line-height: 38px !important;
}

/* Previeni che il tema inserisca display:none */
.bootstrap-touchspin .form-control {
    display: block !important;
}

/* Fix per i pulsanti – tutto allineato perfetto */
.bootstrap-touchspin .bootstrap-touchspin-up,
.bootstrap-touchspin .bootstrap-touchspin-down {
    height: 38px !important;
}

/* ============================================================
   PRODUCT PAGE — ADD TO CART AREA (SEO + UX ottimizzata)
   ============================================================ */

/* =============================
   Layout principale 2 colonne
   ============================= */
.product-add-to-cart .addtocart-flex-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-top: 10px;
}

/* Sinistra: quantità */
.product-add-to-cart .qty-column {
    flex: 0 0 28%;
}

/* Destra: pulsanti + wishlist */
.product-add-to-cart .buttons-column {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* =============================
   QUANTITÀ — stile compatto
   ============================= */
.product-add-to-cart .product-quantity {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
	margin-top: 4px;
}

.product-add-to-cart .qty-label {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #222;
    text-transform: uppercase;
}

/* Valore quantità (fix invisibilità) */
#quantity_wanted,
.product-add-to-cart input#quantity_wanted {
    opacity: 1 !important;
    visibility: visible !important;
    color: #000 !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    height: 38px !important;
    display: block !important;
}

/* Evita display:none del tema */
.bootstrap-touchspin .form-control {
    display: block !important;
}

/* =============================
   Pulsanti uniformati
   ============================= */
.product-add-to-cart .ps-btn {
    padding: 12px 18px;
    border-radius: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    gap: 8px;
    border: none;
    cursor: pointer;
    min-width: 200px;
    max-width: 220px;
    width: auto;
    font-family: inherit;
    transition: .2s ease-in-out;
}

.product-add-to-cart .ps-btn-text {
    white-space: nowrap;
}

/* === Aggiungi al Carrello (giallo Amazon) === */
.product-add-to-cart .ps-addcart-btn {
    background: #ffda00;
    color: #000;
}
.product-add-to-cart .ps-addcart-btn:hover {
    background: #e6c100;
}

/* === Acquista Ora (arancione Amazon) === */
.product-add-to-cart .ps-buynow-btn {
    background: #ff9900;
    color: #000;
    box-shadow: 3px 3px 4px rgba(0,0,0,.16);
}
.product-add-to-cart .ps-buynow-btn:hover {
    background: #e68a00;
}

/* Icone pulsanti */
.product-add-to-cart .icon-cart,
.product-add-to-cart .icon-bolt {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Carrello disabilitato */
.icon-cart-disabled {
    opacity: 0.45;
}


/* =============================
   STOCK AREA + SOCIAL
   ============================= */
.product-social-wrapper {
    margin-top: 10px;
}

/* Centra il blocco aggiuntivo */
.product-additional-center {
    text-align: center;
}

.product-additional-center button,
.product-additional-center a {
    font-family: inherit !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
}

/* =============================
   Divider Apple-style
   ============================= */
.ps-divider-top,
.ps-divider-bottom {
    border: 0;
    border-top: 1px solid #dcdcdc;
    margin: 18px 0;
    opacity: .8;
}

/* =============================
   MOBILE — layout a colonna
   ============================= */
@media (max-width: 768px) {
    .product-add-to-cart .addtocart-flex-row {
        flex-direction: column;
        gap: 14px;
    }
    .product-add-to-cart .ps-btn {
        width: 100%;
        max-width: none;
    }
}

/* Divider elegante */
.ps-divider-top,
.ps-divider-bottom {
    border: 0;
    border-top: 1px solid #e0e0e0;
    margin: 15px 0;
    opacity: .7;
}

/* Wishlist affianco pulsanti */
.buttons-column {
    position: relative;
}

.wishlist-inside {
    position: absolute;
    left: 235px;   /* Regola finché è perfetto */
    top: 50%;
    transform: translateY(-50%);
}

.wishlist-inside .wishlist,
.wishlist-inside a {
    font-size: 26px !important;
}

/* Spazio sotto il blocco info */
.tvproduct-stock-social {
    margin-top: 20px;
    text-align: center;
}

.tvproduct-stock-social .send_aap_button {
    font-family: inherit !important;
    font-weight: 700 !important;
}

/* Spazio tra i blocchi info */

#block-reassurance {
    margin-bottom: 20px;
	
}

/* =======================================================================
   DESKTOP (≥768px)
   Mantiene il tuo layout perfetto + cuore allineato come già funziona ora
======================================================================= */
@media (min-width: 768px) {

  .product-add-to-cart .addtocart-flex-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
  }

  .product-add-to-cart .qty-column {
    flex: 0 0 28%;
  }

  .product-add-to-cart .buttons-column {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    position: relative;
  }

  /* Pulsanti compatti */
  .product-add-to-cart .ps-btn {
    min-width: 240px;
    max-width: 240px;
  }

  /* Cuore desktop → mantiene il tuo allineamento */
  .wishlist-inside {
    position: absolute;
    left: 235px; /* FR@ VALUE */
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* =======================================================================
   MOBILE (≤767px)
======================================================================= */
@media (max-width: 767px) {
  /* ----- QUANTITÀ CENTRATA ----- */
  .product-add-to-cart .qty-column {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
  .product-add-to-cart .product-quantity {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 8px !important;
  }
  /* ----- COLONNA PULSANTI → verticale & centrata ----- */
  .product-add-to-cart .buttons-column {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    position: relative !important;
  }
  /* ----- PULSANTI STESSA DIMENSIONE ----- */
  .product-add-to-cart .ps-btn {
    width: 85% !important;
    max-width: 330px;
    min-width: 260px;
    border-radius: 30px !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    justify-content: center !important;
    text-align: center !important;
	  margin: 0 !important;
  }
  /* ----- LINEE SOPRA / SOTTO BLOCCO ----- */
  .product-add-to-cart .ps-divider-top,
  .product-add-to-cart .ps-divider-bottom {
    margin: 10px 0 !important;
    border-top: 1px solid #e1e1e1 !important;
  }
  /* ----- BLOCCO STOCK + SHARE CENTRATO ----- */
  .tvproduct-stock-social {
    text-align: center !important;
    margin-top: 8px !important;
  }
  .tvproduct-stock-social .send_aap_button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 6px !important;
    font-weight: 700;
  }
}
/* FR@ — MOBILE BUTTONS + CUORE ALLINEATO */
@media (max-width: 767px) {

  /* Colonna pulsanti in verticale, centrata */
  .product-add-to-cart .buttons-column {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 12px !important;
      width: 100% !important;
      position: relative !important;
  }

  /* Entrambi i pulsanti: stessa larghezza, centrati */
  .product-add-to-cart .ps-addcart-btn,
  .product-add-to-cart .ps-buynow-btn {
      width: 85% !important;
      max-width: 330px !important;
      min-width: 260px !important;
      padding: 14px 18px !important;
      border-radius: 30px !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      margin: 0 auto !important;
  }

  /* In caso il tema metta margini strani solo su ACQUISTA ORA */
  #buyNowButton {
      margin-left: 0 !important;
      margin-right: 0 !important;
  }
}
/* FR@ — STICKY MOBILE PROFESSIONALE */
@media (max-width: 767px) {

  /* wrapper esterno non deve essere sticky */
  .is-mobile-sticky-wrapper {
      position: relative !important;
      overflow: visible !important;
  }

  /* questo div diventa sticky REALMENTE */
  .is-mobile-sticky-wrapper .mobile-sticky-inner {
      position: sticky !important;
      bottom: 0 !important;
      z-index: 999 !important;
      background: #fff !important;
      padding: 12px 8px 14px !important;
      border-top: 1px solid rgba(0,0,0,0.10);
  }

  /* evitano interferenze del tema */
  .product-page-wrapper,
  #main,
  #content-wrapper {
      overflow: visible !important;
  }
}
 /* NUOVE MOD */

/* === FIX ACCAVALLAMENTO LOGHI SOLO MOBILE === */
@media (max-width: 768px) {

    .owl-carousel .owl-item .tvbrandlist-slider-wrapper-info .tvbrand-img-block img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        aspect-ratio: auto;
        /* Manteniamo tutte le proprietà originali */
        opacity: 1;
        -webkit-opacity: 1;
        -moz-opacity: 1;
        -ms-opacity: 1;
        -o-opacity: 1;

        transition: all 300ms ease;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -ms-transition: all 300ms ease;
        -o-transition: all 300ms ease;
    }

    /* Riduciamo leggermente il padding del contenitore per evitare overflow */
    .tvbrand-img-block {
        padding: 5px 8px !important;
    }
}


/* === SPAZIO LATERALE PRODOTTI SOLO MOBILE === */
@media (max-width: 768px) {



    /* Spazio generale all'intera colonna prodotto */
    .products .product,
    .product-miniature {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* === SPAZIO LATERALE HTML BOX — VERSIONE INFALLIBILE === */
@media (max-width: 768px) {
    .page-content h1,
    .page-content h2,
    .page-content p,
    .page-content div[id^="html_"],
    #left-column h1,
    #left-column h2,
    #left-column p,
    .wrapper .html,
    .tv-wrapper .html,
    .html,
    #content .html {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
}

/* === CENTRATURA PULSANTE GDPR SU MOBILE === */
@media (max-width: 768px) {

    a.show-gdpr-modal {
        display: block !important;
        margin: 0 auto !important;
        text-align: center !important;
        width: fit-content;
		margin-bottom: 18px !important;
    }
}



/* ===============================
   SLIDER MOBILE – VERSIONE STABILE
   =============================== */
@media (max-width: 768px) {

  /* reset wrapper slider */
  .tvcms-main-slider{
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  /* contenitore principale slider */
  .tv-main-slider{
    margin: 10px 0 !important;            
    padding: 5px 15px !important;            
    background-color: #f2f2f2 !important; 
    box-sizing: border-box !important;
  }

  /* owl wrapper */
  #tvmain-slider,
  .owl-stage-outer,
  .owl-stage,
  .owl-item{
    padding: 0 !important;
  }

  /* link slide */
  .tvimage-slider-list{
    display: block !important;
  }

  /* immagine slider */
  .tvmain-slider-img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

}

/* ===============================
   FIX DISTANZA SEARCH → SLIDER (20px TOTALI)
   =============================== */
@media (max-width: 768px) {

  /* Search: nessun margine extra sotto */
  .tvsearch-top-wrapper{
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
  }

  /* Wrapper search/logo: reset */
  .tvcmsmobile-header-search-logo-wrapper{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Wrapper pagina: niente padding sopra */
  #wrapper{
    padding-top: 0 !important;
  }

  /* Slider: SOLO 10px sopra */
  .tv-main-slider{
    margin-top: 10px !important;
    margin-bottom: 15px !important;
  }

}

a.tvimage.tvslider-list img.tvmain-slider-img {
    border-radius: 4px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .tvcmsmain-slider-wrapper {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 768px) {
    #tvmain-slider.owl-carousel {
        overflow: visible !important;
    }
}

/* HtmlBoxPro – service title */
.service-title {
    margin: 15px;
    padding: 0 15px;
    border: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    font-family: 'Roboto Condensed', sans-serif;
    color: #333;
    text-transform: uppercase;
    text-align: center;
    box-sizing: border-box;
}

@media (max-width: 575px) {
    .service-title {
        padding: 0 15px;
    }
}
/* fine HtmlBoxPro – service title */

/* Frecce OFF solo su mobile */

@media (max-width: 767px) {
  #lgcomments-owl .owl-nav {
    display: none !important;
  }
}

/* Padding 15px su #w-title #w-more solo mobile */

@media (max-width: 767px) {
  #w-title,
  #w-more {
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }
}

/* Bordo Google-style per .slide-container */
#lgcomments-owl .slide-container {
  border: 1px solid #dadce0 !important; /* Colore del bordo Google */
  border-radius: 4px !important;       /* Angoli arrotondati */
  box-sizing: border-box !important;   /* Assicura che il padding non influisca sulle dimensioni */
}

@media (max-width: 767px) {
  #lgcomments-owl.owl-carousel {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 767px) {
  section#content .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Allineamento */

@media (max-width: 767px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 767px) {
  .tv-main-slider {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* micro ombra banner */ 
.tvcmssliderofferbanners-one,
.tvcmssliderofferbanners {
  background: transparent !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.12));
}

/* micro ombra slider */ 

#tvmain-slider,
.tv-main-slider {
  background: transparent !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.12));
}
/* micro ombra slider recensioni */ 
#lgcomments-owl .slide-container {
 filter: drop-shadow(0 1px 2px rgba(0,0,0,.12));
}


/* Mobile – stile menu verticale */
@media (max-width: 767px) {
  .tvcmsvertical-menu {
    /*padding: 15px !important;*/
    background: #f2f2f2 !important;
    box-sizing: border-box;
  }
}

/* Nasconde block-categories SOLO in home mobile */
@media (max-width: 767px) {
  body#index .block-categories {
    display: none !important;
  }
}

/* Mobile – spazio sotto menu verticale */
@media (max-width: 767px) {
  .tvcmsvertical-menu-wrapper {
    margin-bottom: 20px !important;
  }
}

/* micro ombra banner spedizioni */ 

.tvbanner-hover-wrapper {
  background: #fff; /* fondamentale */
  border-radius: 6px;
  box-shadow: 
    0 1px 2px rgba(60,64,67,.15),
    0 1px 3px rgba(60,64,67,.1);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .12));
}

/*TESTO LEFT COLUMN HTML BOX PRO*/

.homepage-intro-text {
  padding: 0 15px;
  margin-bottom: 30px;
  text-align: center;
  font-family: inherit; /* usa il font del tema */
}

/* H1 SEO principale */
.homepage-intro-text h1 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 10px;
  color: #222;
}

/* Sottotitolo */
.homepage-intro-text h2 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 18px;
  color: #555;
}

/* Testo */
.homepage-intro-text p {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 12px;
}

/* Desktop */
@media (min-width: 768px) {
  .homepage-intro-text {
    max-width: 900px;
    margin: 0 auto 40px;
  }

  .homepage-intro-text h1 {
    font-size: 26px;
  }

  .homepage-intro-text h2 {
    font-size: 18px;
  }

  .homepage-intro-text p {
    font-size: 15px;
  }
}

/*FINE TESTO LEFT COLUMN HTML BOX PRO*/


@media (max-width: 767px) {
  .footer-container a {
    padding: 6px 0;
    display: inline-block;
  }
}


/* FOOTER */
@media (max-width: 767px) {
  .tvfooter-payment-icon-img-block img {
    max-height: 22px;
  }
}
/* PULSANTE PRIVACY */
@media (max-width: 767px) {
  a.show-gdpr-modal {
    padding: 8px 16px !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
    border-radius: 18px !important;
    margin-bottom: 16px !important;
  }
}

@media (max-width: 767px) {
  /* contenitore info footer */
  .tvfooter-storelogo-information {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* testo partita iva / rea */
  .tvcopylink {
    width: 100% !important;
    max-width: 280px; /* 320px;lo stringe visivamente */
    margin: 0 auto 16px auto !important;
	padding: 0px 30px;
  }
	
  .tvcopylink p {
    text-align: center !important;
    line-height: 1.6 !important;
  }
}
/*************************************************
 FOOTER – FIX DEFINITIVO (mobile only)
*************************************************/

/* ===== STRUTTURA FOOTER ===== */
@media (max-width: 767px) {

  .tvfooter-storelogo-information {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .tvcopylink {
    max-width: 280px;
    margin: 0 auto 16px auto !important;
  }

  .tvcopylink p {
    text-align: center !important;
    line-height: 1.6 !important;
  }
}

/* ===== PULSANTE PRIVACY – CENTRATO SEMPRE ===== */
@media (max-width: 767px) {

  a.show-gdpr-modal {
    /*display: inline-flex !important;*/
    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto 0px auto !important;
    padding: 10px 18px !important;

    font-size: 14px !important;
    line-height: 1.4 !important;
    border-radius: 20px !important;

    white-space: nowrap;
    text-align: center !important;
	  font-weight: 500;
  background-color: #355e9e !important; 
  color: #ffffff !important;
  }
}

/* ===== ICONE PAGAMENTO – SOLO FOOTER ===== */
@media (max-width: 767px) {

  .tvfooter-payment-icon img {
    height: 22px !important;
    width: auto !important;
    max-width: none !important;

    aspect-ratio: 572 / 64;
    object-fit: contain;
    opacity: 0.9;
  }
}

/*************************************************
 RECENSIONI – STELLE (NO ALTRE IMG)
*************************************************/
#lgcomments-owl img[alt="rating"] {
  width: 100px !important;
  height: auto !important;
  aspect-ratio: 200 / 46;
  object-fit: contain;
}

#lgcomments-owl .slide-comment,
#lgcomments-owl .slide-container {
  color: #333333 !important;
  font-weight: 500;
}

#lgcomments-owl [itemprop="name"] {
  color: #222222 !important;
  font-weight: 500;
}

#lgcomments-owl .slide-date {
  color: #555555 !important;
  font-size: 13px;
}
#lgcomments-owl .slide-container {
  background-color: #ffffff !important;
}

/* =========================================================
   GDPR – VERSIONE STABILE (SPAZIO ALTO, NESSUNA ROTTURA)
   ========================================================= */
#footer .show-gdpr-modal {
  background-color: #355e9e !important;
  color: #ffffff !important;
  border: 1px solid #355e9e !important;

  padding: 8px 16px;
  min-height: 36px;

  border-radius: 20px !important;

  font-size: 13px;
  font-weight: 500;
  line-height: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease;
}

#footer .show-gdpr-modal:hover {
  background-color: #2f5188 !important;
  border-color: #2f5188 !important;
}

#footer .show-gdpr-modal:active {
  transform: translateY(1px);
}

#footer .show-gdpr-modal:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(53, 94, 158, 0.4);
}
/* =========================================================
   CONTENITORE BANNER GDPR (LAYOUT ORIGINALE, STABILE)
   ========================================================= */
.gdpr-consent-tabs,
.gdpr-consent-tabs-v2 {
  padding: 10px 85px 10px 20px !important;
  font-family: Roboto, sans-serif;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #666666 !important;
}

/* =========================================================
   TESTO GDPR
   ========================================================= */
.div_control_your_privacy {
  padding: 0 !important;
  margin-bottom: 12px !important;
}

.div_control_your_privacy h2 {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  margin: 0 0 8px 0 !important;
}

.div_control_your_privacy p {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: #666666 !important;
}

/* =========================================================
   CONTENITORE PULSANTI (COME PRIMA, SENZA FLEX FORZATO)
   ========================================================= */
.gdpr_buttons {
  margin-top: 14px;
}

/* =========================================================
   PULSANTI
   ========================================================= */
.gdpr_buttons button {
  min-height: 40px;
  padding: 10px 18px;

  font-size: 14px;
  font-weight: 500;
  line-height: 1;

  border-radius: 6px;
  border: 1px solid #355e9e !important;

  cursor: pointer;
}

/* Accetta */
#accept-all-gdpr {
  background-color: #355e9e !important;
  color: #ffffff !important;
}

/* Rifiuta */
#reject-all-gdpr {
  background-color: #ffffff !important;
  color: #355e9e !important;
}

/* Focus accessibile */
.gdpr_buttons button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(53, 94, 158, 0.35);
}

/* =========================================================
   LINK "ULTERIORI INFORMAZIONI" (COMPORTAMENTO NATIVO)
   ========================================================= */
.span_moreinfo,
.gdpr_moreinfo a {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2;
  color: #355e9e !important;
  text-decoration: none;
  cursor: pointer;
}

.span_moreinfo:hover,
.gdpr_moreinfo a:hover {
  text-decoration: underline;
  color: #2f5188 !important;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767px) {
  .gdpr-consent-tabs,
  .gdpr-consent-tabs-v2 {
    padding: 10px 16px !important;
  }

  #footer .show-gdpr-modal {
    font-size: 14px;
    min-height: 38px;
  }
}
/* =========================================================
   GDPR – DESKTOP: SPOSTA I PULSANTI A SINISTRA (ANTI-CHAT)
   ========================================================= */
@media (min-width: 768px) {
  /* pulsanti uguali */
  .gdpr_buttons button{
    width: 180px;
    text-align: center;
  }

  /* sposta l’intero blocco pulsanti a sinistra */
  .gdpr_buttons{
    position: relative;
    right: 60px;
  }
}

/* =========================================================
   SLIDER – RIEMPI IL CONTENITORE SENZA ROMPERE OWL
   ========================================================= */

/* elimina cornici e padding */
.tvcms-main-slider,
.tvcms-main-slider * {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* wrapper slider */
.tvcms-main-slider {
  width: 100% !important;
  /*overflow: hidden;*/
}

/* item */
.tvcms-main-slider .owl-item {
  display: flex;
  align-items: center;
}

/* immagine */
.tvcms-main-slider img.tvmain-slider-img {
  width: 100% !important;
  height: auto !important;   /* fondamentale */
  max-width: 100%;
  object-fit: cover;
  display: block;
}

/* =====================================================
   MOBILE FIX SLIDER BANNER
   ===================================================== */

/* CONTENITORE */
.tv-main-slider {
  aspect-ratio: 1920 / 850;
  width: 100%;
  
} 

/* IMMAGINE */
.tv-main-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .tvcmsmain-slider-wrapper {
    margin-top: 10px !important;}

  .tvcmssliderofferbanners-one {
    margin-top: 20px;
  }
}

/* =========================================
   marquee
   ========================================= */

.marquee {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.marquee span {
  display: inline-block;
  padding-left: 100%;
  animation: marquee 18s linear infinite;
}

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* =====================================================
   DESKTOP – MICRO SPAZIO LATERALE ANTI-SOVRAPPOSIZIONE
   (senza rompere Bootstrap)
   ===================================================== */
@media (min-width: 1200px) {

  /* Contenuto centrale */
  #content-wrapper {
    padding-right: 56px; /* spazio per pulsanti destra */
    padding-left: 16px;  /* leggerissimo respiro a sinistra */
  }

}
/* =====================================================
   DESKTOP – toglie colonna social link pulsanti
   ===================================================== */

@media (min-width: 1200px) {
  .tvfooter-social-icon,
  .block-social,
  .tv-left-sticky,
  .tv-social-left,
  .tv-fixed-social,
  .block-social-left {
    display: none !important;
  }
}

/* =====================================================
   LGCOMMENTS – container spacing corretto
   ===================================================== */

.lgcomments-wrapper {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

/* desktop: allinea come container bootstrap */
@media (min-width: 1200px) {
  .lgcomments-wrapper {
    margin-left: auto;
    margin-right: auto;
	padding: 15px;
  }
}

/* =====================================================
   RECENSIONI – HEADER (titolo + tutte)
   ===================================================== */

.lgcomments-wrapper .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

/* TITOLO */
#w-title {
  padding: 0 15px;
}

#w-title a {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #333;
  line-height: 36px;
  display: inline-block;
}

/* LINK "TUTTE >>" */
#w-more {
  padding: 0 15px;
}

#w-more a {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #355f9f;
  text-decoration: none;
  transition: color .2s ease;
}

#w-more a:hover {
  color: #1f4f91;
  text-decoration: underline;
}

#lgcomments-wrapper .row {
  align-items: center;
}

/* Allineamento perfetto RECENSIONI vs PI VENDUTI */

.lgcomments-title {
  font-size: 28px;
  color: #333333;
  text-transform: uppercase;
  line-height: 36px;
  font-weight: 700;
  font-family: 'Roboto Condensed';
  letter-spacing: 0.3px;
  margin: 0;
  display: inline-block;
}

#lgcomments-wrapper {
  margin-top: 0;
}

#lgcomments-wrapper .row {
  margin-top: 0;
}

#lgcomments-wrapper .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 767px) {
  #lgcomments-wrapper #w-title h2 {
    font-size: 24px !important;
    line-height: 30px;
  }
}

/* Infinite scroll attivo: nascondi paginazione SEMPRE */
html body div.pagination-wrapper,
html body nav.pagination,
html body ul.page-list,
html body .page-list li {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* INIZIO MOD VISTE*/

/*  BLOCCO STABILE – NON RIPULIRE – NON RIORDINARE */

/* =========================================================
   TV GRID – FIX DEFINITIVO STABILE (PULITO)
   ========================================================= */

/* =======================
   CARD STRUTTURA
======================= */
.tvproduct-wrapper.grid,
.tvproduct-wrapper.grid .product-miniature{
  height: 100%;
}

.tvproduct-wrapper.grid .tvproduct-info-box-wrapper{
  display: flex;
  flex-direction: column;
  height: 100%;
  /*padding: 14px;*/
  overflow: visible;
}

/* =======================
   PREZZO
======================= */
.tvproduct-wrapper.grid .tv-grid-price,
.tvproduct-wrapper.grid .product-price-and-shipping,
.tvproduct-wrapper.grid .tv-grid-price .price{
  color: #0066cc !important;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
  margin-top: auto;
  display: flex;
  justify-content: center;
}

@media (max-width:767px){
  .tvproduct-wrapper.grid .tv-grid-price,
  .tvproduct-wrapper.grid .product-price-and-shipping{
    font-size: 18px;
  }
}

/* =======================
   COPY TOAST
======================= */
.tvproduct-wrapper.grid .copy-toast{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(100% + 6px);
  background-color: #1f7a3f;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
  z-index: 10;
}

@media (max-width:767px){
  .tvproduct-wrapper.grid .copy-toast{
    bottom: calc(100% + 2px);
    font-size: 11px;
  }
}

/* =======================
   PILL DISPONIBILITÀ
======================= */
.tv-grid-availability{
  display: flex;
  justify-content: center;
  /*margin: 12px 0 14px;*/
  margin: 5px 0 !important;
}

.tv-grid-availability .tv-pill{
  font-weight: 700;
  border-radius: 999px;
}

@media (min-width:768px){
  .tv-grid-availability .tv-pill{
    font-size: 15px;
    padding: 10px 22px;
  }
}

@media (max-width:767px){
  .tv-grid-availability .tv-pill{
    font-size: 12px;
    padding: 6px 14px;
  }
}
/* =======================
   PULSANTI GRID
======================= */
.tvproduct-wrapper.grid .tvproduct-hover-btn a,
.tvproduct-wrapper.grid .tvproduct-hover-btn button{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #355e9e;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  outline: none;
  overflow: hidden;
  box-shadow: 0 12px 24px rgba(0,0,0,.22);
  transition: transform .2s ease;
}

.tvproduct-wrapper.grid .tvproduct-hover-btn i{
  color: #fff;
  font-size: 20px;
}

/* no pseudo / no ombre fantasma */
.tvproduct-wrapper.grid .tvproduct-hover-btn *::before,
.tvproduct-wrapper.grid .tvproduct-hover-btn *::after{
  display: none !important;
}

/* mobile feedback */
@media (hover:none){
  .tvproduct-wrapper.grid .tvproduct-hover-btn a:active,
  .tvproduct-wrapper.grid .tvproduct-hover-btn button:active{
    transform: scale(.94);
  }
}

/* =======================
   MOBILE GRID 2 COL
======================= */
@media (max-width:767px){
  .products{
    margin-left: -6px;
    margin-right: -6px;
  }
  .product-miniature{
    padding-left: 6px;
    padding-right: 6px;
  }
}
/* DESKTOP – pillola stock più grande */
@media (min-width:768px){
  .tvproduct-wrapper.grid .tv-grid-availability .tv-pill,
  .tvproduct-wrapper.grid .tv-product-availability .tv-pill{
    font-size: 15px !important;
    padding: 10px 10px !important;
    font-weight: 700;
  }
}
/* =========================================================
   KILL ASSOLUTO OMBRE FANTASMA (box + filter + focus)
   ========================================================= */

.tvproduct-wrapper.grid
.tvproduct-hover-btn *,
.tvproduct-wrapper.grid
.tvproduct-cart-btn *{
  box-shadow: none !important;
  filter: none !important;
  outline: none !important;
  background-image: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* elimina wrapper quadrati invisibili */
.tvproduct-wrapper.grid
.tvproduct-hover-btn,
.tvproduct-wrapper.grid
.tvproduct-cart-btn,
.tvproduct-wrapper.grid
.tvproduct-hover-btn > div,
.tvproduct-wrapper.grid
.tvproduct-hover-btn > span{
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
	cursor: not-allowed;
}

/* focus browser (Safari / Chrome) */
.tvproduct-wrapper.grid a:focus,
.tvproduct-wrapper.grid a:focus-visible,
.tvproduct-wrapper.grid button:focus,
.tvproduct-wrapper.grid button:focus-visible{
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* pseudo-elementi assassini */
.tvproduct-wrapper.grid *::before,
.tvproduct-wrapper.grid *::after{
  box-shadow: none !important;
  filter: none !important;
}

/* =========================================================
   OMBRA PULSANTE – DROP SHADOW CIRCOLARE (NO QUADRATO)
   ========================================================= */

.tvproduct-wrapper.grid .tvproduct-hover-btn a,
.tvproduct-wrapper.grid .tvproduct-hover-btn button{
  transition: filter .18s ease, transform .18s ease;
}

/* hover desktop */
@media (hover:hover){
  .tvproduct-wrapper.grid .tvproduct-hover-btn a:hover,
  .tvproduct-wrapper.grid .tvproduct-hover-btn button:hover{
    filter: drop-shadow(0 6px 12px rgba(0,0,0,.28));
    transform: translateY(-1px);
  }
}

/* tap mobile */
@media (hover:none){
  .tvproduct-wrapper.grid .tvproduct-hover-btn a:active,
  .tvproduct-wrapper.grid .tvproduct-hover-btn button:active{
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.32));
    transform: scale(.96);
  }
}

/* =========================================================
   PULSANTI GRID – STATO FINALE SENZA OMBRE (STABILE)
   ========================================================= */

.tvproduct-wrapper.grid .tvproduct-hover-btn a,
.tvproduct-wrapper.grid .tvproduct-hover-btn button{
  /*box-shadow: none !important;*/
  filter: none !important;
  outline: none !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
    transition: box-shadow .2s ease, transform .2s ease !important;
	margin-bottom: 5px;
}

/* movimento = feedback */
@media (hover:hover){
  .tvproduct-wrapper.grid .tvproduct-hover-btn a:hover,
  .tvproduct-wrapper.grid .tvproduct-hover-btn button:hover{
    transform: translateY(-2px);
  }
}

@media (hover:none){
  .tvproduct-wrapper.grid .tvproduct-hover-btn a:active,
  .tvproduct-wrapper.grid .tvproduct-hover-btn button:active{
    transform: scale(.94);
  }
}

/* =========================================================
   MOBILE – DISABILITA VISTA GRIGLIA
   ========================================================= */
@media (max-width: 767px){

  /* forza layout lista */
  .tvproduct-wrapper.grid{
    display: block !important;
  }

  .tvproduct-wrapper.grid .product-miniature{
    display: block !important;
    width: 100% !important;
  }

  /* reset larghezze col- */
  .product-miniature[class*="col-"]{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* spazio verticale */
  .product-miniature{
    margin-bottom: 16px;
  }
}
@media (max-width: 767px){
  .tv-view-btn.tv-view-grid{
    display: none !important;
  }
}
/* =========================================================
   GRID VIEW 2 – ALLINEAMENTO COMPLETO A GRIGLIA
   ========================================================= */

/* pillola disponibilità */
.tvproduct-wrapper.grid-2 .tv-grid-availability,
.tvproduct-wrapper.grid-view2 .tv-grid-availability{
  display: flex;
  justify-content: center;
  margin: 12px 0;
}

.tvproduct-wrapper.grid-2 .tv-grid-availability .tv-pill,
.tvproduct-wrapper.grid-view2 .tv-grid-availability .tv-pill{
  font-size: 14px;
  padding: 8px 18px;
  border-radius: 999px;
  font-weight: 700;
}

/* desktop: pillola più grande */
@media (min-width:768px){
  .tvproduct-wrapper.grid-2 .tv-grid-availability .tv-pill,
  .tvproduct-wrapper.grid-view2 .tv-grid-availability .tv-pill{
    font-size: 15px;
    padding: 10px 22px;
  }
}

/* prezzo sempre in basso */
.tvproduct-wrapper.grid-2 .tv-grid-price,
.tvproduct-wrapper.grid-view2 .tv-grid-price{
  margin-top: auto;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* prezzo stile unico */
.tvproduct-wrapper.grid-2 .price,
.tvproduct-wrapper.grid-view2 .price{
  color: #0066cc;
  font-size: 22px;
  font-weight: 800;
}

@media (max-width:767px){
  .tvproduct-wrapper.grid-2 .price,
  .tvproduct-wrapper.grid-view2 .price{
    font-size: 18px;
  }
}

/* pulsanti – stesso comportamento griglia */
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn a,
.tvproduct-wrapper.grid-view2 .tvproduct-hover-btn a,
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn button,
.tvproduct-wrapper.grid-view2 .tvproduct-hover-btn button{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #355e9e;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  box-shadow: none !important;
}

/* feedback tap mobile */
@media (hover:none){
  .tvproduct-wrapper.grid-2 .tvproduct-hover-btn a:active,
  .tvproduct-wrapper.grid-view2 .tvproduct-hover-btn a:active,
  .tvproduct-wrapper.grid-2 .tvproduct-hover-btn button:active,
  .tvproduct-wrapper.grid-view2 .tvproduct-hover-btn button:active{
    transform: scale(0.94);
  }
}

/* icone */
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn i,
.tvproduct-wrapper.grid-view2 .tvproduct-hover-btn i{
  color: #fff;
  font-size: 20px;
}
/* ===============================
   GRID 2 – PULSANTI INTERATTIVI
   =============================== */
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn a,
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn button{
  transition: transform .2s ease;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
}

/* hover desktop */
@media (hover:hover){
  .tvproduct-wrapper.grid-2 .tvproduct-hover-btn a:hover,
  .tvproduct-wrapper.grid-2 .tvproduct-hover-btn button:hover{
    transform: translateY(-2px);
	  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
      transition: box-shadow .2s ease, transform .2s ease !important;
  }
}

/* tap mobile */
@media (hover:none){
  .tvproduct-wrapper.grid-2 .tvproduct-hover-btn a:active,
  .tvproduct-wrapper.grid-2 .tvproduct-hover-btn button:active{
    transform: scale(.94);
  }
}
/* ===============================
   GRID 2 – PILL DISPONIBILITÀ
   =============================== */

.tvproduct-wrapper.grid-2 .tv-grid-availability{
  display: flex;
  justify-content: center;
  margin: 12px 0;
}

/* desktop più grande */
@media (min-width:768px){
  .tvproduct-wrapper.grid-2 .tv-grid-availability .tv-pill{
    font-size: 15px;
    padding: 10px 22px;
  }
}
/* ===============================
   GRID 2 – BADGE COPIATO
   =============================== */

.tvproduct-wrapper.grid-2 .tv-grid-reference{
  position: relative;
  text-align: center;
}

/* badge */
.tvproduct-wrapper.grid-2 .copy-toast{
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  background-color: #1f7a3f;
  color: #ffffff;
  font-weight: 600;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  z-index: 10;
}

/* mobile */
@media (max-width:767px){
  .tvproduct-wrapper.grid-2 .copy-toast{
    bottom: calc(100% + 2px);
    font-size: 11px;
  }
}

/* =========================================================
   GRID2 – COLORI CONDIZIONALI PILL DISPONIBILITÀ (FIX)
   Allineato a GRID1
   ========================================================= */

/* DISPONIBILE */
.tvproduct-wrapper.grid-2 .tv-pill.tv-available,
.tvproduct-wrapper.grid-2 .tv-pill.tv-in-stock{
  background-color: #e6f6ea !important;
  color: #1e7e34 !important;
}

/* ORDINABILE / PREORDER */
.tvproduct-wrapper.grid-2 .tv-pill.tv-preorder{
  background-color: #fff3cd !important;
  color: #856404 !important;
}

/* NON DISPONIBILE / OUT OF STOCK */
.tvproduct-wrapper.grid-2 .tv-pill.tv-out-of-stock,
.tvproduct-wrapper.grid-2 .tv-pill.tv-oos{
  background-color: #f8d7da !important;
  color: #842029 !important;
}

/* sicurezza: mantiene forma pillola */
.tvproduct-wrapper.grid-2 .tv-pill{
  border-radius: 999px;
  font-weight: 700;
}


/* allineamento altezza card – SAFE */
.products > article.product-miniature{
  height: 100%;
}
/* =========================================================
   GRID2 – FIX DEFINITIVO ALTEZZA CARD (GENITORE REALE)
   ========================================================= */

/* il vero contenitore della card */
article.product-miniature,
article.product-miniature .thumbnail-container{
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 5px;
}

/* info box deve riempire */
.tvproduct-wrapper.grid-2 .tvproduct-info-box-wrapper{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 5px !important;
}

/* descrizione cresce */
.tvproduct-wrapper.grid-2 .product-description{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* prezzo sempre in basso */
.tvproduct-wrapper.grid-2 .tv-grid-price{
  margin-top: auto !important;
}


.tvproduct-info-box-wrapper .product-description {
  flex: 1;
}
.tv-product-price-info-box {
  margin-top: auto;
}
.tvproduct-name h6 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10;
  overflow: hidden;
}

/* struttura card */
.tvproduct-wrapper.grid,
.tvproduct-wrapper.grid-2 {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin-right: 5px !important;
}

/* titolo libero */
.tvproduct-name {
  flex-grow: 0;
}

/* disponibilità + prezzo sempre in basso */
.tv-grid-availability,
.tv-grid-price {
  margin-top: auto;
}
.tvproduct-name {
  -webkit-line-clamp: unset;
  max-height: none;
  overflow: visible;
}

/* CENTRA TITOLO CAT. SU MOBILE */
@media (max-width: 480px) {
    .tv-all-page-main-title {
        text-align: center !important;
    }
}

/* === PRODUCT CARD STABLE === */
/* CARD BASE */
.tvproduct-wrapper {
  height: 100%;
}

.tvproduct-info-box-wrapper {
  height: 100%;
}

/* PREZZO SEMPRE IN BASSO */
.tv-grid-price {
  margin-top: 8px;
}

/* TITOLO LIBERO */
.tvproduct-name h6 {
  white-space: normal;
}

/* CARD STRUTTURA */
.tvproduct-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* IMMAGINE ALTEZZA FISSA */
.tvproduct-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tvproduct-image img {
  max-height: 100%;
  object-fit: contain;
}

/* CONTENUTO */
.tvproduct-info-box-wrapper {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* BLOCCO INFO FISSO IN BASSO */
.tv-grid-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* PREZZO / FUORI PRODUZIONE = STESSA ALTEZZA */
.tv-grid-price {
  min-height: 28px;
  display: flex;
  align-items: center;
}
.tv-out-production {
  font-weight: 700;
  color: #c00;
}

/* =====================================================
   RIFERIMENTO PRODOTTO – UNIFORME OVUNQUE
   ===================================================== */

/* Contenitore */
.tv-grid-reference,
.tv-product-reference {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-align: center;
  margin: 6px 0 !important;
  white-space: nowrap;
}

/* "Rif.:" */
.tv-grid-reference {
  color: #666 !important;
}

/* Codice */
.tv-grid-reference strong {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #222 !important;
}

/* =====================================================
   FIX DEFINITIVO – COLORI PILL DISPONIBILITÀ (GRID + GRID2)
   ===================================================== */

/* DISPONIBILE */
.tvproduct-wrapper .tv-pill.tv-available,
.tvproduct-wrapper .tv-pill.tv-in-stock{
  background-color: #e6f6ea !important;
  color: #1e7e34 !important;
}

/* ORDINABILE / PREORDER */
.tvproduct-wrapper .tv-pill.tv-preorder{
  background-color: #fff3cd !important;
  color: #856404 !important;
}

/* NON DISPONIBILE / FUORI STOCK */
.tvproduct-wrapper .tv-pill.tv-unavailable,
.tvproduct-wrapper .tv-pill.tv-out-of-stock,
.tvproduct-wrapper .tv-pill.tv-oos{
  background-color: #f8d7da !important;
  color: #842029 !important;
}

/* FIX badge copiato – sempre visibile */
.tvproduct-wrapper.grid .tv-grid-reference {
  position: relative;
}

/* =========================================================
   GRID2 – FIX DEFINITIVO IMMAGINE (NO TAGLIO / NO SCHIACCIAMENTO)
   ========================================================= */

/* il contenitore immagine è lo "slot" fisso */
.tvproduct-wrapper.grid-2 .tvproduct-image,
.tvproduct-wrapper.grid-view2 .tvproduct-image{
  height: 260px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* ANNULLA height:100% ereditate dal tema (CAUSA DEL TAGLIO) */
.tvproduct-wrapper.grid-2 .thumbnail-container,
.tvproduct-wrapper.grid-view2 .thumbnail-container{
  height: auto !important;
}

/* il link deve riempire lo slot */
.tvproduct-wrapper.grid-2 .tvproduct-image a.thumbnail.product-thumbnail,
.tvproduct-wrapper.grid-view2 .tvproduct-image a.thumbnail.product-thumbnail{
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* IMMAGINI: sempre contenute, MAI tagliate */
.tvproduct-wrapper.grid-2 .tvproduct-image img,
.tvproduct-wrapper.grid-view2 .tvproduct-image img{
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* hover image corretta */
.tvproduct-wrapper.grid-2 .tvproduct-hover-img,
.tvproduct-wrapper.grid-view2 .tvproduct-hover-img{
  position: absolute;
  inset: 0;
  margin: auto;
}
/* FINE BLOCCO STABILE – NON RIPULIRE – NON RIORDINARE */


/* ===========================
   GESTIONE VISTE – SAFE
   =========================== */

/* di default: mostra GRID1 */
.tv-view-grid {
  display: block;
}

/* le altre viste sono nascoste */
.tv-view-grid-2,
.tv-view-list,
.tv-view-catalog {
  display: none;
}

/* quando #products cambia classe */
#products.grid-2 .tv-view-grid {
  display: none;
}
#products.grid-2 .tv-view-grid-2 {
  display: block;
}

#products.list .tv-view-grid {
  display: none;
}
#products.list .tv-view-list {
  display: block;
}

#products.catalog .tv-view-grid {
  display: none;
}
#products.catalog .tv-view-catalog {
  display: block;
}

/* FINE BLOCCO STABILE – NON RIPULIRE – NON RIORDINARE blindato BINGO*/

@media (max-width:767px){
  .tv-grid-list-all-wrapper,
  .tv-view-btn,
  .tv-view-btn-wrapper{
    display:none !important;
  }
}

@media (max-width:767px){

  /* nasconde TUTTE le viste */
  .tv-view{
    display:none !important;
  }

  /* mostra SEMPRE GRID1 */
  .tv-view-grid{
    display:block !important;
  }

}

@media (max-width:767px){
  .products > article.product-miniature{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
  }
}

@media (max-width:767px){
  .tvproduct-wrapper.grid .tvproduct-image{
    height:auto !important;
    min-height:240px;
    overflow:visible !important;
  }

  .tvproduct-wrapper.grid .tvproduct-image img{
    max-height:240px;
    width:auto !important;
    max-width:100%;
    object-fit:contain;
  }
}

@media (max-width:767px){
  .tvproduct-wrapper.grid .tvproduct-hover-btn{
    /*position:static !important;*/
    transform:none !important;
    display:flex !important;
    justify-content:center;
    gap:14px;
    margin-top:12px;
    opacity:1 !important;
  }
}
/* FINE BLOCCO STABILE – NON RIPULIRE – NON RIORDINARE blindato BINGO mobile - addtocart*/
/* =========================================================
   REMOVE QUICK VIEW – ALL VIEWS (GLOBAL)
   ========================================================= */
.tvproduct-quick-btn,
.tvproduct-hover-btn .quick-view{
  display: none !important;
}
/* =========================================================
   BUY NOW BUTTON – STYLE
   ========================================================= */
.tvproduct-buy-now .btn-buy-now{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #ff9800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
}
.tvproduct-buy-now .btn-buy-now i{
  color: #fff;
  font-size: 20px;
}
/* hover desktop */
@media (hover:hover){
  .tvproduct-buy-now .btn-buy-now:hover{
    filter: drop-shadow(0 2px 5px rgba(0,0,0,.28));
    transform: translateY(-2px);
  }
}
/* tap mobile */
@media (hover:none){
  .tvproduct-buy-now .btn-buy-now:active{
    transform: scale(.94);
  }
}
/* =========================================================
   BUY NOW – FIX COLORI DEFINITIVO
   ========================================================= */
.tvproduct-hover-btn .tvproduct-buy-now .btn-buy-now{
  background-color: #ff9800 !important;
}
.tvproduct-hover-btn .tvproduct-buy-now .btn-buy-now.disabled{
  background-color: #e9e9e9 !important;
}
.tvproduct-hover-btn .tvproduct-buy-now .btn-buy-now i{
  color: #fff !important;
}
.tvproduct-buy-now .material-icons{
  font-weight: 900;
  text-shadow: 0 1px 1px rgba(0,0,0,.25);
}
.tvproduct-buy-now .btn-buy-now{
  transform: scale(1.05);
}
/* =========================================================
   BUY NOW – SVG CENTER FIX
   ========================================================= */
.tvproduct-buy-now .btn-buy-now{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.tvproduct-buy-now .icon-bolt{
  width: 22px;
  height: 22px;
  display: block;
}
/* =========================================================
   MOBILE – PULSANTI SOTTO IMMAGINE (FIX REALE)
   ========================================================= */
@media (max-width: 767px){
  /* 1) card in colonna (immagine -> pulsanti -> testo) */
  .tvproduct-wrapper-grid{
    display: flex !important;
    flex-direction: column !important;
  }
  /* 2) area immagine: niente overlay che taglia */
  .tvproduct-wrapper-grid .tvproduct-image{
    position: relative !important;
    width: 100% !important;
  }
  /* 3) AZIONI: stacca dall’immagine e metti sotto */
  .tvproduct-wrapper-grid .tvproduct-hover-btn.tv-grid-actions{
    position: static !important;
    inset: auto !important;      /* annulla top/right/bottom/left */
    transform: none !important;
    width: 100% !important;
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    opacity: 1 !important;       /* se il tema li nasconde */
    pointer-events: auto !important;
    z-index: 1 !important;
  }
  /* 4) IMMAGINE: non farla diventare piccola */
  .tvproduct-wrapper-grid .tvproduct-image img{
    display: block !important;
    width: 100% !important;      /* <-- questo evita il rimpicciolimento */
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
  /* (opzionale) se hai min-height che crea buchi toglila */
  .tvproduct-wrapper-grid .tvproduct-image{
    min-height: 0 !important;
    height: auto !important;
  }
}
/* =========================================================
   MOBILE – FIX STRUTTURA IMMAGINE (ROOT CAUSE)
   ========================================================= */
@media (max-width: 767px)
{
  .tvproduct-image{
    height: auto !important;
    display: block !important;
    }
.tvproduct-wrapper.grid .tv-pill {
    display: inline-block;
    padding: 6px 10px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 999px;
    }
	.tv-grid-reference, .tv-product-reference {
    font-size: 16px !important;
	}
	.tvproduct-name h6, .product-price-and-shipping .price {
        font-size: 16px !important;}
}
/* =========================================================
   BUY NOW — SVG BOLT COLOR FIX (NO BLU SU MOBILE)
   ========================================================= */
.tvproduct-buy-now .btn-buy-now{
  color: #111 !important;          /* currentColor = nero */
}
.tvproduct-buy-now .btn-buy-now .icon-bolt{
  color: #111 !important;          /* doppia sicurezza */
  fill: currentColor !important;
}
.tvproduct-buy-now .btn-buy-now .icon-bolt path{
  fill: currentColor !important;
}
/* =========================================================
   ADD TO CART — COLORI CONDIZIONALI (VISTE)
   ========================================================= */
.tvproduct-cart-btn .add-to-cart.tv-cart-available{
  background-color: #1e7e34 !important;
  color: #fff !important;
}
.tvproduct-cart-btn .add-to-cart.tv-cart-preorder{
  background-color: #ffb953 !important;
  color: #fff !important;
}
.tvproduct-cart-btn .add-to-cart.tv-cart-unavailable{
  background-color: #d6d6d6 !important;
  color: #666 !important;
  cursor: not-allowed !important;
}
/* sicurezza: se disabled niente click */
.tvproduct-cart-btn .add-to-cart.disabled,
.tvproduct-cart-btn .add-to-cart[disabled]{
  pointer-events: none !important;
  opacity: .85;
}
/* BUY NOW – STATO DISPONIBILE */
.btn-buy-now.tv-buy-now-available{
  background-color: #ff9800; /* arancio standard */
  color: #fff;
}
/* BUY NOW – PREORDER */
.btn-buy-now.tv-buy-now-preorder{
  background-color: #ffb953; /* arancio preorder */
  color: #fff;
}
/* BUY NOW – NON DISPONIBILE */
.btn-buy-now.tv-buy-now-unavailable,
.btn-buy-now.disabled{
  background-color: #ddd !important;
  color: #888 !important;
  cursor: not-allowed;
}
/* =========================================================
   BUY NOW — MICRO PULSE (SOFT)
   ========================================================= */
@keyframes buyNowPulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
/* attivo solo se NON disabled */
.btn-buy-now:not(.disabled):not([disabled]){
  animation: buyNowPulse 2.4s ease-in-out infinite;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
}
/* stop su hover */
@media (hover:hover){
  .btn-buy-now:hover{
    animation-play-state: paused;
  }
}
/* =========================================================
   LIST VIEW – FIX UI (NON TOCCA GRID)
   ========================================================= */
.tvproduct-wrapper.list {
  display: flex;
  align-items: stretch;
}
/* ===================== INFO BOX ===================== */
.tvproduct-wrapper.list .tv-grid-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}
/* ===================== PREZZO ===================== */
.tvproduct-wrapper.list .tv-grid-price {
  text-align: left;
  margin-top: 6px;
}
.tvproduct-wrapper.list .tv-grid-price .price {
  font-size: 22px;
  font-weight: 700;
  color: #0a4fb3; /* stesso blu del GRID */
}
/* ===================== BADGE DISPONIBILITÀ ===================== */
.tvproduct-wrapper.list .tv-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
}
/* ===================== RIFERIMENTO + COPIATO ===================== */
.tvproduct-wrapper.list .tv-grid-reference {
  font-size: 14px;
  cursor: pointer;
}
.tvproduct-wrapper.list .tv-grid-reference .copied-badge,
.tvproduct-wrapper.list .tv-grid-reference::after {
  background: #22c55e;
  color: #fff;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  margin-left: 8px;
}
/* ===================== AZIONI (BOTTONI) ===================== */
.tvproduct-wrapper.list .tvall-product-btn-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
}
/* ===================== ADD TO CART ===================== */
.tvproduct-wrapper.list .tvproduct-cart-btn button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important; 
  transition: box-shadow .2s ease, transform .2s ease !important;
}
.tvproduct-wrapper.list .tvproduct-cart-btn i {
  font-size: 22px;
}
/* ===================== BUY NOW ===================== */
.tvproduct-wrapper.list .tvproduct-buy-now button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
}
.tvproduct-wrapper.list .tvproduct-buy-now svg {
  width: 20px;
  height: 20px;
}
/* ===================== QUICK VIEW ===================== */
.tvproduct-wrapper.list .tvproduct-quick-btn a {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* ===================== ALLINEAMENTO MOBILE ===================== */
@media (max-width: 768px) {
  .tvproduct-wrapper.list {
    flex-direction: column;
  }
  .tvproduct-wrapper.list .tvall-product-btn-list {
    justify-content: center;
  }
}
/* =========================================================
   LIST VIEW – CENTRATURA PREZZO (SAFE)
   ========================================================= */
.tvproduct-wrapper.list .tv-grid-price {
  text-align: center;
}
.tvproduct-wrapper.list .tv-grid-price .price {
  display: inline-block;
  margin: 0 auto;
}
/* ===============================
   LIST – BADGE COPIATO (USO JS GRID)
   =============================== */
.tvproduct-wrapper.list .tv-grid-reference{
  position: relative;
  text-align: center;
  cursor: pointer;
}
/* toast copiato */
.tvproduct-wrapper.list .copy-toast{
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  background-color: #1f7a3f;
  color: #ffffff;
  font-weight: 600;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  z-index: 10;
}
/* mobile */
@media (max-width:767px){
  .tvproduct-wrapper.list .copy-toast{
    bottom: calc(100% + 2px);
    font-size: 11px;
  }
}
/* =========================================
   LIST – FIX IMMAGINE RISOLUZIONI ALTE
   ========================================= */
@media (min-width: 1200px) {
  /* il contenitore immagine deve poter accogliere img */
  #products.list .tvproduct-wrapper.list .tvproduct-image {
    min-height: 360px;          /* coerente con img 346px */
    display: flex;
    align-items: center;        /* centra verticalmente */
    justify-content: center;
    box-sizing: border-box;
  }
}
/* =========================================================
   CATELOG – VISIBILITÀ (MOSTRA SOLO CATELOG)
   ========================================================= */
#products.catelog .tv-view {
  display: none;
}
#products.catelog .tv-view-catelog {
  display: block;
}
/* =========================================================
   CATELOG – STRUTTURA GRID DEFINITIVA
   ========================================================= */
#products.catelog .tvproduct-catelog-grid{
  display: grid;
  grid-template-columns: 25% 35% 20% 20%;
  grid-template-rows: minmax(120px, auto) minmax(80px, auto);
  border-bottom: 1px solid #eee;
  align-items: stretch;
}
/* =========================================================
   COLONNA 1 – IMMAGINE (2 RIGHE)
   ========================================================= */
#products.catelog .tvcat-image{
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
#products.catelog .tvcat-image img{
  max-width: 100%;
  height: auto;
}
/* =========================================================
   COLONNA 2 – TITOLO / RIF
   ========================================================= */
#products.catelog .tvcat-title{
  grid-column: 2;
  grid-row: 1;
  align-self: end;
}
#products.catelog .tvcat-ref{
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}
/* =========================================================
   COLONNA 3 – STOCK / PREZZO
   ========================================================= */
#products.catelog .tvcat-stock{
  grid-column: 3;
  grid-row: 1;
  display: flex;
  justify-content: center;
  align-self: end;
}
#products.catelog .tvcat-price{
  grid-column: 3;
  grid-row: 2;
  display: flex;
  justify-content: center;
  align-self: start;
  text-align: center;
}
/* =========================================================
   COLONNA 4 – QTY / AZIONI
   ========================================================= */
#products.catelog .tvcat-qty{
  grid-column: 4;
  grid-row: 1;
  display: flex;
  justify-content: center;
  align-self: end;
}
#products.catelog .tvcat-buttons{
  grid-column: 4;
  grid-row: 2;
  display: flex;
  justify-content: center;
  align-self: start;
}
/* =========================================================
   PILL DISPONIBILITÀ (IDENTICA GRID)
   ========================================================= */
#products.catelog .tv-pill{
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}
#products.catelog .tv-pill.tv-available{
  background: #e6f6ea;
  color: #1e7e34;
}
#products.catelog .tv-pill.tv-preorder{
  background: #fff3cd;
  color: #856404;
}
#products.catelog .tv-pill.tv-unavailable{
  background: #f8d7da;
  color: #721c24;
}
/* =========================================================
   PREZZO (IDENTICO GRID)
   ========================================================= */
#products.catelog .tv-grid-price .price{
  font-size: 22px;
  font-weight: 800;
  color: #0066cc;
}
/* =========================================================
   QTY INLINE (SOLO CATELOG)
   ========================================================= */
#products.catelog .tv-qty-inline{
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
}
#products.catelog .tv-qty-inline button{
  width: 34px;
  height: 34px;
  background: #f5f5f5;
  border: 0;
  font-size: 18px;
  cursor: pointer;
}
#products.catelog .tv-qty-inline input{
  width: 48px;
  height: 34px;
  border: 0;
  text-align: center;
  font-size: 14px;
}
/* =========================================================
   AZIONI (ADD TO CART + BUY NOW)
   ========================================================= */
#products.catelog .tv-grid-actions{
  display: flex;
  gap: 8px;
}
#products.catelog .tvproduct-cart-btn .add-to-cart{
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0,0,0,.25);
  transition: box-shadow .2s ease, transform .2s ease;
}
/* =========================================================
   RIFERIMENTO COPIABILE
   ========================================================= */
#products.catelog .tv-grid-reference{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  text-align: center;
}
#products.catelog .tv-grid-reference strong{
  font-weight: 600;
}
/* Badge "Copiato!" */
#products.catelog .tv-grid-reference .copy-toast{
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  background: #1f7a3f;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 20;
}
/* =========================================================
   MICRO-FIX
   ========================================================= */
#products.catelog .tvproduct-name h6{
  margin: 0;
}
#products.catelog .tvcat-qty{
  align-self: end;
  padding-bottom: 8px;
}
#products.catelog .tvcat-ref{
  align-self: start;
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
/* =====================================================
   SCHEDA PRODOTTO – QTY (ISOLATO AL 100%)
   NON TOCCA GRID / HOME / LISTE
   ===================================================== */
#product .product-add-to-cart .addtocart-flex-row {
  align-items: center;
}
/* contenitore quantità */
#product .product-add-to-cart .product-quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
}
/* label QUANTITÀ */
#product .product-add-to-cart .product-quantity .control-label {
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
}
/* spinner con bordo */
#product .product-add-to-cart .product-quantity .bootstrap-touchspin {
  /*display: grid;*/
  grid-template-columns: 34px 48px 34px;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
/* input */
#product .product-add-to-cart .product-quantity input {
  border: 0;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  background: transparent;
}
/* pulsanti + / - */
#product .product-add-to-cart .product-quantity .btn {
  background: #f7f7f7;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* separatori interni */
#product .product-add-to-cart .product-quantity .bootstrap-touchspin-up {
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
#product .product-add-to-cart .product-quantity .bootstrap-touchspin-down {
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}
/* =====================================================
   HOME – MOSTRA SOLO GRID E GRID2
   ===================================================== */
body#index .tv-view-list,
body#index .tv-view-catelog {
  display: none !important;
}
/* =====================================================
   GRID 2 – STRUTTURA A CARD FISSA (COME GRID1)
   ===================================================== */
/* CARD */
.tv-view.tv-view-grid-2 .tvproduct-wrapper.grid-2 {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* IMMAGINE – COME GRID1 */
.tv-view.tv-view-grid-2 .tvproduct-image {
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
/* CONTENUTO */
.tv-view.tv-view-grid-2 .tvproduct-info-box-wrapper {
  display: flex !important;
  flex-direction: column !important;
  height: 260px; /* ← FONDAMENTALE */
  padding: 5px;
}
/* DESCRIZIONE */
.tv-view.tv-view-grid-2 .product-description {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}
/* TITOLO */
.tv-view.tv-view-grid-2 .tvproduct-name {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
/* BLOCCO INFO */
.tv-view.tv-view-grid-2 .tv-grid-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
}
/* RIFERIMENTO */
.tv-view.tv-view-grid-2 .tv-grid-reference {
  min-height: 28px;
  text-align: center;
}
/* BADGE */
.tv-view.tv-view-grid-2 .tv-pill {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* PREZZO – SEMPRE ALLINEATO */
.tv-view.tv-view-grid-2 .tv-grid-price {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* =====================================================
   LIST-2 – IMMAGINE + AZIONI COME GRID (CENTRATE)
   ===================================================== */
#products.list-2 .tvproduct-wrapper.grid {
    display: flex;
    flex-direction: column;
    align-items: center;
}
/* CONTENITORE IMMAGINE */
#products.list-2 .tvproduct-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 260px;              /* STESSA ALTEZZA GRID */
    overflow: hidden;
}
/* AZIONI (HOVER BUTTONS) */
#products.list-2 .tvproduct-hover-btn,
#products.list-2 .tv-grid-actions {
    position: absolute;
    bottom: 15px;               /* COME GRID1 / GRID2 */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 5;
    background: transparent;
}
/* PULSANTI */
#products.list-2 .tvproduct-hover-btn > div {
    margin: 0;
}
/* DISATTIVA QUALSIASI OFFSET STRANO */
#products.list-2 .tvproduct-cart-btn,
#products.list-2 .tvproduct-buy-now,
#products.list-2 .tvproduct-quick-btn {
    position: static;
}
/* contenitore resta come grid */
#products.list-2 .tvproduct-image {
    height: 260px;
}
/* immagine NON può superare una larghezza logica */
#products.list-2 .tvproduct-image img {
    max-width: 80%;        /* ← CHIAVE: limita lo zoom */
    max-height: 80%;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
}
/* =====================================================
   LIST-2 – TITOLO CENTRATO
   ===================================================== */
#products.list-2 .tvproduct-name,
#products.list-2 .tvproduct-name a,
#products.list-2 .tvproduct-name h6 {
    text-align: center !important;
}
/* opzionale: centra anche il blocco */
#products.list-2 .tvproduct-name {
    display: flex;
    justify-content: center;
}
/* =====================================================
   LIST – TITOLO CENTRATO
   ===================================================== */
#products.list .tvproduct-name.product-title,
#products.list .tvproduct-name.product-title a,
#products.list .tvproduct-name.product-title h6 {
    text-align: center !important;
}
/* centra anche il blocco (come list-2) */
#products.list .tvproduct-name.product-title {
    display: flex;
    justify-content: center;
}
/* =====================================================
   LIST – DESCRIZIONE CENTRATA
   ===================================================== */
#products.list .tv-product-desc {
    text-align: center !important;
    /* mantiene il clamp esistente */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* centra anche come blocco */
    margin-left: auto;
    margin-right: auto;
}
/* =====================================================
   GRID – DESCRIZIONE CENTRATA
   ===================================================== */
#products .tv-view-grid .tv-product-desc {
    text-align: center !important;
    /* mantiene clamp e layout */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* centra il blocco */
    margin-left: auto;
    margin-right: auto;
}
/* =================================================
   CATELOG – QTY FIX (cliccabile + stile)
   NOTE: rimuovere il vecchio "NUCLEAR FIX QTY" con pointer-events:none
   ================================================= */
/* layout qty in catalog */
#products.catelog .tvcat-qty{
  display:flex;
  justify-content:center;
  align-items:center;
  align-self:end;
  padding-bottom:8px;
}
/* contenitore qty (usa le classi originali tema) */
#products.catelog .tv-product-cart-quentity-inner{
  display:flex;
  align-items:center;
  border:1px solid #ddd;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
  position:relative;
  z-index:5;             /* sopra eventuali overlay */
}
/* bottoni - / + */
#products.catelog .tvproduct-cart-quentity-decrement,
#products.catelog .tvproduct-cart-quentity-increment{
  width:34px;
  height:34px;
  border:0;
  background:#f5f5f5;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
/* icone */
#products.catelog .tvproduct-cart-quentity-decrement .material-icons,
#products.catelog .tvproduct-cart-quentity-increment .material-icons{
  font-size:18px;
  line-height:1;
}
/* input qty */
#products.catelog .tvproduct-cart-quentity,
#products.catelog .tv-qty-input{
  width:48px;
  height:34px;
  border:0;
  text-align:center;
  font-size:14px;
  font-weight:600;
  outline:none;
}
/* separatori interni */
#products.catelog .tvproduct-cart-quentity-decrement{
  border-right:1px solid #e0e0e0;
}
#products.catelog .tvproduct-cart-quentity-increment{
  border-left:1px solid #e0e0e0;
}
/* hover semplice (micro feedback) */
#products.catelog .tvproduct-cart-quentity-decrement:hover,
#products.catelog .tvproduct-cart-quentity-increment:hover{
  background:#ededed;
}
/* focus sul gruppo quando clicchi l'input */
#products.catelog .tv-product-cart-quentity-inner:focus-within{
  box-shadow:0 0 0 2px rgba(0,86,179,.15);
  border-color:#b9d2ff;
}
/* IMPORTANTISSIMO: niente pointer-events:none sul wrapper in catalog */
#products.catelog .tvproduct-wrapper,
#products.catelog .tvproduct-wrapper *{
  pointer-events:auto;
}
/* stock in magazzino vertical area*/
#products.catelog .tvcat-stock{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
/* =====================================================
   FIX 1 – RIMUOVE SPIN BUTTON NATIVI INPUT NUMBER
   ===================================================== */
#products.catelog input[type="number"]::-webkit-inner-spin-button,
#products.catelog input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#products.catelog input[type="number"] {
  -moz-appearance: textfield; /* Firefox */
}
/* =====================================================
   FIX 2 – STILE STOCK COME "RIF.:" (FORZATO)
   ===================================================== */
#products.catelog .tvcat-stock .product-meta-line.stock-line,
#products.catelog .tvcat-stock .product-meta-line.stock-line span {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #666 !important;
}
#products.catelog .tvcat-stock .product-meta-line.stock-line {
  display: flex;
  align-items: center;
  justify-content: center;
  /*gap: 6px;*/
  margin-bottom: 6px;
}
/* icona */
#products.catelog .tvcat-stock .product-meta-line.stock-line .meta-icon {
  font-size: 14px !important;
  opacity: .85;
}
/* valore numerico */
#products.catelog .tvcat-stock .product-meta-line.stock-line .meta-value {
  font-weight: 600 !important;
  color: #000000 !important;
}
/* =====================================================
   FIX 3 – MICRO ANIMAZIONE + / −
   ===================================================== */
#products.catelog .tvproduct-cart-quentity-decrement,
#products.catelog .tvproduct-cart-quentity-increment {
  transition: background-color .15s ease, transform .12s ease, box-shadow .12s ease;
}
#products.catelog .tvproduct-cart-quentity-decrement:hover,
#products.catelog .tvproduct-cart-quentity-increment:hover {
  background: #ededed;
}
#products.catelog .tvproduct-cart-quentity-decrement:active,
#products.catelog .tvproduct-cart-quentity-increment:active {
  transform: scale(0.92);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15);
}
/* =====================================================
   CATELOG – RIFERIMENTO ALLINEATO A STOCK (META STYLE)
   ===================================================== */
/* contenitore riferimento */
#products.catelog .tvcat-ref .tv-grid-reference {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 14px;
}
/* label: Rif.:  → uguale a Stock in magazzino */
#products.catelog .tvcat-ref .meta-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #666 !important;
  white-space: nowrap;
}
/* valore: codice → uguale a quantità stock */
#products.catelog .tvcat-ref .meta-value {
  font-weight: 600 !important;
  color: #000 !important;
}
/* =====================================================
   GRID1 – ALTEZZA UNIFORME DEFINITIVA con aggiunta di DESCR.
   ===================================================== */
/* area descrizione sempre presente */
#products .tv-view.tv-view-grid .tv-grid-desc-wrap{
  min-height: 20px; /* anti-collasso */
}
/* descrizione */
#products .tv-view.tv-view-grid .tv-product-desc{
  font-size: 15px;
  color: #555;
  text-align: center;
}
/* =====================================================
   CATELOG – STOCK + QTY SU UNA SOLA RIGA (COMPACT)
   ===================================================== */
/* STOCK + QTY SU UNA SOLA RIGA (FIX DEFINITIVO) */
#products.catelog .product-meta-line.stock-line {
  display: flex;
  align-items: center;
  /*gap: 6px;  distanza tra label e valore */
}
/* evita che "Stock in magazzino:" vada a capo */
#products.catelog .product-meta-line.stock-line .meta-label {
  white-space: nowrap;
  min-width: auto;
  margin-right: 4px;
}
/* valore stock */
#products.catelog .product-meta-line.stock-line .meta-value {
  font-weight: 600;
}
/* =====================================================
   TITOLO CATEGORIA SEMPRE CENTRATO
   ===================================================== */
.tv-all-page-main-title {
    display: flex;
    justify-content: center;
    text-align: center !important;
    width: 100%;
	font-weight: 600;
}
/* =====================================================
   SEARCH FIX
   ===================================================== */
.tvheader-search-btn {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tvheader-search-btn .tvsearch-name {
  font-size: 15px;
  font-weight: 500 !important;
  line-height: 1;
}
@media (max-width: 768px) {
  .tvsearch-name {
    display: none;
  }
}
/* ======================
   STRUTTURA MODALE
   ====================== */
#blockcart-modal .modal-content {
  border-radius: 6px !important;
  overflow: hidden;
}
#blockcart-modal .modal-header {
  background: #355e9e;
  color: #fff;
  padding: 12px 16px;
}
/* ======================
   BODY & LAYOUT
   ====================== */
#blockcart-modal .modal-body {
  padding: 14px 16px;
}
#blockcart-modal .cart-content {
  display: flex;
  flex-direction: column;
}
/* ======================
   TITOLO PRODOTTO
   ====================== */
#blockcart-modal h4,
#blockcart-modal h5,
#blockcart-modal h6 {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  margin: 4px 0;
  color: #222;
}
/* ======================
   PREZZO (ACCENTO)
   ====================== */
#blockcart-modal .tv-addtocart-price {
  font-size: 22px;
  font-weight: 800;
  color: #0066cc !important;
  text-align: center;
  margin: 6px 0;
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}
/* ======================
   TESTI INFO
   ====================== */
#blockcart-modal .cart-content p,
#blockcart-modal .cart-products-count {
  font-size: 14px;
  font-weight: 400;
  margin: 4px 0;
  color: #333;
}
#blockcart-modal .cart-content strong {
  font-weight: 600;
}
/* ======================
   CTA – CONTENITORE
   ====================== */
#blockcart-modal .cart-content-btn {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 10px;
}
/* ======================
   CTA – STILE BASE (RESET)
   ====================== */
#blockcart-modal .tvall-inner-btn {
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-size: 13.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .6px;
  border: none !important;
  box-shadow: none !important;
  transition: background-color .25s ease, transform .2s ease, box-shadow .25s ease;
}
#blockcart-modal .tvall-inner-btn:hover {
  transform: translateY(-1px);
}
/* ======================
   CTA SECONDARIA – GIALLO
   ====================== */
#blockcart-modal button.tvall-inner-btn {
  background: #ffc107 !important;
  color: #000 !important;
}
#blockcart-modal button.tvall-inner-btn:hover {
  background: #e0aa00 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}
/* ======================
   CTA PRIMARIA – BLU BRAND
   ====================== */
#blockcart-modal a.tvall-inner-btn {
  background: #355e9e !important;
  color: #fff !important;
  font-weight: 700;
}
#blockcart-modal a.tvall-inner-btn:hover {
  background: #2c4f87 !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}
/* =====================================================
   MOBILE – COMPATTO, SENZA TAGLI
   ===================================================== */
@media (max-width: 576px) {
  /* MODALE PIÙ BASSA */
  #blockcart-modal .modal-dialog {
    margin: 6px auto;
    max-width: 94%;
  }
  #blockcart-modal .modal-body {
    padding: 10px 14px;
  }
  /* IMMAGINE PIÙ COMPATTA */
  #blockcart-modal .cart-image img {
    max-height: 95px;
    margin-bottom: 4px;
  }
  /* TESTI PIÙ DENSI */
  #blockcart-modal h4,
  #blockcart-modal h5,
  #blockcart-modal h6 {
    font-size: 14px;
    line-height: 1.25;
  }
  #blockcart-modal .cart-content p,
  #blockcart-modal .cart-products-count {
    font-size: 13.5px;
    margin: 3px 0;
  }
  #blockcart-modal .tv-addtocart-price {
    font-size: 20px;
    margin: 4px 0;
  }
  /* CTA IN COLONNA – NIENTE SPAZI FANTASMA */
  #blockcart-modal .cart-content-btn {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-top: 8px;
    padding: 0;
    background: transparent;
  }
  /* CTA FULL WIDTH */
  #blockcart-modal .tvall-inner-btn {
    width: 100%;
    text-align: center;
  }
  /* ANIMAZIONE SLIDE-UP SOLO MOBILE */
  #blockcart-modal .cart-content-btn {
    animation: ctaSlideUp .3s ease-out both;
  }
}
/* =====================================================
   POPUP ADD TO CART – PATCH FINALE (desktop+mobile)
   ===================================================== */
/* -----------------------
   1) MOBILE: titolo su 1 riga
   ----------------------- */
@media (max-width: 576px) {
  #blockcart-modal .modal-title,
  #blockcart-modal .modal-title.h6,
  #blockcart-modal .modal-header h4,
  #blockcart-modal .modal-header h5,
  #blockcart-modal .modal-header h6 {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    max-width: 100% !important;
    line-height: 1.1 !important;
  }
  /* evita che icone/spaziamenti “spingano” il testo */
  #blockcart-modal .modal-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  #blockcart-modal .modal-header .modal-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}
/* -----------------------
   2) BOTTONI: stile definitivo (tutti i device)
   ----------------------- */
/* base comune */
#blockcart-modal .tvall-inner-btn {
  border-radius: 999px !important;
  padding: 10px 20px !important;
  border: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transition: background-color .25s ease, box-shadow .25s ease, transform .2s ease !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
/* micro-lift */
#blockcart-modal .tvall-inner-btn:hover {
  transform: translateY(-1px) !important;
}
/* CONTINUA (button) */
#blockcart-modal button.tvall-inner-btn {
  background-color: #ffc107 !important;
  color: #000 !important;
}
#blockcart-modal button.tvall-inner-btn span,
#blockcart-modal button.tvall-inner-btn i {
  color: #000 !important;
}
#blockcart-modal button.tvall-inner-btn:hover {
  background-color: #e6ae00 !important;
  box-shadow: 0 6px 14px rgba(0,0,0,.18) !important;
}
/* PROCEDI (link) – blu sito + CTA più “strong” */
#blockcart-modal a.tvall-inner-btn {
  background-color: #355e9e !important; /* blu sito */
  color: #fff !important;
  font-weight: 700 !important;         /* micro-accento CTA */
}
#blockcart-modal a.tvall-inner-btn span,
#blockcart-modal a.tvall-inner-btn i {
  color: #fff !important;
	white-space: nowrap !important;
    overflow: visible !important;
    display: flex !important;
}
#blockcart-modal a.tvall-inner-btn:hover {
  background-color: #2f5187 !important; /* hover più intenso */
  box-shadow: 0 8px 18px rgba(0,0,0,.25) !important;
}
/* niente pseudo-effetti strani */
#blockcart-modal .tvall-inner-btn::before,
#blockcart-modal .tvall-inner-btn::after {
  display: none !important;
}
/* -----------------------
   3) DESKTOP: bottoni in basso a destra
   (NON tocca mobile)
   ----------------------- */
@media (min-width: 768px) {
  /* forza il contenuto a “spingere” i bottoni giù */
  #blockcart-modal .col-md-6.tv-addtocart-content,
  #blockcart-modal .cart-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }
  /* se la colonna non ha altezza, almeno la row la prende */
  #blockcart-modal .modal-body .row {
    align-items: stretch !important;
  }
  /* bottoni in basso a destra */
  #blockcart-modal .cart-content-btn {
    margin-top: auto !important;
    padding-top: 10px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
  }
}
/* =====================================================
   PATCH FINALE – DESKTOP CTA POSITION + TEXT FIX
   (mobile NON toccato)
   ===================================================== */
/* ---------- DESKTOP: CTA IN BASSO A DESTRA ---------- */
@media (min-width: 768px) {
  /* colonna destra = layout a colonna */
  #blockcart-modal .col-md-6.tv-addtocart-content,
  #blockcart-modal .cart-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }
  /* spinge i pulsanti in fondo */
  #blockcart-modal .cart-content-btn {
    margin-top: auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding-top: 16px !important;
  }
}
/* ---------- TESTO CI SONO X ARTICOLI ---------- */
/* niente uppercase, tono più naturale */
#blockcart-modal .cart-products-count {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  font-size: 15px;
  color: #333;
}
/* =====================================================
   PATCH FINALE – DESKTOP FIX DEFINITIVO
   ===================================================== */
@media (min-width: 768px) {
  /* ----- struttura: la modale deve dare altezza reale ----- */
  #blockcart-modal .modal-body {
    display: flex !important;
  }
  #blockcart-modal .tv-addtocart-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }
  #blockcart-modal .cart-content {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }
  /* ----- CTA: estremo angolo basso a destra ----- */
  #blockcart-modal .cart-content-btn {
    margin-top: auto !important;
    align-self: flex-end !important;
    justify-content: flex-end !important;
    padding-bottom: 6px;
  }
  /* ----- PREZZO: meno “peso” su desktop ----- */
  #blockcart-modal .tv-addtocart-price {
    font-weight: 700 !important;     /* era 800 */
    text-shadow: none !important;    /* via ombra su desktop */
  }
}
/* =====================================================
   FINE BLOCCO DEFINITIVO
   ===================================================== */
/* Titolo RECENSIONI - desktop + mobile */
.tv-home-title,
.tv-section-title,
.tv-review-title,
h2.tv-title {
  font-weight: 700;
}
/* FORZA su mobile */
@media (max-width: 768px) {
  .tv-home-title,
  .tv-section-title,
  .tv-review-title,
  h2.tv-title,
  h2 {
    font-weight: 700 !important;
    font-family: inherit;
  }
}
/* =====================================================
   CARDS FIX MOBILE
   ===================================================== */
@media (max-width: 767px) {
  .tv-grid-reference {
    font-size: 12px !important;   /* riduce testo */
    line-height: 1.2 !important;
    white-space: nowrap;          /* resta su una riga */
    overflow: hidden;
    text-overflow: ellipsis;      /* … se troppo lungo */
  }
}
@media (max-width: 767px) {
  .tv-grid-availability {
    white-space: nowrap;          /* mai a capo */
    font-size: 12px;              /* più compatta */
    padding: 6px 10px !important; /* riduce pillola */
    gap: 6px;
  }
  .tv-grid-availability span,
  .tv-grid-availability i,
  .tv-grid-availability svg {
    font-size: 12px;
    flex-shrink: 0;               /* icona non schiacciata */
  }
}
/* =====================================================
   SOCIAL ICONE FIX MOBILE
   ===================================================== */
@media (max-width: 767px) {
  /* contenitore icone */
  .footer-social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 15px 0;
  }
  /* singola icona */
  .footer-social-icons a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #355e9e; /* BLU SITO */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none;
    transition: background-color 0.25s ease, transform 0.15s ease;
  }
  /* icona interna */
  .footer-social-icons a i,
  .footer-social-icons a svg {
    color: #fff !important;
    font-size: 18px;
  }
  /* HOVER / TAP (DOC style) */
  .footer-social-icons a:hover,
  .footer-social-icons a:active {
    background-color: #2b4f87; /* blu leggermente più scuro */
    transform: scale(0.95);
  }
}
  /* WhatsApp pulse - lento e verde */
  .footer-social-icons a[href*="wa.me"] {
    position: relative;
    animation: whatsapp-pulse 3.5s infinite;
  }
  @keyframes whatsapp-pulse {
    0% {
      box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.45); /* verde WhatsApp */
    }
    70% {
      box-shadow: 0 0 0 12px rgba(37, 211, 102, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
  }
  /* pausa quando l’utente interagisce */
  .footer-social-icons a[href*="wa.me"]:hover,
  .footer-social-icons a[href*="wa.me"]:active {
    animation-play-state: paused;
  }
/* =====================================================
   CART DRAWER – FIX PULSANTI E SPAZIATURA
===================================================== */
.ttvcart-product-list-btn-wrapper {
    display: flex !important;
    flex-direction: column !important; /* Dispone i pulsanti uno sopra l'altro */
    align-items: center !important;
    gap: 15px !important;            /* SPAZIO VERTICALE tra i due pulsanti */
    padding: 20px 16px 20px !important;
    margin: 0;
}
/* Reset del button originale (evita la duplicazione visiva del rettangolo) */
.ttvcart-product-list-btn-wrapper button {
    width: 100% !important;
    max-width: 260px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    box-shadow: none !important;
    display: block !important;
}
/* Stile reale del pulsante (applicato al link interno) */
.ttvcart-product-list-btn-wrapper button > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 48px;
    width: 100%;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 999px;
    text-decoration: none !important;
    transition: all .2s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
/* COLORE GIALLO (Visualizza Carrello) */
.ttvcart-product-list-viewcart > a {
    background-color: #ffc400 !important;
    color: #111 !important;
}
/* COLORE BLU (Procedi con l'ordine) */
.ttvcart-product-list-checkout > a {
    background-color: #2f5ea8 !important;
    color: #fff !important;
}
/* EFFETTI HOVER */
.ttvcart-product-list-btn-wrapper button > a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
    filter: brightness(1.1);
}
/* FIX PER IL DRAWER */
.ttvcart-show-dropdown-right {
    right: 0 !important;
    left: auto !important;
    margin: 0 !important;
}
/* Abbassa l'intero blocco dei pulsanti */
.ttvcart-product-list-btn-wrapper {
    margin-top: 30px !important; /* Aumenta questo valore per scendere ulteriormente */
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}
/* =====================================================
   ALLINEAMENTO DRAWER A STILE MODAL (POPUP)
==================================================== */
/* 1. Wrapper: Gestione spazio e posizione */
.ttvcart-product-list-btn-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;            /* Spazio tra i pulsanti come nel popup */
    padding: 30px 16px 40px !important; /* Spazio extra sopra per abbassarli */
    margin: 0 !important;
}
/* 2. Reset Button (per evitare duplicazioni visive) */
.ttvcart-product-list-btn-wrapper button {
    width: 100% !important;
    max-width: 280px !important;     /* Larghezza simile al modal */
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    box-shadow: none !important;
}
/* 3. Stile Base dei Link (Font e Forme del Modal) */
.ttvcart-product-list-btn-wrapper button > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 46px;                   /* Altezza standard modal */
    width: 100%;
    /* Font settings dal modal */
    font-family: inherit;           
    font-size: 13px !important;     /* Font leggermente più piccolo come da screenshot modal */
    font-weight: 600 !important;
    letter-spacing: 1px !important; /* Letter spacing tipico dei tuoi bottoni */
    text-transform: uppercase;
    border-radius: 999px;
    text-decoration: none !important;
    transition: all 0.3s ease;
}
/* 4. Colori e Hover (Esattamente come il Modal) */
/* GIALLO: Continua Shopping / Visualizza Carrello */
.ttvcart-product-list-viewcart > a {
    background-color: #ffc107 !important; /* Giallo Modal */
    color: #000 !important;
}
.ttvcart-product-list-viewcart > a:hover {
    background-color: #e6ae00 !important; /* Hover scuro come richiesto */
    color: #000 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
/* BLU: Procedi con l'ordine */
.ttvcart-product-list-checkout > a {
    background-color: #4472b2 !important; /* Blu corretto del modal */
    color: #fff !important;
}
.ttvcart-product-list-checkout > a:hover {
    background-color: #365b8e !important; /* Blu hover più scuro */
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
/* 5. Tap Mobile */
.ttvcart-product-list-btn-wrapper a:active {
    transform: scale(0.98);
}
/* =====================================================
   FIX FINALE: TITOLI INTERI MOBILE + DESCRIZIONE FISSA
===================================================== */
/* 1. BASE COMUNE (Reset globale) */
.tv-view-grid .tvproduct-wrapper.grid {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.tv-view-grid .tvproduct-info-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
/* Forza i titoli a mostrare tutto il testo ovunque */
.tv-view-grid .product-title h6,
.tv-view-grid .tvproduct-name h6 {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: unset !important;
}
/* 2. SPECIFICO DESKTOP (Da 992px in su) */
@media (min-width: 992px) {
    .tv-view-grid .tvproduct-info-box-wrapper {
        min-height: 350px !important;/* 420pxSpazio per titoli lunghi */
        /*padding: 15px !important;*/
    }
    .tv-view-grid .product-title {
        min-height: 115px !important; /* Spazio per titoli lunghi */
        margin-bottom: 5px !important;
    }
    .tv-view-grid .tv-product-desc, 
    .tv-view-grid .tv-grid-desc-wrap {
        min-height: 25px !important; /* Spazio fisso per descrizione65px */
        display: block !important;
        margin-bottom: 2px !important;
    }
    .tv-view-grid .tv-grid-info {
        /*margin-top: auto !important;*/
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    /* Allineamento Rif/Stock/Prezzo */
    .tv-view-grid .tv-grid-reference { min-height: 20px !important; }
    .tv-view-grid .tv-product-availability { min-height: 40px !important; }
    .tv-view-grid .tv-product-price { min-height: 35px !important; }
}
/* 3. SPECIFICO MOBILE (Sotto i 991px) */
/* =====================================================
   FIX MOBILE: TITOLO BOLD INTERO + DESCRIZIONE RIGIDA
===================================================== */
@media (max-width: 991px) {
    .tv-view-grid .tvproduct-info-box-wrapper {
        display: flex !important;
        flex-direction: column !important;
        min-height: 380px !important; /* Altezza aumentata per gestire titoli bold lunghi */
        padding: 10px 5px !important;
        justify-content: flex-start !important;
    }
    /* TITOLO: Grassetto, intero e con spazio riservato */
    .tv-view-grid .product-title,
    .tv-view-grid .tvproduct-name {
        min-height: 234px !important; 
        margin-bottom: 8px !important;
        display: block !important;
    }
    .tv-view-grid .product-title h6,
    .tv-view-grid .tvproduct-name h6 {
        font-weight: 700 !important; /* Grassetto come richiesto */
        font-size: 16px !important;
        line-height: 1.3 !important;
        display: block !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        -webkit-line-clamp: unset !important;
        color: #333 !important;
    }
    /* DESCRIZIONE: Il "cuscinetto" che salva l'allineamento */
    .tv-view-grid .tv-product-desc, 
    .tv-view-grid .tv-grid-desc-wrap {
        display: block !important;
        /* Forza l'altezza anche se il contenuto è vuoto */
        height: 50px !important; 
        min-height: 50px !important; 
        max-height: 50px !important;
        margin-bottom: -30px !important;
        overflow: hidden !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    /* BLOCCO INFO (Rif, Stock, Prezzo) - Ancoraggio totale */
    .tv-view-grid .tv-grid-info {
        margin-top: auto !important; 
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        width: 100% !important;
    }
    .tv-view-grid .tv-grid-reference { 
        min-height: 18px !important; 
        font-size: 11px !important;
        font-weight: 600 !important; /* Leggero grassetto per il Rif */
    }
    .tv-view-grid .tv-product-availability { 
        min-height: 38px !important;
    }
    .tv-view-grid .tv-product-price { 
        min-height: 30px !important;
        font-weight: 800 !important; /* Prezzo ancora più evidente */
    }
}
/* Contenitore principale Social */
.tvfooter-social-container-custom {
    display: flex;
    justify-content: flex-end; /* Spinge le icone a destra della colonna */
    margin-bottom: 15px;       /* Distanza dalla newsletter */
    width: 100%;
}
/* Wrapper delle icone */
.tvfooter-social-wrapper {
    display: flex;
    gap: 10px; /* Spazio tra le icone */
}
/* Stile singola icona (stile tondo mobile) */
.tvfooter-social-wrapper a {
    width: 35px;
    height: 35px;
    background-color: #355e9e; /* Il tuo blu istituzionale */
    color: #ffffff !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.tvfooter-social-wrapper a i {
   font-size: 16px;
}
/* Effetto al passaggio del mouse */
.tvfooter-social-wrapper a:hover {
    background-color: #2a4a7d;
}
/* Fix per allineamento su Desktop */
@media (min-width: 992px) {
    .newsletter-final-column { /* O la classe della tua colonna destra */
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
}
/* FIX SOVRAPPOSIZIONE ICONA CESTINO MOBILE */
@media (max-width: 767px) {
    /* Abbassa leggermente il titolo per dare spazio all'icona di rimozione */
    .tvshoping-cart-dropdown-title {
        padding-top: 15px !important;
        margin-top: 5px !important;
        margin-right: 35px !important; /* Evita che il testo arrivi sotto la X */
        display: block !important;
    }
    /* Aggiunge spazio nel wrapper del prodotto per liberare l'angolo dell'icona */
    .ttvcart-product-wrapper.items {
        padding-top: 25px !important;
        position: relative !important;
    }
    /* Assicura che l'icona del cestino (X) sia cliccabile e in primo piano */
    .ttvcart-product-remove, 
    a.remove-from-cart {
        position: absolute !important;
        /*top: 5px !important;
        right: 5px !important;*/
        z-index: 99 !important;
        width: 35px !important;
        height: 35px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    /* Ridimensiona il contenuto per non farlo "cozzare" con la X */
    .ttvcart-product-content {
        padding-right: 40px !important; /* Crea una zona sicura a destra */
    }
}
/* TITOLO MODAL SU DUE RIGHE (RIMUOVE ELLIPSIS) */
#blockcart-modal .modal-title, 
#blockcart-modal .modal-title.h6, 
#blockcart-modal .modal-header h4, 
#blockcart-modal .modal-header h5, 
#blockcart-modal .modal-header h6 {
    white-space: normal !important; /* Permette al testo di andare a capo */
    text-overflow: clip !important; /* Rimuove i puntini di sospensione */
    overflow: hidden !important;
    /* Supporto per massimo 2 righe */
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important; 
    -webkit-box-orient: vertical !important;
    line-height: 2.2 !important; /* Sistema lo spazio tra le due righe */
    max-height: 2.4em !important; /* Altezza massima basata sul line-height */
    text-align: center;
}
/* FORCE FONT TITOLO RECENSIONI SU IPHONE */
/* UNIFORMA TITOLO RECENSIONI A PIÙ VENDUTI */
h2.lgcomments-title, 
.lgcomments-title {
    /* Annulla il font specifico del modulo per usare quello del tema */
    font-family: inherit !important; 
    /* Copia lo stile dei titoli 'Più Venduti' */
    font-size: 26px !important; /* Allinea alla classe .h2 del tema */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #333333 !important;
    line-height: normal !important;
    letter-spacing: normal !important;
    display: block !important;
   
}
/* Fix specifico per iPhone che sovrascrive il custom.css del modulo */
@media (max-width: 767px) {
    h2.lgcomments-title {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        font-size: 22px !important;
    }
}
/* ALLINEA TITOLO E LINK "TUTTE" AL FONT DI SISTEMA / PIÙ VENDUTI */
h2.lgcomments-title, 
#w-more a {
    /* Rimuove Roboto Condensed e usa il font del tema (come Più Venduti) */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: normal !important;
}
/* Regolazioni specifiche per il link "TUTTE" */
#w-more a {
    font-size: 14px !important; /* Dimensione tipica per i link secondari */
    font-weight: 700 !important;
    color: #35a8eb !important; /* Mantiene il colore blu del link */
    text-decoration: none !important;
}
/* Hover per il link */
#w-more a:hover {
    text-decoration: underline !important;
}
/* ALLINEAMENTO COLORE LINK ALLA PALETTE DEL SITO */
#w-more a, 
.lgcomments-wrapper a,
#product-reviews-title + a {
    /* Un blu più profondo coerente con il logo/header */
    color: #1a4388 !important; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
/* Effetto al passaggio del mouse: usa il Giallo del sito */
#w-more a:hover,
.lgcomments-wrapper a:hover {
    color: #f3a010 !important; /* Il giallo delle stelline/tasto cerca */
    text-decoration: underline !important;
}
/* --- OTTIMIZZAZIONE INTEGRALE SOLO PER MOBILE (Max 767px) --- */
@media (max-width: 767px) {
    .lgcomments-wrapper .col-xs-12.col-sm-6,
    #lgcomment_reviews_list [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        margin: 0 !important;
    }
    /* 4. STILE CARDS RECENSIONI (AUTO-ESTENSIBILE) */
    .lgcomment_block.lgcomment_review,
    .lgcomment_block {
        width: 100% !important;
        max-width: 100% !important;
        /* Fix per non far uscire il testo: altezza libera */
        height: auto !important; 
        min-height: 120px !important; 
        overflow: visible !important; 
        background-color: #ffffff !important;
        border: 1px solid #e1e1e1 !important;
        border-radius: 5px !important; 
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
        padding: 25px 15px !important;
        margin: 0 0 20px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    /* 5. FIX TESTO (Roboto e andata a capo forzata) */
    .lgcomment_block .title {
        font-family: 'Roboto', sans-serif !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin-bottom: 12px !important;
        height: auto !important;
    }
    .lgcomment_block .comment.small, 
    .lgcomment_block .comment {
        font-family: 'Roboto', sans-serif !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
        color: #555 !important;
        /* Regole anti-taglio */
        white-space: normal !important; 
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
        word-wrap: break-word !important;
        margin: 10px 0 !important;
        padding: 0 !important;
    }
    /* 6. FOOTER, STELLINE E LINK */
    .lgcomment_block .credits {
        font-family: 'Roboto', sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #777 !important;
        border-top: 1px solid #f0f0f0 !important;
        padding-top: 12px !important;
        margin-top: auto !important; /* Spinge i crediti sempre in fondo */
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
    }
    .lgcomment_block .rating_img {
        margin: 5px auto !important;
        display: block !important;
    }
    .lgcomment_block .rating_img img {
        max-width: 100px !important;
        height: auto !important;
    }
    #w-more a {
        color: #1a4388 !important;
        font-family: 'Roboto', sans-serif !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
    }
}
/* --- FIX TITOLO E MARGINI SOLO MOBILE --- */
@media (max-width: 767px) {
    /* Annulla il margine di 30px rilevato nell'header */
    #main .page-header, 
    .page-header {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border: none !important;
    }
}
/* --- FIX CENTRATURA TITOLO FORZATA SOLO MOBILE --- */
@media (max-width: 767px) {
    /* Forza il contenitore a occupare tutto lo spazio e centrare i figli */
    .page-header, 
    #main .page-header,
    header.page-header {
        display: block !important;
        text-align: center !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        width: 100% !important;
        float: none !important;
    }
    /* Forza il titolo H1 a comportarsi come un blocco centrale */
    .page-header h1, 
    h1.h1,
    .page-header .h1 {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        width: 100% !important;
        float: none !important;
        left: 0 !important;
    }
}
/* --- FIX DISTACCO BORDI E CENTRATURA TITOLO (SOLO MOBILE) --- */
@media (max-width: 767px) { 
    /* 1. Forza il rientro laterale di tutta la sezione recensioni */
    section#lgcomments_products, 
    .lgcomments-wrapper,
    #lgcomment_reviews_list {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    /* 2. Trasforma le box e staccale dai bordi (Stile categorie) */
    .lgcomment_block.lgcomment_review, 
    .lgcomment_block {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 20px !important;
        border-radius: 4px !important; /* Come blocco ricambi */
        box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
        box-sizing: border-box !important;
    }
    /* 3. Annulla eventuali margini negativi ereditati da righe bootstrap */
    .lgcomments-wrapper .row,
    #lgcomment_reviews_list .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    /* 4. Centratura Titolo (Punto critico) */
    .page-header h1.h1, 
    #lgcomments_products .h1,
    .page-header {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* --- FIX SELETTORE QUANTITÀ (MOBILE) --- */
@media (max-width: 767px) {
    /* Rimuove i bordi grigi dai pulsanti touchspin nella pagina prodotto */
    #product .product-add-to-cart .product-quantity .bootstrap-touchspin-up,
    #product .product-add-to-cart .product-quantity .bootstrap-touchspin-down {
        border-left: none !important;
        border-right: none !important;
        border-bottom: none !important;
        border-top: none !important;
        background-color: #ededed; /* Grigio chiaro simile al catalogo */
        border-radius: 4px; /* Arrotonda leggermente per un look più moderno */
        margin: 0 2px; /* Crea una piccola separazione tra input e tasti */
    }
    /* Sistema l'allineamento del contenitore per farlo somigliare al catalogo */
    #product .product-quantity .input-group {
        display: flex;
        align-items: center;
        background-color: #f6f6f6;
        padding: 5px;
        border-radius: 8px;
    }
    /* Rimuove il bordo dall'input centrale */
    #product .product-quantity input.qty {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}
/* BLOCCO DISPONBILITA*/
    /* Centra il blocco principale */
    .product-information {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 !important;
    }
    /* Fix per i riquadri Available e Unavailable */
    #product-availability .available,
    #product-availability .unavailable {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;  
		 text-align: center !important;
        /* Spaziatura e Arrotondamento */
        padding: 8px 20px !important;
        border-radius: 33px !important;      
        /* Gestione Larghezza: usiamo width auto per farla respirare */
        width: auto !important;
        min-width: 280px !important; 
        max-width: 95% !important;
        margin: 5px auto !important;   
        /* Testo: leggermente più piccolo per farlo stare su una riga se possibile */
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase;
        line-height: 1.2 !important;
        border: none !important;
    }
    /* Colore specifico per NON DISPONIBILE */
    #product-availability .unavailable {
        background-color: #fce4ec !important; /* Rosa chiaro */
        color: #d81b60 !important;           /* Testo bordeaux */
    }
    /* Fix Icona: deve stare a sinistra del testo senza sovrapporsi */
    #product-availability i.material-icons {
        margin-right: 10px !important;
        font-size: 18px !important;
        color: inherit !important;
        display: flex !important;
    }
    /* Mantiene il pulsante giallo orizzontale */
    #send_aap_button {
        white-space: nowrap !important;
        display: inline-flex !important;
        width: auto !important;
        padding: 10px 25px !important;
        border-radius: 33px !important;
    }
/* Uniforma il pulsante Informazioni sul Prodotto al blu del tema */
#send_aap_button {
    background-color: #2c5ba3 !important; /* Blu come da screen 2 */
    border-color: #2c5ba3 !important;
    color: #ffffff !important;
    transition: background-color 0.3s ease !important;
	text-transform: uppercase !important;
}
/* Effetto Hover più scuro */
#send_aap_button:hover {
    background-color: #355e9e !important; /* Blu più scuro per l'hover */
    border-color: #355e9e !important;
    color: #ffffff !important;
	text-transform: uppercase !important;
}
/* Forza lo stile anche su mobile se necessario */
@media (max-width: 767px) {
    #send_aap_button {
        background-color: #2c5ba3 !important;
        /* Assicuriamoci che mantenga la forma a pillola che abbiamo impostato prima */
        border-radius: 33px !important;
    }
}
/* Stile per il pulsante "Avvisami quando disponibile" */
.js-mailalert-add {
    background-color: #3b94d9 !important;
    border-color: #3b94d9 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    border-radius: 33px !important; /* Mantiene la coerenza con gli altri tasti */
    padding: 10px 25px !important;
    text-transform: none !important;  /*Lo rende più leggibile e meno aggressivo */
	
}
/* Effetto Hover per l'azzurro */
.js-mailalert-add:hover {
    background-color: #2a7bbd !important; /* Azzurro più profondo */
    border-color: #2a7bbd !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
	
}
/* Fix specifico per mobile */
@media (max-width: 767px) {
    .js-mailalert-add {
        width: auto !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-top: 10px !important;
        white-space: nowrap !important;
    }
}
/* Uniforma il raggio della notifica di conferma (Richiesta registrata) */
.js-mailalert-alerts .alert, 
#product .js-mailalert-text-center .alert {
    border-radius: 33px !important; /* Stesso raggio dei pulsanti */
    padding: 10px 25px !important;  /* Spaziatura interna bilanciata */
    text-align: center !important;  /* Centra il messaggio internamente */
    border: none !important;        /* Rimuove eventuali bordi netti */
    display: inline-flex !important; /* Lo rende compatto come una pillola */
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;          /* Evita che occupi tutta la riga se non necessario */
    min-width: 250px !important;     /* Coerenza con la larghezza degli altri blocchi */
    margin: 10px auto !important;    /* Lo centra nel layout mobile */
}
/* Fix specifico per il contenitore della notifica su mobile */
@media (max-width: 767px) {
    .js-mailalert-alerts {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
}
/* Forza la centratura del blocco avvisi (mailalert) in ogni stato (login/logout) */
.js-mailalert-text-center, 
#product .js-mailalert-text-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    margin: 15px 0 !important;
}
/* Centra il pulsante specifico eliminando eventuali float o margini asimmetrici */
.js-mailalert-add, 
button.js-mailalert-add {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    float: none !important;
}
/* Gestione dello spazio se l'utente è loggato */
@media (max-width: 767px) {
    #product .js-mailalert-text-center br {
        display: none !important; /* Rimuove interruzioni di riga inutili se loggato */
    }
}
/* 1. Centra l'intero blocco delle recensioni (Stelline + Link) */
.comment_anchor_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 15px !important;
}
/* 2. Assicura che l'immagine delle stelline sia centrata e distanziata dal testo */
.comment_anchor_content img {
    margin: 0 auto 8px auto !important;
    display: block !important;
}
/* 3. Colora lo SPAN/Link delle recensioni in Blu Istituzionale */
.comment_anchor {
    display: inline-block !important;
    color: #2c5ba3 !important;      /* Blu istituzionale del tuo sito */
    font-weight: 600 !important;    /* Lo rende leggermente più evidente */
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}
/* 4. Effetto Hover per il link (un blu leggermente più scuro) */
.comment_anchor:hover {
    color: #1e3d6d !important;      /* Blu più scuro al passaggio del mouse */
    text-decoration: underline !important; /* Opzionale: sottolinea al passaggio */
}
/* TAB PRODOTTO MODERNE */
/* 1. RESET E CENTRATURA CONTENITORE NAV-TABS */
#product .nav-tabs {
    border-bottom: none !important;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 20px 0 !important;
    background: transparent !important;
}
/* 2. STILE DELLE TAB (I Pulsanti) */
#product .nav-tabs .nav-item {
    margin-bottom: 0 !important;
}
#product .nav-tabs .nav-link {
    background-color: #f5f5f5 !important; /* Grigio neutro */
    color: #444 !important;
    border: 2px solid transparent !important;
    border-radius: 33px !important; /* Coerenza pillola */
    padding: 10px 25px !important;
    font-weight: 600 !important;
    transition: all 0.4s ease !important;
    box-shadow: none !important;
}
/* 3. TAB ATTIVA (Blu Istituzionale) */
#product .nav-tabs .nav-link.active {
    background-color: #2c5ba3 !important;
    color: #ffffff !important;
    border-color: #2c5ba3 !important;
    box-shadow: 0 4px 12px rgba(44, 91, 163, 0.2) !important;
}
/* 4. HOVER SULLE TAB NON ATTIVE */
#product .nav-tabs .nav-link:hover:not(.active) {
    background-color: #e0e0e0 !important;
    transform: translateY(-2px);
}
/* 5. EFFETTO FADE-IN PER IL CONTENUTO DELLE TAB */
.tab-content .tab-pane {
    display: none;
}
.tab-content .active {
    display: block !important;
    animation: tabFadeIn 0.5s ease-out;
}
@keyframes tabFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* 6. OTTIMIZZAZIONE MOBILE */
@media (max-width: 767px) {
    #product .nav-tabs {
        flex-direction: column !important; /* Le impiliamo per non farle uscire */
        align-items: center !important;
    }
    #product .nav-tabs .nav-link {
        width: 280px !important; /* Larghezza fissa centrata su mobile */
        text-align: center !important;
    }
}
/* UNIFORMA PULSANTE SCRIVI UNA RECENSIONE / AGGIUNGI COMMENTO */
/* UNIFORMA PULSANTE RECENSIONI (Classe specifica: lgcomment_button) */
.lgcomment_button.btn.btn-primary {
    background-color: #2c5ba3 !important; /* Blu istituzionale */
    border-color: #2c5ba3 !important;
    color: #ffffff !important;
    border-radius: 33px !important;       /* Forma a pillola */
    padding: 10px 25px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    box-shadow: none !important;
}
/* EFFETTO HOVER SCURO */
.lgcomment_button.btn.btn-primary:hover {
    background-color: #1e3d6d !important; /* Blu più scuro */
    border-color: #1e3d6d !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}
/* CENTRATURA E SPAZIATURA SU MOBILE */
@media (max-width: 767px) {
    .lgcomment_button.btn.btn-primary {
        display: flex !important;
        margin: 20px auto !important; /* Lo centra nel tab */
        width: auto !important;
        min-width: 220px !important;
    }
}
/* CONTENITORE SINGOLA RECENSIONE (CARD) */
/* 1. CREA IL BOX PER OGNI RECENSIONE */
#lgcomment .productComment.row {
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin-bottom: 30px !important; /* Distanza tra i box */
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
    position: relative !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
}
/* 2. TITOLO (In alto a sinistra) */
#lgcomment .info-block .title {
    color: #2c5ba3 !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
    display: block !important;
}
/* 3. AGGIUNTA BADGE ACQUISTO VERIFICATO (In alto a destra) */
#lgcomment .productComment.row::before {
    content: "✓ ACQUISTO VERIFICATO" !important;
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background-color: #e8f5e9 !important; /* Verde chiaro */
    color: #2e7d32 !important;           /* Verde scuro */
    font-size: 10px !important;
    font-weight: 800 !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    border: 1px solid #c8e6c9 !important;
}
/* 4. TESTO DELLA RECENSIONE (Content Block) */
#lgcomment .content-block.comment {
    border: 1px solid #dfdada !important;
    border-radius: 13px !important;
    margin-top: 10px !important;
    padding: 10px !important;
    color: #444 !important;
    line-height: 1.6 !important;
    font-style: normal !important;
}
/* 5. DATA E NOME (Nick) */
#lgcomment .info-block .nick span {
    font-weight: 600 !important;
    color: #333 !important;
}
#lgcomment .info-block .date {
    font-size: 12px !important;
    color: #999 !important;
}
/* 6. RISPOSTA DEL VENDITORE (Answer) */
#lgcomment .answer {
    background-color: #f8f9fa !important;
    border-radius: 10px !important;
    padding: 15px !important;
    margin-top: 15px !important;
    border-left: 4px solid #2c5ba3 !important;
    font-size: 14px !important;
}
/* FIX PER MOBILE */
@media (max-width: 767px) {
    #lgcomment .productComment.row::before {
        position: static !important;
        display: inline-block !important;
        margin-bottom: 10px !important;
    }
    #lgcomment .productComment.row {
        padding: 15px !important;
    }
}
/* Centratura Tab Moderni solo su Mobile */
@media (max-width: 767px) {
    /* 1. Forza il contenitore a incolonnare gli elementi al centro */
    #product .nav-tabs {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        border: none !important;
        gap: 12px !important; /* Spazio verticale tra i pulsanti */
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
    }
    /* 2. Rendi ogni pulsante tab della stessa larghezza per simmetria */
    #product .nav-tabs .nav-item {
        width: 85% !important; /* Larghezza quasi piena per un tocco più moderno */
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }
    #product .nav-tabs .nav-link {
        width: 100% !important; /* Occupa tutto lo spazio del nav-item */
        text-align: center !important;
        padding: 12px 20px !important;
        display: block !important;
        font-size: 14px !important;
    }
    /* 3. Assicura che il contenuto delle tab sia centrato o ben spaziato */
    .tab-content {
        padding: 20px 15px !important;
        text-align: left !important; /* Il testo della descrizione meglio lasciarlo a sinistra per leggibilità */
    }
}
@media (max-width: 767px) {
    /* Rimpiccioliamo il pulsante recensioni su mobile */
    .lgcomment_button.btn.btn-primary {
        width: auto !important;           /* Impedisce di occupare tutto lo schermo */
        max-width: 280px !important;      /* Limita la larghezza massima */
        min-width: 200px !important;      /* Garantisce una dimensione minima leggibile */
        padding: 8px 15px !important;     /* Riduce lo spazio interno (sopra/sotto e lati) */
        font-size: 13px !important;       /* Testo leggermente più piccolo */
        margin: 15px auto !important;     /* Lo mantiene centrato con spazio intorno */
        white-space: nowrap !important;   /* Impedisce al testo di andare a capo su due righe */
        display: flex !important;
    }
    /* Piccola correzione all'icona della matita se presente */
    .lgcomment_button.btn.btn-primary i {
        font-size: 12px !important;
        margin-right: 5px !important;
    }
}
/* Applica margine interno solo su Mobile e solo nella Scheda Prodotto */
/* FORZA LO STACCO DAI BORDI SU MOBILE NELLA SCHEDA PRODOTTO */
@media (max-width: 767px) {
    /* Colpiamo il body con ID product per essere certi di stare nella scheda prodotto */
    body#product #wrapper, 
    body#product #main,
    body#product .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        max-width: 100vw !important; /* Impedisce lo scroll laterale */
        box-sizing: border-box !important;
    }
    /* Sistemiamo anche il blocco delle tab e recensioni che spesso hanno margini negativi */
    #product .tabs, 
    #product .tab-content, 
    #product #lgcomment {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
}
/* SISTEMAZIONE PRODOTTI VISTI (VIEWED PRODUCTS) */
@media (max-width: 767px) {
    /* 1. Rendiamo il contenitore uno slider orizzontale a scorrimento */
    .ph-viewed-products .products.row {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important; /* Scorrimento fluido su iPhone */
        scroll-snap-type: x mandatory !important;
        gap: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-bottom: 15px !important; /* Spazio per l'eventuale barra di scorrimento */
    }
    /* 2. Definiamo la dimensione di ogni miniatura nello slider */
    .product-miniature-viewed {
        flex: 0 0 45% !important; /* Mostra quasi 2 prodotti e mezzo per riga */
        max-width: 45% !important;
        scroll-snap-align: start !important;
        border: 1px solid #eee !important;
        border-radius: 10px !important;
        background: #fff !important;
        padding: 5px !important;
    }
    /* 3. Nascondiamo la barra di scorrimento brutta (opzionale) */
    .ph-viewed-products .products.row::-webkit-scrollbar {
        display: none;
    }
    /* 4. Sistemiamo l'immagine per farla stare nel box */
    .thumbnail-container-viewed img {
        width: 100% !important;
        height: auto !important;
        border-radius: 8px !important;
    }
    .viewed_title {
        font-size: 18px !important;
        text-align: center !important;
        margin-bottom: 15px !important;
        font-weight: bold !important;
    }
}
/* DESKTOP: Piccola rifinitura per non farli sembrare giganti */
@media (min-width: 768px) {
    .product-miniature-viewed {
        width: 20% !important; /* 5 prodotti per riga su PC */
        float: left !important;
        padding: 10px !important;
    }
}
/* RESET SPAZI FOOTER SOLO SU MOBILE */
@media (max-width: 767px) {
    #main .page-footer {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Rimuove eventuali margini extra dell'ultimo blocco prima del footer */
    #content-wrapper {
        margin-bottom: 0 !important;
        padding-bottom: 10px !important; /* Un minimo di respiro ma senza esagerare */
    }
}
/* RESET PADDING MENU VERTICALE SOLO MOBILE E SOLO PAGINA PRODOTTO */
@media (max-width: 767px) {
    body#product .tvcmsvertical-menu {
        padding: 0 !important;
        background: transparent !important; /* Rimuove lo sfondo grigio */
        border: none !important;           /* Rimuove eventuali bordi residui */
    }
    /* Se vuoi togliere il padding anche al contenitore interno */
    body#product .tvcmsvertical-menu .tvcmsvertical-menu-wrapper {
        padding: 0 !important;
        margin: 0 !important;
    }
}
/* CENTRATURA ICONE SOCIAL - SOLO MOBILE */
@media (max-width: 767px) {
    /* 1. Forza il contenitore principale al centro */
    .tvfooter-social-container-custom {
        display: flex !important;
        justify-content: center !important; /* Sposta da destra al centro */
        width: 100% !important;
        float: none !important;
        margin-top: 10px !important;
        margin-bottom: 15px !important;
    }
    /* 2. Allinea le icone orizzontalmente al centro */
    .tvfooter-social-wrapper {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 15px !important; /* Spazio tra le icone */
        width: 100% !important;
    }
    /* 3. Assicura che i singoli link non abbiano margini che spostano l'allineamento */
    .tvfooter-social-wrapper .tvfooter-social-wrapper-list {
        display: inline-block !important;
        margin: 0 !important;
    }
}
/* CAROSELLO CSS ADATTIVO (DESKTOP) PER PRODOTTI VISTI */
/* CAROSELLO DESKTOP PULITO E ACCESSIBILE */
@media (min-width: 768px) {
    .ph-viewed-products .products.row {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important; 
        scroll-behavior: smooth !important;
        scroll-snap-type: x mandatory !important;
        gap: 20px !important;
        padding: 10px 0 15px 0 !important;
		/* Rimuoviamo l'icona della doppia freccia */
        cursor: default !important; 
    }
    /* Creiamo una barra di scorrimento "minimal" quasi invisibile */
    .ph-viewed-products .products.row::-webkit-scrollbar {
        height: 5px !important; /* Molto sottile */
        display: block !important; /* La rendiamo visibile per chi deve usarla */
    }
    .ph-viewed-products .products.row::-webkit-scrollbar-track {
        background: #f1f1f1 !important;
        border-radius: 10px !important;
    }
    .ph-viewed-products .products.row::-webkit-scrollbar-thumb {
        background: #d1d1d1 !important; /* Colore grigio chiaro discreto */
        border-radius: 10px !important;
    }
    .ph-viewed-products .products.row::-webkit-scrollbar-thumb:hover {
        background: #2c5ba3 !important; /* Diventa blu quando ci passi sopra */
    }
    .product-miniature-viewed {
        flex: 0 0 23% !important; 
        max-width: 23% !important;
        scroll-snap-align: start !important;
    }
}
/* COMPATTARE LA DESCRIZIONE PRODOTTO */
/* --- COMPATTARE E RIFINIRE LA DESCRIZIONE PRODOTTO --- */
/* 1. Reset degli spazi e dei blocchi generati dal gestionale */
#tab-content .product-description, 
#tab-content .product-description p, 
#tab-content .product-description span,
#tab-content .product-description div {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: block !important;
}
/* 3. Riduzione del padding del contenitore Tab (visto negli screen) */
.tvproduct-description-tab #tab-content {
    padding: 10px !important;
}
/* 4. Distacco dai bordi laterali (Padding interno) */
#tab-content .product-description {
    padding-left: 18px !important;  /* Distanza dal bordo sinistro */
    padding-right: 15px !important; /* Distanza dal bordo destro */
    text-align: left !important;    /* Allineamento base a sinistra */
}
/* 5. Centratura del titolo "ORIGINALE ASUS" */
#tab-content .product-description b span, 
#tab-content .product-description strong span {
    display: block !important;
    text-align: center !important;
    width: 100%;
    margin-bottom: 15px !important; /* Spazio sotto il titolo rosso */
    font-size: 1.1rem;
}
/* 6. Gestione interlinea e margini paragrafi per leggibilità */
#tab-content .product-description p {
    margin-bottom: 4px !important; /* Leggero distacco tra le righe di testo */
    line-height: 1.5 !important;   /* Interlinea naturale per mobile */
}
/* 7. Evidenza per i titoli delle sezioni (Colore, Materiale, Adatta per) */
#tab-content .product-description b {
    margin-top: 10px !important;
    display: inline-block !important;
}
/* --- CORREZIONE ALLINEAMENTO TESTO DESCRIZIONE --- */
/* 1. Manteniamo 'b' e 'span' sulla stessa riga (inline) */
#tab-content .product-description b, 
#tab-content .product-description span {
    display: inline !important; /* Cambiato da block a inline */
    margin: 0 !important;
    padding: 0 !important;
}
/* 2. Forza il titolo "ORIGINALE ASUS" ad essere l'unico centrato e a riga intera */
#tab-content .product-description p:has(span[style*="color: #FF0000"]),
#tab-content .product-description p b span {
    display: block !important;
    text-align: center !important;
    width: 100%;
    margin-bottom: 10px !important;
}
/* 3. Assicuriamoci che i paragrafi siano i contenitori che vanno a capo */
#tab-content .product-description p {
    display: block !important;
    margin-bottom: 4px !important;
    line-height: 1.5 !important;
    text-align: left !important;
}
/* 4. Rimuovi gli spazi bianchi inutili (&nbsp;) all'inizio */
#tab-content .product-description p:first-child,
#tab-content .product-description p:nth-child(2) {
    display: none !important;
}
/*CARRELLLO MOBILE FIX*/
/* UNIFORMAZIONE TOTALE: FIRST, LAST E PRODOTTI INTERMEDI */
@media (max-width: 767px) {
    /* Colpisce tutte le possibili classi dei prodotti nel carrello */
    #checkout #opc_main #opr_cart .media-list li.media,
    #checkout #opc_main #opr_cart .media-list li.media.first,
    #checkout #opc_main #opr_cart .media-list li.media.last {
        display: flex !important;
        flex-direction: column !important; /* Immagine sopra i testi */
        align-items: center !important;
        text-align: center !important;
        gap: 0 !important;             /* Risolve il gap di 30px della riga 21 */
        padding: 10px 0 !important;
        margin: 0 !important;
        width: 100% !important;
        border-bottom: 1px solid #eee !important;
    }
    /* Azzeramento Gutter Bootstrap per guadagnare spazio laterale */
    .opc-bootstrap-533 .row {
        --bs-gutter-x: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    /* Assicura che i dettagli di ogni prodotto siano centrati */
    .media-list li.media .media-product-detail {
        display: inline-flex;
        flex-direction: column;
        align-items: start;
        padding: 0 !important;
        width: 100% !important;
    }
    /* Sistema il tasto Rimuovere per ogni elemento della lista */
    .media-list li.media .remove-from-cart {
        position: relative !important;
        top: 0 !important;
        right: 0 !important;
        display: inline-block !important;       
    }
}
/* Uniforma i pulsanti del pop-up carrello allo stile giallo */
.cart-content-btn .btn {
    background-color: #ffbc00 !important; /* Il giallo del primo screen */
    color: #000000 !important;           /* Testo nero */
    border-radius: 50px !important;      /* Forma arrotondata */
    font-weight: bold !important;        /* Testo in grassetto */
    text-transform: uppercase !important;/* Tutto maiuscolo */
    border: none !important;
    transition: all 0.3s ease;
}
/* Effetto Hover (quando passi il mouse) */
.cart-content-btn .btn:hover {
    background-color: #e5a900 !important; /* Un giallo leggermente più scuro */
    color: #000000 !important;
    box-shadow: 0px 4px 8px rgba(0,0,0,0.2);
}
/* UNIFORMAZIONE FINALE COSTRUTTIVA PER TUTTI I PRODOTTI */
/* FORZATURA DEFINITIVA PER MEDIA FIRST */
@media (max-width: 767px) {
    /* Usiamo l'ID del contenitore padre per battere override.css */
    #cart-summary-product-list .media-list li.media.first,
    #checkout #opc_main #opr_cart .media-list li.media.first {
        display: flex !important;         /* Vince su override.css:26 */
        flex-direction: column !important;
        align-items: center !important;
        /*text-align: center !important;*/
        margin: 0 !important;              /* Azzera i 15px di margin-bottom */
        padding: 5px 0 !important;
        gap: 0 !important;                 /* Azzera i 30px di gap della riga 21 */
        width: 100% !important;
        min-height: auto !important;
    }
    /* Ripetiamo per sicurezza anche gli altri per tenerli allineati */
    #cart-summary-product-list .media-list li.media,
    #cart-summary-product-list .media-list li.media.last {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 5px 0 !important;
        gap: 0 !important;
        width: 100% !important;
    }
    /* Forza la sparizione del gutter laterale per guadagnare spazio */
    .opc-bootstrap-533 .row {
        --bs-gutter-x: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* FORZATURA ORIZZONTALE QUANTITÀ E PREZZO - MOBILE */
@media (max-width: 767px) {
    /* Usiamo una combinazione di ID e classi per avere la massima priorità */
    #checkout #cart-summary-product-list .media-list li.media .media-quantity-price,
    #checkout #cart-summary-product-list .media-list li.media.first .media-quantity-price,
    #checkout #cart-summary-product-list .media-list li.media.last .media-quantity-price {
        display: flex !important;
        flex-direction: row !important;    /* Vince su checkout.css:21 */
        align-items: center !important;    /* Allinea verticalmente selettore e prezzo */
        justify-content: flex-end !important;
        gap: 15px !important;              /* Spazio tra i due elementi */
        width: 100% !important;
    }
    /* Assicuriamoci che i singoli componenti non vadano a capo */
    .media-quantity-price > div, 
    .media-quantity-price > span {
        display: inline-block !important;
        white-space: nowrap !important;
    }
}
/* UNIFORMAZIONE PULSANTE GIALLO (FORMA E COLORI) */
/* FORZATURA DEFINITIVA PULSANTE CONTINUA SHOPPING (SCREEN 1 STYLE) */
#main .cart-grid-body .continue-shopping a.label.tvall-inner-btn,
#main a.label.tvall-inner-btn.label {
    background-color: #ffc107 !important; /* Giallo Screen 1 */
    background: #ffc107 !important;
    color: #1a1a1b !important;            /* Forza testo scuro */
    border-radius: 50px !important;       /* Forma a pillola */
    padding: 12px 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    border: none !important;
    position: relative !important;
    z-index: 1 !important;
    /* Transizioni e ombre dello Screen 1 */
    transition: background-color .25s ease, box-shadow .25s ease, transform .2s ease !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.11), 0 1px 3px rgba(0,0,0,0.08) !important;
}
/* ELIMINA LO STRATO BLU (PSEUDO-ELEMENTI RIGA 5386) */
#main a.label.tvall-inner-btn::before, 
#main a.label.tvall-inner-btn::after {
    display: none !important;             /* Spegne il rettangolo blu del tema */
    content: none !important;
}
/* EFFETTO HOVER: GIALLO SCURO + OMBRA */
#main a.label.tvall-inner-btn:hover {
    background-color: #e5ac00 !important; /* Giallo più scuro */
    color: #000000 !important;
    box-shadow: 0 7px 14px rgba(0,0,0,0.18), 0 3px 6px rgba(0,0,0,0.15) !important;
    transform: translateY(-1px) !important;
}
/* FORZA IL TESTO E L'ICONA INTERNA (IMPEDISCE IL BLU DEL TEMA) */
#main a.label.tvall-inner-btn span,
#main a.label.tvall-inner-btn i {
    color: #1a1a1b !important;            /* Colore testo scuro obbligatorio */
    background: transparent !important;
    text-decoration: none !important;
}
/*FIX RECENSIONI */
/* Nasconde i pulsanti Mostra di più / Mostra di meno */
#more_less, 
#displayMore, 
#displayLess {
    display: none !important;
}
/* --- RESET E UNIFORMITÀ PULSANTE ESCI --- */
/* Applichiamo il reset al contenitore principale nel footer */
#main .page-footer .text-sm-center {
    display: block !important;          /* Disabilita inline-flex del tema */
    text-align: center !important;      /* Centra il contenuto testuale/inline */
    width: 100% !important;
    clear: both !important;             /* Rimuove interferenze da float */
    float: none !important;
    margin: 20px auto !important;
    padding: 10px 0 !important;
}
/* Assicuriamoci che il pulsante si comporti come un elemento centrabile */
#main .page-footer a.tvall-inner-btn {
    display: inline-flex !important;    /* Mantiene icona e testo allineati */
    margin: 10px !important;          /* Centratura orizzontale */
    float: none !important;
    position: relative !important;
}
/* --- 2. IL PULSANTE (Stato Normale) --- */
#main .page-footer a.tvall-inner-btn {
    position: relative !important; /* Necessario per controllare l'after */
    background-color: #ffcc00 !important; /* Giallo screen 1 */
    color: #000000 !important;
    border-radius: 30px !important;
    padding: 12px 35px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.15) !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important; /* Taglia l'effetto del tema se esce dai bordi */
}
/* --- 3. VINCERE LA REGOLA :AFTER --- */
/* Disattiviamo completamente l'effetto bianco/trasparente del tema*/
#main .page-footer a.tvall-inner-btn:after {
    display: none !important;
    content: none !important;
    height: 0 !important;
    visibility: hidden !important;
}
/* --- 4. HOVER REALE (Giallo Scuro) --- */
/* Ora che l'after è rimosso, il colore di sfondo può finalmente cambiare */
#main .page-footer a.tvall-inner-btn:hover {
    background-color: #e6c600 !important; /* Giallo più scuro */
    color: #000000 !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.25) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}
/* Fix Icona */
#main .page-footer a.tvall-inner-btn i {
    color: #000000 !important;
    margin-right: 8px !important;
}
/* --- DISTANZIAMENTO BORDI SOLO MOBILE --- */
@media (max-width: 767px) {
    /* Applica padding ai contenitori principali della pagina account */
    body#my-account #wrapper, 
    body#my-account #main,
    body#my-account .page-content,
    body#my-account .page-footer {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: auto !important; /* Impedisce che il padding sballi la larghezza */
    }
}
/* --- BOX STORICO ORDINI TARGET #HISTORY --- */
@media (max-width: 767px) {
    /* Trasforma ogni ordine in un box bianco isolato */
    #history .orders .order {
        background: #ffffff !important;
        border: 1px solid #e0e0e0 !important; /* Bordo sottile */
        border-radius: 15px !important;       /* Raggio elegante */
        padding: 15px !important;
        margin-bottom: 20px !important;       /* Spazio tra i box */
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important; /* Ombra morbida */
        display: block !important;
    }
    /* Gestione della riga interna */
    #history .orders .order .row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
    }
    /* Riferimento Ordine (Grassetto e Colore) */
    #history .orders .order h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin-bottom: 8px !important;
    }
    /* Data e Totale */
    #history .orders .order .date, 
    #history .orders .order .total {
        font-size: 14px !important;
        color: #777 !important;
        display: block !important;
    }
    /* Stato dell'ordine (Pillola) */
    #history .orders .order .label {
        display: inline-block !important;
        padding: 4px 12px !important;
        border-radius: 20px !important;
        font-size: 12px !important;
        margin-top: 10px !important;
        text-transform: uppercase !important;
    }
    /* 2. SISTEMA ICONE AZIONE (Dettagli / Riordina) */
    #history .orders .order .col-xs-2.text-xs-right {
        border-left: 1px solid #f0f0f0 !important;
        padding-left: 15px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important; /* Spazio verticale tra le icone */
    }
    /* Ingrandiamo leggermente le icone per il touch */
    #history .orders .order .col-xs-2.text-xs-right i {
        font-size: 22px !important;
        color: #444 !important;
    }
}
/* --- PADDING LATERALE PAGINA #HISTORY --- */
@media (max-width: 767px) {
    #history #wrapper #content, 
    #history .page-content {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
   /* Rimuoviamo margini negativi delle row che annullano il padding */
    #history .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* --- STILE PAGINE CMS (CHI SIAMO, ECC.) --- */
/* 1. Titolo Principale */
.cms-block h1.page-heading, 
#cms section#content h1 {
    font-weight: 700 !important;
    color: #222 !important;
    text-align: center !important;
    margin-bottom: 25px !important;
    text-transform: uppercase;
}
/* 2. Trasformazione dei blocchi in Card */
@media (max-width: 767px) {
    /* Padding di sicurezza per tutta la pagina CMS */
    #cms #content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    /* Rendiamo ogni colonna una card staccata */
    #cms .row .col-xs-12 {
        background: #ffffff !important;
        border: 1px solid #eee !important;
        border-radius: 12px !important;
        padding: 20px !important;
        margin-bottom: 25px !important; /* Spazio tra un blocco e l'altro */
        box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
    }
    /* Pulizia dei font e giustificazione testo */
    #cms .cms-block p, 
    #cms .cms-box p, 
    #cms .MsoNormal {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #555 !important;
        text-align: left !important;
        margin-bottom: 15px !important;
    }
    /* Immagini dentro i CMS */
    #cms img {
        border-radius: 8px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }
    /* Titoli interni (H2, H3) */
    #cms h2, #cms h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin-top: 10px !important;
    }
}
/* --- MIGLIORAMENTO LINK NEI TESTI --- */
#cms a {
    /* color: #355e9e; Blu come il pulsante cancel */
    font-weight: 600;
    /*text-decoration: underline;*/
}
/* --- OTTIMIZZAZIONE TITOLI H1 CMS --- */
/* Misura per Desktop */
#cms h1.page-heading, 
.cms-description h1 {
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    color: #222 !important;
    text-transform: uppercase;
}
/* Misura per Mobile (Smartphone) */
@media (max-width: 767px) {
    #cms h1.page-heading, 
    .cms-description h1 {
        font-size: 26px !important; /* Misura bilanciata per mobile */
        margin-top: 10px !important;
        margin-bottom: 15px !important;
        text-align: center !important;
    }
    /* Rimpiccioliamo anche l'H2 (es. 10000informatica.it) */
    #cms h2, 
    .cms-description h2 {
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #555 !important;
        text-align: center !important;
    }
}
/* --- STILE LISTE SPEDIZIONI CMS --- */
.shipping-list {
    list-style: none !important;
    padding-left: 0 !important;
}
.shipping-list li {
    padding: 8px 0;
    border-bottom: 1px dashed #eee;
}
.shipping-list li:last-child {
    border-bottom: none;
}
/* Messaggi di avviso nelle card */
.alert-warning {
    background-color: #fff8e1 !important;
    border-left: 5px solid #ffcc00 !important;
    padding: 15px !important;
    margin-top: 15px;
    color: #856404 !important;
}
.text-danger {
    color: #d0121a !important;
    font-weight: 600;
}
/* --- STILE SPECIFICO PRIVACY POLICY --- */
/* Box Titolare */
.owner-box {
    background: #f9f9f9;
    border-left: 4px solid #355e9e;
    padding: 15px;
    margin: 15px 0;
    font-size: 14px;
}
/* Tabelle Responsive (Cookie) */
.table-responsive {
    overflow-x: auto;
    margin-top: 15px;
}
.table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.table th {
    background: #eee;
    padding: 10px;
    text-align: left;
}
.table td {
    padding: 10px;
    border-bottom: 1px solid #eee;
}
/* Lista Browser */
.browser-links {
    background: #f0f0f0;
    padding: 10px;
    text-align: center;
    border-radius: 8px;
    margin-top: 10px;
}
.browser-links a {
    margin: 0 5px;
    font-weight: bold;
    text-decoration: none;
}
/* Liste puntate nella policy */
.policy-list {
    list-style: none !important;
    padding-left: 0 !important;
}
.policy-list li {
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}
.policy-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #355e9e;
    font-weight: bold;
}
/* --- STILE TERMINI E CONDIZIONI --- */
/* Lista numerata dei termini */
.terms-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px;
}
.terms-list li {
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.5;
    padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}
.terms-list li:last-child {
    border-bottom: none;
}
/* Card Contatti finale */
.contact-card {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    padding: 15px;
    border-radius: 8px;
    margin-top: 20px;
    text-align: center;
}
.contact-card a {
    color: #355e9e;
    font-weight: bold;
}
/* --- STILE PAGINA PAGAMENTI --- */
.payment-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 10px;
}
.payment-list li {
    padding: 5px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
}
.payment-list li:last-child {
    border-bottom: none;
}
.alert-info {
    background-color: #e3f2fd !important;
    border-left: 5px solid #2196f3 !important;
    padding: 10px !important;
    color: #0d47a1 !important;
    margin-top: 10px;
}
.qr-contact img {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 5px;
    background: #fff;
}
h3 i.fa-brands {
    vertical-align: middle;
    margin-right: 10px;
    color: #003087; /* Il blu ufficiale di PayPal, se vuoi evidenziarlo */
}
/* Stile icone nei titoli Garanzia */
h3 i.fa-solid, h3 i.fa-user-shield, h3 i.fa-briefcase, h3 i.fa-microchip {
    margin-right: 10px;
    color: #355e9e;
    vertical-align: middle;
}
/* Tabella Garanzia */
.table {
    width: 100%;
    margin: 15px 0;
    border: 1px solid #eee;
}
.table th {
    background: #f8f9fa;
    padding: 10px;
    font-size: 14px;
}
.table td {
    padding: 10px;
    border-top: 1px solid #eee;
    font-size: 14px;
}
/* Alert per email */
.alert-info {
   background-color: #fce8e6 !important;
   border: 1px dashed #f28b82 !important;
   color: #a50e0e !important;
   padding: 15px !important;
   margin-bottom: 0px !important;
   border-radius: 5px;
}
/* Correzione padding globale per i box informativi su mobile */
@media (max-width: 767px) {
    .cms-box, .cms-block, .alert-info, .highlight-box {
        padding: 15px !important; /* Riduce il padding eccessivo che ruba spazio al testo */
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    /* Fix specifico per gli elenchi puntati che finiscono fuori bordo */
    .policy-list, .payment-list, .terms-list {
        padding-left: 20px !important; /* Spazio minimo per i pallini/numeri */
        margin-right: 0 !important;
    } 
    .policy-list li, .payment-list li {
        word-wrap: break-word; /* Forza il testo lungo ad andare a capo */
    }
}
h3 i.fa-paypal, h3 i.fa-stripe, h3 i.fa-brands {
    font-size: 28px !important;
    vertical-align: middle !important;
    display: inline-block !important;
    margin-bottom: 5px;
}
@media (max-width: 767px) {
    .alert-info {
        padding: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        word-wrap: break-word !important; /* Forces email addresses to wrap */
        display: block !important;
    }
}
@media (max-width: 767px) {
    /* Riduce la dimensione dei titoli h3 per farli stare su una riga */
    .cms-description h3, 
    .page-content h3, 
    h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }
    /* Assicura che il testo non abbia margini laterali eccessivi */
    .cms-block p, 
    .cms-box p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}
/* Centra l'immagine QR e il testo descrittivo nel blocco WhatsApp */
/* Centratura totale blocco WhatsApp */
#cms .qr-contact {
    display: block !important;
    text-align: center !important; /* Forza la centratura di img e testo */
    width: 100% !important;
    margin: 20px auto !important;
    clear: both;
}
/* Centratura immagine QR */
#cms .qr-contact img {
    display: block !important;
    margin: 0 auto 10px auto !important; /* Margini auto per centrare il blocco immagine */
    max-width: 150px !important;
}
/* Centratura testo descrittivo */
#cms .qr-contact p {
    display: block !important;
    text-align: center !important; /* Forza il testo al centro */
    width: 100% !important;
    margin: 0 auto !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}
/* Stile specifico per le immagini dei servizi */
.img-service {
    display: inline-block !important;
    margin: 15px auto !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 5px;
}
/* Ottimizzazione titoli servizi su mobile */
@media (max-width: 767px) {
    #cms h3 i.fa-laptop-medical, 
    #cms h3 i.fa-microchip, 
    #cms h3 i.fa-gears {
        color: #355e9e; /* Blu aziendale per le icone servizi */
        margin-right: 8px;
    }
    .img-service {
        max-height: 120px; /* Evita che le immagini occupino troppo spazio verticale */
    }
}
@media (max-width: 767px) {
    /* Il tuo fix per i titoli h3 a 16px */
    #cms h3 {
        font-size: 16px !important;
        white-space: normal !important; /* Permette il ritorno a capo solo se necessario */
        line-height: 1.4 !important;
    }
    /* Rende il pulsante di registrazione responsive */
    #cms .btn-primary {
        white-space: normal !important;
        width: 100% !important;
        font-weight: bold;
        padding: 10px;
        display: block;
    }
	/* Centra il modulo GFormBuilder */
    .form-container {
        width: 100% !important;
        overflow-x: hidden;
    }
}
@media (max-width: 767px) {
    /* Assicura che il modulo non esca dai bordi del telefono */
    .form-container {
        width: 100% !important;
        padding: 0 !important;
        overflow-x: hidden !important;
    }
    /* Centra le icone e i titoli per coerenza con le altre pagine */
    #cms .highlight-box h3 {
        font-size: 16px !important; /* Il tuo fix preferito */
        text-align: center !important;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }
    /* Ottimizzazione del testo dell'alert finale */
    .alert-info {
        font-size: 14px !important;
        line-height: 1.4 !important;
        word-wrap: break-word !important;
    }
}
@media (max-width: 767px) {
    /* Il tuo fix per non far andare h3 a capo */
    #cms h3 {
        font-size: 16px !important;
        text-align: center !important;
        margin-bottom: 15px !important;
    }
 /* Rimuove i bordi del tag 'pre' o 'code' se rimasti nel database */
    #cms pre, #cms code {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        font-family: inherit !important;
    }
    /* Centra e pulisce il contenitore del modulo */
    .form-container {
        width: 100% !important;
        margin: 0 auto !important;
        overflow: hidden !important;
    }
    /* Ottimizzazione icone */
    .fa-truck-ramp-box, .fa-circle-check {
        color: #355e9e;
        margin-right: 8px;
    }
}
/* Uniforma il pulsante CTA Registrazione (Giallo con ombra) */
/* Pulsante CTA Registrazione Uniformato (Giallo Pillola) */
#cms .btn-primary {
    background-color: #ffcc00 !important; /* Giallo CTA standard */
    color: #000000 !important; /* Testo sempre nero per leggibilità */
    border: none !important;
    border-radius: 33px !important; /* Arrotondamento richiesto */
    padding: 12px 30px !important; /* Leggermente più largo per bilanciare le curve */
    font-weight: bold !important;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2) !important;
    display: inline-block;
    cursor: pointer;
}
/* Stato Hover del pulsante */
#cms .btn-primary:hover {
    background-color: #e6b800 !important; /* Giallo più intenso/scuro */
    color: #000000 !important;
    box-shadow: 0 6px 12px rgba(0,0,0,0.3) !important;
    transform: translateY(-2px); /* Effetto sollevamento */
    text-decoration: none !important;
}
/* Adattamento per Mobile */
@media (max-width: 767px) {
    #cms .btn-primary {
        width: 100% !important; /* Occupa tutta la larghezza */
        display: block !important;
        font-size: 14px !important;
        padding: 15px 10px !important;
    }
}
#cms .btn-primary {
    margin-bottom: 25px !important; /* Spazio standard dopo ogni pulsante giallo */
}
/* Fix per box alert-info su Desktop e Mobile */
#cms .alert.alert-info {
    padding: 15px 20px !important; /* Aggiunge spazio tra il testo e i bordi del box */
    margin: 20px 0 !important;     /* Distanzia il box dagli altri elementi (titoli/paragrafi) */
    line-height: 1.6 !important;   /* Aumenta l'interlinea per non far sembrare le righe attaccate */
    display: block !important;
    border-radius: 5px;            /* Arrotonda leggermente gli angoli per uniformità */
}
/* Spaziatura specifica per il testo in grassetto dentro l'alert */
#cms .alert.alert-info strong {
    margin: 0 3px !important;      /* Evita che le parole in grassetto siano troppo attaccate alle altre */
}
/* Uniforma i titoli H1 principali delle pagine CMS su Desktop */
#cms h1.page-heading, 
.page-content.page-cms h1 {
    font-size: 32px !important;    /* Riduce la dimensione da 4em a un valore più armonioso */
    text-align: center !important; /* Centra il titolo nella pagina */
    margin-top: 20px !important;
    margin-bottom: 30px !important;
    font-weight: 700 !important;
    color: #333 !important;
    width: 100% !important;
    display: block !important;
    text-transform: uppercase;     /* Rende il titolo più autorevole */
}
/* Fix per Mobile: assicura che non siano troppo grandi su smartphone */
@media (max-width: 767px) {
    #cms h1.page-heading, 
    .page-content.page-cms h1 {
        font-size: 24px !important; /* Dimensione ridotta per schermi piccoli */
        line-height: 1.2 !important;
    }
}
/* Ridimensionamento e centratura H2 e H3 su Desktop per CMS */
@media (min-width: 768px) {
    #cms h2, 
    .page-content.page-cms h2 {
        font-size: 26px !important;    /* H2 leggermente più piccolo dell'H1 (32px) */
        text-align: center !important;
        margin: 30px 0 20px 0 !important;
        font-weight: 700 !important;
        text-transform: uppercase;
    }
    #cms h3, 
    .page-content.page-cms h3 {
        font-size: 20px !important;    /* H3 ancora più compatto per i blocchi interni */
        text-align: center !important;
        margin: 20px 0 15px 0 !important;
        font-weight: 600 !important;
    }
}
/* --- FIX DUPLICATI CROSS-SELLING --- */
/* Impedisce al JS di mostrare blocchi che non devono esistere nel cross-selling */
.tvcross-selling-product .tv-view:not(.tv-view-grid) {
    display: none !important;
}
/* Centra i pulsanti e le info nella griglia del carousel */
.tvcross-selling-product .tv-view-grid {
    display: block !important;
    width: 100% !important;
}
/* Fix per le immagini nel carousel */
.tvcross-selling-product .thumbnail-container img {
    width: 100%;
    height: auto;
}
/* --- NOTIFICA AL CENTRO --- */
#notifications .container {
    display: flex;
    justify-content: center;
}
/* Media query per schermi Desktop (solitamente dai 992px in su) */
@media (min-width: 992px) {
    .product-add-to-cart .buttons-column {
        align-items: stretch !important; /* Oppure 'flex-start' se vuoi l'allineamento a sinistra */
    }
}
/* --- wishlist --- */
/* ========================================================= 
   DESIGN WISHLIST (Sotto il Prezzo)
   ========================================================= */
/* 1. Il contenitore principale dell'hook */
.wishlist-section-new {
    display: inline-flex !important; /* Lo tiene sulla stessa riga se necessario */
    align-items: center;
    margin-left: 35px; /* Lo distanzia dal prezzo */
    min-height: 30px;
    visibility: visible !important;
    opacity: 1 !important;
}
/* 2. Il pulsante generato dal modulo ThemeVolty */
.wishlist-section-new .tvwishlist-btn, 
.wishlist-section-new .tvwishlist-add, 
.wishlist-section-new .btn-wishlist {
    background: transparent !important;
    border: none !important;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    text-decoration: none !important;
    transition: transform 0.2s ease;
}
/* 3. L'icona del Cuore */
.wishlist-section-new i.material-icons {
    font-size: 24px !important; /* Dimensione leggibile vicino al prezzo */
    color: #444 !important;    /* Grigio scuro di base */
    transition: color 0.2s ease;
}
/* 4. Effetto HOVER (Rosso come il bottone) */
.wishlist-section-new a:hover i, 
.wishlist-section-new button:hover i,
.wishlist-section-new i.material-icons:hover {
    color: #e74c3c !important; /* Rosso Desiderio */
    transform: scale(1.15);    /* Leggero ingrandimento */
}
/* 5. Stato "Già aggiunto" (se il modulo aggiunge classi di stato) */
.wishlist-section-new .checked i,
.wishlist-section-new .active i {
    color: #e74c3c !important;
}
/* FIX CROSS-SELLING */
/* IMITA LAYOUT HOMEPAGE PER CROSS-SELLING MOBILE - VERSION INFO IN BASSO */
@media (max-width: 767px) {
    /* 1. Forza la card a comportarsi come quella della Homepage */
    .tvcross-selling-product .tvproduct-wrapper.grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        /*padding: 10px !important;*/
        background: #fff !important;
        
        position: relative !important;
        min-height: 350px !important; 
        height: auto !important;
        /* AGGIUNTA: Riserva lo spazio per non far sovrapporre il titolo al prezzo 
        padding-bottom: 5px !important; */
    }

    /* 2. Immagine: stabile */
    .tvcross-selling-product .tvproduct-image {
        position: relative !important;
        height: 140px !important;
        width: 100% !important;
        display: block !important;
        /*margin-bottom: 10px !important;*/
        min-height: 0 !important;
    }

    /* 3. PULSANTI: Altezza fissa per garantire l'allineamento */
    .tvcross-selling-product .tvproduct-hover-btn-wrapper {
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        inset: auto !important;
        
        /* FIX ALLINEAMENTO: Forza un'altezza fissa e margini identici */
        height: 45px !important; 
        margin: 5px 0 5px 0 !important; 
        
        opacity: 1 !important;
        visibility: visible !important;
        gap: 8px !important;
        width: 100% !important;
        transform: none !important;
    }

    /* 4. TITOLO: Forza il ritorno a capo */
    .tvcross-selling-product .tvproduct-name,
    .tvcross-selling-product .product-title {
        font-size: 13px !important;
        white-space: normal !important;
        line-height: 1.2 !important;
        height: auto !important;
        margin: 5px 0 !important;
        display: block !important;
        /*padding: 0 5px !important; */
    }

    /* 5. SISTEMA IL CAROSELLO */
    .tvcross-selling-product .owl-item {
        width: 100vw !important;
    }
    .tvcross-selling-product .owl-stage {
        display: flex !important;
        align-items: flex-start !important;
    }

    /* 6. INFO BLOCCATE IN BASSO (Prezzo + Pillola) */
    .tvcross-selling-product .tvproduct-price-info-wrapper,
    .tvcross-selling-product .product-description-combin {
        position: absolute !important;
        bottom: 10px !important;
        left: 0 !important;
        right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 5px !important;
    }

    .tvcross-selling-product .tv-pill {
        
        display: inline-block !important;
        margin: 0 auto !important;
    }
}

/* BLOCCO RESET SPECIFICO (Usando #product per vincere sul tema) */
@media (max-width: 767px) {
  /*  #product .tvcross-selling-product .tvproduct-wrapper.grid .tvproduct-image {
        height: 140px !important;
        min-height: 145px !important;
        max-height: 145px !important;
    }*/
    #product .tvcross-selling-product .tvproduct-wrapper.grid .tvproduct-hover-btn {
        margin-top: 0 !important;
    }
}

@media (max-width: 991px) {
    #product .tvcross-selling-product .tvproduct-wrapper.grid .tvproduct-hover-btn, 
    #product .tvcross-selling-product .tvproduct-wrapper.grid-2 .tvproduct-hover-btn {
        margin-top: 0 !important;
    }
}
	
/* ALTRI FIX MOBILE */
	/* ORDINA PER*/
@media (max-width: 767px) {
    /* Riduce lo spazio a destra del testo */
    .sort-by.hidden-sm-down {
        display: inline-block !important;
        padding-left: 15px; 
        margin-right: 5px !important; /* Ridotto per lasciare spazio al box */
        width: auto !important;
        float: left;
		font-weight: bold;
    }

    /* Allarga il menu a tendina per occupare il resto della riga */
    .products-sort-order.dropdown {
        display: inline-block !important;
        width: calc(100% - 110px) !important; /* Calcola lo spazio rimanente */
        float: left;
        margin-left: 0 !important;
    }

    /* Assicura che il pulsante interno riempia tutto il suo contenitore */
    .products-sort-order .select-title {
        width: 100% !important;
    }
}
/* MENU CON PADDING CATEGORIA (Mobile) */
/* Solo per MOBILE (fino a 767px) */
@media (max-width: 767px) {
    /* Applica il padding solo alla pagina categoria */
    body#category #left-column, 
    body#category #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
        display: block; /* Assicura che i margini vengano rispettati */
    }

    /* Rimuove eventuali margini negativi ereditati dalle .row 
       che potrebbero annullare il padding */
    body#category .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Solo per MOBILE e solo per PAGINE CMS */
@media (max-width: 767px) {
    /* 1. Forza il padding sui contenitori principali della pagina CMS */
    body#cms .container, 
    body#cms #wrapper, 
    body#cms #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    /* 2. Fondamentale: resetta le "row" che annullano il padding */
    body#cms .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* 3. Assicura che la colonna dei menu (Ricambi, ecc) non abbia margini che la spingono fuori */
    body#cms #left-column {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important; /* Il padding lo prende dal padre sopra */
    }
}

/* Rimuove l'ombra dai banner solo nelle pagine CMS */
body#cms .tvbanner-hover-wrapper {
    box-shadow: none !important;
}
	
/* Solo per MOBILE e solo per i box nelle pagine CMS */
@media (max-width: 767px) {
    /* Rimuove il padding interno che spinge il box fuori dal bordo destro */
    body#cms .cms-box, 
    body#cms .cms-block, 
    body#cms .alert-info, 
    body#cms .highlight-box {
        padding: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}
/* Solo per MOBILE e solo per la pagina SITEMAP */
@media (max-width: 767px) {
    /* Applica il padding ai contenitori principali della Sitemap */
    body#sitemap #wrapper, 
    body#sitemap #content-wrapper,
    body#sitemap #sitemap-tree {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini negativi per evitare che le liste escano dai bordi */
    body#sitemap .row,
    body#sitemap .sitemap-col {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Rende i blocchi della sitemap uniformi (quadrati) come gli altri menu */
    body#sitemap .card, 
    body#sitemap .block {
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}
/* Solo per MOBILE e solo per pagina SITEMAP */
@media (max-width: 767px) {
    /* Annulla il padding predefinito dei contenitori di sistema */
    body#sitemap .container, 
    body#sitemap .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    /* Applica il padding solo al guscio esterno per uniformità */
    body#sitemap #wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
}
/* FORZATURA TOTALE SITEMAP: FONT, COLORI E PADDING */
/* 1. Forza Font, Dimensione 15px e Peso 500 su tutta la Sitemap */
body#sitemap #main ul li a, 
body#sitemap .sitemap-tree a, 
body#sitemap #wrapper a {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;      /* Uguale al Vertical Menu */
    font-weight: 500 !important;      /* Peso Medium scelto */
    color: #333333 !important;        /* Nero pieno del Menu */
    text-decoration: none !important;
    text-transform: none !important;
}

/* 2. Hover Blu uniforme (Annulla il rosso riga 3656) */
body#sitemap #main ul li a:hover, 
body#sitemap #wrapper a:hover {
    color: #355e9e !important;        /* Il tuo Blu istituzionale */
    text-decoration: none !important;
}

/* 3. Allineamento e Spaziatura Mobile */
@media (max-width: 767px) {
    body#sitemap #wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Rende i link leggermente più distanziati per il tocco */
    body#sitemap ul li {
        margin-bottom: 8px !important;
    }
}

/* 3. Mantieni il fix della spaziatura laterale SOLO per Mobile */
@media (max-width: 767px) {
    body#sitemap #wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }
    body#sitemap .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* UNIFORMITÀ GLOBALE SITO: FONT E PESO */

/* FORZATURA TOTALE SITO - UNIFORMITÀ 100% */

/* 1. Forza Roboto, 15px e Peso 500 su ogni link e testo del sito */

html body #wrapper p,
html body #wrapper a, 
html body #wrapper li,
html body #wrapper div {
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;	
}

/* 2. Forza l'Hover Blu su QUALSIASI link, annullando il rosso residuo */
#wrapper .product-description a:hover {
    color: #355e9e !important;
    text-decoration: none !important;
}

/* Eccezione per i Titoli (Base Desktop e Generale) */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .products-section-title {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 700 !important;
}
	
/* =====================================================
   FIX PADDING LATERALE PAGINE SPECIALI – SOLO MOBILE
   ===================================================== */
@media (max-width: 767px) {

  /* ==========================
     PADDING LATERALE 15px
     ========================== */
  body#authentication #wrapper,
  body#authentication #content-wrapper,
  body#authentication .left-column,

  body#guest-tracking #wrapper,
  body#guest-tracking #content-wrapper,

  body#contact #wrapper,
  body#contact #content-wrapper,

  body#manufacturer #wrapper,
  body#manufacturer #content-wrapper,

  body#new-products #wrapper,
  body#new-products #content-wrapper,

  body#best-sales #wrapper,
  body#best-sales #content-wrapper,

  body#cart #wrapper,
  body#cart #content-wrapper,

  body#registration #wrapper,
  body#registration #content-wrapper,

  body#pagenotfound #wrapper,
  body#pagenotfound #content-wrapper,

  body#identity #wrapper,
  body#identity #content-wrapper,

  body#addresses #wrapper,
  body#addresses #content-wrapper,

  body#history #wrapper,
  body#history #content-wrapper,

  body#module-lgcomments-reviews,
  body#module-prestablog-blog {
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  /* ==========================
     RESET MARGINI ROW
     ========================== */
  body#authentication .row,
  body#guest-tracking .row,
  body#contact .row,
  body#manufacturer .row,
  body#new-products .row,
  body#best-sales .row,
  body#cart .row,
  body#registration .row,
  body#pagenotfound .row,
  body#identity .row,
  body#addresses .row,
  body#history .row,
  body#module-lgcomments-reviews .row,
  body#module-prestablog-blog .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   PULSANTE PAGE-FOOTER - STILE GIALLO CARRELLO (UNIFICATO)
   ========================================================= */

#main .page-footer a.tvall-inner-btn {
    background-color: #ffc107 !important;
    background: #ffc107 !important; /* Forza il colore giallo */
    color: #000 !important;         /* Testo Nero */
    border-radius: 999px !important;
    padding: 10px 20px !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    
    /* Transizioni fluide come da tua regola */
    transition: background-color .25s ease, box-shadow .25s ease, transform .2s ease !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Effetto Hover per mantenere la coerenza */
#main .page-footer a.tvall-inner-btn:hover {
    background-color: #e0a800 !important; /* Giallo leggermente più scuro */
    color: #000 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

/* Adattamento Mobile (Full width come nel carrello) */
@media (max-width: 576px) {
    #main .page-footer a.tvall-inner-btn {
        width: 100% !important;
        text-align: center !important;
        display: flex !important;
    }
}

/* FIX PADDING LATERALE PAGINA prices-drop - SOLO MOBILE */
@media (max-width: 767px) {
    /* Applica i 15px di respiro laterale */
    body#prices-drop #wrapper, 
    body#prices-drop #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini per le righe interne */
    body#prices-drop .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* FIX PADDING LATERALE PAGINA module-tvcmswishlist-mywishlist - SOLO MOBILE */
@media (max-width: 767px) {
    /* Applica i 15px di respiro laterale */
    body#module-tvcmswishlist-mywishlist #wrapper, 
    body#module-tvcmswishlist-mywishlist #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini per le righe interne */
    body#module-tvcmswishlist-mywishlist .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* FIX PADDING LATERALE PAGINA module-ps_emailalerts-account - SOLO MOBILE */
@media (max-width: 767px) {
    /* Applica i 15px di respiro laterale */
    body#module-ps_emailalerts-account #wrapper, 
    body#module-ps_emailalerts-account #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini per le righe interne */
    body#module-ps_emailalerts-account .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* FIX PADDING LATERALE PAGINA module-ps_emailalerts-account - SOLO MOBILE */
@media (max-width: 767px) {
    /* Applica i 15px di respiro laterale */
    body#module-lgcomments-accountreviews #wrapper, 
    body#module-lgcomments-accountreviews #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini per le righe interne */
    body#module-lgcomments-accountreviews .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* FIX PADDING LATERALE PAGINA module-ps_emailalerts-account - SOLO MOBILE */
@media (max-width: 767px) {
    /* Applica i 15px di respiro laterale */
    body#module-gdprpro-erasemydata #wrapper, 
    body#module-gdprpro-erasemydata #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini per le righe interne */
    body#module-gdprpro-erasemydata .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* FIX PADDING LATERALE PAGINA module-gdprpro-requestmydata - SOLO MOBILE */
@media (max-width: 767px) {
    /* Applica i 15px di respiro laterale */
    body#module-gdprpro-requestmydata #wrapper, 
    body#module-gdprpro-requestmydata #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini per le righe interne */
    body#module-gdprpro-requestmydata .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
	/* --- PULIZIA DANEA: SOLO NELLA SCHEDA PRODOTTO --- */

/* Mantieni Etichetta e Valore sulla stessa riga (solo scheda prodotto) */
#product .product-description b, 
#product .product-description span {
    display: inline !important; 
    margin: 0 !important;
	
	display: inline-flex !important;  /* Allinea emoji e testo in riga */
    align-items: center !important;   /* Centra verticalmente */
    justify-content: center !important;
    /*white-space: nowrap !important;    Impedisce categoricamente di andare a capo */
    padding: 2px 5px !important;     /* Regola lo spazio interno */
    gap: 5px;                         /* Crea lo spazio perfetto tra emoji e testo */
    vertical-align: middle;
}

/* Forza i titoli Rossi o Centrati (Originali) ad essere blocchi separati */
#product .product-description span[style*="color: #FF0000"],
#product .product-description span[style*="color:#FF0000"],
#product .product-description p[style*="text-align: center"],
#product .product-description p[style*="text-align:center"] {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin: 10px 0 !important;
}

/* Nasconde i buchi bianchi (paragrafi vuoti o br inutili) 
#product .product-description br, */
#product .product-description p:empty {
    display: none !important;
}

/* Padding specifico per la scheda prodotto su Desktop */
@media (min-width: 992px) {
    #product .product-description {
        /*padding: 20px !important;*/
        background: #ffffff;
    }
}

/* --- RESET TIPOGRAFICO TOTALE --- */

/* 1. Base Universale (Valida per tutti) */
body, p, span, li, input, button {
    font-family: 'Roboto', sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

/* 2. Titoli Prodotti nelle Liste/Home */
.product-title a, .h3.product-title a {
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* --- DIFFERENZE PER DISPOSITIVI --- */

/* A. SOLO DESKTOP (Schermi grandi) */
@media (min-width: 992px) {
    .product-title a, .h3.product-title a {
        font-size: 15px !important;
    }
    #product .page-header h1 {
        font-size: 22px !important; /* Grande e d'impatto */
        font-weight: 700 !important;
    }
}

/* B. SOLO MOBILE/TABLET (Schermi piccoli) */
@media (max-width: 991px) {
    /* Riduciamo leggermente i titoli per non occupare troppo spazio */
    .product-title a, .h3.product-title a {
        font-size: 14px !important; 
    }
    
    #product .page-header h1 {
        font-size: 18px !important; /* Più compatto per il piccolo schermo */
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }

    /* Rendiamo i prezzi leggibili ma non giganti */
    .current-price span {
        font-size: 18px !important;
    }
}

/* 3. Forza Grassetto sui Prezzi (Sempre) */
.current-price span, .product-price {
    font-weight: 700 !important;
}
	
/* --- PASSO 2: PULIZIA SPAZI DESCRIZIONE (SOLO SCHEDA PRODOTTO) --- */

/* Elimina i paragrafi vuoti e riduce i margini tra le righe di Danea */
#product .product-description p, 
#product .tvproduct-page-decs p {
    margin-bottom: 2px !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}

/* Nasconde i paragrafi che contengono solo invii a capo (spazi vuoti) */
#product .product-description p:empty,
#product .product-description p br:only-child {
    display: none !important;
}

/* Sistema i testi in grassetto/rosso per non farli sembrare 'appiccicati' */
#product .product-description b, 
#product .product-description strong {
    line-height: 1.6 !important;
}

/* --- RIPRISTINO STRUTTURALE E GRAFICO --- */
/* 1. PULSANTI: Forma Moderna (Arrotondata ma non Ellittica) */
/* Applica una curvatura uniforme a tutti i tasti principali */

.add-to-cart, 
#send_aap_button, 
.btn-primary, 
.btn-secondary, 
.cart-content .btn-primary,
.buy_now_continue {
    border-radius: 25px !important; /* Curvatura bilanciata */
    padding: 12px 25px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
}

/* Fix specifico per l'icona nel tasto Informazioni */
#send_aap_button i {
    margin-right: 10px !important;
    margin-bottom: 0 !important;
    font-size: 18px !important;
}

/* 2. BREADCRUMBS: Logica Desktop su Mobile */
/* Tutti grigi tranne l'ultimo elemento che è Blu e Bold */
.breadcrumb ol li, 
.breadcrumb ol li a, 
.breadcrumb ol li span {
    color: #666 !important;
    font-weight: 500 !important;
    text-transform: none !important;
}
.breadcrumb ol li:last-child, 
.breadcrumb ol li:last-child a, 
.breadcrumb ol li:last-child span {
    color: #355e9e !important;
    font-weight: 700 !important;
}

/* 3. PREZZO E DISPONIBILITÀ (Mobile & Desktop) */
/* Prezzo sempre Blu Logo (NO Rosso) */
#product .current-price span, 
.product-meta-block .product-prices .current-price .price {
    color: #0066cc !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

/* Pillola Disponibilità: Bold e proporzionata */
#product-availability .badge, 
.product-availability .badge {
    font-weight: 700 !important;
    padding: 6px 15px !important;
    border-radius: 4px !important; /* Pillola stock squadrata per distinguersi dai bottoni */
    font-size: 13px !important;
    text-transform: uppercase !important;
}

/* 4. PULIZIA TESTI DANEA (Soluzione definitiva per &nbsp;) */
/* Elimina gli spazi vuoti che creano i "buchi" bianchi */
.tvproduct-page-decs p, 
.product-description p {
    margin-bottom: 5px !important;
}
.tvproduct-page-decs p:empty, 
.tvproduct-page-decs p br {
    display: none !important;
}

/* 5. DISTINZIONE SCHEDA TECNICA */
/* Etichetta Nera, Valore Grigio per scansione rapida */
.product-meta .data-sheet .name, 
.product-features .data-sheet .name {
    color: #000 !important;
    font-weight: 700 !important;
}
.product-meta .data-sheet .value, 
.product-features .data-sheet .value {
    color: #666 !important;
    font-weight: 500 !important;
}


/* ============================================================
   BLOCCO RESTRINGIMENTO CONTENUTI (SOLO MOBILE)
   ============================================================ */
/* ============================================================
   FIX DEFINITIVO PER MOBILE-CONTENT-WRAPPER
   ============================================================ */

@media (max-width: 991px) {
    /* 1. Il contenitore che hai creato */
    .mobile-content-wrapper {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        display: block !important;
    }

    /* 2. Reset fondamentale: costringiamo i blocchi interni a stare nel padding */
    .mobile-content-wrapper .tvproduct-stock-social,
    .mobile-content-wrapper .product-additional-info,
    .mobile-content-wrapper .js-mailalert,
    .mobile-content-wrapper #send_aap_button {
        width: 100% !important;
        max-width: 100% !important; /* Impedisce di uscire dai bordi */
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    /* 3. Fix specifico per il bottone Informazioni (visto in image_3f8e42.jpg) */
    #send_aap_button {
        display: flex !important; /* Mantiene l'icona e il testo centrati */
        align-items: center;
        justify-content: center;
        min-height: 48px;
    }

    /* 4. Fix per l'input email */
    .js-mailalert input.form-control {
        width: 100% !important;
        margin-bottom: 10px !important;
		border-radius: 8px !important;
    }
}
	
/* ============================================================
   FIX ICONA E TESTO SU UNA RIGA (PULSANTE INFO)
   ============================================================ */
/* ============================================================
   SINCRONIZZAZIONE TOTALE E BOLD (STILE CARRELLO)
   ============================================================ */

#send_aap_button.add-to-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* STILE BOLD E DIMENSIONI */
    font-weight: 900 !important;        /* Forza il grassetto massimo */
    text-transform: uppercase !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
    
    /* DIMENSIONI E POSIZIONE */
    height: 52px !important;            /* Leggermente più alto per il bold */
    min-width: 250px !important;
    padding: 0 25px !important;
    margin: 20px auto !important;
    
    border: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* DISTANZA ICONA - TESTO */
#send_aap_button.add-to-cart i.fa {
    margin-right: 5px !important;    /* SPAZIO NETTO E CHIARO TRA ICONA E TESTO */
    font-size: 20px !important;       /* Icona leggermente più grande */
    display: inline-flex !important;
    align-items: center !important;
    
    /* Centratura verticale millimetrica */
    position: relative !important;
    top: -1px !important; 
}

/* IL TESTO */
#send_aap_button.add-to-cart span {
    display: inline-flex !important;
    align-items: center !important;
    font-weight: 900 !important;      /* Rinforzo grassetto sullo span */
}

/* MOBILE: CENTRATURA NEL BOX */
@media (max-width: 991px) {
    #send_aap_button.add-to-cart {
        display: flex !important;
        width: 100% !important;
        max-width: 320px !important;
    }
}
	
/* ============================================================
   FORZATURA TOTALE BADGE COPIATO - IPHONE
   ============================================================ */

/* ============================================================
   FIX RADICALE BADGE COPIATO - SOLO MOBILE
   ============================================================ */
@media (max-width: 767px) {
    /* 1. Il contenitore deve permettere al badge di uscire fuori */
    .tv-grid-reference-js-copy-reference, 
    .tv-grid-reference {
        position: relative !important;
        overflow: visible !important; /* Fondamentale per mostrare elementi esterni */
    }

    /* 2. Forza la comparsa del badge sovrascrivendo l'inline style opacity:0 */
    .copy-toast, 
    .tvproduct-wrapper.grid .copy-toast,
    span.copy-toast {
        display: none; /* Nascosto di base */
    }

    /* Quando lo script aggiunge la classe 'show' o 'active' */
    .copy-toast.show, 
    .copy-toast.active,
    [style*="opacity: 1"].copy-toast,
    .tv-grid-reference-js-copy-reference .copy-toast {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important; /* Forza il badge a essere solido */
        
        /* Posizionamento assoluto per "galleggiare" sopra il codice */
        position: absolute !important;
        z-index: 999999 !important;
        bottom: 120% !important; /* Lo sposta sopra la riga del codice */
        left: 50% !important;
        transform: translateX(-50%) !important;
        
        /* Design del badge (Verde Successo) */
        background-color: #1f7a31 !important;
        color: #ffffff !important;
        padding: 4px 10px !important;
        font-size: 11px !important;
        border-radius: 4px !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
        white-space: nowrap !important;
    }
}
	
/* ============================================================
   MARGINI SOLO MENU VERTICALE (HOME PAGE + MOBILE)
   ============================================================ */
@media (max-width: 767px) {
    /* Applica lo spazio solo alla sidebar nella Home */
    body#index .theiaStickySidebar {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Reset totale dei contenitori globali per evitare schiacciamenti */
    body#index #wrapper, 
    body#index #content-wrapper {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Forza l'allineamento della riga Disponibilità su Desktop */
.product-meta-line.availability-line {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Allineamento Cuore su DESKTOP */
/* Nota: se vedi il cuore troppo a sinistra, aumenta 43px a 50px */
.wishlist-section-new {
    display: inline-flex !important;
    margin-left: 43px !important; 
    margin-right: 15px !important;
    padding: 0 !important;
    order: 1 !important;
}

/* Nasconde label residue che potrebbero spostare il cuore */
.availability-line .meta-label, 
.availability-line .meta-icon {
    display: none !important;
}

/* Pillola Disponibilità accanto al cuore */
.availability-line .meta-value {
    display: flex !important;
    order: 2 !important;
    margin: 0 !important;
}

/* ============================================================
   CONFIGURAZIONE MOBILE (iPhone) - ESATTAMENTE COME CHIESTA
   ============================================================ */
@media (max-width: 767px) {
    .wishlist-section-new {
        margin-left: 50px !important; 
        margin-right: 50px !important;
        display: inline-flex !important;
    }
    
    .product-meta-line.availability-line {
        display: flex !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        margin-bottom: 10px !important;
    }
}
	
/* ============================================================
   FIX MOBILE: FAR RICOMPARIRE IL CUORE (DENTRO LA LABEL)
   ============================================================ */

@media (max-width: 767px) {
    /* 1. Forza la label della riga disponibilità a essere visibile */
    .availability-line .meta-label {
        display: flex !important;
        /* Usiamo il valore che avevi scelto per il cuore su mobile */
        min-width: 50px !important; 
        width: 50px !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
    }

    /* 2. Assicura che la riga sia orizzontale */
    .product-meta-line.availability-line {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        margin-bottom: 15px !important;
    }

    /* 3. Posizionamento della pillola accanto al cuore */
    .availability-line .meta-value {
        display: flex !important;
        margin-left: 85px !important; /* Il margine destro/distanza che volevi */
    }

    /* 4. Reset specifico per il modulo wishlist dentro la label */
    .availability-line .wishlist-section-new {
        display: inline-flex !important;
        margin: 0 !important;
        padding: 0 !important;
		margin-left: 50px !important;
    }
}
/* ============================================================
   ALLINEAMENTO DESKTOP: CUORE COME LABEL
   ============================================================ */

@media (min-width: 768px) {
    /* Allinea il cuore all'interno dello spazio da 100px della label */
    .availability-line .meta-label {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-width: 100px !important;
    }

    .availability-line .wishlist-section-new {
        margin: 0 !important;
        display: inline-flex !important;
    }

    /* Assicura che la pillola verde parta esattamente dove partono i prezzi */
    .availability-line .meta-value {
        display: flex !important;
        align-items: center !important;
        padding-left: 5px !important; /* Questo gap deve essere uguale a quello del prezzo */
    }
}

/* ============================================================
   SOLUZIONE DEFINITIVA STICKY - FIX BALLO FOOTER
   ============================================================ */

/* 1. GESTIONE MOBILE (Fino a 991px) */
@media (max-width: 991px) {
    #mobile_product_sticky_wrapper {
        position: fixed !important;
        bottom: 0 !important;
        top: auto !important;
        left: 0 !important;
        width: 100% !important;
        height: 75px !important;
        z-index: 9999 !important;
        transform: none !important;
        background: #fff !important;
        display: block !important;
        visibility: visible !important;
    }

    .tvmobile-sticky-product-cart.tv-product-sticky, 
    .tv-product-mobile-sticky {
        position: fixed !important;
        bottom: 0 !important;
        height: 75px !important;
        width: 100% !important;
    }

    .tv-sticky-cart-content {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
}

/* 2. PROTEZIONE DESKTOP (Sopra 992px) - VERSIONE ANTI-BALLO */
@media (min-width: 992px) {
    #mobile_product_sticky_wrapper, 
    .tvmobile-sticky-product-cart, 
    .tv-product-mobile-sticky {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: absolute !important; /* Toglie l'elemento dal flusso del layout */
        pointer-events: none !important;
        visibility: hidden !important;
        overflow: hidden !important;
    }
}
/* ============================================================
   FINE STICKY FIX
   ============================================================ */
	


/* UNIFORMITÀ PULSANTE AVVISAMI SENZA DEFORMAZIONI */
@media (max-width: 767px) {
    .js-mailalert-add {
        /* Manteniamo il testo normale come hai visto che funziona */
        text-transform: uppercase !important; 
        
        /* Uniformiamo lo stile agli altri pulsanti del sito */
        font-weight: 600 !important;
        font-size: 14px !important;
        /*margin-bottom: 15px !important;*/
        
        height: 46px !important; /* Altezza standard pulsanti shop */
        display: flex !important;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
    }
}
	
/* PERSONALIZZAZIONE PLACEHOLDER MAILALERT */
.js-mailalert.text-center .form-control::placeholder {
    color: #999 !important;
    opacity: 1 !important;
    text-align: center !important;
}

/* Specifico per browser Webkit (Safari/Chrome) */
.js-mailalert.text-center .form-control::-webkit-input-placeholder {
    color: #999 !important;
    text-align: center !important;
}

/* Specifico per Firefox */
.js-mailalert.text-center .form-control::-moz-placeholder {
    color: #999 !important;
    text-align: center !important;
    opacity: 1 !important;
}
	


/* Uniforma i box Brand */
.tvbrand-page-block {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
}

.tvbrand-inner {
    display: flex !important;
    flex-direction: column !important;
    min-height: 250px !important; /* Usa min-height invece di height 100% */
    background: #fff !important;
    border: 1px solid #eee !important;
    padding: 20px !important;
    border-radius: 15px !important;
    transition: all 0.3s ease !important;
    justify-content: space-between !important; /* Spinge il pulsante in basso */
}

/* Effetto scalino anche qui al passaggio del mouse */
.tvbrand-inner:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

/*  PULSANTE BRAND */
/* Applichiamo la protezione sia al link che allo span interno */
html body #wrapper .brand-products-action a.tvall-inner-btn:hover, 
html body #wrapper .brand-products-action a.tvall-inner-btn:hover span {
    color: #000000 !important;           /* Forza il nero ed evita il blu */
    background-color: #e0a800 !important; /* Mantiene il giallo scuro in hover */
    text-decoration: none !important;
}

/* Se hai usato le classi del "Continua lo shopping" come nell'ultimo tentativo */
html body #wrapper .cart-content-btn a.tvall-inner-btn:hover,
html body #wrapper .cart-content-btn a.tvall-inner-btn:hover span {
    color: #000000 !important;
    background-color: #e0a800 !important;
}

/* Titolo più pulito */
.tvnewsletter-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    margin-bottom: 15px !important;
    color: #333;
}

/* Container del gruppo Input + Bottone */
.newsletter-input-group {
    display: flex !important;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 50px !important; /* Forma a pillola */
    padding: 2px !important;
    overflow: hidden;
    transition: all 0.3s ease;
    max-width: 350px; /* Evita che diventi troppo lunga su desktop */
}

.newsletter-input-group:focus-within {
    border-color: #ffc107;
    box-shadow: 0 0 8px rgba(255, 193, 7, 0.2);
}

/* Campo Input Email */
.newsletter-input-group input {
    border: none !important;
    background: transparent !important;
    padding: 0 20px !important;
    height: 38px !important;
    flex-grow: 1;
    font-size: 13px !important;
    outline: none !important;
    color: #333;
}

/* Bottone Iscriviti (Stile coerente con i Brand) */
.newsletter-submit-btn {
    background-color: #ffc107 !important;
    border: none !important;
    color: #000 !important;
    padding: 0 25px !important;
    height: 38px !important;
    border-radius: 50px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: background 0.2s;
    text-transform: uppercase;
}

.newsletter-submit-btn:hover {
    background-color: #e0a800 !important;
}

/* Descrizione e Privacy più piccole e discrete */
.newsletter-cond {
    font-size: 10px !important;
    color: #999;
    margin-top: 10px;
    line-height: 1.2;
}

/* Mobile Fix */
@media (max-width: 767px) {
    .newsletter-input-group {
        max-width: 100%;
    }
    .newsletter-submit-btn {
        padding: 0 15px !important;
    }
}

/*NL*/

 /* 1. Reset contenitori tema Electron solo per Desktop */
@media (min-width: 992px) {
    #footer .tvnewsletter-input .input-wrapper, 
    #footer .tvnewsletter-input .tvnewsleteer-btn-wrapper {
        display: contents !important; /* Rende i div trasparenti al layout */
        border: none !important;
        background: none !important;
    }

    /* Forza la riga unica */
    .modern-newsletter-form {
        display: block !important;
    }

    /* La pillola su desktop deve avere una dimensione fissa elegante */
    .newsletter-input-group {
        max-width: 320px !important;
        height: 40px !important;
        margin: 0 !important; /* Allinea a sinistra nel footer */
    }
}

/* 2. Fix Placeholder e Input (Universale) */
.newsletter-input-group input {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 15px !important;
    height: 100% !important;
    outline: none !important;
    color: #333 !important;
    font-size: 13px !important;
}

/* 3. Forza lo stile "Pillola" che hai su mobile anche su Desktop */
.newsletter-input-group {
    display: flex !important;
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 50px !important;
    padding: 2px !important;
    overflow: hidden !important;
}

.newsletter-submit-btn {
    border-radius: 50px !important;
    height: 34px !important; /* Leggermente più basso del contenitore */
    padding: 0 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}
	
/* --- NUOVO BLOCCO SOCIAL & PRIVACY --- */

/* --- UNIFORMITÀ TITOLO SEGUICI --- */
.tvfooter-title-wrapper .tvfooter-title {
    font-size: 18px !important;
    color: #333333 !important;
    display: block !important;
    font-weight: 500 !important;
    text-transform: capitalize !important;
    text-align: left !important;
}

/* --- FIX MOBILE: NASCONDI TITOLO E CENTRA --- */
@media (max-width: 767px) {
    /* Nasconde il titolo Seguici */
    .hidden-sm-down {
        display: none !important;
    }
    
    /* Centra icone e privacy su mobile */
    .custom-social-icons {
        justify-content: center !important;
        margin-top: 10px !important;
    }
    
    .custom-privacy-block {
        text-align: center !important;
    }
}

@media (max-width: 767px) {
.copy-success {
    /* Mantiene absolute per scorrere con la pagina e non galleggiare */
    position: absolute !important; 
    top: 160px !important;
    left: 170px !important;
    
    /* Reset di eventuali trasformazioni che potrebbero spostarlo */
    transform: none !important;
    -webkit-transform: none !important;
    
    /* Assicura che sia visibile sopra gli altri elementi del prodotto */
    z-index: 999 !important;
  }
  
  /* KILL TOTALE DEL CONTENITORE */
  .copy-wrapper {
    display: contents !important;
  }
}

/* FIX footer + sticky header */
body.footer-visible .tvcmsheader-sticky {
    animation: none !important;
    transition: none !important;
}

/* rimuove min-height / height ereditati
#page,
#wrapper,
#content-wrapper,
.page-wrapper,
.container-fluid {
    min-height: unset !important;
    height: auto !important;
}*/ 

/* === BLOCCA REPAINT FOOTER A FONDO PAGINA === */
.page-footer {
  will-change: auto;
  transform: translateZ(0);
}

.tvcmsheader-sticky {
  backface-visibility: hidden;
  transform: none !important;
}

/* =====================================================
   MICRO-FIX OVERSCROLL CHROME (NO CLS, NO LCP IMPACT)
   ===================================================== */

/* neutralizza qualsiasi 100vh residuo 
#page,
#wrapper,
#content-wrapper,
.page-wrapper,
.container-fluid {
  min-height: auto !important;
  height: auto !important;
}*/

/* elimina micro-shift da pseudo-elementi */
#footer::before,
#footer::after {
  content: none !important;
}

/* === LCP STABILE (NO CLS) === */
.tvproduct-page-content h1 {
  min-height: 32px;   /* riserva spazio reale */
}

/* micro-riserva spazio footer (NO CLS) */
.tvfooter-contact-link-wrapper {
  min-height: 24px;
}

/* HEADER come riferimento */
.modal-header {
  position: relative !important;
}

/* ===============================
   MODAL CLOSE BUTTON – FIX iOS
   =============================== */

.modal-header {
  position: relative;
}

/* bottone X */
.modal-header .close,
.modal-header .btn-close {
  position: absolute !important;
  top: 18px;
  right: 12px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50%;
  background: #f1f1f1 !important;
  border: 1px solid #ddd !important;
  font-size: 22px;
  line-height: 1;
  color: #333 !important;
  cursor: pointer;
  z-index: 10;
  -webkit-tap-highlight-color: transparent;
}

/* hover desktop */
@media (hover: hover) {
  .modal-header .close:hover,
  .modal-header .btn-close:hover {
    background: #e5e5e5 !important;
  }
}

/* focus accessibile */
.modal-header .close:focus-visible,
.modal-header .btn-close:focus-visible {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
/* Aggiungi questo al tuo blocco .modal-header .close per l'animazione */
.modal-header .close,
.modal-header .btn-close {
    transition: transform 0.25s ease-in-out !important;
    will-change: transform;
}

/* Animazione alla pressione (Touch) e Hover */
.modal-header .close:active,
.modal-header .close:hover {
    transform: rotate(90deg) !important;
}

/* Se la X è uno span interno, forziamo la rotazione anche lì */
.modal-header .close span {
    display: block;
    transition: transform 0.25s ease-in-out;
}

/*SWIPE DOWN POPUP MODAL CART*/

/* Aggiungi questo al tuo CSS */
#blockcart-modal .modal-content::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 4px;
    background: #d1d1d1;
    border-radius: 10px;
    z-index: 10;
}

/* Assicura che la modale abbia una transizione fluida per lo swipe */
#blockcart-modal .modal-dialog {
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.15, 1, 0.3, 1);
}

@media (max-width: 767px) {
    .tvfooter-copy-payment-icon-wrapper {
        margin-top: 20px;
 }    
}

/* =================================================
   ESTIMATED DELIVERY - CONFIGURAZIONE FINALE
   ================================================= */

/* --- 1. ELEMENTI COMUNI --- */
#estimateddelivery.estimateddelivery-product, 
#estimateddelivery .ed_item,
.estimateddelivery.ed_lightblue {
    border-radius: 8px !important;
}

#ed_popup {
    margin-bottom: 15px;
    padding: 12px 18px;
    border-radius: 30px;
}

#ed_popup_content .carrier_price, .ed_countdown, .date_green {
    white-space: nowrap;
    font-size: 18px;
    font-weight: 700;
    color: #0066cc;
}

/* Forza il verde sulla data di consegna */
#ed_popup_content .date_green, .date_green {
    color: #28a745 !important;
    font-weight: 500 !important;
}

.ed_has_image.ed_imgsize-2x .ed_delivery_text {
	font-weight: 600 !important;
    font-size: 15px !important;
}

span.carrier_price {
    color: #0066cc !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    white-space: nowrap;
}

/* Pulsante opzioni spedizione Blu Brand #355e9e */
#estimateddelivery .btn-secondary {
    background: #ffffff !important;
    color: #355e9e !important;
    border: 2px solid #355e9e !important;
    border-radius: 8px !important; 
    padding: 10px 20px !important; 
    font-size: 15px !important;   
    font-weight: 600 !important;
    display: block !important;    
    width: 100% !important;
    text-align: center !important;
    margin-top: 15px !important;
    transition: all 0.2s ease-in-out;
    text-transform: none !important;
}

#estimateddelivery .btn-secondary::after {
    content: ' \2192';
    margin-left: 8px;
    display: inline-block;
}

#estimateddelivery .btn-secondary:hover {
    background-color: #355e9e !important;
    color: #ffffff !important;
}

/* --- 2. X DI CHIUSURA --- */
#ed_popup_content .ed_close_popup {
    background: transparent !important;
    border: none !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 32px !important;
    height: 32px !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#ed_popup_content .ed_close_popup span {
    background-color: #355e9e !important;
    color: #fff !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #ddd !important;
    font-size: 18px !important;
    transition: all 0.3s ease !important;
}

#ed_popup_content .ed_close_popup:hover span {
    background-color: #355e9e !important;
    color: #ffffff !important;
    transform: rotate(90deg) !important;
}

/* --- 3. ESTETICA INTERNA (Tabelle) --- */
#ed_popup_content .ed_title {
    background-color: #f8f9fa !important;
    border-bottom: 2px solid #f1f1f1 !important;
    padding: 20px !important;
    color: #355e9e !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

#ed_popup_table thead th {
    color: #355e9e !important;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 700;
}

#ed_popup_table td {
    vertical-align: middle !important;
    text-align: center !important;
    padding: 15px 10px !important;
}

/* --- 4. REGOLE DESKTOP (NON TOCCATE) --- */
@media (min-width: 768px) {
    #ed_popup_content, .ed_popup_content {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        background: #fff !important;
        box-shadow: 0 15px 50px rgba(0,0,0,0.3) !important;
        padding: 45px 0 0 0 !important;
        z-index: 100 !important;
        width: 60% !important;
        border-radius: 15px !important;
        display: none;
    }
    #ed_popup_table td img {
        display: inline-block !important;
        vertical-align: middle !important;
        max-height: 50px !important;
        width: auto !important;
    }
    #ed_popup_table td p, #ed_popup_table td span, #ed_popup_table td strong {
        margin: 0 !important;
        display: inline-block !important;
        vertical-align: middle !important;
        line-height: 1 !important;
    }
}

/* --- 5. REGOLE MOBILE (FIXED TESTO E SWIPE) --- */
@media (max-width: 767px) {
    #ed_popup_content, .ed_popup_content {
        position: fixed !important;
        bottom: 0 !important; /* Ancorato al fondo per lo swipe */
        top: auto !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 50px 15px 25px 15px !important;
        border-radius: 20px 20px 0 0 !important; /* Arrotondato sopra */
        background: #fff !important;
        box-shadow: 0 -5px 25px rgba(0,0,0,0.2) !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        display: none;
    }

    /* Maniglia per lo Swipe*/ 
    #ed_popup_content::before {
        content: "" !important;
        position: absolute !important;
        top: 12px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 45px !important;
        height: 5px !important;
        background: #355e9e !important;
        border-radius: 10px !important;
        z-index: 1001 !important;
    }

    /* Fix Affiancamento e Testo che esce fuori */
    #ed_popup_content .row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        margin: 0 !important;
        width: 100% !important;
    }

    #ed_popup_content .col-sm-2 {
        flex: 0 0 70px !important;
        max-width: 70px !important;
        padding: 0 5px !important;
    }

    #ed_popup_content .col-sm-10 {
        flex: 1 !important;
        min-width: 0 !important; /* ESSENZIALE: permette al testo di andare a capo */
        padding-left: 10px !important;
    }

    #ed_popup_content .ed_delivery_text {
        white-space: normal !important; /* Forza il testo a non stare su una riga sola */
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    #ed_popup_content p, #ed_popup_content span {
        font-size: 14px !important;
        line-height: 1.3 !important;
        word-break: break-word !important;
    }
}

/* --- FIX MOBILE DEFINITIVO: Immagine Sopra, Testo Sotto & Wrap Testo --- */
/* --- CONFIGURAZIONE MOBILE TOP UX: TESTO LINEARE COME DESKTOP --- */
@media (max-width: 767px) {

    /* 1. Manteniamo la struttura verticale del contenitore */
    .ed_imgsize-2x .ed_delivery_wrapper,
    #estimateddelivery .ed_orderbefore, 
    .ed_orderbefore.ed_has_image {
        display: flex !important;
        flex-direction: column !important; 
        align-items: center !important;    
        text-align: center !important;
        width: 100% !important;
        margin-bottom: 0px !important;
        box-sizing: border-box !important;
		gap: 0px;
    }

    /* 2. Immagine sopra */
    .ed_orderbefore img, 
    .ed_delivery_wrapper img {
        display: block !important;
        margin: 0 0 5px 0 !important;
        max-width: 65px !important;
        height: auto !important;
    }

    /* 3. TESTO LINEARE: Riproduciamo il comportamento Desktop */
    .ed_delivery_text {
        display: block !important;    /* Il contenitore è un blocco... */
        width: 100% !important;
        white-space: normal !important; 
        overflow-wrap: break-word !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    /* 4. Gli elementi interni scorrono lineari (come su desktop) */
    .ed_delivery_text *, 
    .date_green, 
    .ed_dates {
        display: inline !important;  /* <--- FONDAMENTALE: testo fluido e continuo */
        white-space: normal !important;
        font-weight: inherit;
        color: inherit;
    }

    /* 5. Unica eccezione: la data verde resta grassetto ma fluisce nel testo */
    .date_green {
        font-weight: 700 !important;
        color: #28a745 !important;
    }
}

/* --- FIX SAFARI: PULSANTE BLINDATO --- */
#estimateddelivery .btn-secondary {
    display: inline-flex !important;    /* Forza l'allineamento preciso */
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;     /* Impedisce al testo di andare su due righe */
    overflow: hidden !important;        /* Se qualcosa esce, lo taglia (ma col flex non dovrebbe) */
    padding: 8px 15px !important;       /* Riduciamo leggermente il padding per fare spazio */
    vertical-align: middle !important;
}

/* --- FIX SAFARI: FRECCIA MARCATA --- */
#estimateddelivery .btn-secondary::after {
    content: '\279D' !important; 
    display: inline-block !important;
    margin-left: 5px !important;
    font-size: 14px !important; /* Ridotta di 1px per sicurezza su Safari */
    
    /* Ispessimento */
    text-shadow: 0.5px 0px 0px currentColor, -0.5px 0px 0px currentColor !important;
    
    /* Reset per Safari: evita che il simbolo erediti altezze riga strane */
    line-height: 0 !important; 
    width: auto !important;
    height: auto !important;
    
    transition: transform 0.2s ease !important;
}

/* Effetto al passaggio del mouse (Safari Friendly) */
#estimateddelivery .btn-secondary:hover::after {
    transform: translateX(3px) !important; /* Leggermente più movimento */
}

/* Impedisce lo scroll della pagina quando il popup è aperto */
body.modal-open-estimated {
    overflow: hidden !important;
    position: fixed !important; /* Blocca lo scroll di Safari */
    width: 100% !important;
    height: 100% !important;
    touch-action: none; /* Impedisce gesti di sistema mentre il popup è aperto */
}

/* --- FIX SOCIAL SHARE: iOS STYLE DEFINITIVO --- */

.social-sharing-inline {
    width: 100%;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 10px 0 !important;
    padding: 0 !important;
}

.social-wrapper-centered {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 15px !important;
}

/* Label e Icona iOS Share */
.share-label-group {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.ios-share-icon {
    width: 20px !important;
    height: 20px !important;
    margin-right: 6px;
    display: block;
}

.custom-share-label {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #333 !important;
    text-transform: none !important;
    line-height: 1 !important;
}

/* Lista icone Social */
.social-icons-row {
    display: flex !important;
    align-items: center !important; /* Forza l'allineamento verticale di tutte le icone */
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 12px !important;
}

.social-icons-row li {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.social-icons-row li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
}

/* Resa SVG: Nitidezza Massima */
.social-icons-row li a svg {
    width: 26px !important;
    height: 26px !important;
    display: block !important;
    shape-rendering: geometricPrecision !important;
    image-rendering: -webkit-optimize-contrast !important;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    /* Rimuoviamo ogni filtro o distorsione residua */
    filter: none !important; 
    transform: translateZ(0) !important;
}

/* PAREGGIO ALTEZZA: Fix millimetrico per WhatsApp rispetto a Facebook */
.social-icons-row li.wa a svg {
    /* Spostamento verso l'alto di 0.5px per compensare l'occhio */
    transform: translateY(-0.5px) translateZ(0) !important;
}

/* Hover Effect */
.social-icons-row li a:hover svg {
    transform: scale(1.15) !important;
}

/* Nasconde testo SEO */
.social-icons-row .text-hide {
    position: absolute !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    width: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Mobile Responsive */
@media (max-width: 480px) {
    .social-wrapper-centered { gap: 10px !important; }
    .custom-share-label { font-size: 14px !important; }
    .social-icons-row { gap: 10px !important; }
    .social-icons-row li a svg { width: 24px !important; height: 24px !important; }
}

/* --- FIX CHIRURGICO FINALE: PAREGGIO AL MILLIMETRO --- */

.social-icons-row li.wa a svg {
    transform: scale(1.12) translateY(-0.6px) !important;
    transform-origin: center center !important;
    /* Forza la pulizia dei bordi dopo l'upscale */
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

/* Blocchiamo Facebook e Instagram per evitare che prendano scale ereditarie */
.social-icons-row li.fb a svg,
.social-icons-row li.ig a svg {
    transform: scale(1) translateY(0) !important;
}

/* 1. Stato Normale: WhatsApp con il suo boost di dimensione */
.social-icons-row li.wa a svg {
    transform: scale(1.12) translateY(-0.6px) !important;
    transform-origin: center center !important;
}

/* 2. Stato Normale: Facebook e Instagram scala 1 */
.social-icons-row li.fb a svg,
.social-icons-row li.ig a svg {
    transform: scale(1) translateY(0) !important;
    transform-origin: center center !important;
}

/* Per Facebook e Instagram: passano da 1 a 1.15 */
.social-icons-row li:not(.wa) a:hover svg {
    transform: scale(1.15) !important;
}

/* Per WhatsApp: deve passare da 1.12 a ~1.30 per mantenere lo stesso sbalzo visivo */
.social-icons-row li.wa a:hover svg {
    transform: scale(1.28) translateY(-0.6px) !important;
}

/* --- STEP 1: PLACEHOLDER ONLY (ROBOTO + GRIGIO NEUTRO) --- */

::-webkit-input-placeholder {
    font-family: 'Roboto', sans-serif !important;
    color: #808080 !important; 
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

::-moz-placeholder {
    font-family: 'Roboto', sans-serif !important;
    color: #808080 !important;
    font-weight: 400 !important;
}

:-ms-input-placeholder {
    font-family: 'Roboto', sans-serif !important;
    color: #808080 !important;
    font-weight: 400 !important;
}

/* --- STEP 2: ACCOUNT & NAVIGATION --- */

/* Testo "Account" e icone header */
.user-info .account, 
.header-nav .user-info span {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 500 !important; /* Leggermente più marcato del placeholder per dare importanza */
    color: #333 !important;
    text-transform: capitalize !important; /* Evita il tutto maiuscolo */
}

/* Opzionale: Se vuoi uniformare anche il numero nel carrello */
.cart-products-count {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 700 !important;
}

/* --- STEP 3: SEARCH DROPDOWN TOTAL --- */
/* --- SOLO DESKTOP: MENU ORIZZONTALE --- */
@media (min-width: 992px) {
.tvsearch-dropdown-total {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 700 !important; /* Bold deciso per farlo risaltare */
    color: #111 !important; /* Un nero più profondo per dare contrasto rispetto ai nomi prodotti */
    padding: 8px 0 !important; /* Dagli un po' di respiro verticale */
    display: block !important;
    border-top: 1px solid #f0f0f0 !important; /* Una linea sottilissima per separarlo dai prodotti sopra */
}

/* --- STEP 4.1: MENU COMPATTO E OMOGENEO --- */

/* 1. Riportiamo la banda all'altezza originale eliminando i flex conflittuali */
#header .tv-menu-horizontal ul li.level-1 > a {
    font-family: 'Roboto', sans-serif !important;
    font-size: 16px !important; 
    font-weight: 600 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    
    /* RESET STRUTTURALE */
    display: inline-block !important; /* Torniamo al blocco in linea */
    height: auto !important; /* La banda non si alza più */
    line-height: 50px !important; /* Regola questa cifra per centrare il testo verticalmente (es. 50px o 55px) */
    
    /* PADDING OMOGENEO */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 15px !important;  /* Spazio a sinistra della parola */
    padding-right: 5px !important; /* Spazio a destra della parola */
    margin: 0 !important;
}

/* 2. Allineamento chirurgico del primo e ultimo elemento */
#header .tv-menu-horizontal ul li.level-1:first-child > a {
    padding-left: 10px !important; /* Allinea meglio al logo */
}

#header .tv-menu-horizontal ul li.level-1:last-child > a {
    padding-right: 10px !important; /* Allinea meglio alla fine della barra */
}

/* --- STEP 4.2: SOLO DESKTOP - ALTEZZA BARRA MENU 55PX --- */
@media (min-width: 992px) {
    #header .tv-menu-horizontal ul li.level-1 > a {
        font-family: 'Roboto', sans-serif !important;
        font-size: 16px !important; 
        font-weight: 600 !important;
        color: #ffffff !important;
        text-transform: uppercase !important;
        
        /* Centratura verticale perfetta senza rompere il layout */
        height: 55px !important;
        line-height: 55px !important; 
        display: inline-block !important;
        
        /* Padding per spaziatura orizzontale */
        padding-left: 15px !important;
        padding-right: 5px !important;
        margin: 0 !important;
        vertical-align: top !important; /* Evita micro-spazi sotto l'elemento inline */
    }

    /* FIX ANTI MICRO-SHIFT: Isoliamo l'altezza solo su desktop e aggiungiamo stabilità */
    .tvcms-header-menu-offer-wrapper {
        height: 55px !important;
        min-height: 55px !important;
        display: block !important;
        overflow: visible !important; /* Permette ai sottomenu di uscire senza tagli */
    }
    
    /* Assicuriamo che la barra principale non collassi durante il caricamento */
    #header .tv-menu-horizontal {
        min-height: 55px !important;
    }
}
/* La regola esterna che causava lo shift è stata eliminata con successo */

/* --- STEP 4.5: FIX ICONE CONTATTI (OVERRIDE MATERIAL ICONS) --- */

/* Applichiamo la tua scelta: 20px e 5px di spazio */
.header-3 #_desktop_contact_link #contact-link i,
.tv-contact-info .material-icons,
.tv-contact-info i {
    font-size: 20px !important; /* La dimensione che hai suggerito */
    margin-right: 5px !important; /* Lo spazio che hai suggerito */
    
    /* Centratura verticale precisa */
    display: inline-block !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    
    /* Correzione per icone Material che tendono a stare alte */
    position: relative !important;
    top: -1px !important; 
}

/* Assicuriamoci che il testo accanto rimanga Roboto e ben allineato */
#contact-link span, 
.tv-contact-info span {
    font-family: 'Roboto', sans-serif !important;
    vertical-align: middle !important;
    display: inline-block !important;
}
}

/* --- FIX DEFINITIVO SIDEBAR MOBILE & X ANIMATA --- */
/* --- MENU MOBILE: ASSETTO FINALE BLINDATO --- */
@media (max-width: 991px) {
    
    /* 1. HEADER MENU (Titolo + X insieme) */
    .tv-menu-title, .tvmega-menu-title, .mobile-menu-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important; /* Spinge Titolo a sx e X a dx */
        padding: 10px 15px !important;
        min-height: 50px !important;
        background-color: #ffffff !important;
        border-bottom: 1px solid #f0f0f0 !important;
        position: relative !important;
    }

    /* Il testo "MENU" */
    .tv-menu-title, .tvmega-menu-title {
        font-family: 'Roboto', sans-serif !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        color: #333 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
		justify-content: center !important;
    }

    /* 2. LA X BLU DINAMICA */
    /* Colpiamo il contenitore e forziamo la forma 
    [class*="close"], [class*="exit"],*/ .tv-mobile-menu-close-icon, .tvcms-mobile-menu-close {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: static !important; /* Reset per Flexbox */
        cursor: pointer !important;
		height: 44px !important;
    }

    /* L'icona interna (La pallina blu) */
    [class*="close"] i, [class*="close"] span, .tv-mobile-menu-close-icon i, .close-menu i {
        background-color: #355e9e !important;
        color: #ffffff !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 26px !important;
        font-style: normal !important;
        box-shadow: 0 2px 6px rgba(53, 94, 158, 0.3) !important;
        transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
		top: 10px !important;
    }

    /* Animazione Rotazione 90° al tocco */
    [class*="close"]:active i, .tv-mobile-menu-close-icon:active i, .close-menu:active i {
        transform: rotate(90deg) scale(1.1) !important;
        background-color: #244376 !important;
    }

    /* 3. FRECCE LEVEL PARENT (Tua regola definitiva) */
    .tv-menu-horizontal ul li.parent .icon-drop-mobile:after {
        top: 15px !important;
    }

    /* 4. LIVELLI MENU (Stabili e a sinistra) */
    .menu-content li a, .tvcmsmobile-menu-library li a {
        font-family: 'Roboto', sans-serif !important;
        font-size: 15px !important;
        padding: 12px 20px !important;
        text-align: left !important;
        display: block !important;
    }
	
	.tvmobile-slidebar {
        padding: 0px 10px !important; /* Qui puoi mettere 0 se vuoi i bordi netti */
        min-height: 60px !important; /* Aumentiamo l'altezza per dare respiro alla X */
    }
}

/* --- CONTACT LINK MOBILE: BLU ISTITUZIONALE & ROBOTO --- */
/* --- BOX CONTATTI: UNIFORMITÀ E COMPATIBILITÀ PULSE --- */
@media (max-width: 991px) {
    
    .contact-container-mobile {
        padding: 5px 0px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important; /* Spazio verticale ridotto al minimo tra i box */
    }

    /* Regola unica per rendere i box identici */
    .custom-contact-box {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .custom-contact-box a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        height: 52px !important; /* Altezza pareggiata */
        width: 100% !important;
        
        background-color: #ffffff !important;
        border: 1px solid #355e9e !important;
        border-radius: 8px !important;
        box-shadow: 0 3px 10px rgba(53, 94, 158, 0.15) !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    /* Effetto Tap al tocco */
    .custom-contact-box a:active {
        transform: scale(0.98) !important;
        background-color: #f4f7fa !important;
    }

    /* Allineamento Icone e SVG */
    .custom-contact-box i, 
    .custom-contact-box .wa-header-shield {
        width: 30px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        color: #355e9e !important;
		margin-right: 10px !important;
		margin-left: 5px !important;
    }

    .custom-contact-box svg {
        width: 18px !important;
        height: 18px !important;
        fill: #355e9e !important;
    }

    /* Testi */
    .custom-contact-box span {
        font-family: 'Roboto', sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #355e9e !important;
        
        white-space: nowrap !important;
        overflow: visible !important;
    }
	
	.tvcmsmobile-contact {
        position: relative;
        padding: 50px 0 0 0;
		}
	
	/* Annulliamo il border-bottom specifico per i tuoi box custom */
    .custom-contact-box,
    .tvcmsmobile-contact #contact-link.custom-contact-box, 
    .tvcmsmobile-contact .contact-item.wa-desktop-item.custom-contact-box {
        border-bottom: none !important;
    }

    /* Per sicurezza, lo togliamo anche dall'elemento interno se il tema lo applica lì */
    .custom-contact-box a {
        border-bottom: 1px solid #355e9e !important; /* Mantiene solo il tuo bordo blu del box */
    }
	
	.tvcmsmobile-contact:before {
        width: 80%;
	}
}
	
/* --- FIX DESKTOP: VERTICALE, ICONE E HOVER AZZURRO --- */
@media (min-width: 992px) {
    /* Mette i contatti uno sopra l'altro allineati a destra */
    .contact-container-mobile {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 4px !important;
        background: transparent !important;
        padding: 0 !important;
    }

    /* Reset dei box per l'header desktop */
    .custom-contact-box a {
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        height: auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        text-decoration: none !important;
    }

    /* Forza la visibilità delle icone sparite */
    .custom-contact-box i.material-icons {
        display: inline-block !important;
        visibility: visible !important;
        color: #ffffff !important;
        font-size: 18px !important;
        margin-right: 8px !important;
    }

    /* Testo: 15px, Peso 500, Bianco */
    .custom-contact-box span {
        color: #ffffff !important;
        font-family: 'Roboto', sans-serif !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        white-space: nowrap !important;
    }

    /* Icona WhatsApp Desktop */
    .custom-contact-box .wa-header-shield svg {
        fill: #ffffff !important;
        width: 16px !important;
        height: 16px !important;
        margin-right: 8px !important;
        display: inline-block !important;
    }

    /* HOVER: Azzurro #8fb4ed per Testo, Icone e SVG */
    .custom-contact-box a:hover span, 
    .custom-contact-box a:hover i.material-icons,
    .custom-contact-box a:hover .wa-header-shield svg {
        color: #8fb4ed !important;
        fill: #8fb4ed !important;
        transition: all 0.3s ease;
    }

    /* Disabilita trasformazioni mobile su desktop */
    .custom-contact-box a:active {
        transform: none !important;
    }
}

/* --- FIX TOUCH AREA ICONA DROP: APERTURA E CHIUSURA FLUIDA --- */
@media (max-width: 991px) {
    
    .menu-item, .category-item, li.item { 
        position: relative !important;
        display: block !important;
    }

    .menu-item a, .category-item a {
        display: block !important;
        padding-right: 60px !important; /* Aumentato leggermente per sicurezza */
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* L'area di tocco deve essere dominante in entrambi gli stati */
    .icon-drop-mobile {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        /* Usiamo un'altezza fissa se 100% dà problemi in chiusura */
        height: 50px !important; 
        width: 60px !important; /* Più larga per facilitare il pollice in chiusura */
        
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        
        /* z-index 999 assicura che l'area sia sopra il sottomenu che si apre */
        z-index: 999 !important; 
        cursor: pointer !important;
        background: transparent !important;
        -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    }

    /* Quando il menu è aperto (classe .open o simile), assicuriamoci che l'area resti lì */
    .open > .icon-drop-mobile, 
    .is-active > .icon-drop-mobile {
        z-index: 999 !important;
    }

    .icon-drop-mobile i, 
    .icon-drop-mobile:after {
        font-size: 24px !important; /* Icona un pelo più grande */
        pointer-events: none !important;
        transition: transform 0.3s ease !important;
    }

    /* Feedback al tocco più visibile per conferma utente */
    .icon-drop-mobile:active {
        background-color: rgba(53, 94, 158, 0.1) !important;
        border-radius: 0 !important; /* Rettangolo per coprire tutta l'area di tocco */
    }
}

@media (max-width: 991px) {
    /* MANIGLIA */
    .tvmobile-slidebar.open::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translateY(-50%);
        width: 4px; height: 40px;
        background-color: #355e9e;
        border-radius: 10px;
        z-index: 999;
    }

    /* BLOCCO BODY: Qui togliamo position:fixed per eliminare la banda grigia */
    body.tvmobile-slider-open {
        overflow: hidden !important;
        height: 100dvh !important; /* Dinamico per Safari */
        position: relative !important; /* NO FIXED = NO BANDA GRIGIA */
        width: 100% !important;
    }

    /* RESET */
    body:not(.tvmobile-slider-open) {
        overflow: visible !important;
        position: static !important;
        height: auto !important;
    }

    /* KILLER BACKDROP */
    body:not(.tvmobile-slider-open) .full-wrapper-backdrop,
    .tvmobile-slidebar:not(.open) ~ .full-wrapper-backdrop {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
}

/* --- STEP 6: BREADCRUMB COMPLETA & ISTITUZIONALE --- */

/* 1. Base comune per tutti gli elementi della breadcrumb */
body nav.breadcrumb ol li {
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    color: #666 !important; /* Colore neutro per i link intermedi */
}

/* 2. Label iniziale (Home / Sei in) - Bold e Uppercase */
.breadcrumb-label, 
body nav.breadcrumb ol li:first-child,
body nav.breadcrumb ol li:first-child a {
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #666 !important;
}

/* 3. Ultimo elemento (Nome Prodotto) - Blu Istituzionale e Bold */
body nav.breadcrumb ol li:last-child, 
body nav.breadcrumb ol li:last-child span,
body nav.breadcrumb ol li:last-child a {
    color: #355e9e !important; /* Il tuo Blu #355e9e */
    font-weight: 700 !important;
    text-transform: none !important;
    text-decoration: none !important;
}

/* 4. Hover unico e coerente sul Blu Istituzionale */
body nav.breadcrumb ol li:last-child:hover span,
body nav.breadcrumb ol li:last-child a:hover span {
    color: #244376 !important; /* Versione più scura e sobria del tuo blu */
    text-decoration: underline !important;
}

/* 5. Separatore (se presente come carattere speciale) */
body nav.breadcrumb ol li:not(:last-child):after {
    color: #ccc !important;
    content: "/"; /* O l'icona del tuo tema, lo mantiene leggero */
    margin: 0 8px;
}

/* --- STEP 6.6: BREADCRUMB COMPATTA MONOLINEA --- */

/* 1. Forza tutto su una riga e allinea verticalmente */
body nav.breadcrumb ol {
    display: block !important;
    white-space: nowrap !important; /* Impedisce di andare a capo */
    overflow: hidden;
    text-overflow: ellipsis;
}

body nav.breadcrumb ol li {
    display: inline !important; /* Ritorno al display inline per massima compattezza */
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* 2. Separatore "/" con il tuo margine richiesto */
body nav.breadcrumb ol li:not(:last-child)::after {
    content: "/" !important;
    margin: 0 5px !important; /* La tua scelta di compattezza */
    color: #ccc !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* 3. Icona Casa (Pseudo-elemento) perfettamente integrata */
.breadcrumb li:first-child a:before {
    font-family: "Material Icons" !important;
    content: "\e88a" !important;
    font-size: 20px !important; 
    vertical-align: middle !important;
    display: inline-block !important;
    position: relative !important;
    top: -2px !important; /* Allineamento ottico */
    margin-right: 5px !important;
    color: #666 !important;
}

/* 4. Label in Uppercase e Last-child in Blu #355e9e */
.breadcrumb-label, 
body nav.breadcrumb ol li:first-child a {
    text-transform: uppercase !important;
    font-weight: 600 !important;
}

body nav.breadcrumb ol li:last-child span {
    color: #355e9e !important;
    font-weight: 700 !important;
}

/* --- STEP 6.8: MOBILE BREADCRUMB - CENTRATA E COMPATTA --- */

@media (max-width: 767px) {
    body nav.breadcrumb ol {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important; /* Centra tutta la navigazione */
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        padding: 5px 0 !important; /* Ridotto al minimo per non rubare spazio */
        text-align: center !important;
    }

    body nav.breadcrumb ol li {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 2px !important; /* Spazio minimo tra eventuali righe */
        line-height: 1.3 !important;
    }

    /* Rendiamo i separatori ancora più compatti per mobile */
    body nav.breadcrumb ol li:not(:last-child)::after {
        margin: 0 3px !important;
        font-size: 11px !important;
        opacity: 0.7;
    }
    
    /* Piccola correzione per l'icona casa centrata */
    .breadcrumb li:first-child a:before {
        margin-right: 4px !important;
        font-size: 18px !important; /* Leggermente meno "aggressiva" su mobile */
    }
}
/* --- MOBILE REFINEMENT (991px) --- */
@media (max-width: 991px) {
    body nav.breadcrumb {
        padding: 5px 0 !important; /* Spazio minimo indispensabile */
        background: transparent !important; /* Evita fasce grigie che "tagliano" la vista */
    }

    body nav.breadcrumb ol {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important; /* Allineamento centrale moderno */
        white-space: normal !important;
        text-align: center !important;
        margin: 0 !important;
    }
}
/* --- STEP 7 FINAL: ACCOUNT & WISHLIST UNIFIED --- */

/* 1. Allineamento Base per tutti i blocchi della testata */
#_desktop_user_info,
#_desktop_wishtlistTop,
.tvheader-wishlist-wrapper, 
.tvheader-compare-wrapper,
#_desktop_compare {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    margin-left: 5px !important;  /* Margini stretti per non sprecare spazio */
    margin-right: 5px !important;
    padding: 0 !important;
}

/* 2. Fix specifico per i link interni (Accedi e Preferiti) */
#tvcmsdesktop-user-info .tvhedaer-sign-btn,
.tvcmsdesktop-view-wishlist,
.tvheader-compare-wrapper > a {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    padding: 0 5px !important;
}

/* 3. Icone: Colore #355e9e e Allineamento millimetrico */
.tvwishlist-icon i, 
.tvdesktop-compare-icon i, 
#tvcmsdesktop-user-info .tvhedaer-sign-btn i, 
.tvmyccount i {
    font-size: 22px !important;
    color: #355e9e !important;
    display: inline-block !important;
    line-height: 1 !important;
    margin-right: 5px !important; /* Distanza icona-testo identica per tutti */
    position: relative !important;
    top: -1px !important; /* Correzione ottica per il pupino e il cuore */
}

/* 4. Testi: Roboto 14px Weight 500 */
.tvuser-info-text,
.tvwishlist-name span, 
.tvdesktop-view-compare-name,
#tvcmsdesktop-user-info .tvhedaer-sign-btn span {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-transform: capitalize !important;
    display: inline-block !important;
}

/* 5. Hover Istituzionale */
#_desktop_user_info:hover *,
#_desktop_wishtlistTop:hover * {
    color: #244376 !important;
    transition: color 0.2s ease !important;
}

/* --- FIX SOTTOMENU DESKTOP: RIPRISTINO FLUIDITÀ --- */

@media (min-width: 992px) {
    /* 1. Sblocchiamo l'altezza del contenitore dropdown */
    .tv-sub-menu, 
    .tv-menu-horizontal .menu-dropdown,
    .tvmega-menu-dropdown {
        height: auto !important; 
        min-height: 300px !important; /* Diamo un minimo per sicurezza */
    }

    /* 2. Reset dell'altezza riga per i link interni ai sottomenu */

    /* Usiamo un selettore che esclude i link della barra blu (level-1) */
    .tv-menu-horizontal ul li.level-1 ul li a {
        line-height: 1.5 !important; /* Ritorna normale */
        height: auto !important;
        padding: 8px 15px !important;
        display: block !important;
        font-size: 14px !important;
        text-transform: none !important;
        font-weight: 400 !important;
    }
	
    /* 3. Assicuriamoci che i sottomenu non siano trasparenti o schiacciati */
    #header .tv-menu-horizontal .tv-sub-menu {
        background-color: #ffffff !important;
        box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
        opacity: 1 !important;
        visibility: visible; /* Lasciamo gestire l'hover al tema */
    }
}

/* --- STEP 8 CART MENU --- */

/* --- HEADER CARRELLO: STRUTTURA A 3 BLOCCHI --- */
.ttvcart-close-title-count {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important; /* X sinistra, Spazio centro, Contatore destra */
    padding: 0 15px !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #eeeeee;
    position: relative !important;
    min-height: 50px !important;
}

/* --- 1. LA X DINAMICA (A SINISTRA) --- */
button.ttvclose-cart {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background-color: #355e9e !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    z-index: 10 !important;
    color: transparent !important;
    overflow: visible !important;
}

button.ttvclose-cart::before {
    content: '\e5cd' !important;
    font-family: 'Material Icons' !important;
    color: white !important;
    font-size: 22px !important;
    position: absolute !important;
    display: block !important;
    line-height: 1 !important;
}

button.ttvclose-cart:hover {
    background-color: #8fb4ed !important;
    transform: rotate(90deg) !important;
}

/* --- 2. IL TESTO CARRELLO (PERFETTAMENTE AL CENTRO) --- */
.ttvcart-top-title {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 5 !important;
}

.ttvcart-top-title h4 {
    font-family: 'Roboto', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* --- 3. IL CONTATORE (TUTTO A DESTRA E PERFETTAMENTE TONDO) --- */
.ttvcart-counter {
    margin-left: auto !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    /* Reset contenitore per evitare asimmetrie */
    background: transparent !important;
    width: 26px !important;
    height: 26px !important;
}

.ttvcart-counter .ttvcart-products-count {
    background-color: #355e9e !important;
    color: #ffffff !important;
    width: 26px !important;  /* Dimensione fissa per cerchio perfetto */
    height: 26px !important; /* Dimensione fissa per cerchio perfetto */
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important; /* Centra il numero verticalmente */
    box-sizing: border-box !important;
}

/* --- MANIGLIA E SWIPE (MOBILE) --- */
@media (max-width: 991px) {
    .ttvcmscart-show-dropdown-right {
        overflow: visible !important;
    }

    .ttvcmscart-show-dropdown-right.open::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        left: -18px !important; 
        width: 18px !important;
        height: 80px !important;
        background-color: #ffffff !important;
        transform: translateY(-50%) !important;
        border-radius: 12px 0 0 12px !important;
        box-shadow: -4px 0 8px rgba(0,0,0,0.1) !important;
        z-index: 9998 !important;
    }

    .ttvcmscart-show-dropdown-right.open::before {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        left: -10px !important; 
        width: 4px !important;
        height: 35px !important;
        background-color: #355e9e !important;
        border-radius: 10px !important;
        transform: translateY(-50%) !important;
        z-index: 9999 !important;
    }
}

/* --- UNIFORMAZIONE X DINAMICA (VERSIONE SOLIDA) --- */
button.ttvclose-cart {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background-color: #355e9e !important; /* Sempre Blu Istituzionale */
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    z-index: 10 !important;
    color: transparent !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Piccola ombra per profondità */
}

button.ttvclose-cart::before {
    content: '\e5cd' !important;
    font-family: 'Material Icons' !important;
    color: white !important;
    font-size: 22px !important;
    position: absolute !important;
    line-height: 1 !important;
}

/* Hover: Ruota ma rimane Blu (o schiarisce appena per feedback) */
button.ttvclose-cart:hover {
    background-color: #2a4b7c !important; /* Un blu leggermente più scuro invece della trasparenza */
    transform: rotate(90deg) !important;
}

/* --- UNIFORMAZIONE MANIGLIA SINISTRA (MENU) --- */
@media (max-width: 991px) {
    .tvmobile-slidebar {
        overflow: visible !important; /* Fondamentale per far vedere la maniglia fuori */
    }

    /* Aletta Bianca (Sinistra) */
    .tvmobile-slidebar.open::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: -18px !important; /* Spunta verso DESTRA rispetto al menu */
        width: 18px !important;
        height: 80px !important;
        background-color: #ffffff !important;
        transform: translateY(-50%) !important;
        border-radius: 0 12px 12px 0 !important; /* Arrotondata sul lato esterno */
        box-shadow: 4px 0 8px rgba(0,0,0,0.1) !important;
        z-index: 9998 !important;
    }

    /* Maniglia Blu (Sinistra) */
    .tvmobile-slidebar.open::before {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: -10px !important; 
        width: 4px !important;
        height: 35px !important;
        background-color: #355e9e !important;
        border-radius: 10px !important;
        transform: translateY(-50%) !important;
        z-index: 9999 !important;
    }
}

/* --- STEP 9: UNIFORMAZIONE OMBRE (SLIDER + BANNER DESTRA) --- */
/* --- STEP 9: UNIFORMAZIONE OMBRA SLIDER (COPIA DAI BOX DESTRA) --- */

/* Applichiamo la regola specifica dei box solo allo slider principale */
.tvcms-main-slider,
.tvcmssmain-slider-wrapper {
    /* Usiamo esattamente i valori che hai trovato nei box */
    /*box-shadow: 0 1px 2px rgba(60, 64, 67, .15), 0 1px 3px rgba(60, 64, 67, .1) !important;*/
    border-radius: 6px !important;
    
    /* Pulizia: rimuoviamo filtri che potrebbero sporcare l'effetto */
    filter: none !important;
    background: transparent !important; 
}

/* Assicuriamoci che l'immagine interna segua la curvatura dei bordi */
.tvcms-main-slider img,
.tvcmssmain-slider-wrapper img {
    border-radius: 6px !important;
}

/* --- TENTATIVO FINALE FORZATO SOLO PER SLIDER --- */
/* Rimuove il riquadro extra e corregge i banner desktop */
.tvcms-main-slider, 
.tvcmsmain-slider-wrapper {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important; /* Libera i contenitori esterni */
    contain: none !important;      /* Rimuove il blocco che sposta i banner */
}

/* Applica il blocco SOLO allo slider vero e proprio */
.tv-main-slider.slider-fixed-ratio {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1920 / 850 !important;
    overflow: hidden;
    display: block;
}

/* Forza l'immagine a riempire lo spazio senza smorzarsi */
.tvmain-slider-img, 
#tvmain-slider .owl-item img {
    width: 100% !important;
    height: auto !important;
    min-height: 100%;
    object-fit: cover !important;
    aspect-ratio: 1920 / 850 !important;
}

/* FIX MOBILE: Impedisce al footer di saltare solo in mobile */
@media (max-width: 991px) {
    .tv-main-slider.slider-fixed-ratio {
        min-height: 200px !important; /* Prenota lo spazio per evitare il micro-shift */
    }
}
 
/* --- 10 RICERCA AJAX: UNIFORMITÀ --- */

/* --- RICERCA AJAX: BLU ISTITUZIONALE E TITOLI INTERI --- */

/* 1. Icona Chiusura (X Blu #355e9e) */
.tvsearch-dropdown-close-wrapper {
    position: absolute;
    right: 0px;
    top: 20px;
    cursor: pointer;
    z-index: 10;
}

.tvsearch-close-icon-custom {
    position: relative;
    width: 26px;
    height: 26px;
    background: #355e9e; /* Tuo Blu Istituzionale */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.tvsearch-close-icon-custom span {
    position: absolute;
    width: 12px;
    height: 2px;
    background: white;
    border-radius: 2px;
}

.tvsearch-close-icon-custom .line-1 { transform: rotate(45deg); }
.tvsearch-close-icon-custom .line-2 { transform: rotate(-45deg); }

.tvsearch-dropdown-close-wrapper:hover .tvsearch-close-icon-custom {
    transform: rotate(90deg);
    opacity: 0.8;
}

/* 2. Titolo e Font Uniformato */
.tvsearch-dropdown-title {
    font-family: inherit !important; /* Usa il font del sito */
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #333 !important;
    margin-bottom: 5px;
    
    /* Disabilita troncamenti */
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
}

/* 3. Prezzi */
.tvsearch-dropdown-content-box .price {
    font-size: 15px;
    font-weight: 700;
    color: #0066cc !important; /* Tuo Blu Prezzi */
}

.tvsearch-dropdown-title {
    margin-bottom: 12px !important; /* Aumenta leggermente lo spazio tra titolo e prezzo */
}

/* 4. Layout 2 Colonne Desktop */
@media (min-width: 768px) {
    .tvsearch-all-dropdown-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
    }
    .tvsearch-dropdown-wrapper {
        width: calc(50% - 8px); /* Bilancia le due colonne */
        display: flex;
        border-bottom: 1px solid #f0f0f0;
        padding-bottom: 10px;
    }
}

/* Mobile: Colonna singola per leggere bene i titoli lunghi */
@media (max-width: 767px) {
    .tvsearch-dropdown-wrapper {
        width: 100%;
        border-bottom: 1px solid #f0f0f0;
        padding-bottom: 15px;
    }
}

/* 1. Prepariamo il contenitore del testo */
.tvsearch-dropdown-content-box {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important; /* Spinge il contenuto ai due estremi */
    height: 100%; /* Occupa tutta l'altezza disponibile */
    flex-grow: 1; /* Prende tutto lo spazio a destra dell'immagine */
}

/* 2. Il titolo */
.tvsearch-dropdown-title {
    margin-bottom: 5px !important;
    /* Lasciamo il titolo libero di espandersi */
}

/* 3. Il blocco Prezzo (Fissato in basso) */
.product-price-and-shipping {
    margin-top: auto !important; /* Questo è il trucco: spinge il prezzo in fondo al contenitore */
    padding-top: 5px;
    border-top: 1px dotted #f0f0f0; /* Opzionale: una sottile linea per separarlo dal testo */
}

/* --- RICERCA AJAX: FIX MOBILE (X E POSIZIONAMENTO) --- */
@media (max-width: 991px) {
    /* 1. Forza la posizione a destra e il font del totale */
    #header .tvcmssearch-dropdown .tvsearch-dropdown-close-wrapper {
        right: 0 !important;
        left: auto !important;
        top: 5px !important;
        position: absolute !important;
    }

    .tvsearch-dropdown-total {
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #333 !important;
        text-transform: none !important;
    }

    /* 2. Il cerchio blu (QUI il border-radius 50% va bene) */
    .tvsearch-close-icon-custom {
        background-color: #355e9e !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        transition: transform 0.3s ease !important;
    }

    /* 3. LE LINEE: Annulliamo il border-radius 50% che causa la stella */
    .tvsearch-close-icon-custom span {
        background-color: #ffffff !important;
        border-radius: 0px !important; /* RESET FONDAMENTALE per togliere l'effetto stella */
        height: 2px !important;
        width: 16px !important;
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
    }

    /* Rotazione pulita centrata */
    .tvsearch-close-icon-custom .line-1 {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    .tvsearch-close-icon-custom .line-2 {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    /* Effetto rotazione al tocco */
    .tvsearch-dropdown-close-wrapper:active .tvsearch-close-icon-custom {
        transform: rotate(90deg) !important;
    }
}


/* Evitiamo che il modulo ricerca causi sobbalzi */
.tvcmssearch-wrapper {
    min-height: 50px !important; 
    contain: layout;
}

/* --- FIX TOOLTIP GENERATO (MOBILE) --- */
@media (max-width: 767px) {
 .estimateddelivery .ed_tooltip:hover:after {
    /* Annulliamo il 20% che lo sposta a destra */
    left: 50% !important; 
    
    /* Spostiamo indietro il tooltip di metà della sua stessa larghezza */
    transform: translateX(-50%) !important;
    
    /* Impediamo che il testo sia troppo largo per lo schermo dell'iPhone */
    width: auto !important;
    max-width: 85vw !important; 
    white-space: normal !important;
    text-align: center !important;
	 
	 /* Migliora la leggibilità su schermi piccoli */
        box-sizing: border-box !important;
        padding: 8px 12px !important;
        font-size: 13px !important; /* Leggermente più piccolo per stare su meno righe */
        border: 1px solid rgba(255,255,255,0.1) !important;
}
}

/* BLOCCO SCROLL AGGRESSIVO PER POPUP ED */
body.modal-open-estimated {
    overflow: hidden !important;
    position: fixed !important; /* Indispensabile per iOS */
    width: 100% !important;
    height: 100% !important;
    touch-action: none !important; /* Impedisce il trascinamento della pagina sotto */
    overscroll-behavior: none !important;
}

/* Assicuriamoci che il popup rimanga sopra tutto quando il body è fixed */
#ed_popup_content {
    z-index: 999999 !important;
}

@media (max-width: 767px) {
    /* Stato base: il modal deve essere pronto a scivolare dal basso */
    #blockcart-modal.modal .modal-dialog {
        /*margin: 0 !important;*/
		margin: 60px 0px 0px 0px !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        /* Forza la posizione di partenza fuori schermo */
        /*transform: translateY(100%) !important;*/
        transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    }

    /* Quando il modal ha la classe .show, deve salire a 0 */
    #blockcart-modal.modal.show .modal-dialog {
        transform: translateY(0) !important;
    }

    /* Stile della maniglia esistente (se è un ::before o un div) */
    .tv-addtocart-msg-wrapper .modal-content::before {
        content: "";
        display: block;
        width: 40px;
        height: 5px;
        background: #ddd;
        border-radius: 10px;
        margin: 10px auto;
    }
    
    /* Arrotondiamo solo i bordi  */
    #blockcart-modal .modal-content {
        border-radius: 20px 20px 20px 20px !important;
        border: none !important;
		box-shadow: 0 -10px 30px rgba(0,0,0,0.3) !important;
    }
	
	#blockcart-modal .modal-title i.material-icons {
    margin-right: 5px;
    }
	
	#blockcart-modal.tv-addtocart-msg-wrapper .modal-content::before {
        margin: 5px auto !important;
        /* Se vuoi essere sicuro che appaia come una maniglia, aggiungi anche: */
        display: block;
        content: ""; 
    }
	
	#blockcart-modal.tv-addtocart-msg-wrapper .modal-body h6, 
    #blockcart-modal.tv-addtocart-msg-wrapper .modal-body .h6 {
        margin-top: 5px !important; /* Ridotto da 20px a 5px */
        margin-bottom: 10px !important;
    }
}

/* =========================================================
   FIX X POPUP SAVE MY CART - POSIZIONE E PULIZIA
   ========================================================= */

/* Resetta il contenitore originale del modulo */
.ets_sc_shopping_cart .ets_sc_close.tvsearch-dropdown-close-wrapper {
    position: absolute !important;
    top: 10px !important;   /* Posizionata dentro il box */
    right: 5px !important;
    width: 32px !important;
    height: 32px !important;
    background: #355e9e !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 999 !important;
    border: none !important; /* Rimuove eventuali bordi grigi del modulo */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
    text-indent: -9999px; /* Nasconde eventuali testi "X" o caratteri del modulo */
}

/* Rimuove l'asta grigia/pseudo-elementi del modulo originale */
.ets_sc_shopping_cart .ets_sc_close::before,
.ets_sc_shopping_cart .ets_sc_close::after {
    display: none !important; /* Questo elimina l'asta grigia residua */
}

/* Contenitore delle nostre linee bianche */
.ets_sc_shopping_cart .tvsearch-close-icon-custom {
    position: relative !important;
    width: 14px !important;
    height: 14px !important;
    text-indent: 0 !important; /* Ripristina la visibilità per le linee */
    display: block !important;
}

/* Le nostre linee bianche */
.ets_sc_shopping_cart .tvsearch-close-icon-custom span {
    background-color: #ffffff !important;
    height: 2px !important;
    width: 100% !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    display: block !important;
}

/* Incrocio perfetto a 45 gradi */
.ets_sc_shopping_cart .tvsearch-close-icon-custom .line-1 {
    transform: translateY(-50%) rotate(45deg) !important;
}

.ets_sc_shopping_cart .tvsearch-close-icon-custom .line-2 {
    transform: translateY(-50%) rotate(-45deg) !important;
}

/* Effetto rotazione al passaggio del mouse */
.ets_sc_shopping_cart .ets_sc_close:hover .tvsearch-close-icon-custom {
    transform: rotate(90deg) !important;
    transition: transform 0.3s ease !important;
}
/* =========================================================
   BLOCCO COMPLETO POPUP SHARE (INVIO CARRELLO)
   X Posizionata in alto e pulita dall'asta grigia
   ========================================================= */

/* 1. Reset e Posizionamento dello span di chiusura */
.ets_sc_overload2 .ets_sc_close {
    text-indent: -9999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    
    position: absolute !important;
    top: 8px !important;    /* Alzata per non toccare il titolo */
    right: 8px !important;  /* Spostata nell'angolo */
    
    width: 30px !important;
    height: 30px !important;
    background-color: #355e9e !important;
    border-radius: 50% !important;
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 9999 !important;
    border: none !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
}

/* 2. KILLER ASTA GRIGIA (Pseudo-elementi del modulo) */
.ets_sc_overload2 .ets_sc_close::before, 
.ets_sc_overload2 .ets_sc_close::after {
    content: none !important;   /* Elimina l'asta grigia */
    display: none !important;   /* Nasconde l'elemento */
    background: none !important;
}

/* 3. La nostra X bianca interna */
.ets_sc_overload2 .tvsearch-close-icon-custom {
    text-indent: 0 !important;
    position: relative !important;
    width: 12px !important;
    height: 12px !important;
    display: block !important;
}

.ets_sc_overload2 .tvsearch-close-icon-custom span {
    background-color: #ffffff !important;
    height: 2px !important;
    width: 100% !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    display: block !important;
}

.ets_sc_overload2 .line-1 { transform: translateY(-50%) rotate(45deg) !important; }
.ets_sc_overload2 .line-2 { transform: translateY(-50%) rotate(-45deg) !important; }

/* 4. Spaziatura Titolo per evitare sovrapposizioni */
.ets_sc_overload2 .panel-heading .title {
    padding-right: 45px !important; 
    margin-top: 5px !important;
    font-size: 1.1rem !important;
}

/* 5. Uniformità pulsanti nel popup Share */
.ets_sc_overload2 .btn-primary {
    background-color: #355e9e !important;
    border-radius: 50px !important;
    border: none !important;
    padding: 10px 25px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 10px rgba(53, 94, 158, 0.2) !important;
    transition: all 0.3s ease !important;
}

.ets_sc_overload2 .btn-primary:hover {
    background-color: #2a4a7d !important;
    transform: translateY(-2px) !important;
}

/* 1. Alza il livello di tutto il blocco ricerca */
#desktop_search, 
.tvcmssearch-wrapper,
.tvsearch-header-display-wrappper {
    z-index: 999 !important;
    position: relative !important;
    overflow: visible !important; /* Impedisce che il menu venga tagliato */
}

/* 2. Forza il dropdown e i risultati sopra a tutto */
.tvsearch-result,
.tvcmssearch-dropdown {
    z-index: 999999 !important; /* Valore altissimo per stare sopra a banner e menu */
    /*position: absolute !important;*/
    display: block !important;
    background: #ffffff !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Impedisce a iOS di ridimensionare il testo automaticamente */
html {
    -webkit-text-size-adjust: 100%;
}

/* 1. Eleviamo il carrello al livello massimo (deve vincere lui) */
.ttvcmscart-show-dropdown-right {
    z-index: 2000 !important; /* Valore molto alto per stare sopra a tutto */
}

/* 2. Abbassiamo la ricerca e gli altri elementi dell'header */
#desktop_search, 
.tvcmssearch-wrapper, 
.tvsearch-header-display-wrappper,
.tvcmsmobile-header-search-logo-wrapper {
    z-index: 999 !important; /* Resta sotto il carrello */
}

/* 3. Assicuriamoci che lo sfondo oscurante (backdrop) sia sotto il carrello ma sopra la ricerca 
.full-wrapper-backdrop {
    z-index: 1999 !important;
}*/

/* Impedisce a Chrome/Safari di sottolineare o colorare i numeri */
.product-detail-name, 
.product-detail-name * {
    text-decoration: none !important;
    color: inherit !important;
    -webkit-tap-highlight-color: transparent !important;
}


/* Blocca l'altezza dei blocchi prodotto prima del caricamento */
.tvcmsspecial-product .tvcmsmain-product-wrapper,
.tvcmsnew-product .tvcmsmain-product-wrapper {
    min-height: 350px; /* Regola questo valore in base all'altezza reale dei tuoi box prodotto */
}

/* Blocca il banner spedizioni */
img[alt="pic-pagamenti-spedizioni-10000informatica"] {
    aspect-ratio: 303 / 502 !important;
    height: auto !important;
    min-height: 421px;
}

@media (max-width: 575px) {
    .tvmain-slider-img { min-height: 200px; background: #f0f0f0; }
}

/* Riserva spazio per lo slider su mobile */
@media (max-width: 767px) {
    .tvcmsspecial-product, .tvmain-slider-img {
        min-height: 250px !important;
        display: block;
    }
}

/* Blocca il salto del layout dei Prodotti di Tendenza */
.tvcmsspecial-product {
    min-height: 450px !important; /* Riserva lo spazio prima che appaia il contenuto */
    contain: paint;
}

/* Evita che le immagini dei prodotti saltino */
.tvproduct-defult-img {
    aspect-ratio: 1 / 1;
    background-color: #f8f8f8;
    height: auto;
}

.tvmain-slider-img {
    aspect-ratio: 1920 / 850; 
    width: 100%;
    height: auto;
}

/* Forza l'adattamento dello slider su tutti i dispositivi */
.tvmain-slider-img {
    width: 100% !important;
    height: auto !important; /* Impedisce il taglio verticale */
    object-fit: contain;     /* Assicura che l'immagine sia interamente visibile */
    display: block;
}

/* --- RESET TOTALE ALTEZZA SLIDER MOBILE --- */
@media (max-width: 767px) {
    /* 1. Reset dei contenitori padre citati */
    .tvcmsmain-slider-wrapper,
    .tvcms-main-slider,
    .tv-main-slider {
        height: auto !important;
        min-height: unset !important;
        max-height: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    /* 2. Reset specifico della struttura OwlCarousel interna */
    .tv-main-slider .owl-stage-outer,
    .tv-main-slider .owl-stage,
    .tv-main-slider .owl-item {
        height: auto !important;
        min-height: unset !important;
    }

    /* 3. L'immagine deve essere fluida e non tagliata */
    .tvmain-slider-img, 
    #tvmain-slider .owl-item img {
        width: 100% !important;
        height: auto !important;
        min-height: unset !important;
        object-fit: contain !important; /* Mostra l'immagine intera */
        display: block;
    }

    /* 4. Rimuove eventuali spazi bianchi causati da flex o line-height */
    .tvslider-list {
        display: block;
        line-height: 0;
    }
}

/* --- OTTIMIZZAZIONE SIMMETRICA TAB PRODOTTI MOBILE --- */
@media (max-width: 767px) {
    /* 1. Il contenitore principale deve avere spazio uguale ai lati */
    .tvcms-product-tab-list,
    .tvtab-product-branner {
        padding-left: 20px !important;
        padding-right: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .tvcms-product-tab-list .row,
    .tvtab-product-branner .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    /* 3. Se i singoli prodotti hanno troppo margine a destra, li centriamo */
    .tvcms-product-tab-list .item, 
    .tvtab-product-branner .item {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    /* 4. Rallineiamo il titolo se dovesse sembrare spostato */
    .tvtab-product-branner .tvcmsmain-title-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
    }
	
	.owl-carousel {
    width: 100% !important;
    margin: 0 auto !important;
    }
	
	.tvproduct-wrapper.grid,
   .tvproduct-wrapper.grid-2 {
    margin-right: 0 !important; 
    }
	
	.product-miniature {
     margin-bottom: 0px;
	}
}

/* --- FIX ICONE PAGAMENTO (PNG 400x32) --- */
.payment-icon-full {
    display: block;
    width: 100% !important;
    max-width: 372px !important; /* Limitiamo al valore reale che hai su Desktop */
    height: auto !important;
    aspect-ratio: 400 / 32 !important; /* Fondamentale per il CLS */
    object-fit: contain;
    margin: 10px 0;
}

/* Su Desktop allineiamo al centro se necessario per il punto 3 */
@media (min-width: 1200px) {
    .tvfooter-payment-icon-wrapper {
        display: flex;
        justify-content: center;
    }
    .payment-icon-full {
        margin: 10px auto;
    }
}

/* Fix specifico per Mobile */
@media (max-width: 767px) {
    .tvfooter-payment-icon-img-block {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .payment-icon-full {
        max-width: 100% !important; 
        margin: 10px auto;
    }
}

/* ==========================================================
   2. FIX SOLO MOBILE (Max-width: 991px)
   ========================================================== */
@media (max-width: 991px) {

    /* IMMAGINI: Forza 1:1 e previene la deformazione */
    .tvproduct-image, 
    .tvcat-image, 
    .tvproduct-image-inner-wrapper,
    .tvproduct-defult-img {
        aspect-ratio: 1 / 1 !important;
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        display: block;
        background-color: #ffffff !important;
    }

    /* AREA PULSANTI: Solo per Mobile */
    

    /* Cerchi Verde e Arancio: Forza la forma circolare */
    .tvproduct-hover-btn a, 
    .tvproduct-hover-btn button,
    .tvproduct-cart-btn .add-to-cart {
        width: 45px !important;
        height: 45px !important;
        min-width: 45px !important; /* Impedisce che diventi "pacchione" */
        max-width: 45px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: 0 3px 6px rgba(0,0,0,0.1) !important;
        overflow: hidden !important;
    }

    /* Icone perfettamente centrate */
    .tvproduct-hover-btn i, 
    .tvproduct-hover-btn svg {
        font-size: 20px !important;
        line-height: 1 !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        color: #ffffff !important;
    }

    /* TITOLI PRODOTTI: Visualizzazione completa */
    .tvproduct-name, .tvproduct-name a {
        display: block !important;
        overflow: visible !important; 
        white-space: normal !important;
        min-height: 3.5em;
        line-height: 1.3em;
    }

    /* MODULI: Altezze minime per il CLS mobile */
    .tvcmsspecial-product {
        min-height: 580px !important;
        display: block;
        contain: paint;
    }
    .tvtab-product-wrapper {
        min-height: 520px !important;
    }

    /* OWL Carousel Mobile Fix */
    .products.owl-carousel:not(.owl-loaded) {
        display: flex !important;
        overflow: hidden;
    }
    .products.owl-carousel:not(.owl-loaded) .item {
        width: 50% !important;
        padding: 10px;
    }
}

/* ==========================================================
   3. FIX SPECIFICO DESKTOP (Min-width: 992px)
   ========================================================== */
@media (min-width: 992px) {
    /* Punta al pulsante del carrello e a quello dell'acquisto rapido */
    .tvproduct-cart-btn .add-to-cart,
    .tvproduct-buy-now a,
    .tvproduct-quick-btn a,
    .tvproduct-hover-btn button {
        width: 45px !important;
        height: 45px !important;
        min-width: 45px !important;
        max-width: 45px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        overflow: hidden !important;
        /* Impedisce a eventuali testi interni di allargare il cerchio */
        text-indent: -9999px; 
        white-space: nowrap;
    }

    /* Ripristina l'icona al centro dopo il text-indent */
    .tvproduct-cart-btn .add-to-cart i,
    .tvproduct-cart-btn .add-to-cart svg,
    .tvproduct-hover-btn i {
        text-indent: 0 !important;
        display: block !important;
        font-size: 18px !important;
    }
}

/* --- FIX CHIRURGICO PER IL PULSANTE VERDE (RIPRISTINA TONDO) --- */

/* Usiamo selettori molto specifici per "vincere" sulla regola generale */
.tvproduct-hover-btn .tvproduct-cart-btn .add-to-cart,
.tvproduct-wrapper .tvproduct-cart-btn .add-to-cart {
    /* Resettiamo i valori che causano la deformazione */
    min-height: 45px !important; 
    max-height: 45px !important;
    width: 45px !important;
    min-width: 45px !important;
    
    /* Azzeriamo il padding che allungava il pulsante a 48px */
    padding: 0 !important; 
    
    /* Forza il cerchio perfetto */
    border-radius: 50% !important;
    
    /* Centra l'icona ed elimina eventuali testi nascosti */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-indent: 0 !important;
}

/* Assicura che l'icona interna non risenta del padding generale */
.tvproduct-cart-btn .add-to-cart i {
    padding: 0 !important;
    margin: 0 !important;
    font-size: 20px !important;
}

/* Blocca il salto delle icone Material Icons */
.material-icons {
    display: inline-block;
    width: 24px;   /* Dimensione standard icone */
    height: 24px;
    line-height: 24px;
    overflow: hidden;
    vertical-align: middle;
}

@media (max-width: 767px) {
    /* Alziamo leggermente la min-height perché ora i titoli sono completi */
    .tvcmsspecial-product {
        min-height: 600px !important; 
        display: block !important;
        overflow: hidden;
        /* Questo dice al browser di ignorare i cambiamenti interni per il layout globale */
        contain: layout; 
    }

    /* Riserva spazio per il titolo del modulo prima che appaia */
    .tvcmsspecial-product .tvtab-main-title-wrapper {
        min-height: 50px;
    }
}

.tvcmsspecial-product .tvproduct-image img,
.tvcmsspecial-product .tvproduct-defult-img {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
}

/* ==========================================================
   FIX AGGRESSIVO CLS PER SHIMMER E MODULI (SOLO MOBILE)
   ========================================================== */
@media (max-width: 991px) {
    /* 1. Forza lo Shimmer (il caricamento) a occupare lo spazio del prodotto reale */
    .tvcmsspecial-product .shimmercard-container,
    .tvcmsspecial-product .shimmerproduct {
        height: 620px !important; /* Deve essere identico o superiore al prodotto finale */
        min-height: 620px !important;
        margin-bottom: 20px;
        display: block !important;
    }

    /* 2. Blocca il contenitore principale */
    .tvcmsspecial-product.container-fluid {
        min-height: 650px !important; 
        contain: paint; /* Impedisce al modulo di influenzare il resto della pagina finché non è pronto */
    }

    /* 3. Evita che le icone Material Icons facciano slittare il testo prima di caricarsi */
    .material-icons {
        width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
        overflow: hidden !important;
        /* Prenota lo spazio del carattere speciale */
        font-size: 24px !important; 
    }
}

/* Blocca l'ingombro del font prima che venga scaricato */
.material-icons {
    width: 24px;
    height: 24px;
    display: inline-block;
    overflow: hidden; 
}

/* Quando il font è caricato, mostra l'icona */
.fonts-loaded .material-icons {
    color: inherit;
}

.tvproduct-name {
    min-height: 3em; /* Riserva lo spazio per le righe a prescindere dal font */
}

@media (max-width: 991px) {
    /* Blocca il footer per evitare che "salti" (0.976 score) */
    .footer-container {
        min-height: 400px;
        contain: layout;
    }
}

/* Riserva lo spazio per l'immagine nel momento in cui appare lo Shimmer */
.shimmermedia {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Evita che il caricamento delle immagini sposti i prodotti */
.tvproduct-image img {
    aspect-ratio: 1/1 !important;
    content-visibility: auto;
}

/* FIX ICONE NEI MODULI (Evita che il testo &#xe314; appaia prima dell'icona) */
.tvcms-next-pre-btn i.material-icons {
    width: 24px;
    height: 24px;
    overflow: hidden;
    display: inline-block;
    color: transparent; /* Nasconde il codice testo finché il font non carica */
}

.tvcms-next-pre-btn i.material-icons:not(:empty) {
    color: #fff;
}

/* Impedisce alle icone di occupare spazio extra prima di caricarsi */
.material-icons {
    display: inline-block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 24px;
    vertical-align: middle;
    overflow: hidden;
}

.your-badge-class {
    display: inline-block;
    position: absolute; /* Così non sposta gli altri elementi del menu */
    width: 30px; 
    height: 15px;
}


/* Blocca il contenitore dell'immagine */
.tvproduct-image {
    aspect-ratio: 1 / 1 !important;
    background-color: #f5f5f5; /* Grigio chiarissimo per lo spazio vuoto */
    display: block;
}

.tvproduct-hover-btn.tv-grid-actions {
    min-height: 40px;
    min-width: 40px;
    display: inline-block;
}

@media (max-width: 767px) {
    .tvproduct-name, .tvproduct-name h6 {
        min-height: 48px !important; 
        height: auto !important;    
        display: block !important;
        font-family: 'Roboto', sans-serif !important; 
    }

    /* 2. Immagini: IL VERO PROBLEMA dello 0.600 */
    .tvproduct-image, 
    .tvproduct-wrapper img, 
    .tvproduct-defult-img {
        aspect-ratio: 1 / 1 !important;
        width: 100% !important;
        height: auto !important;
        display: block !important;
        min-height: 160px; /* Evita che il box sia 0px all'inizio */
    }

    /* 3. Blocca il "salto" del modulo Prodotti di Tendenza */
    .tvcmsspecial-product {
        min-height: 580px !important;
        contain: paint;
        background: #ffffff;
    }
}

    /* 2. Immagini: IL VERO PROBLEMA dello 0.600 */
    /* Il browser deve sapere QUANTO è alta l'immagine prima di scaricarla */
    .tvproduct-image, 
    .tvproduct-wrapper img, 
    .tvproduct-defult-img {
        aspect-ratio: 1 / 1 !important;
        width: 100% !important;
        height: auto !important;
        display: block !important;
        min-height: 160px; /* Evita che il box sia 0px all'inizio */
    }

    /* 3. Blocca il "salto" del modulo Prodotti di Tendenza */
    .tvcmsspecial-product {
        min-height: 580px !important;
        contain: paint;
        
    }

@media (max-width: 767px) {
    .tvcms-main-slider {
        min-height: 146px !important; /* Regola in base all'altezza del tuo slider mobile */
    }
}

@media (max-width: 767px) {
    /* Usa Roboto normale che è più veloce e stabile */
    .tvproduct-name h6, .product-title h6 {
        font-family: 'Roboto', sans-serif !important;
        min-height: 42px !important; /* Prenota lo spazio per 2 righe */
        display: block !important;
        line-height: 21px !important;
        margin-bottom: 8px !important;
    }

    /* Blocca le immagini per evitare l'errore "senza dimensioni" */
    .tvproduct-image, 
    .tvproduct-defult-img, 
    .tvproduct-wrapper img {
        aspect-ratio: 1 / 1 !important;
        width: 100% !important;
        height: auto !important;
        background-color: #f5f5f5; /* Placeholder mentre carica */
    }

    /* Evita che le icone (carrello/buy now) appaiano dal nulla spostando il testo */
    .tvproduct-hover-btn {
        min-height: 44px !important;
        margin-top: 10px !important;
    }
}

/* --- FIX CLS DEFINITIVO 2.0 --- */

@media (max-width: 768px) {
  .tvcmsheader-sticky,
  .tvcmsheader-sticky.sticky {
    animation: none !important;
    transition: none !important;
  }
}

/* 2. RIPRISTINO TOTALE STICKY BAR */
.tv-sticky-cart, 
.sticky-bottom-container,
#sticky-cart-container {
    position: fixed !important;
    bottom: 20px !important;
    right: 0;
    z-index: 99999 !important;
    /* Rimuoviamo ogni traccia di containment o trasformazione */
    contain: none !important;
    transform: none !important;
    perspective: none !important;
    backface-visibility: visible !important;
}

@media (max-width: 768px) {
  .tvcmsmobile-header-menu,
  .tvcmsmobile-header-logo-right-wrapper,
  .tvcmsmobile-header-search-logo-wrapper {
    min-height: 48px;
  }
	
}
main {
  transform: none !important;
}
	.logo.img-responsive {
  max-width: 217px;
  height: auto;
  contain: layout paint;
}

.owl-dots button.owl-dot {
  min-width: 44px;
  min-height: 44px;
}

.tvcmsnext-btn:hover i, .tvcmsprev-btn:hover i {
	color: #FFFFFF !important;
	}
.wrapper-img-spedizioni  .img-responsive {
border: 1px solid;
border-color: #ACD8E4 !important;
border-radius: 8px !important;
}

.tvtab-pagination-wrapper .tvcms-next-pre-btn {
	position: absolute !important;
    top: 20px !important; 
    right: 0 !important;
}

/* =====================================
   POST-RENDER STABILITY BOOST
   ===================================== */

/* Evita micro-shift su card prodotto al caricamento JS */
.tvproduct-wrapper,
.tvproduct-item {
    contain: paint;
}

/* Evita repaint inutili su slider dopo init */
#tvmain-slider img {
    will-change: auto;
}

/* Rafforza stabilità banner su resize / orientation */
.tvcmssliderofferbanner,
.tvcmsspecial-product,
.tvnew-product-wrapper-box {
    overflow: hidden;
}

/* Lazy load SOLO per contenuti below-the-fold */
img[loading="lazy"] {
    contain: paint;
}

/* Evita shift da icone FontAwesome */
svg,
.fa,
.fab,
.fas {
    vertical-align: middle;
}

/* =========================================================
   MOSSA 2 – Disattiva animazioni slider SOLO su mobile
   ========================================================= */
@media (max-width: 767px) {
  #tvmain-slider.no-slider-anim .owl-item,
  #tvmain-slider.no-slider-anim .animated {
    transition: none !important;
    animation: none !important;
  }
}

/* Stabilizza contenuto prodotti lazy */
.tvproduct-defult-img,
.tv-img-responsive {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: auto;
  display: block;
}

/* Evita resize Owl dopo init */
.tvcmsspecial-product .owl-stage-outer,
.tvnew-product-wrapper-box .owl-stage-outer {
  overflow: hidden;
}

.tvcmssliderofferbanners,
.tvcmssliderofferbanners-picture {
  min-height: 150px;
}

@media (max-width: 991px) {
	
   .tvtab-product .tvtab-title-wrapper .tvtabs-products {
    margin-bottom: 35px;
	}
	.tvcategory-chain-slider-inner-info-box,
    .tvfeature-product-offer-banner,
    .tvtab-product-branner {
    margin: 0;
    }
	
	#wrapper .breadcrumb {
    margin-top: 0px !important;
	}
	
	.tvsearch-header-display-full .tvheader-search-btn svg circle:nth-of-type(2) {
     stroke-width: 2px;
    }
	
.tvtab-featured-pagination-next-pre-btn.tvcms-next-pre-btn {
    top: 195px !important;
    right: 155px !important;
   }

	/* Nasconde moduli prodotti specifici solo su Mobile */
	.tvcmsnew-product, 
    .tvcmsspecial-product.container-fluid, 
    .tvcmsfeatured-product, 
    .tvcmsbest-seller-product {
        display: none !important;
    }
	/* Nasconde Vertical Menu solo su Mobile*/
	.tvcmsvertical-menu-wrapper-data, 
    #tvcmsvertical-menu-wrapper,
    .tvcmsvertical-menu-wrapper-data .menu-content {
        display: none !important;
    } 
}


.col-md-6.tv-product-page-content {
    background: #fff;
	border-radius: 3px;
}

.wrapper-img-spedizioni {
    margin-bottom: 15px;
	display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}


/* --- FIX DEFINITIVO SOLO MOBILE (iPhone) --- */
@media (max-width: 575px) {

  /* contenitore STABILE per tutti i tab */
  .tvtab-product-all-pagination {
    position: relative;
  }

  /* TUTTE le paginazioni dei tab */
  .tvtab-pagination-wrapper {
    position: absolute;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    z-index: 20;
  }

  /* wrapper frecce */
  .tvtab-pagination-wrapper .tvcms-next-pre-btn {
    display: flex;
    justify-content: center;
    gap: 20px;
    position: static !important;
  }

  /* reset posizioni vecchie */
  .tvcmsprev-btn,
  .tvcmsnext-btn {
    position: static !important;
    transform: none !important;
  }
}

	.tvtab-featured-product-prev.tvcmsprev-btn {
background-color: #355e9e
}
		.tvtab-featured-product-next.tvcmsnext-btn {
background-color: #355e9e
}

/* immagini categoria */
.tv-category-cover .tv-img-responsive {
  aspect-ratio: auto !important;
  height: auto !important;
  object-fit: contain;
}

/* MOBILE: back to top flottante tipo chat */
/* MOBILE ONLY – posizionamento flottante */
@media (max-width: 767px) {
    .tvbottom-to-top {
        right: 20px;
        bottom: 10%;
       /* transform: translateY(50%);*/
        z-index: 9999;
    }
/* controllo visibilità via JS */
    .tvbottom-to-top.tv-hide {
		opacity: 0;
		pointer-events: none;
		}

	.tvbottom-to-top.tv-show {
		opacity: 1;
    	pointer-events: auto;
		}
	
	/* RIPRISTINO FRECCE BRAND SLIDER */
.tvbrandlist-slider-prev.tvcmsprev-btn,
.tvbrandlist-slider-next.tvcmsnext-btn {
    position: absolute !important;
    top: 50%;
    transform: translateY(-50%) !important;
}
}

button.btn.btn-primary.js-mailalert-add.mt-1 {
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .14) !important;
}

#blockcart-modal button.tvall-inner-btn {
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .14) !important;
}



/*TABLET FIX IPAD*/

@media (min-width: 768px) and (max-width: 1024px) {
  /* CSS solo per iPad mini / tablet piccoli */
	
	.tvcmssliderofferbanners-one .tvbanner1, .tvcmssliderofferbanners-one .tvbanner2 {
        padding: 0 63px;
    }
	
}

@media (min-width: 768px) and (max-width: 1024px) {

  body #content-wrapper {
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

}

/* =========================================================
   TABLET FIX (iPad / iPad mini)
   Solo contenuto, NO header / footer
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {

  /* contenuto principale */
  #content-wrapper,
  #content-wrapper .container,
  #content-wrapper .container-fluid {
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

}
/* iPad Air */
@media only screen 
  and (width: 820px) 
  and (height: 1180px) 
  and (orientation: portrait) {

  .tvcmssliderofferbanners-one .tvbanner1,
  .tvcmssliderofferbanners-one .tvbanner2 {
    padding: 0 75px;
  }

}

/*ETS-MEGAMENU DESKTOP*/
@media (min-width: 992px) {
	
/* --- 1. STRUTTURA BARRA (Header + Menu Wrapper) --- */
.tvcms-header-menu, 
.tvcms-header-menu .tvcmsmain-menu-wrapper.container,
.ets-menu-fluid-wrapper {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
	}

.tvcms-header-menu {
    justify-content: space-between !important;
    width: 100% !important;
	}

.tvcms-header-menu .tvcmsmain-menu-wrapper.container {
    flex: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
	}

/* --- 2. RESET MODULO ETS (Fluidità Totale) --- */
#tvdesktop-megamenu, 
.ets_mm_megamenu, 
.ets_mm_megamenu_content, 
.ets_mm_megamenu_content_content,
.ets-menu-fluid-wrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    float: none !important;
	}

/* --- 3. VOCI DEL MENU (Stile e Allineamento) --- */
.mm_menus_ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
	}

.mm_menus_ul > li > a {
    height: 55px !important;
    line-height: 55px !important;
    /*padding: 0 0px !important;*/
    display: flex !important;
    align-items: center !important;
    white-space: nowrap;
	}

/* --- 4. CONTATTI (Posizionamento a Destra) --- */
.tvcmsdesktop-contact.col-md-4 {
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;    /* Prende solo lo spazio necessario */
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;  /* Spinge a destra */
    padding-left: 20px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;     /* Impedisce al menu di schiacciarli */
	}

.header-contact-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 15px; /* Spazio tra gli elementi contatti */
	}

.tvheader-contact-img, 
.tvheader-contact-text {
    display: inline-block !important;
    vertical-align: middle;
	}
}

/*ETS-MEGAMENU MOBILE*/
/*ETS-MEGAMENU MOBILE*/

/* ==========================================================================
   BLOCCO UNIFICATO: STRUTTURA + ICONE +/- + SOTTOMENU
   Target: Mobile/Tablet (< 991px)
   ========================================================================== */

@media (max-width: 991px) {
    
    /* --- 1. STRUTTURA PANNELLO E ALTEZZA (70%) --- */
    #tvmobile-megamenu {
        display: flex !important;
        flex-direction: column !important;
        height: 55vh !important;
        min-height: 55vh !important;
        overflow: hidden !important;
    }

    /* Contenitori sempre visibili per evitare che il menu sparisca */
    .ets_mm_megamenu, 
    .ets_mm_megamenu_content,
    .ets_mm_megamenu_content_content,
    .mm_menus_ul {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        background: transparent !important;
        height: auto !important;
    }

    /* --- 2. RIMOZIONE ELEMENTI ORIGINALI (Pulizia Totale) --- */
    .ybc-menu-btn, .close_menu, .mm_menus_back, .pull-left, 
    .mm_browse_menu, .ybc_o_menu, .mm_menus_back_icon,
    .mm_arrow, .mm_arrow.closed, .mm_arrow.opened,
    .ets_mm_megamenu .mm_has_sub > a .mm_arrow,
    .ybc-menu-toggle.opened:before { 
        display: none !important; 
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* --- 3. VOCI DI MENU PRINCIPALI (TAB) --- */
    .mm_menus_ul > li {
        width: 100% !important;
        display: block !important;
        float: none !important;
        border-bottom: 1px solid #eeeeee;
        position: relative;
    }

    .mm_menus_ul > li > a {
        width: 100% !important;
        padding: 15px 10px !important;
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
        font-weight: 600;
        color: #333 !important;
    }

    /* --- 4. LOGICA ICONE (+/-) BLU MONOSPACE --- */
    .mm_has_sub > a::after {
        content: '+' !important;
        font-family: monospace !important;
        font-size: 24px !important;
        font-weight: bold !important;
        color: #355e9e !important;
        float: right !important;
		line-height: 1 !important;
    }

    .mm_has_sub.open_li > a::after {
        content: '-' !important;
    }

    /* --- 5. SOTTOMENU E ACCORDION --- */
    .mm_columns_ul, 
    .ets_mm_categories {
        display: none; /* Gestito dal slideDown JS o open_li */
        position: static !important;
        width: 100% !important;
        padding: 0 0 0 15px !important;
        background: #f9f9f9 !important;
        box-shadow: none !important;
        height: auto !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Apre al click (Stato Aperto) */
    .mm_has_sub.open_li > .mm_columns_ul,
    .mm_has_sub.open_li .ets_mm_categories {
        display: block !important;
    }

    /* Blocchi interni e titoli */
    .mm_columns_li, .mm_blocks_ul, .mm_blocks_li {
        display: block !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        padding: 0px 5px !important;
    }

    .ets_mm_block_title {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-weight: bold !important;
        color: #333 !important;
        border-bottom: 1px solid #ddd !important;
        margin-top: 10px !important;
        padding: 5px 0 !important;
        font-size: 14px !important;
    }

    /* --- 6. BARRA DI SCORRIMENTO INTERNA SUI SOTTOMENU --- */
    .mm_columns_li.mm_has_sub {
        max-height: 350px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        border-left: 2px solid #eeeeee !important;
        /*margin-left: 10px !important;*/
        padding-left: 10px !important;
        scrollbar-width: thin;
    }

    .mm_columns_li.mm_has_sub::-webkit-scrollbar {
        width: 4px !important;
    }
    .mm_columns_li.mm_has_sub::-webkit-scrollbar-thumb {
        background: #ccc !important;
        border-radius: 10px !important;
    }

    /* --- 7. CONTATTI (In fondo e Fix testo) --- */
    .tvcmsmobile-contact {
        margin-top: auto !important;
        padding: 15px 10px !important;
        border-top: 1px solid #eeeeee;
        background: #ffffff !important;
        width: 100% !important;
        box-sizing: border-box !important;
        word-break: break-all !important;
        z-index: 10 !important;
        position: relative !important;
    }

    .ets_mm_megamenu_content_content {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* ==========================================================================
   SUPER-BLOCCO UNIFICATO: STRUTTURA, CATEGORIE DINAMICHE E FIX EMAIL
   ========================================================================== */

@media (max-width: 991px) {
    
    /* --- 1. RESET STRUTTURALE E PULIZIA --- */
    .mm_blocks_li {
        padding: 0 !important;
        margin: 0 !important;
    }

    .layout_layout1 .ets_mm_megamenu_content,
    .mm_menus_ul > li,
    .mm_menus_ul,
    .ets_mm_megamenu_content_content,
    .mm_columns_ul {
        border: none !important;
        box-shadow: none !important;
    }

    /* Recupero spazio per i testi */
    .mm_has_sub > .mm_columns_ul, 
    .ets_mm_categories {
        padding: 0 !important; 
    }

    /* --- 2. PROTEZIONE "X" E RIMOZIONE ICONE ETS --- */
    .ets_mm_megamenu [class*="close"], 
    .ets_mm_megamenu [class*="exit"], 
    .ets_mm_megamenu .mm_menus_back_icon,
    .ets_mm_megamenu .mm_arrow,
    .ets_mm_megamenu .close_menu, 
    .ets_mm_megamenu .mm_menus_back {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    /* Forza visibilità della "X" del tema TVCMS */
    .tvcms-mobile-menu-close, 
    .tv-mobile-menu-close-icon {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* --- 3. LOGICA CATEGORIE E SOTTOCATEGORIE (+ / BOLD) --- */
    .ets_mm_categories li.mm_has_sub > a {
        font-weight: 700 !important; /* Testo marcato per i "padri" */
        color: #222 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 15px !important;
        border-left: 2px solid #007bff !important; /* Linea blu gerarchica */
        background: #fdfdfd !important;
    }

    /* Aggiunta del simbolo + */
    .ets_mm_categories li.mm_has_sub > a::after {
        content: '+' !important;
        font-size: 16px;
        color: #007bff;
        font-weight: bold;
    }

    /* --- 4. UX NAVIGAZIONE:  STATO APERTO --- */
    .mm_menus_li.open_li {
        background-color: #f5f5f5 !important;
        border-left: 3px solid #355e9e !important;
        transition: all 0.3s ease;
    }

    .mm_has_sub.open_li > a {
        color: #355e9e !important;
    }

    /* Separatori sottili tra blocchi */
    .mm_columns_ul .mm_columns_li:not(:last-child) {
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    }

    /* --- 5. GESTIONE TITOLI E TESTI LUNGHI --- */
    .ets_mm_block_title {
        display: block !important;
        font-weight: bold !important;
        color: #333 !important;
        text-transform: uppercase;
        font-size: 13px !important;
        margin-top: 10px !important;
        padding-bottom: 5px !important;
    }

    .ets_mm_url {
        width: 100% !important;
        display: block !important;
        white-space: normal !important; /* Permette il ritorno a capo ordinato */
        line-height: 1.3 !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
    }

    /* Scroll Sottocategorie (Terzo Livello) */
    .ets_mm_categories ul {
        max-height: 250px !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding-left: 20px !important;
        scrollbar-width: thin;
        scrollbar-color: #355e9e transparent;
    }

    /* Webkit Scrollbars (Chrome/Safari) */
    .mm_columns_li.mm_has_sub::-webkit-scrollbar,
    .ets_mm_categories ul::-webkit-scrollbar { width: 4px; }
    
    .mm_columns_li.mm_has_sub::-webkit-scrollbar-thumb,
    .ets_mm_categories ul::-webkit-scrollbar-thumb { 
        background-color: #007bff; 
        border-radius: 10px; 
    }

    /* --- 7. FIX DEFINITIVO MAIL (RIGA UNICA) --- */
    #_desktop_contact_link_email {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important; /* Mai a capo */
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    #_desktop_contact_link_email i, 
    #_desktop_contact_link_email .material-icons {
        margin-right: 8px !important;
        flex-shrink: 0 !important; /* Icona sempre visibile */
        display: flex !important;
        align-items: center;
        
    }

    
}


/* ==========================================================================
   BLOCCO 3: LOGICA CATEGORIE (LIVELLO 2) E CONTATTI (MAIL FIX)
   ========================================================================== */

@media (max-width: 991px) {
    
    /* --- 1. SOTTOCATEGORIE DINAMICHE (+/-) --- */
    /* Nascondiamo le sottocategorie di default */
    .ets_mm_categories ul {
        display: none !important; 
        padding-left: 15px !important;
        margin-top: 5px !important;
    }

    /* Stato Aperto (quando la categoria è attiva) */
    .ets_mm_categories li.open > ul,
    .ets_mm_categories li.active > ul {
        display: block !important;
    }

    /* Icona + per categorie con figli */
    .ets_mm_categories li.mm_has_sub > a {
        position: relative !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        font-weight: 600 !important;
        padding: 8px 0 !important;
    }

    .ets_mm_categories li.mm_has_sub > a::after {
        content: '+' !important;
        font-family: monospace;
        font-size: 18px;
        color: #007bff;
        margin-left: 10px;
    }

    /* Trasformazione in - quando aperto */
    .ets_mm_categories li.mm_has_sub.open > a::after,
    .ets_mm_categories li.mm_has_sub.active > a::after {
        content: '-' !important;
    }

    /* Scroll interno per categorie lunghe */
    .ets_mm_categories {
        max-height: 300px !important;
        /*overflow-y: auto !important;*/
        scrollbar-width: thin;
        scrollbar-color: #355e9e transparent;
    }

    /* --- 2. CONTENITORE CONTATTI (Layout e Centratura) --- */
    .tvcmsmobile-contact {
        width: 100% !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-height: 80px !important;
    }

    /* --- 3. FIX EMAIL (Impedisce l'andata a capo) --- */
    #_desktop_contact_link_email {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important; /* Forza il testo su una riga */
        width: 100% !important;
        overflow: hidden !important;
        padding: 5px 0 !important;
    }

    /* Icona Mail */
    #_desktop_contact_link_email i, 
    #_desktop_contact_link_email .material-icons {
        display: inline-flex !important;
        align-items: center !important;
        margin-right: 6px !important;
        flex-shrink: 0 !important; /* L'icona non rimpicciolisce mai */
    }

    /* Testo Mail */
    #_desktop_contact_link_email span, 
    #_desktop_contact_link_email a {
        display: inline-block !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important; /* Aggiunge "..." se l'email è troppo lunga */
        overflow: hidden;
        font-size: 13px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }
}
@media (max-width: 991px) {
    /* --- 1. RESET STRUTTURA E FIX BARRA ORIZZONTALE --- */
    #tvmobile-megamenu, .ets_mm_megamenu {
        overflow-x: hidden !important;
        width: 100% !important;
		margin-top: 0 !important;
    }

    ul.ets_mm_categories {
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        width: 100% !important;
    }

    .ets_mm_categories li {
        list-style: none !important;
        list-style-type: none !important;
        background: none !important;
        background-image: none !important;
        position: relative !important;
        display: block !important;
        min-height: 45px !important;
        width: 100% !important;
        /*margin-bottom: 6px !important;*/
    }

    /* --- 2. STILE TITOLI CATEGORIE (H4 Style) --- */
    .ets_mm_categories a.ets_mm_url, 
    .ets_mm_categories li a {
        display: block !important;
        width: 100% !important;
        padding: 12px 12px 12px 0 !important;
        color: #333 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    /* --- 3. FIX DOPPIO "+" (Elimina il Nero, tiene il Blu) --- */
    
    /* Nascondiamo l'arrow originale nero di ETS */
    .ets_mm_categories .arrow {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Gestione del nostro Trigger Blu (.mm_trigger_sub) */
    .ets_mm_categories .mm_trigger_sub {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        width: 45px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 10 !important;
        cursor: pointer !important;
        background: transparent !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Icona "+" Blu */
    .ets_mm_categories .mm_trigger_sub::after {
        content: '\e145' !important;
        font-family: 'Material Icons' !important;
        font-size: 24px !important;
        color: #355e9e !important;
        line-height: 1 !important;
        display: block !important;
		border-left: none !important;
    }

    .ets_mm_categories .mm_trigger_sub::before {
        content: none !important;
    }

    /* Stato Aperto: Diventa Minus */
    .ets_mm_categories li.open_li > .mm_trigger_sub::after,
    .ets_mm_categories li.open > .mm_trigger_sub::after,
    .ets_mm_categories li.mm_has_sub.open > a::after {
        content: '\e15b' !important;
    }

    /* --- 4. SOTTOMENU E SCROLL INTERNO --- */
    .ets_mm_categories ul {
        display: none !important;
        list-style: none !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .ets_mm_categories li.open_li > ul,
    .ets_mm_categories li.open > ul,
    .ets_mm_categories li.mm_has_sub.open > ul.ets_mm_categories {
        display: block !important;
    }

    .mm_category_children, .ets_mm_categories ul ul {
        max-height: 350px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-left: 15px !important;
        border-left: 2px solid #f0f0f0 !important;
        margin-left: 5px !important;
        scrollbar-width: thin;
        scrollbar-color: #355e9e #f0f0f0;
    }

    /* Scrollbar personalizzata */
    .mm_category_children::-webkit-scrollbar { width: 4px; }
    .mm_category_children::-webkit-scrollbar-thumb { 
        background: #007bff; 
        border-radius: 10px; 
    }

    /* --- 5. BOX CONTATTI (Allineamento) --- */
    .tvcmsmobile-contact {
        display: block !important;
        padding: 20px 15px !important;
    }

    #_desktop_contact_link_email {
        display: block !important; 
        width: 100% !important;
        text-align: left;
    }



    #_desktop_contact_link_email a, 
    #_desktop_contact_link_email span {
        white-space: nowrap !important;
        font-size: 14px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    #_desktop_contact_link_email i {
        margin-right: 8px !important;
        font-size: 18px !important;
    }
	
	/* --- 3. VOCI DI MENU PRINCIPALI E LOGICA +/- BLU --- */
    /* ... (altre regole invariate) ... */

    /* Ingrandimento fisico del + */
    .mm_has_sub > a::after {
        content: '+' !important;
        font-family: monospace !important;
        
        /* AUMENTA QUESTI VALORI */
        font-size: 32px !important;      /* Era 22px, ora è molto più grande */
        font-weight: bold !important;
        
        /* GESTIONE SPAZIO FISICO */
        width: 40px !important;          /* Crea un'area cliccabile/visiva più larga */
        height: 40px !important;         /* Crea un'area più alta */
        line-height: 40px !important;    /* Centra il + verticalmente nel suo box */
        text-align: center !important;   /* Centra il + orizzontalmente */
        
        display: flex !important;        /* Usiamo flex per un controllo totale */
        align-items: center !important;
        justify-content: center !important;
    }

    .mm_has_sub.open_li > a::after { 
        content: '-' !important; 
        font-size: 38px !important;      /* Il meno spesso sembra più piccolo, qui lo compensiamo */
    }
}

/* contenuto scrollabile */
.ttvcart-scroll-container {
  overflow-y: auto;
  overflow-x: hidden;
  touch-action: pan-y;
}

/* pannello carrello */
.ttvcmscart-show-dropdown-right {
  touch-action: pan-y pan-x;
}

/* --- GESTIONE MOBILE (< 991px) --- */
@media (max-width: 991px) {
	/* Nascondiamo di default per l'accordion mobile */
    .mm_category_children {
        display: none; 
    }
    /* Mostriamo solo quando la classe open è attiva (gestita dal JS) */
    .has-sub.open > .mm_category_children,
    .has-sub.open_li > .mm_category_children {
        display: block !important;
    }
}

/* --- GESTIONE DESKTOP (> 992px) --- */
@media (min-width: 992px) {
    /* Su desktop deve essere sempre pronto a comparire */
    .mm_category_children {
        display: none; /* Nascondi di base */
        position: absolute;
        left: 100%; /* Lo sposta a lato se è un menu a cascata */
        top: 0;
        min-width: 200px;
        z-index: 999;
        background: #fff;
    }

    /* Mostra al passaggio del mouse */
    .has-sub:hover > .mm_category_children {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}



/* ==========================================================================
   ETS-MEGAMENU DESKTOP: FLY-OUT SOTTOCATEGORIE (COMPATTO)
   ========================================================================== */

@media (min-width: 992px) {
    
    /* 1. Posizionamento del genitore */
    .ets_mm_categories li.has-sub {
        position: relative !important;
    }

    /* 2. Contenitore Sottomenu (Fly-out) */
    .mm_category_children {
        display: none !important;
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        width: 350px !important;
        background: #ffffff !important;
        border: 1px solid #eeeeee !important;
        box-shadow: 8px 8px 20px rgba(0,0,0,0.15) !important;
        z-index: 99999 !important;
        margin-left: -1px !important;
        padding: 5px 0 !important;
        
        /* Limiti Altezza e Scroll */
        max-height: 300px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        scrollbar-width: thin;
        scrollbar-color: #355e9e #f0f0f0;
        pointer-events: auto !important;
    }

    /* 3. Mostra al passaggio del mouse */
    .ets_mm_categories li.has-sub:hover > .mm_category_children {
        display: block !important;
    }

    /* 4. Ponte invisibile per non perdere l'hover durante il movimento */
    .mm_category_children::before {
        content: "";
        position: absolute;
        top: 0;
        left: -30px;
        width: 30px;
        height: 100%;
        background: transparent;
        pointer-events: none;
    }

    /* 5. Stilizzazione Link Interni */
    .mm_category_children ul, 
    .mm_category_children .ets_mm_categories {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .mm_category_children li {
        width: 100% !important;
        border: none !important;
    }

    .mm_category_children a {
        display: block !important;
        padding: 10px 20px !important;
        font-size: 14px !important;
        color: #333 !important;
        text-transform: none !important;
        font-weight: normal !important;
        border-bottom: 1px solid #f5f5f5 !important;
        white-space: normal !important; /* Testo a capo se lungo */
        line-height: 1.3 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    .mm_category_children a:hover {
        background: #f8f9fa !important;
        color: #355e9e !important;
        text-decoration: none !important;
    }

    /* 6. Barra di scorrimento personalizzata (Chrome/Safari) */
    .mm_category_children::-webkit-scrollbar {
        width: 6px;
    }
    .mm_category_children::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    .mm_category_children::-webkit-scrollbar-thumb {
        background: #355e9e;
        border-radius: 10px;
    }
    .mm_category_children::-webkit-scrollbar-thumb:hover {
        background: #0056b3;
    }

    /* 7. Pulizia icone mobile su desktop */
    .mm_trigger_sub, .ets_mm_categories .arrow {
        display: none !important;
    }
}

/* Blocco scroll totale quando il menu mobile è aperto */
body.mobile-menu-open {
    overflow: hidden !important;
    height: 100vh !important;
    width: 100% !important;
    position: fixed !important; /* Essenziale per iOS e alcuni Android */
    top: 0;
    left: 0;
}

/* =========================================================
   MOBILE HEADER — LAYOUT DEFINITIVO (TPL FIX REQUIRED) 768px mobile tablet max-width: 1024px
   ========================================================= */
@media (max-width: 1024px) {

  /* contenitore vero */
  .mobile-header-layout {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    width: 100%;
    min-height: 56px;
    padding-left: 8px; 
    padding-right: 8px;
    box-sizing: border-box;
  }

  /* SINISTRA */
  .tvcmsmobile-header-menu {
    justify-self: start;
    display: flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
  }

  /* CENTRO — LOGO */
  .tvcmsmobile-header-logo-right-wrapper {
    justify-self: center;
    display: flex;
    align-items: center;
  }

  #tvcmsmobile-header-logo img {
    height: 35px;
    width: auto;
    display: block;
  }

  /* DESTRA */
  .tvcmsmobile-cart-acount-text {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 0px;
    min-width: 44px;
    min-height: 44px;
  }

  /* tap target */
  .mobile-header-action {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 575px) {
  #tvmobile-cart,
  #tvcmsmobile-account-button {
    display: flex;
  }
}

 /* FIX logo coperto da mobile-header-right */
@media (max-width: 991px) and (orientation: landscape) {

    /* l’area larga NON deve intercettare click */
    .tvcmsmobile-cart-acount-text.mobile-header-right {
        pointer-events: none;
    }

    /* SOLO le icone restano cliccabili */
    .tvcmsmobile-cart-acount-text.mobile-header-right a,
    .tvcmsmobile-cart-acount-text.mobile-header-right button,
    .tvcmsmobile-cart-acount-text.mobile-header-right .tvheader-cart,
    .tvcmsmobile-cart-acount-text.mobile-header-right .tvheader-account {
        pointer-events: auto;
    }
}
/* =========================================
   MOBILE LANDSCAPE HEADER – FIX DEFINITIVO (NO TRANSFORM)
   ========================================= */
@media (max-width: 991px) and (orientation: landscape) {

  /* HEADER STICKY SAFE */
  .tvcmsmobile-header-menu-offer-text {
    display: block !important;
    padding: 4px 20px !important;
    min-height: 56px !important;
  }

  /* LAYOUT HEADER */
  .mobile-header-layout {
    position: relative; /* FONDAMENTALE */
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }

  .mobile-header-left,
  .mobile-header-right {
    position: relative;
    z-index: 2;
  }

  /* CENTRATURA REALE DEL LOGO */
  .mobile-header-center {
    position: absolute !important;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

    display: flex !important;
    align-items: center;
    justify-content: center;

    pointer-events: none; /* clic passano sotto */
    z-index: 1;
  }

  /* LOGO */
  .mobile-header-logo,
  .tv-header-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
	  position: relative;
        z-index: 5 !important;
        pointer-events: auto !important;
  }

  img.logo.img-responsive {
    max-height: 69px !important;
    width: auto !important;
    height: auto !important;
  }
}

/* =========================================
   MOBILE LANDSCAPE – STICKY HEADER SPACING
   ========================================= */
@media (max-width: 991px) and (orientation: landscape) {

  /* contenitore sticky */
  .tvcmsmobile-header-menu-offer-text.tvcmsheader-sticky {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 72px !important; /* respiro visivo */
  }

  /* layout interno */
  .mobile-header-layout {
    min-height: 56px;
  }

  /* logo */
  img.logo.img-responsive {
    max-height: 69px !important; /* tuo compromesso corretto */
  }

  /* icone menu / account / cart */
  .mobile-header-left i,
  .mobile-header-right svg {
    transform: scale(1.05);
  }
}


/* =========================================
   MOBILE LANDSCAPE – TAB CENTER FIX
   ========================================= */
@media (max-width: 991px) and (orientation: landscape) {

 
  .tvtab-main-title-wrapper {
    display: flex;
    justify-content: center;
  }

  /* Frecce slider – già corrette */
  .tvtab-featured-pagination-next-pre-btn.tvcms-next-pre-btn {
    top: 62px !important;
    right: 395px !important;
  }
}

/* =========================================
   BANNER SOTTO SLIDER – CENTER FIX LANDSCAPE
   ========================================= */
@media (min-width: 768px) and (max-width: 1024px) {

  .tvcmssliderofferbanners-one .tvbanner1,
  .tvcmssliderofferbanners-one .tvbanner2 {
    padding: 0 94px !important;
  }
}
/* =========================================
   BANNER SHIP – CENTER FIX LANDSCAPE
   ========================================= */
@media (max-width: 991px) and (orientation: landscape) {

  .tvcmsleftsideofferbanners-one {
    display: flex;
    align-items: center;      /* centro verticale */
    justify-content: center;  /* centro orizzontale */
    min-height: 100vh;        /* occupa l’altezza visibile */
    margin: 0 auto;
  }

  .tvbanner-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
	  margin-bottom: 25px;
  }

  .tvbanner-wrapper img {
    max-height: 90vh;         /* evita overflow */
    width: auto;
    height: auto;
    object-fit: contain;
  }
}
/* =========================================
   SOCIAL PRIVACY – CENTER FIX LANDSCAPE
   ========================================= */
@media (max-width: 991px) and (orientation: landscape) {

  /* 🔇 Nascondiamo il titolo "Social" */
  .tvfooter-title-wrapper.hidden-sm-down {
    display: none !important;
  }

  /* 📦 Contenitore del blocco */
  .tvfooter-all-sub-text {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 10px;
  }

  /* 🔗 Icone social */
  .custom-social-icons {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: auto;          /* 🔑 evita allargamenti inutili */
    margin: 0;
  }
}

@media (max-width: 991px) and (orientation: landscape) {
  .tvcms-main-footer-hooks {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .tvcms-main-footer-hooks .show-gdpr-modal {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    margin: 10px auto 15px !important;
    max-width: max-content;
  }
}

  /* centra il titolo */
  .block-categories.prestablogcat.prestablogswip .title_block {
    text-align: center;
	margin-top: 10px;
  }

/* Centra il pulsante See All del blog */
#prestablog_lastliste {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#prestablog_lastliste .btn_link {
    margin-top: 20px !important; /* Spazio sopra il pulsante */
    display: inline-block;
}

/*landscape blog*/

@media (max-width: 991px) and (orientation: landscape) {

  /* centra il titolo */
  .block-categories.prestablogcat.prestablogswip .title_block {
    text-align: center;
  }

  /* centra il bottone */
  .block-categories.prestablogcat.prestablogswip .btn.btn-primary.btn_link {
    display: inline-block;
  }

  /* wrapper per centrare il bottone */
  .block-categories.prestablogcat.prestablogswip {
    text-align: center;
  }
.tvfooter-payment-icon-img-block.col-xl-4.col-md-12.col-sm-12 {
    margin-bottom: 15px;
}
	.owl-carousel, .owl-stage-outer, .owl-stage {
    touch-action: pan-y; /* Permette lo scroll verticale ma gestisce via JS quello orizzontale */
}
	
	#tvmobile-megamenu {
        height: 43vh !important;
        min-height: 43vh !important;
		}
	    .tvcmsmobile-contact {
        padding: 5px 15px !important;
         }	
	    .contact-container-mobile {
        gap: 0px !important;
		}
	    .tvcmsmobile-contact #contact-link, .tvcmsmobile-contact .contact-item.wa-desktop-item {
        padding: 10px 0px !important;
        }
	    #_desktop_contact_link_email {
        padding: 0 !important;
        }
	   .changestatus.ets_mm_megamenu.hook-custom {
         margin-top: 0;
       }

	    [class*="close"] i, [class*="close"] span, .tv-mobile-menu-close-icon i, .close-menu i {
        top: 5px !important;
		transform: none;
        }
	    .mm_has_sub > a::after {
        font-size: 24px !important;
        width: 40px !important;
        height: 20px !important;
        line-height: 40px !important;
       }
	
	.tv-account-wrapper, .tvheader-cart-wrapper {
        width: 44px;
        height: 44px;
	}
	
	.custom-contact-box a {
        height: 44px !important;
	 }
	   .mm_menus_ul > li > a {
        width: 100% !important;
/* 12px sopra/sotto e 15px ai lati per dare respiro dal bordo schermo */
    padding: 12px 15px !important; 

    /* Aumenta la leggibilità e l'area di clic verticale */
    line-height: 1.4 !important; 
    
    /* Evita che il testo tocchi icone o frecce */
    word-break: break-word;

        }		
}

/* FIX PADDING LATERALE GLOBALE - SOLO MOBILE LANDSCAPE */
@media (max-width: 991px) and (orientation: landscape) {

    /* Applica i 15px di respiro laterale a tutta la pagina */
    #wrapper,
    #content-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-sizing: border-box !important;
    }

    /* Reset dei margini Bootstrap / theme */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}


/* FIX PULSANTI PRODOTTO - MOBILE LANDSCAPE */
@media (max-width: 1024px) and (orientation: landscape) {

    .tvproduct-wrapper.grid .tvproduct-hover-btn {
        /*position: static !important;*/
        opacity: 1 !important;
        visibility: visible !important;
        display: flex !important;
        justify-content: center;
        gap: 12px;
        pointer-events: auto !important;
        transform: none !important;
    }

    .tvproduct-wrapper.grid .tvproduct-cart-btn,
    .tvproduct-wrapper.grid .tvproduct-buy-now {
        display: inline-flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* =========================================================
   FIX LANDSCAPE: MENU MOBILE SOPRA LA RICERCA
   ========================================================= */

@media (max-width: 991px) and (orientation: landscape) {
    
    /* 1. Il pannello del menu deve essere il livello più alto in assoluto */
    .tvmobile-slidebar, 
    #tvmobile-megamenu,
    .ets_mm_megamenu {
        z-index: 999 !important;
        /*height: 100vh !important;*/
        /*overflow-y: auto !important;*/
        -webkit-overflow-scrolling: touch;
    }


	
	/* Quando il menu è aperto, abbassa l'header mobile */
body.mobile-menu-open .tvcmsmobile-top-wrapper,
body.mobile-menu-open .tvcmsmobile-cart-acount-text {
    z-index: 1 !important;
}

/* Porta il contenitore della X sopra a tutto */
.tvmobile-dropdown-close {
    z-index: 999999 !important;
}

    /* 3. Se il menu è aperto, nascondiamo forzatamente la ricerca per pulizia */
    body.mobile-menu-open .tvcmsmobile-header-search-logo-wrapper,
    body.mobile-menu-open #tvcmsmobile-search {
        visibility: hidden !important;
        opacity: 1 !important;
        transition: opacity 0.2s ease;
    }
	    /* 2. La barra di ricerca mobile deve finire SOTTO il menu quando aperto */
    .tvcmsmobile-header-search,
    #tvcmsmobile-search,
    .tvcmsmobile-header-search-logo-wrapper {
        z-index: 0 !important; /* Valore basso */
    }
	  .layout_layout1:not(.click_open_submenu) .mm_menus_li.mm_has_sub:hover > a:after, .layout_layout1.click_open_submenu                         .mm_menus_li.mm_has_sub.open_li > a:after, .layout_layout1 .mm_menus_li.mm_has_sub.menu_hover > a:after {
        position: inherit;
      }
	
	    .changestatus .mm_menus_ul .arrow::after {
        border-left: none !important;
		}	
	.tvmobile-dropdown-close {
    display: flex !important;
    height: 44px !important;
   }
	
	/* Centratura riga Aggiungi al Carrello */
.product-add-to-cart .addtocart-flex-row {
    display: flex !important;
    /* 1. Cambiamo space-between con center */
    justify-content: center !important; 
    /* 2. Allineamento verticale (già presente, lo confermiamo) */
    align-items: center !important; 
    /* 3. Spazio tra i due elementi */
    gap: 15px !important; 
    width: 100% !important;
}

/* 4. Reset dei Flex per evitare che occupino spazi diversi */
.product-add-to-cart .qty-column {
    flex: 0 0 auto !important; /* Non occupa più il 28%, ma solo lo spazio necessario */
}

.product-add-to-cart .buttons-column {
    flex: 0 0 auto !important; /* Si stringe attorno al bottone */
    align-items: center !important; /* Centra il contenuto interno alla colonna bottoni */
}
	
	button.ps-btn.ps-addcart-btn.add-to-cart {
    margin-right: 0px;
}

}

html, body {
  transform: none !important;
}

.tvbottom-to-top {
  position: fixed !important;
  transform: none !important;
}

iframe#launcher {
    margin: 10px 19px !important;
    
}

@media (max-width: 991px) and (orientation: landscape) {

    .tvtab-title-wrapper {
    padding-right: 0px;
}
	
	/* 1. Reset dei titoli: devono stare al centro e uno sopra l'altro */
    .tvtabs-products {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        margin-bottom: 20px !important;
        position: static !important; /* Toglie ogni vincolo precedente */
    }

    .tvtabs-products li {
        display: block !important;
        float: none !important;
        text-align: center !important;
        margin: 5px 0 !important;
    }

    /* 2. Reset delle Frecce: le riportiamo nel "flusso" naturale sotto i titoli */
    .tvtab-pagination-wrapper.tvtab-pagination-landscape-hook,
    .tvtab-pagination-wrapper [class*="-next-pre-btn"],
    .tvtab-pagination-wrapper .tvcms-next-pre-btn {
        position: relative !important; /* IMPORTANTE: annulla l'absolute di prima */
        top: 0 !important;             /* Annulla i 160px */
        right: auto !important;         /* Annulla i 280px */
        left: 0 !important;
        
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        
        width: 100% !important;
        margin: 10px 0 30px 0 !important; /* Spazio tra titoli e carosello */
        transform: none !important;
        visibility: visible !important;
    }



    /* 4. Il carosello deve stare sotto */
    .tvtab-product-all-pagination {
        display: block !important;
        width: 100% !important;
        clear: both !important;
    }
	
	.tvtab-title-wrapper {
       margin-bottom: 0;
       }
	
	    .tvbottom-to-top {
        right: 20px;
        bottom: 20%;
}
	
	.tvbrandlist-slider-inner.tvbrandlist-slider-content-box.owl-theme.owl-carousel.owl-loaded.owl-drag {
    padding: 0px 35px;
}
	
	    .tvcmssliderofferbanners-one .tvbanner1, .tvcmssliderofferbanners-one .tvbanner2 {
        padding: 0 37px;
    }
}


/* =========================================
   ADD TO CART PRODUCT CENTRATO
   ========================================= */

	/* Centratura riga Aggiungi al Carrello */
.product-add-to-cart .addtocart-flex-row {
    display: flex !important;
    /* 1. Cambiamo space-between con center */
    justify-content: center !important; 
    /* 2. Allineamento verticale (già presente, lo confermiamo) */
    align-items: center !important; 
    /* 3. Spazio tra i due elementi */
    gap: 15px !important; 
    width: 100% !important;
}

/* 4. Reset dei Flex per evitare che occupino spazi diversi */
.product-add-to-cart .qty-column {
    flex: 0 0 auto !important; /* Non occupa più il 28%, ma solo lo spazio necessario */
}

.product-add-to-cart .buttons-column {
    flex: 0 0 auto !important; /* Si stringe attorno al bottone */
    align-items: center !important; /* Centra il contenuto interno alla colonna bottoni */
}
	
	button.ps-btn.ps-addcart-btn.add-to-cart {
    margin-right: 0px;
}

#product .product-add-to-cart .product-quantity .bootstrap-touchspin {
    display: grid !important;
    grid-template-columns: 40px 34px 0px;
	
}	


/* ==========================================================
   21:9 WIDE MONITOR FIX — HEADER LAYOUT (2560x1080+)
   ========================================================== */

@media (min-width: 2000px) {

  /* 1. Sblocchiamo la larghezza reale */
  .container
   {
    max-width: 100% !important;
    padding-left: 60px;
    padding-right: 60px;
  }

  /* 2. Header principale: layout a 3 blocchi */
  .tvcmsdesktop-top-header-box {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }
 }	
/* ==========================================================
   ULTRAWIDE 21:9 HEADER FIX — BLOCCO UNICO DEFINITIVO
   Target: 2560x1080 / ≥2000px
   ========================================================== */

@media (min-width: 2000px) {

  /* ===============================
     1. CONTAINER FULL WIDTH REALE
     =============================== */
  .tvcmsdesktop-top-second > .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
  }

  /* ===============================
     2. HEADER A 3 BLOCCHI REALI
     =============================== */
  .tvcmsdesktop-top-header-box {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px;
  }

  /* Kill Bootstrap columns */
  .tvcmsdesktop-top-header-box > div {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
  }

  /* ===============================
     3. LOGO — SINISTRA FISSO
     =============================== */
  .tvcms-header-logo-wrapper,
  #tvcmsdesktop-logo {
    flex: 0 0 260px !important;
    max-width: 260px !important;
    justify-content: flex-start !important;
  }

  /* ===============================
     4. BLOCCO SEARCH — CENTRALE
     =============================== */
  .tvcmsheader-search {
    flex: 1 1 auto !important;
    display: flex;
    justify-content: center;
    padding: 0 60px;
    max-width: none !important;
  }

  /* ===============================
     5. SBLOCCO STRUTTURA SEARCH
     (selettori reali dagli screen)
     =============================== */
  #_desktop_search,
  .search-widget.tvcmsheader-search,
  .tvsearch-top-wrapper,
  .tvsearch-header-display-wrappper,
  .tvsearch-header-display-wrappper form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
  }

  /* ===============================
     6. FORM SEARCH = FLEX
     =============================== */
  .tvsearch-header-display-wrappper form {
    display: flex !important;
    align-items: center;
    position: relative;
  }

  /* ===============================
     7. INPUT SEARCH (PROTAGONISTA)
     =============================== */
  .tvsearch-header-display-wrappper input[type="text"] {
    width: 100% !important;
    min-width: 900px;
    max-width: 1600px;
    height: 46px;
    font-size: 16px;
    padding: 0 56px 0 18px; /* spazio per la lente */
    box-sizing: border-box;
  }

  /* ===============================
     8. LENTE — FIX DEFINITIVO
     selettore: .tvheader-top-search-wrapper
     =============================== */
  .tvheader-top-search-wrapper {
    position: absolute !important;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    z-index: 2;
  }

  .tvheader-top-search-wrapper button,
  .tvheader-top-search-wrapper i {
    position: static !important;
    transform: none !important;
  }

  /* ===============================
     9. AZIONI A DESTRA
     =============================== */
  .tvcmsheader-nav-right {
    flex: 0 0 auto !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
    margin-left: auto;
  }

}


/* ==============================
   ULTRA WIDE FIX – HOMEPAGE
   ============================== */
@media (min-width: 1600px) {

    body#index .container,
    body#index .container-lg,
    body#index .container-md,
    body#index .container-sm,
    body#index .container-xl {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 60px;
        padding-right: 60px;
    }

}

/* ==========================================================
   ULTRAWIDE ≥2000px — BRANDLIST CENTER (OVERRIDE HARD)
   ========================================================== */
@media (min-width: 2000px) {

  /* sfondo full width */
  body#index .tvcmsbrandlist-slider.container-fluid {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* container interno: DISINNESCA bootstrap + regole globali */
  body#index .tvcmsbrandlist-slider
  > .tvbrandlist-slider.container {
    width: auto !important;
    max-width: 1600px !important;   /* ← REGOLA CHIAVE */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

}


.tvsearch-header-display-wrappper input[type="text"] {
  width: 100%;
  height: 46px;
  font-size: 16px;
  padding: 0 56px 0 18px;
  box-sizing: border-box;

  /* 🔥 soluzione definitiva */
  max-width: clamp(1200px, 65vw, 1900px);
}

	/* Centro assoluto del blocco spedizioni */
.wrapper-img-spedizioni {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

	/* Centro blocco "Fai una domanda" in tutte le risoluzioni */
.faq_ask_a_question {
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
/* FIX logo non cliccabile in landscape */
@media (max-width: 991px) and (orientation: landscape) {
    .tv-header-logo,
    .tv-header-logo a {
        position: relative;
        z-index: 5 !important;
        pointer-events: auto !important;
    }
}
	/* =========================================
   DEBUG – LINEA CENTRALE VIEWPORT
   ========================================= 

  body::before {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: red;
    z-index: 99999;
    pointer-events: none;
  }
*/	

@media (max-width: 767px) {

  header,
  .mobile-header-layout,
  .tvcmsmobile-header {
    min-height: 80px;
  }

}
@media (max-width: 767px) {

  .tvcmsmobile-header-search {
    height: 44px;
    min-height: 44px;
  }

}
	@media (max-width: 767px) {

  #content-wrapper {
    position: relative;
    overflow-anchor: none;
  }

}

/* =========================================================
   ANTI CLS MOBILE PATCH
   Target: max-width 767px
   ========================================================= */
@media (max-width: 767px) {

  /* =====================================================
     1. HERO SLIDER (OWL / tvmain-slider)
     ===================================================== */
  #tvmain-slider,
  #tvmain-slider .owl-stage-outer,
  #tvmain-slider .owl-stage,
  #tvmain-slider .owl-item {
    aspect-ratio: 1920 / 850;
    min-height: unset !important;
  }

  #tvmain-slider img,
  .tvmain-slider-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
  }


  /* =====================================================
     2. BANNER PROMO / OFFERTE (tvbanner / tvcms)
     ===================================================== */
  .tvbanner-hover-wrapper,
  .tvcmsliderofferbanners-picture,
  .tvcmsleftsideofferbanners-one picture {
    aspect-ratio: 229 / 235;
  }

  .tvbanner-hover-wrapper img,
  .tvcmsliderofferbanners-picture img,
  .tvcmsleftsideofferbanners-one img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    display: block;
  }


  /* =====================================================
     3. GRIGLIA PRODOTTI
     ===================================================== */
 /* .tvproduct-image,
  .tvproduct-wrapper,
  .tvproduct-image-wrapper {
    aspect-ratio: 1 / 1;
  }*/

  .tvproduct-image img,
  .tvproduct-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    display: block;
  }


  /* =====================================================
     4. PREVENZIONE SHIT EXTRA (lazy / repaint)
     ===================================================== */
  img[loading="lazy"] {
    contain: layout paint;
  }

  .owl-carousel,
  .owl-stage-outer {
    overflow: hidden;
  }

}
@media (max-width: 767px) {
  .tvcmsmobile-header-search {
    min-height: 58px; /* altezza reale misurata */
  }
}

	
#prestablog_menu_cat nav {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f8f8f8;
    padding: 10px;
}

#prestablog_menu_cat nav ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

#prestablog_menu_cat nav ul li a {
    padding: 10px 15px;
    text-transform: uppercase;
    font-weight: bold;
    color: #333;
}

/* Nasconde il pulsante mobile su desktop */
@media (min-width: 768px) {
    #menu-mobile { display: none; }
}
	
/* Centratura e stile icone nel menu */
#prestablog_menu_cat {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
}

#prestablog_menu_cat .prestablog-nav-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background: #fff;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

/* Stile per i link del menu generati da PrestaBlogContent */
#prestablog_menu_cat nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

#prestablog_menu_cat nav ul li a {
    padding: 15px 20px;
    display: block;
    color: #333;
    font-weight: 600;
    text-transform: uppercase;
    transition: color 0.3s;
}

#prestablog_menu_cat nav ul li a:hover {
    color: #2fb5d2; /* Colore tipico di PS, personalizzalo */
}

/* Pulsante Lente */
.prestablog-menu-search-toggle {
    background: none;
    border: none;
    padding: 15px;
    cursor: pointer;
    font-size: 1.2rem;
    color: #333;
}

/* Box di ricerca a comparsa */
.prestablog-menu-search-box {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    padding: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 999;
    width: 300px;
}

.prestablog-menu-search-box .block_content form {
    display: flex;
}

/* Mobile Responsive */
@media (max-width: 767px) {
    #menu-mobile {
        display: block;
        padding: 15px;
        font-size: 1.5rem;
        cursor: pointer;
        text-align: right;
    }
    
    #prestablog_menu_cat .prestablog-nav-container {
        display: none; /* Nascosto di default su mobile */
        flex-direction: column;
    }
    
    #prestablog_menu_cat .prestablog-nav-container.menu-open {
        display: flex;
    }
    
    #prestablog_menu_cat nav ul {
        flex-direction: column;
        width: 100%;
    }
}

@media (min-width: 768px) {
    #menu-mobile {
        display: none;
    }
}	
	
/* Forza la pulizia visiva delle slide non attive durante il loop */
.prestablogswip .swiper-slide:not(.swiper-slide-active) .prestabloglastnewstitle {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s;
}

.prestablogswip .swiper-slide-active .prestabloglastnewstitle {
    opacity: 1;
    visibility: visible;
}
	

#reviews-loader,
#reviews-end {
    width: 100%;
}

span.opc-stock-left,
span.product-reference{
    font-weight: 600 !important;
}

span.product-name {
    margin-top: 10px;
}

#checkout #opc_main #opc_cart .cart-summary-line .label,
#checkout #opc_main #opc_cart .cart-summary-line .value {
  font-weight: 600 !important;
}

/* =========================
   GLOBALI – NON ROMPONO DESKTOP
========================= */



/* Checkout escluso */
body#checkout footer#footer {
  min-height: auto !important;
}


@media (max-width: 767px) {
  #content-wrapper {
    min-height: 100vh !important;
  }
}


/* Wrapper SEMPRE presente */
.tvsearch-header-display-wrapper {
  position: relative;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.15s ease;
  will-change: opacity;
}

/* Stato aperto */
.tvsearch-header-display-wrapper.is-open {
  max-height: 300px; /* ALTEZZA RISERVATA */
  opacity: 1;
}

/* Contenuto interno scrollabile */
.tvsearch-header-display-full {
  max-height: 300px;
  overflow-y: auto;
}


/* Riserva spazio header (CLS fix) */
.tvcms-header-menu-offer-wrapper {
  min-height: 58px;
}

/* Sticky desktop senza layout shift */
@media (min-width: 992px) {
  .tvcmsheader-sticky {
    position: sticky;
    top: 0;
    animation: none !important;
    transition: none !important;
  }
}

/* Mobile: niente sticky */
@media (max-width: 991px) {
  .tvcmsheader-sticky {
    position: static !important;
    top: auto !important;
  }
}


 /* ==========================
     PADDING LATERALE 15px
     ========================== */
 @media (max-width: 767px) {
  body#index {
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
  }

  /* ==========================
     RESET MARGINI ROW
     ========================== */

  body#index .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* iPad (mini / standard / Air) portrait + landscape */
@media (min-width: 768px) and (max-width: 1024px) {
  body {
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
  }

  body .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* iPad portrait – centra l'immagine banner */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {

  a.tvbanner-hover-wrapper img {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
  }

}
/* iPad (portrait + landscape) */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Nasconde la scritta "Social" */
 .tvfooter-title-wrapper.hidden-sm-down {
    display: none !important;
}

  /* Centra le icone social */
  .custom-social-icons {
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px !important;
  }
.tvtab-pagination-wrapper .tvcms-next-pre-btn {
    position: absolute !important;
    top: 20px !important;
    right: 0 !important;
}
	
	.product-add-to-cart .addtocart-flex-row {
        flex-direction: unset;
	}
	
	.tvcms-main-footer-hooks, 
	h2.viewed_title, 
	a.text-hide {
    display: flex;
    justify-content: center;
  }
	
}


@media (max-width: 1024px) {
	.tvcmssliderofferbanners-one .tvbanner1, .tvcmssliderofferbanners-one .tvbanner2 {
      padding: 0 !important;
    }
}	
@media (max-width: 540px) {
	.tvcmssliderofferbanners-one .tvbanner1, .tvcmssliderofferbanners-one .tvbanner2 {
      padding: 15px !important;
    }
}
@media (max-width: 344px) {
	.tvcmsmobile-header-menu-offer-text {
padding: 0 !important;
}
}	
@media (max-width: 2500px) {
a.text-hide {
    display: flex;
    justify-content: center;
  }
}

/* ================================
   ACCESSIBILITY FIX – SWIPER BULLETS
   Touch target ≥ 44x44 (WCAG)
   ================================ */

.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 !important;
  position: relative;
}

/* area cliccabile */
.swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: -17px;
  left: -17px;
  width: 44px;
  height: 44px;
}

/* evita collisioni tra bullet */
.swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
}

/* FIX TOUCH TARGET – Swiper pagination bullets */
.swiper-pagination-bullet {
  position: relative;
  width: 10px;
  height: 10px;
  margin: 0 8px !important;
}

/* AREA CLICCABILE 44x44 */
.swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
}

.tv-view-grid .product-title h3, .tv-view-grid .tvproduct-name h3 {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: unset !important;
	}

@media (max-width: 991px) {
    .tv-view-grid .product-title h3, .tv-view-grid .tvproduct-name h3 {
        font-weight: 700 !important;
        font-size: 16px !important;
        line-height: 1.3 !important;
        display: block !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        -webkit-line-clamp: unset !important;
        color: #333 !important;
    }
}

@media (max-width: 768px) {
    .tvproduct-wrapper.grid .product-title h3 {
        display: -webkit-box;
        -webkit-line-clamp: 8;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
        min-height: 210px !important;
    }
}

.tvproduct-wrapper.grid .product-title h3 {
    line-height: 1.25;
    white-space: normal;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
}

@media (max-width: 991px) {
    .tv-view-grid .product-title h3, .tv-view-grid .tvproduct-name h3 {
        font-weight: 700 !important;
        font-size: 16px !important;
        line-height: 1.3 !important;
        display: block !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        -webkit-line-clamp: unset !important;
        color: #333 !important;
    }
}

#header {
    position: relative;
    z-index: 1000;
}

.ets_mm_megamenu {
    position: relative;
    z-index: 2000;
}

.ets_mm_megamenu .mm_columns_ul {
    z-index: 3000;
}

.tv-no-image-wrapper.col-sm-12 {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    box-shadow: 3px 3px 4px rgba(0, 0, 0, .16);
}

.tv-miniature-image-wrapper {
  aspect-ratio: 1 / 1;
}

.tvproduct-image {
    aspect-ratio: 1 / 1;
}

.af_filter .count {
    color: #6c757d; /* Un grigio standard molto più leggibile */
    margin-left: auto;
    padding-left: 3px;
    font-weight: 500; /* Opzionale: un po' di grassetto aiuta il contrasto */
}

@font-face {
  font-family: 'FontAwesome';
  src: url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2');
  font-display: swap; /* <--- Questo risolve il problema */
}

@font-face { font-family: 'Roboto'; font-display: swap; }

html body #wrapper {
    min-height: auto !important;
    height: auto !important;
}

/* 5. RITAGLIO PER BORDO */

#lgcomments-owl { width: 99.8% !important; margin: 0 auto; }


/* =========================================================
   DESKTOP CLS FIX - RICERCA (0,010)
   ========================================================= */

@media (min-width: 992px) {
    /* Blocca il contenitore della ricerca per evitare micro-salti */
    .tvcmsheader-search {
        min-height: 45px !important; /* Altezza standard per la barra di ricerca desktop */

    }

    /* Se hai un form o un input dentro, diamogli una base solida */
    .tvcmsheader-search form {
        margin: 0 !important;
        min-height: 40px !important;
    }
}


html body .lgcomments-wrapper {
        
        /* Aggiungiamo un leggero padding bottom per far "respirare" il bordo */
        padding-bottom: 5px !important; 
        margin-bottom: 30px !important;
        min-height: 380px !important; /* Ripristiniamo la base solida */
        overflow: visible !important; /* Permette al bordo/ombra di vedersi */
        width: 100% !important;
    }

    /* Assicuriamoci che il carosello non venga tagliato */
    html body #lgcomments-owl {
        padding: 2px !important; /* Spazio millimetrico per il bordo */
        width: 99.8% !important; 
        margin: 0 auto !important;
    }

/* =========================================================
   RIMOZIONE RECENSIONI DA MOBILE PER AZZERARE CLS
   ========================================================= */

@media (max-width: 767px) {
    /* Nascondiamo l'intero wrapper delle recensioni */
    .lgcomments-wrapper, 
    section#lgcomments_products,
    #lgcomment_reviews_list {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* =========================================================
   ELIMINAZIONE TOTALE VUOTO RECENSIONI SU MOBILE
   ========================================================= */

@media (max-width: 991px) {
    /* Nascondiamo tutto il blocco e azzeriamo le dimensioni */
    .lgcomments-wrapper, 
    section#lgcomments_products, 
    #lgcomment_reviews_list,
    .lgcomments-block {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
    }

    /* Colpiamo il contenitore del tema che racchiude il modulo */
    /* Spesso è questo che lascia il margine bianco */
    section.lgcomments-products-container,
    .tvcms-main-wrapper.lg-comments-section {
        display: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }
}
/* =========================================================
   fine ELIMINAZIONE TOTALE VUOTO RECENSIONI SU MOBILE
   ========================================================= */

/* 2. Normalizza il nuovo H3 (Ex H6) */
.tvproduct-wrapper h3, 
.tvproduct-name h3 {
    font-size: 15px !important; /* Mantieni la dimensione che preferisci */
    line-height: 1.2 !important;
    height: 40px !important;    /* Altezza fissa per 2 righe di testo */
    overflow: hidden !important;
    margin-bottom: 10px !important;
    margin-top: 5px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;      /* Taglia il testo alla seconda riga */
    -webkit-box-orient: vertical;
}
/* 3. Spinge le info (prezzo, carrello) verso il fondo */
.tv-grid-info {
    margin-top: auto !important; /* Questa è la magia: spinge il blocco in fondo */
    padding-top: 10px !important;
    width: 100%;
}

/* Forza Stripe a mantenere uno spazio vitale per caricarsi */
.stripe-payment-form, #stripe-card-element {
    min-height: 150px !important;
    display: block !important;
    opacity: 1 !important;
}

/* Arrotonda il contenitore e il pulsante di caricamento file */
.input-group.filestyle {
    border-radius: 12px !important;
    overflow: hidden; /* Taglia gli angoli squadrati interni */
}

.input-group .input-group-btn > .btn {
    border-radius: 0 12px 12px 0 !important; /* Arrotonda solo i lati destri */
    padding: 12px 20px !important;
    background-color: #355e9e !important; /* Blu istituzionale */
    transition: all 0.3s ease;
}

@media (min-width: 768px) {
    .offset-md-3 {
        margin-left: 18%;
    }
}

@media (max-width: 767px) {
    #contact .col-md-6,
    #contact .col-md-10.col-lg-8 {
        padding-left: 0px !important;
		padding-right: 0px !important;
    }
	#contact .tvall-inner-btn, .tvall-inner-btn-cancel {
        max-width: 100% !important;
    }
}

#checkout #opc_main .opc-step .opc-step-footer .continue {
    margin-left: auto;
    width: 100%;
}