/** Shopify CDN: Minification failed

Line 422:30 Expected identifier but found whitespace
Line 422:31 Unexpected "var("

**/
.accordion{
  --bs-accordion-active-bg: var(--bs-bg-body);
  --bs-accordion-btn-focus-box-shadow: transparent;
  --bs-accordion-btn-padding-x: 16px;
  --bs-accordion-btn-padding-y: 16px;
  --bs-accordion-body-padding-x: 16px;
  --bs-accordion-body-padding-y: 16px;
}
.row{
  margin-left: 0;
  margin-right: 0;
}

.announcement-swiper{
  --swiper-navigation-size: 20px;
  --swiper-navigation-top-offset: 4px;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
}

.bg-body-rgba{
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity));
}

.content-center{
  align-content: center;
}

.d-contents{
  display: contents;
}
.ff-headings{
  font-family: var(--th-heading-font-family) !important;
}
.ff-normal{
  font-family: var(--bs-body-font-family) !important;
}

.fs-14px{
  font-size: 14px;
}
.fs-fixed{
  font-size: var(--fs-fix);
  @media only screen and (max-width: 1200px) {
    font-size: var(--fs-m-fix, var(--fs-fix));
  }
}

.fw-400{
  font-weight: 400;
}
.fw-600{
  font-weight: 600;
}
.fw-700{
  font-weight: 700;
}


.h-fit{
  height: fit-content;
}

.h-fixed{
  height: var(--fixed-height)
  
}

.lh-14px{
  line-height: 14px;
}
.lh-16px{
  line-height: 16px;
}
.lh-20px{
  line-height: 20px;
}
.lh-22px{
  line-height: 22px;
}
.lh-26px{
  line-height: 26px;
}
.lh-30px{
  line-height: 30px;
}
.lh-lg-20px{
  @media only screen and (min-width: 1200px){
    line-height: 20px;
  }
}

.m-half{
  margin: var(--th-size-half);
}
.m-half-half{
  margin: var(--th-size-half-half);
}

.min-h-0{ min-height: var(--th-size-0); }
.min-h-1{ min-height: var(--th-size-1); }
.min-h-2{ min-height: var(--th-size-2); }
.min-h-3{ min-height: var(--th-size-3); }
.min-h-4{ min-height: var(--th-size-4); }
.min-h-5{ min-height: var(--th-size-5); }
.min-h-6{ min-height: var(--th-size-6); }
.min-h-7{ min-height: var(--th-size-7); }
.min-h-8{ min-height: var(--th-size-8); }
.min-h-9{ min-height: var(--th-size-9); }
.min-h-10{ min-height: var(--th-size-10); }
.min-h-11{ min-height: var(--th-size-11); }
.min-h-12{ min-height: var(--th-size-12); }
.min-h-13{ min-height: var(--th-size-13); }
.min-h-14{ min-height: var(--th-size-14); }
.min-h-15{ min-height: var(--th-size-15); }
.min-h-16{ min-height: var(--th-size-16); }
.min-h-17{ min-height: var(--th-size-17); }
.min-h-18{ min-height: var(--th-size-18); }
.min-h-19{ min-height: var(--th-size-19); }
.min-h-20{ min-height: var(--th-size-20); }

.mt-half{
  margin-top: var(--th-size-half);
}

.modal{
  --bs-modal-border-radius: 0px !important;
}

.mw-0{
  max-width: 0;
}
.no-outline{
  outline-width: 0 !important;
  outline-style: none;
  outline-offset: 0;
  outline-color: transparent;
}
.no-vertical-align{
  vertical-align: unset;
}

.py-half{ padding-top: var(--th-size-half); padding-bottom: var(--th-size-half); }
.py-half-half{ padding-top: var(--th-size-half-half); padding-bottom: var(--th-size-half-half); }

.rounded-100{
  border-radius: 100%;
}

.s-body{
  fill: rgb(var(--bs-body-color-rgb)) !important;
  color: rgb(var(--bs-body-color-rgb)) !important;
}

.top-30px{ top: 30px !important}
.top-36px{ top: 36px !important}

.transition-500ms{
  transition: 0.5s;
}
.min-h-body {
  min-height: calc(100vh - 79px);
}

