/*

accent 		#92A494 	verde chiaro
main 		#4A544C 	verde scuro
text 		#707070 	grigio scruo
bgdark 		#8D8D8D 	grigio 
bg 			#eeeeee 	grigetto
bglight 	#f7f7f7 	grigio chiaro

*/

::-moz-selection {
  background-color: var(--accent);
  color:white;
  text-shadow: none;
}
::selection {
  background-color: var(--accent);
  color:white;
  text-shadow: none;
}

html {
	overflow-x:hidden;
}
body:not(.home) {
	overflow-x:hidden;
}

.stop-scroll {
	overflow: hidden !important;
}
/*
body.admin-bar header, body.admin-bar #mobile-menu { top:32px !important; }
*/
html, body {
	font-family:'DMSans';
	font-weight:400;
	color:var(--text);
	line-height:1.7;
	max-width:2560px;
	margin:0 auto;
	background-color:white;
	min-height:100%;
}

cite {
	display:inline-block;
	color:var(--main);
	font-size:40px;
	text-align:center;
	font-family:'EBGaramond', Arial;
	font-style:normal;
	padding:10px;
	line-height:1;
	margin:30px 0;
}

hr {
	display:inline-block;
	border:none;
	height:0.375rem;
	width:5rem;
	background-color:var(--accent);
	margin:2rem 0;
}

a {
	text-decoration:none;
	transition:all 0.3s ease;
	color:var(--main);
}
a:hover { color:var(--accent); }

b, strong { font-weight:700; }

.bg-accent { background-color:var(--accent) !important;	}
.bg-main { background-color:var(--main) !important;	}
.accent { color:var(--accent) !important; }
.main { color:var(--main) !important; }

.text-align-left { text-align:left !important; }
.text-align-right { text-align:right !important; }
.text-align-center { text-align:center !important; }
.text-align-justify { text-align:justify !important; }

.mb-0 {
	margin-bottom:0 !important;
}

body {
	color:var(--text);
}
input,textarea,select,option,i,em {
	color:var(--text);
	line-height:1.5;
}

img {
	width:100%;
	height:auto;
}

.wrapper {
	margin: 0 auto;
	width: min(92vw, var(--wrapper));
	padding: 0 4vw;
	box-sizing: content-box;
}

h1, h2 {
	font-size:clamp(2rem, 2.813rem, 4vw);
	color:var(--main);
	font-weight:700;
	line-height:1.1;
}
h3 {
	font-size:1.875rem;
	color:var(--main);
	font-weight:700;
	line-height:1.2;
	margin-bottom:1rem;
}
h4 {
	font-size:1.25rem;
	font-weight:700;
	line-height:1.4;
	color:var(--main);
	margin-bottom:1rem;
}

body > header {
	width:100%;
	height:6.25rem;
	z-index:9;
	transition:all 0.3s ease;
	position:absolute;
	top:0;
	left:0;
	background-color: rgba(255, 255, 255, 0.6);

	& > div {
		display:flex;
		justify-content:space-between;
		align-items:center;
		height:100%;
	}

	#logo {
		display:flex;
		justify-content:center;
		align-items:center;
		transition:all 0.3s ease;

		img {
			width:12.5rem;
		}
	}

	.sticky {
		position:fixed;
		top:0;
		left:0;
		background-color:rgba(255,255,255,1);
		box-shadow:0 0 15px 0 rgba(0,0,0,0.2);
	}

	.menu-item {
		padding:0 24px;
		position:relative;
	}
}

.header-items {
	display: flex;
	align-items: center;
	gap: 1rem;

	.carrello {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		height: 2.75rem;
		border-radius: 50%;

		i {
			color: var(--main);
			font-size: 1.15rem;
			transition: all 0.3s ease-out;
		}

		&:hover i {
			color: var(--accent);
		}

		.counter {
			position: absolute;
			top: -2px;
			right: -2px;
			min-width: 1.15rem;
			height: 1.15rem;
			padding: 0 0.25rem;
			border-radius: 999px;
			background: var(--accent);
			color: #fff;
			font-size: 0.7rem;
			font-weight: 700;
			line-height: 1.15rem;
			text-align: center;
		}
	}
}
.woocommerce-cart .carrello {
	display:none !important;
}

.page-title {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items:start;

	h1 {
		i, em {
			font-family: 'EBGaramond';
			color:var(--accent);
			font-weight:600;
			font-style: italic;
			font-size:1.2em;
			line-height:1.1;
		}
	}
}
.home .page-title {
	h1 {
		width:min(46rem, 100%);
	}

	h1, a.button {
		transform: translateX(7rem);
	}
}

.header-bg {
	position:relative;
	top:0;
	width:100%;
	background-color:var(--bglight);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	height:clamp(12rem, 28.125rem, 25vw);
	padding-top:6.25rem;
}
.home .header-bg {
	height:clamp(12rem, 43.75rem, 37vw);
	min-height:24rem;
}

.modal-content-box {
	border:3px solid var(--accent);
	border-radius:1.5rem;
	width: min(92vw, 600px) !important;

	#close-modal {
		color:var(--accent);
		&:hover {
			color:var(--main);
		}
	}
}

/* menu */
.menu {
	display:flex;
}
.menu-item 
	a {
		text-transform:uppercase;
		color:var(--main);
		display: inline-flex;
		align-items: center;
		font-weight:700;

		i, em {
			margin-left:0.35rem;
			color:var(--main);
			transition:all 0.3s ease;
		}

		&:hover,
		&:hover i,
		&:hover em {
			color:var(--accent);
		}
	}

	&.current_page_item a {
		font-weight:700;
		pointer-events:none;
	}
}

.menu .sub-menu {
    display: none;
    position: absolute;
    top: 80%;
    left: 0;
    z-index: 9;
    background: #fff;
    transition: all 0.3s ease;
    width: 280px;
    height: 0px;
    padding-bottom: 15px;
    line-height: 30px;
    padding-top: 10px;
}

.menu .menu-item:hover > .sub-menu,
.menu .menu-item .sub-menu:hover {
	display:inline-block;
}

/* mobile menu */
#nav-btn { display:none; }

.nav-btn {
	width: 48px;
	height: 48px;
	transform: rotate(0deg);
	cursor: pointer;
	border-radius: 50%;
	cursor:pointer;
	top:25px;
	right:2vw;
	position:absolute;
}
.nav-btn span {
	display: block;
	position: absolute;
	height: 2px;
	width: 50%;
	border-radius: 1px;
	opacity: 1;
	left: 12px;
	transform: rotate(0deg);
	background:var(--main);
}
.nav-btn span:nth-child(1) {
	top:14px;
	left:9px;
}
.nav-btn span:nth-child(2) {
	top:23px;
	left:9px;
}
.nav-btn span:nth-child(3) {
	top:32px;
	left:9px;
}
.nav-btn.open span { background:var(--text); }
.nav-btn.open span:nth-child(1) {
	top: 23px;
	left: 12px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav-btn.open span:nth-child(2) {
	opacity: 0;
	background:var(--text);
}
.nav-btn.open span:nth-child(3) {
	top: 23px;
	left: 12px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#mobile-menu {
	display:block;
	padding:4vw;
	position: fixed;
	right:-101%;
	top:0;
	width:100vw;
	height:100vh;
	color:var(--text);
	background:#fff;
	z-index:999999;
	overflow: hidden;
	opacity:0;
	transition:all 0.3s ease-out;
	background: url('/wp-content/uploads/2025/09/m.svg') bottom left no-repeat #fff;
  background-position-x: -6rem;
  background-size: auto 60%;

	.mob-menu-container {
		padding-inline:2vw;
	}

	&.active {
		right:0;
		opacity:1;
	}

	.menu {
		margin-top:5vh;
		display:flex;
		flex-direction:column;

		li {
			padding:10px 0;

			a {
				color:var(--text);
				font-size:1.2rem;
			}

			&.menu-item-has-children > a {
				pointer-events:none !important;
				display:inline-block;
				width:100%;
				color: var(--accent);
			}
		}

		.sub-menu {
			padding-left:1.5rem;
			border-left:2px solid var(--accent);

			li {
				padding:10px 0 0;

				&:last-child {
					padding:10px 0;
				}
			}
		}
	}

	.button {
		display:flex !important;
		justify-content:space-between;
		margin-top:0;
	}

	#logo {
		margin-top:0.6rem;
		display: inline-block;

		img { width:12.5rem !important; }
	}
}


/* main */
#content {
	padding: clamp(2rem, 5rem, 4vw) 0;
}

