/* Spaziotessile Store — visual refinado, minimalista */

:root {
  --st-bg: #fafafa;
  --st-surface: #fff;
  --st-text: #2a2a2a;
  --st-muted: #8a8a8a;
  --st-border: #ececec;
  --st-border-soft: #f3f3f3;
  --st-accent: #3d3d3d;
  --st-sale: #b8324a;
  --st-max: 1180px;
  --st-gutter: clamp(1.25rem, 4.5vw, 2.75rem);
  --st-container: min(var(--st-max), calc(100% - 2 * var(--st-gutter)));
  --st-font: "DM Sans", system-ui, -apple-system, sans-serif;
  --st-radius: 6px;
  --st-radius-btn: 6px;
  --st-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --st-announce-bg: #4a423b;
  /* Hover botões: taupe mais leggero (stessa famiglia della fascia, non nero) */
  --st-btn-hover-bg: #8f8880;
  /* Verde pagamento: um pouco mais escuro que WhatsApp (#25D366) */
  --st-money-green: #21b75a;
  --st-money-green-hover: #1da855;
  --st-duo-btn-bg: #8f8880;
  --st-section-pad-y: clamp(2.5rem, 5.5vw, 4.25rem);
  --st-section-head-gap: clamp(1.5rem, 3vw, 2.25rem);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  overflow-x: clip;
  overflow-y: auto;
  overscroll-behavior-x: none;
  width: 100%;
}

body {
  margin: 0;
  font-family: var(--st-font);
  font-weight: 300;
  font-size: 15px;
  color: var(--st-text);
  background: var(--st-bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  overflow-y: visible;
  overscroll-behavior-x: none;
  touch-action: pan-y pinch-zoom;
  max-width: 100%;
  width: 100%;
  position: relative;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s var(--st-ease);
}

a:hover {
  opacity: 0.72;
}

/* Botões: hover no tom marrom da fascia avvisi (#4a423b), sem escurecer para preto */
a.st-btn,
button.st-btn,
.st-btn,
.st-shop-filters__submit,
.st-header__search-btn,
.st-cookie-bar .st-btn,
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .st-cart-checkout,
.st-single-product__summary .single_add_to_cart_button,
.st-single-product__summary .button.alt,
a.st-product-card__atc {
  opacity: 1;
}

a.st-btn:hover,
button.st-btn:hover,
.st-btn:hover,
a.st-product-card__atc:hover,
button.st-product-card__atc:hover,
.st-shop-filters__submit:hover,
.st-header__search-btn:hover,
.st-cookie-bar .st-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .st-cart-checkout:hover,
.st-single-product__summary .single_add_to_cart_button:hover,
.st-single-product__summary .button.alt:hover {
  opacity: 1;
}

/* Botões — cantos levemente arredondados (site inteiro) */
a.st-btn,
button.st-btn,
.st-btn,
.st-shop-filters__submit,
.st-header__search-btn,
.st-cookie-bar .st-btn,
.st-product-card__atc,
.st-qty-stepper,
.st-variation-opt,
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .st-cart-checkout,
.st-single-product__summary .single_add_to_cart_button,
.st-single-product__summary .button.alt,
.st-buybox__purchase .single_add_to_cart_button,
.st-buybox__purchase .button.alt,
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce #place_order,
.st-carousel-nav__btn,
.st-newsletter__submit,
.st-shop-filters__chip {
  border-radius: var(--st-radius-btn);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Icone lineari — stile uniforme in tutto il sito */
.st-icon-svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

img.st-icon-svg,
.st-icon-svg--asset {
  width: 100%;
  height: 100%;
}

.st-icon-svg--asset {
  display: block;
  background-color: currentColor;
  -webkit-mask-image: var(--st-icon-mask);
  mask-image: var(--st-icon-mask);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

img.st-icon-svg {
  object-fit: contain;
}

.st-container {
  width: 100%;
  max-width: var(--st-max);
  margin-inline: auto;
  padding-left: max(var(--st-gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--st-gutter), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

/* Reforço: classes com padding vertical não podem zerar o gutter lateral */
.st-container.st-header__main,
.st-container.st-page,
.st-container.st-page-catalog {
  padding-left: max(var(--st-gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--st-gutter), env(safe-area-inset-right, 0px));
}

/* Margens laterais — padrão mobile em todo o site */
@media (max-width: 900px) {
  :root {
    --st-gutter: 1.5rem;
  }
}


/* —— Fascia avvisi (marquee) —— */
.st-announce {
  background: var(--st-announce-bg);
  color: #fff;
  overflow: hidden;
}

.st-announce__viewport {
  overflow: hidden;
  width: 100%;
}

.st-announce__track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  will-change: transform;
  animation: st-announce-scroll 38s linear infinite;
}

.st-announce:hover .st-announce__track {
  animation-play-state: paused;
}

.st-announce__item {
  display: inline-flex;
  align-items: center;
  gap: 2.75rem;
  padding: 0.55rem 0;
  padding-right: 2.75rem;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.st-announce__item::after {
  content: "•";
  opacity: 0.45;
}

@keyframes st-announce-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-announce__track {
    animation: none;
  }
}

/* —— Header + breadcrumb (sempre visibili in scroll) —— */
.st-site-chrome {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--st-surface);
  overflow: visible;
}

.st-header {
  background: var(--st-surface);
  border-bottom: 1px solid var(--st-border-soft);
  overflow: visible;
}

.st-site-chrome--with-breadcrumbs .st-header {
  border-bottom: none;
}

.st-header__top {
  border-bottom: 1px solid var(--st-border-soft);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.st-header__top-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
}

.st-social {
  display: flex;
  gap: 1rem;
}

.st-social a {
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.85;
}

.st-header__social {
  display: flex;
  gap: 1rem;
}

.st-header__social a {
  opacity: 0.55;
}

.st-header__main {
  display: flex;
  align-items: center;
  gap: 2rem;
  /* só vertical — não usar padding shorthand (zera o gutter de .st-container) */
  padding-block: 1.1rem;
}

/* Homepage — header più prominente (spazio recuperato dalla top bar) */
.home .st-header__main {
  padding-block: 1.35rem;
}

.home .st-logo__img {
  height: 48px;
  max-width: min(248px, 56vw);
}

.home .st-header .st-logo__img {
  height: 48px;
  max-width: min(248px, 56vw);
}

.home .st-nav__list {
  font-size: 0.8125rem;
  gap: 0.25rem 2rem;
}

.home .st-header__action,
.home .st-header__search-toggle {
  width: 2.4rem;
  height: 2.4rem;
}

.home .st-header__action svg,
.home .st-header__action .st-icon-svg,
.home .st-header__action--cart svg {
  width: 1.25rem;
  height: 1.25rem;
}

.home .st-header__action .st-icon-svg--social {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
  stroke: none;
}

.home .st-header__action--whatsapp .st-icon-svg--social {
  width: 1.05rem;
  height: 1.05rem;
}

.home .st-header__cart-bubble {
  width: 1.25rem;
  height: 1.25rem;
}

.home .st-nav-sections__list {
  font-size: 0.7rem;
  padding: 0.75rem 0;
}

.st-logo {
  display: block;
  flex-shrink: 0;
}

.st-logo__img {
  display: block;
  height: 40px;
  width: auto;
  max-width: min(207px, 52vw);
  object-fit: contain;
  object-position: left center;
}

/* WC layout: .woocommerce-page img { max-width:100% } — header escluso */
.st-header .st-logo__img {
  height: 40px;
  width: auto;
  max-width: min(207px, 52vw);
  object-fit: contain;
}

.home .st-header .st-logo__img {
  height: 48px;
  max-width: min(248px, 56vw);
}

.st-nav {
  flex: 1;
}

.st-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.st-nav__list a {
  opacity: 0.85;
}

.st-header__actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: auto;
  flex-shrink: 0;
}

.st-header__search {
  display: flex;
  align-items: center;
}

.st-header__action,
.st-header__search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: none;
  background: none;
  color: var(--st-text);
  opacity: 0.72;
  cursor: pointer;
  line-height: 0;
  transition: opacity 0.2s var(--st-ease);
}

.st-header__action:hover {
  opacity: 1;
}

.st-header__action svg,
.st-header__action .st-icon-svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.st-header__action--cart {
  position: relative;
  opacity: 1;
}

.st-header__cart-bubble {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  height: 1.125rem;
  line-height: 0;
}

.st-header__action--cart svg {
  width: 1.125rem;
  height: 1.125rem;
}

.st-cart-count {
  position: absolute;
  top: 0.2rem;
  right: 0.15rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.2rem;
  font-size: 0.5625rem;
  font-weight: 500;
  line-height: 1rem;
  text-align: center;
  letter-spacing: 0;
  color: #fff;
  background: var(--st-text);
  border-radius: 999px;
}

.st-cart-count.is-empty {
  display: none;
}

/* —— Hero (visual only) —— */
.st-hero {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  min-height: min(96vh, 853px);
  overflow: hidden;
  background: #1a1a1a;
}

.st-hero__track {
  position: absolute;
  inset: 0;
}

.st-hero--visual {
  margin-bottom: 0;
}

.st-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.1s var(--st-ease);
  pointer-events: none;
}

.st-hero__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.st-hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.st-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.06);
  transition: transform 9s var(--st-ease);
}

.st-hero__slide.is-active .st-hero__img {
  transform: scale(1);
}

.st-hero__link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.st-hero__link:hover {
  opacity: 1;
}

.st-hero__ui {
  position: absolute;
  z-index: 4;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.65rem;
  pointer-events: none;
}

.st-hero__arrow {
  pointer-events: auto;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 50%;
  background: rgb(255 255 255 / 0.75);
  backdrop-filter: blur(8px);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--st-text);
  opacity: 0.85;
  transition: opacity 0.25s var(--st-ease), background 0.25s var(--st-ease);
}

.st-hero__arrow:hover {
  opacity: 1;
  background: rgb(255 255 255 / 0.95);
}

.st-hero__arrow svg {
  width: 0.875rem;
  height: 0.875rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5;
}

.st-hero__dots {
  display: flex;
  gap: 0.4rem;
  pointer-events: auto;
}

.st-hero__dot {
  width: 28px;
  height: 2px;
  border-radius: 1px;
  border: none;
  background: rgb(255 255 255 / 0.45);
  cursor: pointer;
  padding: 0;
  transition: background 0.3s var(--st-ease), width 0.3s var(--st-ease);
}

.st-hero__dot.is-active {
  background: #fff;
  width: 40px;
}

.st-hero__progress {
  display: none;
}

.st-hero__progress span {
  display: block;
  height: 100%;
  width: 0;
  background: #fff;
  transition: width 0.1s linear;
}

