/* ============================================================
   DM Aziende – stile frontend shortcode
   ============================================================ */

:root {
	--dm-primary:       #1a56db;
	--dm-primary-light: #e8f0fe;
	--dm-accent:        #0d47a1;
	--dm-text:          #002864;
	--dm-text-muted:    #64748b;
	--dm-border:        #e2e8f0;
	--dm-bg:            #f8fafc;
	--dm-card-bg:       #ffffff;
	--dm-radius:        10px;
	--dm-radius-sm:     6px;
	--dm-shadow:        0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.05);
	--dm-shadow-hover:  0 4px 12px rgba(0,0,0,.12), 0 12px 32px rgba(0,0,0,.08);
	--dm-transition:    .2s ease;
	--dm-gimav-azzurro: #e9f7f7;
	--dm-gimav-blu:	  #002864;
	--dm-gimav-verde:	  #a6c2b7;
	--dm-gimav-blu:     #002864;
	--dm-gimav-blu-light:   #e2e7ee;
	--dm-gimav-rosso:     #e38c6c;
	--dm-gimav-rosso-light:   #e2e7ee;


	--dm-settori-bg: #064686;
	--dm-settori-color: #eaf4ff ;
   --dm-mercati-bg: #a6c2b7 ;
	--dm-mercati-color: #356653;
	--dm-fondi-bg: #e38c6c;
	--dm-fondi-color: #4f1b08;





 
}

/* ── Wrapper ────────────────────────────────────────────── */
.dm-aziende-wrapper {
	font-family: inherit;
	color: var(--dm-text);
}

/* ── Filtri ─────────────────────────────────────────────── */
.dm-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-start;
	background: var(--dm-bg);
	border: 1px solid var(--dm-border);
	border-radius: var(--dm-radius);
	padding: 20px;
	margin-bottom: 24px;

	flex-direction:row;
}

.dm-filter-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
	/*flex: 1 1 200px;*/
}

.dm-filter-label {
	font-size: .75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--dm-text-muted);
	display: flex;
	align-items: center;
	gap: 5px;
}

/*_____ Dimensioni filter group__________________*/

.dm-filter-search{
	width:100%;
}
.dm-filter-group-settori {
	width:100%;
}


/* Ricerca */
.dm-filter-search {
	/*flex: 1 1 260px;*/
}

.dm-search-input {
	width: 100%;
	padding: 9px 14px;
	border: 1.5px solid var(--dm-border);
	border-radius: var(--dm-radius-sm);
	font-size: .9rem;
	color: var(--dm-text);
	background: #fff;
	transition: border-color var(--dm-transition), box-shadow var(--dm-transition);
	outline: none;
	box-sizing: border-box;
}

.dm-search-input:focus {
	border-color: var(--dm-primary);
	box-shadow: 0 0 0 3px rgba(26,86,219,.15);
}

/* Tag filtro */
.dm-filter-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.dm-filter-tag {
	padding: 5px 12px;
	border: 1.5px solid var(--dm-gimav-blu);
	border-radius: 999px;
	background: #fff;
	color: var(--dm-text);
	font-size: .8rem;
	font-weight: 500;
	cursor: pointer;
	transition: all var(--dm-transition);
	line-height: 1.2;
}

.dm-filter-tag:hover {
	border-color: var(--dm-gimav-blu);
	color: var(--dm-gimav-blu);
	background:var(--dm-gimav-blu-light);
}

.dm-filter-tag[aria-pressed="true"],
.dm-filter-tag.is-active {
	background: var(--dm-gimav-blu);
	border-color: var(--dm-gimav-blu);
	color: #fff;
}

/* Reset filtri */
.dm-filter-reset-wrap {
	justify-content: flex-end;
	align-self: flex-end;
}

.dm-reset-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 14px;
	border: 1.5px solid var(	--dm-gimav-rosso);
	border-radius: var(--dm-radius-sm);
	background: transparent;
	color: var(	--dm-gimav-rosso);
	font-size: .8rem;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--dm-transition);
}

.dm-reset-btn:hover {
	background: var(	--dm-gimav-rosso);
	color: #fff;
}

/* ── Contatore risultati ─────────────────────────────────── */
.dm-results-info {
	font-size: .85rem;
	color: var(--dm-text-muted);
	margin-bottom: 16px;
}

.dm-results-info #dm-count {
	font-weight: 700;
	color: var(--dm-primary);
}

/* ── Griglia ─────────────────────────────────────────────── */
.dm-grid {
	display: grid;
	gap: 20px;
}

