/* =========================================================
   AURUM CREAZIONI - Checkout Premium VMuikit X 10.30
   File: /templates/yootheme_aurum/css/custom.css
   Reversibile: rinomina custom.css in custom-off.css
   ========================================================= */

#checkoutForm {
  --aurum-gold: #efbd58;
  --aurum-gold-dark: #d6a03f;
  --aurum-bronze: #b89478;
  --aurum-text: #2e2e2e;
  --aurum-muted: #9b9b9b;
  --aurum-line: #ece8e3;
  --aurum-soft: #faf8f5;
  --aurum-card: #ffffff;

  max-width: 1120px;
  margin: 0 auto;
  color: var(--aurum-text);
}

/* Pagina checkout più elegante */
#tm-main .uk-container:has(#checkoutForm) {
  max-width: 1180px;
}

#checkoutForm > .uk-grid-divider {
  margin-top: 10px;
}

/* Continua acquisti */
#checkoutForm .continue-shopping {
  text-align: right;
  margin: 0 0 42px;
}

#checkoutForm .continue-shopping .uk-button {
  min-height: 42px;
  line-height: 42px;
  padding: 0 34px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #d9a547);
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: .02em;
  box-shadow: 0 10px 26px rgba(239, 189, 88, .25);
}

#checkoutForm .continue-shopping .uk-button:hover {
  background: linear-gradient(135deg, #d9a547, #c49135);
  color: #fff;
}

/* Colonne principali */
#checkoutForm #cart-contents {
  align-items: flex-start;
}

#checkoutForm #leftdiv {
  width: 58% !important;
  padding-right: 44px;
}

#checkoutForm #right_div {
  width: 42% !important;
  padding-left: 44px;
  border-left: 1px solid var(--aurum-line);
}

/* Titoli */
#checkoutForm h3.uk-h3 {
  margin-bottom: 24px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 400;
  color: var(--aurum-text);
  letter-spacing: .01em;
}

#checkoutForm h4.uk-h4 {
  font-size: 18px;
  font-weight: 400;
  color: var(--aurum-text);
  line-height: 1.35;
}

/* =========================================================
   CARRELLO SINISTRA
   ========================================================= */

#checkoutForm #allproducts {
  background: transparent;
}

/* Riga prodotto premium */
#checkoutForm #allproducts .product {
  position: relative;
  margin: 0 !important;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--aurum-line);
}

#checkoutForm #allproducts .product + .product {
  padding-top: 24px;
}

#checkoutForm #allproducts hr {
  display: none;
}

#checkoutForm #allproducts .spacer[uk-grid] {
  align-items: center;
}

/* Immagine prodotto */
#checkoutForm #allproducts img.uk-thumbnail {
  width: 108px;
  height: 108px;
  object-fit: cover;
  padding: 0;
  border: 0;
  background: #f6f6f6;
  box-shadow: none;
}

/* Nome prodotto */
#checkoutForm #allproducts .top-row .uk-link {
  color: var(--aurum-bronze);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .025em;
  text-decoration: none;
}

#checkoutForm #allproducts .top-row .uk-link:hover {
  color: var(--aurum-gold-dark);
}

/* Quantità ordinata */
#checkoutForm .quantity .spacer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

#checkoutForm .quantity-input {
  width: 38px !important;
  max-width: 38px !important;
  height: 30px;
  padding: 0;
  text-align: center;
  border: 1px solid #eee;
  border-radius: 0;
  background: #f8f5f0;
  color: var(--aurum-text);
  font-size: 13px;
}

#checkoutForm .quantity-minus,
#checkoutForm .quantity-plus {
  color: var(--aurum-bronze);
  transition: color .2s ease;
}

#checkoutForm .quantity-minus:hover,
#checkoutForm .quantity-plus:hover {
  color: var(--aurum-gold-dark);
}

/* Pulsante aggiorna */
#checkoutForm .refreshbutton {
  min-height: 28px;
  line-height: 28px;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  background: var(--aurum-gold);
  color: #fff;
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}

#checkoutForm .refreshbutton:hover {
  background: var(--aurum-gold-dark);
  color: #fff;
}

/* Prezzi prodotto */
#checkoutForm [id^="subtotal_with_tax_"] {
  color: var(--aurum-gold-dark) !important;
  font-size: 15px;
  font-weight: 500;
}

/* Riga dettagli sotto prodotto */
#checkoutForm .cart-product-details a,
#checkoutForm .removeproduct {
  color: var(--aurum-bronze);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
}

#checkoutForm .cart-product-details a:hover,
#checkoutForm .removeproduct:hover {
  color: var(--aurum-gold-dark);
}

/* Box paese/provincia */
#checkoutForm #leftdiv > .uk-card {
  margin-top: 28px;
  border: 0;
  background: #fff;
  box-shadow: 0 16px 45px rgba(0,0,0,.045);
}

#checkoutForm .selectbox label {
  color: #777;
  font-size: 13px;
}

/* Spedizione / pagamento */
#checkoutForm #shipment_select .uk-card,
#checkoutForm #payment_select .uk-card {
  border: 0;
  background: #fff;
  box-shadow: 0 16px 45px rgba(0,0,0,.045);
  min-height: 158px;
}

#checkoutForm #shipment_select h4,
#checkoutForm #payment_select h4 {
  margin-bottom: 18px;
  font-size: 18px;
}

#checkoutForm #shipmenttable,
#checkoutForm #paymentable {
  margin-bottom: 0;
}

#checkoutForm #shipmenttable td,
#checkoutForm #paymentable td {
  padding: 18px 16px;
  background: var(--aurum-soft);
  color: #777;
  border: 0;
  font-size: 13px;
}

/* Bottone cambia pagamento */
#checkoutForm #paychangediv .uk-button {
  margin-top: 14px;
  min-height: 28px;
  line-height: 28px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--aurum-gold);
  color: #fff;
  font-size: 12px;
  text-transform: none;
}

#checkoutForm #paychangediv .uk-button:hover {
  background: var(--aurum-gold-dark);
}

/* Coupon */
#checkoutForm #coupon_code {
  height: 42px;
  font-size: 13px;
}

#checkoutForm #save-button,
#checkoutForm #delete-button {
  min-height: 30px;
  line-height: 30px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--aurum-gold);
  color: #fff;
  font-size: 12px;
  text-transform: none;
}

#checkoutForm #save-button:hover,
#checkoutForm #delete-button:hover {
  background: var(--aurum-gold-dark);
}

/* Riepilogo prezzi sinistra */
#checkoutForm .price-summary {
  max-width: 390px;
  margin-left: auto;
  margin-top: 22px;
  color: #888;
}

#checkoutForm .price-summary .uk-grid {
  margin-top: 8px !important;
}

#checkoutForm .price-summary .price-type,
#checkoutForm .price-summary .price-amount {
  font-size: 14px;
}

#checkoutForm .price-summary .total {
  margin-top: 16px !important;
}

#checkoutForm .price-summary .total .price-type,
#checkoutForm .price-summary .total .price-amount {
  color: var(--aurum-gold-dark) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
}

/* =========================================================
   CHECKOUT DESTRO
   ========================================================= */

#checkoutForm #right_div > .uk-width-1-1 {
  margin-bottom: 20px;
}

/* Card principale */
#checkoutForm #otherpay_buttons {
  position: sticky;
  top: 92px;
  border: 0;
  background: #fff;
  padding: 28px;
  box-shadow: 0 18px 55px rgba(0,0,0,.07);
}

/* Tab Cassa/Login */
#checkoutForm #loginbtns {
  display: flex !important;
  width: 100%;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--aurum-line);
}

#checkoutForm #loginbtns .uk-button {
  width: 50% !important;
  flex: 0 0 50%;
  min-height: 42px;
  line-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #858585;
  font-size: 13px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}

#checkoutForm #loginbtns .uk-button:first-child {
  border-radius: 999px 0 0 999px;
}

#checkoutForm #loginbtns .uk-button:last-child {
  border-radius: 0 999px 999px 0;
}

#checkoutForm #loginbtns .uk-button-primary {
  background: var(--aurum-gold);
  color: #fff;
}

/* Tab Ospite/Registrati */
#checkoutForm .billto-shipto .uk-button-group {
  display: flex !important;
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 0;
}

#checkoutForm .billto-shipto .uk-button {
  width: 50% !important;
  flex: 0 0 50%;
  min-height: 42px;
  line-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #858585;
  font-size: 13px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
}

#checkoutForm .billto-shipto .uk-button:first-child {
  border-radius: 999px 0 0 999px;
}

#checkoutForm .billto-shipto .uk-button:last-child {
  border-radius: 0 999px 999px 0;
}

#checkoutForm .billto-shipto .uk-button-primary {
  background: var(--aurum-gold);
  color: #fff;
}

/* Hover tab */
#checkoutForm #loginbtns .uk-button:not(.uk-button-primary):hover,
#checkoutForm .billto-shipto .uk-button:not(.uk-button-primary):hover {
  background: var(--aurum-soft);
  color: var(--aurum-gold-dark);
}

/* Titolo guest */
#checkoutForm #guesttitle,
#checkoutForm #regtitle {
  margin: 18px 0 18px;
  font-size: 20px;
  font-weight: 400;
}

/* Campi form */
#checkoutForm #billto_fields_div .uk-margin-small,
#checkoutForm #user_fields_div .uk-margin-small {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

#checkoutForm input.uk-input,
#checkoutForm select,
#checkoutForm textarea {
  height: 38px;
  border: 0;
  border-bottom: 1px solid #e9e6e1;
  background: transparent;
  box-shadow: none;
  color: #555;
  font-size: 13px;
}

#checkoutForm input.uk-input::placeholder {
  color: #aaa;
}

#checkoutForm input.uk-input:focus,
#checkoutForm select:focus,
#checkoutForm textarea:focus {
  border-color: var(--aurum-gold);
  background: transparent;
  box-shadow: none;
}

/* Note richieste */
#checkoutForm #commentbutton {
  height: 38px;
  line-height: 38px;
  border: 0;
  border-radius: 999px;
  background: #f7f7f7;
  color: #999;
  font-size: 13px;
  text-transform: none;
}

/* Totale checkout */
#checkoutForm #bottom_total {
  margin: 18px 0 12px !important;
  color: var(--aurum-gold-dark) !important;
  font-size: 20px;
  font-weight: 500;
}

#checkoutForm #carttotal {
  color: var(--aurum-gold-dark) !important;
}

/* Condizioni vendita */
#checkoutForm .checkout-button-top label {
  display: block;
  color: #aaa;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

#checkoutForm .terms-of-service {
  margin-right: 6px;
}

/* Conferma ordine */
#checkoutForm .checkout-button-top .uk-button-large {
  min-height: 48px;
  line-height: 48px;
  margin-top: 18px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #d8a241);
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: .02em;
  box-shadow: 0 14px 30px rgba(239, 189, 88, .25);
}

#checkoutForm .checkout-button-top .uk-button-large:hover {
  background: linear-gradient(135deg, #d8a241, #c49135);
  color: #fff;
}

/* Nasconde righe inutili, mantiene funzionalità */
#checkoutForm #otherpay_buttons hr {
  margin: 16px 0;
  border-color: var(--aurum-line);
}

/* Mobile */
@media (max-width: 959px) {
  #checkoutForm {
    max-width: 100%;
  }

  #checkoutForm #leftdiv,
  #checkoutForm #right_div {
    width: 100% !important;
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }

  #checkoutForm #right_div {
    margin-top: 42px;
  }

  #checkoutForm #otherpay_buttons {
    position: static;
    padding: 24px;
  }

  #checkoutForm .continue-shopping {
    text-align: center;
  }

  #checkoutForm #allproducts img.uk-thumbnail {
    width: 92px;
    height: 92px;
  }

  #checkoutForm .price-summary {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  #checkoutForm h3.uk-h3 {
    font-size: 24px;
  }

  #checkoutForm #allproducts .top-row .uk-link {
    font-size: 16px;
  }

  #checkoutForm #loginbtns .uk-button,
  #checkoutForm .billto-shipto .uk-button {
    font-size: 12px;
  }

  #checkoutForm #otherpay_buttons {
    padding: 20px;
  }
  
}

/* =========================================================
   FIX TAB LOGIN / REGISTRATI + RIMOZIONE TRIANGOLO OSPITE
   ========================================================= */

/* 1) Tab Cassa / Login */
#checkoutForm #loginbtns {
  display: flex !important;
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ece8e3;
}

#checkoutForm #loginbtns .uk-button {
  flex: 1 1 0;
  width: auto !important;
  min-height: 42px;
  line-height: 40px;
  padding: 0 18px;
  border: 1px solid #dfd7cc;
  border-radius: 999px !important;
  background: #fff;
  color: #7d7368;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  text-transform: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
  transition: all .2s ease;
}

#checkoutForm #loginbtns .uk-button:hover {
  border-color: #efbd58;
  color: #b8892f;
  background: #fffdf8;
}

#checkoutForm #loginbtns .uk-button.uk-button-primary {
  border-color: #efbd58;
  background: linear-gradient(135deg, #efbd58, #dca847);
  color: #fff;
  box-shadow: 0 10px 20px rgba(239, 189, 88, .22);
}

/* 2) Tab Ospite / Registrati */
#checkoutForm .billto-shipto .uk-button-group {
  display: flex !important;
  gap: 10px;
  width: 100%;
  margin-bottom: 20px;
}

#checkoutForm .billto-shipto .uk-button-group .uk-button {
  flex: 1 1 0;
  width: auto !important;
  min-height: 42px;
  line-height: 40px;
  padding: 0 18px;
  border: 1px solid #dfd7cc;
  border-radius: 999px !important;
  background: #fff;
  color: #7d7368;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  text-transform: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
  transition: all .2s ease;
}

#checkoutForm .billto-shipto .uk-button-group .uk-button:hover {
  border-color: #efbd58;
  color: #b8892f;
  background: #fffdf8;
}

#checkoutForm .billto-shipto .uk-button-group .uk-button.uk-button-primary {
  border-color: #efbd58;
  background: linear-gradient(135deg, #efbd58, #dca847);
  color: #fff;
  box-shadow: 0 10px 20px rgba(239, 189, 88, .22);
}

/* 3) Tolgo il triangolino accanto a Ospite / Registrati */
#checkoutForm #guesticon,
#checkoutForm #regicon,
#checkoutForm .billto-shipto .uk-button i {
  display: none !important;
}

/* 4) Se vuoi far sembrare ancora di più "cliccabili" i tab inattivi */
#checkoutForm #loginbtns .uk-button:not(.uk-button-primary),
#checkoutForm .billto-shipto .uk-button-group .uk-button:not(.uk-button-primary) {
  background: #ffffff;
}

/* 5) Miglioro un filo il titolo sotto */
#checkoutForm #guesttitle,
#checkoutForm #regtitle {
  margin-top: 10px;
}

/* =========================================================
   AURUM - OVERRIDE FINALE DESKTOP/TABLET
   Forza tab leggibili e coupon ordinato
   ========================================================= */

#checkoutForm #loginbtns,
#checkoutForm .billto-shipto .uk-button-group {
  display: flex !important;
  gap: 10px !important;
  width: 100% !important;
  margin-bottom: 18px !important;
}

#checkoutForm #loginbtns {
  padding-bottom: 16px !important;
  border-bottom: 1px solid #ece8e3 !important;
}

#checkoutForm #loginbtns .uk-button,
#checkoutForm .billto-shipto .uk-button-group .uk-button {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  line-height: 40px !important;
  padding: 0 18px !important;
  border: 1px solid #dfd7cc !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #7d7368 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.03) !important;
}

#checkoutForm #loginbtns .uk-button.uk-button-primary,
#checkoutForm .billto-shipto .uk-button-group .uk-button.uk-button-primary {
  border-color: #efbd58 !important;
  background: linear-gradient(135deg, #efbd58, #dca847) !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(239,189,88,.22) !important;
}

#checkoutForm #guesticon,
#checkoutForm #regicon,
#checkoutForm .billto-shipto .uk-button i {
  display: none !important;
}

/* Coupon: mette Salva dentro una riga pulita e non sopra la linea */
#checkoutForm #leftdiv .uk-card:has(#coupon_code) {
  padding: 16px 18px !important;
}

#checkoutForm #leftdiv .uk-card:has(#coupon_code) .uk-text-center {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
}

#checkoutForm #coupon_code {
  flex: 1 1 auto !important;
  width: auto !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #ece8e3 !important;
  border-radius: 999px !important;
  background: #fff !important;
}

#checkoutForm #save-button {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 74px !important;
  height: 34px !important;
  line-height: 34px !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  #checkoutForm #leftdiv .uk-card:has(#coupon_code) .uk-text-center {
    display: block !important;
  }

  #checkoutForm #coupon_code {
    width: 100% !important;
    margin-bottom: 10px !important;
  }
}

/* =========================================================
   AURUM CREAZIONI - FIX MODALI VMUIKIT X
   - Migliora popup pagamento/spedizione/note
   - NON traduce le stringhe PLG_: per quelle usa override lingua Joomla
   ========================================================= */

/* Modale VMuikit / UIkit checkout */
#paymentdiv .uk-modal-dialog,
#shipmentdiv .uk-modal-dialog,
#commentpopup .uk-modal-dialog,
#shiptopopup .uk-modal-dialog {
  width: min(720px, calc(100vw - 34px));
  border-radius: 0;
  padding: 34px 38px;
  background: #fff;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .22);
  color: #3a3a3a;
}

#paymentdiv .ukmodalheader,
#shipmentdiv .ukmodalheader,
#commentpopup .ukmodalheader,
#shiptopopup .ukmodalheader,
#paymentdiv .uk-text-large,
#shipmentdiv .uk-text-large {
  margin-bottom: 18px !important;
  font-size: 24px !important;
  line-height: 1.25;
  font-weight: 400 !important;
  color: #2f2f2f;
  letter-spacing: .01em;
}

#paymentdiv .uk-close-large,
#shipmentdiv .uk-close-large,
#commentpopup .uk-close-large,
#shiptopopup .uk-close-large {
  color: #9b9b9b;
}

#paymentdiv #payment_ul,
#shipmentdiv #shipment_ul {
  margin: 0;
}

#paymentdiv #payment_ul li,
#shipmentdiv #shipment_ul li {
  padding: 14px 0;
  border-color: #eee8df;
  color: #777;
  font-size: 15px;
  line-height: 1.65;
}

#paymentdiv #payment_ul label,
#shipmentdiv #shipment_ul label {
  display: block;
  cursor: pointer;
}

#paymentdiv input[type="radio"],
#shipmentdiv input[type="radio"] {
  margin-right: 8px;
  transform: translateY(1px);
  accent-color: #d8a241;
}

#paymentdiv .vmpayment_name,
#shipmentdiv .vmshipment_name {
  color: #5a524a;
  font-weight: 500;
}

