/* ===========================================
   Vulturbike Homepage Custom Styles
   =========================================== */

/* --- HOMEPAGE HERO SECTION HEIGHT --- */
.elementor-31 .elementor-element.elementor-element-eab17be:not(.elementor-motion-effects-element-type-background),
.elementor-31 .elementor-element.elementor-element-eab17be > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    max-height: 800px !important;
}

@media (max-width: 767px) {
  .elementor-31 .elementor-element.elementor-element-eab17be:not(.elementor-motion-effects-element-type-background),
  .elementor-31 .elementor-element.elementor-element-eab17be > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    max-height: 500px !important;
  }
}


/* --- HOMEPAGE SECTION PADDING (1450px and below) --- */
@media (max-width: 1500px) {
    #index #wrapper .elementor-section-wrap > .elementor-section {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* ===========================================
   1. HEADER: Container (1440px max) + Sticky
   =========================================== */

/* Header hover effect on homepage: black background */
#index #header,
#index #header .header-nav,
#index #header .header-top {
  transition: background 0.3s ease !important;
}

#index #header:hover,
#index #header:hover .header-nav,
#index #header:hover .header-top {
  background: #000 !important;
}


/* Header container max-width — targets .inner (Leo Elements header wrapper) */
#header .header-top .container,
#header .header-nav {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
#header .header-top > .inner {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
}
#header .header-top > .container-fluid {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Header top inner content container */
#header .header-top .header-top-right,
#header .header-top .header-top-left {
  max-width: 1440px;
}


#_desktop_language_selector .dropdown select {
  color: #ffffff;
  background: transparent;
}

#_desktop_language_selector .dropdown-menu {
  max-width: max-content;
}

#_desktop_language_selector .dropdown-menu a,
#_desktop_language_selector .dropdown-menu a:hover {
  color: #232323;
  font-size: 14px;
  padding: 3px 1rem;
}

.language-selector ul li {
  text-transform: uppercase;
  color: #000!important;
  font-weight: 600!important;
}

language-selector-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lang-flag {
  border-radius: 100%;
  width: 15px;
  height: 15px;
}

/* Force header icons to stay in one row globally (Desktop & Mobile) */
#header .elementor-element-c20a973 .elementor-widget-wrap,
#header .elementor-element-c20a973 .elementor-column-wrap {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.language-selector button {
  display: flex;
  align-items: center;
  gap: 5px;
}
.language-selector .dropdown-menu li {
  display: flex;
  align-items: center;
  padding: 5px 10px;
}
.language-selector .dropdown-menu li a {
  padding: 0 10px !important;
}



/* Navigation menu styling */
.leo-megamenu .navbar-nav > li > a {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.5px;
  color: #fff !important;
}

/* Top-menu dropdown items — white text */
#_desktop_top_menu .top-menu > li > a,
#_desktop_top_menu .top-menu .dropdown-item,
#header .bottomnav .category > a.dropdown-item {
  color: #fff !important;
}

/* Header banner (promo bar) — hidden */
#header .header-banner {
  display: none !important;
}

/* Elementor promo bar (black banner at top) — hidden */
#header .elementor-element-f7b8b07,
#header .bottomnav .elementor-23 .elementor-top-section:first-child {
  display: none !important;
}

/* Force language selector visibility on mobile */
.header-nav .elementor-element-4872980f.elementor-hidden-phone {
  display: flex !important;
}

/* ===========================================
   2. PRODUCT CARDS (matching vulturbike.com)
   =========================================== */

/* --- Card container --- */
.product-miniature {
  background: #fff;
  border: none !important;
  box-shadow: none !important;
  position: relative;
  overflow: visible;
  padding-bottom: 16px;
}

/* --- Spaziatura fra colonne prodotto (griglia) --- */
.ajax_block_product {
  padding-left: 15px !important;
  padding-right: 15px !important;
  margin-bottom: 30px;
}
.leo-product-ajax {
  margin-left: -15px !important;
  margin-right: -15px !important;
}

/* --- Spaziatura fra card nel carosello Slick --- */
.slick-slider .slick-slide {
  padding-left: 10px;
  padding-right: 10px;
}
.slick-slider .slick-list {
  margin-left: -10px;
  margin-right: -10px;
}

