/** Shopify CDN: Minification failed

Line 1445:0 Unexpected "}"
Line 1582:0 Unexpected "}"
Line 2380:0 Expected "}" to go with "{"

**/
/* ========== FIOR PRODUCT PAGE CSS ========== */
/* Add this CSS to your theme's assets folder as 'fior-product-styles.css' */
/* Then include it in your product template with: {{ 'fior-product-styles.css' | asset_url | stylesheet_tag }} */

/* CSS Variables */
:root {
  --fior-tomato: #D50032;
  --fior-forest: #3E6B46;
  --fior-cream: #FFF8F0;
  --fior-charcoal: #2C2C2C;
  --fior-light-gray: #F8F8F8;
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --border-radius: 8px;
  --transition: all 0.3s ease;
}

/* Hero Section */
.product__hero-wrapper.fior-hero {
  text-align: center;
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #F4F2ED;
  border-radius: 8px;
}

.product__appetite-badge {
  background: linear-gradient(135deg, var(--fior-tomato), var(--fior-forest));
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  margin-bottom: 1rem;
  box-shadow: 0 4px 15px rgba(213, 0, 50, 0.2);
}

.product__title.fior-title {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--fior-charcoal);
  margin: 0.5rem 0;
  line-height: 1.2;
}

.product__tagline {
  color: #666;
  font-style: italic;
  font-size: 14px;
  margin-top: 0.5rem;
  font-weight: 400;
}

/* Product Story Content */
.fior-story-content,
.fior-story {
  font-family: var(--font-primary);
  line-height: 1.6;
  color: var(--fior-charcoal);
}

.fior-product-story p {
  margin-bottom: 1.2rem;
}

.fior-product-story p strong {
  color: var(--fior-tomato);
  font-weight: 600;
}

.fior-features {
  background: var(--fior-light-gray);
  padding: 1.5rem;
  border-radius: var(--border-radius);
  margin: 1.5rem 0;
  border-left: 4px solid var(--fior-forest);
}

.fior-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fior-features li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 0.8rem;
  font-size: 14px;
}

.fior-features li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--fior-forest);
  font-weight: bold;
}

.fior-closing {
  font-style: italic;
  color: #666;
  text-align: center;
  border-top: 1px solid #eee;
  padding-top: 1rem;
  margin-top: 1.5rem;
}

/* CTA Button */
.fior-cta-button {
  background: linear-gradient(135deg, var(--fior-tomato), var(--fior-forest));
  border: none;
  padding: 16px 32px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 25px;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  min-height: 56px;
  width: 100%;
}

.fior-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(213, 0, 50, 0.3);
}

.fior-cta-button:active {
  transform: translateY(0);
}

.fior-cta-text {
  font-size: 16px;
  font-weight: 600;
}

.sold-out-text {
  color: #999;
  font-weight: 500;
}

/* Value Propositions */
.fior-value-props {
  background: var(--fior-light-gray);
  padding: 1.5rem;
  border-radius: var(--border-radius);
  margin: 1.5rem 0;
  border: 1px solid #e8e8e8;
}

.value-prop {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
  font-size: 14px;
}

.value-prop:last-of-type {
  margin-bottom: 0;
}

.value-prop .icon {
  margin-right: 8px;
  font-size: 16px;
}

.value-prop .text {
  color: var(--fior-charcoal);
  font-weight: 500;
}

.price-justification {
  margin-top: 1rem;
  text-align: center;
  padding-top: 1rem;
  border-top: 1px solid #ddd;
}

.price-justification p {
  color: #666;
  font-size: 13px;
  margin: 0;
}

/* Complement Products */
.fior-complement-subtitle {
  color: #666;
  font-style: italic;
  font-size: 13px;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
}

/* Shipping Info */
.fior-shipping-info {
  background: white;
  border: 1px solid #e8e8e8;
  border-radius: var(--border-radius);
  padding: 1.5rem;
  margin: 1.5rem 0;
}

.shipping-title {
  color: var(--fior-tomato);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 1rem;
}

.shipping-options {
  margin-bottom: 1rem;
}

.shipping-option {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}

.shipping-option:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.shipping-option strong {
  color: var(--fior-forest);
  font-weight: 600;
  display: block;
  margin-bottom: 0.3rem;
}

.shipping-option p {
  margin: 0;
  font-size: 14px;
  color: #666;
  line-height: 1.4;
}

.shipping-note {
  background: var(--fior-cream);
  padding: 1rem;
  border-radius: var(--border-radius);
  font-size: 13px;
  color: var(--fior-charcoal);
  margin: 0;
  text-align: center;
}

/* Urgency Indicators */
.fior-urgency-wrapper {
  background: #fff3cd;
  border: 1px solid #ffd60a;
  border-radius: var(--border-radius);
  padding: 1rem;
  margin: 1rem 0;
}

.fior-urgency {
  margin-bottom: 0.5rem;
}

.urgency-text {
  color: #b45309;
  font-weight: 600;
  font-size: 14px;
  margin: 0;
}

.social-proof {
  margin-top: 0.5rem;
}

.social-proof-text {
  color: #6b7280;
  font-size: 13px;
  margin: 0;
}

/* Quantity Section */
.fior-quantity-label {
  font-weight: 600;
  color: var(--fior-charcoal);
}

.quantity-subtitle {
  color: #666;
  font-size: 13px;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .product__hero-wrapper.fior-hero {
    padding: 1rem;
    margin-bottom: 1.5rem;
  }
  
  .product__appetite-badge {
    font-size: 11px;
    padding: 6px 12px;
  }
  
  .product__title.fior-title {
    font-size: 1.8rem;
  }
  
  .fior-value-props {
    padding: 1rem;
  }
  
  .value-prop {
    font-size: 13px;
  }
  
  .fior-cta-button {
    padding: 14px 24px;
    font-size: 14px;
  }
  
  .fior-features {
    padding: 1rem;
  }
  
  .fior-shipping-info {
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  .product__hero-wrapper.fior-hero {
    margin-left: -1rem;
    margin-right: -1rem;
    border-radius: 0;
  }
  
  .product__title.fior-title {
    font-size: 1.6rem;
  }
  
  .fior-cta-button {
    padding: 12px 20px;
  }
}

/* Animation Enhancements */
.fior-cta-button {
  position: relative;
  overflow: hidden;
}

.fior-cta-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.6s;
}

.fior-cta-button:hover::before {
  left: 100%;
}

/* Loading State */
.fior-cta-button[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
  .product__appetite-badge {
    border: 2px solid white;
  }
  
  .fior-value-props {
    border: 2px solid var(--fior-charcoal);
  }
  
  .fior-cta-button {
    border: 2px solid var(--fior-charcoal);
  }
}