#paymentdiv .vmpayment_description,
#shipmentdiv .vmshipment_description,
#paymentdiv .vmpayment_cost {
  color: #777;
  font-size: 14px;
  line-height: 1.65;
}

#paymentdiv .uk-modal-footer,
#shipmentdiv .uk-modal-footer,
#commentpopup .uk-modal-footer,
#shiptopopup .uk-modal-footer {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #eee8df;
}

#paymentdiv .uk-modal-footer .uk-button,
#shipmentdiv .uk-modal-footer .uk-button,
#commentpopup .uk-modal-footer .uk-button,
#shiptopopup .uk-modal-footer .uk-button {
  min-height: 42px;
  line-height: 42px;
  padding: 0 26px;
  border-radius: 999px;
  border: 1px solid #dfd7cc;
  background: #fff;
  color: #7d7368;
  font-size: 13px;
  text-transform: none;
}

#paymentdiv .uk-modal-footer .uk-button-primary,
#shipmentdiv .uk-modal-footer .uk-button-primary,
#commentpopup .uk-modal-footer .uk-button-primary,
#shiptopopup .uk-modal-footer .uk-button-primary,
#paymentdiv #paymentset,
#shipmentdiv #shipmentset {
  border: 0;
  background: linear-gradient(135deg, #efbd58, #d8a241);
  color: #fff;
  box-shadow: 0 12px 24px rgba(239, 189, 88, .22);
}

#paymentdiv .uk-modal-footer .uk-button:hover,
#shipmentdiv .uk-modal-footer .uk-button:hover,
#commentpopup .uk-modal-footer .uk-button:hover,
#shiptopopup .uk-modal-footer .uk-button:hover {
  border-color: #efbd58;
  color: #b8892f;
  background: #fffdf8;
}

#paymentdiv .uk-modal-footer .uk-button-primary:hover,
#shipmentdiv .uk-modal-footer .uk-button-primary:hover,
#commentpopup .uk-modal-footer .uk-button-primary:hover,
#shiptopopup .uk-modal-footer .uk-button-primary:hover,
#paymentdiv #paymentset:hover,
#shipmentdiv #shipmentset:hover {
  background: linear-gradient(135deg, #d8a241, #c49135);
  color: #fff;
}

/* Coupon: input e pulsante Salva allineati senza toccare la linea */
#checkoutForm #coupon_code {
  width: min(310px, calc(100% - 86px));
  height: 38px;
  padding: 0 18px;
  border: 1px solid #eee8df;
  border-radius: 999px;
  background: #fff;
  vertical-align: middle;
}

#checkoutForm #save-button {
  height: 38px;
  min-height: 38px;
  line-height: 38px;
  margin-left: 8px;
  padding: 0 20px;
  vertical-align: middle;
}

#checkoutForm #delete-button {
  height: 38px;
  min-height: 38px;
  line-height: 38px;
  margin-left: 8px;
  vertical-align: middle;
}

@media (max-width: 640px) {
  #paymentdiv .uk-modal-dialog,
  #shipmentdiv .uk-modal-dialog,
  #commentpopup .uk-modal-dialog,
  #shiptopopup .uk-modal-dialog {
    padding: 26px 22px;
  }

  #paymentdiv .ukmodalheader,
  #shipmentdiv .ukmodalheader,
  #commentpopup .ukmodalheader,
  #shiptopopup .ukmodalheader {
    font-size: 21px !important;
  }

  #checkoutForm #coupon_code {
    width: 100%;
    margin-bottom: 10px;
  }

  #checkoutForm #save-button,
  #checkoutForm #delete-button {
    margin-left: 0;
  }
}

/* =========================================================
   AURUM CREAZIONI - VirtueMart Rest Premium v3
   Aggiunta prudente: categorie, lista prodotti, scheda prodotto,
   popup VMuikit. Non modifica la logica checkout.
   ========================================================= */

/* ---------- Variabili condivise VirtueMart ---------- */
body .category-view,
body .browse-view,
body .productdetails-view,
body .vm-productdetails,
body .uk-modal-dialog {
  --aurum-gold: #efbd58;
  --aurum-gold-dark: #d6a03f;
  --aurum-bronze: #b89478;
  --aurum-text: #2e2e2e;
  --aurum-muted: #9b9b9b;
  --aurum-line: #ece8e3;
  --aurum-soft: #faf8f5;
}

/* ---------- Categoria / lista prodotti ---------- */
body .category-view .vm-category-title,
body .browse-view h1,
body .browse-view h2 {
  color: var(--aurum-text);
  font-weight: 400;
  letter-spacing: .035em;
}

body .category-view .vm-category-description,
body .category-view .vm-manufacturer-description {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: #888;
  font-size: 15px;
  line-height: 1.8;
}

body .browse-view .row,
body .category-view .row {
  row-gap: 42px;
}

body .browse-view .product,
body .category-view .product {
  transition: transform .25s ease, box-shadow .25s ease;
}

body .browse-view .product:hover,
body .category-view .product:hover {
  transform: translateY(-2px);
}

body .browse-view .product img,
body .category-view .product img,
body .browse-view .vm-product-media-container img,
body .browse-view .product-image img,
body .category-view .category img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #f7f7f7;
}

body .browse-view .uk-thumbnail,
body .category-view .uk-thumbnail {
  border: 0;
  padding: 0;
  background: transparent;
}

body .browse-view .product-title,
body .browse-view .vm-product-title,
body .browse-view .product h2,
body .browse-view .product h3,
body .browse-view .product a[href*="-detail"],
body .category-view .category a,
body .category-view .category h2,
body .category-view .category h3 {
  color: var(--aurum-bronze);
  font-weight: 400;
  letter-spacing: .035em;
  text-decoration: none;
  transition: color .2s ease;
}

body .browse-view .product-title:hover,
body .browse-view .vm-product-title:hover,
body .browse-view .product a[href*="-detail"]:hover,
body .category-view .category a:hover {
  color: var(--aurum-gold-dark);
}

body .browse-view .PricesalesPrice,
body .browse-view .product-price,
body .browse-view .vm-price-value,
body .browse-view .price,
body .productdetails-view .PricesalesPrice,
body .productdetails-view .product-price {
  color: var(--aurum-text);
  font-weight: 400;
}

body .browse-view .addtocart-button,
body .browse-view .addtocart-button input,
body .browse-view .addtocart-button button,
body .browse-view .addtocart-button .uk-button,
body .browse-view .addtocart-area .uk-button,
body .browse-view input.addtocart-button,
body .productdetails-view .addtocart-button,
body .productdetails-view .addtocart-button input,
body .productdetails-view .addtocart-button button,
body .productdetails-view .addtocart-area .uk-button,
body .productdetails-view input.addtocart-button {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #d6a03f);
  color: #fff;
  text-transform: none;
  letter-spacing: .02em;
  box-shadow: 0 10px 24px rgba(239, 189, 88, .20);
}

body .browse-view .addtocart-button:hover,
body .browse-view .addtocart-button input:hover,
body .browse-view .addtocart-button button:hover,
body .browse-view .addtocart-area .uk-button:hover,
body .browse-view input.addtocart-button:hover,
body .productdetails-view .addtocart-button:hover,
body .productdetails-view .addtocart-button input:hover,
body .productdetails-view .addtocart-button button:hover,
body .productdetails-view .addtocart-area .uk-button:hover,
body .productdetails-view input.addtocart-button:hover {
  background: linear-gradient(135deg, #d6a03f, #c49135);
  color: #fff;
}

body .browse-view input.quantity-input,
body .browse-view input[name*="quantity"],
body .productdetails-view input.quantity-input,
body .productdetails-view input[name*="quantity"] {
  max-width: 50px;
  height: 34px;
  text-align: center;
  border: 1px solid var(--aurum-line);
  background: #fff;
  color: var(--aurum-text);
}

body .browse-view .product-details,
body .browse-view .product-details a,
body .browse-view a.product-details {
  color: var(--aurum-bronze);
  text-decoration: none;
}

body .browse-view .product-details:hover,
body .browse-view .product-details a:hover,
body .browse-view a.product-details:hover {
  color: var(--aurum-gold-dark);
}

body .browse-view .pagination,
body .browse-view .vm-pagination {
  margin-top: 48px;
}

body .browse-view .pagination a,
body .browse-view .pagination span,
body .browse-view .vm-pagination a,
body .browse-view .vm-pagination span {
  border-radius: 999px;
}

body .browse-view select,
body .category-view select,
body .productdetails-view select {
  border: 0;
  border-bottom: 1px solid var(--aurum-line);
  background: transparent;
  color: #777;
  box-shadow: none;
}

body .browse-view select:focus,
body .category-view select:focus,
body .productdetails-view select:focus {
  border-color: var(--aurum-gold);
  box-shadow: none;
}

/* ---------- Scheda prodotto ---------- */
body .productdetails-view h1,
body .productdetails-view .product-title,
body .productdetails-view .vm-product-title {
  color: var(--aurum-text);
  font-weight: 400;
  letter-spacing: .035em;
}

body .productdetails-view .product-short-description,
body .productdetails-view .product-description,
body .productdetails-view .vm-product-descr-container {
  color: #777;
  font-size: 15px;
  line-height: 1.8;
}

body .productdetails-view .main-image img,
body .productdetails-view .vm-product-media-container img,
body .productdetails-view .product-image img {
  background: #f7f7f7;
  object-fit: cover;
}

body .productdetails-view .addtocart-area {
  margin-top: 24px;
}

body .productdetails-view .manufacturer,
body .productdetails-view .availability,
body .productdetails-view .stock-level {
  color: #777;
}

/* ---------- Popup VMuikit premium ---------- */
body .uk-modal-dialog {
  border-radius: 0;
  box-shadow: 0 24px 80px rgba(0,0,0,.18);
}

body .uk-modal-dialog .ukmodalheader,
body .uk-modal-dialog .uk-modal-title,
body .uk-modal-dialog h3,
body .uk-modal-dialog h4 {
  color: var(--aurum-text);
  font-weight: 400;
  letter-spacing: .01em;
}

body .uk-modal-dialog .uk-list-divider > :nth-child(n+2) {
  border-top: 1px solid var(--aurum-line);
}

body .uk-modal-dialog label,
body .uk-modal-dialog .vmpayment_description,
body .uk-modal-dialog .vmshipment_description {
  color: #777;
  line-height: 1.7;
}

body .uk-modal-dialog input[type="radio"] {
  accent-color: var(--aurum-gold-dark);
}

body .uk-modal-dialog .uk-button-primary {
  min-height: 40px;
  line-height: 40px;
  padding: 0 30px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #d6a03f);
  color: #fff;
  font-size: 13px;
  text-transform: none;
  box-shadow: 0 10px 24px rgba(239, 189, 88, .22);
}

body .uk-modal-dialog .uk-button-primary:hover {
  background: linear-gradient(135deg, #d6a03f, #c49135);
  color: #fff;
}

body .uk-modal-dialog .uk-button:not(.uk-button-primary) {
  color: #777;
  text-transform: none;
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
  body .browse-view .row,
  body .category-view .row {
    row-gap: 28px;
  }

  body .browse-view .product-title,
  body .browse-view .vm-product-title,
  body .browse-view .product a[href*="-detail"] {
    font-size: 16px;
  }

  body .uk-modal-dialog {
    margin: 20px;
  }
}

/* =========================================================
   AURUM CREAZIONI - PATCH FINALE PROGRAMMATORE v4
   Motivo: nel file precedente questa parte era rimasta dentro
   @media (max-width: 640px), quindi su desktop non lavorava.
   Scope: solo checkout VMuikit X / carrello.
   ========================================================= */

/* Rende il contenitore del pulsante libero, senza tagli o maschere */
#checkoutForm .checkout-button-top {
  text-align: center !important;
  overflow: visible !important;
}

/* Pulsante Conferma ordine: pill completa e non tagliata */
#checkoutForm .checkout-button-top a[onclick*="submit_order"],
#checkoutForm .checkout-button-top a.uk-button-primary.uk-button-large {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 218px !important;
  max-width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  line-height: 46px !important;
  margin: 18px auto 0 !important;
  padding: 0 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #efbd58 0%, #d8a241 100%) !important;
  background-image: linear-gradient(135deg, #efbd58 0%, #d8a241 100%) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 30px rgba(239, 189, 88, .24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  clip-path: inset(0 round 999px) !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
}

#checkoutForm .checkout-button-top a[onclick*="submit_order"]::before,
#checkoutForm .checkout-button-top a[onclick*="submit_order"]::after,
#checkoutForm .checkout-button-top a.uk-button-primary.uk-button-large::before,
#checkoutForm .checkout-button-top a.uk-button-primary.uk-button-large::after {
  display: none !important;
  content: none !important;
}

#checkoutForm .checkout-button-top a[onclick*="submit_order"] span,
#checkoutForm .checkout-button-top a.uk-button-primary.uk-button-large span {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  line-height: 1 !important;
}

#checkoutForm .checkout-button-top a[onclick*="submit_order"]:hover,
#checkoutForm .checkout-button-top a.uk-button-primary.uk-button-large:hover {
  background: linear-gradient(135deg, #d8a241 0%, #c49135 100%) !important;
  background-image: linear-gradient(135deg, #d8a241 0%, #c49135 100%) !important;
  color: #fff !important;
}

/* Tab checkout: mantiene premium, ma evita forme meta-pill */
#checkoutForm #loginbtns,
#checkoutForm .billto-shipto .uk-button-group {
  display: flex !important;
  gap: 10px !important;
  width: 100% !important;
}

#checkoutForm #loginbtns .uk-button,
#checkoutForm .billto-shipto .uk-button-group .uk-button {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  border-radius: 999px !important;
}

/* Coupon stabile: input e salva non si sovrappongono */
#checkoutForm #leftdiv .uk-card:has(#coupon_code) .uk-text-center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

#checkoutForm #coupon_code {
  flex: 1 1 auto !important;
  max-width: 310px !important;
  min-width: 0 !important;
}

#checkoutForm #save-button {
  flex: 0 0 auto !important;
}

@media (max-width: 640px) {
  #checkoutForm .checkout-button-top a[onclick*="submit_order"],
  #checkoutForm .checkout-button-top a.uk-button-primary.uk-button-large {
    width: 100% !important;
    min-width: 0 !important;
  }

  #checkoutForm #leftdiv .uk-card:has(#coupon_code) .uk-text-center {
    display: block !important;
  }

  #checkoutForm #coupon_code {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 10px !important;
  }
}

/* =========================================================
   AURUM CREAZIONI - Scheda prodotto VirtueMart Premium V9
   Scope: solo pagina dettaglio prodotto VirtueMart
   Obiettivo: scheda premium più leggibile, con box acquisto
   compatto, quantità chiara e pulsanti + / - ben visibili.
   ========================================================= */

body .productdetails-view,
body .vm-productdetails {
  --aurum-gold: #efbd58;
  --aurum-gold-dark: #d6a03f;
  --aurum-bronze: #b89478;
  --aurum-text: #2e2e2e;
  --aurum-muted: #7a7a7a;
  --aurum-line: #ece8e3;
  --aurum-soft: #faf8f5;
  --aurum-card: #ffffff;
}

body .productdetails-view {
  max-width: 1120px;
  margin: 0 auto;
  padding: 34px 0 0;
  color: var(--aurum-text);
}

body .productdetails-view > .uk-grid,
body .productdetails-view .uk-grid-divider,
body .productdetails-view .vm-product-container,
body .productdetails-view .product-container,
body .vm-productdetails > .uk-grid {
  align-items: flex-start;
}

body .productdetails-view .uk-grid-divider > :not(.uk-first-column)::before {
  border-left-color: var(--aurum-line);
}

body .productdetails-view .main-image,
body .productdetails-view .vm-product-media-container,
body .productdetails-view .product-image {
  position: relative;
  overflow: hidden;
  background: #f7f7f5;
}

body .productdetails-view .main-image::after,
body .productdetails-view .vm-product-media-container::after,
body .productdetails-view .product-image::after {
  content: "";
  position: absolute;
  inset: 18px;
  pointer-events: none;
  border: 1px solid rgba(236, 232, 227, .9);
}

body .productdetails-view .main-image img,
body .productdetails-view .vm-product-media-container img,
body .productdetails-view .product-image img {
  display: block;
  width: 100%;
  max-height: 680px;
  object-fit: contain;
  background: #f7f7f5;
}

body .productdetails-view .additional-images,
body .productdetails-view .vm-product-media-container .additional-images {
  margin-top: 16px;
}

body .productdetails-view .additional-images img,
body .productdetails-view .vm-product-media-container .additional-images img {
  width: 78px;
  height: 78px;
  object-fit: cover;
  border: 1px solid transparent;
  background: #f7f7f5;
  transition: border-color .2s ease, opacity .2s ease, transform .2s ease;
}

body .productdetails-view .additional-images img:hover {
  border-color: var(--aurum-gold);
  opacity: .88;
  transform: translateY(-1px);
}

