/**
 * TradingOnline.com - Stili widget recensione broker
 * Caricato condizionalmente solo su pagine con shortcode broker_*.
 * Palette: viola brand #4907d9 (scala monocromatica per accenti/tier), verde accent #04be68.
 *   Oro #ba7517/#ffd24d = semantico (stelle, award). Rosso #c0392b (--brk-neg) = semantico ("no/contro").
 *   De-AI 2026-06-17: rimosso il fucsia decorativo (ex #d4537e) → assorbito nella scala viola.
 * Font: Roboto (eredità tema).
 * Mobile-first, responsive a 768px.
 *
 * @version 1.0.0
 */

/* =============================================================================
 * VARIABLES — palette e tokens
 * ========================================================================== */
:root {
	--brk-purple:      #4907d9;
	--brk-purple-d:    #38059f;
	--brk-purple-tint: #f3eefe;
	--brk-purple-soft: #e6dcfb;
	--brk-green:       #04be68;
	--brk-green-d:     #039a55;
	--brk-pink:        #6a3fed; /* de-AI: ex fucsia decorativo → viola brillante (gradienti monocromatici) */
	--brk-pink-tint:   #efeafd; /* de-AI: tint viola (ex rosa) */
	--brk-amber:       #ba7517; /* semantico: stelle/oro — NON toccare */
	--brk-amber-tint:  #fdf3e1;
	--brk-neg:         #c0392b; /* semantico: "no/contro" — rosso editoriale */
	--brk-text:        #1b1e25;
	--brk-text-muted:  #5e6772;
	--brk-text-faint:  #8c95a0;
	--brk-bg:          #ffffff;
	--brk-bg-soft:     #f5f6fa;
	--brk-border:      #e3e7ee;
	--brk-radius:      8px;
	--brk-radius-lg:   12px;
	--brk-shadow-sm:   0 1px 3px rgba(27, 30, 37, 0.06);
	--brk-shadow-md:   0 4px 12px rgba(27, 30, 37, 0.08);
}

/* =============================================================================
 * BASE — tipografia condivisa
 * ========================================================================== */
.brk-hero,
.brk-authors,
.brk-card,
.brk-bonus-cta {
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--brk-text);
	line-height: 1.5;
	box-sizing: border-box;
}
.brk-hero *,
.brk-authors *,
.brk-card *,
.brk-bonus-cta * {
	box-sizing: border-box;
}

.brk-error {
	background: var(--brk-pink-tint);
	color: var(--brk-pink);
	padding: 12px 16px;
	border-radius: var(--brk-radius);
	font-size: 14px;
	margin: 12px 0;
}

/* =============================================================================
 * HERO CARD
 * ========================================================================== */
.brk-hero {
	background: var(--brk-bg);
	border: 1px solid var(--brk-border);
	border-radius: var(--brk-radius-lg);
	padding: 20px;
	margin: 24px 0 16px;
	box-shadow: var(--brk-shadow-md);
}
.brk-hero-grid {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 18px;
	align-items: center;
}
.brk-hero-logo img {
	width: 140px;
	height: auto;
	display: block;
	max-height: 60px;
	object-fit: contain;
}
.brk-hero-logo-placeholder {
	width: 90px;
	height: 60px;
	background: var(--brk-purple-tint);
	color: var(--brk-purple);
	border-radius: var(--brk-radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1px;
}
.brk-hero-titles {
	min-width: 0;
}
.brk-hero-title-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}
.brk-hero-title {
	font-size: 26px;
	font-weight: 700;
	margin: 0;
	color: var(--brk-text);
	line-height: 1.2;
}
.brk-hero-subtitle {
	margin: 0;
	font-size: 13px;
	color: var(--brk-text-muted);
}
.brk-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.2px;
	white-space: nowrap;
}
.brk-badge i { font-size: 10px; }
.brk-badge-license {
	background: var(--brk-purple-tint);
	color: var(--brk-purple);
}
.brk-badge-tested {
	background: var(--brk-pink-tint);
	color: var(--brk-pink);
}
.brk-hero-score {
	text-align: center;
	padding-left: 20px;
	border-left: 1px solid var(--brk-border);
	min-width: 110px;
}
.brk-hero-score-value {
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
	color: var(--brk-purple);
}
.brk-hero-score-max {
	font-size: 16px;
	color: var(--brk-text-faint);
	font-weight: 400;
}
.brk-hero-stars {
	margin: 6px 0 4px;
	display: flex;
	gap: 2px;
	justify-content: center;
}
.brk-hero-stars i,
.brk-star-full,
.brk-star-half,
.brk-star-empty {
	font-size: 14px;
}
.brk-star-full,
.brk-star-half { color: var(--brk-amber); }
.brk-star-empty { color: var(--brk-border); }
.brk-hero-meta {
	font-size: 11px;
	color: var(--brk-text-muted);
}

.brk-hero-metrics {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 18px;
}
.brk-metric {
	background: var(--brk-purple-tint);
	padding: 12px 14px;
	border-radius: var(--brk-radius);
}
.brk-metric-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--brk-purple-d);
	letter-spacing: 0.4px;
	margin-bottom: 4px;
}
.brk-metric-value {
	font-size: 17px;
	font-weight: 700;
	color: var(--brk-text);
}
.brk-metric-value .brk-yes { color: var(--brk-green); }
.brk-metric-value .brk-no  { color: var(--brk-neg); }

.brk-hero-actions {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}
.brk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 13px 20px;
	border-radius: var(--brk-radius);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.18s ease;
	cursor: pointer;
	border: none;
}
.brk-btn-primary {
	flex: 1;
	background: var(--brk-green);
	color: #ffffff;
	box-shadow: 0 2px 6px rgba(4, 190, 104, 0.25);
}
.brk-btn-primary:hover {
	background: var(--brk-green-d);
	color: #ffffff;
	box-shadow: 0 4px 10px rgba(4, 190, 104, 0.35);
	text-decoration: none;
}
.brk-btn-secondary {
	background: transparent;
	color: var(--brk-purple);
	border: 1.5px solid var(--brk-purple);
}
.brk-btn-secondary:hover {
	background: var(--brk-purple);
	color: #ffffff;
	text-decoration: none;
}

/* =============================================================================
 * AUTHORS BOX
 * ========================================================================== */
.brk-authors {
	background: var(--brk-pink-tint);
	border-radius: var(--brk-radius-lg);
	padding: 14px 18px;
	margin: 16px 0;
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 13px;
	flex-wrap: wrap;
}
.brk-author-block {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.brk-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 12px;
	flex-shrink: 0;
}
.brk-avatar-author   { background: var(--brk-pink); color: #ffffff; }
.brk-avatar-reviewer { background: var(--brk-purple); color: #ffffff; }
.brk-author-name {
	font-weight: 600;
	color: var(--brk-text);
	font-size: 13px;
}
.brk-author-role {
	font-size: 11px;
	color: var(--brk-text-muted);
}
.brk-verified {
	color: var(--brk-purple);
	font-size: 12px;
}
.brk-author-divider {
	width: 1px;
	background: rgba(212, 83, 126, 0.3);
	align-self: stretch;
}
.brk-author-trust {
	margin-left: auto;
	font-size: 11px;
	color: var(--brk-text-muted);
	text-align: right;
	line-height: 1.4;
}
.brk-author-trust i { color: var(--brk-purple); }
.brk-author-trust a {
	color: var(--brk-purple);
	text-decoration: none;
	font-weight: 600;
}

/* =============================================================================
 * CARD — generica per scores/specs/compare/calc
 * ========================================================================== */
.brk-card {
	background: var(--brk-bg);
	border: 1px solid var(--brk-border);
	border-radius: var(--brk-radius-lg);
	padding: 20px 22px;
	margin: 16px 0;
	box-shadow: var(--brk-shadow-sm);
}
.brk-card-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
	flex-wrap: wrap;
	gap: 8px;
}
.brk-card-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--brk-text);
}
.brk-card-meta {
	font-size: 11px;
	color: var(--brk-text-muted);
	font-weight: 500;
}

/* =============================================================================
 * SCORES
 * ========================================================================== */
.brk-scores-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 28px;
}
.brk-score-row {
	display: flex;
	align-items: center;
	gap: 12px;
}
.brk-score-label {
	font-size: 13px;
	flex: 0 0 140px;
	color: var(--brk-text-muted);
}
.brk-score-bar {
	flex: 1;
	height: 7px;
	background: var(--brk-bg-soft);
	border-radius: 4px;
	overflow: hidden;
}
.brk-score-fill {
	height: 100%;
	background: var(--brk-purple);
	border-radius: 4px;
}
/* De-AI: scala monocromatica viola (no arcobaleno) */
.brk-score-top  .brk-score-fill { background: #2e0b8f; }
.brk-score-mid  .brk-score-fill { background: #4907d9; }
.brk-score-avg  .brk-score-fill { background: #8a7ec8; }
.brk-score-low  .brk-score-fill { background: #c2bcd9; }
.brk-score-num {
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-purple);
	flex: 0 0 32px;
	text-align: right;
}

/* =============================================================================
 * SPECS
 * ========================================================================== */
.brk-specs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 28px;
}
.brk-spec-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 9px 0;
	border-bottom: 1px solid var(--brk-border);
	font-size: 13px;
	gap: 12px;
}
.brk-spec-label {
	color: var(--brk-text-muted);
	flex-shrink: 0;
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
}
.brk-spec-label > i {
	color: var(--brk-purple);
	font-size: 12px;
	width: 14px;
	text-align: center;
	flex-shrink: 0;
}
.brk-spec-val {
	font-weight: 600;
	color: var(--brk-text);
	text-align: right;
}
.brk-yes { color: var(--brk-green); }
.brk-no  { color: var(--brk-neg); }

/* =============================================================================
 * COMPARE TABLE
 * ========================================================================== */
.brk-compare-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.brk-compare-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	min-width: 480px;
}
.brk-compare-table th,
.brk-compare-table td {
	padding: 10px 12px;
	text-align: center;
	border-bottom: 1px solid var(--brk-border);
}
.brk-compare-table thead th {
	background: var(--brk-bg-soft);
	font-weight: 700;
	color: var(--brk-text);
}
.brk-compare-table .brk-compare-feature {
	text-align: left;
	color: var(--brk-text-muted);
	font-weight: 500;
}
.brk-compare-table .brk-compare-current {
	background: var(--brk-purple-tint);
	color: var(--brk-purple-d);
	font-weight: 700;
}
.brk-compare-table thead .brk-compare-current {
	background: var(--brk-purple);
	color: #ffffff;
}

/* =============================================================================
 * CALCULATOR
 * ========================================================================== */
.brk-calc-body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	align-items: end;
}
.brk-calc-input { display: flex; flex-direction: column; gap: 6px; }
.brk-calc-label {
	font-size: 12px;
	color: var(--brk-text-muted);
	font-weight: 500;
}
.brk-calc-input input[type="range"] {
	width: 100%;
	accent-color: var(--brk-purple);
	margin: 4px 0;
}
.brk-calc-value-display {
	font-size: 18px;
	font-weight: 700;
	color: var(--brk-text);
}
.brk-calc-output {
	background: var(--brk-purple-tint);
	border: 1px solid var(--brk-purple-soft);
	padding: 14px 16px;
	border-radius: var(--brk-radius);
}
.brk-calc-result {
	font-size: 24px;
	font-weight: 700;
	color: var(--brk-purple);
	margin: 4px 0 2px;
}
.brk-calc-compare {
	font-size: 11px;
	color: var(--brk-purple-d);
}
.brk-calc-disclaimer {
	font-size: 11px;
	color: var(--brk-text-faint);
	margin: 12px 0 0;
	font-style: italic;
}

/* =============================================================================
 * BONUS CTA — gradient finale
 * ========================================================================== */
.brk-bonus-cta {
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	border-radius: var(--brk-radius-lg);
	padding: 22px;
	margin: 20px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	box-shadow: var(--brk-shadow-md);
}
.brk-bonus-text {
	color: #ffffff;
	flex: 1;
	min-width: 0;
}
.brk-bonus-eyebrow {
	font-size: 11px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.85);
	text-transform: uppercase;
	letter-spacing: 0.7px;
	margin-bottom: 4px;
}
.brk-bonus-title {
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 4px;
	line-height: 1.3;
}
.brk-bonus-desc {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.85);
}
.brk-bonus-btn {
	background: #ffffff;
	color: var(--brk-purple);
	padding: 13px 22px;
	border-radius: var(--brk-radius);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.brk-bonus-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
	color: var(--brk-purple);
	text-decoration: none;
}

/* =============================================================================
 * RESPONSIVE — mobile breakpoint 768px
 * ========================================================================== */
@media (max-width: 768px) {
	.brk-hero { padding: 16px; }
	.brk-hero-grid {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"logo titles"
			"score score";
		gap: 14px;
	}
	.brk-hero-logo   { grid-area: logo; }
	.brk-hero-titles { grid-area: titles; }
	.brk-hero-score  {
		grid-area: score;
		border-left: none;
		border-top: 1px solid var(--brk-border);
		padding-left: 0;
		padding-top: 14px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 14px;
	}
	.brk-hero-score-value { font-size: 32px; }
	.brk-hero-stars { margin: 0; }
	.brk-hero-title { font-size: 22px; }
	.brk-hero-metrics { grid-template-columns: repeat(2, 1fr); }
	.brk-hero-actions { flex-direction: column; }
	.brk-btn-primary, .brk-btn-secondary { flex: 1; width: 100%; }

	.brk-authors {
		flex-direction: column;
		align-items: flex-start;
	}
	.brk-author-divider { display: none; }
	.brk-author-trust {
		margin-left: 0;
		text-align: left;
		border-top: 1px solid rgba(212, 83, 126, 0.2);
		padding-top: 10px;
		width: 100%;
	}

	.brk-scores-grid,
	.brk-specs-grid {
		grid-template-columns: 1fr;
		gap: 8px 0;
	}
	.brk-score-label { flex: 0 0 110px; font-size: 12px; }

	.brk-calc-body { grid-template-columns: 1fr; }

	.brk-bonus-cta {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}
	.brk-bonus-btn { justify-content: center; }
	.brk-card { padding: 16px; }
	.brk-card-title { font-size: 16px; }
}

/* =============================================================================
 * LISTICLE TABLE — [broker_top_table]
 * Tabella classifica per /migliori-broker-X/, scroll mobile con sticky col.
 * ========================================================================== */
.brk-list-wrapper {
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--brk-text);
	margin: 24px 0;
}
.brk-list-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 14px;
	color: var(--brk-text);
}
.brk-list-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--brk-radius-lg);
	border: 1px solid var(--brk-border);
	box-shadow: var(--brk-shadow-md);
	background: var(--brk-bg);
}
.brk-list-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	min-width: 760px;
}
.brk-list-table thead {
	background: var(--brk-purple-tint);
}
.brk-list-table thead th {
	padding: 13px 14px;
	text-align: left;
	font-size: 12px;
	font-weight: 700;
	color: var(--brk-purple-d);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
	border-bottom: 1px solid var(--brk-purple-soft);
}
.brk-list-table thead .brk-list-col-rank,
.brk-list-table thead .brk-list-col-cta {
	text-align: center;
}
.brk-list-table tbody tr {
	border-bottom: 1px solid var(--brk-border);
	transition: background 0.15s ease;
}
.brk-list-table tbody tr:last-child { border-bottom: none; }
.brk-list-table tbody tr:hover { background: var(--brk-bg-soft); }
.brk-list-table .brk-list-row-top {
	background: linear-gradient(90deg, var(--brk-purple-tint) 0%, transparent 100%);
}
.brk-list-table .brk-list-row-top:hover {
	background: linear-gradient(90deg, var(--brk-purple-soft) 0%, var(--brk-bg-soft) 100%);
}
.brk-list-table tbody td {
	padding: 16px 14px;
	vertical-align: middle;
}

/* Colonna # (rank) */
.brk-list-col-rank {
	width: 40px;
	text-align: center;
}
.brk-list-rank-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--brk-purple);
	color: #ffffff;
	font-weight: 700;
	font-size: 13px;
}
.brk-list-row-top .brk-list-rank-num {
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	box-shadow: 0 2px 6px rgba(73, 7, 217, 0.3);
}

/* Colonna broker */
.brk-list-col-broker {
	min-width: 200px;
}
.brk-list-broker-cell {
	display: flex;
	align-items: center;
	gap: 12px;
}
.brk-list-broker-logo {
	flex-shrink: 0;
	width: 80px;
	height: 36px;
	display: flex;
	align-items: center;
}
.brk-list-broker-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.brk-list-broker-info {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.brk-list-broker-name {
	font-weight: 700;
	font-size: 15px;
	color: var(--brk-text);
	text-decoration: none;
	line-height: 1.2;
}
.brk-list-broker-name:hover {
	color: var(--brk-purple);
	text-decoration: none;
}
.brk-list-broker-score {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--brk-text-muted);
}
.brk-list-score-num {
	font-weight: 700;
	color: var(--brk-purple);
}
.brk-list-score-stars i {
	font-size: 10px;
}
.brk-list-mobile-cta {
	display: none;
}

/* Celle dati */
.brk-list-table tbody td:not(.brk-list-col-broker):not(.brk-list-col-rank):not(.brk-list-col-cta) {
	font-size: 13px;
	color: var(--brk-text);
	font-weight: 500;
	white-space: nowrap;
}
.brk-list-muted {
	color: var(--brk-text-faint);
}
.brk-list-bonus {
	display: inline-block;
	font-size: 12px;
	color: var(--brk-pink);
	font-weight: 600;
	max-width: 180px;
	white-space: normal;
	line-height: 1.3;
}

/* Colonna CTA */
.brk-list-col-cta {
	width: 130px;
	text-align: center;
	white-space: nowrap;
}
.brk-list-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	background: var(--brk-green);
	color: #ffffff;
	padding: 9px 14px;
	border-radius: var(--brk-radius);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.15s ease;
	box-shadow: 0 2px 6px rgba(4, 190, 104, 0.25);
}
.brk-list-cta:hover {
	background: var(--brk-green-d);
	color: #ffffff;
	box-shadow: 0 4px 10px rgba(4, 190, 104, 0.35);
	text-decoration: none;
	transform: translateY(-1px);
}
.brk-list-cta i { font-size: 10px; }
.brk-list-cta-secondary {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	color: var(--brk-purple);
	text-decoration: none;
	font-weight: 500;
}
.brk-list-cta-secondary:hover {
	color: var(--brk-purple-d);
	text-decoration: underline;
}

.brk-list-disclaimer {
	margin-top: 12px;
	font-size: 11px;
	color: var(--brk-text-faint);
	font-style: italic;
	line-height: 1.5;
}
.brk-list-disclaimer a {
	color: var(--brk-purple);
	text-decoration: none;
}
.brk-list-disclaimer a:hover {
	text-decoration: underline;
}

/* Mobile listicle: prima colonna sticky con CTA verde mini */
@media (max-width: 768px) {
	.brk-list-table {
		font-size: 13px;
		min-width: 600px;
	}
	.brk-list-table thead th { padding: 10px 10px; font-size: 11px; }
	.brk-list-table tbody td { padding: 12px 10px; }
	.brk-list-col-broker { min-width: 200px; }

	/* Sticky col: rank + broker fusi */
	.brk-list-table thead .brk-list-col-rank,
	.brk-list-table thead .brk-list-col-broker,
	.brk-list-table tbody .brk-list-col-rank,
	.brk-list-table tbody .brk-list-col-broker {
		position: sticky;
		left: 0;
		background: inherit;
		z-index: 1;
	}
	.brk-list-table thead .brk-list-col-rank,
	.brk-list-table thead .brk-list-col-broker {
		background: var(--brk-purple-tint);
	}
	.brk-list-table tbody tr .brk-list-col-rank,
	.brk-list-table tbody tr .brk-list-col-broker {
		background: var(--brk-bg);
	}
	.brk-list-table tbody tr.brk-list-row-top .brk-list-col-rank,
	.brk-list-table tbody tr.brk-list-row-top .brk-list-col-broker {
		background: var(--brk-purple-tint);
	}
	.brk-list-col-broker {
		box-shadow: 4px 0 6px -2px rgba(0, 0, 0, 0.06);
	}

	/* CTA mobile inline nella card broker */
	.brk-list-mobile-cta {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		margin-top: 6px;
		padding: 6px 12px;
		background: var(--brk-green);
		color: #ffffff;
		border-radius: 6px;
		font-size: 11px;
		font-weight: 700;
		text-decoration: none;
		width: fit-content;
		box-shadow: 0 1px 3px rgba(4, 190, 104, 0.3);
	}
	.brk-list-mobile-cta:hover {
		background: var(--brk-green-d);
		color: #ffffff;
		text-decoration: none;
	}
	.brk-list-mobile-cta i { font-size: 9px; }

	/* Su mobile la colonna CTA finale diventa secondaria, basta il "Recensione" */
	.brk-list-col-cta .brk-list-cta {
		font-size: 11px;
		padding: 7px 10px;
	}

	.brk-list-broker-logo { width: 60px; height: 30px; }
	.brk-list-broker-name { font-size: 14px; }
}

/* =============================================================================
 * v1.2 — RESTYLE COMPLETO (fix CTA, tooltip, hero, pros/cons, safety, faq, methodology)
 * Estetica più curata: shadows, borders, gradients, gerarchia visiva forte.
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * HERO — micro-restyle (più contesto, meno "scatole appiccicate")
 * -------------------------------------------------------------------------- */
.brk-hero {
	background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 24px 26px;
	margin: 28px 0 18px;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.04), 0 8px 24px rgba(73, 7, 217, 0.06);
	position: relative;
	overflow: hidden;
}
.brk-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, #04be68 100%);
}
.brk-hero-grid { gap: 22px; align-items: center; }
.brk-hero-title-row { gap: 8px; }
.brk-hero-title {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.3px;
}
.brk-hero-score {
	background: var(--brk-purple-tint);
	border-radius: 12px;
	padding: 14px 18px;
	border: none;
	min-width: 130px;
}
.brk-hero-score-row { gap: 6px; }
.brk-hero-score-value {
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--brk-purple);
	letter-spacing: -1px;
}
.brk-hero-score-max { font-size: 17px; color: var(--brk-text-faint); margin-left: 1px; }
.brk-hero-stars { gap: 3px; margin: 8px 0 4px; }
.brk-hero-stars i { font-size: 15px; }
.brk-hero-meta {
	font-size: 11px;
	color: var(--brk-purple-d);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}

.brk-hero-metrics {
	gap: 12px;
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid var(--brk-border);
}
.brk-metric {
	background: linear-gradient(180deg, var(--brk-purple-tint) 0%, #ffffff 100%);
	border: 1px solid var(--brk-purple-soft);
	padding: 14px 16px;
	border-radius: 10px;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.brk-metric:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.1);
}
.brk-metric-label {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--brk-purple-d);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.brk-metric-value {
	font-size: 18px;
	font-weight: 700;
	color: var(--brk-text);
	margin-top: 5px;
	letter-spacing: -0.2px;
}

.brk-hero-actions { gap: 12px; margin-top: 22px; }

/* -----------------------------------------------------------------------------
 * CTA UNIFICATA — fix conflitto con stile tema
 * Specificità doppia + !important per battere ereditarietà del tema.
 * -------------------------------------------------------------------------- */
.brk-hero a.brk-cta-primary,
.brk-card a.brk-cta-primary,
a.brk-cta-primary,
.brk-cta-primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%) !important;
	color: #ffffff !important;
	padding: 15px 26px !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.18s ease !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 4px 12px rgba(4, 190, 104, 0.28) !important;
	border: none !important;
	cursor: pointer !important;
	letter-spacing: 0.1px !important;
	flex: 1 !important;
	text-shadow: 0 1px 0 rgba(0,0,0,0.08) !important;
	line-height: 1.2 !important;
}
.brk-hero a.brk-cta-primary:hover,
.brk-card a.brk-cta-primary:hover,
a.brk-cta-primary:hover,
.brk-cta-primary:hover,
.brk-cta-primary:focus,
.brk-cta-primary:visited {
	background: linear-gradient(180deg, var(--brk-green) 0%, var(--brk-green-d) 100%) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05), 0 6px 18px rgba(4, 190, 104, 0.4) !important;
	transform: translateY(-1px);
}
.brk-cta-primary > *,
.brk-cta-primary .brk-cta-text,
.brk-cta-primary .brk-cta-icon,
.brk-cta-primary span,
.brk-cta-primary i {
	color: #ffffff !important;
}
.brk-cta-primary .brk-cta-icon,
.brk-cta-primary i {
	font-size: 12px !important;
	opacity: 0.95;
}
.brk-cta-small {
	padding: 10px 18px !important;
	font-size: 13px !important;
	flex: initial !important;
}

.brk-hero a.brk-cta-ghost,
a.brk-cta-ghost,
.brk-cta-ghost {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: #ffffff !important;
	color: var(--brk-purple) !important;
	padding: 14px 22px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: 1.5px solid var(--brk-purple-soft) !important;
	transition: all 0.18s ease !important;
	box-shadow: 0 1px 2px rgba(73, 7, 217, 0.06) !important;
}
.brk-hero a.brk-cta-ghost:hover,
a.brk-cta-ghost:hover,
.brk-cta-ghost:hover {
	background: var(--brk-purple) !important;
	color: #ffffff !important;
	border-color: var(--brk-purple) !important;
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.25) !important;
}
.brk-cta-ghost > * { color: inherit !important; }

/* -----------------------------------------------------------------------------
 * INFO ICONS / TOOLTIP — restyle elegante (no box arcaico)
 * -------------------------------------------------------------------------- */
.brk-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--brk-purple-tint);
	border: none;
	padding: 0;
	cursor: help;
	color: var(--brk-purple);
	font-size: 11px;
	margin-left: 6px;
	transition: all 0.15s ease;
	flex-shrink: 0;
}
.brk-info-icon:hover {
	background: var(--brk-purple);
	color: #ffffff;
	transform: scale(1.08);
}
.brk-info-icon i { font-size: 11px; line-height: 1; }

/* Tippy theme override — card galleggiante elegante */
.tippy-box[data-theme~='light'],
.tippy-box {
	background: #ffffff !important;
	color: var(--brk-text) !important;
	border: none !important;
	box-shadow:
		0 0 0 1px rgba(73, 7, 217, 0.06),
		0 4px 12px rgba(0, 0, 0, 0.06),
		0 16px 40px rgba(73, 7, 217, 0.12) !important;
	border-radius: 14px !important;
	overflow: hidden;
}
.tippy-box[data-theme~='light'] .tippy-arrow,
.tippy-box .tippy-arrow {
	color: #ffffff !important;
}

/* Tooltip pesi voto */
.brk-tt-weights {
	font-family: 'Roboto', sans-serif;
	padding: 13px 15px;
	min-width: 240px;
	max-width: 290px;
}
.brk-tt-title {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--brk-text);
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--brk-border);
	letter-spacing: -0.1px;
}
.brk-tt-flex { display: flex; gap: 12px; align-items: center; }
.brk-tt-donut { flex-shrink: 0; width: 72px; height: 72px; filter: drop-shadow(0 2px 4px rgba(73, 7, 217, 0.1)); }
.brk-tt-rows { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.brk-tt-row {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11.5px;
	color: var(--brk-text);
}
.brk-tt-dot {
	width: 9px; height: 9px;
	border-radius: 2px;
	flex-shrink: 0;
}
.brk-tt-label { flex: 1; line-height: 1.3; }
.brk-tt-pct { color: var(--brk-purple); font-weight: 700; min-width: 32px; text-align: right; }
.brk-tt-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: var(--brk-purple);
	text-decoration: none;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--brk-border);
	font-weight: 600;
}
.brk-tt-link:hover { gap: 7px; transition: gap 0.15s ease; }
.brk-tt-link i { font-size: 9px; }