@media only screen and (min-width: 1200px){
  .top-xl-36px{
      top: 36px !important;
  }
  .min-h-body {
    min-height: calc(100vh - 85px);
  }
}
.w-fit{
  width: fit-content;
}
.w-fixed{
  width: var(--fixed-width);
}
@media only screen and (max-width: 1200px) {
  .w-mb-fixed{
    width: var(--fixed-mobile-width)
  }
  .h-mb-fixed{
    height: 100%;
  }
}
.z-16256{
  z-index: 16256;
}
/*SPECIFICS*/

stack-canvas{
  box-sizing: content-box;
}

.card-overlay{
  display: none;
}

.card-overlay:hover{
  display: flex;
}

product-card:hover .card-overlay {
  display: flex;
}
:root{
  --transition-card-in: ease-out, linear, ease-in;
  --transition-card-out: ease-in, linear, ease-out;
}
.first-image{
  max-width: 100%;
  opacity: 1;
  transition: opacity 0.2s linear 0.2s, max-width 0s linear 0.1s;
}

product-card:hover .first-image{
  max-width: 0;
  opacity: 0;
  transition: opacity 0.2s linear 0s, max-width 0s linear 0.1s;
}
.second-image{
  max-width: 0;
  opacity: 0;
  transition: opacity 0.2s linear 0s, max-width 0s linear 0.1s;
}
product-card:hover .second-image{
  max-width: 100%;
  opacity: 1;
  transition: opacity 0.2s linear 0.2s, max-width 0s linear 0.1s;
}

.nohover-text{
  max-height: 24px;
  visibility: visible;
  transition-duration: max-height 0.5s;
}
product-card:hover .nohover-text{
  max-height: 0;
  visibility: hidden;
  transition-duration: max-height 0.5s;
}

.hover-text{
  max-height: 0;
  visibility: hidden;
  transition-duration: max-height 0.5s;
}

product-card:hover .hover-text{
  max-height: 24px;
  visibility: visible;
  transition-duration: max-height 0.5s;
}
theme-swiper{
  overflow-y: visible !important;
  overflow-x: clip !important;
}
.swiper-pagination.pagination-style-lines{
  --swiper-pagination-color: var(--bs-danger);
  --swiper-pagination-bullet-inactive-color: var(--bs-white);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-width: 40px;
  --swiper-pagination-bullet-height: 2px;
  --swiper-pagination-bullet-border-radius: 0;
}

.swiper-pagination.pagination-style-lines > .swiper-pagination-bullet{
  transition: 0.5s;
}

.swiper-pagination.pagination-style-lines > .swiper-pagination-bullet-active{
  --swiper-pagination-bullet-width: 80px;
}

.swiper-pagination.pagination-style-bullets{
  --swiper-pagination-color: var(--bs-danger);
  --swiper-pagination-bullet-inactive-color: var(--bs-gray-400);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bottom: -20px;
}

.swiper-pagination.pagination-style-bullets > .swiper-pagination-bullet{
  transition: 0.3s;
}

.swiper-pagination.pagination-style-bullets > .swiper-pagination-bullet-active{
  --swiper-pagination-bullet-width: 10px;
  --swiper-pagination-bullet-height: 10px;
}

.success-message {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
  padding: 12px 16px;
  border-radius: 4px;
}

[data-error] {
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 4px;
  display: block;
}

[data-error]:not(:empty) {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  padding: 8px 12px;
  border-radius: 4px;
}

.on-sale-badge {
      font-weight: bold;
      font-size: 12px;
      text-transform: uppercase;
      z-index: 10;
      max-width: fit-content;
      top: 10px !important;
      padding: 5px 10px;
      margin: 0;
      right: 10px !important;
}

.navigation-style-arrows{
  --swiper-navigation-sides-offset: var(--th-size-3);
  --swiper-navigation-color: var(--bs-white);
  --swiper-navigation-size: 24px;
}
.navigation-style-top_right_arrows{
  --swiper-navigation-top-offset: calc(var(--m-heading-compensation) * -1 - 4px - var(--swiper-top-margin, 0px));
  --swiper-navigation-color: var(--bs-black);  
  --swiper-navigation-size: 12px;
}

@media only screen and (min-width: 1200px){
  .navigation-style-top_right_arrows{
    --swiper-navigation-top-offset: calc(var(--heading-compensation) * -1 - 4px - var(--swiper-top-margin, 0px));
  }
}

/* SH-505: Swiper Block Wrapper Styles */
.sw-block {
  position: relative;
}

.sw-block[style*="--sw-bottom-space"] {
  padding-bottom: var(--sw-bottom-space);
}

