/*
 * Scheda corso v2 (prototipo readdy "corso/hse-manager-40-ore")
 *
 * TUTTE le regole sono sotto .unipro-v2: agiscono solo dentro i container
 * Avada a cui è assegnata la classe CSS "unipro-v2" (layout di test).
 * Le pagine prodotto attuali non hanno la classe e restano invariate.
 *
 * Caricato solo su is_product() da unipro.php (unipro_corso_v2_style).
 */

.unipro-v2 {
	--uv2-azure: #00aae9;
	--uv2-azure-soft: #e6f4fb;
	--uv2-navy: #284095;
	--uv2-body: #555555;
	--uv2-muted: #9ca3af;
	--uv2-line: #f3f4f6;
}

/* -------------------------------------------------------------------------
 * Testata: breadcrumb, titolo, sottotitolo
 * ------------------------------------------------------------------------- */

/* il container con il titolo diventa bianco (oggi fascia azzurra) */
.fusion-fullwidth.unipro-v2:has(h1.fusion-title-heading) {
	background-color: #ffffff !important;
	background-image: none !important;
}

.unipro-v2 .fusion-breadcrumbs,
.unipro-v2 .fusion-breadcrumbs a,
.unipro-v2 .fusion-breadcrumbs span {
	font-size: 11px !important;
	color: var(--uv2-muted) !important;
	text-decoration: none !important;
}

.unipro-v2 h1.fusion-title-heading {
	font-size: 42px !important;
	line-height: 1.05 !important;
	font-weight: 700 !important;
	color: var(--uv2-azure) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* sottotitolo: il titolo Avada subito dopo quello con l'h1 */
.unipro-v2 .fusion-title:has(h1) + .fusion-title,
.unipro-v2 .fusion-title:has(h1) + .fusion-title .fusion-title-heading {
	font-size: 16px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
	color: var(--uv2-body) !important;
	text-transform: none !important;
	font-style: normal !important;
}

@media (max-width: 768px) {
	.unipro-v2 h1.fusion-title-heading {
		font-size: 28px !important;
	}
	.unipro-v2 .fusion-title:has(h1) + .fusion-title,
	.unipro-v2 .fusion-title:has(h1) + .fusion-title .fusion-title-heading {
		font-size: 14px !important;
	}
}

/* -------------------------------------------------------------------------
 * Menu ad ancore [unipro-nav-ancore]: pillole azzurre, voce attiva evidenziata
 * ------------------------------------------------------------------------- */

.unipro-v2 .ucd-nav {
	background: #ffffff;
	border-radius: 0;
	box-shadow: none;
	border-bottom: 1px solid var(--uv2-line);
}

/* spazio sotto il menu messo sul contenitore (non sul nav): quando il nav
   diventa fixed il segnaposto ne copia solo l'altezza e il testo non salta */
.unipro-v2 :has(> .ucd-nav) {
	padding-bottom: 32px;
}

.unipro-v2 .ucd-nav.is-stuck {
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.04);
}

.unipro-v2 .ucd-nav__inner {
	justify-content: center;
	gap: 4px;
	padding: 10px 0;
}

.unipro-v2 .ucd-nav__link {
	position: relative;
	flex: 0 0 auto;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0.025em;
	color: var(--uv2-azure) !important;
	text-decoration: none !important;
	padding: 8px 14px;
	border-radius: 9999px;
	white-space: nowrap;
	transition: background 0.2s ease-out, color 0.2s ease-out;
}

.unipro-v2 .ucd-nav__link:hover {
	background: var(--uv2-azure-soft);
	color: var(--uv2-azure) !important;
}

.unipro-v2 .ucd-nav__link.is-active {
	background: var(--uv2-azure-soft);
	color: var(--uv2-navy) !important;
}

/* barretta sotto la voce attiva */
.unipro-v2 .ucd-nav__link.is-active::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: -1px;
	height: 2px;
	border-radius: 9999px;
	background: var(--uv2-azure);
}