/* Hide navigation inside individual product miniatures (FORCE HIDE) */
.product-miniature .slick-arrow,
.product-miniature .slick-dots,
.product-miniature .owl-nav,
.product-miniature .owl-dots,
.product-miniature .arrows,
.product-miniature .slick-prev,
.product-miniature .slick-next {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Style main carousel arrows globally to be consistent */
.slick-slider .slick-prev,
.slick-slider .slick-next {
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 99;
    width: 36px !important;
    height: 36px !important;
    background: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
    border: 1px solid #ddd !important;
    color: #000 !important;
    cursor: pointer;
    font-size: 0 !important;
}

/* Icons for the arrows */
.slick-slider .slick-prev:before,
.slick-prev:before { content: "‹" !important; font-size: 28px !important; color: #000 !important; font-family: Arial, sans-serif !important; }
.slick-slider .slick-next:before,
.slick-next:before { content: "›" !important; font-size: 28px !important; color: #000 !important; font-family: Arial, sans-serif !important; }

.slick-slider .slick-prev { left: -15px !important; }
.slick-slider .slick-next { right: -15px !important; }

@media (max-width: 767px) {
  .slick-slider .slick-prev { left: 5px !important; }
  .slick-slider .slick-next { right: 5px !important; }
  .slick-slider .slick-prev, .slick-slider .slick-next { width: 32px !important; height: 32px !important; }
}

/* --- Thumbnail image area --- */
.product-miniature .thumbnail-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}
.product-miniature .product-image {
  position: relative;
  width: 100%;
  padding-top: 0; /* reverted to natural height */
  overflow: hidden;
  background-color: transparent;
}
.product-miniature .product-image a.product-thumbnail {
  position: relative;
  width: 100%;
  display: block !important;
}
/* Ensure images are visible and let them dictate height naturally */
.product-miniature .product-image a.product-thumbnail img,
.product-miniature .product-image a.product-thumbnail picture img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* --- Hide hover overlay only if needed, but ensure layout doesn't collapse --- */
.product-miniature .highlighted-informations,
.product-miniature .functional-buttons,
.product-miniature .quickview,
.product-miniature .compare,
.product-miniature .wishlist,
.product-miniature .leo-quickview-bt-loading,
.product-miniature .leo-compare-bt-loading,
.product-miniature .leo-wishlist-bt-loading {
  display: none !important;
}

/* Hide star ratings and reviews */
.product-miniature .star_content,
.product-miniature .leo-list-product-reviews,
.product-miniature .reviews-count {
  display: none !important;
}

/* Hide redundant controls */
.product-miniature .quantity,
.product-miniature .input-group-btn-vertical,
.product-miniature .qty,
.product-miniature .product_quantity,
.product-miniature .product-quantity,
.product-miniature .product-description-short,
.product-miniature .product-add-cart,
.product-miniature .add-to-cart,
.product-miniature .leo-bt-cart,
.product-miniature .shopping-cart,
.product-miniature .button-container,
.product_quantity,
.product-miniature .leo-cart-quantity,
.product-miniature .leo_cart_attribute,
.product-miniature .leo-cart-content,
.product-miniature .cart-quantity,
.product-miniature .btn-cart,
.product-miniature .btn-product,
.product-miniature .add-cart-button,
.product-miniature .ajax_add_to_cart_button {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* --- Product flags/badges --- */
.product-miniature .product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.product-miniature .product-flags .product-flag {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.3;
  border-radius: 0;
}
.product-miniature .product-flags .discount {
  background-color: #f54337;
  color: #fff;
  order: -1;
}
.product-miniature .product-flags .new {
  background-color: #f54337;
  color: #fff;
}
.product-miniature .product-flags .on-sale {
  background-color: #f54337;
  color: #fff;
}
.product-miniature .product-flags .out_of_stock {
  background-color: #f54337;
  color: #fff;
  border: none;
}

/* --- Product title & price: vedi sezione Product meta sotto --- */

/* --- Product meta (area sotto immagine) --- */
.product-miniature .product-meta {
  padding: 8px 0 0 0;
}

.product-meta {
    display: flex;
    gap: 15px;
    justify-content: space-between;
}

/* --- Layout titolo + prezzo sulla stessa riga --- */
.product-miniature .product-description {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  color: #333 !important;
  padding: 0;
}
.product-miniature .product-title {
  flex: 1 1 55%;
  margin: 0;
  min-width: 0;
}
.product-miniature .product-title a {
  color: #000000 !important;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  display: block;
}
.product-miniature .product-title a:hover {
  color: #922b21 !important;
}
.product-miniature .product-price-and-shipping {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  margin-top: 0;
  text-align: right;
}
/* Prima riga: prezzo barrato + percentuale */
.product-miniature .product-price-and-shipping .regular-price,
.product-miniature .product-price-and-shipping .discount-percentage,
.product-miniature .product-price-and-shipping .discount-amount {
  display: inline;
}
.product-miniature .product-price-and-shipping .regular-price {
  color: #999 !important;
  font-size: 13px;
  text-decoration: line-through;
  font-weight: 400;
  order: 0;
  white-space: nowrap;
}
.product-miniature .product-price-and-shipping .discount-percentage {
  color: #c0392b !important;
  font-size: 13px;
  font-weight: 700;
  order: 1;
  white-space: nowrap;
}
/* Riga separata: prezzo scontato verde */
.product-miniature .product-price-and-shipping .price {
  color: #009d3d !important;
  font-weight: 800;
  order: 2;
  text-align: center;
  white-space: nowrap;
  width: auto;
  margin-top: 0;
}

@media (min-width: 992px) {
    .product-price-and-shipping span {
        font-size: 24px;
        line-height: 24px;
        text-align: center;
    }
}

@media (max-width: 767px) {
  .product-miniature .product-description {
    flex-direction: column;
    gap: 4px;
  }
  .product-miniature .product-price-and-shipping {
    align-items: flex-start;
    text-align: left;
  }
  .product-miniature .product-price-and-shipping .price {
    font-size: 16px;
  }
  .ajax_block_product {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 20px;
  }
  .leo-product-ajax {
    margin-left: -8px !important;
    margin-right: -8px !important;
  }
}

/* --- Section headings --- */
.elementor-widget-LeoProductCarousel .leo-product-carousel-title {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* --- "No products" alert --- */
.elementor-widget-LeoProductCarousel .alert.leo-lib-error {
  color: #856404 !important;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

/* ===========================================
   3. HEADINGS & TEXT
   =========================================== */

/* Force all headings to NOT be italic */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.elementor-heading-title {
  font-style: normal !important;
}

/* Let inline styles from page builder take precedence */
.elementor-widget-heading .elementor-heading-title {
  color: inherit;
}

/* SEO Text Block: ensure dark text on white background */
.elementor-widget-text-editor .elementor-widget-container h2,
.elementor-widget-text-editor .elementor-widget-container h3,
.elementor-widget-text-editor .elementor-widget-container p {
  color: inherit;
}

/* Section headings (like "Nuovi Prodotti", "Adesivi", etc.) */
.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
  font-weight: 700;
  text-transform: uppercase;
}

/* ===========================================
   4. REASSURANCE BAR
   =========================================== */

/* Icons: proper sizing */
.elementor-section[data-settings*="2c2c2c"] .elementor-widget-text-editor img,
.elementor-inner-section .elementor-widget-text-editor div[style*="display:flex"] img {
  width: 80px !important;
  height: 80px !important;
  object-fit: contain !important;
}

/* Reassurance text */
.elementor-section[data-settings*="2c2c2c"] .elementor-widget-text-editor h5,
.elementor-section[data-settings*="2c2c2c"] .elementor-widget-text-editor p {
  color: #fff !important;
}

/* ===========================================
   5. DARK BACKGROUND SECTIONS
   =========================================== */

/* White text for dark bg sections */
.elementor-section.elementor-section-full_width[style*="background-color"] .elementor-widget-container {
  color: #fff;
}

/* Category blocks: overlay text always white */
.elementor-widget-text-editor div[style*="linear-gradient"] * {
  color: #fff !important;
}

/* ===========================================
   6. CTA BUTTON STYLES
   =========================================== */

/* "Scopri il Mondo Vulturbike" CTA and similar buttons */
.elementor-widget-heading .elementor-heading-title a {
  transition: opacity 0.3s ease;
}
.elementor-widget-heading .elementor-heading-title a:hover {
  opacity: 0.85;
}

/* ===========================================
   7. FOOTER REFINEMENTS
   =========================================== */

/* Footer link columns titles */
.elementor-widget-LeoBlockLink .leo-list-icon-title {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* Footer social icons spacing */
.elementor-widget-social-icons .elementor-social-icon {
  margin-right: 5px;
}

/* Footer disclaimer text */
#footer .elementor-widget-heading p,
.displayFooterAfter .elementor-widget-heading .elementor-heading-title {
  line-height: 1.6;
}

/* ===========================================
   8. VIDEO SECTION
   =========================================== */

/* YouTube video embeds */
.elementor-widget-video .elementor-wrapper {
  border-radius: 4px;
  overflow: hidden;
}

/* ===========================================
   9. SLIDESHOW
   =========================================== */

/* Slideshow dots */
.leoslideshow .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: rgba(255, 255, 255, 0.5);
}
.leoslideshow .swiper-pagination-bullet-active {
  background: #fff;
}

/* Slideshow navigation arrows */
.leoslideshow .swiper-button-next,
.leoslideshow .swiper-button-prev {
  color: #fff;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.leoslideshow .swiper-button-next:hover,
.leoslideshow .swiper-button-prev:hover {
  opacity: 1;
}

/* ===========================================
   10. RESPONSIVE
   =========================================== */

@media (max-width: 1200px) {
  /* --- MOBILE HEADER LAYOUT --- */

  /* Section 33a77e71 (Top Bar: Language + Contacts) → flex row nowrap */
  .header-nav .elementor-element-33a77e71 > .elementor-container,
  .header-nav .elementor-element-33a77e71 > .elementor-container > .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  /* Section 1d0be1d: Logo + Menu + Icons → flex row */
  .header-top .elementor-element-1d0be1d > .elementor-container,
  .header-top .elementor-element-1d0be1d > .elementor-container > .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  /* Logo column: left, auto width */
  .header-top .elementor-element-6c829a1 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }
  /* Force logo padding 15px-left only, with higher specificity */
  .elementor-24 .elementor-element.elementor-element-6c829a1 .elementor-element-populated,
  .header-top .elementor-element-6c829a1 .elementor-element-populated {
    padding: 0 0 0 15px !important;
  }

  /* Logo image: constrain size */
  .header-top .elementor-element-6c829a1 .logo.img-fluid {
    max-height: 30px !important;
    max-width: 150px !important;
    width: auto !important;
  }

  /* Desktop menu column: HIDE on mobile */
  .header-top .elementor-element-33d046f {
    display: none !important;
  }

  /* Icons column: right, auto width */
  .header-top .elementor-element-c20a973 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .header-top .elementor-element-c20a973 .elementor-widget-wrap,
  .header-top .elementor-element-c20a973 .elementor-column-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 5px;
  }

  /* Extra small screens adjustments */
  @media (max-width: 400px) {
    .header-top .elementor-element-6c829a1 .logo.img-fluid {
      max-width: 100px !important;
      max-height: 25px !important;
    }
    .header-top .elementor-element-c20a973 .elementor-widget-wrap,
    .header-top .elementor-element-c20a973 .elementor-column-wrap {
      gap: 3px;
    }
  }


  /* --- CUSTOM CSS HAMBURGER & MENU PANEL --- */
  .menu-container {
    display: flex;
    align-items: center;
    margin-left: 15px;
  }
  /* Hamburger button (labels acting as button) */
  .hamburger-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    cursor: pointer;
    margin: 0;
    z-index: 10001; /* Must be above the menu panel */
  }
  .hamburger-icon {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
  }
  /* Active states for hamburger (transform into X) */
  .mobile-menu-toggle:checked ~ .hamburger-menu .hamburger-icon:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .mobile-menu-toggle:checked ~ .hamburger-menu .hamburger-icon:nth-child(2) {
    opacity: 0;
  }
  .mobile-menu-toggle:checked ~ .hamburger-menu .hamburger-icon:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
  
  /* The hidden checkbox (if any lingering markup uses it) */
  .mobile-menu-toggle {
    display: none !important;
  }
}

/* Keep non-header mobile rules below */
@media (max-width: 767px) {
  .elementor-inner-section .elementor-widget-text-editor div[style*="display:flex"] img {
    width: 50px !important;
    height: 50px !important;
  }

  /* Mobile header adjustments */
  #header .header-top .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* Mobile product cards */
  .product-miniature {
    margin-bottom: 20px;
  }
  .product-miniature .product-title a {
    font-size: 13px;
  }
  .product-miniature .product-price-and-shipping .price {
    font-size: 16px;
  }
  .product-miniature .product-price-and-shipping .regular-price,
  .product-miniature .product-price-and-shipping .discount-percentage {
    font-size: 12px;
  }
  .product-miniature .product-flags .product-flag {
    font-size: 10px;
    padding: 3px 7px;
  }

  /* Mobile footer */
  .elementor-widget-LeoBlockLink .leo-list-icon-title {
    margin-top: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* Tablet header */
  #header .header-top .container {
    max-width: 100%;
  }

  /* Tablet product cards */
  .product-miniature .product-title a {
    font-size: 13px;
  }
  .product-miniature .product-price-and-shipping .price {
    font-size: 16px;
  }
}

@media (min-width: 1025px) {
  /* Desktop: ensure header content stays within 1440px */
  #header .header-top {
    display: flex;
    justify-content: center;
  }
  #header .header-top > .inner,
  #header .header-top > .container,
  #header .header-top > .container-fluid,
  #header .header-nav {
    max-width: 1440px;
    width: 100%;
  }
}