body .productdetails-view h1,
body .productdetails-view .product-title,
body .productdetails-view .vm-product-title {
  max-width: 520px;
  margin: 0 0 26px;
  color: var(--aurum-text);
  font-size: clamp(36px, 4.1vw, 54px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body .productdetails-view .product-short-description,
body .productdetails-view .product-description,
body .productdetails-view .vm-product-descr-container,
body .productdetails-view .description,
body .productdetails-view .spacer-buy-area > p {
  max-width: 390px;
  color: #6f6f6f;
  font-size: 15px;
  line-height: 1.82;
}

body .productdetails-view .product-fields,
body .productdetails-view .product-field,
body .productdetails-view .manufacturer,
body .productdetails-view .availability,
body .productdetails-view .stock-level {
  max-width: 390px;
  color: #6f6f6f;
  font-size: 14px;
  line-height: 1.75;
}

body .productdetails-view .product-field-display,
body .productdetails-view .product-field-desc,
body .productdetails-view .manufacturer,
body .productdetails-view .availability,
body .productdetails-view .stock-level {
  margin-top: 8px;
}

body .productdetails-view .availability,
body .productdetails-view .stock-level {
  margin-top: 28px;
  color: #4f4f4f;
  font-size: 16px;
  letter-spacing: .01em;
}

body .productdetails-view .product-price,
body .productdetails-view .PricesalesPrice,
body .productdetails-view .vm-price-value {
  color: var(--aurum-gold-dark) !important;
  font-size: 28px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: .015em;
}

body .productdetails-view .PricebasePriceWithTax,
body .productdetails-view .PricetaxAmount,
body .productdetails-view .vm-price-desc,
body .productdetails-view .taxAmount,
body .productdetails-view .tax {
  color: #9b9b9b;
  font-size: 12px;
  line-height: 1.5;
}

/* Wrapper esterno: solo ombra e dimensione, niente background/padding propri */
body .productdetails-view .addtocart-area {
  width: min(500px, 100%);
  margin: 34px 0 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

/* Box bianco interno (UIkit card): qui va il vero stile */
body .productdetails-view .addtocart-area.uk-card {
  width: auto;
  margin: 0 auto;
  padding: 22px 24px;
  background: #fff;
  box-shadow: 0 4px 32px rgba(0,0,0,.08);
  border-top: 2px solid rgba(239,189,88,.4);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Centra il box bianco nel wrapper grigio */
body .productdetails-view .addtocart-bars {
  display: flex;
  justify-content: center;
  align-items: center;
}

body .productdetails-view .addtocart-bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0;
}

body .productdetails-view .addtocart-bar > * {
  margin: 0 !important;
}

body .productdetails-view .quantity-box,
body .productdetails-view .quantity-controls,
body .productdetails-view .addtocart-bar .quantity-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

body .productdetails-view input.quantity-input,
body .productdetails-view input[name*="quantity"] {
  width: 48px !important;
  max-width: 48px !important;
  height: 36px;
  margin-left: 8px !important;
  padding: 0;
  border: 1px solid var(--aurum-line);
  border-radius: 999px;
  background: #fff;
  color: var(--aurum-text);
  text-align: center;
  font-size: 14px;
  box-shadow: none;
}

body .productdetails-view .quantity-plus,
body .productdetails-view .quantity-minus,
body .productdetails-view .quantity-controls a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  min-width: 32px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #d6a03f);
  color: transparent !important;
  font-size: 0;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(239,189,88,.16);
}

body .productdetails-view .quantity-minus::before,
body .productdetails-view .quantity-plus::before,
body .productdetails-view .quantity-controls a::before {
  display: block;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
}

body .productdetails-view .quantity-minus::before {
  content: "−";
  transform: translateY(-1px);
}

body .productdetails-view .quantity-plus::before,
body .productdetails-view .quantity-controls a:last-child::before {
  content: "+";
}

body .productdetails-view .quantity-controls a:first-child::before {
  content: "−";
  transform: translateY(-1px);
}

body .productdetails-view .quantity-plus:hover,
body .productdetails-view .quantity-minus:hover,
body .productdetails-view .quantity-controls a:hover {
  background: linear-gradient(135deg, #d6a03f, #c49135);
  color: transparent !important;
}

body .productdetails-view .addtocart-button,
body .productdetails-view input.addtocart-button,
body .productdetails-view button.addtocart-button,
body .productdetails-view .addtocart-area .uk-button,
body .productdetails-view .addtocart-area button,
body .productdetails-view .addtocart-area input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-height: 40px;
  line-height: 40px;
  padding: 0 26px;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #efbd58, #d6a03f) !important;
  color: #fff !important;
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: .02em;
  box-shadow: 0 12px 26px rgba(239, 189, 88, .22);
  white-space: nowrap;
}

body .productdetails-view .addtocart-button:hover,
body .productdetails-view input.addtocart-button:hover,
body .productdetails-view button.addtocart-button:hover,
body .productdetails-view .addtocart-area .uk-button:hover,
body .productdetails-view .addtocart-area button:hover,
body .productdetails-view .addtocart-area input[type="submit"]:hover {
  background: linear-gradient(135deg, #d6a03f, #c49135) !important;
  color: #fff !important;
}

body .productdetails-view .customer-reviews,
body .productdetails-view .reviews,
body .productdetails-view #customer-reviews {
  max-width: 1120px;
  margin: 80px auto 0;
  padding: 34px 0 0;
  border-top: 1px solid var(--aurum-line);
}

body .productdetails-view .customer-reviews h3,
body .productdetails-view .reviews h3,
body .productdetails-view #customer-reviews h3 {
  margin-bottom: 16px;
  color: var(--aurum-text);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: .01em;
}

body .productdetails-view .customer-reviews p,
body .productdetails-view .reviews p,
body .productdetails-view #customer-reviews p {
  color: #777;
  font-size: 14px;
  line-height: 1.7;
}

body .productdetails-view a {
  color: var(--aurum-bronze);
  text-decoration: none;
}

body .productdetails-view a:hover {
  color: var(--aurum-gold-dark);
}

@media (max-width: 959px) {
  body .productdetails-view {
    max-width: 100%;
    padding-top: 18px;
  }

  body .productdetails-view h1,
  body .productdetails-view .product-title,
  body .productdetails-view .vm-product-title {
    max-width: 100%;
    font-size: 38px;
  }

  body .productdetails-view .product-short-description,
  body .productdetails-view .product-description,
  body .productdetails-view .vm-product-descr-container,
  body .productdetails-view .description,
  body .productdetails-view .product-fields,
  body .productdetails-view .product-field,
  body .productdetails-view .manufacturer,
  body .productdetails-view .availability,
  body .productdetails-view .stock-level {
    max-width: 100%;
  }

  body .productdetails-view .addtocart-area {
    width: 100%;
    max-width: 420px;
  }
}

@media (max-width: 640px) {
  body .productdetails-view {
    padding-top: 8px;
  }

  body .productdetails-view .main-image::after,
  body .productdetails-view .vm-product-media-container::after,
  body .productdetails-view .product-image::after {
    inset: 10px;
  }

  body .productdetails-view h1,
  body .productdetails-view .product-title,
  body .productdetails-view .vm-product-title {
    margin-top: 24px;
    font-size: 31px;
    line-height: 1.12;
    letter-spacing: .03em;
  }

  body .productdetails-view .product-short-description,
  body .productdetails-view .product-description,
  body .productdetails-view .vm-product-descr-container,
  body .productdetails-view .description {
    font-size: 14px;
    line-height: 1.75;
  }

  body .productdetails-view .product-price,
  body .productdetails-view .PricesalesPrice,
  body .productdetails-view .vm-price-value {
    font-size: 24px;
  }

  body .productdetails-view .addtocart-area {
    width: 100%;
    margin-top: 24px;
    padding: 22px 18px;
  }

  body .productdetails-view .addtocart-bar {
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
  }

  body .productdetails-view .addtocart-button,
  body .productdetails-view input.addtocart-button,
  body .productdetails-view button.addtocart-button,
  body .productdetails-view .addtocart-area .uk-button,
  body .productdetails-view .addtocart-area button,
  body .productdetails-view .addtocart-area input[type="submit"] {
    width: auto;
    min-width: 170px;
    margin-top: 0;
  }

  body .productdetails-view .customer-reviews,
  body .productdetails-view .reviews,
  body .productdetails-view #customer-reviews {
    margin-top: 48px;
  }
}

/* =========================================================
   SHOP LANDING PREMIUM
   Importante: per un lavoro pulito assegna queste classi in YOOtheme
   - al blocco introduttivo: shop-premium-intro
   - alla sezione con le 2 collezioni: shop-premium-collections
   - ai pulsanti CTA opzionali: shop-premium-cta
   ========================================================= */

.shop-premium-intro {
  position: relative;
  max-width: 920px;
  margin: 0 auto 34px;
  text-align: center;
}

.shop-premium-intro::before {
  content: "";
  display: block;
  width: 74px;
  height: 2px;
  margin: 0 auto 18px;
  background: linear-gradient(90deg, rgba(239,189,88,0), rgba(239,189,88,.95), rgba(239,189,88,0));
}

.shop-premium-intro h1,
.shop-premium-intro h2,
.shop-premium-intro h3 {
  margin-bottom: 14px;
  color: #2e2e2e;
  font-size: 42px;
  line-height: 1.18;
  font-weight: 400;
  letter-spacing: .01em;
}

.shop-premium-intro p {
  max-width: 760px;
  margin: 0 auto;
  color: #6f6f6f;
  font-size: 18px;
  line-height: 1.8;
}

.shop-premium-collections {
  position: relative;
  margin-top: 18px;
}

.shop-premium-collections .uk-grid {
  align-items: stretch;
}

.shop-premium-collections .uk-grid > div {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  padding: 42px 36px 34px;
  background: linear-gradient(180deg, #fffefc 0%, #ffffff 100%);
  border: 1px solid #eee5d8;
  border-radius: 28px;
  box-shadow: 0 18px 50px rgba(0,0,0,.055);
  overflow: hidden;
}

.shop-premium-collections .uk-grid > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 36px;
  right: 36px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(239,189,88,.95), rgba(239,189,88,.15));
}

.shop-premium-collections .uk-grid > div:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.shop-premium-collections h2,
.shop-premium-collections h3,
.shop-premium-collections h4 {
  color: #2e2e2e;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: .01em;
  margin: 0 0 16px;
}

.shop-premium-collections p {
  color: #6f6f6f;
  font-size: 16px;
  line-height: 1.8;
  margin-top: 18px;
  margin-bottom: 0;
}

/* Logo collezione */
.shop-premium-collections .uk-grid > div > p:first-child img,
.shop-premium-collections .uk-grid > div > div:first-child img,
.shop-premium-collections .uk-grid > div > .uk-panel:first-child img {
  display: block;
  width: auto;
  max-width: 320px;
  max-height: 145px;
  margin: 0 auto 26px;
  object-fit: contain;
}

/* Griglia immagini interna */
.shop-premium-collections .uk-child-width-1-3,
.shop-premium-collections .uk-grid-small,
.shop-premium-collections .uk-grid-medium {
  margin-top: 8px;
}

.shop-premium-collections .uk-child-width-1-3 > *,
.shop-premium-collections .uk-grid-small > *,
.shop-premium-collections .uk-grid-medium > * {
  padding-left: 10px;
  padding-top: 10px;
}

.shop-premium-collections .uk-grid img {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.09);
}

/* Se la galleria è fatta con 6 immagini semplici */
.shop-premium-collections img {
  transition: transform .35s ease, box-shadow .35s ease, filter .35s ease;
}

.shop-premium-collections .uk-grid > div:hover img {
  transform: translateY(-2px);
  filter: saturate(1.02);
}

/* CTA opzionali */
.shop-premium-cta,
.shop-premium-collections .uk-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 24px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #d9a547);
  color: #fff !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(239,189,88,.22);
}

.shop-premium-cta:hover,
.shop-premium-collections .uk-button:hover {
  background: linear-gradient(135deg, #d9a547, #c69235);
  color: #fff !important;
  text-decoration: none;
}

/* Sezione due colonne più ariosa */
@media (min-width: 960px) {
  .shop-premium-collections .uk-grid {
    margin-left: -18px;
  }

  .shop-premium-collections .uk-grid > div {
    width: calc(50% - 18px);
    margin-left: 18px;
  }
}

@media (max-width: 959px) {
  .shop-premium-intro h1,
  .shop-premium-intro h2,
  .shop-premium-intro h3 {
    font-size: 34px;
  }

  .shop-premium-intro p {
    font-size: 17px;
  }

  .shop-premium-collections .uk-grid > div {
    padding: 32px 24px 28px;
    border-radius: 22px;
  }
}

@media (max-width: 639px) {
  .shop-premium-intro {
    margin-bottom: 24px;
  }

  .shop-premium-intro h1,
  .shop-premium-intro h2,
  .shop-premium-intro h3 {
    font-size: 28px;
  }

  .shop-premium-intro p,
  .shop-premium-collections p {
    font-size: 15px;
    line-height: 1.7;
  }

  .shop-premium-collections .uk-grid > div {
    padding: 24px 18px 22px;
    border-radius: 18px;
  }

  .shop-premium-collections .uk-grid > div::before {
    left: 18px;
    right: 18px;
  }

  .shop-premium-collections .uk-grid > div > p:first-child img,
  .shop-premium-collections .uk-grid > div > div:first-child img,
  .shop-premium-collections .uk-grid > div > .uk-panel:first-child img {
    max-width: 250px;
    max-height: 110px;
    margin-bottom: 18px;
  }
}

/* =========================================================
   AURUM CREAZIONI - Product quantity spacing V10
   Scope: solo scheda prodotto VirtueMart
   Motivo: in V9 i pulsanti - e + restavano troppo attaccati
   perché VMuikit può racchiuderli in un sottogruppo senza gap.
   ========================================================= */

body .productdetails-view .addtocart-bar {
  column-gap: 20px !important;
  gap: 20px !important;
}

body .productdetails-view .quantity-box,
body .productdetails-view .quantity-controls,
body .productdetails-view .addtocart-bar .quantity-box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 14px !important;
  gap: 14px !important;
}

