:root {
    --baseline: 8px;
	--wp--preset--font-size--small: 18px;
}
@media screen and (max-width:1220px){
	:root {
	--wp--preset--font-size--small: 14px;
	}
	.wc-block-components-button__text {
    font-size: 16px;
}
}
/* ============================================================
   Trova il tuo centro (WP Store Locator): stessa grafica dei form del sito.
   Prefisso #wpsl-wrap per prevalere sul CSS del plugin.
   ============================================================ */
#wpsl-wrap {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	grid-template-areas:
		"search search"
		"list   map";
	gap: 24px;
	overflow: visible;
	margin-bottom: 40px;
	font-family: Karla, sans-serif;
	color: #1f1f1f;
}

/* Ricerca */
#wpsl-wrap .wpsl-search {
	grid-area: search;
	margin: 0;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
}

#wpsl-wrap #wpsl-search-wrap form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px;
}

#wpsl-wrap #wpsl-search-wrap .wpsl-input,
#wpsl-wrap #wpsl-search-wrap .wpsl-select-wrap,
#wpsl-wrap #wpsl-search-wrap .wpsl-search-btn-wrap {
	display: block !important;
	float: none;
	width: auto !important;
	margin: 0 !important;
}

#wpsl-wrap #wpsl-search-wrap .wpsl-input {
	flex: 1 1 320px;
	max-width: 480px;
}

#wpsl-wrap #wpsl-search-wrap .wpsl-input > div,
#wpsl-wrap #wpsl-search-wrap #wpsl-radius {
	display: block !important;
	float: none;
	width: auto !important;
	margin: 0 !important;
}

#wpsl-wrap #wpsl-search-wrap label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #1f1f1f;
}

#wpsl-wrap #wpsl-search-input {
	width: 100%;
	min-width: 0;
	height: var(--matis-form-field-height);
	padding: 0 16px;
	background: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	box-shadow: none;
	font-family: Karla, sans-serif;
	font-size: 15px;
	color: #1f1f1f;
	transition: border-color 0.2s ease;
}

#wpsl-wrap #wpsl-search-input:focus {
	outline: none;
	border-color: #1f1f1f;
}

/* Raggio di ricerca (dropdown stilizzato dal plugin) */
#wpsl-wrap .wpsl-dropdown {
	width: 160px !important;
	min-width: 0;
	height: var(--matis-form-field-height);
	padding: 0;
	background: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	box-shadow: none;
}

#wpsl-wrap .wpsl-dropdown:hover,
#wpsl-wrap .wpsl-dropdown.wpsl-active {
	border-color: #1f1f1f;
	box-shadow: none;
}

#wpsl-wrap .wpsl-dropdown .wpsl-selected-item {
	width: auto;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 40px 0 16px !important;
	font-size: 15px;
	color: #1f1f1f;
}

#wpsl-wrap .wpsl-selected-item:after {
	right: 16px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border: 0;
	border-right: 1.5px solid #1f1f1f;
	border-bottom: 1.5px solid #1f1f1f;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

#wpsl-wrap .wpsl-dropdown.wpsl-active .wpsl-selected-item:after {
	margin-top: -2px;
	transform: rotate(-135deg);
}

#wpsl-wrap .wpsl-dropdown div {
	margin-top: 4px;
	left: -1px;
	right: -1px;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-field-radius);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
}

#wpsl-wrap .wpsl-dropdown li {
	padding: 10px 16px !important;
	font-size: 14px;
}

#wpsl-wrap .wpsl-dropdown li:hover,
#wpsl-wrap .wpsl-dropdown li.wpsl-selected-dropdown {
	background: #f9f2ee;
}

/* Cerca */
#wpsl-wrap #wpsl-search-btn {
	min-width: 140px;
	height: var(--matis-form-field-height);
	margin: 0;
	padding: 0 32px;
	background: #000;
	background-image: none;
	color: #fff;
	border: 1.5px solid #000 !important;
	border-radius: 50px;
	font-family: Karla, sans-serif;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none !important;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

#wpsl-wrap #wpsl-search-btn:hover {
	background: #fff;
	color: #000;
}

#wpsl-wrap #wpsl-search-btn:focus-visible,
#wpsl-wrap #wpsl-search-input:focus-visible {
	outline: 2px solid #1f1f1f;
	outline-offset: 2px;
}

/* Mappa */
#wpsl-wrap #wpsl-gmap {
	grid-area: map;
	float: none;
	width: auto !important;
	height: 640px !important;
	margin: 0;
	border-radius: var(--matis-form-card-radius);
	overflow: hidden;
}

/* Lista centri */
#wpsl-wrap #wpsl-result-list {
	grid-area: list;
	float: none;
	width: auto !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
	overflow: hidden;
}

#wpsl-wrap #wpsl-stores,
#wpsl-wrap #wpsl-direction-details {
	height: 640px !important;
	overflow-y: auto;
	overscroll-behavior: contain;
	/* lista scorrevole, barra di scorrimento nascosta */
	scrollbar-width: none;
	-ms-overflow-style: none;
}

#wpsl-wrap #wpsl-stores::-webkit-scrollbar,
#wpsl-wrap #wpsl-direction-details::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

#wpsl-wrap #wpsl-result-list ul li {
	position: relative;
	padding: 18px 20px !important;
	border-bottom: 1px solid #f1ece8;
	background: transparent;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

#wpsl-wrap #wpsl-result-list ul li:hover {
	background-color: #fcfaf8;
}

#wpsl-wrap #wpsl-result-list li p {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(31, 31, 31, 0.7);
}

#wpsl-wrap #wpsl-result-list .wpsl-store-location > p:first-child strong {
	display: block;
	margin-bottom: 4px;
	padding-right: 84px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: #1f1f1f;
}

#wpsl-wrap #wpsl-result-list .wpsl-store-location > p:first-child span {
	display: block;
}

#wpsl-wrap #wpsl-result-list .wpsl-country {
	display: none !important;
}

#wpsl-wrap #wpsl-result-list .wpsl-contact-details {
	margin-top: 8px;
	color: #1f1f1f;
}

#wpsl-wrap #wpsl-result-list .wpsl-contact-details strong {
	font-weight: 400;
	color: rgba(31, 31, 31, 0.6);
}

#wpsl-wrap #wpsl-result-list .wpsl-contact-details a {
	color: #1f1f1f;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Distanza: etichetta in alto a destra */
#wpsl-wrap #wpsl-result-list .wpsl-direction-wrap {
	position: absolute;
	top: 18px;
	right: 20px;
	padding: 2px 10px;
	background: #f9f2ee;
	border-radius: 50px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
	color: #1f1f1f;
	white-space: nowrap;
}

#wpsl-wrap #wpsl-result-list .wpsl-directions {
	display: none;
}

#wpsl-wrap #wpsl-result-list li.wpsl-preloader,
#wpsl-wrap #wpsl-result-list li.wpsl-no-results-msg {
	padding: 24px 20px !important;
	border-bottom: 0;
	cursor: default;
	font-size: 14px;
	color: rgba(31, 31, 31, 0.6);
}

@media screen and (max-width: 1023px) {
	#wpsl-wrap {
		grid-template-columns: 300px minmax(0, 1fr);
	}
}

@media screen and (max-width: 767px) {
	#wpsl-wrap {
		grid-template-columns: 1fr;
		grid-template-areas:
			"search"
			"map"
			"list";
		gap: 16px;
		padding-inline: 16px;
		box-sizing: border-box;
	}

	#wpsl-wrap .wpsl-search {
		padding: 18px;
	}

	#wpsl-wrap #wpsl-search-wrap form {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	#wpsl-wrap #wpsl-search-wrap .wpsl-input {
		flex: none;
		max-width: none;
	}

	#wpsl-wrap .wpsl-dropdown,
	#wpsl-wrap #wpsl-search-btn {
		width: 100% !important;
	}

	#wpsl-wrap #wpsl-gmap {
		height: 400px !important;
	}

	#wpsl-wrap #wpsl-stores,
	#wpsl-wrap #wpsl-direction-details {
		height: auto !important;
		max-height: 560px;
	}
}

