/**
	Theme Name: Goya Child Theme
	Description: This is a child theme of Goya.
	Template: goya
	Version: 1.2
	Author: Everthemes
	Author URI: http://themeforest.net/user/luisvelaz
	Tags: responsive-layout, flexible-header, custom-colors, mega-menu, woocommerce, shop, ajax, page-builder, translation-ready, gutenberg
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ============================================================
   GOOGLE FONTS — Figtree
   ============================================================ */
@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-Black.eot");
  src:
    url("/wp-content/uploads/Figtree-Black.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-Black.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-Black.woff") format("woff"),
    url("/wp-content/uploads/Figtree-Black.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-Black.svg#Figtree-Black") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-BlackItalic.eot");
  src:
    url("/wp-content/uploads/Figtree-BlackItalic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-BlackItalic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-BlackItalic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-BlackItalic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-BlackItalic.svg#Figtree-BlackItalic") format("svg");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-Bold.eot");
  src:
    url("/wp-content/uploads/Figtree-Bold.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-Bold.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-Bold.woff") format("woff"),
    url("/wp-content/uploads/Figtree-Bold.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-Bold.svg#Figtree-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-BoldItalic.eot");
  src:
    url("/wp-content/uploads/Figtree-BoldItalic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-BoldItalic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-BoldItalic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-BoldItalic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-BoldItalic.svg#Figtree-BoldItalic") format("svg");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-ExtraBoldItalic.eot");
  src:
    url("/wp-content/uploads/Figtree-ExtraBoldItalic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-ExtraBoldItalic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-ExtraBoldItalic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-ExtraBoldItalic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-ExtraBoldItalic.svg#Figtree-ExtraBoldItalic") format("svg");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-ExtraBold.eot");
  src:
    url("/wp-content/uploads/Figtree-ExtraBold.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-ExtraBold.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-ExtraBold.woff") format("woff"),
    url("/wp-content/uploads/Figtree-ExtraBold.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-ExtraBold.svg#Figtree-ExtraBold") format("svg");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-Italic.eot");
  src:
    url("/wp-content/uploads/Figtree-Italic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-Italic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-Italic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-Italic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-Italic.svg#Figtree-Italic") format("svg");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-Light.eot");
  src:
    url("/wp-content/uploads/Figtree-Light.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-Light.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-Light.woff") format("woff"),
    url("/wp-content/uploads/Figtree-Light.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-Light.svg#Figtree-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-LightItalic.eot");
  src:
    url("/wp-content/uploads/Figtree-LightItalic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-LightItalic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-LightItalic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-LightItalic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-LightItalic.svg#Figtree-LightItalic") format("svg");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-Medium.eot");
  src:
    url("/wp-content/uploads/Figtree-Medium.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-Medium.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-Medium.woff") format("woff"),
    url("/wp-content/uploads/Figtree-Medium.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-Medium.svg#Figtree-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-Regular.eot");
  src:
    url("/wp-content/uploads/Figtree-Regular.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-Regular.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-Regular.woff") format("woff"),
    url("/wp-content/uploads/Figtree-Regular.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-Regular.svg#Figtree-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-MediumItalic.eot");
  src:
    url("/wp-content/uploads/Figtree-MediumItalic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-MediumItalic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-MediumItalic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-MediumItalic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-MediumItalic.svg#Figtree-MediumItalic") format("svg");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-SemiBold.eot");
  src:
    url("/wp-content/uploads/Figtree-SemiBold.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-SemiBold.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-SemiBold.woff") format("woff"),
    url("/wp-content/uploads/Figtree-SemiBold.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-SemiBold.svg#Figtree-SemiBold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Figtree";
  src: url("/wp-content/uploads/Figtree-SemiBoldItalic.eot");
  src:
    url("/wp-content/uploads/Figtree-SemiBoldItalic.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Figtree-SemiBoldItalic.woff2") format("woff2"),
    url("/wp-content/uploads/Figtree-SemiBoldItalic.woff") format("woff"),
    url("/wp-content/uploads/Figtree-SemiBoldItalic.ttf") format("truetype"),
    url("/wp-content/uploads/Figtree-SemiBoldItalic.svg#Figtree-SemiBoldItalic") format("svg");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* ============================================================
   CUSTOM FONTS — Termina
   ============================================================ */

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Demi.eot");
  src: url("/wp-content/uploads/Termina-Demi.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Demi.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Demi.woff") format("woff"),
    url("/wp-content/uploads/Termina-Demi.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Demi.svg#Termina-Demi") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Bold.eot");
  src: url("/wp-content/uploads/Termina-Bold.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Bold.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Bold.woff") format("woff"),
    url("/wp-content/uploads/Termina-Bold.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Bold.svg#Termina-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Black.eot");
  src: url("/wp-content/uploads/Termina-Black.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Black.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Black.woff") format("woff"),
    url("/wp-content/uploads/Termina-Black.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Black.svg#Termina-Black") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-ExtraLight.eot");
  src: url("/wp-content/uploads/Termina-ExtraLight.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-ExtraLight.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-ExtraLight.woff") format("woff"),
    url("/wp-content/uploads/Termina-ExtraLight.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-ExtraLight.svg#Termina-ExtraLight") format("svg");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Heavy.eot");
  src: url("/wp-content/uploads/Termina-Heavy.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Heavy.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Heavy.woff") format("woff"),
    url("/wp-content/uploads/Termina-Heavy.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Heavy.svg#Termina-Heavy") format("svg");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Light.eot");
  src: url("/wp-content/uploads/Termina-Light.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Light.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Light.woff") format("woff"),
    url("/wp-content/uploads/Termina-Light.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Light.svg#Termina-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Medium.eot");
  src: url("/wp-content/uploads/Termina-Medium.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Medium.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Medium.woff") format("woff"),
    url("/wp-content/uploads/Termina-Medium.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Medium.svg#Termina-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Thin.eot");
  src: url("/wp-content/uploads/Termina-Thin.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Thin.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Thin.woff") format("woff"),
    url("/wp-content/uploads/Termina-Thin.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Thin.svg#Termina-Thin") format("svg");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Termina";
  src: url("/wp-content/uploads/Termina-Regular.eot");
  src: url("/wp-content/uploads/Termina-Regular.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/uploads/Termina-Regular.woff2") format("woff2"),
    url("/wp-content/uploads/Termina-Regular.woff") format("woff"),
    url("/wp-content/uploads/Termina-Regular.ttf") format("truetype"),
    url("/wp-content/uploads/Termina-Regular.svg#Termina-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --purple-primary: #6b46c1;
  --purple-dark: #553c9a;
  --purple-light: #9f7aea;
  --purple-bg: #f5f3ff;
  --black: #1a1a1a;
  --dark-gray: #2d2d2d;
  --medium-gray: #6b6b6b;
  --light-gray: #f5f5f5;
  --white: #ffffff;
}

/* ============================================================
    0. OVERRIDE STILI GENERALI
   ============================================================ */

.accordion-home .e-n-accordion-item {
	background: #ffffff !important;
	border-radius: 2rem !important;
}

.hero-homepage .elementor .elementor-background-slideshow__slide__image{
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 60% auto;
}

/* ============================================================
   1. FONT GLOBALE
   ============================================================ */
/*
.theme-goya body,
.theme-goya h1,
.theme-goya h2,
.theme-goya h3,
.theme-goya h4,
.theme-goya h5,
.theme-goya h6,
.theme-goya .product-title,
.theme-goya .price,
.theme-goya button,
.theme-goya input,
.theme-goya select,
.theme-goya textarea,
.theme-goya .button,
.theme-goya p,
.theme-goya a,
.theme-goya span,
.theme-goya label,
.theme-goya .product_title,
.theme-goya .entry-title {
	font-family: "Figtree", sans-serif !important;
}
*/

/* ============================================================
   2. SHOP PAGE — HERO BANNER
   ============================================================ */

.post-type-archive-product .hero-header .hero-title{
  display: none !important;
}
.woocommerce-shop .shop-container .et-shop-title,
.woocommerce-shop .shop-container .page-description {
  text-align: center;
}

.woocommerce-shop .et-page-title-container,
.woocommerce-shop .shop-hero-banner {
  background: linear-gradient(135deg, var(--purple-bg) 0%, #ede9fe 100%);
  padding: 60px 40px;
  padding-top: clamp(36px, 4vw, 60px);
  padding-bottom: clamp(36px, 4vw, 60px);
  text-align: center;
}

.woocommerce-shop .et-shop-title,
.woocommerce-shop .woocommerce-products-header__title.page-title {
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -1px;
  color: var(--black);
  text-align: center;
}

.woocommerce-shop .page-description,
.woocommerce-shop .term-description {
  font-size: 18px;
  color: var(--medium-gray);
  max-width: 600px;
  margin: 12px auto 0;
  text-align: center;
}

/* ============================================================
   3. SHOP PAGE — CARD PRODOTTO
   ============================================================ */
.woocommerce .item.et-listing-style1 .product-inner {
  background: var(--white);
  border: 1px solid #f0f0f0 !important;
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
  height: 100%;
}

.woocommerce .item.et-listing-style1:hover .product-inner {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

.woocommerce .item.et-listing-style1 .caption {
  padding: 20px;
  display: flex;
  flex-direction: column;
}

/* Ordine visivo card: Categoria → Titolo → product_after_title → Prezzo → Meta → CTA */
.woocommerce .item.et-listing-style1 .caption .squiddi-card-category {
  order: 1;
}

.woocommerce .item.et-listing-style1 .caption .product-title {
  order: 2;
}

.woocommerce .item.et-listing-style1 .caption .product_after_title {
  order: 3;
}

.woocommerce .item.et-listing-style1 .caption .price {
  order: 4;
}

.woocommerce .item.et-listing-style1 .caption .squiddi-card-meta {
  order: 5;
}

.woocommerce .item.et-listing-style1 .caption .button {
  order: 6;
}

.woocommerce .item.et-listing-style1 .product-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--black);
}

.woocommerce .item.et-listing-style1 .product-title a {
  color: var(--black);
  text-decoration: none;
  font-weight: 700;
}

.woocommerce .item.et-listing-style1 .price {
  color: var(--black);
  font-weight: 700;
}

.woocommerce .item.et-listing-style1 .woocommerce-Price-amount.amount {
  font-size: 20px;
}

/* Action icons — visibili solo su hover */
.woocommerce .item.et-listing-style1 .action-icons {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.woocommerce .item.et-listing-style1:hover .action-icons,
.woocommerce .item.et-listing-style1:focus-within .action-icons {
  opacity: 1;
}

/* Action icons accessibili da tastiera */
.woocommerce .item.et-listing-style1 .action-icons a:focus-visible {
  outline: 2px solid var(--purple-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Badge "new" */
.woocommerce .item.et-listing-style1 .badge.new {
  background: var(--purple-primary);
  color: var(--white);
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  line-height: 1.4;
}

/* Bottone ATC nel loop */
.woocommerce .item.et-listing-style1 .button.add_to_cart_button,
.woocommerce .item.et-listing-style1 .button.product_type_variable {
  background: var(--purple-primary);
  color: var(--white);
  border-radius: 8px;
  border: none;
  font-weight: 600;
  padding: 10px 20px;

  transition: background 0.2s ease;
}

.woocommerce .item.et-listing-style1 .button.add_to_cart_button:hover,
.woocommerce .item.et-listing-style1 .button.product_type_variable:hover,
.woocommerce .item.et-listing-style1 .button.add_to_cart_button:focus-visible,
.woocommerce .item.et-listing-style1 .button.product_type_variable:focus-visible {
  background: var(--purple-dark);
  color: var(--white);
  outline: none;
}

/* Thumbnail border-radius + aspect-ratio uniforme */
.woocommerce .item.et-listing-style1 .product_thumbnail {
  border-radius: 12px;
  overflow: hidden;
}

.woocommerce .item.et-listing-style1 .product_thumbnail img {
  aspect-ratio: 5 / 8;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* ============================================================
   4. SHOP PAGE — TOOLBAR E FILTRI
   ============================================================ */

/* Nasconde sempre le icone vista */
.shop-views .grid-icon,
.shop-views.list-1 .list-icon,
.shop-views.small-1 .small-icon {
  display: none !important;
}

/* Nasconde le viste list e small */
.shop-views.list-1,
.shop-views.small-1 {
  display: none !important;
}

/* Wrapper toolbar */
.shop-filters.sticky-filters {
  display: flex;
  align-items: center;
  gap: 0px;
  justify-content: flex-end;
  position: sticky;
  top: 0;
  background: var(--white);
  z-index: 10;
}

/* Bottone filtri (filter-trigger) */
button.filter-trigger.filter-popup {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f5f3ff;
  color: #6b46c1;
  border: 2px solid #6b46c1;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 16px;
  cursor: pointer;
  transition: all 0.2s;
  line-height: 1;
}

button.filter-trigger.filter-popup:hover,
button.filter-trigger.filter-popup:focus-visible {
  background: #6b46c1;
  color: #ffffff;
  outline: none;
}

button.filter-trigger.filter-popup:hover svg,
button.filter-trigger.filter-popup:focus-visible svg {
  stroke: #ffffff;
}

/* Badge contatore filtri attivi */
button.filter-trigger.filter-popup .et-active-filters-count:not(:empty) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: #6b46c1;
  color: #ffffff;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

button.filter-trigger.filter-popup:hover .et-active-filters-count:not(:empty) {
  background: #ffffff;
  color: #6b46c1;
}

/* Select ordinamento — wrapper reset */
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
  margin: 0;
  float: none;
}

/* Select ordinamento — stile select nativo */
.woocommerce .woocommerce-ordering select.orderby,
.woocommerce-page .woocommerce-ordering select.orderby,
.shop_bar .woocommerce-ordering select.orderby {
  border: 2px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  background-color: #ffffff !important;
  background-image: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  box-shadow: none !important;
  height: 42px !important;
  cursor: pointer;
  transition: border-color 0.2s;
}

.woocommerce .woocommerce-ordering select.orderby:focus,
.shop_bar .woocommerce-ordering select.orderby:focus {
  outline: none !important;
  border-color: #6b46c1 !important;
  box-shadow: none !important;
}

.woocommerce .woocommerce-ordering select.orderby:hover,
.shop_bar .woocommerce-ordering select.orderby:hover {
  border-color: #9f7aea !important;
}

/* Select ordinamento — override Select2 (se Goya lo inietta) */
.shop_bar .select2-container--default .select2-selection--single {
  border: 2px solid #e5e5e5 !important;
  border-radius: 8px !important;
  height: 42px !important;
  background: #ffffff !important;
}

.shop_bar .select2-container--default .select2-selection--single .select2-selection__rendered {
  font-size: 14px !important;
  color: #1a1a1a !important;
  line-height: 38px !important;
  padding: 0 16px !important;
}

.shop_bar .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px !important;
  right: 10px !important;
}

.shop_bar .select2-container--default.select2-container--focus .select2-selection--single,
.shop_bar .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #6b46c1 !important;
  outline: none !important;
}

/* Toggle visualizzazione (griglia / small / lista) */
.shop-views {
  display: flex;
  gap: 4px;
}

button.shop-display {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  background: #ffffff;
  color: #6b6b6b;
  cursor: pointer;
  transition: all 0.2s;
  padding: 0;
}

button.shop-display svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: currentColor;
}

button.shop-display:hover {
  border-color: #9f7aea;
  color: #6b46c1;
}

button.shop-display.active {
  border-color: #6b46c1;
  background: #6b46c1;
  color: #ffffff;
}

button.shop-display.active svg {
  stroke: #ffffff;
  fill: #ffffff;
}

/* ============================================================
   5. PRODUCT PAGE — LAYOUT GENERALE
   ============================================================ */
.et-product-detail.et-product-layout-regular {
  padding-top: 20px;
}

.col-12.col-lg-5.product-information {
  padding-left: 40px;
}

/* Gallery */
.et-product-detail .product-gallery {
  border-radius: 16px;
}

.et-product-detail .woocommerce-product-gallery__image img {
  border-radius: 12px;
}

/* === GALLERY — Layout verticale thumbnail a sinistra (desktop) === */

/* Wrapper gallery: flex row → thumbnails a sinistra, immagine principale a destra */
@media (min-width: 769px) {
  .et-product-detail .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 12px !important;
  }

  /* Immagine principale: occupa lo spazio rimanente */
  .et-product-detail .woocommerce-product-gallery .flex-viewport {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    border-radius: 12px !important;
  }

  /* Colonna thumbnails a sinistra */
  .et-product-detail .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex: 0 0 80px !important;
    max-width: 80px !important;
    max-height: 100% !important;
  }

  .et-product-detail .woocommerce-product-gallery .flex-control-thumbs li {
    border-radius: 10px !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
    max-width: 80px !important;
    width: 80px !important;
  }
}