body .productdetails-view .quantity-minus,
body .productdetails-view .quantity-plus,
body .productdetails-view .quantity-controls a {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body .productdetails-view .quantity-plus,
body .productdetails-view .quantity-controls a:last-child {
  margin-left: 10px !important;
}

body .productdetails-view input.quantity-input,
body .productdetails-view input[name*="quantity"] {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

@media (max-width: 640px) {
  body .productdetails-view .addtocart-bar {
    gap: 14px !important;
  }

  body .productdetails-view .quantity-box,
  body .productdetails-view .quantity-controls,
  body .productdetails-view .addtocart-bar .quantity-box {
    gap: 12px !important;
  }

  body .productdetails-view .quantity-plus,
  body .productdetails-view .quantity-controls a:last-child {
    margin-left: 8px !important;
  }
}

/* =========================================================
   AURUM CREAZIONI - Product mobile buy box V12 STABILE v5
   Scope: solo scheda prodotto VirtueMart su mobile.
   Obiettivo: mantenere il layout stabile a due righe della V12,
   staccare i controlli - / + dal pulsante carrello e ridurre
   solo lo spazio superiore del box acquisto mobile.
   Non usa JS e non tocca checkout/shop/home/categorie/desktop.
   ========================================================= */

@media (max-width: 640px) {
  body .productdetails-view .addtocart-area {
    width: 100% !important;
    max-width: 360px !important;
    min-height: 138px !important;
    margin: 24px auto 0 !important;
    padding: 14px 14px 24px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  body .productdetails-view .addtocart-area form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .productdetails-view .addtocart-bar {
    display: grid !important;
    grid-template-columns: 180px 46px !important;
    grid-template-areas:
      "cart qty"
      "minus plus" !important;
    align-items: center !important;
    justify-content: center !important;
    justify-items: center !important;
    column-gap: 12px !important;
    row-gap: 18px !important;
    margin: 0 auto !important;
    width: auto !important;
    max-width: 260px !important;
  }

  body .productdetails-view .addtocart-bar > * {
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body .productdetails-view .addtocart-button,
  body .productdetails-view input.addtocart-button,
  body .productdetails-view button.addtocart-button,
  body .productdetails-view .addtocart-area input[type="submit"] {
    grid-area: cart !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    min-height: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    padding: 0 18px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body .productdetails-view input.quantity-input,
  body .productdetails-view input[name*="quantity"] {
    grid-area: qty !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--aurum-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--aurum-text) !important;
    font-size: 13px !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  body .productdetails-view .quantity-minus,
  body .productdetails-view .quantity-plus,
  body .productdetails-view .quantity-controls a,
  body .productdetails-view .quantity-box a,
  body .productdetails-view .addtocart-bar input[type="button"] {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    line-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #efbd58, #d6a03f) !important;
    color: transparent !important;
    font-size: 0 !important;
    text-decoration: none !important;
    overflow: hidden !important;
    box-shadow: 0 8px 18px rgba(239,189,88,.16) !important;
    box-sizing: border-box !important;
  }

  body .productdetails-view .quantity-minus,
  body .productdetails-view .quantity-controls a:first-child,
  body .productdetails-view .quantity-box a:first-child {
    grid-area: minus !important;
    justify-self: end !important;
  }

  body .productdetails-view .quantity-plus,
  body .productdetails-view .quantity-controls a:last-child,
  body .productdetails-view .quantity-box a:last-child {
    grid-area: plus !important;
    justify-self: start !important;
  }

  body .productdetails-view .quantity-minus > *,
  body .productdetails-view .quantity-plus > *,
  body .productdetails-view .quantity-controls a > *,
  body .productdetails-view .quantity-box a > * {
    display: none !important;
  }

  body .productdetails-view .quantity-minus::after,
  body .productdetails-view .quantity-plus::after,
  body .productdetails-view .quantity-controls a::after,
  body .productdetails-view .quantity-box a::after {
    display: none !important;
    content: none !important;
  }

  body .productdetails-view .quantity-minus::before,
  body .productdetails-view .quantity-plus::before,
  body .productdetails-view .quantity-controls a::before,
  body .productdetails-view .quantity-box a::before {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
  }

  body .productdetails-view .quantity-minus::before,
  body .productdetails-view .quantity-controls a:first-child::before,
  body .productdetails-view .quantity-box a:first-child::before {
    content: "−" !important;
  }

  body .productdetails-view .quantity-plus::before,
  body .productdetails-view .quantity-controls a:last-child::before,
  body .productdetails-view .quantity-box a:last-child::before {
    content: "+" !important;
  }

  body .productdetails-view .customer-reviews,
  body .productdetails-view .reviews,
  body .productdetails-view #customer-reviews {
    margin-top: 42px !important;
  }
}

@media (max-width: 370px) {
  body .productdetails-view .addtocart-area {
    max-width: 330px !important;
    min-height: 132px !important;
    padding: 14px 10px 22px !important;
  }

  body .productdetails-view .addtocart-bar {
    grid-template-columns: 168px 42px !important;
    column-gap: 10px !important;
    row-gap: 16px !important;
    max-width: 232px !important;
  }

  body .productdetails-view .addtocart-button,
  body .productdetails-view input.addtocart-button,
  body .productdetails-view button.addtocart-button,
  body .productdetails-view .addtocart-area input[type="submit"] {
    width: 168px !important;
    min-width: 168px !important;
    max-width: 168px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body .productdetails-view input.quantity-input,
  body .productdetails-view input[name*="quantity"] {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }
}

/* =========================================================
   Fix bottoni quantità — sovrascrive UIkit che inietta SVG grigi
   ========================================================= */

/* Nasconde lo span SVG di UIkit nei bottoni − + */
body .productdetails-view .quantity-minus > span[uk-icon],
body .productdetails-view .quantity-plus > span[uk-icon] {
  display: none !important;
}

/* Gap tra i due bottoni − + */
body .productdetails-view .uk-button-group {
  gap: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Mobile: riduce padding del box bianco e centra */
@media (max-width: 640px) {
  body .productdetails-view .addtocart-area.uk-card {
    padding: 18px 16px !important;
    width: calc(100% - 0px) !important;
  }
}

/* =========================================================
   AURUM CREAZIONI - Product mobile add-to-cart box compact fix v13
   Base: custom(9).css
   Scope: solo scheda prodotto VirtueMart su mobile.
   Obiettivo: rendere il box bianco carrello mobile compatto come desktop,
   senza toccare checkout, home, shop o categorie.
   ========================================================= */

@media (max-width: 959px) {
  body .productdetails-view .addtocart-area:not(#checkoutForm .addtocart-area),
  body .productdetails-view .addtocart-area.uk-card:not(#checkoutForm .addtocart-area) {
    width: fit-content !important;
    max-width: min(500px, calc(100% - 24px)) !important;
    margin: 24px auto 0 !important;
  }

  body .productdetails-view .addtocart-area.uk-card:not(#checkoutForm .addtocart-area) {
    padding: 22px 24px !important;
  }
}

@media (max-width: 640px) {
  body .productdetails-view .addtocart-area:not(#checkoutForm .addtocart-area),
  body .productdetails-view .addtocart-area.uk-card:not(#checkoutForm .addtocart-area) {
    width: fit-content !important;
    max-width: calc(100% - 28px) !important;
    min-height: 0 !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  body .productdetails-view .addtocart-area.uk-card:not(#checkoutForm .addtocart-area) {
    padding: 18px 16px !important;
    background: #fff !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.08) !important;
    border-top: 2px solid rgba(239,189,88,.4) !important;
  }

  body .productdetails-view .addtocart-area form {
    width: auto !important;
  }

  body .productdetails-view .addtocart-bar {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  body .productdetails-view .addtocart-bar > * {
    margin: 0 !important;
  }

  body .productdetails-view .addtocart-button,
  body .productdetails-view input.addtocart-button,
  body .productdetails-view button.addtocart-button,
  body .productdetails-view .addtocart-area .uk-button,
  body .productdetails-view .addtocart-area button,
  body .productdetails-view .addtocart-area input[type="submit"] {
    width: auto !important;
    min-width: 150px !important;
    max-width: 170px !important;
    min-height: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    padding: 0 18px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body .productdetails-view input.quantity-input,
  body .productdetails-view input[name*="quantity"] {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .productdetails-view .quantity-minus,
  body .productdetails-view .quantity-plus,
  body .productdetails-view .quantity-controls a,
  body .productdetails-view .quantity-box a,
  body .productdetails-view .addtocart-bar input[type="button"] {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
  }
}

@media (max-width: 370px) {
  body .productdetails-view .addtocart-area:not(#checkoutForm .addtocart-area),
  body .productdetails-view .addtocart-area.uk-card:not(#checkoutForm .addtocart-area) {
    max-width: calc(100% - 20px) !important;
  }

  body .productdetails-view .addtocart-area.uk-card:not(#checkoutForm .addtocart-area) {
    padding: 16px 12px !important;
  }

  body .productdetails-view .addtocart-bar {
    gap: 9px !important;
  }

  body .productdetails-view .addtocart-button,
  body .productdetails-view input.addtocart-button,
  body .productdetails-view button.addtocart-button,
  body .productdetails-view .addtocart-area .uk-button,
  body .productdetails-view .addtocart-area button,
  body .productdetails-view .addtocart-area input[type="submit"] {
    min-width: 138px !important;
    max-width: 150px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body .productdetails-view input.quantity-input,
  body .productdetails-view input[name*="quantity"] {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }

  body .productdetails-view .quantity-minus,
  body .productdetails-view .quantity-plus,
  body .productdetails-view .quantity-controls a,
  body .productdetails-view .quantity-box a,
  body .productdetails-view .addtocart-bar input[type="button"] {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
}

/* =========================================================
   AURUM CREAZIONI - V14 FIX DEFINITIVO PRODOTTO + POPUP
   Scope: solo scheda prodotto VirtueMart e popup add-to-cart.
   Motivo:
   1) Il box bianco mobile veniva allargato da regole precedenti
      su .addtocart-area al 100%.
   2) Il popup add-to-cart mostrava i link come testo semplice.
   Non tocca checkout, home, shop o categorie.
   ========================================================= */

/* ---------- Popup "aggiunto al carrello" VirtueMart / Fancybox ---------- */
body #fancybox-wrap,
body #fancybox-content,
body .fancybox-wrap,
body .fancybox-skin,
body .fancybox-inner {
  box-sizing: border-box !important;
}

body #fancybox-content,
body .fancybox-inner {
  padding: 0 !important;
  overflow: visible !important;
}

body #fancybox-content > div,
body .fancybox-inner > div,
body .vmCartModule,
body .vmCartModule > div,
body .vm-addtocart-popup,
body .vm-cart-popup {
  box-sizing: border-box !important;
}

/* qualunque link del popup diventa pill premium: evita testo nudo/incollato */
body #fancybox-content a,
body .fancybox-inner a,
body .vmCartModule a,
body .vm-addtocart-popup a,
body .vm-cart-popup a,
body a.continue_link,
body a.showcart,
body a.continue,
body a.vm-button-correct,
body a.vm-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  line-height: 34px !important;
  margin: 8px 8px 12px 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #efbd58, #d6a03f) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 22px rgba(239,189,88,.22) !important;
}

body #fancybox-content a:hover,
body .fancybox-inner a:hover,
body .vmCartModule a:hover,
body .vm-addtocart-popup a:hover,
body .vm-cart-popup a:hover,
body a.continue_link:hover,
body a.showcart:hover,
body a.continue:hover,
body a.vm-button-correct:hover,
body a.vm-button:hover {
  background: linear-gradient(135deg, #d6a03f, #c49135) !important;
  color: #fff !important;
}

/* contenuto popup più ordinato anche se VirtueMart inietta markup minimale */
body #fancybox-content,
body .fancybox-inner {
  color: #2e2e2e !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

body #fancybox-close,
body .fancybox-close-small,
body .fancybox-close {
  z-index: 9999 !important;
}

@media (max-width: 640px) {
  body #fancybox-wrap,
  body .fancybox-wrap {
    width: calc(100vw - 34px) !important;
    left: 17px !important;
  }

  body #fancybox-content,
  body .fancybox-inner {
    width: 100% !important;
  }

  body #fancybox-content a,
  body .fancybox-inner a,
  body .vmCartModule a,
  body .vm-addtocart-popup a,
  body .vm-cart-popup a,
  body a.continue_link,
  body a.showcart,
  body a.continue,
  body a.vm-button-correct,
  body a.vm-button {
    width: 100% !important;
    margin: 8px 0 !important;
  }
}

/* ---------- Box acquisto scheda prodotto: override mirato su markup reale ---------- */
body .productdetails-view .addtocart-bars {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

/* Colpisce SOLO la card interna bianca reale:
   <div class="addtocart-bars"><div class="addtocart-area uk-card ..."> */
body .productdetails-view .addtocart-bars > .addtocart-area.uk-card {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100vw - 48px) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 22px 24px !important;
  background: #fff !important;
  border-top: 2px solid rgba(239,189,88,.4) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,.08) !important;
  box-sizing: border-box !important;
}

body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .addtocart-bar {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .addtocart-bar > * {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  /* l'outer resta solo contenitore; niente box enorme */
  body .productdetails-view > .uk-section-default .addtocart-area:not(.uk-card),
  body .productdetails-view .uk-panel > .addtocart-area:not(.uk-card) {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card {
    width: auto !important;
    max-width: calc(100vw - 44px) !important;
    min-height: 0 !important;
    padding: 18px 16px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .addtocart-bar {
    gap: 11px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .addtocart-button,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card button.addtocart-button,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card input.addtocart-button {
    width: 164px !important;
    min-width: 164px !important;
    max-width: 164px !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 40px !important;
    padding: 0 16px !important;
    font-size: 12px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card input.quantity-input,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card input[name*="quantity"] {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .quantity-minus,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .quantity-plus,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .uk-button-group a {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}

@media (max-width: 390px) {
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card {
    max-width: calc(100vw - 24px) !important;
    padding: 16px 12px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .addtocart-bar {
    gap: 8px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .addtocart-button,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card button.addtocart-button,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card input.addtocart-button {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    padding: 0 12px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card input.quantity-input,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card input[name*="quantity"] {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }

  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .quantity-minus,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .quantity-plus,
  body .productdetails-view .addtocart-bars > .addtocart-area.uk-card .uk-button-group a {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }
}
/* =========================================================
   Popup "aggiunto al carrello" - centra i 2 pulsanti
   SOLO DESKTOP
   ========================================================= */
@media (min-width: 641px) {

  body #fancybox-content,
  body .fancybox-inner,
  body .vmCartModule,
  body .vm-addtocart-popup,
  body .vm-cart-popup {
    text-align: center !important;
  }

  body #fancybox-content a,
  body .fancybox-inner a,
  body .vmCartModule a,
  body .vm-addtocart-popup a,
  body .vm-cart-popup a,
  body a.continue_link,
  body a.showcart,
  body a.continue,
  body a.vm-button-correct,
  body a.vm-button {
    margin: 8px 6px 12px !important;
  }

  /* lascia il testo del messaggio sotto più ordinato */
  body #fancybox-content p,
  body .fancybox-inner p,
  body #fancybox-content h4,
  body .fancybox-inner h4 {
    text-align: left !important;
    margin-top: 14px !important;
  }
}
/* =========================================================
   AURUM CREAZIONI - Popup add-to-cart desktop premium v15
   Scope: solo popup VirtueMart / Fancybox
   Obiettivo:
   - centra i pulsanti su desktop
   - rende il popup più elegante
   - NON modifica il mobile
   ========================================================= */

@media (min-width: 641px) {

  body #fancybox-wrap {
    max-width: 620px !important;
  }

  body #fancybox-content,
  body .fancybox-inner {
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .18) !important;
    text-align: center !important;
  }

  body #fancybox-content > div,
  body .fancybox-inner > div,
  body .vmCartModule,
  body .vm-addtocart-popup,
  body .vm-cart-popup {
    padding: 28px 34px 32px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  body #fancybox-content a,
  body .fancybox-inner a,
  body .vmCartModule a,
  body .vm-addtocart-popup a,
  body .vm-cart-popup a,
  body a.continue_link,
  body a.showcart,
  body a.continue,
  body a.vm-button-correct,
  body a.vm-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 165px !important;
    min-height: 38px !important;
    line-height: 38px !important;
    margin: 0 6px 24px !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #efbd58 0%, #d8a241 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
    box-shadow: 0 12px 26px rgba(239, 189, 88, .24) !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
  }

  body #fancybox-content a:hover,
  body .fancybox-inner a:hover,
  body .vmCartModule a:hover,
  body .vm-addtocart-popup a:hover,
  body .vm-cart-popup a:hover,
  body a.continue_link:hover,
  body a.showcart:hover,
  body a.continue:hover,
  body a.vm-button-correct:hover,
  body a.vm-button:hover {
    background: linear-gradient(135deg, #d8a241 0%, #c49135 100%) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 30px rgba(239, 189, 88, .30) !important;
  }

  body #fancybox-content,
  body .fancybox-inner {
    color: #2e2e2e !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    letter-spacing: .01em !important;
  }

  body #fancybox-close,
  body .fancybox-close,
  body .fancybox-close-small {
    top: -14px !important;
    right: -14px !important;
    z-index: 9999 !important;
  }
}
/* =========================================================
   AURUM CREAZIONI - Popup add-to-cart desktop spacing refine v15.1
   Scope: solo desktop popup
   ========================================================= */

@media (min-width: 641px) {
  body #fancybox-content > div,
  body .fancybox-inner > div,
  body .vmCartModule,
  body .vm-addtocart-popup,
  body .vm-cart-popup {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
  }

  body #fancybox-content p,
  body .fancybox-inner p,
  body #fancybox-content h4,
  body .fancybox-inner h4 {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    line-height: 1.45 !important;
  }

  body #fancybox-content a,
  body .fancybox-inner a,
  body .vmCartModule a,
  body .vm-addtocart-popup a,
  body .vm-cart-popup a,
  body a.continue_link,
  body a.showcart,
  body a.continue,
  body a.vm-button-correct,
  body a.vm-button {
    margin-bottom: 18px !important;
  }
}

/* =========================================================
   AURUM PATCH DEFINITIVA - Checkout mobile VMuikit no-cut
   Scope: solo pagina carrello / checkout
   Motivo:
   - custom.css viene caricato prima dei CSS VMuikit
   - alcune uk-grid del plugin sforano in mobile
   - reCAPTCHA ha transform-origin negativo inline dal plugin
   ========================================================= */

@media (max-width: 959px) {

  /* Il contenitore YOOtheme della pagina checkout non deve stringere/tagliare */
  #tm-main .uk-container:has(#checkoutForm) {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Form checkout dentro viewport */
  form#checkoutForm {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Griglia principale VMuikit: da grid/flex a blocco verticale */
  form#checkoutForm > #cart-contents[uk-grid],
  form#checkoutForm > #cart-contents.uk-grid,
  form#checkoutForm > #cart-contents.uk-grid-divider {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Colonne principali: una sotto l'altra */
  form#checkoutForm #leftdiv,
  form#checkoutForm #right_div {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  form#checkoutForm #right_div {
    margin-top: 34px !important;
  }

  /* Griglie interne VMuikit: niente margini negativi UIkit su mobile */
  form#checkoutForm .uk-grid,
  form#checkoutForm .uk-grid-small,
  form#checkoutForm .uk-grid-divider,
  form#checkoutForm .top-row,
  form#checkoutForm .bottom-row,
  form#checkoutForm .selectbox,
  form#checkoutForm .price-summary .uk-grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  form#checkoutForm .uk-grid > *,
  form#checkoutForm .uk-grid-small > *,
  form#checkoutForm .top-row > *,
  form#checkoutForm .bottom-row > *,
  form#checkoutForm .selectbox > *,
  form#checkoutForm .price-summary .uk-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Card e tabelle dentro viewport */
  form#checkoutForm .uk-card,
  form#checkoutForm #allproducts,
  form#checkoutForm .product,
  form#checkoutForm #shipment_select,
  form#checkoutForm #payment_select,
  form#checkoutForm #otherpay_buttons,
  form#checkoutForm .price-summary,
  form#checkoutForm table,
  form#checkoutForm tbody,
  form#checkoutForm tr,
  form#checkoutForm td {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Riga quantità prodotto: resta leggibile senza sforare */
  form#checkoutForm .quantity .spacer {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  /* Select con style inline width:210px */
  form#checkoutForm select,
  form#checkoutForm input.uk-input,
  form#checkoutForm textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Coupon: input e bottone in colonna su mobile */
  form#checkoutForm .uk-card:has(#coupon_code) .uk-text-center {
    display: block !important;
    text-align: center !important;
  }

  form#checkoutForm #coupon_code {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
  }

  form#checkoutForm #save-button,
  form#checkoutForm #delete-button {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 6px 4px 0 !important;
  }

  /* reCAPTCHA: annulla transform-origin negativo del plugin */
  form#checkoutForm #captchadiv,
  form#checkoutForm .g-recaptchas {
    width: 304px !important;
    max-width: 100% !important;
    margin: 12px auto 0 !important;
    padding: 0 !important;
    transform-origin: center center !important;
    box-sizing: border-box !important;
  }

  /* Il plugin scala il captcha: manteniamo scala ma centrata */
  form#checkoutForm .g-recaptchas {
    transform: scale(.86) !important;
  }

  /* Bottone finale */
  form#checkoutForm .checkout-button-top,
  form#checkoutForm .checkout-button-top a.uk-button,
  form#checkoutForm .checkout-button-top a[onclick*="submit_order"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  #tm-main .uk-container:has(#checkoutForm) {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  form#checkoutForm #otherpay_buttons {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  form#checkoutForm .g-recaptchas {
    transform: scale(.78) !important;
  }
}

/* =========================================================
   AURUM CHECKOUT MOBILE - STABILE
   Stato: OK desktop / OK mobile / OK PayPal / OK reCAPTCHA
   Non modificare senza backup.
   ========================================================= */
   
/* =========================================================
   AURUM - AREA CARRELLO / ACCOUNT / ORDINI
   Scope:
   - Login
   - Stato ordini
   - Gestisci account
   Non tocca #checkoutForm
   ========================================================= */

#tm-main {
  --aurum-gold: #efbd58;
  --aurum-gold-dark: #d6a03f;
  --aurum-bronze: #b89478;
  --aurum-text: #2f2f2f;
  --aurum-muted: #8f8f8f;
  --aurum-line: #ece8e3;
  --aurum-soft: #faf8f5;
  --aurum-card: #ffffff;
  --aurum-shadow: 0 18px 55px rgba(0,0,0,.06);
}

/* =========================================================
   WRAPPER GENERALE PAGINE AREA CARRELLO
   ========================================================= */

#tm-main .login,
#tm-main .logout,
#tm-main .registration,
#tm-main .user-details-view,
#tm-main .orders-view,
#tm-main .order-view,
#tm-main .account-page,
#tm-main .vm-orders-list,
#tm-main .vmorderlist,
#tm-main .com-users-profile,
#tm-main form#adminForm,
#tm-main form#member-profile,
#tm-main form#login-form {
  max-width: 1100px;
  margin: 0 auto 70px;
  color: var(--aurum-text);
}

/* Titoli principali */
#tm-main h1,
#tm-main .page-title,
#tm-main .componentheading,
#tm-main .uk-article-title {
  font-size: clamp(36px, 3vw, 56px);
  line-height: 1.08;
  letter-spacing: .01em;
  font-weight: 400;
  color: var(--aurum-text);
  margin-bottom: 18px;
}

/* Sottotitoli */
#tm-main h2,
#tm-main h3,
#tm-main .uk-h2,
#tm-main .uk-h3 {
  font-weight: 400;
  color: var(--aurum-text);
  letter-spacing: .01em;
}

#tm-main h2 {
  font-size: clamp(24px, 2vw, 36px);
  margin: 28px 0 18px;
}

#tm-main h3 {
  font-size: 22px;
  margin: 24px 0 16px;
}

/* Testi secondari */
#tm-main p,
#tm-main .small,
#tm-main .note,
#tm-main .description {
  color: var(--aurum-muted);
  line-height: 1.7;
}

/* =========================================================
   CARD E BOX PREMIUM
   ========================================================= */

#tm-main .login form,
#tm-main form#login-form,
#tm-main .registration > form,
#tm-main .user-details-view form,
#tm-main .orders-view form,
#tm-main .order-view form,
#tm-main .vm-orders-list,
#tm-main .vmorderlist,
#tm-main form#adminForm {
  background: var(--aurum-card);
  padding: 34px 38px;
  border: 1px solid rgba(0,0,0,.03);
  box-shadow: var(--aurum-shadow);
}

#tm-main .login form + *,
#tm-main form#login-form + *,
#tm-main .registration > form + * {
  margin-top: 24px;
}

/* Card secondarie / box informazioni */
#tm-main .well,
#tm-main .uk-card,
#tm-main .vm-section,
#tm-main .account-box,
#tm-main .order-box,
#tm-main .login-box {
  background: #fff;
  border: 1px solid var(--aurum-line);
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

/* =========================================================
   FORM PREMIUM
   ========================================================= */

#tm-main label {
  display: block;
  margin-bottom: 8px;
  color: #7d7d7d;
  font-size: 13px;
  letter-spacing: .01em;
}

#tm-main input[type="text"],
#tm-main input[type="email"],
#tm-main input[type="password"],
#tm-main input[type="tel"],
#tm-main input[type="number"],
#tm-main input[type="search"],
#tm-main select,
#tm-main textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid var(--aurum-line);
  background: transparent;
  box-shadow: none !important;
  color: #555;
  font-size: 14px;
  transition: border-color .2s ease, background-color .2s ease;
}

#tm-main textarea {
  min-height: 120px;
  padding-top: 12px;
  padding-bottom: 12px;
  resize: vertical;
}

#tm-main input::placeholder,
#tm-main textarea::placeholder {
  color: #aeaeae;
}

#tm-main input:focus,
#tm-main select:focus,
#tm-main textarea:focus {
  outline: none;
  border-bottom-color: var(--aurum-gold);
  background: rgba(239,189,88,.03);
}

/* Spaziatura campi */
#tm-main .control-group,
#tm-main .controls,
#tm-main .uk-margin,
#tm-main .uk-margin-small,
#tm-main .adminform > div,
#tm-main .form-group,
#tm-main .userfields_info > div {
  margin-bottom: 16px !important;
}

/* Checkbox */
#tm-main input[type="checkbox"] {
  margin-right: 7px;
  accent-color: var(--aurum-gold);
}

/* =========================================================
   BOTTONI PREMIUM
   ========================================================= */

#tm-main button,
#tm-main .button,
#tm-main .btn,
#tm-main input[type="submit"],
#tm-main input[type="button"],
#tm-main .uk-button-primary,
#tm-main .uk-button-secondary,
#tm-main a.uk-button,
#tm-main .vm-button-correct {
  min-height: 42px;
  line-height: 42px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #efbd58, #dca847);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: .01em;
  box-shadow: 0 10px 22px rgba(239,189,88,.20);
  transition: all .2s ease;
}

