/*
 * Alberio Auto — Override grafico
 * Palette: Blu Navy #0d1b3e · Rosso #e63946
 * Fonts:   Montserrat (headings) · Inter (body)
 *
 * Sostituisce:
 *   #dd8411 / #fab637  →  Rosso accento   #e63946
 *   #121e24            →  Navy primario   #0d1b3e
 *   #567ab4            →  Navy ombra      #9b1a21
 *   #7c9fda / #b6ccf0  →  Tinte navy      #4a6fa5 / #c5d0e8
 */

/* ============================================================
   VARIABILI COLORE
   ============================================================ */
:root {
    --alberio-navy:        #0d1b3e;
    --alberio-navy-mid:    #162456;
    --alberio-navy-dark:   #080f22;
    --alberio-navy-tint:   #1e3060;
    --alberio-red:         #e63946;
    --alberio-red-dark:    #c1121f;
    --alberio-red-shadow:  #9b1a21;
    --alberio-white:       #ffffff;
    --alberio-light:       #f4f6fb;
    --alberio-border:      #dde3ef;
    --alberio-text:        #222840;
    --alberio-muted:       #6b7280;
}

/* ============================================================
   TYPOGRAPHY — Montserrat + Inter
   ============================================================ */
body,
.alberio-child {
    font-family: 'Inter', 'Noto Sans', sans-serif;
    color: var(--alberio-text);
}

h1, h2, h3, h4, h5, h6,
.stm-title, .stm-listing-title,
.listings-title,
.stm_cars_comparison .car-name,
.stm-listing-item-info .stm-listing-item-title {
    font-family: 'Montserrat', 'Noto Sans', sans-serif;
    font-weight: 700;
}

/* ============================================================
   PULSANTI (accent orange → red)
   ============================================================ */
.stm-button,
input[type="submit"],
button[type="submit"],
.button,
.load-more-btn,
.stm_cars_listing_search .search-btn,
.stm-listing-contact-seller,
.stm-apply-btn {
    background-color: var(--alberio-red) !important;
    border-color: var(--alberio-red) !important;
    box-shadow: 0 2px 0 var(--alberio-red-shadow) !important;
    -webkit-box-shadow: 0 2px 0 var(--alberio-red-shadow) !important;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.5px;
}



.stm-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.button:hover,
.load-more-btn:hover {
    background-color: var(--alberio-red-dark) !important;
    border-color: var(--alberio-red-dark) !important;
}

.stm-button:active,
input[type="submit"]:active,
button:active,
.button:active {
    box-shadow: 0 0 0 transparent !important;
}

/* Pulsanti outline / secondary */
.stm-button-outline,
.button-secondary,
.stm-btn-outline {
    color: var(--alberio-red) !important;
    border-color: var(--alberio-red) !important;
    background-color: transparent !important;
}

.stm-button-outline:hover,
.button-secondary:hover {
    background-color: var(--alberio-red) !important;
    color: var(--alberio-white) !important;
}

/* ============================================================
   LINK
   ============================================================ */
a {
    color: var(--alberio-navy);
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--alberio-red);
    text-decoration: none;
}

/* Link accento (usati nei listing) */
.stm-listing-item-info .stm-listing-item-title a:hover,
.stm-listing-item-info h4 a:hover,
.listing-item-inner .listing-item-title a:hover {
    color: var(--alberio-red) !important;
}

/* ============================================================
   TOP BAR
   ============================================================ */
#top-bar,
.top-bar,
.stm-top-bar {
    background-color: var(--alberio-navy-dark) !important;
    border-bottom: 1px solid var(--alberio-navy-tint) !important;
}

#top-bar a,
.top-bar a,
.stm-top-bar a {
    color: rgba(255, 255, 255, 0.8) !important;
}

#top-bar a:hover,
.stm-top-bar a:hover {
    color: var(--alberio-white) !important;
}

.header-top-bar-socs li a,
.header-login-url a {
    color: rgba(255, 255, 255, 0.75) !important;
}

.header-top-bar-socs li a:hover,
.header-login-url a:hover {
    color: var(--alberio-red) !important;
}

/* ============================================================
   HEADER PRINCIPALE
   ============================================================ */
