.sidebar-main {
	position: fixed;
	top: 20px;
	right: 20px;
	bottom: 20px;
	width: 300px;
	height: calc(100vh - 40px);
	height: calc(100dvh - 40px);
	overflow: hidden;
	transition: width 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
	box-shadow: 0 0 30px rgba(0,0,0,0.2);
	border-radius: 15px;
	background: white;
	background-image: url('/wp-content/uploads/prodotti/Lamb_A1_White_LITH_HOME PAGE.jpg');
	background-position: right -200px bottom -250px;
	background-repeat: no-repeat;
	background-size: 800px auto;
	z-index: 9999;
	left: auto;
	padding: 35px 0 0;
	color:#444343;
	text-align: left;
	font-family: 'Lato', sans-serif;
	display: none;

	a {
		color:#444343;
	}
	a:hover {
		color:var(--secondary-color);
	}

	&.active {
		display: block;
	}
	&.no-transition {
		transition:none;

		.sidebar-content {
			transition:none !important;
		}
	}

	.close-button {
		position: absolute;
		top: 10px;
		right: 20px;
		background: none;
		border: none;
		font-size: 25px;
		cursor: pointer;
		z-index: 10000;
		color: gray;
	}

	.back-button {
		position: absolute;
		left: -40px;
		top: 20px;
		margin-top: 0px;
		transform: scale(1);
		background: transparent;
		border: medium;
		color: rgb(68, 67, 67);
		padding: 0px;
		width: 32px;
		height: 32px;
		align-items: center;
		justify-content: center;
		transition: left 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
		z-index: 100;
		opacity: 0;

		.material-icons {
			font-size: 18px;
			font-weight: 300;
		}

		&.active {
			opacity: 1;
			left: 34px;
		}

		&:hover {
			transform: scale(1.1);
		}
	}

	.logo {
		display: none;

		.sidebar-logo-header {
			height:20px;
			width:auto;

			svg {
				height:100%;

				.cls-1 {
					color:var(--primary-color);
					fill: var(--primary-color) !important;
					stroke: var(--primary-color) !important;
				}
			}
		}
	}

	/* svg.quick rimosso */

	.orders-returns-banner {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 80px 30px 25px;
		background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 45%);
		font-family: 'Lato', sans-serif;
		font-size: 13px;
		font-weight: 400;
		color: #888;
		text-align: center;
		z-index: 10;
		pointer-events: none;
	}
	.orders-returns-banner ul.menu {
		list-style: none;
		margin: 0;
		padding: 0;
		display: inline;
	}
	.orders-returns-banner li {
		display: inline;
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.orders-returns-banner a {
		pointer-events: auto;
		color: #888 !important;
		text-decoration: underline !important;
		font-weight: 400;
	}
	.orders-returns-banner a:hover {
		color: #333 !important;
	}

	.titolo.secondary-color {
		color: var(--primary-color) !important;
	}

	.material-icons {
		color:var(--primary-color) !important;
	}

	.titolo {
		width:100%;
		text-transform: uppercase;
		font-size: 16px;
		font-weight: 800;
		color: var(--primary-color);
		font-weight: 800;
		margin-bottom: 10px;

		&.principale {
			margin-bottom: 29px;
			margin-top: 10px;
		}
	}

	.content-wrapper {
		position: relative;
        display: block;
        width: 100%;
        height: calc(100%);
        overflow: auto;
        scrollbar-width: none;
	}

	.sidebar-content {
		color: #000000;
		position: absolute;
		top: 0;
		left: 0;
		right: auto;
		width: 100%;
		min-height: 100%;
		height: auto;
		transform: translateX(100%);
		opacity: 0;
		visibility: hidden;
		/* transition gestita via JavaScript con requestAnimationFrame */
		padding: 0 35px 35px 35px;
		scrollbar-width: none;
		display:none;
		background-color: #ffffff;
		overflow-y: auto;

		&.main {
			transform: translateX(-100%);
			background-color: transparent;
		}

		&.active {
			transform: none;
			visibility: visible;
			opacity: 1;
			display:block;
		}

		&.remove {
			transform: translateX(100%);
			visibility: visible;
			opacity: 1;
			display:block;
		}


		.menu {
			list-style:none;
			margin:0;
			padding:0;
			font-weight: 400;

			li {
				list-style:none;
				margin:0;
				padding:0;

				a {
					color: #000000;
					transition: all 0.3s ease;
				}

				a:hover {
					color:var(--primary-color);
				}

				margin-bottom: 2px;
			}
		}

		/* Divisore HR tra sezioni menu */
		.sidebar-divider,
		hr.sidebar-divider {
			border: none;
			border-top: 1px solid #e6e6e6;
			margin: 15px 0;
			padding: 0;
			width: 100%;
		}

		/* Menu divider list item */
		.menu-divider-item {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		/* Material Icons in sidebar menu */
		.sidebar-menu-icon {
			font-size: 18px;
			vertical-align: middle;
			margin-right: 10px;
			position: relative;
			top: -1px;
			color: #666;
		}

		/* Keep icon color constant on hover */
		a:hover .sidebar-menu-icon {
			color: #666;
		}

		/* Override primary color ONLY for menu icons with sidebar-menu-icon class */
		.sidebar-menu-icon.material-icons,
		.sidebar-menu-icon.material-symbols-outlined {
			color: #666 !important;
		}

		.divider {
			width:100%;
			height:40px;
		}

		.sidebar-header {
			display: flex;
			flex-direction: column;
			text-align: left;
			margin: 0;
			margin-top: 10px;
			margin-bottom: 40px;
			padding: 0;

			.fs-menu-mobile-header-title {
				display: flex;
				flex-direction: column;
				color: var(--primary-color);
				font-size: 40px;
				text-align: left;
				margin: 0;
				font-family: 'Juana Alt';
				font-weight: 600;
				text-decoration: none;
				cursor: default;
			}

			.fs-menu-mobile-header-subtitle {
				font-family: 'Lato', sans-serif;
				font-size: 16px;
				font-weight: 400;
				color: #262626;
				margin-top: 5px;
			}
		}

		label {
			padding: 5px 20px;
			font-size: 14px;
			line-height: 18px;
			color: #333;
		}

		input[type="password"],
		input[type="email"],
		input[type="text"] {
			font-weight: 700;
			width: 100%;
			margin: 0;
			margin-bottom: 8px;
			padding: 10px 10px 10px 10px;
			background-color: #f9f9f9 !important;
			border: none;
			border-radius: 10px;
			font-size: 16px;
			line-height: 16px;
			text-align: center;
			box-shadow:none;
		}

		/* Focus con primary color */
		input[type="text"]:focus,
		input[type="email"]:focus,
		input[type="password"]:focus {
			background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
			background-size: 100% 100%;
			animation: subtleSwipe 0.5s ease-out;
		}

		.buttonrounded,
		.checkout-button,
		.xoo-el-action-btn,
		input[type="submit"] {
			right: 0;
			bottom: 0;
			width: auto !important;
			margin: 10px 0 0 0;
			padding: 12px 24px 12px 24px;
			background-color: var(--primary-color);
			border: 0;
			border-radius: 25px;
			font-size: 16px;
			font-weight: 400;
			line-height: 16px;
			color: #ffffff;
			text-align: center;
			vertical-align: middle;
			cursor: pointer;
			-moz-osx-font-smoothing: grayscale;
			-ms-text-size-adjust: 100%;
			-webkit-font-smoothing: antialiased;
			-webkit-tap-highlight-color: transparent;
			-webkit-text-size-adjust: 100%;
			box-sizing: border-box;
			font-synthesis: none;
		}

		.xoo-el-action-btn {
			margin: 0 !important;
		}

		/* Container tasti allineati a destra - solo il p con il bottone submit */
		form > p:last-child,
		.xoo-el-form-container,
		.button-container {
			text-align: right;
		}

		/* Fieldset labels sempre a sinistra */
		fieldset p {
			text-align: left;
		}

		/* Input fields: sentence case e allineati a sinistra */
		input[type="text"] {
			text-transform: capitalize;
			text-align: left;
		}

		input[type="password"],
		input[type="email"],
		textarea {
			text-transform: none;
			text-align: left;
		}

		.buttonrounded:hover,
		.checkout-button:hover,
		input[type="submit"]:hover {
			transition-delay: 0s;
			transition-duration: 0.3s;
		}

		.wc-proceed-to-checkout {
			text-align:right;
			margin-top:30px;
			margin-right:-20px;
		}

		.accordion {
			.accordion-content {
				overflow: hidden;
				max-height:0px;
				/* transition gestita via JavaScript con requestAnimationFrame */
			}
		}


		.faq-wrapper {
			padding:0;

			.faq-cate {
				padding-bottom:20px;
			}

			.faq-item {
				text-align:left;
				border-bottom: 1px solid #f0f0f0;
				margin-bottom: 15px;

				.title {
					display: flex;
					position: relative;
					margin: 0;
					margin-bottom: 5px;
					padding-top: 15px;
					padding-right: 30px;
					font-size: 16px;
					font-weight: 800;
					line-height: 1;
					color: #000000;
					text-decoration: none;
					transition: color 0.3s ease;
					-moz-osx-font-smoothing: grayscale;
					-ms-text-size-adjust: 100%;
					-webkit-font-smoothing: antialiased;
					-webkit-tap-highlight-color: transparent;
					-webkit-text-size-adjust: 100%;
					flex-direction: column;

					&::after {
						box-sizing: border-box;
						color: #999;
						content: '\e5cf';
						font-family: 'Material Icons';
						font-size: 20px;
						position: absolute;
						right: 0;
						top: 50%;
						transform: translateY(-50%);
						transition: transform 0.3s ease;
					}
				}
				.title:hover {
					color:var(--primary-color);
				}

				.subtitle {
					margin-top: 2px;
					margin-bottom: 8px;
					font-size: 16px;
					font-weight: 400;
					color: #262626;
				}
			}

		}

		.sidebar-cart {
			.cart-recap {
				width: 100%;
				font-size: 20px;
				margin-bottom: 50px;
				text-align: left;
				line-height: 1;
				padding: 30px 0 0 0;
				padding-bottom: 0;
				border: 0;
				border-radius: 14px;

				.amount {
					color:var(--primary-color);
				}
			}

			.titolo.titolo-items.text-left {
				margin: 0 0 8px 0;
				border-top: 1px solid #e6e6e6;
				padding-top: 40px;
			}

			.includes_tax {
				display: block;
			}

			.cart-recap .woocommerce-Price-amount.amount {
				font-size: 18px !important;
				font-weight: 700;
			}

			.cart-subtotal {
				display: none !important;
			}

			.includes_tax .woocommerce-Price-amount.amount {
				font-size: 16px !important;
			}

			.order-total {
				background-color: color(srgb 0.9735 0.9735 0.9736);

				th, td {
					padding: 10px 0 !important;
					border-top: 15px solid white !important;
					position: relative;
					vertical-align: top;
				}

				th:first-child {
					border-radius: 10px 0 0 10px;
				}

				td:last-child {
					border-radius: 0 10px 10px 0;
				}

				/* Estende sfondo a sinistra */
				th:first-child::before {
					content: '';
					position: absolute;
					left: -20px;
					top: 0;
					bottom: 0;
					width: 20px;
					background-color: color(srgb 0.9735 0.9735 0.9736);
					border-radius: 10px 0 0 10px;
				}

				/* Estende sfondo a destra */
				td:last-child::after {
					content: '';
					position: absolute;
					right: -20px;
					top: 0;
					bottom: 0;
					width: 20px;
					background-color: color(srgb 0.9735 0.9735 0.9736);
					border-radius: 0 10px 10px 0;
				}

				.woocommerce-Price-amount.amount {
					font-size: 18px !important;
				}

				.includes_tax .woocommerce-Price-amount.amount {
					font-size: 16px !important;
				}
			}

			.titolo-items {
				margin-bottom: 8px;
			}

			.description {
				line-height:1;
				text-align:left;
			}

			.checkout-wrapper {
				display:block;
				overflow:hidden;
				width:100%;
				text-align:right;
				padding:30px 0;
			}

			/* Indirizzo spedizione nel carrello */
			.cart-shipping-address {
				display: flex;
				align-items: flex-start;
				gap: 10px;
				padding: 12px 15px;
				background: #f7f7f7;
				border-radius: 8px;
				margin-bottom: 15px;
				font-size: 13px;
			}

			.cart-shipping-address .shipping-address-label {
				font-weight: 600;
				color: #666;
				white-space: nowrap;
			}

			.cart-shipping-address .shipping-address-value {
				flex: 1;
				display: flex;
				flex-direction: column;
				gap: 2px;
			}

			.cart-shipping-address .shipping-address-value .address-name {
				font-weight: 500;
			}

			.cart-shipping-address .shipping-address-value .address-line,
			.cart-shipping-address .shipping-address-value .address-city {
				color: #666;
			}

			.cart-shipping-address .change-address-link,
			.cart-shipping-address .add-address-link {
				color: var(--primary-color, #000);
				text-decoration: underline;
				font-size: 12px;
				white-space: nowrap;
			}

			.cart-shipping-address .change-address-link:hover,
			.cart-shipping-address .add-address-link:hover {
				text-decoration: none;
			}

			.cart-shipping-address .shipping-address-empty {
				flex: 1;
				display: flex;
				align-items: center;
				gap: 5px;
				color: #999;
			}

			.cart-shipping-address.no-address {
				border: 1px dashed #ddd;
				background: #fafafa;
			}

			/* Checkout bloccato (senza indirizzo) */
			.checkout-wrapper.checkout-blocked {
				text-align: center;
				padding: 20px 0;
			}

			.checkout-wrapper.checkout-blocked .checkout-blocked-msg {
				font-size: 13px;
				color: #666;
				margin: 0 0 15px 0;
			}

			/* Checkout + Apple Pay buttons row */
			.checkout-wrapper.checkout-buttons-row {
				display: flex;
				gap: 10px;
				align-items: center;
				justify-content: flex-end;
			}

			.checkout-wrapper.checkout-buttons-row .buttonrounded {
				flex: none;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				transition: background-color 0.2s ease;
			}

			.checkout-wrapper.checkout-buttons-row #btn-checkout-stripe:hover,
			.checkout-wrapper.checkout-buttons-row .btn-checkout-action:hover {
				background-color: color-mix(in srgb, var(--primary-color) 85%, black);
			}

			.product {
				padding-bottom:30px;

				.product-preview {
					display: flex;
					height: 110px;
					margin: 0;
					padding: 0;
					background-position: left top;
					background-repeat: no-repeat;
					background-size: 600px;
					border: 0;
					border-radius: 10px;
					align-items: center;
					flex-direction: row;
					justify-content: flex-end;
					background-color: #f7f7f7;

					.box {
						display: inline-block;
						text-align: center;
						margin: 0 20px 0 0;

						.label {
							font-size: 10px;
							font-weight: 400;
							color: #999;
							text-transform: uppercase;
							letter-spacing: 0.5px;
							margin: 0 0 2px 0;
							padding-bottom: 2px;
						}

						/* Safari only - fix minimum font size */
						@supports (-webkit-hyphens:none) {
							.label {
								font-size: 12px;
								transform: scale(0.833);
								transform-origin: center;
							}
						}

						.wrapper {
							display: flex;
							align-items: center;
							justify-content: space-between;
							margin: 0;
							padding: 12px 24px 12px 24px;
							position: relative;
							right: 0;
							bottom: 0;
							background-color: #ffffff;
							border: 0;
							border-radius: 20px;
							font-size: 16px;
							font-weight: 400;
							line-height: 16px;
							color: #404040;

							button {
								position: absolute;
								top: 50%;
								transform: translateY(-50%);
								border: none;
								background: none;
								width: 24px;
								height: 24px;
								border-radius: 50%;
								display: flex;
								align-items: center;
								justify-content: center;
								cursor: pointer;
								transition: all 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
								padding: 0;
								font-size: 16px;
								line-height: 1;
								color: #666;
								user-select: none;
							}

							button.btn-minus {
								left: 10px;
							}
							button.btn-plus {
								right: 10px;
							}
							button.disabled {
								opacity: 0.3;
								cursor: not-allowed;
								pointer-events: none;
							}
						}
					}

					.box.box-qty {
						.wrapper {
							padding: 12px 35px 12px 35px;
						}
					}
				}

				.product-details {
					padding: 10px 20px 0 20px;
					width: 100%;
                    overflow: hidden;
                    color: #333;
                    font-weight: 700;

					.name {
						font-size: 18px;
						text-align: left;
						float:left;
					}
					.price {
						font-size: 16px;
						font-weight: 700;
						text-align: right;
						float:right;
					}
				}

				.product-actions {
					padding: 0 20px;
					font-size: 16px !important;
					font-weight: 400 ;
					color: var(--primary-color);
					text-align: left;

					a {
						color: var(--primary-color);
						font-size: 16px !important;
					}
				}
			}

			.cart-details {
				border-top: 1px solid #e6e6e6;
				padding: 20px 20px 0 20px;

				.item {
					transform: none !important;
					transition: none !important;
					/*width:100%;
					overflow:hidden;

					.label {
						float:left;
						font-size: 16px;
						font-weight: 700;
						color: #333;
					}
					.value {
						float:right;
					}
					.bold {
						font-size: 16px;
						font-weight: 700;
					}*/

					display: flex;
					align-items: baseline;

					.label {
						flex-grow: 1;
						text-align: left;
					}
				}


				.coupon-wrapper {
					display: inline-block;
					position: relative;
					margin: 0;
					padding: 0;
					border: 0;
					font: inherit;
					font-size: inherit;
					line-height: inherit;
					font-size: 100%;
					line-height: 1;
					vertical-align: baseline;
					-moz-osx-font-smoothing: grayscale;
					-ms-text-size-adjust: 100%;
					-webkit-font-smoothing: antialiased;
					-webkit-tap-highlight-color: transparent;
					-webkit-text-size-adjust: 100%;
					box-sizing: border-box;
					font-synthesis: none;

					.input-text {
						width: 200px;
						margin: 0;
						padding: 10px 40px 10px 16px;
						background-color: #f9f9f9;
						border: none;
						border-radius: 10px;
						font-family: 'Lato';
						font-size: 16px;
						font-weight: 400;
						line-height: 16px;
						color: #000000;
						text-align: left;
						overflow: visible;
						box-sizing: border-box;
						text-transform: uppercase;

						&::placeholder {
							color: #c0c0c0;
							text-transform: capitalize;
						}

						&:focus {
							background-color: #f9f9f9 !important;
							background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
							background-size: 100% 100%;
							outline: none !important;
							animation: subtleSwipe 0.5s ease-out;
						}
					}

					.material-icons {
						position: absolute;
						top: 50%;
						right: 12px;
						margin: 0;
						padding: 0;
						border: 0;
						font-size: 26px;
						color: #505050;
						vertical-align: baseline;
						cursor: not-allowed;
						transform: translateY(-50%);
						transition: all 0.3s ease;
						-moz-osx-font-smoothing: grayscale;
						-ms-text-size-adjust: 100%;
						-webkit-font-smoothing: antialiased;
						-webkit-tap-highlight-color: transparent;
						-webkit-text-size-adjust: 100%;
						box-sizing: border-box;
						font-synthesis: none;
						opacity: 0.2;

						&.active {
							opacity: 1;
							cursor: pointer;
							color: var(--primary-color);
						}
					}
				}
			}

			.cart_totals {
				padding: 20px 20px 0 20px;
				h2 {
					display:none;
				}

				table {
					width:100%;

					th {
						text-align:left;
						padding: 2px 0;
					}
					td {
						text-align:right;
						padding: 2px 0;
					}

					.woocommerce-shipping-methods {
						list-style:none;
						padding:0;
						margin:0;
					}
					label {
						padding:0;
						font-size: 16px;
						line-height: 1;
						color: #333;
					}
				}
			}

		}

		/* Wishlist section inside cart */
		.cart-wishlist-section {
			margin-top: 60px;
			padding-top: 20px;
			border-top: none;

			.titolo-wishlist {
				margin-bottom: 15px;
				display: flex;
				align-items: center;
				gap: 8px;

				.material-icons {
					color: var(--primary-color);
				}
			}

			.sidebar-wishlist {
				padding: 0;

				.product.wishlist-item {
					.product-preview {
						background-size: contain;
						height: 80px;
					}

					.size-info {
						display: none;
					}
				}
			}
		}

		.sidebar-orders {
			padding:0;

			.order-wrapper {
				display: flex;
				margin: 0;
				margin-bottom: 20px;
				padding: 0;
				border: 0;
				font: inherit;
				font-size: inherit;
				line-height: inherit;
				font-size: 100%;
				line-height: 1;
				color: #6d6d6d;
				vertical-align: baseline;
				-moz-osx-font-smoothing: grayscale;
				-ms-text-size-adjust: 100%;
				-webkit-font-smoothing: antialiased;
				-webkit-tap-highlight-color: transparent;
				-webkit-text-size-adjust: 100%;
				box-sizing: border-box;
				flex-direction: column;
				font-synthesis: none;

				.titolo {
					font-weight: 400;
					padding-left: 5px;
					font-size: 15px;
					line-height: 1.2;
					margin-bottom: 8px;
					font-family: 'Lato', sans-serif;
					font-size: 16px;
					font-weight: 400;
					color: #262626;
					box-sizing: border-box;
					text-align: left;
					text-transform: none;

					b {
						font-size: 18px;
					}

					.order-info {
						font-size: 12px;
						color: #666;
					}
				}

				.product-wrapper {
					text-align: right !important;
					display: flex !important;
					justify-content: flex-end !important;
					height: 110px;
					margin: 0;
					padding: 0;
					background-position: left top;
					background-repeat: no-repeat;
					background-size: 600px;
					border: 0;
					border-radius: 10px;
					font: inherit;
					font-size: inherit;
					line-height: inherit;
					font-size: 100%;
					line-height: 1;
					text-align: right;
					vertical-align: baseline;
					-moz-osx-font-smoothing: grayscale;
					-ms-text-size-adjust: 100%;
					-webkit-font-smoothing: antialiased;
					-webkit-tap-highlight-color: transparent;
					-webkit-text-size-adjust: 100%;
					align-items: center;
					box-sizing: border-box;
					flex-direction: row;
					font-synthesis: none;
					justify-content: flex-end;
					background-color: #f7f7f7;
				}

				.size-box {
					display: inline-block;
					text-align: left;
					margin: 0 0 0 0;
					margin-right: 0px;

					.size-label {
						font-family: 'Lato', sans-serif;
						font-size: 10px;
						font-weight: 700;
						color: #999;
						text-transform: uppercase;
						letter-spacing: 0.5px;
						margin: 0 0 2px 0;
						padding-bottom: 2px;
					}

					.value-content {
						display: inline-block;
						position: relative;
						right: 0;
						bottom: 0;
						margin: 15px 0 0 0;
						margin-top: 0;
						margin-right: 22px;
						padding: 12px 24px 12px 24px;
						background-color: #ffffff;
						border: 0;
						border-radius: 20px;
						font: inherit;
						font-weight: inherit;
						font-size: inherit;
						line-height: inherit;
						font-family: inherit;
						font-family: 'Lato', sans-serif;
						font-size: 16px;
						font-weight: 400;
						line-height: 16px;
						color: #404040;
						vertical-align: middle;
						cursor: pointer;
						-moz-osx-font-smoothing: grayscale;
						-ms-text-size-adjust: 100%;
						-webkit-font-smoothing: antialiased;
						-webkit-tap-highlight-color: transparent;
						-webkit-text-size-adjust: 100%;
						box-sizing: border-box;
						font-synthesis: none;
					}
				}

			}
		}

		.sidebar-wishlist {
			.item-wrapper {
				display: grid;
				max-width: 900px;
				margin: 0 auto;
				padding: 0;
				border: 0;
				font: inherit;
				font-size: inherit;
				line-height: inherit;
				font-size: 100%;
				line-height: 1;
				vertical-align: baseline;
				-moz-osx-font-smoothing: grayscale;
				-ms-text-size-adjust: 100%;
				-webkit-font-smoothing: antialiased;
				-webkit-tap-highlight-color: transparent;
				-webkit-text-size-adjust: 100%;
				box-sizing: border-box;
				font-synthesis: none;
				gap: 24px;
				grid-template-columns: repeat(2, 1fr);

				.item {
					position: relative;
					width: 155px;
					height: 155px;
					margin: 0;
					margin-left: 0px;
					margin-left: 0;
					padding: 0;
					border: 0;
					font: inherit;
					font-size: inherit;
					line-height: inherit;
					font-size: 100%;
					line-height: 1;
					vertical-align: baseline;
					-moz-osx-font-smoothing: grayscale;
					-ms-text-size-adjust: 100%;
					-webkit-font-smoothing: antialiased;
					-webkit-tap-highlight-color: transparent;
					-webkit-text-size-adjust: 100%;
					box-sizing: border-box;
					font-synthesis: none;


					.content {
						display: flex;
						position: absolute;
						right: 0;
						bottom: 0;
						left: 0;
						width: 100%;
						height: 100%;
						margin: 0;
						padding: 0;
						background-color: transparent;
						background-position: 0px -10px;
						background-size: 100%;
						border: 0;
						border-radius: 14px;
						font: inherit;
						font-size: inherit;
						line-height: inherit;
						font-size: 100%;
						line-height: 1;
						vertical-align: baseline;
						overflow: hidden;
						-moz-osx-font-smoothing: grayscale;
						-moz-transition-duration: 1.3s;
						-ms-text-size-adjust: 100%;
						-o-transition-duration: 1.3s;
						-webkit-font-smoothing: antialiased;
						-webkit-tap-highlight-color: transparent;
						-webkit-text-size-adjust: 100%;
						-webkit-transition-duration: 1.3s;
						align-items: center;
						box-sizing: border-box;
						flex-direction: column;
						font-synthesis: none;
						justify-content: flex-start;
						transition-duration: 1.3s;

						.titolo-wrapper {
							display: flex;
							position: absolute;
							right: 0;
							bottom: 0;
							left: 0;
							width: 100%;
							height: auto;
							margin: 0;
							padding: 20px 0 20px 0;
							background-color: transparent;
							border: 0;
							font: inherit;
							font-size: inherit;
							line-height: inherit;
							font-size: 100%;
							line-height: 1;
							text-align: center;
							vertical-align: baseline;
							-moz-osx-font-smoothing: grayscale;
							-ms-text-size-adjust: 100%;
							-webkit-font-smoothing: antialiased;
							-webkit-tap-highlight-color: transparent;
							-webkit-text-size-adjust: 100%;
							align-items: center;
							box-sizing: border-box;
							flex-direction: column;
							font-synthesis: none;
							justify-content: center;

							.titolo {
								max-width: 100%;
								margin: 0;
								margin-bottom: 0px;
								margin-left: 0px;
								margin-bottom: 0;
								margin-left: 0;
								padding: 0;
								border: 0;
								font: inherit;
								font-weight: inherit;
								line-height: inherit;
								font-family: inherit;
								font-family: "Juana Alt";
								font-size: 118;
								font-weight: 400;
								line-height: 20px;
								color: #1e1e1e;
								text-align: center;
								vertical-align: baseline;
								-moz-osx-font-smoothing: grayscale;
								-ms-text-size-adjust: 100%;
								-webkit-font-smoothing: antialiased;
								-webkit-tap-highlight-color: transparent;
								-webkit-text-size-adjust: 100%;
								box-sizing: border-box;
								font-synthesis: none;

								.serie {
									margin: 0;
									padding: 0;
									border: 0;
									font: inherit;
									font-weight: inherit;
									font-size: inherit;
									line-height: inherit;
									font-family: inherit;
									font-family: 'Juana Alt';
									font-size: 100%;
									font-weight: 900;
									line-height: 1;
									color: #514023;
									vertical-align: baseline;
									-moz-osx-font-smoothing: grayscale;
									-ms-text-size-adjust: 100%;
									-webkit-font-smoothing: antialiased;
									-webkit-tap-highlight-color: transparent;
									-webkit-text-size-adjust: 100%;
									box-sizing: border-box;
									font-synthesis: none;
								}

							}

						}

					}

				}
			}

			/* New wishlist products layout (like cart) */
			.wishlist-products {
				padding: 0;

				.product.wishlist-item {
					padding-bottom: 30px;

					.product-preview {
						display: flex;
						position: relative;
						height: 110px;
						margin: 0;
						padding: 0;
						background-position: left top;
						background-repeat: no-repeat;
						background-size: 600px;
						border: 0;
						border-radius: 10px;
						align-items: center;
						flex-direction: row;
						justify-content: flex-end;
						background-color: #f7f7f7;

						/* Override per wishlist dentro carrello */
						.cart-wishlist-section & {
							background-size: contain;
							height: 80px;

							.wishlist-close-btn {
								top: 2px;
								right: 2px;
							}
						}

						/* Pulsante X per rimuovere */
						.wishlist-close-btn {
							position: absolute;
							top: 8px;
							right: 8px;
							width: 24px;
							height: 24px;
							background: transparent;
							border: none;
							border-radius: 50%;
							font-size: 20px;
							line-height: 22px;
							color: #999;
							cursor: pointer;
							display: flex;
							align-items: center;
							justify-content: center;
							transition: all 0.2s ease;
							z-index: 10;
							opacity: 0;

							&:hover {
								color: #333;
								transform: scale(1.1);
							}
						}

					&:hover .wishlist-close-btn {
						opacity: 1;
					}

						/* Stile identico al box-size del carrello */
						.box.box-size {
							display: inline-block;
							text-align: center;
							margin: 0 20px 0 0;

							button, a {
								display: block;
								padding: 12px 24px;
								background-color: #ffffff;
								color: #404040;
								border: none;
								border-radius: 20px;
								font-size: 16px;
								font-weight: 400;
								line-height: 16px;
								text-decoration: none;
								cursor: pointer;
								transition: all 0.2s ease;

								&:hover {
									background-color: var(--primary-color);
									color: #ffffff;
									transform: scale(1.05);
								}
							}
						}
					}

					.product-name-row {
						display: flex;
						align-items: center;
						gap: 8px;
						margin-bottom: 5px;
						padding: 0 5px;

						.tag_home-recent {
							position: static;
							transform: scale(80%);
							transform-origin: left center;
							background-color: var(--primary-color);
							color: #fff;
							padding: 8px 10px;
							border-radius: 8px;
							font-size: 12px;
							font-weight: 400;
							text-transform: uppercase;
							line-height: 1;
							white-space: nowrap;
						}
						.name {
							font-size: 16px;
							font-weight: 400;
							color: #333;
						}

						.size-inline {
							font-size: 14px;
							font-weight: 400;
							color: #666;
							white-space: nowrap;
						}

						/* Safari only */
						@supports (-webkit-hyphens:none) {
							.name {
								margin-left: -4px;
							}
						}
					}

					.size-info {
						font-size: 14px;
						font-weight: 400;
						color: #666;
						padding: 5px 5px 0 5px;
					}

					.product-actions {
						padding: 0 20px;
						font-size: 16px !important;
						font-weight: 400;
						color: var(--primary-color);
						text-align: left;

						a {
							color: var(--primary-color);
							font-size: 16px !important;
						}
					}
				}
			}
		}

	}

	/* ========================================
	   SEZIONE INDIRIZZO SPEDIZIONE CARRELLO
	   ======================================== */
	#sidebar-cart .cart-shipping-section {
		margin: 25px 0 0 0;
		padding: 15px;
		background: #f9f9f9;
		border-radius: 10px;
	}

	.shipping-section-header {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 12px;
		padding-bottom: 8px;
		border-bottom: 1px solid #e6e6e6;

		.material-icons {
			font-size: 18px;
		}

		.shipping-section-title {
			font-size: 14px;
			font-weight: 600;
			color: #333;
			text-transform: uppercase;
			letter-spacing: 0.3px;
		}
	}

	/* Indirizzo esistente - Display */
	.shipping-address-display {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	#sidebar-cart .address-card-mini {
		background: #fff;
		border-radius: 8px;
		padding: 0;
		border: 1px solid #e0e0e0;
	}

	#sidebar-cart .address-label-badge {
		display: inline-block;
		background-color: var(--primary-color);
		color: #fff;
		padding: 4px 10px;
		border-radius: 8px;
		font-size: 12px;
		font-weight: 400;
		text-transform: uppercase;
		transform: scale(80%);
		transform-origin: left center;
	}

	.address-details {
		display: flex;
		flex-direction: column;
		gap: 2px;
		font-size: 13px;
		color: #333;
	}

	.address-details .address-name {
		font-weight: 600;
	}

	.address-details .address-line,
	.address-details .address-city,
	.address-details .address-phone {
		color: #666;
	}

	#sidebar-cart .address-actions {
		display: flex;
		gap: 10px;
		justify-content: flex-end;
		align-items: center;
	}

	#sidebar-cart .address-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		background: #f0f0f0;
		color: #666;
		text-decoration: none;
		transition: all 0.2s ease;
	}

	#sidebar-cart .address-actions a .material-icons {
		font-size: 18px;
		color: #666 !important;
	}

	#sidebar-cart .address-actions a:hover {
		background: var(--primary-color);
	}

	#sidebar-cart .address-actions a:hover .material-icons {
		color: #fff !important;
	}

	/* Selettore indirizzi (dropdown) */
	.shipping-address-selector {
		margin-top: 10px;
		background: #fff;
		border-radius: 8px;
		border: 1px solid #e0e0e0;
		overflow: hidden;
	}

	.address-selector-list {
		max-height: 200px;
		overflow-y: auto;
	}

	.address-selector-item {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px;
		cursor: pointer;
		transition: background 0.2s ease;
		border-bottom: 1px solid #f0f0f0;
	}

	.address-selector-item:last-child {
		border-bottom: none;
	}

	.address-selector-item:hover {
		background: #f5f5f5;
	}

	.address-selector-item.selected {
		background: color-mix(in srgb, var(--primary-color) 10%, transparent);
	}

	.selector-radio {
		width: 18px;
		height: 18px;
		border: 2px solid #ccc;
		border-radius: 50%;
		flex-shrink: 0;
		position: relative;
	}

	.address-selector-item.selected .selector-radio {
		border-color: var(--primary-color);
	}

	.address-selector-item.selected .selector-radio::after {
		content: '';
		position: absolute;
		top: 3px;
		left: 3px;
		right: 3px;
		bottom: 3px;
		background: var(--primary-color);
		border-radius: 50%;
	}

	.selector-content {
		display: flex;
		flex-direction: column;
		gap: 2px;
		flex: 1;
	}

	.selector-label {
		font-size: 13px;
		font-weight: 600;
		color: #333;
	}

	.selector-address {
		font-size: 12px;
		color: #666;
	}

	.btn-add-new-address {
		display: block;
		padding: 12px;
		text-align: center;
		font-size: 13px;
		color: var(--primary-color);
		border-top: 1px solid #e0e0e0;
	}

	.btn-add-new-address:hover {
		background: #f5f5f5;
	}

	/* Form inline per nuovo indirizzo */
	.shipping-address-form-inline,
	.shipping-address-edit-form {
		padding: 5px 0 0 0;
	}

	.shipping-address-form-inline .form-intro {
		font-size: 13px;
		color: #666;
		margin-bottom: 12px;
	}

	.shipping-address-form-inline .form-row,
	.shipping-address-edit-form .form-row {
		margin-bottom: 8px;
	}

	.shipping-address-form-inline .form-row-2,
	.shipping-address-edit-form .form-row-2 {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.shipping-address-form-inline .form-row-3,
	.shipping-address-edit-form .form-row-3 {
		display: grid;
		grid-template-columns: 2fr 1fr 2fr;
		gap: 8px;
	}

	/* State field wrapper per gestione dinamica */
	.state-field-wrapper {
		width: 100%;
	}

	/* Stili uniformi per TUTTI gli input e select nei form */
	.shipping-address-form-inline input[type="text"],
	.shipping-address-form-inline input[type="email"],
	.shipping-address-form-inline input[type="tel"],
	.shipping-address-form-inline select,
	.shipping-address-edit-form input[type="text"],
	.shipping-address-edit-form input[type="email"],
	.shipping-address-edit-form input[type="tel"],
	.shipping-address-edit-form select,
	.state-field-wrapper select,
	.state-field-wrapper input,
	.addr-intl-country-select,
	.addr-intl-state-select,
	.addr-intl-state-input {
		width: 100%;
		padding: 10px 12px;
		background: #fff;
		border: 1px solid #e0e0e0;
		border-radius: 6px;
		font-size: 14px;
		margin-bottom: 0;
		box-sizing: border-box;
		font-family: inherit;
		color: #333;
	}

	/* Stile freccia per select */
	.shipping-address-form-inline select,
	.shipping-address-edit-form select,
	.state-field-wrapper select,
	.addr-intl-country-select,
	.addr-intl-state-select {
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 12px center;
		padding-right: 30px;
		cursor: pointer;
	}

	/* Focus state */
	.shipping-address-form-inline input:focus,
	.shipping-address-form-inline select:focus,
	.shipping-address-edit-form input:focus,
	.shipping-address-edit-form select:focus,
	.state-field-wrapper input:focus,
	.state-field-wrapper select:focus {
		border-color: var(--primary-color);
		outline: none;
	}

	/* Phone field con prefisso */
	.phone-field-wrapper {
		display: flex !important;
		flex-direction: row !important;
		gap: 8px;
		align-items: center;
		width: 100%;
	}

	.phone-prefix-select {
		width: 95px !important;
		min-width: 95px !important;
		max-width: 95px !important;
		flex: 0 0 95px !important;
		font-size: 13px;
		padding: 10px 6px !important;
		padding-right: 20px !important;
	}

	/* Row Paese + CAP */
	.shipping-address-form-inline .form-row-country-cap,
	.shipping-address-edit-form .form-row-country-cap {
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 8px;
	}

	/* Row Città + Provincia (senza CAP, ora è sopra) */
	.shipping-address-form-inline .form-row-city,
	.shipping-address-edit-form .form-row-city {
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 8px;
	}

	/* Validazione real-time */
	.field-invalid {
		border-color: #dc3545 !important;
		background-color: #fff5f5 !important;
	}

	.field-invalid::placeholder {
		color: #dc3545 !important;
	}

	.field-valid {
		border-color: #28a745 !important;
	}

	/* Auto-filled fields (from postcode lookup) */
	.field-autofilled {
		background-color: #f0fff4 !important;
		border-color: #28a745 !important;
		transition: background-color 0.3s ease;
	}

	/* Spacer tra sezioni form */
	.form-spacer {
		height: 20px;
	}

	/* Gruppo campi indirizzo - deve riempire la larghezza */
	.address-fields-group {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.address-fields-group .form-row {
		width: 100%;
		margin: 0;
	}

	/* Campi disabilitati */
	.shipping-address-form-inline input:disabled,
	.shipping-address-form-inline select:disabled,
	.shipping-address-edit-form input:disabled,
	.shipping-address-edit-form select:disabled {
		background-color: #f5f5f5 !important;
		color: #999 !important;
		cursor: not-allowed;
		opacity: 0.7;
	}

	.shipping-address-form-inline input:disabled::placeholder,
	.shipping-address-edit-form input:disabled::placeholder {
		color: #bbb !important;
	}

	/* Phone number input - DEVE essere identico agli altri input */
	.phone-number-input {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
		height: auto !important;
		padding: 10px 12px !important;
		background: #fff !important;
		border: 1px solid #e0e0e0 !important;
		border-radius: 6px !important;
		font-size: 14px !important;
		font-family: inherit !important;
		color: #333 !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		line-height: 1.4 !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		appearance: none !important;
	}

	.phone-number-input:focus {
		border-color: var(--primary-color) !important;
		outline: none !important;
	}

	.phone-number-input:disabled {
		background-color: #f5f5f5 !important;
		color: #999 !important;
		cursor: not-allowed;
		opacity: 0.7;
	}

	/* Phone prefix select - stessa altezza del phone input */
	.phone-prefix-select {
		height: auto !important;
		line-height: 1.4 !important;
	}

	.btn-save-inline-address,
	.btn-save-edit-address {
		width: 100%;
		margin-top: 10px;
		padding: 12px;
		background: var(--primary-color);
		color: #fff;
		border: none;
		border-radius: 8px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: opacity 0.2s ease;
	}

	.btn-save-inline-address:hover,
	.btn-save-edit-address:hover {
		opacity: 0.9;
	}

	/* Form buttons row (Annulla + Salva) */
	.shipping-address-edit-form .form-buttons {
		display: flex;
		gap: 10px;
		margin-top: 12px;
	}

	.shipping-address-edit-form .form-buttons .btn-cancel-edit {
		flex: 1;
		padding: 12px;
		background: #f0f0f0;
		color: #333;
		border: none;
		border-radius: 8px;
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
		transition: background 0.2s ease;
	}

	.shipping-address-edit-form .form-buttons .btn-cancel-edit:hover {
		background: #e0e0e0;
	}

	.shipping-address-edit-form .form-buttons .btn-save-edit-address {
		flex: 2;
		margin-top: 0;
	}

	/* Apple Pay button style - outline */
	.btn-apple-pay {
		background: transparent !important;
		color: #242424 !important;
		border: 1px solid #242424 !important;
	}

	.btn-apple-pay svg {
		fill: #242424;
		transition: fill 0.2s ease;
	}

	.btn-apple-pay:hover {
		background: #242424 !important;
		color: #fff !important;
		border: 1px solid #242424 !important;
	}

	.btn-apple-pay:hover svg {
		fill: #fff;
	}

	/* Highlight quando manca indirizzo */
	.cart-shipping-section.highlight-required {
		animation: pulseHighlight 0.5s ease 3;
		border: 2px solid #ff6b6b;
	}

	@keyframes pulseHighlight {
		0%, 100% { background: #f9f9f9; }
		50% { background: #ffecec; }
	}

	/* ========================================
	   SIDEBAR CONFERMA ORDINE
	   ======================================== */
	.sidebar-order-confirm {
		padding: 0;
	}

	.order-confirm-content {
		text-align: center;
		padding: 20px 0;
	}

	.order-confirm-icon {
		margin-bottom: 20px;
	}

	.order-confirm-icon .material-icons {
		font-size: 80px;
		color: #4CAF50 !important;
	}

	.order-confirm-message .order-confirm-title {
		font-size: 22px;
		font-weight: 700;
		color: #333;
		margin: 0 0 10px 0;
	}

	.order-confirm-message .order-confirm-subtitle {
		font-size: 14px;
		color: #666;
		margin: 0 0 25px 0;
	}

	.order-confirm-details {
		text-align: left;
		background: #f9f9f9;
		border-radius: 10px;
		padding: 20px;
		margin: 0;
	}

	.order-confirm-details .order-confirm-row {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 10px 0;
		border-bottom: 1px solid #eee;
	}

	.order-confirm-details .order-confirm-row:last-of-type {
		border-bottom: none;
	}

	.order-confirm-details .order-confirm-row .label {
		color: #666;
		font-size: 14px;
	}

	.order-confirm-details .order-confirm-row .value {
		color: #333;
		font-size: 14px;
		font-weight: 600;
		text-align: right;
	}

	.order-confirm-details .order-number .value {
		font-size: 16px;
		color: var(--primary-color);
	}

	.order-confirm-details .order-total {
		padding-top: 15px;
		margin-top: 5px;
		border-top: 2px solid #ddd;
	}

	.order-confirm-details .order-total .label,
	.order-confirm-details .order-total .value {
		font-size: 16px;
		font-weight: 700;
	}

	.order-confirm-details .order-address .value {
		line-height: 1.5;
	}

	.order-confirm-items {
		padding: 10px 0;
		border-bottom: 1px solid #eee;
	}

	.order-confirm-item {
		display: flex;
		align-items: center;
		padding: 8px 0;
		gap: 12px;
	}

	.order-confirm-item .item-image {
		width: 50px;
		height: 50px;
		object-fit: cover;
		border-radius: 6px;
		background: #fff;
	}

	.order-confirm-item .item-info {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.order-confirm-item .item-name {
		font-size: 14px;
		color: #333;
		font-weight: 500;
	}

	.order-confirm-item .item-qty {
		font-size: 12px;
		color: #888;
	}

	.order-confirm-item .item-total {
		font-size: 14px;
		font-weight: 600;
		color: #333;
	}

	.order-confirm-details .btn-continue-shopping {
		display: block;
		width: 100%;
		padding: 14px 40px;
		margin-top: 20px;
		background: var(--primary-color);
		color: #fff;
		border: none;
		border-radius: 25px;
		font-size: 16px;
		font-weight: 500;
		cursor: pointer;
		text-decoration: none;
		text-align: center;
	}

	.order-confirm-details .btn-continue-shopping:hover {
		opacity: 0.9;
	}

	.order-confirm-actions {
		margin-top: 25px;
		text-align: center;
	}

	.order-confirm-actions .btn-continue-shopping {
		display: inline-block;
		padding: 14px 40px;
		background: var(--primary-color);
		color: #fff;
		border: none;
		border-radius: 25px;
		font-size: 16px;
		font-weight: 500;
		cursor: pointer;
		text-decoration: none;
	}

	.order-confirm-actions .btn-continue-shopping:hover {
		opacity: 0.9;
	}

	.sidebar-user {
		padding: 0;

		.woocommerce-EditAccountForm {
			p.woocommerce-form-row {
				margin: 0;
			}

			label {
				margin: 0;
				padding: 0;
				border: none;
				font: inherit;
				font-size: inherit;
				line-height: inherit;
				font-family: inherit;
				font-family: 'Lato', sans-serif;
				font-size: 14px;
				line-height: 18px;
				color: #333;
				text-align: left;
				vertical-align: baseline;
				cursor: pointer;
				-moz-osx-font-smoothing: grayscale;
				-ms-text-size-adjust: 100%;
				-webkit-font-smoothing: antialiased;
				-webkit-tap-highlight-color: transparent;
				-webkit-text-size-adjust: 100%;
				box-sizing: border-box;
				font-synthesis: none;

				.sottotitolo {
					font: inherit;
					font-size: inherit;
					line-height: inherit;
					font-family: inherit;
					font-family: 'Lato', sans-serif;
					font-size: 14px;
					line-height: 1;
					color: #333;
					text-align: center;
					cursor: pointer;
					-webkit-text-size-adjust: 100%;
					font-synthesis: none;
					color: #b7b7b7;
					display: block;
				}
			}
		}
	}
}




/* ========================================
   FIX CART SHIPPING SECTION - FUORI NESTING
   ======================================== */
#sidebar-cart .cart-shipping-section {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
}

#sidebar-cart .cart-recap .cart-shipping-section {
	margin: 0 !important;
}

#sidebar-cart .cart-recap #shipping-address-selector {
	margin-bottom: 30px !important;
}

#sidebar-cart .address-card-mini {
	padding: 0 !important;
	border: none !important;
}

