.lumise-button.lumise-list-button {
    background-color: #0073aa !important;
    color: black !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: bold;
    text-transform: uppercase;
}


/* Contenitore quantità: stile moderno con flex */
.woocommerce .quantity,
.quantity {
    display: inline-flex;
    align-items: center;
    border: 2px solid #0073aa; /* Colore bordo principale */
    border-radius: 50px;       /* Angoli arrotondati per effetto pillola */
    overflow: hidden;
    background-color: #f8f8f8; /* Sfondo contenitore */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Ombra leggera */
    transition: all 0.3s ease;
}

/* Input numero */
.woocommerce .quantity input.qty,
.quantity input.qty {
    width: 80px;               /* Larghezza campo numero */
    height: 30px;              /* Altezza campo */
    text-align: center;
    font-size: 20px;           /* Dimensione numero */
    color: #333;               /* Colore numero */
    border: none;              /* Nessun bordo */
    background: transparent;   /* Sfondo trasparente */
    outline: none;             /* Nessun contorno focus */
    transition: all 0.3s ease;
}

/* Pulsanti + e - */
.woocommerce .quantity .plus,
.woocommerce .quantity .minus,
.quantity .plus,
.quantity .minus {
    width: 50px;               /* Dimensione bottoni */
    height: 50px;
    font-size: 24px;           /* Dimensione simboli */
    font-weight: bold;
    border: none;
    background-color: #0073aa; /* Sfondo bottoni */
    color: #ffffff;            /* Colore simboli */
    border-radius: 50%;        /* Bottoni rotondi */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

/* Effetto hover sui pulsanti */
.woocommerce .quantity .plus:hover,
.woocommerce .quantity .minus:hover,
.quantity .plus:hover,
.quantity .minus:hover {
    background-color: #005177; /* Cambia colore sfondo */
    transform: scale(1.1);     /* Leggero zoom */
}

/* Focus sul campo quantità */
.woocommerce .quantity input.qty:focus,
.quantity input.qty:focus {
    background-color: #ffffff; /* Sfondo più chiaro in focus */
    box-shadow: inset 0 0 5px rgba(0, 115, 170, 0.3);
    border-radius: 50px;
}


.elementor-widget-image-box .elementor-image-box-title {
    text-align: center !important;
}


.tc-upload-remove {
    background-color: transparent !important; /* niente sfondo */
    border: none !important;                 /* niente bordo */
    color: red !important;                   /* croce rossa */
    font-size: 18px !important;              /* grandezza croce */
    font-weight: bold;                       /* croce più marcata */
    width: 20px;                             /* dimensione del pulsante */
    height: 20px;
    line-height: 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 0 !important;
}
/* Modifica l'SVG della croce */
.tc-upload-remove svg {
    width: 20px !important;  /* nuova larghezza croce */
    height: 20px !important; /* nuova altezza croce */
    fill: red !important;    /* colore croce */
    display: block;
    margin: 0 auto;
}

/* Centrare il path della croce */
.tc-upload-remove svg path {
    transform: scale(1.5); /* ingrandisce la croce */
    transform-origin: center center; /* centra la trasformazione */
}


/* Riduci le anteprime file caricate in EPO */
.tc-upload-preview img {
    max-width: 100px !important;  /* larghezza massima */
    max-height: 100px !important; /* altezza massima */
    object-fit: contain;          /* mantiene le proporzioni */
    border-radius: 5px;           /* opzionale: angoli arrotondati */
    border: 1px solid #ccc;       /* opzionale: bordino */
}


/* Dimensioni immagini galleria prodotto WooCommerce */
.woocommerce div.product div.images img {
    max-width: 300px !important;   /* regola come preferisci */
    max-height: 300px !important;
    object-fit: contain;
    margin: 0 auto;                /* centra l'immagine */
}
/* Nascondi lo zoom di WooCommerce */
.woocommerce div.product div.images .zoomImg {
    display: none !important;
}


/* --- Struttura: label sopra, prezzo sotto --- */
.tm-extra-product-options-totals dl.tm-custom-price-totals { display: block; }
.tm-extra-product-options-totals dt.tm-final-totals,
.tm-extra-product-options-totals dd.tm-final-totals { display: block; margin: 0; padding: 0; }

/* Spazio per staccare il blocco totale dai checkbox */
.tm-extra-product-options-totals { margin-top: -10px; }

/* --- STILE "Costo totale" (label) --- */
.tm-extra-product-options-totals dt.tm-final-totals{
  /* Tipografia */
  font-family: "Inter", var(--e-global-typography-text-font-family, inherit); /* cambia se vuoi */
  font-size: 16px;           /* dimensione */
  font-weight: 600;          /* spessore: 400=normale, 600=semibold, 700=bold */
  letter-spacing: 0.2px;     /* spaziatura lettere */
  text-transform: none;      /* none | uppercase | lowercase | capitalize */
  color: #333;               /* colore del testo */

  /* Posizionamento */
  text-align: left;          /* left | center | right */
  margin-bottom: -5px;        /* spazio tra "Costo totale" e il prezzo sotto */
}

/* --- STILE Prezzo --- */
.tm-extra-product-options-totals dd.tm-final-totals{
  font-size: 20px;           /* dimensione prezzo */
  font-weight: 700;          /* spessore prezzo */
  color: #000;               /* colore prezzo */
}

/* --- Varianti rapide di allineamento (usa UNA alla volta se preferisci) --- */
/* Centrare label+prezzo */
.tm-extra-product-options-totals.is-center dt.tm-final-totals,
.tm-extra-product-options-totals.is-center dd.tm-final-totals { text-align: center; }
/* Allineare a destra label+prezzo */
.tm-extra-product-options-totals.is-right dt.tm-final-totals,
.tm-extra-product-options-totals.is-right dd.tm-final-totals { text-align: right; }

/* --- Mobile tuning (facoltativo) --- */
@media (max-width: 480px){
  .tm-extra-product-options-totals dt.tm-final-totals{ font-size: 14px; }
  .tm-extra-product-options-totals dd.tm-final-totals{ font-size: 18px; }
  .tm-extra-product-options-totals{ margin-top: 12px; }
}


/* Wrapper delle coppie di upload */
.epo-uploads-row{
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin: 10px 0 5px;
}

/* Ogni upload prende metà riga (vince su tcwidth-100 & co) */
.epo-uploads-row .tc-container.cpf-type-upload{
  width: 50% !important;
  max-width: 50% !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box;
}

/* Etichetta sopra al campo */
.epo-uploads-row .tc-epo-label{
  display: block;
  margin-bottom: 6px;
}

/* Mobile: una colonna */
@media (max-width: 768px){
  .epo-uploads-row{ flex-direction: column; gap: 12px; }
  .epo-uploads-row .tc-container.cpf-type-upload{
    width: 100% !important;
    max-width: 100% !important;
  }
}


#lumise-slot {
  text-align: center;     /* centra orizzontalmente il bottone */
  margin-top: -15px;       /* sposta verso il basso */
  margin-bottom: 30px;    /* spazio sotto */
  margin-left: -50px;       /* sposta verso destra (+) o sinistra (-) */
  margin-right: 0px;
}