/*************account cart e checkout***********/
.woocommerce-cart .sections_group, .woocommerce-checkout .sections_group, .woocommerce-account .sections_group {
    margin: 0 auto;
    max-width: var(--w-container-header);
    width: 100%;
	padding-top: 0px;
}
.woocommerce-cart .sections_group > section.last, .woocommerce-checkout .sections_group > section.last, .woocommerce-account .sections_group > section.last {
    display: none;
}

/* Empty cart: titoli e card come related/cross-sells */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    width: 2em;
    height: 2em;
    mask-size: 2em;
    margin: 0 auto 1em;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	padding-block: 40px 60px;
}
.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading {
	font-family: "English Egyptian", serif;
	font-weight: 500;
	text-align: center;
    margin-bottom: 100px;
}
/* Il titolo sezione è nel markup custom (sinistra + CTA destra) */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	display: none;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
	display: none;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block:has(.cart-empty-products) .wc-block-grid,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block:has(.cart-empty-products) .wp-block-woocommerce-product-collection,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block:has(.cart-empty-products) .wp-block-woocommerce-product-new {
	display: none;
}
.woocommerce-cart .cart-empty-products {
	margin-top: 0;
}
.woocommerce-cart .cart-empty-products__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}
.woocommerce-cart .cart-empty-products__title {
	margin: 0;
	font-family: "Karla";
    font-size: 45px;
    font-weight: 400;
	text-align: left;
}
.woocommerce-cart .cart-empty-products__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 10px 22px;
	border-radius: 50px;
	background-color: #000;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border: 1.5px solid #000;
}
.woocommerce-cart .cart-empty-products__cta:hover {
	background-color: #fff;
	color: #000;
}
.woocommerce-cart .cart-empty-products .products.owl-carousel {
	max-width: none;
	margin-inline: auto;
}
/* Fallback a griglia finché Owl non inizializza (blocco carrello montato in ritardo). */
.woocommerce-cart .cart-empty-products ul.products.owl-carousel:not(.owl-loaded) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
}
.woocommerce-cart .cart-empty-products .product-card {
	width: 100%;
	max-width: none;
}
@media (max-width: 767px) {
	.woocommerce-cart .cart-empty-products ul.products.owl-carousel:not(.owl-loaded) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 379px) {
	.woocommerce-cart .cart-empty-products ul.products.owl-carousel:not(.owl-loaded) {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 560px) {
	.woocommerce-cart .cart-empty-products__header {
		flex-direction: column;
		align-items: flex-start;
	}
}
.woocommerce-account main {
    min-height: unset !important;
    padding-bottom: 180px;
}
.woocommerce-MyAccount-navigation ul {
    margin-left: 0;
}
h2.wp-block-heading.has-text-align-left {
    font-size: 24px;
    font-weight: 700;
    margin-top: 60px;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained, .wc-block-components-checkout-place-order-button,.wc-block-components-totals-coupon__button, .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
    color: #FFF;
    background-color: #000000;
    border-radius: 50px;
	border: 1.5px solid #000 !important;
}
button.woocommerce-button.button.woocommerce-form-login__submit, button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit {
    color: #FFF;
    background-color: #000000;
    border-radius: 50px;
    border: 1.5px solid #000 !important;
    font-weight: 400;
    min-width: 200px;
    font-size: 18px;
	float:none;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover, .wc-block-components-checkout-place-order-button:hover,.wc-block-components-totals-coupon__button:hover, .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover {
    color: #000;
    background-color: #fff;
}
button.woocommerce-button.button.woocommerce-form-login__submit:hover, button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit:hover{
	color: #000;
    background-color: #fff;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: block;
    margin-bottom: 10px;
}
ul.wc-block-product-template__responsive.columns-3.wc-block-product-template.wp-block-woocommerce-product-template.is-layout-flow.wp-block-woocommerce-product-template-is-layout-flow {
    margin: 0;
}
@media screen and (max-width:1220px){
.woocommerce-cart .sections_group, .woocommerce-checkout .sections_group, .woocommerce-account .sections_group {
    padding-inline: 30px;
	}
}

#paragrafi .sezione-form-contatti .layout1 p {
    max-width: 100%;
    text-align: left;
}
#paragrafi .sezione-form-contatti .layout1 .wpcf7 select{
	padding:12px 20px;
}
#paragrafi .sezione-form-contatti .w-container.flex-wrap.align-items-center.margin-auto.flex.padding20 {
    gap: 2%;
}
#paragrafi .sezione-form-contatti span.wpcf7-form-control.wpcf7-acceptance {
    font-size: 16px;
}
#paragrafi .sezione-form-contatti .wpcf7 input::placeholder, #paragrafi .sezione-form-contatti .wpcf7 select, #paragrafi .sezione-form-contatti .wpcf7 textarea::placeholder {
    color: var(--text-color);
    opacity: 1;
}


#paragrafi .sezione-form-contatti .wpcf7 input.wpcf7-submit{
	font-family: var(--family-btn-s1);
    letter-spacing: var(--spacing-btn-s1);
    font-weight: var(--weight-btn-s1);
    text-transform: var(--transform-btn-s1);
    font-size: var(--size-btn-s1);
    line-height: var(--lineH-btn-s1);
    padding: var(--padding-btn-s1);
    margin: var(--margin-btn-s1);
    border-radius: var(--radius-btn-s1);
    border: var(--border-btn-s1) solid;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    overflow: hidden;
	cursor:pointer;
    transition: all 0.35s;
    color: var(--color-btn-type-5);
    border-color: var(--border-btn-type-5);
    background-color: var(--bg-top-btn-type-5);
    background-image: linear-gradient(180deg, var(--bg-top-btn-type-5) 0%, var(--bg-bottom-btn-type-5) 100%);
}

#paragrafi .sezione-form-contatti .wpcf7 input.wpcf7-submit:hover{
    background-color: var(--bg-top-btn-type-5-h);
    background-image: linear-gradient(180deg, var(--bg-top-btn-type-5-h) 0%, var(--bg-bottom-btn-type-5-h) 100%);
    color: var(--color-btn-type-5-h);
    border-color: var(--border-btn-type-5-h);
}

/* ==========================================================================
   Sidebar & Overlay
   ========================================================================== */
#sideNav_cart {
  position: fixed;
  top: 0;
  right: -450px;
  width: 100%;
  max-width: 420px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 99999;
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
  transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  display: flex;
  flex-direction: column;
}

#sideNav_cart.is-open {
  right: 0;
}

/* Overlay Scuro */
#sideNav_cart::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

#sideNav_cart.is-open::after {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Header della Sidebar */
#closeSidenav {
  padding: 20px 15px;
  border-bottom: 1px solid #eeeeee;
  background-color: #ffffff;
  cursor: pointer;
  user-select: none;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

#closeSidenav .material-symbols-outlined {
  font-size: 24px;
  color: #333333;
  transition: transform 0.2s ease;
}

/* ==========================================================================
   Contenuto Interno Mini-Cart
   ========================================================================== */
.widget_shopping_cart_content {
  padding: 20px 20px 25px 20px !important;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 45px);
  justify-content: space-between;
  position: relative;
  z-index: 2;
  background-color: #ffffff;
}

.widget_shopping_cart_content ul.cart_list {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-y: auto;
  flex: 1;
  padding-right: 5px;
}

/* Totali e Bottoni Cassa */
.widget_shopping_cart_content .total {
  border-top: 1px solid #e5e5e5;
  padding-top: 15px;
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  font-size: 18px;
  color: #000000;
}

.widget_shopping_cart_content .buttons {
  display: flex;
  gap: 12px;
  margin-top: 15px;
  padding: 0;
}

.widget_shopping_cart_content .buttons a {
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    border-radius: 30px;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid;
}

.widget_shopping_cart_content .buttons a.button:not(.checkout) {
  background-color: #f2f2f2;
  color: #000000;
}

.widget_shopping_cart_content .buttons a.checkout {
  background-color: #000000;
  color: #ffffff;
}
/* ==========================================================================
   Card Prodotto Mini-Cart (Modello Esatto dallo Screenshot)
   ========================================================================== */

/* Singolo Elemento della Lista */
.widget_shopping_cart_content ul.cart_list li {
  display: grid;
  grid-template-columns: 0 1fr auto;
  grid-template-rows: auto auto;
  gap: 0px 0px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f2f2f2;
  position: relative;
}