#sidebar-cart .address-label-badge {
	background-color: var(--primary-color) !important;
	color: #fff !important;
	padding: 4px 10px !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
}

/* Address row layout - tutto su una riga */
#sidebar-cart .address-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin-top: 4px !important;
}

#sidebar-cart .address-info {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex: 1 !important;
	margin: 8px 0 30px 0 !important;
	flex-wrap: wrap !important;
}

#sidebar-cart .cart-recap .address-info {
	margin: 4px 0 30px 0 !important;
}

#sidebar-cart .address-summary {
	font-size: 16px !important;
	color: #333 !important;
	border: none !important;
	padding: 0 !important;
	background: transparent !important;
}


/* Prezzo in cart-recap */
#sidebar-cart .cart-recap .woocommerce-Price-amount {
	display: inline-block !important;
	margin-top: 8px !important;
	font-size: 23px !important;
}

/* Nascondi description */
#sidebar-cart .sidebar-cart > .description {
	display: none !important;
}

/* Checkout buttons wrapper */
#sidebar-cart .checkout-wrapper.checkout-buttons-row {
	padding: 0 !important;
}

/* Sidebar header */
#sidebar-cart .sidebar-header {
	margin-bottom: 0 !important;
}

/* Cart details */
#sidebar-cart .cart-details {
	padding: 30px 20px 0 20px !important;
}

