/*
Theme Name: CrosShop
Theme URI: https://www.crosshop.eu
Author: oggino
Author URI: https://www.renatocantarella.it
Description: Il miglior sito di motocross ed enduro.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
Text Domain: crosshop
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/
html :where([style*="border-color"]) {
  border-style: none !important;
}
.sc-grid-product-img img{
  margin: auto;
  max-width: 100%;
}
.video-lazy-box {
  margin: auto 25%;
}
body {
  background: #f7f7f7;
}

:root{
  --btn-bg-1: #6a5acd;   /* SlateBlue */
  --btn-bg-2: #00d4ff;   /* Cyan */
  --btn-text: #ffffff;
  --color-crosshop:#1d338f;
  --slot-h: 260px;
  --radius: 14px; --stroke:#1f2636; --panel:#0e1220;
  --blu-crosshop: #023194;
}

a {color: var(--color-crosshop);}
.card-title-evidenza-box {
  color: var(--color-crosshop);
  font-size: 18px;
  text-transform: capitalize;
  font-weight: 600;
}
#menu-listati-crosshop li a, #menu-area-clienti li a{
text-decoration: none;
}
#menu-listati-crosshop li, #menu-area-clienti li{
list-style: none;
}
#menu-listati-crosshop, #menu-area-clienti{
  padding-left: 0 !important;
}
.ch-cart{position:relative;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.ch-cart__icon{display:block;width:22px;height:22px}
.ch-cart__badge{
  position:absolute; top:-6px; right:-8px;
  min-width:18px; height:18px; padding:0 5px;
  border-radius:999px; font-size:12px; line-height:18px;
  background:#dc3545; color:#fff; text-align:center;
}
.cursor-pointe{
  cursor: pointer;
}
.padding-5 {
  padding: 5px;
}
.title h3{
  font-size: 20px;
}
.titolo-blu{
  color: var(--blu-crosshop);
}
/* griglia opzionale */
.thumbnail{
  display:grid; 
  gap:12px;
  grid-template-columns:repeat(auto-fill, minmax(220px,1fr));
}

.thumbnail-home{
  display: flex; gap:12px;
  grid-template-columns:repeat(auto-fill, minmax(220px,1fr));
}
.card-body-cat {
  color: white;
  background: #023194;
}
.text-muted-cat {
  --bs-text-opacity: 1;
  color: rgba(247, 251, 255, 0.75) !important;
}
.bg-light-cat {
  --bs-bg-opacity: 1;
  background-color: rgb(255, 255, 255) !important;
}
.slot {
    width: 200px;
    height: 200px;
    background-color: #0a0a23;
    position: relative;
}

.slot img {
    width: 100px;
    height: 100px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.anteprima-blog-img {
  text-align: center;
  margin: 5% auto;
}

.padding-top0px{
  padding-top: 0px;
}
.titolo-blog{
  color: #023194;
  text-transform: capitalize;
  font-weight: 600;
  font-size: 25px;
  margin-bottom: 2%;

}
.container-blog {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  width: 100% !important;
}
.carousel-caption-custom {
  position: absolute;
  bottom: 20%;
  left: 10%;
  background: rgba(0, 0, 0, 0.4);
  padding: 20px;
  border-radius: 10px;
  color: white;
}

.swiper-button-next,
.swiper-button-prev {
  color: #000;
  align-items: center;
  border: 1px solid #023194 !important;
  border-radius: 16px;
  box-shadow: 0 2px 2px 0 #0000003d, 0 0 2px 0 #0000001f;
  display: flex;
  font-size: 18px;
  height: 32px;
  justify-content: center;
  opacity: 0.8;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.45s ease-in-out;
  width: 32px;
  z-index: 999999999;
}

.bordo-blog{
  padding: 20px;
  border: 1px solid rgb(2, 49, 148);
  border-radius: 12px;
  margin-right: 16px;
}
.swiper-button-next::after,
.swiper-button-prev::after {
  font-family: swiper-icons;
  font-size: 21px;
  line-height: 1;
  color: #023194;
}

.product-card {
  background: white;
  border-radius: 8px;
  overflow: hidden;
}
.card-img-top{
  width: 100%;
  height: 100%;
}

.product-card img {
  width: 100%;
  height: auto;
}

.product-card-body {
  padding: 10px;
}

.top-bar {
  background: #023194;
  color: #fff;
  font-size: 14px;
}

.search-form select {
  margin-top: 8px;
}

.moto-box,
.moto-slide-box {
  background: #eee;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 30px;
  border: 1px solid #bfbfbf
}

.nav-category-btns {
  background: #f5f5f5;
  padding: 20px 0;
}

.nav-category-btns .btn {
  width: auto;
  margin: 5px;
  font-weight: bold;
  border-radius: 8px;
}

.hero-slide {
  margin: 30px 0;
}

.search-floating {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

.categories-wrapper {
  overflow: hidden;
}

.categories {
  transition: transform 0.3s ease;
  will-change: transform;
}

.category-navigation {
  display: flex;
  align-items: center;
  position: relative;
}

.scroll-btn {
  background-color: #f8f9fa;
  border: none;
  cursor: pointer;
  padding: 10px;
  font-size: 18px;
  z-index: 10;
}

.categories a {
  min-width: 120px;
  text-align: center;
}

.category-box {
  text-align: center;
}

.menu-categorie {
  padding: 10px 20px;
  background-color: #f8f8f8;
}

.nav-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0;
  gap: 10px;
}
.padding-bottom-20{
  padding-bottom: 20px;
}
.nav-categories li {
  text-align: center;
}

.nav-categories a {
  display: inline-block;
  text-decoration: none;
  color: #333;
  font-size: 14px;
}

.nav-categories a:hover {
  color: #003194;
}
.images-antepria{
  height: fit-content;
  width: fit-content;
  margin: 18% auto;
}
#logo {
  display: block;
  background: url(img/logo.png) no-repeat 0 -60px;
  width: 285px;
  height: 40px;
  overflow: hidden;
  text-indent: -99999em;
  padding: 0;
  cursor: pointer;
}

.icon {
  display: block;
  width: 80px;
  height: 70px;
  background-image: url('img/icons-nav-category.png');
  background-repeat: no-repeat;
  background-size: auto;
  margin: 0 auto 5px;
}

.icon-cat {
  display: block;
  overflow: hidden;
  transition: background 0.5s ease-out;
}

.icon-cat:hover {
  transition: background 0.3s ease;
}

.icon-abbigliamento { background-position: 0 0; }
.icon-abbigliamento:hover { background-position: 0 -98px; }
.icon-adesivo { background-position: -98px 0; }
.icon-adesivo:hover { background-position: -98px -98px; }
.icon-attrezzature { background-position: -180px 0; }
.icon-attrezzature:hover { background-position: -180px -98px; }
.icon-freni { background-position: -275px 0; }
.icon-freni:hover { background-position: -275px -98px; }
.icon-lubrificanti { background-position: -375px 0; }
.icon-lubrificanti:hover { background-position: -375px -98px; }
.icon-manubrio { background-position: -454px 0; }
.icon-manubrio:hover { background-position: -454px -98px; }
.icon-parti-elettriche { background-position: -545px 0; }
.icon-parti-elettriche:hover { background-position: -545px -98px; }
.icon-parti-motore { background-position: -640px 0; }
.icon-parti-motore:hover { background-position: -640px -98px; }
.icon-plastiche { background-position: -725px 0; }
.icon-plastiche:hover { background-position: -725px -98px; }
.icon-protezioni-moto { background-position: -820px 0; }
.icon-protezioni-moto:hover { background-position: -820px -98px; }
.icon-ruote { background-position: -915px 0; }
.icon-ruote:hover { background-position: -915px -98px; }
.icon-sella { background-position: -995px 0; }
.icon-sella:hover { background-position: -995px -98px; }
.icon-sospensioni { background-position: -1090px 0; }
.icon-sospensioni:hover { background-position: -1090px -98px; }
.icon-trasmissione { background-position: -1180px 0; }
.icon-trasmissione:hover { background-position: -1180px -98px; }

.choices__inner {
  border-radius: 6px;
  padding: 6px 12px;
}

.choices__list--dropdown {
  z-index: 9999;
}

.centered {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.paddingzero {
  padding: 0;
}

.swiper {
  width: 100%;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 435px;
}

.swiper-slide img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.altezzaslide {
  height: 430px;
}
.btn-crosshop{
  background: #023194;
  color: white;
  font-weight: bold;
  border: 2px solid #023194;
}

.btn-crosshop:hover{
  background: white;
  color:#023194;
  font-weight: bold;
  border: 2px solid #023194;
}


.btn-crosshop-white{
  background: white;
  color:#023194;
  font-weight: bold;
  border: 2px solid #023194;
}

.btn-crosshop-white:hover{
  background: #023194;
  color: white;
  font-weight: bold;
  border: 2px solid #023194;
}

.wpml-ls-legacy-list-horizontal {
  border: 0px !important;
  padding: 0px !important;
  clear: inherit !important;
  float: right !important;

}
.wpml-ls-legacy-list-horizontal li{
	float: left;

}
.wpml-ls-legacy-list-horizontal a{
	color: white !important;
}
.display-contents{
	display: block;
}
.categoria-vetrina-home{
  height: 220px;
}
.floatleft{
  float: left;
}
.cat-text-left{
  text-align: left;
  padding-top: 54px;
}
.c-text{
  text-align: left;
  padding-top: 0px;
}
.card-title{
  text-align: center;
}

.card-title-crosshop{
  color: #023194;
  text-transform: capitalize;
  font-weight: 600;
  font-size: 25px;
  text-align: center;
}

.card-title-crosshop btn{
  color: #023194;
  border:#023194 3px solid;
}
.card-title a {
  color: #003399;
  text-transform: uppercase;

}

.card-title-crosshop btn:hover{
  color: #fff;
  border:#fff 3px solid;
  background: #023194;
}

.linea{
  background: #0a40b0;
    background-position-x: 0%;
    background-position-y: 0%;
    background-repeat: repeat;
    background-image: none;
    background-size: auto;
    background-origin: padding-box;
  color: white;
  height: 100px;
  background-image: url('img/tractor-tire-track-background_144316-1708.jpg');
  background-repeat: no-repeat;
  background-blend-mode: screen;
  background-size: cover;
  background-position-x: right;
  background-position-y: unset;
  background-origin: border-box;
  color: #0a40b0;

}
.leftslide{
  float: left;
  width: 50%;
}
.rightslide{
  float: right;
  width: 50%;
}
.sliderandtt{
  width: 80%;
  float: right;
  padding-top: 0px;
  padding-right: 50px;
  text-align: left;
  margin-right: 20%;
}
.sliderandtt strong{
  width: auto;
  color: #003194;
  font-size: 14px;
  margin-top: 7px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #fff21a;
  padding: 5px;
}
.sliderandtt h1{
  width: 100%;
  height: auto;
  float: left;
  font-weight: 600;
  color: #fff;
  font-size: 36px;
  margin-bottom: 10px;
  text-transform: uppercase;
  margin-top: 15px;
}
.sliderandtt h2{
  width: 100%;
  height: auto;
  float: left;
  font-weight: 600;
  color: #fff;
  font-size: 36px;
  margin-bottom: 10px;
  text-transform: uppercase;
  margin-top: 15px;
}
.sliderandtt p{
  width: 100%;
  float: left;
  color: #fff;
}
.minheight{
  min-height: 320px;
}
.paddingtopdue{
  padding-top: 2px;

}
.menu-footer-1-container li{
  list-style: none;
  margin-left: -30px;
} 
.menu-footer-5-container li{
  list-style: none;
  margin-left: -30px;
}

.menu-footer-1-container a {
  text-decoration: none;
  color: #6c757d;
} 
.menu-footer-5-container a {
  text-decoration: none;
  color: #6c757d;
}


#scrollTopBtn {
  display: none; /* nascosto di default */
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: #023194;
  color: white;
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 20%;
  font-size: 20px;
  transition: opacity 0.3s ease;
  font-weight: 600;
}
#scrollTopBtn:hover {
  background-color: #555;
}
.brand{
  margin-top: 30px;
}
.brand-ant{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:12px auto;
    min-height:42px;
}

