.bdq-widget {
	--nq-verde: #3a6b52;
	--nq-verde-scuro: #2c5240;
	--nq-verde-chiaro: #e7f0ea;
	--nq-crema: #faf9f5;
	--nq-bordo: #e3e0d6;
	--nq-testo: #2b2f2c;
	--nq-testo-secondario: #6f736e;
	--nq-ombra: 0 2px 10px rgba(30, 40, 30, 0.07), 0 1px 2px rgba(30, 40, 30, 0.05);

	max-width: 720px;
	margin: 0 auto;
	font-family: inherit;
	color: var(--nq-testo);
	box-sizing: border-box;
	background: var(--nq-crema);
	border: 1px solid var(--nq-bordo);
	border-radius: 16px;
	box-shadow: var(--nq-ombra);
	padding: 28px 30px 26px;
}
.bdq-widget * {
	box-sizing: border-box;
}
.bdq-widget .bdq-titolo {
	margin: 0 0 8px;
	font-size: 1.32em;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--nq-testo) !important;
}
.bdq-widget h4 {
	color: var(--nq-testo) !important;
}
.bdq-sottotitolo {
	margin: 0 0 22px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--nq-bordo);
	color: var(--nq-testo-secondario);
	font-size: 0.95em;
	line-height: 1.5;
}

.bdq-filtri {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}
.bdq-filtro {
	background: #fff;
	border: 1px solid var(--nq-bordo);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 0.85em;
	cursor: pointer;
	color: var(--nq-testo);
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bdq-filtro:hover {
	background: var(--nq-verde-chiaro);
	border-color: var(--nq-verde);
}
.bdq-filtro.bdq-filtro-attivo {
	background: var(--nq-verde);
	border-color: var(--nq-verde);
	color: #fff;
}

.bdq-elenco {
	margin-bottom: 30px;
}
.bdq-elenco-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.bdq-annuncio {
	display: flex;
	gap: 12px;
	background: #fff;
	border: 1px solid var(--nq-bordo);
	border-radius: 12px;
	padding: 14px;
	box-shadow: var(--nq-ombra);
}
.bdq-annuncio-foto {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 8px;
	flex: 0 0 auto;
}
.bdq-annuncio-testo {
	flex: 1 1 auto;
	min-width: 0;
}
.bdq-badge {
	display: inline-block;
	background: var(--nq-verde-chiaro);
	color: var(--nq-verde-scuro);
	font-size: 0.74em;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 999px;
	margin-bottom: 4px;
}
.bdq-annuncio-titolo {
	display: block;
	font-size: 1.05em;
	font-weight: 600;
}
.bdq-annuncio-meta {
	display: block;
	font-size: 0.82em;
	color: var(--nq-testo-secondario);
	margin: 2px 0 6px;
}
.bdq-annuncio-descrizione {
	margin: 0 0 10px;
	font-size: 0.92em;
	color: var(--nq-testo);
	white-space: pre-line;
}

.bdq-apri-contatto {
	background: none;
	border: 1px solid var(--nq-verde);
	color: var(--nq-verde);
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 0.85em;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.bdq-apri-contatto:hover {
	background: var(--nq-verde);
	color: #fff;
}

.bdq-form-contatto {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed var(--nq-bordo);
}

.bdq-form-contenitore h4 {
	margin: 0 0 8px;
	font-size: 1em;
	font-weight: 700;
}
.bdq-form-istruzioni {
	margin: 0 0 18px;
	color: var(--nq-testo-secondario);
	font-size: 0.92em;
	line-height: 1.5;
}
.bdq-campo {
	margin-bottom: 16px;
}
.bdq-etichetta {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 0.95em;
}
.bdq-campo input[type="text"],
.bdq-campo input[type="email"],
.bdq-campo input[type="file"],
.bdq-campo select,
.bdq-campo textarea {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--nq-bordo);
	border-radius: 10px;
	font-family: inherit;
	font-size: 1em;
	background: #fff;
	color: var(--nq-testo);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.bdq-campo input[type="text"]:focus,
.bdq-campo input[type="email"]:focus,
.bdq-campo select:focus,
.bdq-campo textarea:focus {
	outline: none;
	border-color: var(--nq-verde);
	box-shadow: 0 0 0 3px var(--nq-verde-chiaro);
}
.bdq-campo textarea {
	resize: vertical;
}
.bdq-descrizione-campo {
	margin: 6px 0 0;
	font-size: 0.82em;
	color: var(--nq-testo-secondario);
}
.bdq-nascondi {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.bdq-invia {
	background: var(--nq-verde);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 10px 24px;
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
	transition: background-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}
.bdq-invia:hover {
	background: var(--nq-verde-scuro);
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}
.bdq-invia:active {
	transform: translateY(1px);
}
.bdq-invia:disabled {
	opacity: 0.6;
	cursor: default;
	box-shadow: none;
}
.bdq-messaggio-stato {
	margin: 10px 0 0;
	font-size: 0.88em;
	min-height: 1.2em;
}
.bdq-messaggio-stato.bdq-errore {
	color: #b3261e;
}
.bdq-messaggio-stato.bdq-successo {
	color: var(--nq-verde-scuro);
}

@media (max-width: 480px) {
	.bdq-widget {
		padding: 22px 18px 20px;
		border-radius: 12px;
	}
}

/* Il tema del sito non ha una propria modalità scura: il widget resta
   sempre nella sua palette chiara (coerente col resto della pagina)
   invece di reagire da solo alla preferenza del dispositivo, cosa che
   creerebbe un riquadro scuro isolato su una pagina chiara. */