/* Coupon wrapper */
#sidebar-cart .coupon-wrapper {
	margin: 0 -20px !important;
}

#sidebar-cart .coupon-wrapper .input-text {
	width: 240px !important;
}

/* Input fields in cart-shipping-section - stesso stile di coupon_code */
#sidebar-cart .cart-shipping-section input[type="text"],
#sidebar-cart .cart-shipping-section input[type="email"],
#sidebar-cart .cart-shipping-section select {
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	background-color: #f9f9f9 !important;
	border: none !important;
	border-radius: 10px !important;
	font-family: 'Lato' !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000000 !important;
	text-align: left !important;
	box-sizing: border-box !important;
}

#sidebar-cart .cart-shipping-section input::placeholder,
#sidebar-cart .cart-shipping-section select option:first-child {
	color: #c0c0c0 !important;
	font-weight: 400 !important;
}

#sidebar-cart .cart-shipping-section input:focus,
#sidebar-cart .cart-shipping-section select:focus {
	background-color: #f9f9f9 !important;
	background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
	outline: none !important;
	border: none !important;
}

/* Phone input specifico per sidebar-cart - DEVE essere identico agli altri input */
#sidebar-cart .phone-number-input {
	width: 100% !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	background-color: #f9f9f9 !important;
	border: none !important;
	border-radius: 10px !important;
	font-family: 'Lato' !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000000 !important;
	text-align: left !important;
	box-sizing: border-box !important;
	height: auto !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