@media (max-width: 768px) {
	.unipro-v2 .ucd-nav__inner {
		justify-content: flex-start;
		padding: 8px 4px;
	}
	.unipro-v2 .ucd-nav__link {
		font-size: 12px !important;
		padding: 6px 12px;
	}
}

/* -------------------------------------------------------------------------
 * Testo del corso (contenuto del prodotto, elemento "Post Content" Avada)
 * ------------------------------------------------------------------------- */

.unipro-v2 .fusion-content-tb h2 {
	font-size: 18px !important;
	line-height: 28px !important;
	font-weight: 700 !important;
	color: var(--uv2-navy) !important;
	text-transform: none !important;
	margin: 32px 0 16px !important;
}

.unipro-v2 .fusion-content-tb h3,
.unipro-v2 .fusion-content-tb h4 {
	font-size: 14px !important;
	line-height: 20px !important;
	font-weight: 600 !important;
	color: var(--uv2-navy) !important;
	text-transform: none !important;
	margin: 28px 0 8px !important;
}

.unipro-v2 .fusion-content-tb p {
	font-size: 12px !important;
	line-height: 1.625 !important;
	color: var(--uv2-body) !important;
	margin: 0 0 12px !important;
}

.unipro-v2 .fusion-content-tb ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0 0 12px !important;
}

.unipro-v2 .fusion-content-tb ul li {
	position: relative;
	padding-left: 14px;
	margin: 0 0 6px !important;
	font-size: 12px !important;
	line-height: 16px !important;
	color: var(--uv2-body) !important;
}

/* pallino azzurro al posto del disc */
.unipro-v2 .fusion-content-tb ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 6px;
	height: 6px;
	border-radius: 9999px;
	background: var(--uv2-azure);
}

.unipro-v2 .fusion-content-tb ol {
	padding-left: 18px !important;
	margin: 0 0 12px !important;
}

.unipro-v2 .fusion-content-tb ol li {
	margin: 0 0 6px !important;
	font-size: 12px !important;
	line-height: 16px !important;
	color: var(--uv2-body) !important;
}

.unipro-v2 .fusion-content-tb strong,
.unipro-v2 .fusion-content-tb b {
	font-weight: 600;
	color: inherit;
}

/* -------------------------------------------------------------------------
 * Titoli delle sezioni sotto la testata (Avada "Titolo" h2: correlati ecc.)
 * Esclude il container della testata, che ha l'h1 e il sottotitolo.
 * ------------------------------------------------------------------------- */

.fusion-fullwidth.unipro-v2:not(:has(h1)) h2.fusion-title-heading {
	font-size: 18px !important;
	line-height: 28px !important;
	font-weight: 700 !important;
	color: var(--uv2-navy) !important;
	text-transform: none !important;
}

/* -------------------------------------------------------------------------
 * Crediti professionali [unipro-crediti-professionali]
 * ------------------------------------------------------------------------- */

.unipro-v2 .ucd-cpb {
	padding: 20px;
	border-radius: 2px;
}

.unipro-v2 .ucd-cpb__title {
	font-size: 18px !important;
	line-height: 28px !important;
	font-weight: 700 !important;
	color: var(--uv2-navy) !important;
	text-transform: none !important;
	margin: 0 0 16px !important;
}

.unipro-v2 .ucd-cpb__link,
.unipro-v2 .ucd-cpb__link:hover {
	text-decoration: none !important;
}

.unipro-v2 .ucd-cpb__num {
	color: var(--uv2-navy);
}

.unipro-v2 .ucd-cpb__suffix {
	font-size: 16px;
	font-weight: 400;
	color: #4b5563;
}

.unipro-v2 .ucd-cpb__prof {
	font-size: 11px;
	font-weight: 600;
	color: var(--uv2-azure);
	text-decoration: none;
}

.unipro-v2 .ucd-cpb__link:hover .ucd-cpb__prof {
	text-decoration: underline;
}