#tm-main button:hover,
#tm-main .button:hover,
#tm-main .btn:hover,
#tm-main input[type="submit"]:hover,
#tm-main input[type="button"]:hover,
#tm-main .uk-button-primary:hover,
#tm-main .uk-button-secondary:hover,
#tm-main a.uk-button:hover,
#tm-main .vm-button-correct:hover {
  background: linear-gradient(135deg, #dca847, #c89237);
  color: #fff;
  transform: translateY(-1px);
}

/* Pulsanti secondari / annulla / chiari */
#tm-main .btn-secondary,
#tm-main .button-secondary,
#tm-main .uk-button-default,
#tm-main .cancel,
#tm-main a.cancel {
  background: #fff !important;
  color: #7b7368 !important;
  border: 1px solid #ddd3c7 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.03) !important;
}

#tm-main .btn-secondary:hover,
#tm-main .button-secondary:hover,
#tm-main .uk-button-default:hover,
#tm-main .cancel:hover,
#tm-main a.cancel:hover {
  border-color: var(--aurum-gold) !important;
  color: var(--aurum-gold-dark) !important;
  background: #fffdf8 !important;
}

/* =========================================================
   PAGINA LOGIN
   ========================================================= */

#tm-main .login,
#tm-main form#login-form {
  max-width: 920px;
}

#tm-main .login form,
#tm-main form#login-form {
  padding: 38px 44px;
}

#tm-main .login .controls,
#tm-main form#login-form .controls {
  width: 100%;
}

#tm-main .login .control-group,
#tm-main form#login-form .control-group {
  margin-bottom: 22px !important;
}

#tm-main .login .form-actions,
#tm-main form#login-form .form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
}

/* Bottone WebAuthn */
#tm-main .webauthn-login-button,
#tm-main .plg_system_webauthn_login_button,
#tm-main .webauthn_button,
#tm-main button[data-webauthn],
#tm-main .webauthn {
  width: 100%;
  justify-content: center;
  background: linear-gradient(135deg, #2f2f31, #1f1f21) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.18) !important;
}

/* Box link password / username dimenticati */
#tm-main .login .well,
#tm-main .login .uk-card,
#tm-main .login .unstyled,
#tm-main .login .nav,
#tm-main .login-links {
  margin-top: 24px;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
}

#tm-main .login .well a,
#tm-main .login .uk-card a,
#tm-main .login-links a,
#tm-main .login .nav a {
  display: block;
  padding: 16px 18px;
  color: #8a8a8a;
  text-decoration: none;
  border-bottom: 1px solid var(--aurum-line);
  transition: all .2s ease;
}

#tm-main .login .well a:last-child,
#tm-main .login .uk-card a:last-child,
#tm-main .login-links a:last-child,
#tm-main .login .nav a:last-child {
  border-bottom: 0;
}

#tm-main .login .well a:hover,
#tm-main .login .uk-card a:hover,
#tm-main .login-links a:hover,
#tm-main .login .nav a:hover {
  color: var(--aurum-gold-dark);
  background: #fffdf8;
}

/* =========================================================
   PAGINA STATO ORDINI
   ========================================================= */

/* form ricerca ordine ospite */
#tm-main input[name*="order_number"],
#tm-main input[id*="order_number"],
#tm-main input[name*="order_pass"],
#tm-main input[id*="order_pass"],
#tm-main input[placeholder*="Ordine"],
#tm-main input[placeholder*="Chiave"] {
  max-width: 420px;
}

/* Due blocchi più ariosi */
#tm-main .orders-view form > h2,
#tm-main .orders-view form > h3,
#tm-main .order-view form > h2,
#tm-main .order-view form > h3,
#tm-main form#adminForm > h2,
#tm-main form#adminForm > h3 {
  margin-top: 8px;
  margin-bottom: 20px;
}

/* Tabelle ordini */
#tm-main table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  background: #fff;
}

#tm-main table th {
  padding: 14px 16px;
  border-bottom: 1px solid var(--aurum-line);
  color: #7c7c7c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: #faf8f5;
}

#tm-main table td {
  padding: 16px;
  border-bottom: 1px solid var(--aurum-line);
  color: #565656;
  font-size: 14px;
  vertical-align: middle;
}

#tm-main table tr:hover td {
  background: rgba(239,189,88,.035);
}

/* Stato ordine badge */
#tm-main .order-status,
#tm-main .vm-order-status,
#tm-main .status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff7e6;
  color: #b8892f;
  font-size: 12px;
  font-weight: 600;
}

/* =========================================================
   PAGINA GESTISCI ACCOUNT / REGISTRAZIONE
   ========================================================= */

/* Login iniziale sopra la registrazione */
#tm-main .registration > form,
#tm-main .user-details-view form,
#tm-main form#adminForm {
  position: relative;
}

/* Sezione registrazione / dettagli come card interne */
#tm-main .registration fieldset,
#tm-main .user-details-view fieldset,
#tm-main form#adminForm fieldset {
  margin: 26px 0 0;
  padding: 28px 28px 18px;
  border: 1px solid var(--aurum-line);
  background: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.035);
}

#tm-main .registration legend,
#tm-main .user-details-view legend,
#tm-main form#adminForm legend {
  padding: 0 10px;
  color: var(--aurum-text);
  font-size: 28px;
  font-weight: 400;
}

/* Griglia elegante per i campi account */
#tm-main .registration .adminform,
#tm-main .user-details-view .adminform,
#tm-main form#adminForm .adminform,
#tm-main .userfields_info {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 14px 28px;
  align-items: center;
}

#tm-main .registration .adminform > div,
#tm-main .user-details-view .adminform > div,
#tm-main form#adminForm .adminform > div,
#tm-main .userfields_info > div {
  margin-bottom: 0 !important;
}

/* Label colonna sinistra */
#tm-main .registration .adminform > div:nth-child(odd),
#tm-main .user-details-view .adminform > div:nth-child(odd),
#tm-main form#adminForm .adminform > div:nth-child(odd) {
  color: #7a7a7a;
  font-size: 14px;
}

/* =========================================================
   LINK
   ========================================================= */

#tm-main a {
  transition: color .2s ease;
}

#tm-main a:hover {
  color: var(--aurum-gold-dark);
  text-decoration: none;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 959px) {
  #tm-main .login,
  #tm-main .logout,
  #tm-main .registration,
  #tm-main .user-details-view,
  #tm-main .orders-view,
  #tm-main .order-view,
  #tm-main .account-page,
  #tm-main .vm-orders-list,
  #tm-main .vmorderlist,
  #tm-main .com-users-profile,
  #tm-main form#adminForm,
  #tm-main form#member-profile,
  #tm-main form#login-form {
    margin-bottom: 50px;
  }

  #tm-main .login form,
  #tm-main form#login-form,
  #tm-main .registration > form,
  #tm-main .user-details-view form,
  #tm-main .orders-view form,
  #tm-main .order-view form,
  #tm-main .vm-orders-list,
  #tm-main .vmorderlist,
  #tm-main form#adminForm {
    padding: 24px 22px;
  }

  #tm-main .registration .adminform,
  #tm-main .user-details-view .adminform,
  #tm-main form#adminForm .adminform,
  #tm-main .userfields_info {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #tm-main table,
  #tm-main thead,
  #tm-main tbody,
  #tm-main th,
  #tm-main td,
  #tm-main tr {
    display: block;
  }

  #tm-main table thead {
    display: none;
  }

  #tm-main table tr {
    margin-bottom: 14px;
    border: 1px solid var(--aurum-line);
    background: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.03);
  }

  #tm-main table td {
    border-bottom: 1px solid var(--aurum-line);
  }

  #tm-main table td:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 640px) {
  #tm-main h1,
  #tm-main .page-title,
  #tm-main .componentheading,
  #tm-main .uk-article-title {
    font-size: 34px;
    line-height: 1.12;
  }

  #tm-main h2 {
    font-size: 24px;
  }

  #tm-main .login .form-actions,
  #tm-main form#login-form .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #tm-main button,
  #tm-main .button,
  #tm-main .btn,
  #tm-main input[type="submit"],
  #tm-main input[type="button"],
  #tm-main .uk-button-primary,
  #tm-main .uk-button-secondary,
  #tm-main a.uk-button,
  #tm-main .vm-button-correct {
    width: 100%;
    text-align: center;
  }
} 

/* =========================================================
   AURUM - PREMIUM LUXURY OVERRIDE
   Scope:
   - Login
   - Stato ordini
   - Gestisci account
   Da incollare SOTTO al blocco precedente
   ========================================================= */

#tm-main{
  --aurum-lx-bg: #fcfaf7;
  --aurum-lx-card: #ffffff;
  --aurum-lx-soft: #f8f4ee;
  --aurum-lx-line: #ece3d8;
  --aurum-lx-line-2: #e2d6c8;
  --aurum-lx-gold: #d7a84c;
  --aurum-lx-gold-2: #efc56d;
  --aurum-lx-gold-dark: #b98a35;
  --aurum-lx-ink: #2d2926;
  --aurum-lx-muted: #8f8579;
  --aurum-lx-shadow: 0 18px 60px rgba(31, 24, 16, .06);
  --aurum-lx-shadow-soft: 0 8px 24px rgba(31, 24, 16, .04);
  --aurum-lx-radius: 28px;
}

/* ---------------------------------------------------------
   WRAPPER PAGINE AREA CARRELLO / ACCOUNT
   --------------------------------------------------------- */

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  color: var(--aurum-lx-ink);
}

/* ---------------------------------------------------------
   TITOLI
   --------------------------------------------------------- */

#tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) h1,
#tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) .page-title,
#tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) .componentheading {
  font-size: clamp(42px, 4vw, 64px);
  line-height: 1.04;
  letter-spacing: .01em;
  font-weight: 300;
  color: var(--aurum-lx-ink);
  margin-bottom: 18px;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) h2,
#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) h3,
#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) .uk-h2,
#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) .uk-h3 {
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: .01em;
  color: var(--aurum-lx-ink);
}

#tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) h2 {
  font-size: clamp(28px, 2.2vw, 42px);
  margin: 22px 0 18px;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) p,
#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) .small,
#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) .note {
  color: var(--aurum-lx-muted);
}

/* ---------------------------------------------------------
   CARD PRINCIPALI
   --------------------------------------------------------- */

#tm-main .login form,
#tm-main form#login-form,
#tm-main .registration > form,
#tm-main .user-details-view form,
#tm-main .orders-view form,
#tm-main .order-view form,
#tm-main form#adminForm {
  position: relative;
  background: linear-gradient(180deg, #fff 0%, #fcfaf7 100%);
  border: 1px solid rgba(0,0,0,.03);
  border-radius: var(--aurum-lx-radius);
  box-shadow: var(--aurum-lx-shadow);
  padding: 40px 42px;
  overflow: hidden;
}

#tm-main .login form::before,
#tm-main form#login-form::before,
#tm-main .registration > form::before,
#tm-main .user-details-view form::before,
#tm-main .orders-view form::before,
#tm-main .order-view form::before,
#tm-main form#adminForm::before {
  content: "";
  position: absolute;
  top: 0;
  left: 34px;
  width: 150px;
  height: 2px;
  background: linear-gradient(90deg, var(--aurum-lx-gold), rgba(215,168,76,0));
}

/* ---------------------------------------------------------
   BOX INTERNI PIÙ LUXURY
   --------------------------------------------------------- */

#tm-main :is(.orders-view, .order-view, form#adminForm) .well,
#tm-main :is(.orders-view, .order-view, form#adminForm) .uk-card,
#tm-main :is(.orders-view, .order-view, form#adminForm) .vm-orders-list,
#tm-main :is(.orders-view, .order-view, form#adminForm) .vmorderlist,
#tm-main :is(.orders-view, .order-view, form#adminForm) fieldset,
#tm-main .registration fieldset,
#tm-main .user-details-view fieldset {
  background: rgba(255,255,255,.7);
  border: 1px solid var(--aurum-lx-line);
  border-radius: 22px;
  box-shadow: var(--aurum-lx-shadow-soft);
}

/* ---------------------------------------------------------
   FORM PREMIUM
   --------------------------------------------------------- */

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) label {
  display: block;
  margin-bottom: 8px;
  color: var(--aurum-lx-muted);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .02em;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="search"], select, textarea) {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid var(--aurum-lx-line-2);
  background: transparent;
  box-shadow: none !important;
  color: #58514a;
  font-size: 14px;
  transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) textarea {
  min-height: 120px;
  padding-top: 12px;
  padding-bottom: 12px;
  resize: vertical;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="search"], select, textarea)::placeholder {
  color: #b2a89c;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"], input[type="search"], select, textarea):focus {
  outline: none;
  border-bottom-color: var(--aurum-lx-gold);
  background: rgba(239,197,109,.05);
  color: var(--aurum-lx-ink);
}

/* spaziature coerenti */
#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(.control-group, .controls, .form-group, .uk-margin, .uk-margin-small, .adminform > div) {
  margin-bottom: 16px !important;
}

/* ---------------------------------------------------------
   BOTTONI LUXURY
   --------------------------------------------------------- */

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(button, .button, .btn, input[type="submit"], input[type="button"], .uk-button-primary, a.uk-button, .vm-button-correct) {
  min-height: 44px;
  line-height: 44px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--aurum-lx-gold-2), var(--aurum-lx-gold));
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  box-shadow: 0 12px 26px rgba(215,168,76,.24);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(button, .button, .btn, input[type="submit"], input[type="button"], .uk-button-primary, a.uk-button, .vm-button-correct):hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, var(--aurum-lx-gold), var(--aurum-lx-gold-dark));
  color: #fff;
  box-shadow: 0 15px 30px rgba(215,168,76,.30);
}

/* secondari */
#tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm)
:is(.btn-secondary, .button-secondary, .uk-button-default, .cancel, a.cancel, input[type="reset"]) {
  background: #fff !important;
  color: #7e7366 !important;
  border: 1px solid #dccfbf !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.03) !important;
}

/* ---------------------------------------------------------
   LOGIN PAGE
   --------------------------------------------------------- */

#tm-main .login,
#tm-main form#login-form {
  max-width: 880px;
}

#tm-main .login form,
#tm-main form#login-form {
  padding: 40px 46px 34px;
}

/* sistema icona password / icone input */
#tm-main .login .uk-inline,
#tm-main form#login-form .uk-inline {
  position: relative;
  display: block;
  width: 100%;
}

#tm-main .login .uk-form-icon,
#tm-main .login .uk-form-icon-flip,
#tm-main form#login-form .uk-form-icon,
#tm-main form#login-form .uk-form-icon-flip {
  position: absolute;
  top: 50%;
  right: 0;
  left: auto;
  transform: translateY(-50%);
  width: 56px;
  height: 38px;
  border: 1px solid #ddd2c5;
  border-radius: 999px;
  background: #fffaf1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #7d6f5f;
}

#tm-main .login .uk-form-icon + input,
#tm-main .login .uk-form-icon-flip + input,
#tm-main form#login-form .uk-form-icon + input,
#tm-main form#login-form .uk-form-icon-flip + input {
  padding-right: 72px;
}

#tm-main .login .form-actions,
#tm-main form#login-form .form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 22px;
}

#tm-main .login label[for*="remember"],
#tm-main .login .remember,
#tm-main form#login-form .remember {
  color: var(--aurum-lx-muted);
  font-size: 14px;
}

/* bottone webauthn dark luxury */
#tm-main .webauthn-login-button,
#tm-main .plg_system_webauthn_login_button,
#tm-main .webauthn_button,
#tm-main button[data-webauthn],
#tm-main .webauthn {
  width: 100%;
  justify-content: center;
  background: linear-gradient(135deg, #2f3136, #191a1e) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 35px rgba(0,0,0,.16) !important;
}

/* link utili sotto login */
#tm-main .login .well,
#tm-main .login .uk-card,
#tm-main .login .nav,
#tm-main .login-links {
  margin-top: 22px;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.65);
  border: 1px solid var(--aurum-lx-line);
}

#tm-main .login .well a,
#tm-main .login .uk-card a,
#tm-main .login .nav a,
#tm-main .login-links a {
  display: block;
  padding: 17px 18px;
  color: #8b8378;
  text-decoration: none;
  border-bottom: 1px solid var(--aurum-lx-line);
  transition: all .2s ease;
}

#tm-main .login .well a:last-child,
#tm-main .login .uk-card a:last-child,
#tm-main .login .nav a:last-child,
#tm-main .login-links a:last-child {
  border-bottom: 0;
}

#tm-main .login .well a:hover,
#tm-main .login .uk-card a:hover,
#tm-main .login .nav a:hover,
#tm-main .login-links a:hover {
  background: #fffcf8;
  color: var(--aurum-lx-gold-dark);
  padding-left: 22px;
}

/* ---------------------------------------------------------
   STATO ORDINI
   --------------------------------------------------------- */

#tm-main .orders-view form,
#tm-main .order-view form {
  padding: 34px 36px 38px;
}

#tm-main .orders-view form > h2:first-of-type,
#tm-main .order-view form > h2:first-of-type {
  margin-top: 10px;
}

#tm-main .orders-view input[name*="order"],
#tm-main .orders-view input[id*="order"],
#tm-main .order-view input[name*="order"],
#tm-main .order-view input[id*="order"] {
  max-width: 430px;
}

