/* RC Banner */
.rc-bn { position: relative; overflow: hidden; padding-block: var(--rc-bn-pad, 56px); }
.rc-bn__inner { position: relative; z-index: 1; }
.rc-bn__inner--pad { padding-inline: clamp(20px, 4vw, 48px); }
.rc-bn__text { max-width: 640px; }
.rc-bn__eyebrow { margin: 0 0 10px; font-style: normal; }
.rc-bn__title { margin: 0 0 12px; font-weight: 700; }
.rc-bn__desc { margin: 0; max-width: 56ch; font-size: 1.0625rem; line-height: 1.6; }

.rc-bn__features { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 24px; }
.rc-bn__feature { display: flex; align-items: flex-start; gap: 12px; font-size: .9rem; line-height: 1.45; }
.rc-bn__ficon { flex: none; width: 28px; height: 28px; display: inline-flex; color: var(--rc-bn-icon, #a97b76); }
.rc-bn__ficon svg { width: 100%; height: 100%; }

.rc-bn__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; margin-top: 28px; }

/* Foto a destra che sfuma nello sfondo */
.rc-bn__media { position: absolute; top: 0; right: 0; bottom: 0; width: var(--rc-bn-media, 50%); z-index: 0; }
.rc-bn__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--rc-bn-pos, 50% 50%); }
.rc-bn__media::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(90deg,
		var(--rc-bn-bg) 0%,
		color-mix(in srgb, var(--rc-bn-bg) 92%, transparent) var(--f1, 14%),
		color-mix(in srgb, var(--rc-bn-bg) 55%, transparent) var(--f2, 40%),
		color-mix(in srgb, var(--rc-bn-bg) 0%, transparent) var(--f3, 100%));
}
.rc-bn--fade-soft { --f1: 6%; --f2: 26%; --f3: 75%; }
.rc-bn--fade-medium { --f1: 14%; --f2: 40%; --f3: 100%; }
.rc-bn--fade-strong { --f1: 26%; --f2: 58%; --f3: 100%; }
.rc-bn--fade-none .rc-bn__media::after { display: none; }

.rc-bn--dark .rc-btn--secondary { color: #ffffff; border-color: rgba(255, 255, 255, .7); }
.rc-bn--dark .rc-btn--secondary:hover { background: rgba(255, 255, 255, .12); color: #ffffff; }

@media (max-width: 1024px) {
	.rc-bn__features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
	.rc-bn { padding-block: min(var(--rc-bn-pad, 56px), 40px); }
	.rc-bn__text { max-width: none; }
	.rc-bn__desc { font-size: .9375rem; }
	.rc-bn__features { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 22px; }
	.rc-bn__actions { margin-top: 22px; }
	.rc-bn__actions .rc-btn { width: 100%; }
	/* Telefono: la foto diventa sfondo tenue, il testo resta leggibile */
	.rc-bn--mob-hide .rc-bn__media { display: none; }
	.rc-bn--mob-bg .rc-bn__media { width: 100%; }
	.rc-bn--mob-bg .rc-bn__media::after {
		background: linear-gradient(90deg,
			var(--rc-bn-bg) 0%,
			color-mix(in srgb, var(--rc-bn-bg) 94%, transparent) 40%,
			color-mix(in srgb, var(--rc-bn-bg) 72%, transparent) 100%);
	}
}