.button {
	display:inline-flex;
	align-items:center;
	text-align:center;
	height:2.815rem;
	padding-inline:1.7rem 0.2rem;
	border-width:0.125rem;
	border-style:solid;
	border-radius:3.125rem;
	transition:all 0.3s ease-out;
	text-transform:uppercase;
	font-weight:700;
	position:relative;
	gap:1.5rem;
	margin-top:2rem;
	font-family:'DMSans';
	font-size:1rem;
	cursor:pointer;

	i {
		height:2.165rem;
		width: 3.438rem;
		border-radius:3.125rem;
		display: flex;
		justify-content: center;
		align-items: center;
		background: var(--main);
		color: white;
		transition:all 0.3s ease-out;
	}

	&.button-default {
		color:var(--main);
		border-color:var(--main);
		background-color: white;
	}

	&.button-dark {
		color:white;
		border-color:var(--main);
		background-color: var(--main);

		i {
			color:var(--main);
			background:white;
		}
	}

	&.button-green {
		color:white;
		border-color:var(--accent);
		background-color: var(--accent);

		i {
			color:var(--accent);
			background:white;
		}
	}

	&.button-white {
		color:var(--main);
		border-color:white;
		background-color:white;

		i {
			color:white;
			background:var(--main);
		}
	}

	&:hover {
		&.button-default {
			color:white;
			background-color:var(--main);

			i {
				color:var(--main);
				background:white;
			}
		}

		&.button-green {
			color:var(--accent);
			border-color:white;
			background-color:white;

			i {
				color:white;
				background:var(--accent);
			}
		}

		&.button-dark {
			color:var(--main);
			background-color:transparent;

			i {
				color:white;
				background:var(--main);
			}
		}

		&.button-white {
			color:white;
			border-color:var(--main);
			background-color:var(--main);

			i {
				color:var(--main);
				background:white;
			}
		}

		&.hover-dark {
			color:white;
			background-color:var(--main);
			border-color:var(--main);

			i {
				color:var(--main);
				background:white;
			}
		}
	}

	&.button-full {
		width:100%;
		padding-inline: 1.7rem;
		justify-content:center;
	}

	&.no-icon {
		padding-inline: 1.7rem;
		justify-content:center;
	}
}

header .button {
	margin-top: 0;
}

/* home */
/* modifiche provvisorie x 2 materie - ripristinare la parte commentata */
.materie {
	display: grid;
	/* grid-template-columns:1fr 2fr; */
	grid-template-columns:1fr 1fr;

	.materie-content {
		padding-right:2rem;
	}

	.materie-list {
		padding-top:5rem;
		padding-left:4rem; /* da togliere */
		display:flex;
		align-items:center;
		gap:1rem;
		flex-wrap:nowrap;
		width: 100%;
	  overflow: hidden;
	  position: relative;

	  .materie-container {
			width: 100%;
			overflow: hidden;
			margin: auto;
			position: relative;
			left: 0;

			#carousel {
				position:relative;
				white-space:nowrap;

				.categoria-materia {
					height:12.5rem;
					background:url('/wp-content/uploads/2025/09/Poligono-verde.svg') center center no-repeat;
					aspect-ratio: 58 / 67;
					display:inline-flex;
					justify-content:center;
					align-items:center;
					/* margin-right:1rem; */
					margin-right:3rem;
					transition:background 0.3s ease-out;

					&.materia-disattivata {
						pointer-events:none;
						opacity:0.75;
						cursor:not-allowed;
					}

					a {
						display:inline-flex;
						flex-direction:column;
						justify-content:center;
						align-items:center;
						gap:1rem;

						h3 {
							color:white;
							font-size:1rem;
							font-weight:700;
							text-transform:uppercase;
							margin-bottom: 0;
						}

						img {
							height:3rem !important;
							display:inline-block;
							width:auto;
							filter: brightness(0) invert(1);
						}
					}

					&.light {
						background:url('/wp-content/uploads/2025/09/Poligono-bianco.svg') center center no-repeat;

						h3 {
							font-size:1rem;
							color:var(--accent);
						}

						img {
							filter:none;
						}
					}
				}

				& .categoria-materia:hover {
					background:url('/wp-content/uploads/2025/09/Poligono-dark.svg') center center no-repeat;

					&.light {
						h3 {
							color:white;
						}
						img {
							filter: brightness(0) invert(1);
						}
					}
				}
			}
	  }
	}

	&.modale-materie {
		grid-template-columns:1fr;

		.materie-list {
			padding-block:2rem 0;
			padding-right:0;
			padding-left: 0;
			justify-content:center;

			.materie-container #carousel {
      	display: flex;
				justify-content: center;
				align-items: center;
				align-content: center;
				gap: 0 1rem;
				flex-wrap: wrap;
	      
				.categoria-materia {
					height:12.5rem;
					background:url('/wp-content/uploads/2025/09/Poligono-bianco.svg') center center no-repeat;
					aspect-ratio: 58 / 67;
					display:inline-flex;
					justify-content:center;
					align-items:center;
					margin-right:0;
					transition:all 0.3s ease;
					cursor: pointer;

					&:last-child {
						transform: translateY(-2rem);
					}

					&.materia-disattivata {
						pointer-events:none;
						opacity:0.75;
						cursor:not-allowed;
					}

					a {
						display:inline-flex;
						flex-direction:column;
						justify-content:center;
						align-items:center;
						gap:1rem;

						h3 {
							color:var(--accent);
							font-size:1rem;
							font-weight:700;
							text-transform:uppercase;
							margin-bottom: 0;
							transition:all 0.3s ease;
						}

						img {
							height:3rem !important;
							display:inline-block;
							width:auto;
							filter:none !important;
							transition:filter 0.3s ease;
						}
					}

					&:hover {
						background:url('/wp-content/uploads/2025/09/Poligono-verde.svg') center center no-repeat;

						h3 {
							color:white;
						}

						img {
							filter: brightness(0) invert(1) !important;
						}
					}
				}
			}

		}
	}
}

.carousel-nav {
	a.button {
		display: inline-flex;
		justify-content:center;
		height: auto;
		padding-inline: 0;
		border: 0 none;
		margin-right:0.5rem;
		margin-top:1.5rem;

		i {
			background-color:white;
			border:0.063rem solid var(--main);
			color:var(--accent);
			transition:all 0.3s ease-out;
		}
		
		&:hover i {
			background-color:var(--main);
			color:white;
		}
	}
}

.home-divider {
	position:relative;
	margin-top:clamp(2rem, 5rem, 4vw);
	display:grid;
	grid-template-columns:3fr auto 1fr;

	div:first-child {
		background-color:var(--accent);
		border-top-right-radius:6.25rem;
	}

	div:nth-child(2) {
		padding-inline:4rem;
		min-width:40rem;
		max-width:40rem;
	}

	div:last-child {
		background-color:var(--bg);
		border-bottom-left-radius:6.25rem;
	}

	.button {
		margin-top:2rem;
	}
}

/* fascia esagoni 4 step */
.steps-container {
	margin-block:clamp(2rem, 5rem, 4vw);
	background: url('/wp-content/uploads/2025/09/m.svg') top left no-repeat;
	background-position-x:-2rem;
	background-size:auto 100%;
	position:relative;

	.wrapper div:first-child {
		width:50%;
	}

	.four-steps {
		position:relative;
		height:36rem;
		display:grid;
		grid-template-columns:repeat(4, 1fr);
		padding-inline:3rem;
		max-width:1920px;

		.four-steps-line {
			position:absolute;
			top:-12rem;
			left:0;
			width:100%;
			height:100%;
			background: url('/wp-content/uploads/2025/09/linea_tratteggiata.svg') center center no-repeat;
		}

		.step {
			display:flex;
			justify-content:center;
			align-items:center;
			flex-direction:column;
			flex-wrap:nowrap;
			gap:2rem;
			font-weight: 700;
			font-size:2.813rem;

			.exagon {
				height: 12.5rem;
				aspect-ratio: 58 / 67;
				display:flex;
				justify-content:center;
				align-items:center;
				text-align:center;
				line-height:1;
				background-size:cover !important;

				&.exagon-dark {
					background: url('/wp-content/uploads/2025/09/Poligono-dark.svg') center center no-repeat;
					color:white;
				}
				&.exagon-white {
					background: url('/wp-content/uploads/2025/09/Poligono-white.svg') center center no-repeat;
					filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.2));
					color:var(--main);
				}
				&.exagon-green {
					background: url('/wp-content/uploads/2025/09/Poligono-verde.svg') center center no-repeat;
					color:var(--main);
				}
			}

			&.step1 {
				transform:translateY(7rem);
			}
			&.step2 {
				transform:translateY(-2rem);
			}
			&.step3 {
				transform:translateY(6.5rem);
			}
			&.step4 {
				transform:translateY(-15rem);
			}
		}

		.step-content {
			font-size:1rem;
			font-weight:normal;
			max-width:275px;
			min-width:275px;

			h1, h2, h3, h4 {
				font-size:1.875rem;
				line-height:1.1;
				font-weight:700;
				color:var(--main);
				margin-bottom: 1rem;
			}
		}
	}
}

@media (max-width:1680px){
	.steps-container .four-steps {
		grid-template-columns:1fr 1fr 1fr 1fr;
		gap:1rem;
		height:auto;

		.four-steps-line {
			display:none;
		}

		.step {
			&.step1 {
				transform:translateY(0rem);
			}
			&.step2 {
				transform:translateY(2rem);
			}
			&.step3 {
				transform:translateY(0rem);
			}
			&.step4 {
				transform:translateY(2rem);
			}
		}
	}
}

/* area club */
.two-third-dx {
	display:grid;
	grid-template-columns:40% auto;
	gap:2rem;

	.pros {
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-column-gap:2rem;
		grid-row-gap:4rem;
		padding-block:8rem;
		position:relative;

		.pro-img {
			position:absolute;

			&.pro-img1 {
				top:0;
				left:25%;
				transform:rotate(180deg);
				width:16rem;
				height:auto;
			}

			&.pro-img2 {
				right:-4rem;
				top:50%;
				transform: translateY(-50%);
				width:auto;
				height:12rem;
			}

			&.pro-img3 {
				bottom:0;
				left:25%;
				width:18.75rem;
				height:auto;
			}
		}

		.pro {
			padding-inline:3rem;

			h3 {
				color: var(--accent);
			}

			img {
				height:3.75rem;
				width:auto;
				margin-bottom:0.5rem;
			}
		}
	}
}