/* Hide mobile-only elements on desktop */
#vb-hamburger {
  display: none;
}
@media (min-width: 992px) {
  #vb-mobile-menu,
  #vb-mobile-overlay {
    display: none !important;
  }
}

/* Hide cart total value (price) for all devices */
#_desktop_cart .header .value,
#_mobile_cart .header .value,
.blockcart .header .value {
  display: none !important;
}

/* Hide custom mobile menu and button on desktop (above 1200px) */
@media (min-width: 1201px) {
  .menu-container {
    display: none !important;
  }
}

/* ===========================================
   11. NEWSLETTER BLOCK
   =========================================== */

#block-newsletter-label > form p,
.block_newsletter form .row .col-xs-12:last-of-type p {
  color: #fff !important;
}

/* ===========================================
   13. BLOG HOMEPAGE (prestablog subblock)
   =========================================== */

/* Section background */
.prestablogswip {
  background-color: #191919;
}

/* Container wrapper */
.prestablogswip .container {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* Section title */
.prestablogswip .title {
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 24px;
  color: #ffffff;
}

/* Card wrapper */
.prestablogswip .blog-grid {
  box-sizing: border-box;
  padding: 0 6px;
}

/* Immagine in alto — background-image approach (sempre renderizzata) */
.prestablogswip .blog-grid .vb-card-img-link {
  display: block;
}
.prestablogswip .blog-grid .vb-card-img {
  width: 100%;
  height: 330px;
  background-size: cover;
  background-position: center center;
  background-color: #2a2a2a;
}

/* Testo sotto l'immagine */
.prestablogswip .blog-grid .vb-card-body {
  padding: 1.2em !important;
  background-color: #191919;
}

#blog_list_1-7 a {
  color: #ffffff !important;
  text-decoration: none;
}

.prestablogswip .blog-grid .vb-card-title,
#blog_list_1-7 h3 {
  margin: 0 0 10px 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  font-style: normal;
}
.prestablogswip .blog-grid .vb-card-title a {
  color: #ffffff !important;
  text-decoration: none;
}
.prestablogswip .blog-grid .vb-card-title a:hover {
  color: #f54337 !important;
}

/* Anteprima testo */
.prestablogswip .blog-grid .vb-card-excerpt {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
  margin: 0 0 14px 0;
}

/* "Maggiori informazioni" link */
.prestablogswip .blog-grid .vb-read-more {
  display: inline-block;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.5);
  padding-bottom: 2px;
  transition: border-color 0.2s ease;
}
.prestablogswip .blog-grid .vb-read-more:hover {
  border-color: #fff;
}

/* Navigation arrows — nascoste, usiamo solo dots */
.prestablogswip .nivo-directionNav {
  display: none;
}

/* Pagination dots */
.prestablogswip .swiper-pagination-bloglist {
  position: relative;
  margin-top: 20px;
  text-align: center;
  line-height: 1;
}
.prestablogswip .swiper-pagination-bloglist .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #555;
  opacity: 1;
  margin: 0 4px;
}
.prestablogswip .swiper-pagination-bloglist .swiper-pagination-bullet-active {
  background: #f54337;
}