/* ====== MANOPOLE GLOBALI ====== */
.single-product .tm-extra-product-options{
  --cbox-size: 30px;     /* dimensione checkbox/radio */
  --gap: 5px;            /* spazio input <-> testo */
  --x: 0px;              /* spostamento orizzontale TESTO */
  --y: -80px;             /* spostamento verticale TESTO */
  --cbox-x: 0px;         /* spostamento orizzontale CHECKBOX */
  --cbox-y: -70px;         /* spostamento verticale CHECKBOX */
  --row-gap: -35px;       /* distanza tra le righe (ex: 14px) */
  --label-weight: 600;   /* peso del testo (400–700) */
}

/* layout in linea checkbox + label */
.single-product .tm-extra-product-options .cpf-type-checkbox .tc-element-inner-wrap > .tc-row,
.single-product .tm-extra-product-options .cpf-type-radio    .tc-element-inner-wrap > .tc-row{
  display: grid !important;
  grid-template-columns: var(--cbox-size) 1fr; /* col1: input, col2: testo */
  align-items: center !important;
  column-gap: var(--gap);
  margin-bottom: var(--row-gap);              /* <— ora usa row-gap */
}

/* colonna input */
.single-product .tm-extra-product-options .cpf-type-checkbox .tc-element-inner-wrap > .tc-row > .tc-element-container,
.single-product .tm-extra-product-options .cpf-type-radio    .tc-element-inner-wrap > .tc-row > .tc-element-container{
  grid-column: 1 !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  transform: translate(var(--cbox-x), var(--cbox-y));        /* move checkbox */
}

