/**
 * Stili front-end del plugin Tomify Eventi.
 * Prefissati con "tomify-" per non interferire col tema.
 * La variabile --tomify-cat contiene il colore della categoria dell'evento.
 */

/* ---------------------------------------------------------------- *
 *  Elenco eventi (shortcode [eventi_lista]) - card
 * ---------------------------------------------------------------- */
.tomify-eventi-lista {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
	margin: 24px 0;
}

.tomify-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tomify-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.tomify-card__img img {
	display: block;
	width: 100%;
	height: 170px;
	object-fit: cover;
}

.tomify-card__head {
	padding: 14px 18px;
	min-height: 14px;
}

.tomify-card__cat {
	color: var(--tomify-cat-testo, #fff);
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tomify-card__body {
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.tomify-card__meta {
	font-size: 0.85rem;
	color: #6b7280;
}

.tomify-card__title {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
}

.tomify-card__title a {
	color: #1f2937;
	text-decoration: none;
	background-color: unset;
}

.tomify-card__excerpt {
	margin: 0;
	color: #4b5563;
	font-size: 0.95rem;
	flex: 1;
}

.tomify-card__more {
	font-weight: 700;
	text-decoration: none;
	margin-top: 4px;
	background-color: unset !important;
}

/* ---------------------------------------------------------------- *
 *  Scheda singolo evento
 * ---------------------------------------------------------------- */
.tomify-single {
	display: block;
}

/* Info pratiche */
.tomify-info {
	background: #f8f9fa;
	border-left: 5px solid var(--tomify-cat, #ecb336);
	border-radius: 8px;
	padding: 16px 20px;
	margin: 0 0 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 36px;
}

.tomify-info__riga {
	display: flex;
	flex-direction: column;
}

.tomify-info__label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6b7280;
}

.tomify-info__valore {
	font-weight: 600;
	color: #1f2937;
}

.tomify-single__descrizione {
	margin-bottom: 32px;
}

/* Riquadri in evidenza */
.tomify-riquadri-wrap {
	margin: 0 0 32px;
}

.tomify-riquadro--evidenza {
	border: 1px solid transparent;
	border-radius: 16px;
	padding: 26px 30px;
	margin-bottom: 22px;
	box-shadow: none;
}

.tomify-riquadro__punto {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.tomify-riquadro__chevron {
	font-weight: 800;
	font-size: 1.3rem;
	line-height: 1.35;
}

.tomify-riquadri {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}

.tomify-riquadro {
	background: #fff;
	border-radius: 14px;
	padding: 26px 28px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.tomify-riquadro__titolo {
	margin: 0 0 10px;
	font-size: 1.6rem;
	line-height: 1.2;
	color: #1f2937;
}

.tomify-riquadro__testo {
	margin: 0;
	color: #6b7280;
	font-size: 1rem;
	line-height: 1.5;
}

/* Format della serata */
.tomify-format {
	background: #fff;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
	margin: 0 0 32px;
}

.tomify-format__titolo {
	margin: 0 0 22px;
	font-size: 2rem;
	color: #1f2937;
}

.tomify-format__griglia {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 18px;
}

.tomify-fase {
	background: #faf9f6;
	border-radius: 12px;
	padding: 20px;
}

.tomify-fase__tempo {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 10px;
}

.tomify-fase__sottotitolo {
	font-weight: 700;
	color: #1f2937;
	margin-bottom: 6px;
}

.tomify-fase__desc {
	color: #6b7280;
	font-size: 0.95rem;
	line-height: 1.45;
}

/* Box iscrizione */
.tomify-iscrizione {
	background: #fff;
	border-top: 4px solid var(--tomify-cat, #ecb336);
	border-radius: 12px;
	padding: 26px 28px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
	margin: 0 0 28px;
}

.tomify-iscrizione__titolo {
	margin: 0 0 8px;
	font-size: 1.5rem;
	color: #1f2937;
}

.tomify-iscrizione__riga {
	font-weight: 600;
	margin: 0 0 6px;
}

.tomify-iscrizione__placeholder {
	color: #9ca3af;
	margin: 0;
}

/* Form iscrizione */
.tomify-form {
	margin-top: 14px;
}

.tomify-form__riga {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.tomify-form label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	color: #374151;
	margin-bottom: 12px;
	flex: 1 1 200px;
	min-width: 0;
	box-sizing: border-box;
}

.tomify-form input[type="text"],
.tomify-form input[type="email"],
.tomify-form input[type="tel"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 4px;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 1rem;
}

.tomify-form__submit {
	display: inline-block;
	margin-top: 6px;
	padding: 12px 26px;
	border: 0;
	border-radius: 8px;
	color: var(--tomify-cat-testo, #fff);
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
}

.tomify-form__submit:hover {
	filter: brightness(0.93);
}

/* Scelta metodo di pagamento */
.tomify-form__metodi {
	margin: 4px 0 14px;
}

.tomify-form__metodi-label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	color: #374151;
	margin-bottom: 6px;
}

.tomify-form__metodo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 20px;
	font-weight: 500;
}

/* Dati bonifico (in pagina dopo l'iscrizione) */
.tomify-bonifico {
	margin-top: 14px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
}

.tomify-bonifico__riga {
	display: flex;
	gap: 16px;
	padding: 10px 14px;
	border-bottom: 1px solid #f0f0f0;
}

.tomify-bonifico__riga:last-child {
	border-bottom: 0;
}

.tomify-bonifico__label {
	flex: 0 0 130px;
	font-weight: 700;
	color: #374151;
}

.tomify-bonifico__val {
	color: #1f2937;
	word-break: break-word;
}

/* Avvisi */
.tomify-alert {
	padding: 14px 16px;
	border-radius: 8px;
	margin: 12px 0;
}

.tomify-alert--ok {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.tomify-alert--err {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

/* Bottone PayPal wrapper */
.tomify-paypal-button {
	margin-top: 12px;
	max-width: 380px;
}

/* ---------------------------------------------------------------- *
 *  Grafica B — lista compatta con badge data
 * ---------------------------------------------------------------- */
.tomify-eventi-lista--b {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.tomify-card--b {
	flex-direction: row;
	align-items: stretch;
	overflow: hidden;
}

.tomify-cardb__data {
	flex: 0 0 76px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--tomify-cat-testo, #fff);
	padding: 12px;
}

.tomify-cardb__giorno {
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1;
}

.tomify-cardb__mese {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tomify-cardb__body {
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
}

.tomify-cardb__cat {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tomify-cardb__title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.25;
}

.tomify-cardb__title a {
	color: #1f2937;
	text-decoration: none;
	background-color: unset;
}

.tomify-cardb__meta {
	font-size: 0.85rem;
	color: #6b7280;
}

/* ---------------------------------------------------------------- *
 *  Grafica C — hero con immagine di sfondo
 * ---------------------------------------------------------------- */
.tomify-eventi-lista--c {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.tomify-card--c {
	box-shadow: none;
	background: transparent;
}

.tomify-cardc__link {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 280px;
	border-radius: 12px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	text-decoration: none;
}

.tomify-cardc__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.15) 60%, rgba(0, 0, 0, 0) 100%);
}

.tomify-cardc__content {
	position: relative;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tomify-cardc__cat {
	align-self: flex-start;
	color: var(--tomify-cat-testo, #fff);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}

.tomify-cardc__data {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9rem;
}

.tomify-cardc__title {
	color: var(--tomify-cat-testo, #fff);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.25;
}

/* ---------------------------------------------------------------- *
 *  Grafica D — card evento "in evidenza" (banner orizzontale)
 * ---------------------------------------------------------------- */
.tomify-eventi-lista--d {
	display: flex;
	flex-direction: column;
	gap: 24px;
	grid-template-columns: none;
}

.tomify-card--d {
	display: block;
	background: #fff;
	border-left: 6px solid var(--tomify-cat, #ecb336);
	border-radius: 16px;
	padding: 32px 38px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

.tomify-cardd__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.tomify-cardd__cat {
	color: var(--tomify-cat-testo, #fff);
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 999px;
}

.tomify-cardd__meta {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	color: #4b5563;
}

.tomify-cardd__metaitem {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 1rem;
}

.tomify-cardd__metaitem .tomify-box__icona {
	line-height: 0;
}

.tomify-cardd__title {
	margin: 0 0 16px;
	font-size: 2.1rem;
	line-height: 1.2;
}

.tomify-cardd__title a {
	color: #1f2937;
	text-decoration: none;
	background-color: unset;
}

.tomify-cardd__desc {
	margin: 0 0 18px;
	color: #6b7280;
	font-size: 1.05rem;
	line-height: 1.6;
}

.tomify-cardd__more {
	font-weight: 700;
	text-decoration: none;
	background-color: unset !important;
}

/* ---------------------------------------------------------------- *
 *  Grafica E — header colorato con categoria + data/ora
 * ---------------------------------------------------------------- */
.tomify-carde__head {
	padding: 24px 20px;
	text-align: center;
	color: var(--tomify-cat-testo, #fff);
}

.tomify-carde__cat {
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.95rem;
	margin-bottom: 14px;
}

.tomify-carde__meta {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 26px;
	font-size: 1.05rem;
}

.tomify-carde__meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.tomify-carde__meta .tomify-box__icona {
	line-height: 0;
}

/* ---------------------------------------------------------------- *
 *  Shortcode singolo campo
 * ---------------------------------------------------------------- */
.tomify-campo--immagine img {
	max-width: 100%;
	height: auto;
}

/* ---------------------------------------------------------------- *
 *  Template dedicato singolo evento (hero + body)
 * ---------------------------------------------------------------- */
.tomify-single--full {
	display: block;
}

/* Nasconde la barra titolo del tema sul singolo evento (titolo gia nell'hero).
   Coperti i selettori comuni del tema GoodLayers/greennature; se il titolo
   resta visibile, va aggiunto qui il selettore specifico del tema. */
body.tomify-single-evento .greennature-page-title-wrapper,
body.tomify-single-evento .greennature-page-title-wrap,
body.tomify-single-evento .greennature-page-title,
body.tomify-single-evento .greennature-single-article-title,
body.tomify-single-evento .gdlr-core-page-title-item,
body.tomify-single-evento .gdlr-core-page-title-wrap,
body.tomify-single-evento .page-title-wrap,
body.tomify-single-evento .single-article-title {
	display: none !important;
}

.tomify-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 320px;
	padding: 48px 20px;
	background-size: cover;
	background-position: center;
	color: var(--tomify-cat-testo, #fff);
}

.tomify-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.15);
}

.tomify-hero__overlay--img {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6));
}

/* Hero con tinta categoria (senza immagine): pill e icone leggibili sul colore */
.tomify-hero--tinta .tomify-hero__cat {
	background-color: rgba(255, 255, 255, 0.22) !important;
}

.tomify-hero--tinta .tomify-hero__meta .tomify-box__icona {
	color: var(--tomify-cat-testo, #fff) !important;
}

.tomify-hero__content {
	position: relative;
	max-width: 900px;
}

.tomify-hero__cat {
	display: inline-block;
	color: var(--tomify-cat-testo, #fff);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 8px 20px;
	border-radius: 999px;
	margin-bottom: 18px;
}

.tomify-hero__title {
	color: var(--tomify-cat-testo, #fff);
	font-size: clamp(2rem, 5vw, 3.2rem);
	font-style: italic;
	line-height: 1.15;
	margin: 0 0 20px;
}

.tomify-hero__meta {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 34px;
	font-size: 1.05rem;
	color: rgba(255, 255, 255, 0.92);
}

.tomify-hero__meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.tomify-hero__meta .tomify-box__icona {
	line-height: 0;
}

.tomify-single-body {
	max-width: 900px;
	margin: 0 auto;
	padding: 50px 20px;
}

.tomify-single-body__titolo {
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	margin: 0 0 20px;
	color: #1f2937;
}

/* Blocco intro categoria principale (titolo + descrizione) */
.tomify-cat-intro {
	margin: 0 0 30px;
}

.tomify-cat-intro__titolo {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 10px;
}

.tomify-cat-intro__desc {
	color: #4b5563;
	font-size: 1.05rem;
	line-height: 1.6;
}

/* Badge categoria secondaria (in tutti i design) */
.tomify-cat-sec {
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
	padding: 3px 12px;
	border-radius: 999px;
	color: var(--tomify-cat-testo, #fff);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.6;
}

/* Box "Informazioni pratiche" (recap) */
.tomify-infopratiche {
	border-radius: 16px;
	padding: 30px 34px;
	margin: 0 0 28px;
}

.tomify-infopratiche__titolo {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 20px;
	color: #1f2937;
}

.tomify-infopratiche__griglia {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 48px;
}

.tomify-infop__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.tomify-infop__item .tomify-box__icona {
	line-height: 0;
	margin-top: 2px;
}

.tomify-infop__label {
	display: block;
	font-weight: 700;
	color: #1f2937;
}

.tomify-infop__val {
	display: block;
	color: #4b5563;
}

.tomify-infopratiche__nota {
	margin: 22px 0 0;
	font-style: italic;
	color: #4b5563;
}

/* ---------------------------------------------------------------- *
 *  Box informativi (QUANDO / DOVE / CONTATTI)
 * ---------------------------------------------------------------- */
.tomify-box {
	background: #f7f5f0;
	border-radius: 18px;
	padding: 30px 34px;
	margin: 16px 0;
}

.tomify-box__label {
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.85rem;
	margin-bottom: 18px;
}

.tomify-box__riga {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
	color: #4b5563;
	text-decoration: none;
}

.tomify-box__riga:last-child {
	margin-bottom: 0;
}

.tomify-box__icona {
	flex: 0 0 auto;
	line-height: 0;
	margin-top: 2px;
}

.tomify-box__testo {
	font-size: 1.15rem;
	line-height: 1.4;
	color: #4b5563;
}

.tomify-box__testo.is-bold,
.tomify-box__testo strong {
	font-weight: 700;
	color: #1f2937;
}

/* Card contatti organizzazione */
.tomify-contatti__nome {
	font-weight: 700;
	color: #1f2937;
	font-size: 1.15rem;
	margin: 0 0 8px;
}

.tomify-contatti__intro {
	color: #6b7280;
	margin: 0 0 18px;
}

.tomify-contatti__righe {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 40px;
	margin-bottom: 12px;
}

/* Messaggio "nessun evento" */
.tomify-vuoto {
	padding: 24px;
	background: #f8f9fa;
	border-radius: 8px;
	color: #6b7280;
	text-align: center;
}

/* Nota facoltativa sul prezzo (condizioni di sconto, scadenze) */
.tomify-iscrizione__notaprezzo {
	margin: 0 0 10px;
	padding: 10px 14px;
	border-left: 4px solid var(--tomify-cat, #ecb336);
	background: #fbfbf7;
	color: #4b5563;
	font-size: 0.9rem;
	line-height: 1.45;
}

/* Prezzo di riferimento barrato */
.tomify-prezzo__pieno {
	text-decoration: line-through;
	color: #9ca3af;
	font-weight: 600;
	margin-right: 4px;
}

/* Avviso con la scadenza dello sconto */
.tomify-iscrizione__scadenza {
	margin: 0 0 10px;
	padding: 8px 14px;
	border-left: 4px solid var(--tomify-cat, #ecb336);
	background: #fffbea;
	color: #4b5563;
	font-size: 0.92rem;
}