/* SH-505: Arrows Color */
.sw-block .swiper-button-next,
.sw-block .swiper-button-prev {
  color: var(--sw-arrows-color, var(--swiper-navigation-color, var(--bs-white)));
}

.sw-block .swiper-button-next svg,
.sw-block .swiper-button-prev svg {
  fill: currentColor;
  stroke: currentColor;
}

/* SH-505: Pagination Outside */
.sw-has-pagination-outside .sw-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
  padding-top: 8px;
}

.sw-has-pagination-outside .swiper-pagination {
  position: static !important;
  transform: none !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
}

/* SH-505: Pagination Dashes Style */
.sw-pagination-dashes .swiper-pagination {
  --swiper-pagination-color: var(--bs-danger);
  --swiper-pagination-bullet-inactive-color: var(--bs-gray-400);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-width: 24px;
  --swiper-pagination-bullet-height: 2px;
  --swiper-pagination-bullet-border-radius: 0;
  gap: 8px;
}

.sw-pagination-dashes .swiper-pagination-bullet {
  transition: all 0.3s ease;
  border-radius: 0;
}

.sw-pagination-dashes .swiper-pagination-bullet-active {
  --swiper-pagination-bullet-width: 32px;
}

/* SH-505: Pagination Dots Style (quando esterna) */
.sw-pagination-dots.sw-has-pagination-outside .swiper-pagination {
  --swiper-pagination-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* SH-505: Assicura che le frecce usino il colore dalla variabile CSS */
.sw-block .navigation-style-arrows,
.sw-block .navigation-style-top_right_arrows {
  --swiper-navigation-color: var(--sw-arrows-color, var(--swiper-navigation-color));
}
    --swiper-navigation-color: var(--bs-black);  
    --swiper-navigation-size: 12px;
  }

}
.swiper-button-prev.navigation-style-top_right_arrows{
  --swiper-navigation-sides-offset: calc(100vw - 6 * var(--th-size-3));
}
.swiper-button-next.navigation-style-top_right_arrows{
  --swiper-navigation-sides-offset: var(--th-size-3);
}

.swiper-scrollbar.full-width-scrollbar{
  --swiper-scrollbar-drag-bg-color: var(--bs-black);
  --swiper-scrollbar-border-radius: 0;
  --swiper-scrollbar-sides-offset: 0%;
  --swiper-scrollbar-bottom: 0;
}

.overlay-block.start-50{
  transform: translateX(-50%);
}
.overlay-block.top-50{
  transform: translateY(-50%);
}
.overlay-block.top-50.start-50{
  transform: translate(-50%, -50%);
}

.overlay-gradient {
  width: 100%;
  justify-items: center;
  height: fit-content;
  margin-bottom: 0;
  padding-bottom: 20px;
  background: rgba(0, 0, 0, 0.22);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0) 100%);
}

/* Overlay scuro sulle card homepage sotto la hero - migliora leggibilità testi */
.overlay-card-dark {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.2) 40%, transparent 100%);
  pointer-events: none;
}

.product-form{
  position: static;
  top: 84px;
}
@media only screen and (min-width: 1200px){
  .product-form{
    position: sticky;
  }
}

.breadcrumb a{
  font-size: 12px;
}

sl{
  display: none;
}
span + sl{
  display: inline;
}
.modal .selector-list{
  padding: 0 8px 0 0 !important;
}
.modal .bell, .offcanvas .bell{
  display: none;
}
.noUi-target{
  height: 2px;
  border: none;
}
.noUi-base{
  background: var(--bs-secondary);
}
.noUi-connect{
  background: var(--bs-primary);
}
.noUi-handle::after, .noUi-handle::before{
  display: none;
}
.noUi-handle{
  border-radius: 0px;
  background-color: var(--bs-primary);
  box-shadow: none;
  border: none;
}
.noUi-horizontal .noUi-handle{
  width: 16px;
  height: 16px;
  right: -8px;
  top: -7px;
}
.filter-input:checked + label{
  border: var(--bs-primary) solid 1px;
}
.filter-input:not(:checked) + label{
  border: var(--bs-secondary) solid 1px;
}

.item-count-icon{
  margin-bottom: 6px;
  margin-right: -4px
}

collection-view.selected{
  border-bottom: 1px solid black;
}
.top-shadow{
  box-shadow: 0 1px 4px 0px black;
}

swiper-to-stack > .minus {
  display: none;
}

