/*
Theme Name: FLASHBK
Theme URI: https://www.flashbk.it
Author: Paolo Bortolotti
Author URI: https://www.flashbk.it
Description: Tema custom per FLASHBK - Tecnologia di Preparazione Superficiale per brasatura e saldatura industriale. Tema nativo WordPress con CPT, ACF PRO, WooCommerce.
Version: 1.0.1
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.1
License: Proprietary
License URI: https://www.flashbk.it
Text Domain: flashbk
Domain Path: /languages
Tags: industrial, b2b, woocommerce, custom-logo, custom-menu
*/

/* ══════════════════════════════════════════════════
   Design Tokens - FLASHBK
   Estende le variabili RaiStar (--rs-*) con
   i soli alias necessari al child theme.
   ══════════════════════════════════════════════════ */
/* Fix overflow-x causato dall'offcanvas menu con inset-inline-end in LTR */
html,
body {
	overflow-x: hidden;
}

:root {
	/* Brand shorthand (alias di --rs-theme-orange) */
	--flashbk-brand: #EA5501;
	--flashbk-brand-light: #ff7b3a;
	--flashbk-brand-lighter: #fff3eb;
	--flashbk-brand-dark: #c24600;

	/* Colori semantici per dati ROI / tabelle */
	--flashbk-data-positive: #16a34a;
	--flashbk-data-negative: #dc2626;
}

/* ── Override: Hero breadcrumb padding ── */
.rs-breadcrumb-one {
	padding-top: 80px;
	padding-bottom: 80px;
}
/* ── Breadcrumb: pagina attiva in arancione ── */
.rs-breadcrumb-menu nav ul li:last-child span {
	color: var(--flashbk-brand) !important;
}

/* ── Hero: subtitle + badge + CTA ── */
.rs-breadcrumb-content-wrapper .rs-section-subtitle {
	margin-bottom: 12px;
}
.rs-breadcrumb-subtitle {
	color: rgba(255,255,255,.75);
	font-size: 17px;
	line-height: 1.65;
	margin-top: 14px;
	max-width: 560px;
}
.rs-breadcrumb-cta {
	margin-top: 25px;
}
.rs-btn.rs-btn-orange {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--flashbk-brand);
	color: #fff;
	padding: 14px 32px;
	border-radius: 6px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: all .3s ease;
	border: 2px solid var(--flashbk-brand);
}
.rs-btn.rs-btn-orange:hover {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

/* ── Cos'è section: nota strategica ── */
.flashbk-nota-strategica {
	background: rgba(234,85,1,.06);
	border-left: 3px solid var(--flashbk-brand);
	padding: 16px 20px;
	border-radius: 0 6px 6px 0;
	font-size: 16px;
	color: var(--rs-text-primary);
}

/* ── Prodotti Ricaricabili: stack verticale nella colonna downloads ── */
.flashbk-ricaricabili-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.flashbk-ricaricabili-card {
	flex-direction: row !important;
	align-items: center;
	padding: 12px !important;
	min-height: unset !important;
}
.flashbk-ricaricabili-card .flashbk-shipping-bundle__thumb {
	width: 64px !important;
	height: 64px !important;
	flex-shrink: 0;
}
.flashbk-ricaricabili-card .flashbk-shipping-bundle__thumb-img {
	width: 64px !important;
	height: 64px !important;
	object-fit: contain;
}
.flashbk-ricaricabili-card .flashbk-shipping-bundle__info {
	flex: 1;
}
.flashbk-ricaricabili-card .flashbk-shipping-bundle__name {
	font-size: 14px;
	margin-bottom: 4px;
}
.flashbk-ricaricabili-card .flashbk-shipping-bundle__price {
	font-size: 14px;
}
.flashbk-ricaricabili-card .flashbk-shipping-bundle__cta {
	font-size: 13px;
	padding: 6px 14px;
}

/* ── Selettore Industriale: CTA row ── */
.flashbk-selettore-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}
.flashbk-selettore-cta-row .rs-btn {
	font-size: 14px;
	padding: 9px 20px;
	height: auto;
	border-radius: 4px;
	font-weight: 600;
}
.flashbk-selettore-cta-row .rs-btn.has-outline {
	border: 2px solid var(--flashbk-brand);
	color: var(--flashbk-brand);
	background: transparent;
}
.flashbk-selettore-cta-row .rs-btn.has-outline:hover {
	background: var(--flashbk-brand);
	color: #fff;
}

/* ── Hover della card: override CTA colors ── */
.rs-feature-item:hover .flashbk-selettore-cta-row .rs-btn.has-outline {
	border-color: #fff;
	color: #fff;
	background: transparent;
}
.rs-feature-item:hover .flashbk-selettore-cta-row .rs-btn.has-outline:hover {
	background: #fff;
	color: var(--flashbk-brand);
}
.rs-feature-item:hover .flashbk-selettore-cta-row .rs-btn.has-theme-orange {
	background: #fff;
	border: 2px solid #fff;
	color: var(--flashbk-brand);
}
.rs-feature-item:hover .flashbk-selettore-cta-row .rs-btn.has-theme-orange:hover {
	background: transparent;
	color: #fff;
}

/* ── Utility: line clamp ── */
.flashbk-line-clamp-7 {
	display: -webkit-box;
	-webkit-line-clamp: 7;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.flashbk-line-clamp-7 p:last-child {
	margin-bottom: 0;
}

/* ── Feature title: prima parola bold orange, resto normal nero ── */
.rs-feature-title {
	line-height: 1.3;
}
.rs-feature-title a {
	text-decoration: none;
	color: inherit;
}
.flashbk-title-first {
	display: block;
	font-weight: 700;
	color: var(--flashbk-brand);
}
.flashbk-title-rest {
	display: block;
	font-weight: 400;
	color: var(--rs-title-primary);
	font-size: 0.875em;
}

/* ── Button: outline arancione (usato in tab services, hero secondary) ── */

.rs-btn.has-outline .icon-box svg {
	fill: var(--flashbk-brand);
}
.rs-btn.has-outline:hover {
	background: var(--flashbk-brand);
	color: #fff;
	border-color: var(--flashbk-brand);
}
.rs-btn.has-outline:hover .icon-box svg {
	fill: #fff;
}

/* ── Footer wrapper: sfondo scuro di base ── */
.rs-footer-bg-thumb-wrapper {
	background-color: var(--rs-black);
}

/* ── SVG Logo: forza dimensioni per img SVG (no intrinsic size) ── */
.rs-header-logo img[src$=".svg"],
.rs-header-logo img[src$=".svgz"] {
	width: auto;
	height: 110px;
	max-width: 180px;
}
.rs-footer-widget-logo img[src$=".svg"],
.rs-footer-widget-logo img[src$=".svgz"] {
	width: auto;
	height: 40px;
	max-width: 200px;
}
.rs-sticky-header .rs-header-logo img[src$=".svg"], .rs-sticky-header .rs-header-logo img[src$=".svgz"] {
	height: 68px;
}
.rs-header-one.active .rs-header-logo-wrapper {
	width: 115px;
		height: auto;
		background-color: var(--rs-bg-primary);
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: auto;
		padding: 36px;
	}
}
/* ══════════════════════════════════════════════════
   Tecnologia - Tabella Matrice Compatibilità
   ══════════════════════════════════════════════════ */
.flashbk-table-matrice table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.flashbk-table-matrice table thead th {
	background: var(--rs-black);
	color: #fff;
	padding: 14px 16px;
	text-align: center;
	font-weight: 600;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: 1px solid rgba(255,255,255,.1);
}
.flashbk-table-matrice table thead th:first-child {
	text-align: left;
	background: var(--flashbk-brand);
}
.flashbk-table-matrice table tbody td {
	padding: 12px 16px;
	border: 1px solid var(--rs-border-secondary);
	text-align: center;
	vertical-align: middle;
}
.flashbk-table-matrice table tbody td:first-child {
	text-align: left;
	font-weight: 600;
	background: #f8f8f8;
}
.flashbk-table-matrice table tbody tr:nth-child(even) td {
	background: #fafafa;
}
.flashbk-table-matrice table tbody tr:nth-child(even) td:first-child {
	background: #f0f0f0;
}
.flashbk-table-matrice table tbody tr:hover td {
	background: rgba(234, 85, 1, .05);
}
@media (max-width: 768px) {
	.flashbk-table-matrice { overflow-x: auto; }
	.flashbk-table-matrice table { min-width: 600px; }
}

/* ══════════════════════════════════════════════════
   Tecnologia - Tabella Confronto Tecnico
   ══════════════════════════════════════════════════ */
.flashbk-table-confronto table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.flashbk-table-confronto table thead th {
	background: var(--rs-black);
	color: #fff;
	padding: 16px 18px;
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: 1px solid rgba(255,255,255,.1);
}
.flashbk-table-confronto table thead th span {
	display: block;
	font-weight: 400;
	font-size: 14px;
	text-transform: none;
	letter-spacing: 0;
	opacity: .6;
	margin-top: 3px;
}
.flashbk-table-confronto table thead th:first-child {
	text-align: left;
	background: var(--flashbk-brand);
	width: 22%;
}
.flashbk-table-confronto table thead th.col-prima {
	background: var(--rs-black);
	width: 39%;
}
.flashbk-table-confronto table thead th.col-dopo {
	background: var(--flashbk-brand);
	width: 39%;
}
.flashbk-table-confronto table tbody td {
	padding: 13px 18px;
	border: 1px solid var(--rs-border-secondary);
	text-align: left;
	vertical-align: middle;
	color: var(--rs-text-primary);
	font-size: 16px;
	line-height: 1.5;
}
.flashbk-table-confronto table tbody td:first-child {
	font-weight: 600;
	color: var(--rs-title-primary);
	background: #f8f8f8;
}
/* ── Group header rows ── */
.flashbk-table-confronto table tbody tr.group-header td {
	background: var(--rs-black);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 10px 18px;
	border-color: rgba(255,255,255,.1);
}
/* ── Positive / Negative indicators ── */
.flashbk-table-confronto table tbody td.is-negative {
	color: #777;
}
.flashbk-table-confronto table tbody td.is-negative::before {
	content: '—';
	display: inline-block;
	color: #ccc;
	font-weight: 700;
	margin-right: 8px;
}
.flashbk-table-confronto table tbody td.is-positive {
	color: var(--rs-title-primary);
	font-weight: 500;
}
.flashbk-table-confronto table tbody td.is-positive::before {
	content: '✓';
	display: inline-block;
	color: var(--flashbk-brand);
	font-weight: 700;
	margin-right: 8px;
}
/* ── Zebra + hover ── */
.flashbk-table-confronto table tbody tr:not(.group-header):nth-child(even) td {
	background: #fafafa;
}
.flashbk-table-confronto table tbody tr:not(.group-header):nth-child(even) td:first-child {
	background: #f0f0f0;
}
.flashbk-table-confronto table tbody tr:not(.group-header):hover td {
	background: rgba(234, 85, 1, .04);
}
.flashbk-table-confronto table tbody tr:not(.group-header):hover td.is-positive {
	background: rgba(234, 85, 1, .08);
}
@media (max-width: 768px) {
	.flashbk-table-confronto { overflow-x: auto; }
	.flashbk-table-confronto table { min-width: 640px; }
}

/* ══════════════════════════════════════════════════
   Tecnologia - Sezione Confronto (cards + flow)
   ══════════════════════════════════════════════════ */
.flashbk-compare-section .flashbk-compare-intro {
	max-width: 780px;
	margin: 0 auto 40px;
	text-align: center;
	color: var(--rs-text-primary);
	font-size: 16px;
	line-height: 1.7;
}
.flashbk-compare-section .flashbk-compare-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-bottom: 50px;
}
.flashbk-compare-section .flashbk-card-vs {
	background: #fff;
	border-radius: 8px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(0,0,0,.06);
	border-top: 4px solid var(--flashbk-brand);
}
.flashbk-compare-section .flashbk-card-vs h4 {
	font-size: 18px;
	font-weight: 700;
	color: var(--rs-title-primary);
	margin-bottom: 16px;
}
.flashbk-compare-section .flashbk-card-vs p {
	color: var(--rs-text-primary);
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
}

/* ── Process Flow ── */
.flashbk-compare-section .flashbk-process-flow {
	background: linear-gradient(135deg, var(--rs-black) 0%, #16213e 100%);
	border-radius: 12px;
	padding: 44px 48px 48px;
	position: relative;
	overflow: hidden;
}
.flashbk-compare-section .flashbk-process-flow::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--flashbk-brand) 0%, var(--flashbk-brand-light) 50%, var(--flashbk-brand) 100%);
}
.flashbk-compare-section .flashbk-process-flow h5 {
	color: rgba(255,255,255,.5);
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 28px;
	text-transform: uppercase;
	letter-spacing: 2px;
	text-align: center;
}
.flashbk-compare-section .flashbk-process-steps {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 0;
	counter-reset: step;
}
.flashbk-compare-section .flashbk-process-step {
	counter-increment: step;
	position: relative;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 10px;
	padding: 28px 24px 22px;
	min-width: 160px;
	text-align: center;
	transition: all .3s ease;
	flex: 1;
}
.flashbk-compare-section .flashbk-process-step::before {
	content: counter(step, decimal-leading-zero);
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: var(--flashbk-brand);
	margin-bottom: 10px;
	font-family: monospace;
}
.flashbk-compare-section .flashbk-process-step .step-label {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	display: block;
}
.flashbk-compare-section .flashbk-process-step .step-note {
	color: rgba(255,255,255,.4);
	font-size: 16px;
	margin-top: 6px;
	display: block;
}
.flashbk-compare-section .flashbk-process-step:hover {
	background: rgba(234,85,1,.12);
	border-color: rgba(234,85,1,.3);
	transform: translateY(-2px);
}
.flashbk-compare-section .flashbk-process-step.is-highlight {
	background: var(--flashbk-brand);
	border-color: var(--flashbk-brand);
	box-shadow: 0 8px 32px rgba(234,85,1,.35);
}
.flashbk-compare-section .flashbk-process-step.is-highlight::before {
	color: rgba(255,255,255,.7);
}
.flashbk-compare-section .flashbk-process-step.is-highlight .step-note {
	color: rgba(255,255,255,.7);
}
.flashbk-compare-section .flashbk-process-arrow {
	display: flex;
	align-items: center;
	padding: 0 12px;
	color: rgba(234,85,1,.6);
	font-size: 24px;
	flex-shrink: 0;
}
.flashbk-compare-section .flashbk-process-arrow svg {
	width: 28px;
	height: 28px;
}

/* ── Responsive: Confronto ── */
@media (max-width: 991px) {
	.flashbk-compare-section .flashbk-compare-cards { grid-template-columns: 1fr; }
	.flashbk-compare-section .flashbk-process-step { min-width: 120px; padding: 22px 16px 18px; }
	.flashbk-compare-section .flashbk-process-step .step-label { font-size: 14px; }
	.flashbk-compare-section .flashbk-process-arrow { padding: 0 6px; }
	.flashbk-compare-section .flashbk-process-arrow svg { width: 20px; height: 20px; }
}
@media (max-width: 575px) {
	.flashbk-compare-section .flashbk-process-steps { flex-direction: column; gap: 0; }
	.flashbk-compare-section .flashbk-process-step { min-width: 100%; border-radius: 0; }
	.flashbk-compare-section .flashbk-process-step:first-child { border-radius: 10px 10px 0 0; }
	.flashbk-compare-section .flashbk-process-step:last-child { border-radius: 0 0 10px 10px; }
	.flashbk-compare-section .flashbk-process-arrow { padding: 0; justify-content: center; }
	.flashbk-compare-section .flashbk-process-arrow svg { transform: rotate(90deg); width: 20px; height: 20px; }
	.flashbk-compare-section .flashbk-process-flow { padding: 32px 20px 36px; }
}

/* ══════════════════════════════════════════════════
   Tecnologia - Download CTA (Validazione Scientifica)
   Sfondo chiaro - testi scuri, accento arancione
   ══════════════════════════════════════════════════ */
.flashbk-download-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.flashbk-download-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: #f5f5f5;
	border: 1px solid var(--rs-border-secondary);
	border-radius: 8px;
	padding: 14px 22px;
	text-decoration: none;
	transition: all .3s ease;
	min-width: 220px;
}
.flashbk-download-btn:hover {
	background: var(--flashbk-brand);
	border-color: var(--flashbk-brand);
	transform: translateY(-2px);
	box-shadow: 0 6px 24px rgba(234,85,1,.25);
}
.flashbk-download-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: rgba(234,85,1,.1);
	border-radius: 8px;
	flex-shrink: 0;
	color: var(--flashbk-brand);
	transition: all .3s ease;
}
.flashbk-download-btn:hover .flashbk-download-icon {
	background: rgba(255,255,255,.2);
	color: #fff;
}
.flashbk-download-icon svg {
	width: 22px;
	height: 22px;
}
.flashbk-download-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.flashbk-download-label {
	color: var(--rs-title-primary);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	transition: color .3s ease;
}
.flashbk-download-btn:hover .flashbk-download-label {
	color: #fff;
}
.flashbk-download-meta {
	color: #777;
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .5px;
	transition: color .3s ease;
}
.flashbk-download-btn:hover .flashbk-download-meta {
	color: rgba(255,255,255,.7);
}
@media (max-width: 575px) {
	.flashbk-download-ctas { flex-direction: column; }
	.flashbk-download-btn { min-width: 100%; }
}

/* ── Validazione: thumb image ── */
.flashbk-validazione-thumb img {
	width: 100%;
	border-radius: 8px;
}

/* ══════════════════════════════════════════════════
   Hero: CTA doppia (primario + secondario)
   ══════════════════════════════════════════════════ */
.rs-breadcrumb-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

/* ══════════════════════════════════════════════════
   Settore - Section Architecture
   Rispetta il linguaggio RaiStar:
   - primary-bg (#F7F7F7) gestito dal tema
   - bianco per sezioni senza classe bg
   - Workflow usa black-bg per il contrasto dark
   - Nessun override della tipografia nativa
   ══════════════════════════════════════════════════ */

/* ── Section description (bridge text under titles) ── */
.flashbk-section-description {
	color: var(--rs-text-primary);
	font-size: var(--rs-fs-body);
	line-height: 1.7;
	max-width: 640px;
	margin: 12px auto 0;
	opacity: .85;
}

/* ── Workflow: sfondo scuro per contrasto narrativo (fulcro emotivo) ── */
.flashbk-settore-workflow {
	background: var(--rs-black);
}
.flashbk-settore-workflow .rs-section-subtitle {
	color: rgba(255,255,255,.55);
}
.flashbk-settore-workflow .rs-section-subtitle svg path {
	fill: var(--flashbk-brand);
}
.flashbk-settore-workflow .rs-section-title {
	color: #fff;
}
.flashbk-settore-workflow .flashbk-section-description {
	color: rgba(255,255,255,.65);
}

/* ══════════════════════════════════════════════════
   Settore - Problema Reale (card pain-points)
   ══════════════════════════════════════════════════ */