/* Tooltip disclaimer */
.brk-tt-disclaimer {
	font-family: 'Roboto', sans-serif;
	font-size: 12.5px;
	line-height: 1.55;
	padding: 14px 16px;
	max-width: 320px;
	color: var(--brk-text);
}
.brk-tt-disclaimer strong { color: var(--brk-purple); }
.brk-tt-disclaimer strong:first-child {
	display: block;
	font-size: 13px;
	margin-bottom: 6px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--brk-border);
}

/* -----------------------------------------------------------------------------
 * AUTHORS — restyle con avatar badge verificato
 * -------------------------------------------------------------------------- */
.brk-authors {
	background: linear-gradient(135deg, var(--brk-pink-tint) 0%, var(--brk-purple-tint) 100%);
	border: 1px solid rgba(73, 7, 217, 0.08);
	border-radius: 14px;
	padding: 16px 20px;
	margin: 18px 0;
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.brk-author-block {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}
.brk-avatar-link {
	flex-shrink: 0;
	display: block;
	position: relative;
	text-decoration: none;
}
.brk-avatar-img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #ffffff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	display: block;
}
/* Avatar editoriale (cerchio iniziali + overlay gravatar) nel box autore broker.
   Stessa resa di .brk-avatar-img; rimpiazza il mystery-man grigio (EEAT). */
.brk-avatar-link .to-av.brk-av {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 3px solid #ffffff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	display: block;
	box-sizing: border-box;
}
.brk-avatar-link .to-av.brk-av .av-ini { font-size: 17px; }
.brk-avatar-badge {
	position: absolute;
	bottom: -2px; right: -2px;
	width: 18px; height: 18px;
	background: var(--brk-purple);
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #ffffff;
	box-shadow: 0 1px 3px rgba(73, 7, 217, 0.3);
}
.brk-avatar-badge i { font-size: 9px; }
.brk-author-name {
	color: var(--brk-text) !important;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.brk-author-name:hover { color: var(--brk-purple) !important; }
.brk-verified { color: var(--brk-purple); font-size: 13px; }
.brk-author-role {
	font-size: 11.5px;
	color: var(--brk-text-muted);
	margin-top: 2px;
	line-height: 1.3;
}
.brk-author-divider {
	width: 1px;
	background: rgba(73, 7, 217, 0.12);
	align-self: stretch;
}
.brk-author-trust {
	margin-left: auto;
	font-size: 11px;
	color: var(--brk-text-muted);
	text-align: right;
	line-height: 1.4;
	padding-left: 14px;
	border-left: 1px solid rgba(73, 7, 217, 0.1);
}
.brk-author-trust i { color: var(--brk-purple); margin-right: 2px; }
.brk-author-trust a {
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	font-weight: 700;
}
.brk-author-trust a:hover { text-decoration: underline !important; }

/* -----------------------------------------------------------------------------
 * CARD — base per tutti i blocchi successivi (più "presente", meno appiccicato)
 * -------------------------------------------------------------------------- */
.brk-card {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 24px 26px;
	margin: 22px 0;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.03), 0 4px 14px rgba(73, 7, 217, 0.04);
}
.brk-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
	flex-wrap: wrap;
	gap: 8px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--brk-border);
}
.brk-card-title {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.2px;
}
.brk-card-meta {
	font-size: 12px;
	color: var(--brk-text-muted);
	font-weight: 500;
}
.brk-card-meta a { color: var(--brk-purple); text-decoration: none; font-weight: 600; }
.brk-card-meta a:hover { text-decoration: underline; }

/* -----------------------------------------------------------------------------
 * CALCULATOR pending state — più gentile
 * -------------------------------------------------------------------------- */
.brk-calc-pending-msg {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: linear-gradient(135deg, var(--brk-amber-tint) 0%, #fffaf0 100%);
	border: 1px solid #f3d999;
	border-radius: 12px;
	padding: 18px 20px;
}
.brk-calc-pending-msg i {
	color: var(--brk-amber);
	font-size: 24px;
	flex-shrink: 0;
	margin-top: 1px;
}
.brk-calc-pending-msg strong {
	display: block;
	margin-bottom: 4px;
	color: var(--brk-text);
	font-size: 14px;
}
.brk-calc-pending-msg p {
	margin: 0;
	font-size: 13px;
	color: var(--brk-text-muted);
	line-height: 1.5;
}

/* -----------------------------------------------------------------------------
 * PROS / CONS — restyle con header colorato + ombre + gerarchia
 * -------------------------------------------------------------------------- */
.brk-proscons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 22px 0;
}
.brk-proscons-col {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(27, 30, 37, 0.04), 0 8px 18px rgba(0, 0, 0, 0.03);
}
.brk-proscons-pro { border-color: var(--brk-purple-soft); }
.brk-proscons-contro { border-color: rgba(212, 83, 126, 0.25); }

.brk-proscons-header {
	padding: 14px 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #ffffff;
}
.brk-proscons-pro .brk-proscons-header {
	background: linear-gradient(135deg, var(--brk-purple) 0%, #6a3fed 100%);
}
.brk-proscons-contro .brk-proscons-header {
	background: linear-gradient(135deg, var(--brk-pink) 0%, #4907d9 100%);
}
.brk-proscons-header i {
	font-size: 18px;
	color: #ffffff;
}
.brk-proscons-header h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: -0.1px;
}

.brk-proscons-col ul {
	margin: 0;
	padding: 18px 22px 18px 24px;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.brk-proscons-col li {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--brk-text);
	padding-left: 24px;
	position: relative;
}
.brk-proscons-pro li::before {
	content: '';
	position: absolute;
	left: 0; top: 7px;
	width: 14px; height: 14px;
	background: var(--brk-purple-tint);
	border-radius: 50%;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234907d9'><path d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/></svg>");
	background-size: 11px;
	background-repeat: no-repeat;
	background-position: center;
}
.brk-proscons-contro li::before {
	content: '';
	position: absolute;
	left: 0; top: 7px;
	width: 14px; height: 14px;
	background: var(--brk-pink-tint);
	border-radius: 50%;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d4537e'><path d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
	background-size: 11px;
	background-repeat: no-repeat;
	background-position: center;
}

/* -----------------------------------------------------------------------------
 * METHODOLOGY — restyle "scheda professionale"
 * -------------------------------------------------------------------------- */
.brk-method-card { padding: 26px 28px; }
.brk-method-body {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 28px;
	align-items: center;
}
.brk-method-chart {
	flex-shrink: 0;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, var(--brk-pink-tint) 100%);
	padding: 18px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.brk-method-chart svg { filter: drop-shadow(0 4px 8px rgba(73, 7, 217, 0.15)); }
.brk-method-table {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.brk-method-row {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 14px;
	background: var(--brk-bg-soft);
	border-radius: 10px;
	border-left: 3px solid;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.brk-method-row:hover {
	transform: translateX(2px);
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	background: #ffffff;
}
.brk-method-row:nth-child(1) { border-left-color: #4907d9; }
.brk-method-row:nth-child(2) { border-left-color: #6a3fed; }
.brk-method-row:nth-child(3) { border-left-color: #8a7ec8; }
.brk-method-row:nth-child(4) { border-left-color: #a89bef; }
.brk-method-row:nth-child(5) { border-left-color: #c2bcd9; }
.brk-method-row:nth-child(6) { border-left-color: #ddd6f0; }
.brk-method-dot {
	display: none; /* sostituito da border-left della riga */
}
.brk-method-text { flex: 1; }
.brk-method-criterion {
	font-size: 14px;
	color: var(--brk-text);
	font-weight: 600;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.brk-method-criterion strong {
	color: var(--brk-purple);
	font-size: 14px;
	font-weight: 700;
	background: var(--brk-purple-tint);
	padding: 2px 10px;
	border-radius: 12px;
	margin-left: auto;
}
.brk-info-icon.brk-info-method {
	width: 18px;
	height: 18px;
	background: var(--brk-purple-tint);
	border: 1px solid var(--brk-purple-soft);
	color: var(--brk-purple);
	flex-shrink: 0;
}
.brk-info-icon.brk-info-method i {
	font-size: 9px;
}
.brk-info-icon.brk-info-method:hover {
	background: var(--brk-purple);
	color: #ffffff;
}
.brk-method-desc {
	font-size: 12px;
	color: var(--brk-text-muted);
	margin-top: 4px;
	line-height: 1.45;
}
.brk-method-compact .brk-method-row { padding: 8px 12px; }

/* Methodology slider (per /review-process/) */
.brk-method-slider-card { padding: 28px 30px; }
.brk-method-slider-intro {
	font-size: 14.5px;
	color: var(--brk-text-muted);
	margin: 0 0 20px;
	line-height: 1.55;
}
.brk-method-slider-body {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 32px;
	align-items: center;
}
.brk-method-slider-chart {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, var(--brk-pink-tint) 100%);
	padding: 24px;
	border-radius: 16px;
}
.brk-method-slider-donut .brk-meth-slice {
	transition: opacity 0.18s ease, transform 0.18s ease;
	transform-origin: 50% 50%;
	cursor: pointer;
}
.brk-method-slider-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.brk-meth-item {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 10px;
	padding: 13px 16px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: all 0.18s ease;
}
.brk-meth-item:hover,
.brk-meth-item.is-active {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.1);
	transform: translateX(2px);
}
.brk-meth-item-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	margin-bottom: 5px;
	position: relative;
	z-index: 2;
}
.brk-meth-item-dot {
	width: 12px; height: 12px;
	border-radius: 3px;
	flex-shrink: 0;
}
.brk-meth-item-label { flex: 1; font-weight: 600; color: var(--brk-text); }
.brk-meth-item-pct {
	font-weight: 700;
	color: var(--brk-purple);
	background: var(--brk-purple-tint);
	padding: 2px 10px;
	border-radius: 10px;
	font-size: 12px;
}
.brk-meth-item-fill {
	position: absolute;
	left: 0; top: 0; bottom: 0;
	opacity: 0.06;
	z-index: 1;
}
.brk-meth-item-desc {
	font-size: 12px;
	color: var(--brk-text-muted);
	position: relative;
	z-index: 2;
	line-height: 1.45;
}
.brk-method-slider-note {
	font-size: 12px;
	color: var(--brk-text-faint);
	margin: 20px 0 0;
	font-style: italic;
}
.brk-method-slider-note a { color: var(--brk-purple); text-decoration: none; font-weight: 600; }
.brk-method-slider-note a:hover { text-decoration: underline; }

/* -----------------------------------------------------------------------------
 * FAQ — restyle accordion (no triangoli browser nativi)
 * -------------------------------------------------------------------------- */
.brk-faq-card { padding: 24px 26px; }
.brk-faq-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}
.brk-faq-item {
	border: 1px solid var(--brk-border);
	border-radius: 12px;
	background: #ffffff;
	transition: all 0.18s ease;
	overflow: hidden;
}
.brk-faq-item:hover {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.05);
}
.brk-faq-item[open] {
	border-color: var(--brk-purple-soft);
	background: linear-gradient(180deg, #ffffff 0%, var(--brk-purple-tint) 100%);
	box-shadow: 0 4px 14px rgba(73, 7, 217, 0.08);
}
.brk-faq-q {
	padding: 16px 22px 16px 50px;
	font-weight: 600;
	font-size: 15px;
	color: var(--brk-text);
	cursor: pointer;
	list-style: none !important;
	position: relative;
	padding-right: 50px;
	transition: color 0.15s ease;
	line-height: 1.4;
}
/* Nasconde marker browser default in tutti i browser */
.brk-faq-q::-webkit-details-marker { display: none !important; }
.brk-faq-q::marker { display: none !important; content: '' !important; }
.brk-faq-q::before {
	content: '?';
	position: absolute;
	left: 18px; top: 50%;
	transform: translateY(-50%);
	width: 24px; height: 24px;
	background: var(--brk-purple-tint);
	color: var(--brk-purple);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
}
.brk-faq-item[open] .brk-faq-q::before {
	background: var(--brk-purple);
	color: #ffffff;
}
.brk-faq-q::after {
	content: '';
	position: absolute;
	right: 22px; top: 50%;
	width: 11px; height: 11px;
	border-right: 2px solid var(--brk-purple);
	border-bottom: 2px solid var(--brk-purple);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.2s ease;
}
.brk-faq-item[open] .brk-faq-q::after {
	transform: translateY(-25%) rotate(-135deg);
}
.brk-faq-q:hover { color: var(--brk-purple); }
.brk-faq-a {
	padding: 0 22px 18px 50px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--brk-text);
}
.brk-faq-a strong { color: var(--brk-purple-d); font-weight: 700; }

/* -----------------------------------------------------------------------------
 * ALTERNATIVES — Redesign v2 (12 Maggio 2026)
 * Firma editoriale TradingOnline: bordo gradient + spina laterale + pillole
 * -------------------------------------------------------------------------- */
.brk-alt-card { padding: 32px; position: relative; overflow: hidden; }
.brk-alt-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, var(--brk-pink) 50%, var(--brk-purple) 100%);
}
.brk-alt-card .brk-card-header {
	margin-bottom: 24px;
}
.brk-alt-card .brk-card-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: var(--brk-purple);
	background: var(--brk-purple-tint);
	padding: 5px 12px;
	border-radius: 100px;
	margin-bottom: 12px;
}
.brk-alt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.brk-alt-item {
	position: relative;
	background:
		linear-gradient(#ffffff, #ffffff) padding-box,
		linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 50%, var(--brk-purple) 100%) border-box;
	border: 1.5px solid transparent;
	border-radius: 16px;
	padding: 22px 22px 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
}
.brk-alt-item::before {
	content: '';
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	border-radius: 0 3px 3px 0;
	opacity: 0.85;
}
.brk-alt-rank-badge {
	position: absolute;
	top: 0;
	right: 16px;
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	color: white;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.8px;
	padding: 4px 11px 5px;
	border-radius: 0 0 8px 8px;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.25);
	z-index: 2;
}
.brk-alt-rank-badge i { font-size: 10px; }
.brk-alt-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	min-height: 54px;
}
.brk-alt-logo {
	width: 54px;
	height: 54px;
	border-radius: 12px;
	background: #ffffff;
	border: 1.5px solid var(--brk-purple-tint);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 7px;
	flex-shrink: 0;
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.08);
	transition: all 0.22s ease;
}
.brk-alt-logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.brk-alt-name-block {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}
.brk-alt-name {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.4px;
	color: var(--brk-text);
	line-height: 1.15;
	white-space: nowrap;
	overflow: visible;
	max-width: none;
}
.brk-alt-cluster {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 600;
	color: var(--brk-purple);
	background: var(--brk-purple-tint);
	padding: 3px 9px;
	border-radius: 100px;
	letter-spacing: 0.2px;
}
.brk-alt-cluster i { font-size: 9px; }
.brk-alt-score {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	user-select: none;
	transition: all 0.2s ease;
	width: fit-content;
}
.brk-alt-score:hover .brk-alt-stars {
	background: var(--brk-purple-soft);
}
.brk-alt-score:hover .brk-alt-info-icon {
	color: var(--brk-purple-d);
	transform: scale(1.15);
}
.brk-alt-stars {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--brk-purple-tint);
	padding: 6px 14px;
	border-radius: 100px;
	transition: background 0.2s ease;
}
.brk-alt-stars-icons {
	color: #f5a623;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 1;
}
.brk-alt-stars-value {
	font-size: 13px;
	font-weight: 800;
	color: var(--brk-purple);
	letter-spacing: -0.2px;
	line-height: 1;
}
/* Separatore visivo verticale + icona ⓘ dentro la pillola */
.brk-alt-stars-divider {
	width: 1px;
	height: 12px;
	background: var(--brk-purple);
	opacity: 0.25;
	margin: 0 2px;
}
.brk-alt-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--brk-purple);
	font-size: 12px;
	transition: all 0.2s ease;
	flex-shrink: 0;
	line-height: 1;
}
.brk-alt-info-icon i { font-size: 12px; }

/* Metriche: blocco con altezza fissa + pillole troncate per allineamento garantito */
.brk-alt-metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-height: 64px; /* 2 righe pillole = garantito allineamento card */
	align-content: flex-start;
}
.brk-alt-metric {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fafafe;
	border: 1px solid var(--brk-border);
	padding: 5px 10px;
	border-radius: 100px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--brk-text-soft);
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
.brk-alt-metric span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.brk-alt-metric i {
	color: var(--brk-purple);
	font-size: 10px;
}
.brk-alt-metric strong {
	color: var(--brk-text);
	font-weight: 700;
}
.brk-alt-divider {
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--brk-border) 50%, transparent 100%);
	margin: 2px 0;
}
.brk-alt-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(135deg, #1ec760 0%, #16a04d 100%);
	color: #ffffff !important;
	text-decoration: none !important;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.2px;
	box-shadow: 0 4px 14px rgba(30, 199, 96, 0.25);
	transition: all 0.22s ease;
	position: relative;
	overflow: hidden;
	white-space: nowrap;
}
.brk-alt-cta span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}
.brk-alt-cta:link,
.brk-alt-cta:visited { color: #ffffff !important; }
.brk-alt-cta i {
	font-size: 12px;
	transition: transform 0.22s ease;
}
.brk-alt-cta:hover {
	box-shadow: 0 6px 20px rgba(30, 199, 96, 0.4);
	transform: translateY(-1px);
}
.brk-alt-cta:hover i { transform: translateX(3px); }
.brk-alt-review-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1px;
	padding: 4px 0;
	transition: all 0.22s ease;
	margin-top: 2px;
	white-space: nowrap;
}
.brk-alt-review-link i {
	font-size: 10px;
	transition: transform 0.22s ease;
}
.brk-alt-review-link:hover { color: var(--brk-purple-d) !important; }
.brk-alt-review-link:hover i { transform: translateX(4px); }
.brk-alt-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(73, 7, 217, 0.15);
}
.brk-alt-item:hover .brk-alt-logo {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 4px 14px rgba(73, 7, 217, 0.15);
}

/* -----------------------------------------------------------------------------
 * SAFETY SCORE — restyle "scheda banca-grade"
 * -------------------------------------------------------------------------- */
.brk-safety-card {
	border-left: none;
	padding: 0;
	overflow: hidden;
}
.brk-safety-card.brk-safety-top { background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%); }
.brk-safety-header {
	background: linear-gradient(135deg, var(--brk-purple) 0%, #6a3fed 100%);
	color: #ffffff;
	padding: 22px 28px;
	display: flex;
	gap: 18px;
	align-items: center;
	margin: 0;
}
.brk-safety-card.brk-safety-top .brk-safety-header {
	background: linear-gradient(135deg, var(--brk-green) 0%, #02a85a 100%);
}
.brk-safety-card.brk-safety-mid .brk-safety-header {
	background: linear-gradient(135deg, var(--brk-amber) 0%, #a05d0d 100%);
}
.brk-safety-card.brk-safety-low .brk-safety-header {
	background: linear-gradient(135deg, var(--brk-pink) 0%, #4907d9 100%);
}
.brk-safety-header > i {
	font-size: 32px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.18);
	width: 56px;
	height: 56px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.brk-safety-card .brk-card-title {
	color: #ffffff !important;
	font-size: 19px;
	margin: 0;
}
.brk-safety-tier {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.9);
	margin-top: 4px;
}
.brk-safety-tier strong { color: #ffffff; font-weight: 700; }

.brk-safety-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	padding: 22px 26px 26px;
}
.brk-safety-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--brk-bg-soft);
	padding: 14px 16px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.45;
	border: 1px solid var(--brk-border);
	transition: all 0.15s ease;
}
.brk-safety-item:hover {
	background: #ffffff;
	border-color: var(--brk-purple-soft);
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.06);
}
.brk-safety-item i {
	color: var(--brk-purple);
	font-size: 18px;
	flex-shrink: 0;
	margin-top: 1px;
	width: 22px;
	text-align: center;
}
.brk-safety-item.brk-safety-yes i { color: var(--brk-green); }
.brk-safety-item strong {
	color: var(--brk-text);
	display: block;
	margin-bottom: 3px;
	font-size: 13px;
	font-weight: 700;
}
.brk-safety-item div {
	color: var(--brk-text-muted);
	font-size: 12.5px;
}

/* -----------------------------------------------------------------------------
 * RESPONSIVE — Mobile (sotto 768px)
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.brk-hero { padding: 18px 16px; border-radius: 12px; }
	.brk-hero-grid {
		grid-template-columns: auto 1fr;
		grid-template-areas: "logo titles" "score score";
		gap: 12px;
	}
	.brk-hero-logo { grid-area: logo; }
	.brk-hero-titles { grid-area: titles; }
	.brk-hero-score {
		grid-area: score;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 12px 16px;
		margin-top: 8px;
		gap: 6px;
	}
	.brk-hero-score-row { gap: 4px; }
	.brk-hero-score-value { font-size: 30px; }
	.brk-hero-stars { margin: 0; }
	.brk-hero-stars i { font-size: 19px; }
	.brk-hero-score100 { font-size: 13px; }
	.brk-hero-meta { font-size: 11px; padding-top: 4px; }
	.brk-hero-title { font-size: 22px; }
	.brk-hero-metrics {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		margin-top: 16px;
		padding-top: 16px;
	}
	.brk-metric { padding: 10px 12px; }
	.brk-metric-value { font-size: 15px; }
	.brk-hero-actions { flex-direction: column; gap: 10px; }
	.brk-cta-primary, .brk-cta-ghost { width: 100% !important; flex: initial !important; padding: 13px 18px !important; font-size: 14px !important; }

	.brk-authors {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 16px;
	}
	.brk-author-divider { display: none; }
	.brk-author-trust {
		margin-left: 0;
		text-align: left;
		border-left: none;
		padding-left: 0;
		padding-top: 12px;
		border-top: 1px dashed rgba(73, 7, 217, 0.12);
		width: 100%;
	}

	.brk-card { padding: 18px 18px; border-radius: 12px; }
	.brk-card-title { font-size: 17px; }
	.brk-card-header { margin-bottom: 14px; padding-bottom: 12px; }

	.brk-proscons { grid-template-columns: 1fr; gap: 12px; }
	.brk-proscons-header { padding: 12px 18px; }
	.brk-proscons-col ul { padding: 14px 18px 14px 20px; gap: 8px; }

	.brk-method-body { grid-template-columns: 1fr; gap: 18px; }
	.brk-method-chart { padding: 14px; }

	.brk-method-slider-body { grid-template-columns: 1fr; gap: 20px; }
	.brk-method-slider-chart { order: -1; padding: 18px; }

	.brk-faq-q { font-size: 14px; padding: 14px 18px 14px 46px; padding-right: 40px; }
	.brk-faq-q::before { left: 14px; width: 22px; height: 22px; font-size: 12px; }
	.brk-faq-q::after { right: 18px; width: 9px; height: 9px; }
	.brk-faq-a { font-size: 13px; padding: 0 18px 14px 46px; }

	/* ============================================================
	 * Alternative broker: carosello orizzontale con scroll snap
	 * Pattern: Booking.com / Forbes Advisor / Airbnb
	 * Aggiunto 12 Maggio 2026 - v3 RINFORZATO
	 * ============================================================ */
	.brk-card.brk-alt-card,
	.brk-alt-card {
		padding: 18px 0 20px !important;
		overflow: hidden !important;
		position: relative !important;
	}
	.brk-alt-card .brk-card-header {
		padding: 0 18px !important;
		margin-bottom: 14px !important;
	}
	/* GRID → FLEX orizzontale: massima specificity per battere regole desktop ereditate */
	.brk-card.brk-alt-card .brk-alt-grid,
	.brk-alt-card .brk-alt-grid,
	.brk-alt-grid {
		display: flex !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 12px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 4px 18px 18px !important;
		margin: 0 -18px !important;
		width: auto !important;
		max-width: none !important;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.brk-alt-grid::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}
	.brk-card.brk-alt-card .brk-alt-grid .brk-alt-item,
	.brk-alt-card .brk-alt-grid .brk-alt-item,
	.brk-alt-grid .brk-alt-item,
	.brk-alt-item {
		flex: 0 0 82% !important;
		min-width: 0 !important;
		width: 82% !important;
		max-width: 300px !important;
		scroll-snap-align: start !important;
		scroll-snap-stop: always !important;
		margin: 0 !important;
		padding: 20px 18px 18px !important;
	}
	.brk-alt-logo { width: 54px !important; height: 54px !important; }
	.brk-alt-name { font-size: 17px !important; }
	/* Cue visivo: bordo destro sfumato bianco suggerisce scroll */
	.brk-alt-card::after {
		content: '' !important;
		position: absolute !important;
		top: 95px !important;
		right: 0 !important;
		bottom: 28px !important;
		width: 28px !important;
		background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.9) 60%, rgba(255, 255, 255, 1) 100%) !important;
		pointer-events: none !important;
		z-index: 2 !important;
	}

	.brk-safety-header { padding: 18px 20px; gap: 14px; }
	.brk-safety-header > i { width: 44px; height: 44px; font-size: 24px; border-radius: 10px; }
	.brk-safety-card .brk-card-title { font-size: 16px; }
	.brk-safety-grid { grid-template-columns: 1fr; padding: 16px 18px 20px; gap: 10px; }

	.brk-info-icon { width: 18px; height: 18px; }
	.brk-info-icon i { font-size: 9px; }

	.brk-tt-weights { min-width: 260px; padding: 14px; }
	.brk-tt-flex { flex-direction: column; gap: 14px; align-items: flex-start; }
}


/* =============================================================================
 * v1.3 — HERO STRIP BADGES, SCORE V3, STICKY CTA, SIDEBAR, SECTION SCORE
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * HERO STRIP — badge orizzontali al posto della stringa "Sede · Aggiornata"
 * -------------------------------------------------------------------------- */
.brk-hero-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}
.brk-strip-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--brk-bg-soft);
	color: var(--brk-text-muted);
	padding: 5px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	border: 1px solid var(--brk-border);
	white-space: nowrap;
}
.brk-strip-item i {
	font-size: 10px;
	color: var(--brk-purple);
}

/* -----------------------------------------------------------------------------
 * HERO SCORE /100 sotto stelle
 * -------------------------------------------------------------------------- */
.brk-hero-score100 {
	margin-top: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-purple);
	background: #ffffff;
	border-radius: 8px;
	padding: 4px 10px;
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	border: 1px solid var(--brk-purple-soft);
}
.brk-hero-score100 span:first-of-type {
	color: var(--brk-text-faint);
	font-size: 11px;
	font-weight: 400;
}
.brk-hero-score100-label {
	color: var(--brk-text-muted) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	margin-left: 6px;
}

/* -----------------------------------------------------------------------------
 * SCORES V3 — breakdown ricco con summary e barre
 * -------------------------------------------------------------------------- */