swiper-to-stack.open > .minus{
  display: block;
}
swiper-to-stack.open > .plus{
  display: none;
}
.breadcrumb-item.active{
  color: #848484;
}
.breadcrumb{
  --bs-breadcrumb-item-padding-x: 0px;
}
.breadcrumb li{
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  main-product .atc{
      position: fixed;
      background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity));
      left: 0;
      width: 100%;
      z-index: 5;
      &.bot{
        bottom: 0;
      }
      &.top{
        top: 79px
      }
    }
}
.collection-navbar{
  z-index: 50;
  top: 85px;
  @media only screen and (max-width: 1200px) {
    top: 79px;
  }
}
.collection-navbar--no-heading{
  top: 0;
  @media only screen and (max-width: 1200px) {
    top: 0;
  }
}
.mobile-filters-bar{
  top: 70px;
  z-index: 49;

}
.sort-options-drop{
  width:max-content;
}

.grid-container{
  display: grid;
  grid-template-columns: [menu] var(--page-menu-width) [rest] auto [end];
  grid-template-rows: auto;
}
.grid-container .page-side-menu{
  grid-column-start: menu;
  grid-column-end: rest;
}
.grid-container :not(.page-side-menu){
  grid-column-start: rest;
  grid-column-end: end;
  grid-row: auto;
}

@media only screen and (max-width: 1200px) {
  .atc.bot button{
    width: 100%;
  }
  .atc.bot > scrollto-button > button{
    background-color: var(--bs-primary);
    color: var(--bs-white);
  } 
  .atc.bot button > .compact-text{
    display: none;
  }
  .atc.bot > scrollto-button > button.clicked{
    background-color: var(--bs-secondary);
    color: var(--bs-primary);
  }
  .atc.bot > .info-block{
    display: none;
  }
  .atc.top button{
    background-color: var(--bs-primary);
    color: var(--bs-white);
    
  }
  .atc.top > .info-block{
    display: block;
  }
  .atc.top button > .full-text{
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .atc button{
    width: 100%;
  }
}
.accordion-button::after{
  background-image: var(--bs-accordion-btn-icon) !important;
  width: 24px;
  height: 24px;
  background-size: 24px !important;
}
.accordion-button:not(.collapsed)::after{
  background-image: var(--bs-accordion-btn-active-icon) !important;
  width: 24px;
  height: 24px;
  background-size: 24px !important;
  
}
.breadcrumb-item + .breadcrumb-item::before{
  font-size: 20px;
  line-height: 18px;
  padding-right: 0;
  width: 16px;
  height: 16px;
}

.nav-pills .nav-link {
  border-radius: 0;
  border: solid 1px var(--bs-light);
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
  background-color: transparent;
  border: solid 1px var(--bs-nav-pills-link-active-bg);
  color: var(--bs-nav-pills-link-active-bg);
}
.d-col {
  display: flex;
  flex-direction: column;
}

small, .small {
  line-height: 14px;
}

.richtext ul:last-child{
  margin-bottom: 0;
}
predictive-search-panel{
  display: none;
}
predictive-search-panel:is(:state(show), :--show) {
  display: block;
}
.mobile-search-container{
  max-height: 90vh;
}
.restock-rocket-button-container-float-right{
  display: none;
}
#search-mobile.collapse.show, #search-mobile.collapsing{
  display: flex;
}
swap-buttons > button{
  padding: 12px 35px !important;
}
swap-buttons > button:is(:state(selected), :--selected){
  border-color: var(--bs-primary);
}

.min-h-alot{
  min-height: 1400px
}
.btn {
  text-transform: uppercase;
}


/* DRAWER */
cmp-drawer{
  height: 100%;
  width: 100%;
  overflow: hidden;
  flex-wrap: nowrap;
}

cmp-drawer.start{
  transition: max-width 1s;
  max-width: 0px;
}

cmp-drawer:is(:state(show), :--show).start{
  max-width: 100%;
}
cmp-drawer.top{
  max-height: 0px;
  transition: max0height 1s;
}
cmp-drawer:is(:state(show), :--show).top{
  max-height: 100%;
}

btn-toggle:is(:state(open), :--open) > .open {
  display: none;
}
btn-toggle:not(:is(:state(open), :--open)) > .close {
  display: none;
}

.address-form-container{
  width: 50%;
}
@media screen and (max-width: 1200px) {
  .address-form-container{
    width: 100%;
  }
  
}

.article-card a {
  text-decoration: none;;
}

wishlist-page{
  min-height: 300px;
}