/* —— Buttons —— */
.st-btn {
  display: inline-block;
  padding: 0.7rem 1.65rem;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: 1px solid var(--st-text);
  background: #fff;
  color: var(--st-text);
  cursor: pointer;
  border-radius: var(--st-radius-btn);
  transition:
    background 0.25s var(--st-ease),
    color 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.st-btn:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

.st-btn--dark,
.st-btn--outline {
  background: #fff;
  color: var(--st-text);
  border-color: var(--st-text);
}

.st-btn--dark:hover,
.st-btn--outline:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

/* Duo banner: botão sólido taupe (exceção) */
.st-duo-banner .st-btn {
  background: var(--st-duo-btn-bg);
  color: #fff;
  border-color: var(--st-duo-btn-bg);
}

.st-duo-banner .st-btn:hover {
  background: var(--st-duo-btn-bg);
  color: #fff;
  border-color: var(--st-duo-btn-bg);
  opacity: 1;
}

.st-btn--light {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.st-btn--light:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

.st-btn--ghost {
  background: transparent;
  color: var(--st-text);
  border-color: var(--st-border);
}

.st-btn--ghost:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

.st-btn--sm {
  padding: 0.55rem 1.15rem;
  font-size: 0.625rem;
}

/* —— Duo banners —— */
.st-duo-banners {
  padding: 0;
  background: var(--st-surface);
}

.st-duo-banners__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
  background: transparent;
}

.st-inspiration-banners {
  padding: var(--st-section-pad-y) 0;
  background: var(--st-surface);
}

.st-inspiration-banners__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

@media (min-width: 901px) {
  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(5)) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(5)) .st-duo-banner:nth-child(1) {
    grid-column: 1 / 3;
  }

  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(5)) .st-duo-banner:nth-child(2) {
    grid-column: 3 / 5;
  }

  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(5)) .st-duo-banner:nth-child(3) {
    grid-column: 5 / 7;
  }

  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(5)) .st-duo-banner:nth-child(4) {
    grid-column: 2 / 4;
  }

  .st-inspiration-banners__grid:has(.st-duo-banner:nth-child(5)) .st-duo-banner:nth-child(5) {
    grid-column: 4 / 6;
  }

}

.st-duo-banner {
  position: relative;
  min-height: 360px;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: #d4ccc4;
  background-size: cover;
  background-position: center;
  color: #fff;
  overflow: hidden;
}

.st-duo-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, rgb(0 0 0 / 0.45) 100%);
  pointer-events: none;
}

.st-duo-banner > * {
  position: relative;
  z-index: 1;
}

.st-duo-banner--alt {
  background-color: #b8c4bc;
}

.st-duo-banner__label {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.92;
}

.st-duo-banner__title {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 300;
  line-height: 1.35;
  margin: 0.5rem 0 1.25rem;
  max-width: 14rem;
  min-height: calc(2 * 1.35em);
}

/* —— Sections —— */
.st-section {
  padding: var(--st-section-pad-y) 0;
  background: var(--st-surface);
  overflow-x: clip;
  max-width: 100%;
}

.st-section:nth-child(even) {
  background: var(--st-bg);
}

.st-section__head {
  margin-bottom: var(--st-section-head-gap);
}

.st-section__head--split {
  display: block;
}

.st-section__head-main {
  width: 100%;
}

.st-section__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.st-section__title-row .st-carousel-nav {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: -0.38em;
}

.st-section__title-row .st-section__title {
  margin: 0;
  flex: 1;
  min-width: 0;
}

.st-section__head-main .st-section__sub {
  margin-top: 0.5rem;
}

.st-section__head--split .st-carousel-nav {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: -0.38em;
}

.st-section__head--center {
  text-align: center;
}

.st-section__title {
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
  color: var(--st-text);
}

.st-front-page .st-section__title {
  font-size: clamp(1.1rem, 2.2vw, 1.21875rem);
  letter-spacing: 0.18em;
  line-height: 1.2;
}

.st-section__sub {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 300;
  color: var(--st-muted);
  max-width: 36rem;
  line-height: 1.65;
}

.st-section__cta-wrap {
  text-align: center;
  margin-top: 2.5rem;
}

/* —— Carousel —— */
.st-carousel {
  overflow-x: clip;
  max-width: 100%;
}

.st-carousel-nav__btn {
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: transparent;
  color: var(--st-muted);
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 300;
  line-height: 1;
  transition: border-color 0.2s var(--st-ease), color 0.2s var(--st-ease);
}

.st-carousel-nav__btn:hover {
  border-color: var(--st-text);
  color: var(--st-text);
  opacity: 1;
}

.st-carousel__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 0.25rem 0 1rem;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
}

.st-carousel__track::-webkit-scrollbar {
  display: none;
}

/* —— Product card (delicato) —— */
.st-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 0 0 min(260px, 82vw);
  scroll-snap-align: start;
}

.st-product-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  background: #f5f5f5;
  overflow: hidden;
  margin-bottom: 1rem;
}

.st-product-card__media:hover {
  opacity: 1;
}

.st-product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--st-ease);
}

.st-product-card__media:hover .st-product-card__img {
  transform: scale(1.03);
}

.st-product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 0 0.15rem;
  gap: 0;
  min-height: 6.5rem;
}

.st-product-card__title {
  font-size: 0.875rem;
  font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 1.45;
  margin: 0 0 0.5rem;
  color: var(--st-text);
  text-transform: none;
  min-height: calc(2 * 1.45em);
}

.st-product-card__title a {
  color: inherit;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(2 * 1.45em);
}

.st-product-card__title a:hover {
  opacity: 0.72;
}

.st-product-card__price {
  font-size: 0.9375rem;
  font-weight: 300;
  color: var(--st-text);
  margin: 0;
  min-height: calc(2 * 1.4em);
  line-height: 1.4;
}

.st-product-card__price .amount {
  font-weight: 400;
}

.st-product-card__price del {
  color: #b0b0b0;
  font-weight: 300;
  margin-right: 0.35rem;
}

.st-product-card__price ins {
  text-decoration: none;
  color: var(--st-text);
  font-weight: 500;
}

.st-price--pending {
  font-size: 0.75rem;
  font-weight: 300;
  color: var(--st-muted);
  font-style: italic;
}

.st-product-card__atc {
  display: block;
  width: 100%;
  margin-top: 1.35rem;
  padding: 0.7rem 1rem;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
  cursor: pointer;
}

.st-product-card__atc.loading {
  opacity: 0.65;
  pointer-events: none;
}

.st-product-card__atc.is-added {
  background: var(--st-money-green);
  border-color: var(--st-money-green);
  color: #fff;
}

.st-btn--cart {
  background: #fff;
  color: var(--st-text);
  border-color: var(--st-text);
}

.st-btn--cart:hover {
  background: var(--st-btn-hover-bg);
  border-color: var(--st-btn-hover-bg);
  color: #fff;
}

.st-btn--outline.st-btn--cart {
  background: #fff;
  color: var(--st-text);
  border-color: var(--st-text);
}

.st-btn--outline.st-btn--cart:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

/* Checkout primário: verde sólido (carrello + pagamento) */
.st-btn--checkout,
.woocommerce-cart .wc-proceed-to-checkout .st-cart-checkout,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce #place_order {
  background: var(--st-money-green);
  color: #fff;
  border-color: var(--st-money-green);
  opacity: 1;
}

.st-btn--checkout:hover,
.woocommerce-cart .wc-proceed-to-checkout .st-cart-checkout:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .woocommerce #place_order:hover {
  background: var(--st-money-green-hover);
  border-color: var(--st-money-green-hover);
  color: #fff;
  opacity: 1;
}

/* Card prodotti: hover taupe (#8f8880), mai nero */
.st-product-card .st-product-card__atc:hover,
.st-product-card a.st-product-card__atc:hover,
.st-product-card .st-product-card__atc.button:hover,
.st-product-card button.st-product-card__atc:hover,
.woocommerce .st-product-card .button.st-product-card__atc:hover,
.woocommerce .st-product-card a.button.st-product-card__atc:hover {
  background-color: var(--st-btn-hover-bg) !important;
  border-color: var(--st-btn-hover-bg) !important;
  color: #fff !important;
  opacity: 1 !important;
}

.st-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  font-size: 0.5625rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.35rem 0.5rem;
  background: rgb(255 255 255 / 0.92);
  color: var(--st-sale);
  border: 1px solid rgb(184 50 74 / 0.35);
}

/* —— Category tiles —— */
.st-cat-tile {
  flex: 0 0 180px;
  aspect-ratio: 3 / 4;
  background:
    linear-gradient(180deg, transparent 50%, rgb(0 0 0 / 0.4) 100%),
    #d8d4d0 center/cover;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.15rem;
  color: #fff;
  scroll-snap-align: start;
}

.st-cat-tile__label {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.45;
}

.st-cat-tile__arrow {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  font-weight: 300;
  opacity: 0.85;
}

/* —— Tabs —— */
.st-tabs__nav {
  display: flex;
  gap: 2rem;
  border-bottom: 1px solid var(--st-border);
  margin-bottom: 2rem;
}

.st-tabs__btn {
  background: none;
  border: none;
  padding: 0.65rem 0;
  font-family: var(--st-font);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-muted);
  cursor: pointer;
  border-bottom: 1px solid transparent;
  margin-bottom: -1px;
  transition: color 0.2s var(--st-ease), border-color 0.2s var(--st-ease);
}

.st-tabs__btn.is-active {
  color: var(--st-text);
  border-bottom-color: var(--st-text);
}

.st-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 2rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.st-product-grid__item {
  list-style: none;
}

.st-product-grid .st-product-card {
  flex: none;
}

.st-product-grid .st-product-card__media {
  aspect-ratio: 1;
}

/* —— Griglia 4 prodotti (stile vetrina) —— */
.st-product-row--grid {
  padding-top: clamp(2rem, 4vw, 3rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.st-product-grid--editorial {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.75rem);
}

.st-product-card--grid .st-product-card__media {
  aspect-ratio: 1 / 1;
  background: #ececec;
  margin-bottom: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.st-product-card--grid .st-product-card__img--contain {
  width: 88%;
  height: 88%;
  object-fit: contain;
  object-position: center center;
}

.st-product-card--grid .st-product-card__media:hover .st-product-card__img--contain {
  transform: none;
}

.st-product-card--grid .st-product-card__title {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.st-product-card--grid .st-product-card__price {
  font-size: 0.8125rem;
  font-weight: 400;
  margin: 0;
}

@media (max-width: 1024px) {
  .st-product-grid--editorial {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .st-product-grid--editorial {
    grid-template-columns: 1fr;
  }
}

/* —— Zona editorial (da Nuovi Arrivi in giù, stile Fazzini) —— */
.st-home-editorial {
  --st-editorial-surface: #fff;
  --st-editorial-tile: #ececec;
  overflow-x: clip;
  max-width: 100%;
}

.st-home-editorial .st-section {
  padding: var(--st-section-pad-y) 0;
  background: var(--st-editorial-surface);
}

.st-home-editorial .st-section:nth-child(even) {
  background: var(--st-editorial-surface);
}

.st-home-editorial .st-duo-banners {
  padding: var(--st-section-pad-y) 0;
}

.st-home-editorial .st-duo-banners__grid,
.st-home-editorial .st-inspiration-banners__grid {
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

.st-product-row--fazzini {
  width: 100%;
  max-width: 100%;
}

.st-product-row--fazzini__intro {
  margin-bottom: var(--st-section-head-gap);
}

.st-product-row--fazzini__head {
  display: flex;
  justify-content: center;
}

.st-product-row--fazzini__nav-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  max-width: 100%;
}

.st-product-row--fazzini__title-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.65rem, 2vw, 1.1rem);
  max-width: 100%;
}

.st-product-row--fazzini__title-row .st-section__title {
  margin: 0;
  line-height: 1;
}

.st-product-row--fazzini__title-row .st-fazzini-gallery__btn {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: -0.4em;
  flex-shrink: 0;
}

.st-home-editorial .st-product-row--fazzini__title-row .st-fazzini-gallery__btn {
  margin-top: -0.48em;
}

.st-product-row--fazzini__title-row .st-fazzini-gallery__icon {
  width: 1.2rem;
  height: 1.2rem;
}

.st-product-row--fazzini__titles {
  min-width: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.st-product-row--fazzini__titles .st-section__title {
  margin: 0;
  line-height: 1.1;
}

.st-product-row--fazzini__titles .st-section__sub {
  margin: 0.35rem 0 0;
  line-height: 1.35;
}

.st-product-row--fazzini__nav-group .st-section__sub {
  margin: 0;
  text-align: center;
}

.st-fazzini-gallery__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 2.35rem;
  height: 2.35rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--st-text);
  cursor: pointer;
  line-height: 0;
  transition: color 0.2s var(--st-ease), opacity 0.2s var(--st-ease);
}

.st-fazzini-gallery__icon {
  display: block;
  width: 1.55rem;
  height: 1.55rem;
}

.st-fazzini-gallery__btn:hover {
  color: var(--st-text-muted, #666);
  opacity: 0.85;
}

.st-home-editorial .st-product-row--fazzini .st-section__title {
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  letter-spacing: 0.14em;
}

.st-home-editorial .st-product-row--fazzini .st-section__sub {
  font-size: clamp(0.9375rem, 1.6vw, 1.0625rem);
}

.st-home-editorial .st-product-card--fazzini .st-product-card__title {
  font-size: 0.75rem;
  min-height: calc(2 * 1.35em);
}

.st-home-editorial .st-product-card--fazzini .st-product-card__title a {
  min-height: calc(2 * 1.35em);
}

.st-home-editorial .st-product-card--fazzini .st-product-card__price {
  font-size: 0.875rem;
}

.st-section__sub--center {
  text-align: center;
  margin-inline: auto;
}

.st-fazzini-gallery {
  width: 100%;
  max-width: 100%;
  background: #fff;
  overflow-x: clip;
}

.st-fazzini-gallery--scroll {
  overflow-x: clip;
}

.st-fazzini-gallery__track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: #fff;
}

.st-fazzini-gallery--scroll .st-fazzini-gallery__track {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--st-gutter);
  padding-inline: var(--st-gutter);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y pinch-zoom;
}

