/*
Theme Name: LeadEngine Child
Theme URI: https://megapos.it
Description: Child theme LeadEngine — stili Megapos (home, shop, carrello, scheda prodotto).
Author: Megapos Software
Template: leadengine
Version: 1.2.25
Text Domain: leadengine
*/

/* =============================================================================
   INDICE
   1. Font / home base
   2. Hero
   3. Sezioni home (split, grid, download, CTA...)
   4. Modal richiesta informazioni
   5. WooCommerce carrello
   6. WooCommerce shop (/soluzioni/)
   7. Quantita loop + scheda prodotto + correlati
   8. Carrello mobile
   9. Responsive home
  10. Footer + go-to-top
  11. Mini-carrello LeadEngine
  12. WooCommerce checkout (multi-step + sticky + popup Accedi)
  13. WooCommerce ordine confermato (thank you)
   ============================================================================= */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");


/* =========================================================
   MEGAPOS HOME
   ========================================================= */

.home .entry-header,
.home .entry-title,
.home .page-title,
.home .blog-page-title,
.home .titlebar,
.home .kd-titlebar,
.home .page-header {
  display: none !important;
}

/* Stretch WPBakery: togli gutter 15px delle colonne (altrimenti bande bianche ai lati) */
.home .vc_row .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.megapos-home {
  --mp-green: #32cd32;
  --mp-green-dark: #1fa828;
  --mp-blue: #1565ff;
  --mp-ink: #14213d;
  --mp-muted: #5f6d86;
  --mp-soft: #f5f8ff;
  --mp-line: #dfe7f4;
  --mp-radius: 18px;
  --mp-shadow: 0 18px 40px rgba(20, 33, 61, 0.08);

  width: 100%;
  max-width: none;
  margin: 0;

  font: 16px/1.6 Inter, Segoe UI, Arial, sans-serif;
  color: var(--mp-ink);
  text-align: left;

  background: #fff;
}

#scarica,
#come-funziona,
#funzioni,
#moduli,
#piani,
#contatti {
  scroll-margin-top: 110px;
}

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

.megapos-home img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

.megapos-home a {
  text-decoration: none;
  color: inherit;
}

.megapos-home .wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.megapos-home h1,
.megapos-home h2,
.megapos-home h3,
.megapos-home p,
.megapos-home li,
.megapos-home figcaption {
  font-family: Inter, Segoe UI, Arial, sans-serif;
  text-transform: none;
}

.megapos-home ul {
  list-style: disc outside;
  margin: 0;
  padding-left: 1.25rem;
}

.megapos-home section {
  display: block;
  width: 100%;
  padding: 88px 0;
  margin: 0;
}

.megapos-home article,
.megapos-home figure {
  margin: 0;
  padding: 0;
}

.megapos-home .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 46px;
  padding: 0 22px;

  border-radius: 12px;

  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;

  border: 1px solid transparent;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;

  transition:
    transform 0.2s,
    box-shadow 0.2s;
}

.megapos-home .btn:hover {
  transform: translateY(-2px);
}

.megapos-home .btn-green {
  background: var(--mp-green);
  color: #fff;
  border-color: var(--mp-green);
}


/* =========================================================
   HERO
   ========================================================= */

.megapos-home .hero {
  background:
    radial-gradient(
      circle at 88% 8%,
      rgba(50, 205, 50, 0.14),
      transparent 24%
    ),
    radial-gradient(
      circle at 10% 20%,
      rgba(21, 101, 255, 0.12),
      transparent 28%
    ),
    linear-gradient(180deg, #f8fbff 0%, #fff 100%);

  padding: 56px 0 72px;
}

.megapos-home .hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
}

.megapos-home .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 7px 12px;
  border-radius: 999px;

  background: #e8f7ea;
  color: #0a8e35;

  font-size: 13px;
  font-weight: 800;
}

.megapos-home .eyebrow i {
  width: 8px;
  height: 8px;

  border-radius: 50%;
  background: var(--mp-green);

  display: inline-block;
}

.megapos-home h1 {
  margin: 16px 0 18px;

  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -1.5px;

  color: var(--mp-ink);
}

.megapos-home .hero-lead {
  font-size: 19px;
  color: var(--mp-muted);
  max-width: 560px;
  margin: 0 0 26px;
}

.megapos-home .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.megapos-home .hero-note {
  font-size: 14px;
  color: #74809a;
  max-width: 560px;
  margin: 0;
}

.megapos-home .hero-shot {
  background: #fff;
  border: 1px solid var(--mp-line);
  border-radius: 22px;
  padding: 12px;
  box-shadow: var(--mp-shadow);
}

.megapos-home .hero-shot figcaption {
  padding: 10px 6px 2px;
  font-size: 13px;
  color: var(--mp-muted);
  text-align: center;
}


/* =========================================================
   DOWNLOAD
   ========================================================= */

.megapos-home .download,
.megapos-home #scarica {
  scroll-margin-top: 110px;

  background:
    linear-gradient(
      110deg,
      #0b3a91,
      var(--mp-blue) 58%,
      var(--mp-green-dark)
    );

  color: #fff;
}

.megapos-home .download-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
}

.megapos-home .download-head h2 {
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 700;
  letter-spacing: -0.5px;

  margin: 0 0 10px;
  color: #fff;
}

.megapos-home .download-head p {
  margin: 0;

  font-size: 18px;
  line-height: 1.55;

  color: rgba(255, 255, 255, 0.92);
}

.megapos-home .download-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.megapos-home .download-card {
  display: flex !important;
  flex-direction: column !important;

  background: #fff !important;
  color: var(--mp-ink) !important;

  border-radius: var(--mp-radius) !important;

  padding: 26px !important;
  min-height: 100% !important;

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;

  overflow: hidden !important;
}

.megapos-home .download-card-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;

  gap: 16px !important;
  margin: 0 0 16px !important;

  width: 100% !important;
}

.megapos-home .download-card-head img,
.megapos-home .download-card-head img.mp-logo {
  flex: 0 0 88px !important;

  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;

  height: 88px !important;
  max-height: 88px !important;

  object-fit: contain !important;
  display: block !important;
}

.megapos-home .download-card-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  align-self: center !important;
  justify-content: center !important;

  flex: 1 1 auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.megapos-home .download-card-title h3 {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;

  color: var(--mp-ink) !important;

  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
}

.megapos-home .download-card-title .ver,
.megapos-home .download-card .ver,
.megapos-home .download-card-title h3 + .ver {
  display: block !important;

  margin: 4px 0 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;

  width: 100% !important;
  max-width: 100% !important;

  text-align: left !important;
  text-indent: 0 !important;

  font-size: 14px !important;
  line-height: 1.35 !important;
  color: var(--mp-muted) !important;
}

.megapos-home .download-card-text {
  flex: 1 1 auto !important;

  margin: 0 0 20px !important;

  font-size: 15px !important;
  line-height: 1.55 !important;

  color: var(--mp-muted) !important;
}

.megapos-home .download-card .btn-download {
  display: flex !important;

  width: 100% !important;
  max-width: 100% !important;

  margin-top: auto !important;

  color: #fff !important;
  white-space: nowrap !important;

  box-sizing: border-box !important;
}

.megapos-home .download-card.server .btn-download {
  background: var(--mp-green);
  border-color: var(--mp-green);
}

.megapos-home .download-card.client .btn-download {
  background: var(--mp-blue);
  border-color: var(--mp-blue);
}

@media (max-width: 900px) {
  .megapos-home .download-card-head img,
  .megapos-home .download-card-head img.mp-logo {
    flex: 0 0 72px !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    max-height: 72px !important;
  }
}


/* =========================================================
   GENERIC SECTIONS
   ========================================================= */

.megapos-home .soft {
  background: var(--mp-soft);
}

.megapos-home .section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 44px;
}

.megapos-home .section-head h2 {
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 700;
  letter-spacing: -0.5px;

  margin: 0 0 10px;
  color: var(--mp-ink);
}

.megapos-home .section-head p {
  margin: 0;
  font-size: 17px;
  color: var(--mp-muted);
}

.megapos-home .split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  align-items: center;
}

.megapos-home .split-gap {
  margin-bottom: 48px;
}

.megapos-home .shot-card {
  background: #fff;

  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius);

  overflow: hidden;
  box-shadow: var(--mp-shadow);
}

.megapos-home .shot-card img {
  width: 100%;
}

.megapos-home .shot-card figcaption {
  padding: 14px 18px;

  font-size: 14px;
  color: var(--mp-muted);

  border-top: 1px solid var(--mp-line);

  background: #fbfdff;
}

.megapos-home .copy h3 {
  font-size: 26px;
  font-weight: 700;

  margin: 0 0 12px;
  color: var(--mp-ink);
}

.megapos-home .copy p {
  color: var(--mp-muted);

  margin: 0 0 14px;

  font-size: 16px;
  line-height: 1.6;
}

.megapos-home .copy li {
  margin: 8px 0;
  color: #33435f;
}

.megapos-home .grid3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.megapos-home .card {
  background: #fff;

  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius);

  padding: 26px;

  box-shadow: 0 8px 20px rgba(21, 33, 61, 0.04);

  height: 100%;
}

.megapos-home .card .icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 46px;
  height: 46px;

  border-radius: 12px;

  background: #e7f0ff;
  color: var(--mp-blue);

  font-size: 18px;
  font-weight: 800;

  margin: 0 0 14px;
}

.megapos-home .card h3 {
  margin: 0 0 8px;

  font-size: 19px;
  font-weight: 700;

  color: var(--mp-ink);
}

.megapos-home .card p {
  margin: 0;

  font-size: 15px;
  line-height: 1.55;

  color: var(--mp-muted);
}

.megapos-home .trial {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  box-sizing: border-box;

  background: linear-gradient(135deg, #ecfdf3 0%, #f0f7ff 55%, #ffffff 100%);
  border: 1px solid #bceec9;
  border-radius: var(--mp-radius);

  padding: 28px 32px 48px;
  box-shadow: 0 14px 34px rgba(22, 101, 52, 0.08);
}

/* Senza .wrap (Raw HTML WPBakery) centra come le altre sezioni */
.megapos-home section > .trial,
.megapos-home > .trial {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.megapos-home .trial > div,
.megapos-home .trial-copy {
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
}

.megapos-home .trial h3 {
  margin: 0 0 6px;
  font-size: clamp(24px, 3vw, 30px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #166534;
}

/* NON mettere margin:0 su tutti i p */
.megapos-home .trial p.trial-lead {
  margin: 0 0 28px;
  max-width: none;
  color: #1f4d3a;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 500;
  white-space: nowrap;
}

.megapos-home .trial p.trial-note {
  margin: 0;
  padding: 14px 16px;
  border-left: 4px solid #86efac;
  border-radius: 0 10px 10px 0;
  background: rgba(255, 255, 255, 0.55);
  color: #476556;
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .megapos-home .trial p.trial-lead {
    white-space: normal;
  }
}

.megapos-home .trial-steps {
  margin: 0 0 20px;
  padding: 18px 20px 22px 42px;
  list-style: none;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #d7eadc;
  border-radius: 14px;
}

.megapos-home .trial-steps li {
  position: relative;
  margin: 0 0 12px;
  color: #35584a;
  font-size: 16px;
  line-height: 1.6;
}

.megapos-home .trial-steps li:last-child {
  margin-bottom: 0;
}

.megapos-home .trial-steps li::before {
  content: "✓";
  position: absolute;
  left: -26px;
  top: 0;
  color: #16a34a;
  font-weight: 800;
}

.megapos-home .trial-steps a {
  color: #166534;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(22, 101, 52, 0.35);
  text-underline-offset: 3px;
}

.megapos-home .trial-steps a:hover {
  color: #0f5132;
  text-decoration-color: #16a34a;
}

@media (max-width: 700px) {
  .megapos-home .trial {
    padding: 24px 20px 36px;
  }

  .megapos-home .trial h3 {
    margin-bottom: 8px;
  }

  .megapos-home .trial p.trial-lead {
    margin-bottom: 24px;
    font-size: 16px;
  }

  .megapos-home .trial-steps {
    padding: 16px 16px 20px 38px;
  }
}

.megapos-home .steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  counter-reset: mp-step;
}
.megapos-home .step {
  background: #fff;

  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius);

  padding: 22px 18px;

  counter-increment: mp-step;
}

.megapos-home .step::before {
  content: counter(mp-step);

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

  width: 32px;
  height: 32px;

  border-radius: 50%;

  background: var(--mp-blue);
  color: #fff;

  font-weight: 800;

  margin-bottom: 12px;
}

.megapos-home .step h3 {
  margin: 0 0 8px;

  font-size: 17px;
  font-weight: 700;
}

.megapos-home .step p {
  margin: 0;

  font-size: 14px;
  color: var(--mp-muted);
  line-height: 1.5;
}

.megapos-home .plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.megapos-home .plan {
  position: relative;

  background: #fff;

  border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius);

  padding: 28px;

  height: 100%;
}