#stm-header,
.stm-header,
.header-main,
.stm-header-wrap,
#header,
.site-header {
    background-color: var(--alberio-navy) !important;
    border-bottom: 3px solid var(--alberio-red) !important;
}

/* Logo area */
#header .logo-main a,
.header-main .logo a {
    color: var(--alberio-white) !important;
}

/* Numero di telefono in header */
.header-main .header-main-phone .phone .phone-number,
.stm-header .phone-number {
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

/* Social icons in header */
.header-main .header-top-info .header-main-socs ul li a {
    color: rgba(255, 255, 255, 0.7) !important;
}

.header-main .header-top-info .header-main-socs ul li a:hover {
    color: var(--alberio-red) !important;
}

/* ============================================================
   NAVIGAZIONE PRINCIPALE
   ============================================================ */
.header-nav,
.header-menu,
.main-menu {
    background-color: var(--alberio-navy) !important;
}

.header-menu > li > a,
.header-nav .header-menu > li > a,
.main-menu .header-menu > li > a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.header-menu > li > a:hover,
.header-menu > li.current-menu-item > a,
.header-menu > li.current-menu-parent > a,
.header-menu > li.current-menu-ancestor > a {
    color: var(--alberio-red) !important;
}

/* Indicatore voce attiva */
.header-menu > li.current-menu-item > a::after,
.header-menu > li.current-menu-ancestor > a::after {
    background-color: var(--alberio-red) !important;
}

/* Header sticky */
.header-nav.header-nav-sticky,
.header-main.header-sticky-active,
.stm-header.sticky {
    background-color: var(--alberio-navy) !important;
    box-shadow: 0 2px 12px rgba(8, 15, 34, 0.5) !important;
}

/* ============================================================
   DROPDOWN MENU
   ============================================================ */
.header-menu ul.sub-menu,
.header-menu .dropdown-menu {
    background-color: var(--alberio-navy-mid) !important;
    border-top: 3px solid var(--alberio-red) !important;
    border-radius: 0 0 4px 4px;
}

.header-menu ul.sub-menu li a,
.header-menu .dropdown-menu li a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.header-menu ul.sub-menu li a:hover,
.header-menu .dropdown-menu li a:hover {
    color: var(--alberio-white) !important;
    background-color: var(--alberio-navy-tint) !important;
    padding-left: 22px !important;
}

/* ============================================================
   HERO / BANNER PRINCIPALE
   ============================================================ */
.stm-listing-hero,
.stm-hero-banner,
.stm-banner {
    background-color: var(--alberio-navy) !important;
}

.stm-listing-hero h1,
.stm-hero-banner h1,
.stm-banner h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--alberio-white) !important;
}

/* Decorazione colorata nel banner */
.stm-hero-accent,
.hero-line,
.stm-hero-separator {
    background-color: var(--alberio-red) !important;
}

/* ============================================================
   FILTRO / BARRA RICERCA VEICOLI
   ============================================================ */
.stm-listing-search,
.stm_cars_listing_search,
.stm-search-form,
.search-filter-row,
.classic-filter-row {
    background-color: var(--alberio-navy) !important;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(8, 15, 34, 0.4);
}

.stm-listing-search .widget-title,
.stm_cars_listing_search .search-form-title,
.classic-filter-row .sidebar-entry-header {
    background-color: var(--alberio-navy-tint) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.classic-filter-row .sidebar-entry-header i {
    color: var(--alberio-red) !important;
}

/* Campi select/input nel filtro */
.stm-listing-search select,
.stm-listing-search input,
.stm_cars_listing_search select,
.stm_cars_listing_search input,
.stm-search-form select,
.stm-search-form input {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--alberio-white) !important;
    border-radius: 4px;
}

.stm-listing-search select option,
.stm_cars_listing_search select option {
    background-color: var(--alberio-navy-mid);
    color: var(--alberio-white);
}

/* ============================================================
   SCHEDE VEICOLI (listing cards)
   ============================================================ */
.listing-item,
.stm-listing-item,
.stm_cars_listing .listing-item-inner,
.car-item {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(13, 27, 62, 0.12);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    border: 1px solid var(--alberio-border) !important;
}