.st-fazzini-gallery[data-fazzini-autoscroll] .st-fazzini-gallery__track {
  scroll-snap-type: none;
}

.st-fazzini-gallery--scroll .st-fazzini-gallery__track::-webkit-scrollbar {
  display: none;
}

.st-product-card--fazzini {
  min-width: 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.st-fazzini-gallery--scroll .st-product-card--fazzini {
  flex: 0 0 22%;
  max-width: 22%;
  scroll-snap-align: start;
}

.st-product-row--fazzini__cta {
  display: flex;
  justify-content: center;
  padding: clamp(1.35rem, 3vw, 2rem) 0 clamp(0.35rem, 1.5vw, 0.75rem);
}

.st-product-row--fazzini__cta .st-btn {
  min-width: min(100%, 16rem);
  justify-content: center;
  text-align: center;
}

.st-product-card--fazzini .st-product-card__media {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
  display: block;
  overflow: hidden;
  background: #f4f4f4;
  isolation: isolate;
}

/* Quadrante 1:1 — ::before garante altura mesmo com img absolute */
.st-product-card--fazzini .st-product-card__media::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.st-product-card--fazzini .st-product-card__media > img,
.st-product-card--fazzini .st-product-card__img--contain {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center;
  display: block;
}

.st-product-card--fazzini .st-product-card__media:hover .st-product-card__img--contain {
  transform: none;
}

.st-product-card--fazzini .st-product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: clamp(0.85rem, 1.5vw, 1.15rem) clamp(0.75rem, 2vw, 1.25rem) clamp(1rem, 2vw, 1.35rem);
  background: #fff;
  min-height: 7.5rem;
}

.st-product-card--fazzini .st-product-card__title {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 0.35rem;
  line-height: 1.35;
  min-height: calc(2 * 1.35em);
}

.st-product-card--fazzini .st-product-card__title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  min-height: calc(2 * 1.35em);
}

.st-product-card--fazzini .st-product-card__price {
  font-size: 0.8125rem;
  font-weight: 400;
  margin: 0.35rem 0 0;
  min-height: calc(2 * 1.35em);
}

.st-product-card--fazzini .st-product-card__atc {
  margin-top: 1.35rem;
}

.st-home-editorial .st-section__head {
  text-align: center;
  margin-bottom: var(--st-section-head-gap);
}

.st-home-editorial .st-section__title {
  margin-bottom: 0.5rem;
}

.st-home-editorial .st-section__sub {
  margin: 0.5rem auto 0;
  font-size: 0.875rem;
}

@media (max-width: 1024px) {
  .st-fazzini-gallery__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .st-fazzini-gallery--scroll .st-product-card--fazzini {
    flex: 0 0 calc(50% - 0.375rem);
    max-width: calc(50% - 0.375rem);
  }
}

@media (max-width: 520px) {
  .st-fazzini-gallery__track {
    grid-template-columns: 1fr;
  }

  .st-fazzini-gallery--scroll .st-product-card--fazzini {
    flex: 0 0 min(280px, 78vw);
    max-width: min(280px, 78vw);
  }

  .st-product-card--fazzini .st-product-card__atc {
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    padding: 0.65rem 0.5rem;
  }
}

/* —— Shop archive —— */
.st-shop-header {
  margin-inline: calc(-1 * var(--st-gutter));
  width: calc(100% + 2 * var(--st-gutter));
  max-width: none;
  padding: clamp(2rem, 5vw, 3rem) 0 1.5rem;
  text-align: center;
  background: var(--st-surface);
  border-bottom: 1px solid var(--st-border-soft);
}

.st-shop-header__inner {
  padding-left: max(var(--st-gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--st-gutter), env(safe-area-inset-right, 0px));
}

.st-shop-header__title {
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin: 0;
}

.st-shop-main {
  padding-bottom: clamp(2.5rem, 6vw, 4rem);
  background: var(--st-bg);
  overflow-x: clip;
  max-width: 100%;
}

.st-shop-main__inner {
  padding-top: clamp(1.25rem, 3vw, 2rem);
  padding-bottom: 0;
  min-width: 0;
}

.woocommerce-breadcrumb {
  display: none;
}

/* —— Breadcrumbs —— */
.st-breadcrumbs {
  background: var(--st-surface);
  border-bottom: 1px solid var(--st-border-soft);
  padding: 0.55rem 0 0.65rem;
}

.st-breadcrumbs__list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
  line-height: 1.4;
  overflow: hidden;
  max-width: 100%;
}

.st-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
  color: var(--st-muted);
}

.st-breadcrumbs__item:last-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.st-breadcrumbs__item + .st-breadcrumbs__item::before {
  content: "/";
  margin: 0 0.5rem;
  color: var(--st-muted);
  opacity: 0.55;
  pointer-events: none;
  flex: 0 0 auto;
}

.st-breadcrumbs__link {
  color: var(--st-muted);
  text-decoration: none;
  transition: color 0.2s var(--st-ease);
  white-space: nowrap;
}

.st-breadcrumbs__link:hover {
  color: var(--st-text);
  opacity: 1;
}

.st-breadcrumbs__current {
  display: block;
  color: var(--st-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.st-shop-archive {
  padding-top: 0.25rem;
}

.st-shop-archive .woocommerce-result-count,
.st-shop-archive .woocommerce-ordering,
.woocommerce-result-count,
.woocommerce-ordering {
  font-size: 0.8125rem;
  font-weight: 300;
  color: var(--st-muted);
  margin-bottom: 1.5rem;
}

.st-shop-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--st-border-soft);
}

.st-shop-toolbar .woocommerce-result-count,
.st-shop-toolbar .woocommerce-ordering {
  margin-bottom: 0;
}

/* —— Filtri e ricerca catalogo —— */
.st-shop-filters {
  margin-bottom: 1.75rem;
  padding: 1.25rem 1.35rem;
  background: var(--st-surface);
  border: 1px solid var(--st-border-soft);
  border-radius: 4px;
}

.st-shop-filters__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.st-shop-filters__search {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.st-shop-filters__input {
  flex: 1;
  min-width: min(100%, 14rem);
  padding: 0.65rem 0.85rem;
  font-family: var(--st-font);
  font-size: 0.875rem;
  font-weight: 300;
  border: 1px solid var(--st-border);
  background: var(--st-bg);
  border-radius: var(--st-radius-btn);
}

.st-shop-filters__input:focus {
  outline: 2px solid rgb(42 42 42 / 12%);
  outline-offset: 1px;
}

.st-shop-filters__submit {
  padding: 0.65rem 1.25rem;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid var(--st-text);
  background: #fff;
  color: var(--st-text);
  cursor: pointer;
  transition:
    background 0.25s var(--st-ease),
    color 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.st-shop-filters__submit:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

.st-shop-filters__attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

.st-shop-filters__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 9rem;
}

.st-shop-filters__label {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.st-shop-filters__select {
  min-width: 9rem;
}

/* —— Select refinado (substitui combo nativo) —— */
.st-select {
  position: relative;
  display: inline-block;
  min-width: min(100%, 15rem);
}

.st-shop-filters__field .st-select {
  width: 100%;
}

.woocommerce-ordering .st-select {
  min-width: clamp(12rem, 22vw, 18rem);
}

.st-select__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.st-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
  color: var(--st-text);
  background: #fff;
  border: 1px solid var(--st-text);
  border-radius: var(--st-radius-btn);
  cursor: pointer;
  transition:
    background 0.25s var(--st-ease),
    color 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.st-select__trigger:hover,
.st-select.is-open .st-select__trigger {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

.st-select__value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.st-select__chevron {
  flex-shrink: 0;
  font-size: 0.7rem;
  line-height: 1;
  opacity: 0.85;
  transition: transform 0.2s var(--st-ease);
}

.st-select.is-open .st-select__chevron {
  transform: rotate(180deg);
}

.st-select__menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 60;
  margin: 0;
  padding: 0.4rem 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--st-border);
  box-shadow: 0 10px 28px rgb(0 0 0 / 7%);
  max-height: 16rem;
  overflow-y: auto;
}

.st-select__option {
  padding: 0.65rem 0.9rem;
  font-size: 0.75rem;
  font-weight: 300;
  letter-spacing: 0.03em;
  color: var(--st-text);
  cursor: pointer;
  transition:
    background 0.18s var(--st-ease),
    color 0.18s var(--st-ease);
}

.st-select__option:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
}

.st-select__option.is-selected {
  font-weight: 400;
  padding-left: calc(0.9rem - 2px);
  border-left: 2px solid var(--st-btn-hover-bg);
  background: var(--st-bg);
}

.st-shop-filters__extras {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  font-size: 0.8125rem;
}

.st-shop-filters__check {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  cursor: pointer;
  color: var(--st-muted);
}

.st-shop-filters__reset {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--st-text);
}

.st-shop-filters__reset:hover {
  opacity: 1;
}

/* Header — ricerca prodotti */
.st-header__search {
  position: relative;
}

.st-header__search-panel {
  position: absolute;
  top: calc(100% + 0.65rem);
  right: 0;
  width: min(22rem, calc(100vw - 2 * var(--st-gutter)));
  padding: 0.85rem;
  background: var(--st-surface);
  border: 1px solid var(--st-border);
  box-shadow: 0 12px 40px rgb(0 0 0 / 8%);
  z-index: 120;
}