#tm-main .orders-view table,
#tm-main .order-view table,
#tm-main form#adminForm table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 20px;
  background: #fff;
  border: 1px solid var(--aurum-lx-line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--aurum-lx-shadow-soft);
}

#tm-main .orders-view table th,
#tm-main .order-view table th,
#tm-main form#adminForm table th {
  padding: 15px 16px;
  background: #fbf8f3;
  border-bottom: 1px solid var(--aurum-lx-line);
  color: #8e8478;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#tm-main .orders-view table td,
#tm-main .order-view table td,
#tm-main form#adminForm table td {
  padding: 16px;
  border-bottom: 1px solid var(--aurum-lx-line);
  color: #5b544d;
  font-size: 14px;
  vertical-align: middle;
}

#tm-main .orders-view table tr:last-child td,
#tm-main .order-view table tr:last-child td,
#tm-main form#adminForm table tr:last-child td {
  border-bottom: 0;
}

#tm-main .orders-view table tr:hover td,
#tm-main .order-view table tr:hover td,
#tm-main form#adminForm table tr:hover td {
  background: rgba(239,197,109,.045);
}

/* ---------------------------------------------------------
   GESTISCI ACCOUNT / REGISTRAZIONE
   --------------------------------------------------------- */

#tm-main .registration > form,
#tm-main .user-details-view form,
#tm-main form#adminForm {
  padding: 34px 34px 40px;
}

/* gruppo pulsanti sopra form */
#tm-main .registration > form > div:first-child,
#tm-main .user-details-view form > div:first-child,
#tm-main form#adminForm > div:first-child {
  margin-bottom: 18px;
}

/* fieldset luxury */
#tm-main .registration fieldset,
#tm-main .user-details-view fieldset,
#tm-main form#adminForm fieldset {
  position: relative;
  margin: 28px 0 0;
  padding: 78px 24px 24px;
  border: 1px solid var(--aurum-lx-line);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(251,248,243,.92) 100%);
}

/* legend sistemata bene */
#tm-main .registration legend,
#tm-main .user-details-view legend,
#tm-main form#adminForm legend {
  position: absolute;
  top: 24px;
  left: 24px;
  display: block;
  width: auto !important;
  max-width: calc(100% - 48px);
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--aurum-lx-ink);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: .01em;
  white-space: normal;
}

/* griglia elegante label + campo */
#tm-main .registration .adminform,
#tm-main .user-details-view .adminform,
#tm-main form#adminForm .adminform,
#tm-main .registration .userfields_info,
#tm-main .user-details-view .userfields_info {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 14px 30px;
  align-items: center;
}

#tm-main .registration .adminform > div,
#tm-main .user-details-view .adminform > div,
#tm-main form#adminForm .adminform > div,
#tm-main .registration .userfields_info > div,
#tm-main .user-details-view .userfields_info > div {
  margin-bottom: 0 !important;
}

#tm-main .registration .adminform > div:nth-child(odd),
#tm-main .user-details-view .adminform > div:nth-child(odd),
#tm-main form#adminForm .adminform > div:nth-child(odd) {
  color: #8c8277;
  font-size: 14px;
  line-height: 1.45;
}

/* select più puliti */
#tm-main .registration select,
#tm-main .user-details-view select,
#tm-main form#adminForm select {
  background-color: transparent;
  border-radius: 10px;
}

/* ---------------------------------------------------------
   LINK
   --------------------------------------------------------- */

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) a {
  transition: color .2s ease;
}

#tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) a:hover {
  color: var(--aurum-lx-gold-dark);
  text-decoration: none;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 959px) {
  #tm-main .login form,
  #tm-main form#login-form,
  #tm-main .registration > form,
  #tm-main .user-details-view form,
  #tm-main .orders-view form,
  #tm-main .order-view form,
  #tm-main form#adminForm {
    padding: 24px 20px 26px;
    border-radius: 20px;
  }

  #tm-main .registration fieldset,
  #tm-main .user-details-view fieldset,
  #tm-main form#adminForm fieldset {
    padding: 70px 18px 18px;
    border-radius: 18px;
  }

  #tm-main .registration legend,
  #tm-main .user-details-view legend,
  #tm-main form#adminForm legend {
    left: 18px;
    top: 20px;
    max-width: calc(100% - 36px);
    font-size: 18px;
  }

  #tm-main .registration .adminform,
  #tm-main .user-details-view .adminform,
  #tm-main form#adminForm .adminform,
  #tm-main .registration .userfields_info,
  #tm-main .user-details-view .userfields_info {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #tm-main .orders-view table,
  #tm-main .order-view table,
  #tm-main form#adminForm table,
  #tm-main .orders-view thead,
  #tm-main .order-view thead,
  #tm-main form#adminForm thead,
  #tm-main .orders-view tbody,
  #tm-main .order-view tbody,
  #tm-main form#adminForm tbody,
  #tm-main .orders-view th,
  #tm-main .order-view th,
  #tm-main form#adminForm th,
  #tm-main .orders-view td,
  #tm-main .order-view td,
  #tm-main form#adminForm td,
  #tm-main .orders-view tr,
  #tm-main .order-view tr,
  #tm-main form#adminForm tr {
    display: block;
  }

  #tm-main .orders-view thead,
  #tm-main .order-view thead,
  #tm-main form#adminForm thead {
    display: none;
  }

  #tm-main .orders-view table,
  #tm-main .order-view table,
  #tm-main form#adminForm table {
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  #tm-main .orders-view tr,
  #tm-main .order-view tr,
  #tm-main form#adminForm tr {
    margin-bottom: 14px;
    border: 1px solid var(--aurum-lx-line);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--aurum-lx-shadow-soft);
  }

  #tm-main .orders-view td,
  #tm-main .order-view td,
  #tm-main form#adminForm td {
    border-bottom: 1px solid var(--aurum-lx-line);
  }

  #tm-main .orders-view td:last-child,
  #tm-main .order-view td:last-child,
  #tm-main form#adminForm td:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 640px) {
  #tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) h1,
  #tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) .page-title,
  #tm-main :is(.registration, .user-details-view, .orders-view, .order-view, form#adminForm) .componentheading {
    font-size: 34px;
    line-height: 1.08;
  }

  #tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm) h2 {
    font-size: 24px;
  }

  #tm-main .login .form-actions,
  #tm-main form#login-form .form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #tm-main :is(.login, .registration, .user-details-view, .orders-view, .order-view, form#adminForm)
  :is(button, .button, .btn, input[type="submit"], input[type="button"], .uk-button-primary, a.uk-button, .vm-button-correct) {
    width: 100%;
    text-align: center;
  }
}

/* =========================================================
   AURUM - LOGIN MICRO FIX LUXURY
   Scope: solo pagina login area carrello/account
   Non tocca checkout
   ========================================================= */

/* Card login più compatta e meno alta */
#tm-main .login form,
#tm-main form#login-form {
  max-width: 920px;
  margin: 0 auto;
  padding: 34px 42px 30px !important;
  border-radius: 22px !important;
}

/* Campi login: altezza normale, niente box enormi */
#tm-main .login input[type="text"],
#tm-main .login input[type="password"],
#tm-main form#login-form input[type="text"],
#tm-main form#login-form input[type="password"] {
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 58px 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e6ded4 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 42px !important;
}

/* Riga label + errore sullo stesso livello */
#tm-main .login label,
#tm-main form#login-form label {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  margin: 0 0 6px !important;
  color: #8d8479 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* Messaggio tipo "Compila questo campo" non deve andare a capo enorme */
#tm-main .login .invalid,
#tm-main .login .form-control-feedback,
#tm-main .login .help-block,
#tm-main .login .uk-form-danger,
#tm-main form#login-form .invalid,
#tm-main form#login-form .form-control-feedback,
#tm-main form#login-form .help-block,
#tm-main form#login-form .uk-form-danger {
  display: inline !important;
  margin-left: 4px !important;
  color: #b89478 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* Spaziatura campi login più elegante */
#tm-main .login .control-group,
#tm-main form#login-form .control-group,
#tm-main .login .uk-margin,
#tm-main form#login-form .uk-margin {
  margin-bottom: 20px !important;
}

/* Wrapper password/input */
#tm-main .login .uk-inline,
#tm-main form#login-form .uk-inline {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* Icona occhio: in fondo al rigo password, non sotto */
#tm-main .login .uk-form-icon,
#tm-main .login .uk-form-icon-flip,
#tm-main form#login-form .uk-form-icon,
#tm-main form#login-form .uk-form-icon-flip {
  position: absolute !important;
  top: 4px !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  width: 42px !important;
  height: 32px !important;
  min-height: 32px !important;
  border: 1px solid #ded3c7 !important;
  border-radius: 999px !important;
  background: #fffaf2 !important;
  color: #6f665d !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.035) !important;
}

/* Ricordami: checkbox e testo sulla stessa linea */
#tm-main .login #remember,
#tm-main form#login-form #remember,
#tm-main .login input[type="checkbox"],
#tm-main form#login-form input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0 7px 0 0 !important;
  vertical-align: middle !important;
  accent-color: #d7a84c;
}

#tm-main .login .remember,
#tm-main form#login-form .remember,
#tm-main .login label[for="remember"],
#tm-main form#login-form label[for="remember"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 2px 0 18px !important;
  color: #8d8479 !important;
  font-size: 13px !important;
}

/* Autenticazione Web: più corta, centrata, meno invasiva */
#tm-main .webauthn-login-button,
#tm-main .plg_system_webauthn_login_button,
#tm-main .webauthn_button,
#tm-main button[data-webauthn],
#tm-main .webauthn {
  display: flex !important;
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  min-height: 38px !important;
  height: 38px !important;
  line-height: 38px !important;
  margin: 8px auto 22px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #343434, #202020) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
}

/* Bottone accesso: più boutique */
#tm-main .login button,
#tm-main .login .btn,
#tm-main .login input[type="submit"],
#tm-main form#login-form button,
#tm-main form#login-form .btn,
#tm-main form#login-form input[type="submit"] {
  width: auto !important;
  min-width: 112px !important;
  height: 42px !important;
  min-height: 42px !important;
  line-height: 42px !important;
  padding: 0 24px !important;
}

/* Box link sotto: più raffinato e allineato al form */
#tm-main .login .well,
#tm-main .login .uk-card,
#tm-main .login .nav,
#tm-main .login-links,
#tm-main form#login-form + ul,
#tm-main form#login-form + div {
  max-width: 920px;
  margin: 22px auto 0 !important;
  border: 1px solid #e7ded3 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.035) !important;
}

/* Link password / username / account */
#tm-main .login .well a,
#tm-main .login .uk-card a,
#tm-main .login .nav a,
#tm-main .login-links a,
#tm-main form#login-form + ul a,
#tm-main form#login-form + div a {
  display: block !important;
  padding: 15px 18px !important;
  color: #8c8175 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border-bottom: 1px solid #ece4da !important;
  background: transparent !important;
  transition: all .2s ease !important;
}

#tm-main .login .well a:last-child,
#tm-main .login .uk-card a:last-child,
#tm-main .login .nav a:last-child,
#tm-main .login-links a:last-child,
#tm-main form#login-form + ul a:last-child,
#tm-main form#login-form + div a:last-child {
  border-bottom: 0 !important;
}

#tm-main .login .well a:hover,
#tm-main .login .uk-card a:hover,
#tm-main .login .nav a:hover,
#tm-main .login-links a:hover,
#tm-main form#login-form + ul a:hover,
#tm-main form#login-form + div a:hover {
  color: #b98a35 !important;
  background: #fffaf2 !important;
  padding-left: 22px !important;
}

/* Mobile */
@media (max-width: 640px) {
  #tm-main .login form,
  #tm-main form#login-form {
    padding: 26px 22px 24px !important;
    border-radius: 18px !important;
  }

  #tm-main .webauthn-login-button,
  #tm-main .plg_system_webauthn_login_button,
  #tm-main .webauthn_button,
  #tm-main button[data-webauthn],
  #tm-main .webauthn {
    width: 100% !important;
    max-width: 100% !important;
  }

  #tm-main .login button,
  #tm-main .login .btn,
  #tm-main .login input[type="submit"],
  #tm-main form#login-form button,
  #tm-main form#login-form .btn,
  #tm-main form#login-form input[type="submit"] {
    width: auto !important;
  }
}

/* =========================================================
   AURUM - LOGIN FIX DEFINITIVO
   Scope reale: com-users-login Joomla
   ========================================================= */

/* Card login */
#tm-main .com-users-login {
  max-width: 920px;
  margin: 0 auto;
}

#tm-main .com-users-login__form {
  max-width: 920px;
  margin: 0 auto 22px !important;
  padding: 34px 42px 34px !important;
  border: 1px solid #eadfce !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.055) !important;
}

/* Righe campo */
#tm-main .com-users-login .control-group {
  margin: 0 0 22px !important;
}

#tm-main .com-users-login .control-label {
  width: auto !important;
  float: none !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-align: left !important;
}

#tm-main .com-users-login .control-label label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  color: #8d8174 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

#tm-main .com-users-login .controls {
  margin-left: 0 !important;
}

/* Campi input */
#tm-main .com-users-login input[type="text"],
#tm-main .com-users-login input[type="password"] {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 58px 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e7ded4 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #3a3a3a !important;
  font-size: 14px !important;
  line-height: 42px !important;
}

/* Messaggio "Compila questo campo" vicino al label */
#tm-main .com-users-login .form-control-feedback,
#tm-main .com-users-login .invalid,
#tm-main .com-users-login .help-block,
#tm-main .com-users-login .uk-form-danger {
  display: inline !important;
  margin-left: 4px !important;
  color: #b89478 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* Wrapper password: riferimento reale */
#tm-main .com-users-login .password-group,
#tm-main .com-users-login .input-group {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* FIX DEFINITIVO OCCHIO PASSWORD */
#tm-main .com-users-login button.input-password-toggle {
  position: absolute !important;
  top: 6px !important;
  right: 0 !important;
  left: auto !important;

  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid #ded3c7 !important;
  border-radius: 999px !important;
  background: #fffaf2 !important;
  color: #6f665d !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.035) !important;

  font-size: 13px !important;
  line-height: 1 !important;
  z-index: 5 !important;
}

#tm-main .com-users-login button.input-password-toggle:hover {
  border-color: #d7a84c !important;
  color: #b98a35 !important;
  background: #fff7e9 !important;
}

#tm-main .com-users-login button.input-password-toggle .icon-eye {
  font-size: 14px !important;
  line-height: 1 !important;
}

#tm-main .com-users-login button.input-password-toggle .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}

/* Ricordami: checkbox e testo stessa linea */
#tm-main .com-users-login__remember {
  margin: 4px 0 24px !important;
}

#tm-main .com-users-login__remember .form-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#tm-main .com-users-login__remember input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  margin: 0 !important;
  accent-color: #d7a84c;
}

#tm-main .com-users-login__remember label {
  margin: 0 !important;
  color: #8d8174 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

/* Autenticazione Web: più corta, centrale, meno invasiva */
#tm-main .com-users-login .plg_system_webauthn_login_button {
  width: auto !important;
  min-width: 230px !important;
  max-width: 260px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 6px auto 18px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #343434, #202020) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.14) !important;

  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  line-height: 38px !important;
}

#tm-main .com-users-login .plg_system_webauthn_login_button svg {
  width: 21px !important;
  height: 21px !important;
  opacity: .78 !important;
}

/* Bottone Accesso */
#tm-main .com-users-login button[type="submit"].btn-primary {
  width: auto !important;
  min-width: 112px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f0bf5a, #d99f31) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(217,159,49,.22) !important;
}

/* Link sotto login */
#tm-main .com-users-login__options {
  max-width: 920px;
  margin: 22px auto 0 !important;
  border: 1px solid #e7ded3 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.035) !important;
}

#tm-main .com-users-login__options a {
  display: block !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #ece4da !important;
  color: #8c8175 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

#tm-main .com-users-login__options a:last-child {
  border-bottom: 0 !important;
}

#tm-main .com-users-login__options a:hover {
  color: #b98a35 !important;
  background: #fffaf2 !important;
  padding-left: 22px !important;
}

/* Mobile */
@media (max-width: 640px) {
  #tm-main .com-users-login__form {
    padding: 26px 22px !important;
    border-radius: 16px !important;
  }

  #tm-main .com-users-login .plg_system_webauthn_login_button {
    min-width: 210px !important;
    max-width: 100% !important;
  }

  #tm-main .com-users-login button.input-password-toggle {
    top: 6px !important;
    right: 0 !important;
  }
}

/* =========================================================
   AURUM - FIX CENTRATURA AUTENTICAZIONE WEB LOGIN
   Scope: solo pagina login
   ========================================================= */

/* Centra il contenitore del pulsante WebAuthn */
#tm-main .com-users-login .com-users-login__submit:has(.plg_system_webauthn_login_button),
#tm-main .com-users-login .com-users-login__submit:has(.plg_system_webauthn_login_button) .controls {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-left: 0 !important;
  text-align: center !important;
}

/* Bottone nero centrato, corto e luxury */
#tm-main .com-users-login .plg_system_webauthn_login_button {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;

  width: auto !important;
  min-width: 230px !important;
  max-width: 260px !important;

  margin: 8px auto 20px !important;
  float: none !important;
}

/* Mantiene il bottone Accesso a sinistra */
#tm-main .com-users-login .com-users-login__submit:not(:has(.plg_system_webauthn_login_button)) {
  display: block !important;
  text-align: left !important;
}

#tm-main .com-users-login .com-users-login__submit:not(:has(.plg_system_webauthn_login_button)) .controls {
  display: block !important;
  text-align: left !important;
}

/* =========================================================
   AURUM - LOGIN CTA ROW LUXURY
   Scope: solo pagina Login Joomla
   Obiettivo: WebAuthn + Accesso sulla stessa linea
   ========================================================= */

/* Il fieldset diventa una griglia controllata */
#tm-main .com-users-login__form fieldset {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 22px !important;
  row-gap: 16px !important;
  align-items: end !important;
}

/* Username, password e ricordami restano full width */
#tm-main .com-users-login__input,
#tm-main .com-users-login__remember {
  grid-column: 1 / -1 !important;
}

/* Riduce il vuoto verticale della card */
#tm-main .com-users-login__form {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

/* Meno spazio tra password e ricordami */
#tm-main .com-users-login__remember {
  margin: 0 0 8px !important;
}

/* Riga dei due pulsanti */
#tm-main .com-users-login__submit {
  margin: 4px 0 0 !important;
}

/* WebAuthn a destra della riga CTA */
#tm-main .com-users-login .com-users-login__submit:has(.plg_system_webauthn_login_button) {
  grid-column: 1 / 2 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

/* Accesso a sinistra della riga CTA */
#tm-main .com-users-login .com-users-login__submit:not(:has(.plg_system_webauthn_login_button)) {
  grid-column: 2 / 3 !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

