@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
/* ======================================================================
   Anteprima «stile mastertuning.it» sul frontend del tenant (?tema=mt).
   Stesso linguaggio del sito Laravel: Inter, nero inchiostro #0b0b0c,
   rosso #c7081b come unico accento, titoli 800 con enfasi rossa,
   etichette rosse in maiuscolo, pulsanti rossi, fasce nere con filo rosso.
   Si carica DOPO theme-bancoprova.css. Solo stile.
   ====================================================================== */
:root {
  --mt-ink: #0b0b0c; --mt-ink-2: #2d2d2d; --mt-body: #3a3a3a; --mt-muted: #6b6b6b;
  --mt-line: #e3e3e3; --mt-line-2: #c9c9c9; --mt-surface: #fafafa; --mt-card: #ffffff;
  --mt-red: var(--color-primary-500, #c7081b); --mt-red-d: var(--color-primary-600, #a50616);
  --mt-r: 10px;
}
html body { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important; color: var(--mt-body); background-image: none !important; }
html body :is(h1,h2,h3,h4,h5,h6,p,li,a,span,td,th,label,button,input,select,textarea):not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not(iconify-icon) { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif !important; }

/* titoli: nero inchiostro, peso 800, tracking stretto */
html body :is(main, #main-content, .ecu-main):not(#_) :is(h1,h2,h3,h4,h5,h6) { color: var(--mt-ink) !important; -webkit-text-fill-color: var(--mt-ink) !important; font-weight: 800 !important; letter-spacing: -0.025em !important; }
html body :is(main, #main-content, .ecu-main):not(#_) h1 { font-size: clamp(2.25rem, 5vw, 3.75rem) !important; line-height: 1.04 !important; }
html body :is(main, #main-content, .ecu-main):not(#_) h2 { font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important; line-height: 1.1 !important; }
html body :is(main, #main-content):not(#_) :is(p, li, td) { color: var(--mt-body) !important; }
html body :is(main, #main-content):not(#_) strong { color: var(--mt-ink) !important; -webkit-text-fill-color: var(--mt-ink) !important; }

/* etichette rosse in maiuscolo sopra i titoli (come «APP MASTERTUNING») */
html body :is(main, #main-content):not(#_) :is(.widget-premium .wp-badge, .wp-header .wp-badge, .brandsSection h6, .wp-step-subtitle, .blog-post__category, .ContentWrapper > h6) {
  color: var(--mt-red) !important; -webkit-text-fill-color: var(--mt-red) !important; font-size: .75rem !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important; margin-bottom: 10px !important;
}

/* hero: testo a sinistra, titolo bianco enorme, pulsanti sotto */
html body :is(section.HeaderLarge.bgImg):not(#_) { justify-content: flex-start; text-align: left; min-height: min(78vh, 720px); }
html body :is(section.HeaderLarge.bgImg) .container:not(#_) { text-align: left !important; max-width: 1280px; padding-left: clamp(20px, 4vw, 48px); padding-right: 20px; }
html body :is(section.HeaderLarge.bgImg) :is(.BnrMainTitle, h6.SubTitleHeader):not(#_) {
  font-size: clamp(2.75rem, 6.6vw, 5.25rem) !important; line-height: 1 !important; font-weight: 800 !important; letter-spacing: -0.035em !important; text-align: left !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
}
html body :is(section.HeaderLarge.bgImg) .bnrSubTitle:not(#_) { text-align: left !important; font-weight: 400 !important; font-size: clamp(1.0625rem, 1.8vw, 1.375rem) !important; max-width: 36rem; margin-left: 0 !important; }
html body :is(section.HeaderLarge.bgImg) :is(.bannerAction, .hero-content-body):not(#_) { justify-content: flex-start !important; text-align: left !important; margin-left: 0 !important; }
html body :is(section.HeaderLarge.bgImg, section.headerSmall.bgImg, .innerBanner):not(#_)::before { background: linear-gradient(90deg, rgba(11,11,12,.78) 0%, rgba(11,11,12,.46) 55%, rgba(11,11,12,.22) 100%) !important; }
html body :is(section.headerSmall.bgImg, .innerBanner) :is(.BnrMainTitle, h1, h6.SubTitleHeader):not(#_) { font-weight: 800 !important; }

/* pulsanti: rosso pieno, angoli 10, freccia nel testo gia' presente nel markup */
html body :is(main, #main-content, .ecu-main):not(#_) :is(.btn-default, a.btn-default, .wp-btn-primary, .btn-primary, .btn-danger, .btn-search, .pd-add-to-cart-btn, .cta .t, .add-to-cart-btn, .qsv2-submit-btn, .modbuy, .wp-btn) {
  background: var(--mt-red) !important; border: 1px solid var(--mt-red) !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
  border-radius: var(--mt-r) !important; font-weight: 700 !important; letter-spacing: 0 !important; padding: 14px 28px !important; min-height: 50px;
  box-shadow: 0 10px 22px -12px rgba(199,8,27,.65) !important;
}
html body :is(main, #main-content, .ecu-main):not(#_) :is(.btn-default, a.btn-default, .wp-btn-primary, .btn-primary, .btn-danger, .btn-search, .pd-add-to-cart-btn, .cta .t, .add-to-cart-btn, .qsv2-submit-btn, .wp-btn):hover {
  background: var(--mt-red-d) !important; border-color: var(--mt-red-d) !important;
}
html body :is(main, #main-content, .ecu-main):not(#_) :is(.btn-default.btn-highlighted, .btn-outline-danger, .btn-outline-secondary, .cta .b, .pd-related-cart-btn, .btn-secondary, .ts-back) {
  background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.5) !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
  border-radius: var(--mt-r) !important; font-weight: 700 !important; box-shadow: none !important; backdrop-filter: blur(6px);
}
html body :is(main, #main-content):not(#_) :is(.btn-outline-danger, .btn-outline-secondary, .pd-related-cart-btn, .ts-back, .cta .b) {
  background: #fff !important; border: 1px solid var(--mt-line-2) !important; color: var(--mt-ink) !important; -webkit-text-fill-color: var(--mt-ink) !important; backdrop-filter: none;
}

/* superfici: bianche con filetto e angoli 12 */
html body :is(main, #main-content):not(#_) :is(.blog-card, .wp-tuning-card, .ts-card, .product-card, .modcard, .related-post-card, .pd-related-product, .card, .wp-card, .search-bar-wrapper, .qsv2-search-card) {
  background: var(--mt-card) !important; border: 1px solid var(--mt-line) !important; border-radius: 12px !important; box-shadow: none !important; overflow: hidden;
}
html body :is(main, #main-content):not(#_) :is(.blog-card, .wp-tuning-card, .ts-card, .product-card, .modcard, .related-post-card, .pd-related-product):hover {
  border-color: var(--mt-line-2) !important; box-shadow: 0 18px 40px -28px rgba(11,11,12,.45) !important; background: #fff !important;
}
html body :is(main, #main-content):not(#_) :is(.wp-contact-form, .PrivacypolicyContainer .mappingleftsec) { background: #fff !important; border: 1px solid var(--mt-line) !important; border-radius: 14px !important; }
html body :is(main, #main-content):not(#_) .wp-step-item { background: var(--mt-surface) !important; border: 1px solid var(--mt-line) !important; border-radius: 12px !important; padding: 28px 20px !important; }
html body .wp-step-number:not(#_) { background: var(--mt-red) !important; color: #fff !important; }

/* fasce scure con filo rosso sopra (come «Visualizza l'incremento…») */
html body :is(main, #main-content):not(#_) .wp-cta { background: var(--mt-ink) !important; border-top: 3px solid var(--mt-red) !important; }
html body :is(main, #main-content):not(#_) .wp-cta :is(h2,h3,p) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body :is(main, #main-content):not(#_) .wp-cta h2 { font-weight: 800 !important; }

/* campi */
html body :is(main, #main-content):not(#_) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea, .form-control, .form-select, .qsv2-select) {
  border: 1px solid var(--mt-line-2) !important; border-radius: 8px !important; background: #fff !important;
}
html body :is(main, #main-content):not(#_) :is(input, select, textarea):focus { border-color: var(--mt-ink) !important; box-shadow: 0 0 0 3px rgba(199,8,27,.22) !important; }

/* testi di contatto, link, enfasi */
html body :is(.blog-post__content, .PrivacypolicyContainer .mappingCont, .pd-description-content, .ts-seo-content):not(#_) a { color: var(--mt-red) !important; -webkit-text-fill-color: var(--mt-red) !important; }
html body .blog-card__read-more:not(#_) { color: var(--mt-red) !important; font-weight: 700 !important; }
html body :is(.blog-card__category, .blog-category-badge):not(#_) { background: var(--mt-ink) !important; color: #fff !important; border-radius: 6px !important; letter-spacing: .08em !important; text-transform: uppercase !important; font-weight: 700 !important; }
html body :is(.qsv2-vtype-btn.active):not(#_) { background: var(--mt-red) !important; border-color: var(--mt-red) !important; }
html body :is(.qsv2-title, .qsv2-field-label):not(#_) { font-weight: 800 !important; }
html body :is(.qsv2-field-label .qsv2-step-num):not(#_) { background: var(--mt-red) !important; }

/* --- correzioni: specificita' e scala --- */
html body :is(section.HeaderLarge.bgImg, section.headerSmall.bgImg, .innerBanner):not(#_):not(#__) :is(h1, h2, h3, h6, .BnrMainTitle, .SubTitleHeader, .bnrSubTitle, .smallHeaderTitle, p, span) {
  color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
}
html body :is(section.HeaderLarge.bgImg):not(#_):not(#__) :is(.BnrMainTitle, h6.SubTitleHeader) {
  font-size: clamp(2.75rem, 6.6vw, 5.25rem) !important; line-height: 1 !important; text-align: left !important;
}
html body :is(section.headerSmall.bgImg, .innerBanner):not(#_):not(#__) :is(.BnrMainTitle, h6.SubTitleHeader, h1) { font-size: clamp(2.25rem, 5vw, 3.75rem) !important; }
html body :is(main, #main-content):not(#_):not(#__) :is(.blog-card__title, .card-title, .wp-tuning-card h3, .wp-tuning-card h4, .related-post-card__title, .ts-card__title, .pd-related-title, .modinfo strong) {
  font-size: 1.1875rem !important; line-height: 1.3 !important; font-weight: 700 !important; letter-spacing: -0.015em !important;
}
html body :is(main, #main-content):not(#_):not(#__) .blog-header h1 { font-size: clamp(2.25rem, 4.4vw, 3.25rem) !important; }
html body :is(main, #main-content):not(#_):not(#__) :is(#productdetail_mainWrap h1, .boxcar-title-three h1, .pd-product-title) { font-size: clamp(1.625rem, 3vw, 2.5rem) !important; }
html body section.HeaderLarge.bgImg:not(#_):not(#__) { justify-content: flex-start !important; }
html body section.HeaderLarge.bgImg > .container:not(#_):not(#__) { width: 100% !important; margin-left: auto; margin-right: auto; }
html body section.HeaderLarge.bgImg :is(.BnrMainTitle, .bnrSubTitle, .bannerAction, .hero-content-body):not(#_):not(#__) { text-align: left !important; justify-content: flex-start !important; margin-left: 0 !important; }
html body section.HeaderLarge.bgImg :is(.BnrMainTitle, h6.SubTitleHeader):not(#_):not(#__):not(#___) { display: block !important; width: 100% !important; margin: 0 0 14px !important; text-align: left !important; }
html body section.HeaderLarge.bgImg .bannerAction:not(#_):not(#__):not(#___), html body section.HeaderLarge.bgImg .hero-content-body:not(#_):not(#__):not(#___) { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin: 24px 0 0 !important; gap: 14px; flex-wrap: wrap; }
html body section.HeaderLarge.bgImg a.btn-default:not(#_):not(#__):not(#___) { border-radius: 10px !important; }

/* --- rifinitura definitiva stile mastertuning.it --- */
html body :is(main, #main-content, .ecu-main):not(#_):not(#__):not(#___) :is(.btn-default, a.btn-default, .wp-btn-primary, .btn-primary, .btn-danger, .btn-search, .pd-add-to-cart-btn, .cta .t, .cta .b,
   .add-to-cart-btn, .qsv2-submit-btn, .modbuy, .wp-btn, .btn-outline-danger, .btn-outline-secondary, .btn-secondary, .pd-related-cart-btn, .ts-back, .btn) { border-radius: 10px !important; }
html body :is(main, #main-content):not(#_):not(#__):not(#___) :is(.badge, .pd-stock-status, .blog-post__tag, .pagination .page-link, .blog-pagination .page-link) { border-radius: 8px !important; }
html body :is(main, #main-content):not(#_):not(#__):not(#___) :is(.pd-meta-label, .pd-meta-item, .pd-meta-value, .pd-product-meta *) { font-size: .9375rem !important; font-weight: 500 !important; letter-spacing: 0 !important; line-height: 1.5 !important; }
html body :is(main, #main-content):not(#_):not(#__):not(#___) .pd-meta-label { font-weight: 700 !important; color: var(--mt-ink) !important; -webkit-text-fill-color: var(--mt-ink) !important; }
html body :is(main, #main-content):not(#_):not(#__):not(#___) :is(#shopFlow h1, .container-fluid h1.mb-0) { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; }
html body :is(main, #main-content):not(#_):not(#__):not(#___) :is(.card-header h5, .form-check-label, .sort-wrapper select) { font-weight: 600 !important; }
html body .qsv2-vtype-btn:not(#_):not(#__) { border-radius: 10px !important; }
html body :is(main, #main-content):not(#_):not(#__) :is(.wp-step-item) h3 { font-size: 1.125rem !important; }
html body .ecu-main:not(#_):not(#__):not(#___) .card h2 { font-size: 1.375rem !important; line-height: 1.2 !important; border-left: 0 !important; padding-left: 0 !important; margin-bottom: 14px !important; }
html body .ecu-main:not(#_):not(#__):not(#___) .hero h1 { font-size: clamp(2rem, 4.2vw, 3rem) !important; }
html body .ecu-main:not(#_):not(#__):not(#___) .grid a.it { border-radius: 10px !important; background: #fff !important; border: 1px solid var(--mt-line) !important; }
html body .ecu-main:not(#_):not(#__):not(#___) .grid a.it:hover { border-color: var(--mt-red) !important; }

/* ======================================================================
   RITMO VERTICALE — vuoti misurati su 25 pagine (impeccable layout):
   sezioni da 104px sopra e sotto sommavano 208px tra un blocco e l'altro;
   hero e testate oltre il necessario; coda prima del piede da 150-260px.
   ====================================================================== */
html body :is(.widget-premium, .qsv2-section, .PriceslistContainer):not(#_):not(#__) {
  padding-top: clamp(28px, 4vw, 56px) !important; padding-bottom: clamp(28px, 4vw, 56px) !important;
}
html body :is(.wp-header, .qsv2-title-wrap):not(#_):not(#__) { margin-bottom: clamp(20px, 2.6vw, 36px) !important; }
html body section.HeaderLarge.bgImg:not(#_):not(#__) { min-height: min(62vh, 560px) !important; }
html body :is(section.headerSmall.bgImg, .innerBanner):not(#_):not(#__) { min-height: min(30vh, 260px) !important; padding-top: 28px !important; padding-bottom: 28px !important; }
html body :is(.mainContainerBox, section.mainContainerBox):not(#_):not(#__) { margin: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
html body :is(main, .site-main, #main-content):not(#_):not(#__) { padding-bottom: 0 !important; margin-bottom: 0 !important; }
html body :is(.PrivacypolicyContainer):not(#_):not(#__) { padding-top: 24px !important; padding-bottom: 40px !important; }
html body .PrivacypolicyContainer .mappingleftsec:not(#_):not(#__) { margin-top: 0 !important; margin-bottom: 0 !important; }
html body :is(.shaperoundedTop, .shaperoundedBottom):not(#_):not(#__) { display: none !important; height: 0 !important; margin: 0 !important; }
/* testi lunghi del CMS: titoli con meno margine sopra */
html body :is(.entry-content, .wp-text-content):not(#_):not(#__) :is(h2, h3) { margin-top: clamp(28px, 3.4vw, 44px) !important; margin-bottom: 12px !important; }
html body :is(.entry-content, .wp-text-content):not(#_):not(#__) p { margin-bottom: 1rem !important; }
/* database veicoli e scheda motore */
html body main.ts-page:not(#_):not(#__) .ts-hero { padding: 24px 0 28px !important; }
html body main.ts-page:not(#_):not(#__) .ts-hero__subtitle { margin-bottom: 8px !important; }
html body main.ts-page:not(#_):not(#__) .ts-section { padding-top: clamp(20px, 3vw, 36px) !important; padding-bottom: clamp(20px, 3vw, 36px) !important; }
html body main.ts-page:not(#_):not(#__) :is(.ts-seo-content, .ts-section--seo) { margin-top: 0 !important; padding-top: 24px !important; }
html body main.ts-page:not(#_):not(#__) .ts-card__link { margin-bottom: 0 !important; }
/* ECU, shop, carrello */
html body .ecu-main:not(#_):not(#__) { padding-bottom: 8px !important; }
html body .ecu-main:not(#_):not(#__) .card { margin: 12px 0 !important; }
html body #shopFlow:not(#_):not(#__), html body .container-fluid:not(#_):not(#__) { padding-bottom: 28px !important; }

/* --- seconda passata sui vuoti (scheda motore, home, legali, servizi) --- */
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary__table tr { padding: 0 !important; }
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary__table td { padding: 12px 16px !important; }
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary { padding: 20px 24px !important; gap: 24px; }
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary__table { margin-bottom: 0 !important; }
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary__title { margin-bottom: 6px !important; font-size: 1.5rem !important; }
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary__specs-title { margin: 0 0 4px !important; padding-bottom: 8px !important; }
html body main.ts-page:not(#_):not(#__):not(#___) .ts-vehicle-summary__image { align-self: flex-start; }
html body :is(.wp-step-item):not(#_):not(#__):not(#___) { padding: 18px 14px !important; }
html body :is(.wp-steps-grid):not(#_):not(#__):not(#___) { gap: 16px !important; }
html body :is(.wp-header .wp-badge, .brandsSection h6, .ContentWrapper > h6):not(#_):not(#__):not(#___) { margin-bottom: 6px !important; }
html body .ContentWrapper > h3:not(#_):not(#__):not(#___) { margin-top: 0 !important; margin-bottom: 20px !important; }
html body .brandsSection:not(#_):not(#__):not(#___), html body .TuningSpacesLOGOS_Widget:not(#_):not(#__):not(#___) { padding-top: 24px !important; padding-bottom: 24px !important; }
html body .PrivacypolicyContainer .mappingCont h1:not(#_):not(#__):not(#___) { font-size: 1.75rem !important; margin-bottom: 8px !important; }
html body .PrivacypolicyContainer .mappingCont h2:not(#_):not(#__):not(#___) { font-size: 1.375rem !important; margin: 1.75rem 0 .5rem !important; }
html body .PrivacypolicyContainer .mappingCont h3:not(#_):not(#__):not(#___) { font-size: 1.125rem !important; margin: 1.25rem 0 .4rem !important; }
html body .PrivacypolicyContainer .mappingCont p:not(#_):not(#__):not(#___) { margin-bottom: .75rem !important; }
html body :is(main, #main-content) [style*="font-size:1.7rem"] { font-size: 1.75rem !important; }
html body .related-posts:not(#_):not(#__):not(#___) { margin-top: 32px !important; padding-top: 24px !important; }

/* --- terza passata: fascia dati dei servizi su una riga, passi e database piu' vicini --- */
html body :is(main, #main-content) :is(div:has(> div > [style*="font-size:1.7rem"]), div:has(> div > div[style*="font-size:1.7rem"])):not(#_):not(#__) {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 12px 20px !important; padding: 16px 20px !important;
}
html body .wp-steps:not(#_):not(#__):not(#___) { padding-bottom: 8px !important; }
html body .wp-steps .wp-header:not(#_):not(#__):not(#___) { margin-bottom: 16px !important; }
html body .TuningSpacesLOGOS_Widget:not(#_):not(#__):not(#___) { padding-top: 0 !important; }
html body .wp-step-number:not(#_):not(#__):not(#___) { margin: 0 auto 8px !important; }
html body .wp-step-subtitle:not(#_):not(#__):not(#___) { margin: 0 0 6px !important; }
html body .wp-step-item h3:not(#_):not(#__):not(#___), html body .wp-step-item .wp-step-title:not(#_):not(#__):not(#___) { margin: 0 !important; }