.st-header__search-panel[hidden] {
  display: none;
}

.st-header__search-form {
  display: flex;
  gap: 0.5rem;
}

.st-header__search-input {
  flex: 1;
  min-width: 0;
  padding: 0.55rem 0.75rem;
  font-family: var(--st-font);
  font-size: 0.8125rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius-btn);
}

.st-header__search-btn {
  padding: 0.55rem 0.85rem;
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid var(--st-text);
  background: #fff;
  color: var(--st-text);
  cursor: pointer;
  white-space: nowrap;
  transition:
    background 0.25s var(--st-ease),
    color 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.st-header__search-btn:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

/* —— Paginazione Woo —— */
.woocommerce-pagination {
  display: none !important;
}

.st-catalog-infinite {
  margin-top: 2rem;
  min-height: 1px;
}

.st-catalog-infinite__status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.25rem 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  color: var(--st-muted);
}

.st-catalog-infinite__status[hidden] {
  display: none;
}

.st-catalog-infinite__spinner {
  width: 1.1rem;
  height: 1.1rem;
  border: 1px solid var(--st-border);
  border-top-color: var(--st-btn-hover-bg);
  border-radius: 50%;
  animation: st-catalog-spin 0.75s linear infinite;
}

@keyframes st-catalog-spin {
  to {
    transform: rotate(360deg);
  }
}

.woocommerce ul.products.is-loading-more {
  opacity: 0.98;
}

.woocommerce-pagination .page-numbers,
.woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination ul.page-numbers li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination .page-numbers li::before,
.woocommerce-pagination .page-numbers li::marker {
  content: none;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers,
.woocommerce-pagination ul.page-numbers a,
.woocommerce-pagination ul.page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.35rem;
  height: 2.35rem;
  padding: 0 0.55rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1;
  border: 1px solid var(--st-border);
  background: var(--st-surface);
  color: var(--st-text);
}

.woocommerce-pagination a.page-numbers:hover,
.woocommerce-pagination ul.page-numbers a:hover {
  opacity: 1;
  border-color: var(--st-text);
}

.woocommerce-pagination span.page-numbers.current,
.woocommerce-pagination ul.page-numbers span.current {
  border-color: var(--st-text);
  background: #fff;
  color: var(--st-text);
  font-weight: 500;
}

.woocommerce-pagination .next.page-numbers,
.woocommerce-pagination .prev.page-numbers {
  letter-spacing: 0.02em;
}

.woocommerce-ordering {
  margin-left: auto;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 2rem 1.5rem !important;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  display: flex;
}

.woocommerce ul.products li.product .st-product-card {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  scroll-snap-align: unset;
}

.woocommerce ul.products li.product a img {
  margin-bottom: 1rem;
  border-radius: 0;
  background: #f5f5f5;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.875rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.03em;
  line-height: 1.45 !important;
  padding: 0 !important;
  text-transform: none !important;
  color: var(--st-text);
}

.woocommerce ul.products li.product .price {
  font-size: 0.9375rem !important;
  font-weight: 300 !important;
  color: var(--st-muted) !important;
}

.woocommerce ul.products li.product .price del {
  font-weight: 300 !important;
  opacity: 0.7;
}

.woocommerce ul.products li.product .price ins {
  font-weight: 400 !important;
  color: var(--st-text) !important;
}

.woocommerce ul.products li.product .button:not(.st-product-card__atc) {
  display: none;
}

.woocommerce span.onsale {
  font-size: 0.5625rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.35rem 0.5rem;
  min-height: auto;
  line-height: 1.2;
  border-radius: var(--st-radius-btn);
  background: #fff;
  color: var(--st-sale);
  border: 1px solid rgb(184 50 74 / 0.35);
}

/* —— Single product —— */
.st-single-product {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding: 0 0 clamp(2.5rem, 6vw, 4rem);
  overflow-x: clip;
}

.st-single-product__top {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: start;
  margin-bottom: 3rem;
  min-width: 0;
}

.st-single-product__gallery .woocommerce-product-gallery,
.st-single-product__gallery .st-product-gallery {
  width: 100% !important;
  background: #f5f5f5;
  position: relative;
  opacity: 1 !important;
}

.st-product-gallery__stage {
  width: 100%;
  background: #f5f5f5;
}

.st-product-gallery__stage .woocommerce-product-gallery__image {
  margin: 0;
}

.st-product-gallery__stage .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
}

.st-product-gallery__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.st-product-gallery__thumbs li {
  margin: 0;
  list-style: none;
}

.st-product-gallery__thumb {
  display: block;
  width: 4.5rem;
  padding: 0;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  line-height: 0;
}

.st-product-gallery__thumb img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0.55;
  transition: opacity 0.2s var(--st-ease), border-color 0.2s var(--st-ease);
}

.st-product-gallery__thumb.is-active,
.st-product-gallery__thumb:hover {
  border-color: var(--st-text);
}

.st-product-gallery__thumb.is-active img,
.st-product-gallery__thumb:hover img {
  opacity: 1;
}

.st-product-gallery__data {
  display: none !important;
}

.st-single-product__gallery .woocommerce-product-gallery__image a {
  cursor: default;
  display: block;
}

/* Mobile — tap apre lightbox (Amazon-style), niente zoom inline */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  .st-single-product__gallery .woocommerce-product-gallery__image a {
    cursor: zoom-in;
  }
}

.st-single-product__summary {
  padding-top: 0.25rem;
}

.st-single-product__summary .product_title {
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-transform: none;
  margin: 0 0 0.85rem;
  overflow-wrap: anywhere;
}

.st-single-product__summary .price {
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  color: var(--st-text) !important;
  margin-bottom: 1.25rem !important;
}

.st-single-product__summary .woocommerce-product-details__short-description {
  font-size: 0.875rem;
  font-weight: 300;
  color: var(--st-muted);
  line-height: 1.7;
  margin-bottom: 1.25rem;
}

.st-product-attrs {
  margin-bottom: 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid var(--st-border-soft);
  border-bottom: 1px solid var(--st-border-soft);
}

.st-product-attrs__title {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 0.75rem;
  color: var(--st-muted);
}

.st-product-attrs__list {
  margin: 0;
  display: grid;
  gap: 0.45rem;
}

.st-product-attrs__row {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.st-product-attrs__row dt {
  margin: 0;
  font-weight: 400;
  color: var(--st-muted);
}

.st-product-attrs__row dd {
  margin: 0;
  color: var(--st-text);
}

.st-single-product__summary form.cart {
  margin: 0;
}

.st-buybox__purchase {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--st-border-soft);
}

.st-buybox__purchase form.cart {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin: 0;
}

.st-buybox__purchase .single_variation_wrap {
  display: none;
}

.st-buybox__purchase .woocommerce-variation.single_variation:empty {
  display: none;
  margin: 0;
  padding: 0;
  min-height: 0;
}

.st-buybox__purchase .woocommerce-variation-price,
.st-buybox__purchase .woocommerce-variation-description,
.st-buybox__purchase .woocommerce-variation-availability {
  display: none !important;
}

.st-buybox__purchase .woocommerce-variation-add-to-cart {
  margin-top: 0;
}

.st-buybox__cart-row {
  display: flex;
  align-items: stretch;
  gap: 0.65rem;
  width: 100%;
}

.st-buybox__cart-row .quantity {
  margin: 0 !important;
  flex: 0 0 auto;
  align-self: stretch;
}

.st-buybox__purchase .quantity {
  margin: 0 !important;
  align-self: flex-start;
}

.st-qty-stepper {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--st-border);
  background: #fff;
  border-radius: var(--st-radius-btn);
  overflow: hidden;
}

.st-qty-stepper__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  padding: 0;
  font-family: var(--st-font);
  font-size: 1.125rem;
  line-height: 1;
  color: var(--st-text);
  background: #fafafa;
  border: none;
  cursor: pointer;
  transition: background 0.15s var(--st-ease);
}

.st-qty-stepper__btn:hover {
  background: var(--st-border-soft);
}

.st-qty-stepper .qty {
  width: 3rem !important;
  padding: 0.65rem 0.25rem !important;
  border: none !important;
  border-left: 1px solid var(--st-border) !important;
  border-right: 1px solid var(--st-border) !important;
  border-radius: 0 !important;
  text-align: center;
  font-family: var(--st-font);
  font-size: 0.9375rem;
  -moz-appearance: textfield;
}

.st-qty-stepper .qty::-webkit-outer-spin-button,
.st-qty-stepper .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.st-buybox__purchase .single_add_to_cart_button,
.st-buybox__purchase .button.alt {
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-family: var(--st-font) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-size: 0.875rem !important;
  line-height: 1.25 !important;
  padding: 0.72rem 1rem !important;
  background: var(--st-money-green) !important;
  color: #fff !important;
  border: 1px solid var(--st-money-green) !important;
  cursor: pointer;
  transition: background 0.15s var(--st-ease), border-color 0.15s var(--st-ease);
}

.st-atc-btn__label {
  min-width: 0;
}

.st-atc-btn__icon {
  display: none;
  flex: 0 0 1.2rem;
  width: 1.2rem;
  height: 1.2rem;
}

.st-atc-btn__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.st-buybox__purchase .single_add_to_cart_button:hover,
.st-buybox__purchase .button.alt:hover {
  background: var(--st-money-green-hover) !important;
  border-color: var(--st-money-green-hover) !important;
  color: #fff !important;
}

.st-buybox__purchase .single_add_to_cart_button:disabled,
.st-buybox__purchase .button.alt:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 520px) {
  .st-buybox__cart-row {
    gap: 0.5rem;
  }

  .st-buybox__cart-row .single_add_to_cart_button,
  .st-buybox__cart-row .button.alt {
    font-size: 0.8125rem !important;
    padding: 0.65rem 0.75rem !important;
  }

  .st-qty-stepper__btn {
    width: 2.25rem;
  }

  .st-qty-stepper .qty {
    width: 2.65rem !important;
  }
}

@media (max-width: 400px) {
  .st-buybox__cart-row .st-atc-btn__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .st-buybox__cart-row .st-atc-btn__icon {
    display: block;
  }

  .st-buybox__cart-row .single_add_to_cart_button,
  .st-buybox__cart-row .button.alt {
    flex: 0 0 auto !important;
    min-width: 3rem !important;
    padding: 0.65rem !important;
  }
}

.st-buybox__stock {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.st-buybox__stock--in {
  color: var(--st-money-green);
}

.st-buybox__stock--low {
  color: #b45309;
}

.st-buybox__stock--out {
  color: var(--st-sale);
}

.st-buybox-services {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid var(--st-border-soft);
  display: grid;
  gap: 0.85rem;
}

.st-buybox-services__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.st-buybox-services__icon {
  flex: 0 0 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: var(--st-text);
  background: #f8f8f7;
  border: 1px solid var(--st-border-soft);
  border-radius: 50%;
}

.st-buybox-services__icon .st-icon-svg {
  width: 1.15rem;
  height: 1.15rem;
}

.st-buybox-services__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.st-buybox-services__title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--st-text);
}

.st-buybox-services__text {
  font-size: 0.75rem;
  color: var(--st-muted);
  line-height: 1.4;
}