/* Reduce Motion */
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
  
  .fior-cta-button:hover {
    transform: none;
  }
}

  /* --- FIX CRO STEP 1: NASCONDI ELEMENTI (NON CANCELLARE) --- */


.product__tagline,            /* Nasconde "Unserious Quality..." */
.fior-sizing-helper,          /* Nasconde vecchi aiuti taglie */
.product-about__more-link {   /* Pulisce le icone extra degli accordion */
    display: none !important;
}

  




/* Rendi il testo più discreto */
.fior-delivery-countdown .countdown-content {
    color: #555 !important;
    font-weight: 400 !important;
    font-size: 13px !important;
}

.fior-delivery-countdown svg {
    display: none !important; /* Rimuove icona se necessario per pulizia, o riducila */
}
@media (max-width: 749px) {
  .product__info-container {
    display: flex;
    flex-direction: column;
  }
  
  .product__info-container > * {
    order: 99;
  }

  .custom-liquid:has(.fior-engineered-wrapper) { order: 1 !important; }
  .fior-hero { order: 2 !important; }
  .price-wrapper { order: 3 !important; }
  .fior-urgency-wrapper { order: 4 !important; }
  .fior-value-props { order: 5 !important; }
  .product-form { order: 6 !important; }
  .fior-trust-cards-vertical { order: 7 !important; }
  .product-about.fior-description { order: 8 !important; }
  .product-about:has(.fior-shipping-info) { order: 9 !important; }
  
  .share-buttons { display: none; }
}
  
/* FIOR MOBILE PDP OPTIMIZATION */
@media (max-width: 749px) {
  .product__info-container {
    display: flex;
    flex-direction: column;
  }
  
  /* DEFAULT: tutto va sotto (ordine 99) */
  .product__info-container > * {
    order: 99;
  }
  
 /* ORDINE ESPLICITO per elementi chiave */
.fior-hero { order: 1 !important; }
.fior-control-hub { order: 2 !important; }
.fior-trust-cards-vertical { order: 3 !important; }
.custom-liquid:has(.fior-engineered-wrapper) { order: 4 !important; }
.price-wrapper { order: 5 !important; }
.fior-urgency-wrapper { order: 6 !important; }
.fior-value-props { order: 7 !important; }
.product-form { order: 8 !important; }
.product-about.fior-description { order: 9 !important; }
.product-about:has(.fior-shipping-info) { order: 10 !important; }
  
  /* Nascondi share buttons su mobile (distraggono) */
  .share-buttons {
    display: none;
  }
  
  .fior-hero {
    margin-bottom: 12px;
  }
  
  .product__title.fior-title {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 6px;
  }
  
  .product__tagline {
    font-size: 13px;
    margin-bottom: 0;
  }
  
  .fior-urgency.low-stock,
  .fior-urgency.in-stock {
    display: block !important;
  }
  
  .urgency-text {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
  }
  
  .social-proof {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #E5E5E5;
  }
  
  .social-proof-text {
    font-size: 13px;
    color: #666;
    margin: 0;
  }
  
  .price-wrapper {
    margin-bottom: 8px;
  }
  
  .price--product .price__regular {
    font-size: 28px;
    font-weight: 700;
    color: #000;
  }
  
  .fior-value-props {
    margin: 12px 0;
    padding: 12px;
    background: #F4F2ED;
    border-radius: 8px;
  }
  
  .fior-value-props .value-prop {
    font-size: 12px;
    margin-bottom: 6px;
  }
  
  .price-justification {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #DDD;
  }
  
  .price-justification p {
    font-size: 11px;
    margin: 0;
  }
  
  /* Compatta il form */
  .product-form__submit {
    width: 100%;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 700;
  }
  
  .product-parameters__quantity {
    margin-bottom: 12px;
  }
  
  .product-form__checkout {
    margin-top: 8px;
  }
  
  .shopify-payment-button {
    opacity: 0.6;
    transform: scale(0.95);
  }
  
  .fior-quantity-label {
    font-size: 14px;
    margin-bottom: 6px;
  }
  
  .quantity-subtitle {
    font-size: 11px;
    color: #666;
    margin-top: 2px;
  }
  
  .card__description {
    display: none;
  }
}

/* ========================================
   FIOR STICKY BAR - PREMIUM & BUG FIX
   ======================================== */

.fior-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  
  /* Sfondo: Bianco sporco solido per leggibilità */
  background: #F4F2ED;
  
  /* Bordo superiore: Verde FIOR sottile (elegante) */
  border-top: 2px solid #2C5F3C; 
  
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  
  /* FIX Z-INDEX: Abbastanza alto per stare sopra il contenuto, 
     ma BASSO abbastanza per stare SOTTO il Cart Drawer (che di solito è >100) */
  z-index: 90; 
  
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
  
  /* Animazione Entrata */
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

.fior-sticky-atc.visible {
  transform: translateY(0);
  opacity: 1;
}

/* INFO PRODOTTO (Ottimizzato Mobile) */
.fior-sticky-atc__info {
  flex: 1 !important;
  min-width: 0 !important; /* Fondamentale per i puntini (...) */
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-right: 10px !important; /* Spazio di sicurezza dal bottone */
}