.flashbk-settore-problema-content {
	color: var(--rs-text-primary);
	font-size: var(--rs-fs-p);
	line-height: 1.75;
}
.flashbk-settore-problema-content p {
	margin-bottom: 16px;
}
/* Paragrafi con strong all'inizio = pain point card */
.flashbk-settore-problema-content p:has(strong:first-child) {
	background: #fff;
	border: 1px solid var(--rs-border-primary);
	border-left: 4px solid var(--flashbk-brand);
	border-radius: 0 8px 8px 0;
	padding: 20px 24px;
	margin-bottom: 14px;
	box-shadow: 0 2px 8px rgba(0,0,0,.03);
	transition: box-shadow .25s ease;
}
.flashbk-settore-problema-content p:has(strong:first-child):hover {
	box-shadow: 0 4px 16px rgba(0,0,0,.07);
}
.flashbk-settore-problema-content p:has(strong:first-child) strong {
	color: var(--rs-title-primary);
	font-size: 15px;
}

/* ══════════════════════════════════════════════════
   Settore - Fasi Critiche (override rs-work-step-three)
   Il parent gestisce layout, counter, border-right.
   Qui: brand color su numeri, tipografia .descrip,
   trattamento problema/soluzione nei paragrafi.
   ══════════════════════════════════════════════════ */

/* Counter pill: brand orange al posto di theme-light-blue */
.flashbk-settore-fasi .rs-work-step-number::before {
	background: var(--flashbk-brand);
	font-weight: 600;
}
.flashbk-settore-fasi .rs-work-step-item:hover .rs-work-step-number::before {
	background: var(--flashbk-brand-dark);
}
/* "step" text: più discreto */
.flashbk-settore-fasi .rs-work-step-text {
	color: rgba(0,0,0,.08);
}
/* Titolo step */
.flashbk-settore-fasi .rs-work-step-title {
	color: var(--rs-title-primary);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}
/* Contenuto step (.descrip da RaiStar) */
.flashbk-settore-fasi .descrip {
	font-size: 15px;
	line-height: 1.7;
	color: var(--rs-text-primary);
}
/* Primo paragrafo in .descrip = problema (rosso) */
.flashbk-settore-fasi .descrip p:first-child {
	position: relative;
	background: #fef2f2;
	border-left: 3px solid #dc2626;
	border-radius: 6px;
	padding: 12px 14px 12px 38px;
	margin-bottom: 10px;
	color: #5c1a1a;
}
.flashbk-settore-fasi .descrip p:first-child::before {
	content: "\2715";
	position: absolute;
	left: 13px;
	top: 13px;
	font-size: 16px;
	font-weight: 700;
	color: #dc2626;
	line-height: 1;
}
/* Ultimo paragrafo in .descrip = soluzione (arancio brand) */
.flashbk-settore-fasi .descrip p:last-child {
	position: relative;
	background: var(--flashbk-brand-lighter);
	border-left: 3px solid var(--flashbk-brand);
	border-radius: 6px;
	padding: 12px 14px 12px 38px;
	margin-bottom: 0;
	color: #4a2500;
}
.flashbk-settore-fasi .descrip p:last-child::before {
	content: "\2713";
	position: absolute;
	left: 13px;
	top: 13px;
	font-size: 16px;
	font-weight: 700;
	color: var(--flashbk-brand);
	line-height: 1;
}
/* Quando c'è un solo paragrafo, niente trattamento rosso */
.flashbk-settore-fasi .descrip p:only-child {
	background: none;
	border-left: none;
	padding: 0;
	color: var(--rs-text-primary);
}
.flashbk-settore-fasi .descrip p:only-child::before {
	display: none;
}

/* ══════════════════════════════════════════════════
   Settore - Applicazioni Critiche (rs-feature-item)
   Il template usa rs-elements-feature-area SENZA
   variant class (no rs-feature-one/two/three),
   quindi i feature-item non hanno styling dal parent.
   Qui creiamo il look card verticale su sfondo bianco.
   ══════════════════════════════════════════════════ */

/* Card container */
.flashbk-settore-applicazioni .rs-feature-item {
	background: #fff;
	border-radius: 10px;
	padding: 32px 28px;
	height: 100%;
	box-shadow: 0 4px 20px rgba(0,0,0,.06);
	border-top: 4px solid var(--flashbk-brand);
	transition: all .3s ease;
	position: relative;
	overflow: hidden;
}
.flashbk-settore-applicazioni .rs-feature-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0,0,0,.1);
}
/* Background image (opzionale, da ACF) */
.flashbk-settore-applicazioni .rs-feature-bg-thumb {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	opacity: .06;
	z-index: 0;
}
/* Icon */
.flashbk-settore-applicazioni .rs-feature-icon {
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
}
.flashbk-settore-applicazioni .rs-feature-icon img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}
/* Titolo */
.flashbk-settore-applicazioni .rs-feature-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--rs-title-primary);
	margin-bottom: 14px;
	line-height: 1.3;
	position: relative;
	z-index: 1;
}
/* Descrizione */
.flashbk-settore-applicazioni .rs-feature-descrip {
	color: var(--rs-text-primary);
	font-size: 15px;
	line-height: 1.7;
	position: relative;
	z-index: 1;
}
.flashbk-settore-applicazioni .rs-feature-descrip p {
	margin-bottom: 10px;
}
.flashbk-settore-applicazioni .rs-feature-descrip p:last-child {
	margin-bottom: 0;
}
.flashbk-settore-applicazioni .rs-feature-descrip strong {
	color: var(--rs-title-primary);
}
/* Icona SVG inline (se presente) */
.flashbk-settore-applicazioni .rs-feature-icon svg path {
	fill: var(--flashbk-brand);
}
/* Card CON immagine bg → override dark */
.flashbk-settore-applicazioni .rs-feature-item:has(.rs-feature-bg-thumb) {
	background: var(--rs-black);
	border-top-color: transparent;
	box-shadow: none;
}
.flashbk-settore-applicazioni .rs-feature-item:has(.rs-feature-bg-thumb) .rs-feature-title {
	color: #fff;
}
.flashbk-settore-applicazioni .rs-feature-item:has(.rs-feature-bg-thumb) .rs-feature-descrip {
	color: rgba(255,255,255,.85);
}
.flashbk-settore-applicazioni .rs-feature-item:has(.rs-feature-bg-thumb) .rs-feature-descrip strong {
	color: #fff;
}
.flashbk-settore-applicazioni .rs-feature-item:has(.rs-feature-bg-thumb) .rs-feature-icon img {
	filter: brightness(0) invert(1);
}
/* Rimuovi bordo arancio in cima */
.flashbk-settore-applicazioni .rs-feature-item {
	border-top: none;
	overflow: visible;
}

/* Layout 50/50 anziché col-xl-4 (33%) */
.flashbk-settore-applicazioni .row > [class*="col-xl-4"] {
	flex: 0 0 50%;
	max-width: 50%;
}

/* z-index testo e table visibili sopra pseudo-elementi */
.flashbk-settore-applicazioni .rs-feature-text {
	position: relative;
	z-index: 1;
}

/* Responsive applicazioni */
@media (max-width: 991px) {
	.flashbk-settore-applicazioni .row > [class*="col-xl-4"] {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
@media (max-width: 768px) {
	.flashbk-settore-applicazioni .rs-feature-item {
		padding: 24px 20px;
	}
}

/* ══════════════════════════════════════════════════
   Settore - ROI (su primary-bg)
   ══════════════════════════════════════════════════ */
.flashbk-roi-content {
	color: var(--rs-text-primary);
	font-size: var(--rs-fs-p);
	line-height: 1.7;
}
/* ROI h3 - titoli sezione interni */
.flashbk-roi-content h3 {
	color: var(--rs-title-primary);
	font-size: var(--rs-fs-h5);
	font-weight: var(--rs-fw-bold);
	margin-bottom: 20px;
	margin-top: 36px;
	padding: 16px 20px;
	background: #fff;
	border-radius: 8px;
	border-left: 4px solid var(--flashbk-brand);
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.flashbk-roi-content h3:first-child {
	margin-top: 0;
}
.flashbk-roi-content h4 {
	color: var(--rs-title-primary);
	margin-bottom: 16px;
	font-size: var(--rs-fs-p);
}
.flashbk-roi-content strong {
	color: var(--flashbk-brand);
}
.flashbk-roi-content strong {
	color: var(--flashbk-brand);
}
.flashbk-roi-dark .flashbk-roi-content strong {
	color: #fff;
}
/* ROI italic = narrative bridge text (only direct children, not inside tables) */
.flashbk-roi-content > p > em,
.flashbk-roi-content > em {
	display: block;
	background: #fff7ed;
	border-left: 3px solid var(--flashbk-brand);
	border-radius: 0 6px 6px 0;
	padding: 14px 18px;
	margin: 20px 0;
	color: #6b3a00;
	font-style: italic;
	font-size: 15px;
	line-height: 1.6;
}
/* em inside table cells: keep inline */
.flashbk-roi-content table em {
	font-style: italic;
	color: var(--rs-text-primary);
}
/* ROI tables - clean pro style */
.flashbk-roi-content table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin: 16px 0 24px;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
/* Colonne: voce 40% | processo attuale 35% | con flashbk 25% */
.flashbk-roi-content table td:first-child,
.flashbk-roi-content table th:first-child {
	width: 40%;
}
.flashbk-roi-content table td:nth-child(2),
.flashbk-roi-content table th:nth-child(2) {
	width: 35%;
}
.flashbk-roi-content table td:last-child,
.flashbk-roi-content table th:last-child {
	width: 25%;
}
/* Blocca wrap sui valori numerici */
.flashbk-roi-content table td:nth-child(2),
.flashbk-roi-content table td:last-child {
	white-space: nowrap;
}
/* Note sub-label nelle celle (es. "tipicamente 1-3%", calcolo FLASHBK) */
.flashbk-roi-content table td span[style*="font-size: 14px"] {
	display: block;
	margin-top: 3px;
	line-height: 1.3;
}
.flashbk-roi-content table th {
	background: var(--rs-black);
	color: #fff;
	padding: 13px 18px;
	text-align: left;
	font-weight: var(--rs-fw-sbold);
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.flashbk-roi-content table td {
	padding: 12px 18px;
	border-bottom: 1px solid var(--rs-border-primary);
	color: var(--rs-text-primary);
}
.flashbk-roi-content table tbody tr:last-child td {
	border-bottom: none;
}
.flashbk-roi-content table tbody tr:hover td {
	background: rgba(234,85,1,.03);
}
/* Riga totale / risultato - evidenziata */
.flashbk-roi-content table tbody tr:last-child td {
	font-weight: 700;
	background: #faf5f0;
}
@media (max-width: 768px) {
	.flashbk-roi-content { padding: 24px 20px; }
	.flashbk-roi-content table { font-size: 14px; }
}

/* ══════════════════════════════════════════════════
   Settore - Case Study
   ══════════════════════════════════════════════════ */
.flashbk-case-content {
	border-radius: 12px;
	font-size: var(--rs-fs-p);
	line-height: 1.7;
	color: var(--rs-text-primary);
}
.flashbk-case-content tr:hover {
	background-color: var(--rs-bg-primary);
}
/* Case Study h3 = titolo azienda */
.flashbk-case-content h3 {
	color: var(--rs-title-primary);
	font-size: var(--rs-fs-h4);
	font-weight: var(--rs-fw-bold);
	padding-bottom: 16px;
	text-align: center;
	/* border-bottom rimosso: coerente con pulizia linee arancioni */
}
/* Case Study h4 = sub-sezione (Contesto, Risultati, ecc.) */
.flashbk-case-content h4 {
	font-size: 14px;
	font-weight: var(--rs-fw-bold);
	margin-top: 32px;
	margin-bottom: 12px;
	padding: 10px 16px;
	background: var(--rs-black);
	color: #fff;
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.flashbk-case-content strong {
	color: var(--flashbk-brand);
}
/* Testo dati inline (Produzione, Materiale, ecc.) */
.flashbk-case-content > p {
	padding: 10px 0;
	border-bottom: 1px solid var(--rs-border-primary);
	margin-bottom: 0;
}
.flashbk-case-content > p:last-child {
	border-bottom: none;
}
/* Case study - intro */
.flashbk-case-intro {
	font-size: 16px;
	line-height: 1.7;
	color: var(--rs-text-primary);
	margin-bottom: 28px;
}
.flashbk-case-intro strong {
	color: var(--rs-title-primary);
	font-weight: 700;
}
/* Case study - KPI grid */
.flashbk-case-kpi {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 28px;
}
.flashbk-case-kpi-card {
	background: #fff;
	border: 1px solid var(--rs-border-secondary);
	border-radius: 10px;
	padding: 22px 18px;
	text-align: center;
}
.flashbk-case-kpi-value {
	display: block;
	font-size: 28px;
	font-weight: 800;
	color: var(--flashbk-brand);
	line-height: 1.1;
	margin-bottom: 4px;
	font-variant-numeric: tabular-nums;
}
.flashbk-case-kpi-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #888;
	line-height: 1.3;
}
/* Case study - before/after table */
.flashbk-case-ba {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	margin-bottom: 24px;
}
.flashbk-case-ba th {
	background: var(--rs-black);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 12px 16px;
	text-align: left;
}
.flashbk-case-ba th:first-child {
	border-radius: 8px 0 0 0;
}
.flashbk-case-ba th:last-child {
	border-radius: 0 8px 0 0;
}
.flashbk-case-ba td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--rs-border-primary);
	color: var(--rs-text-primary);
}
.flashbk-case-ba tr:last-child td {
	border-bottom: none;
}
.flashbk-case-ba .ba-improvement {
	color: #16a34a;
	font-weight: 700;
}
/* Case study - footer note */
.flashbk-case-footer {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff7ed;
	border-left: 3px solid var(--flashbk-brand);
	border-radius: 6px;
	padding: 14px 18px;
	font-size: 16px;
	color: #4a2500;
	line-height: 1.5;
}
.flashbk-case-footer strong {
	color: var(--flashbk-brand);
}
@media (max-width: 768px) {
	.flashbk-case-content { padding: 24px 20px; }
	.flashbk-case-kpi { grid-template-columns: repeat(2, 1fr); }
	.flashbk-case-kpi-value { font-size: 22px; }
	.flashbk-case-ba { font-size: 14px; }
	.flashbk-case-ba th,
	.flashbk-case-ba td { padding: 10px 12px; }
}

/* ══════════════════════════════════════════════════
   Settore - Workflow
   ══════════════════════════════════════════════════ */
.flashbk-workflow-content {
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255,255,255,.75);
}
/* Workflow su sfondo scuro (--rs-black): tutti i titoli bianchi */
.flashbk-workflow-content h3 {
	color: #fff;
	font-size: var(--rs-fs-h6);
	font-weight: var(--rs-fw-bold);
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 2px solid rgba(255,255,255,.1);
}
.flashbk-workflow-content h4 {
	color: #fff;
	margin-bottom: 16px;
}
.flashbk-workflow-content strong {
	color: #fff;
}
.flashbk-workflow-content em {
	color: var(--flashbk-brand);
	font-style: italic;
}
/* Paragrafi KPI su sfondo scuro */
.flashbk-workflow-content > p {
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.flashbk-workflow-content > p:last-child {
	border-bottom: none;
}
/* Workflow tables su sfondo scuro */
.flashbk-workflow-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}
.flashbk-workflow-content table thead th {
	background: rgba(255,255,255,.08);
	color: #fff;
	padding: 14px 18px;
	text-align: left;
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: 1px solid rgba(255,255,255,.06);
}
.flashbk-workflow-content table thead th:last-child {
	background: var(--flashbk-brand);
}
.flashbk-workflow-content table tbody td {
	padding: 12px 18px;
	border: 1px solid rgba(255,255,255,.06);
	font-size: 16px;
	vertical-align: top;
	color: rgba(255,255,255,.7);
}
.flashbk-workflow-content table tbody tr:nth-child(even) td {
	background: rgba(255,255,255,.03);
}
/* Workflow wrapper - actual classes from WYSIWYG import */
.flashbk-wf-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-top: 12px;
}
.flashbk-wf-col-before {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.1);
}
.flashbk-wf-col-after {
	background: rgba(234,85,1,.08);
	border: 1px solid rgba(234,85,1,.25);
}
.flashbk-wf-col h3 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
	padding-bottom: 14px;
}
.flashbk-wf-col-before h3 {
	color: rgba(255,255,255,.5);
	border-bottom: 2px solid rgba(255,255,255,.08);
}
.flashbk-wf-col-after h3 {
	color: var(--flashbk-brand);
	border-bottom: 2px solid rgba(234,85,1,.3);
}
.flashbk-wf-col p {
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,.05);
	font-size: 14px;
	line-height: 1.6;
}
.flashbk-wf-col-before p {
	color: rgba(255,255,255,.55);
}
.flashbk-wf-col-after p {
	color: rgba(255,255,255,.8);
}
.flashbk-wf-col-after p strong {
	color: #fff;
}
.flashbk-wf-col-after p em {
	color: var(--flashbk-brand);
	font-style: normal;
	font-weight: 600;
}
/* Responsive: stack on mobile */
@media (max-width: 768px) {
	.flashbk-wf-wrapper { grid-template-columns: 1fr; }
}
/* Workflow - two-column comparison */
.flashbk-wf-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 8px;
}
.flashbk-wf-col {
	border-radius: 12px;
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
}
.flashbk-wf-col--old {
	background: #fff;
	border: 1px solid var(--rs-border-secondary);
}
.flashbk-wf-col--new {
	background: var(--rs-black);
}
/* Column headers */
.flashbk-wf-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	padding-bottom: 16px;
}
.flashbk-wf-col--old .flashbk-wf-header {
	border-bottom: 1px solid var(--rs-border-primary);
}
.flashbk-wf-col--new .flashbk-wf-header {
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.flashbk-wf-badge {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 4px 12px;
	border-radius: 20px;
}
.flashbk-wf-col--old .flashbk-wf-badge {
	background: #fee2e2;
	color: #991b1b;
}
.flashbk-wf-col--new .flashbk-wf-badge {
	background: var(--flashbk-brand);
	color: #fff;
}
/* Steps list */
.flashbk-wf-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
}
.flashbk-wf-step {
	position: relative;
	padding: 12px 16px 12px 42px;
	margin-bottom: 4px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 8px;
}
.flashbk-wf-col--old .flashbk-wf-step {
	color: var(--rs-text-primary);
}
.flashbk-wf-col--new .flashbk-wf-step {
	color: rgba(255,255,255,.7);
}
/* Step number circle */
.flashbk-wf-step::before {
	content: attr(data-n);
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.flashbk-wf-col--old .flashbk-wf-step::before {
	background: #f3f3f3;
	color: #999;
}
.flashbk-wf-col--new .flashbk-wf-step::before {
	background: rgba(255,255,255,.1);
	color: rgba(255,255,255,.4);
}
/* Highlighted step (the critical one) */
.flashbk-wf-step--critical {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b !important;
}
.flashbk-wf-step--critical::before {
	background: #dc2626 !important;
	color: #fff !important;
}
.flashbk-wf-step--hero {
	background: var(--flashbk-brand);
	border: 1px solid var(--flashbk-brand);
	color: #fff !important;
}
.flashbk-wf-step--hero::before {
	background: rgba(255,255,255,.25) !important;
	color: #fff !important;
}
/* Step detail (time) */
.flashbk-wf-step-detail {
	font-weight: 400;
	font-size: 14px;
	opacity: .7;
	margin-left: 6px;
}
.flashbk-wf-step--critical .flashbk-wf-step-detail,
.flashbk-wf-step--hero .flashbk-wf-step-detail {
	opacity: .85;
}
/* Connector lines between steps */
.flashbk-wf-step + .flashbk-wf-step {
	margin-top: 0;
}
/* Result footer */
.flashbk-wf-result {
	margin-top: 20px;
	padding: 14px 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	letter-spacing: .3px;
}
.flashbk-wf-result--bad {
	background: #fef2f2;
	color: #991b1b;
	border: 1px dashed #fca5a5;
}
.flashbk-wf-result--good {
	background: rgba(234,85,1,.15);
	color: var(--flashbk-brand);
	border: 1px dashed rgba(234,85,1,.4);
}
@media (max-width: 768px) {
	.flashbk-wf-compare { grid-template-columns: 1fr; }
	.flashbk-wf-col { padding: 22px 18px; }
	.flashbk-wf-step { font-size: 14px; padding: 10px 14px 10px 38px; }
}

/* ══════════════════════════════════════════════════
   Settore - OEM (su primary-bg) - Layout narrativo
   ══════════════════════════════════════════════════ */

/* --- Testo narrativo (colonna sinistra) --- */
.flashbk-oem-content {
	padding: 0;
	color: var(--rs-text-primary);
	font-size: 16px;
	line-height: 1.8;
	text-align: left;
}
.flashbk-oem-content p {
	margin-bottom: 18px;
}
.flashbk-oem-content p:last-child {
	margin-bottom: 0;
}
.flashbk-oem-content p:first-child {
	font-size: 17px;
	color: var(--rs-title-primary);
	line-height: 1.7;
}
.flashbk-oem-content strong {
	color: var(--flashbk-brand);
	font-weight: 700;
}

/* --- CTA card sidebar (colonna destra) --- */
.flashbk-oem-cta-card {
	background: var(--rs-black);
	border-radius: 12px;
	padding: 36px 32px;
	position: sticky;
	top: 120px;
}
.flashbk-oem-cta-card-label {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--flashbk-brand);
	margin-bottom: 16px;
}
.flashbk-oem-cta-card-title {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 10px;
}
.flashbk-oem-cta-card-desc {
	color: rgba(255,255,255,0.6);
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 28px;
}
.flashbk-oem-cta-card-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.flashbk-oem-cta-card-actions .flashbk-oem-cta-primary {
	width: 100%;
	text-align: center;
	justify-content: center;
	padding: 14px 24px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
}
.flashbk-oem-cta-secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px 24px;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 8px;
	color: rgba(255,255,255,0.8);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.25s ease;
}
.flashbk-oem-cta-secondary:hover {
	border-color: var(--flashbk-brand);
	color: #fff;
	background: rgba(234,85,1,0.08);
}
.flashbk-oem-cta-secondary svg {
	flex-shrink: 0;
}