/* Immagine con Sfondo Grigio Chiaro e Angoli Arrotondati */
.widget_shopping_cart_content ul.cart_list li img {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 90px;
    height: 90px;
    object-fit: contain;
    background-color: #f7f7f7;
    border-radius: 10px;
    padding: 0px;
    margin: 0 !important;
    display: block;
    border: 1px solid #EDE6E2;
}

/* Titolo del Prodotto */
.widget_shopping_cart_content ul.cart_list li a:not(.remove) {
  grid-column: 2;
  grid-row: 1;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: #1a1a1a;
  text-decoration: none;
  align-self: start;
  padding-right: 5px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* Pulsante Rimuovi (Cerchio Bianco con bordo sottile e X centrata) */
.widget_shopping_cart_content ul.cart_list li a.remove {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  width: 26px;
  height: 26px;
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  color: #1a1a1a !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-family: inherit;
  text-decoration: none;
  line-height: 1;
  transition: all 0.2s ease;
  margin-left: auto;
}

.widget_shopping_cart_content ul.cart_list li a.remove:hover {
  border-color: #000000;
  background-color: #f9f9f9;
}

/* Riga Inferiore: Prezzo + Selettore Quantità */
.mini-cart-item-bottom {
  grid-column: 2 / span 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  align-self: end;
  padding-left: 100px;
  margin-top: -40px;
}

/* Prezzo */
.mini-cart-item-bottom .price {
  font-weight: 700;
  font-size: 18px;
  color: #000000;
  letter-spacing: -0.2px;
}

/* Selettore Quantità (Pillola sottile) */
.quantity-selector {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #dcdcdc;
  border-radius: 30px;
  padding: 3px 12px;
  background-color: #ffffff;
  min-width: 95px;
  height: 34px;
}

.quantity-selector.updating {
  opacity: 0.5;
  pointer-events: none;
}

.quantity-selector .qty-btn {
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 400;
  color: #333333;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.quantity-selector .qty-btn:hover {
  color: #000000;
}

.quantity-selector .qty-input {
  width: 24px;
  border: none;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  color: #1a1a1a;
  background: transparent;
  padding: 0;
  margin: 0;
  -moz-appearance: textfield;
}

.quantity-selector .qty-input::-webkit-outer-spin-button,
.quantity-selector .qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Overlay che blocca la pagina intera */
.auth-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.auth-popup-content {
    background: #fff;
    padding: 40px 30px 30px;
    border-radius: 8px;
    max-width: 720px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    text-align: left;
    position: relative;
}

.auth-popup-content h2 {
    font-size: 20px;
    margin-top: 0;
    text-align: center;
}

.auth-popup-content p {
    text-align: center;
    font-size: 14px;
    margin-bottom: 20px;
}

/* Tab Accedi / Registrati */
.auth-popup-tabs {
    display: flex;
    margin-bottom: 20px;
    border-bottom: 2px solid #eee;
}

.auth-tab {
    flex: 1;
    padding: 10px;
    background: none;
    border: none;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    border-radius: 0;
}

.auth-tab.active {
    border-bottom: 2px solid #000;
    color: #000;
}

body.has-auth-popup {
    overflow: hidden !important;
}

#auth-tab-login .button.woocommerce-form-login__submit{
	margin-top:20px;
}
#auth-tab-login .button, #auth-tab-register .button{
	padding: 10px;
	font-size: 16px;
	width:100%;
	cursor:pointer;
}
#auth-tab-register .woocommerce-privacy-policy-text p{
	font-size:12px;
}
#auth-tab-register .woocommerce-privacy-policy-text a{
	text-decoration:underline;
}
#auth-tab-login .lost_password{
	text-decoration:underline;
}

#auth-tab-login .form-row{
        width: 100%;
        float: none;
    }

span#close-checkout-auth-popup {
    cursor: pointer;
    position: absolute;
    top: 5px;
    right: 10px;
    z-index: 2;
    background-color: #FFF;
    border: 1px solid;
    border-radius: 100%;
    width: 26px;
    text-align: center;
}

body.woocommerce-checkout #contact-fields .wc-block-components-checkout-step__heading .wc-block-components-checkout-step__heading-content:before {
    content: 'Crea un account inserendo l\'indirizzo email e la password. Se sei già registrato clicca sul pulsante Accedi.';
    font-size: 16px;
    font-weight: 400;
    display: block;
    margin-bottom: 20px;
}
body.woocommerce-checkout #contact-fields .wc-block-components-checkout-step__heading h2:after {
    content: 'L\'acquisto è riservato solo agli utenti registrati.';
    font-size: 16px;
    display:block;
    font-weight:700;
    margin:10px 0;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__login-prompt {
    background-color: #000;
    color: #FFF;
    padding: 10px 20px;
    border-radius: 100px;
    float: none;
	font-size: 16px;
	margin-bottom:20px;
	display:inline-block;
}

.matis-account-centro,
.matis-checkout-centro {
	margin: 24px 0 32px;
	padding: 20px;
	border: 1px solid #e5e5e5;
	background: #fff;
}
.matis-account-centro h3,
.matis-checkout-centro__title {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 700;
}
.matis-account-centro__hint,
.matis-checkout-centro__change,
.matis-centro-empty {
	margin: 0 0 12px;
	font-size: 15px;
}
.matis-centro-card__addr {
    margin: 0;
	font-size: 15px;
}
.matis-centro-card {
    border: 1px solid var(--darkgrey2);
    padding: 10px;
    margin-bottom: 12px;
}
.matis-centro-card__name {
	margin: 0 0 4px;
	font-weight: 700;
	font-size: 16px;
}
.matis-centro-card__meta {
	margin: 0 0 4px;
	font-size: 14px;
	color: #555;
}
.matis-centro-preview {
	margin: 12px 0 16px;
	padding: 14px;
	background: #f7f7f7;
}
.matis-centro-combobox {
	position: relative;
	max-width: 520px;
}
.matis-centro-combobox__input {
	width: 100%;
	height: 44px;
	padding: 0 12px;
}
.matis-centro-combobox__list {
	position: fixed;
	z-index: 2147483646;
	max-height: 280px;
	overflow: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #ccc;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.matis-centro-combobox__list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	cursor: pointer;
	border-bottom: 1px solid #f0f0f0;
}
.matis-centro-combobox__list li.is-active,
.matis-centro-combobox__list li:hover {
	background: #f3f3f3;
}
.matis-centro-combobox__name {
	font-weight: 600;
}
.matis-centro-combobox__city {
	color: #666;
	white-space: nowrap;
}
.matis-centro-combobox__empty {
	padding: 10px 12px;
	color: #666;
	cursor: default;
}
.matis-account-centro__filter,
.matis-account-centro__save {
	margin-top: 16px;
}
.matis-account-centro input[type="text"],
.matis-account-centro select {
	width: 100%;
	max-width: 480px;
	height: 44px;
	padding: 0 12px;
}
.matis-account-centro .button,
.matis-account-centro--dashboard .button,
.woocommerce-account .matis-account-centro a.button,
.woocommerce-account .matis-account-centro button.button,
.woocommerce-account a.matis-centro-btn {
	margin-top: 8px;
	color: #fff !important;
	background-color: #000 !important;
	background: #000 !important;
	border-radius: 50px !important;
	border: 1.5px solid #000 !important;
	font-weight: 400;
	min-width: 160px;
	text-align: center;
	box-shadow: none !important;
}
.matis-account-centro .button:hover,
.matis-account-centro--dashboard .button:hover,
.woocommerce-account .matis-account-centro a.button:hover,
.woocommerce-account .matis-account-centro button.button:hover,
.woocommerce-account a.matis-centro-btn:hover {
	color: #000 !important;
	background-color: #fff !important;
	background: #fff !important;
}
.matis-checkout-centro {
	margin: 16px 0 24px;
}
body.woocommerce-checkout .matis-checkout-centro {
	clear: both;
}