.megapos-home .plan.hot {
  border: 2px solid var(--mp-blue);

  box-shadow: 0 18px 36px rgba(21, 101, 255, 0.12);
}

.megapos-home .badge {
  position: absolute;

  top: 18px;
  right: 18px;

  background: var(--mp-blue);
  color: #fff;

  font-size: 11px;
  font-weight: 800;

  padding: 4px 10px;

  border-radius: 999px;
}

.megapos-home .plan h3 {
  margin: 0 0 6px;

  font-size: 24px;
  font-weight: 700;
}

.megapos-home .plan .sub {
  min-height: 48px;

  margin: 0 0 12px;

  color: var(--mp-muted);
  font-size: 15px;
}

.megapos-home .plan li {
  margin: 8px 0;
  color: #33435f;
}

.megapos-home .plans-cta {
  display: flex;
  justify-content: center;

  margin-top: 32px;
}

.megapos-home .cta {
  background:
    linear-gradient(
      110deg,
      #0b3a91,
      var(--mp-blue) 62%,
      var(--mp-green-dark)
    );

  color: #fff;

  padding: 64px 0;
}

.megapos-home .cta .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 28px;
}

.megapos-home .cta h2 {
  margin: 0 0 8px;

  font-size: 34px;
  font-weight: 700;

  color: #fff;
}

.megapos-home .cta p {
  margin: 0;

  color: rgba(255, 255, 255, 0.88);

  font-size: 16px;
}

.megapos-home .cta .btn {
  background: #fff;
  color: var(--mp-blue);
  border-color: #fff;

  flex: 0 0 auto;
  cursor: pointer;
}

.megapos-home .cta .mp-cta-sent {
  display: none;
}

body.mp-contatto-ok #contatti.cta .mp-cta-ask,
body.mp-contatto-ok #mp-open-contact {
  display: none !important;
}

body.mp-contatto-ok #contatti.cta .mp-cta-sent,
#contatti.cta.is-sent .mp-cta-sent {
  display: block !important;
}

body.mp-contatto-ok #contatti.cta.is-sent .mp-cta-ask,
#contatti.cta.is-sent .mp-cta-ask,
#contatti.cta.is-sent #mp-open-contact {
  display: none !important;
}

body.mp-contatto-ok #contatti.cta h2,
#contatti.cta.is-sent h2 {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.mp-contatto-ok #contatti.cta h2::before,
#contatti.cta.is-sent h2::before {
  content: "";
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231565ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

.mp-contact-ok-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 100001;
  transform: translateX(-50%);
  width: min(520px, calc(100% - 32px));
  padding: 16px 18px;
  border-radius: 14px;
  background: #fff;
  color: #14213d;
  box-shadow: 0 18px 40px rgba(20, 33, 61, 0.18);
  font: 15px/1.45 Inter, "Segoe UI", Arial, sans-serif;
}

.mp-contact-ok-toast strong {
  display: block;
  margin-bottom: 4px;
  color: #1565ff;
  font-size: 16px;
}


/* =========================================================
   MODAL RICHIESTA INFORMAZIONI
   ========================================================= */

body.mp-contact-open {
  overflow: hidden;
}

.mp-contact-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.mp-contact-modal[hidden] {
  display: none !important;
}

.mp-contact-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 33, 61, 0.55);
  backdrop-filter: blur(2px);
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.mp-contact-dialog {
  position: relative;
  z-index: 1;
  width: min(640px, 100%);
  max-height: min(92vh, 900px);
  overflow: auto;
  background: #fff;
  color: var(--mp-ink, #14213d);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(20, 33, 61, 0.28);
  padding: 28px 28px 24px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.mp-contact-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #f5f8ff;
  color: #5f6d86;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.mp-contact-close:hover {
  color: #14213d;
  background: #e7f0ff;
}

.mp-contact-dialog h3 {
  margin: 0 36px 8px 0;
  font-size: 22px;
  font-weight: 700;
  color: #14213d;
}

.mp-contact-lead {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #5f6d86;
}

.mp-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.mp-contact-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #33435f;
}

.mp-contact-span2 {
  grid-column: 1 / -1;
}

.mp-contact-grid input,
.mp-contact-grid select,
.mp-contact-grid textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #dfe7f4;
  border-radius: 10px;
  background: #fff;
  color: #14213d;
  font: 15px/1.4 Inter, "Segoe UI", Arial, sans-serif;
}

.mp-contact-grid textarea {
  min-height: 110px;
  resize: vertical;
}

.mp-contact-grid input:focus,
.mp-contact-grid select:focus,
.mp-contact-grid textarea:focus {
  outline: none;
  border-color: #1565ff;
  box-shadow: 0 0 0 3px rgba(21, 101, 255, 0.15);
}

.mp-contact-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.mp-contact-privacy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 16px 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #5f6d86;
  font-weight: 500;
}

.mp-contact-privacy input {
  margin-top: 3px;
  flex: 0 0 auto;
}

.mp-contact-privacy a {
  color: #1565ff;
  text-decoration: underline;
}

.mp-contact-status {
  min-height: 1.2em;
  margin: 0 0 12px;
  font-size: 14px;
  color: #5f6d86;
}

.mp-contact-status.is-ok {
  color: #0a8e35;
  font-weight: 600;
}

.mp-contact-status.is-error {
  color: #c62828;
  font-weight: 600;
}

.mp-contact-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.mp-contact-cancel,
.mp-contact-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  text-decoration: none !important;
  box-sizing: border-box;
}

.mp-contact-cancel {
  background: #fff;
  border-color: #dfe7f4;
  color: #5f6d86;
}

.mp-contact-submit {
  background: #1565ff;
  border-color: #1565ff;
  color: #fff;
  box-shadow: 0 10px 24px rgba(21, 101, 255, 0.22);
}

.mp-contact-submit:hover {
  background: #0b4fd6;
}

.mp-contact-submit:disabled {
  opacity: 0.65;
  cursor: wait;
}


/* =========================================================
   WOOCOMMERCE CART CLASSICO
   ========================================================= */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received,
