/**
 * DT Home PA – sezioni della home in card (grafica Bootstrap Italia del tema).
 *
 * Digital-Tech Web Agency – https://www.digital-tech.cloud
 */
.dth-done [hidden] { display: none !important; }

/* Link utili */
.dth-links { --dth-p: var(--bs-primary, #0b6e3e); margin-top: 2rem; }
.dth-links-h { margin: 0 0 1.25rem; font-size: 1.75rem; font-weight: 700; text-align: center; }
.dth-links-g { margin: 1.5rem 0 .75rem; font-size: .875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5c6f82; }
.dth-links-grid, .dth-quick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .875rem; margin: 0; padding: 0; list-style: none; }
.dth-links-grid li, .dth-quick-grid li { margin: 0; }
.dth-link { display: flex; align-items: center; gap: .875rem; height: 100%; padding: .875rem 1rem; border: 1px solid #d9dadb; border-radius: 8px; background: #fff; color: #1a1a1a; text-decoration: none; box-shadow: 0 2px 6px rgba(0, 0, 0, .04); transition: border-color .15s, box-shadow .15s, transform .15s; }
.dth-link:hover, .dth-link:focus { border-color: var(--dth-p); box-shadow: 0 8px 20px rgba(0, 0, 0, .08); transform: translateY(-2px); color: #1a1a1a; text-decoration: none; }
.dth-link-ico { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #e8f3ed; }
.dth-link-ico .icon { width: 1.5rem; height: 1.5rem; }
.dth-link-txt, .dth-quick-txt { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.dth-link-txt strong { font-size: 1rem; line-height: 1.3; color: var(--dth-p); }
.dth-link-txt span { overflow: hidden; font-size: .8125rem; color: #5c6f82; text-overflow: ellipsis; white-space: nowrap; }
.dth-link-go, .dth-quick-go { flex: 0 0 auto; opacity: .6; transition: opacity .15s, transform .15s; }
.dth-link:hover .dth-link-go, .dth-quick:hover .dth-quick-go { opacity: 1; transform: translateX(2px); }

/* Accesso rapido */
.dth-quick-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.dth-quick { display: flex; align-items: center; gap: 1rem; height: 100%; padding: 1.125rem 1.25rem; border-radius: 8px; background: var(--bs-primary, #0b6e3e); color: #fff; text-decoration: none; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); transition: background .15s, box-shadow .15s, transform .15s; }
.dth-quick:hover, .dth-quick:focus { background: #08552f; box-shadow: 0 10px 22px rgba(0, 0, 0, .15); transform: translateY(-2px); color: #fff; text-decoration: none; }
.dth-quick:focus-visible { outline: 3px solid #f90; outline-offset: 2px; }
.dth-quick-ico { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background: rgba(255, 255, 255, .16); }
.dth-quick-ico .icon { width: 1.625rem; height: 1.625rem; }
.dth-quick-txt strong { font-size: 1.1875rem; line-height: 1.25; }
.dth-quick-txt span { margin-top: .125rem; font-size: .875rem; opacity: .85; }

/* Siti tematici: freccia e passaggio del mouse */
.dth-site { position: relative; transition: box-shadow .15s, transform .15s; }
.dth-site:hover, .dth-site:focus { box-shadow: 0 10px 22px rgba(0, 0, 0, .18); transform: translateY(-2px); text-decoration: none; }
.dth-site .card-body { padding-right: 2rem; }
.dth-site-go { position: absolute; right: 1rem; bottom: 1rem; opacity: .75; }

@media (max-width: 575.98px) {
	.dth-links-grid, .dth-quick-grid { grid-template-columns: 1fr; }
	.dth-links-h { font-size: 1.5rem; }
}

/* Eventi */
.dth-ev { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: start; width: 100%; }
.dth-ev.has-wx { grid-template-columns: minmax(0, 1fr) 300px; }
.dth-ev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.dth-ev-grid li { margin: 0; }
.dth-evc { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid #d9dadb; border-radius: 8px; background: #fff; color: #1a1a1a; text-decoration: none; box-shadow: 0 2px 6px rgba(0, 0, 0, .04); transition: border-color .15s, box-shadow .15s, transform .15s; }
a.dth-evc:hover, a.dth-evc:focus { border-color: var(--bs-primary, #0b6e3e); box-shadow: 0 8px 20px rgba(0, 0, 0, .08); transform: translateY(-2px); color: #1a1a1a; text-decoration: none; }
.dth-evc-media { position: relative; display: block; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #0b6e3e, #13884f); }
.dth-evc.no-img .dth-evc-media { aspect-ratio: auto; height: 5.25rem; background: linear-gradient(135deg, #e8f3ed, #d1ecdf); }
.dth-evc-media::before { content: ""; position: absolute; inset: -20px; background: var(--dth-bg, none) center / cover; filter: blur(16px) brightness(.85); clip-path: inset(20px); }
.dth-evc-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.dth-evc-date { z-index: 2; }
.dth-evc-live { z-index: 2; }
.dth-evc.is-past .dth-evc-media img { filter: grayscale(.6); }
.dth-evc-date { position: absolute; left: .75rem; bottom: -1.25rem; display: flex; flex-direction: column; align-items: center; min-width: 3.25rem; padding: .25rem .5rem; border-radius: 8px; background: var(--bs-primary, #0b6e3e); color: #fff; font-size: .75rem; font-weight: 700; text-transform: uppercase; line-height: 1.1; box-shadow: 0 3px 8px rgba(0, 0, 0, .2); }
.dth-evc-date strong { font-size: 1.5rem; }
.dth-evc.is-past .dth-evc-date { background: #5c6f82; }
.dth-evc-live { position: absolute; right: .625rem; top: .625rem; padding: .125rem .5rem; border-radius: 10px; background: #fff; color: #0b5a33; font-size: .75rem; font-weight: 700; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); }
.dth-evc-txt { display: flex; flex: 1 1 auto; flex-direction: column; gap: .125rem; padding: 1.625rem 1rem 1rem; }
.dth-evc-txt > strong { font-size: 1.125rem; line-height: 1.3; color: var(--bs-primary, #0b6e3e); }
.dth-evc-wd { font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #5c6f82; }
.dth-evc-meta { display: flex; flex-direction: column; gap: .125rem; margin-top: .375rem; font-size: .875rem; color: #5c6f82; }
.dth-evc-meta span { display: inline-flex; align-items: center; gap: .375rem; }
.dth-evc-meta .icon { flex: none; fill: #5c6f82; }
.dth-ev-note { margin: 0 0 .75rem; color: #5c6f82; }
.dth-ev-empty { display: flex; gap: 1rem; align-items: center; padding: 1.25rem 1.5rem; border: 1px dashed #b8c4cf; border-radius: 8px; background: #fff; }
.dth-ev-empty .icon { width: 2.5rem; height: 2.5rem; flex: none; }
.dth-ev-empty p { margin: 0; }
.dth-ev-more { margin: 1.25rem 0 0; }
.dth-ev-more .btn { display: inline-flex; align-items: center; gap: .5rem; }
/* Il tempo */
.dth-wx { padding: 1.25rem; border-radius: 8px; background: linear-gradient(160deg, #eaf4fb, #fff 70%); border: 1px solid #d6e6f2; }
.dth-wx-h { margin: 0 0 .5rem; font-size: 1.125rem; font-weight: 700; }
.dth-wx-now { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.dth-wx-now strong { display: block; font-size: 2.5rem; line-height: 1; }
.dth-wx-now span { color: #33475b; }
.dth-wx-days { margin: 0; padding: 0; list-style: none; }
.dth-wx-days li { display: grid; grid-template-columns: 1fr 34px 76px 40px; align-items: center; gap: .25rem; margin: 0; padding: .375rem 0; border-top: 1px solid #e3ecf3; font-size: .9375rem; }
.dth-wx-d { font-weight: 600; text-transform: capitalize; }
.dth-wx-t { text-align: right; color: #5c6f82; }
.dth-wx-t strong { color: #1a1a1a; }
.dth-wx-r { text-align: right; font-size: .8125rem; color: #1a5a8f; }
.dth-wx-src { margin: .75rem 0 0; font-size: .75rem; color: #5c6f82; }
.dth-wx-src a { color: inherit; }
@media (max-width: 991.98px) { .dth-ev.has-wx { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .dth-ev-grid { grid-template-columns: 1fr; } }