.dm-grid-cols-1 { grid-template-columns: 1fr; }
.dm-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.dm-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.dm-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.dm-grid-cols-5 { grid-template-columns: repeat(5, 1fr); }
.dm-grid-cols-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 1024px) {
	.dm-grid-cols-4,
	.dm-grid-cols-5,
	.dm-grid-cols-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.dm-grid-cols-3,
	.dm-grid-cols-4,
	.dm-grid-cols-5,
	.dm-grid-cols-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.dm-grid { grid-template-columns: 1fr !important; }
	.dm-filters { flex-direction: column; }
	.dm-filter-group { flex: 1 1 100%; }
}

/* ── Card ────────────────────────────────────────────────── */
.dm-card {
	background: var(--dm-card-bg);
	border: 1px solid var(--dm-border);
	border-radius: var(--dm-radius);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	box-shadow: var(--dm-shadow);
	transition: box-shadow var(--dm-transition), transform var(--dm-transition);
}

.dm-card:hover {
	box-shadow: var(--dm-shadow-hover);
	transform: translateY(-2px);
}

/* Card nascosta dal filtro */
.dm-card.is-hidden {
	display: none;
}

/* Logo */
.dm-card__logo {
	display: flex;
	align-items: center;
	
	margin-bottom: 4px;
}

.dm-card__logo img {
	/*max-height: 56px;
	max-width: 140px;*/
	width: auto;
	object-fit: contain;
}

/* Header */
.dm-card__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}

.dm-card__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--dm-text);
}

.dm-card__provincia {
	flex-shrink: 0;
	font-size: .72rem;
	font-weight: 600;
	background: var(--dm-gimav-blu-light);
	color: var(--dm-gimav-blu);
	border-radius: 4px;
	padding: 2px 7px;
	margin-top: 2px;
}

/* Excerpt */
.dm-card__excerpt {
	font-size: .85rem;
	color: var(--dm-text-muted);
	line-height: 1.55;
	flex: 1;
}

/* Info (indirizzo, tel, email) */
.dm-card__info {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: .82rem;
	color: var(--dm-text-muted);
}

.dm-card__info .dm-icon {
	flex-shrink: 0;
	margin-top: 2px;
	opacity: .7;
	color:var(--dm-text);
}

.dm-card__phones a,
.dm-card__emails a {
	color: var(--dm-text-muted);
	text-decoration: none;
	display: block;
}

.dm-card__phones a:hover,
.dm-card__emails a:hover {
	color: var(--dm-primary);
	text-decoration: underline;
}

/* Link */
.dm-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.dm-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .8rem;
	font-weight: 500;
	text-decoration: none;
	padding: 5px 12px;
	border-radius: var(--dm-radius-sm);
	transition: all var(--dm-transition);
	border: 1.5px solid transparent;
}

.dm-link--primary {
	background: var(--dm-gimav-blu);
	color: #fff;
	border-color: var(--dm-gimav-blu);
}

.dm-link--primary:hover {
	background: #fff;
	border-color: var(--dm-gimav-blu);
	color: var(--dm-gimav-blu) !important;
}

.dm-link:not(.dm-link--primary) {
	border-color: var(--dm-border);
	color: var(--dm-text-muted);
}

.dm-link:not(.dm-link--primary):hover {
	border-color: var(--dm-gimav-blu);
	color: var(--dm-gimav-blu) !important;
}

/* Termini / Badge */
.dm-card__terms {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 10px;
	padding-top: 6px;
	border-top: 1px solid var(--dm-border);
}

.dm-term {
	font-size: .7rem;
	font-weight: 500;
	padding: 2px 8px;
	border-radius: 999px;
	line-height: 1.4;
}

.dm-term--settori  { background: var(--dm-settori-bg); color: var(--dm-settori-color); }
.dm-term--mercati  { background:  var(--dm-mercati-bg); color: var(--dm-mercati-color); }
.dm-term--fondi    { background:  var(--dm-fondi-bg); color: var(--dm-fondi-color); }

/* Icone */
.dm-icon {
	vertical-align: middle;
}

/* Nessun risultato */
.dm-no-results {
	text-align: center;
	color: var(--dm-text-muted);
	padding: 40px 0;
	font-size: .95rem;
}

/* ── Modifiche Alex ────────────────────────────────── */

.dm-grid article{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.dm-card-left{	
	width:100%;
	display:flex;
	flex-direction: column;
	justify-content:center;
	border:1px solid #a6c2b7;
	
}
.dm-card__logo{
	display:flex;
	flex-direction: row;
	justify-content:center;
	margin-bottom:0;
}


.dm-card-right{	
	width:100%;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	
}

@media (min-width: 576px) {}
@media (min-width: 768px) {
	.dm-grid article{
		flex-wrap: nowrap;
	}
	.dm-card-left{	
		width:20%;
		aspect-ratio:1/1;
	}
	.dm-card-right{	
		width:80%;	
	}
	.dm-card__logo{		
		margin-bottom: inherit;
	}

}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
@media (min-width: 1400px) {}