.st-buybox__footer {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--st-border-soft);
}

.st-buybox-meta {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.st-buybox-meta__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.45;
}

.st-buybox-meta__label {
  flex: 0 0 auto;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.st-buybox-meta__sku {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  padding: 0.15rem 0.45rem;
  background: #f5f5f4;
  border-radius: 3px;
  color: var(--st-text);
}

.st-buybox-meta__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.st-buybox-meta__cat {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  font-size: 0.6875rem;
  color: var(--st-text);
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 999px;
  text-decoration: none;
  transition: border-color 0.15s var(--st-ease), color 0.15s var(--st-ease);
}

.st-buybox-meta__cat:hover {
  opacity: 1;
  border-color: var(--st-text);
  color: var(--st-text);
}

.st-buybox__footer .st-payment-icons {
  margin: 0;
  padding-top: 0.25rem;
}

.st-buybox__footer .st-payment-icons__label {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.st-buybox__footer .st-payment-icons__note {
  margin: 0.35rem 0 0;
  font-size: 0.6875rem;
  color: var(--st-muted);
}

.st-single-product__summary .quantity input {
  width: 3.5rem;
  padding: 0.55rem;
  border: 1px solid var(--st-border);
  font-family: var(--st-font);
  font-size: 0.875rem;
}

.st-single-product__summary .single_add_to_cart_button,
.st-single-product__summary .button.alt {
  font-family: var(--st-font) !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-size: 0.6875rem !important;
  padding: 0.85rem 1.75rem !important;
  background: #fff !important;
  color: var(--st-text) !important;
  border: 1px solid var(--st-text) !important;
  flex: 1;
  min-width: 12rem;
}

.st-single-product__summary .single_add_to_cart_button:hover,
.st-single-product__summary .button.alt:hover {
  background: var(--st-btn-hover-bg) !important;
  color: #fff !important;
  border-color: var(--st-btn-hover-bg) !important;
}

.st-single-product__summary table.variations {
  width: 100%;
  margin: 0 0 0.75rem;
  border-collapse: collapse;
}

.st-buybox__purchase table.variations,
.st-single-product__summary table.variations {
  display: block;
}

.st-buybox__purchase table.variations tbody,
.st-single-product__summary table.variations tbody {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.st-buybox__purchase table.variations tr,
.st-single-product__summary table.variations tr {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  border: none;
}

.st-buybox__purchase table.variations th,
.st-buybox__purchase table.variations td,
.st-single-product__summary table.variations th,
.st-single-product__summary table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
  vertical-align: top;
}

.st-buybox__purchase table.variations label,
.st-single-product__summary table.variations label {
  display: block;
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.st-single-product__summary table.variations select {
  width: 100%;
  max-width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius-btn);
  font-family: var(--st-font);
  font-size: 0.8125rem;
  background: #fff;
}

.st-buybox__purchase .reset_variations,
.st-single-product__summary .reset_variations {
  display: inline-block;
  margin: 0.15rem 0 0.85rem;
  padding: 0;
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--st-muted);
  text-decoration: none;
  border: none;
  background: none;
  cursor: pointer;
  transition: color 0.15s var(--st-ease);
}

.st-buybox__purchase .reset_variations:hover,
.st-single-product__summary .reset_variations:hover {
  color: var(--st-text);
}

.st-variation-form__shell {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 0.35rem;
}

.st-variation-form__foot {
  display: flex;
  justify-content: flex-end;
  min-height: 1.25rem;
}

.st-variation-form__foot .reset_variations {
  margin: 0;
}

/* Selettori variante — pill / swatch */
.st-variation-picker__select--hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.st-variation-picker {
  margin: 0;
}

.st-variation-picker__ui {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
}

.st-variation-picker.is-single-option .st-variation-picker__ui {
  gap: 0;
}

.st-variation-hint {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--st-muted);
}

.st-variation-hint[hidden] {
  display: none !important;
}

.st-variation-hint--warn {
  color: #9a4b00;
}

.st-variation-opt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-height: 2.5rem;
  min-width: 0;
  max-width: 100%;
  padding: 0.55rem 1rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius-btn);
  background: #fff;
  color: var(--st-text);
  font-family: var(--st-font);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition:
    border-color 0.15s var(--st-ease),
    background 0.15s var(--st-ease),
    color 0.15s var(--st-ease);
}

.st-variation-opt--size,
.st-variation-opt--material {
  min-width: 3.25rem;
  padding: 0.55rem 0.85rem;
  text-align: center;
}

.st-variation-opt--color {
  width: auto;
  height: auto;
  min-height: 2.5rem;
  min-width: 3.25rem;
  padding: 0.35rem 0.85rem;
  border-radius: var(--st-radius-btn);
  overflow: hidden;
}

.st-variation-picker.is-single-option .st-variation-opt {
  cursor: default;
}

.st-variation-opt--color img {
  width: 2rem;
  height: 2rem;
  object-fit: cover;
  border-radius: calc(var(--st-radius-btn) - 2px);
  display: block;
  flex-shrink: 0;
}

.st-variation-opt--color:has(img) {
  gap: 0.55rem;
  padding: 0.35rem 0.85rem 0.35rem 0.35rem;
}

.st-variation-opt:hover:not(:disabled):not(.is-selected) {
  border-color: #b8b8b8;
  background: #fafafa;
}

.st-variation-opt.is-selected {
  border-color: var(--st-text);
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--st-text);
  font-weight: 500;
}

.st-variation-opt.is-disabled,
.st-variation-opt:disabled {
  opacity: 0.38;
  cursor: not-allowed;
  text-decoration: line-through;
}

.st-single-product__summary .product_meta {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  color: var(--st-muted);
}

.st-single-product__details {
  border-top: 1px solid var(--st-border-soft);
  padding-top: 2rem;
}

.st-single-product__details .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  border-bottom: 1px solid var(--st-border-soft);
}

.st-single-product__details .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0 0 0.75rem;
  border: none;
  background: none;
}

.st-single-product__details .woocommerce-tabs ul.tabs li a {
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--st-muted);
  padding: 0;
}

.st-single-product__details .woocommerce-tabs ul.tabs li.active a {
  color: var(--st-text);
}

.st-single-product__details .woocommerce-Tabs-panel {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--st-text);
}

.st-single-product__details .woocommerce-Tabs-panel h2 {
  display: none;
}

.st-single-product__related {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--st-border-soft);
}

.st-single-product__related .related.products > h2,
.st-single-product__related .upsells.products > h2 {
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}

/* —— Catalog pages —— */
.st-page-catalog {
  padding-block: clamp(1.5rem, 4vw, 2rem) clamp(2.5rem, 6vw, 4rem);
}

.st-page {
  padding-block: clamp(1.5rem, 4vw, 2rem) clamp(2.5rem, 6vw, 4rem);
}

.st-legal-page h2 {
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0 0 1.25rem;
}

.st-legal-page h3 {
  font-size: 0.9375rem;
  font-weight: 500;
  margin: 1.75rem 0 0.65rem;
}

.st-legal-page p {
  margin: 0 0 0.85rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--st-text);
}

.st-page-catalog .st-section__head {
  margin-bottom: 2rem;
}

.st-empty {
  color: var(--st-muted);
  font-size: 0.9rem;
}

/* —— Footer —— */
.st-footer {
  background: #fff;
  color: var(--st-text);
  padding: 3.5rem 0 1.25rem;
  margin-top: 0;
  font-weight: 300;
  border-top: 1px solid var(--st-border-soft);
}

.st-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.st-footer__grid {
  display: grid;
  grid-template-columns: minmax(12rem, 1.35fr) repeat(3, minmax(8.5rem, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  width: 100%;
  text-align: left;
  align-items: start;
}

.st-footer__col {
  min-width: 0;
}

.st-footer__col--company {
  max-width: none;
}

.st-footer__company-name {
  margin: 0 0 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--st-text);
}

.st-footer__link-btn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: 0.8125rem;
  color: var(--st-text);
  opacity: 0.72;
  cursor: pointer;
  text-align: left;
}

.st-footer__link-btn:hover {
  opacity: 1;
}

.st-footer__link-muted {
  font-size: 0.8125rem;
  color: var(--st-text);
  opacity: 0.72;
}

.st-newsletter__form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  max-width: 28rem;
}

.st-newsletter__form input[type="email"] {
  flex: 1;
  min-width: 12rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--st-border);
  background: #fff;
  color: var(--st-text);
  font-family: var(--st-font);
  font-size: 0.8125rem;
}

.st-newsletter__form input::placeholder {
  color: var(--st-muted);
}

.st-newsletter__msg {
  font-size: 0.75rem;
  margin: 0.5rem 0 0;
}

.st-newsletter__msg.is-error {
  color: #f5a5a5;
}

.st-section__title-line {
  display: block;
}

.st-footer__title {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 1.15rem;
  color: var(--st-text);
}

.st-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.8125rem;
}

.st-footer__links a {
  color: var(--st-text);
  opacity: 0.72;
}

.st-footer__links li {
  margin-bottom: 0.4rem;
}

.st-footer__text {
  font-size: 0.8125rem;
  opacity: 0.75;
  margin: 0;
  line-height: 1.5;
}

.st-footer__col--company .st-footer__text + .st-footer__text,
.st-footer__col--contacts .st-footer__text + .st-footer__text {
  margin-top: 0.2rem;
}

.st-footer__contacts-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.st-footer__contacts-toggle:hover {
  opacity: 0.85;
}

.st-footer__company-panel {
  margin-top: 0.15rem;
}

.st-footer__company-panel[hidden] {
  display: none;
}

.st-footer__company-panel a {
  color: inherit;
  opacity: 0.85;
}

.st-footer__company-panel a:hover {
  opacity: 1;
}

.st-footer__social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  list-style: none;
  margin: 1.35rem 0 0;
  padding: 0;
}

.st-footer__social a,
.st-footer__social-muted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--st-text);
  opacity: 0.7;
  line-height: 0;
}

.st-footer__social a:hover {
  opacity: 1;
}

.st-footer__social-muted {
  cursor: default;
}

.st-footer__social .st-icon-svg--social {
  width: 1.25rem;
  height: 1.25rem;
}

.st-icon-svg--social {
  fill: currentColor;
  stroke: none;
}

.st-header__action .st-icon-svg--social,
.st-footer__social .st-icon-svg--social {
  fill: currentColor;
  stroke: none;
}

.st-header__action .st-icon-svg--social {
  width: 1.125rem;
  height: 1.125rem;
}

.st-header__action--whatsapp .st-icon-svg--social {
  width: 0.9375rem;
  height: 0.9375rem;
}

.st-footer__bottom {
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--st-border-soft);
  font-size: 0.75rem;
  color: var(--st-muted);
  text-align: left;
  width: 100%;
}

.st-footer__bottom p {
  margin: 0;
}

.st-cookie-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgb(255 255 255 / 0.96);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--st-border);
  padding: 0.85rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  z-index: 200;
  font-size: 0.8125rem;
  font-weight: 300;
  color: var(--st-muted);
}

.st-cookie-bar.is-hidden {
  display: none;
}