.matis-checkout-centro__change a {
    text-decoration: underline;
}
.matis-checkout-centro__change a.button {
	text-decoration: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
	display: block !important;
}
.woocommerce-account #customer_login.col2-set,
.woocommerce-account #customer_login.matis-account-auth {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	gap: 40px 48px;
	align-items: start;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0;
}
.woocommerce-account #customer_login.col2-set::before,
.woocommerce-account #customer_login.col2-set::after,
.woocommerce #customer_login.col2-set::before,
.woocommerce #customer_login.col2-set::after,
.woocommerce-page #customer_login.col2-set::before,
.woocommerce-page #customer_login.col2-set::after {
	content: none !important;
	display: none !important;
}
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2,
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	clear: none !important;
	min-width: 0;
}
.woocommerce-account #customer_login > .col-1 > h2,
.woocommerce-account #customer_login > .col-2 > h2,
.woocommerce-account #customer_login > .u-column1 > h2,
.woocommerce-account #customer_login > .u-column2 > h2 {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}
.woocommerce-account #customer_login .woocommerce-form-login,
.woocommerce-account #customer_login .woocommerce-form-register {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}
@media (max-width: 960px) {
	.woocommerce-account #customer_login.col2-set,
	.woocommerce-account #customer_login.matis-account-auth {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* Codice promozionale (carrello e checkout a blocchi): stessa grafica dei form */
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__form {
	gap: 10px;
	align-items: stretch;
}

.wc-block-components-totals-coupon .wc-block-components-text-input input[type="text"] {
	height: var(--matis-form-field-height);
	min-height: var(--matis-form-field-height);
	background-color: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	box-shadow: none;
	font-family: Karla, sans-serif;
	color: #1f1f1f;
	transition: border-color 0.2s ease;
}

.wc-block-components-totals-coupon .wc-block-components-text-input input[type="text"]:focus {
	outline: none;
	border-color: #1f1f1f;
	box-shadow: none;
}

.wc-block-components-totals-coupon .wc-block-components-text-input label {
	color: rgba(31, 31, 31, 0.45);
}

.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button {
	height: var(--matis-form-field-height);
	min-height: var(--matis-form-field-height);
	margin: 0;
	padding: 0 28px;
	font-family: Karla, sans-serif;
	font-size: 15px;
	transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}

.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button:disabled,
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button[disabled] {
	background-color: #000;
	color: #fff;
	border-color: #000 !important;
	opacity: 0.35;
	cursor: not-allowed;
}

/* Avvisi a comparsa dei blocchi WooCommerce (es. "La quantità di … è stata modificata"):
   centrati in basso invece che a sinistra, grafica del sito. */
.wc-block-components-notices__snackbar.wc-block-components-notice-snackbar-list {
	position: fixed;
	top: auto !important;
	left: 50% !important;
	right: auto !important;
	bottom: max(24px, env(safe-area-inset-bottom)) !important;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: max-content;
	max-width: calc(100vw - 32px);
	margin: 0 !important;
	transform: translateX(-50%);
}

.wc-block-components-notices__snackbar .wc-block-components-notice-snackbar {
	display: flex;
	align-items: center;
	gap: 12px;
	width: auto;
	max-width: 560px;
	margin: 0 !important;
	padding: 14px 14px 14px 18px !important;
	background: #fff !important;
	border: 1px solid #e8e8e8 !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12) !important;
	color: #1f1f1f !important;
	font-family: Karla, sans-serif;
	font-size: 14px;
	line-height: 1.45;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-snackbar > svg {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	padding: 3px;
	background: #1f1f1f !important;
	border-radius: 50%;
	fill: #fff !important;
	color: #fff;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-snackbar.is-error > svg {
	background: #c0392b !important;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-snackbar.is-success > svg {
	background: #2e7d32 !important;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-banner__content {
	flex: 1 1 auto;
	margin: 0;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-banner__dismiss {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50%;
	background: transparent;
	color: rgba(31, 31, 31, 0.6);
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-banner__dismiss:hover {
	background: rgba(31, 31, 31, 0.06);
	color: #1f1f1f;
}

.wc-block-components-notices__snackbar .wc-block-components-notice-banner__dismiss svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

@media (max-width: 560px) {
	.wc-block-components-notices__snackbar.wc-block-components-notice-snackbar-list {
		width: calc(100vw - 32px);
	}

	.wc-block-components-notices__snackbar .wc-block-components-notice-snackbar {
		width: 100%;
		max-width: none;
	}
}

/* reCAPTCHA v3: badge nascosto. Google lo consente solo se nei form compare il testo
   "Questo sito è protetto da reCAPTCHA… Privacy Policy / Termini di servizio". */
.grecaptcha-badge {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Stile form condiviso: account (Accedi / Registrati) e Contact Form 7 */
:root {
	--matis-form-field-height: 48px;
	--matis-form-field-radius: 8px;
	--matis-form-card-radius: 16px;
	--matis-form-border: rgba(31, 31, 31, 0.2);
}

/* Accedi / Registrati: un pannello alla volta (classe is-login / is-register da form-login.php + scripts.js) */
.woocommerce-account #customer_login.matis-account-auth.is-login,
.woocommerce-account #customer_login.matis-account-auth.is-register {
	grid-template-columns: 1fr;
	margin-inline: auto;
}

.woocommerce-account #customer_login.matis-account-auth.is-login {
	max-width: 560px !important;
}

.woocommerce-account #customer_login.matis-account-auth.is-register {
	max-width: 860px !important;
}

.woocommerce-account #customer_login.is-login > .u-column2,
.woocommerce-account #customer_login.is-register > .u-column1 {
	display: none;
}

.woocommerce-account #customer_login.is-login > .u-column1,
.woocommerce-account #customer_login.is-register > .u-column2 {
	animation: matis-auth-in 0.35s ease-out;
}

@keyframes matis-auth-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-account #customer_login.is-login > .u-column1,
	.woocommerce-account #customer_login.is-register > .u-column2 {
		animation: none;
	}
}

/* Titolo pagina "Il mio account": nascosto alla vista sulla pagina di accesso (resta per gli screen reader) */
body.woocommerce-account:not(.logged-in) h1:has(+ .woocommerce > #customer_login) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.woocommerce-account #customer_login.matis-account-auth {
	padding-block: 40px 60px;
}

/* Titolo del pannello */
.woocommerce-account #customer_login.matis-account-auth > .u-column1 > h2,
.woocommerce-account #customer_login.matis-account-auth > .u-column2 > h2 {
	margin: 0 0 24px;
	font-size: 36px;
	line-height: 1.2;
	text-align: center;
}

/* Card del form */
.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login,
.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-register {
	margin: 0;
	padding: 40px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
}

/* Etichette e campi: stesso stile nei due form */
.woocommerce-account #customer_login.matis-account-auth .form-row > label,
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields legend {
	display: block;
	margin: 0 0 6px;
	font-family: Karla, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #1f1f1f;
}

.woocommerce-account #customer_login.matis-account-auth .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.woocommerce-account #customer_login.matis-account-auth .matis-register-fields .form-row {
	margin: 0;
}

.woocommerce-account #customer_login.matis-account-auth input.input-text,
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields input[type="text"],
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields input[type="email"],
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields input[type="tel"],
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields input[type="password"],
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields select {
	width: 100%;
	height: var(--matis-form-field-height);
	padding: 0 16px;
	background-color: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	font-family: Karla, sans-serif;
	font-size: 15px;
	color: #1f1f1f;
	box-shadow: none;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.woocommerce-account #customer_login.matis-account-auth input.input-text:focus,
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields input:focus,
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields select:focus {
	outline: none;
	border-color: #1f1f1f;
}

.woocommerce-account #customer_login.matis-account-auth input.input-text::placeholder,
.woocommerce-account #customer_login.matis-account-auth .matis-register-fields input::placeholder {
	color: rgba(31, 31, 31, 0.45);
}

/* Autocompletamento del browser: niente azzurro, stesso sfondo e testo dei campi */
.woocommerce-account #customer_login.matis-account-auth input:-webkit-autofill,
.woocommerce-account #customer_login.matis-account-auth input:-webkit-autofill:hover,
.woocommerce-account #customer_login.matis-account-auth input:-webkit-autofill:focus {
	-webkit-text-fill-color: #1f1f1f;
	caret-color: #1f1f1f;
	-webkit-box-shadow: 0 0 0 1000px #fff inset;
	box-shadow: 0 0 0 1000px #fff inset;
	transition: background-color 9999s ease-out 0s, border-color 0.2s ease;
}

