/*
 * Smart Evolution: stili del gruppo «prodotti», cioè la home dell'area
 * pazienti (pages/pazienti.php) e le due pagine Prodotto
 * (pages/prodotto-dentisti.php, pages/prodotto-pazienti.php), con i loro
 * componenti parts/prodotti-*.php. Si carica dopo site.css.
 *
 * Misure da riferimento/spec (pagine 246, 493, 464 a 1440 e 390 px).
 * Soglie: telefono fino a 767 px, tablet fino a 1024.
 */

/* Ritocchi dei componenti comuni su queste pagine */

/* Le etichette sopra i titoli di queste tre pagine non hanno il dente. */
.sev-page-pazienti .sev-eyebrow .sev-icon,
.sev-page-prodotto-dentisti .sev-eyebrow .sev-icon,
.sev-page-prodotto-pazienti .sev-eyebrow .sev-icon {
	display: none;
}

/* Nei testi delle fasce l'ultimo paragrafo tiene il suo margine, come
   faceva Elementor: le fasce restano alte come prima. */
.sev-page-pazienti .sev-cta__text > :last-child,
.sev-page-prodotto-dentisti .sev-cta__text > :last-child,
.sev-page-prodotto-pazienti .sev-cta__text > :last-child {
	margin-bottom: 14.4px;
}

/* Il testo delle fasce sta a 10 px dal bordo della colonna, come prima. */
.sev-page-pazienti .sev-cta:not(.sev-cta--full) .sev-cta__body,
.sev-page-prodotto-dentisti .sev-cta:not(.sev-cta--full) .sev-cta__body {
	padding: 10px;
}

/* «Vuoi migliorare il tuo sorriso?» della pagina Pazienti: niente etichetta
   sopra il titolo e foto alta quanto il testo. */
.sev-page-pazienti .sev-about__body > div:empty {
	display: none;
}

.sev-page-pazienti .sev-about__tall {
	min-height: 0;
}

/* Fascia alta con il testo in basso (pagina Pazienti). */
.sev-cta--prodotti-tall .sev-cta__card {
	padding-bottom: 180px;
}

.sev-cta--prodotti-tall .sev-cta__body {
	justify-content: flex-end;
}

/* Le due fasce larghe della pagina Prodotto per pazienti. */
.sev-cta--prodotti-problems .sev-cta__body,
.sev-cta--prodotti-routine .sev-cta__body {
	padding-top: 0;
	padding-bottom: 0;
}

.sev-cta--prodotti-routine {
	margin-top: 5%;
}

@media (max-width: 767px) {
	.sev-cta--prodotti-tall .sev-cta__card {
		padding-bottom: 50px;
	}

	.sev-cta--prodotti-problems .sev-cta__card,
	.sev-cta--prodotti-routine .sev-cta__card {
		padding: 50px 20px;
	}

	.sev-cta--prodotti-problems .sev-cta__head,
	.sev-cta--prodotti-routine .sev-cta__head {
		padding: 20px;
	}

	.sev-cta--prodotti-problems .sev-cta__body,
	.sev-cta--prodotti-routine .sev-cta__body {
		padding-top: 50px;
	}

	/* Sul telefono l'apertura della pagina Pazienti mostra anche il telefono
	   e il cerchio con l'etichetta, a differenza della pagina Dentisti. */
	.sev-page-pazienti .sev-hero-home__phone {
		display: inline-flex;
		flex-direction: column;
		gap: 24px;
		text-align: center;
	}

	.sev-page-pazienti .sev-hero-home__phone-label {
		line-height: 24px;
	}

	.sev-page-pazienti .sev-hero-home__visual {
		display: block;
		flex: none;
		width: 100%;
		min-height: 500px;
		margin: 26px 0 0;
		background-size: 236px auto;
	}

	.sev-page-pazienti .sev-hero-home .sev-badge-pill strong {
		font-size: 30px;
	}

	.sev-page-pazienti .sev-about__tall {
		min-height: 200px;
	}
}

/* Apertura delle pagine Prodotto */

.sev-prodotti-hero {
	padding: 0 50px;
}

.sev-prodotti-hero__card {
	position: relative;
	overflow: hidden;
	padding: 100px 100px 150px;
	background: var(--sev-ink) var(--sev-bg, none) center / cover no-repeat fixed;
	border-radius: var(--sev-radius);
}

.sev-prodotti-hero__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sev-ink);
	opacity: .7;
}

.sev-prodotti-hero__inner {
	position: relative;
	display: flex;
	gap: 20px;
	max-width: 1140px;
	margin: 0 auto;
}

.sev-prodotti-hero__text {
	display: flex;
	flex: 0 1 560px;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	color: var(--sev-white);
}

.sev-prodotti-hero__title {
	font-size: 36px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sev-white);
}

.sev-prodotti-hero__lead {
	max-width: 532px;
}