/* Spin to win */
.lds-dual-ring {
  /* change color here */
  color: #1c4c5b
}
.lds-dual-ring,
.lds-dual-ring:after {
  box-sizing: border-box;
}
.lds-dual-ring {
  display: inline-block;
  width: 80px;
  height: 80px;
}
.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 64px;
  height: 64px;
  margin: 8px;
  border-radius: 50%;
  border: 6.4px solid currentColor;
  border-color: currentColor transparent currentColor transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.row-classic {
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));  
}

/* sezione ordine account */
/* timeline stati ordine */

.order-timeline {
  text-align: center;
  width: 100%;
}

.timeline-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  list-style: none;
  margin-top: 0;
}

.timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  min-width: 100px;
}

.timeline-dot {
  width: 32px;
  height: 32px;
  border: 1px solid #000;
  background-color: transparent;
  position: relative;
  z-index: 2;
  transition: background-color 0.3s ease;
}

.timeline-dot::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: #fff;
  top: 0;
  left: 0;
  transition: background-color 0.3s ease;
  z-index: 0;
}

.timeline-step.completed .timeline-dot::after {
  background-color: #000;
}

.timeline-label {
	margin-top: 5px;
	font-size: 14px;
	color: #333;
	text-align: center;
	max-width: 100px;
	line-height: 1;
	position: absolute;
	bottom: -30px;
}

/* Linee di collegamento */
.timeline-line {
  height: 2px;
  background-color: #ccc; /* default grigio */
  z-index: 1;
  flex-grow: 1;
  margin: 0 -44px; /* compensa il raggio del pallino per far combaciare bene */
  transition: background-color 0.3s ease;
}

.timeline-line.completed {
  background-color: #000; /* nero se completato */
}
#customer_address_data_style{
  margin-bottom: 30px;
}

.is-invalid .form-select:not([multiple]):not([size]), .is-invalid .form-select:not([multiple])[size="1"], .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: initial;
  padding-right: var(--th-form-px);
}

.area-returns .swiper-toggle.collapsed .minus, .area-returns .swiper-toggle:not(.collapsed) .plus {
  display: none;
}

.product-card .restock-rocket-button {
  display: none !important;
}
.footer-bottom-final div{
  padding:10px;
}
.collection-title h2{
  color:#000;
}
#ProductForm atc-button button:hover{
  background-color: var(--bs-primary);
  color: var(--bs-white);
}
.product-card .on-sale-badge{
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    z-index: 10;
    max-width: fit-content;
    top: 10px !important;
    padding: 2px 5px;
    margin: 0;
    left: 10px !important;
}

collection-filters .swiper-slide{
height: auto !important;
}
.page-template p{
  padding-left:0 !important;
   padding-right:0 !important;
}
.page-template h3, .page-template h2, .page-template h1{
  padding-left:0 !important;
   padding-right:0 !important;
}

/* SH-500: Footer alignment */
/* Mobile: align accordion, payments, socials to same left edge */
@media only screen and (max-width: 1199px) {
  .shopify-section-group-g-footer .accordion-flush .accordion-button {
    padding-left: 0 !important;
    padding-right: 0 !important;
    --bs-accordion-btn-padding-x: 0 !important;
  }
  .shopify-section-group-g-footer .accordion-flush .accordion-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
    --bs-accordion-body-padding-x: 0 !important;
  }
  .shopify-section-group-g-footer .row.pb-3.mx-0 > div.p-1 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .shopify-section-group-g-footer .row.pb-3.mx-0 > div.col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .shopify-section-group-g-footer .row.pb-3.mx-0 > div.col .nav.col {
    padding-left: 0 !important;
  }
}

/* END SH-500 */







/* SH-498: Fix richtext line breaks - ensure paragraphs display as blocks and remove extra spacing */
.richtext {
  white-space: normal !important;
}

.richtext p {
  display: block !important;
  margin: 0 !important;
}

.richtext p + p {
  margin-top: 0 !important;
}

/* SH-494: Hero Video Section */
.hero-video-section {
  width: 100%;
}

.hero-video {
  position: relative;
  width: 100%;
  height: var(--height-mobile);
  min-height: var(--height-mobile);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (min-width: 1200px) {
  .hero-video {
    height: var(--height-desktop);
    min-height: var(--height-desktop);
  }
}

.hero-video__video-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-video__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-video__fallback-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-video__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-video__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, calc(var(--overlay-opacity, 40) / 100));
  z-index: 2;
  pointer-events: none;
}