.fior-sticky-atc__title {
  font-family: var(--font-heading-family);
  font-size: 10px !important; /* Più piccolo per far entrare tutto il nome */
  font-weight: 600 !important;
  color: #666 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 2px 0 !important;
  line-height: 1.1 !important;
  
  /* Gestione taglio testo */
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.fior-sticky-atc__price {
  font-size: 16px !important;
  font-weight: 800 !important; /* Molto grassetto */
  color: #D50032 !important; /* ROSSO FIOR (Tomato) - Il tocco di classe */
  margin: 0 !important;
  line-height: 1 !important;
}

/* BOTTONE STICKY (Ultra Compatto) */
.fior-sticky-atc__cta {
    background: #2C5F3C !important;
    color: #FFFFFF !important;
    border: 1px solid #2C5F3C !important;
    border-radius: 6px !important;
    
    /* 1. Padding minimo: giusto lo spazio per non toccare il testo */
    padding: 10px 12px !important; 
    
    /* 2. Font più piccolo e compatto */
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important; /* Tolgo spaziatura lettere per guadagnare pixel */
    text-transform: uppercase !important;
    
    cursor: pointer !important;
    white-space: nowrap !important;
    
    /* 3. Limite di larghezza aggressivo */
    width: auto !important;
    flex: 0 1 auto !important; 
    max-width: 48% !important; /* Non superare mai quasi la metà */
    
    box-shadow: 0 4px 10px rgba(44, 95, 60, 0.15) !important;
    transition: all 0.2s ease !important;
    
    /* Se il testo è ancora troppo lungo, mette i puntini (...) */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.fior-sticky-atc__cta:hover {
    background: #D50032 !important;
    border-color: #D50032 !important;
}

.fior-sticky-atc__cta:active {
    transform: translateY(0);
}

/* HIDE ON DESKTOP (La sticky serve solo su mobile solitamente) */
@media (min-width: 768px) {
  .fior-sticky-atc {
    display: none !important;
  }
}

/* SAFE AREA per iPhone recenti (evita la barra home in basso) */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .fior-sticky-atc {
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
  }
}

/* ========================================
   FIOR STICKY BAR - FINAL VERSION
   ======================================== */

.fior-sticky-wrapper {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important; /* Sempre sopra */
  
  background: #FFFFFF !important; /* Sfondo pulito */
  border-top: 1px solid #E5E5E5 !important; /* Bordo sottile elegante */
  box-shadow: 0 -4px 20px rgba(0,0,0,0.06) !important; /* Ombra morbida */
  
  padding: 12px 16px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  
  display: block !important;
}

/* Nascondi su desktop */
@media (min-width: 768px) {
  .fior-sticky-wrapper { display: none !important; }
}

.fior-sticky-container {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

/* ========================================
   FIOR STICKY BAR - LOGO LINE EDITION
   ======================================== */

.fior-sticky-wrapper {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 2147483647 !important;
  background: #FFFFFF !important;
  border-top: 1px solid rgba(0,0,0,0.05) !important;
  padding: 12px 16px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.05) !important;
  display: block !important;
}

@media (min-width: 768px) {
  .fior-sticky-wrapper { display: none !important; }
}

.fior-sticky-container {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 100% !important;
}

/* --- TASTO LINE CON TESTO --- */
.fior-btn-concierge {
  flex: 0 0 auto !important; /* Si adatta al contenuto */
  min-width: 60px !important;
  height: 52px !important;
  padding: 0 10px !important;
  
  display: flex !important;
  flex-direction: column !important; /* Icona sopra, testo sotto */
  align-items: center !important;
  justify-content: center !important;
  
  background: #FFFFFF !important;
  border: 1px solid #06C755 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
}

.fior-concierge-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px; /* Spazio tra icona e testo */
}

.fior-line-img-small {
  width: 22px !important; /* Leggermente più piccola per far stare il testo */
  height: 22px !important;
  object-fit: contain !important;
}

