/* ============================================================
   BNT Racing — skin scura racing applicata a tutto il sito
   (tranne la nuova home, che ha un template dedicato)
   ============================================================ */

:root {
	--bnt-red: #d3222a;
	--bnt-red-dark: #a8161d;
	--bnt-black: #0d0f12;
	--bnt-carbon: #16191e;
	--bnt-grey: #c6ccd4;
	--bnt-yellow: #ffd75e;
}

/* ---- fondo scuro globale ---- */
html, body,
.site, .site-content, #content, #page, #main,
.mesmerize-front-page, .content-wrapper {
	background-color: var(--bnt-black) !important;
	color: var(--bnt-grey);
}

/* neutralizza gli sfondi colorati (viola, verdi, bianchi) delle sezioni */
.elementor-section,
.elementor-section > .elementor-container,
.elementor-top-section,
.elementor-widget-wrap,
section[class*="section"],
.header-content-wrapper {
	background-color: transparent !important;
	background-image: none !important;
}

/* sezioni alternate: leggero carbonio per dare ritmo */
.elementor-section:nth-of-type(even) {
	background-color: var(--bnt-carbon) !important;
}

/* ---- tema Mesmerize/Highlight: barre e contenuti ---- */
.navigation-bar, .navigation-bar.coloured-nav, .navigation-bar.fixed {
	background-color: rgba(13, 15, 18, .97) !important;
	border-bottom: 1px solid #23272e;
}
.navigation-bar a, .navigation-bar .menu-item > a, .navigation-bar .menu > li > a {
	color: #e6e9ed !important;
}
.navigation-bar a:hover { color: #ff6b71 !important; }
.header-top, .header-top-bar { background-color: #0a0c0f !important; }
.header-top a, .header-top-bar a, .header-top-bar-area { color: #9aa1ab !important; }
.page-content, .gridContainer.content, .content-wrapper .content {
	background-color: var(--bnt-black) !important;
}
.footer.footer-simple, .footer, .footer-widgets-wrapper {
	background-color: #0a0c0f !important;
	color: var(--bnt-grey) !important;
}
/* overlay dell'intestazione pagina: da viola a scuro/rosso racing */
.background-overlay, .color-overlay::before, .header .color-overlay {
	background-image: linear-gradient(135deg, rgba(13, 15, 18, .9) 0%, rgba(211, 34, 42, .55) 100%) !important;
	background-color: transparent !important;
}

/* ---- header / menu del tema ---- */
header, .site-header, #masthead, .navbar, .header-bottom,
.mesmerize-inner-page-header, .fixed-header {
	background-color: rgba(13, 15, 18, .97) !important;
	background-image: none !important;
	border-bottom: 1px solid #23272e;
}
header a, .site-header a, .navbar a, #masthead a,
header .menu-item a, .navbar-nav a {
	color: #e6e9ed !important;
}
header a:hover, .navbar a:hover { color: #fff !important; }

/* CTA "Richiedi file online" nel menu */
.bnt-menu-cta a {
	background: var(--bnt-red) !important;
	color: #fff !important;
	padding: 9px 18px !important;
	border-radius: 8px !important;
	font-weight: 800 !important;
}
.bnt-menu-cta a:hover { background: var(--bnt-red-dark) !important; }

/* ---- titoli e testi ---- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-title, .page-title, .site-title {
	color: #ffffff !important;
}
p, li, .elementor-widget-text-editor, .elementor-text-editor,
.entry-content, .page-content, .elementor-icon-box-description {
	color: var(--bnt-grey);
}
a { color: #ff6b71; }
a:hover { color: #ff959a; }

.elementor-icon-box-title, .elementor-image-box-title { color: #fff !important; }
.elementor-icon, .elementor-icon i, .elementor-icon svg { color: var(--bnt-red) !important; fill: var(--bnt-red) !important; }

/* card/box di Elementor: bordo scuro coerente */
.elementor-widget-icon-box .elementor-widget-container,
.elementor-widget-image-box .elementor-widget-container,
.elementor-widget-call-to-action .elementor-widget-container {
	background-color: var(--bnt-carbon) !important;
	border: 1px solid #23272e !important;
	border-radius: 14px;
}

/* ---- bottoni: tutti rossi racing ---- */
.elementor-button, .elementor-button-link,
.wp-block-button__link,
button, input[type="submit"], input[type="button"],
.button, .btn, .wp-element-button,
.woocommerce a.button, .woocommerce button.button,
.mesmerize-button, a.cta-button {
	background-color: var(--bnt-red) !important;
	background-image: none !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 800 !important;
	text-transform: none;
}
.elementor-button:hover, .wp-block-button__link:hover,
button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover {
	background-color: var(--bnt-red-dark) !important;
	color: #fff !important;
}

/* ---- form: campi leggibili su fondo scuro ---- */
input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="search"], input[type="tel"],
input[type="url"], textarea, select {
	background-color: #1b1f26 !important;
	color: #e6e9ed !important;
	border: 1px solid #343a43 !important;
	border-radius: 8px !important;
}
::placeholder { color: #7b828c !important; }
label { color: #e6e9ed; }

/* ---- footer ---- */
footer, .site-footer, #colophon, .footer-widgets {
	background-color: #0a0c0f !important;
	background-image: none !important;
	color: var(--bnt-grey) !important;
	border-top: 1px solid #23272e;
}
footer a, .site-footer a { color: #ff6b71 !important; }

/* ---- WooCommerce ---- */
.woocommerce-message, .woocommerce-info {
	background: var(--bnt-carbon) !important;
	color: var(--bnt-grey) !important;
	border-top-color: var(--bnt-red) !important;
}
.woocommerce ul.products li.product, .woocommerce-page .related.products {
	background: var(--bnt-carbon);
	border-radius: 14px;
}
.price, .woocommerce-Price-amount { color: var(--bnt-yellow) !important; }

/* ============================================================
   PORTALE CLIENTI: le card del portale restano chiare e leggibili
   ============================================================ */
.bnt-portal { color: #e6e9ed; }
.bnt-portal .bnt-topbar, .bnt-portal .bnt-hello,
.bnt-portal .bnt-topbar span, .bnt-portal .bnt-topbar strong { color: #e6e9ed !important; }
.bnt-portal > .bnt-orders em, .bnt-portal .bnt-order em { color: #9aa1ab !important; }
.bnt-portal .bnt-card { background: #fff !important; }
.bnt-portal .bnt-card, .bnt-portal .bnt-card p, .bnt-portal .bnt-card li,
.bnt-portal .bnt-card label, .bnt-portal .bnt-card h3,
.bnt-portal .bnt-card h4, .bnt-portal .bnt-card h5 {
	color: #222 !important;
}
.bnt-portal .bnt-card h3, .bnt-portal .bnt-card h4 { color: #111 !important; }
.bnt-portal .bnt-small { color: #667 !important; }
.bnt-portal .bnt-service-cost { color: var(--bnt-red) !important; }
.bnt-portal .bnt-cat h5 { color: var(--bnt-red) !important; }
.bnt-portal .bnt-form input[type=text], .bnt-portal .bnt-form input[type=email],
.bnt-portal .bnt-form input[type=password], .bnt-portal .bnt-form textarea {
	background: #fff !important;
	color: #222 !important;
	border: 1px solid #cfd3d9 !important;
}
.bnt-portal .bnt-service { background: #f7f8fa !important; }
.bnt-portal .bnt-service .bnt-service-name { color: #222 !important; }
.bnt-portal .bnt-tabs a { background: #23272e; color: #cfd3d9; }
.bnt-portal .bnt-tabs a.active { background: var(--bnt-red); color: #fff; }
.bnt-portal .bnt-btn { color: #fff !important; }
.bnt-portal .bnt-btn-ghost { background: #fff !important; color: #333 !important; border: 1px solid #cfd3d9 !important; }
