/* ==========================================================================
   1. VARIABILI, RESET E TIPOGRAFIA GLOBALE
   ========================================================================== */
:root {
    --mivv-red: #e21d2c;
    --dark-bg: #1a1a1a;
    --light-gray: #f4f6f8;
    --text-dark: #363636;
    --heading-color: #333;
}

body,
p {
    color: #343434;
}

.rosso-mivv {
    color: var(--mivv-red) !important;
}

.rosso-mivv-bg {
    background-color: var(--mivv-red) !important;
    color: #fff;
}

h2 {
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
    color: var(--text-dark);
    font-size: clamp(32px, 5vw, 60px) !important;
    margin-bottom: 40px;
    line-height: 1.1;
}

/* Nota: h2 specifico per homepage nel blocco style originale era 70px */
.search-section h2 {
    color: #fff;
    font-size: 42px;
}

.subtitle-25 {
    font-size: 30px !important;
    font-weight: 600 !important;
    margin-bottom: 15px;
}

.spazio-dx {
    margin-right: 70px !important;
}

.spazio-sx {
    margin-left: 70px !important;
}

.page-template-default.page #primary,
.archive #primary,
.single-product #primary {
    padding-bottom: 100px !important;
}

/* ==========================================================================
   2. HEADER, NAVIGAZIONE E LOGO
   ========================================================================== */
.logo img {
    width: 200px;
    height: auto;
}

.navbar-area {
    height: 120px;
    position: relative;
    background-color: transparent;
}

.navbar-area::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    clip-path: polygon(0 0, 0 100%, 15% 100%, 20% 77%, 100% 77%, 100% 0);
    z-index: -1;
}

.navbar-area .nav-container .navbar-collapse .navbar-nav,
.navbar-area .nav-container .nav-right-content .nav-right-menu {
    margin-bottom: 20px;
}

#billatrail_main_menu>ul>li>a {
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
}

/* #billatrail_main_menu .navbar-nav .menu-item a {color: #fff !important; text-transform: uppercase;} */

.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children .sub-menu li a {
    color: var(--heading-color) !important;
    text-transform: none;

}

.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children .sub-menu li a:hover {
    color: #fff !important;
}

.navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children:before {
    color: #fff;
}

.humberger-wrapper {
    display: none !important;
}

/* [!] OTTIMIZZABILE: Questo margin-top negativo è un "fix" rischioso */
#content {
    margin-top: -30px;
}

/* ==========================================================================
   3. SEZIONI HOMEPAGE (Search, Hero, Brands, Bikes, News)
   ========================================================================== */

/* Hero */
.depicter-bullet-layer {
    top: auto !important;
    left: 50% !important;
    bottom: 50px !important;
    /* Margine dal fondo */

    /* Centratura orizzontale */
    transform: translateX(-50%) scale(0.744141) !important;
    transform-origin: center bottom !important;

    width: auto !important;
    display: flex !important;
    justify-content: center !important;
    z-index: 99 !important;
}

/* 2. GRANDEZZA DEI PALLINI (BULLETS) */
.depicter-bullet-item {
    width: 10px !important;
    height: 10px !important;
    margin: 0 8px !important;
    background-color: rgba(255, 255, 255, 0.5) !important;
    /* Colore pallini inattivi */
    border-radius: 50%;
    transition: all 0.3s ease;
}

/* 3. STILE PALLINO ATTIVO */
.depicter-bullet-item.depicter-bullet-active {
    background-color: #e30613 !important;
}

/* Search Bar */

.search-section h1 {
    font-family: 'Barlow', sans-serif;
    font-weight: 700;
    color: #ffffff;
    font-size: clamp(32px, 5vw, 60px) !important;
    margin-bottom: 40px;
    line-height: 1.1;
}

.search-section {
    background-color: var(--dark-bg);
    padding: 80px 0;
    text-align: center;
}