.fior-line-text {
  font-family: var(--font-body-family), sans-serif !important;
  font-size: 9px !important; /* Molto piccolo ed elegante */
  font-weight: 700 !important;
  color: #06C755 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* OTTIMIZZAZIONE TASTO ATC */
.fior-btn-atc {
  flex: 1 !important;
  height: 52px !important;
  /* ... resto del CSS rimane uguale ... */
}

/* --- TASTO ADD TO CART --- */
.fior-btn-atc {
  flex: 1 !important;
  height: 52px !important;
  background: #2C5F3C !important; /* Verde Brand FIOR */
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 8px 20px rgba(44, 95, 60, 0.2) !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent;
}

.fior-btn-atc:active {
  transform: scale(0.96) !important;
  background: #234B30 !important;
}

/* --- TASTO ATC (Grande Verde) --- */
.fior-btn-atc {
  flex: 1 !important; /* Occupa tutto il resto */
  height: 52px !important;
  
  background: #2C5F3C !important; /* FIOR GREEN */
  color: #FFFFFF !important;
  
  border: none !important;
  border-radius: 12px !important;
  
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  
  box-shadow: 0 4px 15px rgba(44, 95, 60, 0.3) !important;
  cursor: pointer !important;
  
  /* Reset stile default bottoni */
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.fior-btn-atc:active {
  transform: scale(0.98) !important;
}

/* PREMIUM POLISH */
@media (max-width: 749px) {
  
  /* 1. COMPATTA VALUE PROPS - inline icons */
  .fior-value-props {
    margin: 16px 0;
    padding: 0;
    background: transparent;
    display: flex;
    justify-content: space-between;
    gap: 8px;
  }
  
  .fior-value-props .value-prop {
    flex: 1;
    text-align: center;
    font-size: 10px;
    line-height: 1.3;
    padding: 8px 4px;
    background: #F4F2ED;
    border-radius: 6px;
  }
  
  .fior-value-props .value-prop .icon {
    display: block;
    font-size: 18px;
    margin-bottom: 4px;
  }
  
  .fior-value-props .value-prop .text {
    display: block;
    font-weight: 500;
  }
  
  .price-justification {
    display: none; /* Rimuovi la riga verbose */
  }
  

  
  .urgency-text {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  
  .social-proof {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(213, 0, 50, 0.15);
  }
  
  .social-proof-text {
    font-size: 12px;
    color: #555;
    font-weight: 500;
  }
  
  /* 3. COMPATTA IL FORM */
  .product-parameters__quantity {
    margin-bottom: 16px;
  }
  
  .fior-quantity-label {
    font-size: 13px;
    font-weight: 600;
    color: #2C5F3C;
    margin-bottom: 4px;
  }
  
  .quantity-subtitle {
    display: none; /* Rimuovi "(Delivery in 2-3 days...)" */
  }
  
  /* 4. CTA PIÙ PROMINENTE */
  .product-form__submit {
    padding: 18px 24px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.02em;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(213, 0, 50, 0.2);
    transition: all 0.2s ease;
  }
  
  .product-form__submit:active {
    transform: scale(0.98);
  }
  
  /* 5. PAYPAL ANCORA PIÙ RIDOTTO */
  .shopify-payment-button {
    opacity: 0.5;
    margin-top: 10px;
  }
  
  .shopify-payment-button__button {
    max-height: 40px !important;
    border-radius: 6px !important;
  }
  
  /* 6. ACCORDION PIÙ LEGGERI */
  .product-about__accordion-title {
    font-size: 14px;
    font-weight: 600;
    padding: 16px 0;
    color: #2C5F3C;
  }
  
  .product-about__accordion-item {
    border-bottom: 1px solid #E5E5E5;
  }
  
  .product-about__accordion-item:last-child {
    border-bottom: none;
  }
  
  /* 7. GERARCHIA TITOLO/PREZZO */
  .product__title.fior-title {
    font-size: 26px;
    line-height: 1.15;
    margin-bottom: 8px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  
  .product__tagline {
    font-size: 12px;
    color: #666;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
  
  .price--product .price__regular {
    font-size: 32px;
    font-weight: 800;
    color: #2C5F3C;
    letter-spacing: -0.02em;
  }
  
  /* 8. SPACING CONSISTENT */
  .price-wrapper {
    margin-bottom: 12px;
  }
  
  .fior-hero {
    margin-bottom: 16px;
  }
  
  /* 9. RIMUOVI DUPLICAZIONI VISIBILI */
  .product-about.fior-about {
    margin-top: 8px;
  }
}
/* ==============================================
   FIOR PREMIUM CTA BUTTON (Universal)
   ============================================== */

.product-form__submit {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 20px auto !important; /* Spaziatura verticale */
    
    /* Dimensioni e Forma */
    padding: 18px 32px !important;
    border-radius: 8px !important; /* Angolo moderno (Premium) */
    border: 1px solid #2C5F3C !important; /* Bordo sottile matching */
    
    /* Tipografia */
    font-family: var(--font-heading-family) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    
    /* Colore Base: Verde FIOR Elegante */
    background: #2C5F3C !important;
    color: #FFFFFF !important;
    
    /* Ombra Premium: Verde morbido (Elevated Flat) */
    box-shadow: 0 4px 20px rgba(44, 95, 60, 0.25) !important;
    
    /* Animazione Fluida */
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    cursor: pointer !important;
    position: relative !important;
    overflow: hidden !important;
}

/* STATO HOVER (Mouse Sopra) -> ROSSO FIOR */
.product-form__submit:hover:not(:disabled) {
    background: #D50032 !important; /* Rosso Brand */
    border-color: #D50032 !important;
    color: #FFFFFF !important;
    
    /* Elevazione */
    transform: translateY(-2px) !important;
    
    /* L'ombra diventa Rossa e più diffusa */
    box-shadow: 0 8px 30px rgba(213, 0, 50, 0.35) !important;
}

/* STATO ACTIVE (Click) */
.product-form__submit:active:not(:disabled) {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(213, 0, 50, 0.2) !important;
}

/* STATO DISABLED (Sold Out) */
.product-form__submit:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    background: #888 !important;
    border-color: #888 !important;
    box-shadow: none !important;
}

/* Assicura che il testo interno (prezzo, etc) sia sempre bianco */
.product-form__submit span,
.product-form__submit .add_to_cart_quantity, 
.product-form__submit .fior-cta-text {
    color: #FFFFFF !important;
}

/* Mobile Specific Adjustments (Opzionale se vuoi il bottone full width su mobile) */
@media (max-width: 749px) {
    .product-form__submit {
        width: 100% !important;
        padding: 16px 20px !important; /* Leggermente meno padding su schermi piccoli */
        font-size: 15px !important;
    }
}

/* ==============================================
   FIOR FINAL PDP FIX (Centering & Premium Button)
   ============================================== */

/* 1. CENTRATURA TOTALE QUANTITÀ (Mobile & Desktop) */
.product-parameters__quantity,
.product-form__input.product-form__quantity,
.product-form__buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Centra orizzontalmente */
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
}

.fior-quantity-label,
.quantity-subtitle {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

/* Forza il box input quantità al centro */
quantity-input.quantity {
    margin: 0 auto 4px auto !important;
}

/* 2. BOTTONE PREMIUM (RESET OMBRA NERA) */
.product-form__submit {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    padding: 18px 32px !important;
    border-radius: 8px !important;
    border: 1px solid #2C5F3C !important;
    
    /* Colore Base */
    background: #2C5F3C !important;
    color: #FFFFFF !important;
    
    /* IMPORTANTE: Sovrascrive l'ombra nera precedente */
    box-shadow: 0 4px 20px rgba(44, 95, 60, 0.3) !important;
    transform: none !important; /* Resetta posizioni strane */
    
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
}

/* RIMUOVI GLI PSEUDO-ELEMENTI (La causa dell'ombra nera dura) */
.product-form__submit::before,
.product-form__submit::after {
    display: none !important;
    content: none !important;
    box-shadow: none !important;
}

/* HOVER: ROSSO FIOR */
.product-form__submit:hover:not(:disabled) {
    background: #D50032 !important;
    border-color: #D50032 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(213, 0, 50, 0.4) !important;
}

/* 3. FIX SFONDO BIANCO LOGHI (Mix Blend) */
.trust-icon {
    mix-blend-mode: multiply !important; /* Rende il bianco trasparente */
    background: transparent !important;
}
/* Assicura che il contenitore dei loghi non abbia sfondo bianco */
.trust-icons img, .trust-icons svg {
    background-color: transparent !important; 
}


  /* PREMIUM VARIANT SELECTORS - DESKTOP (Copy of Mobile Style) */
@media (min-width: 750px) {
  
  /* 1. LABELS */
  .product-form__group-name {
    display: block !important;
    text-align: center !important; /* O left se preferisci su desktop */
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #3E6B46 !important;
    margin-bottom: 12px !important;
  }
  
  /* 2. CONTAINER */
  .product-form__controls-group {
    display: flex !important;
    justify-content: center !important; /* O start se vuoi allineato a sx */
    gap: 10px !important;
    margin-bottom: 24px !important;
  }
  
  /* 3. TAGLIE (SIZE) */
  .product-form__input input[type='radio'] + label:not(.color-swatch) {
    min-width: 40px !important; /* Leggermente più grande su desktop */
    height: 40px !important;
    
    background-color: #FFFFFF !important;
    color: #1A1816 !important;
    border: 1px solid rgba(62, 107, 70, 0.2) !important;
    border-radius: 4px !important;
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    font-family: var(--font-heading-family) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03) !important;
  }

  /* SIZE SELEZIONATA */
  .product-form__input input[type='radio']:checked + label:not(.color-swatch) {
    background-color: #3E6B46 !important;
    color: #FFFFFF !important;
    border-color: #3E6B46 !important;
    box-shadow: 0 4px 12px rgba(62, 107, 70, 0.25) !important;
    transform: translateY(-1px) !important;
  }

  /* 4. COLORI (SWATCHES) */
  .product-form__input input[type='radio'] + label.color-swatch {
    width: 32px !important; /* Come in HP */
    height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    margin: 0 6px !important;
    position: relative !important;
  }

  /* SELEZIONE COLORE */
  .product-form__input input[type='radio']:checked + label.color-swatch {
    transform: scale(1.15) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 3px #F4F2ED, 0 0 0 4px #3E6B46 !important; 
  }
  
  /* FIX COLORI (Copia anche qui) */
  .product-form__input input[type='radio'][value*='White'] + label.color-swatch { background-color: #FFFFFF !important; background-image: none !important; }
  .product-form__input input[type='radio'][value*='Black'] + label.color-swatch { background-color: #000000 !important; background-image: none !important; }
}


/* ==============================================
     TAGLIE (SIZE) - PREMIUM ARCHITECTURAL
     ============================================== */
  
  /* Base (Non selezionato) */
  .product-form__input input[type='radio'] + label:not(.color-swatch) {
    /* Dimensioni: Quadrato perfetto */
    min-width: 30px !important; 
    height: 30px !important;
    
    background-color: transparent !important; /* Trasparente per leggerezza */
    color: #1A1816 !important;
    
    /* BORDO: Sottile e tecnico (Verde scuro al 30% opacità) */
    border: 1px solid rgba(62, 107, 70, 0.3) !important; 
    
    /* ANGOLI: Quasi retti (Sharp = Premium) */
    border-radius: 2px !important; 
    
    /* Centratura */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    
    font-family: var(--font-heading-family) !important;
    font-size: 13px !important;
    font-weight: 500 !important; /* Regular, non bold (più elegante) */
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important; /* Nessuna ombra per look flat */
  }

  /* SIZE SELEZIONATA - STACCO NETTO */
  .product-form__input input[type='radio']:checked + label:not(.color-swatch) {
    background-color: #3E6B46 !important; /* Verde Fior Pieno */
    color: #FFFFFF !important;
    border-color: #3E6B46 !important;
    font-weight: 700 !important; /* Grassetto solo quando attivo */
    box-shadow: 0 4px 10px rgba(62, 107, 70, 0.2) !important; /* Leggera ombra solo qui */
    transform: translateY(-1px) !important;
  }

  /* DARK MODE FIX - VARIANT SELECTORS */
@media (prefers-color-scheme: dark) {
  
  /* 1. Taglie NON selezionate: Bordo chiaro per contrasto su sfondo scuro */
  .product-form__input input[type='radio'] + label:not(.color-swatch) {
    background-color: rgba(255, 255, 255, 0.05) !important; /* Leggero sfondo per dare corpo */
    border-color: rgba(255, 255, 255, 0.2) !important; /* Bordo bianco semi-trasparente */
    color: #E0E0E0 !important; /* Testo grigio chiaro */
  }

  /* 2. Taglie DISABILITATE (Sold Out): Grigio più scuro */
  .product-form__input input[type='radio']:disabled + label {
    background-color: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
    color: #555 !important;
    opacity: 0.5 !important;
  }

  /* 3. Taglia SELEZIONATA: Mantiene l'impatto (Bianco su Nero o Verde su Nero) */
  .product-form__input input[type='radio']:checked + label:not(.color-swatch) {
    background-color: #F4F2ED !important; /* Crema chiaro per massimo contrasto */
    color: #1A1816 !important; /* Testo scuro */
    border-color: #F4F2ED !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.1) !important; /* Glow leggero */
  }

  /* 4. Colori (Swatches): Anello di selezione chiaro */
  .product-form__input input[type='radio']:checked + label.color-swatch {
    /* Anello esterno deve essere scuro (sfondo) + anello attivo chiaro */
    box-shadow: 0 0 0 3px #1A1816, 0 0 0 4px #F4F2ED !important;
  }
}

/* Se il tuo tema usa una classe .dark-mode o .dark sul body invece della media query di sistema: */
.dark-mode .product-form__input input[type='radio'] + label:not(.color-swatch),
body.dark .product-form__input input[type='radio'] + label:not(.color-swatch) {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #E0E0E0 !important;
}

.dark-mode .product-form__input input[type='radio']:checked + label:not(.color-swatch),
body.dark .product-form__input input[type='radio']:checked + label:not(.color-swatch) {
    background-color: #F4F2ED !important;
    color: #1A1816 !important;
    border-color: #F4F2ED !important;
}

/* FIX VISIBILITÀ LIGHT MODE - Taglie */
@media (max-width: 749px) {
  
  /* 1. BASE (Non selezionato): Bordo più scuro per contrasto */
  .product-form__input input[type='radio'] + label:not(.color-swatch) {
    background-color: #FFFFFF !important; /* Bianco puro */
    /* Bordo grigio/verde scuro al 20% di opacità: Sottile ma VISIBILE */
    border: 1px solid rgba(26, 24, 22, 0.2) !important; 
    color: #1A1816 !important; /* Testo Nero */
    font-weight: 600 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important; /* Ombra leggera per dare profondità */
    opacity: 1 !important; /* Forza visibilità piena */
  }

  /* 2. DISABILITATO (Sold Out): Deve vedersi ma sembrare spento */
  .product-form__input input[type='radio']:disabled + label:not(.color-swatch) {
    background-color: #F0F0F0 !important; /* Grigio chiaro sfondo */
    border-color: #D0D0D0 !important; /* Bordo grigio */
    color: #999999 !important; /* Testo grigio medio */
    text-decoration: line-through !important;
    opacity: 0.8 !important; /* Non farlo sparire troppo */
    cursor: not-allowed !important;
    box-shadow: none !important;
  }

  /* 3. SELEZIONATO (Attivo): Verde Pieno */
  .product-form__input input[type='radio']:checked + label:not(.color-swatch) {
    background-color: #3E6B46 !important;
    border-color: #3E6B46 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 10px rgba(62, 107, 70, 0.3) !important;
    transform: translateY(-1px) !important;
  }
}



  /* ==============================================
     COLORI (SWATCHES) - FIX FORZATO
     ============================================== */
  .product-form__input input[type='radio'] + label.color-swatch {
    width: 36px !important; /* Allineato alle taglie */
    height: 36px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    padding: 0 !important;
    margin: 0 4px !important; /* Un po' di margine laterale */
    position: relative !important;
    background-size: cover !important;
  }

  /* SELEZIONE COLORE - ANELLO FINO */
  .product-form__input input[type='radio']:checked + label.color-swatch {
    transform: scale(1.1) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 2px #F4F2ED, 0 0 0 3px #3E6B46 !important; 
  }

  /* --- 🚨 FIX MAPPA COLORI (SISTEMA IL BIANCO E IL NERO) --- */
  
  /* 1. Forza il BIANCO per varianti che contengono 'White', 'Cream', 'Panna' */
  .product-form__input input[type='radio'][value*='White'] + label.color-swatch,
  .product-form__input input[type='radio'][value*='Cream'] + label.color-swatch {
      background-color: #FFFFFF !important;
      background-image: none !important;
  }

  /* 2. Forza il NERO per varianti che contengono 'Black', 'Nero', 'Dark' */
  .product-form__input input[type='radio'][value*='Black'] + label.color-swatch,
  .product-form__input input[type='radio'][value*='Nero'] + label.color-swatch {
      background-color: #000000 !important;
      background-image: none !important;
  }
}


  
  /* ===== COLOR SWATCHES ===== */
  .color-swatch {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    border: 3px solid transparent !important;
    display: inline-flex !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }
  
  input[type="radio"]:checked + .color-swatch {
    border-color: #2C5F3C !important;
    box-shadow: 0 0 0 3px #F4F2ED, 0 0 0 6px #2C5F3C !important;
    transform: scale(1.08) !important;
  }
  
  .color-swatch:hover {
    border-color: #D50032 !important;
    transform: scale(1.05) !important;
  }
  
  input[type="radio"]:checked + .color-swatch:hover {
    border-color: #2C5F3C !important;
  }
  
  /* ===== SIZE PILLS ===== */
  .pills-variant-labels {
    min-width: 60px !important;
    min-height: 60px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #2C5F3C !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #2C5F3C !important;
    background: transparent !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 16px 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
  }
  
  input[type="radio"]:checked + .pills-variant-labels {
    background: #2C5F3C !important;
    color: #FFFFFF !important;
    border-color: #2C5F3C !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 18px rgba(44, 95, 60, 0.3) !important;
  }
  
  .pills-variant-labels:hover {
    border-color: #D50032 !important;
    color: #D50032 !important;
    transform: translateY(-2px) !important;
  }
  
  input[type="radio"]:checked + .pills-variant-labels:hover {
    border-color: #2C5F3C !important;
    color: #FFFFFF !important;
  }
  
  /* Disabled */
  input[type="radio"]:disabled + .pills-variant-labels,
  input[type="radio"]:disabled + .color-swatch {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
  }
  
  /* Nascondi "All Eaten" */
  .pills-variant-labels .visually-hidden {
    display: none !important;
  }
  
  /* ===== CTA BUTTON PREMIUM ===== */
  .product-form__submit {
    width: 100% !important;
    padding: 20px 32px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    
    background: #2C5F3C !important;
    color: #FFFFFF !important;
    border: 3px solid #2C5F3C !important;
    border-radius: 12px !important;
    
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 16px rgba(44, 95, 60, 0.3) !important;
  }
  
  .product-form__submit:hover:not(:disabled) {
    background: #D50032 !important;
    border-color: #D50032 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(213, 0, 50, 0.4) !important;
  }
  
  .product-form__submit:active:not(:disabled) {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(213, 0, 50, 0.35) !important;
  }
  
  .product-form__submit:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    background: #999 !important;
    border-color: #999 !important;
  }
  
  .product-form__submit .add_to_cart_quantity,
  .product-form__submit .fior-cta-text {
    color: #FFFFFF !important;
  }
  
  /* PayPal ridotto anche su desktop */
  .shopify-payment-button {
    opacity: 0.7 !important;
    margin-top: 12px !important;
  }
  
  .shopify-payment-button__button {
    max-height: 48px !important;
  }
  
  /* Spacing */
  .product-form__input--radios {
    margin-bottom: 24px !important;
  }
}

/* CENTRA SOLO I 3 TESTI SPECIFICI */
.product__tagline,
.subtitle.product__text,
.inventory__title {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
}

/* ========================================
   FIOR BUNDLE UPSELL - PREMIUM "EDITORIAL" STYLE
   ======================================== */

.fior-bundle-upsell {
  /* Sfondo pulito Crema */
  background: #F4F2ED;
  /* Bordo sottile e raffinato, niente gradienti */
  border: 1px solid rgba(62, 107, 70, 0.2); 
  border-radius: 12px; /* Angoli morbidi premium */
  padding: 32px;
  /* Spazio esterno vitale */
  margin: 40px 0 32px 0;
  
  position: relative;
  /* Ombra morbidissima e diffusa (stile Apple) */
  box-shadow: 0 20px 40px -10px rgba(62, 107, 70, 0.1);
  overflow: visible; /* Necessario per il badge mobile */
}

/* Layout Desktop: Flex per mettere il badge a destra */
@media (min-width: 750px) {
  .fior-bundle-upsell {
      display: flex;
      justify-content: space-between; /* Contenuto a sx, badge a dx */
      align-items: flex-start;
      gap: 24px;
  }
  
  /* Il contenitore del testo prende tutto lo spazio disponibile */
  .bundle-content {
      flex: 1;
      order: 1; /* Testo primo */
  }

  /* Il badge diventa un elemento statico a destra */
  .bundle-badge {
      position: static !important; /* Reset della posizione assoluta */
      order: 2; /* Badge secondo (a destra) */
      margin-top: 4px; /* Allineamento ottico con il titolo */
      transform: none !important;
      box-shadow: none !important;
      animation: none !important;
  }
}

/* --- IL BADGE ROSSO (Stile Comune) --- */
.bundle-badge {
  /* Rosso Fior Solido (niente gradienti cheap) */
  background: #D50032;
  color: #ffffff;
  
  /* Tipografia Premium */
  font-family: var(--font-heading-family); /* Usa il font dei titoli se possibile */
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  
  /* Forma a pillola larga */
  padding: 10px 24px;
  border-radius: 50px;
  white-space: nowrap;
  text-align: center;
}

/* --- CONTENUTI DEL BUNDLE --- */
.bundle-title {
  color: #3E6B46;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  margin: 0 0 12px 0;
  text-transform: uppercase;
  opacity: 0.8;
}

.bundle-text {
  color: #1A1816; /* Nero morbido, non #000 */
  font-size: 22px;
  font-weight: 600; /* Meno grassetto è più elegante */
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.bundle-text strong {
  color: #D50032;
  font-weight: 700;
}

.bundle-note {
  display: block;
  font-size: 13px;
  color: #666;
  margin-bottom: 24px;
  font-style: italic;
  font-weight: 400;
}

/* BOX PREZZI - "Receipt Look" Pulito */
.bundle-price-breakdown {
  background: #FFFFFF; /* Bianco puro per stacco */
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  padding: 20px;
  margin: 0 0 24px 0;
  text-align: center;
}

.price-comparison {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 8px;
}

.old-price {
  font-size: 16px;
  color: #999;
  text-decoration: line-through;
}

.arrow {
  color: #3E6B46;
  font-size: 18px;
  opacity: 0.4;
}

.new-price {
  font-size: 20px;
  color: #1A1816;
  font-weight: 700;
}

.savings-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #D50032;
  background: rgba(213, 0, 50, 0.06); /* Rosso chiarissimo */
  padding: 4px 10px;
  border-radius: 20px;
  margin-top: 8px;
}

.price-detail, .discount-note { display: none; } /* Pulizia: nascondiamo testi ridondanti */


/* --- GHOST BUTTON (La mossa Premium per eccellenza) --- */
/* Diventa trasparente per non competere con il bottone di acquisto */
.bundle-cta-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  
  background: transparent !important; /* Sfondo trasparente */
  border: 2px solid #3E6B46; /* Bordo verde solido */
  color: #3E6B46 !important; /* Testo verde */
  
  padding: 16px 0;
  border-radius: 8px; /* Match con il box esterno */
  
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none !important;
  
  transition: all 0.2s ease;
  box-shadow: none !important; /* Via le ombre pesanti */
}

.bundle-cta-button:hover {
  background: #3E6B46 !important; /* Diventa pieno all'hover */
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* Rimuoviamo le frecce e gli effetti ripple vecchi */
.bundle-cta-button::after, .bundle-cta-button::before { display: none; }


/* ========================================
   MOBILE ADJUSTMENTS
   ======================================== */
@media (max-width: 749px) {
  .fior-bundle-upsell {
    display: block; /* Torna a blocco normale */
    padding: 28px 20px 24px 20px;
    margin: 50px 0 24px 0 !important; /* Molto spazio sopra per il badge */
  }

  /* Su mobile, il badge torna "pop-out" sopra il box */
  .bundle-badge {
      position: absolute !important;
      top: -16px;
      /* Centrato orizzontalmente */
      left: 50%;
      transform: translateX(-50%);
      
      padding: 8px 20px;
      font-size: 12px;
      
      /* Bordo bianco per stacco netto dallo sfondo */
      border: 3px solid #F4F2ED; 
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  }
  
  .bundle-text { font-size: 20px; }
  .bundle-price-breakdown { padding: 16px; }
  .new-price { font-size: 18px; }
}

/* ========================================
   FIOR DELIVERY COUNTDOWN - PREMIUM V2
   ======================================== */

.fior-delivery-countdown {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: #F4F2ED;
  border: 2px solid #2C5F3C;
  border-radius: 10px;
  margin: 0 0 20px 0;
  box-shadow: 0 2px 8px rgba(44, 95, 60, 0.08);
}

.fior-delivery-countdown svg {
  flex-shrink: 0;
  opacity: 0.9;
}

.countdown-content {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  font-size: 14px;
  line-height: 1.4;
}

.countdown-label {
  font-weight: 600;
  color: #2C5F3C;
}

.countdown-time {
  font-weight: 700;
  color: #D50032;
  font-size: 17px;
  min-width: 55px;
  display: inline-block;
}

.countdown-arrival {
  font-weight: 600;
  color: #2C5F3C;
}

.countdown-arrival strong {
  font-weight: 700;
  color: #2C5F3C;
}

/* Mobile */
@media (max-width: 749px) {
  .fior-delivery-countdown {
    padding: 14px 18px;
    margin: 0 0 16px 0;
  }
  
  .countdown-content {
    font-size: 13px;
    gap: 5px;
  }
  
  .countdown-time {
    font-size: 16px;
    min-width: 50px;
  }
  
  .fior-delivery-countdown svg {
    width: 18px;
    height: 18px;
  }
}

/* Desktop */
@media (min-width: 750px) {
  .fior-delivery-countdown {
    padding: 18px 22px;
  }
  
  .countdown-content {
    font-size: 15px;
  }
  
  .countdown-time {
    font-size: 18px;
  }
}

/* ========================================
   FIRST DROP BADGE - COMPACT V4
   ======================================== */

.fior-first-drop-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  
  /* Rosso Solido Premium, niente gradienti */
  background: #D50032; 
  color: #FFFFFF;
  
  padding: 12px 24px;
  border-radius: 50px; /* Pillola perfetta */
  
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  
  margin: 24px auto;
  /* Ombra rossa morbida */
  box-shadow: 0 8px 20px -5px rgba(213, 0, 50, 0.5);
  
  /* Rimuoviamo l'animazione pulse continua, troppo cheap */
  animation: none; 
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fior-first-drop-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -8px rgba(213, 0, 50, 0.6);
}

.fior-first-drop-badge:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 20px rgba(213, 0, 50, 0.5),
              0 4px 8px rgba(0, 0, 0, 0.2);
}

