/**
 * DT Schede Turismo – schede delle attività (grafica Bootstrap Italia del tema).
 *
 * Digital-Tech Web Agency – https://www.digital-tech.cloud
 */
.dtt {
	--dtt-p: var(--bs-primary, #0b6e3e);
	--dtt-line: #d9dadb;
	--dtt-muted: #5c6f82;
	--dtt-soft: #f2f7f4;
	margin: 0 0 2.5rem;
}
.dtt [hidden], .dtt-source[hidden] { display: none !important; }
.dtt-ico { width: 18px; height: 18px; flex: 0 0 auto; }

/* Ricerca e filtri */
.dtt-tools { display: grid; gap: 1rem; padding: 1.25rem 1.25rem .5rem; margin-bottom: 1rem; border: 1px solid var(--dtt-line); border-radius: 6px; background: #fafbfc; }
.dtt-search { margin-bottom: .25rem !important; }
.dtt-search .dtt-label { position: static !important; transform: none !important; display: block; margin: 0 0 .4rem; padding: 0; font-size: .95rem !important; font-weight: 600; color: #1a1a1a; background: none; width: auto; }
.dtt-search input { height: 2.75rem; padding: 0 .9rem; border: 1px solid #8a9aa9 !important; border-radius: 4px; }
.dtt-search input { background: #fff; }
.dtt-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.dtt-filter-label { font-weight: 600; font-size: .9rem; min-width: 5.5rem; }
.dtt-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.dtt-chip { padding: .3rem .85rem; border: 1px solid var(--dtt-p); border-radius: 1rem; background: #fff; color: var(--dtt-p); font-size: .85rem; font-weight: 600; line-height: 1.4; cursor: pointer; }
.dtt-chip:hover { background: var(--dtt-soft); }
.dtt-chip[aria-pressed="true"] { background: var(--dtt-p); color: #fff; }
.dtt-chip:focus-visible { outline: 2px solid #f90; outline-offset: 2px; }
.dtt-count { font-size: .9rem; color: var(--dtt-muted); margin: 0 0 .75rem; }

/* Schede */
.dtt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem; }
.dtt-card { display: flex; flex-direction: column; padding: 1.2rem 1.25rem; border: 1px solid var(--dtt-line); border-radius: 6px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .04); }
.dtt-card-top { display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; }
.dtt-type { padding: .15rem .6rem; border-radius: 1rem; background: var(--dtt-soft); color: var(--dtt-p); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.dtt-place { font-size: .85rem; color: var(--dtt-muted); }
.dtt-name { font-size: 1.25rem !important; font-weight: 700; margin: .55rem 0 .35rem !important; line-height: 1.3; }
.dtt-desc { font-size: .95rem; line-height: 1.5; color: #33475b; margin: 0 0 .75rem; }
.dtt-contacts { list-style: none; padding: 0; margin: 0 0 .9rem; font-size: .95rem; }
.dtt-contacts li { display: flex; gap: .5rem; align-items: flex-start; margin-bottom: .3rem; }
.dtt-contacts .dtt-ico { color: var(--dtt-p); margin-top: .15rem; }
.dtt-contacts a { font-weight: 600; }
.dtt-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; padding-top: .25rem; }
.dtt-btn { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .8rem; border: 1px solid var(--dtt-p); border-radius: 4px; color: var(--dtt-p); font-size: .88rem; font-weight: 600; text-decoration: none; background: #fff; }
.dtt-btn:hover, .dtt-btn:focus { background: var(--dtt-soft); color: var(--dtt-p); }
.dtt-btn-primary { background: var(--dtt-p); color: #fff; }
.dtt-btn-primary:hover, .dtt-btn-primary:focus { background: #08552f; color: #fff; }
.dtt-card-urgent { border-left: 4px solid #c02525; }
.dtt-card-urgent .dtt-type { background: #fbe6e6; color: #9b1c1c; }
.dtt-empty { padding: 1.5rem; border: 1px dashed #b8c2cc; border-radius: 6px; background: #fafbfc; }
.dtt-empty p { margin: 0; }
.dtt-note { margin-top: 1.25rem; font-size: .85rem; color: var(--dtt-muted); }

@media (max-width: 575.98px) {
	.dtt-tools { padding: 1rem 1rem .25rem; }
	.dtt-filter { flex-direction: column; align-items: flex-start; }
	.dtt-grid { grid-template-columns: 1fr; }
	.dtt-btn { flex: 1 1 auto; justify-content: center; }
}