.brk-scoresv3-card { padding: 26px 28px; }
.brk-scoresv3-summary {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 28px;
	align-items: center;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, var(--brk-pink-tint) 100%);
	border-radius: 14px;
	padding: 20px 22px;
	margin-bottom: 22px;
	border: 1px solid rgba(73, 7, 217, 0.1);
}
.brk-scoresv3-final {
	text-align: center;
	padding-right: 24px;
	border-right: 1px solid rgba(73, 7, 217, 0.15);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.brk-scoresv3-stars { display: flex; gap: 3px; }
.brk-scoresv3-stars i { font-size: 18px; }
.brk-scoresv3-numbers {
	display: flex;
	align-items: baseline;
	gap: 4px;
}
.brk-scoresv3-bignum {
	font-size: 38px;
	font-weight: 700;
	color: var(--brk-purple);
	line-height: 1;
	letter-spacing: -1px;
}
.brk-scoresv3-on {
	font-size: 16px;
	color: var(--brk-text-faint);
}
.brk-scoresv3-pct {
	margin-left: 8px;
	background: var(--brk-purple);
	color: #ffffff;
	padding: 3px 10px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
}
.brk-scoresv3-judge {
	font-size: 13px;
	color: var(--brk-purple-d);
	font-weight: 600;
	margin-top: 4px;
	max-width: 200px;
	line-height: 1.35;
}
.brk-scoresv3-meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.brk-scoresv3-meta-row {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 13px;
	color: var(--brk-text);
	line-height: 1.5;
}
.brk-scoresv3-meta-row i {
	color: var(--brk-purple);
	font-size: 14px;
	margin-top: 3px;
	flex-shrink: 0;
}
.brk-scoresv3-link {
	font-size: 12.5px;
	color: var(--brk-purple);
	text-decoration: none;
	font-weight: 700;
	transition: gap 0.15s ease;
	display: inline-flex;
	gap: 5px;
}
.brk-scoresv3-link:hover { text-decoration: underline; }

.brk-scoresv3-criteria {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 28px;
}
.brk-scoresv3-row {
	background: var(--brk-bg-soft);
	border-radius: 10px;
	padding: 12px 14px;
	border-left: 3px solid var(--brk-purple);
	transition: all 0.15s ease;
}
.brk-scoresv3-row:hover {
	background: #ffffff;
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.06);
}
/* De-AI: bordo-riga in scala viola monocromatica (no ambra/rosa) */
.brk-scoresv3-top  { border-left-color: #2e0b8f; }
.brk-scoresv3-high { border-left-color: #4907d9; }
.brk-scoresv3-mid  { border-left-color: #8a7ec8; }
.brk-scoresv3-low  { border-left-color: #c2bcd9; }
.brk-scoresv3-row-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 8px;
	gap: 6px;
}
.brk-scoresv3-label {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--brk-text);
	line-height: 1.3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.brk-scoresv3-label .brk-info-icon {
	width: 18px;
	height: 18px;
	margin-left: 0;
}
.brk-scoresv3-label .brk-info-icon i { font-size: 9px; }
.brk-scoresv3-weight {
	font-size: 11px;
	color: var(--brk-text-faint);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	white-space: nowrap;
}
.brk-scoresv3-row-body {
	display: flex;
	align-items: center;
	gap: 10px;
}
.brk-scoresv3-bar {
	flex: 1;
	height: 7px;
	background: rgba(73, 7, 217, 0.1);
	border-radius: 4px;
	overflow: hidden;
}
.brk-scoresv3-fill {
	height: 100%;
	border-radius: 4px;
	background: var(--brk-purple);
	transition: width 0.4s ease;
}
/* De-AI: scala monocromatica viola (no arcobaleno). Lunghezza + tonalità = qualità. */
.brk-scoresv3-top  .brk-scoresv3-fill { background: #2e0b8f; }
.brk-scoresv3-high .brk-scoresv3-fill { background: #4907d9; }
.brk-scoresv3-mid  .brk-scoresv3-fill { background: #8a7ec8; }
.brk-scoresv3-low  .brk-scoresv3-fill { background: #c2bcd9; }
.brk-scoresv3-value {
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-purple);
	flex-shrink: 0;
	min-width: 36px;
	text-align: right;
}

/* -----------------------------------------------------------------------------
 * SECTION SCORE — stelline inline accanto a H2
 * -------------------------------------------------------------------------- */
.brk-sec-score,
h1 .brk-sec-score,
h2 .brk-sec-score,
h3 .brk-sec-score,
h4 .brk-sec-score {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-left: 12px !important;
	padding: 6px 14px !important;
	background: var(--brk-purple-tint) !important;
	border-radius: 999px !important;
	vertical-align: middle !important;
	font-family: 'Roboto', sans-serif !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.brk-sec-score .brk-sec-stars,
h1 .brk-sec-score .brk-sec-stars,
h2 .brk-sec-score .brk-sec-stars,
h3 .brk-sec-score .brk-sec-stars,
h4 .brk-sec-score .brk-sec-stars {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 1px !important;
	line-height: 0 !important;
	height: 14px !important;
}
.brk-sec-score .brk-sec-stars i,
h1 .brk-sec-score .brk-sec-stars i,
h2 .brk-sec-score .brk-sec-stars i,
h3 .brk-sec-score .brk-sec-stars i,
h4 .brk-sec-score .brk-sec-stars i {
	font-size: 12px !important;
	color: var(--brk-amber) !important;
	line-height: 1 !important;
	display: inline-block !important;
	vertical-align: middle !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
.brk-sec-score .brk-sec-stars i.fa-regular {
	color: var(--brk-amber) !important;
}
.brk-sec-score .brk-sec-num,
h1 .brk-sec-score .brk-sec-num,
h2 .brk-sec-score .brk-sec-num,
h3 .brk-sec-score .brk-sec-num,
h4 .brk-sec-score .brk-sec-num {
	font-size: 12px !important;
	color: var(--brk-purple-d) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	height: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
}
.brk-sec-score .brk-info-icon,
h1 .brk-sec-score .brk-info-icon,
h2 .brk-sec-score .brk-info-icon,
h3 .brk-sec-score .brk-info-icon,
h4 .brk-sec-score .brk-info-icon {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: rgba(73, 7, 217, 0.15) !important;
	border: none !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
}
.brk-sec-score .brk-info-icon i {
	font-size: 9px !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	color: var(--brk-purple) !important;
}

/* Heading generato dallo shortcode con parametro h2= o h3= */
.brk-sec-heading {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}
@media (max-width: 768px) {
	.brk-sec-heading .brk-sec-score {
		margin-left: 0 !important;
		margin-top: 6px !important;
	}
}

/* -----------------------------------------------------------------------------
 * STICKY CTA — barra floating mobile + pillola desktop
 * -------------------------------------------------------------------------- */
.brk-sticky-cta {
	position: fixed;
	left: 0; right: 0;
	bottom: 0;
	z-index: 9999;
	transform: translateY(100%);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
	font-family: 'Roboto', sans-serif;
}
.brk-sticky-cta.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}
.brk-sticky-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #ffffff;
	border-top: 1px solid var(--brk-border);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08);
	padding: 10px 16px;
	max-width: 100%;
}
.brk-sticky-logo {
	width: 44px;
	height: 36px;
	object-fit: contain;
	flex-shrink: 0;
}
.brk-sticky-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.brk-sticky-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--brk-text);
	line-height: 1.2;
}
.brk-sticky-rating {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: var(--brk-text-muted);
}
.brk-sticky-rating i { font-size: 10px; }
.brk-sticky-rating span { font-weight: 700; color: var(--brk-purple); }
.brk-sticky-btn {
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%) !important;
	color: #ffffff !important;
	padding: 11px 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-shadow: 0 2px 8px rgba(4, 190, 104, 0.3);
	white-space: nowrap;
	transition: all 0.18s ease;
	flex-shrink: 0;
}
.brk-sticky-btn:hover {
	background: linear-gradient(180deg, var(--brk-green) 0%, var(--brk-green-d) 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(4, 190, 104, 0.4);
}
.brk-sticky-btn i { font-size: 11px; }
.brk-sticky-close {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 6px;
	color: var(--brk-text-faint);
	transition: color 0.15s ease;
	flex-shrink: 0;
}
.brk-sticky-close:hover { color: var(--brk-text); }

/* Desktop: trasforma in pillola fixed bottom-right */
@media (min-width: 769px) {
	.brk-sticky-cta {
		left: auto;
		right: 24px;
		bottom: 24px;
		max-width: 380px;
		transform: translateY(calc(100% + 30px));
	}
	.brk-sticky-cta.is-visible {
		transform: translateY(0);
	}
	.brk-sticky-inner {
		border: 1px solid var(--brk-border);
		border-radius: 14px;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
		padding: 12px 16px;
	}
}

/* -----------------------------------------------------------------------------
 * SIDEBAR [broker] — restyle moderno
 * -------------------------------------------------------------------------- */
.brk-sidebar-card {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	overflow: hidden;
	margin: 0 0 22px;
	box-shadow: 0 1px 2px rgba(27,30,37,0.04), 0 4px 14px rgba(73,7,217,0.05);
	font-family: 'Roboto', sans-serif;
}
.brk-sidebar-header {
	background: linear-gradient(135deg, var(--brk-purple) 0%, #6a3fed 100%);
	color: #ffffff;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.brk-sidebar-header i {
	font-size: 16px;
	color: #ffd24d;
}
.brk-sidebar-title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: -0.1px;
}
.brk-sidebar-list {
	display: flex;
	flex-direction: column;
}
.brk-sidebar-item {
	padding: 14px 18px;
	border-bottom: 1px solid var(--brk-border);
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 14px;
	align-items: center;
	transition: background 0.15s ease;
}
.brk-sidebar-item:last-child { border-bottom: none; }
.brk-sidebar-item:hover { background: var(--brk-bg-soft); }
.brk-sidebar-item-top {
	background: linear-gradient(90deg, var(--brk-purple-tint) 0%, transparent 100%);
}
.brk-sidebar-item-top:hover {
	background: linear-gradient(90deg, var(--brk-purple-soft) 0%, var(--brk-bg-soft) 100%);
}
.brk-sidebar-rank {
	display: flex;
	align-items: center;
	justify-content: center;
}
.brk-sidebar-rank span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--brk-purple);
	color: #ffffff;
	font-weight: 700;
	font-size: 13px;
}
.brk-sidebar-item-top .brk-sidebar-rank span {
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	box-shadow: 0 2px 6px rgba(73, 7, 217, 0.3);
}
.brk-sidebar-broker {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.brk-sidebar-logo {
	height: 32px;
	display: flex;
	align-items: center;
}
.brk-sidebar-logo img {
	max-height: 30px;
	max-width: 110px;
	width: auto;
	object-fit: contain;
}
.brk-sidebar-rating {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
}
.brk-sidebar-rating i { font-size: 10px; }
.brk-sidebar-rating-num {
	color: var(--brk-purple);
	font-weight: 700;
}
.brk-sidebar-actions {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 2px;
}
.brk-sidebar-review {
	font-size: 11px;
	color: var(--brk-purple) !important;
	text-decoration: underline !important;
	font-weight: 600;
	text-decoration-color: var(--brk-purple-soft) !important;
	text-underline-offset: 2px;
}
.brk-sidebar-review:hover {
	text-decoration-color: var(--brk-purple) !important;
}
.brk-sidebar-cta {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%) !important;
	color: #ffffff !important;
	padding: 8px 12px !important;
	border-radius: 7px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 6px rgba(4, 190, 104, 0.22) !important;
	transition: all 0.18s ease !important;
}
.brk-sidebar-cta:hover {
	background: linear-gradient(180deg, var(--brk-green) 0%, var(--brk-green-d) 100%) !important;
	box-shadow: 0 4px 10px rgba(4, 190, 104, 0.32) !important;
	color: #ffffff !important;
}
.brk-sidebar-cta i { font-size: 9px; }

/* -----------------------------------------------------------------------------
 * FIX bullet pro/contro sovrapposte (si vedeva ✓ sopra il testo)
 * -------------------------------------------------------------------------- */
.brk-proscons-col ul {
	list-style: none !important;
	padding: 18px 22px 18px 22px !important;
}
.brk-proscons-col li {
	padding-left: 38px !important;
	position: relative;
	min-height: 24px;
	line-height: 1.55 !important;
}
.brk-proscons-col li::before {
	left: 0 !important;
	top: 4px !important;
	width: 22px !important;
	height: 22px !important;
	background-size: 14px !important;
	flex-shrink: 0 !important;
}

/* -----------------------------------------------------------------------------
 * RESPONSIVE v1.3
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.brk-hero-strip { gap: 4px; margin-top: 8px; }
	.brk-strip-item { font-size: 11px; padding: 4px 9px; }
	.brk-strip-item i { font-size: 9px; }

	/* FIX HERO MOBILE — title-row più compatto e badges che wrappano correttamente */
	.brk-hero-title-row {
		gap: 6px !important;
		row-gap: 8px;
	}
	.brk-hero-title {
		font-size: 22px !important;
		flex: 1 1 100%; /* titolo va sempre da solo su prima riga su mobile */
		min-width: 0;
	}
	.brk-hero-title-row .brk-badge,
	.brk-hero-title-row .brk-badge-license,
	.brk-hero-title-row .brk-badge-tested {
		font-size: 10.5px !important;
		padding: 4px 9px !important;
		max-width: calc(100vw - 80px); /* mai sforare il viewport */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		flex: 0 1 auto; /* permetti shrink se serve */
	}
	.brk-hero-title-row .brk-badge i {
		font-size: 9px !important;
	}
	/* Tooltip ⓘ disclaimer affianco ai badges, non orfano */
	.brk-hero-title-row .brk-info-icon.brk-info-disclaimer {
		flex: 0 0 auto;
		width: 22px;
		height: 22px;
	}
	.brk-hero-title-row .brk-info-icon.brk-info-disclaimer i {
		font-size: 10px;
	}

	.brk-hero-score100 { font-size: 12px; }
	.brk-hero-score100-label { font-size: 9px !important; }

	.brk-scoresv3-card { padding: 18px 16px; }
	.brk-scoresv3-summary {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 16px 18px;
	}
	.brk-scoresv3-final {
		padding-right: 0;
		padding-bottom: 16px;
		border-right: none;
		border-bottom: 1px solid rgba(73, 7, 217, 0.15);
	}
	.brk-scoresv3-bignum { font-size: 32px; }
	.brk-scoresv3-judge { max-width: 100%; }
	.brk-scoresv3-criteria { grid-template-columns: 1fr; gap: 10px; }

	.brk-sticky-inner { padding: 8px 12px; gap: 10px; }
	.brk-sticky-logo { width: 38px; height: 32px; }
	.brk-sticky-name { font-size: 13px; }
	.brk-sticky-btn { padding: 9px 14px; font-size: 13px; }
	.brk-sticky-close { padding: 4px; font-size: 11px; }

	.brk-sec-score {
		display: inline-flex;
		margin-left: 0;
		margin-top: 6px;
		font-size: 11px;
	}
	.brk-sec-stars i { font-size: 11px; }
	.brk-sec-num { font-size: 11px; }

	.brk-sidebar-item { padding: 12px 14px; gap: 10px; grid-template-columns: 28px 1fr; }
	.brk-sidebar-rank span { width: 24px; height: 24px; font-size: 12px; }
}

/* =============================================================================
 * v1.3.1 — HOMEPAGE SLIDER "Gli ultimi broker valutati"
 * Layout: featured top (3 card estese) + carosello sotto (4 compatte)
 * Mobile: tutte in carosello scroll-snap con dot indicators
 * ========================================================================== */

.brk-latest-section {
	font-family: 'Roboto', sans-serif;
	margin: 32px 0;
	color: var(--brk-text);
}

/* HEADER */
.brk-latest-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.brk-latest-titlewrap { flex: 1; min-width: 0; }
.brk-latest-title {
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.4px;
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}
.brk-latest-title .brk-info-icon {
	margin-left: 4px;
	width: 24px;
	height: 24px;
}
.brk-latest-title .brk-info-icon i { font-size: 12px; }
.brk-latest-subtitle {
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--brk-text-muted);
	line-height: 1.5;
}
.brk-latest-subtitle sup { font-size: 9px; }
.brk-latest-allink {
	font-size: 13px;
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1.5px solid var(--brk-purple-soft);
	border-radius: 8px;
	transition: all 0.18s ease;
	white-space: nowrap;
	flex-shrink: 0;
}
.brk-latest-allink:hover {
	background: var(--brk-purple);
	color: #ffffff !important;
	border-color: var(--brk-purple);
}
.brk-latest-allink i { font-size: 11px; transition: transform 0.18s ease; }
.brk-latest-allink:hover i { transform: translateX(2px); }

/* FEATURED — 3 card estese desktop, ora SVILUPPATE IN LARGHEZZA (stack vertical) */
.brk-latest-featured {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 18px;
}

/* CARD BASE (sia featured che compact) */
.brk-latest-card {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-decoration: none !important;
	color: var(--brk-text) !important;
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.03);
}
.brk-latest-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: var(--brk-purple);
	opacity: 0;
	transition: opacity 0.18s ease;
}
.brk-latest-card:hover {
	border-color: var(--brk-line-2, #d9d4e6);
	box-shadow: 0 12px 28px -14px rgba(27, 30, 37, 0.22);
	transform: translateY(-2px);
	color: var(--brk-text) !important;
	text-decoration: none !important;
}
.brk-latest-card:hover::before { opacity: 1; }

.brk-latest-card-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}
.brk-latest-cluster {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--brk-text-muted);
	background: transparent;
	padding: 0;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
}
.brk-latest-cluster::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--brk-purple);
	flex: 0 0 auto;
}
.brk-latest-date {
	font-size: 11px;
	color: var(--brk-text-faint);
	font-weight: 500;
	white-space: nowrap;
}

.brk-latest-card-logo {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.brk-latest-card-logo img {
	max-height: 46px;
	max-width: 160px;
	width: auto;
	object-fit: contain;
}
.brk-latest-logo-fallback {
	height: 46px;
	padding: 0 14px;
	background: var(--brk-purple-tint);
	color: var(--brk-purple);
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
}

.brk-latest-card-name {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.2px;
	line-height: 1.2;
}
/* Logo già contiene il wordmark del broker → il nome testuale è ridondante:
   lo teniamo solo per screen-reader/SEO quando il logo è presente (.is-sr),
   visibile solo nel fallback senza logo. */
.brk-latest-card-name.is-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* RATING (riusabile featured/compact) */
.brk-latest-card-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.brk-latest-card-rating.is-rated {
	background: var(--brk-purple-tint);
	padding: 6px 10px;
	border-radius: 8px;
	width: fit-content;
}
.brk-latest-stars { display: inline-flex; gap: 2px; }
.brk-latest-stars i { font-size: 13px; color: var(--brk-amber); }
.brk-latest-stars i.fa-regular { color: var(--brk-amber); }
.brk-latest-stars-empty i {
	color: #f4d287 !important;
	opacity: 0.55;
}
.brk-latest-voto {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--brk-purple);
}
.brk-latest-card-rating.is-pending {
	background: linear-gradient(90deg, #fff8e1 0%, #fffaf0 100%);
	border: 1px solid #f1d99b;
	padding: 6px 10px;
	border-radius: 8px;
	width: fit-content;
}
.brk-latest-pending-label {
	font-size: 11px;
	font-weight: 700;
	color: #a17a1f;
	background: #ffeec2;
	padding: 2px 8px;
	border-radius: 6px;
	letter-spacing: 0.3px;
}
.brk-latest-card-rating .brk-info-icon {
	width: 18px;
	height: 18px;
	margin-left: 0;
	background: rgba(161, 122, 31, 0.15);
	color: #a17a1f;
}
.brk-latest-card-rating .brk-info-icon:hover {
	background: #a17a1f;
	color: #ffffff;
}
.brk-latest-card-rating .brk-info-icon i { font-size: 9px; }

/* BULLETS (solo featured) */
.brk-latest-card-bullets {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 12.5px;
	color: var(--brk-text-muted);
}
.brk-latest-card-bullets li {
	display: flex;
	align-items: center;
	gap: 8px;
}
.brk-latest-card-bullets i {
	color: var(--brk-purple);
	font-size: 11px;
	width: 14px;
	text-align: center;
}

/* READLINK */
.brk-latest-readlink {
	margin-top: auto;
	padding-top: 10px;
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-purple) !important;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-top: 1px solid var(--brk-border);
	transition: gap 0.18s ease;
}
.brk-latest-card:hover .brk-latest-readlink {
	gap: 9px;
	color: var(--brk-purple-d) !important;
}
.brk-latest-readlink i { font-size: 10px; }

.brk-latest-card-compact .brk-latest-readlink {
	border-top: none;
	padding-top: 0;
}
.brk-latest-card-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--brk-border);
}

/* CAROSELLO */
.brk-latest-carousel-wrap {
	position: relative;
	margin-top: 6px;
}
.brk-latest-carousel {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(220px, 1fr);
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding: 4px 2px;
	scrollbar-width: none;
}
.brk-latest-carousel::-webkit-scrollbar { display: none; }
.brk-latest-carousel .brk-latest-card {
	scroll-snap-align: start;
	min-width: 0;
}
.brk-latest-card-compact { padding: 16px 18px; }
.brk-latest-card-compact .brk-latest-card-logo { height: 44px; }
.brk-latest-card-compact .brk-latest-card-logo img { max-height: 40px; max-width: 120px; }
.brk-latest-card-compact .brk-latest-card-name { font-size: 16px; }

/* FRECCE NAVIGAZIONE (desktop only) */
.brk-latest-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	color: var(--brk-purple);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.18s ease;
	flex-shrink: 0;
}
.brk-latest-arrow:hover:not(:disabled) {
	background: var(--brk-purple);
	color: #ffffff;
	border-color: var(--brk-purple);
}
.brk-latest-arrow:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}
.brk-latest-prev { left: -18px; }
.brk-latest-next { right: -18px; }
.brk-latest-arrow i { font-size: 13px; }

/* DOT INDICATORS (mobile only) */
.brk-latest-dots {
	display: none;
	justify-content: center;
	gap: 7px;
	margin-top: 14px;
}
.brk-latest-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--brk-border);
	cursor: pointer;
	transition: all 0.18s ease;
}
.brk-latest-dot.is-active {
	background: var(--brk-purple);
	width: 22px;
	border-radius: 4px;
}

/* RESPONSIVE TABLET (768-1024) */
@media (max-width: 1024px) {
	/* Featured ora è flex column, non più grid: non serve più ridurre colonne. Mantengo solo frecce */
	.brk-latest-prev { left: -14px; }
	.brk-latest-next { right: -14px; }
}

/* RESPONSIVE MOBILE (<768px) */
@media (max-width: 768px) {
	.brk-latest-section { margin: 24px 0; }
	.brk-latest-head { flex-direction: column; align-items: flex-start; gap: 10px; }
	.brk-latest-title { font-size: 20px; gap: 4px; }
	.brk-latest-subtitle { font-size: 13px; }
	.brk-latest-allink {
		font-size: 12px;
		padding: 6px 12px;
		align-self: stretch;
		justify-content: center;
	}

	/* Featured nascoste su mobile, va tutto in un unico carosello */
	.brk-latest-featured { display: none; }

	.brk-latest-carousel-wrap {
		margin: 0 -16px; /* edge-to-edge mobile */
	}
	.brk-latest-carousel {
		grid-auto-columns: 80%;
		gap: 12px;
		padding: 4px 16px;
	}
	.brk-latest-arrow { display: none; } /* Touch native, no frecce */
	.brk-latest-dots { display: flex; }

	.brk-latest-card { padding: 16px 18px; }
	.brk-latest-card-name { font-size: 16px; }
	.brk-latest-card-logo { height: 44px; }
	.brk-latest-card-logo img { max-height: 40px; max-width: 130px; }
}

/* Mobile: featured nascoste lato render PHP, vengono CLONATE via JS dentro al
   carosello quando viewport <=768px, in posizione iniziale. Risultato: mobile
   mostra TUTTE le 7 card in un unico carosello swipe-able, ordine cronologico
   preservato. Su resize >768px i cloni vengono rimossi automaticamente. */

/* =============================================================================
 * v1.3.2 — MINI BREAKDOWN nelle featured + SIDEBAR LEGACY OVERRIDE
 * ========================================================================== */