#sidebar-cart .phone-number-input::placeholder {
	color: #c0c0c0 !important;
	font-weight: 400 !important;
}

#sidebar-cart .phone-number-input:focus {
	background-color: #f9f9f9 !important;
	background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
	outline: none !important;
	border: none !important;
}

#sidebar-cart .phone-number-input:disabled {
	background-color: #f5f5f5 !important;
	color: #999 !important;
	cursor: not-allowed;
	opacity: 0.7;
}

/* Phone prefix select per sidebar-cart */
#sidebar-cart .phone-prefix-select {
	flex: 0 0 95px !important;
	width: 95px !important;
	min-width: 95px !important;
	max-width: 95px !important;
	padding: 10px 8px !important;
	background-color: #f9f9f9 !important;
	border: none !important;
	border-radius: 10px !important;
	font-family: 'Lato' !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000000 !important;
	box-sizing: border-box !important;
}

#sidebar-cart #shipping-address-selector.visible {
	margin-top: 0 !important;
}

/* Cart address info */
#sidebar-cart .address-info {
	margin: 4px 0 28px 0 !important;
	gap: 2px !important;
}

/* Cart address selector instructions */
#sidebar-cart .cart-address-selector .address-instructions {
	margin: 0 0 5px 0 !important;
}

/* Form inline per nuovo indirizzo */
#sidebar-cart .shipping-address-form-inline {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding-top: 30px;
}