body.woocommerce-shop,
body.post-type-archive-product,
body.woocommerce-page.woocommerce-shop {
  --mp-green: #32cd32;
  --mp-green-dark: #1fa828;
  --mp-blue: #1565ff;
  --mp-ink: #14213d;
  --mp-muted: #5f6d86;
  --mp-soft: #f5f8ff;
  --mp-line: #dfe7f4;
  --mp-radius: 18px;
  --mp-shadow: 0 18px 40px rgba(20, 33, 61, 0.08);

  background:
    radial-gradient(
      circle at 88% 8%,
      rgba(50, 205, 50, 0.10),
      transparent 24%
    ),
    radial-gradient(
      circle at 10% 20%,
      rgba(21, 101, 255, 0.09),
      transparent 28%
    ),
    linear-gradient(180deg, #f8fbff 0%, #f5f8ff 100%) !important;

  color: var(--mp-ink);

  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

/*
  Scheda prodotto WooCommerce (LeadEngine).
  - Larghezza ampia (usa lo schermo, padding laterale).
  - Flex: immagine + summary; tab a tutta la colonna.
  - Footer fisso: spazio sotto come nel carrello (niente overlap).
  - NON alterare stili dei pulsanti add-to-cart / qty / pay (solo larghezza colonna).
*/
body.single-product,
body.woocommerce-page.single-product {
  --mp-green: #32cd32;
  --mp-green-dark: #1fa828;
  --mp-blue: #1565ff;
  --mp-ink: #14213d;
  --mp-muted: #5f6d86;
  --mp-soft: #f5f8ff;
  --mp-line: #dfe7f4;
  --mp-radius: 18px;
  --mp-shadow: 0 18px 40px rgba(20, 33, 61, 0.08);
  --mp-product-max: 1600px;

  background:
    radial-gradient(
      circle at 88% 8%,
      rgba(50, 205, 50, 0.10),
      transparent 24%
    ),
    radial-gradient(
      circle at 10% 20%,
      rgba(21, 101, 255, 0.09),
      transparent 28%
    ),
    linear-gradient(180deg, #f8fbff 0%, #f5f8ff 100%) !important;

  color: var(--mp-ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  height: auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html:has(body.single-product),
html:has(body.woocommerce-page.single-product) {
  height: auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
}

body.single-product .site-content,
body.single-product #wrapper,
body.single-product #page-content,
body.woocommerce-page.single-product .site-content,
body.woocommerce-page.single-product #wrapper,
body.woocommerce-page.single-product #page-content {
  background: transparent !important;
}

/* Wrapper: header fisso sopra + spazio sotto per footer fisso (~76px) */
body.single-product #wrapper,
body.single-product #wrapper.hide-title-section,
body.woocommerce-page.single-product #wrapper,
body.woocommerce-page.single-product #wrapper.hide-title-section {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-top: 120px !important;
  padding-bottom: 32px !important;
  margin-bottom: 90px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.single-product #footer,
body.single-product #footer.fixed,
body.single-product footer,
body.woocommerce-page.single-product #footer,
body.woocommerce-page.single-product #footer.fixed,
body.woocommerce-page.single-product footer {
  position: fixed !important;
  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  z-index: 101 !important;
}

body.single-product #footer .lower-footer,
body.single-product .lower-footer,
body.woocommerce-page.single-product #footer .lower-footer,
body.woocommerce-page.single-product .lower-footer {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 25px 0 !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce,
body.woocommerce-page.single-product .woocommerce {
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  color: var(--mp-ink) !important;
}

/*
  Contenuto scheda: largo (1600px), non colonnina.
  Specificità alta vs #wrapper > .container { max-width:none }.
*/
body.single-product #wrapper > #product-content,
body.single-product #wrapper > #product-content.container,
body.woocommerce-page.single-product #wrapper > #product-content,
body.woocommerce-page.single-product #wrapper > #product-content.container,
body.single-product #wrapper > #product-content.container.woo-image-left,
body.woocommerce-page.single-product #wrapper > #product-content.container.woo-image-left {
  max-width: min(var(--mp-product-max), 100%) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-bottom: 24px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.single-product #wrapper > #product-content > [class*="col-"],
body.woocommerce-page.single-product #wrapper > #product-content > [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.single-product #wrapper > #product-content .related.products,
body.single-product #wrapper > #product-content .upsells.products,
body.woocommerce-page.single-product #wrapper > #product-content .related.products,
body.woocommerce-page.single-product #wrapper > #product-content .upsells.products {
  max-width: 100% !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 28px 0 40px !important;
  padding-bottom: 8px !important;
}

/* Titolo «Soluzioni» ridondante */
body.single-product header.entry-header.shop-header,
body.single-product header.entry-header.blog-header.shop-header,
body.woocommerce-page.single-product header.entry-header.shop-header,
body.woocommerce-page.single-product header.entry-header.blog-header.shop-header {
  display: none !important;
}

/* Layout: flex stretch → card stessa altezza dell’immagine; usa lo spazio orizzontale */
body.single-product div.product,
body.woocommerce-page.single-product div.product {
  position: relative !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 28px 36px !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  overflow: visible !important;
}

body.single-product div.product > .woocommerce-product-gallery,
body.single-product div.product > div.images,
body.woocommerce-page.single-product div.product > .woocommerce-product-gallery,
body.woocommerce-page.single-product div.product > div.images {
  float: none !important;
  flex: 0 0 420px !important;
  width: 420px !important;
  max-width: min(420px, 100%) !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.single-product div.product > .summary,
body.woocommerce-page.single-product div.product > .summary {
  float: none !important;
  flex: 1 1 360px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 26px 30px 24px !important;
  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
  box-sizing: border-box !important;
}

body.single-product div.product > .woocommerce-tabs,
body.single-product div.product > .related.products,
body.single-product div.product > .upsells.products,
body.single-product div.product > section.related,
body.single-product div.product > section.upsells,
body.woocommerce-page.single-product div.product > .woocommerce-tabs,
body.woocommerce-page.single-product div.product > .related.products,
body.woocommerce-page.single-product div.product > .upsells.products,
body.woocommerce-page.single-product div.product > section.related,
body.woocommerce-page.single-product div.product > section.upsells {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  align-self: stretch !important;
}

body.single-product div.product .woocommerce-product-gallery__image img,
body.single-product div.product div.images img,
body.woocommerce-page.single-product div.product .woocommerce-product-gallery__image img,
body.woocommerce-page.single-product div.product div.images img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 14px !important;
  border: 1px solid var(--mp-line) !important;
  box-shadow: var(--mp-shadow) !important;
}

body.single-product div.product .product_title,
body.single-product div.product h1.product_title,
body.woocommerce-page.single-product div.product .product_title {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.25 !important;
  color: var(--mp-ink) !important;
  margin: 0 0 10px !important;
  text-transform: none !important;
  text-align: center !important;
  width: 100% !important;
}

body.single-product div.product p.price,
body.single-product div.product .summary > .price,
body.woocommerce-page.single-product div.product p.price,
body.woocommerce-page.single-product div.product .summary > .price {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(24px, 2.2vw, 30px) !important;
  font-weight: 700 !important;
  color: var(--mp-blue) !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.3px !important;
  text-align: center !important;
  width: 100% !important;
}

body.single-product div.product p.price del,
body.single-product div.product .summary > .price del,
body.woocommerce-page.single-product div.product p.price del {
  color: var(--mp-muted) !important;
  font-weight: 500 !important;
  font-size: 0.72em !important;
  margin-right: 8px !important;
}

body.single-product div.product p.price ins,
body.single-product div.product .summary > .price ins,
body.woocommerce-page.single-product div.product p.price ins {
  text-decoration: none !important;
  color: var(--mp-blue) !important;
}

body.single-product .woocommerce-product-details__short-description,
body.woocommerce-page.single-product .woocommerce-product-details__short-description {
  color: var(--mp-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 auto 16px !important;
  max-width: 52ch !important;
  text-align: center !important;
}

body.single-product .woocommerce-product-details__short-description p,
body.woocommerce-page.single-product .woocommerce-product-details__short-description p {
  margin: 0 0 0.55em !important;
  color: inherit !important;
  text-align: center !important;
}

body.single-product .woocommerce-product-details__short-description p:last-child,
body.woocommerce-page.single-product .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0 !important;
}

body.single-product div.product form.cart,
body.woocommerce-page.single-product div.product form.cart {
  margin: auto auto 14px !important;
  max-width: 560px !important;
  width: 100% !important;
}

/* Wallet / express pay: stessa colonna del form, centrata */
body.single-product div.product .summary .wcpay-express-checkout-wrapper,
body.single-product div.product .summary #wcpay-express-checkout-element,
body.single-product div.product .summary .express-checkout,
body.woocommerce-page.single-product div.product .summary .wcpay-express-checkout-wrapper {
  max-width: 560px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product div.product .product_meta,
body.woocommerce-page.single-product div.product .product_meta {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid var(--mp-line) !important;
  font-size: 13px !important;
  color: var(--mp-muted) !important;
  line-height: 1.55 !important;
  max-width: none !important;
  text-align: center !important;
}

body.single-product div.product .product_meta > span,
body.woocommerce-page.single-product div.product .product_meta > span {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 14px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.single-product div.product .product_meta a,
body.woocommerce-page.single-product div.product .product_meta a {
  color: var(--mp-blue) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

body.single-product div.product .product_meta a:hover,
body.woocommerce-page.single-product div.product .product_meta a:hover {
  text-decoration: underline !important;
}

body.single-product .woocommerce-tabs,
body.woocommerce-page.single-product .woocommerce-tabs {
  clear: both !important;
  margin: 8px 0 28px !important;
  padding: 20px 28px 24px !important;
  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.single-product .woocommerce-tabs ul.tabs,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  gap: 4px 28px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mp-line) !important;
  list-style: none !important;
  text-align: left !important;
  width: 100% !important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs::before,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs::after {
  display: none !important;
  content: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  padding: 8px 2px 12px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: var(--mp-muted) !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li.active a,
body.woocommerce-page.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--mp-blue) !important;
  border-bottom-color: var(--mp-blue) !important;
}

body.single-product .woocommerce-Tabs-panel,
body.woocommerce-page.single-product .woocommerce-Tabs-panel {
  margin: 0 !important;
  padding: 4px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mp-ink) !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  max-width: none !important;
  width: 100% !important;
}

body.single-product .woocommerce-Tabs-panel h2,
body.woocommerce-page.single-product .woocommerce-Tabs-panel h2 {
  display: none !important;
}

body.single-product .woocommerce-Tabs-panel p,
body.woocommerce-page.single-product .woocommerce-Tabs-panel p {
  margin: 0 0 1em !important;
  color: var(--mp-ink) !important;
}

body.single-product .woocommerce-Tabs-panel ul,
body.woocommerce-page.single-product .woocommerce-Tabs-panel ul {
  margin: 0 0 1.1em !important;
  padding-left: 1.2em !important;
  color: var(--mp-ink) !important;
}

body.single-product .woocommerce-Tabs-panel li,
body.woocommerce-page.single-product .woocommerce-Tabs-panel li {
  margin: 0 0 0.45em !important;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2,
body.woocommerce-page.single-product .related.products > h2,
body.woocommerce-page.single-product .upsells.products > h2 {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(22px, 2.8vw, 28px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.5px !important;
  color: var(--mp-ink) !important;
  margin: 20px 0 16px !important;
  text-transform: none !important;
}

@media (max-width: 900px) {
  body.single-product #wrapper > #product-content,
  body.woocommerce-page.single-product #wrapper > #product-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.single-product div.product > .woocommerce-product-gallery,
  body.single-product div.product > div.images,
  body.woocommerce-page.single-product div.product > .woocommerce-product-gallery,
  body.woocommerce-page.single-product div.product > div.images {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }

  body.single-product div.product > .summary,
  body.woocommerce-page.single-product div.product > .summary {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}


body.woocommerce-cart .site-content,
body.woocommerce-cart #wrapper,
body.woocommerce-cart #page-content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #wrapper,
body.woocommerce-checkout #page-content,
body.woocommerce-shop .site-content,
body.woocommerce-shop #wrapper,
body.woocommerce-shop #page-content {
  background: transparent !important;
}

/*
  Copyright LeadEngine = #footer.fixed + .lower-footer (barra ~76px).
  Come in home: position:fixed in basso. Non metterlo nel flusso:
  la barra si stacca dal fondo finestra e sembra “alta”.
  LeadEngine JS mette margin-bottom sul #wrapper = altezza footer (76px).
*/
html:has(body.woocommerce-cart),
body.woocommerce-cart {
  height: auto !important;
  min-height: 0 !important;
}

body.woocommerce-cart #wrapper,
body.woocommerce-cart #wrapper.hide-title-section,
body.woocommerce-page.woocommerce-cart #wrapper {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  /* Spazio per footer fisso: non azzerare (su mobile il footer è più alto) */
  padding-bottom: 32px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart #wrapper.hide-title-section {
  padding-top: 140px !important;
}

body.woocommerce-cart #primary,
body.woocommerce-cart .content-area,
body.woocommerce-cart #main,
body.woocommerce-cart #single-page {
  height: auto !important;
  min-height: 0 !important;
  flex: none !important;
  flex-grow: 0 !important;
}

body.woocommerce-cart #footer,
body.woocommerce-cart #footer.fixed,
body.woocommerce-cart footer {
  position: fixed !important;
  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  z-index: 101 !important;
}

body.woocommerce-cart #footer .lower-footer,
body.woocommerce-cart .lower-footer {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 25px 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 901px) {
  body.woocommerce-cart #wrapper > .container,
  body.woocommerce-cart #single-page,
  body.woocommerce-cart #page-content,
  body.woocommerce-cart #main,
  body.woocommerce-cart .main-content,
  body.woocommerce-cart .content-area {
    max-width: none !important;
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-bottom: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    float: none !important;
  }

  body.woocommerce-cart #single-page {
    padding-bottom: 24px !important;
  }
}

/*
  Con titolo visibile LeadEngine usa .entry-header.with-topbar
  (padding-top 215px + margin-bottom 50px) e il footer esce dallo schermo.
  Stesso spazio di hide-title-section: solo l’altezza dell’header fisso.
*/
body.woocommerce-cart .entry-header,
body.woocommerce-cart .entry-header.single-page-header,
body.woocommerce-cart .entry-header.with-topbar,
body.woocommerce-page.woocommerce-cart .entry-header,
body.woocommerce-page.woocommerce-cart .entry-header.with-topbar,
body.woocommerce-page.woocommerce-cart .entry-header.single-page-header {
  padding: 140px 24px 8px !important;
  margin: 0 0 8px !important;
  min-height: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .entry-header .single-page-heading,
body.woocommerce-cart .entry-header .blog-title-left,
body.woocommerce-cart .entry-header .row,
body.woocommerce-cart .entry-header .container {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

body.woocommerce-cart .entry-header .section-heading,
body.woocommerce-cart h1.section-heading,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart .kd-titlebar h1,
body.woocommerce-cart .blog-page-title {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(26px, 3.5vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.8px !important;
  line-height: 1.15 !important;
  color: var(--mp-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}


/* Due colonne: prodotti a sinistra, totale a destra */

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  clear: none !important;
}

/* Contenitore carrello: SEMPRE blocco centrato (mai flex/grid qui → messaggi di fianco) */
body.woocommerce-cart #single-page .woocommerce,
body.woocommerce-cart .woocommerce {
  display: block !important;
  float: none !important;
  clear: both !important;
  max-width: min(1180px, 100%) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 16px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  color: var(--mp-ink) !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

/* Messaggi sempre a tutta larghezza SOPRA il carrello */
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 18px !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
  background: #e8f7ea !important;
  color: #0a8e35 !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  list-style: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.woocommerce-cart .woocommerce-info.cart-empty,
body.woocommerce-cart .cart-empty.woocommerce-info {
  background: transparent !important;
  color: var(--mp-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart ul.woocommerce-error {
  background: #fdecea !important;
  color: #c62828 !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  list-style: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.woocommerce-cart .woocommerce-error li,
body.woocommerce-cart .woocommerce-message li,
body.woocommerce-cart .woocommerce-info li,
body.woocommerce-cart ul.woocommerce-error li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: inherit !important;
  font: inherit !important;
}

/* Notice coupon/azioni: mai nella riga del codice promozionale */
body.woocommerce-cart table.shop_table.cart td.actions .woocommerce-error,
body.woocommerce-cart table.shop_table.cart td.actions .woocommerce-message,
body.woocommerce-cart table.shop_table.cart td.actions .woocommerce-info,
body.woocommerce-cart table.shop_table.cart td.actions .woocommerce-notices-wrapper,
body.woocommerce-cart table.shop_table.cart td.actions .coupon-error-notice,
body.woocommerce-cart table.shop_table.cart td.actions [role="alert"],
body.woocommerce-cart table.shop_table.cart td.actions > ul,
body.woocommerce-cart table.shop_table.cart td.actions > p,
body.woocommerce-cart table.shop_table.cart td.actions > div:not(.coupon),
body.woocommerce-cart .coupon .woocommerce-error,
body.woocommerce-cart .coupon .woocommerce-message,
body.woocommerce-cart .coupon .woocommerce-info,
body.woocommerce-cart .coupon .coupon-error-notice,
body.woocommerce-cart .coupon [role="alert"],
body.woocommerce-cart .coupon > ul,
body.woocommerce-cart .coupon > p,
body.woocommerce-cart form.woocommerce-cart-form > .woocommerce-error,
body.woocommerce-cart form.woocommerce-cart-form > .woocommerce-message,
body.woocommerce-cart form.woocommerce-cart-form > .woocommerce-info:not(.cart-empty) {
  display: none !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-cart .woocommerce-notices-wrapper .coupon-error-notice,
body.woocommerce-cart .woocommerce-notices-wrapper [role="alert"],
body.woocommerce-cart .woocommerce-notices-wrapper > ul,
body.woocommerce-cart .woocommerce-notices-wrapper > p,
body.woocommerce-cart .woocommerce-notices-wrapper > div {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  list-style: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-cart .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-cart .woocommerce-notices-wrapper .coupon-error-notice,
body.woocommerce-cart .woocommerce-notices-wrapper [role="alert"] {
  background: #fdecea !important;
  color: #c62828 !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info {
  background: #e8f7ea !important;
  color: #0a8e35 !important;
}

/* Griglia solo sul wrapper prodotti+totale */
body.woocommerce-cart .mp-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
  position: relative !important;
}

body.woocommerce-cart .mp-cart-layout > form.woocommerce-cart-form,
body.woocommerce-cart .mp-cart-layout > .cart-collaterals {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  grid-column: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
  align-self: start !important;
  box-sizing: border-box !important;
  z-index: auto !important;
}

body.woocommerce-cart .mp-cart-layout > .cart-collaterals {
  display: block !important;
}

@media (min-width: 901px) {
  body.woocommerce-cart .mp-cart-layout {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 28px !important;
  }

  body.woocommerce-cart .mp-cart-layout > form.woocommerce-cart-form {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-cart .mp-cart-layout > .cart-collaterals {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  /* Blocca float/width del tema LeadEngine/Woo */
  body.woocommerce-cart .mp-cart-layout > form.woocommerce-cart-form,
  body.woocommerce-cart .mp-cart-layout > .cart-collaterals,
  body.woocommerce-cart .mp-cart-layout .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

body.woocommerce-cart .cart-collaterals .cross-sells {
  float: none !important;
  width: 100% !important;
  margin: 16px 0 0 !important;
}

/* Carrello vuoto */
body.woocommerce-cart .mp-empty-cart-panel {
  max-width: 560px !important;
  margin: 24px auto 40px !important;
  padding: 40px 32px !important;
  text-align: center !important;
  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .mp-empty-cart-panel .cart-empty,
body.woocommerce-cart .woocommerce-info.cart-empty,
body.woocommerce-cart .cart-empty.woocommerce-info {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mp-ink) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

body.woocommerce-cart .mp-empty-cart-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .mp-empty-cart-actions .button,
body.woocommerce-cart .mp-empty-cart-actions a.button,
body.woocommerce-cart .mp-restore-cart .button,
body.woocommerce-cart .return-to-shop .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

body.woocommerce-cart .mp-empty-cart-actions .mp-restore-cart .button,
body.woocommerce-cart .mp-empty-cart-actions a.mp-restore-btn {
  background: var(--mp-blue) !important;
  border: 1px solid var(--mp-blue) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(21, 101, 255, 0.22) !important;
}

body.woocommerce-cart .mp-empty-cart-actions .mp-restore-cart .button:hover,
body.woocommerce-cart .mp-empty-cart-actions a.mp-restore-btn:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.woocommerce-cart .mp-empty-cart-actions .return-to-shop .button,
body.woocommerce-cart .mp-empty-cart-actions a.mp-shop-btn {
  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  color: var(--mp-blue) !important;
}

body.woocommerce-cart .mp-empty-cart-actions .return-to-shop .button:hover,
body.woocommerce-cart .mp-empty-cart-actions a.mp-shop-btn:hover {
  border-color: var(--mp-blue) !important;
  background: var(--mp-soft) !important;
  color: var(--mp-blue) !important;
}

body.woocommerce-cart .mp-restore-cart,
body.woocommerce-cart .return-to-shop {
  margin: 0 !important;
  padding: 0 !important;
}


/* Box prodotti */

body.woocommerce-cart table.shop_table.cart {
  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-cart table.shop_table.cart thead th {
  background: var(--mp-soft) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mp-line) !important;
  color: var(--mp-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 14px 18px !important;
  text-align: center !important;
}

body.woocommerce-cart table.shop_table.cart thead th.product-name {
  text-align: left !important;
}

body.woocommerce-cart table.shop_table.cart thead th.product-remove,
body.woocommerce-cart table.shop_table.cart thead th.product-thumbnail {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal {
  text-align: center !important;
  white-space: nowrap !important;
}

body.woocommerce-cart table.shop_table.cart td {
  border: 0 !important;
  border-bottom: 1px solid #eef3fb !important;
  padding: 18px !important;
  vertical-align: middle !important;
  color: var(--mp-ink) !important;
  font-size: 15px !important;
  background: #fff !important;
}

body.woocommerce-cart table.shop_table.cart tr:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
  width: 88px !important;
  text-align: center !important;
}

body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  background: var(--mp-soft) !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 12px !important;
  padding: 6px !important;
  display: inline-block !important;
  max-width: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-name a {
  color: var(--mp-ink) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-name a:hover {
  color: var(--mp-blue) !important;
}

body.woocommerce-cart table.shop_table.cart .product-remove a {
  color: var(--mp-muted) !important;
  font-size: 18px !important;
  text-decoration: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-remove a:hover {
  color: #c62828 !important;
}

/* Stepper quantità condiviso (catalogo + carrello) */
.quantity.mp-qty-stepper {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 40px !important;
  margin: 0 auto !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.quantity.mp-qty-stepper .mp-qty-minus,
.quantity.mp-qty-stepper .mp-qty-plus {
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mp-soft) !important;
  color: var(--mp-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.quantity.mp-qty-stepper .mp-qty-minus {
  border-right: 1px solid var(--mp-line) !important;
}

.quantity.mp-qty-stepper .mp-qty-plus {
  border-left: 1px solid var(--mp-line) !important;
}

.quantity.mp-qty-stepper .mp-qty-minus:hover,
.quantity.mp-qty-stepper .mp-qty-plus:hover {
  background: #e7f0ff !important;
  color: var(--mp-blue) !important;
}

.quantity.mp-qty-stepper input.qty {
  flex: 1 1 auto !important;
  width: 40px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--mp-ink) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

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

body.woocommerce-cart table.shop_table.cart td.product-quantity {
  text-align: center !important;
}

body.woocommerce-cart table.shop_table.cart td.actions {
  display: table-cell !important;
  text-align: right !important;
  background: #fbfdff !important;
  vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon,
body.woocommerce-cart table.shop_table.cart td.actions div.coupon {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  float: right !important;
  clear: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon label {
  display: none !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
  width: 220px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 10px !important;
  color: var(--mp-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  line-height: 40px !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
body.woocommerce-cart table.shop_table.cart td.actions .coupon button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
  background: var(--mp-soft) !important;
  color: var(--mp-blue) !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

body.woocommerce-cart table.shop_table.cart td.actions > .button,
body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"],
body.woocommerce-cart table.shop_table.cart td.actions input[name="update_cart"] {
  display: none !important;
}


/* Box totale */

body.woocommerce-cart .cart-collaterals .cart_totals {
  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
  padding: 0 0 26px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.woocommerce-cart .cart_totals > h2 {
  display: none !important;
}

body.woocommerce-cart .mp-cart-totals-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 14px 26px !important;
  background: var(--mp-soft) !important;
  border-bottom: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) var(--mp-radius) 0 0 !important;
  order: 0 !important;
}

body.woocommerce-cart .mp-cart-totals-head h2 {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  color: var(--mp-ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart a.mp-empty-cart {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  height: auto !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--mp-muted) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

body.woocommerce-cart a.mp-empty-cart:hover {
  color: #c62828 !important;
  background: transparent !important;
}

body.woocommerce-cart .mp-restore-cart {
  margin: 18px 0 0 !important;
  text-align: center !important;
}

body.woocommerce-cart .mp-restore-cart .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  background: var(--mp-blue) !important;
  border: 1px solid var(--mp-blue) !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: 0 10px 24px rgba(21, 101, 255, 0.22) !important;
}

body.woocommerce-cart .mp-restore-cart .button:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.woocommerce-cart .cart_totals table.shop_table {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 26px 8px !important;
  width: calc(100% - 52px) !important;
  order: 1 !important;
}

@media (min-width: 901px) {
  body.woocommerce-cart .cart_totals table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 2px !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tbody,
  body.woocommerce-cart .cart_totals table.shop_table tr {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    padding: 8px 0 !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td {
    display: block !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--mp-ink) !important;
    font-size: 15px !important;
    text-align: right !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table th {
    flex: 1 1 auto !important;
    text-align: left !important;
    font-weight: 600 !important;
    color: var(--mp-muted) !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table td {
    flex: 0 0 auto !important;
    font-weight: 700 !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal th,
  body.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td {
    font-size: 14px !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr.tax-total th,
  body.woocommerce-cart .cart_totals table.shop_table tr.tax-total td,
  body.woocommerce-cart .cart_totals table.shop_table tr.fee th,
  body.woocommerce-cart .cart_totals table.shop_table tr.fee td {
    font-size: 13px !important;
    color: var(--mp-muted) !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr.order-total {
    margin-top: 10px !important;
    padding: 16px 14px !important;
    background: var(--mp-soft) !important;
    border: 1px solid var(--mp-line) !important;
    border-radius: 12px !important;
    align-items: center !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
  body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--mp-ink) !important;
    border-top: 0 !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
    font-size: 24px !important;
    letter-spacing: -0.02em !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table tr.order-total td small,
  body.woocommerce-cart .cart_totals table.shop_table tr.order-total td .includes_tax {
    display: block !important;
    margin-top: 4px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--mp-muted) !important;
    line-height: 1.35 !important;
  }
}

body.woocommerce-cart .cart_totals > * {
  order: 2;
}

body.woocommerce-cart .cart_totals > h2 {
  order: 0 !important;
}

body.woocommerce-cart .cart_totals > table {
  order: 1 !important;
}

body.woocommerce-cart .cart_totals > .wc-proceed-to-checkout {
  order: 20 !important;
  width: calc(100% - 52px) !important;
  padding: 18px 0 0 !important;
  margin: 8px 26px 0 !important;
  border-top: 1px solid var(--mp-line) !important;
}

body.woocommerce-cart .woocommerce.mp-cart-updating .cart_totals {
  opacity: 0.72 !important;
  transition: opacity 0.15s ease;
}

body.woocommerce-cart .wc-proceed-to-checkout {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* G Pay / Amazon Pay: non toccare l'iframe Stripe (ha margin negativo e altezza dinamica) */
body.woocommerce-cart .wc-proceed-to-checkout .wcpay-express-checkout-wrapper,
body.woocommerce-cart .wc-proceed-to-checkout .wcpay-payment-request-wrapper,
body.woocommerce-cart .wc-proceed-to-checkout #wcpay-express-checkout-element,
body.woocommerce-cart .wc-proceed-to-checkout #amazon-payments-widget,
body.woocommerce-cart .wc-proceed-to-checkout .express-checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout > div:not(.checkout-button):not(a) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  overflow: visible !important;
  order: 1 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .StripeElement {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

/* Separatore "OR" / "— OR —" (WooPayments, Stripe, Amazon Pay, login social) */
#wcpay-express-checkout-button-separator,
#wcpay-payment-request-button-separator,
#wc-stripe-express-checkout-button-separator,
#wc-stripe-payment-request-button-separator,
.wcpay-express-checkout-button-separator,
.wc-apa-button-separator,
.woocommerce-amazon-payments-advanced-separator,
p.wc-amazon-payments-advanced-or,
.mp-login-dialog .nsl-separator,
.mp-login-dialog p.or {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  order: 99 !important;
  width: 100% !important;
  margin: 4px 0 0 !important;
  min-height: 50px !important;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  background: var(--mp-blue) !important;
  border: 1px solid var(--mp-blue) !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 24px rgba(21, 101, 255, 0.22) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart a.checkout-button:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info {
  background: #e8f7ea !important;
  color: #0a8e35 !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
}


/* =========================================================
   WOOCOMMERCE SHOP (/soluzioni/)
   ========================================================= */

body.woocommerce-shop #wrapper.hide-title-section,
body.post-type-archive-product #wrapper.hide-title-section {
  padding-top: 150px !important;
  padding-bottom: 0 !important;
  min-height: auto !important;
  height: auto !important;
}

body.woocommerce-shop #wrapper > .container,
body.woocommerce-shop #single-page,
body.woocommerce-shop #page-content,
body.woocommerce-shop #main,
body.woocommerce-shop .content-area,
body.post-type-archive-product #wrapper > .container,
body.post-type-archive-product #single-page,
body.post-type-archive-product #page-content,
body.post-type-archive-product #main,
body.post-type-archive-product .content-area {
  max-width: none !important;
  width: 100% !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  min-height: 0 !important;
}

body.woocommerce-shop #wrapper,
body.woocommerce-shop .site-content,
body.post-type-archive-product #wrapper,
body.post-type-archive-product .site-content {
  overflow: visible !important;
  min-height: auto !important;
  height: auto !important;
}

body.woocommerce-shop #single-page,
body.post-type-archive-product #single-page {
  padding-bottom: 24px !important;
  flex: none !important;
  flex-grow: 0 !important;
}

body.woocommerce-shop #main,
body.woocommerce-shop .content-area,
body.post-type-archive-product #main,
body.post-type-archive-product .content-area {
  flex: none !important;
  flex-grow: 0 !important;
}

body.woocommerce-shop footer,
body.woocommerce-shop .footer,
body.woocommerce-shop #footer,
body.woocommerce-shop .lower-footer,
body.post-type-archive-product footer,
body.post-type-archive-product .lower-footer {
  clear: both !important;
  position: relative !important;
  z-index: 2 !important;
}

body.woocommerce-shop .entry-title,
body.woocommerce-shop .page-title,
body.woocommerce-shop .kd-titlebar h1,
body.post-type-archive-product .entry-title,
body.post-type-archive-product .page-title {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.8px !important;
  color: var(--mp-ink) !important;
  margin: 0 0 28px !important;
  text-transform: none !important;
}

body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce {
  max-width: min(1180px, 100%) !important;
  width: 100% !important;
  margin: 0 auto 24px !important;
  padding-bottom: 8px !important;
  clear: both !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  color: var(--mp-ink) !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  color: var(--mp-muted) !important;
}

body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering {
  margin: 0 0 22px !important;
}

body.woocommerce-shop .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select {
  min-height: 42px !important;
  padding: 8px 36px 8px 12px !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--mp-ink) !important;
  font: 14px/1.4 Inter, "Segoe UI", Arial, sans-serif !important;
}

/* Griglia/colonne: LeadEngine (width/colonne). Solo layout interno card + stile. */

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  margin-bottom: 8px !important;
  clear: both !important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  float: none !important;

  padding: 18px 16px 16px !important;
  box-sizing: border-box !important;
  text-align: center !important;

  background: #fff !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: var(--mp-radius) !important;
  box-shadow: var(--mp-shadow) !important;
}

body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  flex: 0 0 auto !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* Niente “box dentro box”: solo il bordo esterno della card */
body.woocommerce-shop ul.products li.product > div,
body.woocommerce-shop ul.products li.product .product-item-holder,
body.woocommerce-shop ul.products li.product .product-wrapper,
body.post-type-archive-product ul.products li.product > div,
body.post-type-archive-product ul.products li.product .product-item-holder,
body.post-type-archive-product ul.products li.product .product-wrapper {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Blocco alto: immagine + titolo + categoria (non si allunga) */
body.woocommerce-shop ul.products li.product .product-item-holder > *:not(.price):not(.mp-loop-cart-row):not(a.button):not(.button):not(a.added_to_cart):not(.added_to_cart):not(a.wc-forward),
body.woocommerce-shop ul.products li.product .woo-product-info,
body.woocommerce-shop ul.products li.product .product-details,
body.post-type-archive-product ul.products li.product .product-item-holder > *:not(.price):not(.mp-loop-cart-row):not(a.button):not(.button):not(a.added_to_cart):not(.added_to_cart):not(a.wc-forward),
body.post-type-archive-product ul.products li.product .woo-product-info,
body.post-type-archive-product ul.products li.product .product-details {
  flex: 0 0 auto !important;
}

body.woocommerce-shop ul.products li.product .product_thumbnail_wrapper,
body.woocommerce-shop ul.products li.product .product-image,
body.woocommerce-shop ul.products li.product .thumbnail-wrapper,
body.post-type-archive-product ul.products li.product .product_thumbnail_wrapper,
body.post-type-archive-product ul.products li.product .product-image,
body.post-type-archive-product ul.products li.product .thumbnail-wrapper {
  display: block !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
  font-size: 0 !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.woocommerce-shop ul.products li.product img,
body.post-type-archive-product ul.products li.product img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  vertical-align: top !important;
}

body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
  margin: 14px 0 4px !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--mp-ink) !important;
}

/* Se il titolo segue direttamente l’immagine nel link, evita doppio margine */
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link img + .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link img + .woocommerce-loop-product__title {
  margin-top: 14px !important;
}

body.woocommerce-shop ul.products li.product .product_thumbnail_wrapper + .woocommerce-loop-product__title,
body.woocommerce-shop ul.products li.product .product_thumbnail_wrapper + a .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .product_thumbnail_wrapper + .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .product_thumbnail_wrapper + a .woocommerce-loop-product__title {
  margin-top: 0 !important;
}

/* Categoria subito sotto il titolo */
body.woocommerce-shop ul.products li.product .product-category,
body.woocommerce-shop ul.products li.product .woocommerce-loop-category,
body.woocommerce-shop ul.products li.product .product-cat,
body.woocommerce-shop ul.products li.product .woo-category,
body.woocommerce-shop ul.products li.product .category-label,
body.woocommerce-shop ul.products li.product .product-item-holder > .category,
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link + .product-category,
body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link + .category,
body.post-type-archive-product ul.products li.product .product-category,
body.post-type-archive-product ul.products li.product .woocommerce-loop-category,
body.post-type-archive-product ul.products li.product .product-cat,
body.post-type-archive-product ul.products li.product .woo-category,
body.post-type-archive-product ul.products li.product .category-label,
body.post-type-archive-product ul.products li.product .product-item-holder > .category,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link + .product-category,
body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link + .category {
  display: block !important;
  order: 0 !important;
  margin: 0 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--mp-muted) !important;
  text-transform: none !important;
}

body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price {
  display: block !important;
  flex: 0 0 auto !important;
  margin-top: auto !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--mp-blue) !important;
}

body.woocommerce-shop ul.products li.product .price del {
  color: var(--mp-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

body.woocommerce-shop ul.products li.product .price ins {
  text-decoration: none !important;
  font-weight: 600 !important;
}

/* Pulsanti shop = stesso stile di “Procedi al pagamento” nel carrello */
body.woocommerce-shop ul.products li.product a.button,
body.woocommerce-shop ul.products li.product .button,
body.woocommerce-shop ul.products li.product a.added_to_cart,
body.woocommerce-shop ul.products li.product .added_to_cart,
body.woocommerce-shop ul.products li.product a.wc-forward,
body.post-type-archive-product ul.products li.product a.button,
body.post-type-archive-product ul.products li.product .button,
body.post-type-archive-product ul.products li.product a.added_to_cart,
body.post-type-archive-product ul.products li.product .added_to_cart,
body.post-type-archive-product ul.products li.product a.wc-forward {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  background: var(--mp-blue) !important;
  border: 1px solid var(--mp-blue) !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 24px rgba(21, 101, 255, 0.22) !important;
  flex-shrink: 0 !important;
}

body.woocommerce-shop ul.products li.product a.add_to_cart_button,
body.woocommerce-shop ul.products li.product .add_to_cart_button,
body.post-type-archive-product ul.products li.product a.add_to_cart_button,
body.post-type-archive-product ul.products li.product .add_to_cart_button {
  margin-top: 0 !important;
}

body.woocommerce-shop ul.products li.product a.added_to_cart,
body.woocommerce-shop ul.products li.product .added_to_cart,
body.woocommerce-shop ul.products li.product a.wc-forward,
body.post-type-archive-product ul.products li.product a.added_to_cart,
body.post-type-archive-product ul.products li.product .added_to_cart,
body.post-type-archive-product ul.products li.product a.wc-forward {
  margin-top: 8px !important;
}

body.woocommerce-shop ul.products li.product a.button:hover,
body.woocommerce-shop ul.products li.product .button:hover,
body.woocommerce-shop ul.products li.product a.added_to_cart:hover,
body.woocommerce-shop ul.products li.product .added_to_cart:hover,
body.woocommerce-shop ul.products li.product a.wc-forward:hover,
body.post-type-archive-product ul.products li.product a.button:hover,
body.post-type-archive-product ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product a.added_to_cart:hover,
body.post-type-archive-product ul.products li.product .added_to_cart:hover,
body.post-type-archive-product ul.products li.product a.wc-forward:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

/* --- Integrazione quantità catalogo (non modifica posizione prezzo) --- */
body.woocommerce-shop ul.products li.product .product-item-holder,
body.post-type-archive-product ul.products li.product .product-item-holder {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row a.button,
body.woocommerce-shop ul.products li.product .mp-loop-cart-row .button,
body.woocommerce-shop ul.products li.product .mp-loop-cart-row a.add_to_cart_button,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row a.button,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .button,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row a.add_to_cart_button {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  flex-shrink: 1 !important;
  box-shadow: 0 6px 16px rgba(21, 101, 255, 0.16) !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .quantity.mp-qty-stepper,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .quantity.mp-qty-stepper {
  flex: 0 0 96px !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  height: 40px !important;
  margin: 0 !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  flex-shrink: 0 !important;
}

/* Scheda prodotto: stesso stile di /soluzioni/ — [ Aggiungi ] [ − 1 + ] */
body.single-product form.cart .mp-product-cart-row,
body.woocommerce-page.single-product form.cart .mp-product-cart-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 14px !important;
  box-sizing: border-box !important;
}

body.single-product form.cart .mp-product-cart-row .single_add_to_cart_button,
body.woocommerce-page.single-product form.cart .mp-product-cart-row .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  background: var(--mp-blue, #1565ff) !important;
  border: 1px solid var(--mp-blue, #1565ff) !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 6px 16px rgba(21, 101, 255, 0.16) !important;
  box-sizing: border-box !important;
}

body.single-product form.cart .mp-product-cart-row .single_add_to_cart_button:hover,
body.woocommerce-page.single-product form.cart .mp-product-cart-row .single_add_to_cart_button:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper,
body.woocommerce-page.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper {
  flex: 0 0 96px !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 40px !important;
  margin: 0 !important;
  float: none !important;
}

body.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper .mp-qty-minus,
body.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper .mp-qty-plus,
body.woocommerce-page.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper .mp-qty-minus,
body.woocommerce-page.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper .mp-qty-plus {
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  background: var(--mp-soft, #f5f8ff) !important;
  color: var(--mp-ink, #14213d) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

body.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper input.qty,
body.woocommerce-page.single-product form.cart .mp-product-cart-row .quantity.mp-qty-stepper input.qty {
  width: 40px !important;
  min-width: 0 !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  color: var(--mp-ink, #14213d) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-align: center !important;
}

@media (max-width: 560px) {
  body.single-product form.cart .mp-product-cart-row,
  body.woocommerce-page.single-product form.cart .mp-product-cart-row {
    max-width: 100% !important;
  }
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.woocommerce-shop ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .mp-qty-plus {
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mp-soft) !important;
  color: var(--mp-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .mp-qty-minus {
  border-right: 1px solid var(--mp-line) !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .mp-qty-plus {
  border-left: 1px solid var(--mp-line) !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .mp-qty-minus:hover,
body.woocommerce-shop ul.products li.product .mp-loop-cart-row .mp-qty-plus:hover,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .mp-qty-minus:hover,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .mp-qty-plus:hover {
  background: #e7f0ff !important;
  color: var(--mp-blue) !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .quantity input.qty,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .quantity input.qty {
  flex: 1 1 auto !important;
  width: 40px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--mp-ink) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-shop ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-inner-spin-button,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-outer-spin-button,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* WooCommerce inserisce "Visualizza carrello" dentro la riga via AJAX: fuori riga */
body.woocommerce-shop ul.products li.product .mp-loop-cart-row > a.added_to_cart,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row > a.added_to_cart {
  display: none !important;
}

body.woocommerce-shop ul.products li.product .mp-loop-cart-row + a.added_to_cart,
body.post-type-archive-product ul.products li.product .mp-loop-cart-row + a.added_to_cart {
  display: inline-flex !important;
  width: 100% !important;
  white-space: nowrap !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
}

/* Laptop / desktop stretto (es. 1368px, 4 colonne LeadEngine) */
@media (min-width: 901px) and (max-width: 1399px) {
  body.woocommerce-shop ul.products li.product .mp-loop-cart-row,
  body.post-type-archive-product ul.products li.product .mp-loop-cart-row {
    gap: 6px !important;
  }

  body.woocommerce-shop ul.products li.product .mp-loop-cart-row a.button,
  body.woocommerce-shop ul.products li.product .mp-loop-cart-row .button,
  body.woocommerce-shop ul.products li.product .mp-loop-cart-row a.add_to_cart_button,
  body.post-type-archive-product ul.products li.product .mp-loop-cart-row a.button,
  body.post-type-archive-product ul.products li.product .mp-loop-cart-row .button,
  body.post-type-archive-product ul.products li.product .mp-loop-cart-row a.add_to_cart_button {
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}

/* --- Prodotti correlati / upsells: stessi stili loop /soluzioni/ --- */
body.single-product .related.products ul.products li.product .mp-loop-cart-row,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

body.single-product .related.products ul.products li.product a.button,
body.single-product .related.products ul.products li.product .button,
body.single-product .related.products ul.products li.product a.added_to_cart,
body.single-product .related.products ul.products li.product .added_to_cart,
body.single-product .related.products ul.products li.product a.wc-forward,
body.single-product .upsells.products ul.products li.product a.button,
body.single-product .upsells.products ul.products li.product .button,
body.single-product .upsells.products ul.products li.product a.added_to_cart,
body.single-product .upsells.products ul.products li.product .added_to_cart,
body.single-product .upsells.products ul.products li.product a.wc-forward,
body.woocommerce-page.single-product .related.products ul.products li.product a.button,
body.woocommerce-page.single-product .related.products ul.products li.product .button,
body.woocommerce-page.single-product .related.products ul.products li.product a.added_to_cart,
body.woocommerce-page.single-product .related.products ul.products li.product .added_to_cart,
body.woocommerce-page.single-product .related.products ul.products li.product a.wc-forward,
body.woocommerce-page.single-product .upsells.products ul.products li.product a.button,
body.woocommerce-page.single-product .upsells.products ul.products li.product .button,
body.woocommerce-page.single-product .upsells.products ul.products li.product a.added_to_cart,
body.woocommerce-page.single-product .upsells.products ul.products li.product .added_to_cart,
body.woocommerce-page.single-product .upsells.products ul.products li.product a.wc-forward {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  background: #1565ff !important;
  background-color: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 24px rgba(21, 101, 255, 0.22) !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

body.single-product .related.products ul.products li.product a.button:hover,
body.single-product .related.products ul.products li.product .button:hover,
body.single-product .related.products ul.products li.product a.added_to_cart:hover,
body.single-product .related.products ul.products li.product .added_to_cart:hover,
body.single-product .related.products ul.products li.product a.wc-forward:hover,
body.single-product .upsells.products ul.products li.product a.button:hover,
body.single-product .upsells.products ul.products li.product .button:hover,
body.single-product .upsells.products ul.products li.product a.added_to_cart:hover,
body.single-product .upsells.products ul.products li.product .added_to_cart:hover,
body.single-product .upsells.products ul.products li.product a.wc-forward:hover,
body.woocommerce-page.single-product .related.products ul.products li.product a.button:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .button:hover,
body.woocommerce-page.single-product .related.products ul.products li.product a.added_to_cart:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .added_to_cart:hover,
body.woocommerce-page.single-product .related.products ul.products li.product a.wc-forward:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product a.button:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .button:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product a.added_to_cart:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .added_to_cart:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product a.wc-forward:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row a.button,
body.single-product .related.products ul.products li.product .mp-loop-cart-row .button,
body.single-product .related.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.button,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .button,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row a.button,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .button,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.button,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .button,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  flex-shrink: 1 !important;
  background: #1565ff !important;
  background-color: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(21, 101, 255, 0.16) !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row a.button:hover,
body.single-product .related.products ul.products li.product .mp-loop-cart-row .button:hover,
body.single-product .related.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button:hover,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.button:hover,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .button:hover,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row a.button:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .button:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.button:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .button:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row a.add_to_cart_button:hover {
  background: transparent !important;
  background-color: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity.mp-qty-stepper,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity.mp-qty-stepper,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity.mp-qty-stepper,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity.mp-qty-stepper {
  flex: 0 0 96px !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  height: 40px !important;
  margin: 0 !important;
  border: 1px solid var(--mp-line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  flex-shrink: 0 !important;
  float: none !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-plus {
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mp-soft) !important;
  color: var(--mp-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-minus,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-minus {
  border-right: 1px solid var(--mp-line) !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-plus,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-plus {
  border-left: 1px solid var(--mp-line) !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-minus:hover,
body.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-plus:hover,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-minus:hover,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-plus:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-minus:hover,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .mp-qty-plus:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-minus:hover,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .mp-qty-plus:hover {
  background: #e7f0ff !important;
  color: var(--mp-blue) !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity input.qty,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity input.qty,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity input.qty,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity input.qty {
  flex: 1 1 auto !important;
  width: 40px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--mp-ink) !important;
  background: #fff !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-outer-spin-button,
body.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-inner-spin-button,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-outer-spin-button,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row > a.added_to_cart,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row > a.added_to_cart,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row > a.added_to_cart,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row > a.added_to_cart {
  display: none !important;
}

body.single-product .related.products ul.products li.product .mp-loop-cart-row + a.added_to_cart,
body.single-product .upsells.products ul.products li.product .mp-loop-cart-row + a.added_to_cart,
body.woocommerce-page.single-product .related.products ul.products li.product .mp-loop-cart-row + a.added_to_cart,
body.woocommerce-page.single-product .upsells.products ul.products li.product .mp-loop-cart-row + a.added_to_cart {
  display: inline-flex !important;
  width: 100% !important;
  white-space: nowrap !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
  margin-top: 8px !important;
}

/* Salva per dopo (plugin / cart blocks): stesso solid blu → hover outline verde */
.woocommerce a.save_for_later,
.woocommerce button.save_for_later,
.woocommerce a.save-for-later,
.woocommerce button.save-for-later,
.woocommerce a.woosl-btn,
.woocommerce button.woosl-btn,
.woocommerce a.wpc-save-for-later,
.woocommerce button.wpc-save-for-later,
.woocommerce a[class*="save-for-later"],
.woocommerce button[class*="save-for-later"],
.woocommerce a[class*="save_for_later"],
.woocommerce button[class*="save_for_later"],
.woocommerce a.wc-block-cart-item__save-for-later,
.woocommerce button.wc-block-cart-item__save-for-later {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  background: #1565ff !important;
  background-color: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(21, 101, 255, 0.16) !important;
  box-sizing: border-box !important;
}

.woocommerce a.save_for_later:hover,
.woocommerce button.save_for_later:hover,
.woocommerce a.save-for-later:hover,
.woocommerce button.save-for-later:hover,
.woocommerce a.woosl-btn:hover,
.woocommerce button.woosl-btn:hover,
.woocommerce a.wpc-save-for-later:hover,
.woocommerce button.wpc-save-for-later:hover,
.woocommerce a[class*="save-for-later"]:hover,
.woocommerce button[class*="save-for-later"]:hover,
.woocommerce a[class*="save_for_later"]:hover,
.woocommerce button[class*="save_for_later"]:hover,
.woocommerce a.wc-block-cart-item__save-for-later:hover,
.woocommerce button.wc-block-cart-item__save-for-later:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.woocommerce-shop .woocommerce-message,
body.woocommerce-shop .woocommerce-info,
body.post-type-archive-product .woocommerce-message,
body.post-type-archive-product .woocommerce-info {
  background: #e8f7ea !important;
  color: #0a8e35 !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  margin-bottom: 20px !important;
}

@media (min-width: 901px) {
  body.woocommerce-shop .woocommerce-before-shop-loop,
  body.post-type-archive-product .woocommerce-before-shop-loop {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px 20px !important;
    margin-bottom: 22px !important;
  }

  body.woocommerce-shop .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count {
    margin: 0 !important;
  }

  body.woocommerce-shop .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering {
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  body.woocommerce-shop #wrapper > .container,
  body.woocommerce-shop #single-page,
  body.woocommerce-shop #page-content,
  body.post-type-archive-product #wrapper > .container,
  body.post-type-archive-product #single-page,
  body.post-type-archive-product #page-content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-shop .woocommerce-ordering,
  body.woocommerce-shop .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering select {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================================================
   WOOCOMMERCE CART — MOBILE (portrait)
   ========================================================= */

@media (max-width: 768px) {
  body.woocommerce-cart #wrapper,
  body.woocommerce-cart #wrapper.hide-title-section,
  body.woocommerce-page.woocommerce-cart #wrapper {
    padding-top: 110px !important;
    /* Footer mobile ~170px + safe area: senza questo «Procedi» resta sotto il footer */
    padding-bottom: calc(200px + env(safe-area-inset-bottom, 0px)) !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart .entry-header,
  body.woocommerce-cart .entry-header.with-topbar,
  body.woocommerce-page.woocommerce-cart .entry-header {
    padding: 110px 14px 8px !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout,
  body.woocommerce-cart .cart_totals > .wc-proceed-to-checkout {
    margin-bottom: 24px !important;
    padding-bottom: 8px !important;
  }

  body.woocommerce-cart #single-page .woocommerce,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-cart form.woocommerce-cart-form {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart table.shop_table.cart {
    overflow: visible !important;
    min-width: 0 !important;
    table-layout: auto !important;
  }

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

  body.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    display: block !important;
    position: relative !important;
    padding: 16px 14px 12px !important;
    border-bottom: 1px solid #eef3fb !important;
  }

  body.woocommerce-cart table.shop_table.cart tbody tr.cart_item:last-child {
    border-bottom: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 7px 0 !important;
    border-bottom: 0 !important;
    text-align: right !important;
    background: transparent !important;
  }

  body.woocommerce-cart table.shop_table.cart td::before {
    content: attr(data-title) !important;
    flex: 1 1 auto !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--mp-muted) !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-remove::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    justify-content: flex-start !important;
    padding-top: 0 !important;
    padding-bottom: 4px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 64px !important;
    height: 64px !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    padding-right: 34px !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.product-name a {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions {
    display: block !important;
    padding: 14px !important;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions::before {
    display: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon,
  body.woocommerce-cart table.shop_table.cart td.actions div.coupon {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: 100% !important;
    max-width: none !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
  body.woocommerce-cart table.shop_table.cart td.actions .coupon button {
    width: 100% !important;
    justify-content: center !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions > .button,
  body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"],
  body.woocommerce-cart table.shop_table.cart td.actions input[name="update_cart"] {
    display: none !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 0 0 20px !important;
  }

  body.woocommerce-cart .mp-cart-totals-head {
    padding: 14px 18px !important;
  }

  body.woocommerce-cart .cart_totals table.shop_table {
    margin-left: 18px !important;
    margin-right: 18px !important;
    width: calc(100% - 36px) !important;
  }

  body.woocommerce-cart .cart_totals > .wc-proceed-to-checkout {
    width: calc(100% - 36px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
  }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .megapos-home .hero-grid,
  .megapos-home .split,
  .megapos-home .download-grid,
  .megapos-home .grid3,
  .megapos-home .plans,
  .megapos-home .steps {
    grid-template-columns: 1fr;
  }

  .megapos-home .hero {
    padding-top: 36px;
  }

  .megapos-home .cta .wrap {
    display: block;
  }

  .megapos-home .cta .btn {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-top: 18px;
    margin-left: auto;
    margin-right: auto;
  }

  body.woocommerce-cart #single-page .woocommerce,
  body.woocommerce-cart .woocommerce {
    min-width: 0 !important;
    display: block !important;
  }

  body.woocommerce-cart .mp-cart-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body.woocommerce-cart .mp-cart-layout > form.woocommerce-cart-form,
  body.woocommerce-cart .mp-cart-layout > .cart-collaterals {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
  }

  body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    float: none !important;
    width: 100% !important;
  }
}

@media (max-width: 600px) {

  body.woocommerce-cart #wrapper > .container,
  body.woocommerce-cart #single-page,
  body.woocommerce-cart #page-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.woocommerce-cart .entry-title,
  body.woocommerce-cart .page-title,
  body.woocommerce-cart .kd-titlebar h1,
  body.woocommerce-cart .blog-page-title {
    font-size: clamp(24px, 7vw, 32px) !important;
    margin-bottom: 20px !important;
  }

  body.woocommerce-cart .quantity input.qty {
    width: 64px !important;
  }

  .mp-contact-grid {
    grid-template-columns: 1fr;
  }

  .mp-contact-dialog {
    padding: 22px 18px 18px;
  }
}


/* =========================================================
   FOOTER + GO TO TOP
   ========================================================= */

.lower-footer .pull-left {
  float: none !important;
  width: 100% !important;
}

.lower-footer .pull-left span {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  width: 100% !important;
}

.lower-footer .pull-left span a.footer-legal-btn {
  flex: 0 0 auto;
  width: auto !important;
  background: #ffffff;
  color: #222222 !important;
  text-decoration: none;
  padding: 3px 10px;
  border-radius: 8px;
  border: 1px solid #d0d0d0;
  margin-left: 8px;
  line-height: 1.3;
  white-space: nowrap;
  font-weight: 500;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

@media (min-width: 769px) {
  .lower-footer .pull-left span a.footer-legal-btn:first-of-type {
    margin-left: auto !important;
  }
}

.lower-footer .pull-left span a.footer-legal-btn:hover {
  background: #f7f7f7;
  opacity: 1;
}

@media (max-width: 768px) {
  .lower-footer .pull-left span {
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px 8px;
  }

  /* A capo forzato: testo copyright sopra, pulsanti sotto */
  .lower-footer .pull-left span::after {
    content: "";
    flex: 1 0 100%;
    width: 0;
    height: 0;
    order: 1;
  }

  .lower-footer .pull-left span a.footer-legal-btn {
    order: 2;
    margin: 0 !important;
  }

  /* Centra la coppia di pulsanti (annulla margin-left: auto del desktop) */
  .lower-footer .pull-left span a.footer-legal-btn:first-of-type {
    margin-left: auto !important;
  }

  .lower-footer .pull-left span a.footer-legal-btn:last-of-type {
    margin-right: auto !important;
  }
}

/* =========================================================
   OVERFLOW / VIEWPORT (telefono «sito desktop» + go-to-top)
   LeadEngine mette .back-to-top a right:-50px → fascia scroll a destra.
   ========================================================= */

html {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  position: relative !important;
}

#wrapper,
#page-content,
.site-content,
.container {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.back-to-top,
body .back-to-top,
#wrapper ~ .back-to-top {
  right: 16px !important;
  left: auto !important;
  bottom: 90px !important;
  background: whitesmoke !important;
  color: #000000 !important;
}

.back-to-top i,
.back-to-top .fa,
body .back-to-top i {
  color: #000000 !important;
}


/* =========================================================
   MINI-CARRELLO LEADENGINE
   ========================================================= */

.keydesign-cart .keydesign-cart-dropdown li.buttons a.btn {
  font-size: 0 !important;
}

.keydesign-cart .keydesign-cart-dropdown li.buttons a.btn i,
.keydesign-cart .keydesign-cart-dropdown li.buttons a.btn .fa,
.keydesign-cart .keydesign-cart-dropdown li.buttons a.btn .fas {
  display: none !important;
}

.keydesign-cart .keydesign-cart-dropdown li.buttons a.btn::after {
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

.keydesign-cart .keydesign-cart-dropdown li.buttons a.wc-forward:not(.checkout)::after {
  content: "Carrello";
}

.keydesign-cart .keydesign-cart-dropdown li.buttons a.checkout::after {
  content: "Cassa";
}


/* =========================================================
   WOOCOMMERCE CHECKOUT — multi-step + sticky (stile carrello)
   Richiede [woocommerce_checkout] e Fluid Checkout OFF
   ========================================================= */

/* Footer del tema è fixed: lascia spazio sotto e evita overlap */
body.woocommerce-checkout #wrapper,
body.woocommerce-checkout #page-content,
body.woocommerce-checkout #single-page,
body.woocommerce-checkout #main,
body.woocommerce-checkout #wrapper > .container,
body.woocommerce-checkout .container,
body.woocommerce-checkout .row,
body.woocommerce-checkout .vc_row,
body.woocommerce-checkout .vc_column_container,
body.woocommerce-checkout .vc_column-inner,
body.woocommerce-checkout .wpb_wrapper {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
  transform: none !important;
}

body.woocommerce-checkout #wrapper.hide-title-section {
  padding-top: 140px !important;
  padding-bottom: 90px !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .entry-header.single-page-header,
body.woocommerce-checkout .entry-header.with-topbar,
body.woocommerce-page.woocommerce-checkout .entry-header,
body.woocommerce-page.woocommerce-checkout .entry-header.with-topbar {
  padding: 140px 24px 8px !important;
  margin: 0 0 8px !important;
  min-height: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .entry-header .single-page-heading,
body.woocommerce-checkout .entry-header .blog-title-left,
body.woocommerce-checkout .entry-header .row,
body.woocommerce-checkout .entry-header .container {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

body.woocommerce-checkout .entry-header .section-heading,
body.woocommerce-checkout h1.section-heading {
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(26px, 3.5vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.8px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 901px) {
  body.woocommerce-checkout #wrapper.hide-title-section {
    padding-top: 140px !important;
  }
}

body.woocommerce-checkout #footer,
body.woocommerce-checkout .lower-footer,
body.woocommerce-checkout footer {
  z-index: 40 !important;
}

body.woocommerce-checkout #single-page .woocommerce,
body.woocommerce-checkout .woocommerce {
  max-width: min(1180px, 100%) !important;
  margin: 0 auto !important;
  padding: 8px 16px 24px !important;
  box-sizing: border-box !important;
  float: none !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.woocommerce-checkout form.checkout.mp-checkout-ready {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
}

body.woocommerce-checkout .mp-license-code-field input.input-text {
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

body.woocommerce-checkout .mp-license-code-field .description,
body.woocommerce-checkout .mp-license-code-field span {
  font-size: 12px !important;
  color: var(--mp-muted, #5f6d86) !important;
}

body.woocommerce-checkout .wcpay-express-checkout-wrapper,
body.woocommerce-checkout .wcpay-payment-request-wrapper,
body.woocommerce-checkout #wcpay-express-checkout-element,
body.woocommerce-checkout .woocommerce-checkout-payment-request,
body.woocommerce-checkout #wc-stripe-payment-request-wrapper,
body.woocommerce-checkout .express-checkouts,
body.woocommerce-checkout .wc-proceed-to-checkout {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  padding-top: 0 !important;
}

body.woocommerce-checkout .mp-checkout-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}

@media (min-width: 901px) {
  body.woocommerce-checkout .mp-checkout-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.9fr) !important;
    gap: 18px !important;
  }

  /* Colonna alta quanto gli step: senza questo sticky non ha range di scorrimento */
  body.woocommerce-checkout .mp-checkout-aside {
    position: relative !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout .mp-checkout-summary {
    position: sticky !important;
    top: 100px !important;
    z-index: 5 !important;
  }
}

body.woocommerce-checkout .mp-checkout-main,
body.woocommerce-checkout .mp-checkout-aside {
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

body.woocommerce-checkout .mp-checkout-steps {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.woocommerce-checkout .mp-cstep {
  background: #fff !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, 0.06) !important;
  overflow: hidden !important;
}

body.woocommerce-checkout .mp-cstep__head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mp-ink, #14213d) !important;
  text-align: left !important;
  cursor: default !important;
  box-shadow: none !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

body.woocommerce-checkout .mp-cstep.is-done .mp-cstep__head,
body.woocommerce-checkout .mp-cstep.is-open .mp-cstep__head {
  cursor: pointer !important;
}

body.woocommerce-checkout .mp-cstep__index {
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--mp-soft, #f5f8ff) !important;
  color: #1565ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.woocommerce-checkout .mp-cstep.is-open .mp-cstep__index,
body.woocommerce-checkout .mp-cstep.is-done .mp-cstep__index {
  background: #1565ff !important;
  color: #fff !important;
}

body.woocommerce-checkout .mp-cstep__title-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}

body.woocommerce-checkout .mp-cstep__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.woocommerce-checkout .mp-cstep__summary {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--mp-muted, #5f6d86) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.woocommerce-checkout .mp-cstep__login {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1565ff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  align-self: center !important;
}

body.woocommerce-checkout .mp-cstep__login:hover {
  color: #0b4fd6 !important;
  text-decoration: underline !important;
}

body.woocommerce-checkout .mp-cstep__edit {
  display: none !important;
  flex: 0 0 auto !important;
  color: #1565ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.woocommerce-checkout .mp-cstep.is-done .mp-cstep__edit {
  display: inline !important;
}

body.woocommerce-checkout .mp-cstep__body {
  display: none !important;
  padding: 0 14px 14px !important;
  border-top: 1px solid var(--mp-line, #dfe7f4) !important;
}

body.woocommerce-checkout .mp-cstep.is-open .mp-cstep__body {
  display: block !important;
}

body.woocommerce-checkout .mp-cstep.is-todo .mp-cstep__head {
  opacity: 0.55 !important;
}

body.woocommerce-checkout .mp-cstep__fields {
  padding-top: 12px !important;
}

body.woocommerce-checkout .mp-cstep__fields .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .mp-cstep__fields .woocommerce-shipping-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 12px !important;
}

body.woocommerce-checkout .mp-cstep__fields .form-row {
  margin: 0 0 10px !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

body.woocommerce-checkout .mp-cstep__fields .form-row-first,
body.woocommerce-checkout .mp-cstep__fields .form-row-last {
  width: calc(50% - 6px) !important;
}

body.woocommerce-checkout .mp-cstep__fields .form-row-first {
  float: none !important;
}

body.woocommerce-checkout .mp-cstep__fields .form-row-last {
  float: none !important;
}

body.woocommerce-checkout .mp-cstep__fields label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mp-ink, #14213d) !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout .mp-cstep__fields input.input-text,
body.woocommerce-checkout .mp-cstep__fields textarea,
body.woocommerce-checkout .mp-cstep__fields select,
body.woocommerce-checkout .mp-cstep__fields .select2-selection {
  min-height: 38px !important;
  height: 38px !important;
  padding: 6px 10px !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--mp-ink, #14213d) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .mp-cstep__fields textarea {
  height: auto !important;
  min-height: 72px !important;
}

body.woocommerce-checkout .mp-cstep__fields .select2-container .select2-selection--single {
  height: 38px !important;
}

body.woocommerce-checkout .mp-cstep__fields .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 36px !important;
  font-size: 13px !important;
  padding-left: 10px !important;
}

body.woocommerce-checkout .mp-cstep__fields .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 36px !important;
}

body.woocommerce-checkout .mp-cstep__fields input.input-text:focus,
body.woocommerce-checkout .mp-cstep__fields textarea:focus,
body.woocommerce-checkout .mp-cstep__fields select:focus {
  border-color: #1565ff !important;
  outline: none !important;
}

body.woocommerce-checkout .mp-cstep__nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
  margin-top: 4px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--mp-line, #dfe7f4) !important;
}

body.woocommerce-checkout .mp-cstep__nav--payment {
  display: none !important;
}

body.woocommerce-checkout .mp-cstep__back,
body.woocommerce-checkout .mp-cstep__next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .mp-cstep__back {
  background: #fff !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  color: var(--mp-ink, #14213d) !important;
}

body.woocommerce-checkout .mp-cstep__back:hover {
  border-color: #1565ff !important;
  color: #1565ff !important;
  background: var(--mp-soft, #f5f8ff) !important;
}

body.woocommerce-checkout .mp-cstep__next {
  background: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(21, 101, 255, 0.14) !important;
}

body.woocommerce-checkout .mp-cstep__next:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

/* Riepilogo ordine — layout moderno e compatto */
body.woocommerce-checkout .mp-checkout-summary {
  background: #fff !important;
  border: 1px solid #e6edf8 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(20, 33, 61, 0.07) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

body.woocommerce-checkout .mp-checkout-summary__title {
  margin: 0 !important;
  padding: 12px 16px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #14213d !important;
  background: #f5f8ff !important;
  border-bottom: 1px solid #e6edf8 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

body.woocommerce-checkout .mp-checkout-summary table.shop_table,
body.woocommerce-checkout .mp-checkout-summary table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
  background: transparent !important;
  font-size: 12px !important;
}

body.woocommerce-checkout .mp-checkout-summary table thead {
  display: none !important;
}

body.woocommerce-checkout .mp-checkout-summary table.shop_table th,
body.woocommerce-checkout .mp-checkout-summary table.shop_table td,
body.woocommerce-checkout .mp-checkout-summary table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .mp-checkout-summary table.woocommerce-checkout-review-order-table td {
  display: table-cell !important;
  float: none !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f8 !important;
  padding: 10px 14px !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #14213d !important;
  vertical-align: middle !important;
  max-width: none !important;
}

/* Prodotti: nome usa lo spazio, qty e prezzo restano stretti */
body.woocommerce-checkout .mp-checkout-summary tr.mp-summary-flat > td.mp-summary-cell-main {
  width: auto !important;
  padding: 10px 8px 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f8 !important;
  background: #fff !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .mp-checkout-summary tr.mp-summary-flat > td.mp-summary-cell-price {
  width: 1% !important;
  padding: 10px 14px 10px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f8 !important;
  background: #fff !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #14213d !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-summary-main {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-summary-name {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  float: none !important;
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: #14213d !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-checkout-qty {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  float: none !important;
}

body.woocommerce-checkout .mp-checkout-summary tr.mp-summary-flat .amount,
body.woocommerce-checkout .mp-checkout-summary tr.mp-summary-flat .woocommerce-Price-amount,
body.woocommerce-checkout .mp-checkout-summary tr.mp-summary-flat bdi {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #14213d !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-checkout-qty .quantity.mp-qty-stepper,
body.woocommerce-checkout .mp-checkout-summary .quantity.mp-qty-stepper {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 40px !important;
  margin: 0 !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  padding: 0 !important;
  float: none !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-qty-minus,
body.woocommerce-checkout .mp-checkout-summary .mp-qty-plus {
  flex: 0 0 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mp-soft, #f5f8ff) !important;
  color: var(--mp-ink, #14213d) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-qty-minus {
  border-right: 1px solid var(--mp-line, #dfe7f4) !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-qty-plus {
  border-left: 1px solid var(--mp-line, #dfe7f4) !important;
}

body.woocommerce-checkout .mp-checkout-summary .mp-qty-minus:hover,
body.woocommerce-checkout .mp-checkout-summary .mp-qty-plus:hover {
  background: #e7f0ff !important;
  color: var(--mp-blue, #1565ff) !important;
}

body.woocommerce-checkout .mp-checkout-summary .quantity input.qty {
  flex: 1 1 auto !important;
  width: 40px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--mp-ink, #14213d) !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  pointer-events: none !important;
}

body.woocommerce-checkout .mp-checkout-summary .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-checkout .mp-checkout-summary .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.woocommerce-checkout .mp-checkout-summary .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

body.woocommerce-checkout .mp-checkout-summary.is-updating {
  opacity: 0.72 !important;
  pointer-events: none !important;
}

/* Blocco totali: dentro il box, 2 colonne fisse */
body.woocommerce-checkout .mp-checkout-summary table tfoot th,
body.woocommerce-checkout .mp-checkout-summary table tfoot td {
  float: none !important;
  box-sizing: border-box !important;
  max-width: none !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal th,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-total th,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-rate th,
body.woocommerce-checkout .mp-checkout-summary table tr.shipping th,
body.woocommerce-checkout .mp-checkout-summary table tr.fee th,
body.woocommerce-checkout .mp-checkout-summary table tr.woocommerce-shipping-totals th,
body.woocommerce-checkout .mp-checkout-summary table tr.order-total th {
  width: auto !important;
  text-align: left !important;
  padding: 10px 8px 10px 14px !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal td,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-total td,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-rate td,
body.woocommerce-checkout .mp-checkout-summary table tr.shipping td,
body.woocommerce-checkout .mp-checkout-summary table tr.fee td,
body.woocommerce-checkout .mp-checkout-summary table tr.woocommerce-shipping-totals td,
body.woocommerce-checkout .mp-checkout-summary table tr.order-total td {
  width: 1% !important;
  text-align: right !important;
  padding: 10px 14px 10px 8px !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal th,
body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal td,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-total th,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-total td,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-rate th,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-rate td,
body.woocommerce-checkout .mp-checkout-summary table tr.shipping th,
body.woocommerce-checkout .mp-checkout-summary table tr.shipping td,
body.woocommerce-checkout .mp-checkout-summary table tr.fee th,
body.woocommerce-checkout .mp-checkout-summary table tr.fee td,
body.woocommerce-checkout .mp-checkout-summary table tr.woocommerce-shipping-totals th,
body.woocommerce-checkout .mp-checkout-summary table tr.woocommerce-shipping-totals td {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #5f6d86 !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal td,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-total td,
body.woocommerce-checkout .mp-checkout-summary table tr.tax-rate td,
body.woocommerce-checkout .mp-checkout-summary table tr.shipping td,
body.woocommerce-checkout .mp-checkout-summary table tr.fee td {
  color: #14213d !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal th,
body.woocommerce-checkout .mp-checkout-summary table tr.cart-subtotal td {
  border-top: 1px solid #e6edf8 !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.order-total th,
body.woocommerce-checkout .mp-checkout-summary table tr.order-total td {
  border-bottom: 0 !important;
  background: #f5f8ff !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #14213d !important;
  vertical-align: middle !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.order-total .amount,
body.woocommerce-checkout .mp-checkout-summary table tr.order-total .woocommerce-Price-amount {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #1565ff !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .mp-checkout-summary table tr.order-total small,
body.woocommerce-checkout .mp-checkout-summary table tr.order-total .includes_tax,
body.woocommerce-checkout .mp-checkout-summary table tr.order-total .tax_label {
  display: block !important;
  margin-top: 3px !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: #5f6d86 !important;
  line-height: 1.3 !important;
}

body.woocommerce-checkout .mp-checkout-summary table tfoot tr:last-child th,
body.woocommerce-checkout .mp-checkout-summary table tfoot tr:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-checkout .mp-checkout-summary table img,
body.woocommerce-checkout .mp-checkout-summary .attachment-woocommerce_thumbnail {
  display: none !important;
}

body.woocommerce-checkout .mp-cstep[data-step="payment"] #payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .mp-cstep[data-step="payment"] #payment ul.payment_methods {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

body.woocommerce-checkout .mp-cstep[data-step="payment"] #payment ul.payment_methods > li {
  margin: 0 0 8px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 13px !important;
}

body.woocommerce-checkout .mp-cstep[data-step="payment"] #payment div.form-row.place-order {
  margin: 12px 0 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--mp-line, #dfe7f4) !important;
}

body.woocommerce-checkout .mp-cstep[data-step="payment"] #payment #place_order,
body.woocommerce-checkout #place_order {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  background: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 6px 16px rgba(21, 101, 255, 0.16) !important;
}

body.woocommerce-checkout .mp-cstep[data-step="payment"] #payment #place_order:hover,
body.woocommerce-checkout #place_order:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  max-width: min(1100px, 100%) !important;
  margin: 0 auto 10px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  font-size: 13px !important;
}

body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout form.woocommerce-form-login {
  display: none !important;
}

body.mp-login-open {
  overflow: hidden;
}

.mp-login-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.mp-login-modal[hidden] {
  display: none !important;
}

.mp-login-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 33, 61, 0.55);
  backdrop-filter: blur(2px);
  cursor: pointer;
}

.mp-login-dialog {
  position: relative;
  z-index: 1;
  width: min(420px, 100%);
  background: #fff;
  color: var(--mp-ink, #14213d);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(20, 33, 61, 0.28);
  padding: 28px 28px 24px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.mp-login-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #f5f8ff;
  color: #5f6d86;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.mp-login-close:hover {
  color: #14213d;
  background: #e7f0ff;
}

.mp-login-dialog h3 {
  margin: 0 32px 16px 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--mp-ink, #14213d);
}

body.woocommerce-checkout .mp-login-dialog form.woocommerce-form-login {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.mp-login-dialog form.woocommerce-form-login > p {
  margin: 0 0 12px !important;
  float: none !important;
  width: 100% !important;
  font-size: 14px;
  color: var(--mp-muted, #5f6d86);
}

.mp-login-dialog form.woocommerce-form-login .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

.mp-login-dialog form.woocommerce-form-login label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mp-ink, #14213d) !important;
  margin: 0 0 4px !important;
}

.mp-login-dialog form.woocommerce-form-login input.input-text,
.mp-login-dialog form.woocommerce-form-login input[type="text"],
.mp-login-dialog form.woocommerce-form-login input[type="password"] {
  width: 100% !important;
  min-height: 42px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--mp-ink, #14213d) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.mp-login-dialog form.woocommerce-form-login .woocommerce-form-login__submit,
.mp-login-dialog form.woocommerce-form-login button[type="submit"],
.mp-login-dialog form.woocommerce-form-login input[type="submit"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 8px 0 0 !important;
  border-radius: 10px !important;
  background: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: 0 6px 16px rgba(21, 101, 255, 0.16) !important;
}

.mp-login-dialog form.woocommerce-form-login .lost_password {
  margin: 12px 0 0 !important;
  text-align: center !important;
}

.mp-login-dialog form.woocommerce-form-login .lost_password a {
  color: #1565ff !important;
  font-weight: 600 !important;
}

/* Coupon: originale nascosto; nel riepilogo UI dedicata (niente form annidato) */
body.woocommerce-checkout .mp-coupon-original-hidden,
body.woocommerce-checkout.mp-checkout-multistep .woocommerce > .woocommerce-form-coupon-toggle,
body.woocommerce-checkout.mp-checkout-multistep .woocommerce > form.checkout_coupon,
body.woocommerce-checkout #order_review.mp-order-review-shell,
body.woocommerce-checkout #order_review[hidden] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

body.woocommerce-checkout .mp-checkout-coupon-row td {
  padding: 10px 16px 12px !important;
  border-bottom: 1px solid #eef2f8 !important;
  background: #fff !important;
}

body.woocommerce-checkout .mp-checkout-coupon {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-toggle {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1565ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  text-align: left !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-toggle:hover {
  color: #04885C !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-panel {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: stretch !important;
  margin-top: 8px !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-panel[hidden] {
  display: none !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-code {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid #e6edf8 !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-apply {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  background: #1565ff !important;
  border: 1px solid #1565ff !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-apply:hover {
  background: transparent !important;
  border-color: #04885C !important;
  color: #04885C !important;
}

body.woocommerce-checkout .mp-checkout-coupon .mp-coupon-msg {
  width: 100% !important;
  margin-top: 6px !important;
  font-size: 11px !important;
  color: #c62828 !important;
}

body.woocommerce-checkout .mp-checkout-coupon.is-busy {
  opacity: 0.7 !important;
  pointer-events: none !important;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
  border-radius: 10px !important;
  border: 0 !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
}

@media (max-width: 900px) {
  body.woocommerce-checkout #wrapper.hide-title-section {
    padding-top: 110px !important;
    padding-bottom: 90px !important;
  }

  body.woocommerce-checkout .entry-header,
  body.woocommerce-checkout .entry-header.with-topbar {
    padding: 110px 14px 8px !important;
  }

  body.woocommerce-checkout .mp-checkout-layout {
    display: flex !important;
    flex-direction: column !important;
  }

  body.woocommerce-checkout .mp-checkout-aside {
    position: static !important;
    order: -1 !important;
  }

  body.woocommerce-checkout .mp-checkout-summary {
    position: static !important;
  }

  body.woocommerce-checkout .mp-checkout-main {
    order: 1 !important;
  }

  body.woocommerce-checkout .mp-cstep__fields .form-row-first,
  body.woocommerce-checkout .mp-cstep__fields .form-row-last {
    width: 100% !important;
  }
}


/* =========================================================
   WOOCOMMERCE ORDINE CONFERMATO (thank you)
   ========================================================= */

body.woocommerce-order-received .woocommerce-order {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  max-width: min(860px, 100%) !important;
  margin: 0 auto !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  color: var(--mp-ink, #14213d) !important;
}

body.woocommerce-order-received .woocommerce-order > .woocommerce-notice,
body.woocommerce-order-received .woocommerce-order > p.woocommerce-thankyou-order-received {
  order: 0;
}

body.woocommerce-order-received .woocommerce-order > ul.woocommerce-order-overview {
  order: 1;
}

body.woocommerce-order-received .woocommerce-order > .mp-license-thankyou {
  order: 2;
}

body.woocommerce-order-received .woocommerce-order > .woocommerce-order-details {
  order: 3;
}

body.woocommerce-order-received .woocommerce-order > .woocommerce-customer-details {
  order: 4;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received p.woocommerce-notice--success {
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(90deg, #0b3a91, #1565ff 62%, #1fa828) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, 0.12) !important;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::before,
body.woocommerce-order-received p.woocommerce-notice--success::before {
  content: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-order-received ul.woocommerce-order-overview::after,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview::before,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 6px !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-height: 92px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-right: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, 0.06) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: var(--mp-muted, #5f6d86) !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
  list-style: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li::before,
body.woocommerce-order-received ul.woocommerce-order-overview li::after,
body.woocommerce-order-received ul.woocommerce-order-overview li::marker,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li::before,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li::after,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li::marker {
  content: none !important;
  display: none !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li:first-child,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li:first-child {
  margin-left: 0 !important;
  padding-left: 16px !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--mp-ink, #14213d) !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li img,
body.woocommerce-order-received ul.order_details.woocommerce-order-overview li img {
  height: 22px !important;
  width: auto !important;
  margin: 0 6px 0 0 !important;
  vertical-align: middle !important;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  margin: 0 !important;
  padding: 20px 22px !important;
  border: 1px solid var(--mp-line, #dfe7f4) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, 0.06) !important;
}

body.woocommerce-order-received .woocommerce-order-details h2,
body.woocommerce-order-received .woocommerce-customer-details h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.3px !important;
  color: var(--mp-ink, #14213d) !important;
  text-transform: none !important;
}

body.woocommerce-order-received table.shop_table.order_details,
body.woocommerce-order-received table.woocommerce-table--order-details {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
}

body.woocommerce-order-received table.shop_table.order_details th,
body.woocommerce-order-received table.shop_table.order_details td {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #eef3fb !important;
  background: transparent !important;
  font-size: 14px !important;
  color: var(--mp-ink, #14213d) !important;
  text-align: left !important;
}

body.woocommerce-order-received table.shop_table.order_details tfoot th,
body.woocommerce-order-received table.shop_table.order_details tfoot td {
  font-weight: 600 !important;
}

body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td,
body.woocommerce-order-received table.shop_table.order_details tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--mp-blue, #1565ff) !important;
}

body.woocommerce-order-received table.shop_table.order_details a {
  color: var(--mp-blue, #1565ff) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--mp-ink, #14213d) !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--phone {
  margin-top: 6px !important;
}

body.woocommerce-order-received .mp-license-thankyou {
  margin: 0 !important;
  padding: 20px 22px !important;
  border-radius: 14px !important;
  background: #f5f8ff !important;
  border: 2px solid #1565ff !important;
  box-shadow: 0 12px 32px rgba(21, 101, 255, 0.12) !important;
}

body.woocommerce-order-received .mp-license-thankyou h2,
.woocommerce-account .mp-license-thankyou h2 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.3px !important;
  text-transform: none !important;
  color: #1565ff !important;
  font-size: 20px !important;
}

body.woocommerce-order-received .mp-license-thankyou__intro,
.woocommerce-account .mp-license-thankyou__intro {
  margin: 0 0 14px !important;
  color: var(--mp-muted, #5f6d86) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.woocommerce-order-received ul.mp-license-codes,
.woocommerce-account ul.mp-license-codes {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.woocommerce-order-received .mp-license-code-card,
.woocommerce-account .mp-license-code-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #dfe7f4 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

body.woocommerce-order-received .mp-license-code,
.woocommerce-account .mp-license-code {
  display: block !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: var(--mp-blue, #1565ff) !important;
  user-select: all !important;
  background: transparent !important;
}

body.woocommerce-order-received .mp-license-meta,
.woocommerce-account .mp-license-meta {
  display: block !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  color: var(--mp-ink, #14213d) !important;
  text-transform: none !important;
}

body.woocommerce-order-received .mp-license-meta strong,
.woocommerce-account .mp-license-meta strong {
  font-weight: 800 !important;
  color: var(--mp-ink, #14213d) !important;
}

body.woocommerce-order-received .mp-license-expiry,
.woocommerce-account .mp-license-expiry {
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--mp-muted, #5f6d86) !important;
}

body.woocommerce-order-received .woocommerce-order-downloads {
  display: none !important;
}

@media (max-width: 900px) {
  body.woocommerce-order-received ul.woocommerce-order-overview,
  body.woocommerce-order-received ul.order_details.woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-order-received ul.woocommerce-order-overview,
  body.woocommerce-order-received ul.order_details.woocommerce-order-overview {
    grid-template-columns: 1fr !important;
  }
}