@keyframes urgencyPulse {
  0%, 100% { 
    transform: scale(1); 
    box-shadow: 0 6px 16px rgba(213, 0, 50, 0.4),
                0 2px 6px rgba(0, 0, 0, 0.15);
  }
  50% { 
    transform: scale(1.04); 
    box-shadow: 0 8px 20px rgba(213, 0, 50, 0.55),
                0 4px 8px rgba(0, 0, 0, 0.2);
  }
}

/* FIAMMA */
.drop-icon {
  font-size: 18px;
  animation: fireFlicker 1.5s ease-in-out infinite;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.7));
  flex-shrink: 0;
  line-height: 1;
}

@keyframes fireFlicker {
  0%, 100% { 
    opacity: 1; 
    transform: scale(1);
  }
  25% { 
    opacity: 0.9; 
    transform: scale(1.15) rotate(-5deg);
  }
  50% { 
    opacity: 1; 
    transform: scale(1.1) rotate(5deg);
  }
  75% { 
    opacity: 0.95; 
    transform: scale(1.12) rotate(-3deg);
  }
}

/* Testi compatti */
.drop-text {
  font-weight: 800;
  color: #FFFFFF !important;
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
}

.drop-separator {
  display: none !important;
}

.drop-count {
  font-weight: 600;
  color: #FFFFFF !important;
  line-height: 1.2;
  font-size: 12px;
  white-space: nowrap;
}