/* MINI BREAKDOWN (solo card featured) */
.brk-latest-breakdown {
	background: linear-gradient(180deg, var(--brk-bg-soft) 0%, #ffffff 100%);
	border: 1px solid var(--brk-border);
	border-radius: 10px;
	padding: 12px 14px;
	margin-top: 4px;
}
.brk-latest-breakdown-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--brk-border);
}
.brk-latest-breakdown-head > span:first-child {
	font-family: var(--disp, Georgia, serif);
	font-size: 13px;
	font-weight: 600;
	color: var(--brk-text);
	text-transform: none;
	letter-spacing: -0.1px;
}
.brk-latest-breakdown-meta {
	font-size: 10px;
	color: var(--brk-text-faint);
	font-weight: 500;
}
.brk-latest-breakdown-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
}
.brk-latest-bd-row {
	display: grid;
	grid-template-columns: 80px 1fr 32px;
	align-items: center;
	gap: 8px;
	padding: 3px 0;
}
.brk-latest-bd-label {
	font-size: 11px;
	color: var(--brk-text-muted);
	font-weight: 500;
}
.brk-latest-bd-bar {
	height: 4px;
	background: rgba(27, 30, 37, 0.07);
	border-radius: 2px;
	overflow: hidden;
}
.brk-latest-bd-fill {
	height: 100%;
	background: var(--brk-purple);
	border-radius: 2px;
	transition: width 0.4s ease;
}
/* De-AI: scala monocromatica viola (no arcobaleno). Lunghezza + tonalità = qualità. */
.brk-latest-bd-top  .brk-latest-bd-fill { background: #2e0b8f; }
.brk-latest-bd-high .brk-latest-bd-fill { background: #4907d9; }
.brk-latest-bd-mid  .brk-latest-bd-fill { background: #8a7ec8; }
.brk-latest-bd-low  .brk-latest-bd-fill { background: #c2bcd9; }
.brk-latest-bd-row.is-empty .brk-latest-bd-fill {
	background: repeating-linear-gradient(45deg, #e3e7ee 0, #e3e7ee 5px, #f3f5f9 5px, #f3f5f9 10px);
	width: 100% !important;
	opacity: 0.5;
}
.brk-latest-bd-val {
	font-size: 11px;
	font-weight: 700;
	color: var(--brk-purple);
	text-align: right;
}
.brk-latest-bd-row.is-empty .brk-latest-bd-val {
	color: #a17a1f;
	font-size: 10px;
}
.brk-latest-breakdown-empty .brk-latest-breakdown-meta {
	color: #a17a1f;
	background: #ffeec2;
	padding: 2px 8px;
	border-radius: 6px;
}

/* =============================================================================
 * v1.3.3 — FEATURED CARD ORIZZONTALE (3 zone)
 * Layout per le 3 card top dello slider home: full-width, 3 zone affiancate.
 * Zona A (sx): logo + nome.  Zona B (centro): breakdown 6 voci.  Zona C (dx): voto + bullets + CTA.
 * ========================================================================== */

.brk-latest-card-featured {
	flex-direction: row !important;
	align-items: stretch;
	gap: 0 !important;
	padding: 0 !important;
	min-height: 0;
	overflow: hidden;
}
.brk-latest-card-featured .brk-latest-zone {
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* ZONA A — sinistra (32%) */
.brk-latest-card-featured .brk-latest-zone-a {
	flex: 0 0 32%;
	max-width: 32%;
	gap: 12px;
	background: #fcfbff;
	border-right: 1px solid var(--brk-border);
}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-logo {
	height: 56px;
	margin-top: 4px;
}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-logo img {
	max-height: 52px;
	max-width: 180px;
}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-name {
	font-size: 19px;
	margin-top: auto;
	line-height: 1.25;
}

/* ZONA B — centro (38%) */
.brk-latest-card-featured .brk-latest-zone-b {
	flex: 1 1 38%;
	max-width: 38%;
	justify-content: center;
	background: var(--brk-bg-soft);
	border-right: 1px solid var(--brk-border);
}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-breakdown {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	width: 100%;
}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-breakdown-head {
	margin-bottom: 12px;
	padding-bottom: 10px;
}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-row {
	grid-template-columns: 92px 1fr 36px;
	padding: 4px 0;
}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-bar {
	height: 6px;
}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-label {
	font-size: 12px;
}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-val {
	font-size: 12px;
}

/* ZONA C — destra (30%) */
.brk-latest-card-featured .brk-latest-zone-c {
	flex: 0 0 30%;
	max-width: 30%;
	gap: 14px;
	justify-content: space-between;
	background: linear-gradient(180deg, #ffffff 0%, var(--brk-purple-tint) 100%);
}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-rating {
	width: 100%;
	justify-content: center;
	padding: 10px 12px !important;
}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-bullets {
	margin: 0;
	gap: 8px;
	padding: 12px 0;
	border-top: 1px dashed rgba(73, 7, 217, 0.15);
	border-bottom: 1px dashed rgba(73, 7, 217, 0.15);
}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-bullets li {
	font-size: 12.5px;
}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-readlink {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
	justify-content: center;
	background: var(--brk-purple);
	color: #ffffff !important;
	padding: 11px 14px;
	border-radius: 8px;
	font-weight: 700;
	transition: all 0.18s ease;
	box-shadow: 0 2px 6px rgba(73, 7, 217, 0.2);
}
.brk-latest-card-featured:hover .brk-latest-zone-c .brk-latest-readlink {
	background: var(--brk-purple-d);
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.3);
}

/* Top bar gradient della card resta, hover lift resta */
.brk-latest-card-featured:hover {
	box-shadow: 0 12px 32px rgba(73, 7, 217, 0.12);
}

/* Mobile / cloni: nascondi breakdown e bullets per coerenza */
.brk-latest-card-cloned .brk-latest-breakdown,
.brk-latest-card-cloned .brk-latest-card-bullets,
.brk-latest-card-cloned .brk-latest-zone-b,
.brk-latest-card-cloned .brk-latest-zone-c .brk-latest-card-bullets {
	display: none;
}
/* Quando un featured viene clonato nel carosello mobile, riportalo a layout column */
.brk-latest-card-cloned.brk-latest-card-featured {
	flex-direction: column !important;
}
.brk-latest-card-cloned .brk-latest-zone {
	flex: 1 1 auto !important;
	max-width: 100% !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	gap: 8px;
}

/* ============== TABLET (768-1024px) ============== */
@media (max-width: 1024px) {
	.brk-latest-card-featured .brk-latest-zone-a {
		flex: 0 0 36%;
		max-width: 36%;
	}
	.brk-latest-card-featured .brk-latest-zone-b {
		flex: 1 1 36%;
		max-width: 36%;
	}
	.brk-latest-card-featured .brk-latest-zone-c {
		flex: 0 0 28%;
		max-width: 28%;
	}
	.brk-latest-card-featured .brk-latest-zone {
		padding: 18px 18px;
	}
	.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-row {
		grid-template-columns: 78px 1fr 32px;
	}
	.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-name {
		font-size: 17px;
	}
}

/* ============== MOBILE (≤768px) ============== */
@media (max-width: 768px) {
	/* Le featured originali sono nascoste (gestite dal display:none in .brk-latest-featured più giù).
	   I cloni dentro al carosello hanno regola .brk-latest-card-cloned già definita sopra. */
	.brk-latest-card-featured { min-height: 0; }
	.brk-latest-breakdown { /* compact dentro carosello: niente */ }
}

/* =============================================================================
 * SIDEBAR LEGACY [broker]: nessun override CSS.
 * Il template-broker-recensioni.php (e mobile) carica autonomamente
 * broker-recensioni.css / broker-recensioni-mobile.css del parent theme.
 * Lasciamo che il template originale renderizzi senza interferenze.
 * ========================================================================== */


/* =============================================================================
 * v1.4.1 — MOTORE DI RICERCA BROKER (premium edition)
 * /quale-broker-scegliere/ — hero dark, loghi normalizzati, card rich
 * ========================================================================== */

.brk-search-engine {
	font-family: 'Roboto', sans-serif;
	color: var(--brk-text);
	max-width: 100%;
	margin: 0 auto;
}

/* -----------------------------------------------------------------------------
 * HERO LIGHT ELEGANT (v1.4.3 — sfondo chiaro, contrasto alto, gerarchia tipografica)
 * Sostituisce hero dark precedente. Massima leggibilità + look editoriale premium.
 * -------------------------------------------------------------------------- */
.brk-search-hero {
	position: relative;
	background:
		radial-gradient(circle at 12% 12%, rgba(73, 7, 217, 0.06) 0%, transparent 45%),
		radial-gradient(circle at 88% 88%, rgba(212, 83, 126, 0.05) 0%, transparent 50%),
		linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
	border: 1px solid var(--brk-border);
	border-radius: 18px;
	padding: 44px 40px 36px;
	margin-bottom: 28px;
	overflow: hidden;
	box-shadow:
		0 1px 2px rgba(27, 30, 37, 0.03),
		0 12px 32px rgba(73, 7, 217, 0.06);
}
.brk-search-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, var(--brk-pink) 50%, var(--brk-purple) 100%);
	background-size: 200% 100%;
	animation: brkHeroBar 8s ease-in-out infinite;
}
@keyframes brkHeroBar {
	0%, 100% { background-position: 0% 0%; }
	50% { background-position: 100% 0%; }
}
.brk-search-hero-deco {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(73, 7, 217, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(73, 7, 217, 0.025) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: radial-gradient(circle at center top, rgba(0, 0, 0, 0.5) 0%, transparent 60%);
	-webkit-mask-image: radial-gradient(circle at center top, rgba(0, 0, 0, 0.5) 0%, transparent 60%);
	opacity: 0.7;
}
.brk-search-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}

/* Eyebrow elegant — line + tag + line, simile siti editoriali NYT/FT */
.brk-search-hero-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 18px;
}
.brk-search-hero-eyebrow-line {
	flex: 0 0 40px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--brk-purple-soft) 50%, transparent 100%);
}
.brk-search-hero-eyebrow-text {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--brk-purple-d);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	white-space: nowrap;
}
.brk-search-hero-eyebrow-text i {
	font-size: 11px;
	color: var(--brk-purple);
}

.brk-search-hero-title {
	margin: 0 0 16px;
	font-size: 42px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -1px;
	line-height: 1.1;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.brk-search-hero-title .brk-info-icon {
	width: 26px;
	height: 26px;
	background: var(--brk-purple-tint);
	border: 1px solid var(--brk-purple-soft);
	color: var(--brk-purple);
}
.brk-search-hero-title .brk-info-icon i { font-size: 11px; }
.brk-search-hero-title .brk-info-icon:hover {
	background: var(--brk-purple);
	color: #ffffff;
}
.brk-search-hero-sub {
	margin: 0 auto 30px;
	font-size: 16px;
	color: var(--brk-text-muted);
	line-height: 1.6;
	max-width: 760px;
}

/* Stats row — 5 colonne con divisori sottili tra l'una e l'altra */
.brk-search-hero-stats {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0;
	margin: 0 auto 26px;
	max-width: 920px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(27, 30, 37, 0.04);
}
.brk-stat {
	padding: 18px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	text-align: left;
	transition: background 0.18s ease;
	border-right: 1px solid var(--brk-border);
	position: relative;
}
.brk-stat:last-child { border-right: none; }
.brk-stat:hover {
	background: var(--brk-bg-soft);
}
.brk-stat-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, #ffffff 100%);
	border: 1px solid var(--brk-purple-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.brk-stat-icon i {
	font-size: 16px;
	color: var(--brk-purple);
}
.brk-stat-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2px;
}
.brk-stat strong {
	color: var(--brk-text);
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.4px;
}
.brk-stat strong time {
	color: inherit;
	font-size: 16px;
	font-weight: 700;
}
.brk-stat span {
	color: var(--brk-text-muted);
	font-size: 11px;
	letter-spacing: 0.1px;
	line-height: 1.3;
}

/* Trust links footer hero */
.brk-search-hero-trust {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 8px 18px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 999px;
	box-shadow: 0 1px 3px rgba(27, 30, 37, 0.04);
}
.brk-search-hero-trust-sep {
	width: 1px;
	height: 16px;
	background: var(--brk-border);
	display: inline-block;
}
.brk-search-hero-method-link {
	color: var(--brk-purple-d) !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	transition: all 0.18s ease;
}
.brk-search-hero-method-link:hover {
	background: var(--brk-purple-tint);
	color: var(--brk-purple) !important;
}
.brk-search-hero-method-link i { font-size: 12px; opacity: 0.9; }


/* -----------------------------------------------------------------------------
 * ADMIN NOTICE (visibile solo a admin loggati)
 * -------------------------------------------------------------------------- */
.brk-search-admin-notice {
	background: linear-gradient(135deg, var(--brk-amber-tint) 0%, #fffaf0 100%);
	border: 1px solid #f3d999;
	border-radius: 12px;
	padding: 14px 18px;
	margin-bottom: 20px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.brk-search-admin-notice > i {
	color: var(--brk-amber);
	font-size: 22px;
	margin-top: 2px;
	flex-shrink: 0;
}
.brk-search-admin-notice strong { display: block; margin-bottom: 4px; color: var(--brk-text); }
.brk-search-admin-notice p { margin: 0; font-size: 13px; color: var(--brk-text-muted); }
.brk-search-admin-notice a { color: var(--brk-amber); font-weight: 700; }
.brk-search-warnings-list {
	margin: 12px 0 0;
	padding: 12px 14px 12px 30px;
	background: #ffffff;
	border-radius: 8px;
	font-size: 12px;
	color: var(--brk-text-muted);
}
.brk-search-warnings-list li { margin-bottom: 4px; }

/* -----------------------------------------------------------------------------
 * GRID + SIDEBAR FILTRI
 * -------------------------------------------------------------------------- */
.brk-search-grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 24px;
}

.brk-search-filters {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 1px 3px rgba(27, 30, 37, 0.04);
	height: fit-content;
	position: sticky;
	top: 90px;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
}
.brk-search-filters::-webkit-scrollbar { width: 6px; }
.brk-search-filters::-webkit-scrollbar-track { background: var(--brk-bg-soft); }
.brk-search-filters::-webkit-scrollbar-thumb { background: var(--brk-border); border-radius: 3px; }

.brk-search-filters-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--brk-border);
}
.brk-search-filters-head h2 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--brk-text);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.brk-search-filters-head h2 i { color: var(--brk-purple); font-size: 14px; }

.brk-search-reset {
	background: transparent;
	border: 1px solid var(--brk-border);
	border-radius: 6px;
	padding: 5px 10px;
	font-size: 11px;
	color: var(--brk-text-muted);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: all 0.15s ease;
}
.brk-search-reset:hover {
	border-color: var(--brk-purple);
	color: var(--brk-purple);
}
.brk-search-reset i { font-size: 10px; }

.brk-search-mobile-close {
	display: none;
	background: var(--brk-bg-soft);
	border: 1px solid var(--brk-border);
	border-radius: 6px;
	width: 32px;
	height: 32px;
	font-size: 14px;
	color: var(--brk-text-muted);
	cursor: pointer;
	align-items: center;
	justify-content: center;
}

/* FILTER GROUPS */
.brk-filter-group {
	border-bottom: 1px solid var(--brk-border);
	padding: 12px 0;
}
.brk-filter-group:last-of-type { border-bottom: none; }
.brk-filter-group summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-text);
	padding: 4px 0;
}
.brk-filter-group summary::-webkit-details-marker { display: none; }
.brk-filter-arrow { color: var(--brk-purple); transition: transform 0.2s ease; }
.brk-filter-group[open] .brk-filter-arrow { transform: rotate(180deg); }
.brk-filter-arrow i { font-size: 11px; }

.brk-filter-body {
	padding-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.brk-filter-radio,
.brk-filter-check {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 8px;
	border-radius: 7px;
	cursor: pointer;
	font-size: 13px;
	color: var(--brk-text);
	transition: background 0.12s ease;
}
.brk-filter-radio:hover,
.brk-filter-check:hover {
	background: var(--brk-bg-soft);
}
.brk-filter-radio input,
.brk-filter-check input {
	accent-color: var(--brk-purple);
	width: 14px;
	height: 14px;
	cursor: pointer;
	flex-shrink: 0;
}
.brk-filter-radio span,
.brk-filter-check span {
	flex: 1;
	line-height: 1.3;
}

.brk-filter-range {
	padding: 6px 0;
}
.brk-filter-range input[type="range"] {
	width: 100%;
	accent-color: var(--brk-purple);
	margin-bottom: 8px;
}
.brk-filter-range-display {
	font-size: 13px;
	color: var(--brk-text-muted);
	text-align: center;
}
.brk-filter-range-display strong {
	color: var(--brk-purple);
	font-weight: 700;
}

.brk-filter-apply-mobile {
	display: none;
	width: 100%;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%);
	color: #ffffff;
	border: none;
	border-radius: 10px;
	padding: 13px 18px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	margin-top: 16px;
	box-shadow: 0 4px 12px rgba(4, 190, 104, 0.3);
}
.brk-filter-apply-mobile strong { color: #ffd24d; }

/* -----------------------------------------------------------------------------
 * AREA RISULTATI HEAD
 * -------------------------------------------------------------------------- */
.brk-search-results-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
	padding: 13px 18px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 12px;
	flex-wrap: wrap;
	gap: 12px;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.03);
}
.brk-search-results-count {
	font-size: 14px;
	color: var(--brk-text);
}
.brk-search-results-count strong {
	color: var(--brk-purple);
	font-size: 18px;
	font-weight: 700;
}
.brk-search-of-total {
	color: var(--brk-text-faint);
	font-size: 12px;
	margin-left: 6px;
}
.brk-search-sort {
	display: flex;
	align-items: center;
	gap: 10px;
}
.brk-search-sort label {
	font-size: 12px;
	color: var(--brk-text-muted);
	font-weight: 600;
}
.brk-search-sort select {
	background: var(--brk-bg-soft);
	border: 1px solid var(--brk-border);
	border-radius: 8px;
	padding: 7px 10px;
	font-size: 13px;
	color: var(--brk-text);
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}
.brk-search-sort select:focus {
	outline: 2px solid var(--brk-purple);
	outline-offset: -1px;
}
.brk-search-mobile-filters-btn {
	display: none;
	background: var(--brk-purple);
	color: #ffffff;
	border: none;
	border-radius: 8px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	gap: 6px;
	align-items: center;
	box-shadow: 0 2px 6px rgba(73, 7, 217, 0.25);
}
.brk-search-mobile-filters-btn i { font-size: 11px; }

/* -----------------------------------------------------------------------------
 * CARDS RICH (premium)
 * -------------------------------------------------------------------------- */
.brk-search-cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.brk-search-card {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.05), 0 8px 20px -12px rgba(73, 7, 217, 0.12);
	display: grid;
	grid-template-columns: 200px 1fr 180px;
	gap: 0;
	overflow: hidden;
	transition: all 0.2s ease;
	position: relative;
}
.brk-search-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, #04be68 100%);
	opacity: 0;
	transition: opacity 0.18s ease;
}
.brk-search-card:hover {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 8px 28px rgba(73, 7, 217, 0.12);
	transform: translateY(-2px);
}
.brk-search-card:hover::before { opacity: 1; }

/* ZONA SX */
.brk-sc-left {
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, #fafbff 0%, var(--brk-bg-soft) 100%);
	border-right: 1px solid var(--brk-border);
}

/* LOGO NORMALIZZATO — container fisso, object-fit contain, hover effect */
.brk-sc-logobox {
	width: 100%;
	height: 56px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 10px;
	padding: 8px 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.03);
	position: relative;
	overflow: hidden;
}
.brk-sc-logobox::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, transparent 0%, rgba(73, 7, 217, 0.04) 100%);
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}
.brk-search-card:hover .brk-sc-logobox {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.1);
	transform: scale(1.02);
}
.brk-search-card:hover .brk-sc-logobox::after {
	opacity: 1;
}
.brk-sc-logobox img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: filter 0.2s ease;
}
.brk-search-card:hover .brk-sc-logobox img {
	filter: brightness(1.05) drop-shadow(0 1px 3px rgba(73, 7, 217, 0.15));
}
.brk-sc-logo-fallback {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1.5px;
	color: var(--brk-purple);
	background: var(--brk-purple-tint);
	padding: 8px 14px;
	border-radius: 6px;
}

.brk-sc-cluster {
	font-size: 10px;
	font-weight: 700;
	color: var(--brk-purple-d);
	background: var(--brk-purple-tint);
	padding: 4px 10px;
	border-radius: 10px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	line-height: 1.3;
	text-align: center;
}

/* ZONA CENTRO */
.brk-sc-center {
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: center;
}
.brk-sc-name {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.2px;
}
.brk-sc-rating-row {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.brk-sc-rating-block {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--brk-purple-tint);
	padding: 6px 12px;
	border-radius: 8px;
}
.brk-sc-stars { display: inline-flex; gap: 2px; }
.brk-sc-stars i { font-size: 13px; }
.brk-sc-voto-numbers {
	display: flex;
	align-items: center;
	gap: 6px;
}
.brk-sc-voto {
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-purple);
}
.brk-sc-voto100 {
	background: var(--brk-purple);
	color: #ffffff;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
}