.brand-ant a{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:6px 12px;
    background:#fff;
    border-radius:8px;
    transition:all .25s ease;
    text-decoration:none;
}



.brand-ant img{
    display:block;
    max-width:120px;
    max-height:32px;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:grayscale(15%);
    transition:all .25s ease;
}



.brand-ant a{
    color:#444;
    font-size:14px;
    font-weight:600;
}

@media (max-width:768px){

    .brand-ant{
        margin:10px auto;
    }

    .brand-ant img{
        max-width:90px;
        max-height:26px;
    }

}
.brand-home {
  float: left;
  min-height: 60px;
  min-width: 200px;
  background-color: white;
  padding: 8px !important;
  border: 1px solid #cbcaca;
  border-radius: 12px;
}
.brand-lista {
  float: left;
  min-height: 60px;
  min-width: 200px;
  background-color: white;
  padding: 8px !important;
  text-align: center;
  width: 100%;
}
.ateprima-cat{
  margin-top: 52px;
  height: 104px;
  width: auto;
}

.brand-home img{
  height: 30px;
  width: auto !important
}


.brand-home span{
  
  max-width: 120px;
  width: 100%;
  clear: both;
  text-align: center;
}

.carousel-control-prev, .carousel-control-next{
  width: 33px;
  border-radius: 20%;
}

.carousel-control-next-icon{
  
  background: url('img/right-arrow-svgrepo-com.svg') no-repeat;
  background-size: contain;
}
.carousel-control-prev-icon{
  background: url('img/left-arrow-svgrepo-com.svg') no-repeat;
  background-size: contain;
}

.menu-tooltip {
  position: relative;
  display: inline-block;
  text-align: left;
  width:auto;
  padding-right: 20px;
}

/* Sotto-menu nascosto */
.menu-tooltip ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #023194;
  padding: 0;
  margin: 0;
  list-style: none;
  min-width: 150px;
  border-radius: 6px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  z-index: 99;
}

/* Mostra al passaggio del mouse */
.menu-tooltip:hover ul,
.menu-tooltip:focus-within ul {
  display: block;
}

/* Voci del menu */
.menu-tooltip ul li {
  padding: 10px;
  color: white;
  cursor: pointer;
  min-width: 150px;
}

.menu-tooltip ul li:hover {
  background: #1a4399;
  border-radius: 6px;
}

/* Link principale */
.menu-tooltip > a {
  text-decoration: none;
  color: white;
  padding: 10px;
  display: inline-block;
  padding-right: 20px;
}
.down-arrow-svgrepo-com {
  background: url('img/down-arrow-svgrepo-com.svg') no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: auto;
  background-position-x: 100%;
  background-size: 10px;
  background-position-y: 10px;
  text-align: left;

}