.woocommerce-account #customer_login.matis-account-auth input:autofill {
	background-color: #fff;
	color: #1f1f1f;
}

/* Ricordami + pulsante */
.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 24px;
	font-size: 14px;
}

.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login__rememberme input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #1f1f1f;
}

.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login__submit,
.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-register__submit {
	display: block;
	width: 100%;
	min-width: 0;
	height: 52px;
	margin: 0;
	padding: 0 24px;
	font-size: 16px;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.woocommerce-account #customer_login.matis-account-auth .woocommerce-LostPassword {
	margin: 16px 0 0;
	text-align: center;
	font-size: 14px;
}

.woocommerce-account #customer_login.matis-account-auth .woocommerce-LostPassword a {
	color: rgba(31, 31, 31, 0.7);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Login social (miniOrange): larghezza e bordi sono inline !important dal plugin,
   qui solo impilati e centrati. Dimensioni/forma vanno impostate nelle opzioni del plugin. */
.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login .mo-openid-app-icons {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 6px 0 22px;
}

.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login .mo-openid-app-icons > p:empty,
.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login .mo-openid-app-icons > p:not(:has(*)) {
	display: none;
}

/* Password dimenticata / nuova password / conferma invio: stessa grafica di Accedi */
body.woocommerce-account h1:has(+ .woocommerce > .lost_reset_password),
body.woocommerce-lost-password h1:has(+ .woocommerce) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* display:block anche da loggati: l'area account usa .woocommerce in flex (menu + contenuto) */
.woocommerce-account .woocommerce:has(> .lost_reset_password),
body.woocommerce-lost-password .woocommerce {
	display: block !important;
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
	padding-block: 40px 60px;
}

.woocommerce-account .woocommerce:has(> .lost_reset_password) > *,
body.woocommerce-lost-password .woocommerce > * {
	width: 100%;
	max-width: none;
	flex: none;
}

.woocommerce-account .matis-lost-title {
	margin: 0 0 24px;
	font-size: 36px;
	line-height: 1.2;
	text-align: center;
}

.woocommerce-account form.lost_reset_password {
	margin: 0;
	padding: 40px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
}

.woocommerce-account form.lost_reset_password > p:first-child {
	margin: 0 0 24px;
	font-size: 15px;
	line-height: 1.5;
	color: rgba(31, 31, 31, 0.7);
	text-align: center;
}

.woocommerce-account form.lost_reset_password .form-row {
	float: none;
	width: 100%;
	margin: 0 0 18px;
	padding: 0;
}

.woocommerce-account form.lost_reset_password .form-row > label {
	display: block;
	margin: 0 0 6px;
	font-family: Karla, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #1f1f1f;
}