/* DOTS BREAKDOWN — 6 puntini colorati */
.brk-sc-dots {
	display: inline-flex;
	gap: 4px;
	padding: 6px 10px;
	background: var(--brk-bg-soft);
	border: 1px solid var(--brk-border);
	border-radius: 8px;
	cursor: help;
}
.brk-sc-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
}
.brk-sc-dot-top   { background: #4907d9; }
.brk-sc-dot-high  { background: #6a3fed; }
.brk-sc-dot-mid   { background: #8a7ec8; }
.brk-sc-dot-low   { background: #c2bcd9; }
.brk-sc-dot-empty { background: #e5e7ee; border: 1px dashed #c5c9d8; }

.brk-sc-pending {
	font-size: 11px;
	font-weight: 700;
	color: #a17a1f;
	background: #ffeec2;
	padding: 4px 10px;
	border-radius: 6px;
	letter-spacing: 0.3px;
}

.brk-sc-bullets {
	margin: 8px 0 0;
	padding: 11px 0 0;
	border-top: 1px solid var(--brk-border);
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: 12px;
	color: var(--brk-text-muted);
}
.brk-sc-bullets li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.brk-sc-bullets i {
	color: var(--brk-purple);
	font-size: 11px;
}

/* BADGES feature */
.brk-sc-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 2px;
}
.brk-sc-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: linear-gradient(135deg, #f3eeff 0%, #fce6ee 100%);
	color: var(--brk-purple-d);
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	border: 1px solid rgba(73, 7, 217, 0.1);
}
.brk-sc-badge i { font-size: 10px; opacity: 0.9; }

/* ZONA DX */
.brk-sc-right {
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: center;
	align-items: stretch;
	background: linear-gradient(180deg, #ffffff 0%, var(--brk-purple-tint) 100%);
	border-left: 1px solid var(--brk-border);
}
.brk-sc-cta-secondary {
	font-size: 12px;
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	font-weight: 600;
	text-align: center;
	padding: 0 12px;
	height: 40px;
	line-height: 38px;
	border: 1.5px solid var(--brk-purple-soft);
	border-radius: 8px;
	transition: all 0.15s ease;
	background: #ffffff;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.brk-sc-cta-secondary:hover {
	background: var(--brk-purple);
	color: #ffffff !important;
	border-color: var(--brk-purple);
}
/* CTA primaria verde dentro card search engine: forza altezza proporzionata */
.brk-sc-right .brk-cta-primary,
.brk-sc-right .brk-cta-primary.brk-cta-small {
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	padding: 0 16px !important;
	font-size: 13px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	flex: 0 0 auto !important;
	white-space: nowrap;
}

/* EMPTY STATE */
.brk-search-empty {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 60px 30px;
	text-align: center;
	color: var(--brk-text-muted);
}
.brk-search-empty > i {
	font-size: 42px;
	color: var(--brk-purple-soft);
	margin-bottom: 14px;
	display: block;
}
.brk-search-empty h3 {
	margin: 0 0 8px;
	font-size: 18px;
	color: var(--brk-text);
}
.brk-search-empty p {
	margin: 0 0 18px;
	font-size: 14px;
}

/* BACKDROP */
.brk-search-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(15, 8, 40, 0.6);
	z-index: 9998;
	opacity: 0;
	transition: opacity 0.25s ease;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}
.brk-search-backdrop.is-visible {
	display: block;
	opacity: 1;
}

/* -----------------------------------------------------------------------------
 * RESPONSIVE TABLET (768-1024)
 * -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.brk-search-hero { padding: 36px 24px 32px; }
	.brk-search-hero-title { font-size: 32px; }
	.brk-search-hero-stats {
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto auto;
	}
	.brk-stat:nth-child(3) { border-right: none; }
	.brk-stat:nth-child(n+4) {
		border-top: 1px solid var(--brk-border);
	}
	.brk-stat:nth-child(4) { border-right: 1px solid var(--brk-border); }
	.brk-stat:nth-child(5) {
		grid-column: span 1;
	}
	/* Pad mancante riempito da una "fake cell" via :nth-child(5)::after non possibile,
	   accettiamo che la 5ª riga abbia 2 celle se 5 elementi su 3 colonne */

	.brk-search-grid { grid-template-columns: 230px 1fr; gap: 16px; }
	.brk-search-card { grid-template-columns: 150px 1fr 150px; }
	.brk-sc-left { padding: 14px; }
	.brk-sc-name { font-size: 17px; }
}

/* -----------------------------------------------------------------------------
 * RESPONSIVE MOBILE (≤768px)
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.brk-search-hero {
		padding: 28px 18px 24px;
		border-radius: 14px;
		margin-bottom: 20px;
	}
	.brk-search-hero-eyebrow { gap: 8px; margin-bottom: 14px; }
	.brk-search-hero-eyebrow-line { flex: 0 0 20px; }
	.brk-search-hero-eyebrow-text {
		font-size: 10px;
		letter-spacing: 1px;
	}
	.brk-search-hero-title {
		font-size: 24px;
		letter-spacing: -0.4px;
		gap: 8px;
	}
	.brk-search-hero-title .brk-info-icon {
		width: 22px;
		height: 22px;
	}
	.brk-search-hero-title .brk-info-icon i { font-size: 9px; }
	.brk-search-hero-sub {
		font-size: 13.5px;
		margin-bottom: 22px;
	}
	.brk-search-hero-stats {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto auto auto;
	}
	.brk-stat {
		padding: 12px 14px;
		gap: 10px;
		border-right: 1px solid var(--brk-border);
		border-bottom: 1px solid var(--brk-border);
	}
	.brk-stat:nth-child(2n) { border-right: none; }
	.brk-stat:nth-last-child(-n+2) { border-bottom: none; }
	.brk-stat-icon { width: 32px; height: 32px; }
	.brk-stat-icon i { font-size: 13px; }
	.brk-stat strong { font-size: 16px; }
	.brk-stat span { font-size: 10.5px; }
	.brk-search-hero-trust {
		flex-direction: column;
		padding: 12px 18px;
		border-radius: 14px;
		gap: 4px;
	}
	.brk-search-hero-trust-sep { display: none; }
	.brk-search-hero-method-link {
		font-size: 12px;
		padding: 8px 12px;
		width: 100%;
		justify-content: center;
	}

	.brk-search-grid { grid-template-columns: 1fr; gap: 14px; }

	/* Sidebar off-canvas */
	.brk-search-filters {
		position: fixed;
		top: 0; left: 0; bottom: 0;
		width: 90%;
		max-width: 360px;
		max-height: 100vh;
		z-index: 9999;
		transform: translateX(-100%);
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		border-radius: 0;
		border-right: 1px solid var(--brk-border);
		padding: 18px 18px 90px;
		box-shadow: 8px 0 32px rgba(0, 0, 0, 0.15);
	}
	.brk-search-filters.is-open {
		transform: translateX(0);
	}
	.brk-search-mobile-close {
		display: inline-flex;
	}
	.brk-filter-apply-mobile {
		display: block;
		position: sticky;
		bottom: 0;
		margin: 16px -18px -18px;
		border-radius: 0;
	}

	.brk-search-mobile-filters-btn { display: inline-flex; }

	.brk-search-results-head {
		padding: 12px 14px;
		gap: 10px;
	}
	.brk-search-results-count strong { font-size: 16px; }
	.brk-search-sort { width: 100%; justify-content: space-between; flex-wrap: wrap; }

	.brk-search-card { grid-template-columns: 1fr; }
	.brk-sc-left {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		border-right: none;
		border-bottom: 1px solid var(--brk-border);
		padding: 14px 16px;
	}
	.brk-sc-logobox {
		width: 110px;
		height: 40px;
		padding: 6px 10px;
	}
	.brk-sc-cluster { flex-shrink: 0; }
	.brk-sc-center { padding: 14px 16px; gap: 8px; }
	.brk-sc-name { font-size: 17px; }
	.brk-sc-rating-row { gap: 8px; }
	.brk-sc-rating-block { padding: 5px 10px; gap: 8px; }
	.brk-sc-dots { padding: 5px 8px; }
	.brk-sc-right {
		flex-direction: row;
		gap: 8px;
		padding: 14px 16px;
		border-left: none;
		border-top: 1px solid var(--brk-border);
		background: var(--brk-bg-soft);
	}
	.brk-sc-cta-secondary,
	.brk-sc-right .brk-cta-primary {
		flex: 1;
	}
}

/* =============================================================================
 * v1.4.2 — FIX tooltip criterion + sidebar legacy aggressive override + section_score pending
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * Tooltip popup descrittivo nel breakdown punteggio — fix testo schiacciato
 * -------------------------------------------------------------------------- */
.tippy-box {
	max-width: 300px !important;
	background: transparent !important;
	border: none !important;
	box-shadow:
		0 0 0 1px rgba(73, 7, 217, 0.06),
		0 6px 16px rgba(0, 0, 0, 0.06),
		0 24px 48px rgba(73, 7, 217, 0.14) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
}
/* =============================================================================
 * TOOLTIP TIPPY — specifica alta per vincere su qualsiasi data-theme
 * Padding 18x22 sui 4 lati garantito, titolo header con underline,
 * body respira a sinistra correttamente.
 * ========================================================================== */
.tippy-box[data-theme~='light'] .tippy-content,
.tippy-box .tippy-content {
	padding: 12px 22px 18px !important;
	background: linear-gradient(180deg, #ffffff 0%, #fcfaff 100%) !important;
	border-radius: 14px !important;
	font-size: 12.5px !important;
	line-height: 1.55 !important;
	color: var(--brk-text) !important;
	font-family: 'Roboto', sans-serif !important;
	box-sizing: border-box !important;
	text-align: left !important;
	text-indent: 0 !important;
	word-wrap: break-word;
	overflow-wrap: break-word;
	min-width: 240px;
}

/* Reset proprietà problematiche ereditate dal tema */
.tippy-box[data-theme~='light'] .tippy-content > *,
.tippy-box .tippy-content > *,
.tippy-box[data-theme~='light'] .tippy-content p,
.tippy-box .tippy-content p {
	text-indent: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Paragrafi interni */
.tippy-box[data-theme~='light'] .tippy-content p,
.tippy-box .tippy-content p {
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}
.tippy-box[data-theme~='light'] .tippy-content p:last-child,
.tippy-box .tippy-content p:last-child {
	margin-bottom: 0 !important;
}

/* <br> minimal */
.tippy-box[data-theme~='light'] .tippy-content br,
.tippy-box .tippy-content br {
	margin: 0 !important;
	line-height: 1 !important;
}

/* Primo strong = titolo tooltip — block FULL width nel content padding */
.tippy-box[data-theme~='light'] .tippy-content > strong:first-child,
.tippy-box .tippy-content > strong:first-child {
	display: block !important;
	font-size: 13.5px !important;
	color: var(--brk-purple) !important;
	margin: 0 0 10px !important;
	padding: 0 0 8px !important;
	border-bottom: 1px solid var(--brk-border) !important;
	font-weight: 700 !important;
	letter-spacing: -0.1px !important;
	line-height: 1.3 !important;
}

/* Strong inline (es. dentro paragrafo) restano inline */
.tippy-box[data-theme~='light'] .tippy-content p strong,
.tippy-box .tippy-content p strong,
.tippy-box[data-theme~='light'] .tippy-content br + strong,
.tippy-box .tippy-content br + strong {
	display: inline !important;
	border-bottom: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: inherit !important;
	color: var(--brk-purple-d) !important;
	font-weight: 700 !important;
	line-height: inherit !important;
}

/* Frecce */
.tippy-box[data-placement^='top'] > .tippy-arrow::before {
	border-top-color: #ffffff !important;
}
.tippy-box[data-placement^='bottom'] > .tippy-arrow::before {
	border-bottom-color: #ffffff !important;
}
.tippy-box[data-placement^='left'] > .tippy-arrow::before {
	border-left-color: #ffffff !important;
}
.tippy-box[data-placement^='right'] > .tippy-arrow::before {
	border-right-color: #ffffff !important;
}

/* Mobile: padding ridotto + min-width adatta a viewport stretti */
@media (max-width: 768px) {
	.tippy-box[data-theme~='light'] .tippy-content,
	.tippy-box .tippy-content {
		padding: 11px 16px 14px !important;
		font-size: 12px !important;
		line-height: 1.5 !important;
		min-width: 0;
		max-width: calc(100vw - 32px) !important;
	}
	.tippy-box[data-theme~='light'] .tippy-content > strong:first-child,
	.tippy-box .tippy-content > strong:first-child {
		font-size: 12.5px !important;
		margin: 0 0 8px !important;
		padding: 0 0 7px !important;
	}
	.tippy-box[data-theme~='light'] .tippy-content p,
	.tippy-box .tippy-content p {
		margin: 0 0 6px !important;
	}
}

/* -----------------------------------------------------------------------------
 * Section score PENDING (criterion senza voto)
 * -------------------------------------------------------------------------- */
.brk-sec-score.brk-sec-score-pending {
	background: linear-gradient(90deg, #fff8e1 0%, #fffaf0 100%) !important;
	border: 1px solid #f1d99b !important;
}
.brk-sec-score-pending .brk-sec-num {
	color: #a17a1f !important;
	font-size: 10.5px !important;
}
.brk-sec-score-pending .brk-sec-stars-empty i {
	color: #f4d287 !important;
	opacity: 0.55 !important;
}
.brk-sec-score-pending .brk-info-icon {
	background: rgba(161, 122, 31, 0.18) !important;
	color: #a17a1f !important;
}
.brk-sec-score-pending .brk-info-icon:hover {
	background: #a17a1f !important;
	color: #ffffff !important;
}

/* -----------------------------------------------------------------------------
 * SIDEBAR LEGACY OVERRIDE — versione aggressiva v1.4.2
 * -------------------------------------------------------------------------- */

.tdo-broker-sidebar-mode .broker-reviews-container,
.tdo-broker-sidebar-mode-disabled-context .broker-reviews-container,
.widget .broker-reviews-container,
aside .broker-reviews-container,
#secondary .broker-reviews-container {
	background: #ffffff !important;
	border: 1px solid var(--brk-border) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	margin: 0 0 22px !important;
	box-shadow: 0 1px 2px rgba(27,30,37,0.04), 0 4px 14px rgba(73,7,217,0.05) !important;
	font-family: 'Roboto', sans-serif !important;
	padding: 0 !important;
	display: block !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container::before,
aside .broker-reviews-container::before,
#secondary .broker-reviews-container::before {
	content: 'Migliori Broker Trading 2026' !important;
	display: block !important;
	background: linear-gradient(135deg, var(--brk-purple) 0%, #6a3fed 100%) !important;
	color: #ffffff !important;
	padding: 14px 18px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: -0.1px !important;
	margin: 0 !important;
	border-bottom: none !important;
	text-align: left !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .broker-review,
aside .broker-reviews-container .broker-review,
#secondary .broker-reviews-container .broker-review {
	border-bottom: 1px solid var(--brk-border) !important;
	padding: 14px 18px !important;
	background: #ffffff !important;
	transition: background 0.15s ease !important;
	margin: 0 !important;
	display: block !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .broker-review:last-child,
aside .broker-reviews-container .broker-review:last-child {
	border-bottom: none !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .broker-review:hover,
aside .broker-reviews-container .broker-review:hover {
	background: var(--brk-bg-soft) !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .broker-review:first-of-type,
aside .broker-reviews-container .broker-review:first-of-type {
	background: linear-gradient(90deg, var(--brk-purple-tint) 0%, transparent 100%) !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .row-broker-one,
aside .broker-reviews-container .row-broker-one {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	padding: 0 !important;
	margin: 0 !important;
	flex-wrap: nowrap !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .col,
aside .broker-reviews-container .col,
.tdo-broker-sidebar-mode .broker-reviews-container .col-1,
.tdo-broker-sidebar-mode .broker-reviews-container .col-2,
.tdo-broker-sidebar-mode .broker-reviews-container .col-3,
.tdo-broker-sidebar-mode .broker-reviews-container .col-4,
.tdo-broker-sidebar-mode .broker-reviews-container .col-facts {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .col-1,
aside .broker-reviews-container .col-1 {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	align-items: flex-start !important;
	margin-bottom: 4px !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .col-1 .broker-title,
aside .broker-reviews-container .col-1 .broker-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--brk-text) !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .col-1 .link-name-partner,
aside .broker-reviews-container .col-1 .link-name-partner {
	box-shadow: none !important;
	color: var(--brk-text) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border-bottom: 2px solid var(--brk-purple-soft) !important;
	padding-bottom: 1px !important;
	transition: border-color 0.15s ease !important;
	background: transparent !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .col-1 .link-name-partner:hover {
	border-bottom-color: var(--brk-purple) !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .col-1 a img,
.tdo-broker-sidebar-mode .broker-reviews-container .col-1 img,
aside .broker-reviews-container .col-1 img {
	max-width: 130px !important;
	max-height: 36px !important;
	height: auto !important;
	width: auto !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .col-2,
.tdo-broker-sidebar-mode .broker-reviews-container .col-3,
.tdo-broker-sidebar-mode .broker-reviews-container .col-facts,
aside .broker-reviews-container .col-2,
aside .broker-reviews-container .col-3,
aside .broker-reviews-container .col-facts,
.tdo-broker-sidebar-mode .broker-reviews-container .focus-point,
.tdo-broker-sidebar-mode .broker-reviews-container .fact-content {
	display: none !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .col-4,
aside .broker-reviews-container .col-4 {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin-top: 6px !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .col-4 .link-recensione,
.tdo-broker-sidebar-mode .broker-reviews-container .link-recensione,
aside .broker-reviews-container .link-recensione {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%) !important;
	color: #ffffff !important;
	padding: 9px 14px !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 2px 6px rgba(4, 190, 104, 0.25) !important;
	transition: all 0.18s ease !important;
	border: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .link-recensione:hover {
	background: linear-gradient(180deg, var(--brk-green) 0%, var(--brk-green-d) 100%) !important;
	box-shadow: 0 4px 10px rgba(4, 190, 104, 0.35) !important;
	color: #ffffff !important;
	text-decoration: none !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .link-recensione svg {
	width: 11px !important;
	height: 11px !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .link-recensione svg path {
	fill: #ffffff !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .link-recensione span {
	color: #ffffff !important;
	margin-right: 4px !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container .broker-rating-container,
aside .broker-reviews-container .broker-rating-container {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	background: var(--brk-purple-tint) !important;
	padding: 6px 10px !important;
	border-radius: 7px !important;
	margin: 0 !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .broker-rating,
aside .broker-reviews-container .broker-rating {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0 !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .broker-rating .star,
aside .broker-reviews-container .broker-rating .star {
	width: 12px !important;
	height: 12px !important;
	display: inline-block !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .broker-rating .rating-value,
aside .broker-reviews-container .broker-rating .rating-value {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--brk-purple) !important;
	margin-left: 4px !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container .tradingrating,
aside .broker-reviews-container .tradingrating {
	display: none !important;
}

.tdo-broker-sidebar-mode .broker-reviews-container table {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}
.tdo-broker-sidebar-mode .broker-reviews-container table tr,
.tdo-broker-sidebar-mode .broker-reviews-container table td {
	display: block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

@media (max-width: 768px) {
	.tdo-broker-sidebar-mode .broker-reviews-container::before,
	aside .broker-reviews-container::before {
		font-size: 13px !important;
		padding: 12px 16px !important;
	}
	.tdo-broker-sidebar-mode .broker-reviews-container .broker-review {
		padding: 12px 16px !important;
	}
}

/* =============================================================================
 * v1.5 — HOMEPAGE WIDGETS
 * Ticker, methodology brand, monthly pick, trust stats, related link
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * [broker_ticker] — Ticker scrolling orizzontale
 * -------------------------------------------------------------------------- */
.brk-ticker {
	display: flex;
	align-items: stretch;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 12px;
	overflow: hidden;
	margin: 0 0 22px;
	font-family: 'Roboto', sans-serif;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.04);
}
.brk-ticker-label {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 18px;
	background: linear-gradient(135deg, var(--brk-purple) 0%, #6a3fed 100%);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	white-space: nowrap;
	position: relative;
	z-index: 2;
}
.brk-ticker-label i {
	font-size: 12px;
	color: #ffd24d;
}
/* Default desktop: mostra label completo, nasconde abbreviazione mobile */
.brk-ticker-label-full { display: inline; }
.brk-ticker-label-short { display: none; }
.brk-ticker-label::after {
	content: '';
	position: absolute;
	right: -10px;
	top: 0; bottom: 0;
	width: 14px;
	background: linear-gradient(90deg, #6a3fed 0%, transparent 100%);
	pointer-events: none;
}
.brk-ticker-track-wrap {
	flex: 1;
	overflow: hidden;
	position: relative;
	min-width: 0;
}
.brk-ticker-track-wrap::before,
.brk-ticker-track-wrap::after {
	content: '';
	position: absolute;
	top: 0; bottom: 0;
	width: 24px;
	z-index: 3;
	pointer-events: none;
}
.brk-ticker-track-wrap::before {
	left: 0;
	background: linear-gradient(90deg, #ffffff 0%, transparent 100%);
}
.brk-ticker-track-wrap::after {
	right: 0;
	background: linear-gradient(270deg, #ffffff 0%, transparent 100%);
}
.brk-ticker-track {
	display: inline-flex;
	align-items: center;
	gap: 0;
	white-space: nowrap;
	animation: brkTickerScroll var(--brk-ticker-speed, 60s) linear infinite;
}
.brk-ticker:hover .brk-ticker-track,
.brk-ticker:focus-within .brk-ticker-track {
	animation-play-state: paused;
}
@keyframes brkTickerScroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.brk-ticker-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 22px;
	border-right: 1px solid var(--brk-border);
	color: var(--brk-text) !important;
	text-decoration: none !important;
	font-size: 13px;
	transition: background 0.15s ease;
	flex-shrink: 0;
}
.brk-ticker-item:hover {
	background: var(--brk-purple-tint);
	color: var(--brk-purple-d) !important;
}
.brk-ticker-logo {
	width: 24px;
	height: 24px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 5px;
	padding: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.brk-ticker-logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.brk-ticker-name {
	font-weight: 700;
	color: var(--brk-text);
}
.brk-ticker-cluster {
	color: var(--brk-text-muted);
	font-size: 12px;
}
.brk-ticker-voto {
	color: var(--brk-purple);
	font-weight: 700;
	font-size: 12.5px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.brk-ticker-voto i { color: var(--brk-amber); font-size: 11px; }
.brk-ticker-voto-pending {
	color: #a17a1f;
	font-size: 11px;
	background: #ffeec2;
	padding: 2px 8px;
	border-radius: 6px;
	font-weight: 700;
}
.brk-ticker-date {
	color: var(--brk-text-faint);
	font-size: 11.5px;
}
.brk-ticker-new {
	background: linear-gradient(135deg, var(--brk-green) 0%, #02a85a 100%);
	color: #ffffff;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-left: 4px;
}

/* -----------------------------------------------------------------------------
 * [broker_methodology_brand] — Manifesto metodologia per home
 * -------------------------------------------------------------------------- */
.brk-methodology-brand {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 22px 26px;
	margin: 0 0 24px;
	overflow: hidden;
	font-family: 'Roboto', sans-serif;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.04);
}
.brk-methodology-brand::before { content: none; }
.brk-mb-deco { display: none; }
.brk-mb-inner {
	position: relative;
	z-index: 2;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}
.brk-mb-eyebrow {
	display: inline-block;
	font-family: var(--disp, Georgia, serif);
	color: var(--brk-purple-d);
	font-size: 14px;
	font-weight: 600;
	font-style: italic;
	letter-spacing: 0;
	text-transform: none;
	margin-bottom: 6px;
}
.brk-mb-title {
	margin: 0 0 8px;
	font-family: var(--disp, Georgia, serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--brk-text);
	letter-spacing: -0.3px;
	line-height: 1.22;
}
.brk-mb-sub {
	margin: 0 auto 18px;
	font-size: 14px;
	color: var(--brk-text-muted);
	line-height: 1.55;
	max-width: 640px;
}
.brk-mb-stats {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 12px;
	padding: 10px 20px;
	margin-bottom: 20px;
	box-shadow: 0 1px 3px rgba(27, 30, 37, 0.04);
}
.brk-mb-stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.brk-mb-stat strong {
	font-family: var(--disp, Georgia, serif);
	font-size: 25px;
	font-weight: 600;
	color: var(--brk-text);
	line-height: 1;
	letter-spacing: -0.4px;
	font-variant-numeric: oldstyle-nums tabular-nums;
}
.brk-mb-stat span {
	font-size: 11px;
	color: var(--brk-text-muted);
	letter-spacing: 0.2px;
	margin-top: 2px;
}
.brk-mb-stat-sep {
	width: 1px;
	height: 36px;
	background: var(--brk-border);
}
/* Pillar editoriali: fascia a 3 colonne con hairline divisori, niente card/chip SaaS */
.brk-mb-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-bottom: 22px;
	text-align: left;
	border-top: 1px solid var(--brk-border);
	border-bottom: 1px solid var(--brk-border);
}
.brk-mb-pillar {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 20px;
	background: transparent;
	border: 0;
	border-left: 1px solid var(--brk-border);
	border-radius: 0;
	transition: background 0.18s ease;
}
.brk-mb-pillar:first-child { border-left: 0; }
.brk-mb-pillar:hover {
	background: #faf8ff;
	box-shadow: none;
	transform: none;
}
.brk-mb-pillar-icon {
	width: 26px;
	height: 26px;
	border-radius: 0;
	background: transparent;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.brk-mb-pillar-icon i { color: var(--brk-purple); font-size: 17px; }
.brk-mb-pillar-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.brk-mb-pillar-body strong {
	font-family: var(--disp, Georgia, serif);
	color: var(--brk-text);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.1px;
}
.brk-mb-pillar-body span {
	color: var(--brk-text-muted);
	font-size: 12.5px;
	line-height: 1.45;
}
.brk-mb-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--brk-purple) !important;
	color: #ffffff !important;
	padding: 12px 22px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 10px 22px -12px rgba(73, 7, 217, 0.5);
	transition: all 0.18s ease;
}
.brk-mb-cta:hover {
	background: var(--brk-purple-d) !important;
	color: #ffffff !important;
	box-shadow: 0 14px 26px -12px rgba(73, 7, 217, 0.55);
	transform: translateY(-1px);
}
.brk-mb-cta i { font-size: 11px; }

/* -----------------------------------------------------------------------------
 * [broker_monthly_pick] — Broker del mese (RIPROGETTATO v2 — composizione integrata)
 * Layout: badge top, riga main (identity + rating), reason row, action bar bottom
 * -------------------------------------------------------------------------- */

/* Reset wrapper Gutenberg/p tag che WP avvolge intorno allo shortcode (toglie spazi spuri) */
.wp-block-shortcode:has(> .brk-mp),
p:has(> .brk-mp) {
	margin: 0 !important;
	padding: 0 !important;
}

.brk-mp {
	position: relative;
	padding: 8px 26px 14px;
	border-radius: 22px;
	overflow: hidden;
	margin: -28px 0 14px;
	font-family: 'Roboto', sans-serif;
	background: linear-gradient(135deg, #fbfaff 0%, #ffffff 50%, #fef9f8 100%);
	border: 1px solid rgba(73, 7, 217, 0.08);
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.04), 0 16px 40px rgba(73, 7, 217, 0.08);
}

/* Sfondo decorativo: 2 blob gradient + pattern */
.brk-mp-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}
.brk-mp-bg-blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.5;
}
.brk-mp-bg-blob-1 {
	top: -80px;
	right: -60px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(255, 210, 77, 0.4) 0%, transparent 70%);
}
.brk-mp-bg-blob-2 {
	bottom: -100px;
	left: -80px;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(212, 83, 126, 0.18) 0%, transparent 70%);
}
.brk-mp-bg-pattern {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(73, 7, 217, 0.04) 1px, transparent 0);
	background-size: 24px 24px;
	opacity: 0.6;
}

/* Z-index reset for content layers */
.brk-mp > *:not(.brk-mp-bg) {
	position: relative;
	z-index: 1;
}

/* Badge top */
.brk-mp-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(135deg, #ffd24d 0%, #f5a623 100%);
	color: #4a3500;
	padding: 7px 16px 7px 14px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(245, 166, 35, 0.32), 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
	margin-bottom: 6px;
}
.brk-mp-badge i { font-size: 12px; }
.brk-mp-badge-month {
	background: rgba(74, 53, 0, 0.12);
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 10.5px;
	letter-spacing: 0.4px;
	margin-left: 4px;
}

/* Riga main: identity + rating */
.brk-mp .brk-mp-main {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) auto;
	gap: 28px;
	align-items: center;
	padding-bottom: 10px;
	border-bottom: 1px dashed rgba(73, 7, 217, 0.15);
	margin-bottom: 10px;
}

/* Identity broker (logo + nome + cluster) */
.brk-mp .brk-mp-identity {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	position: relative;
}
.brk-mp .brk-mp-logo-wrap {
	position: relative;
	width: 72px;
	height: 72px;
	flex-shrink: 0;
	flex-grow: 0;
	margin: 0 !important;
	padding: 0 !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}
.brk-mp .brk-mp-logo-halo {
	position: absolute;
	inset: -5px;
	border-radius: 50%;
	background: conic-gradient(from 180deg, #ffd24d, var(--brk-purple), var(--brk-pink), #ffd24d);
	opacity: 0.85;
	filter: blur(8px);
	z-index: 0;
	animation: brkMpHaloRotate 8s linear infinite;
}
@keyframes brkMpHaloRotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
.brk-mp .brk-mp-logo-disk {
	position: relative;
	z-index: 1;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 11px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
	border: 2px solid #ffffff;
	margin: 0 !important;
}
.brk-mp .brk-mp-logo-disk img {
	max-width: 100%;
	max-height: 100%;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	float: none !important;
	position: static !important;
}

.brk-mp .brk-mp-identity-text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
	padding-left: 4px;
}
.brk-mp-name {
	margin: 0 !important;
	font-size: 32px !important;
	font-weight: 800 !important;
	color: var(--brk-text) !important;
	letter-spacing: -1px;
	line-height: 1 !important;
	background: linear-gradient(135deg, var(--brk-text) 0%, var(--brk-purple-d) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.brk-mp-cluster {
	display: inline-flex;
	width: fit-content;
	font-size: 10.5px;
	font-weight: 700;
	color: var(--brk-purple-d);
	background: rgba(73, 7, 217, 0.08);
	padding: 4px 11px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: 1px solid rgba(73, 7, 217, 0.12);
}

/* Rating block */
.brk-mp-rating-block {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-end;
}
.brk-mp-rating-top {
	display: flex;
	align-items: center;
	gap: 14px;
}
.brk-mp-stars { display: inline-flex; gap: 3px; }
.brk-mp-stars i { font-size: 17px; }
.brk-mp-stars i.brk-star-full { color: #f5a623; }
.brk-mp-stars i.brk-star-half { color: #f5a623; }
.brk-mp-stars i.brk-star-empty { color: #d8dae5; }
.brk-mp-voto-cluster {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}
.brk-mp-voto-num {
	font-size: 36px;
	font-weight: 800;
	color: var(--brk-purple);
	line-height: 1;
	letter-spacing: -1px;
}
.brk-mp-voto-on {
	font-size: 16px;
	color: var(--brk-text-faint);
	font-weight: 600;
}
.brk-mp-voto-100 {
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	margin-left: 8px;
	letter-spacing: 0.3px;
}

.brk-mp-breakdown {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(73, 7, 217, 0.1);
	border-radius: 10px;
	padding: 6px 12px;
}
.brk-mp-breakdown-label {
	font-size: 10px;
	color: var(--brk-text-muted);
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.brk-mp-dots {
	display: inline-flex;
	gap: 5px;
}
.brk-mp-dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	display: inline-block;
}
.brk-mp-dot-top   { background: #4907d9; }
.brk-mp-dot-high  { background: #6a3fed; }
.brk-mp-dot-mid   { background: #8a7ec8; }
.brk-mp-dot-low   { background: #c2bcd9; }
.brk-mp-dot-empty { background: #e5e7ee; border: 1px dashed #c5c9d8; }

/* Reason row */
.brk-mp-reason-row {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(73, 7, 217, 0.08);
	border-radius: 14px;
	padding: 16px 18px;
	margin-bottom: 18px;
}
.brk-mp-reason-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-size: 14px;
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.25);
}
.brk-mp-reason-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.brk-mp-reason-label {
	font-size: 10.5px;
	font-weight: 800;
	color: var(--brk-purple);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.brk-mp-reason-text p {
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.5;
	color: var(--brk-text);
	font-weight: 500;
}

/* Action bar bottom */
.brk-mp-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}
.brk-mp-bullets {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	font-size: 12.5px;
	color: var(--brk-text-muted);
}
.brk-mp-bullets li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
}
.brk-mp-bullets li::before { display: none !important; }
.brk-mp-bullets i { color: var(--brk-purple); font-size: 11px; }
.brk-mp-bullet-edit i { color: var(--brk-green) !important; }

.brk-mp-ctas {
	display: flex;
	align-items: center;
	gap: 10px;
}
.brk-mp-cta-secondary {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	font-weight: 700;
	padding: 11px 16px;
	border: 1.5px solid rgba(73, 7, 217, 0.2);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.7);
	transition: all 0.18s ease;
	white-space: nowrap;
}
.brk-mp-cta-secondary:hover {
	background: var(--brk-purple);
	color: #ffffff !important;
	border-color: var(--brk-purple);
	transform: translateY(-1px);
}
.brk-mp-cta-secondary i { font-size: 11px; }

.brk-mp-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%);
	color: #ffffff !important;
	text-decoration: none !important;
	padding: 12px 22px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.2px;
	box-shadow: 0 6px 18px rgba(4, 190, 104, 0.32), 0 0 0 1px rgba(255, 255, 255, 0.18) inset;
	transition: all 0.18s ease;
	white-space: nowrap;
}
.brk-mp-cta-primary:hover {
	background: linear-gradient(180deg, var(--brk-green) 0%, #02a85a 100%);
	box-shadow: 0 8px 22px rgba(4, 190, 104, 0.42);
	transform: translateY(-1px);
	color: #ffffff !important;
}
.brk-mp-cta-primary i { font-size: 11px; opacity: 0.9; }

/* -----------------------------------------------------------------------------
 * [broker_trust_stats] — Statistiche redazione
 * -------------------------------------------------------------------------- */
.brk-trust-stats {
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 22px 26px;
	margin: 0 0 28px;
	font-family: 'Roboto', sans-serif;
	box-shadow: 0 1px 3px rgba(27, 30, 37, 0.04);
}
.brk-ts-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--brk-text-muted);
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--brk-border);
}
.brk-ts-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.brk-ts-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	padding: 10px 8px;
}
.brk-ts-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, var(--brk-pink-tint) 100%);
	border: 1px solid var(--brk-purple-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
}
.brk-ts-icon i { color: var(--brk-purple); font-size: 16px; }
.brk-ts-value {
	font-size: 28px;
	font-weight: 700;
	color: var(--brk-text);
	line-height: 1;
	letter-spacing: -0.6px;
}
.brk-ts-label {
	font-size: 11.5px;
	color: var(--brk-text-muted);
	letter-spacing: 0.2px;
	line-height: 1.3;
}

/* -----------------------------------------------------------------------------
 * [broker_related_link] — Link assist editoriale
 * -------------------------------------------------------------------------- */
.brk-related-link {
	margin: 24px 0;
	font-family: 'Roboto', sans-serif;
}
.brk-rl-link {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 0;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none !important;
	color: var(--brk-text) !important;
	transition: all 0.2s ease;
	position: relative;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.03);
}
.brk-rl-link::before {
	content: '';
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.brk-rl-link:hover {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 8px 24px rgba(73, 7, 217, 0.1);
	transform: translateY(-2px);
	color: var(--brk-text) !important;
	text-decoration: none !important;
}
.brk-rl-link:hover::before { opacity: 1; }
.brk-rl-img {
	background: var(--brk-bg-soft);
	overflow: hidden;
	position: relative;
}
.brk-rl-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.brk-rl-link:hover .brk-rl-img img {
	transform: scale(1.04);
}
.brk-rl-img-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, var(--brk-pink-tint) 100%);
	color: var(--brk-purple);
	font-size: 38px;
}
.brk-rl-body {
	padding: 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
}
.brk-rl-kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--brk-purple-d);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}
.brk-rl-kicker i { font-size: 10px; }
.brk-rl-title {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.3px;
	line-height: 1.3;
}
.brk-rl-desc {
	margin: 0;
	color: var(--brk-text-muted);
	font-size: 13.5px;
	line-height: 1.5;
}
.brk-rl-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--brk-purple);
	font-size: 13px;
	font-weight: 700;
	margin-top: 4px;
	transition: gap 0.18s ease;
}
.brk-rl-link:hover .brk-rl-cta {
	gap: 9px;
}
.brk-rl-cta i { font-size: 11px; }

/* -----------------------------------------------------------------------------
 * RESPONSIVE TABLET (≤1024px)
 * -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.brk-mb-pillars { grid-template-columns: 1fr; gap: 0; }
	.brk-mb-pillar { border-left: 0; border-top: 1px solid var(--brk-border); padding: 15px 6px; }
	.brk-mb-pillar:first-child { border-top: 0; }
	.brk-ts-grid { grid-template-columns: repeat(4, 1fr); }
	.brk-ts-value { font-size: 24px; }

	/* Monthly pick tablet: comprime un po' ma mantiene 2 colonne */
	.brk-mp { padding: 12px 22px 16px; }
	.brk-mp-main { gap: 20px; padding-bottom: 14px; margin-bottom: 12px; }
	.brk-mp-name { font-size: 28px !important; }
	.brk-mp-voto-num { font-size: 32px; }
	.brk-mp-logo-wrap { width: 68px; height: 68px; }
	.brk-mp-logo-disk { width: 68px; height: 68px; padding: 10px; }
}

/* -----------------------------------------------------------------------------
 * RESPONSIVE MOBILE (≤768px)
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.brk-ticker { border-radius: 10px; }
	.brk-ticker-label {
		padding: 0 10px;
		font-size: 10.5px;
		gap: 5px;
		letter-spacing: 0.4px;
	}
	.brk-ticker-label i { font-size: 10px; }
	/* Mobile: nascondi label full, mostra "NEWS" abbreviato */
	.brk-ticker-label-full { display: none; }
	.brk-ticker-label-short { display: inline; }
	/* Riduci sfumatura post-label */
	.brk-ticker-label::after {
		right: -6px;
		width: 8px;
	}
	.brk-ticker-item {
		padding: 11px 12px;
		font-size: 12px;
		gap: 6px;
	}
	.brk-ticker-logo { width: 42px; height: 22px; }

	.brk-methodology-brand { padding: 26px 20px; border-radius: 14px; }
	.brk-mb-title { font-size: 22px; letter-spacing: -0.3px; }
	.brk-mb-sub { font-size: 13.5px; margin-bottom: 22px; }
	.brk-mb-stats {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		padding: 14px 12px !important;
		align-items: start;
	}
	.brk-mb-stat {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		min-width: 0;
		gap: 2px;
	}
	.brk-mb-stat strong { font-size: 20px; line-height: 1.1; }
	.brk-mb-stat span { font-size: 10px; line-height: 1.25; }
	.brk-mb-stat-sep { display: none; }
	.brk-mb-pillar { padding: 14px 16px; }
	.brk-mb-pillar-icon { width: 34px; height: 34px; }
	.brk-mb-pillar-icon i { font-size: 14px; }
	.brk-mb-pillar-body strong { font-size: 13px; }
	.brk-mb-pillar-body span { font-size: 12px; }
	.brk-mb-cta { padding: 11px 18px; font-size: 13px; }

	.brk-mp { padding: 6px 12px 12px; border-radius: 16px; margin: -32px 0 10px; }
	.brk-mp .brk-mp-bg-blob-1 { width: 220px; height: 220px; top: -60px; right: -40px; }
	.brk-mp .brk-mp-bg-blob-2 { width: 240px; height: 240px; bottom: -80px; left: -60px; }
	.brk-mp .brk-mp-badge {
		padding: 6px 12px 6px 11px;
		font-size: 10.5px;
		gap: 6px;
		margin-bottom: 4px;
	}
	.brk-mp .brk-mp-badge i { font-size: 10px; }
	.brk-mp .brk-mp-badge-month { font-size: 9.5px; padding: 2px 7px; margin-left: 2px; }

	/* Mobile main: stack verticale, identity prima, rating dopo */
	.brk-mp .brk-mp-main {
		grid-template-columns: 1fr;
		gap: 8px;
		padding-bottom: 9px;
		margin-bottom: 8px;
	}

	/* Identity: logo + nome a fianco, dimensioni controllate */
	.brk-mp .brk-mp-identity {
		gap: 16px;
		align-items: center;
		justify-content: flex-start;
	}
	.brk-mp .brk-mp-logo-wrap {
		width: 52px !important;
		height: 52px !important;
		flex: 0 0 52px !important;
	}
	.brk-mp .brk-mp-logo-disk {
		width: 52px !important;
		height: 52px !important;
		padding: 7px !important;
		border-width: 1.5px;
	}
	.brk-mp .brk-mp-logo-halo { inset: -3px; filter: blur(6px); }
	.brk-mp .brk-mp-identity-text { gap: 6px; min-width: 0; flex: 1 1 auto; padding-left: 2px; }
	.brk-mp .brk-mp-name { font-size: 22px !important; letter-spacing: -0.3px; }
	.brk-mp .brk-mp-cluster { font-size: 9.5px; padding: 3px 9px; }

	/* Rating block: riallineato a sinistra full-width */
	.brk-mp .brk-mp-rating-block {
		align-items: flex-start;
		gap: 8px;
		width: 100%;
	}
	.brk-mp .brk-mp-rating-top {
		gap: 10px;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
	}
	.brk-mp .brk-mp-stars i { font-size: 15px; }
	.brk-mp .brk-mp-voto-cluster { flex-wrap: wrap; gap: 3px; }
	.brk-mp .brk-mp-voto-num { font-size: 26px; }
	.brk-mp .brk-mp-voto-on { font-size: 13px; }
	.brk-mp .brk-mp-voto-100 { font-size: 10px; padding: 3px 8px; margin-left: 4px; }
	.brk-mp .brk-mp-breakdown { padding: 5px 10px; gap: 8px; }
	.brk-mp .brk-mp-breakdown-label { font-size: 9.5px; }

	/* Reason row */
	.brk-mp .brk-mp-reason-row {
		gap: 9px;
		padding: 10px 12px;
		margin-bottom: 10px;
	}
	.brk-mp .brk-mp-reason-icon { width: 30px; height: 30px; font-size: 12px; border-radius: 9px; }
	.brk-mp .brk-mp-reason-label { font-size: 9.5px; }
	.brk-mp .brk-mp-reason-text p { font-size: 13px; line-height: 1.45; }

	/* Action bar: stack verticale ordinato */
	.brk-mp .brk-mp-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}
	.brk-mp .brk-mp-bullets {
		gap: 4px 14px;
		font-size: 11.5px;
		justify-content: flex-start;
	}
	.brk-mp .brk-mp-bullets i { font-size: 10px; }

	/* CTA stack: primary sopra (verde più importante), secondary sotto */
	.brk-mp .brk-mp-ctas {
		flex-direction: column;
		gap: 8px;
		width: 100%;
	}
	.brk-mp .brk-mp-cta-primary {
		justify-content: center;
		width: 100%;
		padding: 13px 18px;
		font-size: 13.5px;
		order: 1;
	}
	.brk-mp .brk-mp-cta-secondary {
		justify-content: center;
		width: 100%;
		padding: 11px 16px;
		font-size: 12.5px;
		order: 2;
	}

	.brk-trust-stats { padding: 18px 18px; }
	.brk-ts-title { font-size: 12px; margin-bottom: 14px; padding-bottom: 12px; }
	.brk-ts-grid { grid-template-columns: repeat(2, 1fr); gap: 14px 8px; }
	.brk-ts-icon { width: 34px; height: 34px; }
	.brk-ts-icon i { font-size: 13px; }
	.brk-ts-value { font-size: 22px; }
	.brk-ts-label { font-size: 11px; }

	.brk-rl-link { grid-template-columns: 1fr; }
	.brk-rl-img { aspect-ratio: 16/9; }
	.brk-rl-body { padding: 18px 20px; }
	.brk-rl-title { font-size: 17px; }
	.brk-rl-desc { font-size: 13px; }
}

/* =============================================================================
 * v1.5.1 — KEY STRENGTHS (selling points stile QualeBroker)
 * Posizionato in alto recensione, sotto hero
 * ========================================================================== */

.brk-strengths {
	background: linear-gradient(135deg, #ffffff 0%, var(--brk-purple-tint) 100%);
	border: 1px solid var(--brk-purple-soft);
	border-radius: 14px;
	padding: 24px 28px;
	margin: 0 0 26px;
	font-family: 'Roboto', sans-serif;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.03), 0 6px 20px rgba(73, 7, 217, 0.05);
	position: relative;
	overflow: hidden;
}
.brk-strengths::before {
	content: '';
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
}
.brk-strengths-head {
	margin-bottom: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.brk-strengths-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--brk-purple-d);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	width: fit-content;
}
.brk-strengths-eyebrow i {
	color: var(--brk-purple);
	font-size: 11px;
}
.brk-strengths-title {
	margin: 0;
	font-size: 21px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.3px;
	line-height: 1.25;
}

.brk-strengths-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 18px;
}
.brk-strengths-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 18px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 10px;
	transition: all 0.18s ease;
	animation: brkStrengthFade 0.4s ease both;
	animation-delay: calc(var(--brk-strengths-i, 0) * 0.05s);
}
.brk-strengths-item:hover {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.08);
	transform: translateY(-1px);
}
@keyframes brkStrengthFade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}
.brk-strengths-icon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--brk-green) 0%, #02a85a 100%);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 2px 6px rgba(4, 190, 104, 0.25);
}
.brk-strengths-icon i {
	font-size: 13px;
}
.brk-strengths-text {
	flex: 1;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--brk-text);
	line-height: 1.45;
	padding-top: 4px;
}

@media (max-width: 768px) {
	.brk-strengths { padding: 20px 18px; border-radius: 12px; }
	.brk-strengths-title { font-size: 18px; }
	.brk-strengths-list { grid-template-columns: 1fr; gap: 10px; }
	.brk-strengths-item { padding: 13px 16px; gap: 12px; }
	.brk-strengths-icon { width: 30px; height: 30px; }
	.brk-strengths-icon i { font-size: 12px; }
	.brk-strengths-text { font-size: 13px; }
}

/* =============================================================================
 * v1.5.2 — [broker_search_engine_promo] — Widget richiamo homepage
 * ========================================================================== */

.brk-promo-search {
	position: relative;
	background: linear-gradient(135deg, #ffffff 0%, #fbfaff 60%, var(--brk-purple-tint) 100%);
	border: 1px solid var(--brk-purple-soft);
	border-radius: 18px;
	overflow: hidden;
	margin: 0 0 28px;
	font-family: 'Roboto', sans-serif;
	box-shadow:
		0 1px 2px rgba(27, 30, 37, 0.04),
		0 12px 36px rgba(73, 7, 217, 0.10);
}
.brk-promo-search::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, var(--brk-pink) 50%, var(--brk-purple) 100%);
	background-size: 200% 100%;
	animation: brkPromoBar 8s ease-in-out infinite;
}
@keyframes brkPromoBar {
	0%, 100% { background-position: 0% 0%; }
	50% { background-position: 100% 0%; }
}
.brk-promo-deco {
	position: absolute;
	top: -60px;
	right: -60px;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(73, 7, 217, 0.12) 0%, transparent 70%);
	pointer-events: none;
}
.brk-promo-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 200px 1fr 220px;
	gap: 0;
	min-height: 220px;
	align-items: center;
}