@media (max-width: 992px) {
  .prestablogswip .blog-grid .vb-card-img {
    height: 180px;
  }
  .prestablogswip .blog-grid .vb-card-title {
    font-size: 20px;
  }
  .prestablogswip .blog-grid .vb-card-excerpt {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .prestablogswip .blog-grid .vb-card-img {
    height: 200px;
  }
  .prestablogswip .title {
    font-size: 26px;
  }
}



/* ===========================================
   12. ADVANCED SEARCH BLOCK (pm_advancedsearch4)
   =========================================== */

/* --- Reset card container --- */
:is(#index, #pagenotfound) .PM_ASBlockOutput .card {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
/* Hide duplicate card-header title (Elementor h2 above is the real title) */
:is(#index, #pagenotfound) .PM_ASBlockOutput .card-header {
  display: none !important;
}
:is(#index, #pagenotfound) .PM_ASBlockOutput .card-block {
  padding: 0;
}

/* --- Form: inline flex row (nowrap = button always on same line) --- */
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASForm {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
}

/* --- Dropdown list: all 4 selects side by side --- */
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroupList {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroup {
  flex: 1 1 0;
  min-width: 0;
  padding: 0;
}

/* Hide group titles (MARCHIO MOTO, MODELLO MOTO, etc.) */
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroupTitle {
  display: none !important;
}

/* Submit button wrapper: inline next to dropdowns — override Bootstrap col-xs-12 (width:100%) */
:is(#index, #pagenotfound) .PM_ASBlockOutput p.col-xs-12.text-center {
  flex: 0 0 auto;
  width: auto !important;
  margin: 0;
  padding: 0;
}

/* --- Select dropdowns — propagate height:100% through wrapper chain --- */
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsOutput,
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterions,
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroupOuter,
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionStepEnable {
  height: 100%;
  margin: 0;
  padding: 0;
}
:is(#index, #pagenotfound) .PM_ASBlockOutput select.PM_ASCriterionGroupSelect.form-control:not([size]):not([multiple]) {
  height: 100% !important;
  padding: 20px 10px !important;
  margin: 0;
  width: 100%;
}
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionGroupSelect.form-control {
  height: 100%;
  margin: 0;
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  background-color: #f5f5f5;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  padding: 0 36px 0 14px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
  width: 100%;
}
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionGroupSelect.form-control:focus {
  border-color: #f54337;
  outline: none;
  box-shadow: none;
}

/* --- SEARCH button --- */
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASSubmitSearch {
  height: 100%;
  padding: 0.8rem 4rem;
  background-color: #f54337;
  border: none;
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
}
:is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASSubmitSearch:hover {
  background-color: #d32f2f;
}

/* --- Responsive: Tablet (≤992px) — 2 dropdown per riga --- */
@media (max-width: 992px) {
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroupList {
    flex-wrap: wrap;
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroup {
    flex: 1 1 calc(50% - 4px);
    min-width: calc(50% - 4px);
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput p.col-xs-12.text-center {
    width: 100%;
    flex: 1 1 100%;
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASSubmitSearch {
    width: 100%;
    justify-content: center;
  }
}

/* --- Responsive: Mobile (≤767px) — tutto in colonna --- */
@media (max-width: 767px) {
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASForm {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroupList {
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionsGroup {
    flex: 0 0 auto;
    width: 100%;
  }
  /* Su mobile height:100% non ha riferimento — uso altezza fissa */

  :is(#index, #pagenotfound) .PM_ASBlockOutput select.PM_ASCriterionGroupSelect.form-control:not([size]):not([multiple]),
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASCriterionGroupSelect.form-control {
    width: 100%;
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput p.col-xs-12.text-center {
    width: 100% !important;
    flex: 0 0 auto;
  }
  :is(#index, #pagenotfound) .PM_ASBlockOutput .PM_ASSubmitSearch {
    width: 100%;
    justify-content: center;
    height: 48px;
  }
}

/* =============================================
   PM_ASBlockOutput — Category page (vertical stacked layout)
   ============================================= */

:is(#category, #cms) .PM_ASBlockOutput .card {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
:is(#category, #cms) .PM_ASBlockOutput .card-header {
  background: transparent;
  border: none;
  padding: 0 0 10px 0;
  font-family: 'Racing Sans One', sans-serif;
  font-weight: 400;
  font-size: 36px;
  color: #111;
}
:is(#category, #cms) .PM_ASBlockOutput .card-block {
  padding: 0;
}
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionsGroupTitle {
  display: none !important;
}

/* Form: colonna verticale */
:is(#category, #cms) .PM_ASBlockOutput .PM_ASForm {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 8px;
}
/* Azzera margini su tutti i figli diretti del form per evitare spazi doppi */
:is(#category, #cms) .PM_ASBlockOutput .PM_ASForm > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Reset Bootstrap .row negative margins e col padding che creano gap indesiderati */
:is(#category, #cms) .PM_ASBlockOutput .PM_ASForm .row {
  margin: 0 !important;
}
:is(#category, #cms) .PM_ASBlockOutput .PM_ASForm [class*="col-"] {
  padding: 0 !important;
  float: none !important;
}

/* Dropdown list: colonna verticale, larghezza piena */
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionsGroupList {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  width: 100%;
}
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionsGroup {
  flex: 0 0 auto;
  width: 100%;
  padding: 0;
}

/* Altezza fissa sui wrapper */
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionsOutput,
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterions,
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionsGroupOuter,
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionStepEnable {
  height: 48px;
  margin: 0;
  padding: 0;
}

/* Select dropdown */
:is(#category, #cms) .PM_ASBlockOutput select.PM_ASCriterionGroupSelect.form-control:not([size]):not([multiple]) {
  height: 48px !important;
}
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionGroupSelect.form-control {
  height: 48px;
  margin: 0;
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  background-color: #f5f5f5;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  padding: 0 36px 0 14px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
  width: 100%;
}
:is(#category, #cms) .PM_ASBlockOutput .PM_ASCriterionGroupSelect.form-control:focus {
  border-color: #f54337;
  outline: none;
  box-shadow: none;
}

/* Submit button wrapper: larghezza piena */
:is(#category, #cms) .PM_ASBlockOutput p.col-xs-12.text-center {
  width: 100% !important;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

/* Bottone SEARCH: larghezza piena */
:is(#category, #cms) .PM_ASBlockOutput .PM_ASSubmitSearch {
  height: 48px;
  width: 100%;
  margin: 0 !important;
  margin-bottom: 25px !important;
  padding: 0.8rem 4rem;
  background-color: #f54337;
  border: none;
  border-radius: 3px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
:is(#category, #cms) .PM_ASBlockOutput .PM_ASSubmitSearch:hover {
  background-color: #d32f2f;
}

/* --- Category: product card title line-height --- */
#category h3.product-title a {
  line-height: 1.1;
}

/* --- Category: pagination fix --- */
#category .pagination .page-list {
  align-items: center;
  gap: 2px;
  list-style: none;
  padding: 0;
  margin: 0;
}
#category .pagination .page-list li {
  display: flex;
  align-items: center;
  justify-content: center;
}
#category .pagination .page-list li span.spacer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  font-weight: 700;
  color: #000;
}

/* --- Category: sort order selector btn-unstyle --- */
#category .products-sort-order .select-title {
  background: transparent;
  border: none;
  height: auto;
  width: auto;
  line-height: inherit;
  padding: 0;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
}

/* --- block-categories: title font size --- */
.block-categories p.title_block a,
.block-categories .block > .title_block a {
  font-size: 36px !important;
  font-weight: 400;
}

/* =============================================
   Category mobile: toggle PM_ASBlockOutput inline
   ============================================= */

/* Sotto 768px: nascosto di default, visibile solo al click (toggle) */
@media (max-width: 767px) {
  body#category #left-column .PM_ASBlockOutput,
  body#category #left-column .block-categories {
    display: none;
  }
  body#category #left-column .PM_ASBlockOutput.pm-filter-visible,
  body#category #left-column .block-categories.pm-filter-visible {
    display: block;
  }
}

/* =============================================
   Category mobile: sort-by + filtri button affiancati
   ============================================= */

@media (max-width: 991px) {
  /* Contenitore riga sort + filtri */
  body#category .grid-selecting {
    padding: 0 !important;
  }
  body#category .sort-by-row {
    display: flex !important;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    margin: 12px 0 !important;
    padding: 0 15px !important;
  }
  /* Resetta colonne Bootstrap */
  body#category .sort-by-row > [class*="col-"] {
    float: none !important;
    padding: 0 !important;
    width: auto !important;
    flex: 1 1 0;
  }
  /* Sort order: allinea verticalmente */
  body#category .sort-by-row .products-sort-order {
    display: flex;
    align-items: center;
  }
  /* Bottone FILTRI */
  body#category #search_filter_toggler {
    width: 100%;
    height: 44px;
    background: #f54337;
    color: #fff;
    border: none;
    border-radius: 3px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 0 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  body#category #search_filter_toggler:hover {
    background: #d32f2f;
  }
  /* Testo "Mostrando X-Y di Z" centrato */
  body#category .showing {
    text-align: center !important;
    padding: 4px 0 8px !important;
  }
}

@media (max-width: 767px) {
  .leo-plist-style .thumbnail-container .product-image {
    padding-bottom: 0 !important;
  }
}

/* --- Category mobile: pagination centrata --- */
@media (max-width: 991px) {
  body#category nav.pagination {
    display: flex;
    justify-content: center;
  }
  body#category nav.pagination .page-list {
    justify-content: center !important;
  }
  body#category nav.pagination #pagination_summary {
    text-align: center;
    width: 100%;
  }
}

/* ===========================================
   14. PRODUCT PAGE — RESTYLE
   =========================================== */