.search-bar {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.select-wrapper {
    position: relative;
}

.select-wrapper select {
    height: 55px;
    padding: 0 45px 0 20px;
    background-color: var(--mivv-red);
    color: white;
    border: none;
    font-weight: bold;
    min-width: 200px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    text-transform: uppercase;
}

.select-wrapper::after {
    content: '▼';
    font-size: 10px;
    color: #fff;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.btn-search {
    height: 55px;
    padding: 0 35px;
    background-color: white;
    color: black;
    border: none;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    text-transform: uppercase;
}

/* Racing Hero */
.racing-hero {
    position: relative;
    height: 85vh;
    min-height: 600px;
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4)), url('/wp-content/uploads/2026/01/Hayden-2007-Mivv-850x0-1.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
}

.trophies-container {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 30px;
}

.trophies-container img {
    height: 90px;
    width: auto;
}

.racing-hero h2 {
    color: #fff;
    margin: 10px 0 30px 0;
}

/* Bottoni Utility */
.btn-outline,
.btn-outline-b {
    display: inline-block;
    padding: 15px 45px;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 1px;
    transition: 0.3s;
}

.btn-outline {
    border: 1px solid white;
    color: white;
}

.btn-outline:hover {
    background: white;
    color: black;
}

.btn-outline-b {
    border: 1px solid black;
    color: black;
}

.btn-outline-b:hover {
    background: var(--mivv-red);
    color: white;
}