.listing-item:hover,
.stm-listing-item:hover,
.stm_cars_listing .listing-item-inner:hover {
    box-shadow: 0 6px 24px rgba(13, 27, 62, 0.22) !important;
    transform: translateY(-2px);
}

/* Titolo veicolo nella card */
.listing-item-inner .listing-item-title,
.stm-listing-item-info .stm-listing-item-title,
.stm-listing-item-info h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    color: var(--alberio-navy) !important;
}

/* Prezzo veicolo */
.stm-listing-item-price,
.listing-item-price,
.car-price,
.stm-listing-price {
    color: var(--alberio-red) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
}

/* Badge "Nuovo" / "Usato" */
.listing-item-label,
.stm-listing-label,
.car-label-new {
    background-color: var(--alberio-navy) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.listing-item-label.label-featured,
.stm-listing-label.featured {
    background-color: var(--alberio-red) !important;
}

/* Icone specifiche del veicolo (km, carburante, ecc.) */
.stm-listing-item-characteristics li i,
.listing-item-characteristics i,
.car-spec-icon {
    color: var(--alberio-navy) !important;
}

/* ============================================================
   SINGOLO VEICOLO (pagina dettaglio)
   ============================================================ */
.single-listing-title,
.stm-listing-single-title h1,
.listing-single-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: var(--alberio-navy) !important;
}

/* Prezzo principale nella pagina singola */
.stm-listing-single-price,
.single-listing-price,
.listing-price-wrap .price {
    color: var(--alberio-red) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 28px;
}