/* Right column wrapper: light-gray rounded card */
body#product .content-right {
  background: #f5f5f5;
  border-radius: 12px;
  padding: 24px 28px;
  position: relative;
}
body#product .content-right > h1.h1,
body#product .content-right > .page-header,
body#product .content-right > .product-detail-name,
body#product h1.product-detail-name,
body#product .page-header h1,
body#product h1.h1 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 1.875rem !important;
  line-height: 1.2;
}

/* Price — green bold */
body#product .current-price,
body#product .current-price-value,
body#product .product-price,
body#product .product-prices .current-price span,
body#product .product-prices .price {
  color: #1aa34a !important;
  font-family: "Racing Sans One", cursive !important;
  font-weight: 700 !important;
}
body#product .current-price-value {
  font-size: 36px !important;
  line-height: 1.1;
}
body#product .product-prices {
  margin-bottom: 0;
}

/* Price + reference on the same row */
body#product .price-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
body#product .price-content > * {
  margin: 0;
}

/* Reference line */
body#product .product-reference,
body#product .price-content p {
  color: #222;
  font-size: 14px;
  margin: 0;
}
body#product .product-reference span,
body#product .price-content p span {
  color: #555;
}
body#product .price-content p span {
  font-weight: 700;
}

/* Quantity label */
body#product .product-add-to-cart .control-label {
  display: block;
  font-size: 14px;
  color: #333;
  margin-bottom: 6px;
  font-weight: 600;
}

/* Quantity + add-to-cart row — button inline, stretched */
body#product .product-add-to-cart .product-quantity {
  display: flex;
  align-items: stretch;
  gap: 0;
  flex-wrap: nowrap;
}
body#product .product-add-to-cart .product-quantity > div {
  margin-right: 0 !important;
}
body#product .product-add-to-cart .qty {
  flex: 0 0 auto;
  margin-top: 0 !important;
}
body#product .product-add-to-cart .qty #quantity_wanted {
  height: 48px;
  width: 72px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}
body#product .product-add-to-cart .add {
  flex: 1 1 auto;
  margin-top: 0 !important;
}

/* Green "AGGIUNGI AL CARRELLO" button */
body#product .product-add-to-cart .add-to-cart,
body#product .product-add-to-cart .btn.add-to-cart {
  width: 100%;
  height: 48px;
  background: #1aa34a !important;
  border: none !important;
  border-radius: 8px;
  color: #fff !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .2s ease;
}
body#product .product-add-to-cart .add-to-cart:hover,
body#product .product-add-to-cart .btn.add-to-cart:hover {
  background: #138a3c !important;
}
body#product .product-add-to-cart .add-to-cart .material-icons {
  font-size: 20px;
}

/* Mobile (≤576px): bottone add-to-cart più compatto per non sbordare dal container */
@media (max-width: 576px) {
  body#product .product-add-to-cart .qty #quantity_wanted {
    width: 56px;
  }
  body#product .product-add-to-cart .product-quantity {
    gap: 8px;
  }
  body#product .product-add-to-cart .add-to-cart,
  body#product .product-add-to-cart .btn.add-to-cart {
    font-size: 12px;
    letter-spacing: 0.3px;
    padding: 0 8px;
    gap: 4px;
    white-space: nowrap;
  }
  body#product .product-add-to-cart .add-to-cart .material-icons {
    font-size: 16px;
  }
}

/* Mobile molto stretto (≤375px, iPhone SE): ulteriore compattamento */
@media (max-width: 375px) {
  body#product .product-add-to-cart .qty #quantity_wanted {
    width: 48px;
  }
  body#product .product-add-to-cart .add-to-cart,
  body#product .product-add-to-cart .btn.add-to-cart {
    font-size: 11px;
    letter-spacing: 0;
    padding: 0 6px;
  }
}

/* Hide wishlist/compare round icons next to button */
body#product .product-add-to-cart .leo-wishlist-button,
body#product .product-add-to-cart .leo-compare-button,
body#product .product-add-to-cart .wishlist,
body#product .product-add-to-cart .compare,
body#product .product-add-to-cart [class*="wishlist"],
body#product .product-add-to-cart [class*="compare"] {
  display: none !important;
}

/* Product accordion (Descrizione / Dettagli / Reviews) — reali selettori .products-accordion */
body#product .products-accordion,
body#product #leofeature-product-review {
  background: transparent;
}
body#product .products-accordion .card,
body#product #leofeature-product-review.card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 0 10px 0;
  border-radius: 0;
}
body#product .products-accordion .card-header,
body#product #leofeature-product-review .card-header {
  background: transparent !important;
  border: none !important;
  padding: 0;
  margin: 0;
}
body#product .products-accordion .card-header h5,
body#product #leofeature-product-review .card-header h5 {
  margin: 0;
}
body#product .products-accordion .card-header h5 a,
body#product #leofeature-product-review .card-header h5 a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  color: #111 !important;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  border-bottom: 1px solid #d8d8d8;
}
body#product .products-accordion .card-header h5 a::after,
body#product #leofeature-product-review .card-header h5 a::after {
  content: "+";
  font-size: 22px;
  line-height: 1;
  color: #111;
  font-weight: 400;
}
body#product .products-accordion .card-header h5 a[aria-expanded="true"]::after,
body#product #leofeature-product-review .card-header h5 a[aria-expanded="true"]::after {
  content: "−";
}
body#product .products-accordion .card-header h5 a[aria-expanded="true"],
body#product #leofeature-product-review .card-header h5 a[aria-expanded="true"] {
  color: #f54337 !important;
}

body#product .products-accordion .collapse,
body#product .products-accordion .collapsing,
body#product #leofeature-product-review .collapse,
body#product #leofeature-product-review .collapsing {
  background: transparent !important;
}
body#product .products-accordion .card-block,
body#product #leofeature-product-review .card-block {
  background: transparent !important;
  border: none !important;
  padding: 14px 0;
  color: #333;
}

/* Scheda dati — tabella dt/dd a due colonne */
body#product .product-features {
  margin-bottom: 18px;
  font-family: "Montserrat", sans-serif !important;
}
body#product .product-features,
body#product .product-features * {
  font-family: "Montserrat", sans-serif !important;
}
body#product .product-features > h3,
body#product .product-features > .h6 {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-transform: none;
  margin: 0 0 10px 0;
}
body#product .product-features > dl.data-sheet {
  display: grid !important;
  grid-template-columns: minmax(220px, 35%) 1fr;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
}
body#product .product-features > dl.data-sheet::after {
  display: none !important;
}
body#product .product-features > dl.data-sheet dt.name,
body#product .product-features > dl.data-sheet dd.value {
  float: none !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  word-break: normal !important;
}
body#product .product-features > dl.data-sheet dt.name {
  background: #e5e5e5 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.3px;
  color: #111 !important;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}
body#product .product-features > dl.data-sheet dd.value,
body#product .product-features > dl.data-sheet dd.value:nth-of-type(even) {
  background: #ededed !important;
  font-size: 14px !important;
  color: #333 !important;
  display: flex;
  align-items: center;
  white-space: pre-line;
}

@media (max-width: 575px) {
  body#product .product-features > dl.data-sheet {
    grid-template-columns: 1fr;
  }
  body#product .product-features > dl.data-sheet dt.name,
  body#product .product-features > dl.data-sheet dd.value {
    padding: 10px 14px !important;
  }
}

/* Reassurance block (custom markup .rassicurazioni-cliente) */
.rassicurazioni-cliente {
  margin-top: 18px;
  width: 100%;
}
.rassicurazioni-cliente ul {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.rassicurazioni-cliente ul li {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  list-style: none !important;
}
.rassicurazioni-cliente ul li::before,
.rassicurazioni-cliente ul li::marker {
  content: none !important;
  display: none !important;
}
.rassicurazioni-cliente ul li svg {
  flex-shrink: 0;
  width: auto;
  max-width: 28px;
  height: auto;
  margin: 0 0 4px;
}
.rassicurazioni-cliente ul li:nth-child(3) svg,
.rassicurazioni-cliente ul li:last-child svg {
  max-width: 140px !important;
  width: 100% !important;
}
.rassicurazioni-cliente ul li h5 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: #505050 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  word-break: normal;
  min-width: 0;
}
.rassicurazioni-cliente ul li p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  color: #666 !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  min-width: 0;
}
@media (max-width: 767px) {
  .rassicurazioni-cliente ul li {
    flex: 1 1 100% !important;
  }
}