/* --- Responsive OEM --- */
@media (max-width: 991px) {
	.flashbk-oem-cta-card {
		position: static;
		margin-top: 16px;
	}
}

/* ── Outline button on light bg ── */
.primary-bg .rs-btn.has-outline {
	border: 2px solid var(--rs-title-primary);
	color: var(--rs-title-primary);
	padding: 14px 32px;
	border-radius: 6px;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: all .3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.primary-bg .rs-btn.has-outline:hover {
	background: var(--flashbk-brand);
	border-color: var(--flashbk-brand);
	color: #fff;
}
/* ══════════════════════════════════════════════════
   Calcolatore ROI [flashbk_calcolatore_roi]
   ══════════════════════════════════════════════════ */
.flashbk-calc {
	max-width: 960px;
	margin: 0 auto;
	font-family: inherit;
}
.flashbk-calc-header {
	text-align: center;
	margin-bottom: 36px;
}
.flashbk-calc-badge {
	display: inline-block;
	background: var(--flashbk-brand);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	padding: 5px 14px;
	border-radius: 20px;
	margin-bottom: 14px;
}
.flashbk-calc-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--rs-title-primary);
	margin: 0 0 8px;
}
.flashbk-calc-intro {
	color: var(--rs-text-primary);
	font-size: 15px;
	margin: 0;
}
.flashbk-calc-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}
.flashbk-calc-section-title {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #999;
	margin: 0 0 24px;
}

/* ── Calc Inputs ── */
.flashbk-calc-inputs {
	background: #fff;
	border: 1px solid var(--rs-border-secondary);
	border-radius: 12px;
	padding: 28px;
	height: 100%;
}
.flashbk-calc-field {
	margin-bottom: 22px;
}
.flashbk-calc-field:last-child {
	margin-bottom: 0;
}
.flashbk-calc-field label {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 16px;
	font-weight: 600;
	color: var(--rs-title-primary);
	margin-bottom: 8px;
}
.flashbk-calc-output {
	font-weight: 800;
	color: var(--flashbk-brand);
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}
.flashbk-calc-field input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 6px;
	background: #eee;
	border-radius: 3px;
	outline: none;
	cursor: pointer;
}
.flashbk-calc-field input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--flashbk-brand);
	cursor: pointer;
	border: 3px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.flashbk-calc-field input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--flashbk-brand);
	cursor: pointer;
	border: 3px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,.2);
}

/* ── Calc Results ── */
.flashbk-calc-results {
	background: var(--rs-black);
	border-radius: 12px;
	padding: 28px;
	color: #fff;
}
.flashbk-calc-results .flashbk-calc-section-title {
	color: rgba(255,255,255,.4);
}
.flashbk-calc-result-big {
	text-align: center;
	padding: 20px 0 24px;
	border-bottom: 1px solid rgba(255,255,255,.1);
	margin-bottom: 20px;
}
.flashbk-calc-result-label {
	display: block;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255,255,255,.5);
	margin-bottom: 6px;
}
.flashbk-calc-result-big .flashbk-calc-result-value {
	font-size: 42px;
	font-weight: 800;
	color: var(--flashbk-brand);
	font-variant-numeric: tabular-nums;
}
.flashbk-calc-result-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 24px;
}
.flashbk-calc-result-item {
	text-align: center;
	padding: 12px 0;
	background: rgba(255,255,255,.05);
	border-radius: 8px;
}
.flashbk-calc-result-sm {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	margin-top: 4px;
	font-variant-numeric: tabular-nums;
}

/* ── Calc Breakdown ── */
.flashbk-calc-breakdown {
	border-top: 1px solid rgba(255,255,255,.1);
	padding-top: 18px;
	margin-bottom: 24px;
}
.flashbk-calc-breakdown h5 {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255,255,255,.4);
	margin: 0 0 12px;
}
.flashbk-calc-detail {
	display: flex;
	justify-content: space-between;
	font-size: 16px;
	padding: 6px 0;
	color: rgba(255,255,255,.6);
}
.flashbk-calc-detail-pos {
	color: #4ade80;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.flashbk-calc-detail-neg {
	color: #f87171;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.flashbk-calc-detail-total {
	border-top: 1px solid rgba(255,255,255,.15);
	margin-top: 8px;
	padding-top: 10px;
	font-weight: 700;
	color: #fff;
}
.flashbk-calc-detail-total span:last-child {
	color: var(--flashbk-brand);
	font-size: 18px;
	font-variant-numeric: tabular-nums;
}

/* ── Calc Progress bars ── */
.flashbk-calc-bar-wrap {
	margin-bottom: 14px;
}
.flashbk-calc-bar-wrap:last-child {
	margin-bottom: 0;
}
.flashbk-calc-bar-label {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: rgba(255,255,255,.5);
	margin-bottom: 6px;
}
.flashbk-calc-bar-label span:last-child {
	font-weight: 700;
	color: var(--flashbk-brand);
}
.flashbk-calc-bar {
	height: 8px;
	background: rgba(255,255,255,.1);
	border-radius: 4px;
	overflow: hidden;
}
.flashbk-calc-bar-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--flashbk-brand), var(--flashbk-brand-lighter));
	border-radius: 4px;
	transition: width .4s ease;
}

/* ══════════════════════════════════════════════════
   Settore - Responsive
   ══════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.flashbk-calc-grid { grid-template-columns: 1fr; }
	.flashbk-calc-result-big .flashbk-calc-result-value { font-size: 32px; }
}
@media (max-width: 575px) {
	.rs-breadcrumb-cta { flex-direction: column; align-items: flex-start; }
	/* .flashbk-oem-ctas rimossa - ora usa .flashbk-oem-cta-card */
}

/* (Fasi + Applicazioni override ora in sezione unica sopra, dopo Problema Reale) */

/* ══════════════════════════════════════════════════
   Settore - Services Tab OEM (primary-bg context)
   ══════════════════════════════════════════════════ */
.flashbk-settore-oem .rs-services-tab .nav-link {
	color: var(--rs-title-primary);
	border-color: rgba(0, 0, 0, 0.1);
}
.flashbk-settore-oem .rs-services-tab .nav-link.active,
.flashbk-settore-oem .rs-services-tab .nav-link:hover {
	color: #fff;
	background: var(--flashbk-brand);
	border-color: var(--flashbk-brand);
}
.flashbk-settore-oem .rs-services-tab .nav-link .rs-services-icon svg path {
	fill: var(--rs-title-primary);
}
.flashbk-settore-oem .rs-services-tab .nav-link.active .rs-services-icon svg path,
.flashbk-settore-oem .rs-services-tab .nav-link:hover .rs-services-icon svg path {
	fill: #fff;
}
.flashbk-settore-oem .rs-services-tab-title {
	color: var(--rs-title-primary);
	font-size: 24px;
	margin-bottom: 15px;
}
.flashbk-settore-oem .flashbk-oem-tab-text {
	color: var(--rs-text-primary);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 20px;
}
.flashbk-settore-oem .rs-services-tab-list ul li {
	color: var(--rs-text-primary);
}
.flashbk-settore-oem .rs-services-tab-content-thumb.has-clip img {
	border-radius: 8px;
}

/* ══════════════════════════════════════════════════
   NARRATIVA ESTETICA - polish visivo settore
   Separatori, ritmo, transizioni tra sezioni
   ══════════════════════════════════════════════════ */

/* ── 1. Problema: intro più incisiva ── */
.flashbk-settore-problema .rs-section-title {
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.15;
}


/* ── 2. Separatore narrativo rimosso: troppo rumore arancione ── */

/* ── 3. ROI: contenimento visivo migliore ── */
/* Wrapper interno ROI con card bianca per contenere il dump dati */
.flashbk-settore-roi .flashbk-roi-content {
	background: #fff;
	border-radius: 12px;
	padding: 36px 40px;
	box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
/* ROI h3 dentro la card bianca: non serve bg bianco doppio */
.flashbk-settore-roi .flashbk-roi-content h3 {
	background: var(--rs-bg-primary);
}
/* ROI conclusione - riga evidenziata con bordo arancione */
.flashbk-roi-content table tbody tr:last-child {
	border-left: 3px solid var(--flashbk-brand);
}

/* ── 4. Case Study: card contenitore ── */
.flashbk-settore-case .flashbk-case-content {

	/* border-top rimosso: troppo rumore arancione, coerente con feedback utente */
}

/* ── 5. OEM: contenimento sidebar CTA ── */
.flashbk-settore-oem {
	overflow: hidden;
}
/* OEM testo colonna sinistra: migliore respiro */
.flashbk-settore-oem .flashbk-oem-content {
	padding-right: 20px;
}
.flashbk-settore-oem .flashbk-oem-content p {
	margin-bottom: 16px;
	line-height: 1.75;
}

/* ── 6. Eliminare lo spazio vuoto tra OEM e Contact ── */
.flashbk-settore-oem + .rs-contact-area {
	margin-top: 0 !important;
}
/* Se c'è un gap vuoto generato dal tema */
.flashbk-settore-oem ~ .section-space:empty,
.flashbk-settore-oem ~ div:empty {
	display: none;
}

/* ── 7. Contact form: override per brand FLASHBK ── */
.rs-contact-one .rs-section-subtitle {
	color: rgba(255,255,255,.55);
}
.rs-contact-one .rs-section-subtitle svg path {
	fill: var(--flashbk-brand);
}

/* ── 8. Border-top arancione rimosso: coerente con pulizia linee ── */

/* ── 9. Section title: split-text con font-size consistente ── */
.flashbk-settore-workflow .rs-section-title,
.flashbk-settore-roi .rs-section-title,
.flashbk-settore-case .rs-section-title,
.flashbk-settore-oem .rs-section-title {
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.15;
}

/* ── 10. Workflow comparison cards: polish ── */
.flashbk-wf-col {
	border-radius: 12px;
	padding: 28px 24px;
}
.flashbk-wf-col-before {
	border-radius: 12px;
}
.flashbk-wf-col-after {
	border-radius: 12px;
}

/* ── 11. Badge subtitle: consistent spacing ── */
.rs-section-subtitle.has-theme-orange {
	margin-bottom: 8px;
}

/* ── 12. Smooth scroll hint: subtle gradient at section joins ── */
/* White section → Dark section transition */
.flashbk-settore-problema {
	position: relative;
}
.flashbk-settore-problema::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 60px;
	background: linear-gradient(to bottom, transparent, rgba(0,0,0,.03));
	pointer-events: none;
}

/* ── 13. Responsive adjustments ── */
@media (max-width: 768px) {
	.flashbk-settore-roi .flashbk-roi-content {
		padding: 24px 20px;
		border-radius: 8px;
	}
	.flashbk-settore-case .flashbk-case-content {
		padding: 24px 20px;
		border-radius: 8px;
	}
	.flashbk-wf-col {
		padding: 20px 16px;
	}
}

/* ── 14. CTA Finale: sfondo scuro come parent si aspetta ── */
/* rs-cta-one nel parent ha titolo bianco → serve bg dark */
.rs-cta-area.rs-cta-one {
	background: var(--rs-black);
	padding: 60px 0;
}
.rs-cta-area.rs-cta-one .rs-cta-title {
	color: #fff;
	font-size: clamp(24px, 3.5vw, 36px);
	font-weight: 700;
	margin-bottom: 32px;
	line-height: 1.2;
}
.rs-cta-area.rs-cta-one .rs-cta-descrip {
	color: rgba(255,255,255,.7);
	font-size: 16px;
	line-height: 1.7;
	max-width: 450px;
}
.rs-cta-area.rs-cta-one .rs-cta-item-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}
.rs-cta-area.rs-cta-one .rs-cta-btn a {
	white-space: nowrap;
}


/* ═══════════════════════════════════════════════════════════════
   AUTOMOTIVE-SPECIFIC COMPONENTS
   Conditional layouts for slug: automotive-componentistica
   ═══════════════════════════════════════════════════════════════ */

/* ── PROBLEMA: Hero Declaration + Pain Card Grid ── */
.flashbk-problema-hero {
	text-align: center;
	margin-bottom: 56px;
}
.flashbk-problema-hero-title {
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	color: var(--rs-black);
	margin-bottom: 24px;
	letter-spacing: -0.02em;
}
/* rimossa underline arancione - il titolo ha già peso visivo sufficiente */
.flashbk-problema-hero-intro {
	max-width: 700px;
	margin: 0 auto;
	font-size: 17px;
	line-height: 1.75;
	color: var(--rs-text-color);
}

/* Pain-Point Cards */
.flashbk-pain-grid {
	margin-top: 16px;
}
.flashbk-pain-card {
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 12px;
	padding: 40px 28px 32px;
	height: 100%;
	transition: transform .25s ease, box-shadow .25s ease;
	position: relative;
}
/* rimossa linea rossa sopra card - troppo rumore visivo */
.flashbk-pain-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.flashbk-pain-card-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(220, 38, 38, .06);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 28px;
	color: var(--flashbk-data-negative);
}
.flashbk-pain-card-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--rs-black);
	margin-bottom: 14px;
	line-height: 1.35;
}
.flashbk-pain-card-desc {
	font-size: 14px;
	line-height: 1.65;
	color: #666;
	margin: 0;
}