/* Fix slider: mantiene il border-radius durante le transizioni */
.flex-viewport {
  border-radius: 12px !important;
}

/* Fix thumbnail: stile base */
.flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding: 0 !important;
  list-style: none !important;
}

.flex-control-thumbs li {
  border-radius: 12px !important;
  overflow: hidden !important;
  flex: 0 0 calc(25% - 6px) !important;
  max-width: calc(25% - 6px) !important;
}

/* Thumbnail normale: border purple leggero */
.flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 2px solid rgba(107, 70, 193, 0.3) !important;
  transition: border-color 0.2s ease !important;
}

/* Thumbnail attiva: border purple pieno */
.flex-control-thumbs img.flex-active {
  border: 2px solid rgb(107, 70, 193) !important;
}

/* Hover sulle thumbnail */
.flex-control-thumbs img:hover {
  border-color: rgb(107, 70, 193) !important;
}

/* Titolo prodotto — allineamento al design di riferimento */
.et-product-detail .summary .product_title {
  font-size: 32px;
  font-weight: 700;
  color: #1A1A1A;
  letter-spacing: -0.5px;
  line-height: 1.2;
}

/* ============================================================
   5e. PRODUCT PAGE — PREZZO
   ============================================================ */
.et-product-detail .summary>.price,
.et-product-detail .summary>p.price {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1 !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

.et-product-detail .summary>.price .woocommerce-Price-amount {
  font-size: 36px;
  font-weight: 700;
  color: #1A1A1A;
}

/* Suffisso "IVA inclusa" accanto al prezzo */
.et-product-detail .summary .price .woocommerce-price-suffix {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #6B6B6B !important;
}

/* Label "Prezzo a partire da" */
.price-label {
  display: block;
  font-size: 13px;
  color: #6B6B6B;
  margin-bottom: 4px;
  font-weight: 400;
}

/* ============================================================
   5e-bis. PRODOTTO VARIABILE — Prezzo padre nascosto
   Il prezzo range viene rimosso via PHP; questo è un fallback CSS.
   ============================================================ */
.product-type-variable .et-product-detail .summary>p.price {
  display: none !important;
}

/* Nasconde anche il ::before "Da" per il prezzo variante */
.et-variation-price .price::before {
  display: none !important;
}

/* ============================================================
   5e-ter. PRODOTTO VARIABILE — Prezzo variante + Disponibilità
   Wrapper flex sulla stessa riga, inserito da JS sotto il titolo.
   ============================================================ */
.et-variation-price-row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}

.et-variation-price-row .et-variation-price .price {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #6b46c1 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin: 0 !important;
}

.et-variation-price-row .et-variation-price .price .woocommerce-Price-amount {
  font-size: 36px;
  font-weight: 700;
  color: #6b46c1;
}

.et-variation-price-row .et-variation-availability {
  font-size: 14px;
  font-weight: 500;
  align-self: center;
}