/* Bottone nero più boutique */
#tm-main .com-users-login .plg_system_webauthn_login_button {
  min-width: 220px !important;
  max-width: 240px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
}

/* Bottone Accesso stessa altezza e stesso linguaggio */
#tm-main .com-users-login button[type="submit"].btn-primary {
  min-width: 132px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  letter-spacing: .01em !important;
}

/* Evita che vecchie regole riportino Accesso a sinistra */
#tm-main .com-users-login .com-users-login__submit .controls {
  width: auto !important;
  margin-left: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Link sotto più vicino alla card */
#tm-main .com-users-login__options {
  margin-top: 18px !important;
}

/* Mobile: pulsanti impilati, ordinati e pieni */
@media (max-width: 640px) {
  #tm-main .com-users-login__form fieldset {
    display: block !important;
  }

  #tm-main .com-users-login .com-users-login__submit:has(.plg_system_webauthn_login_button),
  #tm-main .com-users-login .com-users-login__submit:not(:has(.plg_system_webauthn_login_button)) {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 12px !important;
  }

  #tm-main .com-users-login .plg_system_webauthn_login_button,
  #tm-main .com-users-login button[type="submit"].btn-primary {
    width: 100% !important;
    max-width: 280px !important;
  }
}

/* =========================================================
   AURUM - LOGIN CTA ALIGN FINAL
   File generato per sostituire custom.css
   Scope: solo pagina Login Joomla / com-users-login
   Obiettivo:
   - Autenticazione Web + Accesso sulla stessa linea
   - gruppo CTA centrato e allineato
   - nessuna interferenza con checkout #checkoutForm
   ========================================================= */

#tm-main .com-users-login__form fieldset {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  justify-content: center !important;
  align-items: center !important;
  column-gap: 72px !important;
  row-gap: 14px !important;
}

/* Campi e ricordami restano larghi quanto la card */
#tm-main .com-users-login__input,
#tm-main .com-users-login__remember {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Bottone Autenticazione Web: colonna sinistra della riga CTA */
#tm-main .com-users-login .com-users-login__submit:has(.plg_system_webauthn_login_button) {
  grid-column: 1 / 2 !important;
  justify-self: end !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

/* Bottone Accesso: colonna destra della riga CTA */
#tm-main .com-users-login .com-users-login__submit:not(:has(.plg_system_webauthn_login_button)) {
  grid-column: 2 / 3 !important;
  justify-self: start !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

/* Neutralizza margini interni Bootstrap/Joomla */
#tm-main .com-users-login .com-users-login__submit .controls {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* WebAuthn: luxury, corto, coerente */
#tm-main .com-users-login .plg_system_webauthn_login_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;

  width: 232px !important;
  min-width: 232px !important;
  max-width: 232px !important;
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;

  margin: 0 !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 999px !important;

  background: linear-gradient(135deg, #343434 0%, #202020 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.14) !important;

  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

#tm-main .com-users-login .plg_system_webauthn_login_button svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  opacity: .78 !important;
}

/* Accesso: stessa altezza e allineamento ottico */
#tm-main .com-users-login button[type="submit"].btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;

  margin: 0 !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 999px !important;

  background: linear-gradient(135deg, #f0bf5a 0%, #d99f31 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(217,159,49,.22) !important;

  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

/* Riduce il vuoto verticale sotto ricordami */
#tm-main .com-users-login__remember {
  margin: 2px 0 10px !important;
}

/* Box link sotto allineato alla card */
#tm-main .com-users-login__options {
  max-width: 920px !important;
  margin: 18px auto 0 !important;
}

/* Mobile: bottoni impilati, centrati e senza sforare */
@media (max-width: 640px) {
  #tm-main .com-users-login__form fieldset {
    display: block !important;
  }

  #tm-main .com-users-login .com-users-login__submit:has(.plg_system_webauthn_login_button),
  #tm-main .com-users-login .com-users-login__submit:not(:has(.plg_system_webauthn_login_button)) {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 12px !important;
  }

  #tm-main .com-users-login .plg_system_webauthn_login_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 280px !important;
  }

  #tm-main .com-users-login button[type="submit"].btn-primary {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 280px !important;
  }
}

/* =========================================================
   AURUM - FOOTER PREMIUM + PAGAMENTI RICREATI IN CSS
   Scope: solo footer
   Incollare in fondo a custom.css
   ========================================================= */

/* FOOTER BASE */
footer .uk-section-secondary {
  position: relative !important;
  background:
    radial-gradient(circle at 48% 0%, rgba(232, 176, 70, .13), rgba(232, 176, 70, 0) 34%),
    linear-gradient(180deg, #292929 0%, #202020 100%) !important;
  border-top: 1px solid rgba(232, 176, 70, .28) !important;
  padding-top: 58px !important;
  padding-bottom: 34px !important;
  overflow: hidden !important;
}

footer .uk-section-secondary::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: min(1040px, calc(100% - 50px)) !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(
    90deg,
    rgba(232,176,70,0),
    rgba(232,176,70,.70),
    rgba(232,176,70,0)
  ) !important;
}

footer .uk-section-secondary .uk-container {
  max-width: 1160px !important;
}

/* GRIGLIA FOOTER */
footer .tm-grid-expand.uk-grid-margin {
  align-items: center !important;
  margin-top: 0 !important;
}

/* LOGO FOOTER */
footer img[src*="aurum-inverso"],
footer img.el-image[src*="aurum-inverso"] {
  width: 205px !important;
  max-width: 205px !important;
  height: auto !important;
  display: block !important;
  opacity: .98 !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.24)) !important;
}

/* COLONNA SINISTRA */
footer .uk-width-1-4\@m:first-child .uk-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

/* NASCONDE IL VECCHIO LOGO CARTE */
footer img[src*="logo_carte"],
footer img.el-image[src*="logo_carte"] {
  display: none !important;
}

/* CREA NUOVO BOX PAGAMENTI IN CSS */
footer .uk-margin:has(img[src*="logo_carte"]) {
  width: 252px !important;
  max-width: 252px !important;
  min-height: 132px !important;
  margin-top: 4px !important;
  padding: 17px 18px 16px !important;
  border: 1px solid rgba(232,176,70,.36) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    rgba(0,0,0,.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 36px rgba(0,0,0,.20) !important;
  position: relative !important;
  overflow: hidden !important;
}

footer .uk-margin:has(img[src*="logo_carte"])::before {
  content:
    "PayPal\A"
    "VISA   Mastercard   Maestro   AMEX\A"
    "BONIFICO BANCARIO        CONTRASSEGNO";
  white-space: pre !important;
  display: block !important;
  color: rgba(255,255,255,.90) !important;
  font-size: 11px !important;
  line-height: 2.25 !important;
  letter-spacing: .035em !important;
  text-align: center !important;
  font-weight: 500 !important;
}

footer .uk-margin:has(img[src*="logo_carte"])::after {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  top: 50px !important;
  height: 31px !important;
  border-top: 1px solid rgba(232,176,70,.22) !important;
  border-bottom: 1px solid rgba(232,176,70,.22) !important;
  pointer-events: none !important;
}

/* RIGA LINK CENTRALE */
footer .uk-subnav {
  gap: 22px !important;
}

footer .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  height: 18px !important;
  border-left-color: rgba(232,176,70,.45) !important;
}

footer .uk-subnav a,
footer .uk-subnav .el-link {
  color: rgba(255,255,255,.70) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  transition: color .22s ease, opacity .22s ease !important;
}

footer .uk-subnav a:hover,
footer .uk-subnav .el-link:hover {
  color: #e8b046 !important;
  text-decoration: none !important;
}

/* SOCIAL */
footer .uk-icon-button {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(232,176,70,.52) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.025) !important;
  color: rgba(255,255,255,.82) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
  transition: all .22s ease !important;
}

footer .uk-icon-button:hover {
  background: rgba(232,176,70,.12) !important;
  color: #e8b046 !important;
  transform: translateY(-1px) !important;
}

/* DIVISORI VERTICALI SU DESKTOP */
@media (min-width: 960px) {
  footer .uk-width-1-2\@m .uk-panel {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 150px !important;
  }

  footer .uk-width-1-2\@m .uk-panel::before,
  footer .uk-width-1-2\@m .uk-panel::after {
    content: "" !important;
    position: absolute !important;
    top: 8px !important;
    bottom: 8px !important;
    width: 1px !important;
    background: linear-gradient(
      180deg,
      rgba(232,176,70,0),
      rgba(232,176,70,.55),
      rgba(232,176,70,0)
    ) !important;
  }

  footer .uk-width-1-2\@m .uk-panel::before {
    left: -28px !important;
  }

  footer .uk-width-1-2\@m .uk-panel::after {
    right: -28px !important;
  }

  footer .uk-width-1-4\@m:last-child .uk-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 150px !important;
  }
}

/* COPYRIGHT */
footer .uk-panel.uk-text-small.uk-text-center {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(232,176,70,.22) !important;
}

footer .uk-panel.uk-text-small.uk-text-center p {
  margin: 0 !important;
  color: rgba(255,255,255,.44) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  letter-spacing: .015em !important;
}

footer .uk-panel.uk-text-small.uk-text-center a {
  color: rgba(255,255,255,.58) !important;
  text-decoration: none !important;
}

footer .uk-panel.uk-text-small.uk-text-center a:hover {
  color: #e8b046 !important;
}

/* MOBILE / TABLET */
@media (max-width: 959px) {
  footer .uk-section-secondary {
    padding-top: 44px !important;
    padding-bottom: 30px !important;
  }

  footer .uk-grid > * {
    text-align: center !important;
  }

  footer .uk-width-1-4\@m:first-child .uk-panel,
  footer .uk-width-1-4\@m:last-child .uk-panel {
    align-items: center !important;
  }

  footer img[src*="aurum-inverso"],
  footer img.el-image[src*="aurum-inverso"] {
    width: 185px !important;
    max-width: 185px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer .uk-margin:has(img[src*="logo_carte"]) {
    width: 240px !important;
    max-width: 240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer .uk-subnav {
    justify-content: center !important;
    row-gap: 9px !important;
  }

  footer .uk-icon-button {
    width: 38px !important;
    height: 38px !important;
  }
}

/* MOBILE STRETTO */
@media (max-width: 480px) {
  footer .uk-section-secondary {
    padding-top: 38px !important;
  }

  footer .uk-subnav {
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
  }

  footer .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
    display: none !important;
  }

  footer .uk-margin:has(img[src*="logo_carte"]) {
    width: 226px !important;
    max-width: 226px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* =========================================================
   AURUM - Footer payment card final size
   ========================================================= */

footer img[src*="aurum-payment-card"] {
  width: 235px !important;
  max-width: 235px !important;
  height: auto !important;
  display: block !important;
  margin-top: 10px !important;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.24)) !important;
}

footer .uk-width-1-4\@m:first-child .uk-panel {
  gap: 18px !important;
}

@media (max-width: 959px) {
  footer img[src*="aurum-payment-card"] {
    width: 220px !important;
    max-width: 220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* =========================================================
   AURUM - Pagina Contatti Premium
   Scope: pagina contatti
   ========================================================= */

.aurum-contact-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 70px 20px 95px;
}

.aurum-contact-hero {
  max-width: 760px;
  margin: 0 auto 58px;
  text-align: center;
}

.aurum-contact-eyebrow {
  margin: 0 0 14px;
  color: #d9a642;
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.aurum-contact-hero h1 {
  margin: 0;
  color: #252525;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: .015em;
}

.aurum-contact-hero p {
  max-width: 640px;
  margin: 22px auto 0;
  color: #8a8a8a;
  font-size: 17px;
  line-height: 1.8;
}

.aurum-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 42px;
}

.aurum-contact-card {
  min-height: 300px;
  padding: 42px;
  border: 1px solid rgba(217,166,66,.22);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90)),
    #fff;
  box-shadow: 0 28px 70px rgba(0,0,0,.07);
  box-sizing: border-box;
}

.aurum-contact-whatsapp {
  background:
    radial-gradient(circle at 100% 0%, rgba(217,166,66,.12), rgba(217,166,66,0) 42%),
    linear-gradient(180deg, #ffffff, #fbfaf8);
}

.aurum-contact-icon {
  width: 54px;
  height: 54px;
  margin-bottom: 24px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f0bf5a, #d69a2b);
  color: #fff;
  font-size: 24px;
  box-shadow: 0 14px 30px rgba(214,154,43,.22);
}

.aurum-contact-label {
  margin: 0 0 12px;
  color: #d9a642;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.aurum-contact-card h2 {
  margin: 0 0 16px;
  color: #252525;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 400;
}

.aurum-contact-card p {
  color: #8a8a8a;
  font-size: 15px;
  line-height: 1.75;
}

.aurum-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  height: 44px;
  margin-top: 18px;
  padding: 0 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f0bf5a, #d69a2b);
  color: #fff !important;
  font-size: 14px;
  text-decoration: none !important;
  box-shadow: 0 14px 32px rgba(214,154,43,.24);
}

.aurum-contact-button:hover {
  color: #fff !important;
  transform: translateY(-1px);
}

.aurum-contact-row {
  padding: 16px 0;
  border-bottom: 1px solid rgba(0,0,0,.07);
}

.aurum-contact-row:first-of-type {
  padding-top: 0;
}

.aurum-contact-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.aurum-contact-row span {
  display: block;
  margin-bottom: 5px;
  color: #d9a642;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.aurum-contact-row a,
.aurum-contact-row p {
  margin: 0;
  color: #555 !important;
  font-size: 16px;
  line-height: 1.65;
  text-decoration: none !important;
}

.aurum-contact-row a:hover {
  color: #d9a642 !important;
}

.aurum-contact-map {
  margin-top: 46px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(217,166,66,.24);
  background: #fff;
  box-shadow: 0 30px 80px rgba(0,0,0,.09);
}

.aurum-contact-map iframe {
  display: block;
  width: 100%;
  height: 440px;
  filter: grayscale(8%) contrast(96%) brightness(103%);
}

/* Mobile */
@media (max-width: 768px) {
  .aurum-contact-page {
    padding: 48px 18px 70px;
  }

  .aurum-contact-hero {
    margin-bottom: 38px;
  }

  .aurum-contact-hero h1 {
    font-size: 36px;
  }

  .aurum-contact-hero p {
    font-size: 15px;
  }

  .aurum-contact-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .aurum-contact-card {
    padding: 30px 24px;
    border-radius: 18px;
  }

  .aurum-contact-card h2 {
    font-size: 28px;
  }

  .aurum-contact-map {
    margin-top: 30px;
    border-radius: 18px;
  }

  .aurum-contact-map iframe {
    height: 340px;
  }
}

/* =========================================================
   AURUM - Contatti micro finiture finali
   ========================================================= */

.aurum-contact-map {
  margin-top: 40px !important;
  margin-bottom: 34px !important;
}

.aurum-contact-map iframe {
  height: 380px !important;
}

@media (max-width: 768px) {
  .aurum-contact-map iframe {
    height: 320px !important;
  }

  .aurum-contact-map {
    margin-bottom: 26px !important;
  }
}

/* =========================================================
   AURUM - Pagina Chi Siamo Premium
   Scope: pagina chi siamo
   ========================================================= */

.aurum-about-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 72px 22px 100px;
}

.aurum-about-hero {
  max-width: 820px;
  margin: 0 auto 56px;
  text-align: center;
}

.aurum-about-eyebrow {
  margin: 0 0 12px;
  color: #d9a642;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.aurum-about-hero h1 {
  margin: 0;
  color: #252525;
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: .01em;
}

.aurum-about-hero p {
  max-width: 680px;
  margin: 24px auto 0;
  color: #858585;
  font-size: 17px;
  line-height: 1.85;
}

.aurum-about-cover {
  margin: 0 auto 76px;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(217,166,66,.24);
  box-shadow: 0 32px 90px rgba(0,0,0,.10);
}

.aurum-about-cover img {
  display: block;
  width: 100%;
  height: auto;
}

.aurum-about-intro {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 70px;
  align-items: start;
  max-width: 980px;
  margin: 0 auto 54px;
}

.aurum-about-intro h2 {
  margin: 0;
  color: #252525;
  font-size: clamp(34px, 3.4vw, 50px);
  line-height: 1.12;
  font-weight: 400;
}

.aurum-about-intro p {
  margin: 0;
  color: #777;
  font-size: 17px;
  line-height: 1.9;
}

.aurum-about-people {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 980px;
  margin: 0 auto 52px;
}

.aurum-person-card {
  border: 1px solid rgba(217,166,66,.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(217,166,66,.10), rgba(217,166,66,0) 38%),
    #fff;
  box-shadow: 0 28px 70px rgba(0,0,0,.07);
  overflow: hidden;
}

.aurum-person-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 4.5;
  object-fit: cover;
}

.aurum-person-card div {
  padding: 34px 34px 38px;
}

.aurum-person-card h3 {
  margin: 0 0 14px;
  color: #252525;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 400;
}

.aurum-person-card p:not(.aurum-about-eyebrow) {
  margin: 0;
  color: #7f7f7f;
  font-size: 15px;
  line-height: 1.8;
}