.unipro-v2 .ucd-cpb__nota {
	font-size: 11px;
	color: var(--uv2-body);
}

/* -------------------------------------------------------------------------
 * Programma [unipro-programmacorso-v2] e titolo FAQ: stessa classe h2
 * ------------------------------------------------------------------------- */

.unipro-v2 h2.unipro_programmacorso {
	font-size: 18px !important;
	line-height: 28px !important;
	font-weight: 700 !important;
	color: var(--uv2-navy) !important;
	text-transform: none !important;
	margin: 0 0 20px !important;
}

/* -------------------------------------------------------------------------
 * FAQ colonna destra (accordion Avada .fusion-faqs-wrapper)
 * ------------------------------------------------------------------------- */

/* nella colonna destra il titolo "Domande frequenti" è una piccola etichetta */
.unipro-v2 .fusion_builder_column_2_5 h2.unipro_programmacorso {
	font-size: 12px !important;
	line-height: 16px !important;
	font-weight: 600 !important;
	color: var(--uv2-azure) !important;
	margin: 0 0 8px !important;
}

.unipro-v2 .fusion-faqs-wrapper .fusion-panel {
	border: 0 !important;
	border-bottom: 1px solid #e5e7eb !important;
	margin: 0 !important;
	background: transparent !important;
}

.unipro-v2 .fusion-faqs-wrapper .panel-title a {
	position: relative;
	display: block;
	padding: 10px 24px 10px 0 !important;
	text-decoration: none !important;
}

/* niente box "+": chevron a destra come nel prototipo */
.unipro-v2 .fusion-faqs-wrapper .fusion-toggle-icon-wrapper {
	display: none !important;
}

.unipro-v2 .fusion-faqs-wrapper .fusion-toggle-heading {
	margin: 0 !important;
	font-size: 12px !important;
	line-height: 16px !important;
	font-weight: 400 !important;
	color: var(--uv2-body) !important;
	text-decoration: none !important;
}

.unipro-v2 .fusion-faqs-wrapper .panel-title a::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 14px;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid #9ca3af;
	border-bottom: 1.5px solid #9ca3af;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.unipro-v2 .fusion-faqs-wrapper .panel-title a[aria-expanded="true"]::after {
	transform: rotate(-135deg);
	top: 17px;
}

.unipro-v2 .fusion-faqs-wrapper .panel-title a:hover .fusion-toggle-heading {
	color: var(--uv2-navy) !important;
}

.unipro-v2 .fusion-faqs-wrapper .panel-body {
	padding: 0 0 12px !important;
	font-size: 12px !important;
	line-height: 1.625 !important;
	color: var(--uv2-body) !important;
}

.unipro-v2 .fusion-faqs-wrapper .panel-body p {
	font-size: 12px !important;
	line-height: 1.625 !important;
	margin: 0 0 8px !important;
}

/* -------------------------------------------------------------------------
 * Form richiesta info [unipro-richiestainfo-v2]
 * ------------------------------------------------------------------------- */

.unipro-v2 .urf__title {
	color: var(--uv2-navy) !important;
}

/* -------------------------------------------------------------------------
 * Box prezzo v2 (unipro_price_dates_options_v2, include/woocommerce/unipro-price-v2.php)
 * Markup: .uv2-price > #unipro_blocco_prezzo > .unipro_prezzo_offerta_div >
 *   .unipro_badge_offerta, .uv2-row-main (.prezzo + .prezzo-originale),
 *   .uv2-row-sconto (.unipro_badge_sconto + .uv2-risparmi), .unipro_scadenza_offerta
 * ------------------------------------------------------------------------- */

.unipro-v2 .uv2-price .unipro_prezzo_offerta_div {
	margin-bottom: 16px;
}