/* In-stock */
.single-product .et-variation-availability .stock.in-stock,
.single-product .stock.in-stock {
  color: #16A34A;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

/* Out-of-stock */
.single-product .et-variation-availability .stock.out-of-stock,
.single-product .stock.out-of-stock {
  color: #DC2626;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  padding: 0;
  border-radius: 0;
  margin: 0;
}

/* Dot colorato via ::before */
.single-product .stock.in-stock::before {
  content: '';
  width: 8px;
  height: 8px;
  background: #16A34A;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.single-product .stock.out-of-stock::before {
  content: '';
  width: 8px;
  height: 8px;
  background: #DC2626;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

/* ============================================================
   5e-quater. PRODOTTO VARIABILE — Descrizione variante sotto il titolo
   ============================================================ */
.et-variation-desc-slot {
  margin-bottom: 4px;
}

.et-variation-desc-slot .et-variation-description {
  font-size: 14px;
  line-height: 1.7;
  color: #6b6b6b;
  margin-bottom: 8px;
}

.et-variation-desc-slot .et-variation-description p:last-child {
  margin-bottom: 0;
}

/* ============================================================
   5f. PRODUCT PAGE — DESCRIZIONE BREVE
   ============================================================ */
.et-product-detail .woocommerce-product-details__short-description {
  font-size: 14px;
  line-height: 1.7;
  color: #6b6b6b;
  margin-bottom: 24px;
}

/* ============================================================
   6. PRODUCT PAGE — YITH WCCL VARIANTI
   Il <select> nativo è hidden dal plugin YITH WCCL,
   si stilizzano solo i div custom.
   ============================================================ */

/* --- Layout generale — label inline sopra i widget --- */
.et-product-detail .variations tr {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 20px !important;
}

.et-product-detail .variations th.label {
  padding: 0 0 8px 0 !important;
  border: none !important;
  width: 100% !important;
}

.et-product-detail .variations th.label label {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #1a1a1a !important;
}

.et-product-detail .variations td.value {
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
}

/* --- Qualità — bottoni card orizzontali, 25% desktop / 50% mobile --- */
.et-product-detail .select_box_label.attribute_pa_qualita {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.et-product-detail .select_box_label.attribute_pa_qualita .select_option_label,
.et-product-detail .select_box_label.attribute_pa_qualita .select_option {
  flex: 0 0 calc(50% - 4px) !important;
  width: calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  background: #ffffff !important;
}

.et-product-detail .select_box_label.attribute_pa_qualita .select_option_label .yith_wccl_value {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #6b6b6b !important;
  border: none;
}

/* Hover qualità */
.et-product-detail .select_box_label.attribute_pa_qualita .select_option_label:hover {
  border-color: #9f7aea !important;
  background: #f5f3ff !important;
}

.et-product-detail .select_box_label.attribute_pa_qualita .select_option_label:hover .yith_wccl_value {
  color: #6b46c1 !important;
}

/* Stato attivo qualità */
.et-product-detail .select_box_label.attribute_pa_qualita .select_option_label.selected {
  border-color: #6b46c1 !important;
  background: #6b46c1 !important;
}

.et-product-detail .select_box_label.attribute_pa_qualita .select_option_label.selected .yith_wccl_value {
  color: #ffffff !important;
}

/* --- Taglia — bottoni compatti a griglia --- */
.et-product-detail .select_box_label.attribute_pa_taglia {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.et-product-detail .select_box_label.attribute_pa_taglia .select_option_label {
  width: auto !important;
  min-width: 48px !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  background: #ffffff !important;
}

.et-product-detail .select_box_label.attribute_pa_taglia .select_option_label .yith_wccl_value {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  text-transform: uppercase !important;
  border: none;
}

/* Hover taglia */
.et-product-detail .select_box_label.attribute_pa_taglia .select_option_label:hover {
  border-color: #9f7aea !important;
  background: #f5f3ff !important;
}

.et-product-detail .select_box_label.attribute_pa_taglia .select_option_label:hover .yith_wccl_value {
  color: #6b46c1 !important;
}

/* Stato attivo taglia */
.et-product-detail .select_box_label.attribute_pa_taglia .select_option_label.selected {
  border-color: #6b46c1 !important;
  background: #6b46c1 !important;
}

.et-product-detail .select_box_label.attribute_pa_taglia .select_option_label.selected .yith_wccl_value {
  color: #ffffff !important;
}

/* --- Colore — swatches circolari (override per product page) --- */
.et-product-detail .select_box_colorpicker {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.et-product-detail .select_box_colorpicker .select_option_colorpicker {
  cursor: pointer !important;
  transition: transform 0.2s !important;
}

.et-product-detail .select_box_colorpicker .select_option_colorpicker .yith_wccl_value_wrapper {
  width: 32px !important;
  height: 32px !important;
}

.et-product-detail .select_box_colorpicker .select_option_colorpicker .yith_wccl_value {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 1.5px #d1d5db !important;
  transition:
    transform 0.2s,
    box-shadow 0.2s !important;
}

/* Hover colore */
.et-product-detail .select_box_colorpicker .select_option_colorpicker:hover .yith_wccl_value {
  transform: scale(1.15) !important;
  box-shadow:
    0 0 0 1.5px #d1d5db,
    0 0 0 3.5px #6b46c1 !important;
}

/* Stato attivo colore */
.et-product-detail .select_box_colorpicker .select_option_colorpicker.selected .yith_wccl_value {
  box-shadow:
    0 0 0 1.5px #d1d5db,
    0 0 0 3.5px #6b46c1 !important;
}

/* --- Focus-visible per accessibilità tastiera sui color swatches --- */
.et-product-detail .select_box_colorpicker .select_option_colorpicker:focus-visible .yith_wccl_value {
  box-shadow:
    0 0 0 1.5px #d1d5db,
    0 0 0 3.5px #6b46c1 !important;
  outline: none;
}

/* Focus-visible: selettori qualità e taglia */
.et-product-detail .select_box_label .select_option_label:focus-visible {
  outline: 2px solid #6b46c1;
  outline-offset: 2px;
  border-radius: 4px;
}

/* --- Variante non disponibile — stile disabilitato --- */
.et-product-detail .select_option_label.disabled,
.et-product-detail .select_option_colorpicker.disabled,
.select_option_label.squiddi-swatch-disabled,
.select_option_colorpicker.squiddi-swatch-disabled {
  position: relative !important;
  opacity: 0.35 !important;
  cursor: not-allowed !important;
  pointer-events: auto !important;
  overflow: hidden !important;
}

/* Diagonale sottile sulle varianti testuali disabilitate */
.select_option_label.squiddi-swatch-disabled::after,
.et-product-detail .select_option_label.disabled::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to top left,
      transparent calc(50% - 0.5px),
      rgba(0, 0, 0, 0.25) calc(50% - 0.5px),
      rgba(0, 0, 0, 0.25) calc(50% + 0.5px),
      transparent calc(50% + 0.5px)) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  border-radius: inherit !important;
}

/* Diagonale sottile sulle varianti colore disabilitate */
.select_option_colorpicker.squiddi-swatch-disabled::after,
.et-product-detail .select_option_colorpicker.disabled::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(to top left,
      transparent calc(50% - 0.5px),
      rgba(100, 100, 100, 0.5) calc(50% - 0.5px),
      rgba(100, 100, 100, 0.5) calc(50% + 0.5px),
      transparent calc(50% + 0.5px)) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  border-radius: inherit !important;
}

/* Touch target minimo WCAG per i cerchi colore disabilitati */
.select_option_colorpicker.squiddi-swatch-disabled,
.et-product-detail .select_option_colorpicker.disabled {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Rimuovi il ::before del plugin (diagonale grossa rossa) */
.select_option_label.squiddi-swatch-disabled::before,
.select_option_colorpicker.squiddi-swatch-disabled::before,
.et-product-detail .select_option_label.disabled::before,
.et-product-detail .select_option_colorpicker.disabled::before {
  display: none !important;
  content: none !important;
}

/* Sicurezza: nasconde eventuali tooltip residui nel DOM */
.squiddi-disabled-tooltip {
  display: none !important;
}

/* Rimuovi line-through dal testo delle varianti disabilitate */
.et-product-detail .select_option_label.disabled,
.et-product-detail .select_option_label.disabled *,
.select_option_label.squiddi-swatch-disabled,
.select_option_label.squiddi-swatch-disabled * {
  text-decoration: none !important;
}

/* Disabilita hover sulle varianti non disponibili */
.select_option_label.squiddi-swatch-disabled:hover,
.et-product-detail .select_option_label.disabled:hover {
  border-color: #e5e5e5 !important;
  background: #ffffff !important;
}

.select_option_label.squiddi-swatch-disabled:hover .yith_wccl_value,
.et-product-detail .select_option_label.disabled:hover .yith_wccl_value {
  color: inherit !important;
}

/* --- Animazione shake per feedback click --- */
@keyframes squiddi-shake {

  0%,
  100% {
    transform: translateX(0);
  }

  20% {
    transform: translateX(-4px);
  }

  40% {
    transform: translateX(4px);
  }

  60% {
    transform: translateX(-3px);
  }

  80% {
    transform: translateX(3px);
  }
}

.squiddi-swatch-shake {
  animation: squiddi-shake 0.4s ease !important;
}

/* --- Toast "non disponibile" (mobile) --- */
#squiddi-unavailable-toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(30, 30, 30, 0.92);
  color: #fff;
  padding: 10px 20px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  white-space: nowrap;
}

#squiddi-unavailable-toast.visible {
  opacity: 1;
}

/* ============================================================
   6b. PRODUCT PAGE — LINK SVUOTA SELEZIONE
   ============================================================ */
.et-product-detail .reset_variations {
  font-size: 12px;
  color: #6b6b6b;
  text-decoration: none;
  display: inline-block;
  margin-top: 6px;
  transition: color 0.2s;
}

.et-product-detail .reset_variations:hover {
  color: #ef4444;
}

/* ===========================================================
   WRAPPER PRINCIPALE — et-cart-flex-wrapper
   Il tema genera questo flex container che contiene:
   [.et-wishlist-div-open (qty+ATC)] + [.yith-add-to-wishlist-button-block]
   =========================================================== */
/* DESKTOP ≥992px: tutto in una riga */
.et-product-detail .et-cart-flex-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

/* TABLET 768–991px: qty sulla prima riga intera,
   poi ATC + cuore sulla seconda riga */
@media (max-width: 991px) {
  .et-product-detail .et-cart-flex-wrapper {
    flex-wrap: wrap !important;
  }
}

/* MOBILE ≤575px: row wrap → qty 100%, poi ATC + cuore affiancati */
@media (max-width: 575px) {
  .et-product-detail .et-cart-flex-wrapper {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
  }
}

/* ===========================================================
   .et-wishlist-div-open — contiene qty + ATC
   =========================================================== */
.et-product-detail .et-wishlist-div-open {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  /* flex:1 → si espande, lascia 52px+12px al cuore */
  flex: 1 1 0% !important;
  min-width: 200px !important;
}

/* TABLET: qty prende tutta la riga, poi ATC + cuore sulla riga successiva */
@media (min-width: 576px) and (max-width: 991px) {
  .et-product-detail .et-wishlist-div-open {
    flex-wrap: wrap !important;
    /* Occupa tutta la riga del wrapper */
    flex: 0 0 100% !important;
    min-width: 100% !important;
  }

  /* qty: prima riga dentro etDiv, compatta (non full-width) */
  .et-product-detail .et-wishlist-div-open .quantity {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 140px !important;
    max-width: 180px !important;
    justify-content: space-between !important;
  }

  /* ATC: seconda riga dentro etDiv, si espande */
  .et-product-detail .single_add_to_cart_button.button.alt {
    flex: 1 1 auto !important;
    width: auto !important;
  }
}

/* MOBILE ≤575px: etDiv in colonna, qty 100%, ATC prende spazio rimanente */
@media (max-width: 575px) {
  .et-product-detail .et-wishlist-div-open {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    flex-direction: column !important;
  }
}

/* ===========================================================
   QUANTITÀ
   =========================================================== */
.et-product-detail .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  width: auto !important;
  height: 52px !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

/* Mobile: qty full width */
@media (max-width: 575px) {
  .et-product-detail .quantity {
    width: 100% !important;
    flex-shrink: 1 !important;
    justify-content: space-between !important;
  }
}

.et-product-detail .quantity .minus,
.et-product-detail .quantity .plus {
  width: 44px !important;
  height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  background: #f5f5f5 !important;
  color: #1a1a1a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition:
    background 0.2s,
    color 0.2s !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.et-product-detail .quantity .minus svg,
.et-product-detail .quantity .plus svg {
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
  pointer-events: none !important;
}

.et-product-detail .quantity .minus:hover,
.et-product-detail .quantity .plus:hover {
  background: #6b46c1 !important;
  color: #ffffff !important;
}

.et-product-detail .quantity .input-text.qty {
  flex: 1 !important;
  width: 52px !important;
  min-width: unset !important;
  height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
}

.et-product-detail .quantity .input-text.qty::-webkit-outer-spin-button,
.et-product-detail .quantity .input-text.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.et-product-detail .quantity .input-text.qty:focus {
  outline: none !important;
}

/* ===========================================================
   BOTTONE AGGIUNGI AL CARRELLO
   =========================================================== */
.et-product-detail .single_add_to_cart_button.button.alt {
  flex: 1 1 auto !important;
  min-width: 140px !important;
  height: 52px !important;
  background: #6b46c1 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 0 24px !important;
  cursor: pointer !important;
  transition:
    background 0.2s,
    transform 0.1s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

/* Icona shopping-bag (Feather) via ::before */
.single-product .single_add_to_cart_button.button.alt::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Mobile: ATC full width */
@media (max-width: 575px) {
  .et-product-detail .single_add_to_cart_button.button.alt {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
}

.et-product-detail .single_add_to_cart_button.button.alt:hover {
  background: #553c9a !important;
  transform: translateY(-1px) !important;
}

.et-product-detail .single_add_to_cart_button.button.alt:active {
  transform: translateY(0) !important;
}

.et-product-detail .single_add_to_cart_button.button.alt.loading {
  opacity: 0.7 !important;
  transform: none !important;
}

/* ===========================================================
   WISHLIST BLOCK — sibling diretto in .et-cart-flex-wrapper
   Full-width con testo visibile
   =========================================================== */
.et-product-detail .yith-add-to-wishlist-button-block {
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Wrapper <a> — trasparente */
.et-product-detail .yith-wcwl-add-to-wishlist-button-anchor-wrapper {
  display: contents !important;
}

/* ===========================================================
   BOTTONE WISHLIST — stati: default, hover, aggiunto, loading
   Sovrascrive padding dal tema shop.css (0.75rem) e
   padding da add-to-wishlist.css (6px 10px su :is(button))
   =========================================================== */
.et-product-detail .yith-wcwl-add-to-wishlist-button,
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-theme-button-style {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 52px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  color: #9ca3af !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Testo wishlist visibile */
.et-product-detail .yith-wcwl-add-to-wishlist-button__label,
.et-product-detail .yith-wcwl-add-to-wishlist-button span:not(.yith-wcwl-icon-svg__wrapper) {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: inherit !important;
}

/* SVG cuore */
.et-product-detail .yith-wcwl-add-to-wishlist-button .yith-wcwl-icon-svg__wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  pointer-events: none !important;
  flex-shrink: 0 !important;
}

.et-product-detail .yith-wcwl-add-to-wishlist-button svg.yith-wcwl-icon,
.et-product-detail .yith-wcwl-add-to-wishlist-button svg.yith-wcwl-add-to-wishlist-button-icon {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  transition:
    fill 0.2s,
    stroke 0.2s !important;
  pointer-events: none !important;
}

/* ── HOVER ── */
.et-product-detail .yith-wcwl-add-to-wishlist-button:hover,
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-theme-button-style:hover {
  background: #f5f3ff !important;
  border-color: #6b46c1 !important;
  color: #6b46c1 !important;
}

.et-product-detail .yith-wcwl-add-to-wishlist-button:hover svg.yith-wcwl-icon,
.et-product-detail .yith-wcwl-add-to-wishlist-button:hover svg.yith-wcwl-add-to-wishlist-button-icon {
  fill: #6b46c1 !important;
  stroke: #6b46c1 !important;
}

/* ── AGGIUNTO ── */
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added {
  background: #f5f3ff !important;
  border-color: #6b46c1 !important;
  color: #6b46c1 !important;
}

.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added svg.yith-wcwl-icon,
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added svg.yith-wcwl-add-to-wishlist-button-icon {
  fill: #6b46c1 !important;
  stroke: #6b46c1 !important;
}

/* Hover su stato aggiunto */
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added:hover {
  background: #ede9fe !important;
  border-color: #553c9a !important;
  color: #553c9a !important;
}

.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added:hover svg.yith-wcwl-icon,
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--added:hover svg.yith-wcwl-add-to-wishlist-button-icon {
  fill: #553c9a !important;
  stroke: #553c9a !important;
}

/* ── LOADING ── */
.et-product-detail .yith-wcwl-add-to-wishlist-button.yith-wcwl-add-to-wishlist-button--loading {
  opacity: 0.5 !important;
  pointer-events: none !important;
  cursor: wait !important;
}

/* ============================================================
   8. PRODUCT PAGE — TABS (accordion Goya)
   ============================================================ */
.woocommerce-tabs.tabs-accordion .tab-title {
  border-bottom: 1px solid #e5e5e5 !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  cursor: pointer;
}

.woocommerce-tabs.tabs-accordion .tab-link {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
}

.woocommerce-tabs.tabs-accordion .tab-title:hover .tab-link,
.woocommerce-tabs.tabs-accordion .tab-title.active .tab-link {
  color: #6b46c1 !important;
}

.woocommerce-Tabs-panel {
  padding: 20px 0 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #2d2d2d !important;
  border: none !important;
  background: transparent !important;
}

/* Il titolo "Descrizione" dentro il panel è ridondante */
.woocommerce-Tabs-panel h2 {
  display: none !important;
}

/* ============================================================
   8b. PRODUCT PAGE — TABELLA ATTRIBUTI (Informazioni aggiuntive)
   ============================================================ */
.woocommerce-product-attributes.shop_attributes {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-product-attributes-item {
  border-bottom: 1px solid #f5f5f5 !important;
}

.woocommerce-product-attributes-item__label {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #6b6b6b !important;
  padding: 12px 16px 12px 0 !important;
  width: 40% !important;
  vertical-align: top !important;
  border: none !important;
}

.woocommerce-product-attributes-item__value {
  font-size: 14px !important;
  color: #1a1a1a !important;
  padding: 12px 0 !important;
  border: none !important;
}

/* ============================================================
   9. PRODUCT PAGE — STICKY BAR
   ============================================================ */
.sticky-product-bar {
  background: #ffffff !important;
  box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.08) !important;
  border-top: 1px solid #f5f5f5 !important;
}

.sticky-product-bar-content {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
}

.sticky-product-bar-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  flex: 1;
}

.sticky_add_to_cart.add_to_cart_button.button {
  background: #6b46c1 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  white-space: nowrap !important;
}

.sticky_add_to_cart.add_to_cart_button.button:hover {
  background: #553c9a !important;
}

/* ============================================================
   9b. PRODUCT PAGE — META PRODOTTO (SKU, Categorie)
   ============================================================ */
.product_meta {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f5f5f5;
  font-size: 13px;
  color: #6b6b6b;
}

.product_meta .sku_wrapper,
.product_meta .posted_in {
  display: block;
  margin-bottom: 6px;
}

.product_meta a {
  color: #6b46c1;
  text-decoration: none;
}

.product_meta a:hover {
  text-decoration: underline;
}

/* ============================================================
   10. BREADCRUMB
   ============================================================ */
.theme-goya .woocommerce-breadcrumb {
  font-size: 13px;
  color: var(--medium-gray);
}

.theme-goya .woocommerce-breadcrumb a {
  color: var(--medium-gray);
  text-decoration: none;
  transition: color 0.2s ease;
}

.theme-goya .woocommerce-breadcrumb a:hover {
  color: var(--purple-primary);
}

/* --- 10b. Breadcrumb product page override --- */
/* Il colore base del nav (#1A1A1A) si applica al nodo testo finale
   (es. "T-SHIRT") che WooCommerce NON wrappa in <span>.
   I link vengono de-colorati a #6B6B6B con !important. */
.theme-goya.single-product .woocommerce-breadcrumb {
  font-size: 13px !important;
  color: #1A1A1A;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 600;
}

.theme-goya.single-product .woocommerce-breadcrumb a {
  color: #6B6B6B !important;
  text-decoration: none;
  transition: color 0.2s;
}

.theme-goya.single-product .woocommerce-breadcrumb a:hover {
  color: #6B46C1 !important;
}

.theme-goya.single-product .woocommerce-breadcrumb i {
  color: #cccccc;
  font-style: normal;
  margin: 0 4px;
}

/* ============================================================
   11. PAGINAZIONE
   ============================================================ */
.woocommerce .woocommerce-pagination.et-pagination {
  text-align: center;
}

.woocommerce .woocommerce-pagination .page-numbers {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 2px solid #e5e5e5;
  color: var(--black);
  text-decoration: none;
  font-weight: 500;
  margin: 0 4px;
  transition:
    border-color 0.2s ease,
    color 0.2s ease,
    background 0.2s ease;
}

.woocommerce .woocommerce-pagination .page-numbers.current {
  background: var(--purple-primary);
  border-color: var(--purple-primary);
  color: var(--white);
}

.woocommerce .woocommerce-pagination .page-numbers:hover {
  border-color: var(--purple-primary);
  color: var(--purple-primary);
}

.woocommerce .woocommerce-pagination .page-numbers.current:hover {
  color: var(--white);
}

/* ============================================================
   12. SIDEBAR FILTRI — YITH WCAN Override
   ============================================================ */

/* --- 12.1 Sovrascrittura variabili YITH WCAN --- */
:root {
  --yith-wcan-filters_colors_titles: #1a1a1a !important;
  --yith-wcan-filters_colors_background: #ffffff !important;
  --yith-wcan-filters_colors_accent: #6b46c1 !important;
  --yith-wcan-filters_colors_accent_r: 107 !important;
  --yith-wcan-filters_colors_accent_g: 70 !important;
  --yith-wcan-filters_colors_accent_b: 193 !important;
  --yith-wcan-color_swatches_border_radius: 100% !important;
  --yith-wcan-color_swatches_size: 32px !important;
  --yith-wcan-labels_style_background: #ffffff !important;
  --yith-wcan-labels_style_background_hover: #f5f3ff !important;
  --yith-wcan-labels_style_background_active: #6b46c1 !important;
  --yith-wcan-labels_style_text: #1a1a1a !important;
  --yith-wcan-labels_style_text_hover: #6b46c1 !important;
  --yith-wcan-labels_style_text_active: #ffffff !important;
  --yith-wcan-anchors_style_text: #6b6b6b !important;
  --yith-wcan-anchors_style_text_hover: #6b46c1 !important;
  --yith-wcan-anchors_style_text_active: #6b46c1 !important;
}

/* --- 12.2 Container sidebar --- */
.side-panel-content.custom_scroll,
.shop-sidebar.shop-widget-scroll {
  background: var(--white);
  padding: 0;
}

.widget_yith-woocommerce-ajax-navigation-filters {
  padding: 0;
}

.yith-wcan-filters {
  padding: 0;
}

.filters-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* --- 12.3 Titoli sezione filtro --- */
.yith-wcan-filter h4.filter-title {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--black);
  padding-bottom: 12px;
  border-bottom: 2px solid #f5f5f5;
  margin-bottom: 16px;
  margin-top: 0;
  cursor: pointer;
}

.yith-wcan-filter h4.filter-title.collapsable::after {
  color: var(--purple-primary);
}

/* --- 12.4 Filtro Categorie (checkbox) --- */
.yith-wcan-filter.checkbox-design .filter-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.yith-wcan-filter.checkbox-design .filter-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  color: var(--black);
  transition: color 0.2s;
  margin: 0;
  line-height: 1.4 !important;
}

.yith-wcan-filter.checkbox-design .filter-item label:hover {
  color: var(--purple-primary);
}

.yith-wcan-filter.checkbox-design input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--purple-primary);
  cursor: pointer;
  flex-shrink: 0;
  margin: 0 !important;
  border-radius: 2px;
}