@media (max-width: 900px) {
  .st-cookie-bar {
    position: static;
    backdrop-filter: none;
  }

  .st-header__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-items: center;
    justify-items: stretch;
    place-items: center stretch;
    gap: 0.65rem;
    width: 100%;
    max-width: 100%;
  }

  .st-logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: stretch;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }

  .st-header .st-logo__img,
  .home .st-header .st-logo__img {
    height: 40px;
    width: auto;
    max-width: min(200px, 70vw);
    margin-inline: auto;
    object-fit: contain;
    object-position: center center;
  }

  .home .st-header__main {
    padding-block: 1.1rem;
  }

  .st-header__actions {
    grid-column: 1;
    grid-row: 2;
    margin-left: 0;
    margin-right: 0;
    margin-inline: 0;
    justify-self: stretch;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    gap: 0.35rem;
  }

  .st-nav {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 100%;
    flex: none;
    justify-self: stretch;
  }

  .st-nav__list {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.5rem 1.25rem;
  }

  .st-duo-banners__grid,
  .st-inspiration-banners__grid {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 1.75rem 1rem !important;
    width: 100%;
  }

  .woocommerce ul.products li.product,
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce ul.products li.product .st-product-card {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .st-shop-archive,
  .st-shop-main__inner {
    width: 100%;
    max-width: 100%;
  }

  .st-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    text-align: center;
  }

  .st-footer__inner {
    align-items: center;
  }

  .st-footer__bottom {
    text-align: center;
  }

  .st-footer__link-btn {
    text-align: center;
    width: 100%;
  }

  .st-footer__col {
    min-width: 0;
    width: 100%;
    max-width: none;
  }

  .st-single-product__top,
  .st-single-product--amazon .st-single-product__top {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .st-single-product__gallery,
  .st-single-product__buybox,
  .st-single-product__summary {
    min-width: 0;
    max-width: 100%;
  }

  .st-single-product__buybox {
    width: 100%;
    box-sizing: border-box;
  }

  .st-hero {
    min-height: min(58vh, 480px);
  }

  .st-hero--video-only {
    min-height: unset;
    aspect-ratio: 3834 / 1278;
  }

  .st-hero__video,
  .st-hero__video-fallback {
    object-position: center center;
  }
}

/* —— Collezioni: faixa única (homepage) + hero categoria —— */
@keyframes st-collection-drift {
  0% {
    transform: scale(1.1) translate3d(-1.5%, -1%, 0);
  }

  50% {
    transform: scale(1.14) translate3d(1%, 0.5%, 0);
  }

  100% {
    transform: scale(1.1) translate3d(-1.5%, -1%, 0);
  }
}

.st-collection-showcase {
  padding: var(--st-section-pad-y) 0 0;
  overflow-x: clip;
  max-width: 100%;
}

.st-collection-showcase__head {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.st-collection-showcase__head .st-section__title {
  max-width: none;
}

@media (max-width: 767px) {
  .st-collection-showcase__head .st-section__title {
    max-width: none;
    margin-inline: auto;
    white-space: normal;
  }
}

@media (min-width: 768px) {
  .st-collection-showcase__head .st-section__title {
    white-space: nowrap;
  }

  .st-collection-showcase__head .st-br-mobile {
    display: none;
  }
}

.st-collection-showcase__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.5rem, 1.2vw, 0.85rem);
  width: 100%;
  background: #fff;
}

.st-hero__category-nav-wrap--in-hero {
  position: absolute;
  z-index: 5;
  left: clamp(1.25rem, 5vw, 4rem);
  bottom: clamp(0.85rem, 2.5vh, 1.35rem);
  pointer-events: none;
}

.st-hero__category-nav-wrap--in-hero .st-collection-showcase__hero-nav {
  pointer-events: auto;
}

.st-hero__category-nav-wrap--in-hero .st-hero__arrow {
  background: rgb(255 255 255 / 0.9);
  border: 1px solid rgb(255 255 255 / 0.55);
  backdrop-filter: blur(8px);
  box-shadow: 0 1px 8px rgb(0 0 0 / 0.18);
  opacity: 1;
}

.st-hero__category-nav-wrap--in-hero .st-hero__arrow:hover {
  background: #fff;
  border-color: #fff;
}

.st-hero--intro-phase .st-hero__category-nav-wrap--in-hero {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.st-collection-showcase__hero-nav-wrap {
  margin-top: clamp(0.85rem, 1.8vw, 1.35rem);
}

.st-collection-showcase__hero-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.st-collection-showcase__hero-nav .st-hero__arrow {
  background: #fff;
  border: 1px solid var(--st-border);
  backdrop-filter: none;
  box-shadow: none;
  opacity: 1;
}

.st-collection-showcase__hero-nav .st-hero__arrow:hover {
  background: var(--st-bg);
  border-color: var(--st-text);
}

.st-collection-showcase__hero-nav.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s var(--st-ease), visibility 0.2s var(--st-ease);
}

.st-collection-tile {
  position: relative;
  display: block;
  aspect-ratio: 3 / 5;
  overflow: hidden;
  background: #ececec;
  text-decoration: none;
}

.st-collection-tile__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.st-collection-tile__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  animation: st-collection-drift 20s ease-in-out infinite alternate;
  will-change: transform;
}

.st-collection-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  animation: none;
  will-change: auto;
}

.st-collection-hero--cucina .st-collection-hero__img {
  object-position: center center;
}

.st-collection-tile:hover .st-collection-tile__img,
.st-collection-tile:focus-visible .st-collection-tile__img {
  animation-duration: 9s;
  transform: scale(1.16) translate3d(0.5%, 0, 0);
}

.st-collection-tile__label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: clamp(1.1rem, 2.45vw, 1.4rem) 0.65rem;
  font-size: clamp(1.3rem, 2.66vw, 1.68rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  background: linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 0.68) 100%);
  pointer-events: none;
  text-shadow: 0 1px 14px rgb(0 0 0 / 0.4);
  line-height: 1.1;
}

.st-collection-hero {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  min-height: clamp(280px, 42vh, 520px);
  overflow: hidden;
  background: #ececec;
}

.st-collection-hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.st-collection-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / 0.08) 0%, rgb(0 0 0 / 0.35) 100%);
  pointer-events: none;
  z-index: 1;
}

.st-collection-hero__title-wrap {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding-bottom: clamp(1.35rem, 3vw, 2rem);
}

.st-collection-hero__title {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}

.st-shop-main--has-collection-hero .st-shop-main__inner {
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
}

@media (max-width: 1024px) {
  .st-collection-showcase__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .st-collection-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .st-collection-tile {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 420px) {
  .st-collection-showcase__grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-collection-tile__img,
  .st-collection-hero__img {
    animation: none;
    transform: none;
  }
}

/* B2B & Hotellerie — faixa dedicata sotto le 5 collezioni */
.st-b2b-band {
  margin-top: clamp(3rem, 6.5vw, 5.5rem);
  padding: clamp(3rem, 5.5vw, 4.25rem) 0;
  background: #f4f4f2;
  border-top: 1px solid var(--st-border-soft);
}

.st-b2b-band__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: center;
}

.st-b2b-band__title {
  margin: 0 0 1rem;
  font-size: clamp(1.125rem, 2.2vw, 1.375rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--st-text);
}

.st-b2b-band__body {
  margin: 0 0 1.5rem;
  max-width: 30rem;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.65;
  color: var(--st-muted);
}

.st-b2b-band__cta {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.6875rem;
}

.st-btn--sale {
  background: var(--st-sale);
  border-color: var(--st-sale);
  color: #fff;
}

.st-btn--sale:hover {
  background: #9a2840;
  border-color: #9a2840;
  color: #fff;
}

.st-b2b-band__media {
  display: block;
  overflow: hidden;
  background: #f4f4f2;
}

.st-b2b-band__media img {
  width: 100%;
  height: 100%;
  min-height: clamp(220px, 28vw, 320px);
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 900px) {
  .st-b2b-band__inner {
    grid-template-columns: 1fr;
  }

  .st-b2b-band__media {
    order: -1;
  }
}

/* Homepage — sezioni Hub (legacy) */
.st-environment__head {
  text-align: center;
  margin-bottom: var(--st-section-head-gap);
}

.st-section__title--center {
  text-align: center;
  max-width: 42rem;
  margin-inline: auto;
}

.st-environment__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.st-environment__tile img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}

.st-promo-banner img {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  border-radius: 4px;
}

.st-gift-card__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

.st-gift-card__media img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.st-cat-tile {
  background-size: cover;
  background-position: center;
}

/* PDP stile Amazon */
.st-single-product--amazon .st-single-product__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 901px) {
  .st-single-product--amazon .st-single-product__top {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 2.5rem;
  }
}

.st-single-product__buybox {
  position: sticky;
  top: 6rem;
  border: 1px solid var(--st-border);
  border-radius: 12px;
  padding: 1.35rem 1.5rem 1.25rem;
  background: #fff;
  box-shadow: 0 8px 28px rgb(15 23 42 / 5%);
}

.st-trust-list {
  margin: 1rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.875rem;
  color: #475569;
}

.st-trust-list li + li {
  margin-top: 0.35rem;
}