/* Slider */
.icon-stile-italiano {
    display: inline-block;
    width: 80px;
    margin-left: -10px;
    height: 100%;
    background-color: #fff;
    -webkit-mask-image: url('/wp-content/uploads/icone/mivv-stile-italiano.svg');
    mask-image: url('/wp-content/uploads/icone/mivv-stile-italiano.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.icon-made-italy {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    /* Colore dell'icona */
    -webkit-mask-image: url('/wp-content/uploads/icone/mivv-made-in-italy.svg');
    mask-image: url('/wp-content/uploads/icone/mivv-made-in-italy.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.icon-mivv-storia {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    /* Colore dell'icona */
    -webkit-mask-image: url('/wp-content/uploads/icone/mivv-la-storia.svg');
    mask-image: url('/wp-content/uploads/icone/mivv-la-storia.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* Brands */
.brands-section {
    padding: 100px 0;
    text-align: center;
}

.brands-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 50px;
}

.brand-card {
    background-color: var(--light-gray);
    padding: 70px 50px;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.brand-card img {
    height: 50px;
    margin-bottom: 30px;
}

.brand-card h3 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 30px;
}

.btn-ghost {
    padding: 12px 30px;
    border: 1px solid var(--text-dark);
    color: var(--text-dark);
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
}

/* Bikes Grid (WooCommerce Home) */
.latest-bikes {
    padding: 100px 0;
    text-align: center;
}

.bikes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.bike-card {
    background: #fff;
    border: 1px solid #eee;
    padding: 40px 20px;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease;
}

.bike-card img {
    width: 100%;
    height: auto;
    margin-bottom: 25px;
}

.bike-name {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 25px;
    margin-bottom: 10px;
}

.bike-description {
    color: #777;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* News & Eventi */
.news-section {
    padding: 100px 0;
}

.news-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 50px;
}

.view-all {
    color: var(--mivv-red);
    font-weight: 700;
    text-decoration: none;
    font-size: 20px;
}

.view-all:hover {
    text-decoration: underline !important;
    color: var(--mivv-red);
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.news-card {
    background-color: var(--light-gray);
    overflow: hidden;
}

.news-image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.rect-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-badge {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--mivv-red);
    color: #ffffff;
    padding: 8px 15px;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 2;
}

.news-content {
    padding: 35px 20px;
    text-align: center;
}

.news-date {
    color: #999;
    font-size: 14px;
    margin-bottom: 15px;
    display: block;
    font-weight: 400;
}

.news-content h3 a {
    color: var(--text-dark);
    text-decoration: none;
    font-weight: 700;
    font-size: 25px;
}

/* Swiper Logic (Chi Siamo) */
.swiper-slide-active p {
    color: #fff;
}

.swiper-slide-next p,
.swiper-slide-duplicate-next p {
    color: #000;
}

/* ==========================================================================
   4. BLOG, ARCHIVIO E SIDEBAR
   ========================================================================== */
.blog-content .blog-left-content .img-item .content p {
    font-size: 16px;
}

h2.card-title a {
    font-size: 28px;
    line-height: 1;
}

.pagination {
    display: block;
    margin-top: 50px;
}

.pagination .screen-reader-text {
    display: none;
}

.pagination .nav-links {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 0;
}

.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: var(--light-gray);
    color: var(--text-dark);
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    font-family: 'Barlow', sans-serif;
}

.pagination .page-numbers.current {
    background: #d10008;
    color: #fff;
}

.pagination .page-numbers:hover:not(.current) {
    background: var(--text-dark);
    color: #fff;
}

.pagination .page-numbers.dots {
    background: transparent;
    color: #999;
}

body.blog .widget,
body.wp-singular .widget,
body.archive .widget {
    background-color: initial;
    margin: 0;
}

body.blog .widget ul,
body.wp-singular .widget ul,
body.archive .widget ul {
    text-align: left;
}

body.blog .widget ul li a,
body.wp-singular .widget ul li a,
body.archive .widget ul li a {
    color: var(--text-dark);
}

.blog-content .blog-right-content h3.wp-block-heading {
    font-size: 25px;
    font-family: var(--body-font);
    font-weight: 400;
    background: var(--main-color);
    color: #fff;
    padding: 15px 20px;
    width: 50%;
    text-align: center;
}

div[class="widget single-sidebar-widget widget_block"] {
    padding: 0 !important;
}

.blog-single-content .blog-details-item {
    margin-top: 0;
}

.archive .breadcrumb-style-6 .breadcrumb-inner h1,
.single-post .breadcrumb-style-6 .breadcrumb-inner h1 {
    font-size: 60px !important;
}

.archive .current-item,
.single-post .current-item {
    color: #fff !important;
}

/* Sidebar Sticky */
.sidebar-baz {
    position: -webkit-sticky;
    position: sticky;
    top: 50px;
    height: fit-content;
    align-self: flex-start;
}

/* ==========================================================================
   5. WOOCOMMERCE DETTAGLIO PRODOTTO E SHOP
   ========================================================================== */
.woocommerce .woocommerce-breadcrumb {
    text-align: right;
    display: block;
    width: 100%;
    margin-top: 20px;
    padding: 10px 0;
}

.moto-search-bar {
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.moto-search-bar .label {
    font-size: 18px;
    color: var(--heading-color);
    white-space: nowrap;
}

.moto-search-bar select.form-control {
    border-radius: 0;
    border: 1px solid #eee;
    background-color: #f9f9f9;
    height: 45px;
}

.moto-search-bar .btn-dark {
    border-radius: 0;
    height: 45px;
    background: var(--dark-bg);
}

.product-archive-main h1 {
    font-size: 30px;
    text-transform: uppercase;
    margin: 20px 0;
}

p.woocommerce-result-count {
    font-size: 12px;
}

aside.sidebar-shop div.filtriProdotto h3 {
    font-family: 'Barlow', sans-serif;
    font-size: 24px;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}

aside.sidebar-shop div.filtriProdotto .wp-block-woocommerce-product-filter-checkbox-list {
    margin-bottom: 20px;
}

.wc-block-product-filter-checkbox-list__input-wrapper:before {
    border: 2px solid #ccc;
    background-color: #fff;
    opacity: 1;
}

.wc-block-product-filter-checkbox-list__item .wc-block-product-filter-checkbox-list__label {
    font-size: 18px;
}

.wc-block-product-filter-checkbox-list__text-wrapper {
    font-size: 18px;
}

/* Inizio stile filtro omologazione */
.mivv-filter-item {
    display: flex;
    align-items: center;
    text-decoration: none !important;
    color: #111;
    font-size: 17px;
    padding: 4px 0;
    transition: all 0.2s ease;
}

/* Il quadratino del checkbox */
.mivv-checkbox {
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 2px;
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

/* L'SVG dentro il checkbox */
.mivv-checkbox svg {
    width: 14px;
    height: 14px;
}

.filtriProdotto {
    margin-top: -25px !important;
}

.filtriProdotto .list-unstyled li {
    margin: 0 0 !important;
}

/* Fine stile filtro omologazione */

.product-summary-content .badge-red {
    background-color: var(--mivv-red);
    border-radius: 0;
    font-weight: 600;
}

.product-title {
    font-family: inherit;
    margin-bottom: 5px;
}

.product-meta-grid .meta-item .label {
    letter-spacing: 0.5px;
}

.spec-card {
    transition: transform 0.3s;
}

.spec-card:hover {
    transform: translateY(-5px);
}

.spec-card .value {
    font-size: 40px;
}

.bench-measurements {
    border-radius: 0;
}

.bench-measurements .table thead th {
    border-top: none;
    padding: 15px 5px;
}

.section-title {
    position: relative;
    font-size: 24px !important;
}

.related.products ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0;
    list-style: none;
}

.related.products ul.products li.product {
    width: calc(25% - 15px);
    margin: 0;
}

/* Accessori consigliati - card hover */
.accessories-section .product-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.accessories-section .product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14) !important;
}

.accessories-section a.text-decoration-none:hover {
    text-decoration: none !important;
    color: inherit;
}

.accessories-section .product-card:hover .product-line {
    color: var(--mivv-red);
    transition: color 0.2s;
}

.product-card {
    border: 1px solid #cdcdcd
}

.product-details-main .price-section h2,
.product-details-main h1.product-title {
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #333 !important;
}


.badgeLinea {
    border: 2px solid #D30018;
    color: #D30018;
    font-size: 14px;
    padding: 6px 12px;
}

/* lightbox moto */
.mfp-content .mfp-figure figure img {
    background-color: #FFF;
}

.mfp-content .mfp-figure figure .mfp-bottom-bar {
    background-color: #D30018;
    padding: 5px;
}

.mfp-content .mfp-figure figure .mfp-bottom-bar .mfp-counter {
    top: 5px;
    right: 5px
}

/* ==========================================================================
   6. PAGINE SPECIFICHE (Racing, Linee, Assistenza, Form)
   ========================================================================== */

/* Racing & Video */

/* Inizio Carosello immagini racing */
.wp-block-cb-slide-v2 .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block;
}