.woocommerce-account form.lost_reset_password input.input-text {
	width: 100%;
	height: var(--matis-form-field-height);
	padding: 0 16px;
	background-color: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	font-family: Karla, sans-serif;
	font-size: 15px;
	color: #1f1f1f;
	box-shadow: none;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.woocommerce-account form.lost_reset_password input.input-text:focus {
	outline: none;
	border-color: #1f1f1f;
}

.woocommerce-account form.lost_reset_password input:-webkit-autofill,
.woocommerce-account form.lost_reset_password input:-webkit-autofill:hover,
.woocommerce-account form.lost_reset_password input:-webkit-autofill:focus {
	-webkit-text-fill-color: #1f1f1f;
	caret-color: #1f1f1f;
	-webkit-box-shadow: 0 0 0 1000px #fff inset;
	box-shadow: 0 0 0 1000px #fff inset;
	transition: background-color 9999s ease-out 0s, border-color 0.2s ease;
}

.woocommerce-account form.lost_reset_password .form-row:last-of-type {
	margin: 8px 0 0;
}

.woocommerce-account form.lost_reset_password button.button {
	display: block;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 24px;
	background: #000;
	color: #fff;
	border: 1.5px solid #000;
	border-radius: 50px;
	font-family: Karla, sans-serif;
	font-size: 16px;
	font-weight: 400;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.woocommerce-account form.lost_reset_password button.button:hover {
	background: #fff;
	color: #000;
}

/* Conferma "email inviata" */
body.woocommerce-lost-password .woocommerce > p {
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}

body.woocommerce-lost-password .woocommerce-message {
	border-radius: var(--matis-form-field-radius);
}

@media (max-width: 560px) {
	.woocommerce-account .woocommerce:has(> .lost_reset_password),
	body.woocommerce-lost-password .woocommerce {
		padding-block: 24px 40px;
	}

	.woocommerce-account .matis-lost-title {
		font-size: 28px;
	}

	.woocommerce-account form.lost_reset_password {
		padding: 24px 20px;
	}
}

/* ============================================================
   Area account (loggato): stessa grafica dei form (--matis-form-*)
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-content {
	font-size: 15px;
	line-height: 1.55;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
	margin: 0 0 16px;
}

.woocommerce-account .woocommerce-MyAccount-content > p a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Pulsanti: neri a pillola */
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content input.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 0 24px;
	background: #000;
	color: #fff;
	border: 1.5px solid #000;
	border-radius: 50px;
	box-shadow: none;
	font-family: Karla, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content input.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover {
	background: #fff;
	color: #000;
}

.woocommerce-account .woocommerce-MyAccount-content a.button:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content button.button:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:focus-visible {
	outline: 2px solid #1f1f1f;
	outline-offset: 2px;
}

/* Tabelle (ordini, metodi di pagamento, carte salvate): card bianca */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid #e8e8e8;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--matis-form-card-radius);
	background: #fff;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	padding: 16px 20px;
	border: 0;
	border-bottom: 1px solid #e8e8e8;
	background: transparent;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(31, 31, 31, 0.55);
}

/* tbody: anche il numero d'ordine, che WooCommerce stampa come <th scope="row"> */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th {
	padding: 14px 20px;
	border: 0;
	border-top: 1px solid #f1ece8;
	background: transparent;
	vertical-align: middle;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:first-child td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:first-child th {
	border-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover th {
	background: #fcfaf8;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a:not(.button) {
	font-weight: 600;
	text-decoration: none;
}

/* Azioni in tabella: pillole contornate piccole */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td button.button {
	min-height: 34px;
	margin: 2px 6px 2px 0;
	padding: 0 16px;
	background: transparent;
	color: #1f1f1f;
	border: 1px solid rgba(31, 31, 31, 0.3);
	font-size: 13px;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td button.button:hover {
	background: #1f1f1f;
	color: #fff;
	border-color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button.pay {
	background: #000;
	color: #fff;
	border-color: #000;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button.cancel,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button.delete {
	color: #c0392b;
	border-color: rgba(192, 57, 43, 0.35);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button.cancel:hover,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td a.button.delete:hover {
	background: #c0392b;
	color: #fff;
	border-color: #c0392b;
}

/* Dettaglio ordine: piede tabella (subtotale, spedizione, totale, pagamento) */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot td {
	padding: 12px 20px;
	border: 0;
	border-top: 1px solid #f1ece8;
	background: transparent;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot th {
	color: rgba(31, 31, 31, 0.6);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot tr:first-child th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot tr:first-child td {
	border-top: 1px solid #e8e8e8;
}

.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td {
	font-size: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content table.order_details .product-name a {
	font-weight: 600;
}

/* Dettaglio ordine: testo introduttivo e titoli */
.woocommerce-account .woocommerce-MyAccount-content > p mark {
	padding: 0;
	background: none;
	font-weight: 600;
	color: inherit;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-OrderUpdates-title {
	margin: 0 0 14px;
	font-size: 22px;
	line-height: 1.3;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
	margin: 0 0 32px;
}

/* Dettaglio ordine: indirizzi in card affiancate (una sotto l'altra da mobile) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses .woocommerce-column {
	display: flex;
	flex-direction: column;
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
	flex: 1 1 auto;
	height: auto;
	margin: 0;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
	box-shadow: none;
	font-size: 14px;
	font-style: normal;
	line-height: 1.6;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address p {
	margin: 8px 0 0;
}

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td,
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot th,
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot td {
		padding-inline: 16px;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
		font-size: 20px;
	}
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

/* Avvisi (es. "Non risulta alcun metodo di pagamento") */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 24px !important;
	padding: 18px 24px !important;
	background: #fff;
	border: 1px solid #e8e8e8 !important;
	border-radius: var(--matis-form-card-radius);
	box-shadow: none;
	font-size: 15px;
	color: #1f1f1f;
}

/* via la barra colorata in alto (::after globale in style.css) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::after,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::after,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error::after {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
	border-left: 4px solid #2e7d32 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	border-left: 4px solid #c0392b !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
	float: none;
	order: 2;
}

/* Campi (dettagli account, indirizzi, carte) */
.woocommerce-account .woocommerce-MyAccount-content .form-row > label {
	display: block;
	margin: 0 0 6px;
	font-family: Karla, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .form-row select,
.woocommerce-account .woocommerce-MyAccount-content .form-row textarea,
.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single {
	width: 100%;
	height: var(--matis-form-field-height);
	padding: 0 16px;
	background-color: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	box-shadow: none;
	box-sizing: border-box;
	font-family: Karla, sans-serif;
	font-size: 15px;
	color: #1f1f1f;
	transition: border-color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row textarea {
	height: 120px;
	padding: 14px 16px;
}

.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: calc(var(--matis-form-field-height) - 2px);
}

.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__arrow {
	height: calc(var(--matis-form-field-height) - 2px);
	right: 10px;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-account .woocommerce-MyAccount-content .form-row textarea:focus {
	outline: none;
	border-color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content input:-webkit-autofill,
.woocommerce-account .woocommerce-MyAccount-content input:-webkit-autofill:hover,
.woocommerce-account .woocommerce-MyAccount-content input:-webkit-autofill:focus {
	-webkit-text-fill-color: #1f1f1f;
	caret-color: #1f1f1f;
	-webkit-box-shadow: 0 0 0 1000px #fff inset;
	box-shadow: 0 0 0 1000px #fff inset;
	transition: background-color 9999s ease-out 0s, border-color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row .description,
.woocommerce-account .woocommerce-MyAccount-content .form-row em {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	font-style: normal;
	color: rgba(31, 31, 31, 0.6);
}

/* Dettagli account: form in card, "Modifica password" come sotto-sezione */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields {
	padding: 32px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account fieldset {
	margin: 8px 0 24px;
	padding: 24px 0 0;
	border: 0;
	border-top: 1px solid #e8e8e8;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm legend,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account legend {
	float: left;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm legend + * {
	clear: both;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > p:last-of-type,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account > p:last-of-type {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm button.button,
.woocommerce-account .woocommerce-MyAccount-content form.edit-account button.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button.button {
	min-height: 52px;
	padding: 0 32px;
	font-size: 16px;
}

/* Centro estetico (endpoint e box in bacheca) */
.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro {
	margin: 24px 0 0;
	padding: 32px;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
	background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro h3 {
	margin: 0 0 14px;
	font-size: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro h3:not(:first-child) {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid #e8e8e8;
}

.woocommerce-account .woocommerce-MyAccount-content .matis-centro-card {
	margin: 0 0 16px;
	padding: 16px 20px;
	background: #f9f2ee;
	border: 0;
	border-radius: var(--matis-form-field-radius);
}

.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro__hint {
	font-size: 14px;
	color: rgba(31, 31, 31, 0.7);
}

.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content .matis-centro-combobox__input {
	max-width: 520px;
	height: var(--matis-form-field-height);
	padding: 0 16px;
	background: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	font-size: 15px;
}

.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro input[type="text"]:focus {
	outline: none;
	border-color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content .matis-centro-preview {
	border-radius: var(--matis-form-field-radius);
	background: #f9f2ee;
}

.matis-centro-combobox__list {
	border-color: #e8e8e8;
	border-radius: var(--matis-form-field-radius);
}

.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro .button,
.woocommerce-account .woocommerce-MyAccount-content a.matis-centro-btn {
	min-height: 44px;
	margin-top: 4px;
	padding: 0 28px;
	font-size: 15px;
}

/* Mobile: tabelle a schede (WooCommerce le impila con shop_table_responsive) */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr {
		display: block;
		padding: 12px 16px;
		border-top: 1px solid #f1ece8;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr:first-child {
		border-top: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody td,
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th {
		padding: 6px 0;
		border-top: 0;
		background: transparent !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody td::before,
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th::before {
		font-size: 12px;
		font-weight: 600;
		text-transform: uppercase;
		color: rgba(31, 31, 31, 0.55);
	}

	/* Numero d'ordine: WooCommerce nasconde i <th> del corpo su mobile, qui diventa il titolo della scheda */
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th {
		display: block;
		padding: 4px 0 8px;
		font-size: 16px;
		font-weight: 700;
		text-align: left !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th::before {
		content: none;
	}

	/* Ordini: una card compatta per ordine
	   #numero ............ azioni
	   data
	   totale
	   (stato)                                   */
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table {
		border: 0;
		border-radius: 0;
		background: transparent;
		overflow: visible;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"number actions"
			"date   actions"
			"total  actions"
			"status status";
		align-items: center;
		column-gap: 12px;
		row-gap: 4px;
		padding: 16px 18px;
		background: #fff;
		border: 1px solid #e8e8e8;
		border-radius: var(--matis-form-card-radius);
	}

	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row > * {
		display: block;
		padding: 0 !important;
		border: 0;
		text-align: left !important;
		background: transparent !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row > *::before {
		content: none !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number {
		grid-area: number;
		font-size: 16px !important;
		font-weight: 700 !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-date {
		grid-area: date;
		font-size: 13px !important;
		color: rgba(31, 31, 31, 0.6) !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-total {
		grid-area: total;
		font-size: 14px !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row > .woocommerce-orders-table__cell-order-status {
		grid-area: status;
		justify-self: start;
		margin-top: 6px;
		padding: 4px 10px !important;
		border-radius: 50px;
		background: #f9f2ee !important;
		font-size: 12px !important;
		font-weight: 600;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions {
		grid-area: actions;
		display: flex !important;
		flex-direction: column;
		align-items: flex-end;
		gap: 6px;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button {
		margin: 0 !important;
	}

	.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
	.woocommerce-account .woocommerce-MyAccount-content form.edit-account,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
	.woocommerce-account .woocommerce-MyAccount-content .matis-account-centro {
		padding: 24px 20px;
	}
}

/* ============================================================
   Rubrica indirizzi (plugin "unwan"): stessa grafica dell'area account.
   Prefisso #unwan-account-ui per prevalere sul CSS del plugin.
   ============================================================ */
#unwan-account-ui {
	font-family: Karla, sans-serif;
	color: #1f1f1f;
}

#unwan-account-ui .unwan-account__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 24px;
}

#unwan-account-ui .unwan-account__header h2 {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.2;
}

#unwan-account-ui .unwan-account__header p {
	max-width: 620px;
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(31, 31, 31, 0.65);
}

#unwan-account-ui .unwan-account__header .unwan-button {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 24px;
	background: #000;
	color: #fff;
	border: 1.5px solid #000;
	border-radius: 50px;
	box-shadow: none;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

#unwan-account-ui .unwan-account__header .unwan-button:hover {
	background: #fff;
	color: #000;
}

/* Predefiniti */
#unwan-account-ui .unwan-defaults {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 24px;
}

#unwan-account-ui .unwan-default-card {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
	box-shadow: none;
}

#unwan-account-ui .unwan-default-card__copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

#unwan-account-ui .unwan-default-card__label {
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(31, 31, 31, 0.55);
}

#unwan-account-ui .unwan-default-card__street {
	font-size: 16px;
	font-weight: 700;
}

#unwan-account-ui .unwan-default-card__details {
	margin-top: 0;
	overflow: visible;
	white-space: normal;
	text-overflow: clip;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(31, 31, 31, 0.65);
}

#unwan-account-ui .unwan-default-card__change {
	flex-shrink: 0;
	font-size: 14px;
	font-weight: 600;
	color: #1f1f1f;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Elenco */
#unwan-account-ui .unwan-address-list {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
	box-shadow: none;
}

#unwan-account-ui .unwan-address-list__header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 16px;
	padding: 18px 24px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #e8e8e8;
}

#unwan-account-ui .unwan-address-list__header strong {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(31, 31, 31, 0.55);
}

#unwan-account-ui .unwan-address-list__count {
	font-size: 12px;
	color: rgba(31, 31, 31, 0.55);
}

#unwan-account-ui .unwan-address-search {
	padding: 16px 24px;
	border-bottom: 1px solid #f1ece8;
}

#unwan-account-ui #unwan-account-list input.unwan-address-search__input {
	width: 100%;
	height: var(--matis-form-field-height);
	padding: 0 16px 0 44px;
	background-color: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	box-shadow: none;
	font-family: Karla, sans-serif;
	font-size: 15px;
	color: #1f1f1f;
}

#unwan-account-ui #unwan-account-list input.unwan-address-search__input:focus {
	outline: none;
	border-color: #1f1f1f;
}

/* Riga indirizzo: testo | etichette | menu (da mobile le etichette vanno sotto) */
#unwan-account-ui .unwan-address-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	grid-template-areas: "content labels menu";
	align-items: center;
	gap: 8px 16px;
	padding: 16px 24px;
	border: 0;
	border-top: 1px solid #f1ece8;
	background: transparent;
}

#unwan-account-ui .unwan-address-list__items > .unwan-address-item:first-child {
	border-top: 0;
}

#unwan-account-ui .unwan-address-item__content {
	grid-area: content;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

#unwan-account-ui .unwan-address-item__street {
	font-size: 15px;
	font-weight: 700;
}

#unwan-account-ui .unwan-address-item__details {
	font-size: 13px;
	line-height: 1.5;
	color: rgba(31, 31, 31, 0.65);
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

#unwan-account-ui .unwan-address-item__meta {
	display: contents;
}

#unwan-account-ui .unwan-address-item__labels {
	grid-area: labels;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

#unwan-account-ui .unwan-address-item__labels:empty {
	display: none;
}

#unwan-account-ui .unwan-address-label {
	display: inline-block;
	padding: 3px 10px;
	background: #f9f2ee;
	border: 0;
	border-radius: 50px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #1f1f1f;
	white-space: nowrap;
}

/* Menu azioni */
#unwan-account-ui .unwan-address-item__menu {
	grid-area: menu;
	position: relative;
}

#unwan-account-ui #unwan-account-list button.unwan-address-item__menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: #1f1f1f;
	font-size: 12px;
	letter-spacing: 1px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

#unwan-account-ui #unwan-account-list button.unwan-address-item__menu-toggle:hover,
#unwan-account-ui #unwan-account-list button.unwan-address-item__menu-toggle[aria-expanded="true"] {
	background: rgba(31, 31, 31, 0.06);
}

#unwan-account-ui #unwan-account-list button.unwan-address-item__menu-toggle:focus-visible {
	outline: 2px solid #1f1f1f;
	outline-offset: 2px;
}

#unwan-account-ui .unwan-address-item__menu-panel {
	position: absolute;
	top: calc(100% + 4px);
	right: 0;
	z-index: 20;
	min-width: 260px;
	padding: 6px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

#unwan-account-ui .unwan-address-item__menu-panel[hidden] {
	display: none;
}

#unwan-account-ui .unwan-address-item__menu-form {
	margin: 0;
}

#unwan-account-ui .unwan-address-item__menu-action {
	display: block;
	width: 100%;
	min-height: 0;
	padding: 10px 14px;
	background: transparent;
	border: 0;
	border-radius: 8px;
	font-family: Karla, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	text-transform: none;
	text-decoration: none;
	color: #1f1f1f;
	cursor: pointer;
}