.badge-novita{
  position: absolute;
  z-index: 99;
  right: 10px;
  top: 10px;
  background: #0231949e;
  color: white;
  padding: 2px 11px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.badge-novita-new{
  position: absolute;
  z-index: 99;
  right: 10px;
  top: 10px;
  background: #ffffff9e;
  color: #023194;
  border:1px solid #023194 !important;

  padding: 2px 11px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.badge-offerte{
  position: absolute;
  z-index: 99;
  right: 10px;
  top: 10px;
  background: #fff21a9e;
  color: #01329b;
  padding: 2px 11px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border:1px solid #023194 !important;
}

.truncate-title {
    display: inline-block;
    max-width: 100%; /* oppure es: 250px */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.listing_grid {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  padding: 0 4px 0px 0px;
  margin: -.75rem;
}

@media (min-width: 992px) {
  .col-lg-3-1 {
    flex: 0 0 auto;
    width: 24%;
    margin-left: 1%;
  }
}

.sc-grid-product-img {
  position: relative;
  overflow: hidden;
}

.sc-grid-product-img img {
  display: block;
  transition: all ease 0.5s;
}


.badge-sold-out {
  font-size: 16px;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: rgba(0,0,0,0.5);
  left: 0;
  z-index: 9;
}

.badge-sold-out span {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  transform: translate(-50%, -50%);
}

.sc-grid-product-img .onsale {
  color: #fff;
  font-size: 11px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  text-transform: uppercase;
  padding-right: 5px;
  line-height: 2.4;
}

.sc-grid-product-img .onsale:before {
  content: "";
  background-color: #f77426;
  width: 80px;
  height: 105px;
  transform: rotate(-60deg);
  position: absolute;
  z-index: -1;
  top: -62px;
  right: -30px;
}

.sc-grid-product-content {
  text-align: center;
  background-color: #fff;
  padding: 10px;
  border-top: 1px solid #eee;
}

.sc-grid-product-content .woocommerce-product-rating.woocommerce {
    display: inline-block;
}

.sc-grid-product-title {
  font-size: 15px;
  margin: 5px 0;
}

.wpc-filter-title {
  margin-bottom: 8px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 2px;
  text-align: center;
  font-size: 25px;
  font-weight: 600;
  text-transform: capitalize;
  color: #023194;
}


.wpc-filter-content {
  background: white;
  background-clip: border-box;
  padding-left: 5px;
  padding-top: 10px;
  padding-bottom: 10px;
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid rgba(206, 206, 206, 0.9);
  border-radius: 0 0 8px 8px;
  border-top: 4px solid #023194;
  text-transform: capitalize;
}
.anteprimaprodottolistato{
  width: 100%;
}
.brand-home img {
  height: 30px;
  width: auto !important;
}

.brand img {
  text-align: center;
  height: 20px;
  width: auto;
  margin: auto;
  margin-bottom: 20px;
}
.btn-cart{
  color: #a4a4a4;
  font-family: Rubik;
  font-weight: 500;
  text-transform: uppercase;
  padding: 0 12px;
  line-height: 36px;
  letter-spacing: 0;
}

.btn.btn-vai, .btn .btn-vai{
  position: relative;
  display: inline-flex;
  align-items: center;
  z-index:99;
  justify-content: center;
  color: var(--color-crosshop);
  border-color:var(--color-crosshop);
  overflow: hidden; /* per l'effetto "shine" */


}

.larghezza100{
  width: 100%;
}
/* Hover: shift del gradiente + sollevamento + shine */
.btn.btn-vai:hover, .btn .btn-vai:hover{
  background:var(--color-crosshop);
   color: white;
}
.btn:hover::after, .btn :hover::after{
  transform: translateX(0);
}

.min-height-80{
  min-height: 80px;
}

footer {
  color: #848484;
}

footer a{
  color: #848484;
}

footer td, footer tr{
  border: 0;
}
footer thead{
  background: #dfdfdf;
  color: #848484;
  padding-bottom: 10px !important;
  padding-left: 10px;
  padding-right: 10px;
  text-transform: uppercase;
  font-size: 14px;
}


footer table   {
  margin-top: 10px;
}


/* freccetta che ruota */
.wpc-term-image-wrapper img {
  display: grid;
  max-height: 55%;
  border: 1px solid transparent;
  margin: auto 30px !important;
  max-width: 65px;
}

.object-fit-contain{object-fit:contain;}
.badge-novita,.badge-new{font-size:.7rem;display:inline-block;margin-bottom:.25rem}
.thumbnail-home img,.sc-grid-product-img img{max-width:85%;}
.btn-vai{background:#fff;color:#023194;border:1px solid #fff}
.btn-vai-novita-slide{color:#fff;border:1px solid #fff}
.btn-vai-novita-slide:hover{background:#fff;color:#023194;border:1px solid #023194}
.btn-vai-lista-prodotti{background:#fff21a;color:#023194;border:1px solid #023194}
.btn-vai-lista-prodotti:hover{background:#023194;color:#fff;border:1px solid #023194}
.nav-category-btns .categories a{white-space:nowrap}
.fa-logo {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: middle;
  width: 70px;
  height: 41px;
  text-indent: -9999em;
  margin-right: 10px;
  background: url("img/logo.png") no-repeat 0 -110px;
  margin-top: 4px;
}
.bg-footer{
  --bs-bg-opacity: 1;
  background-color: rgb(234, 234, 234) !important;
}
.bg-whitesmoke{
  background-color: #eaeaea !important;
}
.bg-grigio {
  --bs-bg-opacity: 1;
  background-color: #d9d9d9 !important;
}
.table > tbody{
background-color: #d9d9d9 !important;

}
.b-t {
  border-top: rgb(166, 164, 164) 1px solid !important;
}

.b-t-c {
  border-top: rgb(221, 221, 221) 1px solid !important;
}

.float-left{
  float: left;
}
.bg-c {
    background: linear-gradient(-45deg, #023194, #013197, #044bdf, #0051ff);
    background-position-x: 0%;
    background-size: auto;
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
}
.bg-a {
    background: linear-gradient(-45deg, #0051ff, #044bdf, #013197, #023194 );
    background-position-x: 0%;
    background-size: auto;
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
}

.bg-b {
    background: linear-gradient(-45deg, #0051ff, #013197, #023194, #044bdf );
    background-position-x: 0%;
    background-size: auto;
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

 .product-card2 {
  position: relative;
  text-align: center;
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.product-card2:hover {
  transform: translateY(-5px);
  }

.product-image2 {
  position: relative;
  overflow: hidden;
}

.product-image2 img {
  transition: transform 0.4s ease;
}
/*
.product-card2:hover img {
  transform: scale(1.05);
}

 Hover icons */

.product-hover2 a {
  text-decoration: none;
}
.product-hover2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  display: flex;
  gap: 10px;
  opacity: 0;
  transition: all 0.3s ease;
}

.product-card2:hover .product-hover2 {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.product-hover2 .icon {
  background: #fff;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #222;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

.product-hover2 .icon:hover {
  background: var(--blu-crosshop);
  color: #fff;
}
.pulsanti-listato {
  width: 100%;
  float: left;
  margin-bottom: 7px;
  text-align: end;
  text-align: center;
  margin: auto 12% 10px 12%;
  position: relative;
  z-index: 9;
}
.pulsanti-listato .icon-list {

  border-radius: 15%;
  width: 18%;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #023194;
  transition: all 0.3s ease;
  border: 1px solid;
  float: left;
  text-align: center;
  margin-left: 5%;
}

.pulsanti-listato .icon-list:hover {
  background: #023194 !important;
  color: #fff !important;
}
.pulsanti-listato a{
  text-decoration: none;
}

.pulsanti-listato a:hover{
  text-decoration: none;
  background: #023194;
  color: #fff;
}
.brand-list{
  text-align: center;
  float: none;
}




.price {
  font-size: 14px;
}

.price .current {
  font-weight: bold;
  color: #000;
}

.price .old {
  color: #888;
  text-decoration: line-through;
  margin-left: 6px;
}

.product-hover2 .icon i.fa-heart {
  color: var(--bs-card-color);
  transition: transform 0.2s ease;
}

.product-hover2 .icon i.fa-heart:hover {
  color: red;
  transition: transform 0.2s ease;
}
.product-hover2 .icon:hover i.fa-heart {
  color: #fff;
  transform: scale(1.1);
}
.product-hover2 .icon:hover i.fa-heart {
  transform: scale(1.1);
  color: #fff;
}
/* Contenitore principale */
.t {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-collapse: collapse;
  margin: 10px auto;
  padding: 0;
  list-style: none;
  border-top: 1px solid #023194;
  border-left: 1px solid #023194;
  width: 100%;

}

/* Ogni cella */
.r {
  flex: 1 1 calc(100% / 7); /* 6 colonne su desktop */
  min-width: 98px;
  box-sizing: border-box;
  text-align: center;
  padding: 8px 5px;
  border-right: 1px solid #023194;
  border-bottom: 1px solid #023194;
  margin: 0;
  background: #fff;
  transition: all 0.2s ease;
}

/* Link */
.r a {
  color: #023194;
  text-decoration: none;
  display: block;
  font-size: 0.95rem;
  font-weight: 500;
}

.r:hover {
  background: #f0f4ff;
}

.r:hover > .r a: {
  color: var(--blu-crosshop);
}

/* Responsive Tablet */
@media (max-width: 992px) {
  .r { flex: 1 1 calc(100% / 4); }
}

/* Responsive Mobile */
@media (max-width: 600px) {
  .r { flex: 1 1 calc(100% / 2); }
}

/* Extra piccoli */
@media (max-width: 400px) {
  .r { flex: 1 1 100%; }
}
/* Reset mini utili (come prima) */
.footer-address { font-style: normal; position: relative; }
.list-unstyled { list-style: none; padding: 0; margin: 0; }
.small { font-size: .875rem; }
.text-center { text-align: center; }
.mb-1 { margin-bottom: .25rem; }
.mb-2 { margin-bottom: .5rem; }
.not-italic { font-style: normal; }

/* Contenitore principale */
.store-block { --border:#e6e6e6; --muted:#666; --accent:#23c2a8; --sp:12px; }
.footer-address { display:block; border:1px solid var(--border); padding:16px; border-radius:10px; background:#fff; }

/* Tabella semplice */
.table-wrap { overflow:auto; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border:1px solid var(--border); padding:8px 10px; }
.table thead th { background:#fafafa; }

/* Iconcine */
.ico { margin-right:.35rem; }

/* === Toggle SOLO CSS (<details>) con OVERLAY === */
.branch { margin-top: .5rem; position: relative; z-index: 2; }

/* Il contenuto di Palermo appare SOPRA, in overlay */
.branch-body{
  /* RIMOSSO: position:absolute/inset/z-index */
  border:1px solid var(--border);
  border-radius: 8px;
  padding:12px;

  overflow:hidden;
  max-height:0;
  opacity:0;
  transform: translateY(-6px);
  pointer-events:none;
  visibility:hidden;
  transition:
    max-height .35s ease,
    opacity .30s ease,
    transform .30s ease,
    visibility .30s step-end;
}

/* Quando <details> è aperto → Palermo visibile sopra */
.branch[open] .branch-body{
  max-height: 2000px;     /* alto abbastanza per il contenuto */
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

/* 3) Blocco principale: visibile di default */
.primary-block{
  transition:
    max-height .35s ease,
    opacity .30s ease,
    transform .30s ease,
    visibility .30s step-end;
  max-height: 2000px;     /* espanso */
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
  overflow: hidden;        /* per animare l'altezza in chiusura */
}

/* 4) Quando Palermo è aperto → nascondi il principale */
.footer-address:has(.branch[open]) .primary-block{
  max-height: 0;
  opacity: 0;
  transform: translateY(-6px);
  visibility: hidden;
  pointer-events: none;
}

/* 5) (opzionale) separatore visivo più leggero */
.table thead th { background:#fafafa; }


/* Bottone/summary */
.branch .toggle-branches{
  cursor: pointer;
  user-select: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
}

/* Label dinamiche */
.branch .label-open { display: none; }
.branch[open] .label-closed { display: none; }
.branch[open] .label-open { display: inline; }

/* Freccina */
.branch .chev{
  display:inline-block;
  width:.6em; height:.6em;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .25s ease;
  margin-left:.25rem;
}
.branch[open] .chev{ transform: rotate(-135deg); }
.e-1{
  margin-left: 10%; border: 1px solid;border-color: #023194;border-radius: 12px;padding: 10px;background: white;
}
.e-0{
  margin-left: 2%; border: 1px solid;border-color: #023194;border-radius: 12px;padding: 10px;background: white;
}
.accent{ color:#848484; }

/* Accessibilità: riduci animazioni se richiesto */
@media (prefers-reduced-motion: reduce){
  .branch-body, .primary-block, .branch .chev { transition: none !important; }
}


:root{
  --ch-blue:#024EEF;
  --ch-blue2:#0B45C9;
  --ch-border:#E6EAF2;
  --ch-bg:#F4F7FB;
  --ch-card:#fff;
  --ch-text:#0B1220;
  --ch-muted:#6B7280;
  --ch-shadow:0 10px 26px rgba(16,24,40,.10);
  --ch-radius:14px;
}

/* SECTION (come home) */
.ch-home-section{
  margin: 18px 0 26px;
}
.ch-home-bar{
  background: var(--ch-blue);
  color:#fff;
  border-radius: 12px;
  padding: 12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ch-home-title{
  margin:0;
  font-size:16px;
  font-weight:800;
  letter-spacing:.2px;
}
.ch-home-cta{
  color:#fff;
  text-decoration:none;
  font-weight:800;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  padding: 8px 12px;
  border-radius: 10px;
}
.ch-home-cta:hover{ background: rgba(255,255,255,.18); }

/* SLIDER WRAP */
.ch-slider-wrap{
  position:relative;
  margin-top: 12px;
}
.ch-slider{
  display:grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(210px, 1fr);
  gap: 14px;
  overflow:auto;
  padding: 6px 2px 10px;
  scroll-snap-type: x mandatory;
  scroll-behavior:smooth;
}
.ch-slider::-webkit-scrollbar{ height: 10px; }
.ch-slider::-webkit-scrollbar-thumb{
  background: rgba(2,78,239,.25);
  border-radius: 999px;
}

/* ARROWS (come frecce tonde dei caroselli) */
.ch-slider-arrow{
  position:absolute;
  top: 42%;
  transform: translateY(-50%);
  width:40px; height:40px;
  border-radius: 999px;
  border: 1px solid rgba(2,78,239,.20);
  background: #fff;
  color: var(--ch-blue);
  font-size: 24px;
  font-weight: 900;
  cursor:pointer;
  box-shadow: 0 14px 26px rgba(16,24,40,.10);
  display:flex;
  align-items:center;
  justify-content:center;
}
.ch-slider-arrow.prev{ left: -12px; }
.ch-slider-arrow.next{ right: -12px; }
@media(max-width: 520px){
  .ch-slider-arrow.prev{ left: -6px; }
  .ch-slider-arrow.next{ right: -6px; }
}

/* PRODUCT CARD (stesso stile home) */
.ch-pcard{
  scroll-snap-align:start;
  background: var(--ch-card);
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius);
  box-shadow: var(--ch-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.ch-pcard:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(16,24,40,.12);
  border-color: rgba(2,78,239,.20);
}

.ch-pcard__img{
  display:block;
  background:#fff;
  padding:12px;
  aspect-ratio: 4/3;
}
.ch-pcard__img img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.ch-pcard__body{
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ch-pcard__title{
  color: var(--ch-text);
  text-decoration:none;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.25;
  min-height: 34px;
}
.ch-pcard__title:hover{ color: var(--ch-blue); }

.ch-pcard__price{
  font-weight: 900;
  color: var(--ch-blue);
  margin-top:-2px;
}

/* BOTTONE uguale mood "Vai alla scheda prodotto" */
.ch-pcard__btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding: 9px 12px;
  border-radius: 12px;
  border: 1px solid rgba(2,78,239,.35);
  color: var(--ch-blue);
  text-decoration:none;
  font-weight: 800;
  background:#fff;
  transition: background .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.ch-pcard__btn:hover{
  border-color: var(--ch-blue);
}
.ch-rail-wrap{ position:relative; }

.ch-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns: minmax(220px, 1fr);
  gap:14px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  padding: 4px 2px 10px;
}
.ch-rail > .ch-card{ scroll-snap-align:start; }

.ch-rail::-webkit-scrollbar{ height:10px; }
.ch-rail::-webkit-scrollbar-thumb{
  background: rgba(2,78,239,.25);
  border-radius: 999px;
}
.ch-rail-btn{
  position:absolute;
  top: 42%;
  transform: translateY(-50%);
  width:38px;
  height:38px;
  border-radius: 12px;
  border:1px solid rgba(2,78,239,.25);
  background:#fff;
  color:var(--ch-blue);
  font-size:22px;
  font-weight:900;
  cursor:pointer;
}
.ch-rail-btn.prev{ left:-10px; }
.ch-rail-btn.next{ right:-10px; }

/* =========================================================
   CROSSHOP – SINGLE PRODUCT (rcp) + GALLERY + RELATED
   ========================================================= */

/* ---------- Base / container ---------- */
.rcp-product{
  --rcp-accent:#023194;
  --rcp-text:#101828;
  --rcp-muted:#667085;
  --rcp-border:rgba(2,49,148,.12);
  --rcp-surface:#fff;
  --rcp-soft:rgba(2,49,148,.04);
  --rcp-radius:16px;
  --rcp-shadow:0 10px 30px rgba(16,24,40,.08);
  --rcp-shadow-soft:0 6px 18px rgba(16,24,40,.08);
}

.rcp-main.container{
  padding-top: 18px;
  padding-bottom: 28px;
}

/* ---------- Breadcrumb ---------- */
.rcp-header .woocommerce-breadcrumb{
  margin: 12px auto 6px;
  padding: 10px 12px;
  border: 1px solid var(--rcp-border);
  background: var(--rcp-soft);
  border-radius: 6px;
  font-size: 13px;
  color: var(--rcp-muted);
}
.rcp-header .woocommerce-breadcrumb a{
  color: var(--rcp-accent);
  text-decoration: none;
}
.rcp-header .woocommerce-breadcrumb a:hover{
  text-decoration: underline;
}

/* ---------- Grid layout ---------- */
.rcp-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 22px;
  align-items: start;
}

/* sticky summary su desktop */
@media (min-width: 992px){
  .rcp-summary{
    position: sticky;
    top: 18px;
  }
}
@media (max-width: 991px){
  .rcp-grid{
    grid-template-columns: 1fr;
  }
}


/* ---------- Summary / titolo / prezzo / CTA ---------- */
.rcp-summary{
  background: var(--rcp-surface);
  border: 1px solid var(--rcp-border);
  border-radius: var(--rcp-radius);
  
  padding: 16px;
}

.rcp-summary h1.rcp-title{
  margin: 0 0 10px;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
  color: #023194;
}

/* Nel tuo HTML hai 2 H1: tienine UNO (nascondo quello WooCommerce standard) */
.rcp-summary .product_title.entry-title{
  display:none;
}

.rcp-summary .price{
  margin: 10px 0 10px;
  font-size: 22px;
  font-weight: 800;
  color: var(--bs-card-color) !important;
}
.rcp-summary .woocommerce-Price-currencySymbol{
  font-weight: 800;
}
.rcp-summary .woocommerce-product-details__short-description{
  margin: 10px 0 14px;
  color: var(--rcp-muted);
}
.rcp-summary .woocommerce-product-details__short-description p{
  margin: 0;
}

/* Qty + button */
.rcp-summary form.cart{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: center;
  margin: 14px 0 10px;
}

@media (max-width: 460px){
  .rcp-summary form.cart{
    grid-template-columns: 1fr;
  }
}

.rcp-summary .quantity .qty{
  width: 100%;
  height: 48px;

  border: 1px solid rgba(2,49,148,.25);
  padding: 0 12px;
  font-weight: 700;
}

.rcp-summary .single_add_to_cart_button {
  background: #fff !important;
  border:2px #023194 solid !important;
  color:  #023194 !important;
  font-weight: 600;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s ease, transform .06s ease;
}

.rcp-summary .single_add_to_cart_button:hover{
  filter: brightness(1.02);
  transform: translateY(-1px);
  background: #023194 !important;
  border:2px #023194 solid !important;
  color:  #fff !important;
  font-weight: 600;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s ease, transform .06s ease;

}
.rcp-summary .single_add_to_cart_button:active{
  transform: translateY(0);
}

/* Meta (cod, categoria, marchio, tag) */
.rcp-summary .product_meta{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--rcp-border);
  font-size: 13px;
  color: var(--rcp-muted);
  display: grid;
  gap: 6px;
}
.rcp-summary .product_meta a{
  color: var(--rcp-accent);
  text-decoration: none;
}
.rcp-summary .product_meta a:hover{
  text-decoration: underline;
}

.rcp-tags{
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--rcp-border);
  background: var(--rcp-soft);
  border-radius: 6px;
  font-size: 13px;
  color: #023194;
}

/* ---------- Tabs (Descrizione / Info aggiuntive) ---------- */
.rcp-aside{
  margin-top: 18px;
}

.rcp-aside .woocommerce-tabs{
  background: var(--rcp-surface);
  border: 1px solid var(--rcp-border);
  border-radius: var(--rcp-radius);
  overflow: hidden;
}

/* tab header */
.rcp-aside .wc-tabs{
  margin: 0 !important;
  padding: 10px 10px 0 !important;
  list-style: none !important;
  display: flex;
  gap: 8px;

  background: #fff;
}
.rcp-aside .wc-tabs li{
  margin: 0 !important;
}
.rcp-aside .wc-tabs a{
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 12px;
  border-radius: 6px;
  border: 2px solid #023194;
  background: #FFF;
  color: #023194;
  font-weight: 500;
  text-decoration: none;
}
.rcp-aside .wc-tabs li.active a,
.rcp-aside .wc-tabs a:hover{
  border-color: #023194;
  background: #023194;
  color: #FFF;
}

/* tab panels */
.rcp-aside .woocommerce-Tabs-panel{
  padding: 16px 16px 18px;
}
.rcp-aside .woocommerce-Tabs-panel h2{
  font-size: 18px;
  margin: 0 0 10px;
  color: var(--rcp-text);
}
.rcp-aside .woocommerce-Tabs-panel p{
  color: var(--rcp-muted);
  line-height: 1.6;
}

/* attributes table */
.woocommerce-product-attributes{
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--rcp-border);
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td{
  padding: 12px 12px;
  border-bottom: 1px solid var(--rcp-border);
  font-size: 14px;
}
.woocommerce-product-attributes th{
  width: 180px;
  background: var(--rcp-soft);
  color: var(--rcp-text);
  font-weight: 600;
}
.woocommerce-product-attributes td{
  color: var(--rcp-muted);
}

/* ---------- RELATED PRODUCTS ---------- */
.related.products{
  margin-top: 18px;
  background: var(--rcp-surface);
  border: 1px solid var(--rcp-border);
  border-radius: var(--rcp-radius);
  
  padding: 14px;
}

.related.products > h2{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 600;
  color: var(--rcp-text);
}

/* Griglia correlati (Woo: ul.products) */
.related.products ul.products{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 992px){
  .related.products ul.products{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .related.products ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px){
  .related.products ul.products{ grid-template-columns: 1fr; }
}

/* Card */
.related.products ul.products li.product{
  margin: 0 !important;
  padding: 12px;
  border: 1px solid var(--rcp-border);
  border-radius: 16px;
  background: #fff;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  
  display: grid;
  gap: 10px;
  align-content: start;
}

.related.products ul.products li.product:hover{
  border-color: rgba(2,49,148,.35);
}

/* Immagine correlati */
.related.products ul.products li.product img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--rcp-border);
}

/* Titolo correlati */
.related.products ul.products li.product .woocommerce-loop-product__title{
  font-size: 14px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--rcp-text);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.25em * 3);
}

/* Prezzo correlati */
.related.products ul.products li.product .price{
  margin: 0;
  font-weight: 900;
  color: var(--rcp-text);
}

.related a{
  text-decoration: none;
}
/* Bottone add to cart correlati */
.woocommerce-loop-product__title{
  color:  #023194 !important;
  text-transform: capitalize;
}

.related.products ul.products li.product a.button {
  background: #fff !important;
  border:2px #023194 solid !important;
  color:  #023194 !important;
  font-weight: 600;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s ease, transform .06s ease;
  text-align: center;
  text-decoration: none;
}

.related.products ul.products li.product a.button:hover{
  filter: brightness(1.02);
  transform: translateY(-1px);
  background: #023194 !important;
  border:2px #023194 solid !important;
  color:  #fff !important;
  font-weight: 600;
  padding: 12px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s ease, transform .06s ease;
  text-align: center;
  text-decoration: none;

}




/* ---------- Piccole fix varie ---------- */
.woocommerce form.cart .quantity{
  float:none !important;
  margin:0 !important;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float:none !important; /* tu stai usando .rcp-grid */
  width:auto !important;
}

.rcp-product .woocommerce-product-gallery__trigger{
  border-radius: 12px !important;
  overflow: hidden;
}

/* Se vuoi uniformare gli spazi bianchi in single */
.rcp-product .entry-content{
  margin: 0;
}


:root{
  --ch-blue:#024EEF;
  --ch-blue-2:#0B45C9;
  --ch-text:#0B1220;
  --ch-muted:#6B7280;
  --ch-border:#E6EAF2;
  --ch-bg:#F4F7FB;
  --ch-card:#FFFFFF;
  --ch-shadow:0 8px 22px rgba(16,24,40,.08);
  --ch-radius:14px;
}


/* -------- Product layout -------- */
.ch-product{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:24px;
  align-items:start;
}

@media (max-width: 980px){
  .ch-product{ grid-template-columns:1fr; }
}

/* -------- Gallery -------- */
.ch-gallery{
  background:var(--ch-card);
  border:1px solid var(--ch-border);
  border-radius:var(--ch-radius);
  box-shadow:var(--ch-shadow);
  overflow:hidden;
}

.ch-gallery__main{
  aspect-ratio: 4/3;
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.ch-gallery__main img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.ch-gallery__thumbs{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap:10px;
  padding:14px;
  border-top:1px solid var(--ch-border);
  background: linear-gradient(180deg, #fff, #fbfcff);
}

@media (max-width: 680px){
  .ch-gallery__thumbs{ grid-template-columns: repeat(4, 1fr); }
}

.ch-thumb{
  border:1px solid var(--ch-border);
  background:#fff;
  border-radius:12px;
  padding:8px;
  cursor:pointer;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio: 1/1;
}
.ch-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.ch-thumb:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(16,24,40,.08);
  border-color: rgba(2,78,239,.35);
}
.ch-thumb.is-active{
  border-color: var(--ch-blue);
  box-shadow: 0 10px 18px rgba(2,78,239,.14);
}

/* -------- Buy box -------- */
.ch-buybox{
  background:var(--ch-card);
  border:1px solid var(--ch-border);
  border-radius:var(--ch-radius);
  box-shadow:var(--ch-shadow);
  padding:18px;
}

.ch-title{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.2;
}

.ch-price{
  font-size:22px;
  font-weight:800;
  color:var(--ch-blue);
  margin:0 0 14px;
}

.ch-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* -------- Buttons -------- */
.ch-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, box-shadow .12s ease, border-color .12s ease;
  user-select:none;
}

.ch-btn:active{ transform: translateY(1px); }

.ch-btn--primary{
  background:var(--ch-blue);
  color:#fff;
  box-shadow: 0 14px 28px rgba(2,78,239,.18);
}
.ch-btn--primary:hover{ background:var(--ch-blue-2); }

.ch-btn--outline{
  background:#fff;
  color:var(--ch-blue);
  border-color: rgba(2,78,239,.35);
}
.ch-btn--outline:hover{
  border-color: var(--ch-blue);
  box-shadow: 0 12px 24px rgba(2,78,239,.10);
}

.ch-btn--ghost{
  background: rgba(2,78,239,.08);
  color: var(--ch-blue);
}
.ch-btn--ghost:hover{ background: rgba(2,78,239,.12); }

/* -------- Related section header (blue bar style) -------- */
.ch-sectionhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background: var(--ch-blue);
  color:#fff;
  border-radius: 6px;
  padding: 12px 14px;
  margin: 26px 0 14px;
}

.ch-sectionhead h2{
  margin:0;
  font-size:16px;
  letter-spacing:.2px;
}

.ch-link{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  opacity:.95;
}
.ch-link:hover{ opacity:1; text-decoration:underline; }

/* -------- Related cards grid -------- */
.ch-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}

@media (max-width: 1100px){
  .ch-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px){
  .ch-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .ch-grid{ grid-template-columns: 1fr; }
}

.ch-card{
  background:var(--ch-card);
  border:1px solid var(--ch-border);
  border-radius:var(--ch-radius);
  box-shadow: var(--ch-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 100%;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.ch-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(16,24,40,.10);
  border-color: rgba(2,78,239,.20);
}

.ch-card__img{
  display:block;
  background: #fff;
  padding:12px;
  aspect-ratio: 4/3;
}
.ch-card__img img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.ch-card__body{
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ch-card__title{
  color:var(--ch-text);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  line-height:1.25;
  min-height: 32px; /* allinea le card */
}
.ch-card__title:hover{ color:var(--ch-blue); }

.ch-card__price{
  font-weight:900;
  color:var(--ch-blue);
  margin-top:-2px;
}

/* Bottone nella card full-width */
.ch-card .ch-btn{
  width:100%;
}

/* ---------- Gallery wrapper ---------- */
.rcp-gallery{
  background: var(--rcp-surface);
  border: 1px solid var(--rcp-border);
  border-radius: var(--rcp-radius);  
  overflow: hidden;
}

/* WooCommerce gallery: gestisce più immagini + thumbs */
.rcp-gallery .woocommerce-product-gallery{
  opacity: 1 !important; /* evita flash/opacity 0 se JS tarda */
  margin: 0;
  padding: 14px;
}

.rcp-gallery .woocommerce-product-gallery__wrapper{
  display: grid;
  gap: 10px;
}

/* Immagine principale */
.rcp-gallery .woocommerce-product-gallery__image > a{
  display:block;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--rcp-border);
}
.rcp-gallery .woocommerce-product-gallery__image img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #fff;
}

/* Thumbnails (Woo: .flex-control-thumbs) */
.rcp-gallery .flex-control-thumbs{
  margin: 10px 0 0 !important;
  padding: 0 !important;
  list-style: none;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
@media (max-width: 1200px){
  .rcp-gallery .flex-control-thumbs{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .rcp-gallery .flex-control-thumbs{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 420px){
  .rcp-gallery .flex-control-thumbs{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.rcp-gallery .flex-control-thumbs li{
  margin: 0 !important;
}
.rcp-gallery .flex-control-thumbs img{
  width: 100%;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--rcp-border);
  opacity: 1 !important;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  background: #fff;
}
.rcp-gallery .flex-control-thumbs img:hover{
  transform: translateY(-1px);
  border-color: rgba(2,49,148,.35);
}
.rcp-gallery .flex-control-thumbs img.flex-active{
  border-color: var(--rcp-accent);
}

/* ==========================================================
   WooCommerce Cart + Checkout (CSS only)
   - Senza CSS nativo Woo
   - Look pulito + responsive
   ========================================================== */

/* Base */
.woocommerce,
.woocommerce-page {
  --wc-gap: 16px;
  --wc-radius: 12px;
  --wc-border: 1px solid rgba(0,0,0,.10);
  --wc-muted: rgba(0,0,0,.60);
  --wc-bg: rgba(0,0,0,.02);
  --wc-focus: rgba(0,0,0,.20);
}

.woocommerce a { text-decoration: none; }
.woocommerce a:hover { text-decoration: underline; }

.woocommerce h1,
.woocommerce h2,
.woocommerce h3 { margin: 0 0 12px; }

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 14px;
  border-radius: 10px;
  border: 2px solid;
  background: #023194;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;
  transition: transform .08s ease, opacity .15s ease;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
  opacity: .92;
  transform: translateY(-1px);
  text-decoration: none;
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
  background: #fff;
  border-color: #023194;
  color: #023194;
}

.woocommerce .button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="search"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select {
  width: 100%;
  max-width: 100%;
  padding: 12px 12px;
  border-radius: var(--wc-radius);
  border: var(--wc-border);
  background: #fff;
  outline: none;
}

.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  box-shadow: 0 0 0 3px var(--wc-focus);
}

.woocommerce .woocommerce-form-row { margin: 0 0 14px; }
.woocommerce label { font-weight: 600; display:block; margin: 0 0 6px; }

/* Notices */
.woocommerce-notices-wrapper { margin: 0 0 14px; }
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: 1px;
  border: var(--wc-border);
  padding: 12px 14px;
  background: #fff;
  margin: 0 0 10px;
}
.woocommerce-message { border-left: 4px solid #18a058; }
.woocommerce-info    { border-left: 4px solid #2080f0; }
.woocommerce-error   { border-left: 4px solid #d03050; }
.woocommerce-error li { margin: 6px 0; }

/* ==========================================================
   CART
   ========================================================== */
.woocommerce-cart .woocommerce {
  display: block;
}

.woocommerce-cart form.woocommerce-cart-form {
  border: var(--wc-border);
  border-radius: var(--wc-radius);
  background: #fff;
  padding: 14px;
}

.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 12px 10px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.woocommerce table.shop_table th {
  text-align: left;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--wc-muted);
  background: var(--wc-bg);
}

.woocommerce-cart table.shop_table .product-remove {
  width: 44px;
  text-align: center;
}
.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-flex;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: var(--wc-border);
  align-items: center;
  justify-content: center;
  color: #111;
  font-size: 18px;
  line-height: 1;
}
.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  background: rgba(0,0,0,.06);
  text-decoration: none;
}

.woocommerce-cart table.shop_table .product-thumbnail {
  width: 90px;
}
.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.08);
}

.woocommerce-cart table.shop_table .product-name a {
  font-weight: 700;
  color: #111;
}

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
  white-space: nowrap;
  font-weight: 700;
}

.woocommerce-cart .quantity {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.woocommerce-cart .quantity input.qty {
  width: 90px;
  text-align: center;
  padding: 10px 10px;
}

.woocommerce-cart .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-bottom: none;
}

.woocommerce-cart .coupon {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.woocommerce-cart .coupon input#coupon_code {
  width: 240px;
}

/* Totals box */
.woocommerce-cart .cart-collaterals {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 18px;
  align-items: start;
}

.woocommerce-cart .cart_totals {
  border: var(--wc-border);
  border-radius: var(--wc-radius);
  background: #fff;
  padding: 14px;
}
.woocommerce-cart .cart_totals h2 { margin-bottom: 12px; }

.woocommerce-cart .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
  padding: 10px 0;
  border-bottom: 1px dashed rgba(0,0,0,.10);
}
.woocommerce-cart .cart_totals th { color: var(--wc-muted); font-weight: 600; }
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th {
  border-bottom: none;
  padding-top: 14px;
  font-size: 18px;
}
.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 14px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
}

/* ==========================================================
   CHECKOUT
   ========================================================== */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items: start;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-checkout-review-order {
  border: var(--wc-border);
  border-radius: var(--wc-radius);
  background: #fff;
  padding: 14px;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-checkout-review-order h3 {
  margin-bottom: 12px;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* full width fields */
.woocommerce-checkout .form-row-wide { grid-column: 1 / -1; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last { grid-column: auto; }

/* Order review table */
.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td {
  padding: 10px 0;
  border-bottom: 1px dashed rgba(0,0,0,.10);
}
.woocommerce-checkout-review-order table.shop_table th {
  background: transparent;
  color: var(--wc-muted);
}
.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td {
  border-bottom: none;
  padding-top: 12px;
  font-size: 18px;
}

/* Payment */
.woocommerce-checkout #payment {
  margin-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 14px;
}
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.woocommerce-checkout #payment ul.payment_methods li {
  border: var(--wc-border);
  border-radius: var(--wc-radius);
  padding: 12px;
  background: #fff;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}
.woocommerce-checkout #payment div.payment_box {
  margin-top: 10px;
  background: var(--wc-bg);
  border-radius: var(--wc-radius);
  padding: 12px;
  color: rgba(0,0,0,.80);
}

.woocommerce-checkout #place_order {
  width: 100%;
  margin-top: 12px;
  padding: 14px 14px;
  font-size: 16px;
}

/* Privacy text */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--wc-muted);
  margin-top: 10px;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width: 992px) {
  .woocommerce-cart .cart-collaterals {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
  .woocommerce-cart .coupon input#coupon_code {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .woocommerce-cart table.shop_table thead { display: none; }
  .woocommerce-cart table.shop_table tr {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .woocommerce-cart table.shop_table td {
    border-bottom: none;
    padding: 6px 0;
  }
  .woocommerce-cart table.shop_table .product-remove {
    grid-column: 1 / -1;
    text-align: right;
  }
  .woocommerce-cart table.shop_table .product-thumbnail {
    width: auto;
  }
}
.ch-product-gallery {
  width: 100%;
  margin-bottom: 30px;
}

.ch-gallery-main {
  margin: 0 0 12px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 14px;
  overflow: hidden;
}

.ch-gallery-open {
  width: 100%;
  border: 0;
  background: #fff;
  padding: 0;
  cursor: zoom-in;
}

.ch-gallery-open img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}

.ch-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.ch-thumb {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 10px;
  padding: 4px;
  cursor: pointer;
}

.ch-thumb.is-active {
  border-color: #111;
}

.ch-thumb img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}

.ch-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.88);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  padding: 30px;
}

.ch-lightbox.is-open {
  display: flex;
}

.ch-lightbox img {
  max-width: 95vw;
  max-height: 90vh;
  object-fit: contain;
}

.ch-lightbox-close {
  position: fixed;
  top: 20px;
  right: 25px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 768px) {
  .ch-gallery-thumbs {
    grid-template-columns: repeat(4, 1fr);
  }
}

.moto-accordion .accordion-item {
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}

.moto-accordion .accordion-button {
  font-weight: 700;
  color: #023194;
  background: #fff;
  border: 0;
  box-shadow: none;
}

.moto-accordion .accordion-button:not(.collapsed) {
  background: #023194;
  color: #fff;
}

.moto-accordion .accordion-body {
  background: #fff;
  padding: 18px;
}

.moto-link-list {
  margin: 0;
  padding-left: 18px;
}

.moto-link-list li {
  margin-bottom: 6px;
}

.moto-missing {
  color: #999;
}

.small-prezzo{
  font-size: 14px;
  font-weight: initial;
  margin-left: 5px;
}
.rcp-404-page {
    font-family: inherit;
    color: #111;
    background: #fff;
}

.rcp-404-container {
    width: min(1120px, 92%);
    margin: 0 auto;
}

.rcp-404-hero {
    padding: 90px 0 70px;
    text-align: center;
    background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
}

.rcp-404-code {
    font-size: clamp(72px, 13vw, 160px);
    font-weight: 800;
    line-height: 1;
    margin: 0 0 10px;
    color: #e5e9f0;
}

.rcp-404-hero h1 {
    font-size: clamp(30px, 5vw, 52px);
    margin: 0 0 18px;
}

.rcp-404-text {
    max-width: 620px;
    margin: 0 auto 32px;
    font-size: 18px;
    line-height: 1.6;
    color: #555;
}

.rcp-404-search {
    max-width: 680px;
    margin: 0 auto 28px;
    text-align: left;
}

.rcp-404-search label {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
}

.rcp-404-search-row {
    display: flex;
    gap: 10px;
}

.rcp-404-search input {
    flex: 1;
    padding: 15px 16px;
    border: 1px solid #d9dde5;
    border-radius: 10px;
    font-size: 16px;
}

.rcp-404-search button,
.rcp-btn-primary,
.rcp-btn-secondary {
    border: 0;
    border-radius: 10px;
    padding: 15px 22px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rcp-404-search button,
.rcp-btn-primary {
    background: #023194;
    color: #fff;
}

.rcp-btn-secondary {
    background: #f0f2f5;
    color: #111;
}

.rcp-404-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.rcp-404-suggestions {
    padding: 50px 0 80px;
}

.rcp-404-suggestions h2 {
    font-size: 28px;
    margin-bottom: 28px;
    text-align: center;
}

.rcp-404-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.rcp-404-card {
    border: 1px solid #eceff3;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.rcp-404-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.rcp-404-card a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding: 18px;
}

.rcp-404-thumb {
    margin: -18px -18px 16px;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f5f5f5;
}

.rcp-404-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rcp-404-card h3 {
    font-size: 19px;
    margin: 0 0 10px;
}

.rcp-404-card p {
    color: #666;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 768px) {
    .rcp-404-hero {
        padding: 60px 0 50px;
    }

    .rcp-404-search-row {
        flex-direction: column;
    }

    .rcp-404-grid {
        grid-template-columns: 1fr;
    }
}

.wc-category-template {
    background: #f8f9fa;
}

.wc-cat-hero {
    background: #fff;
    border-bottom: 1px solid #eee;
}

.wc-cat-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e9ecef;
    box-shadow: 0 8px 25px rgba(0,0,0,.04);
    transition: all .25s ease;
}

.wc-cat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 35px rgba(0,0,0,.08);
}

.wc-cat-img {
    display: block;
    height: 220px;
    overflow: hidden;
    background: #eee;
}

.wc-cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.wc-cat-card:hover .wc-cat-img img {
    transform: scale(1.06);
}

.wc-cat-body {
    padding: 24px;
}

.wc-cat-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}

.wc-cat-title a {
    color: --blu-crosshop;
    text-decoration: none;
}

.wc-cat-desc {
    color: #666;
    font-size: 15px;
}

.wc-subcats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.wc-subcats a {
    background: #f1f3f5;
  color: #1d338f;
  padding: 7px 12px;
  border-radius: 6px;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s ease;
  border: 1px solid #1d338f;
  text-transform: capitalize;
}

.wc-subcats a:hover {
    background: #fff;
    color: #1d338f;
    border: 1px solid #1d338f;
  text-transform: capitalize;
}

.card-body .crosshop-loop-rating {
  justify-content: center;
  margin: 8px 0 10px;
}

.card-body .crosshop-rating-text {
  justify-content: center;
}

.card.swiper-slide .crosshop-stars {
  flex: 0 0 auto;
}

@media screen and (max-width: 767px) {
  .card-body .crosshop-loop-rating {
    flex-direction: column;
    gap: 4px;
  }
}

/* Stelle recensioni Crosshop nei listati WooCommerce */
.crosshop-loop-rating {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 7px 0 9px;
    line-height: 1;
}

.crosshop-stars {
    position: relative;
    display: inline-block;
    width: 91px;
    height: 18px;
    overflow: hidden;
    white-space: nowrap;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 1px;
    vertical-align: middle;
}

.crosshop-stars-empty,
.crosshop-stars-filled {
    display: block;
    white-space: nowrap;
}

.crosshop-stars-empty {
    color: #d6d6d6;
}

.crosshop-stars-filled {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    overflow: hidden;
    color: #f5a623;
}

.crosshop-rating-text {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 13px;
    line-height: 1.3;
    color: #555;
}

.crosshop-rating-average {
    font-weight: 700;
    color: #222;
}

.crosshop-rating-count {
    font-weight: 400;
    color: #777;
}

/* Adattamento griglie prodotto */
.woocommerce ul.products li.product .crosshop-loop-rating {
    min-height: 20px;
}

/* Versione mobile */
@media screen and (max-width: 767px) {
    .crosshop-loop-rating {
        gap: 5px;
        margin: 6px 0 8px;
    }

    .crosshop-stars {
        width: 76px;
        height: 15px;
        font-size: 15px;
        line-height: 15px;
    }

    .crosshop-rating-text {
        font-size: 12px;
    }
}

.woocommerce-Price-amount .amount{
  font-weight: 600;
}

/* ==========================
   PAGINAZIONE
========================== */

.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    margin: 0 4px;
    padding: 0 16px;
    border: 1px solid #d7dff5;
    border-radius: 8px;
    background: #fff;
    color: #0c3ea8;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all .25s ease;
}

.page-numbers:hover{
    background:#0c3ea8;
    border-color:#0c3ea8;
    color:#fff;
    text-decoration:none;
    transform:translateY(-2px);
}

/* Pagina corrente */

.page-numbers.current{
    background:#0c3ea8;
    border-color:#0c3ea8;
    color:#fff;
    cursor:default;
}

/* Prev e Next */

.page-numbers.prev,
.page-numbers.next{
    padding:0 22px;
    font-weight:700;
    min-width:auto;
}

/* Prev */

.page-numbers.prev::before{
    content:"←";
    margin-right:8px;
    font-size:16px;
}

/* Next */

.page-numbers.next::after{
    content:"→";
    margin-left:8px;
    font-size:16px;
}

/* Hover prev/next */

.page-numbers.prev:hover,
.page-numbers.next:hover{
    background:#ff7a00;
    border-color:#ff7a00;
    color:#fff;
}

/* contenitore */

.mt-4{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin:40px 0;
}

.page-numbers.prev,
.page-numbers.next{
    background:#0c3ea8;
    color:#fff;
    border-color:#0c3ea8;
}

.page-numbers.prev:hover,
.page-numbers.next:hover{
    background:#fff;
    border-color:#0c3ea8;
    color:#0c3ea8;
}

.modal{
    z-index:1060 !important;
}
.prezzo-center{
  text-align: center;
}


.list-pop-moto{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    background:url("img/motocross-svgrepo-com.svg") no-repeat center center;

}

.list-pop-moto:hover{
  background:#023194 url("img/motocross-svgrepo-com-white.svg") no-repeat center center;
}
.list-pop-moto .list-motocross {
    display: block;
    width: 25px;
    height: 25px;
    object-fit: contain;
    transition: transform .2s ease;
}

.list-pop-moto:hover .list-motocross {
    transform: scale(1.08);
}

.cross-moto-modal-content {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
}

#crossMotoCompatibilityModal .modal-header {
    background: #023194;
    color: #fff;
}

#crossMotoCompatibilityModal .modal-header .btn-close {
    filter: brightness(0) invert(1);
}