.content-testimonials {
	--gap:1rem;
	display: grid;
	grid-template-columns: 20rem auto;
	gap:var(--gap);
	margin-top: clamp(2rem, 5rem, 4vw);

	.sidebar-testimonials {
		padding: 3rem 0;
		border-top-right-radius: 6.25rem;
		background-color: var(--accent);
		color: white;
		position: relative;
		z-index:3;

		&::before {
			background-color: var(--accent);
			content: '';
			position: absolute;
			width: 50vw;
			height: 100%;
			right: 100%;
			top: 0;
		}

		.carousel-nav a.button i {
			background-color:transparent;
			border: 0.063rem solid white;
		}
	}

	.container-testimonials-wrapper {
		position:relative;
		z-index: 1;

		&::after {
			background-color:white;
			content: '';
			position: absolute;
			width: 50vw;
			height: 100%;
			left: 100%;
			top: 0;
			z-index:2;
		}
	}

	.container-testimonials {
		/*height:30rem;*/
		display: flex;
		gap:var(--gap);
		transition: transform 0.5s ease-out;
		will-change: transform;
		transform: translateX(0);
		box-sizing: border-box;

		.testimonial {
			flex: 0 0 calc((100% - (var(--gap) * 2)) / 3);
			box-sizing: border-box;
			padding:1rem 2rem 2rem;
			border-radius:1.5rem;
			background-color: var(--bg);
			transition:all 0.5s ease-out;
			display:flex;
			flex-direction:column;
			justify-content:space-between;

			.virgolette {
				i {
					font-size:2.813rem;
					font-weight:bold;
					color: var(--accent);
				}
				text-align:center;
				padding-bottom:1rem;
			}

			hr {
				margin-block:2rem 0.5rem;
			}

			h4 {
				text-transform:uppercase;
				color:var(--accent);
				font-size:1rem;
				margin:0;			
			}

			&.moveleft {
				border-top-right-radius: 6.25rem;
			}

			&.borderbot {
				border-bottom-right-radius: 6.25rem;
			}
		}
	}
}

#abbonamento {
	text-align:center;
	padding-top: clamp(3rem, 6rem, 6vw);
	padding-bottom:2rem;

	.subscription-container {
		padding-top: clamp(2rem, 5rem, 4vw);
		display:grid;
		grid-template-columns: repeat(3, min(100%, 22.5rem));
		gap:2rem;
		justify-content:center;

		.subscription {
			border-radius:1.5rem;
			padding:2rem;
			background-color:var(--main);
			color:white;
			position:relative;

			h4 {
				color:var(--accent);
				text-transform:uppercase;
			}

			img.highlight {
				position:absolute;
				top:1rem;
				right:1rem;
				width:1.25rem;
				height:auto;
			}

			ul {
				padding-left:1.5rem;
				list-style:none;

				li {
					position: relative;
					text-align:left;
					margin-bottom:0.5rem;

					&:before {
						list-style:none;
						display: inline-block;
						text-rendering: auto;
  						-webkit-font-smoothing: antialiased;
						content: "\f00c";
						font-family:"Font Awesome 7 Free";
						font-weight: 900;
						position: absolute;
						font-size:1rem;
						left:-1.5rem;
						top: 0;
					}
				}
			}

			h3 {
				color:white;
				margin-bottom:1.5rem;
			}

			.button {
				margin-top:1rem;
				background-color: var(--accent);
				color:white;
				border-color:var(--accent);

				&:hover {
					border-color:white;
					color:var(--accent);
					background-color:white;
				}
			}

			&:nth-child(even) {
				background-color:var(--bg);
				color:var(--main);

				h3 {
					color:var(--accent);
				}

				h4 {
					color:var(--main);
				}
			}

			.price {
				padding-block:2rem;
				
				span {
					font-size: 2.813rem;
					font-weight:700;
					line-height:0.8;
				}

				small {
					display:inline-block;
					width:100%;
					font-size:0.8rem;
					text-align:center;
				}
			}

		}
	}
}

/* metodo meliores */
.meliores-3-col {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:4rem;
}

.meliores-2-col {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:5rem;
	margin-top:clamp(2rem, 5rem, 4vw);

	.meliores-col2 {
		background-color:var(--accent);
		position:relative;
		padding:4rem 0 4rem 4rem;
		color:white;
		border-top-left-radius:6.25rem;

		&::before {
			background-color: var(--accent);
			content: '';
			position: absolute;
			width: 50vw;
			height: 100%;
			left: 100%;
			top: 0;
		}

		h2 {
			color:white;
			margin-bottom:2rem;
		}

		.button {
			margin-top:2rem;

			&:hover {
				background-color: white;
				color: var(--main);
				border-color: white;
			}
		}
	}
}

.hover-dark .button:hover {
	background-color: var(--main);
	color:white;
	border-color:var(--main);
}


/* risorse */
.page-template-risorse-page #content { padding-bottom:0; }
.intro-risorse {
	display:flex;
	gap:clamp(2rem, 5rem, 4vw);
	flex-wrap:nowrap;

	& > div:first-child {
		width:33%;
		flex-shrink:0;
	}
}
.content-risorse {
	display:grid;
	grid-template-columns:20rem auto;
	gap:clamp(2rem, 5rem, 4vw);
	margin-top:clamp(2rem, 5rem, 4vw);
	
	.sidebar-risorse {
		padding:3rem 0;
		border-top-right-radius:6.25rem;
		background-color:var(--accent);
		color:white;
		position:relative;

		&:before {
			background-color:var(--accent);
			content:'';
			position:absolute;
			width:50vw;
			height:100%;
			right:100%;
			top:0;
		}

		h3 {
			margin-bottom:2rem;
			font-size:2.5rem;
			padding-right:2rem;
		}

		div {
			display:flex;
			flex-direction:column;
			gap:1rem;

			span {
				color: white;
				font-weight:700;
				text-transform:uppercase;
				cursor:pointer;
				transition:all 0.3s ease;
				padding:0.5rem 1.5rem;
				border-radius:1.25rem;
				position:relative;

				i {
					display:none;
					position:absolute;
					top:50%;
					right:1.5rem;
					transform:translateY(-50%);
					color: white;
				}

				&:hover, &.sel {
					background-color:var(--main);
				}
				&:hover {
					background-color:var(--bgdark);
				}
				&.sel {
					pointer-events:none;

					i {
						display:inline-block;
					}
				}
			}
		}
	}

	.container-risorse {
		padding-bottom:2rem;
		transition: all 0.3s ease-out;

		.risorsa-singola {
			float:left;
			width:calc((100% / 3) - 2rem);
			margin: 0 2rem 2rem 0;
			height:auto;
			padding:1rem;
			display:flex;
			flex-direction:column;
			background-color: var(--bg);
			box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
			border-radius:1.5rem;

			&:last-child {
				margin-right: 0;
			}

			& > div {
				display:flex;
				flex-wrap:nowrap;
				justify-content:space-between;
				gap:1rem;
				margin-bottom:1rem;

				span {
					display:flex;
					justify-content:center;
					align-items:center;
					text-align:center;
					align-content:center;
					height:4rem;
          background: url('/wp-content/uploads/2025/09/Poligono-verde.svg') center center no-repeat;
          background-size:100% 100%;
          aspect-ratio: 58 / 67;

					img {
						height:1.5rem;
						width:auto;
						filter: brightness(0) invert(1);
					}
				}
			}

			hr {
				margin-block:1rem;
			}

			h3 {
				font-size:1.25rem;
				color: var(--accent);
				text-transform:uppercase;
				margin-bottom: 0;
			}

			.price-line {
				del, ins {
					display:inline-block;
				}
				del {
					color:var(--accent);

					.amount {
						font-size:1rem;
						color:var(--text);
					}
				}
				ins {
					text-decoration:none;
				}
			}
			.amount {
				font-size:1.25rem;
				font-weight:700;
				color:var(--main);
			}

			.go-buy {
				display: flex;
				justify-content: space-between;
				gap: 1rem;
				text-transform:uppercase;
				margin-top:0.7rem;
				font-weight:700;

				.separatore {
					height:1.4rem;
					width:0.25rem;
					background-color:var(--accent);
				}
			}

			&.gratis {
				background-color:var(--accent);
				color:white;

				hr, .separatore {
					background-color: white;
				}

				h3, .amount {
					color: white;
				}
				.go-buy a { 
					color: white;

					&:hover {
						color: var(--main);
					}
				}
			}

			.woocommerce-price-suffix {
				display: none;
			}

		}
	}
}

/* contatti */
.grid-3 {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:3rem;
	margin-bottom:clamp(2rem, 5rem, 4vw);

	div {
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
		text-align:center;
		gap:0.5rem;
		padding:2rem;
		border-radius:1.563rem;
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.25);
		background-color: var(--bglight);

		i {
			color:var(--main);
			font-size:2.5rem;
		}

		h4 {
			margin-bottom:0.5rem;
		}

		a {
			font-size:1.875rem;
			font-weight:700;
			text-transform: lowercase;
			color:var(--accent);
			line-height:1;
		}
	}
}
.grid-2 {
	display:grid;
	grid-template-columns:2fr 1fr;
	gap:3rem;
}