#unwan-account-ui .unwan-address-item__menu-action:hover:not(:disabled) {
	background: #f9f2ee;
}

#unwan-account-ui .unwan-address-item__menu-action--danger {
	color: #c0392b;
}

#unwan-account-ui .unwan-address-item__menu-action:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Editor indirizzo (?unwan_edit=…): azioni e "Usa questo indirizzo per" */
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions {
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions .button,
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions .unwan-button,
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions a {
	min-height: 48px;
	padding: 0 28px;
	font-size: 15px;
}

/* "Annulla" e le altre azioni secondarie: pillola contornata.
   "Salva" è il submit; ogni link o button type="button" nella barra è secondario. */
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions a,
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions a.button,
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions button[type="button"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	color: #1f1f1f !important;
	border: 1px solid rgba(31, 31, 31, 0.3) !important;
	border-radius: 50px;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions a:hover,
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions button[type="button"]:hover {
	background: #1f1f1f !important;
	color: #fff !important;
	border-color: #1f1f1f !important;
}

.woocommerce-account .woocommerce-MyAccount-content .unwan-role-selector__legend {
	font-size: 12px;
	letter-spacing: 0.04em;
	color: rgba(31, 31, 31, 0.55);
}

.woocommerce-account .woocommerce-MyAccount-content .unwan-role-selector__option {
	gap: 10px;
	font-size: 15px;
	cursor: pointer;
}

.woocommerce-account .woocommerce-MyAccount-content .unwan-role-selector__option input[type="checkbox"] {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	accent-color: #1f1f1f;
}

.woocommerce-account .woocommerce-MyAccount-content .unwan-role-selector__help {
	font-size: 13px;
	color: rgba(31, 31, 31, 0.6);
}

@media (max-width: 560px) {
	.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions .button,
	.woocommerce-account .woocommerce-MyAccount-content .unwan-editor__actions .unwan-button {
		flex: 1 1 100%;
	}
}

#unwan-account-ui .unwan-address-list__empty {
	padding: 24px;
	font-size: 14px;
	text-align: center;
	color: rgba(31, 31, 31, 0.6);
}

@media (max-width: 768px) {
	#unwan-account-ui .unwan-account__header {
		flex-direction: column;
		gap: 16px;
	}

	#unwan-account-ui .unwan-account__header h2 {
		font-size: 24px;
	}

	#unwan-account-ui .unwan-account__header .unwan-button {
		width: 100%;
	}

	#unwan-account-ui .unwan-defaults {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	#unwan-account-ui .unwan-default-card {
		padding: 16px 18px;
	}

	#unwan-account-ui .unwan-address-list__header,
	#unwan-account-ui .unwan-address-search {
		padding-inline: 18px;
	}

	#unwan-account-ui .unwan-address-item {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"content menu"
			"labels  labels";
		align-items: start;
		padding: 14px 10px 14px 18px;
	}

	#unwan-account-ui .unwan-address-item__menu-panel {
		min-width: 230px;
	}
}

/* Cambio pannello */
.matis-auth-switch {
	margin: 24px 0 0;
	font-size: 15px;
	text-align: center;
	color: rgba(31, 31, 31, 0.7);
}

.matis-auth-switch a {
	margin-left: 4px;
	font-weight: 700;
	color: #1f1f1f;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 560px) {
	.woocommerce-account #customer_login.matis-account-auth {
		padding-block: 24px 40px;
	}

	.woocommerce-account #customer_login.matis-account-auth > .u-column1 > h2,
	.woocommerce-account #customer_login.matis-account-auth > .u-column2 > h2 {
		font-size: 28px;
	}

	.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-login,
	.woocommerce-account #customer_login.matis-account-auth .woocommerce-form-register {
		padding: 24px 20px;
	}
}

.auth-popup-content {
	max-width: 720px;
}
.auth-popup-content .matis-register-fields,
.auth-popup-content .matis-register-fields p,
.auth-popup-content .matis-register-fields legend {
	text-align: left;
}
#auth-tab-register .form-row {
	float: none;
	width: 100%;
}