#crossMotoCompatibilityModal .modal-body {
    position: relative;
    min-height: 500px;
    padding: 0;
    background: #f7f7f7;
}

.cross-moto-iframe {
    display: block;
    width: 100%;
    height: 70vh;
    min-height: 500px;
    border: 0;
    visibility: hidden;
    background: #f7f7f7;
}

.cross-moto-loader {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f7;
    color: #023194;
    font-weight: 600;
}

@media (max-width: 767px) {
    #crossMotoCompatibilityModal .modal-dialog {
        margin: 8px;
    }

    .cross-moto-iframe {
        height: 78vh;
        min-height: 450px;
    }
}

/* ==========================================================
   MENU CATEGORIE DESKTOP: SOTTOMENU TESTUALE MULTICOLONNA
   ========================================================== */
@media (min-width: 992px) {
  .menu-categorie-desktop {
    position: relative;
    z-index: 1000;
    overflow: visible;
  }

  .menu-categorie-desktop .nav-categories {
    position: relative;
    overflow: visible;
  }

  .menu-categorie-desktop .nav-category-item {
    position: relative;
  }

  .menu-categorie-desktop .nav-category-main {
    position: relative;
    padding-bottom: 8px;
  }

  .menu-categorie-desktop .nav-category-item.is-active .nav-category-label,
  .menu-categorie-desktop .nav-category-main:hover .nav-category-label,
  .menu-categorie-desktop .nav-category-main:focus-visible .nav-category-label {
    color: var(--color-crosshop);
    
  }

  .menu-categorie-desktop .nav-category-item.is-active .nav-category-main::after {
    content: "";
    position: absolute;
    left: 20%;
    right: 20%;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: var(--color-crosshop);
  }

  .category-submenu {
    --submenu-row-height: 32px;
    --submenu-max-rows: 7;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: calc(100% - 2px);
    left: 50%;
    transform: translate(-50%, 8px);
    width: max-content;
    max-width: min(94vw, 980px);
    padding: 14px 18px 12px;
    background: #fff;
    border: 1px solid #d9e1f2;
    border-top: 3px solid var(--color-crosshop);
    border-radius: 0 0 10px 10px;
    text-align: left;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  }

  .nav-category-item:hover > .category-submenu,
  .nav-category-item:focus-within > .category-submenu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }

  /* Il pannello nasce dalla categoria in hover, non dal centro della barra. */
  .menu-categorie-desktop .nav-category-item:first-child > .category-submenu,
  .menu-categorie-desktop .nav-category-item:nth-child(2) > .category-submenu {
    left: 0;
    transform: translate(0, 8px);
  }

  .menu-categorie-desktop .nav-category-item:first-child:hover > .category-submenu,
  .menu-categorie-desktop .nav-category-item:first-child:focus-within > .category-submenu,
  .menu-categorie-desktop .nav-category-item:nth-child(2):hover > .category-submenu,
  .menu-categorie-desktop .nav-category-item:nth-child(2):focus-within > .category-submenu {
    transform: translate(0, 0);
  }

  .menu-categorie-desktop .nav-category-item:nth-last-child(-n+3) > .category-submenu {
    left: auto;
    right: 0;
    transform: translate(0, 8px);
  }

  .menu-categorie-desktop .nav-category-item:nth-last-child(-n+3):hover > .category-submenu,
  .menu-categorie-desktop .nav-category-item:nth-last-child(-n+3):focus-within > .category-submenu {
    transform: translate(0, 0);
  }

  .category-submenu__title {
    margin-bottom: 8px;
    color: var(--color-crosshop);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
  }

  .category-submenu__links {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(var(--submenu-max-rows), minmax(var(--submenu-row-height), auto));
    grid-auto-columns: minmax(175px, 215px);
    column-gap: 18px;
    row-gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .category-submenu__links li {
    min-width: 0;
    text-transform: capitalize;
  }

  .category-submenu__links a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: var(--submenu-row-height);
    padding: 5px 7px;
    border-radius: 6px;
    color: #2f3542;
    font-size: 14px;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
  }

  .category-submenu__links a:hover,
  .category-submenu__links a:focus-visible {
    color: var(--color-crosshop);
    background: #f1f5ff;
  }

  .category-submenu__links a.is-current {
    color: #fff;
    background: var(--color-crosshop);
    font-weight: 700;
  }

  .category-submenu__check {
    flex: 0 0 auto;
    font-weight: 800;
  }

  .category-submenu__all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 9px;
    padding: 9px 8px 2px;
    border-top: 1px solid #e4e8f0;
    color: var(--color-crosshop) !important;
    font-size: 14px !important;
    font-weight: 700;
    text-decoration: none;
  }

  .category-submenu__all:hover,
  .category-submenu__all:focus-visible {
    text-decoration: underline;
  }
}