.sev-prodotti-hero__visual {
	position: relative;
	display: flex;
	flex: 0 1 560px;
	align-items: center;
	justify-content: center;
	margin-left: auto;
}

.sev-prodotti-hero__image {
	width: 61%;
	height: auto;
}

.sev-prodotti-hero__badge {
	top: 30px;
}

@media (max-width: 1024px) {
	.sev-prodotti-hero__card {
		padding: 70px 50px 100px;
		background-attachment: scroll;
	}

	.sev-prodotti-hero__inner {
		flex-direction: column;
	}

	.sev-prodotti-hero__text,
	.sev-prodotti-hero__visual {
		flex: none;
	}

	.sev-prodotti-hero__visual {
		width: 100%;
		min-height: 300px;
		margin: 0;
	}

	.sev-prodotti-hero__image {
		width: 40%;
	}
}

@media (max-width: 767px) {
	.sev-prodotti-hero {
		padding: 0 0 50px;
	}

	.sev-prodotti-hero__card {
		padding: 50px 20px;
		border-radius: 0;
	}

	.sev-prodotti-hero__inner {
		align-items: center;
		text-align: center;
	}

	.sev-prodotti-hero__text {
		align-items: center;
	}

	.sev-prodotti-hero__title {
		font-size: 30px;
	}

	.sev-prodotti-hero__lead {
		max-width: 95%;
	}

	.sev-prodotti-hero__visual {
		display: none;
	}

	.sev-prodotti-hero--visual-mobile .sev-prodotti-hero__visual {
		display: flex;
		min-height: 500px;
	}

	.sev-prodotti-hero__image {
		width: 61%;
	}

	.sev-prodotti-hero .sev-badge-pill strong {
		font-size: 30px;
	}
}

/* Foto e testo affiancati */

.sev-prodotti-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding-top: 100px;
	padding-bottom: 100px;
}

.sev-prodotti-split__media {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	padding-right: 20px;
}

.sev-prodotti-split__tall {
	min-height: 320px;
	background: var(--sev-bg, none) center / cover no-repeat;
	border-radius: var(--sev-radius-card);
}

.sev-prodotti-split__side {
	display: flex;
	flex-direction: column;
	align-self: start;
	gap: 20px;
}

.sev-prodotti-split__badge {
	justify-content: flex-start;
	gap: 23px;
	min-height: 197px;
}

.sev-prodotti-split__photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--sev-radius);
}

.sev-prodotti-split__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 20px;
	padding-left: 20px;
}

.sev-prodotti-split__text {
	margin-bottom: -5px;
}

.sev-prodotti-split__text p {
	margin: 0 0 14.4px;
}

.sev-prodotti-split__text h3 {
	margin: 1.4em 0 .6em;
}

.sev-prodotti-split__text ul {
	margin: 0 0 1em;
	padding-left: 1.3em;
	list-style: disc;
}

.sev-prodotti-split__text li {
	margin-bottom: .6em;
	padding-left: .2em;
}

.sev-prodotti-split .sev-prose > :last-child {
	margin-bottom: 14.4px;
}

.sev-prodotti-split .sev-prose > ul:last-child {
	margin-bottom: 1em;
}

@media (max-width: 1024px) {
	.sev-prodotti-split {
		grid-template-columns: 1fr;
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.sev-prodotti-split__media {
		padding-right: 0;
	}

	.sev-prodotti-split__body {
		padding-top: 50px;
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.sev-prodotti-split {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.sev-prodotti-split__body {
		order: -1;
		align-items: center;
		padding-top: 0;
		text-align: center;
	}

	.sev-prodotti-split__media {
		grid-template-columns: 1fr;
	}

	.sev-prodotti-split__tall {
		min-height: 200px;
	}

	.sev-prodotti-split__side {
		margin-top: 50px;
	}

	.sev-prodotti-split--compact .sev-prodotti-split__side {
		display: none;
	}
}

/* I nostri prodotti */

.sev-prodotti-grid {
	position: relative;
	margin-top: 10%;
	padding: 50px var(--sev-gutter);
	color: var(--sev-white);
	background: var(--sev-ink) var(--sev-bg, none) center / cover no-repeat fixed;
}

.sev-prodotti-grid::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sev-ink);
	opacity: .7;
}

.sev-prodotti-grid__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: var(--sev-container);
	margin: 0 auto;
	padding: calc(20px + 3.5%) 20px;
}

.sev-prodotti-grid__head {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
	text-align: center;
}

.sev-prodotti-grid__head .sev-section-title {
	color: var(--sev-white);
}

.sev-prodotti-grid__head p {
	margin: 0 0 14.4px;
}

.sev-prodotti-grid__row {
	display: grid;
	grid-template-columns: repeat(2, 48%);
	align-items: start;
	gap: 20px;
	padding: 10px;
}

.sev-prodotti-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	padding: 20px;
}