.matis-register-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px 20px;
	margin: 8px 0 16px;
	width: 100%;
}
.matis-register-fields .form-row,
.matis-register-fields .form-row-first,
.matis-register-fields .form-row-last {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.matis-register-fields .form-row-wide,
.matis-register-fields .matis-register-dob,
.matis-register-fields .matis-register-sesso,
.matis-register-fields .matis-register-privacy,
.matis-register-fields .matis-register-newsletter,
.matis-register-fields .matis-register-fields__title {
	grid-column: 1 / -1;
}
.matis-register-fields__title {
	margin: 8px 0 4px;
	font-size: 20px;
	font-weight: 700;
}
.matis-register-fields .form-row > label,
.matis-register-fields .matis-register-dob legend,
.matis-register-fields .matis-register-sesso legend {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 500;
	color: #1f1f1f;
}
.matis-register-fields .required,
.woocommerce-account .woocommerce-form-register .required,
.auth-popup-content .woocommerce-form-register .required {
	color: #c0392b !important;
	border: 0 !important;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 1em;
}
.matis-register-fields__hint {
	margin: 0 0 8px;
	grid-column: 1 / -1;
	font-size: 15px;
	line-height: 1.45;
	color: #444;
}
.matis-register-fields input[type="text"],
.matis-register-fields input[type="email"],
.matis-register-fields input[type="tel"],
.matis-register-fields input[type="password"],
.matis-register-fields select {
	width: 100%;
	max-width: 100%;
	height: 52px;
	padding: 0 16px;
	background: #f6f1ec;
	border: 0;
	border-radius: 2px;
	color: #1f1f1f;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.matis-register-fields select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%231f1f1f' d='M1 1l5 5 5-5'/></svg>");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 40px;
}
.matis-register-dob {
	border: 0;
	margin: 12px 0 0;
	padding: 0;
}
.matis-register-dob legend,
.matis-register-sesso legend {
	padding: 0;
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
}
.matis-register-dob__row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.matis-register-dob__row .form-row {
	flex: 1 1 140px;
	width: auto !important;
	max-width: 180px !important;
}
.matis-register-sesso {
	border: 0;
	margin: 8px 0 4px;
	padding: 0;
}
.matis-register-sesso__row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
}
.matis-register-sesso__choice {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}
.matis-register-sesso__choice input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #1f1f1f;
}
.matis-register-centro {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px 20px;
	margin-top: 16px;
	padding-top: 24px;
	border-top: 1px solid #e8e8e8;
}
.matis-register-centro .matis-register-fields__title,
.matis-register-centro .matis-register-fields__hint,
.matis-register-centro noscript {
	grid-column: 1 / -1;
}
.matis-register-centro .form-row-first {
	grid-column: 1;
}
.matis-register-centro .matis-register-centro__pick {
	grid-column: 2;
}
.matis-register-centro__pick:has(select:disabled) {
	display: none;
}
.matis-register-privacy,
.matis-register-newsletter {
	margin-top: 8px;
}
.matis-register-privacy label,
.matis-register-newsletter label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	line-height: 1.45;
}
.matis-register-privacy a,
.matis-register-newsletter a {
	text-decoration: underline;
}
.matis-checkout-centro-block {
	margin: 16px 0 0;
}
@media (max-width: 640px) {
	.matis-register-fields,
	.matis-register-centro {
		grid-template-columns: 1fr;
	}
	.matis-register-centro .form-row-first,
	.matis-register-centro .matis-register-centro__pick {
		grid-column: 1;
	}
	.matis-register-dob__row .form-row {
		max-width: none !important;
	}
}

.eaahst-w-trigger {
    width: 48px !important;
    height: 48px !important;
}

/* Sidebar trattamento aperta: il widget coprirebbe la CTA "Trova il centro più vicino" */
body.trattamenti-sidebar-open .eaahst-w-trigger {
    visibility: hidden;
    pointer-events: none;
}

.eaahst-w-trigger svg circle {
    fill:#FFF !important;
}

.eaahst-w-trigger svg path {
    fill:#000 !important;
}

.eaahst-w-trigger:hover, .eaahst-w-trigger:focus {
    transform: scale(1.1);
    outline: 2px solid #000000;
    outline-offset: 3px;
}

/** modifiche contact form**/
/* Stesso stile dei form account (variabili --matis-form-* in testa alla sezione Accedi / Registrati) */

.wpcf7 .wpcf7-form > .w-container.flex {
	max-width: 860px;
	margin-inline: auto;
	padding: 40px;
	gap: 16px 20px !important;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: var(--matis-form-card-radius);
	box-sizing: border-box;
}

.wpcf7 .wpcf7-form > .w-container.flex > .col-50-flex {
	min-width: 0;
}

.wpcf7 .wpcf7-form > .w-container.flex > .col-100 small {
	display: block;
	margin-top: 8px;
}

#paragrafi .sezione-form-contatti .w-container.form {
	padding: 40px;
}

.wpcf7 .wpcf7-form h4 {
	margin: 0 0 8px;
	font-size: 22px;
}

.wpcf7 p {
	margin: 0;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select,
#paragrafi .sezione-form-contatti .layout1 .wpcf7 select {
	width: 100%;
	height: var(--matis-form-field-height);
	padding: 0 16px;
	background-color: #fff;
	border: 1px solid var(--matis-form-border);
	border-radius: var(--matis-form-field-radius);
	font-family: Karla, sans-serif;
	font-size: 15px;
	color: #1f1f1f;
	box-shadow: none;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.wpcf7 textarea {
	height: 160px;
	min-height: 120px;
	padding: 14px 16px;
	resize: vertical;
}

.wpcf7 select,
#paragrafi .sezione-form-contatti .layout1 .wpcf7 select {
	padding-right: 40px;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%231f1f1f' stroke-width='1.5' d='M1 1l5 5 5-5'/></svg>");
	background-repeat: no-repeat;
	background-position: right 16px center;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border-color: #1f1f1f;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder,
#paragrafi .sezione-form-contatti .wpcf7 input::placeholder,
#paragrafi .sezione-form-contatti .wpcf7 textarea::placeholder {
	color: rgba(31, 31, 31, 0.45);
	opacity: 1;
}

/* Autocompletamento del browser */
.wpcf7 input:-webkit-autofill,
.wpcf7 input:-webkit-autofill:hover,
.wpcf7 input:-webkit-autofill:focus {
	-webkit-text-fill-color: #1f1f1f;
	caret-color: #1f1f1f;
	-webkit-box-shadow: 0 0 0 1000px #fff inset;
	box-shadow: 0 0 0 1000px #fff inset;
	transition: background-color 9999s ease-out 0s, border-color 0.2s ease;
}

/* Checkbox privacy / marketing */
.wpcf7 .wpcf7-list-item {
	margin: 0 0 8px;
}

.wpcf7 .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.45;
	cursor: pointer;
}

.wpcf7 .wpcf7-list-item input[type="checkbox"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 2px 0 0;
	accent-color: #1f1f1f;
}

/* Invio: come il pulsante Accedi */
.wpcf7 input.wpcf7-submit,
#paragrafi .sezione-form-contatti .wpcf7 input.wpcf7-submit {
	display: block;
	width: 100%;
	height: 52px;
	margin: 8px 0 0;
	padding: 0 24px;
	background: #000;
	background-image: none;
	color: #fff;
	border: 1.5px solid #000;
	border-radius: 50px;
	font-family: Karla, sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.wpcf7 input.wpcf7-submit:hover,
#paragrafi .sezione-form-contatti .wpcf7 input.wpcf7-submit:hover {
	background: #fff;
	background-image: none;
	color: #000;
	border-color: #000;
}

.wpcf7 input.wpcf7-submit:disabled,
#paragrafi .sezione-form-contatti .wpcf7 input.wpcf7-submit:disabled {
	background: #000;
	color: #fff;
	border-color: #000;
	opacity: 0.35;
	cursor: not-allowed;
}

/* Select ancora sulla prima opzione vuota: colore da placeholder */
.wpcf7 select:has(option[value=""]:checked) {
	color: rgba(31, 31, 31, 0.45);
}

.wpcf7 .wpcf7-spinner {
	display: block;
	margin: 12px auto 0;
}

/* Errori e messaggio di risposta */
.wpcf7 .wpcf7-not-valid {
	border-color: #c0392b;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 13px;
	color: #c0392b;
}

.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 12px 16px;
	border-radius: var(--matis-form-field-radius);
	font-size: 14px;
}

@media (max-width: 560px) {
	.wpcf7 .wpcf7-form > .w-container.flex,
	#paragrafi .sezione-form-contatti .w-container.form {
		padding: 24px 20px;
	}
}


#paragrafi .sezione-form-contatti .w-container.form {
    padding:5%;
}


#paragrafi .layout1 p {
    padding-bottom:10px;
    
}

#paragrafi .sezione-form-contatti span.wpcf7-form-control.wpcf7-acceptance {
    font-size:14px;
    
}
.wpcf7 small {
    font-size:14px;
    font-style:italic;
    font-weight:600;
    opacity:0.5;
}