/* Il menu mobile verrà progettato separatamente. */
@media (max-width: 991.98px) {
  .menu-categorie-desktop .category-submenu {
    display: none !important;
  }
}

.choices.is-disabled :is(.choices__inner, .choices__input) {
  background-color: var(--choices-bg-color-disabled, #f9f9f9) !important;
  container: 'prova';
}
.moto-scelta-box a {
  color: white;
}

/* Pulsante nella top bar */

.crosshop-google-trigger {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    background: transparent;
    color: #fff;
    border: 0;
    font: inherit;
    cursor: pointer;
}

.crosshop-google-trigger:hover {
    color: #fff;
    opacity: 0.88;
}

.crosshop-google-icon,
.crosshop-review-google-g,
.crosshop-modal-google span {
    color: #4285f4;
    font-family: Arial, sans-serif;
    font-weight: 800;
}

.crosshop-google-stars {
    color: #fbbc04;
    letter-spacing: -1px;
    white-space: nowrap;
}

.crosshop-google-label {
    color: #fff;
}

/* Popup */

.crosshop-google-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
}

.crosshop-google-modal.is-open {
    display: block;
}

.crosshop-google-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.56);
}

.crosshop-google-modal-panel {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    width: min(920px, calc(100% - 30px));
    max-height: min(760px, calc(100vh - 40px));
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.28);
    transform: translate(-50%, -50%);
}