.yith-wcan-filter.checkbox-design input[type="checkbox"]:hover {
  border-color: var(--purple-primary) !important;
}

.yith-wcan-filter.checkbox-design input[type="checkbox"]:checked {
  border-color: var(--purple-primary) !important;
  background-color: var(--purple-primary) !important;
}

.yith-wcan-filter.checkbox-design input[type="checkbox"]:checked:before {
  height: 10px !important;
  width: 5px !important;
  border-width: 0 2px 2px 0 !important;
  top: -1px !important;
  left: 2px !important;
}

.yith-wcan-filter.checkbox-design a.term-label {
  color: var(--black) !important;
  text-decoration: none;
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  align-content: center;
  gap: 6px;
  flex: 1;
  width: 100%;
  padding: 0 !important;
}

.yith-wcan-filter.checkbox-design a.term-label:hover {
  color: var(--purple-primary) !important;
}

.yith-wcan-filter.checkbox-design a.term-label.selected {
  color: var(--purple-primary) !important;
}

.yith-wcan-filter.checkbox-design small.item-count {
  font-size: 12px;
  color: var(--medium-gray);
  margin-left: auto;
}

/* --- 12.5 Filtro Colori (color swatches) --- */
.yith-wcan-filter.color-design .filter-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.yith-wcan-filter.color-design .filter-item {
  margin: 0;
}

.yith-wcan-filter.color-design .filter-item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
}

.yith-wcan-filter.color-design .color-swatch {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: block;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
  /* box-shadow grigio come bordo visibile su tutti i colori (anche bianchi) */
  box-shadow: 0 0 0 1.5px #d1d5db !important;
  border: none !important;
}

/* Hover — ring viola */
.yith-wcan-filter.color-design .filter-item a:hover .color-swatch {
  transform: scale(1.15);
  box-shadow:
    0 0 0 1.5px #d1d5db,
    0 0 0 3px #6b46c1 !important;
}

/* Stato attivo/selezionato — ring viola più marcato */
.yith-wcan-filter.color-design .filter-item.active a .color-swatch,
.yith-wcan-filter.color-design .filter-item a.selected .color-swatch,
.yith-wcan-filter.color-design .filter-item a[class*="selected"] .color-swatch {
  box-shadow:
    0 0 0 1.5px #d1d5db,
    0 0 0 3.5px #6b46c1 !important;
}

.yith-wcan-filter.color-design .term-label {
  font-size: 10px;
  color: #6b6b6b;
  text-align: center;
  line-height: 1.2;
  max-width: 40px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.color .term-label {
  display: none;
}

/* Nasconde tooltip hover sui color swatch nella sidebar */
#side-filters .yith-wcan-filter.color-design .filter-item.color a::before,
#side-filters .yith-wcan-filter.color-design .filter-item.color a::after {
  display: none !important;
  content: none !important;
}

/* --- 12.5b Tooltip color swatches --- */

/* --- 12.6 Filtro Qualità (label buttons) --- */
.yith-wcan-filter.label-design .filter-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.yith-wcan-filters .yith-wcan-filter.label-design .filter-items {
  padding: 0px 10px;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label {
  box-shadow: none !important;
  margin: 0 !important;
}

/* Reset li — sposta padding/border/bg sul <a> per area cliccabile piena */
.yith-wcan-filter.label-design .filter-items .filter-item.label {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* --- Sidebar Qualità → 100% larghezza (stacked) --- */
.yith-wcan-filter[data-taxonomy="filter_qualita"] .filter-items {
  flex-direction: column !important;
}

.yith-wcan-filter[data-taxonomy="filter_qualita"] .filter-items .filter-item.label {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* --- Sidebar Taglia → pulsanti compatti, 5 per riga --- */
.yith-wcan-filter[data-taxonomy="filter_taglia"] .filter-items {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.yith-wcan-filter[data-taxonomy="filter_taglia"] .filter-items .filter-item.label {
  flex: 0 0 calc(20% - 4.8px) !important;
  width: calc(20% - 4.8px) !important;
  max-width: calc(20% - 4.8px) !important;
}

.yith-wcan-filter[data-taxonomy="filter_taglia"] .filter-items .filter-item.label>a {
  padding: 6px 4px !important;
  border-radius: 8px !important;
  line-height: 1.2 !important;
  min-height: 34px !important;
}

.yith-wcan-filter[data-taxonomy="filter_taglia"] .term-label {
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* <a> prende tutto lo spazio e tutti gli stili visivi */
.yith-wcan-filter.label-design .filter-items .filter-item.label>a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 10px 16px;
  border: 2px solid #e5e5e5;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s;
  line-height: 2;
}

/* Hover su item NON attivo */
.yith-wcan-filter.label-design .filter-items .filter-item.label>a:hover {
  border-color: #9f7aea !important;
  background: #f5f3ff !important;
}

/* Active + selected */
.yith-wcan-filter.label-design .filter-items .filter-item.label.active>a,
.yith-wcan-filter.label-design .filter-item a.selected {
  border-color: var(--purple-primary) !important;
  background-color: var(--purple-primary) !important;
}

/* Hover su item attivo — indica deselezionabilità */
.yith-wcan-filter.label-design .filter-items .filter-item.label.active>a:hover {
  border-color: var(--purple-dark) !important;
  background-color: var(--purple-dark) !important;
}

/* Term label: stile base */
.yith-wcan-filter.label-design .term-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--black);
  text-transform: capitalize;
}

/* Hover su item NON attivo: testo viola */
.yith-wcan-filter.label-design .filter-item:not(.active) a:hover .term-label {
  color: var(--purple-primary);
}

/* Item attivo: testo sempre bianco */
.yith-wcan-filter.label-design .filter-item.active>a .term-label {
  color: #fff !important;
}

/* Hover su item attivo: testo resta bianco */
.yith-wcan-filter.label-design .filter-item.active>a:hover .term-label {
  color: #fff !important;
}

/* --- 12.7 Filtro Prezzo (input numerici) --- */
.yith-wcan-filter.filter-price-slider .price-slider.fields {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  width: 100%;
  gap: 10px;
}

.yith-wcan-filter.filter-price-slider label {
  font-size: 13px;
  font-weight: 600;
  color: var(--black);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

.yith-wcan-filter.filter-price-slider input.price-slider-min,
.yith-wcan-filter.filter-price-slider input.price-slider-max {
  width: 100% !important;
  padding: 8px;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  font-size: 14px;
  color: var(--black);
  text-align: center;
  transition: border-color 0.2s;
  -moz-appearance: textfield;
}

.yith-wcan-filter.filter-price-slider input:focus {
  outline: none;
  border-color: var(--purple-primary);
}

.yith-wcan-filter.filter-price-slider input::-webkit-outer-spin-button,
.yith-wcan-filter.filter-price-slider input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.yith-wcan-filter.filter-price-slider .currency {
  font-size: 14px;
  font-weight: 600;
  color: var(--purple-primary);
}

/* --- 12.9 Pulsante Reset Filtri --- */
button.btn.yith-wcan-reset-filters {
  background: transparent;
  color: #6b6b6b;
  border: 2px solid #e5e5e5;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s;
  width: 100%;
  justify-content: center;
  margin-top: 16px;
}

button.btn.yith-wcan-reset-filters:hover {
  background: #fef2f2;
  border-color: #ef4444;
  color: #ef4444;
}

/* ============================================================
   12b. RESPONSIVE — TABLET (max-width: 1024px)
   ============================================================ */
@media (max-width: 1024px) {

  /* Qualità variante — 2 per riga tablet */
  .et-product-detail .select_box_label.attribute_pa_qualita .select_option_label,
  .et-product-detail .select_box_label.attribute_pa_qualita .select_option {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    margin-right: 0 !important;
  }
}

/* Qualità variante — 2 per riga mobile */
@media (max-width: 575px) {

  .et-product-detail .select_box_label.attribute_pa_qualita .select_option_label,
  .et-product-detail .select_box_label.attribute_pa_qualita .select_option {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
  }
}

/* ============================================================
   12c. FIX SIDEBAR FILTRI — TABLET (max-width: 991px)
   La colonna .shop-sidebar-col mantiene il suo spazio nel layout
   anche quando #side-filters è traslato fuori schermo, creando
   un'area vuota sopra i prodotti. Nascondiamo la colonna e la
   mostriamo solo quando i filtri sono aperti.
   ============================================================ */
@media only screen and (max-width: 991px) {
  .shop-sidebar-col {
    display: none !important;
  }

  body.panel-open-filters .shop-sidebar-col {
    display: block !important;
  }
}

/* ============================================================
   12d. SIDEBAR FILTRI DESKTOP — Header visibile solo in popup
   L'header del side-filters deve essere visibile SOLO quando
   il pannello è aperto come popup (non inline nella sidebar).
   ============================================================ */
@media only screen and (min-width: 992px) {

  /* Nasconde il bottone filtri dalla shop bar quando la sidebar è inline */
  .shop-sidebar-col #et-shop-filters,
  .shop-sidebar-sidebar #et-shop-filters,
  .shop-sidebar-header .filter-popup {
    display: none;
  }

  /* Nasconde header/close solo quando il side-filters è inline (position:relative) */
  .shop-sidebar-col #side-filters header,
  .shop-sidebar-sidebar .shop-sidebar .header-active-filters {
    display: none;
  }

  /* Sidebar scrollabile indipendente dalla pagina */
  .shop-sidebar-col .shop-sidebar {
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 10px;
    /* spazio per scrollbar */
  }

  /* Il contenitore interno non deve avere scroll proprio */
  .shop-sidebar-col #side-filters {
    overflow: visible;
  }
}

/* Assicura che l'header del pannello filtri sia sempre visibile quando aperto */
body.panel-open-filters #side-filters>header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px !important;
  height: 56px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: #ffffff !important;
  position: sticky;
  top: 0;
  z-index: 11;
}

/* Responsive: più padding su schermi più grandi */
@media only screen and (min-width: 480px) {
  body.panel-open-filters #side-filters>header {
    padding: 0 24px !important;
  }
}