.drop-count strong {
  font-weight: 900;
  color: #FFFFFF !important;
  font-size: 14px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Mobile - Due righe */
@media (max-width: 749px) {
  .fior-first-drop-badge {
    flex-direction: column;
    gap: 3px !important;
    padding: 10px 18px; /* Ancora più compatto */
    font-size: 12px;
    max-width: 85%; /* Più stretto */
    text-align: center;
  }
  
  .drop-icon {
    font-size: 18px;
    margin-bottom: 2px;
  }
  
  .drop-text {
    font-size: 12px;
    letter-spacing: 0.5px;
  }
  
  .drop-count {
    font-size: 11px;
  }
  
  .drop-count strong {
    font-size: 13px;
  }
}

/* Desktop */
@media (min-width: 750px) {
  .fior-first-drop-badge {
    flex-direction: row;
    padding: 12px 20px;
    font-size: 13px;
    gap: 8px;
  }
  
  .drop-icon {
    font-size: 18px;
  }
  
  .drop-text {
    font-size: 13px;
  }
  
  .drop-count {
    font-size: 12px;
  }
  
  .drop-count strong {
    font-size: 14px;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .fior-first-drop-badge,
  .drop-icon {
    animation: none !important;
  }
  
  .fior-first-drop-badge:hover {
    transform: none !important;
  }
}
/* Drop row top - fiamma + FIRST DROP inline */
.drop-row-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Mobile - due righe */
@media (max-width: 749px) {
  .fior-first-drop-badge {
    flex-direction: column !important;
    gap: 3px !important;
  }
  
  .drop-row-top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }
  
  .drop-icon {
    font-size: 18px;
  }
  
  .drop-text {
    font-size: 12px;
    font-weight: 800;
  }
  
  .drop-count {
    font-size: 11px;
    font-weight: 600;
  }
  
  .drop-count strong {
    font-size: 13px;
    font-weight: 900;
  }
}

/* Desktop - tutto inline */
@media (min-width: 750px) {
  .fior-first-drop-badge {
    flex-direction: row !important;
    gap: 8px !important;
  }
  
  .drop-row-top {
    display: flex;
    align-items: center;
    gap: 6px;
  }
  
  .drop-icon {
    font-size: 18px;
  }
  
  .drop-text {
    font-size: 13px;
    font-weight: 800;
  }
  
  .drop-count {
    font-size: 12px;
    font-weight: 600;
  }
  
  .drop-count strong {
    font-size: 14px;
    font-weight: 900;
  }
}

/* FIX DESKTOP SIZE BUTTONS - VISIBILITY */
@media (min-width: 750px) {
  
  /* Stato Base (Non selezionato) */
  .product-form__input input[type='radio'] + label:not(.color-swatch) {
    /* Sfondo BIANCO per staccare dal fondo crema */
    background-color: #FFFFFF !important; 
    
    /* Testo Nero solido */
    color: #1A1816 !important;
    
    /* Bordo grigio leggero per definizione */
    border: 1px solid rgba(0, 0, 0, 0.15) !important; 
    
    /* Assicuriamo che non sia trasparente */
    opacity: 1 !important; 
    
    /* Ombra leggera per profondità */
    box-shadow: 0 2px 5px rgba(0,0,0,0.02) !important;
  }

  /* Hover (Quando passi il mouse) */
  .product-form__input input[type='radio'] + label:not(.color-swatch):hover {
    border-color: #3E6B46 !important; /* Bordo verde al passaggio */
    transform: translateY(-1px);
  }
/* ==============================================
   FIOR BUTTON SPACE SAVER (NO MARGIN)
   ============================================== */

button.product-form__submit,
.product-form__submit {
    /* 1. Azzera i margini esterni (recupera spazio sopra e sotto) */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    
    /* 2. Ottimizza il Padding Mobile (meno alto) */
    /* Dallo screen vedo 16px, scendiamo a 14px per essere più compatti */
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    
    /* Assicura che sia largo il giusto */
    width: 100% !important;
}

/* Opzionale: Riduciamo anche lo spazio sotto il selettore quantità per avvicinarlo ancora di più */
quantity-input.quantity {
    margin-bottom: 10px !important; /* Era 20px o 15px */
}
/* ==============================================
   FIOR QUANTITY SPACING FIX (Tight Layout)
   ============================================== */

/* 1. Rimuovi il margine dal contenitore principale della quantità */
.product-parameters__item.product-parameters__quantity {
    margin-bottom: 8px !important; /* Era probabilmente 20px+ */
    padding-bottom: 0 !important;
}

/* 2. Rimuovi il margine dal wrapper dell'input */
.product-form__input.product-form__quantity {
    margin-bottom: 0 !important;
}

/* 3. Assicura che il sottotitolo "(Delivery in...)" non spinga troppo */
.quantity-subtitle {
    margin-bottom: 8px !important;
    margin-top: 0 !important;
    line-height: 1.2 !important;
}


/* ============================================
   FIOR BUNDLE NUDGE - MOBILE FIX (MAX SPECIFICITY)
   Usa ID + Classi per vincere contro il tema
   ============================================ */

/* 1. STILE BASE (Desktop + Mobile) */
/* Uso body davanti per aumentare la specificità */
body .fior-nudge-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    transition: all 0.3s ease !important;
    
    /* DEFAULT VISIBILITY */
    visibility: visible !important;
    opacity: 1 !important;
}

/* 2. STATO ROSSO (Incentivo) */
body .fior-nudge-container.nudge-incentive {
    background-color: #FFF0F0 !important; /* Sfondo Rosa */
    border: 1px solid #ffcdd2 !important; /* Bordo Rosa Scuro */
    color: #D50032 !important; /* Testo Rosso */
}

/* 3. STATO VERDE (Successo) */
body .fior-nudge-container.nudge-success {
    background-color: #F2F7F4 !important; /* Sfondo Verde Chiaro */
    border: 1px solid #c8e6c9 !important; /* Bordo Verde */
    color: #2d5035 !important; /* Testo Verde Scuro */
}

/* 4. FORZATURA MOBILE ESTREMA */
@media (max-width: 768px) {
    /* Targettizziamo specificamente dentro il form del prodotto */
    .product-form__quantity .fior-nudge-container,
    .product-parameters__quantity .fior-nudge-container {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: flex !important; /* Forza flex anche se il genitore dice altro */
        background-image: none !important; /* Rimuove sfondi immagine */
    }
    
    /* Ripetiamo i colori per mobile per sicurezza */
    .fior-nudge-container.nudge-incentive {
        background-color: #FFF0F0 !important;
    }
    .fior-nudge-container.nudge-success {
        background-color: #F2F7F4 !important;
    }
}

/* FIX VIDEO VERTICALE 4:5 */
  
  /* 1. Forza il contenitore del video ad avere la forma 4:5 */
  .product__media-wrapper .deferred-media, 
  .product__media-wrapper .media-wrapper {
      padding-top: 125% !important; /* 125% è la matematica esatta per il 4:5 */
      aspect-ratio: 4 / 5 !important;
  }

  /* 2. Forza il video a riempire il contenitore */
  .product__media-wrapper video,
  .product__media-wrapper iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important; /* Assicura che riempia senza bordi neri */
  }
  
  /* 3. Nasconde eventuali pulsanti di play giganti che si spostano */
  .deferred-media__poster-button {
      z-index: 10;
  }