.note-spedizione,
.note-spedizione * {
  color: #F54337 !important;
}

/* Product variants select (Leo template) */
.content-right .product-variants,
.product-variants.js-product-variants {
  margin: 16px 0 18px;
}
.content-right .product-variants .product-variants-item,
.product-variants.js-product-variants .product-variants-item {
  margin-bottom: 14px;
}
.content-right .product-variants .control-label,
.product-variants.js-product-variants .control-label {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-transform: none;
}
.content-right .product-variants select.form-control-select,
.product-variants.js-product-variants select.form-control-select {
  width: 100%;
  height: 44px;
  padding: 0 38px 0 14px;
  background-color: #fff;
  border: 1px solid #1d1d1d;
  border-radius: 6px;
  font-size: 14px;
  color: #111;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23111' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}
.content-right .product-variants select.form-control-select:focus,
.product-variants.js-product-variants select.form-control-select:focus {
  outline: none;
  border-color: #1aa34a;
  box-shadow: 0 0 0 2px rgba(26, 163, 74, 0.15);
}

/* Product availability alert */
body#product #product-availability.product-availability {
  margin: 0;
}
body#product #product-availability .alert {
  display: inline-block;
  margin: 0;
  padding: 12px 18px;
  border-radius: 8px;
  border: none;
  line-height: 1;
}
body#product #product-availability .alert.alert-warning {
  background-color: #fde0c4;
  color: #111;
}
body#product #product-availability .alert .alert-content-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}
body#product #product-availability .alert .alert-content-wrapper > div {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
body#product #product-availability .alert.alert-warning .material-icons {
  color: #f08a3a;
  font-size: 20px;
  line-height: 1;
  display: block;
  padding-bottom: 28px;
}
body#product #product-availability .alert .alert-content-wrapper > div:last-child,
body#product #product-availability .alert .alert-content-wrapper > div:last-child > div {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  color: #111;
}

/* Accordion product description padding */
body#product .products-accordion .product-description,
body#product .tab-content .product-description {
  padding-bottom: 15px;
}

/* Remove border-top on category-products in product page */
body#product .category-products {
  border-top: none !important;
}

.products-section-title {
  font-size: 36px !important;
}

/* Share buttons — underline style (optional) */
body#product .social-sharing {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
body#product .social-sharing .h6,
body#product .social-sharing > span:first-child {
  margin: 0;
  font-weight: 600;
  color: #111;
}

/* Responsive */
@media (max-width: 767px) {
  body#product .content-right {
    padding: 18px;
  }
  body#product .rassicurazioni-cliente ul li {
    flex: 1 1 100%;
  }
}

/* =====================================================
   DROPDOWN CARRELLO HEADER (Leo) — restyle pulito
   Verde brand: #1aa34a (hover #138a3c)
   ===================================================== */

/* Container principale del dropdown */
.leo-dropdown-cart-content {
  background: #fff;
  padding: 16px;
  font-family: inherit;
  color: #1a1a1a;
  min-width: 380px;
}

/* Lista prodotti */
.leo-dropdown-cart-content .leo-dropdown-list-item-warpper {
  margin-bottom: 0;
}
.leo-dropdown-cart-content .leo-dropdown-list-item {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Singolo item prodotto */
.leo-dropdown-cart-content .leo-dropdown-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border: none;
  position: relative;
  width: auto !important;
  height: auto !important;
}

/* Immagine prodotto */
.leo-dropdown-cart-content .leo-cart-item-img {
  flex: 0 0 80px;
  width: 80px;
  height: auto;
  margin: 0;
  padding: 0;
}
.leo-dropdown-cart-content .leo-cart-item-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* Info prodotto (nome + prezzo + quantità) */
.leo-dropdown-cart-content .leo-cart-item-info {
  flex: 1 1 auto;
  width: auto;
  padding: 0;
  margin: 0;
}

/* Nome prodotto */
.leo-dropdown-cart-content .leo-cart-item-info .product-name {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin: 0 0 6px 0;
  line-height: 1.3;
}
.leo-dropdown-cart-content .leo-cart-item-info .product-name a {
  color: #1a1a1a;
  text-decoration: none;
}
.leo-dropdown-cart-content .leo-cart-item-info .product-name a:hover {
  color: #1aa34a;
}

/* Prezzo */
.leo-dropdown-cart-content .leo-cart-item-info .product-price {
  font-size: 14px;
  font-weight: 700;
  color: #1aa34a;
  margin: 0 0 8px 0;
}
.leo-dropdown-cart-content .leo-cart-item-info .product-price .current-price .price {
  color: #232323;
  font-weight: 700;
}
.leo-dropdown-cart-content .leo-cart-item-info .product-price .regular-price {
  text-decoration: line-through;
  color: #999;
  font-weight: 400;
  margin-right: 6px;
}

/* Selettore quantità +/- */
.leo-dropdown-cart-content .product-quantity {
  display: inline-flex;
  align-items: center;
  border-radius: 4px;
  overflow: hidden;
  height: 32px;
}
.leo-dropdown-cart-content .leo-bt-product-quantity {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #1a1a1a;
  border: none;
  cursor: pointer;
  text-decoration: none;
  font-size: 16px;
  transition: background .15s ease;
}
.leo-dropdown-cart-content .leo-bt-product-quantity:hover {
  background: #f5f5f5;
}
.leo-dropdown-cart-content .leo-bt-product-quantity .material-icons {
  font-size: 16px;
  line-height: 1;
}
.leo-dropdown-cart-content .leo-input-product-quantity {
  width: 36px;
  height: 32px;
  border: none;
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  text-align: center;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  padding: 0;
  -moz-appearance: textfield;
}
.leo-dropdown-cart-content .leo-input-product-quantity::-webkit-outer-spin-button,
.leo-dropdown-cart-content .leo-input-product-quantity::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Cestino remove */
.leo-dropdown-cart-content .leo-remove-from-cart {
  position: absolute;
  top: auto;
  bottom: 12px;
  right: 0;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #999;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: color .15s ease, background .15s ease;
}
.leo-dropdown-cart-content .leo-remove-from-cart:hover {
  color: #d32f2f;
  background: #f9f9f9;
}
.leo-dropdown-cart-content .leo-remove-from-cart .material-icons {
  font-size: 18px;
}

/* Sezione bassa (subtotali, totale, bottoni) */
.leo-dropdown-cart-content .leo-dropdown-bottom {
  border-top: 1px solid #e0e0e0;
  padding-top: 16px;
  margin-top: 8px;
}

/* Subtotali (TOTALE PARZIALE, SPEDIZIONE) */
.leo-dropdown-cart-content .leo-dropdown-cart-subtotals {
  margin-bottom: 12px;
}
.leo-dropdown-cart-content .leo-dropdown-cart-subtotals > div {
  margin-bottom: 6px;
}
.leo-dropdown-cart-content .leo-dropdown-cart-subtotals > div:last-child {
  margin-bottom: 0;
}
.leo-dropdown-cart-content .leo-dropdown-cart-subtotals .label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1a1a1a;
}
.leo-dropdown-cart-content .leo-dropdown-cart-subtotals .value {
  font-size: 13px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: right;
  display: block;
}