/* ── WORKFLOW: Check/Cross Icons ── */
.flashbk-wf-step::before {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 12px;
	vertical-align: middle;
	position: relative;
	top: -1px;
	flex-shrink: 0;
}
.flashbk-wf-col-before .flashbk-wf-step::before {
	content: '';
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}
.flashbk-wf-col-before .flashbk-wf-step-bottleneck::before {
	content: '';
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}
.flashbk-wf-col-after .flashbk-wf-step::before {
	content: '';
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.5'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}
.flashbk-wf-col-after .flashbk-wf-step-bottleneck {
	color: var(--flashbk-brand) !important;
	font-weight: 700;
}
.flashbk-wf-col-after .flashbk-wf-step-bottleneck::before {
	content: '';
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23EA5501' stroke-width='2.5'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

/* Before column: muted style */
.flashbk-wf-col-before {
	border: 1px solid rgba(255,255,255,.1);
	background: rgba(255,255,255,.04);
}
.flashbk-wf-col-before .flashbk-wf-col-title {
	opacity: .6;
}
/* After column: highlighted */
.flashbk-wf-col-after {
	border: 2px solid var(--flashbk-brand);
	background: rgba(234, 85, 1, .06);
}
.flashbk-wf-col-after .flashbk-wf-col-title::after {
	content: ' ✓';
	color: var(--flashbk-brand);
}

/* ── ROI: Dark Mode ── */
.flashbk-roi-dark {
	background: var(--rs-black) !important;
}
.flashbk-roi-dark .rs-section-title,
.flashbk-roi-dark .rs-section-subtitle,
.flashbk-roi-dark .flashbk-section-description {
	color: #fff;
}
.flashbk-roi-dark .rs-section-subtitle svg path {
	fill: var(--flashbk-brand);
}
.flashbk-settore-roi.flashbk-roi-dark .flashbk-roi-content {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 12px;
	padding: 36px 40px;
}
.flashbk-roi-dark .flashbk-roi-content h3 {
	color: #fff;
	background: rgba(255,255,255,.06);
	padding: 12px 20px;
	border-radius: 8px;
	font-size: 18px;
}
.flashbk-roi-dark .flashbk-roi-content h4 {
	color: var(--flashbk-brand);
}
.flashbk-roi-dark .flashbk-roi-content p,
.flashbk-roi-dark .flashbk-roi-content em {
	color: rgba(255,255,255,.75);
}
.flashbk-roi-dark table {
	background: rgba(255,255,255,.03);
	border-color: rgba(255,255,255,.08);
}
.flashbk-roi-dark table td {
	color: rgba(255,255,255,.85);
	border-color: rgba(255,255,255,.06);
}
.flashbk-roi-dark table thead td,
.flashbk-roi-dark table thead th {
	background: rgba(255,255,255,.06);
	color: rgba(255,255,255,.5);
}
.flashbk-roi-dark table tbody tr:hover td {
	background: rgba(255,255,255,.03);
}
.flashbk-roi-dark table tbody tr:last-child {
	border-left: 3px solid var(--flashbk-brand);
}
.flashbk-roi-dark table tbody tr:last-child td {
	font-weight: 700;
	color: #fff;
	background-color: var(--flashbk-brand);
}
/* ── Dark mode: override inline bg/color dal WYSIWYG ── */
.flashbk-roi-dark table tbody tr {
	background-color: transparent !important;
	background: transparent !important;
}
.flashbk-roi-dark table tbody tr td {
	background-color: transparent !important;
	background: transparent !important;
	color: rgba(255,255,255,.85) !important;
}
/* Preserva stile riga totale (last-child) sopra gli override */
.flashbk-roi-dark table tbody tr:last-child td {
	background-color: var(--flashbk-brand) !important;
	color: #fff !important;
}
/* Allineamento cifre a sinistra (come richiesto) */
.flashbk-roi-content table td:last-child {
	text-align: left;
}

/* ── ROI: Tabbed Narrative System ── */
.flashbk-roi-tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 28px;
	padding: 6px;
	background: rgba(255,255,255,.06);
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.08);
}
.flashbk-roi-tab,
.nav-pills .flashbk-roi-tab {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 16px;
	background: transparent;
	border: none;
	border-radius: 8px;
	color: rgba(255,255,255,.45);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all .25s ease;
	position: relative;
	font-family: inherit;
}
.flashbk-roi-tab:hover,
.nav-pills .flashbk-roi-tab:hover {
	color: rgba(255,255,255,.7);
	background: rgba(255,255,255,.04);
}
.flashbk-roi-tab.active,
.nav-pills .flashbk-roi-tab.active {
	color: #fff;
	background: rgba(255,255,255,.1);
}
/* Step counter */
.flashbk-roi-tab__step {
	font-size: 20px;
	font-weight: 500;
	opacity: .4;
	margin-left: 2px;
}
.flashbk-roi-tab.active .flashbk-roi-tab__step {
	opacity: .6;
}
/* Icon */
.flashbk-roi-tab__icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.flashbk-roi-tab__icon svg {
	width: 16px;
	height: 16px;
}
/* ── Highlight tab: "Con FLASHBK" ── */
.flashbk-roi-tab--highlight {
	color: var(--flashbk-brand);
}
.flashbk-roi-tab--highlight:hover {
	color: var(--flashbk-brand);
	background: rgba(234,85,1,.08);
}
.flashbk-roi-tab--highlight.active,
.nav-pills .flashbk-roi-tab--highlight.active {
	color: #fff;
	background: var(--flashbk-brand);
	box-shadow: 0 4px 16px rgba(234,85,1,.35);
}
/* ── Positive tab: "Analisi corretta" ── */
.flashbk-roi-tab--positive.active,
.nav-pills .flashbk-roi-tab--positive.active {
	color: #fff;
	background: var(--flashbk-data-positive, #16a34a);
}
/* ── Tab Panels ── */
/* Bootstrap 5.3 usa [hidden] !important sui tab-pane;
   serve override esplicito per i panel attivi.           */
.tab-content > .flashbk-roi-panel.active {
	display: block !important;
}
.flashbk-roi-panel {
	animation: flashbkRoiFadeIn .3s ease;
}
@keyframes flashbkRoiFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
/* Panel intro narrative */
.flashbk-roi-panel-intro {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255,255,255,.6);
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.flashbk-roi-panel--positive .flashbk-roi-panel-intro {
	color: rgba(255,255,255,.7);
}
/* Strip old roi-card wrapper styles inside panels */
.flashbk-roi-panel .flashbk-roi-card {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	margin: 0;
}
/* Positive panel: subtle green accent */
.flashbk-roi-panel--positive h4 {
	color: var(--flashbk-data-positive, #16a34a) !important;
}
/* ── ROI Tabs responsive ── */
@media (max-width: 768px) {
	.flashbk-roi-tabs {
		flex-wrap: wrap;
		gap: 4px;
		padding: 4px;
	}
	.flashbk-roi-tab {
		flex: 1 1 calc(50% - 4px);
		min-width: 0;
		padding: 12px 10px;
		font-size: 14px;
		gap: 5px;
	}
	.flashbk-roi-tab__label {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.flashbk-roi-tab__step {
		display: none;
	}
}
@media (max-width: 480px) {
	.flashbk-roi-tab {
		flex: 1 1 100%;
	}
}

/* ══════════════════════════════════════════════════════════
   SOTTOSETTORI — Tab pills per sotto-ambiti di settore
   ══════════════════════════════════════════════════════════ */

/* ── Section wrapper ── */
.flashbk-sottosettori {
	position: relative;
	background: #fff;
	color: var(--rs-black, #111);
}

/* Section header */
.flashbk-sottosettori .section-badge {
	color: var(--flashbk-brand);
}
.flashbk-sottosettori .section-title {
	color: var(--rs-black, #111);
}
.flashbk-sottosettori .section-desc {
	color: rgba(0,0,0,.55);
	max-width: 680px;
	margin: auto;
}

/* ── Tab box container ── */
.flashbk-sottosettori-box {
	max-width: 1040px;
	margin: 0 auto;
}

/* ── Pills navigation ── */
.flashbk-sottosettori-tabs {
	display: flex;
	gap: 6px;
	justify-content: center;
	background: #f5f5f5;
	border-radius: 12px;
	padding: 6px;
	margin-bottom: 36px;
}
.flashbk-sottosettori-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	border-radius: 8px;
	border: 1px solid rgba(0,0,0,.08);
	background: transparent;
	color: rgba(0,0,0,.5);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .02em;
	transition: all .25s ease;
	cursor: pointer;
	justify-content: center;
	width: 100%;
}
.flashbk-sottosettori-tab:hover {
	color: var(--rs-black, #111);
	background: rgba(0,0,0,.04);
}
.flashbk-sottosettori-tab.active,
.nav-pills .flashbk-sottosettori-tab.active {
	color: #fff;
	background: var(--flashbk-brand);
	border-color: var(--flashbk-brand);
	box-shadow: 0 4px 16px rgba(234,85,1,.3);
	width: 100%;
}
.flashbk-sottosettori-tab__step {
	font-size: 16px;
	opacity: .45;
	font-weight: 400;
}

/* ── Tab Panels — Bootstrap 5.3 hidden override ── */
.tab-content > .flashbk-sottosettori-panel.active {
	display: block !important;
}
.flashbk-sottosettori-panel {
	animation: flashbkSubFadeIn .3s ease;
}
@keyframes flashbkSubFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ── Header row: headline + posizionamento box ── */
.flashbk-sottosettori-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

/* ── Headline ── */
.flashbk-sottosettori-headline {
	flex: 1;
	font-size: clamp(20px, 2.6vw, 26px);
	font-weight: 700;
	color: var(--rs-black, #111);
	margin-bottom: 0;
	line-height: 1.3;
}

/* ── Positioning: dark floating box (top-right) ── */
.flashbk-sottosettori-positioning {
	flex-shrink: 0;
	max-width: 44%;
	padding: 14px 18px;
	background: #111;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 500;
	font-style: normal;
	color: rgba(255,255,255,.85);
	line-height: 1.55;
}
.flashbk-sottosettori-positioning strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--flashbk-brand);
	margin-bottom: 6px;
}

/* ── Scenario immagine (prima dei blocchi) ── */
.flashbk-sottosettori-image {
	margin-bottom: 16px;
	border-radius: 12px;
	overflow: hidden;
	max-height: 340px;
}
.flashbk-sottosettori-image img {
	width: 100%;
	height: 340px;
	object-fit: cover;
	display: block;
}

/* ── Tre colonne: Problema / Soluzione / Benefici ── */
.flashbk-sottosettori-blocks {
	margin-top: 0;
}
.flashbk-sottosettori-blocks .col-lg-4 {
	display: flex;
}
.flashbk-sottosettori-block {
	flex: 1;
	margin-bottom: 0;
	padding: 24px 24px 28px;
	background: #f8f8f8;
	border-top: 3px solid transparent;
	border-left: none !important;
	border-right: none;
	border-bottom: none;
	border-radius: 0 0 10px 10px;
	display: flex;
	flex-direction: column;
}
.flashbk-sottosettori-block--problema {
	border-top-color: var(--flashbk-data-negative, #dc2626);
	background: #fff6f5;
}
.flashbk-sottosettori-block--soluzione {
	border-top-color: var(--flashbk-brand);
	background: #fff8f5;
}
.flashbk-sottosettori-block--benefici {
	border-top-color: var(--flashbk-data-positive, #16a34a);
	background: #f5fbf6;
}

/* ── Chip badge PROBLEM / SOLUTION / BENEFITS ── */
.flashbk-sottosettori-block__chip {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 10px;
	line-height: 1;
}
.flashbk-sottosettori-block--problema .flashbk-sottosettori-block__chip {
	color: var(--flashbk-data-negative, #dc2626);
}
.flashbk-sottosettori-block--soluzione .flashbk-sottosettori-block__chip {
	color: var(--flashbk-brand);
}
.flashbk-sottosettori-block--benefici .flashbk-sottosettori-block__chip {
	color: var(--flashbk-data-positive, #16a34a);
}

.flashbk-sottosettori-block__label {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 14px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
.flashbk-sottosettori-block__label--problema {
	color: var(--rs-black, #111);
}
.flashbk-sottosettori-block__label--soluzione {
	color: var(--rs-black, #111);
}
.flashbk-sottosettori-block__label--benefici {
	color: var(--rs-black, #111);
}
.flashbk-sottosettori-block__content {
	font-size: 15px;
	line-height: 1.7;
	color: rgba(0,0,0,.68);
	flex: 1;
}
.flashbk-sottosettori-block__content p {
	margin-bottom: 8px;
}
.flashbk-sottosettori-block__content p:last-child {
	margin-bottom: 0;
}
.flashbk-sottosettori-block__content ul,
.flashbk-sottosettori-block__content ol {
	padding-left: 20px;
	margin-bottom: 8px;
}
.flashbk-sottosettori-block__content li {
	margin-bottom: 6px;
	font-size: 15px;
}

/* ── CTA dentro il blocco Soluzione ── */
.flashbk-sottosettori-cta {
	margin-top: 20px;
	text-align: left;
}
.flashbk-sottosettori-cta .rs-btn--primary {
	background: var(--flashbk-brand);
	color: #fff;
	border-color: var(--flashbk-brand);
	padding: 16px 36px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 8px;
}
.flashbk-sottosettori-cta .rs-btn--primary:hover {
	background: #d14a00;
	border-color: #d14a00;
	box-shadow: 0 6px 20px rgba(234,85,1,.4);
}

/* ── Responsive ── */
@media (max-width: 768px) {
	.flashbk-sottosettori-tabs {
		flex-wrap: wrap;
		gap: 4px;
		padding: 4px;
	}
	.flashbk-sottosettori-tab {
		flex: 1 1 calc(50% - 4px);
		min-width: 0;
		padding: 12px 10px;
		font-size: 16px;
		gap: 5px;
	}
	.flashbk-sottosettori-tab__step {
		display: none;
	}
	.flashbk-sottosettori-header {
		flex-direction: column;
		gap: 16px;
	}
	.flashbk-sottosettori-positioning {
		max-width: 100%;
		padding: 14px 16px;
	}
	.flashbk-sottosettori-image img {
		height: 220px;
	}
	.flashbk-sottosettori-block {
		padding: 18px 18px 22px;
	}
}
@media (max-width: 480px) {
	.flashbk-sottosettori-tab {
		flex: 1 1 100%;
	}
}

/* ══════════════════════════════════════════════════════════
   FOCUS APPLICATIVO — Deep dive con intro split + griglia vantaggi
   ══════════════════════════════════════════════════════════ */

/* ── Section wrapper ── */
.flashbk-focus {
	position: relative;
	background: #fff;
	color: var(--rs-black, #111);
}

/* ── Challenge-Response: coppie numerate ── */
.flashbk-challenge-list {
	margin-bottom: 48px;
}
.flashbk-challenge-pair {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 22px 0;
	border-bottom: 1px solid rgba(0,0,0,.07);
}
.flashbk-challenge-pair:last-child {
	border-bottom: none;
}
.flashbk-challenge-pair__num {
	flex-shrink: 0;
	width: 52px;
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
	color: var(--flashbk-brand);
	font-family: var(--rs-ff-heading, inherit);
	padding-top: 1px;
	letter-spacing: -.02em;
}
.flashbk-challenge-pair__problem {
	flex: 1;
	padding-right: 12px;
}
.flashbk-challenge-pair__solution {
	flex: 1;
	padding-left: 20px;
	border-left: 2px solid rgba(234,85,1,.22);
}
.flashbk-challenge-pair__text {
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}
.flashbk-challenge-pair__problem .flashbk-challenge-pair__text {
	color: rgba(0,0,0,.58);
}
.flashbk-challenge-pair__solution .flashbk-challenge-pair__text {
	color: rgba(0,0,0,.82);
	font-weight: 500;
}
.flashbk-challenge-pair__arrow {
	flex-shrink: 0;
	width: 22px;
	padding-top: 6px;
	color: var(--flashbk-brand);
	opacity: .45;
	text-align: center;
}
.flashbk-challenge-pair__arrow::after {
	content: '→';
	font-size: 17px;
}
@media (max-width: 767px) {
	.flashbk-challenge-pair {
		flex-wrap: wrap;
		gap: 10px;
	}
	.flashbk-challenge-pair__num {
		width: 40px;
		font-size: 28px;
	}
	.flashbk-challenge-pair__arrow {
		display: none;
	}
	.flashbk-challenge-pair__problem,
	.flashbk-challenge-pair__solution {
		flex: 0 0 100%;
		padding: 0;
	}
	.flashbk-challenge-pair__solution {
		border-left: none;
		border-top: 1px solid rgba(234,85,1,.2);
		padding-top: 10px;
	}
}

/* ── Focus tematico block ── */
.flashbk-focus-tema {
	margin: 0 0 48px;
	padding: 32px 36px;
	background: rgba(234,85,1,.04);
	border-left: 3px solid var(--flashbk-brand);
	border-radius: 0 12px 12px 0;
}
.flashbk-focus-tema__title {
	font-size: clamp(20px, 2.5vw, 24px);
	font-weight: 700;
	color: var(--flashbk-brand);
	margin-bottom: 20px;
	line-height: 1.3;
}
.flashbk-focus-tema__body {
	font-size: 16px;
	line-height: 1.75;
	color: rgba(0,0,0,.7);
}
.flashbk-focus-tema__body p {
	margin-bottom: 12px;
}
.flashbk-focus-tema__body p:last-child {
	margin-bottom: 0;
}

/* ── Griglia vantaggi ── */
.flashbk-focus-vantaggi__title {
	font-size: clamp(20px, 2.5vw, 24px);
	font-weight: 700;
	color: var(--rs-black, #111);
	margin-bottom: 28px;
	line-height: 1.3;
}
.flashbk-focus-vantaggi-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}
.flashbk-focus-vantaggio {
	padding: 28px;
	background: #f8f8f8;
	border-radius: 12px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.flashbk-focus-vantaggio:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.flashbk-focus-vantaggio__num {
	display: inline-block;
	font-size: 32px;
	font-weight: 800;
	color: var(--flashbk-brand);
	opacity: .25;
	line-height: 1;
	margin-bottom: 12px;
}
.flashbk-focus-vantaggio__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--rs-black, #111);
	margin-bottom: 10px;
	line-height: 1.3;
}
.flashbk-focus-vantaggio__text {
	font-size: 16px;
	line-height: 1.65;
	color: rgba(0,0,0,.65);
	margin: 0;
}

/* ── Positioning line ── */
.flashbk-focus-positioning {
	margin: 0 0 20px;
	padding: 20px 24px;
	background: rgba(234,85,1,.06);
	border-left: 3px solid var(--flashbk-brand);
	border-radius: 0 8px 8px 0;
	font-size: 16px;
	font-weight: 600;
	font-style: italic;
	color: rgba(0,0,0,.8);
	line-height: 1.6;
}
.flashbk-focus-positioning strong {
	font-style: normal;
	color: var(--flashbk-brand);
}

/* ── Responsive ── */
@media (max-width: 768px) {
	.flashbk-focus-vantaggi-grid {
		grid-template-columns: 1fr;
	}
	.flashbk-focus-tema {
		padding: 24px 20px;
	}
	.flashbk-focus-vantaggio {
		padding: 22px 20px;
	}
	.flashbk-focus-intro__col {
		padding: 22px 20px 16px;
	}
}


/* ── CASE STUDY: KPI Dashboard v2 ── */
.flashbk-case-dashboard {
	background: #fff;
	border-radius: 16px;
	padding: 48px 44px;
	box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.flashbk-case-header {
	margin-bottom: 20px;
}
.flashbk-case-company {
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 700;
	color: var(--rs-black);
	margin-bottom: 0;
	line-height: 1.3;
}
/* Meta strip: chip orizzontali sopra il titolo */
.flashbk-case-meta-strip {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
	justify-content: center;
}
.flashbk-case-meta-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--rs-black);
	color: #fff;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 14px;
}
.flashbk-case-meta-label {
	color: rgba(255,255,255,.5);
	font-weight: 500;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: .05em;
}
.flashbk-case-meta-value {
	font-weight: 700;
	font-size: 14px;
}

/* Hero metric: label in alto, before/after sotto */
.flashbk-case-hero-row {
	background: var(--rs-black);
	border-radius: 14px;
	padding: 36px 36px 40px;
	margin-bottom: 24px;
	text-align: center;
}
.flashbk-case-hero-label {
	font-size: 18px;
	color: rgba(255,255,255,.45);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: 28px;
}
.flashbk-case-hero-metric {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 44px;
}
.flashbk-case-hero-before,
.flashbk-case-hero-after {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.flashbk-case-hero-smalllabel {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: rgba(255,255,255,.4);
	font-weight: 600;
}
.flashbk-case-hero-bigval {
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 800;
	color: var(--flashbk-brand);
	line-height: 1;
	letter-spacing: -0.03em;
}
.flashbk-case-hero-bigval--muted {
	color: rgba(255,255,255,.25);
	text-decoration: line-through;
	text-decoration-color: rgba(255,255,255,.12);
}
.flashbk-case-hero-arrow {
	color: var(--flashbk-brand);
	flex-shrink: 0;
	opacity: .4;
}

/* Case Study Narrative */
.flashbk-case-dashboard .flashbk-case-narrative {
	margin-top: 36px;
	padding-top: 32px;
	border-top: 1px solid rgba(0,0,0,.06);
}
.flashbk-case-dashboard h4.flashbk-case-narrative-title {
	font-size: 17px;
	font-weight: 700;
	color: var(--rs-black);
	background: none;
	padding: 0;
	margin-bottom: 20px;
	text-transform: none;
	letter-spacing: 0;
	border: none;
	border-radius: 0;
}
.flashbk-case-narrative-body p {
	font-size: 15px;
	line-height: 1.75;
	color: var(--rs-text-primary);
	margin-bottom: 16px;
}
.flashbk-case-narrative-body p:last-child {
	margin-bottom: 0;
}

/* KPI Cards Grid */
.flashbk-kpi-dashboard {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 16px;
}
.flashbk-kpi-dashboard--4col {
	grid-template-columns: repeat(4, 1fr);
}
.flashbk-kpi-card {
	background: var(--rs-black);
	border-radius: 12px;
	padding: 24px 20px;
	text-align: center;
	transition: transform .2s ease;
}
.flashbk-kpi-card:hover {
	transform: translateY(-3px);
}
.flashbk-kpi-card-value {
	font-size: clamp(20px, 2.5vw, 26px);
	font-weight: 800;
	color: var(--flashbk-brand);
	line-height: 1.2;
	margin-bottom: 8px;
	letter-spacing: -0.02em;
}
.flashbk-kpi-card-label {
	font-size: 18px;
	color: rgba(255,255,255,.5);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .03em;
}

/* ── OEM CTA Enhancement ── */
.flashbk-oem-cta-card {
	position: sticky;
	top: 120px;
}
.flashbk-oem-cta-primary {
	font-size: 16px;
	font-weight: 700;
	padding: 16px 28px;
	letter-spacing: .01em;
	box-shadow: 0 4px 16px rgba(234, 85, 1, .3);
	transition: box-shadow .3s ease, transform .2s ease;
}
.flashbk-oem-cta-primary:hover {
	box-shadow: 0 6px 24px rgba(234, 85, 1, .45);
	transform: translateY(-2px);
}
.flashbk-oem-cta-secondary {
	font-size: 15px;
	font-weight: 600;
	border: 2px solid rgba(255,255,255,.25);
	transition: border-color .2s ease, background .2s ease;
}
.flashbk-oem-cta-secondary:hover {
	border-color: var(--flashbk-brand);
	background: rgba(234, 85, 1, .08);
}

/* ── RESPONSIVE: Automotive components ── */
@media (max-width: 991px) {
	.flashbk-pain-grid .col-xl-3 {
		flex: 0 0 50%;
	}
	.flashbk-case-context-row {
		gap: 20px;
	}
	.flashbk-kpi-dashboard,
	.flashbk-kpi-dashboard--4col {
		grid-template-columns: repeat(2, 1fr);
	}
	.flashbk-case-hero-metric {
		gap: 20px;
	}
	.flashbk-case-hero-bigval {
		font-size: 36px;
	}
}
@media (max-width: 575px) {
	.flashbk-pain-grid .col-xl-3 {
		flex: 0 0 100%;
	}
	.flashbk-pain-card {
		padding: 24px 20px 20px;
	}
	.flashbk-problema-hero-title {
		font-size: 28px;
	}
	.flashbk-case-dashboard {
		padding: 28px 20px;
	}
	.flashbk-kpi-dashboard,
	.flashbk-kpi-dashboard--4col {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
	.flashbk-kpi-card {
		padding: 20px 16px;
	}
	.flashbk-case-hero-row {
		padding: 28px 20px 24px;
	}
	.flashbk-case-hero-metric {
		gap: 16px;
	}
	.flashbk-case-hero-bigval {
		font-size: 28px;
	}
	.flashbk-case-meta-strip {
		gap: 8px;
	}
	.flashbk-case-meta-chip {
		padding: 5px 10px;
		font-size: 14px;
	}
	.flashbk-roi-dark .flashbk-roi-content {
		padding: 24px 20px;
	}
}

/* ════════════════════════════════════════════════════
   PROCESS FLOW — Automotive: due corsie parallele
   ════════════════════════════════════════════════════ */
.flashbk-process-flow {
	background: var(--rs-black);
	color: #fff;
	h2 {
		div{
		color: #fff;	
		}
	}
}

/* ── Lane (corsia) ── */
.flashbk-pf-lane {
	padding: 36px 0;
	position: relative;
}
.flashbk-pf-lane + .flashbk-pf-lane {
	border-top: 1px solid rgba(255,255,255,.08);
}
.flashbk-pf-lane-label {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: rgba(255,255,255,.45);
	margin-bottom: 24px;
	text-align: center;
}
.flashbk-pf-lane-flashbk .flashbk-pf-lane-label {
	color: var(--flashbk-brand);
}

/* ── Steps row ── */
.flashbk-pf-steps {
	display: flex;
	align-items: center;
	gap: 0;
	justify-content: center;
	flex-wrap: nowrap;
	overflow-x: auto;
	padding-bottom: 4px;
}

/* ── Step block ── */
.flashbk-pf-step {
	flex: 0 0 auto;
	min-width: 120px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px;
	padding: 18px 20px;
	text-align: center;
	position: relative;
	transition: transform .2s ease;
}
.flashbk-pf-step-name {
	font-size: 16px;
	font-weight: 600;
	color: rgba(255,255,255,.85);
	display: block;
	line-height: 1.3;
}
.flashbk-pf-step-tag {
	display: block;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 6px;
	line-height: 1;
}

/* ── Bottleneck (critico) ── */
.flashbk-pf-step-bottleneck {
	background: rgba(220, 38, 38, .12);
	border-color: rgba(220, 38, 38, .35);
}
.flashbk-pf-step-bottleneck .flashbk-pf-step-name {
	color: #fca5a5;
}
.flashbk-pf-step-bottleneck .flashbk-pf-step-tag {
	color: var(--flashbk-data-negative);
}

/* ── Highlight FLASHBK (soluzione) ── */
.flashbk-pf-step-highlight {
	background: rgba(234, 85, 1, .15);
	border-color: var(--flashbk-brand);
	border-width: 2px;
}
.flashbk-pf-step-highlight .flashbk-pf-step-name {
	color: #fff;
	font-weight: 700;
}
.flashbk-pf-step-highlight .flashbk-pf-step-tag {
	color: var(--flashbk-brand);
}

/* ── Arrow connector ── */
.flashbk-pf-arrow {
	flex: 0 0 28px;
	height: 2px;
	background: rgba(255,255,255,.15);
	position: relative;
	margin: 0 2px;
}
.flashbk-pf-arrow::after {
	content: '';
	position: absolute;
	right: -1px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid rgba(255,255,255,.25);
}
/* Arrow brand color nella corsia FLASHBK */
.flashbk-pf-lane-flashbk .flashbk-pf-arrow {
	background: rgba(234, 85, 1, .25);
}
.flashbk-pf-lane-flashbk .flashbk-pf-arrow::after {
	border-left-color: rgba(234, 85, 1, .45);
}

/* ── KPI bar sotto ogni corsia ── */
.flashbk-pf-lane-kpis {
	display: flex;
	gap: 24px;
	margin-top: 20px;
	flex-wrap: wrap;
	justify-content: center;
}
.flashbk-pf-kpi {
	font-size: 16px;
	color: rgba(255,255,255,.5);
	padding: 6px 14px;
	background: rgba(255,255,255,.04);
	border-radius: 6px;
	border: 1px solid rgba(255,255,255,.06);
}
.flashbk-pf-kpi strong {
	color: rgba(255,255,255,.85);
	font-weight: 700;
}
.flashbk-pf-kpi em {
	font-style: normal;
	color: var(--flashbk-brand);
	font-weight: 600;
}
.flashbk-pf-kpi-negative {
	color: #fca5a5;
	border-color: rgba(220, 38, 38, .15);
	background: rgba(220, 38, 38, .06);
}
.flashbk-pf-kpi-positive {
	color: #86efac;
	border-color: rgba(34, 197, 94, .15);
	background: rgba(34, 197, 94, .06);
}

/* ── RESPONSIVE: Process Flow ── */
@media (max-width: 991px) {
	.flashbk-pf-step {
		min-width: 100px;
		padding: 14px 14px;
	}
	.flashbk-pf-step-name {
		font-size: 14px;
	}
	.flashbk-pf-arrow {
		flex: 0 0 18px;
	}
}
@media (max-width: 575px) {
	.flashbk-pf-steps {
		flex-wrap: wrap;
		gap: 8px;
		justify-content: center;
	}
	.flashbk-pf-arrow {
		display: none;
	}
	.flashbk-pf-step {
		min-width: 80px;
		flex: 0 0 calc(33.33% - 8px);
		padding: 12px 10px;
	}
	.flashbk-pf-lane-kpis {
		gap: 10px;
	}
	.flashbk-pf-kpi {
		font-size: 14px;
		padding: 5px 10px;
	}
	.flashbk-pf-lane {
		padding: 24px 0;
	}
}


/* ══════════════════════════════════════════════════
   SETTORE CPT - Layout Overrides
   Riduzione padding per narrativa B2B densa.
   Scope: body.single-flashbk_settore
   ══════════════════════════════════════════════════ */

/* 1. Sezioni narrative: da 110px a 72px top/bottom */
.single-flashbk_settore .flashbk-narrative-section.section-space {
	padding-top: 72px;
	padding-bottom: 72px;
}
@media only screen and (max-width: 991px) {
	.single-flashbk_settore .flashbk-narrative-section.section-space {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}
@media only screen and (max-width: 767px) {
	.single-flashbk_settore .flashbk-narrative-section.section-space {
		padding-top: 44px;
		padding-bottom: 44px;
	}
}

/* 2. FAQ (template-part senza flashbk-narrative-section): stessa riduzione */
.single-flashbk_settore .rs-faq-area.section-space {
	padding-top: 72px;
	padding-bottom: 72px;
}
@media only screen and (max-width: 767px) {
	.single-flashbk_settore .rs-faq-area.section-space {
		padding-top: 44px;
		padding-bottom: 44px;
	}
}

/* 3. Section header: riduci margine sotto il titolo (era 45px) */
.single-flashbk_settore .flashbk-narrative-section .section-title-space {
	margin-bottom: 32px;
}

/* 4. CTA finale (rs-cta-one): 190px top era disproportionato senza bg image */
.single-flashbk_settore .rs-cta-one .rs-cta-wrapper {
	padding-top: 72px;
	padding-bottom: 72px;
}
@media only screen and (max-width: 1600px) {
	.single-flashbk_settore .rs-cta-one .rs-cta-wrapper {
		padding-top: 64px;
		padding-bottom: 64px;
	}
}
@media only screen and (max-width: 1199px) {
	.single-flashbk_settore .rs-cta-one .rs-cta-wrapper {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}
@media only screen and (max-width: 767px) {
	.single-flashbk_settore .rs-cta-one .rs-cta-wrapper {
		padding-top: 48px;
		padding-bottom: 40px;
	}
}

/* 5. Contact section nel footer: già section-space, riduci su settori */
.single-flashbk_settore .rs-contact-one.section-space {
	padding-top: 72px;
	padding-bottom: 72px;
}

/* 6. OEM: quando non ha tabs, il layout 2col usa col-xl-7 header
   Rendiamo il titolo full-width per evitare il void visivo a destra */
.flashbk-settore-oem > .container > .row.section-title-space > [class*="col-xl-7"] {
	flex: 0 0 100%;
	max-width: 100%;
}
.flashbk-settore-oem > .container > .row.section-title-space {
	margin-bottom: 28px;
}

/* 7. Sezione Problema (3 col) - riduci gap interno blocchi */
.single-flashbk_settore .flashbk-sottosettori-box .row.flashbk-sottosettori-blocks {
	gap: 16px 0;
}

/* 8. Row g-5 interni sezioni: usa g-4 (24px) al posto di g-5 (48px) gap
   Solo per le righe NON di layout principale (titoli OK, content rows leggeri) */
.single-flashbk_settore .flashbk-narrative-section .row.g-5:not(.section-title-space):not(.process-counts) {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 1.5rem;
}

/* 9. Problema: card narrative (PAIN / CAUSE / IMPACT)
   ── Immagine intro ─────────────────────────────────── */
.flashbk-problema-img {
	border-radius: 12px;
	overflow: hidden;
	max-height: 380px;
}
.flashbk-problema-img img {
	width: 100%;
	height: 380px;
	object-fit: cover;
	display: block;
}

/* ── Layout colonne ── */
.flashbk-problema-cards > [class*="col"] {
	display: flex;
}

/* ── Card base ── */
.flashbk-pcard {
	position: relative;
	background: var(--rs-bg-primary, #f8f8f8);
	border-radius: 8px;
	padding: 28px 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
	transition: box-shadow 250ms ease, transform 250ms ease;
}
.flashbk-pcard:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,.09);
	transform: translateY(-2px);
}

/* ── Numero progressivo (solo pain) ── */
.flashbk-pcard__number {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--flashbk-data-negative, #dc2626);
	opacity: .5;
	margin-bottom: 16px;
	line-height: 1;
}

/* ── Chip eyebrow (cause / impact / solution) ── */
.flashbk-pcard__chip {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-bottom: 10px;
	line-height: 1;
}
.flashbk-pcard--cause .flashbk-pcard__chip {
	color: var(--flashbk-brand, #ea5501);
}
.flashbk-pcard--impact .flashbk-pcard__chip {
	color: var(--flashbk-data-positive, #16a34a);
}

/* ── Titolo ── */
.flashbk-pcard__title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 12px;
	color: var(--rs-black, #111);
	line-height: 1.3;
}

/* ── Contenuto ── */
.flashbk-pcard__content {
	font-size: var(--rs-fs-p, 17px);
	line-height: 1.7;
	color: var(--rs-text-color, rgba(0,0,0,.65));
	flex: 1;
}
.flashbk-pcard__content p {
	margin-bottom: 8px;
}
.flashbk-pcard__content p:last-child {
	margin-bottom: 0;
}

/* ── Testo problema: nessun bordo, nessun chip, sfondo neutro ── */
.flashbk-pcard--testo {
	background: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	transform: none;
}
.flashbk-pcard--testo:hover {
	box-shadow: none;
	transform: none;
}
.flashbk-pcard--testo .flashbk-pcard__content {
	font-size: 17px;
	line-height: 1.8;
	color: var(--rs-text-color, rgba(0,0,0,.7));
}
.flashbk-pcard--testo .flashbk-pcard__content p {
	margin-bottom: 12px;
}

/* ── Bordo sinistro colorato per tipo ── */
.flashbk-pcard--pain {
	border-left: 3px solid var(--flashbk-data-negative, #dc2626);
}
.flashbk-pcard--cause {
	border-left: 3px solid var(--flashbk-brand, #ea5501);
}
.flashbk-pcard--impact {
	border-left: 3px solid var(--flashbk-data-positive, #16a34a);
}

/* ── Card soluzione highlight (Con FLASHBK) ── */
.flashbk-pcard--solution {
	background: var(--rs-black, #111);
	border-left: 3px solid var(--rs-theme-orange, #ea5501);
	border-radius: 8px;
}
.flashbk-pcard--solution .flashbk-pcard__chip {
	color: var(--rs-theme-orange, #ea5501);
}
.flashbk-pcard--solution .flashbk-pcard__content {
	color: rgba(255,255,255,.85);
	font-size: 17px;
	font-weight: 500;
}
.flashbk-pcard--solution:hover {
	transform: none;
	box-shadow: 0 8px 32px rgba(0,0,0,.25);
}

/* ── Liste dentro le card: niente bullet standard ── */
.flashbk-pcard__content ul,
.flashbk-pcard__content ol {
	list-style: none;
	padding: 0;
	margin: 0;
}
.flashbk-pcard__content li {
	padding-left: 18px;
	position: relative;
	margin-bottom: 10px;
	line-height: 1.6;
}
.flashbk-pcard__content li:last-child {
	margin-bottom: 0;
}
.flashbk-pcard__content li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	opacity: .4;
}
.flashbk-pcard--cause .flashbk-pcard__content li::before {
	background: var(--flashbk-brand, #ea5501);
	opacity: 1;
}
.flashbk-pcard--impact .flashbk-pcard__content li::before {
	background: var(--flashbk-data-positive, #16a34a);
	opacity: 1;
}

/* ── Responsive ── */
@media (max-width: 991px) {
	.flashbk-pcard {
		padding: 22px 20px;
	}
}
@media (max-width: 767px) {
	.flashbk-pcard__title {
		font-size: 16px;
	}
	.flashbk-problema-img,
	.flashbk-problema-img img {
		max-height: 240px;
		height: 240px;
	}
}

/* ============================================================
   OEM – Pricing Table & Placeholder Badge
   ============================================================ */

.flashbk-pricing-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0 1rem;
	font-size: .92rem;
}
.flashbk-pricing-table th,
.flashbk-pricing-table td {
	padding: 10px 14px;
	border: 1px solid #e2e6ea;
	vertical-align: middle;
}
.flashbk-pricing-table thead tr {
	background: #f4f6f8;
	font-weight: 600;
	text-transform: uppercase;
	font-size: .78rem;
	letter-spacing: .04em;
	color: #555;
}
.flashbk-pricing-table tbody tr:nth-child(even) {
	background: #fafbfc;
}
.flashbk-pricing-table tbody tr:hover {
	background: #f0f4ff;
}
.flashbk-pricing-row--dedicated td {
	background: #fffbf0;
	font-weight: 600;
}

/* Badge placeholder "In definizione" */
.flashbk-placeholder-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: .78rem;
	font-weight: 600;
	background: #fff3cd;
	color: #856404;
	border: 1px solid #ffc107;
	white-space: nowrap;
}

/* Condizioni a piè pricing */
.flashbk-pricing-conditions {
	font-size: .82rem;
	color: #777;
	margin-top: .5rem;
}

/* ── Video Tutorial carousel ─────────────────────────────── */

/* Overlay play button su thumbnail */
.flashbk-video-play-link {
	position: relative;
	display: block;
	overflow: hidden;
}

button.flashbk-video-play-link {
	appearance: none;
	-webkit-appearance: none;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	width: 100%;
	cursor: pointer;
}

.flashbk-play-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .25);
	transition: background .3s ease;
}

.flashbk-video-play-link:hover .flashbk-play-overlay {
	background: rgba(0, 0, 0, .45);
}

.flashbk-play-icon {
	transform: scale(1);
	transition: transform .25s ease;
}

.flashbk-video-play-link:hover .flashbk-play-icon {
	transform: scale(1.12);
}

/* Placeholder quando manca thumbnail */
.flashbk-video-placeholder {
	width: 100%;
	min-height: 240px;
	background: #111827;
	display: flex;
	align-items: center;
	justify-content: center;
}

.flashbk-video-placeholder span {
	color: #EA5501;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	opacity: .7;
}

/* ── Mission Video — Single video card in evidenza ──────────────────────── */
.flashbk-mission-video .rs-portfolio-thumb {
	margin: 0 auto;
	max-width: 1040px;
}

/* Fix: lo pseudo ::before di .rs-portfolio-thumb (tema RaiStar) ha z-index:1 e
   intercetta i click sopra il link <a>, bloccando l'apertura del modale.
   Disattivo pointer-events solo dove serve far click sul play video. */
.flashbk-mission-video .rs-portfolio-thumb::before,
.flashbk-settore-video .rs-portfolio-thumb::before {
	pointer-events: none;
}

.flashbk-mission-video .rs-portfolio-thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}

.flashbk-mission-video .flashbk-video-placeholder {
	aspect-ratio: 16 / 9;
	min-height: 0;
}

.flashbk-mission-video .flashbk-play-icon svg {
	width: 84px;
	height: 84px;
}

@media (max-width: 575px) {
	.flashbk-mission-video .flashbk-play-icon svg {
		width: 64px;
		height: 64px;
	}
}


/* ── Distributori Autorizzati — Mappa + Sidebar ──────────────────────────── */

/* Intro SEO */
.flashbk-distributori-intro {
	max-width: 680px;
	margin: 0.75rem auto 0;
	color: #555;
	font-size: 15px;
	line-height: 1.7;
}
.flashbk-distributori-intro a.flashbk-dist-link {
	color: #EA5501;
	text-decoration: none;
	font-weight: 600;
}
.flashbk-distributori-intro a.flashbk-dist-link:hover {
	text-decoration: underline;
}

/* Layout contenitore map + sidebar */
.flashbk-dist-layout {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 32px rgba(0,0,0,.10);
}

/* Colonna mappa */
.flashbk-dist-map-col {
	position: relative;
}
.flashbk-dist-map {
	height: 560px;
	width: 100%;
	background: #e8e4dc;
}

/* Marker SVG */
.flashbk-map-marker {
	background: transparent !important;
	border: none !important;
}
.flashbk-map-marker svg {
	display: block;
	overflow: visible;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,.25));
}

/* Colonna sidebar */
.flashbk-dist-sidebar-col {
	background: #fff;
	border-left: 1px solid #f0f0f0;
}
.flashbk-dist-sidebar {
	height: 560px;
	overflow-y: auto;
	padding: 0;
	/* scrollbar */
	scrollbar-width: thin;
	scrollbar-color: #EA5501 #f5f5f5;
}
.flashbk-dist-sidebar::-webkit-scrollbar {
	width: 4px;
}
.flashbk-dist-sidebar::-webkit-scrollbar-track {
	background: #f5f5f5;
}
.flashbk-dist-sidebar::-webkit-scrollbar-thumb {
	background-color: #EA5501;
	border-radius: 4px;
}

/* Regione */
.flashbk-dist-region {
	border-bottom: 1px solid #f0f0f0;
	padding: 16px 20px;
}
.flashbk-dist-region:last-child {
	border-bottom: none;
}

/* Header regione */
.flashbk-dist-region-header {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 10px;
}
.flashbk-dist-region-name {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #EA5501;
	flex-shrink: 0;
}
.flashbk-dist-company-name {
	font-size: 14px;
	color: #999;
	text-transform: uppercase;
	letter-spacing: .5px;
}

/* Singolo punto vendita */
.flashbk-dist-branch {
	padding: 8px 0;
	border-top: 1px solid #f7f7f7;
}
.flashbk-dist-branch:first-of-type {
	border-top: none;
}
.flashbk-dist-branch-label {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 2px;
	line-height: 1.4;
}
.flashbk-dist-address {
	font-size: 16px;
	color: #666;
	font-style: normal;
	line-height: 1.5;
	margin: 0 0 6px;
}

/* Contatti singolo */
.flashbk-dist-contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
}
.flashbk-dist-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	color: #555;
	text-decoration: none;
	line-height: 1;
	transition: color .2s;
}
.flashbk-dist-contact-link:hover {
	color: #EA5501;
}
.flashbk-dist-wa {
	color: #25D366 !important;
}
.flashbk-dist-wa:hover {
	color: #1da851 !important;
}

/* Nota regione senza sedi */
.flashbk-dist-note {
	font-size: 14px;
	color: #888;
	margin: 0 0 6px;
	font-style: italic;
}

/* ── CTA Bar Contatto Diretto ── */
.flashbk-dist-cta-bar {
	background: #0d0d0d;
	border-radius: 10px;
	padding: 24px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	border-left: 4px solid #EA5501;
}
.flashbk-dist-cta-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.flashbk-dist-cta-label {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #EA5501;
}
.flashbk-dist-cta-desc {
	font-size: 14px;
	color: #aaa;
}
.flashbk-dist-cta-contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	align-items: center;
}
.flashbk-dist-cta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	color: #ddd;
	text-decoration: none;
	transition: color .2s;
}
.flashbk-dist-cta-item:hover {
	color: #EA5501;
}
.flashbk-dist-cta-wa {
	color: #25D366 !important;
}
.flashbk-dist-cta-wa:hover {
	color: #1da851 !important;
}

/* Leaflet override — attributions coerenti con il tema */
.flashbk-dist-map .leaflet-control-attribution {
	font-size: 14px;
	background: rgba(255,255,255,.75);
}

/* ── Responsive ── */
@media (max-width: 991px) {
	.flashbk-dist-map,
	.flashbk-dist-sidebar {
		height: 420px;
	}
	.flashbk-dist-sidebar {
		height: 320px;
		border-left: none;
		border-top: 1px solid #f0f0f0;
	}
	.flashbk-dist-cta-bar {
		flex-direction: column;
		align-items: flex-start;
		padding: 20px 24px;
	}
}
@media (max-width: 575px) {
	.flashbk-dist-map {
		height: 300px;
	}
	.flashbk-dist-sidebar {
		height: 260px;
	}
	.flashbk-dist-cta-bar {
		padding: 16px;
	}
}


/* ═══════════════════════════════════════════════════════════════════════════
   TEST PILOTA
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Wrapper tab nav ── */
.flashbk-tp-wrapper .rs-history-tab {
	margin-bottom: 40px;
}

/* ── Nav pills: resetta stile tema e ridisegna ── */
.flashbk-tp-wrapper .rs-history-tab .nav-pills {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	width: 100% !important;
	gap: 10px;
	border-bottom: none;
	padding-bottom: 0;
}

.flashbk-tp-wrapper .rs-history-tab .nav-item {
	margin: 0;
}

.flashbk-tp-wrapper .rs-history-tab .nav-link {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	padding: 18px 20px;
	background: #fff;
	border: 1.5px solid #e8e8e8;
	border-radius: 10px;
	color: #555;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: uppercase;
	text-align: left;
	transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

/* Linea sinistra decorativa */
.flashbk-tp-wrapper .rs-history-tab .nav-link::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: #e0e0e0;
	border-radius: 3px 0 0 3px;
	transition: background .2s ease;
}

/* Hover */
.flashbk-tp-wrapper .rs-history-tab .nav-link:hover {
	border-color: rgba(234,85,1,.4);
	color: #EA5501;
	box-shadow: 0 4px 16px rgba(234,85,1,.08);
}
.flashbk-tp-wrapper .rs-history-tab .nav-link:hover::before {
	background: rgba(234,85,1,.5);
}

/* Stato attivo */
.flashbk-tp-wrapper .rs-history-tab .nav-link.active {
	background: #EA5501;
	border-color: #EA5501;
	color: #fff;
	box-shadow: 0 6px 20px rgba(234,85,1,.3);
}
.flashbk-tp-wrapper .rs-history-tab .nav-link.active::before {
	background: rgba(255,255,255,.5);
}

/* Sub-label tempo */
.flashbk-tp-tab-sub {
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .3px;
	text-transform: none;
	opacity: .7;
	margin-top: 4px;
}
.flashbk-tp-wrapper .rs-history-tab .nav-link.active .flashbk-tp-tab-sub {
	opacity: .85;
}

/* ── Tab content ── */
.flashbk-tp-wrapper .rs-history-tab-content-wrapper {
	background: #fff;
	border: 1.5px solid #e8e8e8;
	border-radius: 12px;
	padding: 48px 52px;
}

/* Tab item: full-width senza immagine */
.flashbk-tp-item.rs-history-tab-item {
	display: block;
}
.flashbk-tp-content.rs-history-tab-content {
	width: 100%;
	max-width: 680px;
}

/* Step head: numero grande + badge tempo */
.flashbk-tp-step-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
}
.flashbk-tp-num {
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
	color: #EA5501;
	letter-spacing: -2px;
}
.flashbk-tp-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 14px;
	background: rgba(234,85,1,.08);
	color: #EA5501;
	border: 1px solid rgba(234,85,1,.2);
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .5px;
}

/* Nota no-impegno */
.flashbk-tp-nota {
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	font-size: 14px;
	color: #888;
	margin-bottom: 28px;
}

/* CTA */
.flashbk-tp-cta {
	font-size: 16px;
}

/* ── Responsive ── */
@media (max-width: 991px) {
	.flashbk-tp-wrapper .rs-history-tab .nav-pills {
		grid-template-columns: repeat(2, 1fr);
	}
	.flashbk-tp-wrapper .rs-history-tab-content-wrapper {
		padding: 36px 32px;
	}
}
@media (max-width: 575px) {
	.flashbk-tp-wrapper .rs-history-tab .nav-pills {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	.flashbk-tp-wrapper .rs-history-tab .nav-link {
		padding: 14px 14px;
		font-size: 14px;
	}
	.flashbk-tp-wrapper .rs-history-tab-content-wrapper {
		padding: 28px 20px;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   CASE HISTORY
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Section spacing ── */
.flashbk-case-history-area.section-space {
	padding-top: 140px;
	padding-bottom: 140px;
}

/* ── Equal height cards: colonne flex + card height 100% ── */
.flashbk-case-history-area .row.process-counts {
	align-items: stretch;
}
.flashbk-case-history-area .row.process-counts > [class*="col-"] {
	display: flex;
}
.flashbk-case-history-area .rs-feature-item {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	width: 100%;
}
/* CTA spinta in fondo */
.flashbk-case-history-area .flashbk-ch-cta-wrap {
	margin-top: auto;
}

/* ── Nascondi numeri decorativi ::before del tema ── */
.flashbk-case-history-area .rs-feature-item::before {
	display: none !important;
}

/* ── Icona arancione brand ── */
.flashbk-case-history-area .rs-feature-icon {
	color: #EA5501;
}

/* ── Meta row: chip settore + badge IN ARRIVO ── */
.flashbk-ch-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

/* Chip settore */
.flashbk-ch-chip {
	display: inline-block;
	padding: 3px 12px;
	background: rgba(234,85,1,.1);
	color: #EA5501;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Badge IN ARRIVO */
.flashbk-ch-badge-soon {
	display: inline-block;
	padding: 3px 10px;
	background: #f0f0f0;
	color: #999;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Nota pubblicazione in arrivo */
.flashbk-ch-coming-note {
	font-size: 14px;
	color: #bbb;
	font-style: italic;
	margin-top: 12px;
	margin-bottom: 0;
}

/* Card placeholder: leggera riduzione opacità */
.flashbk-ch-placeholder {
	opacity: .8;
}
.flashbk-ch-placeholder:hover {
	opacity: 1;
}

/* CTA → pagina use case */
.flashbk-ch-cta-wrap {
	margin-top: auto;
	padding-top: 20px;
}

.flashbk-ch-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 700;
	color: #EA5501;
	text-decoration: none;
	letter-spacing: .3px;
	transition: gap .2s ease, color .2s ease;
}

.flashbk-ch-cta:hover {
	color: #c24600;
	gap: 10px;
	text-decoration: none;
}

.flashbk-ch-cta svg {
	flex-shrink: 0;
	transition: transform .2s ease;
}

.flashbk-ch-cta:hover svg {
	transform: translateX(3px);
}

/* ── HOVER STATE: tutti gli elementi custom bianchi su sfondo arancione ── */

/* Titolo h5 diretto (il tema padre copre solo .rs-feature-title *, non l'h5 stesso) */
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-title,
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-title h5,
.flashbk-case-history-area .rs-feature-item:hover h5.rs-feature-title {
	color: #fff !important;
}

/* Chip settore: sfondo semi-trasparente bianco, testo bianco */
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-chip {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.3);
}

/* Badge IN ARRIVO */
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-badge-soon {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

/* Icona SVG: stroke-based (il tema copre solo fill) */
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-icon {
	color: #fff;
}
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-icon svg path,
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-icon svg rect,
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-icon svg circle,
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-icon svg line,
.flashbk-case-history-area .rs-feature-item:hover .rs-feature-icon svg polyline {
	stroke: #fff;
	fill: none;
}

/* Nota "Case study completo in pubblicazione" */
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-coming-note {
	color: rgba(255, 255, 255, 0.6);
}

/* CTA link: bianco in hover della card */
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-cta {
	color: #fff;
}
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-cta:hover {
	color: rgba(255, 255, 255, 0.8);
}
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-cta svg path {
	stroke: #fff;
}

/* Focus outline accessibilità su CTA */
.flashbk-ch-cta:focus-visible {
	outline: 2px solid #EA5501;
	outline-offset: 3px;
	border-radius: 2px;
}
.flashbk-case-history-area .rs-feature-item:hover .flashbk-ch-cta:focus-visible {
	outline-color: #fff;
}

/* ── Test Pilota: section spacing + nascondi placeholder bg ── */
.flashbk-test-pilota-area.section-space,
.rs-history-area.flashbk-test-pilota-area {
	padding-top: 140px;
	padding-bottom: 140px;
}

/* Nasconde l'immagine placeholder 1720x733 del tema */
.flashbk-test-pilota-area .rs-history-bg-thumb {
	display: none !important;
}

/* ── Validazione: section spacing + nascondi placeholder bg ── */
.flashbk-validazione-area.rs-counter-area {
	padding-top: 140px;
	padding-bottom: 140px;
	background-color: var(--rs-bg-primary) !important;
}

/* Nasconde l'immagine placeholder 1920x761 — da sostituire con immagine reale */
.flashbk-validazione-area .rs-counter-bg-thumb {
	display: none !important;
}

/* ── PDF: padding top (section-space-bottom ha solo padding-bottom) ── */
.flashbk-pdf-area {
	padding-top: 120px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   VALIDAZIONE — COUNTER
   ═══════════════════════════════════════════════════════════════════════════ */

/* Custom label per TEC Eurolab (non counter numerico) */
.flashbk-val-custom-label {
	display: block;
	font-size: 28px;
	font-weight: 800;
	color: #EA5501;
	line-height: 1.1;
	margin-bottom: 6px;
}

/* Logo immagine TEC Eurolab da campo ACF */
.flashbk-val-logo-img {
	display: block;
	max-width: 250px;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Sub-titolo (ACCREDIA) */
.flashbk-val-sub {
	display: block;
	font-size: 14px;
	color: #bbb;
	margin-top: 4px;
}

/* Nota placeholder con asterisco */
.flashbk-val-nota {
	display: block;
	font-size: 14px;
	color: #f0a060;
	margin-top: 8px;
	font-style: italic;
}

/* Warning stat: bordo arancione tenue */
.flashbk-val-warning .rs-counter-inner {
	border-left: 3px solid rgba(234,85,1,.3);
	padding-left: 16px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   VALIDAZIONE — PDF REPEATER
   ═══════════════════════════════════════════════════════════════════════════ */

.flashbk-pdf-card {
	background: #fff;
	border: 1px solid #f0f0f0;
	border-radius: 10px;
	padding: 32px 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	transition: box-shadow .25s, border-color .25s;
}
.flashbk-pdf-card:hover {
	border-color: rgba(234,85,1,.25);
	box-shadow: 0 8px 32px rgba(234,85,1,.08);
}

.flashbk-pdf-icon {
	color: #EA5501;
}

.flashbk-pdf-body {
	flex: 1;
}

.flashbk-pdf-title {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	margin-bottom: 8px;
}

.flashbk-pdf-desc {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	margin: 0;
}

.flashbk-pdf-btn {
	align-self: flex-start;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Bottone disabilitato (PDF non ancora disponibile) */
.flashbk-pdf-btn[aria-disabled="true"] {
	opacity: .45;
	pointer-events: none;
	cursor: not-allowed;
}

@media (max-width: 767px) {
	.flashbk-tp-num {
		font-size: 42px;
	}
	.flashbk-pdf-card {
		padding: 24px 20px;
	}
}

/* ==========================================================================
   FLASHBK — SINGLE PRODUCT PAGE
   Stili per la pagina prodotto WooCommerce.
   Il tema usa html { font-size: 14px } quindi tutti i valori sono in px.
   ========================================================================== */

/* ---- BREADCRUMB (spostato nella colonna summary, sopra al titolo) ---- */
.entry-summary .woocommerce-breadcrumb {
	font-size: 14px;
	color: #888;
	margin-bottom: 12px;
}
.entry-summary .woocommerce-breadcrumb a {
	color: #888;
	text-decoration: none;
}
.entry-summary .woocommerce-breadcrumb a:hover {
	color: var(--rs-theme-color, #e96f25);
}
/* Nasconde il breadcrumb nella posizione di default (se per qualsiasi motivo venisse ancora renderizzato lì) */
.rs-main-wrapper > .woocommerce-breadcrumb {
	display: none;
}

/* ---- TITOLO ---- */
.product-details-title {
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.15;
	color: var(--rs-heading-color, #111);
	text-transform: uppercase;
	letter-spacing: -0.01em;
	margin-bottom: 10px;
}

/* ---- PREZZO ---- */
.product-details-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 25px;
}
.product-details-price .price {
	font-size: 26px;
	font-weight: 700;
	color: var(--rs-theme-color, #e96f25);
}
.product-details-price .amount { color: var(--rs-theme-color, #e96f25); }
.product-details-price ins { text-decoration: none; }
.product-details-price del .amount {
	font-size: 18px;
	color: #999;
	font-weight: 400;
}

/* ---- VARIAZIONI tabella ---- */
.variations { width: 100%; border: none; margin-bottom: 16px; }
.variations th.label {
	padding: 0 12px 12px 0;
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	white-space: nowrap;
	vertical-align: middle;
}
.variations td.value { padding-bottom: 12px; vertical-align: middle; }

/* ---- SWATCH BUTTONS ---- */
.flashbk-swatch-wrap { margin-bottom: 0; }
.flashbk-swatch-buttons { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.flashbk-swatch-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 20px;
	border: 2px solid #ddd;
	border-radius: 4px;
	background: transparent;
	color: var(--rs-text-color, #1a1a1a);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.03em;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	white-space: nowrap;
}
.flashbk-swatch-btn:hover,
.flashbk-swatch-btn.selected {
	background: var(--rs-theme-color, #e96f25);
	color: #fff;
	border-color: var(--rs-theme-color, #e96f25);
}
.flashbk-swatch-btn:focus-visible {
	outline: 3px solid var(--rs-theme-color, #e96f25);
	outline-offset: 2px;
}
.flashbk-swatch-wrap .nice-select { display: none !important; }
.flashbk-swatch-wrap .reset_variations,
.flashbk-swatch-wrap ~ .reset_variations { display: none !important; }

/* ---- QUANTITY STEPPER ----
 * Il tema usa position:absolute per i pulsanti ± sopra l'input.
 * Rispettiamo quel layout e adattiamo solo colori, dimensioni e font.
 * Il contenitore .rs-product-quantity è position:relative (dal tema).
 * L'input usa padding:0 48px per fare spazio ai pulsanti laterali.
 */
 .woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
	 border: 0;
	 line-height: 2em;
	 vertical-align: middle;
 }
.rs-product-quantity {
	position: relative;
	display: inline-block;
	height: 60px;
}
.rs-cart-minus,
.rs-cart-plus {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 44px !important;
	height: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: none !important;
	cursor: pointer;
	font-size: 18px;
	color: #333;
	transition: background 0.2s, color 0.2s;
	user-select: none;
	z-index: 1;
}
.rs-cart-minus { left: 0 !important; }
.rs-cart-plus  { left: auto !important; right: 0 !important;  }
.rs-cart-minus:hover,
.rs-cart-plus:hover {
	background: var(--rs-theme-color, #e96f25) !important;
	color: #fff !important;
}
/* Input: width totale = 44 + contenuto + 44. Usiamo padding laterale per centrare il numero. */
.rs-product-quantity input[type="number"].rs-cart-input {
	width: 140px !important;
	height: 56px !important;
	border: none !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	text-align: center !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
	opacity: 1 !important;
	padding: 0 48px !important;
	padding-left: 48px !important;
	padding-right: 48px !important;
	padding-inline-start: 48px !important;
	padding-inline-end: 48px !important;
	margin: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	line-height: 56px !important;
	-moz-appearance: textfield !important;
	-webkit-appearance: none !important;
	display: block !important;
}
.rs-cart-input::-webkit-outer-spin-button,
.rs-cart-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.rs-cart-input:focus { outline: none !important; }

/* ---- BOTTONE ADD TO CART ---- */
.product-details-count-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: stretch;
	margin-bottom: 0px;
	padding-bottom: 0px;
}
.product-details-count-wrap .rs-btn,
.product-details-count-wrap button.rs-btn,
.woocommerce-variation-add-to-cart .rs-btn,
button.single_add_to_cart_button.rs-btn,
.cart button.single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 13px 30px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	cursor: pointer !important;
	border: none !important;
	background-color: var(--rs-theme-color, #e96f25) !important;
	color: #fff !important;
	border-radius: 4px !important;
	transition: background 0.2s, opacity 0.2s !important;
}
button.single_add_to_cart_button:hover,
button.single_add_to_cart_button.rs-btn:hover { opacity: 0.85 !important; }

/* ---- VARIAZIONE PREZZO DINAMICO ---- */
.woocommerce-variation-price .price,
.woocommerce-variation-price .amount {
	font-size: 26px;
	font-weight: 700;
	color: var(--rs-theme-color, #e96f25);
}
.woocommerce-variation-price { margin-bottom: 12px; }
.single_variation_wrap .woocommerce-variation { margin-bottom: 10px; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }

/* ---- META ---- */
.product_meta { font-size: 16px; color: #666; margin-top: 20px; line-height: 2; }
.product_meta a { color: var(--rs-theme-color, #e96f25); }

/* ---- DESCRIZIONE BREVE ---- */
.woocommerce-product-details__short-description {
	margin-bottom: 20px;
	line-height: 1.7;
	color: #555;
	font-size: 16px;
}

/* ---- CONTAINER BOXED PER TABS E FAQ ---- */
.flashbk-product-lower { background: #fff; }
.flashbk-product-lower > .container { padding-top: 0; }

/* ---- TABELLA SPECIFICHE TECNICHE ---- */
.flashbk-specifiche-tab { overflow-x: auto; }
.flashbk-specifiche-tab table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 16px;
	font-size: 16px;
	line-height: 1.5;
}
.flashbk-specifiche-tab table thead th {
	padding: 14px 16px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
	border: 1px solid rgba(102, 102, 102, 0.15);
}
.flashbk-specifiche-tab table thead th:first-child {
	background: var(--flashbk-brand, #EA5501);
}
.flashbk-specifiche-tab table thead th:not(:first-child) {
	background: #1f1f1f;
}
.flashbk-specifiche-tab table tbody td {
	padding: 12px 16px;
	font-size: 16px;
	color: #616161;
	border: 1px solid rgba(102, 102, 102, 0.2);
	vertical-align: middle;
}
.flashbk-specifiche-tab table tbody td:first-child {
	font-weight: 600;
	background: #f8f8f8;
}
.flashbk-specifiche-tab table tbody tr:nth-child(even) td { background: #fafafa; }
.flashbk-specifiche-tab table tbody tr:nth-child(even) td:first-child { background: #f0f0f0; }
.flashbk-specifiche-tab table tbody tr:hover td { background: #fff5ef; }
.flashbk-specifiche-tab table tbody tr:hover td:first-child { background: #ffe8d9; }

/* ---- FAQ ACCORDION STANDALONE ---- */
.flashbk-faq-section {
	margin-top: 60px;
	padding-top: 50px;
	border-top: 1px solid #ebebeb;
}
.flashbk-faq-header { margin-bottom: 36px; }
.flashbk-faq-header .rs-section-subtitle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--rs-theme-color, #e96f25);
	margin-bottom: 12px;
}
.flashbk-faq-title {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	color: #1a1a1a;
	margin: 0;
	line-height: 1.25;
}
/*
 * L'accordion usa le classi native rs-accordion-one del tema.
 * NON sovrascriviamo padding/layout del .accordion-button per non rompere
 * il posizionamento dell'icona .accordion-btn (usa position:absolute right:20px).
 * Interveniamo solo su font-size e colore.
 */
.flashbk-faq-section .rs-accordion-one .accordion-button {
	font-size: 16px;
}
.flashbk-faq-section .rs-accordion-one .accordion-body {
	font-size: 16px;
	color: #555;
	line-height: 1.7;
}

/* ---- QUICK BENEFITS ---- */
.flashbk-quick-benefits {
	list-style: none;
	padding: 0;
	margin: 0 0 40px 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.flashbk-quick-benefits__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	color: #333;
	line-height: 1.4;
}
.flashbk-quick-benefits__icon {
	flex-shrink: 0;
}

/* ---- TRUST BADGES ---- */
.flashbk-trust-badges {
display: none;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 100px;
	
}
.flashbk-trust-badge {
	display: flex;
	align-items: center;
	gap: 10px;
	background-color: #fbfbfb;
	padding: 40px;
}
.flashbk-trust-badge__icon {
	color: var(--rs-theme-color, #e96f25);
	flex-shrink: 0;
}
.flashbk-trust-badge__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.flashbk-trust-badge__text strong {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.2;
}
.flashbk-trust-badge__text span {
	font-size: 14px;
	color: #777;
	line-height: 1.2;
}

/* ---- INLINE RELATED SCROLL ---- */
	.flashbk-inline-related {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #ebebeb;
}
.flashbk-inline-related__title {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.flashbk-inline-related__scroll {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
}
.flashbk-inline-related__scroll::-webkit-scrollbar { height: 4px; }
.flashbk-inline-related__scroll::-webkit-scrollbar-track {
	background: #f0f0f0;
	border-radius: 4px;
}
.flashbk-inline-related__scroll::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 4px;
}
.flashbk-inline-related__card {
	display: flex;
	flex-direction: row;
	gap: 12px;
	min-width: 220px;
	max-width: 260px;
	flex: 0 0 240px;
	padding: 12px;
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 8px;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.flashbk-inline-related__card:hover {
	border-color: var(--rs-theme-color, #e96f25);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
}
.flashbk-inline-related__thumb {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	display: block;
}
.flashbk-inline-related__thumb img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	display: block;
}
.flashbk-inline-related__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.flashbk-inline-related__name {
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
	text-decoration: none;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.flashbk-inline-related__name:hover { color: var(--rs-theme-color, #e96f25); }
.flashbk-inline-related__price {
	font-size: 16px;
	font-weight: 700;
	color: var(--rs-theme-color, #e96f25);
}
.flashbk-inline-related__price .woocommerce-Price-amount { color: var(--rs-theme-color, #e96f25); }
.flashbk-inline-related__btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 4px;
	padding: 6px 12px;
	font-size: 16px;
	font-weight: 600;
	color: var(--rs-theme-color, #e96f25);
	background: transparent;
	border: 2px solid var(--rs-theme-color, #e96f25);
	border-radius: 4px;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	width: fit-content;
}
.flashbk-inline-related__btn svg,
.flashbk-inline-related__btn svg path { fill: var(--rs-theme-color, #e96f25); transition: fill 0.2s; }
.flashbk-inline-related__btn:hover {
	background: var(--rs-theme-color, #e96f25);
	color: #fff;
}
.flashbk-inline-related__btn:hover svg,
.flashbk-inline-related__btn:hover svg path { fill: #fff; }
.flashbk-inline-related__btn.loading { opacity: 0.6; pointer-events: none; }
.flashbk-inline-related__btn.added {
	background: #2e7d32;
	border-color: #2e7d32;
	color: #fff;
}
.flashbk-inline-related__btn.added svg,
.flashbk-inline-related__btn.added svg path { fill: #fff; }

/* Nasconde gli upsells/related WooCommerce nella posizione default */
.upsells,
.up-sells,
.related,
.woocommerce-tabs ~ .upsells,
.woocommerce-tabs ~ .related { display: none !important; }

/* ══════════════════════════════════════════════════
   Pagina Contatti - Template personalizzato
   ══════════════════════════════════════════════════ */

/* Form inputs base */
.rs-contact-area .rs-contact-input input,
.rs-contact-area .rs-contact-input textarea,
.rs-contact-area .rs-contact-input select {
	width: 100%;
	padding: 14px 18px;
	font-size: 16px;
	color: var(--rs-black, #1f1f1f);
	background: #fff;
	border: 1px solid #d2d2d2;
	border-radius: 4px;
	transition: border-color 0.2s;
	appearance: none;
	-webkit-appearance: none;
}

.rs-contact-area .rs-contact-input input:focus,
.rs-contact-area .rs-contact-input textarea:focus,
.rs-contact-area .rs-contact-input select:focus {
	outline: none;
	border-color: var(--rs-theme-orange, #e96f25);
	box-shadow: 0 0 0 3px rgba(233, 111, 37, 0.12);
}

.rs-contact-area .rs-contact-input input::placeholder,
.rs-contact-area .rs-contact-input textarea::placeholder {
	color: #999;
	font-size: 16px;
}

/* Select styling */
.rs-contact-area .rs-contact-select {
	position: relative;
}
.rs-contact-area .rs-contact-select::after {
	content: '';
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #666;
	pointer-events: none;
}
.rs-contact-area .rs-contact-input select option[value=""] {
	color: #999;
}

/* Checkbox label */
.rs-contact-area .rs-checkbox-label {
	font-size: 16px;
	color: #444;
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}
.rs-contact-area .rs-checkbox-label input[type="checkbox"] {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: var(--rs-theme-orange, #e96f25);
}
.rs-contact-area .rs-checkbox-label a {
	color: var(--rs-theme-orange, #e96f25);
}

/* Contact info sidebar */
.rs-contact-info h3 {
	font-size: 28px;
	margin-bottom: 28px;
}
.rs-contact-info-item h6 {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 4px;
	color: var(--rs-black, #1f1f1f);
}
.rs-contact-info-item p,
.rs-contact-info-item a {
	font-size: 16px;
	color: #444;
	text-decoration: none;
	line-height: 1.6;
}
.rs-contact-info-item a:hover {
	color: var(--rs-theme-orange, #e96f25);
}
.rs-contact-info-icon {
	width: 42px;
	height: 42px;
	min-width: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--rs-theme-orange, #e96f25);
	color: #fff;
	border-radius: 4px;
	font-size: 20px;
}

/* Orario sotto il contatto */
.rs-contact-orario {
	font-size: 14px;
	color: #888;
	margin-top: 4px;
	margin-bottom: 0;
}

/* Social icons */
.rs-contact-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #ddd;
	border-radius: 50%;
	color: #444;
	font-size: 16px;
	margin-right: 8px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.rs-contact-social a:hover {
	background: var(--rs-theme-orange, #e96f25);
	border-color: var(--rs-theme-orange, #e96f25);
	color: #fff;
}

/* ── Contact Form 7 — allinea il markup default CF7 al form del tema (.rs-contact-one) ── */
.rs-contact-one .rs-contact-form .wpcf7-form p {
	margin: 0 0 18px;
}
.rs-contact-one .rs-contact-form .wpcf7-form p:last-of-type {
	margin-bottom: 0;
}
.rs-contact-one .rs-contact-form .wpcf7-form label {
	display: block;
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
}
.rs-contact-one .rs-contact-form .wpcf7-form label br {
	display: none;
}
.rs-contact-one .rs-contact-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
}
.rs-contact-one .rs-contact-form .wpcf7-form input[type="text"],
.rs-contact-one .rs-contact-form .wpcf7-form input[type="email"],
.rs-contact-one .rs-contact-form .wpcf7-form input[type="tel"],
.rs-contact-one .rs-contact-form .wpcf7-form input[type="url"],
.rs-contact-one .rs-contact-form .wpcf7-form input[type="number"],
.rs-contact-one .rs-contact-form .wpcf7-form select,
.rs-contact-one .rs-contact-form .wpcf7-form textarea {
	width: 100%;
	height: 52px;
	padding: 0 25px;
	outline: 0;
	color: #fff;
	border-radius: 2px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.1);
	transition: border-color 0.2s;
}
.rs-contact-one .rs-contact-form .wpcf7-form textarea {
	height: 115px;
	padding: 15px 25px;
	resize: none;
}
.rs-contact-one .rs-contact-form .wpcf7-form input::placeholder,
.rs-contact-one .rs-contact-form .wpcf7-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.7);
}
.rs-contact-one .rs-contact-form .wpcf7-form input:focus,
.rs-contact-one .rs-contact-form .wpcf7-form select:focus,
.rs-contact-one .rs-contact-form .wpcf7-form textarea:focus {
	border-color: #fff;
}
.rs-contact-one .rs-contact-form .wpcf7-form select option {
	color: #1f1f1f;
}
.rs-contact-one .rs-contact-form .wpcf7-form input[type="submit"] {
	width: auto;
	height: auto;
	padding: 15px 38px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background: var(--rs-black, #1f1f1f);
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.3s;
}
.rs-contact-one .rs-contact-form .wpcf7-form input[type="submit"]:hover {
	background: rgb(255, 92, 0);
}
.rs-contact-one .rs-contact-form .wpcf7-form .wpcf7-spinner {
	margin: 0 0 0 12px;
}
.rs-contact-one .rs-contact-form .wpcf7-form .wpcf7-not-valid-tip {
	color: #ffd9d0;
	font-size: 14px;
	margin-top: 6px;
}
.rs-contact-one .rs-contact-form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 10px 14px;
	border-radius: 4px;
	font-size: 14px;
	color: #fff;
}


/* =========================================================
   FLASHBK — PRODUCT LOWER SECTION
   Product Description · Perché Sceglierci · Specs/Downloads · Video
   ========================================================= */

/* ── Product Description ── */
.flashbk-product-description {
	font-size: 15px;
	line-height: 1.75;
	color: #444;
	margin-bottom: 48px;
}
.flashbk-product-description p {
	margin-bottom: 1em;
}
.flashbk-product-description p:last-child {
	margin-bottom: 0;
}

/* ── Perché Sceglierci ── */
.flashbk-psc-section {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	margin-bottom: 52px;
	background: #fbfbfb;
}
.flashbk-psc-section__heading {
	font-size: 24px;
	font-weight: 800;
	color: #1a1a1a;
	margin-bottom: 80px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.flashbk-psc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
@media (max-width: 768px) {
	.flashbk-psc-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}
.flashbk-psc-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0;
	padding: 0 16px;
	background: transparent;
	border: none;
	border-radius: 0;
}
.flashbk-psc-item__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}
.flashbk-psc-item__icon img {
	width: 80px;
	height: auto;
	display: block;
}
.flashbk-psc-item__body {
	flex: 1;
	min-width: 0;
}
.flashbk-psc-item__title {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 8px;
}
.flashbk-psc-item__desc {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	margin: 0;
}

/* ── Specs + Downloads: layout 2 colonne ── */
.flashbk-specs-downloads {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	align-items: start;
	margin-bottom: 52px;
}
@media (max-width: 1024px) {
	.flashbk-specs-downloads {
		grid-template-columns: 1fr;
	}
}
.flashbk-specs-col__heading,
.flashbk-downloads-col__heading {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--rs-theme-orange, #e96f25);
}

/* Specifiche: tabella stile */
.flashbk-specifiche-tab table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.flashbk-specifiche-tab th,
.flashbk-specifiche-tab td {
	padding: 10px 14px;
	border: 1px solid #e0e0e0;
	vertical-align: top;
}
.flashbk-specifiche-tab th {
	background: #f5f5f5;
	font-weight: 600;
	color: #1a1a1a;
	width: 40%;
}
.flashbk-specifiche-tab tr:nth-child(even) td {
	background: #fafafa;
}

/* ── Downloads list ── */
.flashbk-downloads-col {
	background: #f8f8f8;
	border-radius: 10px;
	border: 1px solid #efefef;
	padding: 24px 20px;
}
.flashbk-downloads-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.flashbk-downloads-list__item {
	margin: 0;
}
.flashbk-downloads-list__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 7px;
	text-decoration: none;
	color: #1a1a1a;
	font-size: 14px;
	font-weight: 500;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.flashbk-downloads-list__link:hover {
	border-color: var(--rs-theme-orange, #e96f25);
	box-shadow: 0 2px 8px rgba(233, 111, 37, 0.12);
	color: var(--rs-theme-orange, #e96f25);
}
.flashbk-downloads-list__icon {
	flex-shrink: 0;
	color: var(--rs-theme-orange, #e96f25);
	transition: color 0.2s;
}
.flashbk-downloads-list__name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.flashbk-downloads-list__ext {
	flex-shrink: 0;
	font-size: 14px;
	font-weight: 700;
	color: #999;
	background: #f0f0f0;
	border-radius: 4px;
	padding: 2px 6px;
	letter-spacing: 0.04em;
}

/* ── Video Section ── */
/* ── Tab nav: Specifiche / Video ── */
.flashbk-tab-nav {
	display: flex;
	gap: 0;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 24px;
}
.flashbk-tab-btn {
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	padding: 10px 20px;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #999;
	cursor: pointer;
	transition: color 0.2s, border-color 0.2s;
}
.flashbk-tab-btn:hover {
	color: #1a1a1a;
}
.flashbk-tab-btn.is-active {
	color: var(--rs-theme-orange, #e96f25);
	border-bottom-color: var(--rs-theme-orange, #e96f25);
}

/* ── Tab panels ── */
.flashbk-tab-panel {
	display: none;
}
.flashbk-tab-panel.is-active {
	display: block;
}

/* ── Video dentro il pannello ── */
.flashbk-video-section__fallback {
	color: #888;
	font-size: 14px;
	font-style: italic;
	padding: 24px;
	background: #f8f8f8;
	border-radius: 8px;
	margin: 0;
}
.flashbk-video-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	gap: 24px;
}
@media (max-width: 600px) {
	.flashbk-video-grid {
		grid-template-columns: 1fr;
	}
}
.flashbk-video-item__title {
	font-size: 14px;
	font-weight: 600;
	color: #333;
	margin-bottom: 10px;
}
.flashbk-video-item__embed {
	position: relative;
	width: 100%;
	padding-top: 56.25%; /* 16:9 */
	border-radius: 10px;
	overflow: hidden;
	background: #000;
}
.flashbk-video-item__embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ── Hero homepage: padding responsivo per CTA above the fold ── */
.rs-banner-one .rs-banner-item-wrapper {
	padding: clamp(80px, 10vh, 200px) 0 clamp(60px, 8vh, 190px) 0 !important;
}
@media only screen and (max-width: 1600px) {
	.rs-banner-one .rs-banner-item-wrapper {
		padding: clamp(80px, 10vh, 150px) 0 clamp(60px, 8vh, 150px) 0 !important;
		padding-inline-start: 150px !important;
	}
}
@media only screen and (max-width: 1199px) {
	.rs-banner-one .rs-banner-item-wrapper {
		padding: clamp(60px, 8vh, 130px) 0 clamp(50px, 6vh, 130px) 0 !important;
		padding-inline-start: 120px !important;
	}
}

/* ── Related slider: immagini proporzionate, 4 per volta ── */
.flashbk-related-slider .rs-product-thumb {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f5f5f5;
}
.flashbk-related-slider .rs-product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* ── Settori correlati: card overlay stile template originale ── */
.flashbk-settore-card {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 768 / 884;
	background: #1a1a2e;
	text-decoration: none;
}
.flashbk-settore-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.5s ease;
}
.flashbk-settore-card:hover .flashbk-settore-card__img {
	transform: scale(1.05);
}
.flashbk-settore-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(10, 10, 30, 0.05) 30%,
		rgba(10, 10, 30, 0.85) 100%
	);
	z-index: 1;
}
.flashbk-settore-card__body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 28px 24px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.flashbk-settore-card__badge {
	display: inline-block;
	background: var(--flashbk-brand, #EA5501);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 14px;
	border-radius: 100px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	align-self: flex-start;
}
.flashbk-settore-card__title {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}
.flashbk-settore-card__subtitle {
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

/* ── Related slider: dots ── */
.flashbk-related-slider .swiper-pagination {
	position: static;
	margin-top: 28px;
	display: flex;
	justify-content: center;
	gap: 6px;
}
.flashbk-related-slider .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #ccc;
	opacity: 1;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}
.flashbk-related-slider .swiper-pagination-bullet-active {
	background: var(--flashbk-brand, #EA5501);
	transform: scale(1.3);
}

.flashbk-blade-table  a.added_to_cart {
	padding: .5em;
	display: block;
}


/* ============================================================
   FLASHBK CART PAGE — Bottone checkout override
   ============================================================ */
.wc-proceed-to-checkout {
	margin-top: 0 !important;
	padding: 0 !important;
}
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .checkout-button {
	display: block !important;
	width: 100% !important;
	margin-top: 24px !important;
	padding: 16px 24px !important;
	background: #EA5501 !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #fff !important;
	text-align: center !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: background 0.18s !important;
	line-height: 1 !important;
	box-shadow: 0 4px 16px rgba(234,85,1,.35) !important;
}
.wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
	background: #c24600 !important;
	color: #fff !important;
}


/* ============================================================
   FLASHBK — WooCommerce BLOCK Cart (Gutenberg)
   Target: .wp-block-woocommerce-cart e classi wc-block-*
   ============================================================ */

/* Reset padding pagina */
.woocommerce-cart .rs-main-wrapper,
.woocommerce-cart .entry-content {
	padding-top: 0 !important;
}

/* Wrapper principale */
.wp-block-woocommerce-cart {
	max-width: 1160px !important;
	margin: 0 auto !important;
	padding: 48px 24px 80px !important;
}

/* ── Layout sidebar ── */
.wc-block-components-sidebar-layout.wc-block-cart {
	gap: 48px !important;
	align-items: start !important;
}

/* ══════════════════════════════
   TABELLA PRODOTTI (colonna sx)
   ══════════════════════════════ */
.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
	border-collapse: collapse !important;
	width: 100% !important;
}

/* Header tabella */
.wc-block-cart-items__header {
	border-bottom: 2px solid #111 !important;
}
.wc-block-cart-items__header th {
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #888 !important;
	padding: 0 12px 14px !important;
	background: transparent !important;
}
.wc-block-cart-items__header-image { width: 88px !important; }

/* Righe prodotto */
.wc-block-cart-items__row {
	border-bottom: 1px solid #ebebeb !important;
	transition: background 0.15s !important;
}
.wc-block-cart-items__row:hover {
	background: #fafafa !important;
}
.wc-block-cart-items__row td {
	padding: 18px 12px !important;
	vertical-align: middle !important;
}

/* Immagine prodotto */
.wc-block-cart-item__image {
	width: 88px !important;
	min-width: 88px !important;
}
.wc-block-cart-item__image img {
	width: 76px !important;
	height: 76px !important;
	object-fit: contain !important;
	border-radius: 6px !important;
	background: #f5f5f5 !important;
	border: 1px solid #ebebeb !important;
}

/* Nome prodotto */
.wc-block-components-product-name {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #111 !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	display: block !important;
	margin-bottom: 4px !important;
}
.wc-block-components-product-name:hover {
	color: #EA5501 !important;
}

/* Prezzo riga */
.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-cart-item__prices .price {
	font-size: 13px !important;
	color: #888 !important;
	font-weight: 500 !important;
}

/* Metadata variazioni */
.wc-block-components-product-metadata {
	font-size: 12px !important;
	color: #aaa !important;
	margin-top: 2px !important;
}

/* Quantità stepper */
.wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center !important;
	border: 1.5px solid #ddd !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	height: 38px !important;
	background: #fff !important;
	box-shadow: none !important;
}
.wc-block-components-quantity-selector__input {
	width: 44px !important;
	height: 38px !important;
	border: none !important;
	border-left: 1.5px solid #ddd !important;
	border-right: 1.5px solid #ddd !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #111 !important;
	background: #fff !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
}
.wc-block-components-quantity-selector__input:focus {
	outline: none !important;
	box-shadow: none !important;
}
.wc-block-components-quantity-selector__button {
	width: 34px !important;
	height: 38px !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #333 !important;
	transition: background 0.15s, color 0.15s !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}
.wc-block-components-quantity-selector__button:hover {
	background: #EA5501 !important;
	color: #fff !important;
}
.wc-block-components-quantity-selector__button:disabled {
	opacity: 0.35 !important;
}

/* Bottone rimuovi */
.wc-block-cart-item__remove-link {
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	border: 1.5px solid #ddd !important;
	background: none !important;
	color: #bbb !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	transition: border-color 0.15s, color 0.15s, background 0.15s !important;
}
.wc-block-cart-item__remove-link:hover {
	border-color: #dc2626 !important;
	color: #dc2626 !important;
	background: #fff5f5 !important;
}
.wc-block-cart-item__remove-link svg {
	width: 13px !important;
	height: 13px !important;
}

/* Subtotale riga (colonna destra tabella) */
.wc-block-cart-item__total .wc-block-components-formatted-money-amount {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #EA5501 !important;
}
.wc-block-cart-item__total {
	text-align: right !important;
}

/* ══════════════════════════════
   SIDEBAR TOTALI (colonna dx)
   ══════════════════════════════ */
.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
	background: #111 !important;
	border-radius: 8px !important;
	padding: 32px 28px !important;
	position: sticky !important;
	top: 100px !important;
}

/* Titolo riepilogo */
.wc-block-cart__totals-title {
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #EA5501 !important;
	margin-bottom: 20px !important;
	border: none !important;
	padding: 0 !important;
}
.woocommerce-bacs-bank-details {display: none;}
/* Righe totali */
.wc-block-components-totals-wrapper {
	padding: 16px 10px;
}
.wc-block-components-totals-item {
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	padding: 10px 0 !important;
}
.wc-block-components-totals-item__label {
	font-size: 13px !important;
	color: #aaa !important;
	font-weight: 500 !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-item__value .wc-block-formatted-money-amount {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #fff !important;
}

/* Riga totale footer (grande) */
.wc-block-components-totals-footer-item {
	border: none !important;
	padding-top: 18px !important;
	margin-top: 6px !important;
	border-top: 2px solid rgba(255,255,255,.15) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #fff !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
.wc-block-components-totals-footer-item-tax-value {
	font-size: 26px !important;
	font-weight: 900 !important;
	color: #EA5501 !important;
}

/* Coupon panel */
.wc-block-components-totals-coupon.wc-block-components-panel {
	border: none !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	padding: 8px 0 !important;
	margin-bottom: 4px !important;
}
.wc-block-components-panel__button {
	color: #aaa !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	background: none !important;
	border: none !important;
	padding: 6px 0 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	width: 100% !important;
	transition: color 0.15s !important;
}
.wc-block-components-panel__button:hover {
	color: #EA5501 !important;
}
.wc-block-components-panel__button-icon {
	color: inherit !important;
}
/* Input coupon (quando aperto) */
.wc-block-components-totals-coupon__form {
	display: flex !important;
	gap: 8px !important;
	margin-top: 10px !important;
}
.wc-block-components-totals-coupon__input .wc-block-components-text-input,
.wc-block-components-totals-coupon__input input {
	height: 38px !important;
	background: rgba(255,255,255,.1) !important;
	border: 1.5px solid rgba(255,255,255,.2) !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-size: 13px !important;
	padding: 0 12px !important;
}
.wc-block-components-totals-coupon__input input::placeholder { color: #666 !important; }
.wc-block-components-totals-coupon__input input:focus {
	border-color: #EA5501 !important;
	outline: none !important;
	box-shadow: none !important;
}
.wc-block-components-totals-coupon__button {
	height: 38px !important;
	padding: 0 16px !important;
	background: rgba(255,255,255,.12) !important;
	border: 1.5px solid rgba(255,255,255,.2) !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
	white-space: nowrap !important;
}
.wc-block-components-totals-coupon__button:hover {
	background: #EA5501 !important;
	border-color: #EA5501 !important;
}

/* Sconto coupon applicato */
.wc-block-components-totals-discount .wc-block-components-totals-item__value,
.wc-block-components-totals-discount .wc-block-formatted-money-amount {
	color: #4ade80 !important;
}

/* Bottone Checkout */
.wc-block-cart__submit-container {
	margin-top: 0 !important;
	padding: 0 !important;
}
.wc-block-cart__submit-button.wc-block-components-button.contained,
.wc-block-cart__submit.wp-block-woocommerce-proceed-to-checkout-block a,
a.wc-block-cart__submit-button {
	display: block !important;
	width: 100% !important;
	margin-top: 22px !important;
	padding: 16px 24px !important;
	background: #EA5501 !important;
	border: none !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #fff !important;
	text-align: center !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: background 0.18s, transform 0.12s !important;
	box-shadow: 0 4px 18px rgba(234,85,1,.4) !important;
	justify-content: center !important;
}
.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover {
	background: #c24600 !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
}
.wc-block-components-button__text {
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

/* Nota sicurezza sotto checkout */
.wc-block-cart__submit::after {
	content: '🔒  Pagamento sicuro e protetto';
	display: block !important;
	text-align: center !important;
	font-size: 11px !important;
	color: #555 !important;
	margin-top: 12px !important;
}

/* ── Tasse / note ── */
.wc-block-components-totals-item__description,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	font-size: 11px !important;
	color: #555 !important;
	margin-top: 4px !important;
}

/* ── Notices/errori ── */
.wc-block-components-notices .wc-block-components-notice-banner {
	border-radius: 6px !important;
	margin-bottom: 16px !important;
	font-size: 14px !important;
}

/* ══════════════════════════════
   RESPONSIVE
   ══════════════════════════════ */
@media (max-width: 768px) {
	.wp-block-woocommerce-cart {
		padding: 24px 16px 60px !important;
	}
	.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
		padding: 24px 20px !important;
		position: static !important;
	}
	.wc-block-cart-items__header { display: none !important; }
}

/* ══════════════════════════════
   SEZIONE: Installatori & Manutentori
   CPT flashbk_settore – slug installatori-manutentori
   ══════════════════════════════ */

/* Descrizione sotto al titolo — stile neutro come nel resto del tema */
.rs-im-descrip {
	color: var(--rs-text-primary);
	font-size: var(--rs-fs-p);
	line-height: 1.7;
	margin-top: 16px;
}

/* Card */
.rs-im-card {
	background-color: var(--rs-white);
	border: 1px solid var(--rs-border-secondary);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 200ms ease, transform 200ms ease;
}

.rs-im-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.09);
	transform: translateY(-2px);
}

/* Immagine card */
.rs-im-card__thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: var(--rs-bg-primary);
}

.rs-im-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}

.rs-im-card:hover .rs-im-card__thumb img {
	transform: scale(1.03);
}

/* Footer card: play a sinistra, CTA a destra */
.rs-im-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-top: 1px solid var(--rs-border-primary);
	gap: 12px;
	margin-top: auto;
}

/* Play button lightbox */
.rs-im-card__play {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--rs-theme-orange);
	display: flex;
	align-items: center;
	transition: color 200ms ease, transform 200ms ease;
	flex-shrink: 0;
	gap: 10px;
}

.rs-im-card__play:hover {
	color: var(--rs-title-primary);
	transform: scale(1.08);
}

.rs-im-card__play svg {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
}

.rs-im-card__play-label {
	font-size: var(--rs-fs-b1);
	font-weight: 500;
	color: currentColor;
	line-height: 1;
}

/* CTA usa già .rs-btn has-theme-orange has-icon has-bg — solo override dimensioni */
.rs-im-card__cta.rs-btn {
	font-size: inherit;
	padding: 10px;
}

/* Lightbox Vimeo */
.rs-im-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rs-im-lightbox[hidden] {
	display: none;
}

.rs-im-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.85);
	cursor: pointer;
}

.rs-im-lightbox__content {
	position: relative;
	width: min(90vw, 960px);
	z-index: 1;
}

.rs-im-lightbox__close {
	position: absolute;
	top: -44px;
	right: 0;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--rs-white);
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 200ms ease;
}

.rs-im-lightbox__close:hover {
	opacity: 0.7;
}

.rs-im-lightbox__close svg {
	width: 28px;
	height: 28px;
}

.rs-im-lightbox__frame {
	aspect-ratio: 16 / 9;
	background-color: #000;
	border-radius: 8px;
	overflow: hidden;
}

.rs-im-lightbox__frame iframe {
	width: 100%;
	height: 100%;
	display: block;
}

/* ─────────────────────────────────────────────
   Simulatore Impatto FlashBK NF
   Coerente con --flashbk-brand e rs-counter
   ───────────────────────────────────────────── */
.flashbk-sim {
	background: linear-gradient(180deg, var(--flashbk-brand-lighter, #fff3eb) 0%, #ffffff 100%);
}
.flashbk-sim__lead {
	margin-top: 14px;
	color: #4a4a4a;
	font-size: 20px;
	line-height: 1.55;
}
.flashbk-sim__hero {
	margin: 0 auto 60px;
	text-align: center;
	padding: 48px 32px 40px;
	background: #ffffff;
	border: 1px solid rgba(234, 85, 1, 0.18);
	border-radius: 18px;
	box-shadow: 0 24px 60px -30px rgba(234, 85, 1, 0.35);
	position: relative;
	overflow: hidden;
}
.flashbk-sim__hero::before {
	content: "";
	position: absolute;
	inset: auto -20% -60% auto;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(234,85,1,0.12) 0%, rgba(234,85,1,0) 70%);
	pointer-events: none;
}
.flashbk-sim__hero-number {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	color: var(--flashbk-brand, #EA5501);
	font-weight: 800;
	line-height: 1;
}
.flashbk-sim__hero-number .flashbk-sim__num {
	font-size: clamp(72px, 12vw, 160px);
	letter-spacing: -0.03em;
}
.flashbk-sim__hero-number .flashbk-sim__sign,
.flashbk-sim__hero-number .flashbk-sim__unit {
	font-size: clamp(40px, 6vw, 80px);
	font-weight: 700;
}
.flashbk-sim__hero-label {
	display: block;
	margin-top: 14px;
	font-size: 24px;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.3;
}
.flashbk-sim__range {
	display: block;
	margin-top: 10px;
	font-size: 18px;
	color: #6b6b6b;
	letter-spacing: 0.02em;
}
.flashbk-sim__range--sm {
	font-size: 17px;
	margin-top: 6px;
}

/* Tabs gruppi */
.flashbk-sim__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin: 0 0 36px;
}
.flashbk-sim__tab {
	background: #ffffff;
	border: 1.5px solid rgba(234, 85, 1, 0.25);
	color: #1a1a1a;
	font-weight: 600;
	font-size: 18px;
	padding: 14px 28px;
	border-radius: 999px;
	cursor: pointer;
	transition: all 0.25s ease;
}
.flashbk-sim__tab:hover {
	border-color: var(--flashbk-brand, #EA5501);
	color: var(--flashbk-brand, #EA5501);
}
.flashbk-sim__tab.is-active {
	background: var(--flashbk-brand, #EA5501);
	border-color: var(--flashbk-brand, #EA5501);
	color: #ffffff;
	box-shadow: 0 8px 20px -8px rgba(234, 85, 1, 0.5);
}

/* Pannelli e card */
.flashbk-sim__panel { display: none; }
.flashbk-sim__panel.is-active { display: block; }

.flashbk-sim__card {
	background: #ffffff;
	border: 1px solid #ececec;
	border-radius: 14px;
	padding: 28px 20px;
	height: 100%;
	text-align: center;
	transition: all 0.25s ease;
}
.flashbk-sim__card:hover {
	border-color: rgba(234, 85, 1, 0.35);
	transform: translateY(-3px);
	box-shadow: 0 16px 32px -20px rgba(0, 0, 0, 0.2);
}
.flashbk-sim__card .rs-counter-number-wrapper {
	color: var(--flashbk-brand, #EA5501);
	font-weight: 800;
	font-size: 56px;
	line-height: 1;
}
.flashbk-sim__card .rs-counter-number {
	font-size: 56px;
}
.flashbk-sim__card .rs-counter-title {
	display: block;
	margin-top: 12px;
	font-size: 20px;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.35;
}
.flashbk-sim__note {
	display: block;
	margin-top: 8px;
	font-size: 17px;
	color: #6b6b6b;
	font-style: italic;
	line-height: 1.45;
}

.flashbk-sim__disclaimer {
	margin-top: 40px;
	text-align: center;
	font-size: 17px;
	color: #6b6b6b;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.55;
}

@media (max-width: 767px) {
	.flashbk-sim__hero { padding: 36px 20px 28px; }
	.flashbk-sim__tab { padding: 12px 22px; font-size: 17px; }
	.flashbk-sim__card { padding: 22px 16px; }
	.flashbk-sim__card .rs-counter-number-wrapper,
	.flashbk-sim__card .rs-counter-number { font-size: 44px; }
	.flashbk-sim__lead { font-size: 18px; }
	.flashbk-sim__range { font-size: 17px; }
	.flashbk-sim__range--sm { font-size: 16px; }
	.flashbk-sim__note { font-size: 16px; }
	.flashbk-sim__disclaimer { font-size: 16px; }
	.flashbk-sim__hero-label { font-size: 20px; }
	.flashbk-sim__card .rs-counter-title { font-size: 18px; }
}