/************************************
	*
	*** 	FORM STYLES
	*
*************************************/
::placeholder {
	opacity: 1;
	color:var(--text);
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/*
input[type="number"] {
    appearance: textfield !important;
}*/
input, select, textarea, label {
	font-family:'DMSans';

	&:focus-visible {
		outline:none;
		border:0 none;
	}
}
option {
	font-family:'Verdana';
	font-size:0.8rem;
	cursor:pointer;

	&:first-child {
		display:none;
	}
}
input:not([type="file"], [type="checkbox"], [type="radio"]), select, textarea {
	border:0.125rem solid var(--accent);
	border-radius:2rem;
	padding:0.7rem 1rem;
	background-color:white;
	display:inline-block;
	width:100%;
	font-size:1rem;
	color:var(--main);
	transition:all 0.3s ease;

	&:focus {
		border-color:var(--main);
	}
}
select {
	cursor:pointer;
	color:var(--text);

	&.valid {
		color:var(--main);
	}
}
input[type="radio"], 
input[type="checkbox"] {
	cursor: pointer;
	accent-color: var(--main);
}
input:not([type="radio"], [type="checkbox"]),
textarea {
	caret-color:var(--main);

	&:focus {
		border:0.125rem solid var(--main) !important;
	}
}
input[type="checkbox"] {
	/*clip-path: circle(50%);*/
}

.req {
	color:red;
	font-weight:bold;
}

.mel-form {
	small {
		font-size:0.9rem;
	}

	p.label {
		position:relative;
		z-index:3;
		margin-bottom:0;

		span.field-label {
			position: absolute;
			z-index: 4;
			top: 50%;
			transform: translateY(-50%);
			left: 1rem;
			background-color:white;
			line-height:1;
			padding:0 0.3rem;
			transition:all 0.1s ease-out;

			i {
				color:red;
				font-size:0.5rem;
				vertical-align:text-top;
			}

			&.focused {
				top:0.45rem;
			}
		}
	}

	input.wpcf7-submit {
		cursor:pointer;
		text-transform:uppercase;
		border-color:var(--text);
		color:var(--text);
		font-weight:bold;
		width:auto;
		padding-inline:3rem 4.8rem;
	}
	.wpcf7-form-control-wrap {
		margin-block:0.5rem;
		display:inline-block;
		width:100%;
		position:relative;
	}
	.wpcf7-list-item {
		margin:0;
	}

	h4 {
		margin-bottom:0;
		&.attachment {
			margin-bottom:-0.5rem;
		}
	}

	.form-submit {
		text-align:center;

		.submit-button {
			position:relative;
			display:inline-block;
			width:auto;

			input {
				transition:all 0.3s ease-out;
			}

			&::after {
				content: '\f061';
				font-family:var(--fa-style-family-classic);
				-webkit-font-smoothing: antialiased;
				font-style: normal;
				font-weight: 900;
				font-display: block;
				position:absolute;
				top:50%;
				transform:translateY(-50%) rotate(-45deg);
				color:var(--text);
				right:3rem;
				transition:all 0.3s ease-out;
			}
			&:hover {
				&::after {
					color:#fff;
				}

				input {
					background-color:var(--main);
					border-color: var(--main);
					color:white;
				}
			}

			.wpcf7-spinner {
				background-color:var(--accent);
				opacity:1;
				position:absolute;
				top:50%;
				transform:translateY(-50%);
				right:-5rem;
			}
		}
	}

	.wpcf7-not-valid-tip {
		position:absolute;
		top:50%;
		transform: translateY(-50%);
		font-size:0.8rem;
		right:2rem;
	}

	.wpcf7-acceptance .wpcf7-list-item {
		margin:0;
		line-height:1.3;

		label {
			display:flex;
			flex-wrap:nowrap;
			gap:0.5rem;
			align-items:start;
			align-content:start;

			input {
				flex-shrink: 1;
				margin: 0;
				margin-top:0.25rem;
			}
		}
	}

	.comm {
		font-size:0.9rem;
		line-height: 1.3;

		.wpcf7-form-control-wrap {
			margin-top:0.4rem;
			input {
				margin:0;
			}

			.last {
				margin-left:1rem;
			}
		}
	}

	.dual-field {
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:1rem;
		margin-bottom:1rem;
	}

	.req {
		color:red;
	}
}

.page-id-315 #content,
.page-id-329 #content {
	p {
		margin-bottom:1rem;
	}

	ul {
    margin-block: 1rem;
    list-style-position: inside !important;
    list-style: disc;
    padding-left: 1rem;
  }

	li {
		margin-bottom:1rem;
	}
}

/* Chrome, Edge, Safari, Opera */
.woocommerce-cart input[type="number"]::-webkit-outer-spin-button,
.woocommerce-cart input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0;
}

/* Firefox */
.woocommerce-cart input[type="number"] {
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

/* footer */
footer {
	z-index:3;
	width:100%;
	background-color:var(--lightbg);

	.footer-content {
		padding: clamp(2rem, 5rem, 4vw) 0;
		display:grid;
		grid-template-columns:1.5fr 1fr 1fr 1fr;
		gap:2rem;

		h3 {
			font-size:1rem;
			margin-bottom:1.5rem;
			margin-top:0.5rem;
		}

		img {
			max-width:12.5rem;
			margin-bottom:1.5rem;
		}

		.menu {
			display:block;
		}

		ul li {
			display:inline-block;
			width:100%;
			margin-bottom:0.5rem;

			a {
				text-transform:none;
				color: var(--text);
				font-weight:400;
			}
		}

		.footer-contact p {
			margin-bottom: 0.5rem;

			i {
				color:var(--accent);
			}
		}

		.footer-social {
			margin-top:1rem;

			a {
				margin-right:0.5rem;

				i {
					font-size:1.5rem;
					transition:all 0.3s ease-out;
					color:var(--accent);
				}

				&:hover i {
					color:var(--main);
				}
			}
		}
	}

	.greenline {
		background-color:var(--accent);
		height:3.5rem;
	}

	.footer-copyright {
		text-align:center;
		padding:1rem 0;
		color:var(--gray);
		font-size:0.8rem;

		i {
			color:var(--gray);
		}
	}
}

/**
 * 
 * account
 * 
 * */

/*
.woocommerce-account .woocommerce::after, .woocommerce-account .woocommerce::before {
	content:'';
	display:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width:auto;
}
*/

body.woocommerce-account > footer,
body.woocommerce-account > header,
body.woocommerce-account .header-bg {
	display:none !important;
}
body.woocommerce-account main.wrapper,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account main.wrapper .woocommerce {
	min-height: 100%;
}
body.woocommerce-account main.wrapper {
	width: 100%;
	padding: 0 !important;
}

.woocommerce-account .woocommerce {
	display:grid;
	grid-template-columns:23.75rem auto;
}

#account-nav-btn, .account-overlay {
	display:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	box-shadow: 5px 0px 25px #00000036;
	height: 100vh;
	z-index: 99999;
	padding:2rem 0;

	#account-nav-close {
		position: absolute;
    top: 0;
    right: 0;
    font-size: 1.5rem;
    color: var(--accent);
    transition: all 0.3s ease;
    line-height: 1;
    padding: 1rem;

		&:hover {
			color:var(--main);
		}
	}

	.button {
		width: 100%;
		justify-content:space-between;
		margin-top:0.5rem;
	}

	.user-status {
		padding-inline:2rem;

		.button {
			width:auto;
		}
		.account-home-button {
			padding-inline:0.2rem;
			margin-right:0.5rem;
		}
		.account-logout-button {
			margin-top:1rem;
			margin-bottom:2rem;
		}

		.account-logo {
			text-align:center;
			margin-bottom:2rem;
			display:flex;
			justify-content:center;

			img {
				width:min(10rem, 100%);
			}
		}
	}

	.account-nav {
		margin-bottom:3rem;

		li {
			padding-block:0.25rem;
			margin-block:0.5rem;
			padding-inline:4rem;
			text-transform:uppercase;
			transition:all 0.3s ease-out;
			cursor:pointer;

			&.is-active {
				font-weight:700;
				pointer-events:none;
				border-right:var(--accent) 0.5rem solid;

				a {
					color: var(--accent);
				}
			}

			&:hover {
				background-color:var(--bglight);
			}

			a {
				color:var(--text);

				&:hover {
					color: var(--main);
				}
			}
		}
	}

	.account-help {
		padding-inline:2rem;
	}
}

.woocommerce-MyAccount-content {
	background-color: var(--bglight);
	padding:2rem 4rem;

	h3 {
		margin-bottom:2rem;
	}

	.account-box {
		h4 {
			text-transform:uppercase;
			margin-bottom:0;
			font-size:1.25rem;

			i { 
				margin-left:1rem;
				color: var(--accent);

				&:hover {
					color: var(--main);
				}
			}
		}

		hr {
			margin-block:0.7rem 1.5rem;
		}

		& > div {
			background-color:var(--bg);
			padding:1.5rem 2rem;
			border-radius:0.5rem;
			line-height:2;
		}
	}

	.account-box:not(:last-child) {
		margin-bottom:3rem;
	}

	form > div:nth-last-of-type(2) {
		margin-bottom:0 !important;
	}
}