#sidebar-cart .shipping-address-form-inline .form-intro {
	width: 100%;
	font-size: 16px !important;
	color: #333 !important;
}

#sidebar-cart .shipping-address-form-inline .form-row {
	width: 100%;
}

#sidebar-cart .shipping-address-form-inline .form-buttons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
}

/* Stile uniforme per Cancel e Salva nel form inline */
#sidebar-cart .shipping-address-form-inline .form-buttons button {
	flex: none !important;
	width: auto !important;
	height: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px 24px !important;
	border: none !important;
	border-radius: 25px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	cursor: pointer !important;
	margin: 0 !important;
}

#sidebar-cart .shipping-address-form-inline .btn-save-inline-address {
	background-color: var(--primary-color) !important;
	color: #ffffff !important;
}

#sidebar-cart .shipping-address-form-inline .btn-cancel-inline-address {
	background-color: #f6f6f6 !important;
	color: #333 !important;
}

/* Bottoni Salva e Annulla - stesso stile di buttonrounded */
#sidebar-cart .cart-shipping-section .btn-save-edit-address,
#sidebar-cart .cart-shipping-section .btn-save-inline-address,
#sidebar-cart .cart-shipping-section .btn-cancel-edit,
#sidebar-cart .cart-shipping-section .btn-cancel-inline-address {
	flex: none !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px 24px !important;
	background-color: var(--primary-color) !important;
	border: none !important;
	border-radius: 25px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #ffffff !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
}