/* Zona icona */
.brk-promo-icon-zone {
	padding: 32px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	border-right: 1px solid var(--brk-border);
}
.brk-promo-icon {
	width: 80px;
	height: 80px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--brk-purple) 0%, #6a3fed 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 22px rgba(73, 7, 217, 0.30);
	position: relative;
}
.brk-promo-icon::after {
	content: '';
	position: absolute;
	inset: -3px;
	border-radius: 22px;
	border: 2px solid rgba(73, 7, 217, 0.18);
	pointer-events: none;
}
.brk-promo-icon i {
	color: #ffffff;
	font-size: 32px;
}
.brk-promo-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--brk-purple-tint);
	color: var(--brk-purple-d);
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

/* Zona contenuto */
.brk-promo-content {
	padding: 28px 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.brk-promo-title {
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	color: var(--brk-text);
	letter-spacing: -0.5px;
	line-height: 1.2;
}
.brk-promo-sub {
	margin: 0;
	font-size: 14px;
	color: var(--brk-text-muted);
	line-height: 1.55;
}
.brk-promo-stats {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.brk-promo-stat {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 10px;
	font-size: 12.5px;
}
.brk-promo-stat i {
	color: var(--brk-purple);
	font-size: 13px;
}
.brk-promo-stat strong {
	color: var(--brk-purple);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.3px;
}
.brk-promo-stat span {
	color: var(--brk-text-muted);
	font-size: 11.5px;
}
.brk-promo-trust-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 10px;
	border-top: 1px solid var(--brk-border);
}
.brk-promo-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--brk-text-muted);
	font-size: 12px;
	font-weight: 600;
}
.brk-promo-trust-item i {
	color: var(--brk-green);
	font-size: 11px;
}
.brk-promo-trust-sep {
	width: 1px;
	height: 14px;
	background: var(--brk-border);
}

/* Zona CTA */
.brk-promo-cta-zone {
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	background: linear-gradient(180deg, transparent 0%, rgba(73, 7, 217, 0.04) 100%);
	border-left: 1px solid var(--brk-border);
}
.brk-promo-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%);
	color: #ffffff !important;
	text-decoration: none !important;
	padding: 14px 22px;
	border-radius: 12px;
	font-size: 14.5px;
	font-weight: 700;
	box-shadow: 0 6px 18px rgba(4, 190, 104, 0.30);
	transition: all 0.2s ease;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
.brk-promo-cta:hover {
	background: linear-gradient(180deg, var(--brk-green) 0%, #02a85a 100%);
	box-shadow: 0 8px 22px rgba(4, 190, 104, 0.40);
	transform: translateY(-2px);
	color: #ffffff !important;
}
.brk-promo-cta i {
	font-size: 12px;
	transition: transform 0.18s ease;
}
.brk-promo-cta:hover i {
	transform: translateX(3px);
}
.brk-promo-cta-note {
	font-size: 10.5px;
	color: var(--brk-text-faint);
	text-align: center;
	font-style: italic;
	line-height: 1.4;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.brk-promo-grid { grid-template-columns: 160px 1fr 200px; }
	.brk-promo-icon { width: 64px; height: 64px; }
	.brk-promo-icon i { font-size: 26px; }
	.brk-promo-title { font-size: 22px; }
}

@media (max-width: 768px) {
	.brk-promo-search { border-radius: 14px; }
	.brk-promo-grid {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.brk-promo-icon-zone {
		flex-direction: row;
		justify-content: center;
		gap: 14px;
		padding: 22px 18px;
		border-right: none;
		border-bottom: 1px solid var(--brk-border);
	}
	.brk-promo-icon { width: 54px; height: 54px; border-radius: 14px; }
	.brk-promo-icon i { font-size: 22px; }
	.brk-promo-content { padding: 22px 18px; gap: 12px; }
	.brk-promo-title { font-size: 19px; letter-spacing: -0.3px; }
	.brk-promo-sub { font-size: 13px; }
	.brk-promo-stats { gap: 8px; }
	.brk-promo-stat {
		flex: 1 1 calc(50% - 8px);
		padding: 8px 10px;
		min-width: 0;
	}
	.brk-promo-stat strong { font-size: 14px; }
	.brk-promo-stat span { font-size: 10.5px; }
	.brk-promo-trust-row { gap: 6px 10px; }
	.brk-promo-trust-item { font-size: 11.5px; }
	.brk-promo-cta-zone {
		padding: 18px;
		border-left: none;
		border-top: 1px solid var(--brk-border);
	}
	.brk-promo-cta { padding: 12px 18px; font-size: 13.5px; }
}

/* =============================================================================
 * v1.6 — [broker_top_alternatives] — Sezione H2 piena larghezza fondo recensione
 * ========================================================================== */

.brk-topalt {
	font-family: 'Roboto', sans-serif;
	margin: 36px 0 32px;
	padding: 28px 0 0;
	border-top: 1px solid var(--brk-border);
}

.brk-topalt-h2 {
	margin: 0 0 10px !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	color: var(--brk-text) !important;
	letter-spacing: -0.5px;
	line-height: 1.25;
}

.brk-topalt-intro {
	margin: 0 0 24px !important;
	font-size: 14.5px !important;
	color: var(--brk-text-muted) !important;
	line-height: 1.55;
	max-width: 760px;
}

.brk-topalt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 22px;
}

.brk-topalt-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #fcfaff 100%);
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	padding: 20px;
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
}
.brk-topalt-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, #04be68 100%);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.brk-topalt-card:hover {
	border-color: var(--brk-purple-soft);
	box-shadow: 0 8px 24px rgba(73, 7, 217, 0.10);
	transform: translateY(-2px);
}
.brk-topalt-card:hover::before {
	opacity: 1;
}

.brk-topalt-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 44px;
}
.brk-topalt-logo {
	display: flex;
	align-items: center;
	height: 40px;
}
.brk-topalt-logo img {
	max-height: 36px;
	max-width: 130px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.brk-topalt-logo-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--brk-purple-tint);
	color: var(--brk-purple);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 1px;
	padding: 8px 12px;
	border-radius: 8px;
	border: 1px solid var(--brk-purple-soft);
}
.brk-topalt-cluster-different {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #fff8e1;
	color: #a17a1f;
	font-size: 10px;
	font-weight: 600;
	padding: 3px 7px;
	border-radius: 999px;
	border: 1px solid #f1d99b;
}
.brk-topalt-cluster-different i {
	font-size: 8px;
}

.brk-topalt-name {
	margin: 0 !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: var(--brk-text) !important;
	letter-spacing: -0.3px;
	line-height: 1.2;
}

.brk-topalt-cluster-label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--brk-purple-tint);
	color: var(--brk-purple-d);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
	width: fit-content;
}

.brk-topalt-score {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding: 8px 0;
	border-bottom: 1px solid var(--brk-border);
	margin-bottom: 2px;
}
.brk-topalt-stars {
	display: inline-flex;
	gap: 2px;
}
.brk-topalt-stars i {
	color: #f5a623;
	font-size: 13px;
}
.brk-topalt-voto-num {
	font-size: 18px;
	font-weight: 700;
	color: var(--brk-purple);
	letter-spacing: -0.3px;
}
.brk-topalt-voto-100 {
	font-size: 11px;
	color: var(--brk-text-muted);
	background: var(--brk-purple-tint);
	padding: 2px 8px;
	border-radius: 999px;
	font-weight: 600;
}

.brk-topalt-strength {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	background: rgba(4, 190, 104, 0.06);
	border-left: 3px solid var(--brk-green);
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--brk-text);
	font-weight: 500;
}
.brk-topalt-strength i {
	color: var(--brk-green);
	font-size: 12px;
	margin-top: 2px;
	flex-shrink: 0;
}

.brk-topalt-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
}
.brk-topalt-cta-review {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	border: 1.5px solid var(--brk-purple-soft);
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 600;
	background: #ffffff;
	transition: all 0.15s ease;
	box-sizing: border-box;
}
.brk-topalt-cta-review:hover {
	background: var(--brk-purple);
	color: #ffffff !important;
	border-color: var(--brk-purple);
}
.brk-topalt-cta-visit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 42px;
	background: linear-gradient(180deg, #04ce72 0%, var(--brk-green) 100%);
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(4, 190, 104, 0.22);
	transition: all 0.18s ease;
	box-sizing: border-box;
}
.brk-topalt-cta-visit:hover {
	background: linear-gradient(180deg, var(--brk-green) 0%, #02a85a 100%);
	box-shadow: 0 6px 16px rgba(4, 190, 104, 0.32);
	transform: translateY(-1px);
	color: #ffffff !important;
}
.brk-topalt-cta-visit i {
	font-size: 10px;
}

.brk-topalt-footer {
	text-align: center;
	padding: 18px 0 0;
	border-top: 1px solid var(--brk-border);
}
.brk-topalt-cta-all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--brk-purple-tint);
	border: 1px solid var(--brk-purple-soft);
	color: var(--brk-purple-d) !important;
	text-decoration: none !important;
	font-size: 13.5px;
	font-weight: 600;
	padding: 12px 22px;
	border-radius: 999px;
	transition: all 0.2s ease;
}
.brk-topalt-cta-all:hover {
	background: var(--brk-purple);
	color: #ffffff !important;
	box-shadow: 0 6px 18px rgba(73, 7, 217, 0.25);
	transform: translateY(-1px);
}
.brk-topalt-cta-all i:first-child {
	color: var(--brk-purple);
	font-size: 13px;
}
.brk-topalt-cta-all:hover i:first-child {
	color: #ffffff;
}
.brk-topalt-cta-all i:last-child {
	font-size: 11px;
	transition: transform 0.18s ease;
}
.brk-topalt-cta-all:hover i:last-child {
	transform: translateX(3px);
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.brk-topalt-grid { gap: 14px; }
	.brk-topalt-card { padding: 16px; }
	.brk-topalt-name { font-size: 17px !important; }
}

@media (max-width: 768px) {
	.brk-topalt { margin: 28px 0 24px; padding-top: 22px; }
	.brk-topalt-h2 { font-size: 21px !important; }
	.brk-topalt-intro { font-size: 13.5px !important; margin-bottom: 18px !important; }

	/* CAROUSEL orizzontale scroll-snap (sostituisce stack verticale) */
	.brk-topalt-grid {
		display: flex;
		grid-template-columns: none;
		gap: 12px;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 4px 16px 16px;
		margin: 0 -16px 8px; /* edge-to-edge bleed con padding interno */
		scrollbar-width: none; /* Firefox */
	}
	.brk-topalt-grid::-webkit-scrollbar { display: none; } /* Chrome/Safari */

	.brk-topalt-card {
		padding: 16px;
		flex: 0 0 85%; /* ~85% viewport per peek della card successiva */
		min-width: 0;
		scroll-snap-align: start;
		max-width: 320px;
	}
	.brk-topalt-name { font-size: 17px !important; }
	.brk-topalt-strength { font-size: 12px; padding: 9px 11px; }
	.brk-topalt-cta-review { height: 36px; font-size: 12px; }
	.brk-topalt-cta-visit { height: 40px; font-size: 12.5px; }
	.brk-topalt-cta-all { font-size: 12.5px; padding: 11px 18px; }

	/* Hint visivo "scroll lateralmente" — gradient fade a destra */
	.brk-topalt-grid::after {
		content: '';
		flex: 0 0 4px; /* spazio finale dopo ultima card */
	}
}

/* =============================================================================
 * v1.7 — [broker_editorial_request] — Box "Segnalaci un broker" (proof operativo)
 * Layout split desktop · stack verticale mobile · visual editoriale a destra
 * ========================================================================== */

.brk-edreq {
	position: relative;
	margin: 36px 0;
	padding: 36px 40px;
	border-radius: 24px;
	overflow: hidden;
	font-family: 'Roboto', sans-serif;
	background: linear-gradient(135deg, #1a0a3d 0%, #2d0e6e 50%, #4907d9 100%);
	color: #ffffff;
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.04), 0 24px 60px rgba(73, 7, 217, 0.22);
}

/* Sfondo decorativo: 2 blob + pattern noise */
.brk-edreq-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
	border-radius: 24px;
}
.brk-edreq-bg-blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.55;
}
.brk-edreq-bg-blob-1 {
	top: -120px;
	right: -80px;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, rgba(212, 83, 126, 0.65) 0%, transparent 70%);
}
.brk-edreq-bg-blob-2 {
	bottom: -140px;
	left: 30%;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(255, 210, 77, 0.32) 0%, transparent 70%);
}
.brk-edreq-bg-pattern {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.08) 1px, transparent 0);
	background-size: 28px 28px;
	opacity: 0.4;
}

.brk-edreq > *:not(.brk-edreq-bg) {
	position: relative;
	z-index: 1;
}

/* Layout split */
.brk-edreq-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 40px;
	align-items: center;
}

/* LEFT: contenuto */
.brk-edreq-content {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.brk-edreq-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #ffd24d;
	padding: 6px 14px 6px 11px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	width: fit-content;
	backdrop-filter: blur(8px);
}
.brk-edreq-kicker i { font-size: 11px; }

.brk-edreq-title {
	margin: 0 !important;
	font-size: 32px !important;
	font-weight: 800 !important;
	line-height: 1.2;
	letter-spacing: -0.8px;
	color: #ffffff !important;
	display: block;
}
.brk-edreq-info {
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.25);
	width: 26px;
	height: 26px;
	margin: 0 0 0 10px;
	vertical-align: middle;
	display: inline-flex;
	position: relative;
	top: -4px;
	flex-shrink: 0;
}
.brk-edreq-info:hover {
	background: #ffd24d;
	color: #4907d9;
	border-color: #ffd24d;
}
.brk-edreq-info i { font-size: 12px; }

.brk-edreq-lead {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85) !important;
	max-width: 540px;
}

/* CTA */
.brk-edreq-cta-row {
	margin-top: 4px;
}
.brk-edreq-cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: linear-gradient(135deg, #ffd24d 0%, #f5a623 100%);
	color: #1a0a3d !important;
	text-decoration: none !important;
	padding: 16px 24px;
	border-radius: 14px;
	font-weight: 700;
	box-shadow: 0 12px 32px rgba(245, 166, 35, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
	transition: all 0.2s ease;
}
.brk-edreq-cta:hover {
	background: linear-gradient(135deg, #ffdc6e 0%, #ffb840 100%);
	transform: translateY(-2px);
	box-shadow: 0 16px 40px rgba(245, 166, 35, 0.55);
	color: #1a0a3d !important;
}
.brk-edreq-cta > i {
	font-size: 22px;
	flex-shrink: 0;
}
.brk-edreq-cta-label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 2px;
}
.brk-edreq-cta-email {
	display: block;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.2px;
}

/* Disclaimer */
.brk-edreq-disclaimer {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 14px 16px;
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	font-size: 11.5px !important;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.7) !important;
}
.brk-edreq-disclaimer > i {
	color: rgba(255, 210, 77, 0.7);
	font-size: 13px;
	flex-shrink: 0;
	margin-top: 2px;
}
.brk-edreq-disclaimer strong {
	color: rgba(255, 255, 255, 0.92);
	font-weight: 700;
}

/* RIGHT: visual editoriale */
.brk-edreq-visual {
	position: relative;
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.brk-edreq-mailbox {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 280px;
	filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.4));
}
.brk-edreq-mailbox svg {
	width: 100%;
	height: auto;
}