.personal-box > div {
	grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr)) !important;
	gap:1rem !important;
}
.password-box > div {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(26rem, 1fr));
	gap:1rem;
}

.password-input {
	position:relative;

	.show-password-input {
		position:absolute;
		right:1rem;
		top:50%;
		transform:translateY(-50%);
		height:1.5rem;
		width:1.5rem;
		border:0 none;
		background-color:transparent;
		z-index: 2;
		cursor:pointer;
	
		&:after {
			position:absolute;
			right:0;
			top:50%;
			transform:translateY(-50%);
			height:1.5rem;
			width:1.5rem;
			content:'\f06e';
			text-rendering: auto;
	  	-webkit-font-smoothing: antialiased;
			font-family:"Font Awesome 7 Free";
			font-weight: 900;
			color:var(--accent);
			z-index:1;
			display:flex;
			justify-content:center;
			align-items:center;
			transition:all 0.3s ease-out;
		}

		&:hover:after {
			color:var(--main);
		}

		&.display-password:after {
			content:'\f070';
		}
	}
}
.woocommerce-password-hint {
	line-height: 1.2rem;
	display: inline-block;
}
.woocommerce-password-strength {
	&.short,
	&.bad {
		color:red;
	}
	&.good {
		color:orange;
	}
	&.strong {
		color:green;
	}
}

.woocommerce-notices-wrapper > ul,
.woocommerce-notices-wrapper > div {
	background-color:var(--main);
	color:white;
	text-transform:uppercase;
	font-weight:700;
	padding:0.7rem 1.5rem;
	border-radius:1.5rem;
	margin-bottom:2rem;

	&:focus {
		outline:0 none;
		border:none;
	}

	&.woocommerce-error {
		background-color:#ff5400;
	}
	&.woocommerce-message {
		background-color:var(--main);
	}
}
.woocommerce-message {	
	border:0 none !important;
	display:flex;
	align-items:center;
	gap: 1rem;

	&:before {
		position:relative;
		top:auto;
		left:auto;
	}

	a {
		margin-top:0;
		padding-inline:1.7rem;
		color:white;
		border-color:white;

		&:hover {
			background-color:var(--accent);
			border-color:var(--accent);
		}
	}
}
.single-product .woocommerce-message {
	justify-content:space-between;
}

/* single product */
.single-product .product {
	display:grid;
	grid-template-columns:auto 28.125rem;
	gap:clamp(2rem, 5rem, 4vw);
	padding:clamp(2rem, 5rem, 4vw) 0;

	.product-content-sx {
		& > div {
			margin-bottom:2rem;
			padding:2rem;
			box-shadow: 0px 3px 6px #00000029, 0px -1rem 0px 1rem white;
			border-radius:1.5rem;

			&:last-child {
				margin-bottom:0;
			}
		}

		.product-meta {
			background-color:var(--bglight);
			position: sticky;
			top:0;
			z-index:5;

			.button-try {
				margin-top: 0;
			}
		}

		.product-help {
			background-color:var(--accent);
			color:white;
			text-align:center;

			h3 {
				color:white;
				font-size:1.563rem;
			}

			.button {
				margin-top:0.8rem;
			}

			&.noshad {
				box-shadow:none;
			}
		}

		.midline {
			display:flex;
			justify-content:space-between;
			align-items:center;
			align-content:center;
			text-align:center;
			color:var(--bgdark);
			margin-block:1.5rem;

			.line {
				display:inline-block;
				height:0.125rem;
				width:35%;
				background-color:var(--accent);
			}
		}

		.price-box {
			font-weight:700;
			color:var(--main);
			margin-bottom:1.5rem;
			font-size:1.25rem;

			.price span {
				font-weight:700;
				color:var(--main);
				font-size:1.875rem;
				line-height: 1.2;

				small {
					display:none;
				}

				ins {
					text-decoration:none;
				}
				del {
					color:var(--accent);

					span {
						font-size:80%;
						color:var(--text);
					}
				}
			}
		}

		.data-box {
			div {
				display:grid;
				grid-template-columns:1fr 1fr;
				gap:1rem;
				margin-bottom:0.5rem;

				&:last-child {
					margin-bottom:0;
				}
			}
			span {
				display: inline-block;
				color: var(--main);
				width: 100%;

				i {
					color: var(--main);
					margin-right:0.5rem;
				}
			}
		}

		.buy-box {
			select {
				margin-top:2rem;

				color:var(--main);
				font-weight:700;

				option {
					font-family:'Verdana';
					cursor:pointer;
				}
			}

			.button-green {
				margin-top:1rem;
			}
		}
	}

	.product-content-dx {
		.product-nav {
			display:flex;
			justify-content:space-around;
			align-items:center;
			background-color: var(--bg);
			border-radius:1.5rem;
			margin-bottom:3rem;
			position:sticky;
			top:0;
			z-index:9;
			box-shadow: 0px -1rem 0px 1rem white;

			a {
				padding:0.7rem 2.5rem;
				width:25%;
				text-transform:uppercase;
				border-radius:1.5rem;
				text-align:center;
				transition:0.3s ease-out;
				font-weight:700;

				&.current {
					background-color: var(--accent);
					color: white;
					pointer-events: none;
				}

				&:hover {
					background-color:var(--main);
					color: white;
				}
			}
		}		

		h2 {
			text-transform:uppercase;
			font-size:1.25rem;
			margin-bottom:2rem;
		}

		.info-content {
			margin-bottom:3rem;
		}

		.key-points {
			margin-bottom:3rem;

			ul {
				padding-left:1.5rem;
				padding-block:1rem;

				li {
					margin-bottom:1rem;
					position: relative;
		      text-align: left;
		      font-weight:700;

					&:last-child {
						margin-bottom:0;
					}

					&::before {
            list-style: none;
            display: inline-block;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            content: "\f111";
            font-family: "Font Awesome 7 Free";
            font-weight: 900;
            position: absolute;
            font-size:0.8rem;
            left: -1.5rem;
            top: 0.2rem;
            color:var(--accent);
          }
				}
			}
		}

		.tutors {
			background-color:var(--bglight);
			margin-bottom: 4rem;
      padding:2.5rem 2rem 2rem;
      box-shadow: 0px 3px 6px #00000029;
      border-radius: 1.5rem;

      .tutor-box {
      	margin-bottom:0.75rem;
      	border-bottom:1px solid #ccc;

      	&:last-child {
      		margin-bottom:0;
      		border-bottom:0 none;
      	}
      }

      .tutor-header {
      	display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        cursor:pointer;

        h3 {
			    color:var(--accent);
			    font-size:1.5rem;
			    transition:all 0.3s ease;
			    margin-bottom:0.75rem;
			    line-height:1.5;
			  }

			  &:hover h3 {
			  	color:var(--main);
			  }

			  i {
			  	transition:all 0.3s ease-out;
			  	margin-top:-0.75rem;
			  }

			  &.open i {
			  	transform: rotate(180deg);
			  }
			  &.only i {
			  	display:none;
			  }
      }

      .tutor {
      	margin-bottom:2rem;
      	padding-bottom:2rem;
      	display:none;
      
      	&:last-child {
      		margin-bottom:0;
      	}

	      .tutor-portrait {
	      	display:flex;
	      	flex-wrap:nowrap;
	      	gap:2rem;

	      	.img-portrait {
	      		width:10.55rem;
	      		height: 9.625rem;
	      		background-size:cover;
	      		overflow:hidden;
	      		position:relative;
	      		flex-shrink:0;

	      		&:after {
	      			content:'';
	      			position:absolute;
	      			top:0;
	      			left:0;
	      			width: 100%;
	      			height:100%;
	      			background: url('/wp-content/uploads/2025/11/maschera_img_profilo.svg') center center no-repeat;
	      			background-size:100% 100%;
	      		}
	      	}
	      }

		    h3 {
		    	color:var(--accent);
		    	font-size:1.25rem;
		    	margin-bottom:1rem;
		    }

		    .tutor-cv {
		    	margin-top:1.5rem;

		    	ul.exp-list {
		    		padding-left: 1.5rem;
        		list-style: none;

		    		& > li {
		    			position: relative;
		          text-align: left;
		          margin-bottom: 0.5rem;

		          &::before {
		            list-style: none;
		            display: inline-block;
		            text-rendering: auto;
		            -webkit-font-smoothing: antialiased;
		            content: "\f00c";
		            font-family: "Font Awesome 7 Free";
		            font-weight: 900;
		            position: absolute;
		            font-size: 1rem;
		            left: -1.5rem;
		            top: 0;
		            color:var(--accent);
		          }

		          & > ul {
		          	padding-left: 1.5rem;
		          	margin-top:0.5rem;

		          	li {
									position: relative;
				          text-align: left;
				          margin-bottom: 0.2rem;

				          &::before {
				            list-style: none;
				            display: inline-block;
				            text-rendering: auto;
				            -webkit-font-smoothing: antialiased;
				            content: "\f111";
				            font-family: "Font Awesome 7 Free";
				            font-weight: 900;
				            position: absolute;
				            font-size: 0.3rem;
				            left: -1.5rem;
				            top:50%;
				            transform:translateY(-50%);
				          }
		          	}
		          }
		        }
		    	}
		    }
      }

      &:last-child .tutor {
      	padding-bottom:0;
      }
	    
		}

	}

}