#sidebar-cart .cart-shipping-section .btn-cancel-edit,
#sidebar-cart .cart-shipping-section .btn-cancel-inline-address {
	background-color: #f6f6f6 !important;
	color: #333 !important;
}

#sidebar-cart .cart-shipping-section .btn-cancel-inline-address:hover {
	background-color: #e8e8e8 !important;
}

#sidebar-cart .cart-shipping-section .btn-save-edit-address:hover,
#sidebar-cart .cart-shipping-section .btn-save-inline-address:hover {
	background-color: color-mix(in srgb, var(--primary-color) 85%, black) !important;
}

#sidebar-cart .cart-shipping-section .btn-cancel-edit:hover {
	background-color: #e8e8e8 !important;
}

#sidebar-cart .cart-shipping-section .form-buttons {
	justify-content: end !important;
	gap: 10px !important;
	margin-top: 15px !important;
	margin-bottom: 0 !important;
}

#sidebar-cart .cart-shipping-section .form-buttons.visible {
	display: flex !important;
}

/* Nascondi btn-edit-address-inline */
#sidebar-cart #btn-edit-address-inline {
	display: none !important;
}

/* Address info cliccabile */
#sidebar-cart .address-info {
	cursor: pointer !important;
}

/* Icona edit hint piccola e grigia */
#sidebar-cart .address-edit-hint {
	font-size: 14px !important;
	color: #999 !important;
}

#sidebar-cart .address-summary .address-label-badge {
	position: relative !important;
	top: 1px !important;
	margin-right: -6px !important;
}

#sidebar-cart .address-details-inline {
	margin-left: -4px !important;
}

/* Form edit indirizzo */
#sidebar-cart #shipping-address-edit-form {
	position: relative !important;
	padding-top: 0 !important;
}

/* Istruzioni dinamiche */
#sidebar-cart .address-instructions {
	font-size: 14px !important;
	color: #666 !important;
	margin: 0 0 15px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	opacity: 1 !important;
	transition: opacity 0.2s ease !important;
}

#sidebar-cart .address-instructions a {
	color: var(--primary-color) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

#sidebar-cart .address-instructions a:hover {
	text-decoration: underline !important;
}

/* Transizioni smooth per elementi */
#sidebar-cart #shipping-address-selector,
#sidebar-cart .form-row,
#sidebar-cart .cart-recap .checkout-buttons-row {
	transition: opacity 0.25s ease, transform 0.25s ease !important;
}

#sidebar-cart .cart-recap .checkout-buttons-row.hidden {
	opacity: 0 !important;
	pointer-events: none !important;
	transform: translateY(-10px) !important;
}

#sidebar-cart #shipping-address-edit-form #btn-create-new-address .material-icons,
#sidebar-cart #shipping-address-edit-form #btn-show-address-list .material-icons {
	font-size: 18px !important;
	color: #ffffff !important;
}

/* Selettore indirizzi dentro il form */
#sidebar-cart #shipping-address-selector {
	margin-bottom: 85px !important;
	flex-direction: column !important;
	gap: 8px !important;
	border: none !important;
	display: none !important;
}

#sidebar-cart #shipping-address-selector.visible {
	display: flex !important;
}

#sidebar-cart .address-selector-item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	border-bottom: none !important;
	cursor: pointer !important;
	transition: color 0.2s ease !important;
}

#sidebar-cart .address-selector-item:hover {
	color: var(--primary-color) !important;
}

#sidebar-cart .address-selector-item.selected {
}

#sidebar-cart .address-selector-item .selector-radio {
	width: 16px !important;
	height: 16px !important;
	border: 2px solid #ccc !important;
	border-radius: 50% !important;
	flex-shrink: 0 !important;
	position: relative !important;
	transition: border-color 0.2s ease !important;
}

#sidebar-cart .address-selector-item.selected .selector-radio {
	border-color: var(--primary-color) !important;
}