.crosshop-google-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-bottom: 1px solid #e5e7eb;
}

.crosshop-google-modal-header h2 {
    margin: 4px 0 0;
    color: #111827;
    font-size: 24px;
}

.crosshop-modal-google {
    color: #6b7280;
    font-size: 13px;
    font-weight: 700;
}

.crosshop-google-modal-close {
    display: flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    background: #f3f4f6;
    color: #111827;
    border: 0;
    border-radius: 50%;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.crosshop-google-modal-close:hover {
    background: #003399;
    color: #fff;
}

.crosshop-google-modal-content {
    overflow-y: auto;
    padding: 24px;
}

.crosshop-google-loading,
.crosshop-reviews-error,
.crosshop-reviews-empty {
    padding: 30px;
    color: #6b7280;
    text-align: center;
}

.crosshop-reviews-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding: 18px;
    background: #f7f9ff;
    border: 1px solid #dbe5ff;
    border-radius: 14px;
}

.crosshop-reviews-summary-rating {
    color: #111827;
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
}

.crosshop-reviews-summary-stars,
.crosshop-review-stars {
    color: #fbbc04;
    letter-spacing: 1px;
}

.crosshop-reviews-summary-total {
    margin-top: 3px;
    color: #6b7280;
    font-size: 13px;
}