/* ============================================================
   12e. SIDE-PANEL HEADER — Override compatto + sticky
   ============================================================ */
.side-panel header {
  background: #ffffff;
  color: rgb(40, 40, 40);
  padding: 0 16px;
  height: 56px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  position: sticky;
  top: 0;
  z-index: 11;
}

/* Pill handle in cima al bottom-sheet (mobile + tablet) */
@media only screen and (max-width: 991px) {
  #side-filters::before {
    content: '';
    display: block;
    width: 36px;
    height: 4px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 2px;
    margin: 10px auto 0;
    flex-shrink: 0;
  }
}

/* ============================================================
   13. RESPONSIVE — MOBILE (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {

  /* Sidebar filtri — padding interno */
  .side-panel-content.custom_scroll,
  .shop-sidebar.shop-widget-scroll {
    padding: 10px;
  }

  /* Hero banner */
  .woocommerce-shop .et-page-title-container,
  .woocommerce-shop .shop-hero-banner {
    padding: 36px 20px;
  }

  .woocommerce-shop .et-shop-title,
  .woocommerce-shop .woocommerce-products-header__title.page-title {
    font-size: 32px;
  }

  .woocommerce-shop .page-description,
  .woocommerce-shop .term-description {
    font-size: 15px;
  }

  /* Product cards — 2 colonne */
  .woocommerce .products .item.et-listing-style1 {
    width: 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .woocommerce .item.et-listing-style1 .product-title {
    font-size: 13px;
  }

  .woocommerce .item.et-listing-style1 .woocommerce-Price-amount.amount {
    font-size: 20px;
  }

  /* Filtri mobile */
  .woocommerce .shop-filters.sticky-filters {
    top: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
  }

  /* Nascondi viste lista e small da mobile */
  .shop-views .list-1,
  .shop-views .small-1 {
    display: none !important;
  }

  /* Filtri e ordinamento 50% ciascuno */
  .woocommerce .shop-filters.sticky-filters .filter-trigger-box,
  .woocommerce .shop-filters.sticky-filters .woocommerce-ordering {
    width: 50%;
    flex: 0 0 50%;
    box-sizing: border-box;
  }

  /* filter-trigger-box: rimuovi padding/margin destro */
  .shop_bar .filter-trigger-box {
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  /* Bottone filtri evidenziato */
  .woocommerce .shop-filters.sticky-filters .filter-trigger-box button.filter-trigger {
    width: 100%;
    justify-content: center;
    background: #6b46c1;
    color: #ffffff;
    border-radius: 8px;
    height: 42px;
    font-size: 14px;
    line-height: 1;
  }

  .woocommerce .shop-filters.sticky-filters .filter-trigger-box button.filter-trigger svg {
    stroke: #ffffff;
  }

  /* Ordinamento: stessa altezza e dimensione del bottone filtri */
  .woocommerce .shop-filters.sticky-filters .woocommerce-ordering select.orderby {
    width: 100%;
    height: 42px;
    font-size: 14px;
    line-height: 1;
    border-radius: 8px;
    box-sizing: border-box;
  }

  /* Gallery thumbnails tablet — più grandi e con scroll orizzontale */
  .flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }

  .flex-control-thumbs li {
    flex: 0 0 80px !important;
    scroll-snap-align: start;
  }

  .flex-control-thumbs img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
  }

  /* Product page — stack verticale */
  .et-product-detail .product-gallery,
  .et-product-detail .product-information,
  .col-12.col-lg-5.product-information {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 15px;
  }

  .et-product-detail .product_title.entry-title {
    font-size: 26px !important;
  }

  .et-product-detail .summary .price,
  .et-product-detail .summary p.price {
    font-size: 28px !important;
  }

  .et-product-detail .single_add_to_cart_button.button.alt {
    padding: 14px 24px !important;
    font-size: 15px !important;
  }

  /* Tabs */
  .woocommerce-tabs.tabs-accordion .tab-link {
    font-size: 14px !important;
  }

  /* Pagination — min 44px touch target */
  .woocommerce .woocommerce-pagination .page-numbers {
    width: 44px;
    height: 44px;
    font-size: 13px;
    margin: 0 2px;
  }
}

/* ============================================================
   13b. HERO BANNER SHOP — Riduzione mobile/tablet
   ============================================================ */
@media only screen and (max-width: 767px) {

  .post-type-archive-product .hero-header .hero-title,
  .woocommerce-page .hero-header .hero-title {
    min-height: 120px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .post-type-archive-product .hero-header .hero-title h1 {
    font-size: 28px !important;
    margin-bottom: 0 !important;
  }
}

@media only screen and (max-width: 991px) {
  .post-type-archive-product .hero-header .hero-title {
    min-height: 150px !important;
  }
}

/* ============================================================
   14. PRODUCT CARDS SHOP — Categoria, Prezzo, Titolo, Meta
   ============================================================ */

/* Categoria card */
.squiddi-card-category {
  font-size: 12px;
  color: #6B46C1;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  margin-bottom: 6px;
}

/* Prezzo "Da X,XX €" */
.squiddi-price-from {
  font-size: 13px;
  color: #6B6B6B;
  margin-right: 4px;
}

.squiddi-price-amount {
  font-size: 20px !important;
  font-weight: 700;
  color: #1A1A1A;
}

/* Nascondi il markup prezzo originale WooCommerce nella loop
   solo per variabili (lo sostituiamo con il nostro).
   ins visibile (prezzo attuale), del nascosto (prezzo barrato
   già gestito dal nostro template). */
.woocommerce ul.products li.product .price del {
  display: none;
}

/* Titolo prodotto */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 16px;
  font-weight: 600;
  color: #1A1A1A;
  line-height: 1.3;
  margin-bottom: 8px;
  padding: 0;
}

/* Fix wrapping prezzo su product card */
.product_after_shop_loop_price {
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: baseline !important;
}

.product_after_shop_loop_price .price {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

/* Meta colori/taglie/qualità */
.squiddi-card-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
  margin-top: 10px;
  margin-bottom: 12px;
}

.squiddi-meta-colors,
.squiddi-meta-sizes,
.squiddi-meta-qualities {
  font-size: 13px;
  color: #6B6B6B;
  font-weight: 500;
}

/* Separatore "-" tra i meta */
.squiddi-card-meta span+span::before {
  content: "–";
  margin-right: 4px;
  color: #B0B0B0;
}

/* ============================================================
   14b. RESPONSIVE — CARD TIPOGRAFIA TABLET (576–767px)
   ============================================================ */
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .products .squiddi-price-amount {
    font-size: 16px !important;
  }

  .products .product .product-title h2 {
    font-size: 14px !important;
  }

  .squiddi-card-meta span {
    font-size: 12px !important;
  }
}

/* ============================================================
   15. RESPONSIVE — CTA CARD MOBILE
   ============================================================ */
@media only screen and (max-width: 575px) {

  /* Pulsante CTA full-width su mobile per migliore tap target */
  .products .after_shop_loop_actions .button,
  .products .product_type_variable.button,
  .products .add_to_cart_button {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
  }

  /* Contenitore azioni a full-width */
  .products .after_shop_loop_actions {
    width: 100% !important;
  }

  .products .product_after_title .after_shop_loop_actions {
    display: flex !important;
    flex-direction: column !important;
  }
}

@media only screen and (max-width: 767px) {

  /* Tablet: pulsante più ampio ma non necessariamente full-width */
  .products .after_shop_loop_actions .button {
    min-width: 120px !important;
    min-height: 44px !important;
  }
}

/* ============================================================
   16. RESPONSIVE — CARD CAPTION + SPAZIATURA MOBILE
   ============================================================ */
@media only screen and (max-width: 575px) {

  /* Riduzione padding card su mobile per più spazio al contenuto */
  .products .product .product-inner .caption {
    padding: 12px !important;
  }

  /* Riduci anche il padding orizzontale del li */
  .products li.product {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Riduci il margin bottom tra le card */
  .products li.product {
    margin-bottom: 20px !important;
  }

  /* Titolo prodotto: riduci font ma mantieni leggibilità */
  .products .product .product-title h2 {
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.3px !important;
  }

  /* Prezzo: leggermente più piccolo ma ancora leggibile */
  .products .squiddi-price-amount {
    font-size: 15px !important;
  }

  /* Meta info: font più piccolo ma leggibile (min 13px) */
  .squiddi-card-meta span {
    font-size: 13px !important;
  }
}

/* ============================================================
   17. CARD GRID — ALLINEAMENTO ALTEZZA UNIFORME
   ============================================================ */
.products.row {
  align-items: stretch !important;
}

.products.row li.product {
  display: flex !important;
  flex-direction: column !important;
}

.products.row li.product .product-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.products.row li.product .product-inner .caption {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.products.row li.product .product_after_title {
  margin-top: auto !important;
}

/* ============================================================
   18. PRODOTTI CORRELATI — Stesse card dello shop
   ============================================================ */

/* Grid allineamento */
.related.products ul.products {
  align-items: stretch !important;
}

.related.products ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
}

.related.products ul.products li.product .product-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.related.products ul.products li.product .product-inner .caption {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.related.products ul.products li.product .product_after_title {
  margin-top: auto !important;
}

/* Ordine visivo card correlati — uguale allo shop */
.related.products .caption .squiddi-card-category {
  order: 1;
}

.related.products .caption .product-title {
  order: 2;
}

.related.products .caption .product_after_title {
  order: 3;
}

.related.products .caption .price {
  order: 4;
}

.related.products .caption .squiddi-card-meta {
  order: 5;
}

.related.products .caption .button {
  order: 6;
}

/* Stile card correlati (border, radius, hover) */
.related.products li.product .product-inner {
  background: var(--white);
  border: 1px solid #f0f0f0 !important;
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.related.products li.product:hover .product-inner {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

.related.products li.product .caption {
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.related.products li.product .product-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--black);
}

.related.products li.product .product-title a {
  color: var(--black);
  text-decoration: none;
  font-weight: 700;
}

.related.products li.product .price {
  color: var(--black);
  font-weight: 700;
}

.related.products li.product .woocommerce-Price-amount.amount {
  font-size: 20px;
}

/* Bottone CTA correlati */
.related.products li.product .button.add_to_cart_button,
.related.products li.product .button.product_type_variable {
  background: var(--purple-primary);
  color: var(--white);
  border-radius: 8px;
  border: none;
  font-weight: 600;
  padding: 10px 20px;
  transition: background 0.2s ease;
}

.related.products li.product .button.add_to_cart_button:hover,
.related.products li.product .button.product_type_variable:hover,
.related.products li.product .button.add_to_cart_button:focus-visible,
.related.products li.product .button.product_type_variable:focus-visible {
  background: var(--purple-dark);
  color: var(--white);
  outline: none;
}

/* Thumbnail correlati */
.related.products li.product .product_thumbnail {
  border-radius: 12px;
  overflow: hidden;
}

/* ============================================================
   19. TOAST NOTIFICA — Aggiungi al carrello
   ============================================================ */
.squiddi-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #1a1a1a;
  color: #ffffff;
  padding: 14px 28px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    visibility 0.3s ease;
  pointer-events: none;
  white-space: nowrap;
}

.squiddi-toast--visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* ============================================================
   Squiddi — Customize CTA Box (pagina prodotto)
   ============================================================ */
.squiddi-customize-cta {
  background: linear-gradient(135deg, #1A1A1A 0%, #2D2D2D 100%);
  border-radius: 16px;
  padding: 24px;
  color: #ffffff;
  margin-top: 24px;
  margin-bottom: 28px;
}

.squiddi-customize-cta h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
}

.squiddi-customize-cta p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 16px;
}

.squiddi-btn-customize {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: #ffffff;
  color: #1A1A1A;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.squiddi-btn-customize:hover {
  background: #6B46C1;
  color: #ffffff;
}

/* ============================================================
   SIDECART RESKIN — Ispirazione Subbyx / Design Squiddi
   ============================================================ */

/* --- 1. Pannello — posizionamento e forma floating --- */
#side-cart {
  top: 15px !important;
  right: 15px !important;
  bottom: 15px !important;
  left: auto !important;
  width: 400px !important;
  max-width: calc(100vw - 30px) !important;
  max-height: calc(100vh - 30px) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.10), 0 4px 6px -4px rgba(0,0,0,.10) !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* --- 2. Backdrop --- */