.wp-block-cb-slide-v2 figure {
    width: 100% !important;
    margin: 0 !important;
}

.swiper-initialized {
    max-width: 100% !important;
}

/* Fine Carosello immagini racing */

.racing-blocco-risultati {
    padding: 70px;
}

.page-id-381 .cb-slide,
.page-id-1187 .cb-slide,
.page-id-1193 .cb-slide,
.page-id-1199 .cb-slide,
.page-id-1205 .cb-slide,
.page-id-1211 .cb-slide,
.page-id-1223 .cb-slide,
.page-id-1217 .cb-slide {
    text-align: center;
}

.page-id-381 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1187 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1193 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1199 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1205 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1211 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1223 .wp-block-embed-youtube .wp-block-embed__wrapper,
.page-id-1217 .wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.page-id-381 .wp-block-embed-youtube iframe,
.page-id-1187 .wp-block-embed-youtube iframe,
.page-id-1193 .wp-block-embed-youtube iframe,
.page-id-1199 .wp-block-embed-youtube iframe,
.page-id-1205 .wp-block-embed-youtube iframe,
.page-id-1211 .wp-block-embed-youtube iframe,
.page-id-1223 .wp-block-embed-youtube iframe,
.page-id-1217 .wp-block-embed-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.page-id-381 .wp-block-cb-slide-v2,
.page-id-1187 .wp-block-cb-slide-v2,
.page-id-1193 .wp-block-cb-slide-v2,
.page-id-1199 .wp-block-cb-slide-v2,
.page-id-1205 .wp-block-cb-slide-v2,
.page-id-1211 .wp-block-cb-slide-v2,
.page-id-1223 .wp-block-cb-slide-v2,
.page-id-1217 .wp-block-cb-slide-v2 {
    border: 20px solid #fff;
}