#sidebar-cart .address-selector-item.selected .selector-radio::after {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 8px !important;
	height: 8px !important;
	background: var(--primary-color) !important;
	border-radius: 50% !important;
}

#sidebar-cart .address-selector-item .address-label-badge {
	transform: scale(80%) !important;
	transform-origin: left center !important;
}

#sidebar-cart .address-selector-item .address-summary {
	font-size: 14px !important;
	color: #333 !important;
}

#sidebar-cart .address-summary .separator {
	color: #bbb !important;
	margin: 0 2px !important;
}

#sidebar-cart .shipping-address-display .description {
	font-size: 12px !important;
	color: #666 !important;
	margin-top: 8px !important;
}

#sidebar-cart .address-actions {
	display: flex !important;
	gap: 10px !important;
	justify-content: flex-end !important;
}

#sidebar-cart .address-actions a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: #f0f0f0 !important;
}

#sidebar-cart .address-actions a .material-icons {
	font-size: 18px !important;
	color: #666 !important;
}

#sidebar-cart .address-actions a:hover {
	background: var(--primary-color) !important;
}

#sidebar-cart .address-actions a:hover .material-icons {
	color: #fff !important;
}

/* Nascondi bottone WooCommerce originale */
#sidebar-cart .wc-proceed-to-checkout {
	display: none !important;
}

/* Bottoni checkout in fondo - rimuovi padding top */
#sidebar-cart .checkout-buttons-row.checkout-bottom {
	padding-top: 0 !important;
}

/* ========================================
   SIDEBAR ADDRESSES
   ======================================== */

/* Header */
#sidebar-addresses .sidebar-header {
	margin-bottom: 0 !important;
}

#sidebar-addresses .fs-menu-mobile-header-subtitle {
	margin-bottom: 40px !important;
}

/* Container */
#sidebar-addresses .addresses-container {
	padding: 0 !important;
}

/* Istruzioni dinamiche - stesse del cart */
#sidebar-addresses .address-instructions-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 15px 0;
	padding: 0;
}

#sidebar-addresses .address-instructions {
	font-size: 14px !important;
	color: #666 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

#sidebar-addresses .address-instructions a {
	color: var(--primary-color) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

#sidebar-addresses .address-instructions a:hover {
	text-decoration: underline !important;
}

#sidebar-addresses .btn-add-address {
	display: inline-flex;
	align-items: center;
	gap: 0;
	color: var(--primary-color);
	font-size: 0;
	text-decoration: none;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

#sidebar-addresses .btn-add-address:hover {
	opacity: 0.7;
}

#sidebar-addresses .btn-add-address .add-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--primary-color);
	color: #fff;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

/* Lista indirizzi - stesso stile del cart selector */
#sidebar-addresses .addresses-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 20px;
}

#sidebar-addresses .address-card {
	display: flex;
	flex-direction: column;
	padding: 20px;
	margin-bottom: 10px;
	background: #fafafa;
	border: none;
	cursor: pointer;
	position: relative;
}

#sidebar-addresses .address-card.is-default {
	background: color-mix(in srgb, var(--primary-color) 5%, transparent);
}

#sidebar-addresses .address-card-header {
	position: absolute;
	top: 20px;
	right: 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}

#sidebar-addresses .address-label-badge {
	display: inline-block;
	background-color: var(--primary-color);
	color: #fff;
	padding: 4px 10px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	transform: scale(80%);
	transform-origin: right center;
}

#sidebar-addresses .badge-default {
	display: inline-block;
	background-color: transparent;
	color: #333;
	padding: 2px 6px;
	border: 1px solid #333;
	border-radius: 5px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transform: scale(80%);
	transform-origin: right center;
}

#sidebar-addresses .address-card-body {
	font-size: 16px;
	color: #333;
	line-height: 1.4;
	margin-bottom: 8px;
}

#sidebar-addresses .address-card-body .address-name {
	font-weight: 600;
}

#sidebar-addresses .address-card-body .address-company {
	color: #666;
	font-style: italic;
}

#sidebar-addresses .address-card-body .address-street,
#sidebar-addresses .address-card-body .address-city,
#sidebar-addresses .address-card-body .address-country,
#sidebar-addresses .address-card-body .address-phone {
	color: #555;
}

#sidebar-addresses .address-card-actions {
	display: flex;
	align-items: center;
	gap: 0;
	font-size: 13px;
	padding-top: 0;
	border-top: none;
}

#sidebar-addresses .address-card-actions a {
	color: var(--primary-color) !important;
	text-decoration: none;
	font-weight: 500;
	transition: opacity 0.2s ease;
}

#sidebar-addresses .address-card-actions a:hover {
	opacity: 0.7;
}

#sidebar-addresses .address-card-actions .separator {
	color: #ccc;
	margin: 0 8px;
}

/* Form modifica indirizzo - stesso stile del cart */
#sidebar-addresses .cart-shipping-section {
	margin: 0;
	padding: 0;
	background: transparent;
}

#sidebar-addresses .shipping-address-edit-form {
	position: relative !important;
	padding-top: 0 !important;
	margin-top: 15px;
}

#sidebar-addresses .shipping-address-edit-form .form-row {
	margin-bottom: 10px;
}

#sidebar-addresses .shipping-address-edit-form .form-row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

#sidebar-addresses .shipping-address-edit-form .form-row-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
}

/* Input fields - stesso stile del cart */
#sidebar-addresses .shipping-address-edit-form input[type="text"],
#sidebar-addresses .shipping-address-edit-form input[type="email"],
#sidebar-addresses .shipping-address-edit-form input[type="tel"],
#sidebar-addresses .shipping-address-edit-form select {
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	background-color: #f9f9f9 !important;
	border: none !important;
	border-radius: 10px !important;
	font-family: 'Lato' !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000000 !important;
	text-align: left !important;
	box-sizing: border-box !important;
}

#sidebar-addresses .shipping-address-edit-form input::placeholder,
#sidebar-addresses .shipping-address-edit-form select option:first-child {
	color: #c0c0c0 !important;
	font-weight: 400 !important;
}

#sidebar-addresses .shipping-address-edit-form input:focus,
#sidebar-addresses .shipping-address-edit-form select:focus {
	background-color: #f9f9f9 !important;
	background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
	outline: none !important;
	border: none !important;
}

/* Phone input specifico per sidebar-addresses - DEVE essere identico agli altri input */
#sidebar-addresses .phone-number-input {
	width: 100% !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	background-color: #f9f9f9 !important;
	border: none !important;
	border-radius: 10px !important;
	font-family: 'Lato' !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000000 !important;
	text-align: left !important;
	box-sizing: border-box !important;
	height: auto !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

#sidebar-addresses .phone-number-input::placeholder {
	color: #c0c0c0 !important;
	font-weight: 400 !important;
}

#sidebar-addresses .phone-number-input:focus {
	background-color: #f9f9f9 !important;
	background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
	outline: none !important;
	border: none !important;
}

#sidebar-addresses .phone-number-input:disabled {
	background-color: #f5f5f5 !important;
	color: #999 !important;
	cursor: not-allowed;
	opacity: 0.7;
}

/* Phone prefix select per sidebar-addresses */
#sidebar-addresses .phone-prefix-select {
	flex: 0 0 95px !important;
	width: 95px !important;
	min-width: 95px !important;
	max-width: 95px !important;
	padding: 10px 8px !important;
	background-color: #f9f9f9 !important;
	border: none !important;
	border-radius: 10px !important;
	font-family: 'Lato' !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: #000000 !important;
	box-sizing: border-box !important;
}

/* Bottoni form - stesso stile del cart */
#sidebar-addresses .shipping-address-edit-form .form-buttons {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 15px;
	margin-bottom: 80px;
}

#sidebar-addresses .shipping-address-edit-form .btn-cancel-edit,
#sidebar-addresses .shipping-address-edit-form .btn-save-edit-address {
	flex: none !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 12px 24px !important;
	border: none !important;
	border-radius: 25px !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
}

#sidebar-addresses .shipping-address-edit-form .btn-cancel-edit {
	background-color: #f6f6f6 !important;
	color: #333 !important;
}

#sidebar-addresses .shipping-address-edit-form .btn-cancel-edit:hover {
	background-color: #e8e8e8 !important;
}

#sidebar-addresses .shipping-address-edit-form .btn-save-edit-address {
	background-color: var(--primary-color) !important;
	color: #fff !important;
}

#sidebar-addresses .shipping-address-edit-form .btn-save-edit-address:hover {
	background-color: color-mix(in srgb, var(--primary-color) 85%, black) !important;
}

/* Transizioni smooth */
#sidebar-addresses .addresses-list,
#sidebar-addresses .shipping-address-edit-form {
	transition: opacity 0.25s ease, transform 0.25s ease;
}

#sidebar-addresses .addresses-list.hidden {
	display: none !important;
}

/* ===== SIGNUP FORM (Easy Login plugin overrides) ===== */
/* Stile identico a .woocommerce-EditAccountForm in .sidebar-user */

#sidebar-signup .xoo-el-section {
	padding-left: 0 !important;
}

#sidebar-signup .xoo-el-form-container {
	text-align: left;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#sidebar-signup .xoo-el-action-form {
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
}

#sidebar-signup .xoo-el-sing-fields,
#sidebar-signup .xoo-el-fields-cont,
#sidebar-signup .xoo-el-fields {
	margin: 0 !important;
	padding: 0 !important;
}

