.top-header-store-notice {
	background-color: var(--viola-color);
	padding: 15px 0;
}
.top-header-store-notice__content,
.top-header-store-notice__content * {
	color: #fff;
}

@media (max-width: 1024px){
	.top-header-wrapper {
		display: none !important;
	}
}
.top-header-wrapper {
	background-color: var(--celestino-color);
	padding: 15px 0;
}
.top-header-item-wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	
	-webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.header-item-cart .dropdown-back,
.header-item-account .dropdown-back,
.top-header-item-left__inner,
.top-header-item-left__inner .top-header-item-left__inner_item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}
/*
.top-header-item-left__inner .top-header-item-left__inner_item:not(:first-child){
	margin-left: 15px;
}
*/
.top-header-item-left__inner .top-header-item-left__inner_item:not(:last-child) {
	margin-right: 35px;
}
.top-header-item-right__inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	
	margin-right: -25px;
}
/*
.top-header-item-right__inner .top-header-item-right__inner_item:not(:last-child){
	margin-right: 15px;
}
*/

/*
.top-header-item-right__inner .top-header-item-right__inner_item:not(:first-child){
	margin-left: 35px;
}
*/

.top-header-item-left__inner .top-header-item-left__inner_item p {
	color: var(--viola) !important;
	font-weight: 400 !important;
}
/*
.top-header-item-left__inner .top-header-item-left__inner_item img {
	margin-right: 5px;
}
*/
.top-header-item-left__inner .top-header-item-left__inner_item .garanzia {
    mask: url(../images/garanzia.svg) no-repeat center / contain;
    -webkit-mask: url(../images/garanzia.svg) no-repeat center / contain;
}
.top-header-item-left__inner .top-header-item-left__inner_item .stock {
    mask: url(../images/stock.svg) no-repeat center / contain;
    -webkit-mask: url(../images/stock.svg) no-repeat center / contain;
}
.top-header-item-left__inner .top-header-item-left__inner_item .courier {
    mask: url(../images/courier.svg) no-repeat center / contain;
    -webkit-mask: url(../images/courier.svg) no-repeat center / contain;
}
.header-item-cart .woo_icon.shopping_bag {
	mask: url(../images/shopping-bag.svg) no-repeat center / contain;
    -webkit-mask: url(../images/shopping-bag.svg) no-repeat center / contain;
}
.header-item-account .woo_icon.user_svg {
	mask: url(../images/user.svg) no-repeat center / contain;
    -webkit-mask: url(../images/user.svg) no-repeat center / contain;
}
.top-header-item-left__inner .top-header-item-left__inner_item .top-header-item-left__icon  {
    background-color: var(--viola);
    width: 25px;
    height: 25px;
	margin-right: 7px;
}