/* dimensione input */
.single-product .tm-extra-product-options .cpf-type-checkbox input.tmcp-checkbox,
.single-product .tm-extra-product-options .cpf-type-radio    input.tmcp-radio{
  width: var(--cbox-size) !important;
  height: var(--cbox-size) !important;
  margin: 0 !important;
}

/* colonna testo */
.single-product .tm-extra-product-options .cpf-type-checkbox h6.tc-epo-label,
.single-product .tm-extra-product-options .cpf-type-radio    h6.tc-epo-label{
  grid-column: 2 !important;
  margin: 0 !important;
  width: auto !important;
  line-height: 1.2;
  font-weight: var(--label-weight);
  transform: translate(var(--x), var(--y));                  /* move text */
}

/* ——— override PER RIGA (facoltativo) ———
   usa nth-of-type(1) / nth-of-type(2) per regolare prima/seconda opzione */
.single-product .tm-extra-product-options
.cpf-type-checkbox .tc-element-inner-wrap > .tc-row:nth-of-type(1){
  /* esempio: prima riga un filo più alta e checkbox leggermente a sx */
  --y: -43px;
  --cbox-x: 5px;
}
.single-product .tm-extra-product-options
.cpf-type-checkbox .tc-element-inner-wrap > .tc-row:nth-of-type(2){
  /* esempio: seconda riga più distanziata e checkbox più giù */
  --row-gap: -30px;
  --y: 28px;
  --cbox-y: 200px;
}

/* mobile: se vuoi impilare sotto i 480px */
@media (max-width: 480px){
  .single-product .tm-extra-product-options .cpf-type-checkbox .tc-element-inner-wrap > .tc-row,
  .single-product .tm-extra-product-options .cpf-type-radio    .tc-element-inner-wrap > .tc-row{
    grid-template-columns: 1fr;   /* testo sopra, input sotto */
    row-gap: 6px;
  }
}
/* ===== chiudi lo spazio dopo le checkbox ===== */
.single-product .tm-extra-product-options .cpf-type-checkbox{
  margin-bottom: 0px !important;          /* <— riduci/0 se vuoi attaccarlo */
}

/* se il tema/plugin mette margini interni aggiuntivi, azzera qui */
.single-product .tm-extra-product-options .cpf-type-checkbox .tc-element-inner-wrap{
  margin-bottom: 0 !important;
}

/* ===== stringi lo spazio PRIMA del blocco upload ===== */
.single-product .tm-extra-product-options .cpf-type-upload{
  margin-top: -60px !important;             /* <— abbassa se vuoi appiccicarlo */
}

/* se l’upload è condizionale: quando si attiva subito dopo una checkbox,
   togli ancora un po’ di aria tra i due blocchi adiacenti               */
.single-product .tm-extra-product-options .cpf-type-checkbox + .cpf-type-upload{
  margin-top: -50px !important;             /* <— affina qui */
}

/* (facoltativo) regola lo spazio tra QUALSIASI elemento di opzione */
.single-product .tm-extra-product-options .cpf-element{
  margin-bottom: 0px;                     /* spazio di default tra elementi */
}

/* Desktop: Fronte e Retro affiancati e non sovrapposti */
@media (min-width: 768px){

  /* contenitore dei due upload */
  .single-product .tm-extra-product-options .cpf-type-upload .tmcp-ul-wrap{
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 10px !important;          /* regola qui la distanza tra i 2 blocchi */
  }

  /* i due <li> (Fronte e Retro) prendono solo lo spazio necessario */
  .single-product .tm-extra-product-options .cpf-type-upload .tmcp-ul-wrap > .tmcp-field-wrap{
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* il label del blocco upload NON deve essere fullwidth */
  .single-product .tm-extra-product-options
  .cpf-type-upload label.cpf-upload-container-basic.fullwidth{
    width: auto !important;
    max-width: none !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
  }

  /* wrapper del file input */
  .single-product .tm-extra-product-options .cpf-type-upload .cpf-upload-wrap{
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
  }

  /* input file senza larghezza forzata */
  .single-product .tm-extra-product-options
  .cpf-type-upload input[type="file"],
  .single-product .tm-extra-product-options
  .cpf-type-upload .tmcp-field.tm-epo-field.tmcp-upload{
    width: auto !important;
    max-width: none !important;
  }

  /* testo "max file size" sotto al relativo upload */
  .single-product .tm-extra-product-options .cpf-type-upload .tc-max-file-size{
    display: block !important;
    margin-top: 6px !important;
  }
}