/* Totale finale */
.leo-dropdown-cart-content .leo-dropdown-cart-total {
  border-top: 1px solid #e0e0e0;
  padding-top: 12px;
  margin-bottom: 16px;
}
.leo-dropdown-cart-content .leo-dropdown-cart-total .label {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1a1a1a;
}
.leo-dropdown-cart-content .leo-dropdown-cart-total .value {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: right;
  display: block;
}

/* Banner free shipping (se presente) — stile minimale */
.leo-dropdown-cart-content .leo_free_price {
  background: #f0faf3;
  color: #1aa34a;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 4px;
  margin: 8px 0 0 0;
}
.leo-dropdown-cart-content .leo_free_price p {
  margin: 0;
}

/* Pulsanti azione (Vedi Carrello + Check-out) */
.leo-dropdown-cart-content .leo-cart-dropdown-action {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0;
}
.leo-dropdown-cart-content .cart-dropdow-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  border-radius: 6px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  margin: 0;
  float: none;
}
/* Bottone "Vedi Carrello" — outlined */
.leo-dropdown-cart-content .cart-dropdow-viewcart {
  background: #fff;
  color: #1aa34a;
  border: 2px solid #1aa34a;
}
.leo-dropdown-cart-content .cart-dropdow-viewcart:hover,
.leo-dropdown-cart-content .cart-dropdow-viewcart:focus {
  background: #f0faf3;
  color: #138a3c;
  border-color: #138a3c;
}
/* Bottone "Check-out" — filled */
.leo-dropdown-cart-content .cart-dropdow-checkout {
  background: #1aa34a;
  color: #fff;
  border: 2px solid #1aa34a;
}
.leo-dropdown-cart-content .cart-dropdow-checkout:hover,
.leo-dropdown-cart-content .cart-dropdow-checkout:focus {
  background: #138a3c;
  border-color: #138a3c;
  color: #fff;
}

/* Nasconde la riga "view-additional" extra (combinazioni inline) per look pulito */
/* .leo-dropdown-cart-content .view-additional,
.leo-dropdown-cart-content .leo-dropdown-additional {
  display: none;
}
 */

/* =====================================================
   PAGINA CARRELLO — bottone "Procedi al checkout"
   Verde brand #1aa34a (hover #138a3c), full-width
   ===================================================== */
.js-cart-detailed-actions .text-sm-center {
  text-align: left !important;
}
.js-cart-detailed-actions .btn-primary,
.js-cart-detailed-actions a.btn-primary,
.js-cart-detailed-actions button.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  padding: 0 16px;
  background: #1aa34a !important;
  border: none !important;
  border-radius: 4px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  transition: background .2s ease;
}
.js-cart-detailed-actions .btn-primary:hover,
.js-cart-detailed-actions a.btn-primary:hover,
.js-cart-detailed-actions button.btn-primary:hover {
  background: #138a3c !important;
  color: #fff !important;
}
.js-cart-detailed-actions .btn-primary.disabled,
.js-cart-detailed-actions button.btn-primary.disabled,
.js-cart-detailed-actions .btn-primary[disabled] {
  background: #ccc !important;
  cursor: not-allowed;
  opacity: 1;
}

/* Prezzo corrente (current-price > .price) nel carrello e nel checkout */
body#cart .current-price > .price,
body#checkout .current-price > .price {
  color: #232323 !important;
  font-size: 16px;
}

/* Prezzo prodotto (.product-price) nel carrello — bold 24px */
body#cart .product-price {
  font-size: 24px;
}

/* Tab attivo (Sign in / Order as a guest) nello step Personal Information */
#checkout-personal-information-step .nav-link.active {
  color: #F54337;
  font-weight: 700;
}

/* Hover dei link nel checkout */
#checkout a:hover {
  color: #F54337 !important;
}

/* Descrizione step nel checkout — padding per non incollarsi al bordo */
#checkout .step-description {
  padding: 20px;
}

/* Bottone "Continue" negli step checkout — verde brand */
#checkout button.continue.btn-primary,
#checkout button.continue.btn-primary:focus {
  padding: 10px 52px;
  background: #009940 !important;
  border-color: #009940 !important;
  color: #fff !important;
  text-transform: uppercase;
}
#checkout button.continue.btn-primary:hover {
  background: #007d34 !important;
  border-color: #007d34 !important;
  color: #fff !important;
}

/* Prezzo prodotti nel riepilogo checkout (#cart-summary-product-list) */
#cart-summary-product-list .product-price {
  font-size: 14px;
}

/* Link "add new address" nello step Addresses del checkout */
#checkout .add-address {
  margin-bottom: 10px;
}

/* Asterisco rosso sui campi required nel checkout */
#checkout label.required::after,
#checkout .form-control-label.required::after {
  content: " *";
  color: #F54337;
  font-weight: 700;
}

/* Immagine left-column (modulo vbleftcolumnimage) — nascosta su mobile */
@media (max-width: 767px) {
  .how-left-column-image {
    display: none !important;
  }
}

/* =====================================================
   PAGINA 404 — restyle (titolo display + bottone home)
   ===================================================== */
.page-404 {
  padding: 32px 0;
}
.page-404-title {
  font-family: "Racing Sans One", cursive;
  font-style: italic;
  font-weight: 700;
  font-size: 80px;
  color: #1a1a1a;
  margin: 0 0 16px 0;
  text-transform: uppercase;
  line-height: 1;
}
.page-404-message {
  font-size: 14px;
  color: #333;
  margin: 0 0 28px 0;
}
.page-404-actions {
  margin: 28px 0 0 0;
}
.page-404-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  height: 44px;
  background: #f54337;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 999px;
  text-decoration: none !important;
  transition: background .2s ease;
}
.page-404-home-btn:hover,
.page-404-home-btn:focus {
  background: #d32f2f;
  color: #fff !important;
}

@media (max-width: 768px) {
  .page-404-title {
    font-size: 56px;
  }
}

/* Rimuove ombra dal box .page-not-found (404 e listing vuoti) */
#products .page-not-found,
#pagenotfound .page-not-found {
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  box-shadow: none !important;
}

/* Badge contatore prodotti nel cart dell'header */
#_desktop_cart .cart-products-count {
  background: #ffffff;
  color: #000000;
  font-family: "Racing Sans One", cursive;
  line-height: 15px;
  min-width: 16px;
  height: 16px;
  font-size: 16px;
}

/* Logo footer con aspect-ratio fisso */
.logo-ratio-footer {
  aspect-ratio: 100 / 13.6;
  width: 80%;
  height: auto;
  margin-bottom: 20px;
}

/* Pagina login: contenitore page-content a tutta larghezza */
body#authentication .page-content.card.card-block {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* GDPR consent (modulo 17): testo bianco */
.gdpr_consent.gdpr_module_17,
.gdpr_consent.gdpr_module_17 * {
  color: #ffffff !important;
}

/* Slick carousel dots: fix glifo mancante.
   theme.css usa Font Awesome 5 Pro (versione commerciale) con glifo \e914
   che non esiste in FA Free → il browser mostra un tofu (quadratino rotto).
   Lo sostituisco con un cerchio in puro CSS, indipendente da icon font. */
ul.slick-dots li button:before {
  content: "" !important;
  font-family: inherit !important;
  width: 10px !important;
  height: 10px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  background: #000;
  border-radius: 50%;
  line-height: 1;
}
ul.slick-dots li.slick-active button:before {
  background: var(--theme-color-default, #f54337);
}

/* Modal body: z-index alto per stare sopra ad altri elementi */
.modal-body {
  position: relative;
  z-index: 9999;
}

/* =====================================================
   MODAL "Prodotto aggiunto al carrello" (#blockcart-modal)
   ===================================================== */

#blockcart-modal .modal-dialog {
  max-width: 480px;
  margin-top: 200px;
}
#blockcart-modal .modal-content {
  border: none;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