@media (max-width: 900px) {
  .st-environment__grid {
    grid-template-columns: 1fr;
  }

  .st-gift-card__grid {
    grid-template-columns: 1fr;
  }

  .st-single-product__buybox {
    position: static;
    width: 100%;
    padding: 1.15rem 1.15rem 1rem;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgb(15 23 42 / 4%);
  }

  .st-product-gallery__thumbs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    margin-top: 0.65rem;
    padding-bottom: 0.2rem;
  }

  .st-product-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .st-product-gallery__thumbs li {
    flex: 0 0 3.75rem;
    scroll-snap-align: start;
  }

  .st-product-gallery__thumb {
    width: 3.75rem;
  }

  .st-product-gallery__thumb img {
    width: 100%;
    height: 3.75rem;
    object-fit: cover;
    border-radius: 4px;
  }

  .st-single-product__summary .product_title {
    font-size: 1.125rem;
    line-height: 1.35;
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }

  .st-single-product__summary .price {
    font-size: 1.25rem !important;
    margin-bottom: 0.85rem !important;
  }

  .st-single-product__summary .woocommerce-product-details__short-description {
    font-size: 0.875rem;
    line-height: 1.65;
  }

  .st-product-attrs__row {
    grid-template-columns: minmax(5.5rem, 38%) 1fr;
  }

  .st-buybox__purchase .single_add_to_cart_button,
  .st-buybox__purchase .button.alt {
    min-height: 2.75rem;
    font-size: 0.9375rem !important;
    padding: 0.78rem 1.1rem !important;
  }

  .st-qty-stepper__btn {
    width: 2.65rem;
    min-height: 2.75rem;
  }

  .st-qty-stepper .qty {
    min-height: 2.75rem;
    font-size: 1rem !important;
  }

  .st-buybox__cart-row .st-atc-btn__label {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border: 0;
  }

  .st-buybox__cart-row .st-atc-btn__icon {
    display: none;
  }

  .st-buybox__cart-row .single_add_to_cart_button,
  .st-buybox__cart-row .button.alt {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

/* —— Nav sezioni (menu legacy) —— */
.st-nav-sections {
  border-top: 1px solid var(--st-border);
  background: #fff;
  flex-shrink: 0;
}

.st-nav-sections .st-container {
  max-width: var(--st-max);
}

.st-nav-sections__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 1.4rem;
  width: 100%;
  margin: 0;
  padding: 0.65rem 0 0.45rem;
  list-style: none;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.st-nav-sections__list li {
  flex: 0 0 auto;
}

.st-nav-sections__list a {
  display: block;
  color: var(--st-text);
  text-decoration: none;
  padding: 0.2rem 0;
  white-space: nowrap;
}

.st-nav-sections__list a:hover {
  color: var(--st-accent, #c41e3a);
}

.st-nav-sections__item--bold a {
  font-weight: 700;
}

.st-nav-sections__item--dropdown {
  position: relative;
}

.st-nav-sections__dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: var(--st-text);
  background: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.st-nav-sections__dropdown-toggle:hover,
.st-nav-sections__dropdown-toggle[aria-expanded="true"] {
  color: var(--st-accent, #c41e3a);
}

.st-nav-sections__dropdown-caret {
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid currentcolor;
  border-bottom: 1.5px solid currentcolor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.2s ease;
}

.st-nav-sections__dropdown-toggle[aria-expanded="true"] .st-nav-sections__dropdown-caret {
  transform: rotate(-135deg) translateY(1px);
}

.st-nav-sections__dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 40;
  display: none;
  min-width: 11.5rem;
  margin: 0;
  padding: 0.55rem 0 0.45rem;
  list-style: none;
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgb(15 23 42 / 12%);
  transform: translateX(-50%);
}

.st-nav-sections__dropdown-menu::before {
  content: "";
  position: absolute;
  top: -0.65rem;
  left: 0;
  right: 0;
  height: 0.65rem;
}

.st-nav-sections__dropdown-menu.is-open {
  display: block;
}

.st-nav-sections__dropdown-menu a {
  display: block;
  padding: 0.55rem 1rem;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--st-text);
  text-decoration: none;
  white-space: nowrap;
}

.st-nav-sections__dropdown-menu a:hover {
  background: #f5f5f4;
  color: var(--st-accent, #c41e3a);
}

.st-nav-sections__item--dropdown.is-open .st-nav-sections__dropdown-toggle,
.st-nav-sections__item--dropdown:focus-within .st-nav-sections__dropdown-toggle {
  color: var(--st-accent, #c41e3a);
}

.st-nav-sections__item--dropdown.is-open .st-nav-sections__dropdown-caret,
.st-nav-sections__item--dropdown:focus-within .st-nav-sections__dropdown-toggle .st-nav-sections__dropdown-caret {
  transform: rotate(-135deg) translateY(1px);
}

/* —— Hero copy + video —— */
.st-hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 106%;
  height: 106%;
  min-width: 106%;
  min-height: 106%;
  object-fit: cover;
  object-position: center center;
  -webkit-object-fit: cover;
  transform: translate(-50%, -50%);
  background: #1a1a1a;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.4s var(--st-ease);
}

.st-hero__video[autoplay] {
  opacity: 1;
}

.st-hero__video.is-playing {
  opacity: 1;
}

.st-hero__video-fallback {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 106%;
  height: 106%;
  min-width: 106%;
  min-height: 106%;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}

.st-hero--video-unavailable .st-hero__video-fallback {
  opacity: 1;
  visibility: visible;
}

.st-hero__panel-poster {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 106%;
  height: 106%;
  min-width: 106%;
  min-height: 106%;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s var(--st-ease);
}

.st-hero__panel-poster.is-active {
  opacity: 1;
  visibility: visible;
}

/* Vídeo hero: preenche o banner (crop nas bordas — esconde watermark). */
.st-hero__slide--video .st-hero__media,
.st-hero--category-showcase .st-hero__media--fixed,
.st-hero--video-only .st-hero__media--fixed {
  inset: 0;
  overflow: hidden;
}

.st-hero__panel {
  position: absolute;
  z-index: 3;
  left: clamp(1.25rem, 5vw, 4rem);
  bottom: clamp(2.5rem, 12vh, 5rem);
  max-width: min(28rem, 88vw);
  color: #fff;
  text-shadow: 0 1px 12px rgb(0 0 0 / 0.35);
  pointer-events: auto;
}

.st-hero__panel-title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.st-hero__panel-sub {
  margin: 0 0 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  opacity: 0.95;
}

.st-btn--accent {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.st-hero .st-btn--accent {
  background: transparent;
}

.st-btn--accent:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

/* Hero: só vídeo (sem painéis de categoria) — proporção original 3834×1278 */
.st-hero--video-only {
  min-height: unset;
  height: auto;
  aspect-ratio: 3834 / 1278;
}

.st-hero--video-only .st-hero__media--fixed {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.st-hero--video-only .st-hero__video,
.st-hero--video-only .st-hero__video-fallback {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  transform: none;
  object-fit: contain;
  object-position: center center;
}

.st-hero--video-only .st-hero__video.is-playing + .st-hero__video-fallback {
  opacity: 0;
  visibility: hidden;
}

.st-hero--video-only .st-hero__video--mobile {
  display: none;
}

@media (max-width: 767px) and (orientation: portrait) {
  .st-hero--video-only {
    aspect-ratio: 1 / 1;
  }

  .st-hero--video-only .st-hero__video--main {
    display: none;
  }

  .st-hero--video-only .st-hero__video--mobile {
    display: block;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .st-hero--video-only {
    aspect-ratio: 3834 / 1278;
  }
}

/* Hero categorie (dopo Nuovi Arrivi) — proporção original do vídeo */
.st-hero--category-video-hero {
  min-height: unset;
  height: auto;
  aspect-ratio: 5070 / 2160;
  background: #1a1a1a;
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
}

.st-hero--category-video-hero .st-hero__media--fixed {
  background: #1a1a1a;
}

.st-hero--category-video-hero .st-hero__video--main,
.st-hero--category-video-hero .st-hero__video--mobile {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  -webkit-object-fit: contain;
}

.st-hero--category-video-hero .st-hero__video--mobile {
  display: none;
}

@media (max-width: 767px) and (orientation: portrait) {
  .st-hero--category-video-hero {
    aspect-ratio: 1 / 1;
  }

  .st-hero--category-video-hero .st-hero__video--main {
    display: none !important;
  }

  .st-hero--category-video-hero .st-hero__video--mobile {
    display: block;
    opacity: 1;
  }
}

.st-home-editorial .st-hero--category-video-hero {
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.st-hero--category-video-hero .st-hero__panel-slide {
  transition: opacity 0.35s var(--st-ease), visibility 0.35s var(--st-ease);
}

/* Hero: vídeo fixo + painéis de categoria */
.st-hero--category-showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(
    ellipse 88% 78% at 8% 92%,
    rgb(0 0 0 / 0.22) 0%,
    rgb(0 0 0 / 0.07) 38%,
    transparent 62%
  );
}

.st-hero--category-showcase .st-hero__media--fixed {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.st-hero--category-showcase .st-hero__video.is-playing + .st-hero__video-fallback {
  opacity: 0;
  visibility: hidden;
}

.st-hero--category-showcase .st-hero__panels {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.st-hero__panel-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s var(--st-ease), visibility 0.5s var(--st-ease);
  pointer-events: none;
}

.st-hero__panel-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.st-hero--intro-phase .st-hero__panel-slide,
.st-hero--clip-transition .st-hero__panel-slide {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.2s var(--st-ease), visibility 0.2s var(--st-ease);
}

.st-hero--category-showcase .st-btn--accent {
  background: var(--st-sale);
  border-color: var(--st-sale);
  color: #fff;
}

.st-hero--category-showcase .st-btn--accent:hover {
  background: #9a2840;
  border-color: #9a2840;
  color: #fff;
}

/* —— Trust strip —— */
.st-trust-strip {
  background: #f4f4f2;
  border-bottom: 1px solid var(--st-border);
}

.st-trust-strip__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem 2rem;
  margin: 0;
  padding: clamp(2.25rem, 4.5vw, 3.5rem) 0;
  list-style: none;
}

.st-trust-strip__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--st-text);
}

.st-trust-strip__icon {
  flex: 0 0 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin: 0;
  padding: 0;
  color: var(--st-text);
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgb(15 23 42 / 5%);
}

.st-trust-strip__text {
  flex: 1;
  min-width: 0;
  color: var(--st-muted);
}

.st-trust-strip__icon .st-icon-svg {
  width: 1.85rem;
  height: 1.85rem;
  display: block;
  stroke-width: 1.1;
}

.st-trust-strip__icon img.st-icon-svg--asset,
.st-trust-strip__icon .st-icon-svg--asset {
  width: 1.85rem;
  height: 1.85rem;
}

/* —— Flip cards (cubo 3D) —— */
@property --st-icon-relief {
  syntax: "<number>";
  initial-value: 0;
  inherits: true;
}

.st-flip-cards {
  overflow-x: clip;
}

.st-flip-cards .st-section__title--center {
  margin-bottom: var(--st-section-head-gap);
  max-width: none;
  white-space: nowrap;
}

.st-flip-cards .st-section__title-line {
  display: inline;
}

.st-flip-cards .st-section__title-line:not(:last-child)::after {
  content: " ";
}

@media (max-width: 767px) and (orientation: portrait) {
  .st-flip-cards .st-section__title--center {
    white-space: normal;
  }

  .st-flip-cards .st-section__title-line {
    display: block;
  }

  .st-flip-cards .st-section__title-line:not(:last-child)::after {
    content: none;
  }
}

.st-flip-cards__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(2rem, 3.5vw, 3rem);
  margin-top: 0;
}

.st-flip-card {
  --st-cube-depth: clamp(72px, 9vw, 108px);
  --st-cube-icon-extrude-step: 0.9px;
  --st-cube-copy-lift: 3px;
  --st-cube-gray: #8a8a8a;
  --st-cube-gray-soft: #b0b0b0;
  perspective: 1600px;
  perspective-origin: 50% 40%;
  min-height: 220px;
}

.st-flip-card__inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 220px;
  transform-style: preserve-3d;
  transition: transform 1.55s cubic-bezier(0.33, 0.72, 0.28, 1);
  transform: rotateX(11deg) rotateY(0deg);
  will-change: transform;
}

.st-flip-card:hover .st-flip-card__inner,
.st-flip-card:focus-within .st-flip-card__inner {
  transform: rotateX(11deg) rotateY(-180deg);
}

.st-flip-card__face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.25rem;
  transform-style: preserve-3d;
  box-shadow:
    0 12px 30px rgb(15 23 42 / 9%),
    inset 0 1px 0 rgb(255 255 255 / 72%);
}