body.page-id-403,
body.page-id-1193,
body.page-id-1199,
body.page-id-1205,
body.page-id-1211,
body.page-id-1223,
body.page-id-1217 {
    overflow: visible !important;
}

/* Linee Scarichi */
.contenitore-intro-linee {
    padding: 20px 40px;
    background-color: #f8f9fa;
    border-left: 5px solid #e30613;
}

.contenitore-intro-linee h2 {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}

.contenitore-intro-linee p {
    color: #4a4a4a;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
}

.contenitore-intro-linee b,
.contenitore-intro-linee strong {
    color: #000;
    font-weight: 700;
}

.contenitore-product-filter-linee {
    background-color: var(--dark-bg);
    padding: 60px 20px;
    text-align: center;
}

.contenitore-product-filter-linee h2 {
    font-weight: 700;
    color: #fff;
}

/* Assistenza Card */
.container-assistenza {
    display: flex;
    gap: 30px;
    margin-bottom: 60px;
}

.card-assistenza {
    flex: 1;
    padding: 40px;
    border-radius: 4px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}

.card-assistenza:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.card-assistenza.pre-vendita {
    background-color: var(--mivv-red);
    color: #ffffff;
}

.card-assistenza.post-vendita {
    background-color: var(--dark-bg);
    color: #ffffff;
}

.card-assistenza h2 {
    font-size: 24px !important;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: inherit;
}

.card-assistenza p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.9);
}

.card-assistenza .btn-assistenza a {
    display: inline-block;
    padding: 12px 25px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
}

.pre-vendita .btn-assistenza a {
    background-color: #ffffff;
    color: var(--mivv-red);
}

.post-vendita .btn-assistenza a {
    background-color: var(--mivv-red);
    color: #ffffff;
}

/* Sezione FAQ Assistenza */
.sezione-faq-assistenza {
    background-color: #f8f9fa;
    border-left: 6px solid var(--mivv-red);
    padding: 40px;
    margin-bottom: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.sezione-faq-assistenza h2 {
    font-size: 28px !important;
    margin-bottom: 10px;
}

/* Form Assistenza */
.mivv-form-post-vendita,
.mivv-form-pre-vendita {
    background: #fdfdfd;
    padding: 30px;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    max-width: 100%;
    margin: 0 auto;
}

.mivv-form-post-vendita fieldset,
.mivv-form-pre-vendita fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    border: none;
    padding: 0;
    margin-bottom: 30px;
}

.mivv-grid-half {
    flex: 1 1 calc(50% - 10px);
    min-width: 280px;
}

.mivv-grid-full {
    flex: 1 1 100% !important;
    width: 100% !important;
}

.mivv-form-post-vendita legend,
.mivv-form-pre-vendita legend {
    flex: 0 0 100%;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--dark-bg);
    border-bottom: 2px solid var(--mivv-red);
    padding-bottom: 5px;
    margin-bottom: 20px !important;
    font-weight: 800;
}

.mivv-form-post-vendita input[type="text"],
.mivv-form-pre-vendita input[type="text"],
.mivv-form-post-vendita input[type="email"],
.mivv-form-pre-vendita input[type="email"],
.mivv-form-post-vendita input[type="tel"],
.mivv-form-pre-vendita input[type="tel"],
.mivv-form-post-vendita select,
.mivv-form-pre-vendita select,
.mivv-form-post-vendita textarea,
.mivv-form-pre-vendita textarea {
    width: 100% !important;
    box-sizing: border-box;
    border: 1px solid #ccc;
    background-color: #fff;
    transition: all 0.3s ease;
    font-family: inherit;
    padding: 10px;
}

.mivv-grid-full .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

.mivv-form-post-vendita textarea,
.mivv-form-pre-vendita textarea {
    min-height: 150px;
    resize: vertical;
}