.hero-video__content {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.hero-video__content--center {
  align-items: center;
  justify-content: center;
}

.hero-video__content--left {
  align-items: center;
  justify-content: flex-start;
}

.hero-video__content--right {
  align-items: center;
  justify-content: flex-end;
}

.hero-video__content--bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}

.hero-video__content--bottom-center {
  align-items: flex-end;
  justify-content: center;
}

.hero-video__content--bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.hero-video__content-inner {
  max-width: 100%;
  text-align: center;
}

.hero-video__content--left .hero-video__content-inner,
.hero-video__content--bottom-left .hero-video__content-inner {
  text-align: left;
}

.hero-video__content--right .hero-video__content-inner,
.hero-video__content--bottom-right .hero-video__content-inner {
  text-align: right;
}

.hero-video__heading {
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
}

.hero-video__text {
  font-size: 1.125rem;
  line-height: 1.6;
}

.hero-video__text p {
  margin: 0;
}

.hero-video__text p + p {
  margin-top: 1rem;
}

.hero-video__button {
  margin-top: 1rem;
}

@media only screen and (max-width: 1199px) {
  .hero-video__content {
    padding: 1.5rem;
  }
  
  .hero-video__heading {
    font-size: 1.75rem;
  }
  
  .hero-video__text {
    font-size: 1rem;
  }
}

/* SH-507: Image + Overlay Section */
/* SH-890: height is determined by the uploaded image's natural aspect ratio */
.image-overlay-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.image-overlay-media {
  width: 100%;
  z-index: 1;
}

.image-overlay-media img,
.image-overlay-media picture {
  width: 100%;
  height: auto;
  display: block;
}

.image-overlay-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f0f0;
  color: #999;
}

.image-overlay-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  padding: var(--pad-y) var(--pad-x);
  pointer-events: none;
}

/* Vertical alignment */
.image-overlay-layer--top-left,
.image-overlay-layer--top-center,
.image-overlay-layer--top-right {
  align-items: flex-start;
}

.image-overlay-layer--center-left,
.image-overlay-layer--center-center,
.image-overlay-layer--center-right {
  align-items: center;
}

.image-overlay-layer--bottom-left,
.image-overlay-layer--bottom-center,
.image-overlay-layer--bottom-right {
  align-items: flex-end;
}

/* Horizontal alignment */
.image-overlay-layer--top-left,
.image-overlay-layer--center-left,
.image-overlay-layer--bottom-left {
  justify-content: flex-start;
}

.image-overlay-layer--top-center,
.image-overlay-layer--center-center,
.image-overlay-layer--bottom-center {
  justify-content: center;
}

.image-overlay-layer--top-right,
.image-overlay-layer--center-right,
.image-overlay-layer--bottom-right {
  justify-content: flex-end;
}

.image-overlay-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.image-overlay-background--solid {
  background-color: var(--overlay-color);
  opacity: var(--overlay-opacity);
}

.image-overlay-background--gradient {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, calc(var(--overlay-opacity) * 0.5)),
    rgba(0, 0, 0, var(--overlay-opacity))
  );
}

.image-overlay-content {
  position: relative;
  z-index: 2;
  max-width: var(--max-width);
  width: 100%;
  pointer-events: auto;
}

.image-overlay-content--left {
  text-align: left;
}

.image-overlay-content--center {
  text-align: center;
}

.image-overlay-content--right {
  text-align: right;
}

.image-overlay-heading {
  margin: 0 0 1rem 0;
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-color);
}

.image-overlay-text {
  margin: 0 0 1.5rem 0;
  color: var(--text-color);
  line-height: 1.6;
}

.image-overlay-text p {
  margin: 0;
}

.image-overlay-text p + p {
  margin-top: 1rem;
}

.image-overlay-cta {
  margin-top: 1.5rem;
}

.image-overlay-button {
  color: var(--text-color);
}

@media only screen and (max-width: 991px) {
  .image-overlay-heading {
    font-size: 1.75rem;
  }

  .image-overlay-text {
    font-size: 0.95rem;
  }
}

/* SH-501: Breadcrumbs */
.breadcrumbs {
  font-size: 0.875rem;
  padding: 1rem 0;
}

.breadcrumbs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb-sep {
  opacity: 0.6;
  margin: 0 0.5rem;
}

.breadcrumb-link {
  text-decoration: none;
  color: inherit;
}