.click-capture {
  background-color: rgba(0, 0, 0, 0.45) !important;
}

/* --- 3. Header del pannello --- */
#side-cart header {
  padding: 16px 20px 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  flex-shrink: 0;
}

#side-cart .panel-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#side-cart .side-panel-title {
  font-family: "Figtree", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--black);
  display: flex;
  align-items: center;
  gap: 8px;
}

#side-cart .side-panel-title .minicart-counter {
  background: var(--purple-primary) !important;
  color: #fff !important;
  border-radius: 9999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  font-family: "Figtree", sans-serif !important;
}

/* --- 4. Pulsante chiudi — stile coerente con bottoni icona del sito --- */
.side-panel .et-close {
  width: 25px !important;
  height: 25px !important;
  border-radius: 10px !important;
  border: 0px solid #e5e5e5 !important;
  background: #ffffff !important;
  color: #9ca3af !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0;
  box-shadow: none !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
}

.side-panel .et-close:hover {
  border-color: #6b46c1 !important;
  color: #6b46c1 !important;
}

/* --- 5. Area contenuto — scrollabile --- */
#side-cart .side-panel-content {
  flex: 1;
  overflow-y: auto;
  padding: 0 !important;
}

#side-cart .widget_shopping_cart_content {
  padding: 0;
}

#side-cart #minicart-panel {
  padding: 0;
}

/* --- 6. Lista items --- */
#side-cart .woocommerce-mini-cart.cart_list {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

#side-cart .woocommerce-mini-cart-item.mini_cart_item {
  display: flex !important;
  gap: 12px !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid #f5f5f5 !important;
  align-items: flex-start !important;
}

/* --- 7. Thumbnail --- */
#side-cart .et-cart-panel-item-thumbnail {
  flex-shrink: 0;
  border-radius: 10px !important;
  overflow: hidden !important;
}

#side-cart .et-cart-panel-thumbnail-wrap img {
  height: 72px !important;
  object-fit: cover !important;
  display: block !important;
}

/* --- 8. Dettagli item --- */
#side-cart .et-cart-panel-item-details {
  flex: 1;
  min-width: 0;
  position: relative;
}

/* Bottone rimuovi */
#side-cart .remove_from_cart_button {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  font-size: 14px !important;
  color: #bbb !important;
  text-decoration: none !important;
  line-height: 1 !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

#side-cart .remove_from_cart_button:hover {
  color: #ef4444 !important;
}

/* Titolo prodotto */
#side-cart .et-cart-panel-product-title {
  display: block !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--black) !important;
  margin-bottom: 4px !important;
  padding-right: 20px;
}

#side-cart .et-cart-panel-product-title a {
  color: var(--black) !important;
  text-decoration: none !important;
}

/* --- 9. Variazioni — compatte inline --- */
#side-cart .variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 4px !important;
  margin: 0 0 8px 0 !important;
}

#side-cart .variation dt,
#side-cart .variation dd {
  font-family: "Figtree", sans-serif !important;
  font-size: 11px !important;
  color: #888 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

#side-cart .variation dt {
  display: none !important;
}

#side-cart .variation dd p {
  display: inline !important;
  margin: 0 !important;
}

#side-cart .variation dd::after {
  content: ' \00B7';
  color: #ccc;
}

#side-cart .variation dd:last-child::after {
  content: '';
}

/* --- 10. Quantità e prezzi --- */
#side-cart .et-cart-panel-quantity-pricing {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}

#side-cart .product-quantity .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 0.5px solid #ddd !important;
  border-radius: 6px !important;
  padding: 2px 6px !important;
  background: #fff !important;
}

#side-cart .quantity .minus,
#side-cart .quantity .plus {
  cursor: pointer !important;
  color: #555 !important;
  display: flex !important;
  align-items: center !important;
  padding: 2px !important;
  user-select: none;
}

#side-cart .quantity .minus svg,
#side-cart .quantity .plus svg {
  width: 14px !important;
  height: 14px !important;
}

#side-cart .quantity input.qty {
  width: 28px !important;
  text-align: center !important;
  border: none !important;
  outline: none !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--black) !important;
  background: transparent !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}

#side-cart .quantity input.qty::-webkit-outer-spin-button,
#side-cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Prezzo unitario — nascondere, mostrare solo subtotale */
#side-cart .et-cart-panel-item-price {
  display: none !important;
}

#side-cart .et-cart-panel-item-subtotal {
  font-family: "Figtree", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--black) !important;
}

/* --- 11. Footer — subtotale e CTA --- */
#side-cart .cart-panel-summary {
  padding: 16px 20px !important;
  border-top: 1px solid #f0f0f0 !important;
  background: #fff !important;
  flex-shrink: 0;
}

#side-cart .woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 0 14px 0 !important;
  font-family: "Figtree", sans-serif !important;
}

#side-cart .woocommerce-mini-cart__total strong {
  font-size: 13px !important;
  color: #888 !important;
  font-weight: 400 !important;
}

#side-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--black) !important;
}

/* Bottoni */
#side-cart .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
}

/* CTA Checkout — primario (coerente con ATC sito) */
#side-cart .woocommerce-mini-cart__buttons .checkout.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 52px !important;
  background: var(--purple-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 0 24px !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.2s ease, transform 0.1s !important;
  order: -1;
}

#side-cart .woocommerce-mini-cart__buttons .checkout.button:hover {
  background: var(--purple-dark) !important;
  transform: translateY(-1px) !important;
}

#side-cart .woocommerce-mini-cart__buttons .checkout.button:active {
  transform: translateY(0) !important;
}

/* Link "Visualizza carrello" — secondario (stile wishlist) */
#side-cart .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 52px !important;
  background: #ffffff !important;
  color: var(--purple-primary) !important;
  border: 2px solid #e5e5e5 !important;
  border-radius: 10px !important;
  padding: 0 16px !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
  box-sizing: border-box !important;
}

#side-cart .woocommerce-mini-cart__buttons .wc-forward:not(.checkout):hover {
  background: #f5f3ff !important;
  border-color: var(--purple-primary) !important;
  color: var(--purple-primary) !important;
  text-decoration: none !important;
}

/* --- 12. Stato carrello vuoto --- */
#side-cart .woocommerce-mini-cart__empty-message {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 40px 20px !important;
  text-align: center !important;
  font-family: "Figtree", sans-serif !important;
  font-size: 14px !important;
  color: #888 !important;
}

#side-cart .woocommerce-mini-cart__empty-message::before {
  content: '' !important;
  display: block !important;
  width: 48px !important;
  height: 48px !important;
  background-color: #e8e4f5 !important;
  border-radius: 50% !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b46c1' stroke-width='1.5'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b46c1' stroke-width='1.5'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
  mask-size: 60% !important;
  -webkit-mask-size: 60% !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-position: center !important;
  -webkit-mask-position: center !important;
}

/* --- 13. Loader --- */
#side-cart #minicart-loader {
  padding: 20px;
  text-align: center;
}

/* --- 14. Empty cart — niente padding extra e cerchio nascosto --- */
.widget_shopping_cart_content .et-cart-empty {
  padding: 0 !important;
}

.empty-circle {
  display: none !important;
}

/* --- 15. Animazione slide-up/down → solo mobile, vedi MOBILE FIX v3 --- */


/* ================================================================
   SQUIDDI — CARRELLO & CHECKOUT FIX v4
   Basato su diagnosi DevTools con valori computati reali.
   Sostituisce completamente i blocchi CSS precedenti.
   ================================================================ */


/* ================================================================
   PAGINA CARRELLO
   ================================================================ */

/* BUG 3 — max-width 860px troppo stretto causa overflow del .shopping-cart-content
   Il .shopping-cart-content raggiunge 890px quindi il container deve essere più largo */
.woocommerce-cart .woocommerce {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px 60px !important;
    box-sizing: border-box !important;
}

/* BUG 4 — Spazio bianco da sticky header senza compensazione */
.woocommerce-cart .site-content,
.woocommerce-cart #main {
    padding-top: 0 !important; /* Goya gestisce già l'offset con .header-spacer */
}

/* Back to shop */
.woocommerce-cart .back-to-shop {
    margin-bottom: 20px !important;
}

.woocommerce-cart .back-to-shop a.button.outlined {
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #888 !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 8px 14px 8px 10px !important;
    background: transparent !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}

.woocommerce-cart .back-to-shop a.button.outlined::before {
    content: '←' !important;
    font-size: 14px !important;
}

.woocommerce-cart .back-to-shop a.button.outlined:hover {
    border-color: #6b46c1 !important;
    color: #6b46c1 !important;
    background: #f5f3ff !important;
    text-decoration: none !important;
}

.woocommerce-cart .back-to-shop a::after {
    display: none !important;
}

/* ---- Layout 2 colonne ---- */

.woocommerce-cart .shopping-cart-content {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 28px !important;
}

.woocommerce-cart .cart-items {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
}

.woocommerce-cart .cart-collaterals {
    flex: 0 0 340px !important;
    max-width: 340px !important;
    width: 340px !important;
    min-width: 0 !important;
}

/* ---- Tabella prodotti ---- */

.woocommerce-cart .shop_table.cart {
    border: none !important;
    background: transparent !important;
    width: 100% !important;
}