.aurum-about-story {
  max-width: 820px;
  margin: 0 auto;
  padding: 48px 56px;
  border: 1px solid rgba(217,166,66,.18);
  border-radius: 26px;
  background: linear-gradient(180deg, #fff, #fbfaf8);
  box-shadow: 0 26px 70px rgba(0,0,0,.06);
}

.aurum-about-story p {
  margin: 0 0 24px;
  color: #777;
  font-size: 16px;
  line-height: 1.95;
}

.aurum-about-story p:last-child {
  margin-bottom: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .aurum-about-page {
    padding: 48px 18px 72px;
  }

  .aurum-about-hero {
    margin-bottom: 38px;
  }

  .aurum-about-hero h1 {
    font-size: 38px;
  }

  .aurum-about-hero p {
    font-size: 15px;
  }

  .aurum-about-cover {
    margin-bottom: 46px;
    border-radius: 18px;
  }

  .aurum-about-intro {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 34px;
  }

  .aurum-about-intro h2 {
    font-size: 34px;
  }

  .aurum-about-intro p {
    font-size: 15px;
  }

  .aurum-about-people {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .aurum-person-card {
    border-radius: 18px;
  }

  .aurum-person-card div {
    padding: 28px 24px 32px;
  }

  .aurum-person-card h3 {
    font-size: 30px;
  }

  .aurum-about-story {
    padding: 32px 24px;
    border-radius: 18px;
  }

  .aurum-about-story p {
    font-size: 15px;
  }
}

/* =========================================================
   AURUM - Chi siamo micro finiture finali
   ========================================================= */

/* Riduce un po' il vuoto alto e rende la pagina più compatta */
.aurum-about-page {
  padding-top: 54px !important;
}

/* Hero più leggibile */
.aurum-about-hero {
  margin-bottom: 44px !important;
}

.aurum-about-hero h1 {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.aurum-about-hero p {
  max-width: 600px !important;
}

/* Immagine laboratorio leggermente più importante */
.aurum-about-cover {
  max-width: 860px !important;
  margin-bottom: 64px !important;
}

/* Card persone: testo più respirato */
.aurum-person-card div {
  min-height: 210px !important;
}

.aurum-person-card h3 {
  margin-bottom: 12px !important;
}

/* Box testo finale più elegante e meno largo */
.aurum-about-story {
  max-width: 760px !important;
  padding: 44px 52px !important;
}

/* Mobile */
@media (max-width: 768px) {
  .aurum-about-page {
    padding-top: 38px !important;
  }

  .aurum-about-cover {
    margin-bottom: 42px !important;
  }

  .aurum-about-story {
    padding: 30px 24px !important;
  }

  .aurum-person-card div {
    min-height: 0 !important;
  }
}

/* Chi siamo - testo finale più leggibile */
.aurum-about-story p {
  font-size: 15.5px !important;
  line-height: 1.95 !important;
}

/* =========================================================
   AURUM - Pagina Rivenditori FINAL CLEAN
   Scope: solo pagina Rivenditori
   YOOtheme:
   - classe sezione: rivenditori-page
   - classe griglia: demo
   Note:
   - sostituisce i vecchi blocchi rivenditori
   - non tocca checkout, login, shop, footer, contatti, chi siamo
   ========================================================= */

body.itemid-104 .rivenditori-page,
.rivenditori-page {
  --aurum-riv-gold: #d9a642;
  --aurum-riv-gold-dark: #b98a35;
  --aurum-riv-line: rgba(217,166,66,.22);
  --aurum-riv-line-strong: rgba(217,166,66,.34);
  --aurum-riv-text: #252525;
  --aurum-riv-muted: #8d8d8d;
  --aurum-riv-soft: #f9f9f9;
  --aurum-riv-card: #ffffff;
  --aurum-riv-shadow: 0 22px 58px rgba(0,0,0,.045);
  --aurum-riv-shadow-hover: 0 30px 76px rgba(0,0,0,.075);
}

/* Contenitore griglia: evita colonne troppo strette e mantiene respiro premium */
body.itemid-104 .rivenditori-page .demo,
.rivenditori-page .demo {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.itemid-104 .rivenditori-page .demo.uk-grid,
.rivenditori-page .demo.uk-grid {
  align-items: stretch !important;
  row-gap: 42px !important;
}

/* Tabs province */
body.itemid-104 .rivenditori-page .uk-tab,
.rivenditori-page .uk-tab {
  justify-content: center !important;
  margin: 0 auto 44px !important;
  gap: 10px 22px !important;
}

body.itemid-104 .rivenditori-page .uk-tab > * > a,
.rivenditori-page .uk-tab > * > a {
  min-height: 34px !important;
  padding: 0 0 8px !important;
  color: #9d9d9d !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid transparent !important;
  transition: color .22s ease, border-color .22s ease !important;
}

body.itemid-104 .rivenditori-page .uk-tab > .uk-active > a,
body.itemid-104 .rivenditori-page .uk-tab > * > a:hover,
.rivenditori-page .uk-tab > .uk-active > a,
.rivenditori-page .uk-tab > * > a:hover {
  color: var(--aurum-riv-gold) !important;
  border-color: var(--aurum-riv-gold) !important;
}

/* Card rivenditore */
body.itemid-104 .rivenditori-page .demo .uk-card,
body.itemid-104 .rivenditori-page .demo .uk-card-default,
.rivenditori-page .demo .uk-card,
.rivenditori-page .demo .uk-card-default {
  height: 100% !important;
  min-height: 438px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid var(--aurum-riv-line) !important;
  border-radius: 0 !important;
  background: var(--aurum-riv-card) !important;
  box-shadow: var(--aurum-riv-shadow) !important;
  overflow: hidden !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

body.itemid-104 .rivenditori-page .demo .uk-card:hover,
body.itemid-104 .rivenditori-page .demo .uk-card-default:hover,
.rivenditori-page .demo .uk-card:hover,
.rivenditori-page .demo .uk-card-default:hover {
  transform: translateY(-3px) !important;
  border-color: var(--aurum-riv-line-strong) !important;
  box-shadow: var(--aurum-riv-shadow-hover) !important;
}

/* Area logo: uniforme e pulita */
body.itemid-104 .rivenditori-page .demo .uk-card-media-top,
body.itemid-104 .rivenditori-page .demo .el-image,
.rivenditori-page .demo .uk-card-media-top,
.rivenditori-page .demo .el-image {
  background-color: var(--aurum-riv-soft) !important;
}

body.itemid-104 .rivenditori-page .demo .uk-card-media-top,
.rivenditori-page .demo .uk-card-media-top {
  min-height: 238px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Loghi: non taglia, non deforma, stessa percezione visiva */
body.itemid-104 .rivenditori-page .demo img,
.rivenditori-page .demo img {
  display: block !important;
  width: 100% !important;
  height: 238px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 34px !important;
  background-color: var(--aurum-riv-soft) !important;
  box-sizing: border-box !important;
}

/* Corpo card */
body.itemid-104 .rivenditori-page .demo .uk-card-body,
.rivenditori-page .demo .uk-card-body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 30px 24px 34px !important;
  text-align: center !important;
  background: #fff !important;
}

/* Titolo */
body.itemid-104 .rivenditori-page .demo .uk-card-title,
body.itemid-104 .rivenditori-page .demo .el-title,
.rivenditori-page .demo .uk-card-title,
.rivenditori-page .demo .el-title {
  margin: 0 0 10px !important;
  color: var(--aurum-riv-text) !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

/* Indirizzo / meta */
body.itemid-104 .rivenditori-page .demo .uk-card-body p,
body.itemid-104 .rivenditori-page .demo .el-content,
body.itemid-104 .rivenditori-page .demo .el-meta,
.rivenditori-page .demo .uk-card-body p,
.rivenditori-page .demo .el-content,
.rivenditori-page .demo .el-meta {
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  color: var(--aurum-riv-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
}

/* Evita che regole globali YOOtheme / demo restringano i contenuti */
body.itemid-104 .rivenditori-page .demo .el-content,
.rivenditori-page .demo .el-content {
  width: 100% !important;
}

/* Immagini vuote o loghi molto piccoli: mantengono comunque il box ordinato */
body.itemid-104 .rivenditori-page .demo picture,
.rivenditori-page .demo picture {
  display: block !important;
  width: 100% !important;
  background: var(--aurum-riv-soft) !important;
}

/* Tablet */
@media (max-width: 959px) {
  body.itemid-104 .rivenditori-page .demo.uk-grid,
  .rivenditori-page .demo.uk-grid {
    row-gap: 30px !important;
  }

  body.itemid-104 .rivenditori-page .demo .uk-card,
  body.itemid-104 .rivenditori-page .demo .uk-card-default,
  .rivenditori-page .demo .uk-card,
  .rivenditori-page .demo .uk-card-default {
    min-height: 400px !important;
  }

  body.itemid-104 .rivenditori-page .demo .uk-card-media-top,
  .rivenditori-page .demo .uk-card-media-top {
    min-height: 220px !important;
  }

  body.itemid-104 .rivenditori-page .demo img,
  .rivenditori-page .demo img {
    height: 220px !important;
    padding: 28px !important;
  }
}

/* Mobile */
@media (max-width: 640px) {
  body.itemid-104 .rivenditori-page .uk-tab,
  .rivenditori-page .uk-tab {
    margin-bottom: 30px !important;
    gap: 8px 14px !important;
  }

  body.itemid-104 .rivenditori-page .uk-tab > * > a,
  .rivenditori-page .uk-tab > * > a {
    font-size: 11px !important;
    letter-spacing: .10em !important;
  }

  body.itemid-104 .rivenditori-page .demo .uk-card,
  body.itemid-104 .rivenditori-page .demo .uk-card-default,
  .rivenditori-page .demo .uk-card,
  .rivenditori-page .demo .uk-card-default {
    min-height: 360px !important;
  }

  body.itemid-104 .rivenditori-page .demo .uk-card-media-top,
  .rivenditori-page .demo .uk-card-media-top {
    min-height: 196px !important;
  }

  body.itemid-104 .rivenditori-page .demo img,
  .rivenditori-page .demo img {
    height: 196px !important;
    padding: 24px !important;
  }

  body.itemid-104 .rivenditori-page .demo .uk-card-body,
  .rivenditori-page .demo .uk-card-body {
    padding: 24px 20px 28px !important;
  }

  body.itemid-104 .rivenditori-page .demo .uk-card-title,
  body.itemid-104 .rivenditori-page .demo .el-title,
  .rivenditori-page .demo .uk-card-title,
  .rivenditori-page .demo .el-title {
    font-size: 20px !important;
  }
}

/* =========================================================
   AURUM - Fine custom.css compilato
   ========================================================= */


/* =========================================================
   AURUM - Rivenditori gestione loghi mancanti
   Scope: pagina Rivenditori
   ========================================================= */

/* Card rivenditori */
body.itemid-104 .rivenditori-page .uk-card-default {
  min-height: 0 !important;
  border: 1px solid rgba(217,166,66,.14) !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.045) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
  overflow: hidden !important;
}

body.itemid-104 .rivenditori-page .uk-card-default:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(217,166,66,.30) !important;
  box-shadow: 0 26px 65px rgba(0,0,0,.07) !important;
}

/* Area logo */
body.itemid-104 .rivenditori-page .uk-card-media-top,
body.itemid-104 .rivenditori-page .el-image,
body.itemid-104 .rivenditori-page picture {
  background-color: #fafafa !important;
}

/* Loghi presenti */
body.itemid-104 .rivenditori-page .uk-card-default img {
  display: block !important;
  width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 30px !important;
  background-color: #fafafa !important;
  box-sizing: border-box !important;
}

/* Card senza logo: evita vuoti eccessivi */
body.itemid-104 .rivenditori-page .uk-card-default:not(:has(img)) .uk-card-body {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

/* Corpo card */
body.itemid-104 .rivenditori-page .uk-card-body {
  padding: 28px 24px 30px !important;
  text-align: center !important;
}

/* Titoli */
body.itemid-104 .rivenditori-page .uk-card-title,
body.itemid-104 .rivenditori-page .el-title {
  color: #262626 !important;
  font-size: 20px !important;
  line-height: 1.24 !important;
  font-weight: 400 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Testo */
body.itemid-104 .rivenditori-page .el-content,
body.itemid-104 .rivenditori-page .uk-card-body p {
  color: #8a8a8a !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* Filtri regioni */
body.itemid-104 .rivenditori-page .uk-tab {
  justify-content: center !important;
  margin-bottom: 38px !important;
}

body.itemid-104 .rivenditori-page .uk-tab > * > a {
  color: #999 !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid transparent !important;
}

body.itemid-104 .rivenditori-page .uk-tab > .uk-active > a,
body.itemid-104 .rivenditori-page .uk-tab > * > a:hover {
  color: #d9a642 !important;
  border-color: #d9a642 !important;
}

/* Mobile */
@media (max-width: 768px) {
  body.itemid-104 .rivenditori-page .uk-card-default img {
    height: 150px !important;
    padding: 24px !important;
  }

  body.itemid-104 .rivenditori-page .uk-card-title,
  body.itemid-104 .rivenditori-page .el-title {
    font-size: 18px !important;
  }

  body.itemid-104 .rivenditori-page .uk-card-body {
    padding: 24px 18px 26px !important;
  }
}

/* =========================================================
   AURUM - SHOP PREMIUM
   Scope: pagina Shop
   Classi YOOtheme:
   - shop-premium-intro
   - shop-premium-collections
   ========================================================= */

/* Intro shop */
.shop-premium-intro {
  padding-top: 86px !important;
  padding-bottom: 72px !important;
}

.shop-premium-intro h1 {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #282828 !important;
  font-size: clamp(42px, 4vw, 64px) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: .035em !important;
}

.shop-premium-intro p {
  max-width: 920px !important;
  margin: 26px auto 0 !important;
  color: #9a9a9a !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

/* Sezione collezioni */
.shop-premium-collections {
  padding-top: 92px !important;
  padding-bottom: 110px !important;
  background: #f5f5f5 !important;
}

/* Container più controllato */
.shop-premium-collections .uk-container {
  max-width: 1160px !important;
}

/* Colonne */
.shop-premium-collections .uk-width-1-2\@m {
  text-align: center !important;
}

/* Nasconde le immagini categoria VirtueMart piccole sopra */
.shop-premium-collections .item-column,
.shop-premium-collections .vmuikit-thumbnail {
  display: none !important;
}

/* Immagini principali */
.shop-premium-collections .uk-margin > a,
.shop-premium-collections .el-link {
  display: inline-block !important;
  position: relative !important;
}

.shop-premium-collections img.el-image {
  width: 100% !important;
  max-width: 520px !important;
  height: auto !important;
  border-radius: 999px !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.08) !important;
  transition: transform .35s ease, filter .35s ease, box-shadow .35s ease !important;
}

/* Hover luxury */
.shop-premium-collections a:hover img.el-image {
  transform: translateY(-4px) scale(1.018) !important;
  filter: contrast(1.05) saturate(1.04) !important;
  box-shadow: 0 38px 95px rgba(0,0,0,.12) !important;
}

/* Testi sotto le immagini */
.shop-premium-collections .uk-panel.uk-margin {
  max-width: 500px !important;
  margin: 28px auto 0 !important;
  text-align: left !important;
}

.shop-premium-collections .uk-panel.uk-margin p {
  color: #8b8b8b !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* Bilanciamento spazio prima del footer */
body.itemid-105 footer,
body.itemid-105 .uk-section-secondary {
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .shop-premium-intro {
    padding-top: 54px !important;
    padding-bottom: 48px !important;
  }

  .shop-premium-intro h1 {
    font-size: 34px !important;
    line-height: 1.14 !important;
    letter-spacing: .02em !important;
  }

  .shop-premium-intro p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .shop-premium-collections {
    padding-top: 58px !important;
    padding-bottom: 70px !important;
  }

  .shop-premium-collections .uk-width-1-2\@m + .uk-width-1-2\@m {
    margin-top: 48px !important;
  }

  .shop-premium-collections img.el-image {
    max-width: 340px !important;
  }

  .shop-premium-collections .uk-panel.uk-margin {
    text-align: center !important;
    max-width: 330px !important;
    margin-top: 22px !important;
  }

  .shop-premium-collections .uk-panel.uk-margin p {
    font-size: 14px !important;
  }
}

/* =========================================================
   AURUM - Shop finitura minima
   ========================================================= */

.shop-premium-intro {
  padding-top: 78px !important;
  padding-bottom: 64px !important;
}

.shop-premium-intro h1 {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.08 !important;
  letter-spacing: .03em !important;
}

.shop-premium-intro p {
  max-width: 920px !important;
  margin: 24px auto 0 !important;
  color: #999 !important;
  line-height: 1.7 !important;
}

.shop-premium-collections {
  padding-top: 84px !important;
  padding-bottom: 96px !important;
}

.shop-premium-collections .item-column,
.shop-premium-collections .vmuikit-thumbnail {
  display: none !important;
}

.shop-premium-collections img.el-image {
  transition: transform .3s ease, filter .3s ease;
}

.shop-premium-collections a:hover img.el-image {
  transform: translateY(-3px) scale(1.01);
  filter: contrast(1.04) saturate(1.03);
}

.shop-premium-collections .uk-panel.uk-margin p {
  color: #8f8f8f !important;
  line-height: 1.7 !important;
}

/* Footer legal links */
.aurum-footer-legal-links {
  margin-top: 18px;
  text-align: center;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.45);
}

.aurum-footer-legal-links a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color .25s ease;
}

.aurum-footer-legal-links a:hover {
  color: #d9a441;
}

.aurum-footer-legal-links span {
  margin: 0 10px;
  color: rgba(217, 164, 65, 0.45);
}

@media (max-width: 640px) {
  .aurum-footer-legal-links {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }

  .aurum-footer-legal-links span {
    margin: 0 6px;
  }
}

/* === AURUM - Pagine legali premium === */

.aurum-legal-builder {
  background: #fff;
}

.aurum-legal-builder .uk-container {
  max-width: 860px;
}

.aurum-legal-builder .uk-width-1-1 > div {
  max-width: 820px;
  margin: 0 auto;
}

.aurum-legal-builder h1 {
  max-width: 100%;
  margin: 0 0 18px;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.02em;
  text-align: center;
}

.aurum-legal-builder h2 {
  margin-top: 44px;
  margin-bottom: 14px;
  font-size: clamp(21px, 1.7vw, 27px);
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.aurum-legal-builder p,
.aurum-legal-builder li {
  font-size: 17px;
  line-height: 1.85;
  color: #444;
}

.aurum-legal-builder ul,
.aurum-legal-builder ol {
  margin-top: 12px;
  margin-bottom: 24px;
}

.aurum-legal-builder a {
  color: #c58a2b;
  text-decoration: none;
  border-bottom: 1px solid rgba(197, 138, 43, 0.35);
}

.aurum-legal-builder a:hover {
  color: #9f6d1f;
  border-bottom-color: #9f6d1f;
}

@media (min-width: 960px) {
  .aurum-legal-builder {
    padding-top: 90px;
    padding-bottom: 100px;
  }
}

@media (max-width: 767px) {
  .aurum-legal-builder {
    padding-top: 50px;
    padding-bottom: 60px;
  }

  .aurum-legal-builder h1 {
    font-size: 30px;
  }

  .aurum-legal-builder p,
  .aurum-legal-builder li {
    font-size: 16px;
    line-height: 1.75;
  }
}
/* =========================================================
   AURUM — Image Zoom Lens (desktop only)
   Richiede: /templates/yootheme_aurum/js/aurum-zoom.js
   ========================================================= */

#aurum-zoom-lens {
  display: none;
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 2px solid rgba(239,189,88,.7);
  background: rgba(239,189,88,.06);
  pointer-events: none;
  z-index: 9999;
  box-shadow: 0 0 0 1px rgba(255,255,255,.4), 0 4px 16px rgba(0,0,0,.18);
}

#aurum-zoom-result {
  display: none;
  position: absolute;
  width: 340px;
  min-height: 200px;
  background-repeat: no-repeat;
  background-color: #f8f6f3;
  border-radius: 12px;
  border: 1px solid rgba(239,189,88,.25);
  box-shadow: 0 8px 40px rgba(0,0,0,.14);
  z-index: 9998;
  overflow: hidden;
}

.productdetails-view #image-to-zoom {
  cursor: crosshair;
}

@media (max-width: 767px) {
  #aurum-zoom-lens,
  #aurum-zoom-result {
    display: none !important;
  }
  .productdetails-view #image-to-zoom {
    cursor: default;
  }
}