/* Stamps decorativi sparsi */
.brk-edreq-stamp {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	transform: rotate(-8deg);
	z-index: 3;
	font-family: 'Roboto', sans-serif;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
.brk-edreq-stamp i { font-size: 10px; }
.brk-edreq-stamp-1 {
	top: 18%;
	left: 5%;
	background: linear-gradient(135deg, #04ce72 0%, #04be68 100%);
	color: #ffffff;
	transform: rotate(-12deg);
	border: 2px solid rgba(255, 255, 255, 0.25);
}
.brk-edreq-stamp-2 {
	top: 8%;
	right: 8%;
	background: linear-gradient(135deg, #ffd24d 0%, #f5a623 100%);
	color: #1a0a3d;
	transform: rotate(8deg);
	border: 2px solid rgba(255, 255, 255, 0.4);
}
.brk-edreq-stamp-3 {
	bottom: 14%;
	right: 10%;
	background: linear-gradient(135deg, #e84444 0%, #c92020 100%);
	color: #ffffff;
	transform: rotate(-6deg);
	border: 2px solid rgba(255, 255, 255, 0.25);
	opacity: 0.85;
}

/* Tablet */
@media (max-width: 1024px) {
	.brk-edreq { padding: 28px 28px; margin: 28px 0; }
	.brk-edreq-grid { gap: 28px; }
	.brk-edreq-title { font-size: 26px !important; }
	.brk-edreq-mailbox { max-width: 220px; }
	.brk-edreq-visual { min-height: 240px; }
}

/* Mobile */
@media (max-width: 768px) {
	.brk-edreq {
		padding: 26px 20px 22px;
		margin: 24px 0;
		border-radius: 18px;
	}
	.brk-edreq .brk-edreq-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.brk-edreq .brk-edreq-content { gap: 14px; }
	.brk-edreq .brk-edreq-kicker {
		font-size: 10px;
		padding: 5px 12px 5px 10px;
	}
	.brk-edreq .brk-edreq-title {
		font-size: 22px !important;
		letter-spacing: -0.4px;
		gap: 0;
		display: block;
	}
	.brk-edreq .brk-edreq-info {
		width: 22px;
		height: 22px;
		margin: 0 0 0 8px;
		vertical-align: middle;
		display: inline-flex;
		position: relative;
		top: -2px;
	}
	.brk-edreq .brk-edreq-info i { font-size: 10px; }
	.brk-edreq .brk-edreq-lead { font-size: 13.5px !important; }

	.brk-edreq .brk-edreq-cta-row {
		width: 100%;
		display: block;
	}
	.brk-edreq .brk-edreq-cta {
		display: flex;
		width: 100%;
		max-width: 100%;
		justify-content: center;
		padding: 14px 14px;
		gap: 12px;
		box-sizing: border-box;
		min-width: 0;
		overflow: hidden;
	}
	.brk-edreq .brk-edreq-cta > i { font-size: 18px; }
	.brk-edreq .brk-edreq-cta-label { font-size: 10px; }
	.brk-edreq .brk-edreq-cta-email {
		font-size: 13px;
		word-break: break-all;
		overflow-wrap: anywhere;
	}

	.brk-edreq .brk-edreq-disclaimer {
		font-size: 10.5px !important;
		padding: 12px 14px;
		gap: 8px;
	}
	.brk-edreq .brk-edreq-disclaimer > i { font-size: 11px; }

	/* Visual: mantiene presenza ma compatto, nasconde stamps perché stretti */
	.brk-edreq .brk-edreq-visual {
		min-height: 160px;
		order: -1; /* Visual sopra contenuto su mobile per attirare attenzione */
	}
	.brk-edreq .brk-edreq-mailbox { max-width: 180px; }
	.brk-edreq .brk-edreq-stamp {
		font-size: 9px;
		padding: 4px 9px;
	}
	.brk-edreq .brk-edreq-stamp i { font-size: 8px; }
	.brk-edreq .brk-edreq-stamp-1 { top: 12%; left: 0%; }
	.brk-edreq .brk-edreq-stamp-2 { top: 4%; right: 2%; }
	.brk-edreq .brk-edreq-stamp-3 { bottom: 8%; right: 5%; }
}

/* =============================================================================
 * v1.7 — REVIEW PROCESS PAGE
 * Shortcode: [broker_review_authors], [broker_review_process_steps],
 *            [broker_review_criteria], [broker_review_changelog]
 * ========================================================================== */

/* -----------------------------------------------------------------------------
 * COMMON header (eyebrow + title + lead) — shared per tutte le sezioni
 * -------------------------------------------------------------------------- */
.brk-rpa-eyebrow,
.brk-rps-eyebrow,
.brk-rpc-eyebrow,
.brk-rpcl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: linear-gradient(135deg, var(--brk-purple-tint) 0%, rgba(212, 83, 126, 0.12) 100%);
	color: var(--brk-purple-d);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid rgba(73, 7, 217, 0.12);
	margin-bottom: 14px;
}
.brk-rpa-eyebrow i,
.brk-rps-eyebrow i,
.brk-rpc-eyebrow i,
.brk-rpcl-eyebrow i {
	color: var(--brk-purple);
	font-size: 11px;
}

.brk-rpa-title,
.brk-rps-title,
.brk-rpc-title,
.brk-rpcl-title {
	margin: 0 0 12px !important;
	font-size: 28px !important;
	font-weight: 800 !important;
	color: var(--brk-text) !important;
	letter-spacing: -0.7px;
	line-height: 1.2;
}

.brk-rpa-lead,
.brk-rps-lead,
.brk-rpc-lead {
	margin: 0 !important;
	font-size: 14.5px !important;
	color: var(--brk-text-muted) !important;
	line-height: 1.6;
	max-width: 680px;
}

/* -----------------------------------------------------------------------------
 * [broker_review_authors] — Card autori cardine
 * -------------------------------------------------------------------------- */
.brk-rpa {
	position: relative;
	padding: 32px 36px 28px;
	border-radius: 24px;
	overflow: hidden;
	margin: 32px 0;
	font-family: 'Roboto', sans-serif;
	background: linear-gradient(135deg, #ffffff 0%, #fbfaff 50%, #fef7fa 100%);
	border: 1px solid rgba(73, 7, 217, 0.08);
	box-shadow: 0 1px 2px rgba(27, 30, 37, 0.04), 0 16px 48px rgba(73, 7, 217, 0.08);
}
.brk-rpa-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}
.brk-rpa-bg-blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	opacity: 0.4;
}
.brk-rpa-bg-blob-1 {
	top: -100px;
	right: -80px;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(73, 7, 217, 0.32) 0%, transparent 70%);
}
.brk-rpa-bg-blob-2 {
	bottom: -120px;
	left: -100px;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, rgba(212, 83, 126, 0.22) 0%, transparent 70%);
}
.brk-rpa-bg-pattern {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(73, 7, 217, 0.04) 1px, transparent 0);
	background-size: 28px 28px;
	opacity: 0.6;
}
.brk-rpa > *:not(.brk-rpa-bg) {
	position: relative;
	z-index: 1;
}

.brk-rpa-header { margin-bottom: 26px; }

.brk-rpa-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.brk-rpa-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(73, 7, 217, 0.1);
	border-radius: 18px;
	transition: all 0.25s ease;
	position: relative;
	overflow: hidden;
	min-width: 0;
	box-sizing: border-box;
}
.brk-rpa-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brk-purple) 0%, #04be68 100%);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.brk-rpa-card:hover {
	border-color: rgba(73, 7, 217, 0.22);
	box-shadow: 0 12px 32px rgba(73, 7, 217, 0.1);
	transform: translateY(-3px);
}
.brk-rpa-card:hover::before { opacity: 1; }

.brk-rpa-card-top {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.brk-rpa-photo-wrap {
	position: relative;
	width: 90px;
	height: 90px;
	flex: 0 0 90px;
}
.brk-rpa-photo-halo {
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	background: conic-gradient(from 180deg, var(--brk-purple), var(--brk-pink), #ffd24d, var(--brk-purple));
	opacity: 0.7;
	filter: blur(10px);
	z-index: 0;
	animation: brkRpaHaloRotate 12s linear infinite;
}
@keyframes brkRpaHaloRotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
.brk-rpa-photo-disk {
	position: relative;
	z-index: 1;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: #ffffff;
	overflow: hidden;
	border: 3px solid #ffffff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.brk-rpa-photo-disk img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
}
.brk-rpa-photo-years {
	position: absolute;
	bottom: -4px;
	right: -8px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: linear-gradient(135deg, #04ce72 0%, var(--brk-green) 100%);
	color: #ffffff;
	font-size: 9.5px;
	font-weight: 800;
	padding: 4px 8px;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(4, 190, 104, 0.32), 0 0 0 2px #ffffff;
	letter-spacing: 0.3px;
	white-space: nowrap;
}
.brk-rpa-photo-years i { font-size: 8px; }

.brk-rpa-meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	min-width: 0;
}
.brk-rpa-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: linear-gradient(135deg, #ffd24d 0%, #f5a623 100%);
	color: #4a3500;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 999px;
	width: fit-content;
	box-shadow: 0 3px 8px rgba(245, 166, 35, 0.25);
}
.brk-rpa-badge i { font-size: 8.5px; }

.brk-rpa-name {
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--brk-text) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.3px;
}
.brk-rpa-name a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.18s ease;
}
.brk-rpa-name a:hover { color: var(--brk-purple) !important; }
.brk-rpa-role {
	font-size: 12.5px;
	color: var(--brk-purple);
	font-weight: 700;
	letter-spacing: 0.1px;
}

.brk-rpa-bio {
	margin: 0 !important;
	font-size: 13.5px !important;
	color: var(--brk-text) !important;
	line-height: 1.55;
}

.brk-rpa-tags {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.brk-rpa-tags li {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 600;
	color: var(--brk-purple-d);
	background: var(--brk-purple-tint);
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid rgba(73, 7, 217, 0.12);
	margin: 0 !important;
	letter-spacing: 0.2px;
	white-space: nowrap;
	max-width: 100%;
	line-height: 1.4;
}
.brk-rpa-tags li::before { display: none !important; }

.brk-rpa-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 14px;
	margin-top: auto;
	border-top: 1px dashed rgba(73, 7, 217, 0.12);
}
.brk-rpa-link-profile {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--brk-purple) !important;
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 700;
	transition: color 0.18s ease;
}
.brk-rpa-link-profile:hover { color: var(--brk-pink) !important; }
.brk-rpa-link-profile i { font-size: 9.5px; }

.brk-rpa-social {
	display: inline-flex;
	gap: 6px;
}
.brk-rpa-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: var(--brk-purple-tint);
	color: var(--brk-purple) !important;
	border: 1px solid rgba(73, 7, 217, 0.1);
	transition: all 0.18s ease;
	text-decoration: none !important;
}
.brk-rpa-social-link:hover {
	background: var(--brk-purple);
	color: #ffffff !important;
	border-color: var(--brk-purple);
	transform: translateY(-2px);
}
.brk-rpa-social-link i { font-size: 12px; }

.brk-rpa-footer {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 22px;
	padding: 14px 18px;
	background: rgba(73, 7, 217, 0.04);
	border: 1px solid rgba(73, 7, 217, 0.1);
	border-radius: 12px;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--brk-text);
}
.brk-rpa-footer > i {
	color: var(--brk-purple);
	font-size: 16px;
	flex-shrink: 0;
	margin-top: 2px;
}
.brk-rpa-footer strong { color: var(--brk-purple-d); font-weight: 800; }

/* -----------------------------------------------------------------------------
 * [broker_review_process_steps] — Timeline 4-step
 * -------------------------------------------------------------------------- */
.brk-rps {
	font-family: 'Roboto', sans-serif;
	margin: 32px 0;
}
.brk-rps-header { margin-bottom: 26px; }

.brk-rps-timeline {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	counter-reset: brk-rps-counter;
}
.brk-rps-step {
	position: relative;
	padding: 22px 20px 22px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: all 0.25s ease;
	overflow: hidden;
	margin: 0 !important;
}
.brk-rps-step::before { display: none !important; }
.brk-rps-step::after {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--brk-rps-step-color, var(--brk-purple));
	opacity: 0.85;
}
.brk-rps-step:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
	border-color: var(--brk-rps-step-color, var(--brk-purple));
}
.brk-rps-step-purple { --brk-rps-step-color: var(--brk-purple); }
.brk-rps-step-pink   { --brk-rps-step-color: var(--brk-pink); }
.brk-rps-step-amber  { --brk-rps-step-color: #f5a623; }
.brk-rps-step-green  { --brk-rps-step-color: var(--brk-green); }

.brk-rps-step-num {
	font-size: 36px;
	font-weight: 900;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--brk-rps-step-color, var(--brk-purple));
	text-stroke: 1.5px var(--brk-rps-step-color, var(--brk-purple));
	letter-spacing: -1px;
	line-height: 1;
	font-family: 'Roboto', sans-serif;
	opacity: 0.9;
}

.brk-rps-step-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--brk-rps-step-color, var(--brk-purple)) 12%, transparent);
	color: var(--brk-rps-step-color, var(--brk-purple));
	font-size: 18px;
	border: 1px solid color-mix(in srgb, var(--brk-rps-step-color, var(--brk-purple)) 22%, transparent);
}

.brk-rps-step-body { display: flex; flex-direction: column; gap: 8px; }
.brk-rps-step-title {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--brk-text) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.2px;
}
.brk-rps-step-text {
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--brk-text-muted) !important;
	line-height: 1.55;
}

/* -----------------------------------------------------------------------------
 * [broker_review_criteria] — 6 criteri grandi
 * -------------------------------------------------------------------------- */
.brk-rpc {
	font-family: 'Roboto', sans-serif;
	margin: 32px 0;
}
.brk-rpc-header { margin-bottom: 24px; }

.brk-rpc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 18px;
}

.brk-rpc-card {
	position: relative;
	padding: 22px 22px 20px;
	background: #ffffff;
	border: 1px solid var(--brk-border);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: all 0.22s ease;
	overflow: hidden;
}
.brk-rpc-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 4px;
	background: var(--brk-rpc-color, var(--brk-purple));
}
.brk-rpc-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.07);
	border-color: var(--brk-rpc-color, var(--brk-purple));
}
.brk-rpc-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.brk-rpc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--brk-rpc-color, var(--brk-purple)) 12%, transparent);
	color: var(--brk-rpc-color, var(--brk-purple));
	font-size: 16px;
	border: 1px solid color-mix(in srgb, var(--brk-rpc-color, var(--brk-purple)) 20%, transparent);
}
.brk-rpc-pct {
	font-size: 30px;
	font-weight: 900;
	color: var(--brk-rpc-color, var(--brk-purple));
	line-height: 1;
	letter-spacing: -1px;
}
.brk-rpc-criterion {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--brk-text) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.2px;
}
.brk-rpc-desc {
	margin: 0 !important;
	font-size: 12.5px !important;
	color: var(--brk-text-muted) !important;
	line-height: 1.5;
	flex: 1;
}
.brk-rpc-bar {
	height: 6px;
	background: rgba(0, 0, 0, 0.06);
	border-radius: 999px;
	overflow: hidden;
	margin-top: 4px;
}
.brk-rpc-bar-fill {
	height: 100%;
	border-radius: 999px;
	transition: width 0.6s ease-out;
}
.brk-rpc-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	padding: 12px 16px;
	background: rgba(73, 7, 217, 0.04);
	border: 1px solid rgba(73, 7, 217, 0.1);
	border-radius: 10px;
	font-size: 12px !important;
	line-height: 1.55;
	color: var(--brk-text-muted) !important;
}
.brk-rpc-note > i { color: var(--brk-purple); font-size: 13px; flex-shrink: 0; margin-top: 2px; }

/* -----------------------------------------------------------------------------
 * [broker_review_changelog] — Timeline cronologia revisioni
 * -------------------------------------------------------------------------- */
.brk-rpcl {
	font-family: 'Roboto', sans-serif;
	margin: 32px 0;
	padding: 28px 32px;
	background: linear-gradient(135deg, #fbfaff 0%, #ffffff 100%);
	border: 1px solid rgba(73, 7, 217, 0.08);
	border-radius: 18px;
}
.brk-rpcl-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px dashed rgba(73, 7, 217, 0.15);
}
.brk-rpcl-header-text { flex: 1; }
.brk-rpcl-last-update {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-end;
	flex-shrink: 0;
}
.brk-rpcl-last-update-label {
	font-size: 10.5px;
	font-weight: 700;
	color: var(--brk-text-faint);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.brk-rpcl-last-update-date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, #04ce72 0%, var(--brk-green) 100%);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 12px;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(4, 190, 104, 0.28);
}
.brk-rpcl-last-update-date i { font-size: 10px; }

.brk-rpcl-list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.brk-rpcl-list::before { display: none !important; }

.brk-rpcl-entry {
	position: relative;
	margin: 0 !important;
	padding: 16px 20px 16px 18px;
	background: #ffffff;
	border: 1px solid rgba(73, 7, 217, 0.08);
	border-radius: 12px;
	border-left: 4px solid rgba(73, 7, 217, 0.2);
	transition: all 0.2s ease;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 18px;
	align-items: start;
}
.brk-rpcl-entry::before { display: none !important; }
.brk-rpcl-entry:hover {
	border-color: rgba(73, 7, 217, 0.16);
	border-left-color: var(--brk-purple);
	box-shadow: 0 4px 14px rgba(73, 7, 217, 0.08);
}
.brk-rpcl-entry-latest {
	background: linear-gradient(135deg, #ffffff 0%, rgba(73, 7, 217, 0.02) 100%);
	border-color: rgba(73, 7, 217, 0.18);
	border-left-color: var(--brk-purple);
	border-left-width: 4px;
	box-shadow: 0 4px 14px rgba(73, 7, 217, 0.08);
}

/* Marker zone: badge data + dot */
.brk-rpcl-entry-marker {
	grid-column: 1;
	grid-row: 1 / span 2;
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 2px;
}
.brk-rpcl-entry-dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(73, 7, 217, 0.08);
	border: 1.5px solid rgba(73, 7, 217, 0.15);
	color: var(--brk-purple);
	font-size: 14px;
	transition: all 0.2s ease;
}
.brk-rpcl-entry-dot::after {
	content: '\f1da'; /* fa-clock-rotate-left fallback: clock */
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
}
.brk-rpcl-entry-latest .brk-rpcl-entry-dot {
	background: linear-gradient(135deg, var(--brk-purple) 0%, var(--brk-pink) 100%);
	border-color: transparent;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(73, 7, 217, 0.32);
}

/* Body */
.brk-rpcl-entry-body {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.brk-rpcl-entry-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.brk-rpcl-entry-date {
	font-size: 11px;
	font-weight: 800;
	color: var(--brk-purple);
	letter-spacing: 0.4px;
	text-transform: uppercase;
	background: var(--brk-purple-tint);
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid rgba(73, 7, 217, 0.1);
}
.brk-rpcl-entry-label {
	font-size: 14.5px;
	font-weight: 800;
	color: var(--brk-text);
	letter-spacing: -0.2px;
	line-height: 1.3;
}
.brk-rpcl-entry-tag-latest {
	display: inline-flex;
	align-items: center;
	background: linear-gradient(135deg, var(--brk-pink) 0%, #4907d9 100%);
	color: #ffffff;
	font-size: 9.5px;
	font-weight: 800;
	padding: 3px 9px;
	border-radius: 999px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	box-shadow: 0 2px 6px rgba(212, 83, 126, 0.32);
}
.brk-rpcl-entry-text {
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--brk-text-muted) !important;
	line-height: 1.55;
}

.brk-rpcl-entry-text {
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--brk-text-muted) !important;
	line-height: 1.55;
}

/* RESPONSIVE TABLET */
@media (max-width: 1024px) {
	.brk-rpa { padding: 28px 24px 24px; }
	.brk-rps-timeline { grid-template-columns: repeat(2, 1fr); }
	.brk-rpc-grid { grid-template-columns: repeat(2, 1fr); }
}

/* RESPONSIVE MOBILE */
@media (max-width: 768px) {
	/* AUTHORS */
	.brk-rpa { padding: 22px 18px 20px; border-radius: 18px; margin: 22px 0; }
	.brk-rpa-bg-blob-1 { width: 240px; height: 240px; top: -80px; right: -60px; }
	.brk-rpa-bg-blob-2 { width: 260px; height: 260px; bottom: -100px; left: -80px; }
	.brk-rpa-title { font-size: 22px !important; }
	.brk-rpa-lead { font-size: 13.5px !important; }

	.brk-rpa-grid { grid-template-columns: 1fr; gap: 14px; }
	.brk-rpa-card { padding: 18px 16px; gap: 12px; }
	.brk-rpa-card-top { gap: 14px; }
	.brk-rpa-photo-wrap { width: 70px; height: 70px; flex: 0 0 70px; }
	.brk-rpa-photo-disk { width: 70px; height: 70px; border-width: 2.5px; }
	.brk-rpa-photo-halo { inset: -4px; filter: blur(7px); }
	.brk-rpa-photo-years { font-size: 8.5px; padding: 3px 7px; bottom: -3px; right: -6px; }
	.brk-rpa-photo-years i { font-size: 7px; }
	.brk-rpa-name { font-size: 16px !important; }
	.brk-rpa-role { font-size: 11.5px; }
	.brk-rpa-badge { font-size: 8.5px; padding: 2.5px 8px; }
	.brk-rpa-bio { font-size: 12.5px !important; }
	.brk-rpa-tags li { font-size: 9.5px; padding: 3px 8px; }
	.brk-rpa-actions {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding-top: 12px;
	}
	.brk-rpa-link-profile { font-size: 11.5px; }
	.brk-rpa-social-link { width: 28px; height: 28px; }
	.brk-rpa-social-link i { font-size: 11px; }
	.brk-rpa-footer { font-size: 11.5px; padding: 12px 14px; gap: 10px; margin-top: 18px; }

	/* PROCESS STEPS */
	.brk-rps-title { font-size: 22px !important; }
	.brk-rps-lead { font-size: 13.5px !important; }
	.brk-rps-timeline { grid-template-columns: 1fr; gap: 12px; }
	.brk-rps-step { padding: 18px 16px; gap: 10px; }
	.brk-rps-step-num { font-size: 30px; }
	.brk-rps-step-icon { width: 38px; height: 38px; font-size: 15px; }
	.brk-rps-step-title { font-size: 14px !important; }
	.brk-rps-step-text { font-size: 12.5px !important; }

	/* CRITERIA */
	.brk-rpc-title { font-size: 22px !important; }
	.brk-rpc-lead { font-size: 13.5px !important; }
	.brk-rpc-grid { grid-template-columns: 1fr; gap: 12px; }
	.brk-rpc-card { padding: 18px 16px; gap: 10px; }
	.brk-rpc-icon { width: 36px; height: 36px; font-size: 14px; }
	.brk-rpc-pct { font-size: 26px; }
	.brk-rpc-criterion { font-size: 14px !important; }
	.brk-rpc-desc { font-size: 12px !important; }
	.brk-rpc-note { font-size: 11.5px !important; padding: 11px 14px; }

	/* CHANGELOG */
	.brk-rpcl { padding: 22px 18px; border-radius: 16px; margin: 22px 0; }
	.brk-rpcl-title { font-size: 22px !important; }
	.brk-rpcl-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		margin-bottom: 18px;
		padding-bottom: 14px;
	}
	.brk-rpcl-last-update {
		flex-direction: row;
		align-items: center;
		gap: 8px;
	}
	.brk-rpcl-last-update-label { font-size: 9.5px; }
	.brk-rpcl-last-update-date { font-size: 11px; padding: 4px 10px; }
	.brk-rpcl-list { gap: 10px; }
	.brk-rpcl-entry { padding: 14px 16px 14px 14px; gap: 4px 14px; }
	.brk-rpcl-entry-dot { width: 32px; height: 32px; font-size: 12px; }
	.brk-rpcl-entry-meta { gap: 6px; }
	.brk-rpcl-entry-date { font-size: 10px; padding: 2px 8px; }
	.brk-rpcl-entry-label { font-size: 13.5px; }
	.brk-rpcl-entry-tag-latest { font-size: 8.5px; padding: 2px 7px; }
	.brk-rpcl-entry-text { font-size: 12.5px !important; }
}

/* =============================================================================
 * AMP COMPATIBILITY — niente JS calcolatore in pagine AMP
 * ========================================================================== */
.amp-mode-mouse .brk-calc-body input[type="range"] { display: none; }

/* =============================================================================
 * UPDATE 10 Maggio 2026 (parte 3) — Breakdown 6 criteri cliccabile + tooltip
 * Trasforma la pillola "6 criteri editoriali · ⬤⬤⬤⬤⬤⬤" in un button tappabile
 * che apre un tooltip con i dettagli dei 6 criteri pesati per quel broker.
 * ========================================================================== */

/* Wrapper button: reset + cursor pointer + accessibilità touch */
.brk-mp .brk-mp-breakdown {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(73, 7, 217, 0.12);
	border-radius: 999px;
	padding: 6px 12px;
	cursor: pointer;
	font-family: 'Roboto', sans-serif;
	transition: all 0.15s ease;
	-webkit-tap-highlight-color: transparent;
	-webkit-appearance: none;
	appearance: none;
}
.brk-mp .brk-mp-breakdown:hover,
.brk-mp .brk-mp-breakdown:focus-visible {
	background: #ffffff;
	border-color: rgba(73, 7, 217, 0.28);
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.10);
	outline: none;
}
.brk-mp .brk-mp-breakdown:active {
	transform: scale(0.98);
}
.brk-mp .brk-mp-breakdown-info {
	color: rgba(73, 7, 217, 0.5);
	font-size: 12px;
	transition: color 0.15s ease;
	flex-shrink: 0;
}
.brk-mp .brk-mp-breakdown:hover .brk-mp-breakdown-info {
	color: var(--brk-purple);
}