.woocommerce-cart .shop_table.cart thead {
    display: none !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item {
    display: flex !important;
    align-items: stretch !important;
    background: #fff !important;
    border: 1px solid #efefef !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item > td {
    display: block !important;
    border: none !important;
    padding: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail {
    flex: 0 0 88px !important;
    width: 88px !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a {
    display: block !important;
    width: 88px !important;
    height: 100% !important;
    min-height: 88px !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
    width: 88px !important;
    height: 100% !important;
    min-height: 88px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .et-product-details {
    flex: 1 1 auto !important;
    padding: 12px 14px !important;
    min-width: 0 !important;
}

.woocommerce-cart .et-product-details .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}

.woocommerce-cart .et-product-details .product-name {
    flex: 1 1 auto !important;
    min-width: 120px !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.woocommerce-cart .product-name > a:first-of-type {
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.woocommerce-cart .product-name > a:first-of-type:hover {
    color: #6b46c1 !important;
}

.woocommerce-cart .product-name .variation {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
}

.woocommerce-cart .product-name .variation dt {
    display: none !important;
}

.woocommerce-cart .product-name .variation dd {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    color: #999 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

.woocommerce-cart .product-name .variation dd p {
    display: inline !important;
    margin: 0 !important;
}

.woocommerce-cart .product-name .variation dd::after {
    content: ' · ' !important;
    color: #ddd !important;
}

.woocommerce-cart .product-name .variation dd:last-child::after {
    content: '' !important;
}

.woocommerce-cart .product-name .product-price {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    color: #bbb !important;
    font-weight: 400 !important;
}

.woocommerce-cart .et-product-details .product-quantity {
    flex: 0 0 auto !important;
    padding: 0 !important;
}

.woocommerce-cart .product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 7px !important;
    padding: 5px 8px !important;
    background: #fff !important;
}

.woocommerce-cart .product-quantity .minus,
.woocommerce-cart .product-quantity .plus {
    color: #bbb !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    background: none !important;
    line-height: 1 !important;
}

.woocommerce-cart .product-quantity .minus:hover,
.woocommerce-cart .product-quantity .plus:hover {
    color: #6b46c1 !important;
}

.woocommerce-cart .product-quantity .minus svg,
.woocommerce-cart .product-quantity .plus svg {
    width: 13px !important;
    height: 13px !important;
}

.woocommerce-cart .product-quantity input.qty {
    width: 28px !important;
    text-align: center !important;
    border: none !important;
    outline: none !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    background: transparent !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
}

.woocommerce-cart .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .product-quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.woocommerce-cart .et-product-details .product-subtotal {
    flex: 0 0 auto !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding: 0 !important;
    text-align: right !important;
    min-width: 50px !important;
}

.woocommerce-cart .product-actions {
    display: block !important;
    padding: 6px 0 0 !important;
    flex: 0 0 100% !important;
}

.woocommerce-cart .product-remove a.remove {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    color: #ccc !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.woocommerce-cart .product-remove a.remove:hover {
    color: #ef4444 !important;
    background: none !important;
}

/* ---- Riga azioni: coupon ---- */

.woocommerce-cart .woocommerce-cart-form__contents .actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 0 !important;
    flex-wrap: wrap !important;
    border: none !important;
    background: transparent !important;
}

.woocommerce-cart .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 200px !important;
}

.woocommerce-cart .coupon .form-row {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .coupon #coupon_code {
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 9px 12px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    color: #1a1a1a !important;
    width: 100% !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .coupon #coupon_code:focus {
    border-color: #6b46c1 !important;
    box-shadow: 0 0 0 3px rgba(107,70,193,0.08) !important;
}

.woocommerce-cart .coupon button[name="apply_coupon"] {
    background: transparent !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 9px 14px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #666 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}

.woocommerce-cart .coupon button[name="apply_coupon"]:hover {
    border-color: #6b46c1 !important;
    color: #6b46c1 !important;
    background: #f5f3ff !important;
}

.woocommerce-cart button.update-cart {
    display: none !important;
}

/* ---- Cart totals ---- */

.woocommerce-cart .collaterals-inner {
    background: #fafafa !important;
    border: 1px solid #efefef !important;
    border-radius: 12px !important;
    padding: 22px !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals {
    border: none !important;
    padding: 0 !important;
}

.woocommerce-cart .cart_totals h2 {
    font-family: 'Termina', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.2px !important;
}

.woocommerce-cart .cart_totals .shop_table {
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    margin: 0 0 18px !important;
    border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals .shop_table tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    border: none !important;
}

.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
    border: none !important;
    padding: 5px 0 !important;
    background: transparent !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
}

.woocommerce-cart .cart_totals .shop_table th {
    color: #888 !important;
    font-weight: 400 !important;
}

.woocommerce-cart .cart_totals .shop_table td {
    text-align: right !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    border-top: none !important;
    padding-top: 10px !important;
}

.woocommerce-cart .cart_totals .order-total th {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

.woocommerce-cart .cart_totals .order-total td {
    font-size: 20px !important;
    font-weight: 700 !important;
}

.woocommerce-cart .cart_totals .includes_tax {
    font-size: 11px !important;
    color: #aaa !important;
    font-weight: 400 !important;
    display: block !important;
    text-align: right !important;
    margin-top: 2px !important;
}

/* CTA Checkout */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 0 !important;
}

.woocommerce-cart .checkout-button.button.alt {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: #6b46c1 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 13px 20px !important;
    font-family: 'Termina', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    cursor: pointer !important;
    box-shadow: none !important;
    letter-spacing: 0.2px !important;
}

.woocommerce-cart .checkout-button.button.alt:hover {
    background: #553c9a !important;
    color: #fff !important;
}

.woocommerce-cart .wc-proceed-to-checkout .ppcp-messages,
.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper,
.woocommerce-cart .wc-proceed-to-checkout #wc-stripe-express-checkout-element {
    display: none !important;
}

/* ---- Responsive carrello ---- */

@media only screen and (max-width: 991px) {
    .woocommerce-cart .shopping-cart-content {
        flex-wrap: wrap !important;
    }

    .woocommerce-cart .cart-items {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

@media only screen and (max-width: 575px) {
    .woocommerce-cart .woocommerce {
        padding: 0 12px 40px !important;
    }

    .woocommerce-cart .coupon {
        flex: 0 0 100% !important;
        min-width: 100% !important;
    }
}


/* ================================================================
   PAGINA CHECKOUT
   ================================================================ */

.woocommerce-checkout .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 auto !important;
    padding: 0 24px 60px !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .checkout-options {
    width: 100% !important;
    margin-bottom: 16px !important;
}

.woocommerce-checkout .woocommerce-info {
    width: 100% !important;
    border-left-color: #6b46c1 !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    padding: 12px 16px !important;
}

.woocommerce-checkout .woocommerce-info a.showcoupon {
    color: #6b46c1 !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .checkout-form-wrapper {
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .checkout-form-wrapper form.checkout {
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .checkout-form-wrapper form.checkout > .row {
    align-items: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-container {
    position: sticky !important;
    top: 100px !important;
    align-self: flex-start !important;
}

/* ---- Back to cart ---- */

.woocommerce-checkout .back-to-cart {
    margin-bottom: 22px !important;
}

.woocommerce-checkout .back-to-cart a.button.outlined {
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #888 !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 8px 14px 8px 10px !important;
    background: transparent !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}

.woocommerce-checkout .back-to-cart a.button.outlined::before {
    content: '←' !important;
    font-size: 14px !important;
}

.woocommerce-checkout .back-to-cart a.button.outlined:hover {
    border-color: #6b46c1 !important;
    color: #6b46c1 !important;
    background: #f5f3ff !important;
    text-decoration: none !important;
}

.checkout .back-to-cart a::after {
    display: none !important;
}

/* ---- Titoli sezione ---- */

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: 'Termina', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    letter-spacing: -0.2px !important;
}

/* ---- Campi form ---- */

.woocommerce-checkout .form-row {
    margin-bottom: 14px !important;
    padding: 0 !important;
}

.woocommerce-checkout .form-row label {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #666 !important;
    display: block !important;
    margin-bottom: 5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-checkout .form-row .required {
    color: #6b46c1 !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100% !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 11px 14px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    border-color: #6b46c1 !important;
    box-shadow: 0 0 0 3px rgba(107,70,193,0.08) !important;
}

.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
    border-color: #ef4444 !important;
}

.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated select {
    border-color: #16a34a !important;
}

/* Select2 */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    height: auto !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
    padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 12px !important;
}

.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #6b46c1 !important;
    box-shadow: 0 0 0 3px rgba(107,70,193,0.08) !important;
}

/* Campi affiancati */
.woocommerce-checkout .form-row-first {
    float: left !important;
    width: calc(50% - 8px) !important;
    clear: left !important;
}

.woocommerce-checkout .form-row-last {
    float: right !important;
    width: calc(50% - 8px) !important;
}

.woocommerce-checkout .form-row-wide {
    clear: both !important;
    width: 100% !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after {
    content: '' !important;
    display: table !important;
    clear: both !important;
}

/* Spedisci a indirizzo diverso */
.woocommerce-checkout #ship-to-different-address {
    margin: 16px 0 !important;
    padding: 12px 14px !important;
    background: #f8f8f8 !important;
    border-radius: 8px !important;
    border: 1px solid #f0f0f0 !important;
    clear: both !important;
}

.woocommerce-checkout #ship-to-different-address > label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #ship-to-different-address-checkbox {
    width: 18px !important;
    height: 18px !important;
    accent-color: #6b46c1 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

/* Informazioni aggiuntive */
.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 16px !important;
    clear: both !important;
}

.woocommerce-checkout #order_comments {
    min-height: 70px !important;
    resize: vertical !important;
}

.woocommerce-checkout #order_comments_field label {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 13px !important;
}

/* ---- Order Review (colonna destra) ---- */

.woocommerce-checkout #order_review {
    background: #fafafa !important;
    border: 1px solid #efefef !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

.woocommerce-checkout .order_review_heading {
    font-family: 'Termina', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    letter-spacing: -0.2px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    display: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td {
    padding: 10px 0 !important;
    border-top: 1px solid #f0f0f0 !important;
    vertical-align: middle !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item:first-child td {
    border-top: none !important;
    padding-top: 0 !important;
}

.woocommerce-checkout .et-product-thumbnail {
    display: inline-block !important;
    width: 68px !important;
    height: 68px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    vertical-align: middle !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important;
}

.woocommerce-checkout .et-product-thumbnail img {
    width: 68px !important;
    height: 68px !important;
    object-fit: cover !important;
    display: block !important;
}

.woocommerce-checkout .et-product-name {
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    vertical-align: middle !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity {
    font-family: 'Figtree', sans-serif !important;
    font-size: 12px !important;
    color: #888 !important;
    font-weight: 400 !important;
    margin-left: 4px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .variation {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 5px 0 0 78px !important;
    padding: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dt {
    display: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    color: #888 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd p {
    display: inline !important;
    margin: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd::after {
    content: ' · ' !important;
    color: #ddd !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd:last-child::after {
    content: '' !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
    text-align: right !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

/* Tfoot order review */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td {
    padding: 7px 0 !important;
    border-top: 1px solid #f0f0f0 !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    background: transparent !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th {
    color: #888 !important;
    font-weight: 400 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td {
    text-align: right !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    border-top: 2px solid #e8e8e8 !important;
    padding-top: 10px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .includes_tax {
    font-size: 11px !important;
    color: #aaa !important;
    font-weight: 400 !important;
    display: block !important;
    margin-top: 2px !important;
    text-align: right !important;
}

/* ---- Metodi di pagamento ---- */

.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 16px !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods {
    list-style: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    border: none !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    transition: border-color 0.2s !important;
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    align-content: center !important;
    justify-content: flex-start !important;
    column-gap: 10px !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input[type="radio"]:checked),
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method.is-selected {
    border-color: #6b46c1 !important;
    background: #f5f3ff !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li label {
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li input[type="radio"] {
    width: 15px !important;
    height: 15px !important;
    accent-color: #6b46c1 !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.woocommerce-checkout #payment .payment_box {
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid #f0f0f0 !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 12px !important;
    color: #888 !important;
    background: transparent !important;
    border-radius: 0 !important;
    width: 100% !important;
}

.woocommerce-checkout #payment .payment_box .ppc-button-wrapper,
.woocommerce-checkout #payment .payment_box #ppc-button-ppcp-gateway,
.woocommerce-checkout #payment .payment_box .ppcp-messages,
.woocommerce-checkout .checkout-options .woocommerce-checkout-payment {
    display: none !important;
}

/* Privacy + Place Order */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    color: #bbb !important;
    line-height: 1.5 !important;
    margin: 10px 0 12px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #6b46c1 !important;
}

.woocommerce-checkout #place_order {
    display: block !important;
    width: 100% !important;
    background: #6b46c1 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 13px 20px !important;
    font-family: 'Termina', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    box-shadow: none !important;
    outline: none !important;
}

.woocommerce-checkout #place_order:hover {
    background: #553c9a !important;
}

/* ---- Responsive checkout ---- */

@media only screen and (max-width: 991px) {
    .woocommerce-checkout .woocommerce-checkout-review-order-container {
        position: static !important;
        margin-top: 24px !important;
        width: 100% !important;
    }

    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
        clear: none !important;
    }
}

@media only screen and (max-width: 575px) {
    .woocommerce-checkout .woocommerce {
        padding: 0 12px 40px !important;
    }
}

/* ================================================================
   SQUIDDI — MOBILE FIX v3 (DEFINITIVO)
   Merge di v2 + nuovi bug da diagnosi iframe reale 430px e 796px.
   Sostituisce completamente tutti i blocchi mobile precedenti.

   VIEWPORT COPERTI: 320px → 767px (mobile) + 768px → 991px (tablet)
   BUGS RISOLTI: M1–M15, A1–A5, B1–B5, C1–C5
   ================================================================ */


/* ================================================================
   SEZIONE 1 — SOLO MOBILE (≤767px)
   ================================================================ */

@media only screen and (max-width: 767px) {

/* ---- NAVBAR ---- */

/* BUG M1/C2 — Touch target hamburger 24×24px → 44×44px */
button.menu-toggle.mobile-toggle {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
}

/* BUG M2/C1 — Workaround CSS: rende visibili search/account/wishlist
   che esistono solo in .header-right-items (desktop), non nel mobile header */
.header-right-items.header-items {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
}

.header-right-items .quick_search,
.header-right-items .et-menu-account-btn,
.header-right-items .quick_wishlist {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 44px !important;
    color: #1a1a1a !important;
}

.header-right-items .text,
.header-right-items .icon-text,
.mobile-header-icons .text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
}

.mobile-header-icons .quick_cart.icon {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ---- OVERLAY — BUG M4/C3/M14 ---- */

/* .click-capture è il div Goya nativo già nel DOM, va solo stilato */
.click-capture {
    background: rgba(0,0,0,0.5) !important;
    cursor: pointer !important;
}

/* ---- MENU PANEL — BUG M3/A5 ---- */

/* Full-width su tutto il range ≤767px — elimina il gap progressivo
   (323px→65px gap / 430px→110px gap / 576px→256px) */
#mobile-menu.side-mobile-menu {
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

/* BUG M5/C4 — Top bar: unifica cromaticamente con brand name */
#mobile-menu .mobile-bar {
    background: #1a1a1a !important;
    height: 56px !important;
    padding: 0 12px 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-shrink: 0 !important;
}

#mobile-menu .mobile-bar .action-icons {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    order: 5 !important;
}

#mobile-menu .mobile-bar .action-icons a.icon {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255,255,255,0.85) !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    position: relative !important;
}

#mobile-menu .mobile-bar .action-icons a.icon:active {
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
}

#mobile-menu .mobile-bar .action-icons a.icon svg {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
}

#mobile-menu .mobile-bar .item-counter {
    position: absolute !important;
    top: 5px !important;
    right: 4px !important;
    background: #6b46c1 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    min-width: 15px !important;
    height: 15px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
    font-family: 'Figtree', sans-serif !important;
    line-height: 1 !important;
}

#mobile-menu .mobile-bar .et-close {
    order: 10 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.1) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 13px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin-left: 4px !important;
}

#mobile-menu .mobile-bar .et-close:active {
    background: rgba(255,255,255,0.2) !important;
}