.crosshop-reviews-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.crosshop-review-item {
    padding: 18px;
    background: #fff;
    border: 1px solid #dbe5ff;
    border-radius: 14px;
}

.crosshop-review-header {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
}

.crosshop-review-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    background: #edf3ff;
    color: #003399;
    border-radius: 50%;
    font-weight: 800;
}

.crosshop-review-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.crosshop-review-author {
    min-width: 0;
}

.crosshop-review-author strong {
    display: block;
    overflow: hidden;
    color: #111827;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crosshop-review-author > span {
    display: block;
    margin-top: 2px;
    color: #6b7280;
    font-size: 11px;
}

.crosshop-review-date {
    color: #6b7280;
    font-size: 11px;
}

.crosshop-review-stars {
    margin-top: 13px;
}

.crosshop-review-stars span {
    color: #d1d5db;
}

.crosshop-review-stars span.active {
    color: #fbbc04;
}

.crosshop-review-text {
    margin-top: 12px;
    color: #374151;
    font-size: 13px;
    line-height: 1.6;
}

.crosshop-review-text p:last-child {
    margin-bottom: 0;
}

.crosshop-review-reply {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}

.crosshop-review-reply summary {
    color: #003399;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.crosshop-review-reply div {
    margin-top: 10px;
    padding: 10px;
    background: #f7f9ff;
    border-radius: 8px;
    color: #4b5563;
    font-size: 12px;
}