/* Tooltip stile dedicato al broker monthly pick */
.tippy-box .brk-mp-tt-title {
	font-size: 12.5px;
	font-weight: 700;
	color: #1B1E25;
	margin-bottom: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #ececf3;
	letter-spacing: -0.1px;
}
.tippy-box .brk-mp-tt-rows {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.tippy-box .brk-mp-tt-row {
	display: grid;
	grid-template-columns: 12px 1fr auto auto;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	line-height: 1.3;
	padding: 4px 0;
}
.tippy-box .brk-mp-tt-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	flex-shrink: 0;
	background: #cbd0e0;
}
.tippy-box .brk-mp-tt-top  .brk-mp-tt-dot { background: linear-gradient(135deg, #4907d9 0%, #6a3fed 100%); }
.tippy-box .brk-mp-tt-high .brk-mp-tt-dot { background: linear-gradient(135deg, #6a3fed 0%, #8a7ec8 100%); }
.tippy-box .brk-mp-tt-mid  .brk-mp-tt-dot { background: linear-gradient(135deg, #8a7ec8 0%, #a89bef 100%); }
.tippy-box .brk-mp-tt-low  .brk-mp-tt-dot { background: linear-gradient(135deg, #c2bcd9 0%, #ddd6f0 100%); }
.tippy-box .brk-mp-tt-empty .brk-mp-tt-dot { background: #cbd0e0; }
.tippy-box .brk-mp-tt-label {
	color: #1B1E25;
	font-weight: 600;
	white-space: nowrap;
}
.tippy-box .brk-mp-tt-weight {
	color: #888;
	font-size: 10.5px;
	font-weight: 600;
	white-space: nowrap;
	background: #f4f5f9;
	padding: 1px 6px;
	border-radius: 8px;
}
.tippy-box .brk-mp-tt-val {
	color: var(--brk-purple);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	min-width: 36px;
	text-align: right;
}
.tippy-box .brk-mp-tt-foot {
	margin-top: 8px;
	padding-top: 6px;
	border-top: 1px solid #ececf3;
	font-size: 10.5px;
	color: #777;
	font-style: italic;
}

/* Tooltip larghezza decente su mobile */
.tippy-box[data-theme~='light'] {
	max-width: 320px !important;
}
@media (max-width: 480px) {
	.tippy-box[data-theme~='light'] {
		max-width: 280px !important;
	}
	.tippy-box .brk-mp-tt-row {
		grid-template-columns: 10px 1fr auto auto;
		gap: 6px;
		font-size: 11.5px;
	}
	.tippy-box .brk-mp-tt-weight { font-size: 10px; padding: 1px 5px; }
	.tippy-box .brk-mp-tt-val { font-size: 11.5px; min-width: 32px; }
}

/* Mobile: i pallini diventano leggermente più grandi per touch */
@media (max-width: 768px) {
	.brk-mp .brk-mp-breakdown {
		padding: 7px 11px;
		gap: 8px;
	}
	.brk-mp .brk-mp-breakdown-info { font-size: 11px; }
}

/* =============================================================================
 * UPDATE 10 Maggio 2026 (parte 4) — Fix hero recensione mobile
 * - ⓘ disclaimer affiliazione spostata accanto al logo (B2)
 * - Stelle hero mobile a 19px (D1)
 * - Whitespace tooltip ridotto in modo conservativo (E)
 * ========================================================================== */

/* B2: ⓘ disclaimer accanto al logo (nuova classe brk-info-disclaimer-logo) */
.brk-hero-logo {
	position: relative;
}
.brk-hero-logo .brk-info-disclaimer-logo {
	position: absolute;
	top: -4px;
	right: -4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(73, 7, 217, 0.92);
	color: #ffffff;
	border: 2px solid #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	box-shadow: 0 2px 8px rgba(73, 7, 217, 0.25);
	transition: all 0.15s ease;
	-webkit-tap-highlight-color: transparent;
	z-index: 2;
}
.brk-hero-logo .brk-info-disclaimer-logo:hover,
.brk-hero-logo .brk-info-disclaimer-logo:focus-visible {
	background: var(--brk-purple-d, #3604a8);
	transform: scale(1.06);
	outline: none;
}
.brk-hero-logo .brk-info-disclaimer-logo i {
	font-size: 11px;
	line-height: 1;
}

@media (max-width: 768px) {
	.brk-hero-logo .brk-info-disclaimer-logo {
		width: 24px;
		height: 24px;
		top: -2px;
		right: -2px;
	}
	.brk-hero-logo .brk-info-disclaimer-logo i { font-size: 12px; }
}

/* E: Fix conservativo whitespace tooltip — nasconde il <br> orfano dopo lo
 * <strong>:first-child (titolo) che produce uno spazio bianco visibile.
 * Il display:block dello strong gestisce già l'a-capo; il <br> diventa pleonastico.
 * NON tocca padding, margin, font-size, colors. Solo nasconde la riga vuota. */
.tippy-box .tippy-content > strong:first-child + br,
.tippy-box[data-theme~='light'] .tippy-content > strong:first-child + br,
.tippy-box .tippy-content .brk-tt-disclaimer strong:first-child + br {
	display: none !important;
}

/* =============================================================================
 * UPDATE 10 Maggio 2026 (parte 4) — Hero recensione mobile fix
 *
 * 4 fix incrementali zero-rischio:
 *   B2: ⓘ disclaimer accanto al logo (badge tondino in alto-destra del logo)
 *   C1: stress test stackato verticalmente sotto Giudizio Finale (mobile)
 *   D1: stelle mobile da 15px a 18px
 *   E:  tooltip popup — eliminato lo spazio bianco vuoto sotto il titolo
 *       (il <br> orfano dopo il primo <strong>)
 * Nessuna modifica ai font/colori/dimensioni del corpo dei tooltip.
 * ========================================================================== */

/* B2 — ⓘ accanto al logo (posizione assoluta in alto-dx del wrapper logo) */
.brk-hero-logo {
	position: relative;
}
.brk-info-icon.brk-info-disclaimer-logo {
	position: absolute;
	top: -4px;
	right: -4px;
	width: 24px;
	height: 24px;
	background: #ffffff !important;
	border: 1px solid rgba(73, 7, 217, 0.16) !important;
	box-shadow: 0 2px 6px rgba(73, 7, 217, 0.10);
	z-index: 2;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	cursor: pointer;
}
.brk-info-icon.brk-info-disclaimer-logo i,
.brk-info-icon.brk-info-disclaimer-logo .fa-solid,
.brk-info-icon.brk-info-disclaimer-logo .fa-circle-info {
	font-size: 12px !important;
	color: var(--brk-purple, #4907d9) !important;
	line-height: 1 !important;
	opacity: 1 !important;
	display: inline-block !important;
}

@media (max-width: 768px) {
	.brk-info-icon.brk-info-disclaimer-logo {
		top: -2px;
		right: -2px;
		width: 26px;
		height: 26px;
	}
	.brk-info-icon.brk-info-disclaimer-logo i,
	.brk-info-icon.brk-info-disclaimer-logo .fa-solid,
	.brk-info-icon.brk-info-disclaimer-logo .fa-circle-info {
		font-size: 13px !important;
	}
}

/* C1 + D1 rimossi (rollback 10 Maggio): hanno rotto il layout compatto orizzontale.
 * Lasciato solo B2 (ⓘ logo) ed E (tooltip).
 * Il fix per "ST T" sbordante a destra e per le targhette è gestito in modo
 * più chirurgico nelle regole di overflow sotto. */

/* Anti-overflow del box rosa hero su mobile: contiene il box giudizio finale + meta nello spazio disponibile, niente clip. */
@media (max-width: 768px) {
	.brk-hero-score {
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
		flex-wrap: wrap;
	}
	.brk-hero-score100 {
		max-width: 100%;
		white-space: normal;
	}
	.brk-hero-meta {
		max-width: 100%;
		white-space: normal;
		font-size: 11px;
	}
}

/* E — Tooltip: elimino lo spazio bianco vuoto sotto il titolo.
 * Il pattern del tooltip è "<strong>Titolo</strong><br>Body testo".
 * Il <br> orfano combinato con margin-bottom del titolo crea un gap eccessivo.
 * Soluzione conservativa: nascondo SOLO quel <br>, niente altro tocco. */
.tippy-box[data-theme~='light'] .tippy-content > strong:first-child + br,
.tippy-box .tippy-content > strong:first-child + br {
	display: none !important;
}

/* =============================================================================
 * UPDATE 11 Maggio 2026 (parte 5 — v3 OPZIONE A) — CTA mobile [broker_monthly_pick]
 *
 * Pattern Forbes Advisor / NerdWallet:
 *   - CTA primary verde forte, boxed, dominante (è la conversion)
 *   - "Leggi recensione" diventa link editoriale viola sottile, NO box
 *   - Niente più "due bottoni gemelli", gerarchia chiara
 *   - Risparmio spazio verticale ~30% e percezione professional aumentata
 *
 * NIENTE sub-container/cassetto attorno: il design A non lo richiede.
 * Le 2 CTA stanno semplicemente una sopra l'altra con respiro corretto.
 * ========================================================================== */

@media (max-width: 768px) {
	/* Container CTA: niente più box delimitato, solo flex column con gap respirato */
	.brk-mp .brk-mp-ctas {
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		padding: 0 !important;
		margin-top: 14px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
		box-shadow: none !important;
		width: 100% !important;
		box-sizing: border-box !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	/* CTA PRIMARY VERDE: la sola CTA boxed, dominante */
	.brk-mp .brk-mp-cta-primary,
	.brk-mp .brk-mp-cta-primary:link,
	.brk-mp .brk-mp-cta-primary:visited {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		background: linear-gradient(135deg, #04be68 0%, #06d574 100%) !important;
		color: #ffffff !important;
		padding: 14px 22px !important;
		font-size: 14.5px !important;
		font-weight: 700 !important;
		letter-spacing: 0.3px !important;
		border: none !important;
		border-radius: 12px !important;
		text-decoration: none !important;
		width: 100% !important;
		max-width: 360px !important;
		box-shadow:
			0 4px 12px rgba(4, 190, 104, 0.22),
			inset 0 1px 0 rgba(255, 255, 255, 0.30) !important;
		transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
		order: 1 !important;
	}
	.brk-mp .brk-mp-cta-primary span,
	.brk-mp .brk-mp-cta-primary i {
		color: #ffffff !important;
	}
	.brk-mp .brk-mp-cta-primary:hover,
	.brk-mp .brk-mp-cta-primary:active {
		background: linear-gradient(135deg, #02a85a 0%, #04be68 100%) !important;
		color: #ffffff !important;
		box-shadow:
			0 8px 20px rgba(4, 190, 104, 0.32),
			inset 0 1px 0 rgba(255, 255, 255, 0.30) !important;
		transform: translateY(-1px) !important;
	}

	/* CTA SECONDARY "Leggi recensione": link editoriale viola, NO box */
	.brk-mp .brk-mp-cta-secondary,
	.brk-mp .brk-mp-cta-secondary:link,
	.brk-mp .brk-mp-cta-secondary:visited {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 7px !important;
		background: transparent !important;
		color: #4907d9 !important;
		padding: 6px 10px !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: 0.2px !important;
		border: none !important;
		border-radius: 6px !important;
		text-decoration: none !important;
		width: auto !important;
		transition: all 0.18s ease !important;
		order: 2 !important;
		text-underline-offset: 3px !important;
	}
	.brk-mp .brk-mp-cta-secondary span,
	.brk-mp .brk-mp-cta-secondary i {
		color: #4907d9 !important;
	}
	.brk-mp .brk-mp-cta-secondary i {
		font-size: 12px !important;
	}
	/* Microanimazione freccia (se presente icona) */
	.brk-mp .brk-mp-cta-secondary::after {
		content: "→";
		margin-left: 2px;
		font-size: 14px;
		font-weight: 700;
		transition: transform 0.2s ease;
		display: inline-block;
	}
	.brk-mp .brk-mp-cta-secondary:hover::after,
	.brk-mp .brk-mp-cta-secondary:active::after {
		transform: translateX(3px);
	}
	.brk-mp .brk-mp-cta-secondary:hover,
	.brk-mp .brk-mp-cta-secondary:active {
		background: rgba(73, 7, 217, 0.05) !important;
		color: #4907d9 !important;
		text-decoration: none !important;
	}
}

/* =============================================================================
 * UPDATE 11 Maggio 2026 (parte 6 — v2) — Hero score MOBILE 2 colonne
 *
 * Layout precedente: 4 elementi stacked tutti a sinistra, spazio destro vuoto.
 * Nuovo layout: 2 colonne intelligenti
 *   COLONNA SX:                COLONNA DX:
 *   ┌─────────────┐             ┌──────────────┐
 *   │ 3,2/5  ⓘ   │             │   64 /100    │
 *   │ ★★★☆☆      │             │ GIUDIZIO FIN │
 *   │ 🧪 57 test  │             └──────────────┘
 *   └─────────────┘
 *
 * - Voto principale + stelle + targa stress test (icona) a sinistra
 * - Box "Giudizio finale" 64/100 evidenziato a destra come rilievo viola
 * - Bilanciamento visivo perfetto sx-dx, niente vuoti
 * ========================================================================== */

@media (max-width: 768px) {
	.brk-hero-score {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		grid-template-rows: auto auto !important;
		gap: 6px 16px !important;
		align-items: center !important;
		padding: 14px 16px !important;
		margin-top: 8px !important;
	}

	/* COLONNA SX RIGA 1: voto + ⓘ + stelle stacked */
	.brk-hero-score-row {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		margin: 0 !important;
		align-self: end !important;
	}
	.brk-hero-score-value {
		font-size: 30px !important;
		line-height: 1 !important;
		font-weight: 800;
	}
	.brk-hero-score-max {
		font-size: 14px !important;
		color: var(--brk-text-faint);
		font-weight: 500;
		margin-left: 1px;
	}

	.brk-hero-stars {
		grid-column: 1;
		grid-row: 2;
		display: inline-flex !important;
		gap: 3px !important;
		margin: 0 !important;
		align-self: start !important;
	}
	.brk-hero-stars i {
		font-size: 17px !important;
	}

	/* COLONNA DX: box rilievo "Giudizio finale" 64/100 (occupa entrambe le righe) */
	.brk-hero-score100 {
		grid-column: 2;
		grid-row: 1 / span 2;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 2px !important;
		padding: 8px 14px !important;
		background: linear-gradient(135deg, rgba(73, 7, 217, 0.08) 0%, rgba(212, 83, 126, 0.06) 100%) !important;
		border: 1px solid rgba(73, 7, 217, 0.18) !important;
		border-radius: 12px !important;
		box-shadow:
			0 1px 2px rgba(73, 7, 217, 0.05),
			inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
		font-size: 24px !important;
		font-weight: 800;
		color: var(--brk-purple) !important;
		line-height: 1 !important;
		margin: 0 !important;
		min-width: 90px !important;
	}
	.brk-hero-score100 > span:first-of-type {
		font-size: 12px !important;
		color: var(--brk-text-faint) !important;
		font-weight: 600;
		margin-left: -2px;
	}
	.brk-hero-score100-label {
		font-size: 9px !important;
		font-weight: 800 !important;
		letter-spacing: 0.6px !important;
		text-transform: uppercase !important;
		color: var(--brk-purple) !important;
		opacity: 0.7;
		margin: 2px 0 0 !important;
		display: block !important;
		line-height: 1.1 !important;
	}

	/* TARGA STRESS TEST: pillola sotto la sezione SX con icona */
	.brk-hero-meta {
		grid-column: 1 / -1;
		grid-row: 3;
		display: inline-flex !important;
		align-items: center !important;
		gap: 5px !important;
		font-size: 10px !important;
		color: var(--brk-purple) !important;
		font-weight: 700 !important;
		letter-spacing: 0.5px !important;
		text-transform: uppercase !important;
		padding: 4px 10px 4px 8px !important;
		margin: 4px 0 0 !important;
		background: rgba(73, 7, 217, 0.06) !important;
		border: 1px solid rgba(73, 7, 217, 0.15) !important;
		border-radius: 999px !important;
		line-height: 1.1 !important;
		width: fit-content !important;
		justify-self: start !important;
	}
	.brk-hero-meta::before {
		content: "\f0c3"; /* fa-flask */
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 9px;
		opacity: 0.7;
	}
}

/* =============================================================================
 * UPDATE 11 Maggio 2026 (parte 7) — Redesign [broker_key_strengths]
 *
 * Widget "Punti di forza · Perché X merita attenzione".
 * Stato precedente: icone verdi blocco piatto, card senza depth, allineamento
 * grezzo, niente gerarchia visiva.
 *
 * Nuovo design:
 *   - Container con gradient sottile + glow viola in alto-dx + spina sx
 *   - Card item con doppia border (esterno tenue, interno bianco), shadow soft
 *   - Icone "soft glow": cerchio con halo gradient verde-viola, no blocco piatto
 *   - Numerazione ordinale elegante in alto-sx di ogni card (decorativa)
 *   - Hover con micro-lift e gradient border animato
 *   - Typography: peso 700 per testo, leading aerato 1.55
 *   - Gap card aumentato per respiro
 * ========================================================================== */

.brk-strengths {
	background: linear-gradient(135deg, #ffffff 0%, #fdfaf3 65%, #f8f5ff 100%) !important;
	border: 1px solid rgba(73, 7, 217, 0.10) !important;
	border-radius: 16px !important;
	padding: 26px 30px 28px !important;
	margin: 28px 0 !important;
	box-shadow:
		0 1px 2px rgba(20, 22, 30, 0.02),
		0 8px 28px rgba(73, 7, 217, 0.06) !important;
	position: relative;
	overflow: hidden;
}

/* Spina viola sinistra "editorial spine" */
.brk-strengths::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 24px !important;
	bottom: 24px !important;
	width: 3px !important;
	background: linear-gradient(180deg, #4907d9 0%, #6a3fed 100%) !important;
	border-radius: 0 3px 3px 0 !important;
}

/* Glow viola decorativo angolare */
.brk-strengths::after {
	content: '';
	position: absolute;
	top: -60px;
	right: -60px;
	width: 200px;
	height: 200px;
	background: radial-gradient(circle, rgba(73, 7, 217, 0.08) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.brk-strengths > * {
	position: relative;
	z-index: 1;
}

.brk-strengths-head {
	margin-bottom: 22px !important;
}

.brk-strengths-eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #4907d9 !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	margin-bottom: 8px;
	background: rgba(73, 7, 217, 0.08);
	padding: 5px 11px 5px 9px;
	border-radius: 999px;
	width: fit-content;
}
.brk-strengths-eyebrow i {
	font-size: 10px !important;
	color: #f0b428;
	filter: drop-shadow(0 1px 1px rgba(240, 180, 40, 0.4));
}

.brk-strengths-title {
	font-size: 24px !important;
	font-weight: 800 !important;
	color: #1a1c25 !important;
	letter-spacing: -0.5px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}

/* Grid items: 2 colonne con gap aerato */
.brk-strengths-list {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Singola card "punto di forza" */
.brk-strengths-item {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 18px 22px !important;
	background: #ffffff !important;
	border: 1px solid rgba(20, 22, 30, 0.06) !important;
	border-radius: 12px !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	overflow: hidden;
	box-shadow:
		0 1px 2px rgba(20, 22, 30, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* Strip gradient sottile in alto della card */
.brk-strengths-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, #04be68 0%, #4907d9 100%);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.brk-strengths-item:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(73, 7, 217, 0.15) !important;
	box-shadow:
		0 1px 2px rgba(20, 22, 30, 0.04),
		0 12px 28px rgba(73, 7, 217, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}
.brk-strengths-item:hover::before {
	opacity: 1;
}

/* Icona: cerchio elegante con halo, no più blocco piatto */
.brk-strengths-icon {
	position: relative;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #04be68 0%, #06d574 100%) !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	box-shadow:
		0 4px 12px rgba(4, 190, 104, 0.30),
		0 0 0 4px rgba(4, 190, 104, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

/* Halo soft glow attorno all'icona */
.brk-strengths-icon::before {
	content: '';
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(4, 190, 104, 0.18) 0%, transparent 70%);
	z-index: -1;
}

.brk-strengths-icon i {
	font-size: 15px !important;
	filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.12));
}

/* Testo del punto: peso giusto, leading aerato, no più "padding-top: 4px" goffo */
.brk-strengths-text {
	flex: 1 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1c25 !important;
	line-height: 1.5 !important;
	padding: 0 !important;
	letter-spacing: -0.1px;
}

/* Animazione staggered originale: mantenuta */

@media (max-width: 768px) {
	.brk-strengths {
		padding: 22px 18px 24px 22px !important;
		border-radius: 14px !important;
		margin: 22px 0 !important;
	}
	.brk-strengths::before {
		top: 18px !important;
		bottom: 18px !important;
		width: 2.5px !important;
	}
	.brk-strengths::after {
		width: 150px;
		height: 150px;
		top: -45px;
		right: -45px;
	}
	.brk-strengths-head { margin-bottom: 18px !important; }
	.brk-strengths-eyebrow { font-size: 10px !important; padding: 4px 9px 4px 8px; gap: 6px !important; }
	.brk-strengths-eyebrow i { font-size: 9px !important; }
	.brk-strengths-title { font-size: 20px !important; letter-spacing: -0.3px !important; }

	.brk-strengths-list {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
	.brk-strengths-item {
		padding: 14px 16px !important;
		gap: 13px !important;
		border-radius: 11px !important;
	}
	.brk-strengths-icon {
		width: 38px !important;
		height: 38px !important;
	}
	.brk-strengths-icon i { font-size: 13px !important; }
	.brk-strengths-icon::before { inset: -4px; }
	.brk-strengths-text {
		font-size: 13px !important;
		line-height: 1.45 !important;
	}
}

/* =============================================================================
 * v1.4.2 — FIX CRITICO MOBILE SEARCH ENGINE (/quale-broker-scegliere/)
 *
 * Bug 1: la CTA primaria .brk-cta-primary dentro .brk-sc-right ha
 *        width:100%!important + flex:0 0 auto!important definiti FUORI
 *        dalle media query. Su mobile .brk-sc-right diventa row: il
 *        bottone Visita occupava il 100% della riga, spingeva 'Leggi
 *        recensione' fuori schermo a sinistra e sbordava a destra.
 * Bug 2: breakpoint del search engine a 768px mentre il tema (zox-news
 *        + convenzione tradingonline) taglia a 960px: nella fascia
 *        769-960px layout mobile del tema con griglia desktop delle
 *        card → overflow orizzontale.
 * Bug 3: items di CSS Grid con min-width:auto implicito → contenuti
 *        lunghi (pills, bullets, nowrap) allargavano la card oltre il
 *        viewport.
 * ========================================================================== */

/* Guard-rail anti overflow orizzontale (tutte le larghezze) */
.brk-search-grid,
.brk-search-results,
.brk-search-cards,
.brk-search-card {
	min-width: 0;
	max-width: 100%;
}
.brk-sc-left,
.brk-sc-center,
.brk-sc-right {
	min-width: 0;
}

/* Fascia 769–960px: il tema è già in layout mobile, le card devono
   collassare come su mobile (replica regole del blocco ≤768px). */
@media (max-width: 960px) {
	.brk-search-grid { grid-template-columns: 1fr; gap: 14px; }

	.brk-search-filters {
		position: fixed;
		top: 0; left: 0; bottom: 0;
		width: 90%;
		max-width: 360px;
		max-height: 100vh;
		z-index: 9999;
		transform: translateX(-100%);
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		border-radius: 0;
		border-right: 1px solid var(--brk-border);
		padding: 18px 18px 90px;
		box-shadow: 8px 0 32px rgba(0, 0, 0, 0.15);
	}
	.brk-search-filters.is-open { transform: translateX(0); }
	.brk-search-mobile-close { display: inline-flex; }
	.brk-filter-apply-mobile {
		display: block;
		position: sticky;
		bottom: 0;
		margin: 16px -18px -18px;
		border-radius: 0;
	}
	.brk-search-mobile-filters-btn { display: inline-flex; }

	.brk-search-card { grid-template-columns: 1fr; }
	.brk-sc-left {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		border-right: none;
		border-bottom: 1px solid var(--brk-border);
		padding: 14px 16px;
	}
	.brk-sc-center { padding: 14px 16px; gap: 8px; }
	.brk-sc-right {
		flex-direction: row;
		gap: 8px;
		padding: 14px 16px;
		border-left: none;
		border-top: 1px solid var(--brk-border);
		background: var(--brk-bg-soft);
	}

	/* FIX CTA: vince sul width:100%!important / flex:0 0 auto!important
	   della regola desktop. I due bottoni si dividono la riga 50/50. */
	.brk-sc-right .brk-cta-primary,
	.brk-sc-right .brk-cta-primary.brk-cta-small {
		width: auto !important;
		max-width: 100% !important;
		flex: 1 1 0 !important;
		min-width: 0 !important;
		white-space: normal !important;
		padding: 0 12px !important;
	}
	.brk-sc-cta-secondary {
		flex: 1 1 0;
		min-width: 0;
		white-space: normal;
	}
}

/* — Fix 2026-06-14: il tooltip "Come calcoliamo il voto" (donut + 6 criteri) è
     più largo di 360px → overflow:hidden lo tagliava. Allarga + niente clip. — */
.tippy-box{max-width:min(460px,92vw) !important;overflow:visible !important}
.tippy-box .tippy-content{overflow:visible !important}

/* — Compact 2026-06-14: slider "ultimi broker valutati" ~50% più compatto (nessuna info rimossa) — */
.brk-latest-card{padding:13px 16px;gap:9px}
.brk-latest-card-logo{height:38px}
.brk-latest-card-logo img{max-height:34px}
.brk-latest-card-name{font-size:15px}
.brk-latest-cluster{font-size:9.5px;padding:2px 8px}
.brk-latest-date{font-size:10px}
.brk-latest-bd-row{padding:1px 0;gap:8px}
.brk-latest-bd-bar{height:4px}
.brk-latest-bd-label,.brk-latest-bd-val{font-size:10.5px}
.brk-latest-breakdown-head{margin-bottom:6px;padding-bottom:5px}
.brk-latest-card-bullets li{font-size:11.5px}
.brk-latest-card-compact{padding:12px 14px}
.brk-latest-card-compact .brk-latest-card-logo{height:34px}
/* Featured (3 zone) — riduzione padding/altezza */
.brk-latest-card-featured .brk-latest-zone{padding:13px 16px}
.brk-latest-card-featured .brk-latest-zone-a{gap:7px}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-logo{height:40px;margin-top:0}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-logo img{max-height:38px}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-name{font-size:16px;line-height:1.2}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-breakdown-head{margin-bottom:6px;padding-bottom:5px}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-row{padding:1px 0}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-bar{height:5px}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-label,.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-val{font-size:11px}
.brk-latest-card-featured .brk-latest-zone-c{gap:8px}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-rating{padding:6px 10px !important}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-bullets{padding:7px 0;gap:5px}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-bullets li{font-size:11px}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-readlink{padding:8px 12px}
.brk-latest-voto{font-size:15px}
.brk-latest-stars i{font-size:12px}

/* — 2026-06-14: le 3 featured diventano una griglia a 3 colonne (card verticali),
     zone impilate; sotto resta la striscia di 4. Barre punteggio compatte. — */
.brk-latest-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}
.brk-latest-card-featured{flex-direction:column !important;min-height:0}
.brk-latest-card-featured .brk-latest-zone{flex:0 0 auto !important;max-width:none !important;width:100%;padding:14px 16px;border-right:none !important}
.brk-latest-card-featured .brk-latest-zone-a{gap:9px;background:transparent;border-bottom:1px solid var(--brk-border);flex-direction:column;align-items:flex-start}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-top{width:100%}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-logo{height:32px;margin-top:2px;flex:0 0 auto;max-width:100%;justify-content:flex-start}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-logo img{max-height:30px;max-width:150px;width:auto;object-fit:contain}
.brk-latest-card-featured .brk-latest-zone-a .brk-latest-card-name{font-size:17px;margin-top:0;text-align:left;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.brk-latest-card-featured .brk-latest-zone-b{background:var(--brk-bg-soft);border-bottom:1px solid var(--brk-border);justify-content:flex-start}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-row{grid-template-columns:84px 1fr 30px;padding:1px 0}
.brk-latest-card-featured .brk-latest-zone-b .brk-latest-bd-bar{height:4px}
.brk-latest-card-featured .brk-latest-zone-c{background:transparent;gap:9px}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-card-rating{padding:6px 10px !important}
.brk-latest-card-featured .brk-latest-zone-c .brk-latest-readlink{padding:9px 12px}
@media(max-width:980px){.brk-latest-featured{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.brk-latest-featured{display:none}}

/* =========================================================================
   QUALE BROKER SCEGLIERE — design refinement (2026-06-25)
   Linee soffuse · palette minimale (neutro + violet; verde solo CTA) ·
   profondità a strati (ombre morbide + tridimensionalità) · CTA impattante.
   Blocco in coda: vince per ordine sorgente.
   ========================================================================= */
:root{
  --brk-border:#e9ecf2;
  --brk-shadow-sm:0 1px 2px rgba(20,22,30,.04),0 1px 3px rgba(20,22,30,.05);
  --brk-shadow-md:0 2px 8px rgba(20,22,30,.05),0 18px 36px -18px rgba(20,22,30,.20);
}
/* HERO — sobrio, profondità morbida, accento violet discreto */
.brk-search-hero{background:linear-gradient(180deg,#fff 0%,var(--brk-bg-soft) 100%);border:1px solid var(--brk-border);border-radius:20px;box-shadow:0 1px 2px rgba(20,22,30,.04),0 40px 80px -52px rgba(73,7,217,.26)}
.brk-search-hero-eyebrow-text{letter-spacing:.16em;color:var(--brk-purple);font-weight:800}
.brk-search-hero-sub{color:var(--brk-text-muted)}
/* FILTRI — pannello morbido, hairline tenui */
.brk-search-filters{background:var(--brk-bg);border:1px solid var(--brk-border);border-radius:18px;box-shadow:var(--brk-shadow-sm)}
.brk-filter-group{border-color:var(--brk-border)}
/* CARD RISULTATO — tridimensionalità: elevazione + lift morbido */
.brk-search-card{border:1px solid var(--brk-border);border-radius:16px;box-shadow:var(--brk-shadow-sm);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
.brk-search-card:hover{transform:translateY(-3px);box-shadow:var(--brk-shadow-md);border-color:#dfe3ec}
.brk-sc-left{background:linear-gradient(180deg,#fff,#fafbfd);border-right:1px solid var(--brk-border)}
.brk-sc-right{background:linear-gradient(180deg,#fdfdff,#f7f5ff);border-left:1px solid var(--brk-border)}
.brk-sc-rating-block{background:var(--brk-bg-soft);border:1px solid var(--brk-border);border-radius:10px}
/* PALETTE MINIMALE — via l'arcobaleno: scala violet→neutro sui 6 criteri */
.brk-method-row{border:1px solid var(--brk-border);background:var(--brk-bg-soft);border-radius:12px}
.brk-method-row:nth-child(1){border-left:3px solid var(--brk-purple)}
.brk-method-row:nth-child(2){border-left:3px solid #6f57c9}
.brk-method-row:nth-child(3){border-left:3px solid #968bd4}
.brk-method-row:nth-child(4){border-left:3px solid #b9b2e1}
.brk-method-row:nth-child(5){border-left:3px solid #d3cfe9}
.brk-method-row:nth-child(6){border-left:3px solid #e6e3f2}
/* CTA — impattante: verde brand, gradiente, profondità, lift */
.brk-cta-primary{background:linear-gradient(180deg,#06d176 0%,var(--brk-green) 100%)!important;border:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 18px -6px rgba(4,190,104,.5)!important;transition:transform .18s,box-shadow .18s,filter .18s!important}
.brk-cta-primary:hover{transform:translateY(-1px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 26px -8px rgba(4,190,104,.62)!important;filter:saturate(1.05)}
.brk-cta-ghost{background:var(--brk-bg)!important;border:1px solid var(--brk-border)!important;color:var(--brk-text)!important;transition:border-color .18s,color .18s,background .18s!important}
.brk-cta-ghost:hover{border-color:var(--brk-purple)!important;color:var(--brk-purple)!important;background:var(--brk-purple-tint)!important}