#mobile-menu .side-panel-content {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
    flex: 1 !important;
}

#mobile-menu .side-panel-content > .container {
    padding: 0 !important;
    max-width: 100% !important;
}

/* BUG M6 — Search bar full-width */
#mobile-menu .mobile-search {
    padding: 12px 16px 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: #fff !important;
    position: static !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

#mobile-menu .mobile-search .goya-search,
#mobile-menu .mobile-search form {
    width: 100% !important;
}

#mobile-menu .mobile-search .search-button-group {
    width: 100% !important;
    background: #f5f5f5 !important;
    border-radius: 10px !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

#mobile-menu .mobile-search .search-field {
    flex: 1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
    background: transparent !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    padding: 11px 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

#mobile-menu .mobile-search .search-field::placeholder {
    color: #aaa !important;
}

#mobile-menu .mobile-search .search-icon {
    color: #aaa !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

#mobile-menu .mobile-search .search-icon svg {
    width: 16px !important;
    height: 16px !important;
}

#mobile-menu .mobile-search button[type="submit"],
#mobile-menu .mobile-search .search-clear {
    display: none !important;
}

/* BUG M8 — Menu nav links con separatori e padding */
#mobile-menu .mobile-menu-container {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mobile-menu .mobile-menu-container > li {
    margin: 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

#mobile-menu .mobile-menu-container > li:last-child {
    border-bottom: none !important;
}

#mobile-menu .mobile-menu-container > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    letter-spacing: -0.1px !important;
}

#mobile-menu .mobile-menu-container > li > a:active {
    color: #6b46c1 !important;
    background: #faf9ff !important;
}

#mobile-menu .mobile-menu-container > li.current-menu-item > a,
#mobile-menu .mobile-menu-container > li.current_page_item > a {
    color: #6b46c1 !important;
    font-weight: 700 !important;
}

#mobile-menu .mobile-menu-container > li .et-menu-toggle {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

#mobile-menu .mobile-menu-container > li .et-menu-toggle::after {
    content: '›' !important;
    font-size: 20px !important;
    color: #ccc !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    display: block !important;
}

#mobile-menu .bottom-extras:empty {
    display: none !important;
}

/* ---- CARRELLO MOBILE — BUG A1/A2 ---- */

/* BUG A1 CRITICO — td.product-thumbnail display:block; width:100%
   causa layout completamente spezzato su mobile.
   Fix: forziamo la riga come flex container. */
.woocommerce-cart .woocommerce-cart-form__cart-item {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    background: #fff !important;
    border: 1px solid #efefef !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item > td {
    border: none !important;
    padding: 0 !important;
}

/* Thumbnail: larghezza fissa, non più 100% */
.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail {
    display: block !important;
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 80px !important;
    overflow: hidden !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail a {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
}

.woocommerce-cart .woocommerce-cart-form__cart-item .product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Dettagli prodotto: occupa il resto */
.woocommerce-cart .woocommerce-cart-form__cart-item .et-product-details {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
}

/* Row interna: stack verticale su mobile */
.woocommerce-cart .et-product-details .row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 0 !important;
    margin: 0 !important;
    align-items: center !important;
}

/* Colonna nome: full-width su mobile */
.woocommerce-cart .et-product-details .product-name {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
}

/* Nome prodotto link */
.woocommerce-cart .product-name > a:first-of-type {
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Variazioni inline */
.woocommerce-cart .product-name .variation {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
}

.woocommerce-cart .product-name .variation dt {
    display: none !important;
}

.woocommerce-cart .product-name .variation dd {
    font-family: 'Figtree', sans-serif !important;
    font-size: 11px !important;
    color: #999 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
}

.woocommerce-cart .product-name .variation dd p {
    display: inline !important;
    margin: 0 !important;
}

.woocommerce-cart .product-name .variation dd::after {
    content: ' · ' !important;
    color: #ddd !important;
}

.woocommerce-cart .product-name .variation dd:last-child::after {
    content: '' !important;
}

/* Quantità e subtotale affiancati */
.woocommerce-cart .et-product-details .product-quantity {
    flex: 0 0 auto !important;
    padding: 0 !important;
}

.woocommerce-cart .et-product-details .product-subtotal {
    flex: 1 !important;
    text-align: right !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    padding: 0 !important;
}

/* BUG A2 — .cart-collaterals in colonna su mobile */
.woocommerce-cart .shopping-cart-content {
    flex-direction: column !important;
    flex-wrap: wrap !important;
}

.woocommerce-cart .cart-items {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    margin-top: 20px !important;
}

/* ---- CHECKOUT MOBILE — BUG A3 ---- */

/* BUG A3 GRAVISSIMO — flex-direction:column-reverse
   manda .checkout-options a top:2639px → campo coupon irraggiungibile.
   Fix: column normale + order per mettere le opzioni in cima */
.woocommerce-checkout .woocommerce {
    flex-direction: column !important;
}

.woocommerce-checkout .checkout-options {
    order: -1 !important;
    width: 100% !important;
}

.woocommerce-checkout .checkout-form-wrapper {
    width: 100% !important;
}

/* ---- SIDE CART — BUG A4/M9/M12 ---- */

/* Bottom sheet adattivo — slide-up/down (non left/right) */
#side-cart {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-top: 1px solid #f0f0f0 !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.12) !important;
    height: auto !important;
    max-height: 82vh !important;
    min-height: min(300px, 40vh) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding-top: 6px !important;
    /* Slide-up/down animation */
    transform: translateY(100%) !important;
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1) !important;
}

/* Quando aperto: slide up */
#side-cart.active,
#side-cart.open,
#side-cart.panel-open {
    transform: translateY(0) !important;
}

/* BUG A4 — dvh per iOS Safari (barra URL + gesture bar abbassa la vh reale) */
@supports (height: 100dvh) {
    #side-cart {
        max-height: calc(82dvh) !important;
    }
}

/* Pill handle */
#side-cart::before {
    content: '' !important;
    display: block !important;
    width: 36px !important;
    height: 4px !important;
    background: #e0e0e0 !important;
    border-radius: 2px !important;
    margin: 0 auto 4px !important;
    flex-shrink: 0 !important;
}

#side-cart header {
    flex-shrink: 0 !important;
    padding: 10px 16px 8px !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

/* BUG M9/A4 — Architettura flex: lista scrollabile + footer fisso */
#side-cart .side-panel-content {
    flex: 1 1 auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

/* BUG M9 iOS — gradient indica contenuto scrollabile sotto */
#side-cart .side-panel-content::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 48px !important;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.96)) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

#side-cart .widget_shopping_cart_content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    min-height: 0 !important;
}

#side-cart #minicart-panel {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    min-height: 0 !important;
}

/* Unica zona scrollabile */
#side-cart .woocommerce-mini-cart.cart_list {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    min-height: 0 !important;
}

/* Footer sempre visibile — z-index sopra il gradient */
#side-cart .cart-panel-summary {
    flex-shrink: 0 !important;
    border-top: 1px solid #f0f0f0 !important;
    padding: 14px 16px !important;
    padding-bottom: max(16px, env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    position: relative !important;
    z-index: 2 !important;
}

/* BUG M10 — Nome prodotto ellipsis */
#side-cart .et-cart-panel-product-title a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 140px !important;
    display: block !important;
    line-height: 1.3 !important;
    font-size: 13px !important;
}

/* BUG M11 — Subtotale e bottoni */
#side-cart .woocommerce-mini-cart__total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin: 0 0 12px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
}

#side-cart .woocommerce-mini-cart__total strong {
    color: #888 !important;
    font-weight: 400 !important;
}

#side-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

#side-cart .woocommerce-mini-cart__buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
}

#side-cart .woocommerce-mini-cart__buttons .checkout.button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    background: #6b46c1 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: 'Termina', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    order: -1 !important;
}

#side-cart .woocommerce-mini-cart__buttons .checkout.button:active {
    background: #553c9a !important;
}

#side-cart .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    background: transparent !important;
    color: #6b46c1 !important;
    border: none !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* BUG M13/C5 — Empty state */
#side-cart .woocommerce-mini-cart__empty-message {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 32px 20px !important;
    text-align: center !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    color: #888 !important;
    flex: 1 !important;
}

#side-cart .woocommerce-mini-cart__empty-message::before {
    content: '' !important;
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    background-color: #e8e4f5 !important;
    border-radius: 50% !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b46c1' stroke-width='1.5'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b46c1' stroke-width='1.5'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
    mask-size: 60% !important;
    -webkit-mask-size: 60% !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-position: center !important;
    -webkit-mask-position: center !important;
}

} /* fine @media ≤767px */


/* ================================================================
   SEZIONE 2 — TABLET 768px–991px
   ================================================================ */

@media only screen and (min-width: 768px) and (max-width: 991px) {

/* BUG B1 — Menu gap 476px su 796px: menu torna a 320px su tablet
   (il gap è accettabile su tablet, è devastante solo su mobile) */
#mobile-menu.side-mobile-menu {
    width: 320px !important;
    max-width: 320px !important;
}

/* BUG B2 — Hamburger ancora visibile su 796px oltre breakpoint 767px
   Verifica: se header-mobile è ancora display:block su 796px,
   forzare qui la correzione */
@media only screen and (min-width: 768px) {
    .site-header .header-mobile {
        display: none !important;
    }
    .site-header .header-main {
        display: flex !important;
    }
}

/* BUG B3 — Carrello tablet a singola colonna:
   attiva layout 2 colonne tra 768px–991px */
.woocommerce-cart .shopping-cart-content {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 24px !important;
}

.woocommerce-cart .cart-items.col-lg-7 {
    flex: 0 0 60% !important;
    max-width: 60% !important;
    width: 60% !important;
}

.woocommerce-cart .cart-collaterals.col {
    flex: 0 0 calc(40% - 24px) !important;
    max-width: calc(40% - 24px) !important;
    width: calc(40% - 24px) !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
}

/* BUG B4 — Coupon a top:2573px su tablet: stesso fix di A3 */
.woocommerce-checkout .woocommerce {
    flex-direction: column !important;
}

.woocommerce-checkout .checkout-options {
    order: -1 !important;
    width: 100% !important;
}

/* BUG B5 — Checkout: attiva layout 2 colonne su tablet (lg è 992px,
   Bootstrap non lo attiva su 768-991px ma noi sì) */
.woocommerce-checkout .checkout-form-wrapper form.checkout > .row {
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
}

.woocommerce-checkout .col-lg-7.woocommerce-checkout-customer-fields {
    flex: 0 0 57% !important;
    max-width: 57% !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-container.col-lg-5 {
    flex: 0 0 40% !important;
    max-width: 40% !important;
    margin-left: 3% !important;
    position: sticky !important;
    top: 80px !important;
    align-self: flex-start !important;
}

} /* fine @media 768px–991px */


/* ================================================================
   SEZIONE 3 — REGOLE SENZA BREAKPOINT (tutti i viewport)
   ================================================================ */

/* BUG A3/B4 — column-reverse checkout: fix globale su tutti i viewport.
   Il flex-direction: column-reverse è un bug che colpisce anche desktop
   se il CSS v4 non ha già sovrascritto questo. Aggiungiamo qui per
   sicurezza come regola senza media query. */
.woocommerce-checkout .woocommerce {
    flex-direction: column !important;
}

.woocommerce-checkout .checkout-options {
    order: -1 !important;
    width: 100% !important;
}