body.crosshop-modal-open {
    overflow: hidden;
}
.google-stars{
 padding-top: 3px;
  padding-left: 6px;
}
@media (max-width: 767.98px) {
  .google-stars{
 padding-top:  auto !important;
  padding-left: auto !important;
}
    .crosshop-google-label {
        display: none;
    }

    .crosshop-google-modal-panel {
        width: calc(100% - 18px);
        max-height: calc(100vh - 18px);
        border-radius: 14px;
    }

    .crosshop-google-modal-header,
    .crosshop-google-modal-content {
        padding: 16px;
    }

    .crosshop-reviews-list {
        grid-template-columns: 1fr;
    }

    .crosshop-review-header {
        grid-template-columns: 46px minmax(0, 1fr);
    }

    .crosshop-review-date {
        grid-column: 2;
    }
}

.cross-selected-motos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.cross-selected-motos-summary {
    display: flex;
    align-items: center;
}

.cross-moto-count-button {
    padding: 5px 12px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: transparent;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s ease;
}

.cross-moto-count-button:hover {
    background: #fff;
    color: #023194;
}

.cross-selected-motos-modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

#crossSelectedMotosModal .modal-header {
    background: #023194;
    color: #fff;
}

#crossSelectedMotosModal .btn-close {
    filter: brightness(0) invert(1);
}

#crossSelectedMotosModal .modal-body {
    max-height: 65vh;
    padding: 15px;
    overflow-y: auto;
}

.cross-selected-motos-modal {
    display: block;
}

.moto-scelta-box-modal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 4px;
    border-bottom: 1px solid #e5e5e5;
}

.moto-scelta-box-modal:last-child {
    border-bottom: 0;
}

.moto-scelta-box-modal .moto-link {
    flex: 1;
    color: #023194;
    font-weight: 600;
    text-decoration: none;
}

.moto-scelta-box-modal .cross-delete-moto {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    padding: 0;
    border: 1px solid #d00;
    border-radius: 50%;
    background: transparent;
    color: #d00;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
}
.choices.is-disabled .choices__item {
  cursor: not-allowed;
  color: rgba(79, 79, 79, 1);
}

.crosshop-price-box {
    
}

.crosshop-discount-badge {
    position: absolute;
  top: 139px;
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 58px;
  padding: 5px;
  border: 4px solid #17358f;
  border-radius: 50%;
  color: #17358f;
  background: #fff21aad;
  font-size: 17px;
  font-weight: 800;
}

.crosshop-product-price {
    color: #17358f;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
}

.crosshop-product-price del {
    margin-right: 8px;
    color: #747b88;
    font-size: 17px;
    font-weight: 500;
    opacity: 1;
}

.crosshop-product-price ins {
    color: #17358f;
    text-decoration: none;
}

.crosshop-saving {
    margin-top: 8px;
    color: #168344;
    font-size: 14px;
    font-weight: 700;
}

.crosshop-promotion-label {
    margin-top: 6px;
    color: #575f6c;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
}

@media (max-width: 575px) {
    .crosshop-price-box {
        width: 100%;
        min-width: 0;
    }

    .crosshop-product-price {
        font-size: 23px;
    }

    .crosshop-discount-badge {
        right: 10px;
    }
}