.mivv-form-post-vendita input:focus,
.mivv-form-pre-vendita input:focus,
.mivv-form-post-vendita select:focus,
.mivv-form-pre-vendita select:focus,
.mivv-form-post-vendita textarea:focus,
.mivv-form-pre-vendita textarea:focus {
    border-color: var(--mivv-red);
    outline: none;
    box-shadow: 0 0 5px rgba(176, 36, 48, 0.1);
}

.mivv-grid-full .upload-box {
    display: block;
    background: #f4f4f4;
    padding: 20px;
    border: 2px dashed #ccc;
    text-align: center;
    cursor: pointer;
    transition: background 0.3s;
    width: 100%;
    box-sizing: border-box;
}

.mivv-form-post-vendita .upload-box:hover,
.mivv-form-pre-vendita .upload-box:hover {
    background: #eee;
    border-color: var(--mivv-red);
}

.mivv-form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

.mivv-form-post-vendita .wpcf7-acceptance label,
.mivv-form-pre-vendita .wpcf7-acceptance label {
    font-weight: 400;
    font-size: 13px;
    cursor: pointer;
}

.mivv-form-post-vendita .wpcf7-submit,
.mivv-form-pre-vendita .wpcf7-submit {
    background-color: var(--dark-bg) !important;
    color: #fff !important;
    border: none;
    padding: 15px 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.4s;
    margin-left: auto;
}

.mivv-form-post-vendita .wpcf7-submit:hover,
.mivv-form-pre-vendita .wpcf7-submit:hover {
    background-color: var(--mivv-red) !important;
}

.wpcf7-response-output {
    border-radius: 0 !important;
    font-weight: 600;
    margin-top: 20px !important;
    padding: 15px !important;
}

textarea.msgTextArea {
    height: auto !important;
}

/* ==========================================================================
   6B. SIDEBAR NEWS – RICERCA, CATEGORIE, ARCHIVI
   ========================================================================== */

/* ---------- RICERCA NEWS ---------- */

.mivv-search-widget {
    margin-bottom: 40px;
}

.mivv-news-search-form {
    position: relative;
}

.mivv-search-input-wrap {
    display: flex;
    border: 2px solid #e0e0e0;
    transition: border-color 0.3s ease;
}

.mivv-search-input-wrap:focus-within {
    border-color: #E3051A;
}

.mivv-search-input {
    flex: 1;
    padding: 12px 15px;
    border: none;
    outline: none;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    background: #fff;
    min-width: 0;
}

.mivv-search-input::placeholder {
    color: #aaa;
    font-weight: 400;
}

.mivv-search-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    padding: 0;
    border: none;
    background: #1a1a1a;
    color: #fff;
    cursor: pointer;
    transition: background 0.3s ease;
    flex-shrink: 0;
}

.mivv-search-submit:hover {
    background: #E3051A;
}

/* ---------- CATEGORIE NEWS ---------- */

.mivv-categories-widget {
    margin-bottom: 40px;
}

.mivv-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mivv-category-item {
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 0 !important;
}

.mivv-category-item:last-child {
    border-bottom: none !important;
}

.mivv-category-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 0 11px 0;
    text-decoration: none;
    color: #444;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-left: 3px solid transparent;
    padding-left: 12px;
    transition: all 0.2s ease;
}

.mivv-category-item a:hover {
    color: #E3051A !important;
    border-left-color: #E3051A;
    padding-left: 17px;
}

/* Categoria attiva */
.mivv-category-item.is-active a {
    color: #E3051A;
    border-left-color: #E3051A;
    font-weight: 800;
}

.mivv-category-count {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #1a1a1a;
    min-width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.mivv-category-item a:hover .mivv-category-count,
.mivv-category-item.is-active .mivv-category-count {
    background: #E3051A;
}

/* ---------- ARCHIVI ACCORDION (Anno > Mese) ---------- */

/* Widget container */
.mivv-archives-widget {
    margin-bottom: 40px;
}

/* Accordion wrapper */
.mivv-archives-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Singolo gruppo Anno */
.mivv-archive-year-group {
    border-bottom: 1px solid #e8e8e8;
}

.mivv-archive-year-group:first-child {
    border-top: 1px solid #e8e8e8;
}

/* Bottone toggle Anno */
.mivv-archive-year-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 14px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Barlow', sans-serif;
    transition: color 0.2s ease;
}