/* ============================================
   S2: MOBILE GALLERY — FULL-WIDTH SWIPE + DOTS
   ============================================ */
@media (max-width: 749px) {

  /* 1. Nasconde la strip thumbnail su mobile */
  .product__media-sublist.js-media-sublist {
    display: none !important;
  }

  /* 2. Gallery principale full-width */
  .product__media-list-wrapper {
    margin-left: -1rem;
    margin-right: -1rem;
    width: calc(100% + 2rem);
  }

  .product__media-list.js-media-list {
    border-radius: 0;
  }

  .product__media-list.js-media-list .swiper-slide {
    width: 100% !important;
  }

  .product__media-list.js-media-list .swiper-slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  /* 3. Dots pagination sempre visibili su mobile */
  .product__pagination.swiper-pagination {
    display: flex !important;
    justify-content: center;
    padding: 12px 0 8px 0;
    position: relative;
    bottom: auto;
  }

  .product__pagination .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #CCCCCC !important;
    opacity: 1 !important;
    margin: 0 4px !important;
    transition: all 0.3s ease;
  }

  .product__pagination .swiper-pagination-bullet-active {
    background: #3E6B46 !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    transform: scale(1.3);
  }

  /* 4. Nasconde frecce prev/next su mobile (si usa swipe) */
  .swiper-btn.swiper-btn--prev,
  .swiper-btn.swiper-btn--next {
    display: none !important;
  }
}

