/* BDP Boxes – cambia i colori qui (o sovrascrivi le variabili nel CSS aggiuntivo del tema). */
:root {
	--bdpb-premium-bg: #101216;
	--bdpb-premium-fg: #f3f4f6;
	--bdpb-premium-muted: #a3a8b3;
	--bdpb-accent: #f5a524;
	--bdpb-accent-fg: #111;
	--bdpb-news-bg: #f5f6f8;
	--bdpb-news-border: #e3e5ea;
	--bdpb-news-fg: #14161a;
	--bdpb-news-btn: #14161a;
	--bdpb-radius: 12px;
}

.bdpb-slot { margin: 28px 0; }
.bdpb-slot--mid:not(.is-filled) { min-height: 150px; }
.bdpb-slot:empty.is-filled { display: none; }

.bdpb {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 20px 22px;
	border-radius: var(--bdpb-radius);
	font-family: inherit;
	line-height: 1.4;
	clear: both;
}
.bdpb *, .bdpb *::before, .bdpb *::after { box-sizing: border-box; }
.bdpb p { margin: 0; }
.bdpb__body { flex: 1 1 auto; min-width: 0; }
.bdpb__kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.bdpb__title { font-size: 19px; font-weight: 800; line-height: 1.25; }
.bdpb__text { font-size: 15px; margin-top: 6px !important; }
.bdpb__expert { font-size: 13px; margin-top: 8px !important; }

.bdpb__btn {
	flex: 0 0 auto;
	display: inline-block;
	padding: 12px 18px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: transform .15s ease, filter .15s ease;
}
.bdpb__btn:hover { transform: translateY(-1px); filter: brightness(1.05); }

/* Premium: scuro, accento caldo */
.bdpb--premium { background: var(--bdpb-premium-bg); color: var(--bdpb-premium-fg); border-left: 4px solid var(--bdpb-accent); }
.bdpb--premium .bdpb__kicker { color: var(--bdpb-accent); }
.bdpb--premium .bdpb__title { color: #fff; }
.bdpb--premium .bdpb__text, .bdpb--premium .bdpb__expert { color: var(--bdpb-premium-muted); }
.bdpb--premium .bdpb__expert strong { color: var(--bdpb-premium-fg); }
.bdpb--premium .bdpb__btn { background: var(--bdpb-accent); color: var(--bdpb-accent-fg) !important; }
.bdpb__avatar {
	flex: 0 0 72px;
	width: 72px; height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--bdpb-accent);
}

/* Newsletter: chiaro, si distingue a colpo d'occhio dal premium */
.bdpb--newsletter { background: var(--bdpb-news-bg); color: var(--bdpb-news-fg); border: 1px solid var(--bdpb-news-border); flex-wrap: wrap; }
.bdpb--newsletter .bdpb__body { flex-basis: 100%; }
.bdpb--newsletter .bdpb__kicker { color: #5b6170; }
.bdpb--newsletter .bdpb__btn { background: var(--bdpb-news-btn); color: #fff !important; }
.bdpb__form { display: flex; gap: 8px; width: 100%; }
.bdpb__form input[type=email] {
	flex: 1 1 auto; min-width: 0;
	height: 46px; padding: 0 14px;
	border: 1px solid #cfd3da; border-radius: 999px;
	font-size: 16px; background: #fff; color: #111;
}
.bdpb__form button {
	height: 46px; padding: 0 20px;
	border: 0; border-radius: 999px;
	background: var(--bdpb-news-btn); color: #fff;
	font-weight: 800; font-size: 15px; cursor: pointer;
}
.bdpb__form button[disabled] { opacity: .6; cursor: default; }
.bdpb__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.bdpb__fine { width: 100%; font-size: 12px; color: #6b7280; margin-top: -6px !important; }
.bdpb__fine a { color: inherit; text-decoration: underline; }
.bdpb__msg { width: 100%; font-size: 14px; font-weight: 600; }
.bdpb__msg:empty { display: none; }
.bdpb__msg.is-ok { color: #15803d; }
.bdpb__msg.is-error { color: #b91c1c; }
.bdpb__embed { width: 100%; }
.bdpb__embed iframe { width: 100% !important; max-width: 100%; border: 0; }

/* Sponsor */
.bdpb--sponsor { display: block; padding: 0; background: transparent; }
.bdpb__label { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #8a8f99; margin-bottom: 6px; }
.bdpb__banner-link { display: block; line-height: 0; }
.bdpb__banner { display: block; width: 100%; height: auto; border-radius: var(--bdpb-radius); }
.bdpb--sponsor .bdpb__row { display: flex; align-items: center; gap: 16px; padding: 14px 4px 0; }
.bdpb--sponsor .bdpb__btn { background: #111; color: #fff !important; }

@media (max-width: 640px) {
	.bdpb { flex-direction: column; align-items: flex-start; padding: 18px; gap: 12px; }
	.bdpb--premium { flex-direction: row; flex-wrap: wrap; }
	.bdpb--premium .bdpb__avatar { flex-basis: 56px; width: 56px; height: 56px; }
	.bdpb--premium .bdpb__body { flex: 1 1 calc(100% - 72px); }
	.bdpb__btn { width: 100%; text-align: center; white-space: normal; }
	.bdpb__title { font-size: 17px; }
	.bdpb__form { flex-direction: column; }
	.bdpb__form button { width: 100%; }
	.bdpb--sponsor .bdpb__row { flex-direction: column; align-items: flex-start; }
	.bdpb-slot--mid:not(.is-filled) { min-height: 200px; }
}