/* etichetta promo ("Scelto per te" nel prototipo) */
.unipro-v2 .uv2-price .unipro_badge_offerta {
	display: inline-block;
	margin: 0 0 8px;
	padding: 3px 8px;
	border-radius: 2px;
	background: #fde68a;
	color: #1f2937;
	font-size: 9px;
	font-weight: 700 !important;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.unipro-v2 .uv2-row-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.unipro-v2 .uv2-price .prezzo {
	display: inline-block;
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	color: var(--uv2-navy) !important;
}

.unipro-v2 .uv2-price .prezzo .prezzo_taxes {
	margin-left: 4px;
	font-size: 11px !important;
	font-weight: 400;
	color: #6b7280;
}

.unipro-v2 .uv2-price .prezzo-originale {
	padding-left: 0 !important;
	font-size: 13px !important;
	color: var(--uv2-muted) !important;
	text-decoration: line-through;
}

.unipro-v2 .uv2-row-sconto {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
}

.unipro-v2 .uv2-price .unipro_badge_sconto {
	padding: 2px 6px !important;
	border-radius: 2px !important;
	background: var(--uv2-azure) !important;
	box-shadow: none !important;
	color: #ffffff;
	font-size: 10px !important;
	font-weight: 700;
	margin-left: 0 !important;
}

.unipro-v2 .uv2-risparmi {
	font-size: 11px;
	color: #4b5563;
}

.unipro-v2 .uv2-price .unipro_scadenza_offerta {
	margin-top: 6px;
	font-size: 11px;
	color: #6b7280;
}

/* riga acquisto: quantità sopra, poi "Acquista ora" + stella preferiti affiancati.
   :has(.uv2-price) = solo nei form dei prodotti con la spunta "Scheda corso v2" */
.unipro-v2 form.cart:has(.uv2-price) > .fusion-button-wrapper {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 8px;
}

.unipro-v2 form.cart:has(.uv2-price) > .fusion-button-wrapper > .quantity {
	flex: 0 0 100%;
	margin-bottom: 4px;
}

.unipro-v2 form.cart:has(.uv2-price) .single_add_to_cart_button {
	flex: 1 1 auto;
	width: auto !important;
	height: 40px !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 0 16px !important;
	line-height: 1 !important;
	align-items: center;
	justify-content: center;
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: 2px !important;
}

/* icona carrello prima di "Acquista ora" */
.unipro-v2 form.cart:has(.uv2-price) .single_add_to_cart_button::before {
	content: "\f07a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 8px;
}

.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-wrap {
	display: flex;
	flex: 0 0 40px;
	margin: 0 !important;
}

/* wrapper Avada attorno alla stella: via i suoi margini */
.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-wrap > .fusion-button-wrapper {
	display: flex;
	width: 40px;
	margin: 0 !important;
	padding: 0 !important;
}

/* preferiti: solo stella in un quadrato (il testo resta per gli screen reader) */
.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 2px !important;
	color: var(--uv2-muted) !important;
	box-shadow: none !important;
}

.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-btn:hover,
.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-btn.is-fav {
	border-color: var(--uv2-azure) !important;
	color: var(--uv2-azure) !important;
}

.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-btn .awb-button__icon {
	margin: 0 !important;
	font-size: 14px !important;
	color: inherit !important;
}

.unipro-v2 form.cart:has(.uv2-price) .unipro-fav-btn .awb-button__text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* garanzie sotto al bottone (unipro_price_v2_garanzie) */
.unipro-v2 .uv2-garanzie {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px 12px;
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	width: 100%;
}

.unipro-v2 .uv2-garanzie li {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 10px;
	line-height: 1.4;
	color: #6b7280;
}

.unipro-v2 .uv2-garanzie i {
	width: 12px;
	font-size: 10px;
	text-align: center;
	color: #16a34a;
}

/* il CSS legacy mette #forminfo_submit a tutta larghezza e maiuscolo */
.unipro-v2 .urf #forminfo_submit {
	width: auto !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 12px !important;
	padding: 10px 24px !important;
	border-radius: 2px !important;
}