.breadcrumb-link:hover {
  text-decoration: underline;
}

.breadcrumb-current {
  font-weight: 500;
}

/* SH-502: Size Chart Modal */
.size-chart-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.size-chart-modal[hidden] {
  display: none;
}

.size-chart-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}

.size-chart-dialog {
  position: relative;
  background-color: var(--color-base-background-1, #ffffff);
  border-radius: 0;
  max-width: 900px;
  max-height: 85vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  z-index: 1;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.size-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid var(--color-base-text, #000000);
}

.size-chart-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

.size-chart-close {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-base-text, #000000);
  transition: opacity 0.2s;
}

.size-chart-close:hover {
  opacity: 0.7;
}

.size-chart-close:focus {
  outline: 2px solid var(--color-base-text, #000000);
  outline-offset: 2px;
}

.size-chart-body {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}

.size-chart-image {
  width: 100%;
  height: auto;
  display: block;
}

.size-chart-selector {
  margin-bottom: 1rem;
}

.size-chart-selector .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--color-base-text, #000000);
}

.size-chart-selector .form-select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  border: 1px solid var(--color-base-text, #000000);
  border-radius: 0;
  background-color: var(--color-base-background-1, #ffffff);
  color: var(--color-base-text, #000000);
  cursor: pointer;
}

.size-chart-selector .form-select:focus {
  outline: 2px solid var(--color-base-text, #000000);
  outline-offset: 2px;
}

.size-chart-image-container {
  position: relative;
  min-height: 200px;
}

.size-chart-image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.size-chart-unavailable {
  text-align: center;
  padding: 2rem;
  color: var(--color-base-text, #000000);
  margin: 0;
}

.size-chart-trigger {
  background: none;
  border: none;
  padding: 0;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  display: inline;
}

.size-chart-trigger:hover {
  text-decoration: none;
}

.size-chart-trigger:focus {
  outline: 2px solid var(--color-base-text, #000000);
  outline-offset: 2px;
}

.size-chart-trigger:visited {
  color: inherit;
}

@media (max-width: 767px) {
  .size-chart-dialog {
    max-height: 90vh;
  }
  
  .size-chart-header {
    padding: 1rem;
  }
  
  .size-chart-body {
    padding: 1rem;
  }
}

/* SH-503: Newsletter Popup Styles */
.newsletter-popup {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.newsletter-popup[hidden] {
  display: none;
}

.newsletter-popup-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}

.newsletter-popup-dialog {
  position: relative;
  background-color: var(--color-base-background-1, #ffffff);
  border-radius: 0;
  max-width: 500px;
  width: 100%;
  display: flex;
  flex-direction: column;
  z-index: 1;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  max-height: 90vh;
  overflow-y: auto;
}

.newsletter-popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid var(--color-base-text, #000000);
}

.newsletter-popup-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

.newsletter-popup-close {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-base-text, #000000);
  transition: opacity 0.2s;
}

.newsletter-popup-close:hover {
  opacity: 0.7;
}

.newsletter-popup-close:focus {
  outline: 2px solid var(--color-base-text, #000000);
  outline-offset: 2px;
}

.newsletter-popup-body {
  padding: 1.5rem;
}

.newsletter-popup-description {
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--bs-body-color);
}

.newsletter-form-wrapper {
  width: 100%;
}

.newsletter-form-popup .newsletter-form-wrapper {
  max-width: 100%;
}

.newsletter-form-page .newsletter-form-wrapper {
  max-width: 600px;
}

/* Nascondi il blocco newsletter del footer nella pagina newsletter dedicata */
/* Soluzione più aggressiva: nascondi qualsiasi colonna che potrebbe contenere newsletter */
.page-newsletter section.shopify-section-group-g-footer [class*="col-"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer [class*="col-"]:has(.col.px-0:has(newsletter-form)),
.page-newsletter section.shopify-section-group-g-footer [class*="col-"]:has(.row.pb-3.mx-0:has(newsletter-form)) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Nascondi direttamente l'elemento newsletter-form */
.page-newsletter section.shopify-section-group-g-footer newsletter-form {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Nascondi il contenitore col.px-0 che contiene newsletter-form */
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Nascondi la riga row.pb-3.mx-0 che contiene newsletter-form */
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(.col.px-0:has(newsletter-form)),
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:empty {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Nascondi l'intera colonna che contiene newsletter-form - questo è il wrapper principale */
.page-newsletter section.shopify-section-group-g-footer [class*="col-"][class*="px-2"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer [class*="col-3"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer [class*="col-4"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer [class*="col-6"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer [class*="col-8"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer [class*="col-12"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .col-4.border-end:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .px-2.px-lg-3.pt-5.col-4.border-end:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .px-2.pt-5.col-4.border-end:has(newsletter-form) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Nascondi anche il titolo NEWSLETTER */
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) h1,
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) h2,
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) h3,
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) h4,
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) h5,
.page-newsletter section.shopify-section-group-g-footer .col.px-0:has(newsletter-form) h6,
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form) h1,
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form) h2,
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form) h3,
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form) h4,
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form) h5,
.page-newsletter section.shopify-section-group-g-footer .row.pb-3.mx-0:has(newsletter-form) h6 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
}

/* Centra e regola la larghezza del form newsletter nella pagina dedicata */
.page-newsletter .newsletter-page-section .newsletter-form-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

.page-newsletter .newsletter-page-section .newsletter-form-wrapper {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
}

/* NASCONDI COMPLETAMENTE LA COLONNA NEWSLETTER NELLA PAGINA NEWSLETTER DEDICATA */
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > [class*="col-"]:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > [class*="col-"]:has(.row.pb-3.mx-0:has(newsletter-form)),
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > [class*="col-"]:has(.col.px-0:has(newsletter-form)),
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-4:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-4.border-end:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .px-2.px-lg-3.pt-5.col-4.border-end:has(newsletter-form),
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .px-2.pt-5.col-4.border-end:has(newsletter-form) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  flex: 0 0 0 !important;
  flex-basis: 0 !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
}

/* Nascondi anche le righe vuote dentro quella colonna */
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > [class*="col-"]:has(newsletter-form) .row.pb-3.mx-0,
.page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > [class*="col-"]:has(newsletter-form) > .row.pb-3.mx-0 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
}

@media (min-width: 1200px) {
  .page-newsletter .newsletter-page-section .newsletter-form-container {
    justify-content: center;
  }
  
  .page-newsletter .newsletter-page-section .newsletter-form-wrapper {
    max-width: 600px;
  }
  
  /* Espandi le colonne rimanenti del footer a larghezza intera quando la newsletter è nascosta */
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  
  /* Le colonne visibili si espandono per occupare tutto lo spazio disponibile */
  /* Escludi quelle che contengono newsletter */
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > [class*="col-"]:not(:has(newsletter-form)):not(:has(.row.pb-3.mx-0:has(newsletter-form))) {
    flex: 1 1 0% !important;
    max-width: 100% !important;
    width: auto !important;
  }
  
  /* Specifica per ogni classe Bootstrap comune - solo quelle senza newsletter */
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-3:not(:has(newsletter-form)),
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-4:not(:has(newsletter-form)),
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-6:not(:has(newsletter-form)),
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-8:not(:has(newsletter-form)),
  .page-newsletter section.shopify-section-group-g-footer .row.mx-0.border-top > .col-12:not(:has(newsletter-form)) {
    flex: 1 1 0% !important;
    max-width: 100% !important;
    width: auto !important;
  }
}

@media (max-width: 767px) {
  .newsletter-popup-dialog {
    max-height: 95vh;
  }
  
  .newsletter-popup-header {
    padding: 1rem;
  }
  
  .newsletter-popup-body {
    padding: 1rem;
  }
  
  .newsletter-popup-title {
    font-size: 1.25rem;
  }
}

/* SH-736: PLP product title - ridotto, 1 riga max, responsive */
.plp-product-title {
  font-size: var(--th-fs-6);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 1200px) {
  .plp-product-title {
    font-size: var(--th-fs-5);
  }
}

/* SH-736: PDP titolo -2px */
.main-product .pdp-heading-title {
  font-size: calc(var(--th-fs-2) - 2px) !important;
}

/* SH-832: PDP variant hover – pointer cursor + black border */
.pdp-variant-list option-selector:hover,
.pdp-variant-list notify-me:hover {
  cursor: pointer;
  border-color: var(--bs-primary) !important;
}

/* SH-831: PDP variant buttons smaller on mobile, wrap to new lines */
@media only screen and (max-width: 991px) {
  .pdp-variant-list option-selector,
  .pdp-variant-list notify-me {
    height: var(--th-size-4) !important;
    min-width: var(--th-size-5) !important;
    width: auto !important;
    font-size: var(--th-fs-small) !important;
    padding: 0 6px;
  }
}