.sev-prodotti-card--end {
	align-items: flex-end;
	text-align: right;
}

.sev-prodotti-card__title,
.sev-prodotti-card__text {
	align-self: stretch;
}

.sev-prodotti-card__title {
	color: var(--sev-white);
}

.sev-prodotti-card__media {
	width: var(--sev-width, 50%);
}

.sev-prodotti-card__image {
	width: 100%;
	height: auto;
	transition: transform .5s var(--sev-ease);
}

.sev-prodotti-card:hover .sev-prodotti-card__image {
	transform: translateY(-6px) scale(1.02);
}

.sev-prodotti-card__text {
	margin: 0 0 14.4px;
}

.sev-prodotti-card__button {
	background: var(--sev-sky);
}

.sev-prodotti-card__button:hover,
.sev-prodotti-card__button:focus-visible {
	color: var(--sev-primary);
	background: var(--sev-white);
}

@media (max-width: 1024px) {
	.sev-prodotti-grid {
		background-attachment: scroll;
	}

	.sev-prodotti-card,
	.sev-prodotti-card--end {
		align-items: center;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.sev-prodotti-grid {
		padding: 50px 20px;
	}

	.sev-prodotti-grid__inner {
		padding: calc(30px + 3.5%) 30px;
	}

	.sev-prodotti-grid__row {
		grid-template-columns: 1fr;
	}

	.sev-prodotti-card__media {
		display: none;
	}
}

/* App */

.sev-prodotti-app {
	display: grid;
	grid-template-columns: 75% 16%;
	padding-top: 100px;
	padding-bottom: 100px;
}

.sev-prodotti-app__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 20px;
	padding-left: 20px;
}

.sev-prodotti-app__text {
	margin: 0 0 9.4px;
}

.sev-prodotti-app__media {
	padding-right: 20px;
}

.sev-prodotti-app__image {
	width: 100%;
	height: auto;
	transition: transform .5s var(--sev-ease);
	will-change: transform;
}

@media (max-width: 1024px) {
	.sev-prodotti-app {
		grid-template-columns: 1fr;
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.sev-prodotti-app__body {
		align-items: center;
		padding-left: 0;
		text-align: center;
	}

	.sev-prodotti-app__media {
		margin-top: 35px;
		padding-right: 0;
	}

	.sev-prodotti-app__phone {
		width: 30%;
		max-width: 221px;
		margin: 0 auto;
	}
}

@media (max-width: 767px) {
	.sev-prodotti-app {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.sev-prodotti-app__phone {
		width: var(--sev-phone-width, 63%);
		max-width: none;
	}
}

/* Schede con foto di sfondo */

.sev-prodotti-banners {
	display: flex;
	gap: 20px;
	padding: 0 50px;
}

.sev-prodotti-banner {
	position: relative;
	flex: 1 1 0;
	overflow: hidden;
	padding: 100px 0 180px;
	background: var(--sev-ink) var(--sev-bg, none) center / cover no-repeat fixed;
	border-radius: var(--sev-radius-card);
}

.sev-prodotti-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sev-ink);
	opacity: .7;
}

.sev-prodotti-banner__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: var(--sev-container);
	margin: 0 auto;
	color: var(--sev-text-light);
	text-align: center;
}

.sev-prodotti-banners--double .sev-prodotti-banner__inner {
	margin: 20px;
}

.sev-prodotti-banner .sev-section-title {
	color: var(--sev-white);
}

.sev-prodotti-banner__text {
	margin: 0 0 14.4px;
}

.sev-prodotti-banners--double .sev-prodotti-banner:first-child .sev-prodotti-banner__text {
	padding: 0 40px;
}

@media (max-width: 1024px) {
	.sev-prodotti-banner {
		background-attachment: scroll;
	}
}

@media (max-width: 767px) {
	.sev-prodotti-banners {
		flex-direction: column;
		padding: 0;
	}

	.sev-prodotti-banner {
		flex: none;
		padding: 50px 20px;
		border-radius: 0;
	}

	.sev-prodotti-banners--double .sev-prodotti-banner__inner {
		margin: 0;
	}
}

/* Prima e dopo */

.sev-prodotti-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	padding-top: 100px;
	padding-bottom: 100px;
}

.sev-prodotti-compare__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-left: 20px;
}

.sev-prodotti-compare__body p {
	margin: 0 0 9.4px;
}

.sev-prodotti-compare__media {
	padding: 0 75px 0 50px;
}

@media (max-width: 1024px) {
	.sev-prodotti-compare {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.sev-prodotti-compare__body {
		padding-left: 0;
	}

	.sev-prodotti-compare__media {
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
		padding: 0;
	}
}

@media (max-width: 767px) {
	.sev-prodotti-compare {
		gap: 0;
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.sev-prodotti-compare__body {
		text-align: center;
	}

	.sev-prodotti-compare__media {
		max-width: none;
		padding: 0 50px;
	}
}