.archive .products {
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:2rem;

	.onsale {
		display:none;
	}

	.product {
      width:100%;
      height: auto;
      padding: 1.5rem;
      display: flex;
      flex-direction: column;
      background-color: var(--bg);
      box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
      border-radius: 1.5rem;

      h2 {
      	font-size: 1.25rem;
        color: var(--accent);
        text-transform: uppercase;
        margin-bottom:1rem;
        line-height:1.1;
        font-weight:700;
      }

      hr {
      	margin-block:1rem;
      }

      .price-box .price {
      	font-weight:700;
      	font-size: 1.25rem;
      	margin-top:0.5rem;
      	color:var(--main);
      }

      .buy-box {
        display: flex;
        justify-content: space-around;
        gap:0.25rem;
        text-transform: uppercase;
        text-decoration:underline;
        margin-top:1rem;
        font-weight: 700;

        .separatore {
          height: 1.4rem;
          width: 0.25rem;
          background-color: var(--accent);
        }
      }
	}
}
.archive .archive-content {
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:clamp(2rem, 5rem, 4vw);
	margin-bottom:clamp(2rem, 5rem, 4vw);

	.archive-content-desc {
		font-size:clamp(2rem, 2.813rem, 5vw);
		font-weight:700;
		color:var(--main);
		line-height:1.1;
	}
	.archive-content-text {
		ul {
    	padding-left: 1.5rem;
    	margin-top:0.5rem;

    	li {
				position: relative;
        text-align: left;
        margin-bottom: 0.25rem;

        &::before {
          list-style: none;
          display: inline-block;
          text-rendering: auto;
          -webkit-font-smoothing: antialiased;
          content: "\f111";
          font-family: "Font Awesome 7 Free";
          font-weight: 900;
          position: absolute;
          font-size: 0.3rem;
          left: -1.5rem;
          top:50%;
          transform:translateY(-50%);
        }
    	}
    }
	}
}

/* faq */
.questions {
	text-transform: uppercase;
	color:var(--main);
	font-weight: 700;
	position:relative;
	cursor:pointer;
	transition:all 0.3s ease-out;
	padding-block:1rem;
	padding-right:1.5rem;
	border-top:0.125rem solid var(--accent);
	line-height:1.4;

	&:first-child {
		border-top:none;
		padding-top: 0;
	}

	&:hover {
		color:var(--accent);
	}

	&:after {
		list-style: none;
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f054";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size:1.25rem;
    position: absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    transition:all 0.3s ease-out;
    color:var(--accent);
	}

	&.highlighted {
		color:var(--accent);

		&:after {
			transform:translateY(-50%) rotate(90deg);
			color:var(--main);
		}
	}
}

.answers {
	padding-bottom:1rem;
	display:none;

	&:last-child {
		border-bottom:0.125rem solid var(--accent);
	}
}

/* login */
.woocommerce-account {
	min-height:100%;
}
.woocommerce-account .login-container {
	height:100vh;
	width:100%;
	background-color:var(--accent);

	.woocommerce {
		grid-template-columns:1fr;
	}

	.login-page {
		display:flex;
		flex-direction:column;
		gap:2rem;
		align-items:center;
		justify-content:center;
		flex-wrap:nowrap;
	
		.info {
			width:min(15rem, 92vw);
		}

		.login {
			background-color: white;
			padding:3rem 2rem 2rem;
			border-radius:2rem;
			margin-inline:4vw;
			width: min(26rem, 92vw);

			h4 {
				text-align:center;
			}

			.login-actions {
				label {
					margin-block:1rem;
					display:inline-block;
					cursor:pointer;
				}
				button {
					display:flex;
					justify-content:center;
					align-items:center;
					margin-top:0;
					width:100%;
					padding:0;
					background-color:var(--accent);
					border:0 none;
					color: white;

					&:hover {
						background-color: var(--main);
					}
				}

				#lost-pass {
					display:inline-block;
					margin-block:0.5rem 0;
					font-size:0.8rem;

					&:hover {
						text-decoration:underline;
					}
				}
			}

			.login-error {
				margin-top:1rem;
				line-height:1.3;
				text-align:center;

				a {
					text-decoration:underline;
					color: white !important;
					display:inline-block;
					width:100%;
				}
			}
		}
	}

	.backtosite {
		text-transform:uppercase;
		&:hover {
			color:white;
		}
	}

}

.woocommerce-lost-password .login-container {
	p {
		margin-bottom:1rem;
		line-height:1.3;
	}
}


/* cassa */
#billing_country_field,
.woocommerce-additional-fields,
.cart-subtotal {
	display: none;
}

.checkout-cols {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:2rem;

	.checkout-col-1 {
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-column-gap:1rem;

		.woocommerce-form-login-toggle,
		.mel-student-section,
		h3 {
			grid-column-start:1;
			grid-column-end:3;
		}
	}
}

.mel-billing-subtitle {
	font-size: 1rem;
	font-weight: 400;
	margin-top: -0.5rem;
}

.mel-student-section {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);

	.mel-use-billing-for-student label .optional {
		display: none;
	}

	.mel-student-fields {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1rem;
	}
}

.woocommerce form .show-password-input::before,
.woocommerce-page form .show-password-input::before {
	display:none;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select {
	border: 0.125rem solid var(--accent);
  border-radius: 2rem;
  padding: 0.7rem 1rem;
  background-color: white;
  display: inline-block;
  width: 100%;
  font-size: 1rem;
  color: var(--main);
  transition: all 0.3s ease;
  width:100%;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
	width:100%;
}
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--accent);
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	padding: 1em 2em 1em 3.5em;
	margin: 0 0 2em;
	position: relative;
	color:var(--text);
	border-top:0 none;
	border-radius:2rem;
}

/* carrello */
.woocommerce-cart .product-thumbnail {
	display:none !important;
}
.woocommerce-cart {
	.shop_table thead {
		color:white;
		text-transform:uppercase;
		background-color:var(--accent);
	}

	.coupon {
		float:none !important;
		display:inline-flex;
		gap:1rem;

		input, button {
			width:min(300px, 100%) !important;
			border-radius:2rem;
			color: var(--main);
		}
		button:hover {
			color:white;
			background-color:var(--main);
		}
	}

	.cart_totals {
		h2 {
			color:var(--main);
			margin-block:1rem;
			font-size: 1.875rem;
			font-weight: 700;
	    line-height: 1.2;
		}
		.shop_table tr.order-total {
			color:white;
			text-transform:uppercase;
			background-color:var(--accent);

			small, strong {
				color:white;
			}
		}
	}

	button[name="update_cart"] {
		border-radius:2rem;
		color: var(--main);

		&:hover {
			color:white;
			background-color:var(--main);
		}
	}

	.wc-proceed-to-checkout {
		display:flex;
		justify-content:end;

		a.checkout-button {
			background-color:var(--main);
			display:inline-flex;
			border-radius:2rem;

			&:hover {
				background-color: var(--accent);
			}
		}
	}
}

.wpcf7-response-output {
	background-color:white;
	border-radius:1rem;
	display:inline-block;
}

/* cassa */
.woocommerce-checkout .place-order button {
	border-radius:2rem;
	background-color:var(--main) !important;
	color:white;

	&:hover {
		background-color:var(--accent) !important;
	}
}

/* ordini */
.tabella-ordini {
	width:100%;
	min-width:1200px;

	.header-tabella-ordini,
	.content-tabella-ordini {
		border-bottom:solid 0.125rem var(--bglight);

		td {
			color:white;
			text-transform:uppercase;
			font-weight:700;
			background-color:var(--accent);
			padding:1rem 2rem;

			&:first-child {
				border-top-left-radius:0.5rem;
				border-bottom-left-radius:0.5rem;
			}
			&:last-child {
				border-top-right-radius:0.5rem;
				border-bottom-right-radius:0.5rem;
			}

			i {
				color: var(--accent);
			}
		}
	}

	.content-tabella-ordini {
		td {
			background-color:var(--bg);
			color:var(--text);
			text-transform:none;
		}

		&:nth-child(even) td {
			background-color:var(--bglight);
		}

		.order-status {
			padding:0.25rem 1rem;
			border-radius:1rem;
			background-color:var(--bgdark);
			color:white;

			&.order-status-active {
				background-color:var(--main);
			}
		}
	}
}

.woocommerce-lost-password .login-container .woocommerce {
	display: flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;

	& > p {
    width:min(440px, 92vw);
    background: white;
    padding: 2rem;
    border-radius: 2rem;
	}
	& > .woocommerce-message {
		&:focus {
			outline:0 none;
			border:0 none;
		}
		background-color: white;
		padding:2rem;
		width:min(440px, 92vw);
	}

}

.woocommerce-view-order h2 {
	margin-top:2rem;
}
.woocommerce-view-order {
	.order-again a {
		padding-inline:2rem;
	}

	.woocommerce-order-details table {
		text-align: left !important;

		td {
			padding-right:1rem;
		}
	}

	.woocommerce-order-details h2,
	.woocommerce-customer-details h2 {
		margin-bottom:2rem;
	}
	.woocommerce-customer-details address {
		font-style:normal;
	}
}