/* Tabs (Descrizione / Caratteristiche / ecc.) */
.stm-listing-tabs .nav-tabs > li.active > a,
.stm-listing-tabs .nav-tabs > li.active > a:hover,
.stm-tabs .nav-tabs > li.active > a,
.nav-tabs > li.active > a {
    border-bottom: 3px solid var(--alberio-red) !important;
    color: var(--alberio-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.stm-listing-tabs .nav-tabs > li > a:hover,
.stm-tabs .nav-tabs > li > a:hover {
    color: var(--alberio-red) !important;
    border-bottom: 3px solid var(--alberio-red) !important;
}

/* Box specifiche */
.stm-car-info-row,
.stm-listing-info-row,
.car-info-box {
    border-left: 3px solid var(--alberio-red) !important;
    background-color: var(--alberio-light) !important;
}

.stm-car-info-row .label,
.car-info-box label {
    color: var(--alberio-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Galleria immagini */
.stm-listing-gallery .stm-listing-gallery-main,
.listing-gallery {
    border: 2px solid var(--alberio-border);
    border-radius: 8px;
    overflow: hidden;
}

/* ============================================================
   SIDEBAR FILTRI (archivio listing)
   ============================================================ */
.stm-listings-sidebar .widget,
.listing-sidebar .widget,
.sidebar-widget {
    border: 1px solid var(--alberio-border);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 20px;
}

.stm-listings-sidebar .widget-title,
.listing-sidebar .widget-title,
.sidebar-widget .widget-title,
.stm-widget-title {
    background-color: var(--alberio-navy) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Slider range prezzo */
.ui-slider-range,
.stm-price-range .ui-slider-range,
.stm-range-slider .ui-slider-range {
    background-color: var(--alberio-red) !important;
}

.ui-slider-handle,
.stm-price-range .ui-slider-handle,
.stm-range-slider .ui-slider-handle {
    border-color: var(--alberio-red) !important;
    background-color: var(--alberio-white) !important;
}

/* Checkbox / Radio nel filtro */
.stm-checkboxes input[type="checkbox"]:checked + label::before,
.stm_car_listing_checkbox input[type="checkbox"]:checked + label::before,
.stm-filter-check:checked + label::before {
    background-color: var(--alberio-red) !important;
    border-color: var(--alberio-red) !important;
}

.stm-checkboxes input[type="checkbox"] + label::before,
.stm_car_listing_checkbox input[type="checkbox"] + label::before {
    border-color: var(--alberio-navy) !important;
}

/* Link "tutti" / count nella sidebar */
.stm-listings-sidebar a,
.listing-sidebar a {
    color: var(--alberio-navy);
}

.stm-listings-sidebar a:hover,
.listing-sidebar a:hover {
    color: var(--alberio-red);
}

/* ============================================================
   CONFRONTO VEICOLI
   ============================================================ */
.stm_cars_comparison .comparison-header,
.stm-comparison-header {
    background-color: var(--alberio-navy) !important;
    color: var(--alberio-white) !important;
}

.stm_cars_comparison .car-name,
.stm-comparison-car-title {
    color: var(--alberio-navy) !important;
    font-family: 'Montserrat', sans-serif;
}

.stm_cars_comparison .compare-feature-label,
.comparison-row-label {
    color: var(--alberio-muted);
    font-family: 'Inter', sans-serif;
}

/* ============================================================
   FORM CONTATTO / RICHIESTA INFO VEICOLO
   ============================================================ */
.stm-listing-contact-form .form-title,
.stm_contact_seller .form-title {
    background-color: var(--alberio-navy) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    padding: 14px 20px;
    border-radius: 6px 6px 0 0;
}

.stm-listing-contact-form input,
.stm-listing-contact-form textarea,
.stm_contact_seller input,
.stm_contact_seller textarea {
    border: 1px solid var(--alberio-border) !important;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
}

.stm-listing-contact-form input:focus,
.stm-listing-contact-form textarea:focus,
.stm_contact_seller input:focus,
.stm_contact_seller textarea:focus {
    border-color: var(--alberio-red) !important;
    box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.12) !important;
    outline: none;
}

/* ============================================================
   PAGINAZIONE
   ============================================================ */
.pagination .page-numbers.current,
.stm-pagination .current,
.page-numbers.current {
    background-color: var(--alberio-red) !important;
    border-color: var(--alberio-red) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

.pagination .page-numbers:hover,
.stm-pagination a:hover,
.page-numbers:hover {
    background-color: var(--alberio-navy) !important;
    border-color: var(--alberio-navy) !important;
    color: var(--alberio-white) !important;
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.stm-breadcrumb,
.breadcrumbs,
.breadcrumb {
    background-color: var(--alberio-light) !important;
    border-bottom: 1px solid var(--alberio-border) !important;
}

.stm-breadcrumb a,
.breadcrumbs a,
.breadcrumb a {
    color: var(--alberio-navy) !important;
}

.stm-breadcrumb a:hover,
.breadcrumbs a:hover {
    color: var(--alberio-red) !important;
}

.stm-breadcrumb .separator,
.breadcrumbs .separator {
    color: var(--alberio-red) !important;
}

/* ============================================================
   TITOLI SEZIONE (stm-title, headings principali)
   ============================================================ */
.stm-title,
.stm-section-title,
.section-title,
.stm-heading {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    color: var(--alberio-navy) !important;
}

/* Linea decorativa sotto i titoli */
.stm-title::after,
.stm-section-title::after,
.stm-heading::after {
    background-color: var(--alberio-red) !important;
}

/* Separatore colorato */
.stm-colored-separator,
.stm-separator {
    background-color: var(--alberio-red) !important;
}

/* ============================================================
   COUNTER / STATISTICHE
   ============================================================ */
.stm-counter-value,
.stm-counter .counter-value,
.stm-stats-number {
    color: var(--alberio-red) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
}

/* ============================================================
   WIDGET SIDEBAR GENERICI
   ============================================================ */
.widget .widget-title,
aside .widget-title,
.sidebar-widget-title {
    color: var(--alberio-navy) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    border-left: 3px solid var(--alberio-red) !important;
    padding-left: 12px !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
#footer,
.stm-footer,
.site-footer,
footer.footer {
    background-color: var(--alberio-navy-dark) !important;
    border-top: 4px solid var(--alberio-red) !important;
}

#footer .footer-title,
.stm-footer .footer-title,
.stm-footer .widget-title,
#footer .widget-title {
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-size: 13px !important;
}

#footer .footer-title::after,
.stm-footer .footer-title::after {
    background-color: var(--alberio-red) !important;
}

#footer a,
.stm-footer a {
    color: rgba(255, 255, 255, 0.7) !important;
}

#footer a:hover,
.stm-footer a:hover {
    color: var(--alberio-red) !important;
}

#footer p,
.stm-footer p,
#footer li,
.stm-footer li {
    color: rgba(255, 255, 255, 0.6) !important;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
}

/* Copyright bar */
.stm-footer-bottom,
.footer-bottom,
#footer-bottom {
    background-color: var(--alberio-navy-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.stm-footer-bottom a,
.footer-bottom a,
#footer-bottom a {
    color: rgba(255, 255, 255, 0.5) !important;
}

.stm-footer-bottom a:hover,
#footer-bottom a:hover {
    color: var(--alberio-red) !important;
}

/* ============================================================
   SOCIAL ICONS
   ============================================================ */
.stm-social-icons a,
.social-icons a,
.stm-soc-icons li a {
    background-color: var(--alberio-navy-tint) !important;
    color: var(--alberio-white) !important;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.stm-social-icons a:hover,
.social-icons a:hover,
.stm-soc-icons li a:hover {
    background-color: var(--alberio-red) !important;
}

/* ============================================================
   HIGHLIGHT / ACCENTI VARI
   ============================================================ */

/* Testo evidenziato con colore primario */
.stm-highlight,
.text-primary,
.stm-accent-color,
span.stm-colored {
    color: var(--alberio-red) !important;
}

/* Background primario */
.stm-bg-primary,
.bg-primary,
.stm-dark-section {
    background-color: var(--alberio-navy) !important;
}

/* Bordo accento */
.stm-border-primary,
.stm-border-accent {
    border-color: var(--alberio-red) !important;
}

/* Tag / label generici */
.stm-tag,
.stm-badge,
.listing-badge {
    background-color: var(--alberio-navy) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 3px;
    padding: 3px 8px;
}

.stm-tag.tag-accent,
.stm-badge.badge-accent {
    background-color: var(--alberio-red) !important;
}


/* ============================================================
   WOOCOMMERCE (se presente)
   ============================================================ */
body.woocommerce .woocommerce-info,
body.woocommerce .wc-forward {
    border-top-color: var(--alberio-navy) !important;
}

body.woocommerce .button,
body.woocommerce button.button,
body.woocommerce a.button {
    background-color: var(--alberio-red) !important;
    color: var(--alberio-white) !important;
    font-family: 'Montserrat', sans-serif;
}

body.woocommerce .button:hover,
body.woocommerce button.button:hover {
    background-color: var(--alberio-red-dark) !important;
}

/* ============================================================
   MOBILE MENU
   ============================================================ */
.stm-mobile-menu,
.mobile-nav,
#mobile-menu-wrap {
    background-color: var(--alberio-navy) !important;
}

.stm-mobile-menu a,
.mobile-nav a,
#mobile-menu-wrap a {
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Inter', sans-serif;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
}

.stm-mobile-menu a:hover,
.mobile-nav a:hover,
#mobile-menu-wrap a:hover {
    color: var(--alberio-red) !important;
    background-color: var(--alberio-navy-tint) !important;
}

/* Hamburger icon */
.stm-mobile-menu-toggle,
.hamburger-toggle,
.navbar-toggle {
    color: var(--alberio-white) !important;
}

.hamburger-toggle:hover,
.navbar-toggle:hover {
    color: var(--alberio-red) !important;
}

/* ============================================================
   SCROLLBAR PERSONALIZZATA (webkit)
   ============================================================ */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: var(--alberio-light);
}



/* ============================================================
   SELEZIONE TESTO
   ============================================================ */
::selection {
    background-color: var(--alberio-red);
    color: var(--alberio-white);
}

::-moz-selection {
    background-color: var(--alberio-red);
    color: var(--alberio-white);
}

/* Fix spaziatura titolo/versione nel listing */
.listing-list-loop.stm-listing-directory-list-loop .content .meta-top {
    margin-bottom: -13px !important;
}

@media (min-width: 768px) {
    .filtrodario .stm_dynamic_listing_filter .tab-content .tab-pane form button[type=submit] {
        margin-bottom: 0px;
    }
}

@media only screen and (max-width: 600px) {

/* Fix spaziatura titolo/versione nel listing */
.listing-list-loop.stm-listing-directory-list-loop .content .meta-top {
    margin-bottom: 0px !important;
}
}