.st-flip-card__face--front {
  background: linear-gradient(155deg, #f0f0ee 0%, #e2e2e0 100%);
  color: #6e6e6e;
  border: 1px solid #c8c8c6;
  overflow: visible;
  transform: rotateY(0deg) translateZ(calc(var(--st-cube-depth) / 2));
}

.st-flip-card__face--back {
  background: linear-gradient(155deg, #f5f5f3 0%, #e8e8e6 100%);
  border: 1px solid #c8c8c6;
  color: #6e6e6e;
  transform: rotateY(180deg) translateZ(calc(var(--st-cube-depth) / 2));
}

.st-flip-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.75rem;
  height: 4.75rem;
  margin-bottom: 0.85rem;
  transform-style: preserve-3d;
  pointer-events: none;
}

.st-flip-card__icon-stack {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  --st-icon-relief: 0;
}

.st-flip-card__icon-depth {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-style: preserve-3d;
  transform: translateZ(calc(var(--st-icon-depth, 0) * var(--st-cube-icon-extrude-step)));
  color: #5c5c5c;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
}

.st-flip-card__icon-depth:not(.st-flip-card__icon-depth--face) {
  opacity: var(--st-icon-relief, 0);
}

.st-flip-card__icon-depth--face {
  opacity: 1;
}

.st-flip-card__icon-depth[data-depth="0"] { --st-icon-depth: 0; color: #575757; }
.st-flip-card__icon-depth[data-depth="1"] { --st-icon-depth: 1; color: #5f5f5f; }
.st-flip-card__icon-depth[data-depth="2"] { --st-icon-depth: 2; color: #666; }
.st-flip-card__icon-depth[data-depth="3"] { --st-icon-depth: 3; color: #6d6d6d; }
.st-flip-card__icon-depth[data-depth="4"] { --st-icon-depth: 4; color: #747474; }
.st-flip-card__icon-depth[data-depth="5"] { --st-icon-depth: 5; color: #7b7b7b; }
.st-flip-card__icon-depth[data-depth="6"] { --st-icon-depth: 6; color: #828282; }
.st-flip-card__icon-depth[data-depth="7"] { --st-icon-depth: 7; color: var(--st-cube-gray); }

.st-flip-card__icon-depth .st-icon-svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke: currentColor;
}

.st-flip-card__icon-depth--face .st-icon-svg {
  filter:
    drop-shadow(0 0.5px 0 rgb(255 255 255 / 85%))
    drop-shadow(0 1px 2px rgb(0 0 0 / 8%));
}

.st-flip-card__icon-depth:not(.st-flip-card__icon-depth--face) .st-icon-svg {
  stroke-width: 1.25;
}

.st-flip-card__face--front > img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 0.65rem;
  filter: grayscale(1);
}

.st-flip-card__front-title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #757575;
  transform: translateZ(var(--st-cube-copy-lift));
}

.st-flip-card__front-title-line {
  display: block;
}

.st-flip-card__back-img {
  width: 100%;
  max-height: 90px;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 0.65rem;
}

.st-flip-card__back-copy h3 {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
}

.st-flip-card__back-copy p {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--st-muted);
}

.st-flip-card__back-footline {
  white-space: nowrap;
}

.st-flip-card__cta {
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--st-text);
  text-decoration: underline;
}

.st-product-no-purchase .st-buybox__purchase {
  display: none;
}

@media (max-width: 900px) {
  .st-flip-card__icon {
    width: 6.175rem;
    height: 6.175rem;
    margin-bottom: 1.1rem;
  }

  .st-flip-card__front-title {
    font-size: 1.0625rem;
  }

  .st-flip-card__face--front > img {
    width: 5.85rem;
    height: 5.85rem;
  }

  .st-flip-card__back-copy h3 {
    font-size: 1.21875rem;
  }

  .st-flip-card__back-copy p {
    font-size: 0.975rem;
  }

  .st-flip-card__cta {
    font-size: 0.89375rem;
  }
}

@media (max-width: 1024px) {
  .st-trust-strip__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .st-flip-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .st-nav__list {
    justify-content: space-between;
    gap: 0.35rem 0.5rem;
    font-size: 0.6875rem;
    letter-spacing: 0.07em;
  }

  .st-header__actions {
    gap: 0.65rem;
  }

  .st-logo__img {
    height: 34px;
    max-width: min(180px, 48vw);
  }

  .home .st-logo__img {
    height: 38px;
    max-width: min(200px, 52vw);
  }

  .st-nav-sections__list {
    gap: 0.9rem;
    font-size: 0.625rem;
  }
}

@media (max-width: 640px) {
  .st-trust-strip__list {
    grid-template-columns: 1fr;
  }

  .st-flip-cards__grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-hero__img,
  .st-hero__slide,
  .st-flip-card__inner {
    transition: none;
  }

  .st-flip-card:hover .st-flip-card__inner,
  .st-flip-card:focus-within .st-flip-card__inner {
    transform: rotateX(0) rotateY(0);
  }

  .st-flip-card__icon-depth:not(.st-flip-card__icon-depth--face) {
    opacity: 0 !important;
  }
}

/* —— WooCommerce: account, cart, checkout —— */
.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  width: 100%;
  max-width: var(--st-max);
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 2.5rem) var(--st-gutter) clamp(2.5rem, 6vw, 3.5rem);
  box-sizing: border-box;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
  content: "";
  display: table;
  clear: both;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: left;
  width: min(240px, 100%);
  margin: 0 2rem 2rem 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: var(--st-surface);
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid var(--st-border-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.85rem 1.1rem;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--st-muted);
  opacity: 1;
  transition: background 0.2s var(--st-ease), color 0.2s var(--st-ease);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--st-bg);
  color: var(--st-text);
  opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #fff;
  color: var(--st-text);
  box-shadow: inset 0 0 0 1px var(--st-text);
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: right;
  width: calc(100% - min(240px, 100%) - 2rem);
  min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin: 0 0 1.25rem;
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  margin: 0 0 1rem;
  color: var(--st-muted);
}

.woocommerce form .form-row {
  margin-bottom: 1rem;
}

.woocommerce form label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.woocommerce form input.input-text,
.woocommerce form textarea,
.woocommerce form select {
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-family: var(--st-font);
  font-size: 0.9375rem;
  font-weight: 300;
  color: var(--st-text);
  background: var(--st-surface);
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  transition: border-color 0.2s var(--st-ease);
}

.woocommerce form input.input-text:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
  outline: none;
  border-color: var(--st-text);
}

.woocommerce form fieldset {
  margin: 1.5rem 0;
  padding: 1.25rem;
  border: 1px solid var(--st-border);
  border-radius: var(--st-radius);
  background: var(--st-bg);
}

.woocommerce form fieldset legend {
  padding: 0 0.35rem;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--st-text);
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  display: inline-block;
  padding: 0.7rem 1.65rem;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: 1px solid var(--st-text);
  background: #fff;
  color: var(--st-text);
  border-radius: var(--st-radius);
  cursor: pointer;
  transition:
    background 0.25s var(--st-ease),
    color 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
  background: var(--st-btn-hover-bg);
  color: #fff;
  border-color: var(--st-btn-hover-bg);
}

.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 0.85rem 0.5rem;
  border-bottom: 1px solid var(--st-border);
  text-align: left;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  padding: 0.85rem 1rem;
  margin-bottom: 1.25rem;
  border-left: 3px solid var(--st-text);
  background: var(--st-bg);
  font-size: 0.875rem;
  list-style: none;
}

.woocommerce .woocommerce-error {
  border-left-color: var(--st-sale);
}

/* —— Carrello —— */
body.woocommerce-cart .st-shop-main__inner > h1,
body.woocommerce-cart .st-shop-main__inner > .entry-header,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title {
  display: none;
}

.woocommerce-cart .cart-collaterals {
  margin-top: 2rem;
}

.woocommerce-cart .cart_totals {
  float: none;
  width: 100%;
  max-width: 26rem;
  margin-left: auto;
  padding: 1.35rem 1.5rem;
  background: var(--st-surface);
  border: 1px solid var(--st-border-soft);
  border-radius: 4px;
}

.woocommerce-cart .cart_totals > h2 {
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 1.25rem;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0;
  margin-top: 1.35rem;
}

.woocommerce-cart .wc-proceed-to-checkout .st-cart-checkout,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  padding: 0.9rem 1.5rem;
  text-align: center;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.35;
}

/* Carrello a blocchi WooCommerce (pagina predefinita WC 8+) */
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  display: block;
  width: 100%;
  padding: 0.9rem 1.5rem;
  text-align: center;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.35;
  background: var(--st-money-green) !important;
  color: #fff !important;
  border: 1px solid var(--st-money-green) !important;
  box-shadow: none !important;
  opacity: 1;
  transition:
    background 0.25s var(--st-ease),
    color 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.wc-block-cart .wc-block-cart__submit-button:hover,
.wc-block-cart .wc-block-cart__submit-container .wc-block-components-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
  background: var(--st-money-green-hover) !important;
  border-color: var(--st-money-green-hover) !important;
  color: #fff !important;
  opacity: 1;
}

/* Checkout a blocchi */
.wc-block-checkout .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button {
  background: var(--st-money-green) !important;
  color: #fff !important;
  border: 1px solid var(--st-money-green) !important;
  box-shadow: none !important;
  font-family: var(--st-font) !important;
  font-size: 0.6875rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  opacity: 1;
  transition:
    background 0.25s var(--st-ease),
    border-color 0.25s var(--st-ease);
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button:hover {
  background: var(--st-money-green-hover) !important;
  border-color: var(--st-money-green-hover) !important;
  color: #fff !important;
  opacity: 1;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce #place_order {
  display: block;
  width: 100%;
  padding: 0.9rem 1.5rem;
  text-align: center;
  font-family: var(--st-font);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.35;
}

.st-payment-icons {
  margin-top: 1.25rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--st-border-soft);
}

.st-payment-icons__label {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--st-muted);
}

.st-payment-icons__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.st-payment-icons__item {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.st-payment-icons__svg {
  display: block;
  width: 2.65rem;
  height: auto;
  border-radius: 3px;
}

.st-payment-icons__item--bank {
  gap: 0.35rem;
  padding: 0.15rem 0.45rem 0.15rem 0.15rem;
  background: var(--st-bg);
  border: 1px solid var(--st-border);
  border-radius: 3px;
}

.st-payment-icons__bank-label {
  font-size: 0.625rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--st-muted);
  white-space: nowrap;
}

.st-payment-icons__note {
  margin: 0.65rem 0 0;
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1.45;
  color: var(--st-muted);
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
    margin: 0 0 1.5rem;
  }
}

/* —— Checkout: termini e privacy —— */
.st-checkout-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin: 0 0 0.85rem;
  font-size: 0.8125rem;
}

.st-checkout-legal-links a {
  color: var(--st-text);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  opacity: 1;
}

.st-checkout-legal-links a:hover {
  opacity: 0.72;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #terms-and-conditions {
  margin: 0 0 1.15rem;
  padding: 0;
}

.woocommerce-checkout .form-row.terms,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
}

.woocommerce-checkout .form-row.terms label,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: none;
  color: var(--st-text);
  line-height: 1.55;
  cursor: pointer;
}

.woocommerce-checkout .form-row.terms input[type="checkbox"],
.woocommerce-checkout #terms,
.woocommerce-checkout input[name="terms"] {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: 0.15rem 0 0;
  accent-color: var(--st-money-green);
  cursor: pointer;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-link,
.woocommerce-checkout .woocommerce-privacy-policy-link,
.wc-block-checkout__terms a,
.wc-block-components-checkbox__label a {
  color: var(--st-text);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.wc-block-checkout__terms,
.wc-block-checkout .wc-block-checkout__terms {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.55;
}

.wc-block-components-checkbox.wc-block-checkout__terms {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.wc-block-components-checkbox.wc-block-checkout__terms .wc-block-components-checkbox__input {
  margin-top: 0.15rem;
  accent-color: var(--st-money-green);
}

/* —— Nome prodotto strutturato (titolo + variante) —— */
.st-product-name {
  display: block;
}

.st-product-name__title {
  display: block;
  font-weight: 400;
  line-height: 1.45;
}

.st-product-name__variant {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.45;
  color: var(--st-muted);
}

.wc-block-cart-item__product .st-product-name__variant,
.wc-block-components-order-summary-item .st-product-name__variant {
  margin-top: 0.2rem;
}