/* --- Header --- */
#blockcart-modal .modal-header {
  background: #ffffff;
  border-bottom: 1px solid #e0e0e0;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#blockcart-modal .modal-header .close {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  opacity: 0.6;
  background: transparent;
  border: none;
  font-size: 22px;
  line-height: 1;
}
#blockcart-modal .modal-header .close:hover {
  opacity: 1;
}
#blockcart-modal .modal-header .modal-title {
  font-family: "Racing Sans One", cursive;
  font-style: italic;
  font-weight: 700;
  font-size: 16px;
  color: #1a1a1a;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  text-transform: none;
}
#blockcart-modal .modal-header .modal-title .material-icons {
  color: #1aa34a;
  font-size: 20px;
}

/* --- Body: full-width stacked, no riepilogo carrello --- */
#blockcart-modal .modal-body {
  padding: 20px;
}
#blockcart-modal .modal-body > .row {
  margin: 0;
  display: flex !important;
  flex-direction: column;
}
#blockcart-modal .modal-body .col-md-5,
#blockcart-modal .modal-body .col-md-7 {
  flex: 0 0 auto !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  border-right: none !important;
  float: none !important;
  display: block !important;
}
#blockcart-modal .modal-body .col-md-7 {
  margin-top: 20px;
}
#blockcart-modal .modal-body .divide-right {
  border-right: none !important;
}

/* Sezione prodotto: image a sx + info a dx */
#blockcart-modal .modal-body .col-md-5 > .row {
  display: flex !important;
  align-items: flex-start;
  gap: 16px;
  margin: 0;
}
#blockcart-modal .modal-body .col-md-5 .col-md-6 {
  flex: 1 1 auto;
  max-width: none;
  padding: 0;
  margin: 0;
}
#blockcart-modal .modal-body .col-md-5 .col-md-6:first-child {
  flex: 0 0 130px;
}
#blockcart-modal .modal-body .product-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* Nome prodotto: display italic */
#blockcart-modal .modal-body .product-name,
#blockcart-modal .modal-body h6.product-name {
  font-family: "Racing Sans One", cursive;
  font-style: italic;
  font-weight: 500;
  font-size: 1.125rem;
  color: #1a1a1a;
  margin: 0 0 8px 0;
  line-height: 1.25;
}

/* Prezzo: rosso brand */
#blockcart-modal .modal-body .product-price {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 12px 0;
}

/* Attributi (Quale opzione preferisci) e quantità */
#blockcart-modal .modal-body .col-md-5 .col-md-6:last-child span {
  display: block;
  font-size: 13px;
  color: #555;
  margin: 0 0 4px 0;
}
#blockcart-modal .modal-body .col-md-5 .col-md-6:last-child span strong {
  color: #1a1a1a;
  font-weight: 700;
}
#blockcart-modal .modal-body .product-quantity {
  display: block !important;
}
#blockcart-modal .modal-body .col-md-5 .col-md-6:last-child br {
  display: none;
}

/* Nascondi riepilogo carrello dentro col-md-7 (mantengo solo i bottoni) */
#blockcart-modal .modal-body .col-md-7 .cart-content > p,
#blockcart-modal .modal-body .col-md-7 .cart-content > .cart-products-count,
#blockcart-modal .modal-body .col-md-7 .cart-content > .product-total,
#blockcart-modal .modal-body .col-md-7 .cart-content > .product-tax {
  display: none !important;
}

/* Reset cart-content: niente padding/margin (li gestisco solo via .col-md-7) */
#blockcart-modal .modal-body .col-md-7 .cart-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Bottoni: full-width stacked verticali, neri --- */
#blockcart-modal .cart-content-btn {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin-top: 0 !important;
  margin-bottom: 0;
}
#blockcart-modal .cart-content-btn .btn {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 4px;
  margin: 0;
  text-decoration: none;
  padding: 0 16px;
  transition: background .2s ease, color .2s ease;
}
#blockcart-modal .cart-content-btn .btn-secondary {
  background: #fff;
  color: #1a1a1a;
  border: 2px solid #1a1a1a;
}
#blockcart-modal .cart-content-btn .btn-secondary:hover,
#blockcart-modal .cart-content-btn .btn-secondary:focus {
  background: #f5f5f5;
  color: #1a1a1a;
}
#blockcart-modal .cart-content-btn .btn-primary {
  background: #1a1a1a;
  color: #fff;
  border: 2px solid #1a1a1a;
  gap: 10px;
}
#blockcart-modal .cart-content-btn .btn-primary:hover,
#blockcart-modal .cart-content-btn .btn-primary:focus {
  background: #000;
  color: #fff;
}
#blockcart-modal .cart-content-btn .btn-primary .material-icons {
  font-size: 18px;
}

/* =====================================================
   SCHEDA PRODOTTO — badge/flags in alto a sinistra immagine
   ===================================================== */
body#product .images-container,
body#product .product-cover {
  position: relative;
}
body#product .product-flags {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body#product .product-flags .product-flag {
  display: inline-block;
  padding: 6px 14px;
  background-color: #F54337;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.3;
  border-radius: 0;
}

/* =====================================================
   HOMEPAGE — Card categorie (cards.html) pulsante "ACQUISTA ORA"
   ===================================================== */
.vb-cat-btn {
  display: inline-block;
  padding: 8px 20px;
  border: 2px solid #fff;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
  text-decoration: none;
  background-color: transparent;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.vb-cat-btn:hover {
  background-color: #d32f2f;
  color: #fff;
  transform: scale(1.05);
}

/* =====================================================
   BREADCRUMB — rimuove icona casa e sottolineature
   ===================================================== */
#wrapper .breadcrumb li:first-child a::before,
#wrapper .breadcrumb li:first-child:last-child::before {
  content: none;
}
#wrapper .breadcrumb li:first-child a span,
#wrapper .breadcrumb li:first-child:last-child span {
  display: inline;
}
#wrapper .breadcrumb li span {
  border-bottom: 0;
  text-transform: none;
  font-size: 16px;
  color: #232323 !important;
  font-family: "Montserrat", sans-serif;
}
#wrapper .breadcrumb li a,
#wrapper .breadcrumb li a:hover,
#wrapper .breadcrumb li a:focus {
  text-decoration: none;
}

/* =====================================================
   HEADER — link logout
   ===================================================== */
a.logout {
  color: #fff;
}

/* ===========================================
   CART — Promo code block
   =========================================== */
.block-promo .promo-code-button.display-promo {
  text-align: center;
}

.block-promo .promo-code-button.display-promo .collapse-button {
  color: #232323 !important;
}

.block-promo #promo-code .promo-code {
  text-align: center;
}

.block-promo #promo-code .promo-code form {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
}

.block-promo #promo-code .promo-input {
  width: auto;
  flex: 0 1 220px;
  margin: 0;
}

.block-promo #promo-code .promo-code form .btn-primary {
  margin: 0;
  flex: 0 0 auto;
}

.block-promo #promo-code .cancel-promo {
  display: block;
  text-align: center;
  margin-top: 0.75rem;
}

/* =====================================================
   CHECKOUT — Bottone "Invia l'ordine" (step pagamento)
   Stesso stile del bottone "Procedi al checkout" del carrello
   Verde brand #1aa34a (hover #138a3c), full-width
   ===================================================== */
#payment-confirmation .btn-primary,
#payment-confirmation button.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  padding: 0 16px;
  background: #1aa34a !important;
  border: none !important;
  border-radius: 4px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  transition: background .2s ease;
}

#payment-confirmation .btn-primary:hover,
#payment-confirmation button.btn-primary:hover {
  background: #138a3c !important;
  color: #fff !important;
}

#payment-confirmation .btn-primary.disabled,
#payment-confirmation .btn-primary[disabled],
#payment-confirmation button.btn-primary.disabled,
#payment-confirmation button.btn-primary[disabled] {
  background: #ccc !important;
  cursor: not-allowed;
  opacity: 1;
}