.mivv-archive-year-toggle:hover {
    color: #E3051A;
}

.mivv-archive-year-label {
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: inherit;
}

.mivv-archive-year-count {
    font-size: 12px;
    font-weight: 600;
    color: #999;
    margin-left: 10px;
    background: #f0f0f0;
    padding: 2px 8px;
    min-width: 24px;
    text-align: center;
}

/* Chevron (freccia) */
.mivv-archive-chevron {
    margin-left: auto;
    width: 10px;
    height: 10px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: rotate(45deg);
    transition: transform 0.3s ease, border-color 0.2s ease;
    flex-shrink: 0;
}

.mivv-archive-year-group.is-open .mivv-archive-chevron {
    transform: rotate(-135deg);
    border-color: #E3051A;
}

.mivv-archive-year-toggle:hover .mivv-archive-chevron {
    border-color: #E3051A;
}

/* Lista mesi */
.mivv-archive-months {
    list-style: none;
    padding: 0 0 10px 0;
    margin: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.mivv-archive-month-item {
    border-bottom: none !important;
    padding: 0 !important;
}

.mivv-archive-month-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0 8px 15px;
    text-decoration: none;
    color: #555;
    font-size: 14px;
    font-weight: 500;
    border-left: 2px solid transparent;
    transition: all 0.2s ease;
}

.mivv-archive-month-item a:hover {
    color: #E3051A !important;
    border-left-color: #E3051A;
    padding-left: 20px;
}

.mivv-month-name {
    text-transform: capitalize;
}

.mivv-month-count {
    font-size: 12px;
    color: #aaa;
    font-weight: 400;
}

/* Anno corrente evidenziato con un sottile accento */
.mivv-archive-year-group.is-open .mivv-archive-year-label {
    color: #E3051A;
}

/* ==========================================================================
   7. FOOTER
   ========================================================================== */
footer,
footer .footer-widget ul {
    text-align: center !important;
}

footer hr {
    max-width: 800px;
    background: #F0F0F0;
    margin: 40px auto;
}

footer.footer-style-2 .footer-top {
    background: #000;
}

footer.footer-style-2 .footer-top .widget.widget_nav_menu ul li a {
    color: #FFF !important;
    text-transform: uppercase;
    font-size: 14px;
}

a.imgAlloriFooter img {
    max-width: 100%;
    width: 600px;
}

.widget.widget_nav_menu ul {
    text-align: center;
}

footer .footer-widget .wpml-ls-slot-2 {
    display: none !important;
}

footer .socialMenu {
    margin: 50px !important;
}

footer .socialMenu i {
    background-color: var(--heading-color);
    border-radius: 30px;
    padding: 10px;
    width: 50px;
    height: 50px;
    line-height: 30px;
    font-size: 20px;
}

/* ==========================================================================
   8. MEDIA QUERIES
   ========================================================================== */

/* STILI DESKTOP / GENERALI  */

/* Slider Desktop */
@media (min-width: 992px) {
    .swiper-container.two {
        display: block;
    }

    .swiper-container.one {
        display: none;
    }
}


/* LAPTOP & LARGE TABLET (max-width: 1366px) */
@media (max-width: 1366px) {
    h2 {
        font-size: 50px;
    }

    .navbar-area .nav-container .navbar-collapse li {
        font-size: 15px !important;
    }

    .bikes-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .blog .mivv-post-item {
        flex-direction: column;
    }

    .archive .breadcrumb-style-6 .breadcrumb-inner h1,
    .single-post .breadcrumb-style-6 .breadcrumb-inner h1 {
        font-size: 50px !important;
    }
}

@media (max-width: 1280px) {

    /* Menu */
    li.menu-item {
        font-size: 15px !important;
    }
}