/* Tutte le label: stesso stile di .woocommerce-EditAccountForm label */
#sidebar-signup label {
	margin: 0;
	padding: 0;
	border: none;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: normal;
	line-height: 18px;
	color: #333;
	text-align: left;
	vertical-align: baseline;
	cursor: pointer;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

/* Blocchi p con label+input: stesse distanze di form-edit-account */
#sidebar-signup .woocommerce-form-row {
	margin: 0 0 8px 0;
	padding: 0;
}

/* Plugin field groups: base */
#sidebar-signup .xoo-aff-group {
	width: 100% !important;
	float: none !important;
}

/* Single/Login/Lostpw/Resetpw: margine gestito da .woocommerce-form-row */
#sidebar-signup .xoo-el-section[data-section="single"] .xoo-aff-group,
#sidebar-signup .xoo-el-section[data-section="login"] .xoo-aff-group,
#sidebar-signup .xoo-el-section[data-section="lostpw"] .xoo-aff-group,
#sidebar-signup .xoo-el-section[data-section="resetpw"] .xoo-aff-group {
	margin-bottom: 0 !important;
}

/* Register: spacing identico a .woocommerce-EditAccountForm p */
#sidebar-signup .xoo-el-section[data-section="register"] .xoo-aff-group {
	margin-bottom: 15px !important;
}

/* Input group reset solo nelle sezioni con template override (non register) */
#sidebar-signup .xoo-el-section[data-section="single"] .xoo-aff-input-group,
#sidebar-signup .xoo-el-section[data-section="login"] .xoo-aff-input-group,
#sidebar-signup .xoo-el-section[data-section="lostpw"] .xoo-aff-input-group,
#sidebar-signup .xoo-el-section[data-section="resetpw"] .xoo-aff-input-group {
	margin: 0;
	padding: 0;
}

/* Remember me row */
#sidebar-signup .xoo-el-login-btm-fields {
	margin: 8px 0 !important;
	padding: 0 !important;
}

/* Bottone single: a sinistra, larghezza auto */
#sidebar-signup .xoo-el-form-container button.button.btn.xoo-el-action-btn {
	width: auto !important;
	display: inline-block !important;
	margin: 10px 0 !important;
}

/* Bottone login: a destra */
#sidebar-signup .xoo-el-login-submit {
	text-align: right;
	margin: 0;
}

/* Bottone registrazione: a destra */
#sidebar-signup .xoo-el-register-submit {
	text-align: right;
	margin: 0;
}

/* Plugin-generated label (.xoo-aff-label): stesso stile delle altre label */
#sidebar-signup .xoo-aff-label {
	display: block;
	margin: 0 0 2px 0;
	padding: 0;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: normal;
	line-height: 18px;
	color: #333;
}

/* Bottone lost password: a destra */
#sidebar-signup .xoo-el-lostpw-submit {
	text-align: right;
	margin: 0;
}

/* Carrello guest: nascondi address-info, selettore e form inline */
body:not(.logged-in) #cart-address-info,
body:not(.logged-in) #cart-address-selector,
body:not(.logged-in) #cart-shipping-section-inline {
	display: none !important;
}

/* Override universale: tutti gli input nella sidebar hanno stesso stile */
#sidebar-signup input[type="text"],
#sidebar-signup input[type="password"],
#sidebar-signup input[type="email"],
#sidebar-signup input[type="tel"],
#sidebar-signup input[type="number"],
#sidebar-signup select {
	color: #000 !important;
	font-weight: 400 !important;
	background-color: #f5f5f5 !important;
	border: none !important;
	border-radius: 10px !important;
}

/* Testo introduttivo lost password */
#sidebar-signup .xoo-el-form-txt {
	display: block;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	line-height: 18px;
	color: #333;
	margin: 0 0 15px 0;
	padding: 0;
}

/* Lost password section: stesse regole dei form */
#sidebar-signup .xoo-el-section[data-section="lostpw"] .xoo-el-fields {
	margin: 0 !important;
	padding: 0 !important;
}

/* ===== NOTICE (successo/errore/warning) ===== */

#sidebar-signup .xoo-el-notice {
	width: 100% !important;
}

/* Nasconde warning inutile al login */
#sidebar-signup .xoo-el-notice-warning {
	display: none !important;
}

#sidebar-signup .xoo-el-notice-error {
	border-radius: 14px;
	padding: 10px 20px;
}

#sidebar-signup .xoo-el-notice-success {
	background-color: transparent;
	padding: 0;
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 600;
	color: #333;
}

/* Email fields: sempre minuscolo */
#sidebar-signup input[name="xoo-el-sing-user"],
#sidebar-signup input[name="xoo-el-username"],
#sidebar-signup input[name="user_login"] {
	text-transform: lowercase;
}

/* Messaggio WooCommerce dentro notice: stile pulito */
#sidebar-signup .xoo-el-notice .woocommerce-message {
	margin: 0;
	background-color: transparent;
	border: none;
	font-size: 18px;
	padding: 10px 0;
	line-height: 1.2;
	font-weight: 600;
}

/* Nasconde ::before di woocommerce-message dentro notice */
#sidebar-signup .xoo-el-notice .woocommerce-message::before {
	display: none;
}

/* Testo dentro notice: reset margini e font-weight */
#sidebar-signup .xoo-el-notice p,
#sidebar-signup .xoo-el-notice blockquote,
#sidebar-signup .xoo-el-notice pre,
#sidebar-signup .xoo-el-notice address {
	margin: 0;
	padding: 0;
	color: black;
	font-weight: normal;
}

/* Reset password section */
#sidebar-signup .xoo-el-section[data-section="resetpw"] .xoo-el-fields {
	margin: 0 !important;
	padding: 0 !important;
}

#sidebar-signup .xoo-el-resetpw-submit {
	text-align: right;
	margin: 0;
}

/* Login button inside reset password success notice */
#sidebar-signup .xoo-el-resetpw-login-action {
	text-align: right;
	margin: 10px 0 0 0;
	padding: 0;
}

/* === Responsive ≤530px: cart & wishlist product-preview + form stacking === */
@media (max-width: 530px) {
	/* Cart product-preview: QTY e SIZE affiancati in basso a sinistra */
	.sidebar-main .sidebar-content .sidebar-cart .product .product-preview {
		height: 180px !important;
		flex-direction: row !important;
		align-items: flex-end !important;
		justify-content: flex-start !important;
		padding: 0 0 10px 10px;
	}
	.sidebar-main .sidebar-content .sidebar-cart .product .product-preview .box {
		margin: 0 10px 0 0 !important;
	}

	/* Wishlist standalone */
	.sidebar-main .sidebar-content .sidebar-wishlist .wishlist-products .product.wishlist-item .product-preview {
		height: 165px !important;
		flex-direction: row !important;
		align-items: flex-end !important;
		justify-content: flex-start !important;
		padding: 0 0 10px 15px;
		background-size: 600px !important;
	}
	.sidebar-main .sidebar-content .sidebar-wishlist .wishlist-products .product.wishlist-item .product-preview .box {
		margin: 0 10px 0 0 !important;
	}

	/* Wishlist inside cart */
	.sidebar-main .sidebar-content .cart-wishlist-section .sidebar-wishlist .product.wishlist-item .product-preview {
		height: 165px !important;
		flex-direction: row !important;
		align-items: flex-end !important;
		justify-content: flex-start !important;
		padding: 0 0 10px 15px;
	}

	/* Orders & order-confirm: product-wrapper responsive stacking */
	.sidebar-orders .product-wrapper {
		height: 180px !important;
		flex-direction: row !important;
		align-items: flex-end !important;
		justify-content: flex-start !important;
		padding: 0 0 10px 10px;
	}
	.sidebar-orders .product-wrapper .size-box {
		margin: 0 10px 0 0 !important;
	}

	/* Form campi in colonna singola (carrello + indirizzi) */
	.shipping-address-form-inline .form-row-2,
	.shipping-address-edit-form .form-row-2 {
		grid-template-columns: 1fr !important;
	}
	.shipping-address-form-inline .form-row-3,
	.shipping-address-edit-form .form-row-3 {
		grid-template-columns: 1fr !important;
	}
}

/* Fix 68: hide sidebar background image on short viewports */
@media (max-height: 850px) {
	.sidebar-main {
		background-image: none !important;
	}
}

/* Fix 70: Safari mobile URL bar — 100dvh adapts to dynamic toolbar */
/* Fix 73: iOS 26 Safari Liquid Glass — prevent sidebar from tinting browser UI.
   Safari 26 reads ONLY background-color of position:fixed elements for UI tinting.
   NON legge background-image. Quindi:
   - background-color: transparent → Safari vede transparent, nessun tinting
   - background-image: linear-gradient(white, white) → visivamente bianco identico
   Zero modifiche a layout, padding, z-index, scroll. */
@media (max-width: 799px) {
	.sidebar-main {
		height: calc(100dvh - 40px) !important;
		background-color: transparent !important;
		background-image: linear-gradient(white, white) !important;
		background-size: 100% 100% !important;
		background-position: 0 0 !important;
	}

	svg.quick {
		display: none !important;
	}
}

/* Order status badges */
.order-status-badge {
	display: inline-block;
	background-color: transparent;
	padding: 2px 6px;
	border: 1px solid #333;
	border-radius: 5px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transform: scale(80%);
	transform-origin: left center;
	margin-left: 4px;
}
.order-badge-refunded { color: #a44; border-color: #a44; }
.order-badge-partial { color: #a87c2a; border-color: #a87c2a; }
.order-badge-processing { color: #2a7ca8; border-color: #2a7ca8; }
.order-badge-cancelled { color: #888; border-color: #888; }