.appointment-table .appointment-item .bpa-actions a {
	display:none;
}

.woocommerce-order-received {
	.woocommerce-thankyou-order-details {
		display:flex;
		gap:2rem;
		flex-wrap:wrap;

		&:before, &:after {
			display:none !important;
		}

		li {
			color:var(--text);
			font-size: 1rem !important;
			font-weight:bold;
			border-right:0 none !important;
			padding:0 !important;
			margin:0 !important;

			strong {
				color:var(--accent);
			}
		}
	}
	.woocommerce-thankyou-order-received {
		font-size:clamp(2rem, 2.813rem, 4vw);
		color:var(--main);
		font-weight:700;
		margin-bottom:2rem;
		line-height:1.2;
	}

	h2 {
		font-size:1.25rem;
		font-weight:700;
		line-height:1.2;
		color:var(--main);
		margin-bottom:1rem;
	}
}

/* area-club */
.area-club-page {
	margin-top:2rem;

	h4 {
		margin-bottom: 0;
		text-transform:uppercase;
	}

	hr {
		margin-block:0.7rem 1.5rem !important;
	}

	.res-box {
		margin-top:2rem;
	}

	.files-box {
		a {
			text-transform:uppercase;
			font-weight: 700;
			color:var(--main);
			border-bottom:1px solid var(--bg);
			transition:all 0.3s ease-out;
			line-height:1.2;

			&:hover {
				border-bottom:3px solid var(--accent);
			}
		}

		#nomeet {
			margin-top:1rem;
			color:var(--accent);
			display:inline-block;
			text-transform:none;
		}

		.nomeet {
			padding:2rem 0 0;
		}

		.grid-file {
			display:grid;
			grid-template-columns:1fr 1fr;
			gap:1rem 2rem;

			small {
				margin-bottom:0 !important;
			}

			.codedropz-upload-handler {
			    border: 2px dashed var(--accent) !important;
			    border-radius:1rem !important;
			    background-color:white;
			}

			& > div:last-child {
				display:flex;
				align-items:end;
			}

			textarea {
				height:11rem;
				border-radius:1rem;
			}

			.wpcf7-submit {
				width:auto;
				padding-inline:3rem;
				cursor:pointer;
				transition:all 0.3s ease;
				text-transform:uppercase;
				font-weight: 700;

				&:hover {
					background-color:var(--main);
					color:white;
					border-color:var(--main);
				}
			}
		}
	}
	
	.res-list {
		display:flex;
		flex-wrap:wrap;
		gap:2rem;

		.risorsa-club{
      height: auto;
      padding: 1rem;
      display: flex;
      flex-direction: column;
      background-color: var(--bg);
      box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25);
      border-radius: 1.5rem;
      width:20rem;

      .risorsa-club-title {
      	display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;

      	h3 {
      		font-size: 1.25rem;
        	text-transform: uppercase;
        	margin-bottom:0;
      	}

      	span {
          display: flex;
          justify-content: center;
          align-items: center;
          text-align: center;
          align-content: center;
          height: 4rem;
          background: url(/wp-content/uploads/2025/09/Poligono-verde.svg) center center no-repeat;
          background-size: 100% 100%;
          aspect-ratio: 58 / 67;

          & img {
            height: 1.5rem;
            width: auto;
            filter: brightness(0) invert(1);
          }
        }
      }

      .risorsa-club-desc {
      	height:100%;
      	display:flex;
      	flex-direction:column;
      	justify-content:space-between;

      	div {
      		hr {
      			display:block;
          	margin-block:1rem !important;
        	}
        	a {
        		text-transform:uppercase;
        		text-decoration: none;
    				transition: all 0.3s ease;
    				color: var(--main);
    				font-weight: 700;

    				&:hover {
    					color: var(--accent);
    				}
        	}
        }
      }

   	}
	}

	.res-video {
		margin-top:2rem;

		.res-videos {
			display:grid;
			grid-template-columns:1fr 1fr;
			gap:2rem;
		}

		.video-item {
		    position: relative;
		    width: 100%;
		    aspect-ratio: 16 / 9;
		}
		.video-item iframe {
		    position: absolute;
		    inset: 0;
		    width: 100%;
		    height: 100%;
		}
	}
}
.grecaptcha-badge { display:none !important; }

/* responsive */
@media (max-width:1600px) {
	.woocommerce-MyAccount-content {
		overflow-x:auto;
	}

	.materie {
		grid-template-columns: 2fr 3fr;
	}
}
@media (max-width:1400px){
	.home .page-title {
	  & h1, & a.button {
	    transform:none;
	  }
	}

	.steps-container .wrapper div:first-child {
  	width: 75%;
  	padding-bottom:2rem;
	}

	.two-third-dx {
		display: grid;
		grid-template-columns: 30% auto;
		gap: 2rem;

		h2 br {
			display: none;
		}

		.pros {
	    display: grid;
	    grid-template-columns: 1fr 1fr;
	    grid-column-gap:1rem;
	    grid-row-gap:3rem;
	    padding-block: 8rem;
	  }
	}

	.content-testimonials .container-testimonials .testimonial {
		/* 2 per volta → 1 gap tra le card visibili */
		flex: 0 0 calc((100vw - 23rem) / 2);
	}

	.single-product .product {
		grid-template-columns: auto 24rem;

		.product-content-dx {
	    .product-nav {
	      a {
	        padding: 0.7rem;
	      }
	    }
	  }
	}

	.materie .materie-list .materie-container #carousel .categoria-materia {
		margin-right:1rem;
	}

	.files-box .grid-file {
		gap:1rem !important;

		& > div:first-child, & > div:nth-child(2) {
			grid-column-start:1;
			grid-column-end:3;
		}

		textarea {
			height:8rem !important;
		}
	}
}
@media (max-width:1240px){
	.steps-container .four-steps {
		grid-template-columns:1fr 1fr;
		gap:2rem;
		height:auto;

		.step-content {
      max-width:none;
      min-width:auto;
    }

		.step {
			.exagon {
				height:12vw;
			}

			flex-direction:row;
			align-items: start;

			&.step1 {
				transform:translateY(0rem);
			}
			&.step2 {
				transform:translateY(3rem);
			}
			&.step3 {
				transform:translateY(0rem);
			}
			&.step4 {
				transform:translateY(3rem);
			}
		}
	}

	.materie .materie-list {
    padding-left:2rem;
  }

	.meliores-3-col {
		grid-template-columns:1fr 1fr;
		grid-column-gap:4rem;
		grid-row-gap:0;

		div:last-child {
			grid-column-start:1;
			grid-column-end:3;
		}
	}

	.two-third-dx {
		grid-template-columns:1fr;
	}

	.single-product .product {
		.product-content-dx {
	    .product-nav {
	      display: none;
	    }
	  }
	}

	#abbonamento .subscription-container {
    grid-template-columns: 1fr 1fr 1fr;
    gap:1rem;
	}
}

.account-icon-mobile {
	display:none !important;
}
@media (max-width:1024px){
	header.sticky { min-height: 60px; }
	#menu { display:none; }
	#nav-btn { display:inline-block; }
	header.sticky .nav-btn {
		top: 50%;
		transform: translateY(-50%);
	}
	header.sticky #nav-btn span { background:var(--text); }

	.header-items {
		padding-right:3rem;

		.button {
			span {
				display:none !important;
			}
			padding-inline:0.2rem;

			.account-icon-mobile {
				display:flex !important;
				width: 2.165rem !important;
			}
			.nomobile {
				display:none !important;
			}
		}
	}

	.page-title {
		h1 em {
			display:inline-block;
		}
	}

	.materie {
	  grid-template-columns: 1fr;

	  .materie-list {
	    padding-block:2rem;
	    padding-left:0;
	    display: flex;
	    align-items: center;
	    gap: 1rem;
	    flex-wrap: nowrap;
	    width: 100%;
	    overflow: hidden;
	    position: relative;
	  }
	}

	.meliores-2-col {
		gap:2rem;

		.meliores-col2 {
	    padding:2rem 0 2rem 2rem;
	    border-top-left-radius:3.17rem;
	  }
	}

	.steps-container .wrapper div:first-child {
  	width:100%;
  	padding-bottom:2rem;
	}
	.steps-container .four-steps {
		grid-template-columns:1fr;
		gap:2rem;
		padding-inline:4vw;

		.step-content h3 {
			font-size:1.5rem;
    }

		.step {
			.exagon {
				min-height: 100px;
			}

			&.step1 {
				transform:translateY(0rem);
			}
			&.step2 {
				transform:translateY(0rem);
			}
			&.step3 {
				transform:translateY(0rem);
			}
			&.step4 {
				transform:translateY(0rem);
			}
		}
	}

	.single-product .product {
		grid-template-columns:1fr;

		.product-content-sx {
			width:min(360px, 100%);
		}
	}

	#abbonamento .subscription-container .subscription {
		padding:1rem;
	}

	.content-testimonials .container-testimonials .testimonial {
		/* 1 per volta → nessun gap da sottrarre */
		flex: 0 0 calc(100vw - 19rem);
	}

	.checkout-cols {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 21rem auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
	  .account-nav {
	    li {
	      margin-block: 0.25rem;
	      padding-inline: 2rem;
	    }
	  }
	  .user-status {
	    padding-inline: 1rem;
	  }
	  .account-help {
	    padding-inline: 1rem;
	  }
	}
	.woocommerce-MyAccount-content {
		padding: 2rem 2rem;

		.account-box {
	    & > div {
	      padding: 1rem 1.5rem;
	      line-height:1.75;
	    }

	    hr {
		    margin-block: 0.7rem 1.5rem;
		  }
		  
	  }

	  .area-club-page {
		  .res-list {
		  	display:grid;
		    grid-template-columns: 1fr 1fr;
		    gap: 1rem;

		    .risorsa-club {
		    	width:100%;
		    }
		  }
		  .res-video {
		    .res-videos {
		      grid-template-columns: 1fr;
		      gap:1rem;
		    }
		  }
		}
	}

	.page-template-contact-page .grid-2 {
		grid-template-columns:1fr;
		gap:2rem;

		& > div:first-child {
			order: 2;
		}

		& > div:last-child {
			order: 1;
		}
	}
	.page-template-contact-page .grid-3 {
		gap: 1rem;

		div {
	    padding: 1rem;
	    border-radius: 1.2rem;
	  }
	}

	.files-box .grid-file {
		grid-template-columns:1fr !important;
		gap: 1rem !important;

		& > div:first-child, & > div:nth-child(2) {
			grid-column-start:1;
			grid-column-end:2;
		}

		& > div:last-child {
			justify-content: end;

			.wpcf7-submit {
				order:2;
			}
			.wpcf7-spinner {
				display:inline-flex;
				order:1;
			}
		}
	}
}