/* TABLET PORTRAIT (max-width: 991px) */
@media (max-width: 991px) {

    /* Menu */
    li.menu-item {
        font-size: 15px !important;
    }

    .related.products ul.products li.product {
        width: calc(50% - 10px);
    }

    /* Switch Slider Mobile */
    .swiper-container.two {
        display: none !important;
    }

    .swiper-container.one {
        display: block !important;
    }
}


/* MOBILE STANDARD (max-width: 768px) */
@media (max-width: 768px) {
    h2 {
        font-size: 36px;
    }

    .logo {
        padding: 0 50px 50px 0 !important;
    }

    /* Griglie e Layout */
    .brands-grid,
    .news-grid,
    .bikes-grid {
        grid-template-columns: 1fr;
    }

    .news-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .inverti-mobile {
        flex-direction: column-reverse !important;
    }

    .spazio-sx,
    .spazio-dx {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .sidebar-baz {
        position: static;
        top: auto;
    }

    /* Search Bar Mobile */
    .search-bar {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        padding: 0 20px;
    }

    .select-wrapper,
    .select-wrapper select,
    .btn-search {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .btn-search {
        justify-content: center;
    }

    .search-section {
        padding: 50px 0;
    }

    .search-section h2 {
        font-size: 32px;
    }

    /* Allineamento testi mobile (Pagine specifiche) */
    .page-id-381 h2,
    .page-id-381 p,
    .page-id-162 h2,
    .page-id-162 p,
    .page-id-171 h2,
    .page-id-171 p,
    .page-id-241 h2,
    .page-id-241 p {
        text-align: left;
    }

    /* Hero & Depicter */
    div.depicter-layer-frame:has(> span.banner-text-mobile) {
        text-align: center !important;
    }

    /* Homepage mobile */
    .home-rolling .rolling-content {
        padding-top: 50px;
    }

    .news-section,
    .brands-section,
    .latest-bikes,
    .package-area {
        padding-top: 0;
    }

    /* Footer */
    .copyright-area-inner {
        text-align: center;
    }

    /* Archivio prodotti Shop */

    .woocommerce .woocommerce-breadcrumb {
        margin-top: 50px;
    }

    header.woocommerce-products-header {
        flex-direction: column;
        align-items: start !important;
    }

    .sidebar-shop .widget-area {
        margin: 30px 0 30px 0 !important;
    }

    /* Dettaglio prodotto singolo prodotto */
    .single-product .moto-search-bar-section {
        padding-top: 0 !important;
    }

    .single-product .product-summary-content {
        margin-top: 40px;
    }

    .single-product .support-box,
    .single-product .documents-box {
        border-bottom: 40px solid #fff;
    }

    /* Cerca rivenditore - mobile */
    .mivv-filters-wrapper {
        flex-direction: column;
    }

    /* News - mobile */
    .archive .breadcrumb-style-6 .breadcrumb-inner h1,
    .single-post .breadcrumb-style-6 .breadcrumb-inner h1 {
        font-size: 40px !important;
    }
}


/* MOBILE SMALL (max-width: 575px) */
@media (max-width: 575px) {
    .related.products ul.products li.product {
        width: 100%;
    }
}

/*[INIZIO] oem*/
.page-main-slug-oem .breadcrumb-style-6 {
    min-height: 600px;
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    background-color: #000;
}

.page-main-slug-oem .breadcrumb-style-6:after {
    background: none;
}

@media (max-width: 575px) {
    .page-main-slug-oem .breadcrumb-style-6 {
        min-height: 300px;
        background-position: center center;
    }
}

.page-main-slug-oem p {
    font-size: 24px;
}

.page-main-slug-oem .wp-block-columns .wp-block-group figure {
    height: 100px;
}

.page-main-slug-oem .wp-block-columns .wp-block-group figure img {
    max-width: 170px !important;
    height: auto !important;
    max-height: 100px !important;
    margin: 0 auto !important;

}

.page-main-slug-oem .wp-block-columns .wp-block-group {
    text-align: center;
}

.page-main-slug-oem .wp-block-columns .wp-block-group ul {
    list-style: none;
    ;
}

.page-main-slug-oem .wp-block-columns .wp-block-group h3 {
    display: none;
}

/*[FINE] oem*/