.header-item-cart .dropdown-back,
.header-item-account .dropdown-back {
	color: var(--viola) !important;
	font-weight: bold;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.header-item-cart .dropdown-back:hover,
.header-item-account .dropdown-back:hover {
	color: var(--verde) !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.header-item-cart .woo_icon,
.header-item-account .woo_icon {
	background-color: var(--viola);
    width: 25px;
    height: 25px;
	margin-right: 7px;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.header-item-cart .dropdown-back:hover .woo_icon,
.header-item-account .dropdown-back:hover .woo_icon {
	background-color: var(--verde);
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.header-item-account .dropdown-menu {
	left: 50% !important;
    transform: translateX(-25%) !important;
    text-align: center !important;
	margin: 15px 0 0 !important;
	padding-bottom: 20px !important;
	font-size: 16px !important;
	min-width: 200px !important;
}
.header-item-account .dropdown-menu li a {
	color: var(--viola);
	
	background-color: transparent !important;
	background-image: none !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.header-item-account .dropdown-menu li a:hover {
	color: var(--verde);
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

.header-item-cart .dropdown-menu {
	min-width: 400px !important;
	left: auto !important;
	margin-top: 15px !important;
	padding: 15px !important;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item {
	margin-bottom: 15px;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex .woocommerce-mini-cart-item-flex-image {
	max-width: 80px;
	margin-right: 10px;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex .woocommerce-mini-cart-item-data-inner {
	display: flex;
	flex-direction: column;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex .woocommerce-mini-cart-item-data-inner-title a,
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex .woocommerce-mini-cart-item-data-inner-quantity {
	font-size: 16px !important;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex .woocommerce-mini-cart-item-data-inner .remove_from_cart_button,
.header-item-cart .dropdown-menu .woocommerce-mini-cart-item .woocommerce-mini-cart-item-flex .woocommerce-mini-cart-item-data-inner .remove_from_cart_button:hover {
	border-radius: 0 !important;
	font-size: 14px !important;
	width: auto !important;
	height: auto !important;
	color: red !important;
	background: transparent !important;
	margin-top: 30px !important;
	text-align: left !important;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart__total {
	font-size: 16px;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
.header-item-cart .dropdown-menu .woocommerce-mini-cart__buttons a {
	max-width: max-content;
}


.top-header-item-right__inner .top-header-item-right__inner_item > a {
	font-weight: bold;
	color: var(--viola) !important;
}
.top-header-item-left-language {
	position: relative;
	min-width: 140px;
}
.top-header-item-left-assistenza {
	position: relative;
	min-width: 200px;
}
.top-header-item-left-language > a,
.top-header-item-left-assistenza > a {
	/*
	display: block;
    text-align: center;
	*/
	text-transform: uppercase;
    padding: 10px 0;
	border: 1px solid transparent;
	
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.top-header-item-left-language.open > a,
.top-header-item-left-assistenza.open > a {
	border-radius: 10px 10px 0 0;
    background: #fff;
    border: 1px solid rgba(0,0,0,.15);
    border-bottom-color: transparent;	
}
.top-header-item-left-language > a span.text,
.top-header-item-left-assistenza > a span.text {
	margin-right: 5px;
}
.top-header-item-left-language .dropdown-menu,
.top-header-item-left-assistenza .dropdown-menu {
	left: 50% !important;
    transform: translateX(-50%) !important;
    border-radius: 0 0 10px 10px !important;
    border-top: transparent !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
    text-align: center !important;
	
	-webkit-box-shadow: none !important;
    box-shadow: none !important;
}
.top-header-item-left-language .dropdown-menu {
	min-width: 140px !important;
}
.top-header-item-left-assistenza .dropdown-menu {
	min-width: 200px !important;
}
.header-item-account .dropdown-menu li.hr,
.top-header-item-left-language .dropdown-menu li.hr,
.top-header-item-left-assistenza .dropdown-menu li.hr {
	margin: 15px auto;
	max-width: 50px;
	background: var(--viola) !important;
}
.top-header-item-left-language .dropdown-menu li *,
.top-header-item-left-assistenza .dropdown-menu li * {
	color: var(--viola) !important;
}
.top-header-item-left-language .dropdown-menu li.text,
.top-header-item-left-assistenza .dropdown-menu li.text {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	font-size: 16px;
}
.top-header-item-left-language .dropdown-menu li.text i,
.top-header-item-left-assistenza .dropdown-menu li.text i {
	margin-right: 5px;
	font-size: 20px;
}
.top-header-item-left-language .dropdown-menu li.text > a,
.top-header-item-left-assistenza .dropdown-menu li.text > a {
	padding: 0 !important;
	clear: none !important;
	background: transparent !important;
}


header .dropdown-back img, 
header .ac_top_search img,
header .search-form__h img {
    width: 20px;
    height: 20px;
}

header .header-item-wrapper {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
header.header_desktop .header-item-wrapper .header-item {
	-webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;
	
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
header.header_desktop .header-item-wrapper .header-item.header-item-logo {
	-webkit-box-pack: start;
    -moz-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
@media (max-width: 1024px){
	header .logo {
		margin-right: 15px;
	}
}
header.header_desktop .header-item-wrapper .header-item.header-item-account,
header.header_desktop .header-item-wrapper .header-item.header-item-cart,
header.header_desktop .header-item-wrapper .header-item.header-item-search {
	-webkit-box-pack: end;
    -moz-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
	
	position: relative;
}
header.header_desktop .header-item-wrapper .header-item.header-item-search {
	-webkit-flex: 1 1 45% !important;
    -ms-flex: 1 1 45% !important;
    flex: 1 1 45% !important;
}
header .search-form__h {
	width: 100%;
}
header .search-form__h form.navbar-form {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
body .aws-container {
    width: 100%;
}
body .aws-container .aws-search-form {
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
body .aws-container .aws-show-clear .aws-search-field {
    padding: 5px 15px;
    font-family: inherit;
    font-size: inherit;
    border-color: transparent;
    background: var(--celestino-color);
}
body .aws-container .aws-search-form .aws-wrapper {
    height: 42px;
}
body .aws-container .aws-search-form .aws-form-btn,
body .aws-container .aws-search-form .aws-form-btn:hover {
    background: var(--verde);
    border-color: transparent;
    height: 42px;
}
body .aws-container .aws-search-form .aws-search-btn_icon {
    color: #fff;
    height: 30px;
}


@media (min-width: 768px) {
    body .aws-container .aws-search-form {
        margin: 8px 0;
        padding: 0 15px;
    }
}
@media (min-width: 768px) and (max-width: 1024px){
	header .search-form__h form.navbar-form {
		padding: 10px 0 !important;
	}
}
header .search-form__h form.navbar-form input.search-form_it {
	width: calc(100% - 43px);
	height: 42px;
	border: none;
	background: var(--celestino-color);
    padding: 5px 15px;
	outline: 0 !important;
}
header .search-form__h form.navbar-form button.search-form_is {
	width: 42px;
	height: 42px;
	border: none;
	background: var(--verde);
}
header .search-form__h form.navbar-form button.search-form_is img {
	filter: invert(100);
}

header .stickup-wrapper {
	padding: 45px 0;
}
header .dropdown-back {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}
/*
header .dropdown-back img {
	margin-right: 5px;
}
*/

header .nav_menu_holder {
	background-color: var(--celestino-color);
}
header .nav_menu_holder .nav-menu-wrapper {
	padding: 15px 0;
}
header .nav_menu_holder .nav__primary ul#topnav {
	list-style: none;
	margin: 0;
	padding: 0;
	
	display: flex;
	flex-direction: row;
	align-items: center;
	
	-webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
header .nav_menu_holder .nav__primary ul#topnav li a {
	text-transform: uppercase;
	text-decoration: none;
	padding: 15px 0;
	font-weight: bold;
}
header .nav_menu_holder .nav__primary ul#topnav li {
	/*flex-grow: 1;*/
}



header.header_mobile nav.nav__primary {
	display: none;
}
header.header_mobile .header-item-account span.accedi,
header.header_mobile .header-item-account span.account,
header.header_mobile .header-item-cart span.text {
	display: none;
}
header.header_mobile .header-item-account {
	margin-left: auto;
}
header.header_mobile .header-item-logo,
header.header_mobile .header-item-account,
header.header_mobile .header-item-cart {
	margin-right: 15px;
}

a.btn-navbar span.icon-bar{
	width:30px;
	height:4px;
	display:block;
	margin-bottom:3px;
	margin-right:0!important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
a.btn-navbar span.icon-bar:last-child{margin-bottom:0}
a.btn-navbar{padding:5px!important;background:0 0!important;text-shadow:none!important;box-shadow:none!important}


a.btn-navbar span.icon-bar {
	background: var(--viola-color);
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.sidr-open a.btn-navbar span.icon-bar {
	background: var(--viola-color);
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.sidr-open a.btn-navbar span.icon-bar:first-child {
	transform: rotate(45deg) !important;
    margin-bottom: 0 !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.sidr-open a.btn-navbar span.icon-bar:last-child {
	transform: rotate(-45deg) !important;
    margin-top: -11px !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.sidr-open a.btn-navbar span.icon-bar:nth-child(2) {
	opacity: 0;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
@media (min-width: 1025px){
	.header_mobile {
		display: none;
	}
}
@media (max-width: 1024px){
	.header_desktop {
		display: none;
	}
}




.megamenu {
    position: static;
}

.megamenu-content {
    width: 100%;
    padding: 20px 30px;
    max-height: 50vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    /* Sopra la sidebar: i toggle "+"/"-" delle categorie non devono bucare il menu. */
    z-index: 1050;
}

.megamenu-column {
    margin-bottom: 20px;
}

.megamenu-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 10px;
}

.megamenu-title a {
    color: inherit;
    text-decoration: none;
}

.megamenu-sublist {
    list-style: none;
    padding-left: 0;
}

.megamenu-sublist li {
    margin-bottom: 6px;
}

.megamenu-sublist a {
    font-size: 13px;
    color: #666;
}

.megamenu-sublist a:hover {
    color: #000;
}


/* === Menu principale: miglioramenti visivi ===============================
 * La barra di 1° livello aveva justify-content:space-between con ~13 voci e
 * link senza padding orizzontale → etichette a contatto e a-capo a metà parola.
 * Qui: respiro orizzontale per voce, ogni etichetta su una riga (nowrap) e wrap
 * pulito su una seconda riga centrata quando non entrano tutte. Le regole
 * seguono quelle originali nel file, quindi vincono per ordine di cascata.
 * ======================================================================== */
header .nav_menu_holder .nav-menu-wrapper {
	padding: 8px 0;
}
header .nav_menu_holder .nav__primary ul#topnav {
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	column-gap: 2px;
	row-gap: 2px;
}
/* Solo le voci di 1° livello (> li > a): NON tocca i link interni del megamenu. */
header .nav_menu_holder .nav__primary ul#topnav > li > a {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 11px 13px;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: .2px;
	white-space: nowrap;
	border-radius: 6px;
	transition: background-color .2s ease, color .2s ease;
}
header .nav_menu_holder .nav__primary ul#topnav > li > a:hover,
header .nav_menu_holder .nav__primary ul#topnav > li > a:focus {
	background-color: rgba(0, 0, 0, .06);
}
header .nav_menu_holder .nav__primary ul#topnav > li.megamenu > a .caret {
	opacity: .6;
}

/* Megamenu: nascondi le sottoliste vuote (2° livello senza figli, ora inclusi
 * dal template) e compatta i titoli così le colonne restano uniformi. */
.megamenu-title {
	margin: 0 0 6px;
	line-height: 1.25;
}
.megamenu-sublist {
	margin: 0 0 14px;
}
.megamenu-sublist:empty {
	display: none;
}


.content_holder {
	padding: 45px 0;
}



/* ===============================
 * Subcategory Boxes
 * =============================== */

.wc-subcategory-box {
    height: 200px;
    overflow: hidden;
}

/* Panel body full height */
.wc-subcategory-box .panel-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 10px;
}

/* ===============================
 * Sticky header
 * =============================== */

.wc-subcategory-header {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #fff;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}

.wc-subcategory-title {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
}

/* ===============================
 * Body layout
 * =============================== */

.wc-subcategory-body {
    display: flex;
    flex: 1 1 auto;
    gap: 10px;
    padding-top: 8px;
}

/* Left: scrollable list */
.wc-subcategory-content {
    position: relative;
    flex: 1 1 auto;
    overflow-y: auto;
}

/* Right: image */
.wc-subcategory-image {
    flex: 0 0 40%;
    text-align: center;
    align-content: center;
}

.wc-subcategory-thumb {
    max-width: 100%;
    height: auto;
    min-height: 70px; /* ⬅️ FONDAMENTALE per il placeholder */
}

/* ===============================
 * Subcategory list
 * =============================== */

.wc-subcategory-children {
    margin: 0;
    padding-right: 6px;
}

.wc-subcategory-children li {
    margin-bottom: 6px;
    line-height: 1.35;
}

.wc-subcategory-children a {
    font-size: 13px;
    color: #333;
    text-decoration: none;
}

.wc-subcategory-children a:hover {
    text-decoration: underline;
}

/* ===============================
 * Fade bottom
 * =============================== */

.wc-subcategory-fade {
    position: sticky;
    bottom: 0;
    height: 32px;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.85) 70%,
        rgba(255,255,255,1) 100%
    );
}

/* ===============================
 * Responsive heights
 * =============================== */

@media (min-width: 1025px) {
    .wc-subcategory-box {
        height: 300px;
    }
}

/*
@media (min-width: 1280px) {
    .wc-subcategory-box {
        height: 400px;
    }
}
*/






/*
@media (min-width: 1440px){
	body.archive.woocommerce #tsm_woo_product_class figure.figure_product_image.server_image {
		padding: 23.4px 0;
	}
}
@media (min-width: 1280px){
	body.archive.woocommerce #tsm_woo_product_class figure.figure_product_image.server_image {
		padding: 20.4px 0;
	}
}
@media (min-width: 1025px){
	body.archive.woocommerce #tsm_woo_product_class figure.figure_product_image.server_image {
		padding: 15.76px 0;
	}
}
@media (min-width: 576px){
	body.archive.woocommerce #tsm_woo_product_class figure.figure_product_image.server_image {
		padding: 21.2px 0;
	}
}
*/


body.single-product .related.products a.woocommerce-loop-product__link {
	position: relative;
}
body.single-product .related.products a.woocommerce-loop-product__link figure.figure_product_image {
	position: relative;
	overflow: hidden;
}
body.single-product .related.products a.woocommerce-loop-product__link .woo_dettagli {
	position: absolute;
    bottom: 10px;
    left: 50%;
	transform: translateX(-50%);
	
	opacity: 0;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .related.products a.woocommerce-loop-product__link:hover .woo_dettagli {
	opacity: 1;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .related.products a.woocommerce-loop-product__link figure.figure_product_image img {
	transform: scale(1);

	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

/**
 * Badge SKU sempre visibile nell'angolo alto/dx dell'anteprima prodotto.
 * Il figure.figure_product_image è già position:relative (archivio + correlati),
 * quindi il badge si ancora al suo angolo. Sfondo semi-trasparente, non-cliccabile.
 */
figure.figure_product_image {
	position: relative;
}
figure.figure_product_image .tsm-sku-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	max-width: calc(100% - 24px);
	padding: 3px 8px;
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
body.single-product .related.products a.woocommerce-loop-product__link:hover figure.figure_product_image img {
	transform: scale(1.05);
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}



body.single-product .section-woocommerce-content div.product div.images {
    float: none !important;
    width: 100% !important;
}
body.single-product .section-woocommerce-content div.product .product_meta {
	margin-bottom: 30px;
}
body.single-product  div.product p.price, 
body.single-product  div.product span.price {
    color: var(--viola) !important;
	font-size: 20px !important;
	font-weight: bold !important;
}
.block_detail_product_item_sidebar .block_detail_product_item_shop_list {
    padding: 3px 20px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1);
    box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1);
    border-radius: 5px
}

body.single-product .section-woocommerce-content .product.product-type-bundle form.bundle_form table.bundled_products thead {
	display: none;
}
body.single-product .section-woocommerce-content .product.product-type-bundle .single_product_bundle_item {
	border-bottom: 1px solid #ddd;
}
body.single-product .section-woocommerce-content .product.product-type-bundle .single_product_bundle_item:first-child {
	border-top: 1px solid #ddd;
}
body.single-product .section-woocommerce-content .product.product-type-simple .quantity,
body.single-product .section-woocommerce-content .product.product-type-bundle .quantity {
	float: none !important;
	margin: 0 0 1em !important;
}
body.single-product .section-woocommerce-content .product.product-type-simple .quantity label,
body.single-product .section-woocommerce-content .product.product-type-bundle .quantity label {
	margin-right: 5px;
}


.button.wc-forward,
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt {
    width: 100% !important;
	text-align: center !important;
	line-height: 1.2 !important;
	
	background-color: var(--verde) !important;
    color: var(--viola) !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.button.wc-forward:hover,
.woocommerce #respond input#submit.alt:hover, 
.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover {
    background-color: var(--viola) !important;
    color: var(--bianco) !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
.woocommerce .woocommerce-error .button, 
.woocommerce .woocommerce-info .button, 
.woocommerce .woocommerce-message .button, 
.woocommerce-page .woocommerce-error .button, 
.woocommerce-page .woocommerce-info .button, 
.woocommerce-page .woocommerce-message .button {
    max-width: max-content !important;
}


.custom_filter_taxonomies > ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.custom_filter_taxonomies ul#dropdownHiTerm li a,
.custom_filter_taxonomies ul#dropdownLoTerm li a {
	display: block;
	border-bottom: 1px solid #ccc;
}
.custom_filter_taxonomies ul#dropdownHiTerm li a {
	text-transform: uppercase;
	font-size: 20px;
}
.custom_filter_taxonomies ul#dropdownLoTerm {
	margin-left: 15px;
}
.custom_filter_taxonomies ul#dropdownLoTerm li a {
	font-size: 18px;
}

.custom_filter_taxonomies ul#dropdownLoTerm li a,
.custom_filter_taxonomies ul#dropdownChildTerm li a,
.custom_filter_taxonomies ul#dropdownFourthTerm li a {
	text-transform: none;
}

.custom_filter_taxonomies ul#dropdownFourthTerm,
.custom_filter_taxonomies ul#dropdownChildTerm {
	margin-left: 15px;
}
.custom_filter_taxonomies ul#dropdownChildTerm li a {
	font-size: 16px;
	border: none;
}
.custom_filter_taxonomies ul#dropdownFourthTerm li a {
    font-size: 14px;
	border: none;
}
.custom_filter_taxonomies .dropdown-menu {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1000;
    /*
	display: none;
	*/
    float: none !important;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 14px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: none !important;
    border-radius: 4px;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
.custom_filter_taxonomies .dropdown-menu.open {
	display: block;
}
.custom_filter_taxonomies ul li .w-link {
	position: relative;
}
.custom_filter_taxonomies ul li i {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 1000;
    cursor: pointer;
	font-size: 22px;
	color:#4a3f95;
}
.custom_filter_taxonomies ul li i[aria-expanded="true"]:before {
    content: "\f068";
}
/*
.custom_filter_taxonomies ul#dropdownHiTerm > li > .w-link > a[data-term="current"],
.custom_filter_taxonomies ul#dropdownLoTerm > li > .w-link > a[data-term="current"],
.custom_filter_taxonomies ul#dropdownChildTerm > li > .w-link > a[data-term="current"],
.custom_filter_taxonomies ul#dropdownFourthTerm > li > a[data-term="current"] {
    background-color: #e8e8e8;
    background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
    background-image: -o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
    background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
    background-repeat: repeat-x;
    padding-left: 3px !important;
    padding-right: 3px !important;
}
*/


/* === Sidebar categorie — restyle elegante/moderno =======================
 * Sovrascrive le regole originali qui sopra (stessi selettori, più avanti nel
 * file → vincono per cascata): righe pulite con hover, gerarchia con "guida"
 * verticale di rientro, toggle +/- più discreti (z-index 2 → non bucano più il
 * megamenu aperto) e voce corrente evidenziata.
 * ===================================================================== */
.custom_filter_taxonomies ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.custom_filter_taxonomies ul li a {
	display: block;
	padding: 9px 36px 9px 12px;
	color: #3b3b46;
	text-decoration: none;
	border: 0;
	border-radius: 8px;
	line-height: 1.3;
	transition: background-color .15s ease, color .15s ease;
}
.custom_filter_taxonomies ul li a:hover,
.custom_filter_taxonomies ul li a:focus {
	background-color: #f2f0fb;
	color: #4a3f95;
}

/* Livello 1: separatori sottili tra i rami, non più bordo a tutta larghezza */
.custom_filter_taxonomies ul#dropdownHiTerm > li {
	border-top: 1px solid #ececf2;
}
.custom_filter_taxonomies ul#dropdownHiTerm > li:first-child {
	border-top: 0;
}
.custom_filter_taxonomies ul#dropdownHiTerm li a {
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .3px;
	color: #2c2c38;
}

/* Livelli annidati: rientro con guida verticale */
.custom_filter_taxonomies ul#dropdownLoTerm,
.custom_filter_taxonomies ul#dropdownChildTerm,
.custom_filter_taxonomies ul#dropdownFourthTerm {
	margin-left: 12px;
	padding-left: 10px;
	border-left: 1px solid #ececf2;
}
.custom_filter_taxonomies ul#dropdownLoTerm li a {
	font-size: 14px;
}
.custom_filter_taxonomies ul#dropdownChildTerm li a {
	font-size: 13px;
	color: #55555f;
}
.custom_filter_taxonomies ul#dropdownFourthTerm li a {
	font-size: 12.5px;
	color: #6a6a74;
}

/* Toggle +/- discreti (z-index 2: non copre più il megamenu aperto) */
.custom_filter_taxonomies ul li i {
	z-index: 2;
	right: 4px;
	width: 26px;
	height: 26px;
	line-height: 26px;
	text-align: center;
	font-size: 13px;
	color: #b4aedb;
	border-radius: 6px;
	transition: color .15s ease, background-color .15s ease;
}
.custom_filter_taxonomies ul li i:hover {
	color: #4a3f95;
	background-color: #efedfa;
}

/* Voce corrente evidenziata */
.custom_filter_taxonomies a[data-term="current"],
.custom_filter_taxonomies a[data-term="current"]:hover {
	background-color: #4a3f95;
	color: #fff !important;
	font-weight: 700;
}


/* === Menu "Mio account" — stessa lingua della sidebar categorie ==========
 * WooCommerce rende questa navigazione come lista puntata nuda e il tema non
 * la stilava affatto. Riusa deliberatamente i token del blocco qui sopra
 * (riga cliccabile a tutta larghezza, raggio 8px, hover lilla, voce corrente
 * in pieno viola): sono le due navigazioni principali del sito, devono
 * sembrare parenti invece di due stili scollegati.
 * ===================================================================== */
.woocommerce-MyAccount-navigation {
	margin-bottom: 24px;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
	border-top: 1px solid #ececf2;
}
.woocommerce-MyAccount-navigation ul li:first-child {
	border-top: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 12px;
	color: #3b3b46;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	border: 0;
	border-radius: 8px;
	transition: background-color .15s ease, color .15s ease;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li a:focus {
	background-color: #f2f0fb;
	color: #4a3f95;
	text-decoration: none;
}

/* Sezione corrente: stesso trattamento di a[data-term="current"] in sidebar */
.woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-MyAccount-navigation ul li.is-active > a:hover {
	background-color: #4a3f95;
	color: #fff;
	font-weight: 700;
}

/* "Esci" è un'azione, non una sezione: tono più basso per non competere */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout > a {
	color: #6a6a74;
	font-weight: 500;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout > a:hover {
	color: #4a3f95;
}


/* === Cuore preferiti e badge SKU sulle card di questo tema ==============
 * Due correzioni che vanno insieme.
 *
 * 1) Il CSS del plugin ancora il cuore a `ul.products li.product`, markup che
 *    questo tema NON usa: `loop-start.php` apre un `div.products` e ogni card
 *    è un `div.woo_product_class`. Senza antenato posizionato il cuore andava
 *    alla deriva risalendo fino al primo elemento posizionato che trovava.
 *
 * 2) Cuore e badge SKU occupavano entrambi l'angolo in alto a destra e si
 *    sovrapponevano. Separati per RUOLO, non a caso: il cuore è un comando e
 *    resta a destra, dove l'utente cerca i controlli; il badge SKU è un dato
 *    passivo e passa a sinistra, dove si legge per primo. Stesse coordinate
 *    speculari (12px) così i due si leggono come una coppia.
 * ===================================================================== */
.woo_product_class,
.block_highlight_product_item {
	position: relative;
}
.block_highlight_product_item .esolver-fav--loop {
	top: 12px;
	right: 12px;
	left: auto;
}

/* Sulla card di catalogo il cuore è ancorato alla CARD, mentre il badge SKU è
   ancorato alla figure — che ha 1px di bordo e 10px di padding propri. In
   orizzontale lo scostamento deve compensare quel padding; in verticale no, e
   applicarlo a entrambi gli assi faceva scendere il cuore sotto il badge.
   Il 13 è il bordo della figure (1px) più il top del badge (12px): così i due
   elementi partono dalla stessa linea. */
.woo_product_class .esolver-fav--loop {
	top: 13px;
	right: 22px;
	left: auto;
}


/* === Home: badge e "Dettagli" ancorati al contenitore, non alla figure ===
 * Il pulsante sta dentro `figure.figure_product_image`, che è position:relative
 * globalmente (serve al badge SKU nelle altre viste) ma ha ALTEZZA AUTOMATICA,
 * dettata dalla foto. Il CSS del tema lo posiziona a `bottom: 10px`, misurati
 * quindi sulla figure e non sul contenitore alto 300px fissi: con una foto più
 * bassa il pulsante saliva, con una più alta finiva oltre l'`overflow: hidden` e
 * spariva. Da qui due card con le stesse classi che si comportavano diversamente.
 * Nel blocco precedente non si notava perché il markup emetteva un SECONDO
 * pulsante, figlio diretto del contenitore: era quello, correttamente piazzato,
 * che si vedeva.
 *
 * Si toglie il posizionamento alla figure — qui e solo qui — così badge e
 * pulsante si ancorano al contenitore, che è la geometria voluta. NON si forza
 * l'altezza della figure: quella strada posiziona il pulsante ma dà all'immagine
 * un'altezza definita su cui stirarsi, e una sorgente 300x300 upscalata perde
 * nitidezza.
 * ===================================================================== */
.block_highlight_product_item_img .figure_product_image {
	position: static;
}
figure.figure_product_image .tsm-sku-badge {
	right: auto;
	left: 12px;
}


body.single-product form.bulk_variations_form button.button.alt {
	max-width: 200px !important;
	float: none;
}

body.single-product div.product form.cart table td {
    padding-left: 8px !important;
    justify-items: center;
}

body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default {
	webkit-box-shadow: none !important;
    box-shadow: none !important;
	border-color: transparent !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default>.panel-heading {
    /*
	background-image: none !important;
    filter: none !important;
    background-repeat: no-repeat !important;
	
	color: var(--bianco) !important;
    background-color: var(--verde) !important;
    border-color: transparent !important;
	
	border-bottom: 0;
	
	padding: 0.618em 1em !important;
    border-bottom: none !important;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
	max-width: max-content !important;
	*/
	
	background-image: none !important;
    filter: none !important;
    background-repeat: no-repeat !important;
	
	color: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
	
	border-bottom: 0;
	
	padding: 0 !important;
    border-bottom: none !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
	

	/*
	font-size: 100%;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: 0.618em 1em;
    font-weight: 700;
    border-radius: 3px;
    left: auto;

    border: 0;
    display: inline-block;
    background-image: none;
    box-shadow: none;
    text-shadow: none;
	*/
}

body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default>.panel-heading>.panel-title {
	background-image: none !important;
    filter: none !important;
    background-repeat: no-repeat !important;
	
	color: var(--viola) !important;
    background-color: var(--verde) !important;
    
	border-color: transparent !important;
	border-bottom: 0;
	
	padding: 0.618em 1em !important;
    border-bottom: none !important;
    border-radius: 3px !important;
    -webkit-border-radius: 3px !important;
	-moz-border-radius: 3px !important;
	-o-border-radius: 3px !important;
	
	/*
	max-width: max-content !important;
	*/
	width: 43% !important;
	text-align: center !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default>.panel-heading>.panel-title>a {
	color: var(--viola) !important;
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default>.panel-heading>.panel-title:hover {
	background-color: var(--viola) !important;
    color: var(--bianco) !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default>.panel-heading>.panel-title>a:hover {
	color: var(--bianco) !important;
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute .panel-default .panel-body {
	border: 1px solid #ddd !important;
	margin-top: 15px !important;
}


body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute table td.mail_disponibility,
body.single-product .section-woocommerce-content .product.product-type-variable form.single_attribute table td.mail_disponibility {
	width: 20% !important;
	text-align: right !important;
}


/*
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute ul.nav-collapser {
	margin: 0;
	padding: 0;
	list-style: none;
	
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute ul.nav-collapser li {
	margin-right: 10px;
	margin-bottom: 10px;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute ul.nav-collapser li a {
	width: 80px;
	height: 80px;
	border: 1px solid #ddd;
	display: block;
}
*/


/*
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .panel-default {
	webkit-box-shadow: none !important;
    box-shadow: none !important;
	border-color: transparent !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .panel-default>.panel-heading {
    
	background-image: none !important;
    filter: none !important;
    background-repeat: no-repeat !important;
	
	color: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
	
	border-bottom: 0;
	
	padding: 0 !important;
    border-bottom: none !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;

}


body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .panel-default .panel-body {
	border: 1px solid #ddd !important;
	margin-top: 15px !important;
}
*/

/*
.nav-tabs>li.active>a, 
.nav-tabs>li.active>a:focus, 
.nav-tabs>li.active>a:hover {
    color: #555;
    cursor: default;
    background-color: #fff;
    border: 1px solid #ddd;
    border-bottom-color: transparent;
}
*/

/*
.nav-tabs>li>a[aria-expanded="false"]:focus, 
.nav-tabs>li>a[aria-expanded="false"]:hover {
    color: #555;
    cursor: pointer !important;
    background-color: #fff;
    border: 1px solid #ddd !important;
    border-bottom-color: transparent;
}
*/

/*
.nav-tabs>li>a {
    margin-right: 2px;
    line-height: 1.42857143;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
}
.nav>li>a {
    position: relative;
    display: block;
    padding: 10px 15px;
}
*/


body.single-product .section-woocommerce-content .product.product-type-variable .double_attribute_heading_title {
	background-image: none !important;
    filter: none !important;
    background-repeat: no-repeat !important;
	
	color: var(--viola) !important;
    background-color: var(--verde) !important;
    
	border-color: transparent !important;
	border-bottom: 0;
	
	padding: 0.618em 1em !important;
    border-bottom: none !important;
    border-radius: 3px !important;
    -webkit-border-radius: 3px !important;
	-moz-border-radius: 3px !important;
	-o-border-radius: 3px !important;
	
	/*
	max-width: max-content !important;
	*/
	width: 43% !important;
	text-align: center !important;
	
	transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav-tabs {
	border-bottom: none !important;
}

body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav-tabs>li {
	margin-bottom: 10px !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav-tabs>li>a[aria-expanded="true"],
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav-tabs>li.active>a[aria-expanded="true"] {
	cursor: pointer !important;
	background-color: #fff;
    border: 1px solid #ddd !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav-tabs>li>a[aria-expanded="false"],
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav-tabs>li.active>a[aria-expanded="false"] {
	cursor: pointer !important;
	background-color: #fff;
    border: 1px solid transparent !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav.nav-tabs {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	
	margin-top: 15px;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav.nav-tabs .tab_inner a {
	margin-right: 0 !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav.nav-tabs .tab_inner {
	margin-right: 10px;
}

body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav.nav-tabs .tab_inner .btn-bg {
	width: 60px;
	height: 60px;
	
	border-radius: 4px;
    border: 1px solid #ddd;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .tab-content .tab-pane {
	border: 1px solid #ddd;
	padding: 15px 15px;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .tab-content .btn-bg {
	width: 120px;
	height: 120px;
	
	border-radius: 4px;
    border: 1px solid #dedede;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .tab-content .btn-name {
	width: 120px;
}

body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .tab-content .btn-name,
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute .nav.nav-tabs .tab_inner .btn-name {
	text-align: center;
	color: #000;
}


body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute table * {
    vertical-align: middle;    
}


.attributes_form_wrapper .table_init {
    width: 100%;
    /* max-height: 70vh; */
    /* overflow-x: auto;*/ 
    margin-top: 20px;
    margin-bottom: 0;
    scroll-behavior: smooth;    
}
.attributes_form_wrapper .table_init > .table {
    margin-bottom: 0;
}
.attributes_form_wrapper .table_init table.table_parent {
    white-space: nowrap !important;
    margin: 0 !important;
    border: none !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    border: 1px solid rgba(0,0,0,0.5) !important;
  }
  .woocommerce .attributes_form_wrapper .table_init table.table_parent td,
  .woocommerce .attributes_form_wrapper .table_init table.table_parent th {
    padding: 0.5rem;
  }
  .attributes_form_wrapper .table_init table.table_parent thead th {
    padding: 3px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1 !important;
    /*width: 25vw;*/
    background: white !important;
    text-align: center;
    white-space: break-spaces;
  }
  .attributes_form_wrapper .table_init table.table_parent td {
    background: #fff !important;
    /* padding: 4px 5px !important; */
    /* text-align: center !important; */
  }
  
  .attributes_form_wrapper .table_init table.table_parent tbody th {
    font-weight: 100 !important;
    font-style: italic !important;
    text-align: left !important;
    position: relative !important;
  }
  .attributes_form_wrapper .table_init table.table_parent thead th:first-child {
    position: sticky !important;
    left: 0 !important;
    z-index: 2 !important;
  }
  .attributes_form_wrapper .table_init table.table_parent tbody th {
    position: sticky !important;
    left: 0 !important;
    background: white !important;
    z-index: 1 !important;

  }
  .attributes_form_wrapper .table_init table.table_parent tbody .qty {
    width: 2.85em;
  }
@media (min-width: 1025px) and (max-width: 1279px){
    .attributes_form_wrapper .table_init table.table_parent thead th {
        width: 12vw;
    }
}
@media (min-width: 768px) and (max-width: 1024px){
    .attributes_form_wrapper .table_init table.table_parent thead th {
        width: 17vw;
    }
}
@media (min-width: 576px) and (max-width: 767px){
    .attributes_form_wrapper .table_init table.table_parent thead th {
        width: 25vw;
    }
}
@media (max-width: 575px){
    .attributes_form_wrapper .table_init table.table_parent thead th {
        width: 30vw;
    }
}

body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute input[type=number]:focus::placeholder {
  transition: opacity 0.2s ease;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute input[type=number]:focus::placeholder {
  opacity: 0 !important;
}
body.single-product .section-woocommerce-content .product.product-type-variable form.double_attribute table td.opacity_hidden * {
    display: none !important;
}

/*
.table-fixed tbody {
    height: 300px;
    overflow-y: auto;
    width: 100%;
}

.table-fixed thead,
.table-fixed tbody,
.table-fixed tr,
.table-fixed td,
.table-fixed th {
    display: block;
}

.table-fixed tbody td,
.table-fixed tbody th,
.table-fixed thead > tr > th {
    float: left;
    position: relative;
}
.table-fixed thead > tr > th::after {
    content: '';
    clear: both;
    display: block;
}
*/
/*
table.sticky thead tr:nth-child(1) th{
    position: sticky; top: 0; z-index: 10;
    box-shadow: 0 0 0 1px #ddd;
  }
  
  table.sticky-x tr td:nth-child(1){
    position: sticky; left: 0; z-index: 10;
    background-color: #fff;
    box-shadow: 0px 0px 0px 1px #ddd, 2px 0px 0px 0px #444;
  }
  
  table.sticky-x tr th:nth-child(1){
    position: sticky; left: 0; z-index: 10;
    box-shadow: 0px 0px 0px 1px #ddd, 2px 0px 0px 0px #444;
  }
  
  table.sticky-x thead tr th:nth-child(1) {
    position: sticky; left: 0; top: 0; z-index: 12;
    box-shadow: 0 0 0 1px #ddd;
  }
  
  table.sticky-x.table-striped tr:nth-of-type(odd) td:nth-child(1) {
    background-color: #f2f2f2;
  }
  
  table.table-striped-columns tbody td:nth-of-type(odd) {
    background:#f2f2f2
  }
  table.table-striped-columns thead th:nth-of-type(odd){
    background:#f2f2f2
  }
*/




body.single-product .single-product-slick-gallery-nav {
	margin-top: 5px !important;
    display: flex;
    align-items: center;
}
body.single-product .single-product-slick-gallery-nav .slick-list {
	padding: 0 !important;
    flex: 1;
}
body.single-product .single-product-slick-gallery-nav .slick-arrow {
	position: static;
    cursor: pointer;
}
body.single-product .single-product-slick-gallery-nav .slick-list .slick-track .item {
	padding: 0 5px !important;
	cursor: pointer !important;
    opacity: .6;
    transition: opacity .2s ease;    
}
body.single-product .single-product-slick-gallery-for .slick-list .slick-track .item {
    transition: transform .3s ease;
}
body.single-product .single-product-slick-gallery-for .slick-list .slick-track .item:focus,
body.single-product .single-product-slick-gallery-nav .slick-list .slick-track .item:focus {
	outline: 0 !important;
}
body.single-product .single-product-slick-gallery-for .slick-list .slick-track .item:hover {
    transform: scale(1.05);
}
body.single-product .single-product-slick-gallery-nav .slick-list .slick-track .slick-current {
    opacity: 1;
}

/*
body.single-product .single-product-slick-gallery figure {
	border: 1px solid #eee;
}
*/
body.single-product .single-product-slick-gallery figure img {
	margin: 0 auto;
}

body.single-product .single-product-slick-gallery :not(:first-child) {
    display: none;
}
body.single-product .single-product-slick-gallery.slick-initialized :not(:first-child) {
    display: block;
}
body.single-product .single-product-slick-gallery-nav:not(.slick-initialized) figure,
body.single-product .single-product-slick-gallery-nav:not(.slick-initialized) img {
    height: 100px;
    width: auto;
    object-fit: contain;
}


body.single-product .product_tshirt_static_files_wrapper .product_tshirt_static_files_schede ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_static_files_schede ul li {
	margin-bottom: 25px;
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_static_files_schede ul li .documento__inner {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
    padding: 15px 25px;
	
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
	
    /* background: var(--colore-verde); */
	
    /*background: #fff;*/
	background: #f5f5f5;
	
	/*
    box-shadow: 0px 0px 21px 8px rgba(79,79,79,0.21);
    -webkit-box-shadow: 0px 0px 21px 8px rgba(79,79,79,0.21);
    -moz-box-shadow: 0px 0px 21px 8px rgba(79,79,79,0.21);
	*/
	
	box-shadow: 0px 0px 9px 2px rgba(79,79,79,0.21);
    -webkit-box-shadow: 0px 0px 9px 2px rgba(79,79,79,0.21);
    -moz-box-shadow: 0px 0px 9px 2px rgba(79,79,79,0.21);
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_videos_wrapper {
    display: flex;
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_videos_wrapper ul {
    display: flex;
    gap: 25px;
    flex: 1 1 auto;
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_videos_wrapper ul > * {
    flex: 1 0 auto;
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_videos_wrapper ul li .documento__inner {
    display: block;
}
body.single-product .product_tshirt_static_files_wrapper .product_tshirt_videos_wrapper .product-video {
    padding: 15px 0;
    margin: 0;
}


.attributes_form_wrapper {
    --min-col-width: 65px;
    --min-cols: 2; /* fallback - --min-cols impostato da JS */
}

/*
.attributes_form_wrapper .single_add_to_cart_button_wrapper {
    text-align: right;
}
*/

/*
.attributes_form_wrapper .table_parent {
    min-width: calc(280px + var(--min-cols) * var(--min-col-width));
}
.attributes_form_wrapper .table_parent colgroup.v1 {
    width: 90px;
}
.attributes_form_wrapper .table_parent colgroup.v2 {
  width: var(--min-col-width);
}
*/
/*
.attributes_form_wrapper .table_scroll_wrapper {
    position: relative;
    overflow-x: auto;
}

.attributes_form_wrapper .scroll_arrow {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  height: 60px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(74, 63, 149, .9);
  cursor: pointer;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.attributes_form_wrapper .scroll_arrow.visible {
  opacity: 1;
  pointer-events: auto;    
}
.attributes_form_wrapper .scroll_arrow.scroll_left {
  left: 12px;
  border-radius: 0 50% 50% 0;
  padding-right: 3px;
}
.attributes_form_wrapper .scroll_arrow.scroll_right {
  right: 12px;
  border-radius: 50% 0 0 50%;
  padding-left: 3px;
}
.attributes_form_wrapper .scroll_arrow i {
  font-size: 20px;
  color: #fff;
}
*/

.score_wrap {
    margin-bottom: 7px;
    display: flex;
    /* Pallino, ⓘ ed € hanno corpi diversi: senza questo si allineano per riga di base
       e sembrano messi a caso. */
    align-items: center;
    /* Lo spazio fra le icone con `gap` e non con un margine laterale: qui il flex a
       volte e' in riga (scheda prodotto) e a volte in colonna (matrice), e un
       `margin-left` progressivo sfalsava le icone incolonnate. */
    gap: 9px;
}
.attributes_form_wrapper .score_wrap {
    margin: 0 0 0 7px;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    /* In colonna lo stesso spazio della riga sarebbe una scala: basta molto meno. */
    gap: 5px;
}
@media (max-width: 575px){
    .score_wrap {
        gap:6px;
    }
}
.score_wrap > * {
    transition: all .2s ease;
    color: #a3a3a3;
    vertical-align: bottom;
}
.info-stock.available {
    color: #7ad03a;
}
.info-stock.backorder {
    color: #fae94e;
}
.info-stock.unavailable {
    color: #d04c3a;
}
.attributes_form_wrapper.details_loaded .info-icon,
.block_detail_product_item_sidebar.details_loaded .info-icon {
    color: #4a3f95;
    cursor: pointer;
}
.info-icon.info-qty-prices {
    margin-right:1px;
}



/* Contenitore: serve come "containing block" per la barra azioni sticky */
.tsm-matrix {
  position: relative;
}

/* Wrapper di scroll: la magia avviene qui */
.tsm-matrix__scroll {
  overflow-x: auto;
  overflow-y: clip;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #ddd;
}

/* Tabella */
.tsm-matrix__table {
  border-collapse: separate;   /* obbligatorio per sticky con bordi */
  border-spacing: 0;
  width: 100%;
  min-width: calc(280px + var(--min-cols) * var(--min-col-width));
}

/* Celle base */
.tsm-matrix__table th,
.tsm-matrix__table td {
  background: #fff;            /* opaco: il contenuto sotto non traspare quando sticky scorre */
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
  text-align: center;
  vertical-align: middle;
  min-width: 65px;
  white-space: nowrap;
}

/* Intestazioni di colonna (sticky-top → viewport) */
.tsm-matrix__table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--celestino-color, #f0f0f0);
  font-weight: 700;
  box-shadow: 0 1px 0 #ddd;    /* "linea" sotto invece di border, evita gap di sticky */
}

/* Intestazioni di riga (sticky-left → wrapper) */
.tsm-matrix__table tbody th {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fafafa;
  text-align: left;
  font-weight: 600;
  width: 90px;
  box-shadow: 1px 0 0 #ddd;    /* "linea" a destra per separare visivamente */
}

/* Angolo: deve stare sopra entrambe le sticky */
.tsm-matrix__table thead th:first-child,
.tsm-matrix__corner {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 4;
  background: var(--celestino-color, #f0f0f0);
}

/* Barra azioni sticky-bottom (FUORI dalla tabella) */
.tsm-matrix__actions {
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: var(--celestino-color, #f0f0f0);
  padding: 12px 16px;
  border: 1px solid #ddd;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.06);
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.tsm-matrix__hscroll {
    overflow-x: scroll;
    overflow-y: hidden;
    height: 14px;          /* solo per la scrollbar */
}
.tsm-matrix__hscroll::-webkit-scrollbar {
    -webkit-appearance: none;
    height: 8px;
}
.tsm-matrix__hscroll::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
    border-radius: 4px;
}
.tsm-matrix__hscroll::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.35);
    border-radius: 4px;
}
.tsm-matrix__hscroll {
    scrollbar-width: thin;                          /* Firefox */
    scrollbar-color: rgba(0,0,0,0.35) rgba(0,0,0,0.05);
}

.tsm-matrix__hscroll-track {
    height: 1px;            /* contenuto fittizio: definisce la larghezza scrollabile */
}

/* Dettagli celle: swatch colore + indicatore di stato */
.tsm-matrix__swatch {
  display: inline-block;
  width: 28px;
  height: 48px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,0.15);
  background-repeat: no-repeat;
  background-size: cover;
  vertical-align: middle;
  margin-right: 6px;
}
.tsm-matrix__swatch_label {
    white-space: break-spaces;
    font-size: 80%;
    width: 64px;
    display: inline-block;
}

.tsm-matrix__qty input[type=text]{
    width: 2.85em;
    text-align: center;
}

.tsm-matrix__sticky_clone {
    position: fixed;
    top: 0;
    z-index: 50;
    overflow: hidden;          /* nasconde le colonne fuori dal wrapper durante lo scroll orizz. */
    border: 1px solid #ddd;
    pointer-events: none;       /* il clone è puramente visivo, niente click "fantasma" */
    display: none;              /* attivato da JS */
}

.tsm-matrix__sticky_clone .tsm-matrix__table {
    margin: 0;
    background: transparent;
    transition: none;
}




.woocommerce-cart-form button {
    padding: 5px 6px 4px;
}


.product-video {
    position: relative;
    max-width: 640px;
    margin-bottom: 24px;
}

.product-video__thumb {
    position: relative;
    cursor: pointer;
}

.product-video__thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.product-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    height: 48px;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.7);
    border-radius: 14px;
    border: 0;
    cursor: pointer;
}

.product-video__play::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    width: 0;
    height: 0;
    border-left: 18px solid #fff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}



.woocommerce-cart .woocommerce-cart-form .product-shipping p {
    margin: 0;
}
.woocommerce-cart .woocommerce-cart-form .product-shipping .fa {
    font-size: 7px;
    vertical-align: baseline;
}
.woocommerce-cart .woocommerce-cart-form .product-shipping > p > * {
    margin-left: 10px;
    vertical-align: middle;
}
.woocommerce-cart .woocommerce-cart-form .product-shipping > p > *:first-child {
    margin-left: 0;
}
.woocommerce-cart .woocommerce-cart-form .product-shipping span {
    display: inline-block;
    position: relative;
}
.woocommerce-cart .woocommerce-cart-form .product-shipping .date {
    max-width: 100px;
}


footer.footer {
	background: var(--footer-bg);
	padding: 30px 0;
}
footer.footer .hr {
	background: var(--bianco) !important;
}
footer.footer aside > h4 {
	margin-top: 0 !important;
	font-size: 20px !important;
}
@media (max-width: 1024px){
	footer.footer .col_widget {
		margin-bottom: 40px !important;
	}
	footer.footer aside > h4 {
		margin-bottom: 15px !important;
	}
}

footer.footer .footer-copyright-flex-wrap,
footer.footer .footer-copyright-flex-wrap .footer-copyright-flex-item,
footer.footer .footer-social-item a {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
@media (max-width: 1024px){
	footer.footer .footer-copyright-flex-wrap {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-box-direction: normal;
		-moz-box-direction: normal;
		-webkit-box-orient: vertical;
		-moz-box-orient: vertical;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-box-pack: start;
		-moz-box-pack: start;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-box-align: center;
		-moz-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	footer.footer .footer-copyright-flex-wrap .footer-copyright-flex-item:not(:last-child) {
		margin-bottom: 30px;
	}
}
footer.footer .footer-copyright-flex-wrap .footer-copyright-flex-item:not(:last-child) {
	margin-right: 25px;
}
footer.footer .footer-copyright-flex-wrap .footer-copyright-flex-item i {
	margin-right: 5px;
}
footer.footer .footer-social-item:not(:last-child) {
	margin-bottom: 15px;
}
footer.footer .footer-social-item a i {
	margin-right: 10px;
	width: 25px;
}
footer.footer p {
	margin: 0;
}
footer.footer .menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
footer.footer .menu li a {
	display: block;
	padding: 10px 0;
}
footer.footer .footer-widget-showroom p.indirizzo {
	padding: 10px 0;
}

/* Carrello + checkout: colonne prezzo e subtotale allineate a destra */
.woocommerce-cart-form__contents th.product-price,
.woocommerce-cart-form__contents td.product-price,
.woocommerce-cart-form__contents th.product-subtotal,
.woocommerce-cart-form__contents td.product-subtotal,
.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total {
	text-align: right;
}

/* Carrello, "Rimuovi tutti": riprende la × rossa delle singole righe
   (`.woocommerce a.remove`) invece della veste da pulsante — è la stessa azione
   estesa a tutto. Somigliare ad "Aggiorna carrello", che sta nella stessa cella e
   fa l'opposto, era il modo più diretto per farlo premere per sbaglio.

   Sta a SINISTRA, sotto la colonna delle × di riga a cui si riferisce.
   `float` copre la cella di tabella normale; `margin-right:auto` e `order` non
   fanno nulla lì e coprono il caso in cui la cella venga resa flex. */
.woocommerce-cart-form .actions .tsm-empty-cart {
	float: left;
	margin-right: auto;
	order: -1;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	color: var(--wc-red, #a00);
	font-weight: 700;
	line-height: 1;
}

/* Stessa geometria di `.woocommerce a.remove` (1.5em), un filo più grande. */
.woocommerce-cart-form .actions .tsm-empty-cart__x {
	display: block;
	font-size: 1.75em;
	height: 1em;
	width: 1em;
	line-height: 1;
	text-align: center;
	border-radius: 100%;
	font-weight: 700;
}

.woocommerce-cart-form .actions .tsm-empty-cart:hover .tsm-empty-cart__x,
.woocommerce-cart-form .actions .tsm-empty-cart:focus-visible .tsm-empty-cart__x {
	color: #fff;
	background: var(--wc-red, #a00);
}


/*
 * Matrice di un prodotto raggruppato.
 *
 * Qui la prima colonna non porta il nome di un colore ("Bianco") ma il nome di un
 * prodotto ("Pann. Fot. All. CL Bianco Lucido 812,8x1016x1,14"): incolonnato nei 64px
 * pensati per le pezze di colore diventa un nastro di sei righe accanto a una
 * miniatura, mentre la terza colonna resta vuota per mezza tabella. Quindi: prima
 * colonna larga, nome su una misura leggibile, immagine più grande e intera.
 */
.tsm-matrix--grouped .tsm-matrix__swatch--product {
	width: 64px;
	height: 64px;
	background-size: contain;
	background-position: center center;
	background-color: #fff;
	flex: 0 0 auto;
}
/*
 * ⚠️ La prima colonna è `position: sticky` dentro un contenitore che scorre in
 * orizzontale, e le celle della tabella sono tutte `white-space: nowrap`. Con una
 * larghezza in percentuale e il testo che non va a capo, il nome non si accorcia mai:
 * la colonna si allarga oltre la sua sede e il resto della riga le finisce sotto — è
 * la sovrapposizione vista al collaudo, non un problema di margini.
 *
 * Quindi due cose insieme, e servono entrambe: una larghezza VERA in pixel (una
 * percentuale su una colonna sticky non è affidabile) e il ritorno a capo riacceso.
 */
.tsm-matrix--grouped .tsm-matrix__table tbody th {
	width: 340px;
	max-width: 340px;
	white-space: normal;
	vertical-align: middle;
}

/* La sede riservata alla prima colonna cresce con lei, o le altre si schiacciano. */
.tsm-matrix--grouped .tsm-matrix__table {
	min-width: calc(340px + var(--min-cols) * var(--min-col-width));
}

.tsm-matrix--grouped .tsm-matrix__table tbody th > .tsm-matrix__swatch,
.tsm-matrix--grouped .tsm-matrix__table tbody th > .tsm-matrix__swatch_label {
	vertical-align: middle;
}
.tsm-matrix--grouped .tsm-matrix__swatch_label {
	/* 64px di immagine + 6px di margine, più un dito di respiro. */
	width: calc(100% - 78px);
	max-width: none;
	font-size: 95%;
	line-height: 1.35;
	white-space: normal;
	text-wrap: pretty;
}
.tsm-matrix--grouped .tsm-matrix__qty {
	width: 1%;
	white-space: nowrap;
}
.tsm-matrix--grouped .tsm-matrix__info .score_wrap {
	/* Qui la cella e' larga: le icone stanno in riga, non incolonnate come nella
	   matrice delle varianti dove la colonna e' stretta. */
	flex-direction: row;
	gap: 12px;
	align-items: center;
	justify-content: center;
}

@media (max-width: 575px) {
	.tsm-matrix--grouped .tsm-matrix__table tbody th {
		width: 200px;
		max-width: 60vw;
	}
	.tsm-matrix--grouped .tsm-matrix__table {
		min-width: calc(200px + var(--min-cols) * var(--min-col-width));
	}
	.tsm-matrix--grouped .tsm-matrix__swatch--product {
		width: 44px;
		height: 44px;
	}
	.tsm-matrix--grouped .tsm-matrix__swatch_label {
		width: calc(100% - 56px);
		font-size: 85%;
	}
}

/* Attesa dentro il riquadro degli scaglioni, mentre arrivano dal gestionale. */
.tsm-popover__loading {
	padding: 2px 0;
	white-space: nowrap;
	color: #404a54;
}


/*
 * Kit (pacchetto): elenco compatto dei componenti nel riepilogo, dettaglio sotto.
 * Il problema di quella pagina non era il layout ma il contenuto — cinque descrizioni
 * di altri prodotti nella colonna centrale — quindi qui si punta alla brevità.
 */
.tsm-kit-list {
	margin: 0 0 1rem;
}
.tsm-kit-list__title {
	margin: 0 0 .35rem;
	font-size: 1rem;
}
.tsm-kit-list__items {
	margin: 0;
	padding-left: 0;
	list-style: none;
}
.tsm-kit-list__item {
	margin: 0 0 .2rem;
	line-height: 1.35;
}
.tsm-kit-list__qty {
	font-weight: 700;
}

.tsm-kit-details {
	margin: 2rem 0;
}
.tsm-kit-details__item {
	margin: 0 0 1.2rem;
}
.tsm-kit-details__item .bundled_product_excerpt p {
	margin: .25rem 0 0;
}

/* Il set di icone del kit: uno solo per pagina, allineato come quelli della matrice. */
.tsm-kit-score {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: .35rem 0 .75rem;
}
.tsm-kit-popover__saving td {
	font-weight: 700;
}

/*
 * Le icone di disponibilità e prezzo erano attaccate l'una all'altra, ovunque
 * compaiano — scheda prodotto semplice e celle della matrice. Spaziate con un margine
 * fra un'icona e l'altra (non con padding sul contenitore) così l'area cliccabile
 * cresce senza spostare niente di quello che c'è intorno.
 */
.score_wrap .info-icon {
	padding: 2px;
}

/*
 * I componenti dentro una riga del piano di spedizione: dettaglio, non titolo. Uno per
 * riga — scritti di seguito con la virgola, nomi lunghi e simili fra loro diventavano
 * un muro in cui non si vedeva dove finiva uno e cominciava l'altro. Quando condividono
 * un inizio lungo, quello sta sopra una volta sola e i componenti rientrano.
 */
.tsm-kit-popover__names {
	display: block;
	margin-top: .25rem;
	font-size: 90%;
	color: #404a54;
}
.tsm-kit-popover__family {
	display: block;
	font-weight: 600;
}
.tsm-kit-popover__item {
	display: block;
	line-height: 1.3;
}
.tsm-kit-popover__item + .tsm-kit-popover__item {
	margin-top: .15rem;
}
.tsm-kit-popover__names--family .tsm-kit-popover__item {
	padding-left: .6rem;
}

/* La quantità su cui è calcolato il piano di spedizione del kit. */
.tsm-kit-popover__for {
	padding: 0 0 .3rem;
	font-size: 90%;
	color: #404a54;
	text-align: left;
	caption-side: top;
}