@media (max-width:900px) {
	footer .footer-content {
		grid-template-columns:repeat(2, 1fr);
	}

	.meliores-2-col {
		margin-bottom:4rem;
		grid-template-columns:1fr;
		gap:2rem;

		.meliores-col2 {
	    padding:2rem 0 2rem 2rem;
	    border-top-left-radius:3.17rem;
	  }
	}

	#abbonamento .subscription-container {
    gap: 1rem;
    justify-content: center;
    align-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
  }

  .single-product .woocommerce-message {
		justify-content:center;
		flex-wrap:wrap;
		text-align:center;
	}

	.woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

	.account-overlay {
  	background-color:rgba(255, 255, 255, 0.75);
  	position:absolute;
  	top:0;
  	left:0;
  	width:100vw;
  	height:100%;
  	z-index:-1;
  	transition:all 0.3s ease-out;
  	opacity:0;

  	&.account-overlay-opened {
  		opacity:1;
  		cursor:pointer;
  		z-index:1;
  	}
	}

	.woocommerce-account .nav-btn {
		top: 3vw;
		right: 3vw;
		position: absolute;
	}

	#account-nav-btn, .account-overlay {
		display:block;
	}

	.woocommerce-MyAccount-navigation {
		left:-101%;
	  position: absolute;
	  background: #fff;
	  width:min(340px, 100%);
	  transition:all 0.3s ease-out;
	  opacity:0;

	  .account-nav {
	    margin-bottom:1rem;
	  }
	  .user-status .account-logo {
      justify-content:start !important;
    }

	  &.nav-opened {
	  	left:0;
	  	opacity:1;
	  }
	}
	.woocommerce-MyAccount-content {
		min-height:100vh !important;
	}

	.page-template-contact-page .grid-3 {
		div {
	    a {
	    	font-size:1.2rem;
	    }

	    i {
	    	font-size:1.5rem;
	    }
	  }
	}
}

@media (max-width:768px) {
	.home-divider {
		display: grid;
		grid-template-columns:1fr auto;
		gap:1rem;
		margin-bottom:4rem;

		& > div:first-child {
			min-width:2rem;
			border-top-right-radius:2rem;
		}

		& > div:last-child {
			display:none;
		}

		& div:nth-child(2) {
	    padding-inline:0 4vw;
	    min-width:auto;
	    max-width:none;
	  }
	}

	.meliores-3-col {
		grid-template-columns:1fr;
		gap:1rem;
		padding-block:1rem;

		div:last-child {
			grid-column-start:1;
			grid-column-end:2;
		}
	}

	.materie {
		& .materie-content {
			padding-right: 0;
		}
	  & .materie-list {
	    & .materie-container {
	      & #carousel {
          display: flex;
          justify-content: center;
          gap: 0 2rem;
          flex-wrap: wrap;

	        & .categoria-materia {
	          height: 10.5rem;
	          background-size:cover !important;
	          margin-right:0;
	        }
	      }
	    }
	  }

	  &.modale-materie {
	    .materie-list {
	      .materie-container #carousel .categoria-materia {
	        height: 12.5rem;
	        margin-right:0;
	      }
	    }
	  }
	}

	.woocommerce-MyAccount-content .area-club-page .res-list {
		grid-template-columns: 1fr;
	}

	.two-third-dx {
    .pros {
    	& > img {
    		display:none;
    	}

    	.pro {
    		padding-inline:0;

    		img {
    			height:2.5rem;
    		}
    	}

      display: grid;
      grid-template-columns: 1fr;
      grid-column-gap:0;
      grid-row-gap:2rem;
      padding-block:2rem 4rem;
    }
  }

	.single-product .product {
		.product-content-dx {
			h2 {
	      margin-bottom: 1rem;
	    }
	    .info-content {
	      margin-bottom: 1rem;
	    }

	    .tutors {
	      background-color: var(--bglight);
	      margin-bottom: 3rem;
	      padding: 1rem 1rem 0rem;
	      box-shadow: 0px 3px 6px #00000029;
	      border-radius:0.5rem;

	      .tutor .tutor-portrait {
          flex-wrap: wrap;
          gap: 1rem;
        }

	      .tutor-header {
	        h3 {
	          font-size: 1.2rem;
	        }
	      }
	    }

	    .questions {
				line-height:1.3;
				padding-block: 1rem;
				padding-right:1.5rem;
			}
	  }

	  .product-content-sx {
	  	& > div {
	      margin-bottom: 2rem;
	      padding: 1rem;
	      box-shadow: 0px 3px 6px #00000029;
	      border-radius:2rem;
	    }
	  }
	}

  .content-testimonials {
	  grid-template-columns: 1fr;

	   .sidebar-testimonials {
	    width: 92vw;
	    padding:2rem 0;
	    border-top-right-radius:2rem;

	    .carousel-nav a.button {
    		margin-top: 1rem;
  		}
	  }
	}
  .content-testimonials .container-testimonials .testimonial {
		/* 1 per volta → nessun gap da sottrarre */
		flex: 0 0 92vw;
	}

	.woocommerce-cart .actions .coupon {
		display:grid;
		grid-template-columns:1fr 1fr;

		input, button {
			width:100% !important;
			display:inline-block;
			text-align:center;
		}

		&:before, &:after {
			display:none !important;
		}
	}

	.page-template-contact-page .grid-3 {
		grid-template-columns: 1fr;
	}
}

@media (max-width:500px) {
	.meliores-2-col .meliores-col2 .button {
		gap:0.5rem;
		padding-left:0.5rem;
		width:100%;
		justify-content:space-between;
	}

	.modal-content-box h3 {
		font-size:1.2rem;
	}

	.materie {
	  &.modale-materie {
	    .materie-list {
	    	padding-block: 1rem 0;

	      .materie-container #carousel {
		    	gap:1rem;

		      .categoria-materia {
		        height:8rem;
		        margin-right:0;

		        a img {
		          height: 2rem !important;
		        }
		      }
		    }
	    }
	  }
	}

	.single-product .product .product-content-sx {
	  width:100%;
	}

	.woocommerce-cart .actions .coupon {
		grid-template-columns:1fr;
		gap:0.5rem;

		input, button {
			height:45px !important;
		}
	}
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .woocommerce-checkout .checkout-cols .checkout-col-1 {
	  .woocommerce-form-login-toggle, & h3 {
      grid-column-start: 1;
      grid-column-end: 2;
    }
    grid-template-columns: 1fr;
    grid-column-gap:0.5rem;
  }

	.woocommerce-checkout #payment label {
		line-height:1.2 !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 100%;
		scroll:auto;
		padding:1rem 0;

		.account-nav {
			margin-bottom:2rem;
		}
	}
	.woocommerce-MyAccount-content {
    padding:4vw;
  }
  .woocommerce-account .nav-btn {
		right: 1vw;
	}

	.woocommerce-account .login-container {
		.info {
			margin-top:2rem;
		}
	  .login-page {
	  	justify-content:start;
	    gap: 1rem;
	  }
	}

	#abbonamento {
	  .subscription-container {
	    .subscription {
	      width: 100%;

	      .full-desc {
	      	padding-inline:2rem;
	      }
	    }
	  }
	}

	.page-template-contact-page .mel-form {
	  .dual-field {
	    grid-template-columns: 1fr;
	    gap:1rem;
	    margin-bottom: 1rem;
	  }

	  .submit-button {
	  	margin-top: 1.2rem;
	  }

	  textarea {
	  	height: 10rem;
	  }
	}

	footer .footer-content {
		grid-template-columns:1fr;
	}
}

/* dark scheme 
@media (prefers-color-scheme: dark) {
	html, body {
		background-color:#111;
	}
	:root {
		--text:white !important;
		--accent:#4A544C !important;
		--main:#92A494 !important;
	}
}

*/