
:root {
  --mgx-ink: #0D2A3D;
  --mgx-cream: #EFEBE7;
  --mgx-paper: #FFF9F9;
  --mgx-salmon: #D7644D;
  --mgx-salmon-dark: #D7644D;
  --mgx-muted: rgba(13, 42, 61, 0.66);
  --mgx-line: rgba(13, 42, 61, 0.15);
  --mgx-display: "Libre Baskerville", "Baskerville", "Times New Roman", serif;
  --mgx-stencil: "Stardos Stencil", "Libre Baskerville", serif;
  --mgx-sans: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  /*
   * Copia di sicurezza dei token usati da .mgx-cm-* (nati per la pagina
   * Carrello): qui a livello globale servono da fallback per chi riusa quelle
   * classi altrove (es. il pulsante CTA nel checkout) — .mgx-cart-modern
   * mantiene la propria copia locale, che vince comunque per specificità.
   */
  --cm-ui: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  --cm-cream: #EFEBE7;
  --cm-line: rgba(13, 42, 61, .10);
  --cm-line-strong: rgba(13, 42, 61, .16);
  --cm-ok: #2f8f5b;
  --cm-r-lg: 18px;
  --cm-r-md: 12px;
  --cm-r-sm: 10px;
}
/* 3.15.6 — pagine legali e commerciali */
.mgx-legal-shell {
  background: var(--mgx-paper);
  color: var(--mgx-ink);
}

.mgx-legal-main {
  min-height: 70vh;
  background-color: var(--mgx-paper);
  background-image: url("trama.png");
  background-repeat: repeat;
  background-size: 340px auto;
}

.mgx-legal-hero {
  display: grid;
  min-height: 510px;
  align-content: end;
  padding: 90px clamp(28px, 7vw, 110px) 76px;
  background: var(--mgx-ink);
  color: var(--mgx-paper);
}

.mgx-legal-hero > p {
  margin: 0 0 18px;
  color: var(--mgx-salmon);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mgx-legal-hero h1 {
  max-width: 1020px;
  margin: 0;
  color: var(--mgx-paper);
  font-family: var(--mgx-stencil);
  font-size: clamp(56px, 8vw, 112px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: .9;
  text-transform: uppercase;
}

.mgx-legal-hero h1 em {
  color: var(--mgx-salmon);
  font-style: normal;
}

.mgx-legal-hero > span {
  max-width: 650px;
  margin-top: 30px;
  color: rgba(255,249,249,.78);
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.65;
}

.mgx-legal-hero > small {
  margin-top: 28px;
  color: rgba(255,249,249,.52);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mgx-legal-layout {
  display: grid;
  grid-template-columns: minmax(210px, 280px) minmax(0, 840px);
  gap: clamp(44px, 8vw, 120px);
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
  padding: 100px 0 112px;
}

.mgx-legal-layout > aside {
  position: sticky;
  top: 118px;
  align-self: start;
  padding: 28px 0;
  border-top: 2px solid var(--mgx-ink);
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-legal-layout > aside strong {
  display: block;
  font-family: var(--mgx-display);
  font-size: 22px;
}

.mgx-legal-layout > aside p {
  margin: 12px 0 22px;
  color: var(--mgx-muted);
  font-size: 15px;
  line-height: 1.65;
}

.mgx-legal-layout > aside a {
  color: var(--mgx-salmon);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.mgx-legal-content section {
  position: relative;
  padding: 0 0 58px 82px;
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-legal-content section + section {
  padding-top: 58px;
}

.mgx-legal-content section > span {
  position: absolute;
  top: 4px;
  left: 0;
  color: var(--mgx-salmon);
  font-family: var(--mgx-display);
  font-size: 24px;
  font-style: italic;
}

.mgx-legal-content section + section > span {
  top: 62px;
}

.mgx-legal-content h2 {
  margin: 0 0 22px;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.18;
}

.mgx-legal-content p,
.mgx-legal-content dd {
  margin: 0;
  color: rgba(13,42,61,.76);
  font-size: 17px;
  line-height: 1.8;
}

.mgx-legal-content p + p {
  margin-top: 18px;
}

.mgx-legal-content a {
  color: var(--mgx-salmon);
  font-weight: 700;
  text-underline-offset: 3px;
}

.mgx-legal-content dl {
  display: grid;
  gap: 0;
  margin: 28px 0 0;
  border-top: 1px solid var(--mgx-line);
}

.mgx-legal-content dl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  padding: 17px 0;
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-legal-content dt {
  color: var(--mgx-salmon);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mgx-legal-rates {
  display: grid;
  gap: 12px;
  margin: 8px 0 24px;
}

.mgx-legal-rates > div {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(150px, 1fr) minmax(150px, 1fr);
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  background: var(--mgx-cream);
}

.mgx-legal-rates span {
  color: var(--mgx-salmon);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mgx-legal-rates strong {
  font-size: 15px;
}

.mgx-legal-rates small {
  color: var(--mgx-muted);
  font-size: 13px;
  line-height: 1.45;
}

.mgx-legal-note {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 34px max(24px, calc((100% - 1172px) / 2));
  background: var(--mgx-salmon);
  color: var(--mgx-paper);
}

.mgx-legal-note strong {
  font-family: var(--mgx-display);
  font-size: clamp(20px, 2vw, 28px);
}

.mgx-legal-note span {
  align-self: center;
  font-size: 14px;
}

@media (max-width: 820px) {
  .mgx-legal-hero {
    min-height: 430px;
    padding: 72px 24px 54px;
  }

  .mgx-legal-hero h1 {
    font-size: clamp(48px, 15vw, 72px);
    line-height: .92;
    overflow-wrap: anywhere;
  }

  .mgx-legal-layout {
    grid-template-columns: 1fr;
    gap: 54px;
    width: min(100% - 40px, 720px);
    padding: 70px 0 80px;
  }

  .mgx-legal-layout > aside {
    position: static;
  }

  .mgx-legal-content section,
  .mgx-legal-content section + section {
    padding-left: 48px;
  }

  .mgx-legal-content section > span {
    font-size: 19px;
  }

  .mgx-legal-content dl > div,
  .mgx-legal-rates > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .mgx-legal-note {
    flex-direction: column;
    padding: 28px 22px;
  }
}

@media (max-width: 480px) {
  .mgx-legal-hero h1 {
    font-size: clamp(43px, 14vw, 62px);
  }

  .mgx-legal-content section,
  .mgx-legal-content section + section {
    padding-left: 0;
    padding-top: 54px;
  }

  .mgx-legal-content section:first-child {
    padding-top: 54px;
  }

  .mgx-legal-content section > span,
  .mgx-legal-content section + section > span {
    top: 18px;
  }

  .mgx-legal-content p,
  .mgx-legal-content dd {
    font-size: 16px;
  }
}


body.mgx-full-page {
  margin: 0;
  padding: 0;
  background: var(--mgx-paper);
}

.mgx-page-frame {
  width: 100%;
  min-height: 100vh;
}

.mgx-shop,
.mgx-shop * {
  box-sizing: border-box;
}

.mgx-shop {
  margin: 0;
  overflow: hidden;
  background: var(--mgx-paper);
  background-image: url("trama.png");
  background-size: 720px 900px;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
  -webkit-font-smoothing: antialiased;
}

/* Elementor: i blocchi Mastro Giuliano devono formare un'unica pagina verticale. */
.elementor-widget-mastrogiuliano_section,
.elementor-widget-mastrogiuliano_catalogue,
.elementor-widget-mastrogiuliano_home_complete,
.elementor-widget-mastrogiuliano_shop_complete {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  --flex-grow: 1;
  --flex-shrink: 0;
}

.mgx-block-stack,
.e-con:has(> .elementor-widget-mastrogiuliano_section),
.e-con:has(> .elementor-widget-mastrogiuliano_catalogue),
.e-con:has(> .elementor-widget-mastrogiuliano_home_complete),
.e-con:has(> .elementor-widget-mastrogiuliano_shop_complete) {
  width: 100%;
  max-width: none;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  padding: 0 !important;
  background-color: var(--mgx-paper);
  background-image: linear-gradient(rgba(255, 249, 249, 0.74), rgba(255, 249, 249, 0.74)), url("trama.png");
  background-position: center top;
  background-size: auto, 720px 900px;
}

/* Elementor inserisce i widget progressivamente nell'anteprima. Manteniamo
   verticali anche i contenitori intermedi senza spostare elementi nel DOM. */
.e-con:has(.elementor-widget-mastrogiuliano_section),
.e-con:has(.elementor-widget-mastrogiuliano_catalogue),
.e-con:has(.elementor-widget-mastrogiuliano_home_complete),
.e-con:has(.elementor-widget-mastrogiuliano_shop_complete),
body.elementor-editor-active .e-con:has(.elementor-widget-mastrogiuliano_section),
body.elementor-editor-active .e-con:has(.elementor-widget-mastrogiuliano_catalogue),
body.elementor-editor-active .e-con:has(.elementor-widget-mastrogiuliano_home_complete),
body.elementor-editor-active .e-con:has(.elementor-widget-mastrogiuliano_shop_complete),
body.elementor-editor-preview .e-con:has(.elementor-widget-mastrogiuliano_section),
body.elementor-editor-preview .e-con:has(.elementor-widget-mastrogiuliano_catalogue),
body.elementor-editor-preview .e-con:has(.elementor-widget-mastrogiuliano_home_complete),
body.elementor-editor-preview .e-con:has(.elementor-widget-mastrogiuliano_shop_complete),
.elementor-edit-area .e-con:has(.elementor-widget-mastrogiuliano_section),
.elementor-edit-area .e-con:has(.elementor-widget-mastrogiuliano_catalogue),
.elementor-edit-area .e-con:has(.elementor-widget-mastrogiuliano_home_complete),
.elementor-edit-area .e-con:has(.elementor-widget-mastrogiuliano_shop_complete) {
  --width: 100%;
  --content-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

body.elementor-editor-active .elementor-widget-mastrogiuliano_section,
body.elementor-editor-active .elementor-widget-mastrogiuliano_catalogue,
body.elementor-editor-active .elementor-widget-mastrogiuliano_home_complete,
body.elementor-editor-active .elementor-widget-mastrogiuliano_shop_complete,
body.elementor-editor-preview .elementor-widget-mastrogiuliano_section,
body.elementor-editor-preview .elementor-widget-mastrogiuliano_catalogue,
body.elementor-editor-preview .elementor-widget-mastrogiuliano_home_complete,
body.elementor-editor-preview .elementor-widget-mastrogiuliano_shop_complete,
.elementor-edit-area .elementor-widget-mastrogiuliano_section,
.elementor-edit-area .elementor-widget-mastrogiuliano_catalogue,
.elementor-edit-area .elementor-widget-mastrogiuliano_home_complete,
.elementor-edit-area .elementor-widget-mastrogiuliano_shop_complete {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  flex: 0 0 auto !important;
  position: relative !important;
  inset: auto !important;
  writing-mode: horizontal-tb !important;
}

body.elementor-editor-active .mgx-elementor-section,
body.elementor-editor-active .mgx-elementor-catalogue,
body.elementor-editor-preview .mgx-elementor-section,
body.elementor-editor-preview .mgx-elementor-catalogue {
  width: 100% !important;
  min-width: 100% !important;
  writing-mode: horizontal-tb !important;
}

.mgx-elementor-section,
.mgx-elementor-catalogue {
  width: 100%;
  max-width: 100%;
  overflow: clip;
  background-color: var(--mgx-paper);
  background-image: linear-gradient(rgba(255, 249, 249, 0.56), rgba(255, 249, 249, 0.56)), url("trama.png");
  background-position: center, center top;
  background-size: auto, 720px 900px;
  background-attachment: scroll, fixed;
}

/* Quando sono presenti i nostri blocchi, evita il doppio header/footer del tema. */
body.mgx-custom-header-active #masthead,
body.mgx-custom-header-active .site-header,
body.mgx-custom-header-active .elementor-location-header,
body.mgx-custom-header-active header[data-elementor-type="header"],
body.mgx-custom-footer-active #colophon,
body.mgx-custom-footer-active .site-footer,
body.mgx-custom-footer-active .elementor-location-footer,
body.mgx-custom-footer-active footer[data-elementor-type="footer"] {
  display: none !important;
}

body.mgx-custom-header-active .mgx-module-header,
body.mgx-custom-footer-active .mgx-module-footer {
  display: grid !important;
}

.mgx-shop a {
  color: inherit;
  text-decoration: none;
}

.mgx-shop img {
  display: block;
  max-width: 100%;
}

.mgx-shop button,
.mgx-shop input {
  font: inherit;
}

.mgx-shop .screen-reader-text {
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.mgx-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--mgx-salmon-dark);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.mgx-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
}

.mgx-module-header {
  width: min(1380px, calc(100% - 64px));
  min-height: 96px;
  display: grid;
  grid-template-columns: auto minmax(320px, 1fr) auto auto;
  align-items: center;
  gap: 28px;
  margin: 0 auto;
  border-bottom: 1px solid var(--mgx-line);
  background: rgba(255, 249, 249, 0.92);
}

.mgx-module-brand {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.mgx-module-brand img {
  width: 66px;
  height: 66px;
  object-fit: contain;
}

.mgx-module-brand > span {
  display: flex;
  flex-direction: column;
}

.mgx-module-brand strong {
  font-family: var(--mgx-display);
  font-size: 20px;
  font-weight: 700;
}

.mgx-module-brand small {
  margin-top: 3px;
  color: var(--mgx-muted);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.mgx-module-header nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2vw, 32px);
}

.mgx-module-header nav a {
  padding: 13px 0;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-module-menu-toggle { display: none; }

.mgx-module-help {
  min-height: 43px;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--mgx-ink);
  color: white !important;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-module-cart {
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid var(--mgx-line);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mgx-cart-icon {
  width: 15px;
  height: 13px;
  position: relative;
  border: 1.5px solid currentColor;
  border-radius: 2px 2px 5px 5px;
}

.mgx-cart-icon::before {
  content: "";
  width: 7px;
  height: 5px;
  position: absolute;
  left: 2.5px;
  top: -6px;
  border: 1.5px solid currentColor;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
}

.mgx-cart-count {
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--mgx-salmon);
  color: white;
  font-size: 8px;
}

.mgx-hero {
  width: min(1380px, calc(100% - 64px));
  min-height: 680px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.75fr);
  gap: clamp(36px, 7vw, 120px);
  align-items: center;
  margin: 0 auto;
  position: relative;
  isolation: isolate;
}

.mgx-hero::after {
  content: "";
  width: min(52vw, 720px);
  height: 78%;
  position: absolute;
  right: -5vw;
  top: 11%;
  background-image: url("trama.png");
  background-position: center;
  background-size: 480px 600px;
  opacity: 0.82;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000 82%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 28%, #000 82%, transparent);
  z-index: -1;
}

.mgx-hero h1,
.mgx-heading h2,
.mgx-method h2,
.mgx-gift h2 {
  margin: 25px 0;
  font-family: var(--mgx-display);
  font-size: clamp(55px, 6vw, 95px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.93;
}

.mgx-shop h1 em,
.mgx-shop h2 em {
  color: var(--mgx-salmon);
  font-style: normal;
  font-weight: 400;
}

.mgx-hero h1,
.mgx-story__copy h2,
.mgx-values h2,
.mgx-heading h2,
.mgx-choice-guide h2,
.mgx-method h2,
.mgx-gift h2,
.mgx-recipes__hero h1,
.mgx-recipes__intro h2,
.mgx-recipe__content > h2,
.mgx-recipes__cta h2 {
  font-family: var(--mgx-stencil);
  font-weight: 700;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}

.mgx-hero__lead {
  max-width: 590px;
  margin: 0;
  color: #50616b;
  font-family: var(--mgx-display);
  font-size: 20px;
  line-height: 1.55;
}

.mgx-button {
  min-height: 52px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 23px;
  margin-top: 32px;
  padding: 0 24px;
  background: var(--mgx-ink);
  color: white !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease;
}

.mgx-button:hover {
  background: var(--mgx-salmon-dark);
  transform: translateY(-2px);
}

.mgx-assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  margin: 22px 0 0;
  padding: 0;
  color: var(--mgx-muted);
  list-style: none;
}

.mgx-assurances li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.mgx-assurances li span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mgx-cream);
  color: var(--mgx-salmon-dark);
}

.mgx-proof {
  max-width: 610px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  padding-top: 23px;
  border-top: 1px solid var(--mgx-line);
}

.mgx-proof div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0 18px;
  border-right: 1px solid var(--mgx-line);
}

.mgx-proof div:first-child {
  padding-left: 0;
}

.mgx-proof div:last-child {
  border: 0;
}

.mgx-proof strong {
  font-family: var(--mgx-display);
  font-size: 27px;
  font-weight: 500;
}

.mgx-proof span {
  color: var(--mgx-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.mgx-hero__visual {
  height: 590px;
  display: grid;
  place-items: center;
  position: relative;
}

.mgx-hero__circle {
  width: 410px;
  height: 410px;
  position: absolute;
  border: 1px solid rgba(8, 36, 54, 0.09);
  border-radius: 50%;
  background: var(--mgx-cream);
  box-shadow:
    0 0 0 48px rgba(8, 36, 54, 0.018),
    0 0 0 94px rgba(8, 36, 54, 0.012);
}

.mgx-hero__visual img {
  width: 390px;
  height: 650px;
  object-fit: contain;
  position: relative;
  transform: rotate(20deg);
  filter: drop-shadow(28px 35px 32px rgba(48, 31, 22, 0.25));
}

.mgx-stamp {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  position: absolute;
  right: 4%;
  top: 13%;
  border-radius: 50%;
  background: var(--mgx-salmon);
  color: white;
  font-family: var(--mgx-display);
  font-size: 17px;
  font-style: italic;
  line-height: 1.08;
  text-align: center;
  transform: rotate(9deg);
}

.mgx-quality {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 28px;
  padding: 16px 4vw;
  overflow: hidden;
  background: linear-gradient(135deg, var(--mgx-salmon), var(--mgx-salmon-dark));
  color: white;
  white-space: nowrap;
}

.mgx-quality span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-quality i {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  font-size: 0;
}

.mgx-catalogue {
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  padding: 120px 0 130px;
}

.mgx-heading {
  display: grid;
  grid-template-columns: 1.1fr 0.7fr;
  gap: 50px;
  align-items: end;
}

.mgx-heading h2,
.mgx-method h2,
.mgx-gift h2 {
  margin: 21px 0 0;
  font-size: clamp(47px, 5vw, 74px);
  line-height: 0.98;
}

.mgx-heading > p {
  max-width: 470px;
  margin: 0 0 8px auto;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.6;
}

.mgx-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-top: 64px;
  padding: 15px 0;
  border-top: 1px solid var(--mgx-line);
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-filters {
  display: flex;
  gap: 6px;
}

/*
 * Stesso problema del backdrop del carrello: sono <button> nativi, quindi il
 * tema/Elementor può colorarli con !important, non solo a riposo ma anche
 * negli stati :hover e :focus — è lì che si è visto il rosa sul filtro
 * "Cuore del Mastro" mentre ci passava sopra il cursore.
 */
.mgx-filters button,
.mgx-filters button:hover,
.mgx-filters button:focus {
  padding: 10px 15px;
  border: 1px solid transparent !important;
  border-radius: 999px;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--mgx-muted) !important;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mgx-filters button.is-active,
.mgx-filters button.is-active:hover,
.mgx-filters button.is-active:focus {
  border-color: var(--mgx-ink) !important;
  background-color: var(--mgx-ink) !important;
  background-image: none !important;
  color: white !important;
}

.mgx-search {
  width: 230px;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border-left: 1px solid var(--mgx-line);
}

.mgx-search-icon { flex: none; color: var(--mgx-muted); }

.mgx-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--mgx-ink);
  font-size: 12px;
}

.mgx-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 54px 24px;
  margin-top: 36px;
}

.mgx-category-groups {
  display: grid;
  gap: 90px;
  margin-top: 58px;
}

.mgx-category-group[hidden] {
  display: none !important;
}

.mgx-category-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-category-heading span,
.mgx-category-heading > strong {
  color: var(--mgx-muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mgx-category-heading h3 {
  margin: 7px 0 0;
  font-family: var(--mgx-display);
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 500;
}

.mgx-category-group > .mgx-products {
  margin-top: 28px;
}

.mgx-product[hidden] {
  display: none !important;
}

.mgx-product.is-featured {
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  overflow: hidden;
  background: var(--mgx-ink);
  color: white;
}

.mgx-product.is-featured .mgx-product__image {
  height: 100%;
  min-height: 520px;
}

.mgx-product.is-featured .mgx-product__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px;
}

.mgx-product.is-featured .mgx-product__kicker {
  color: #f5a08f;
}

.mgx-product.is-featured h3 {
  color: white;
  font-size: clamp(35px, 3.5vw, 50px);
}

.mgx-product.is-featured .mgx-product__info > p {
  min-height: 0;
  color: #bdc7cc;
  font-size: 17px;
}

.mgx-product.is-featured .mgx-product__buy {
  margin-top: 30px;
  border-color: rgba(255, 255, 255, 0.18);
}

.mgx-product.is-featured .mgx-product__buy strong,
.mgx-product.is-featured .mgx-add {
  color: white !important;
}

.mgx-product.is-featured .mgx-add span {
  background: var(--mgx-salmon);
}

.mgx-product__image {
  height: 410px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  background: var(--mgx-cream);
}

.mgx-product__image::before {
  content: "";
  width: 210px;
  height: 210px;
  position: absolute;
  border: 1px solid rgba(8, 36, 54, 0.08);
  border-radius: 50%;
}

.mgx-product__image img {
  width: 88%;
  height: 88%;
  object-fit: contain;
  position: relative;
  transition: transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.mgx-product__image:hover img {
  transform: scale(1.045) rotate(-1deg);
}

.mgx-badge {
  position: absolute;
  left: 16px;
  top: 16px;
  z-index: 2;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--mgx-ink);
  color: white;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mgx-view {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 8px 10px;
  background: rgba(255, 253, 248, 0.9);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.mgx-product__image:hover .mgx-view {
  opacity: 1;
  transform: translateY(0);
}

.mgx-product__info {
  padding: 21px 4px 0;
}

.mgx-product__kicker {
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.mgx-product h3 {
  margin: 10px 0 8px;
  font-family: var(--mgx-display);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.1;
}

.mgx-product h3 a:hover {
  color: var(--mgx-salmon-dark);
}

.mgx-product__info > p {
  min-height: 45px;
  margin: 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 15px;
  line-height: 1.45;
}

.mgx-product__buy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid var(--mgx-line);
}

.mgx-product__buy strong,
.mgx-product__buy .price {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 22px;
  font-weight: 500;
}

.mgx-product__buy del {
  color: var(--mgx-muted);
  font-size: 15px;
}

.mgx-product__buy ins {
  text-decoration: none;
}

.mgx-add,
.mgx-product__buy a.button.mgx-add {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mgx-ink) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase;
}

.mgx-add span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mgx-ink);
  color: white;
  transition: background 180ms ease, transform 180ms ease;
}

.mgx-add:hover span,
.mgx-add.is-adding span {
  background: var(--mgx-salmon);
  transform: rotate(90deg);
}

.mgx-add.added::after {
  content: "✓";
  margin-left: 4px;
  color: var(--mgx-salmon-dark);
}

.mgx-product__buy .added_to_cart {
  display: none;
}

.mgx-empty {
  padding: 100px 20px;
  text-align: center;
}

.mgx-empty[hidden] {
  display: none;
}

.mgx-empty h3 {
  margin: 0;
  font-family: var(--mgx-display);
  font-size: 32px;
  font-weight: 500;
}

.mgx-empty p {
  color: var(--mgx-muted);
}

.mgx-empty button {
  padding: 10px 0;
  border: 0 !important;
  border-bottom: 1px solid var(--mgx-ink) !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--mgx-ink) !important;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-choice-guide {
  display: grid;
  grid-template-columns: minmax(340px, 0.85fr) minmax(0, 1.65fr);
  gap: clamp(45px, 5vw, 76px);
  align-items: start;
  margin-top: 120px;
  padding-top: 72px;
  border-top: 1px solid var(--mgx-line);
}

.mgx-choice-guide > header {
  position: sticky;
  top: 130px;
}

.mgx-choice-guide h2 {
  margin: 20px 0 18px;
  font-family: var(--mgx-display);
  font-size: clamp(42px, 3.7vw, 56px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.mgx-choice-guide h2 em {
  color: var(--mgx-salmon);
  font-weight: 400;
}

.mgx-choice-guide > header > p:last-child {
  max-width: 390px;
  margin: 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 17px;
  line-height: 1.6;
}

.mgx-choice-cards {
  display: grid;
  gap: 14px;
}

.mgx-choice-cards article {
  min-height: 230px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  grid-template-rows: auto auto 1fr;
  gap: 7px 22px;
  align-items: start;
  position: relative;
  padding: 29px 31px;
  border: 1px solid var(--mgx-line);
  background: var(--mgx-paper);
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.mgx-choice-cards article:hover {
  border-color: rgba(8, 36, 54, 0.42);
  box-shadow: 0 18px 42px rgba(8, 36, 54, 0.08);
  transform: translateY(-3px);
}

.mgx-choice-number {
  grid-column: 1;
  grid-row: 1 / 4;
  color: rgba(8, 36, 54, 0.18);
  font-family: var(--mgx-display);
  font-size: 43px;
  font-style: italic;
}

.mgx-choice-tag {
  grid-column: 2;
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.mgx-choice-cards h3 {
  grid-column: 2;
  margin: 2px 0;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 29px;
  font-weight: 500;
}

.mgx-choice-cards h3 a {
  color: inherit;
  text-decoration: none;
}

.mgx-choice-cards h3 a:hover,
.mgx-choice-cards h3 a:focus-visible {
  color: var(--mgx-salmon-dark);
}

.mgx-choice-cards article > p {
  grid-column: 2;
  max-width: 470px;
  margin: 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 15px;
  line-height: 1.5;
}

.mgx-choice-buy {
  grid-column: 3;
  grid-row: 1 / 4;
  min-width: 145px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  align-self: stretch;
}

.mgx-choice-buy strong,
.mgx-choice-buy .price {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 25px;
  font-weight: 500;
}

.mgx-choice-add,
.mgx-choice-buy a.button.mgx-choice-add {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mgx-ink) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
}

.mgx-choice-add span {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mgx-ink);
  color: white;
  transition: background 180ms ease, transform 180ms ease;
}

.mgx-choice-add:hover span {
  background: var(--mgx-salmon);
  transform: rotate(90deg);
}

.mgx-choice-cards article.is-recommended {
  border-color: var(--mgx-salmon);
  background: var(--mgx-cream);
}

.mgx-choice-ribbon {
  position: absolute;
  right: 16px;
  top: 0;
  padding: 8px 11px;
  background: var(--mgx-salmon);
  color: white;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transform: translateY(-50%);
}

.mgx-elementor-section--occasion .mgx-choice-guide {
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  padding: 120px 0;
  border-top: 0;
}

.mgx-elementor-section--occasion .mgx-choice-buy {
  justify-content: space-between;
  gap: 24px;
}

.mgx-method {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(60px, 10vw, 170px);
  padding: 125px max(32px, calc((100vw - 1380px) / 2));
  overflow: hidden;
  background-color: var(--mgx-ink);
  color: white;
  position: relative;
  isolation: isolate;
}

.mgx-method::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("trama.png");
  background-size: 560px 700px;
  filter: invert(1);
  opacity: 0.035;
  pointer-events: none;
  z-index: -1;
}

.mgx-method .mgx-kicker {
  color: #f2a393;
}

.mgx-method h2 em {
  color: #f1907d;
}

.mgx-method__intro > p:last-child {
  max-width: 470px;
  color: #b9c3c8;
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.6;
}

.mgx-method ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mgx-method li {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 22px;
  padding: 29px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.mgx-method li:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.mgx-method li > span {
  padding-top: 5px;
  color: #f1907d;
  font-family: var(--mgx-display);
  font-size: 18px;
  font-style: italic;
}

.mgx-method h3 {
  margin: 0 0 7px;
  color: white;
  font-family: var(--mgx-display);
  font-size: 29px;
  font-weight: 500;
}

.mgx-method li p {
  max-width: 550px;
  margin: 0;
  color: #aeb9bf;
  font-size: 12px;
  line-height: 1.65;
}

.mgx-gift {
  width: min(1240px, calc(100% - 64px));
  display: grid;
  grid-template-columns: 1fr 0.92fr;
  gap: clamp(45px, 8vw, 110px);
  align-items: center;
  margin: 130px auto;
  padding: 70px;
  background: var(--mgx-cream);
}

.mgx-gift__visual {
  min-width: 0;
  min-height: 430px;
  display: grid;
  place-items: center;
  position: relative;
}

.mgx-gift__visual::before {
  content: "";
  width: 370px;
  height: 370px;
  position: absolute;
  border: 1px solid rgba(8, 36, 54, 0.13);
  border-radius: 50%;
}

.mgx-gift__visual img {
  position: relative;
  filter: drop-shadow(18px 25px 24px rgba(39, 28, 22, 0.18));
}

.mgx-gift__copy > p:not(.mgx-kicker) {
  max-width: 500px;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 17px;
  line-height: 1.6;
}

.mgx-gift__copy,
.mgx-story__copy,
.mgx-story__timeline,
.mgx-story__recipes {
  min-width: 0;
}

.mgx-faq {
  width: min(1380px, calc(100% - 64px));
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(55px, 9vw, 140px);
  margin: 0 auto 130px;
  padding: clamp(55px, 7vw, 95px);
  border: 1px solid rgba(13, 42, 61, 0.09);
  background: linear-gradient(rgba(239, 235, 231, 0.91), rgba(239, 235, 231, 0.91)), url("trama.png");
  background-size: auto, 410px 512px;
}

.mgx-faq__heading h2 {
  margin: 20px 0 0;
  font-family: var(--mgx-stencil);
  font-size: clamp(42px, 4.2vw, 66px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 0.96;
  text-transform: uppercase;
}

.mgx-faq__heading > p:last-child {
  max-width: 430px;
  margin: 25px 0 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 17px;
  line-height: 1.6;
}

.mgx-faq__list details {
  border-top: 1px solid rgba(13, 42, 61, 0.18);
}

.mgx-faq__list details:last-child {
  border-bottom: 1px solid rgba(13, 42, 61, 0.18);
}

.mgx-faq__list summary {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  cursor: pointer;
  list-style: none;
  font-family: var(--mgx-display);
  font-size: 20px;
}

.mgx-faq__list summary::-webkit-details-marker {
  display: none;
}

.mgx-faq__list summary span {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(13, 42, 61, 0.18);
  border-radius: 50%;
  color: var(--mgx-salmon-dark);
  font-family: var(--mgx-sans);
  font-size: 15px;
  transition: transform 180ms ease, background 180ms ease;
}

.mgx-faq__list details[open] summary span {
  transform: rotate(45deg);
  background: white;
}

.mgx-faq__list details p {
  margin: -5px 45px 25px 0;
  color: var(--mgx-muted);
  font-size: 12px;
  line-height: 1.75;
}

.mgx-module-footer {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(120px, 0.6fr));
  align-items: start;
  gap: 42px;
  padding: 64px max(32px, calc((100vw - 1380px) / 2)) 32px;
  background-color: var(--mgx-ink);
  background-image: linear-gradient(rgba(13, 42, 61, 0.965), rgba(13, 42, 61, 0.965)), url("trama.png");
  background-size: auto, 540px 675px;
  color: white;
}

.mgx-footer-assistance {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  padding: 0 0 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.mgx-footer-assistance > div {
  display: flex;
  flex-direction: column;
}

.mgx-footer-assistance > div span {
  color: var(--mgx-salmon-light);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.mgx-footer-assistance > div strong {
  margin-top: 5px;
  font-family: var(--mgx-display);
  font-size: 22px;
  font-weight: 500;
}

.mgx-footer-assistance > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: white;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-footer-assistance > a.mgx-footer-whatsapp {
  border-color: var(--mgx-salmon);
  background: var(--mgx-salmon-dark);
}

.mgx-footer-brand > div {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 18px;
}

.mgx-module-footer img {
  width: 72px;
  height: 72px;
  padding: 5px;
  border-radius: 50%;
  background: var(--mgx-paper);
}

.mgx-footer-brand strong {
  color: white;
  font-family: var(--mgx-display);
  font-size: 25px;
  font-weight: 500;
}

.mgx-footer-brand p {
  max-width: 300px;
  margin: 0;
  color: #aab5ba;
  font-family: var(--mgx-display);
  font-size: 15px;
  line-height: 1.55;
}

.mgx-footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

.mgx-footer-column h3 {
  margin: 5px 0 7px;
  color: var(--mgx-salmon-light);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.mgx-footer-column a,
.mgx-footer-column span {
  color: #b9c3c8;
  font-size: 11px;
  line-height: 1.5;
}

.mgx-footer-column a:hover {
  color: white;
}

.mgx-footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.mgx-footer-bottom span {
  color: #b9c3c8;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.mgx-whatsapp {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 10px;
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 30;
  padding: 7px 14px 7px 7px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  background: #fefaf6;
  box-shadow: 0 14px 40px rgba(6, 29, 44, 0.18);
}

.mgx-whatsapp span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #287d61;
  color: white;
  font-size: 9px;
  font-weight: 900;
}

.mgx-whatsapp strong {
  font-size: 9px;
}

.mgx-notice {
  padding: 20px;
  border-left: 4px solid #d7644d;
  background: #efebe7;
}

.mgx-story {
  width: min(1380px, calc(100% - 64px));
  display: grid;
  grid-template-columns: minmax(240px, 0.52fr) minmax(500px, 1.08fr) minmax(390px, 0.9fr);
  gap: clamp(38px, 3.2vw, 52px);
  align-items: start;
  margin: 0 auto;
  padding: 128px 0 136px;
  border-bottom: 1px solid var(--mgx-line);
  background-image: linear-gradient(rgba(255, 249, 249, 0.72), rgba(255, 249, 249, 0.72)), url("trama.png");
  background-position: center;
  background-size: auto, 540px 675px;
}

.mgx-values {
  padding: 112px max(32px, calc((100vw - 1380px) / 2));
  position: relative;
  overflow: hidden;
  background: var(--mgx-ink);
  color: white;
  isolation: isolate;
}

.mgx-values::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("trama.png");
  background-size: 560px 700px;
  filter: invert(1);
  opacity: 0.035;
  z-index: -1;
}

.mgx-values > header {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 60px;
  align-items: end;
}

.mgx-values h2 {
  margin: 0;
  font-size: clamp(46px, 5vw, 76px);
  line-height: 0.95;
}

.mgx-values__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 72px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.mgx-values__grid > div {
  min-height: 240px;
  padding: 30px 25px 30px 0;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.mgx-values__grid > div + div {
  padding-left: 25px;
}

.mgx-values__grid > div:last-child {
  border-right: 0;
}

.mgx-values__grid span {
  display: block;
  margin-bottom: 50px;
  color: var(--mgx-salmon);
  font-family: var(--mgx-stencil);
  font-size: 20px;
}

.mgx-values__grid strong {
  display: block;
  min-height: 52px;
  font-family: var(--mgx-display);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.25;
}

.mgx-values__grid p {
  margin: 16px 0 0;
  color: #b9c4ca;
  font-size: 11px;
  line-height: 1.65;
}

.mgx-story__year {
  min-height: 490px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px 30px;
  overflow: hidden;
  background: var(--mgx-ink);
  color: white;
}

.mgx-story__year span,
.mgx-story__year strong {
  font-family: var(--mgx-display);
  font-size: clamp(90px, 9vw, 140px);
  font-weight: 400;
  letter-spacing: -0.09em;
  line-height: 0.67;
}

.mgx-story__year strong {
  margin-left: 0.25em;
  color: var(--mgx-salmon);
  font-style: italic;
}

.mgx-story__copy h2 {
  margin: 22px 0 26px;
  font-family: var(--mgx-display);
  font-size: clamp(43px, 3.25vw, 52px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.mgx-story__copy > p:not(.mgx-kicker) {
  color: var(--mgx-muted);
  font-size: 13px;
  line-height: 1.75;
}

.mgx-story__copy .mgx-story__lead {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.55;
}

.mgx-story__link {
  display: inline-block;
  margin-top: 13px;
  padding: 9px 0;
  border-bottom: 1px solid var(--mgx-ink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-story__timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mgx-story__timeline li {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 19px;
  padding: 24px 0;
  border-top: 1px solid var(--mgx-line);
}

.mgx-story__timeline li:last-child {
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-story__timeline li > span {
  color: var(--mgx-salmon-dark);
  font-family: var(--mgx-display);
  font-size: 17px;
  font-style: italic;
}

.mgx-story__timeline h3 {
  margin: 0 0 6px;
  font-family: var(--mgx-display);
  font-size: 23px;
  font-weight: 500;
}

.mgx-story__timeline p {
  margin: 0;
  color: var(--mgx-muted);
  font-size: 11px;
  line-height: 1.6;
}

.mgx-story__recipes {
  grid-column: 2 / 4;
  min-height: 108px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 26px 31px;
  background: var(--mgx-cream);
}

.mgx-story__recipes span {
  grid-column: 1;
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.mgx-story__recipes strong {
  grid-column: 1;
  margin-top: 5px;
  font-family: var(--mgx-display);
  font-size: 25px;
  font-weight: 500;
}

.mgx-story__recipes i {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mgx-ink);
  color: white;
  font-style: normal;
}

.mgx-recipes,
.mgx-recipes * {
  box-sizing: border-box;
}

.mgx-recipes {
  overflow: hidden;
  background: var(--mgx-paper);
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
}

.mgx-recipes a {
  color: inherit;
  text-decoration: none;
}

.mgx-recipes img {
  display: block;
  max-width: 100%;
}

.mgx-recipes__hero {
  width: min(1380px, calc(100% - 64px));
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  padding: 80px 0;
  background-color: var(--mgx-paper);
  background-image: linear-gradient(rgba(255, 249, 249, 0.76), rgba(255, 249, 249, 0.76)), url("trama.png");
  background-position: center;
  background-size: auto, 540px 675px;
}

.mgx-recipes__hero h1,
.mgx-recipes__intro h2,
.mgx-recipes__cta h2 {
  max-width: 850px;
  margin: 24px 0;
  font-family: var(--mgx-display);
  font-size: clamp(55px, 6vw, 95px);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.93;
}

.mgx-recipes em {
  color: var(--mgx-salmon);
  font-weight: 400;
}

.mgx-recipes__hero > p:not(.mgx-kicker) {
  max-width: 610px;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 20px;
  line-height: 1.55;
}

.mgx-recipes__intro {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  gap: 60px;
  align-items: end;
  padding: 105px max(32px, calc((100vw - 1380px) / 2));
  background: var(--mgx-ink);
  color: white;
}

.mgx-recipes__intro .mgx-kicker {
  color: #f29481;
}

.mgx-recipes__intro h2,
.mgx-recipes__cta h2 {
  margin: 20px 0 0;
  font-size: clamp(48px, 5vw, 74px);
}

.mgx-recipes__intro > p {
  color: #bbc5ca;
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.6;
}

.mgx-recipes__list {
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  padding: 120px 0 20px;
}

.mgx-recipe {
  display: grid;
  grid-template-columns: minmax(380px, 0.85fr) minmax(0, 1fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: center;
  padding-bottom: 110px;
}

.mgx-recipe:nth-child(even) .mgx-recipe__image {
  order: 2;
}

.mgx-recipe__image {
  height: 570px;
  position: relative;
  margin: 0;
}

.mgx-recipe__image > span {
  position: absolute;
  left: -20px;
  top: -44px;
  z-index: 2;
  color: var(--mgx-salmon);
  font-family: var(--mgx-display);
  font-size: 83px;
  font-style: italic;
}

.mgx-recipe__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mgx-recipe__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mgx-recipe__meta span {
  padding: 8px 10px;
  border: 1px solid var(--mgx-line);
  border-radius: 999px;
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mgx-recipe__content > h2 {
  margin: 20px 0 13px;
  font-family: var(--mgx-display);
  font-size: clamp(42px, 4.5vw, 66px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
}

.mgx-recipe__content > p {
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.55;
}

.mgx-recipe details {
  border-top: 1px solid var(--mgx-line);
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-recipe summary {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  list-style: none;
  text-transform: uppercase;
}

.mgx-recipe summary span {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mgx-ink);
  color: white;
}

.mgx-recipe__details {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 35px;
  padding: 9px 0 28px;
}

.mgx-recipe__details > div:only-child {
  grid-column: 1 / -1;
}

.mgx-recipe__details h3 {
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.mgx-recipe__details ul,
.mgx-recipe__details ol {
  padding-left: 19px;
  color: var(--mgx-muted);
  font-size: 11px;
  line-height: 1.65;
}

.mgx-recipe__product {
  display: inline-flex;
  gap: 18px;
  margin-top: 25px;
  padding: 9px 0;
  border-bottom: 1px solid var(--mgx-ink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.mgx-recipes__cta {
  width: min(1240px, calc(100% - 64px));
  margin: 20px auto 130px;
  padding: 80px;
  background: var(--mgx-cream);
  text-align: center;
}

.mgx-recipes__cta h2 {
  margin: 19px auto 31px;
}

.mgx-recipes__cta .mgx-button {
  margin: 0 auto;
}

@media (max-width: 1050px) {
  .mgx-module-header {
    grid-template-columns: 1fr auto auto;
    padding: 13px 0 10px;
  }

  .mgx-module-header nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    gap: 24px;
    padding: 4px 0 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mgx-module-header nav::-webkit-scrollbar {
    display: none;
  }

  .mgx-module-footer {
    grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(90px, 0.65fr));
    gap: 32px 20px;
  }

  .mgx-footer-assistance {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .mgx-hero {
    grid-template-columns: 1fr 0.7fr;
  }

  .mgx-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mgx-product.is-featured {
    grid-column: 1 / -1;
  }

  .mgx-choice-guide {
    grid-template-columns: 1fr;
  }

  .mgx-choice-guide > header {
    position: static;
  }

  .mgx-gift {
    padding: 50px;
  }

  .mgx-story {
    grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1fr);
  }

  .mgx-story__timeline {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 30px;
  }

  .mgx-story__recipes {
    grid-column: 1 / -1;
  }

  .mgx-values__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .mgx-values__grid > div:nth-child(3) {
    border-right: 0;
  }

  .mgx-values__grid > div:nth-child(n + 4) {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
}

@media (max-width: 720px) {
  .mgx-elementor-section,
  .mgx-elementor-catalogue {
    background-attachment: scroll, scroll;
  }

  .mgx-module-header,
  .mgx-hero,
  .mgx-catalogue,
  .mgx-story,
  .mgx-faq,
  .mgx-recipes__hero,
  .mgx-recipes__list {
    width: min(100% - 36px, 660px);
  }

  .mgx-module-header {
    min-height: 82px;
    grid-template-columns: 1fr auto;
    gap: 10px 14px;
  }

  .mgx-module-brand img {
    width: 54px;
    height: 54px;
  }

  .mgx-module-brand strong {
    font-size: 17px;
  }

  .mgx-module-brand small {
    display: none;
  }

  .mgx-module-help {
    display: none;
  }

  .mgx-module-cart {
    min-height: 39px;
    padding: 0 10px;
  }

  .mgx-module-header nav {
    gap: 20px;
  }

  .mgx-module-header nav a {
    flex: 0 0 auto;
  }

  .mgx-hero {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 75px 0 35px;
  }

  .mgx-hero::after {
    width: 100vw;
    height: 44%;
    right: -18px;
    top: 49%;
    opacity: 0.42;
  }

  .mgx-hero h1 {
    font-size: clamp(52px, 15vw, 76px);
  }

  .mgx-hero__lead {
    font-size: 17px;
  }

  .mgx-assurances {
    align-items: flex-start;
    flex-direction: column;
  }

  .mgx-proof div {
    padding: 0 9px;
  }

  .mgx-proof strong {
    font-size: 23px;
  }

  .mgx-proof span {
    font-size: 7px;
  }

  .mgx-hero__visual {
    height: 440px;
  }

  .mgx-hero__visual img {
    width: 290px;
    height: 470px;
  }

  .mgx-hero__circle {
    width: 285px;
    height: 285px;
  }

  .mgx-stamp {
    width: 74px;
    height: 74px;
    font-size: 14px;
  }

  .mgx-quality {
    justify-content: flex-start;
    padding-left: 20px;
  }

  .mgx-story {
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 82px 0 88px;
  }

  .mgx-story__year {
    min-height: 330px;
  }

  .mgx-story__copy h2 {
    font-size: clamp(32px, 8.2vw, 42px);
  }

  .mgx-story__timeline,
  .mgx-story__recipes {
    grid-column: auto;
  }

  .mgx-story__timeline {
    grid-template-columns: 1fr;
  }

  .mgx-story__recipes {
    padding: 24px 22px;
  }

  .mgx-values {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .mgx-values > header {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .mgx-values h2 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .mgx-values__grid {
    grid-template-columns: 1fr;
    margin-top: 52px;
  }

  .mgx-values__grid > div,
  .mgx-values__grid > div + div {
    min-height: 0;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 0 15px;
    padding: 26px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    border-right: 0;
  }

  .mgx-values__grid > div:first-child {
    border-top: 0;
  }

  .mgx-values__grid span {
    grid-row: 1 / 3;
    margin: 0;
  }

  .mgx-values__grid strong {
    min-height: 0;
  }

  .mgx-values__grid p {
    margin-top: 8px;
  }

  .mgx-catalogue {
    padding: 85px 0;
  }

  .mgx-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .mgx-heading h2,
  .mgx-method h2,
  .mgx-gift h2 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .mgx-heading > p {
    margin: 0;
  }

  .mgx-toolbar {
    align-items: stretch;
    flex-direction: column;
    margin-top: 40px;
  }

  .mgx-filters {
    overflow-x: auto;
  }

  .mgx-filters button {
    flex: 0 0 auto;
  }

  .mgx-search {
    width: 100%;
    padding-top: 10px;
    border-top: 1px solid var(--mgx-line);
    border-left: 0;
  }

  .mgx-products {
    grid-template-columns: 1fr;
  }

  .mgx-category-groups {
    gap: 65px;
    margin-top: 45px;
  }

  .mgx-category-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .mgx-product.is-featured {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .mgx-product.is-featured .mgx-product__image {
    min-height: 365px;
  }

  .mgx-product.is-featured .mgx-product__info {
    padding: 30px 24px;
  }

  .mgx-product__image {
    height: 365px;
  }

  .mgx-choice-guide {
    margin-top: 85px;
    padding-top: 55px;
  }

  .mgx-elementor-section--occasion .mgx-choice-guide {
    width: min(660px, calc(100% - 36px));
    margin: 0 auto;
    padding: 82px 0;
  }

  .mgx-choice-cards article {
    min-height: 0;
    grid-template-columns: 45px minmax(0, 1fr);
    padding: 27px 20px;
  }

  .mgx-choice-number {
    font-size: 32px;
  }

  .mgx-choice-buy {
    grid-column: 2;
    grid-row: auto;
    min-width: 0;
    align-items: center;
    flex-direction: row;
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid var(--mgx-line);
  }

  .mgx-method {
    grid-template-columns: 1fr;
    gap: 45px;
    padding-top: 85px;
    padding-bottom: 85px;
  }

  .mgx-gift {
    width: min(100% - 28px, 660px);
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 85px auto;
    padding: 48px 24px;
  }

  .mgx-gift__visual {
    min-height: 330px;
  }

  .mgx-gift__visual::before {
    width: 280px;
    height: 280px;
  }

  .mgx-faq {
    grid-template-columns: 1fr;
    gap: 42px;
    margin-bottom: 85px;
    padding: 55px 24px;
  }

  .mgx-faq__heading h2 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .mgx-faq__list summary {
    min-height: 70px;
    font-size: 18px;
  }

  .mgx-faq__list details p {
    margin-right: 0;
  }

  .mgx-module-footer {
    grid-template-columns: 1fr 1fr;
    gap: 34px 22px;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .mgx-footer-assistance,
  .mgx-footer-brand,
  .mgx-footer-bottom {
    grid-column: 1 / -1;
  }

  .mgx-footer-assistance {
    grid-template-columns: 1fr 1fr;
  }

  .mgx-footer-assistance > div {
    grid-column: 1 / -1;
  }

  .mgx-footer-assistance > a {
    width: 100%;
  }

  .mgx-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .mgx-whatsapp {
    min-height: 50px;
    right: 11px;
    bottom: 11px;
    padding: 5px;
  }

  .mgx-whatsapp strong {
    display: none;
  }

  .mgx-recipes__hero {
    min-height: 0;
    padding: 80px 0;
  }

  .mgx-recipes__hero h1 {
    font-size: clamp(41px, 10.4vw, 58px);
  }

  .mgx-recipes__intro {
    grid-template-columns: 1fr;
    gap: 25px;
    padding-top: 85px;
    padding-bottom: 85px;
  }

  .mgx-recipes__intro h2,
  .mgx-recipes__cta h2 {
    font-size: clamp(43px, 12vw, 59px);
  }

  .mgx-recipes__list {
    padding-top: 95px;
  }

  .mgx-recipe {
    grid-template-columns: 1fr;
    gap: 43px;
    padding-bottom: 105px;
  }

  .mgx-recipe:nth-child(even) .mgx-recipe__image {
    order: 0;
  }

  .mgx-recipe__image {
    height: 470px;
  }

  .mgx-recipe__details {
    grid-template-columns: 1fr;
  }

  .mgx-recipes__cta {
    width: min(100% - 28px, 660px);
    margin-bottom: 85px;
    padding: 64px 22px;
  }
}

/* v3.6 — /bottega usa lo stesso fondo continuo e lo stesso header compatto dell'anteprima. */
body.mgx-custom-header-active {
  background-color: var(--mgx-paper) !important;
  background-image: url("trama.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 540px 675px !important;
}
body.mgx-custom-header-active #page,
body.mgx-custom-header-active #content,
body.mgx-custom-header-active .site,
body.mgx-custom-header-active .site-content,
body.mgx-custom-header-active .content-area,
body.mgx-custom-header-active .site-main,
body.mgx-custom-header-active .entry-content,
body.mgx-custom-header-active .elementor,
body.mgx-custom-header-active .elementor-section,
body.mgx-custom-header-active .elementor-container,
body.mgx-custom-header-active .elementor-widget-wrap,
body.mgx-custom-header-active .e-con,
body.mgx-custom-header-active .elementor-widget-container,
body.mgx-custom-header-active .mgx-elementor-section,
body.mgx-custom-header-active .mgx-elementor-catalogue {
  background-color: transparent !important;
  background-image: none !important;
}

@media (max-width: 720px) {
  body .mgx-module-header {
    width: calc(100% - 24px) !important;
    min-height: 71px !important;
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-rows: 1fr !important;
    gap: 8px !important;
    padding: 7px 0 !important;
  }
  body .mgx-module-brand { gap: 8px; min-width: 0; }
  body .mgx-module-brand img { width: 52px; height: 52px; flex: 0 0 52px; transform: none; }
  body .mgx-module-brand strong { width: 102px; font-size: 17px; line-height: .92; }
  body .mgx-module-menu-toggle {
    width: 38px;
    height: 38px;
    display: grid;
    place-content: center;
    gap: 6px;
    padding: 0;
    border: 1px solid var(--mgx-line);
    border-radius: 50%;
    background: rgba(255,255,255,.62);
  }
  body .mgx-module-menu-toggle span {
    width: 15px;
    height: 1px;
    display: block;
    background: var(--mgx-ink);
    transition: transform .2s ease;
  }
  body .mgx-module-header.is-menu-open .mgx-module-menu-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
  body .mgx-module-header.is-menu-open .mgx-module-menu-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  body .mgx-module-cart { min-width: 44px; min-height: 38px; justify-content: center; padding: 0 8px; }
  body .mgx-module-cart > span:nth-child(2) { display: none; }
  body .mgx-module-header nav {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 120;
    grid-column: auto !important;
    grid-row: auto !important;
    display: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 !important;
    padding: 10px !important;
    overflow: visible !important;
    border: 1px solid var(--mgx-line);
    background: rgba(255,249,249,.98);
    box-shadow: 0 18px 38px rgba(8,36,54,.12);
  }
  body .mgx-module-header.is-menu-open nav { display: grid !important; }
  body .mgx-module-header nav a { padding: 12px 10px !important; border-bottom: 1px solid rgba(13,42,61,.08); }
}

@media (prefers-reduced-motion: reduce) {
  .mgx-shop *,
  .mgx-shop *::before,
  .mgx-shop *::after {
    transition-duration: 0.01ms !important;
  }
}

/* SEO-ready product information and individual recipe pages — v3.15.5 */
.mgx-product-net-quantity {
  width: fit-content;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 16px;
  padding: 10px 14px;
  border: 1px solid var(--mgx-line);
  background: rgba(255, 255, 255, .65);
}

.mgx-product-net-quantity span {
  color: var(--mgx-muted);
  font-size: 12px;
  font-weight: 700;
}

.mgx-product-net-quantity strong {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 18px;
}

.mgx-product-information {
  display: grid;
  grid-template-columns: minmax(130px, .35fr) 1fr;
  gap: 14px 22px;
  margin: 0 28px 24px 0;
}

.mgx-product-information dt,
.mgx-product-information dd {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.7;
}

.mgx-product-information dt {
  color: var(--mgx-ink);
  font-weight: 700;
}

.mgx-product-information dd {
  color: var(--mgx-muted);
}

.mgx-product-native-form .quantity,
.mgx-product-native-form table {
  margin-bottom: 14px;
}

.mgx-product-unavailable {
  margin: 18px 0 0;
  color: var(--mgx-muted);
  font-size: 16px;
  line-height: 1.6;
}

.mgx-recipe__open {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 24px 20px 0 0;
  padding: 12px 16px;
  background: var(--mgx-ink);
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}

.mgx-recipe-single,
.mgx-recipe-single * {
  box-sizing: border-box;
}

.mgx-recipe-single {
  overflow: hidden;
  background: var(--mgx-paper);
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
}

.mgx-recipe-single a {
  color: inherit;
  text-decoration: none;
}

.mgx-recipe-single__main {
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
}

.mgx-recipe-single__hero {
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1fr);
  gap: clamp(45px, 7vw, 110px);
  align-items: center;
  padding: 18px 0 100px;
}

.mgx-recipe-single__hero figure {
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  background: var(--mgx-cream);
}

.mgx-recipe-single__hero img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mgx-recipe-single__hero h1 {
  margin: 18px 0 24px;
  font-family: var(--mgx-display);
  font-size: clamp(48px, 5.6vw, 82px);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .98;
  overflow-wrap: anywhere;
}

.mgx-recipe-single__lead {
  max-width: 650px;
  margin: 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 20px;
  line-height: 1.65;
}

.mgx-recipe-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 30px;
}

.mgx-recipe-single__meta span {
  padding: 9px 12px;
  border: 1px solid var(--mgx-line);
  border-radius: 999px;
  color: var(--mgx-salmon-dark);
  font-size: 12px;
  font-weight: 700;
}

.mgx-recipe-single__body {
  display: grid;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.15fr);
  gap: clamp(50px, 8vw, 120px);
  margin: 0 calc(50% - 50vw);
  padding: 95px max(32px, calc((100vw - 1220px) / 2));
  background: var(--mgx-ink);
  color: #fff;
}

.mgx-recipe-single__body .mgx-kicker {
  color: #f29481;
}

.mgx-recipe-single__body h2 {
  margin: 16px 0 30px;
  font-family: var(--mgx-display);
  font-size: clamp(38px, 4vw, 55px);
  font-weight: 400;
}

.mgx-recipe-single__body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mgx-recipe-single__body ul li {
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  color: #d7dfe3;
  font-size: 16px;
  line-height: 1.6;
}

.mgx-recipe-single__body ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mgx-recipe-single__body ol li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  padding: 0 0 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  scroll-margin-top: 110px;
}

.mgx-recipe-single__body ol span {
  color: #f29481;
  font-family: var(--mgx-display);
  font-size: 22px;
  font-style: italic;
}

.mgx-recipe-single__body ol p {
  margin: 0;
  color: #edf1f2;
  font-family: var(--mgx-display);
  font-size: 19px;
  line-height: 1.7;
}

.mgx-recipe-single__product {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  margin: 90px 0;
  padding: 50px clamp(28px, 5vw, 70px);
  background: var(--mgx-cream);
}

.mgx-recipe-single__product h2 {
  margin: 10px 0 0;
  font-family: var(--mgx-display);
  font-size: clamp(31px, 4vw, 48px);
  font-weight: 400;
}

.mgx-recipe-single__product .mgx-button {
  flex: none;
}

.mgx-recipe-single__related {
  padding: 15px 0 115px;
}

.mgx-recipe-single__related h2 {
  margin: 10px 0 35px;
  font-family: var(--mgx-display);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 400;
}

.mgx-recipe-single__related > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.mgx-recipe-single__related a {
  display: grid;
  gap: 10px;
}

.mgx-recipe-single__related img {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
}

.mgx-recipe-single__related span,
.mgx-recipe-single__related small {
  color: var(--mgx-salmon-dark);
  font-size: 12px;
  font-weight: 700;
}

.mgx-recipe-single__related strong {
  font-family: var(--mgx-display);
  font-size: clamp(23px, 2.5vw, 34px);
  font-weight: 400;
}

@media (max-width: 820px) {
  .mgx-product-information {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-right: 0;
  }

  .mgx-product-information dd {
    margin-bottom: 14px;
  }

  .mgx-recipe-single__main {
    width: min(100% - 36px, 1380px);
  }

  .mgx-recipe-single__hero {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 8px 0 62px;
  }

  .mgx-recipe-single__hero figure {
    aspect-ratio: 4 / 3;
  }

  .mgx-recipe-single__hero h1 {
    font-size: clamp(39px, 12vw, 56px);
  }

  .mgx-recipe-single__lead {
    font-size: 18px;
  }

  .mgx-recipe-single__body {
    grid-template-columns: 1fr;
    gap: 60px;
    padding: 68px 22px;
  }

  .mgx-recipe-single__product {
    align-items: flex-start;
    flex-direction: column;
    margin: 62px 0;
    padding: 32px 24px;
  }

  .mgx-recipe-single__product .mgx-button {
    width: 100%;
  }

  .mgx-recipe-single__related {
    padding-bottom: 80px;
  }

  .mgx-recipe-single__related > div {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* WooCommerce native product and cart pages — v2.0 */
body.single-product,
body.woocommerce-cart {
  background-color: var(--mgx-paper);
  background-image: linear-gradient(rgba(255, 249, 249, 0.74), rgba(255, 249, 249, 0.74)), url("trama.png");
  background-size: auto, 720px 900px;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
}

body.single-product .site-main,
body.single-product main,
body.woocommerce-cart .site-main,
body.woocommerce-cart main {
  width: min(1280px, calc(100% - 48px));
  margin-inline: auto;
}

body.single-product .woocommerce-breadcrumb,
body.woocommerce-cart .woocommerce-breadcrumb {
  margin: 24px 0 30px;
  color: var(--mgx-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(370px, 0.94fr);
  gap: clamp(42px, 6vw, 90px);
  padding: 28px 0 95px;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
  width: auto !important;
  float: none !important;
}

body.single-product div.product .woocommerce-product-gallery {
  align-self: start;
  padding: clamp(28px, 5vw, 68px);
  border: 1px solid var(--mgx-line);
  background: rgba(239, 235, 231, 0.82);
}

body.single-product div.product .woocommerce-product-gallery img {
  filter: drop-shadow(0 28px 30px rgba(13, 42, 61, 0.16));
}

body.single-product div.product .summary {
  padding-top: 22px;
}

body.single-product .product_title {
  margin: 12px 0 15px;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(43px, 5vw, 70px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
  margin: 18px 0;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 31px;
}

body.single-product .woocommerce-product-details__short-description {
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 16px;
  line-height: 1.7;
}

body.single-product div.product form.cart {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 10px;
  margin: 28px 0 20px;
  padding: 22px;
  border: 1px solid var(--mgx-line);
  background: rgba(255, 255, 255, 0.72);
}

body.single-product div.product form.cart .quantity .qty {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--mgx-line);
  background: var(--mgx-paper);
}

body.single-product .single_add_to_cart_button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart button[name="apply_coupon"],
body.woocommerce-cart button[name="update_cart"] {
  min-height: 52px;
  border: 1px solid var(--mgx-ink) !important;
  border-radius: 0 !important;
  background: var(--mgx-ink) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-product .single_add_to_cart_button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  border-color: var(--mgx-salmon-dark) !important;
  background: var(--mgx-salmon-dark) !important;
}

body.single-product .product_meta {
  display: grid;
  gap: 7px;
  padding-top: 20px;
  border-top: 1px solid var(--mgx-line);
  color: var(--mgx-muted);
  font-size: 9px;
  letter-spacing: 0.04em;
}

body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .up-sells {
  grid-column: 1 / -1;
}

body.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 30px;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--mgx-line);
}

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

body.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
  padding: 17px 0 !important;
  color: var(--mgx-muted) !important;
  font-size: 9px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--mgx-salmon-dark) !important;
}

body.single-product .woocommerce-tabs .panel {
  max-width: 850px;
  padding: 30px 0 60px;
  color: var(--mgx-muted);
  font-size: 13px;
  line-height: 1.75;
}

body.single-product .related.products > h2,
body.single-product .up-sells > h2,
body.woocommerce-cart .cart_totals h2 {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 400;
}

body.woocommerce-cart .woocommerce {
  padding: 48px 0 105px;
}

body.woocommerce-cart .woocommerce-cart-form {
  width: calc(68% - 32px);
  float: left;
}

body.woocommerce-cart .cart-collaterals {
  width: 32%;
  float: right;
}

body.woocommerce-cart table.shop_table {
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.62);
}

body.woocommerce-cart table.shop_table th {
  padding: 14px 12px;
  border-bottom: 1px solid var(--mgx-ink);
  color: var(--mgx-muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.woocommerce-cart table.shop_table td {
  padding: 22px 12px;
  border-bottom: 1px solid var(--mgx-line);
}

body.woocommerce-cart td.product-thumbnail img {
  width: 105px;
  padding: 8px;
  background: var(--mgx-cream);
}

body.woocommerce-cart td.product-name a {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 17px;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal {
  font-family: var(--mgx-display);
}

body.woocommerce-cart .cart_totals {
  width: 100% !important;
  padding: 26px;
  border: 1px solid var(--mgx-line);
  background: var(--mgx-cream);
}

body.woocommerce-cart .cart_totals h2 {
  margin-top: 0;
  font-size: 29px;
}

body.woocommerce-cart .cart_totals table {
  background: transparent;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
  padding: 15px 4px;
  border-bottom: 1px solid var(--mgx-line);
}

body.woocommerce-cart .coupon input.input-text {
  min-height: 52px;
  border: 1px solid var(--mgx-line);
  background: #fff;
}

@media (max-width: 900px) {
  body.single-product div.product {
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals {
    width: 100%;
    float: none;
  }

  body.woocommerce-cart .cart-collaterals {
    margin-top: 35px;
  }
}

@media (max-width: 620px) {
  body.single-product .site-main,
  body.single-product main,
  body.woocommerce-cart .site-main,
  body.woocommerce-cart main {
    width: calc(100% - 28px);
  }

  body.single-product div.product {
    gap: 20px;
    padding-top: 8px;
  }

  body.single-product div.product form.cart {
    grid-template-columns: 1fr;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    gap: 15px;
    overflow-x: auto;
  }

  body.woocommerce-cart table.shop_table_responsive tr {
    margin-bottom: 18px;
    border: 1px solid var(--mgx-line);
  }
}

/* WooCommerce Blocks and Elementor Pro compatibility — v2.1 */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
  padding: 55px 0 105px;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
}

body.woocommerce-cart .wc-block-cart {
  gap: clamp(30px, 5vw, 70px);
}

body.woocommerce-cart .wc-block-cart__main {
  padding-right: 0;
}

body.woocommerce-cart .wc-block-cart-items {
  border-spacing: 0;
  border-collapse: collapse;
  background: rgba(255, 255, 255, 0.64);
}

body.woocommerce-cart .wc-block-cart-items thead th {
  padding: 14px 16px;
  border-bottom: 1px solid var(--mgx-ink);
  color: var(--mgx-muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items__row td {
  padding: 25px 16px !important;
  border-bottom: 1px solid var(--mgx-line) !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
  padding: 10px;
  background: var(--mgx-cream);
  filter: drop-shadow(0 12px 16px rgba(13, 42, 61, 0.1));
}

body.woocommerce-cart .wc-block-components-product-name {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 500;
  line-height: 1.25;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
}

body.woocommerce-cart .wc-block-components-quantity-selector {
  min-height: 42px;
  border: 1px solid var(--mgx-line);
  border-radius: 0;
  background: var(--mgx-paper);
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--mgx-muted) !important;
  font-size: 8px !important;
  text-underline-offset: 3px;
}

body.woocommerce-cart .wc-block-cart__sidebar {
  align-self: start;
  position: sticky;
  top: 135px;
  padding: 28px !important;
  border: 1px solid var(--mgx-line);
  background: var(--mgx-cream);
}

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-totals-item__label {
  color: var(--mgx-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-weight: 500;
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
  border-top: 1px solid var(--mgx-line);
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 24px;
}

body.woocommerce-cart .wc-block-cart__submit-button {
  min-height: 56px;
  border: 0;
  border-radius: 0;
  background: var(--mgx-ink);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
  background: var(--mgx-salmon-dark);
}

body.woocommerce-cart .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-totals-coupon {
  border-color: var(--mgx-line);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2,
body.woocommerce-cart .wp-block-heading.has-text-align-center {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(38px, 6vw, 62px);
  font-weight: 400;
}

body.single-product .elementor-widget-woocommerce-product-images,
body.single-product .wp-block-woocommerce-product-image-gallery {
  padding: clamp(25px, 4vw, 58px);
  border: 1px solid var(--mgx-line);
  background: rgba(239, 235, 231, 0.82);
}

body.single-product .elementor-widget-woocommerce-product-images img,
body.single-product .wp-block-woocommerce-product-image-gallery img {
  filter: drop-shadow(0 26px 28px rgba(13, 42, 61, 0.15));
}

body.single-product .elementor-widget-woocommerce-product-title h1,
body.single-product .wp-block-post-title {
  margin: 10px 0 16px;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(43px, 5vw, 70px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1;
}

body.single-product .elementor-widget-woocommerce-product-price,
body.single-product .wp-block-woocommerce-product-price {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 31px;
}

body.single-product .elementor-widget-woocommerce-product-short-description,
body.single-product .wp-block-post-excerpt {
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 16px;
  line-height: 1.7;
}

body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart,
body.single-product .wp-block-woocommerce-add-to-cart-form form.cart {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 10px;
  padding: 22px;
  border: 1px solid var(--mgx-line);
  background: rgba(255, 255, 255, 0.72);
}

body.single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
body.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
  min-height: 52px;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mgx-ink) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-product .elementor-widget-woocommerce-product-data-tabs,
body.single-product .wp-block-woocommerce-product-details {
  margin-top: 55px;
  padding-top: 25px;
  border-top: 1px solid var(--mgx-line);
}

body.single-product .elementor-widget-woocommerce-product-related > h2,
body.single-product .wp-block-woocommerce-related-products > h2 {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 400;
}

@media (max-width: 900px) {
  body.woocommerce-cart .wc-block-cart__sidebar {
    position: static;
  }
}

@media (max-width: 620px) {
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    width: calc(100% - 28px);
    padding-top: 30px;
  }

  body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart,
  body.single-product .wp-block-woocommerce-add-to-cart-form form.cart {
    grid-template-columns: 1fr;
  }
}

/* Independent product and cart pages — v2.2 */
.mgx-standalone-product,
.mgx-standalone-cart {
  width: min(1380px, calc(100% - 48px));
  margin: 0 auto;
  overflow: visible;
  background-color: transparent;
}

.mgx-standalone-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 28px 0 24px;
  color: var(--mgx-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mgx-standalone-breadcrumb strong { color: var(--mgx-ink); }

.mgx-product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr);
  gap: clamp(48px, 7vw, 105px);
  padding: 15px 0 90px;
}

.mgx-product-gallery {
  min-height: 650px;
  align-self: start;
  position: relative;
  display: grid;
  place-items: center;
  padding: clamp(45px, 6vw, 85px);
  border: 1px solid var(--mgx-line);
  background: rgba(239, 235, 231, 0.82);
}

.mgx-product-gallery::before {
  content: "";
  width: min(65%, 460px);
  aspect-ratio: 1;
  position: absolute;
  border: 1px solid rgba(13, 42, 61, 0.1);
  border-radius: 50%;
}

.mgx-product-main-image {
  max-height: 490px;
  position: relative;
  z-index: 1;
  object-fit: contain;
  filter: drop-shadow(0 30px 32px rgba(13, 42, 61, 0.17));
}

.mgx-product-stamp {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 24px;
  padding: 10px 13px;
  border: 1px solid var(--mgx-salmon);
  border-radius: 999px;
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mgx-product-thumbs {
  position: absolute;
  z-index: 2;
  left: 22px;
  bottom: 22px;
  display: flex;
  gap: 8px;
}

.mgx-product-thumbs img {
  width: 58px;
  height: 58px;
  padding: 5px;
  border: 1px solid var(--mgx-line);
  background: var(--mgx-paper);
  object-fit: contain;
}

.mgx-product-purchase { padding-top: 22px; }
.mgx-product-purchase > h1 {
  margin: 15px 0 20px;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(43px, 5vw, 70px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1;
}

.mgx-product-price { display: flex; align-items: baseline; gap: 12px; padding: 18px 0; border-block: 1px solid var(--mgx-line); }
.mgx-product-price .amount { color: var(--mgx-ink); font-family: var(--mgx-display); font-size: 31px; }
.mgx-product-price > span { color: var(--mgx-muted); font-size: 8px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.mgx-product-description { margin: 22px 0; color: var(--mgx-muted); font-family: var(--mgx-display); font-size: 16px; line-height: 1.7; }

.mgx-product-order { padding: 22px; border: 1px solid var(--mgx-line); background: rgba(255, 255, 255, 0.72); }
.mgx-availability { display: flex; align-items: center; gap: 8px; color: #356c55; font-size: 8px; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.mgx-availability i { width: 7px; height: 7px; border-radius: 50%; background: #4f9d71; box-shadow: 0 0 0 4px rgba(79, 157, 113, 0.12); }
.mgx-product-order form { display: grid; grid-template-columns: 115px 1fr; gap: 10px; margin-top: 18px; }
.mgx-product-order label { display: grid; grid-template-columns: 1fr 50px; align-items: center; border: 1px solid var(--mgx-line); background: var(--mgx-paper); }
.mgx-product-order label span { padding-left: 12px; color: var(--mgx-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mgx-product-order input { width: 50px; height: 52px; border: 0; background: transparent; text-align: center; }
.mgx-product-order button,
.mgx-product-native-link { min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 21px; border: 0 !important; background-color: var(--mgx-ink) !important; background-image: none !important; box-shadow: none !important; color: #fff !important; cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.mgx-product-order button:hover { background-color: var(--mgx-salmon-dark) !important; }
.mgx-product-assurances { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--mgx-line); }
.mgx-product-assurances span { color: var(--mgx-muted); font-size: 7px; font-weight: 700; text-align: center; text-transform: uppercase; }

.mgx-product-facts { margin-top: 18px; border-top: 1px solid var(--mgx-line); }
.mgx-product-facts details { border-bottom: 1px solid var(--mgx-line); }
.mgx-product-facts summary { min-height: 54px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-family: var(--mgx-display); font-size: 13px; list-style: none; }
.mgx-product-facts summary::-webkit-details-marker { display: none; }
.mgx-product-facts details[open] summary span { transform: rotate(45deg); }
.mgx-product-facts details > div,
.mgx-product-facts details > p { margin: 0 28px 20px 0; color: var(--mgx-muted); font-size: 11px; line-height: 1.7; }

.mgx-product-method {
  display: grid;
  grid-template-columns: 0.9fr 1.2fr auto;
  align-items: end;
  gap: 55px;
  margin: 0 calc(50% - 50vw);
  padding: 72px max(24px, calc((100vw - 1380px) / 2));
  background: var(--mgx-ink);
  color: #fff;
}
.mgx-product-method > div { display: flex; gap: 20px; }
.mgx-product-method > div > span { color: #f18e7a; font-family: var(--mgx-display); font-size: 11px; }
.mgx-product-method h2 { margin: 0; font-family: var(--mgx-display); font-size: clamp(35px, 4vw, 51px); font-weight: 400; line-height: 1.04; }
.mgx-product-method h2 em { color: #f18e7a; font-weight: 400; }
.mgx-product-method p { margin: 0; color: #c2ccd1; font-family: var(--mgx-display); font-size: 15px; line-height: 1.7; }
.mgx-product-method > a { color: #f18e7a; font-size: 9px; font-weight: 800; text-transform: uppercase; }

.mgx-product-related { padding: 85px 0 105px; }
.mgx-product-related header h2 { margin: 10px 0 35px; font-family: var(--mgx-display); font-size: clamp(34px, 4vw, 48px); font-weight: 400; }
.mgx-product-related > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mgx-product-related article a { display: grid; gap: 10px; }
.mgx-product-related article img { width: 100%; height: 280px; padding: 30px; background: var(--mgx-cream); object-fit: contain; }
.mgx-product-related article span { font-family: var(--mgx-display); font-size: 19px; }
.mgx-product-related article strong { font-family: var(--mgx-display); font-size: 15px; }

.mgx-product-missing { max-width: 760px; margin: 80px auto; padding: 70px 30px; text-align: center; }
.mgx-product-missing span { color: var(--mgx-salmon-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.mgx-product-missing h1 { font-family: var(--mgx-display); font-size: 50px; font-weight: 400; }
.mgx-product-missing a { display: inline-flex; margin-top: 20px; padding: 15px 20px; background: var(--mgx-ink); color: #fff; }

.mgx-standalone-cart { padding: 45px 0 105px; }
.mgx-standalone-cart > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 45px; }
.mgx-standalone-cart > header h1 { margin: 10px 0 0; font-family: var(--mgx-display); font-size: clamp(46px, 6vw, 72px); font-weight: 400; line-height: 0.98; }
.mgx-standalone-cart > header h1 em { color: var(--mgx-salmon-dark); font-weight: 400; }
.mgx-standalone-cart > header ol { display: flex; gap: 26px; margin: 0; padding: 0; list-style: none; }
.mgx-standalone-cart > header li { display: flex; align-items: center; gap: 7px; color: var(--mgx-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mgx-standalone-cart > header li b { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid var(--mgx-line); border-radius: 50%; font-family: var(--mgx-display); }
.mgx-standalone-cart > header li.is-active { color: var(--mgx-ink); }
.mgx-standalone-cart > header li.is-active b { border-color: var(--mgx-salmon); color: var(--mgx-salmon-dark); }

.mgx-cart-shortcode .woocommerce { display: flow-root; }
.mgx-cart-shortcode .woocommerce-cart-form { width: calc(68% - 34px); float: left; }
.mgx-cart-shortcode .cart-collaterals { width: 32%; float: right; }
.mgx-cart-shortcode table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; background: rgba(255, 255, 255, 0.65); }
.mgx-cart-shortcode table.shop_table th { padding: 14px 12px; border-bottom: 1px solid var(--mgx-ink); color: var(--mgx-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mgx-cart-shortcode table.shop_table td { padding: 22px 12px; border-bottom: 1px solid var(--mgx-line); }
.mgx-cart-shortcode td.product-thumbnail img { width: 100px; padding: 7px; background: var(--mgx-cream); }
.mgx-cart-shortcode td.product-name a { font-family: var(--mgx-display); font-size: 17px; }
.mgx-cart-shortcode .cart_totals { width: 100% !important; padding: 25px; border: 1px solid var(--mgx-line); background: var(--mgx-cream); }
.mgx-cart-shortcode .cart_totals h2 { margin-top: 0; font-family: var(--mgx-display); font-size: 28px; font-weight: 400; }
.mgx-cart-shortcode .wc-proceed-to-checkout a,
.mgx-cart-shortcode button { border: 0 !important; border-radius: 0 !important; background: var(--mgx-ink) !important; color: #fff !important; font-size: 9px !important; font-weight: 800 !important; text-transform: uppercase; }

.mgx-cart-services { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 75px; border-block: 1px solid var(--mgx-line); }
.mgx-cart-services > div { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; padding: 25px; border-right: 1px solid var(--mgx-line); }
.mgx-cart-services > div:last-child { border-right: 0; }
.mgx-cart-services b { grid-row: 1 / 3; color: var(--mgx-salmon-dark); }
.mgx-cart-services strong { font-family: var(--mgx-display); font-size: 15px; }
.mgx-cart-services span { color: var(--mgx-muted); font-size: 9px; }

.mgx-shipping-progress {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 0.8fr);
  align-items: center;
  gap: 38px;
  margin-bottom: 52px;
  padding: 21px 25px;
  border: 1px solid rgba(215, 100, 77, 0.28);
  background: rgba(255, 255, 255, 0.72);
}
.mgx-shipping-progress > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.mgx-shipping-progress strong { font-family: var(--mgx-display); font-size: 14px; }
.mgx-shipping-progress span { color: var(--mgx-muted); font-size: 9px; }
.mgx-shipping-progress > div:last-child { height: 5px; overflow: hidden; background: #e4ddda; }
.mgx-shipping-progress i { height: 100%; display: block; background: var(--mgx-salmon); }

.mgx-cart-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, 0.65fr); gap: clamp(35px, 5vw, 68px); }
.mgx-cart-head { display: grid; grid-template-columns: 1fr 120px 90px; gap: 20px; padding: 0 0 13px; border-bottom: 1px solid var(--mgx-ink); color: var(--mgx-muted); font-size: 8px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.mgx-cart-head span:nth-child(2), .mgx-cart-head span:last-child { text-align: center; }
.mgx-cart-line { display: grid; grid-template-columns: 135px 1fr 120px 90px; align-items: center; gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--mgx-line); }
.mgx-cart-line__image { height: 125px; display: grid; place-items: center; background: var(--mgx-cream); }
.mgx-cart-line__image img { width: 90%; max-height: 105px; object-fit: contain; }
.mgx-cart-line__copy > span { color: var(--mgx-salmon-dark); font-size: 7px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.mgx-cart-line__copy h2 { margin: 6px 0; font-family: var(--mgx-display); font-size: 21px; font-weight: 500; line-height: 1.2; }
.mgx-cart-line__copy p { margin: 0; color: var(--mgx-muted); font-size: 9px; }
.mgx-cart-remove { display: inline-block; margin-top: 12px; color: var(--mgx-muted); font-size: 8px; text-decoration: underline; text-underline-offset: 3px; }
.mgx-cart-quantity { min-height: 44px; display: grid; grid-template-columns: 1fr 36px 1fr; place-items: center; border: 1px solid var(--mgx-line); background: var(--mgx-paper); }
.mgx-cart-quantity button { width: 100%; height: 42px; border: 0; background: transparent; color: var(--mgx-ink); cursor: pointer; }
.mgx-cart-quantity input { width: 36px; height: 42px; padding: 0; border: 0; background: transparent; text-align: center; -moz-appearance: textfield; }
.mgx-cart-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.mgx-cart-line__total { font-family: var(--mgx-display); font-size: 17px; text-align: center; }
.mgx-cart-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; }
.mgx-cart-actions a { color: var(--mgx-salmon-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.mgx-cart-actions button { min-height: 42px; padding: 0 15px; border: 1px solid var(--mgx-line); background: transparent; color: var(--mgx-ink); cursor: pointer; font-size: 8px; font-weight: 800; text-transform: uppercase; }

.mgx-order-summary { align-self: start; position: sticky; top: 135px; padding: 29px; border: 1px solid var(--mgx-line); background: rgba(239, 235, 231, 0.86); }
.mgx-order-summary > h2 { margin: 9px 0 22px; font-family: var(--mgx-display); font-size: 28px; font-weight: 500; }
.mgx-order-summary dl { margin: 0; }
.mgx-order-summary dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--mgx-line); color: var(--mgx-muted); font-size: 10px; }
.mgx-order-summary dd { margin: 0; color: var(--mgx-ink); font-weight: 800; text-align: right; }
.mgx-order-summary .mgx-order-total { align-items: baseline; padding: 20px 0; color: var(--mgx-ink); font-family: var(--mgx-display); font-size: 16px; }
.mgx-order-summary .mgx-order-total dd { font-size: 24px; font-weight: 500; }
.mgx-coupon { padding: 16px 0; }
.mgx-coupon > label { display: block; margin-bottom: 9px; font-size: 9px; font-weight: 800; }
.mgx-coupon > div { display: grid; grid-template-columns: 1fr auto; }
.mgx-coupon input { min-width: 0; min-height: 43px; padding: 10px; border: 1px solid var(--mgx-line); background: #fff; font-size: 10px; }
.mgx-coupon button { min-width: 70px; border: 0; background: var(--mgx-ink); color: #fff; font-size: 8px; font-weight: 800; text-transform: uppercase; }



.mgx-hidden-form { display: none; }

.mgx-cart-empty { min-height: 470px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.mgx-cart-empty .mgx-cart-icon { width: 48px; height: 52px; margin-bottom: 22px; }
.mgx-cart-empty h2 { margin: 8px 0; font-family: var(--mgx-display); font-size: 48px; font-weight: 400; }
.mgx-cart-empty > p:not(.mgx-kicker) { color: var(--mgx-muted); }
.mgx-cart-empty > a { margin-top: 18px; padding: 15px 20px; background: var(--mgx-ink); color: #fff; font-size: 9px; font-weight: 800; text-transform: uppercase; }

@media (max-width: 900px) {
  .mgx-product-detail { grid-template-columns: 1fr; }
  .mgx-product-gallery { min-height: 560px; }
  .mgx-product-method { grid-template-columns: 1fr; gap: 25px; }
  .mgx-product-related > div { grid-template-columns: repeat(2, 1fr); }
  .mgx-product-related article:last-child { display: none; }
  .mgx-cart-shortcode .woocommerce-cart-form,
  .mgx-cart-shortcode .cart-collaterals { width: 100%; float: none; }
  .mgx-cart-shortcode .cart-collaterals { margin-top: 32px; }
  .mgx-cart-layout { grid-template-columns: 1fr; }
  .mgx-order-summary { position: static; }
}

@media (max-width: 620px) {
  .mgx-standalone-product,
  .mgx-standalone-cart { width: calc(100% - 28px); }
  .mgx-standalone-breadcrumb { overflow-x: auto; white-space: nowrap; }
  .mgx-product-gallery { min-height: 410px; padding: 45px 24px; }
  .mgx-product-order form { grid-template-columns: 1fr; }
  .mgx-product-assurances { grid-template-columns: 1fr; }
  .mgx-product-assurances span { text-align: left; }
  .mgx-product-related > div { grid-template-columns: 1fr; }
  .mgx-product-related article:last-child { display: block; }
  .mgx-standalone-cart > header { align-items: flex-start; flex-direction: column; }
  .mgx-standalone-cart > header ol { width: 100%; justify-content: space-between; gap: 6px; }
  .mgx-standalone-cart > header li { align-items: flex-start; flex-direction: column; }
  .mgx-cart-services { grid-template-columns: 1fr; }
  .mgx-cart-services > div { border-right: 0; border-bottom: 1px solid var(--mgx-line); }
  .mgx-shipping-progress { grid-template-columns: 1fr; gap: 16px; }
  .mgx-cart-head { display: none; }
  .mgx-cart-line { grid-template-columns: 95px 1fr; align-items: start; gap: 15px; }
  .mgx-cart-line__image { height: 105px; }
  .mgx-cart-quantity { width: 120px; grid-column: 2; }
  .mgx-cart-line__total { grid-column: 2; text-align: left; }
  .mgx-cart-actions { align-items: flex-start; flex-direction: column; }
}

/* Distraction-free commerce pages — v2.4 */
body.mgx-standalone-commerce-page #masthead,
body.mgx-standalone-commerce-page #colophon,
body.mgx-standalone-commerce-page #secondary,
body.mgx-standalone-commerce-page .site-header,
body.mgx-standalone-commerce-page .site-footer,
body.mgx-standalone-commerce-page .site-sidebar,
body.mgx-standalone-commerce-page .widget-area,
body.mgx-standalone-commerce-page .sidebar,
body.mgx-standalone-commerce-page .left-sidebar,
body.mgx-standalone-commerce-page .right-sidebar,
body.mgx-standalone-commerce-page .elementor-location-header,
body.mgx-standalone-commerce-page .elementor-location-footer,
body.mgx-standalone-commerce-page .elementor-location-sidebar,
body.mgx-standalone-commerce-page header[data-elementor-type="header"],
body.mgx-standalone-commerce-page footer[data-elementor-type="footer"] {
  display: none !important;
}

body.mgx-standalone-commerce-page,
body.mgx-standalone-commerce-page #page,
body.mgx-standalone-commerce-page #content,
body.mgx-standalone-commerce-page .site,
body.mgx-standalone-commerce-page .site-content,
body.mgx-standalone-commerce-page .content-area,
body.mgx-standalone-commerce-page .site-main,
body.mgx-standalone-commerce-page .entry-content,
body.mgx-standalone-commerce-page .elementor-location-single {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.mgx-standalone-commerce-page .entry-header,
body.mgx-standalone-commerce-page .page-header,
body.mgx-standalone-commerce-page .entry-title {
  display: none !important;
}

body.mgx-standalone-commerce-page .elementor-widget-shortcode,
body.mgx-standalone-commerce-page .elementor-widget-shortcode > .elementor-widget-container,
body.mgx-standalone-commerce-page .elementor-widget-shortcode .elementor-shortcode {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mgx-standalone-commerce-shell {
  width: 100%;
  overflow: clip;
}

.mgx-commerce-announcement {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 8px 24px;
  background: var(--mgx-ink);
  color: #f8f2e7;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mgx-commerce-announcement i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--mgx-salmon);
}

.mgx-commerce-header {
  width: min(1380px, calc(100% - 64px));
  min-height: 108px;
  position: sticky;
  top: 0;
  z-index: 90;
  margin: 0 auto;
  padding-inline: 0;
  border-bottom: 1px solid var(--mgx-line);
  background: rgba(255, 249, 249, 0.95);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 12px 32px rgba(8, 36, 54, 0.05);
}

body.mgx-cart-drawer-open { overflow: hidden; }
/*
 * Il backdrop è un elemento <button> (per l'accessibilità da tastiera): il
 * tema o gli stili globali di Elementor applicano spesso una regola generica
 * su "button" con !important per il colore di accento del sito. Senza forzare
 * qui lo stesso peso, quella regola vince e il velo scuro dietro al carrello
 * appare del colore del pulsante del tema invece che trasparente sul blu.
 */
.mgx-cart-backdrop {
  position: fixed; inset: 0; z-index: 9988;
  appearance: none; -webkit-appearance: none;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: rgba(8,36,54,.46) !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}
.mgx-cart-backdrop.is-open { opacity: 1; pointer-events: auto; }
/*
 * 3.11 — Il carrello a tendina ridisegnato con lo stesso linguaggio della
 * pagina Carrello vera e propria: card bianche, font Inter, etichette di
 * disponibilità, pulsante CTA a pillola invece del rettangolo scuro.
 */
.mgx-cart-drawer {
  --cd-ui: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  --cd-ok: #2f8f5b;
  --cd-line: rgba(13,42,61,.10);
  --cd-line-strong: rgba(13,42,61,.16);
  width: min(440px, 100%); height: 100dvh; display: flex; flex-direction: column;
  position: fixed; z-index: 9989; right: 0; top: 0; overflow-y: auto;
  padding: 28px; border-left: 1px solid var(--cd-line);
  background: #faf7f4; box-shadow: -30px 0 80px rgba(8,36,54,.18);
  transform: translateX(102%); visibility: hidden;
  transition: transform .26s ease, visibility .26s;
  font-family: var(--cd-ui); color: var(--mgx-ink);
}
.mgx-cart-drawer * { box-sizing: border-box; }
.mgx-cart-drawer.is-open { transform: translateX(0); visibility: visible; }

.mgx-cd-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--cd-line); }
.mgx-cd-kicker { display: block; margin-bottom: 4px; color: var(--mgx-salmon-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mgx-cd-head h2 { margin: 0; font-family: var(--mgx-display); font-size: 26px; font-weight: 400; }
.mgx-cd-close { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--cd-line-strong) !important; border-radius: 50%; background-color: #fff !important; background-image: none !important; box-shadow: none !important; color: var(--mgx-ink) !important; cursor: pointer; }

.mgx-cd-ship { margin-bottom: 18px; padding: 14px 16px; border: 1px solid var(--cd-line); border-radius: 12px; background: #fff; }
.mgx-cd-ship-copy { margin-bottom: 8px; font-size: 12.5px; line-height: 1.5; }
.mgx-cd-ship-copy b { font-weight: 600; }
.mgx-cd-track { height: 5px; border-radius: 999px; background: rgba(13,42,61,.08); overflow: hidden; }
.mgx-cd-track i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg,#e08a72,var(--mgx-salmon)); transition: width .5s ease; }
.mgx-cd-ship.is-met .mgx-cd-track i { background: var(--cd-ok); }

.mgx-cd-items { display: flex; flex-direction: column; gap: 16px; }
.mgx-cd-line { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--cd-line); }
.mgx-cd-thumb { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 10px; background: var(--mgx-cream); overflow: hidden; }
.mgx-cd-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.mgx-cd-line-body { display: grid; gap: 4px; align-content: start; }
.mgx-cd-line-body a { color: inherit; }
.mgx-cd-line-body strong { font-size: 14px; font-weight: 600; line-height: 1.3; }
.mgx-cd-stepper { display: inline-flex; align-items: center; width: fit-content; border: 1px solid var(--cd-line-strong); border-radius: 999px; }
.mgx-cd-stepper button { width: 32px; height: 32px; border: 0 !important; border-radius: 999px; background-color: transparent !important; background-image: none !important; box-shadow: none !important; color: var(--mgx-ink) !important; font-family: var(--cd-ui); font-size: 15px; line-height: 1; cursor: pointer; }
.mgx-cd-stepper button:hover { background-color: var(--mgx-cream) !important; }
.mgx-cd-stepper button:disabled { opacity: .35; cursor: default; }
/*
 * Le regole sulle pseudo-classi ::-webkit-inner/outer-spin-button nascondono
 * solo le frecce su/giù, ma senza "appearance: textfield" anche sull'input
 * stesso Chrome continua a riservare lo spazio per quelle frecce: in una
 * casella larga 32px il numero finiva spinto fuori dalla parte visibile.
 */
/*
 * Da campo type="number" a campo di testo con solo cifre filtrate via JS:
 * i browser gestiscono le frecce native dei campi numerici in modo diverso
 * tra loro (su Safari restava un residuo dello spinner al posto della
 * cifra), un campo di testo si comporta invece in modo identico ovunque.
 */
.mgx-cd-stepper input { width: 40px; height: 32px; border: 0; border-left: 1px solid var(--cd-line); border-right: 1px solid var(--cd-line); background: none; color: var(--mgx-ink); font-family: var(--cd-ui); font-size: 13px; font-weight: 600; text-align: center; }
.mgx-cd-line.is-updating { opacity: .5; pointer-events: none; }
.mgx-cd-line.is-removing { opacity: 0; transform: translateX(12px); transition: opacity .18s ease, transform .18s ease; }
.mgx-cd-tag { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 500; }
.mgx-cd-tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.mgx-cd-tag.is-ok { color: var(--cd-ok); }
.mgx-cd-tag.is-wait { color: var(--mgx-salmon-dark); }
.mgx-cd-tag.is-alert { color: #b0301c; }
.mgx-cd-line-right { display: grid; justify-items: end; align-content: start; gap: 8px; }
.mgx-cd-line-right b { font-size: 14px; font-weight: 600; white-space: nowrap; }
.mgx-cd-remove { color: var(--mgx-muted) !important; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.mgx-cd-remove:hover { color: var(--mgx-salmon-dark) !important; }

.mgx-cd-delivery { display: flex; align-items: center; gap: 11px; margin-top: 18px; padding: 14px; border-radius: 12px; border: 1px solid rgba(215,100,77,.28); background: rgba(215,100,77,.07); }
.mgx-cd-delivery > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--mgx-salmon-dark); }
.mgx-cd-delivery > div { display: grid; gap: 2px; }
.mgx-cd-delivery strong { font-size: 13px; font-weight: 600; }
.mgx-cd-delivery small { color: var(--mgx-muted); font-size: 11px; }

.mgx-cd-foot { display: grid; gap: 10px; margin: 0; padding: 22px 0 0; }
.mgx-cd-row { display: flex; align-items: baseline; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--cd-line); font-size: 13px; }
.mgx-cd-row span { color: var(--mgx-muted); }
.mgx-cd-row strong { font-family: var(--mgx-display); font-size: 22px; font-weight: 400; }
.mgx-cd-note { color: var(--mgx-muted); font-size: 11px; text-align: right; }
.mgx-cd-cta {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 54px; padding: 0 20px; border-radius: 12px;
  background: var(--mgx-salmon) !important; color: #fff !important;
  font-size: 13px; font-weight: 600;
  box-shadow: 0 12px 24px -14px rgba(215,100,77,.9);
  transition: background .16s ease, transform .16s ease;
}
.mgx-cd-cta:hover { background: var(--mgx-salmon-dark) !important; transform: translateY(-1px); }
.mgx-cd-link { color: var(--mgx-ink) !important; font-size: 11px; font-weight: 600; text-align: center; text-decoration: underline; text-underline-offset: 3px; }

.mgx-cd-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 45px 20px; text-align: center; }
.mgx-cd-empty .mgx-cart-icon { width: 34px; height: 32px; margin-bottom: 22px; color: var(--mgx-salmon-dark); }
.mgx-cd-empty h3 { margin: 0 0 8px; font-family: var(--mgx-display); font-size: 24px; font-weight: 400; }
.mgx-cd-empty p { max-width: 280px; margin: 0 0 20px; color: var(--mgx-muted); font-size: 13px; line-height: 1.55; }
.mgx-cd-empty .mgx-cd-cta { display: inline-flex; width: auto; padding: 0 22px; }
/*
 * "margin: auto 0 0" spingeva il footer fino in fondo al pannello alto quanto
 * lo schermo (100dvh), qualunque fosse il numero di articoli: con un solo
 * prodotto si apriva un vuoto di oltre 200px tra la nota di consegna e il
 * totale. Ora il footer segue naturalmente il contenuto con uno stacco fisso.
 */
/*
 * 36px di margine + 28px di padding lasciavano ancora troppo vuoto sopra al
 * totale con pochi articoli. Ridotto a un unico stacco di 22px, in linea con
 * gli altri margini del pannello (18-22px), invece di sommare due spazi.
 */
.mgx-mobile-cart-bar { display: none; }

.mgx-standalone-commerce-shell > .mgx-module-footer {
  width: 100%;
  max-width: none;
}

@media (max-width: 720px) {
  .mgx-commerce-announcement span:last-child,
  .mgx-commerce-announcement i { display: none; }
  .mgx-commerce-announcement { font-size: 8px; text-align: center; }
  .mgx-commerce-header { width: calc(100% - 28px); min-height: 84px; }
  .mgx-shop[data-mgx-shop], .mgx-elementor-section--header, .mgx-standalone-commerce-shell { padding-bottom: 76px; }
  .mgx-mobile-cart-bar { min-height: 64px; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 11px; position: fixed; z-index: 9980; left: 14px; right: 14px; bottom: 12px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 4px; background-color: var(--mgx-ink) !important; background-image: none !important; box-shadow: 0 15px 42px rgba(8,36,54,.28) !important; color: #fff !important; cursor: pointer; text-align: left; }
  .mgx-mobile-cart-bar .mgx-cart-icon { width: 18px; height: 17px; }
  .mgx-mobile-cart-bar > span:not(.mgx-cart-icon) { display: grid; gap: 2px; }
  .mgx-mobile-cart-bar small { color: rgba(255,255,255,.62); font-size: 7px; font-weight: 700; text-transform: uppercase; }
  .mgx-mobile-cart-bar strong { color: #fff; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
  .mgx-mobile-cart-bar > b { color: #fff; font-family: var(--mgx-display); font-size: 16px; font-weight: 500; }
  .mgx-mobile-cart-bar > i { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; font-style: normal; }
  .mgx-whatsapp { bottom: 88px; }
}

@media (max-width: 520px) {
  .mgx-cart-drawer { padding: 22px 17px 88px; }
  .mgx-cd-line { grid-template-columns: 64px 1fr; row-gap: 8px; }
  .mgx-cd-thumb { width: 64px; height: 64px; }
  .mgx-cd-line-right { grid-column: 2; flex-direction: row; justify-content: space-between; align-items: center; display: flex; width: 100%; }
}

/* Standalone checkout — v2.7 */

















































































































/* Stabilità visiva e micro-animazioni — v2.9 */
.mgx-shop,
.mgx-shop *,
.mgx-standalone-commerce-shell,
.mgx-standalone-commerce-shell * { box-sizing: border-box; }
.mgx-shop img,
.mgx-standalone-commerce-shell img { max-width: 100%; height: auto; }
body.mgx-standalone-commerce-page { overflow-x: clip; }
.mgx-cd-items { min-height: 0; overflow-y: auto; }
.mgx-cd-thumb img { width: 100%; height: 100%; object-fit: contain; }




.mgx-reveal { opacity: 0; transform: translateY(24px); transition: opacity .62s ease, transform .62s cubic-bezier(.2,.75,.25,1); }
.mgx-reveal.mgx-is-visible { opacity: 1; transform: translateY(0); }



.mgx-cart-line:hover { border-color: rgba(215,100,77,.42); }
.mgx-cart-line__image img,
.mgx-product-related img { transition: transform .35s ease; }
.mgx-cart-line__image:hover img,
.mgx-product-related a:hover img { transform: scale(1.035); }


.mgx-shipping-progress i { transition: width .7s cubic-bezier(.2,.75,.25,1); }

@media (max-width: 720px) {
  .mgx-module-footer { padding-bottom: 92px; }
  .mgx-whatsapp { bottom: 88px !important; }
  .mgx-cart-drawer { width: 100%; }
}



/* Mobile reale — v3.0: proporzioni, navigazione completa e griglia a due prodotti. */
body.mgx-custom-header-active,
body.mgx-standalone-commerce-page { overflow-x: clip; }

@media (max-width: 720px) {
  .mgx-shop,
  .mgx-elementor-section,
  .mgx-elementor-catalogue,
  .mgx-standalone-commerce-shell { max-width: 100%; overflow-x: clip; }

  .mgx-module-header,
  .mgx-hero,
  .mgx-catalogue,
  .mgx-story,
  .mgx-faq,
  .mgx-recipes__hero,
  .mgx-recipes__list { width: calc(100% - 24px); max-width: 100%; }

  .mgx-module-header {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 10px;
    padding: 11px 0 0;
  }

  .mgx-module-brand { min-width: 0; gap: 9px; }
  .mgx-module-brand img { width: 48px; height: 48px; flex: 0 0 48px; }
  .mgx-module-brand > span { min-width: 0; }
  .mgx-module-brand strong {
    max-width: 165px;
    overflow: hidden;
    font-size: 17px;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mgx-module-cart { min-height: 38px; gap: 6px; padding: 0 9px; }
  .mgx-module-cart > span:not(.mgx-cart-icon):not(.mgx-cart-count) { display: none; }

  .mgx-module-header nav {
    width: 100%;
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    border-top: 1px solid var(--mgx-line);
    overflow: visible;
  }

  .mgx-module-header nav a {
    min-width: 0;
    padding: 10px 3px;
    font-size: 7.5px;
    letter-spacing: 0.07em;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  .mgx-hero {
    min-height: 0;
    gap: 8px;
    padding: 38px 0 24px;
  }
  .mgx-hero__copy { min-width: 0; }
  .mgx-hero h1 {
    max-width: 100%;
    margin: 18px 0;
    font-size: clamp(39px, 11.5vw, 52px);
    line-height: 0.94;
    overflow-wrap: normal;
  }
  .mgx-hero__lead { font-size: 15px; line-height: 1.55; }
  .mgx-button { width: 100%; min-height: 50px; margin-top: 24px; }
  .mgx-assurances { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .mgx-proof { width: 100%; margin-top: 24px; padding-top: 18px; }
  .mgx-proof div { min-width: 0; padding: 0 7px; }
  .mgx-proof strong { font-size: 19px; }
  .mgx-proof span { font-size: 6.5px; line-height: 1.35; overflow-wrap: anywhere; }

  .mgx-hero__visual { width: 100%; height: 335px; overflow: hidden; }
  .mgx-hero__visual img {
    width: min(235px, 72vw);
    height: 360px;
    max-width: 72vw;
    transform: rotate(13deg);
    filter: drop-shadow(18px 22px 22px rgba(48,31,22,.2));
  }
  .mgx-hero__circle { width: 240px; height: 240px; box-shadow: none; }
  .mgx-stamp { width: 68px; height: 68px; right: 8%; top: 8%; font-size: 13px; }
  .mgx-hero::after { width: 100%; right: 0; }

  .mgx-quality {
    min-height: 50px;
    justify-content: flex-start;
    gap: 18px;
    padding: 12px 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .mgx-quality::-webkit-scrollbar { display: none; }
  .mgx-quality span,
  .mgx-quality i { flex: 0 0 auto; scroll-snap-align: start; }
  .mgx-quality span { font-size: 8px; }

  .mgx-catalogue { padding: 64px 0 80px; }
  .mgx-heading h2,
  .mgx-method h2,
  .mgx-gift h2,
  .mgx-values h2,
  .mgx-faq__heading h2 { font-size: clamp(34px, 9.8vw, 45px); overflow-wrap: normal; }
  .mgx-toolbar { margin-top: 30px; }

  .mgx-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 12px;
  }
  .mgx-product,
  .mgx-product.is-featured {
    min-width: 0;
    grid-column: auto;
    display: block;
    overflow: visible;
    background: transparent;
    color: var(--mgx-ink);
  }
  .mgx-product__image,
  .mgx-product.is-featured .mgx-product__image {
    width: 100%;
    height: clamp(155px, 43vw, 190px);
    min-height: 0;
  }
  .mgx-product__image::before { width: 112px; height: 112px; }
  .mgx-product__image img { width: 92%; height: 92%; }
  .mgx-view { display: none; }
  .mgx-badge { left: 7px; top: 7px; padding: 5px 7px; font-size: 6px; }
  .mgx-product__info,
  .mgx-product.is-featured .mgx-product__info { padding: 13px 0 0; }
  .mgx-product__kicker,
  .mgx-product.is-featured .mgx-product__kicker { color: var(--mgx-salmon-dark); font-size: 6.5px; }
  .mgx-product h3,
  .mgx-product.is-featured h3 {
    min-height: 2.45em;
    margin: 7px 0 6px;
    color: var(--mgx-ink);
    font-size: 16px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .mgx-product__info > p,
  .mgx-product.is-featured .mgx-product__info > p { display: none; }
  .mgx-product__buy,
  .mgx-product.is-featured .mgx-product__buy {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
    margin-top: 10px;
    padding-top: 10px;
    border-color: var(--mgx-line);
  }
  .mgx-product__buy strong,
  .mgx-product__buy .price,
  .mgx-product.is-featured .mgx-product__buy strong { color: var(--mgx-ink) !important; font-size: 17px; }
  .mgx-add,
  .mgx-product__buy a.button.mgx-add,
  .mgx-product.is-featured .mgx-add {
    width: 100%;
    justify-content: space-between;
    color: var(--mgx-ink) !important;
    font-size: 7px !important;
    letter-spacing: .07em !important;
  }

  .mgx-category-groups { gap: 52px; }
  .mgx-category-heading h3 { font-size: 28px; }

  .mgx-mobile-cart-bar {
    min-height: 58px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    left: 10px;
    right: 72px;
    bottom: 10px;
    gap: 9px;
    padding: 8px 11px;
  }
  .mgx-mobile-cart-bar > i { display: none; }
  .mgx-mobile-cart-bar > span:not(.mgx-cart-icon) { min-width: 0; }
  .mgx-mobile-cart-bar strong,
  .mgx-mobile-cart-bar small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mgx-mobile-cart-bar > b { font-size: 15px; white-space: nowrap; }
  .mgx-whatsapp { right: 10px; bottom: 84px !important; }
  .iubenda-tp-btn[data-tp-float],
  #iubenda-cs-preferences-link { right: 10px !important; bottom: 10px !important; }

  .mgx-story,
  .mgx-values,
  .mgx-method { padding-top: 68px; padding-bottom: 68px; }
  .mgx-story__year { min-height: 260px; }
  .mgx-gift { margin-block: 68px; }
  .mgx-faq { margin-bottom: 68px; }
  .mgx-module-footer { padding-bottom: 88px; }
}

@media (max-width: 370px) {
  .mgx-module-brand strong { max-width: 125px; font-size: 15px; }
  .mgx-products { gap-inline: 9px; }
  .mgx-product h3,
  .mgx-product.is-featured h3 { font-size: 14px; }
  .mgx-product__buy strong,
  .mgx-product__buy .price,
  .mgx-product.is-featured .mgx-product__buy strong { font-size: 15px; }
  .mgx-mobile-cart-bar small { display: none; }
}

/* Pagamento essenziale e marchio mobile — v3.1 */























/* Feedback visivi, wallet reali di Stripe e micro-animazioni del checkout. */













/* v3.2 — carrello sincronizzato, logo più presente e pagamento moderno. */
.mgx-cart-auto-status {
  color: var(--mgx-muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .04em;
}
.mgx-cart-form.is-auto-ready .mgx-cart-actions button[name="update_cart"] { display: none; }
.mgx-cart-form.is-updating { opacity: .72; pointer-events: none; transition: opacity .2s ease; }

.mgx-module-brand img {
  transform: scale(1.12);
  transform-origin: center;
  transition: transform .2s ease;
}
.mgx-module-brand:hover img { transform: scale(1.18); }











@media (max-width: 720px) {
  .mgx-module-brand img { width: 52px; height: 52px; flex-basis: 52px; transform: none; }
  .mgx-module-brand:hover img { transform: scale(1.03); }
  .mgx-module-brand strong {
    width: 104px;
    max-width: none;
    overflow: visible;
    font-family: var(--mgx-stencil);
    font-size: 17px;
    letter-spacing: -.02em;
    line-height: .92;
    text-overflow: clip;
    text-transform: uppercase;
    white-space: normal;
  }
  .mgx-module-header { padding-top: 5px; }
  .mgx-hero { padding-top: 16px; }

  
  
  
  
  
  
  
  
  
  
  
  
  
}

/* v3.3 — il checkout WooCommerce reale segue la stessa gerarchia dell'anteprima. */


/* v3.4 — un'unica composizione tra anteprima e checkout reale. */
body.mgx-standalone-commerce-page {
  background-color: var(--mgx-paper) !important;
  background-image: url("trama.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 720px 900px !important;
}
body.mgx-standalone-commerce-page #page,
body.mgx-standalone-commerce-page #content,
body.mgx-standalone-commerce-page .site,
body.mgx-standalone-commerce-page .site-content,
body.mgx-standalone-commerce-page .content-area,
body.mgx-standalone-commerce-page .site-main,
body.mgx-standalone-commerce-page .entry-content,
body.mgx-standalone-commerce-page .elementor,
body.mgx-standalone-commerce-page .elementor-section,
body.mgx-standalone-commerce-page .e-con,
body.mgx-standalone-commerce-page .elementor-widget-shortcode,
body.mgx-standalone-commerce-page .elementor-widget-container,
body.mgx-standalone-commerce-page .elementor-shortcode {
  background: transparent !important;
}
.mgx-standalone-commerce-shell {
  background-color: var(--mgx-paper) !important;
  background-image: linear-gradient(rgba(255,249,249,.58), rgba(255,249,249,.58)), url("trama.png") !important;
  background-repeat: repeat, repeat !important;
  background-position: center top, center top !important;
  background-size: auto, 720px 900px !important;
}
























































@media (max-width: 720px) {
  body.mgx-standalone-commerce-page,
  .mgx-standalone-commerce-shell {
    background-size: 520px 650px !important;
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

@media (prefers-reduced-motion: reduce) {
  .mgx-shop *,
  .mgx-shop *::before,
  .mgx-shop *::after,
  .mgx-standalone-commerce-shell *,
  .mgx-standalone-commerce-shell *::before,
  .mgx-standalone-commerce-shell *::after { animation: none !important; scroll-behavior: auto !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .mgx-reveal { opacity: 1; transform: none; }
}

/* v3.7 — parità visiva tra anteprima e pagina pubblica /bottega. */
body.mgx-custom-header-active {
  margin: 0 !important;
  background-color: var(--mgx-paper) !important;
  background-image: url("trama.png") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: 720px 900px !important;
  color: var(--mgx-ink);
}

body.mgx-custom-header-active #page,
body.mgx-custom-header-active #content,
body.mgx-custom-header-active .site,
body.mgx-custom-header-active .site-content,
body.mgx-custom-header-active .content-area,
body.mgx-custom-header-active .site-main,
body.mgx-custom-header-active .entry-content,
body.mgx-custom-header-active .elementor,
body.mgx-custom-header-active .elementor-section,
body.mgx-custom-header-active .elementor-container,
body.mgx-custom-header-active .elementor-widget-wrap,
body.mgx-custom-header-active .e-con,
body.mgx-custom-header-active .e-con-inner,
body.mgx-custom-header-active .elementor-widget-container,
body.mgx-custom-header-active .mgx-elementor-section,
body.mgx-custom-header-active .mgx-elementor-catalogue {
  background-color: transparent !important;
  background-image: none !important;
}

body.mgx-custom-header-active .e-con:has(.mgx-elementor-section),
body.mgx-custom-header-active .e-con:has(.mgx-elementor-catalogue) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.mgx-custom-header-active .e-con-inner:has(> .elementor-widget-mastrogiuliano_section),
body.mgx-custom-header-active .e-con-inner:has(> .elementor-widget-mastrogiuliano_catalogue) {
  width: 100% !important;
  max-width: none !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.mgx-custom-header-active .mgx-empty-module-container { display: none !important; }

.mgx-elementor-section--header {
  position: relative;
  z-index: 110;
  overflow: visible;
}

.mgx-elementor-section--header .mgx-module-header {
  position: sticky;
  top: 0;
  z-index: 110;
  background: rgba(255, 249, 249, 0.95);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 12px 32px rgba(8, 36, 54, 0.05);
}

.mgx-service-strip {
  width: min(1380px, calc(100% - 64px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: -76px auto 110px;
  border-top: 1px solid var(--mgx-line);
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-service-strip article {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 28px 30px;
  border-right: 1px solid var(--mgx-line);
}

.mgx-service-strip article:last-child { border-right: 0; }
.mgx-service-strip article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(215, 100, 77, .34);
  border-radius: 50%;
  color: var(--mgx-salmon-dark);
}
.mgx-service-strip h3 { margin: 0 0 7px; font-family: var(--mgx-display); font-size: 18px; font-weight: 500; }
.mgx-service-strip p { margin: 0; color: var(--mgx-muted); font-size: 10px; line-height: 1.55; }

@media (max-width: 720px) {
  body.mgx-custom-header-active { background-size: 540px 675px !important; }

  body .mgx-elementor-section--header { padding-bottom: 0 !important; }
  body .mgx-commerce-announcement {
    width: 100%;
    min-height: 34px;
    padding: 8px 14px;
    font-size: 8px;
    text-align: center;
  }

  body .mgx-module-header,
  body .mgx-elementor-section--header .mgx-module-header {
    width: calc(100% - 24px) !important;
    min-height: 71px !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-rows: 1fr !important;
    gap: 8px !important;
    margin-inline: auto !important;
    padding: 7px 0 !important;
  }

  body .mgx-module-brand { min-width: 0; gap: 8px; }
  body .mgx-module-brand img {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    transform: none;
  }
  body .mgx-module-brand strong {
    width: 104px;
    max-width: none;
    overflow: visible;
    font-family: var(--mgx-stencil);
    font-size: 17px;
    letter-spacing: -.02em;
    line-height: .92;
    text-overflow: clip;
    text-transform: uppercase;
    white-space: normal;
  }
  body .mgx-module-brand small { display: none; }
  body .mgx-module-help { display: none; }

  body .mgx-module-menu-toggle {
    width: 38px;
    height: 38px;
    display: grid;
    place-content: center;
    gap: 6px;
    padding: 0;
    border: 1px solid var(--mgx-line);
    border-radius: 50%;
    background: rgba(255,255,255,.68);
  }
  body .mgx-module-menu-toggle span { width: 15px; height: 1px; display: block; background: var(--mgx-ink); }
  body .mgx-module-cart { min-width: 44px; min-height: 38px; justify-content: center; padding: 0 8px; }
  body .mgx-module-cart > span:nth-child(2) { display: none; }

  body .mgx-module-header nav {
    width: auto;
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 120;
    grid-column: auto !important;
    grid-row: auto !important;
    display: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 !important;
    padding: 10px !important;
    overflow: visible !important;
    border: 1px solid var(--mgx-line);
    background: rgba(255,249,249,.985);
    box-shadow: 0 18px 38px rgba(8,36,54,.12);
  }
  body .mgx-module-header.is-menu-open nav { display: grid !important; }
  body .mgx-module-header nav a { padding: 12px 10px !important; border-bottom: 1px solid rgba(13,42,61,.08); font-size: 8px; text-align: left; }

  body .mgx-hero,
  body .mgx-catalogue,
  body .mgx-story,
  body .mgx-faq,
  body .mgx-recipes__hero,
  body .mgx-recipes__list { width: calc(100% - 24px); max-width: none; }

  body .mgx-hero { padding-top: 16px; }
  body .mgx-hero h1 { font-size: clamp(39px, 11.5vw, 52px); line-height: .94; }
  body .mgx-hero__lead { font-size: 15px; line-height: 1.55; }
  body .mgx-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 12px; }

  .mgx-service-strip {
    width: calc(100% - 24px);
    grid-template-columns: 1fr;
    margin: -34px auto 68px;
  }
  .mgx-service-strip article { grid-template-columns: 38px 1fr; padding: 20px 8px; border-right: 0; border-bottom: 1px solid var(--mgx-line); }
  .mgx-service-strip article:last-child { border-bottom: 0; }
  .mgx-service-strip article > span { width: 38px; height: 38px; }
  .mgx-service-strip h3 { font-size: 16px; }
  .mgx-service-strip p { font-size: 9px; }
}

/* Ritratto editoriale del Mastro: sostituisce il precedente packshot. */
body .mgx-hero__visual--artisan {
  min-height: 440px;
  height: min(590px, 42vw);
  overflow: hidden;
  border-radius: 2px;
  background: #d9e6eb;
  box-shadow: 0 30px 70px rgba(8,36,54,.16);
}
body .mgx-hero__visual--artisan::before,
body .mgx-hero__visual--artisan .mgx-hero__circle { display: none; }
body .mgx-hero__visual--artisan > img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: 60% center;
  transform: none;
  filter: none;
}
body .mgx-hero__visual--artisan .mgx-stamp { top: 8%; right: 5%; }
body .mgx-hero__visual--artisan > p {
  right: 22px;
  bottom: 18px;
  color: #fff;
  text-shadow: 0 2px 18px rgba(8,36,54,.5);
}

.mgx-elementor-notice {
  width: min(100% - 32px, 760px);
  margin: 24px auto;
  padding: 18px 20px;
  border: 1px solid rgba(215,100,77,.35);
  background: #fff9f9;
  color: #0d2a3d;
  font: 700 13px/1.5 var(--mgx-sans);
}

@media (max-width: 720px) {
  body .mgx-hero__visual--artisan {
    min-height: 0;
    height: 320px;
    margin-top: 8px;
    border-radius: 0;
  }
  body .mgx-hero__visual--artisan > img {
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: 62% center;
    transform: none;
    filter: none;
  }
  body .mgx-hero__visual--artisan .mgx-stamp { top: 6%; right: 5%; }
  body .mgx-hero__visual--artisan > p { right: 14px; bottom: 12px; color: #fff; }
}

@media (max-width: 370px) {
  body .mgx-hero__visual--artisan { height: 280px; }
}

/* Diario dell'artigiano 3.9: testo, ritratto e promesse in un unico modulo. */
body .mgx-hero.mgx-hero--artisan-card {
  width: min(1280px, calc(100% - 44px));
  max-width: 1280px;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  align-items: stretch;
  gap: 0;
  margin: clamp(24px, 4vw, 58px) auto 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(13,42,61,.14);
  border-radius: 3px;
  background-color: rgba(255,249,249,.92);
  background-image: linear-gradient(rgba(255,249,249,.72), rgba(255,249,249,.72)), url("trama.png");
  background-size: auto, 720px 900px;
  box-shadow: 0 28px 80px rgba(8,36,54,.12);
}

body .mgx-hero--artisan-card .mgx-hero__copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  /*
   * Era "center": con la colonna foto alta 620px fissi e il testo più corto,
   * il testo restava centrato a metà cella lasciando un vuoto sotto ai
   * numeri (40+ / 22-24° / 5) prima dell'inizio della striscia arancione,
   * mentre la foto a destra arrivava fino in fondo. Ancorato in basso, il
   * testo tocca la striscia nello stesso punto della foto.
   */
  justify-content: flex-end;
  padding: clamp(54px, 6vw, 88px) clamp(34px, 5vw, 76px);
}

/*
 * Prima la foto aveva un'altezza fissa a 620px, indipendente da quanto testo
 * c'era nella colonna a fianco. Se il testo occupava meno spazio (come qui),
 * restava un vuoto tra la fine del testo e la striscia arancione sotto,
 * perché la riga della griglia doveva comunque essere alta 620px per la
 * foto. Ora la foto segue sempre l'altezza reale della colonna di testo
 * (height:100% della riga), quindi le due colonne finiscono sempre insieme,
 * qualunque sia la lunghezza del testo.
 */
body .mgx-hero--artisan-card .mgx-hero__visual--artisan {
  min-height: 440px;
  height: 100%;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

body .mgx-hero--artisan-card .mgx-hero__visual--artisan::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,249,249,.92) 0, rgba(255,249,249,.28) 12%, transparent 34%),
    linear-gradient(0deg, rgba(8,36,54,.42) 0, transparent 32%);
}

body .mgx-hero--artisan-card .mgx-hero__visual--artisan > img {
  object-position: 63% center;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}

body .mgx-hero--artisan-card:hover .mgx-hero__visual--artisan > img { transform: scale(1.015); }
body .mgx-hero--artisan-card .mgx-stamp,
body .mgx-hero--artisan-card .mgx-hero__visual--artisan > p { z-index: 2; }

body .mgx-hero--artisan-card .mgx-hero__visual--artisan > p {
  margin: 0;
  padding: 10px 14px;
  border-left: 2px solid var(--mgx-salmon);
  background: rgba(8,36,54,.48);
  backdrop-filter: blur(5px);
  color: #fff;
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .09em;
  text-align: left;
  text-transform: uppercase;
}

body .mgx-hero--artisan-card > .mgx-quality {
  width: 100%;
  grid-column: 1 / -1;
  margin: 0;
  border-top: 1px solid rgba(255,255,255,.24);
}

@media (max-width: 900px) {
  body .mgx-hero.mgx-hero--artisan-card {
    width: calc(100% - 24px);
    grid-template-columns: 1fr;
    margin-top: 12px;
  }
  body .mgx-hero--artisan-card .mgx-hero__copy { padding: 38px 22px 30px; }
  body .mgx-hero--artisan-card .mgx-hero__visual--artisan {
    min-height: 0;
    height: clamp(290px, 76vw, 390px);
    margin: 0;
  }
  body .mgx-hero--artisan-card .mgx-hero__visual--artisan::after {
    background: linear-gradient(180deg, rgba(255,249,249,.9) 0, transparent 27%),
      linear-gradient(0deg, rgba(8,36,54,.48) 0, transparent 38%);
  }
  body .mgx-hero--artisan-card .mgx-hero__visual--artisan > img { object-position: 64% center; }
  body .mgx-hero--artisan-card > .mgx-quality {
    min-height: 46px;
    justify-content: flex-start;
    gap: 16px;
    padding: 12px 18px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
  }
  body .mgx-hero--artisan-card > .mgx-quality::-webkit-scrollbar { display: none; }
}

/* 3.9.1 — avvisi WooCommerce e coupon applicati nel carrello Mastro Giuliano */
.mgx-cart-notices:empty { display: none; }
.mgx-cart-notices { margin: 0 0 26px; }
.mgx-cart-notices .woocommerce-message,
.mgx-cart-notices .woocommerce-info,
.mgx-cart-notices .woocommerce-error {
  margin: 0 0 12px;
  padding: 14px 18px;
  border: 1px solid var(--mgx-line);
  border-left: 3px solid var(--mgx-salmon);
  border-radius: 0;
  background: rgba(239, 235, 231, 0.86);
  color: var(--mgx-ink);
  font-size: 11px;
  line-height: 1.5;
  list-style: none;
}
.mgx-cart-notices .woocommerce-error { border-left-color: #b0301c; }
.mgx-cart-notices a { color: var(--mgx-salmon-dark); }
.mgx-order-summary .mgx-order-coupon dt { text-transform: uppercase; letter-spacing: 0.06em; }
.mgx-order-summary .mgx-order-coupon dd { display: grid; gap: 4px; justify-items: end; }
.mgx-order-summary .mgx-order-coupon .woocommerce-remove-coupon {
  color: var(--mgx-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-underline-offset: 3px;
}

/* ============================================================
   3.10.0 — Carrello Mastro Giuliano, impianto moderno.
   Namespace .mgx-cm-* isolato: non tocca le regole precedenti.
   ============================================================ */
.mgx-cart-modern{
  --cm-ui:"Libre Baskerville",Baskerville,"Times New Roman",serif;
  --cm-surface:#fff;
  --cm-cream:#f4efea;
  --cm-line:rgba(13,42,61,.10);
  --cm-line-strong:rgba(13,42,61,.16);
  --cm-ok:#2f8f5b;
  --cm-alert:#b0301c;
  --cm-r-lg:18px;
  --cm-r-md:12px;
  --cm-r-sm:10px;
  --cm-shadow:0 20px 44px -30px rgba(13,42,61,.45);
  width:min(1380px,calc(100% - 64px));
  margin:0 auto;
  padding:26px 0 90px;
  color:var(--mgx-ink);
  font-family:var(--cm-ui);
  font-size:15px;
  line-height:1.5;
}
.mgx-cart-modern *{box-sizing:border-box}
.mgx-cart-modern h1,
.mgx-cart-modern h2,
.mgx-cart-modern h3{margin:0}
.mgx-cart-modern a{text-decoration:none}
.mgx-cart-modern :focus-visible{outline:2px solid var(--mgx-salmon);outline-offset:2px;border-radius:4px}

.mgx-cm-notices:empty{display:none}
.mgx-cm-notices{margin-bottom:20px}
.mgx-cm-notices .woocommerce-message,
.mgx-cm-notices .woocommerce-info,
.mgx-cm-notices .woocommerce-error{
  margin:0 0 10px;padding:14px 18px;list-style:none;
  border:1px solid var(--cm-line);border-left:3px solid var(--mgx-salmon);
  border-radius:var(--cm-r-md);background:var(--cm-surface);
  color:var(--mgx-ink);font-size:14px;line-height:1.5;
}
.mgx-cm-notices .woocommerce-error{border-left-color:var(--cm-alert)}
.mgx-cm-notices a{color:var(--mgx-salmon-dark);font-weight:500}

.mgx-cm-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.mgx-cart-modern h1{font-family:var(--mgx-display);font-size:clamp(26px,3vw,36px);font-weight:400;letter-spacing:-.01em;line-height:1.15}
.mgx-cart-modern h1 span{margin-left:12px;color:var(--mgx-muted);font-family:var(--cm-ui);font-size:15px;font-weight:400}
.mgx-cm-crumbs{display:flex;align-items:center;gap:10px;margin:0;color:var(--mgx-muted);font-size:13.5px}
.mgx-cm-crumbs em{font-style:normal;color:var(--mgx-ink);font-weight:600}
.mgx-cm-crumbs i{width:16px;height:1px;background:var(--cm-line-strong)}

.mgx-cm-card{background:var(--cm-surface);border:1px solid var(--cm-line);border-radius:var(--cm-r-lg);box-shadow:var(--cm-shadow);overflow:hidden}
.mgx-cm-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.9fr);gap:26px;align-items:start}

.mgx-cm-ship{display:grid;gap:12px;padding:20px 28px;border-bottom:1px solid var(--cm-line)}
.mgx-cm-ship-copy{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;font-size:14.5px}
.mgx-cm-ship-copy b{font-weight:600}
.mgx-cm-ship-copy .amount{font-weight:600}
.mgx-cm-ship-copy a{color:var(--mgx-salmon-dark);font-size:13.5px;font-weight:500;border-bottom:1px solid rgba(189,79,59,.35);padding-bottom:1px}
.mgx-cm-track{height:6px;border-radius:999px;background:rgba(13,42,61,.08);overflow:hidden}
.mgx-cm-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e08a72,var(--mgx-salmon));transition:width .5s cubic-bezier(.4,0,.2,1)}
.mgx-cm-ship.is-met .mgx-cm-track i{background:var(--cm-ok)}
.mgx-cm-ship-note{margin:0;color:var(--mgx-muted);font-size:13px}

.mgx-cm-lines{margin:0}
.mgx-cm-line{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--cm-line)}
.mgx-cm-thumb{display:grid;place-items:center;width:96px;height:96px;border-radius:var(--cm-r-sm);background:var(--cm-cream);overflow:hidden}
.mgx-cm-thumb img{width:auto;max-width:100%;height:84%;object-fit:contain;display:block}
.mgx-cm-line-body h2{font-size:15.5px;font-weight:600;letter-spacing:-.01em;line-height:1.35}
.mgx-cm-line-body h2 a{color:inherit}
.mgx-cm-line-meta{margin:3px 0 0;color:var(--mgx-muted);font-size:13.5px}
.mgx-cm-line-meta p{margin:0}
.mgx-cm-tag{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:13px;font-weight:500}
.mgx-cm-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.mgx-cm-tag.is-ok{color:var(--cm-ok)}
.mgx-cm-tag.is-wait{color:var(--mgx-salmon-dark)}
.mgx-cm-tag.is-alert{color:var(--cm-alert)}
.mgx-cm-line-right{display:grid;justify-items:end;gap:10px}
.mgx-cm-price{font-size:16px;font-weight:600;white-space:nowrap}
.mgx-cm-price del{color:var(--mgx-muted);font-weight:400;margin-right:6px}
.mgx-cm-stepper{display:inline-flex;align-items:center;border:1px solid var(--cm-line-strong);border-radius:999px;background:var(--cm-surface)}
.mgx-cm-stepper button{width:34px;height:34px;border:0 !important;border-radius:999px;background:none !important;background-image:none !important;box-shadow:none !important;color:var(--mgx-ink);font-family:var(--cm-ui);font-size:16px;line-height:1;cursor:pointer;transition:background .15s ease}
.mgx-cm-stepper button:hover{background:var(--cm-cream)}
.mgx-cm-stepper input{width:36px;height:34px;padding:0;border:0;background:none;color:var(--mgx-ink);font-family:var(--cm-ui);font-size:14px;font-weight:600;text-align:center;-moz-appearance:textfield}
.mgx-cm-stepper input::-webkit-outer-spin-button,
.mgx-cm-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mgx-cm-drop{color:var(--mgx-muted);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.mgx-cm-drop:hover{color:var(--mgx-salmon-dark)}

.mgx-cm-lines-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;color:var(--mgx-muted);font-size:13.5px}
.mgx-cm-lines-foot a{color:var(--mgx-ink);font-weight:500}
.mgx-cm-lines-foot button{padding:9px 16px;border:1px solid var(--cm-line-strong) !important;border-radius:999px;background:none !important;background-image:none !important;box-shadow:none !important;color:var(--mgx-ink) !important;font-family:var(--cm-ui);font-size:13.5px;cursor:pointer}
.mgx-cm-lines-foot button:hover{background:var(--cm-cream)}
.mgx-cm-lines.is-auto-ready .mgx-cm-lines-foot button{display:none}
.mgx-cm-lines.is-updating .mgx-cart-auto-status{color:var(--mgx-salmon-dark)}

.mgx-cm-suggests{margin-top:26px}
.mgx-cm-suggests-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;padding:0 4px}
.mgx-cm-suggests-head h2{font-family:var(--mgx-display);font-size:19px;font-weight:400}
.mgx-cm-suggests-head span{color:var(--mgx-muted);font-size:13.5px}
.mgx-cm-suggest{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 28px;border-bottom:1px solid var(--cm-line)}
.mgx-cm-suggest:last-child{border-bottom:0}
.mgx-cm-suggest .mgx-cm-thumb{width:88px;height:88px}
.mgx-cm-suggest h3{font-size:15px;font-weight:600}
.mgx-cm-suggest h3 a{color:inherit}
.mgx-cm-suggest p{margin:3px 0 0;color:var(--mgx-muted);font-size:13.5px}
.mgx-cm-suggest-buy{display:grid;justify-items:end;gap:8px}
.mgx-cm-ghost{display:inline-block;padding:10px 18px;border:1px solid var(--mgx-ink);border-radius:999px;background:none;color:var(--mgx-ink);font-family:var(--cm-ui);font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease}
.mgx-cm-ghost:hover{background:var(--mgx-ink);color:#fff}
.mgx-cm-ghost.added{display:none}
.mgx-cm-suggest .added_to_cart{align-self:center;color:var(--cm-ok);font-size:13.5px;font-weight:500}

.mgx-cm-side{position:sticky;top:22px;display:grid;gap:18px;max-width:420px;justify-self:end;width:100%}
.mgx-cm-delivery{padding:24px 26px}
.mgx-cm-delivery h2{font-family:var(--mgx-display);font-size:20px;font-weight:400;line-height:1.3;letter-spacing:-.01em}
.mgx-cm-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:relative;margin:20px 0 0;padding:0;list-style:none}
.mgx-cm-timeline::before{content:"";position:absolute;left:6px;right:6px;top:5px;height:2px;border-radius:999px;background:var(--cm-line-strong)}
.mgx-cm-timeline li{position:relative;padding-top:20px;color:var(--mgx-muted);font-size:12.5px;text-align:center}
.mgx-cm-timeline li::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--cm-line-strong)}
.mgx-cm-timeline li:first-child{text-align:left}
.mgx-cm-timeline li:first-child::before{left:6px}
.mgx-cm-timeline li:last-child{text-align:right}
.mgx-cm-timeline li:last-child::before{left:auto;right:6px;transform:translateX(50%)}
.mgx-cm-timeline li:first-child::before{border-color:var(--mgx-salmon);background:var(--mgx-salmon)}
.mgx-cm-timeline li:last-child::before{border-color:var(--cm-ok);background:var(--cm-ok)}
.mgx-cm-timeline strong{display:block;color:var(--mgx-ink);font-size:13px;font-weight:600}
.mgx-cm-cutoff{display:flex;align-items:center;gap:9px;margin:20px 0 0;padding:12px 14px;border-radius:var(--cm-r-md);background:rgba(215,100,77,.08);color:var(--mgx-salmon-dark);font-size:13px;font-weight:500}

.mgx-cm-totals{padding:24px 26px}
.mgx-cm-totals h2{margin-bottom:16px;font-size:15px;font-weight:600}
.mgx-cm-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:9px 0;font-size:14.5px}
.mgx-cm-row>span:first-child{color:var(--mgx-muted)}
.mgx-cm-row b{font-weight:600;text-align:right}
.mgx-cm-row.is-free b{color:var(--cm-ok)}
.mgx-cm-row-coupon b{display:grid;gap:4px;justify-items:end}
.mgx-cm-row-coupon .woocommerce-remove-coupon{color:var(--mgx-muted);font-size:12.5px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
.mgx-cm-total{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:12px;padding-top:16px;border-top:1px solid var(--cm-line)}
.mgx-cm-total>span{font-size:15px;font-weight:600}
.mgx-cm-total small{display:block;color:var(--mgx-muted);font-size:12.5px;font-weight:400}
.mgx-cm-total b{font-family:var(--mgx-display);font-size:28px;font-weight:400;letter-spacing:-.02em}
.mgx-cm-cta{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:18px;
  padding:16px 22px;border:0;border-radius:var(--cm-r-md);
  background:var(--mgx-salmon);color:#fff;font-family:var(--cm-ui);font-size:15.5px;font-weight:600;
  box-shadow:0 12px 24px -14px rgba(215,100,77,.9);
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.mgx-cm-cta:hover{background:var(--mgx-salmon-dark);color:#fff;transform:translateY(-1px);box-shadow:0 16px 28px -14px rgba(189,79,59,.95)}
.mgx-cm-cta:active{transform:translateY(0)}
.mgx-cm-pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid var(--cm-line)}
.mgx-cm-pay span{padding:5px 10px;border-radius:6px;background:var(--cm-cream);color:var(--mgx-muted);font-size:12px;font-weight:500}
.mgx-cm-coupon{margin-top:16px;padding-top:16px;border-top:1px solid var(--cm-line)}
.mgx-cm-coupon summary{display:flex;align-items:center;gap:8px;color:var(--mgx-muted);font-size:13.5px;cursor:pointer;list-style:none}
.mgx-cm-coupon summary::-webkit-details-marker{display:none}
.mgx-cm-coupon summary::before{content:"+";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--cm-cream);color:var(--mgx-ink);font-size:13px;line-height:1}
.mgx-cm-coupon[open] summary::before{content:"−"}
.mgx-cm-coupon-field{display:flex;gap:8px;margin-top:12px}
.mgx-cm-coupon-field input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--cm-line-strong);border-radius:var(--cm-r-md);background:#fff;color:var(--mgx-ink);font-family:var(--cm-ui);font-size:14px}
.mgx-cm-coupon-field button{padding:11px 16px;border:0 !important;border-radius:var(--cm-r-md);background-color:var(--mgx-ink) !important;background-image:none !important;box-shadow:none !important;color:#fff !important;font-family:var(--cm-ui);font-size:14px;font-weight:500;cursor:pointer}
.mgx-cm-help{margin:0;color:var(--mgx-muted);font-size:13.5px;line-height:1.7;text-align:center}
.mgx-cm-help a{display:block;color:var(--mgx-ink);font-weight:600;font-size:15px}

.mgx-cm-empty{padding:64px 28px;text-align:center}
.mgx-cm-empty h2{margin-bottom:10px;font-family:var(--mgx-display);font-size:26px;font-weight:400}
.mgx-cm-empty p{max-width:420px;margin:0 auto 24px;color:var(--mgx-muted)}
.mgx-cm-empty .mgx-cm-cta{display:inline-flex;width:auto;margin:0}

@media (max-width:1040px){
  .mgx-cm-grid{grid-template-columns:1fr}
  .mgx-cm-side{position:static}
}
@media (max-width:720px){
  .mgx-cart-modern{width:calc(100% - 28px);padding:18px 0 40px}
  .mgx-cm-ship,.mgx-cm-line,.mgx-cm-suggest,.mgx-cm-lines-foot{padding-left:18px;padding-right:18px}
  .mgx-cm-delivery,.mgx-cm-totals,.mgx-cm-empty{padding-left:18px;padding-right:18px}
  .mgx-cm-line{grid-template-columns:76px minmax(0,1fr);row-gap:14px}
  .mgx-cm-thumb,.mgx-cm-suggest .mgx-cm-thumb{width:76px;height:76px}
  .mgx-cm-line-right{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;gap:12px}
  .mgx-cm-suggest{grid-template-columns:76px minmax(0,1fr);row-gap:12px}
  .mgx-cm-suggest-buy{grid-column:2;justify-items:start}
  .mgx-cm-crumbs span{display:none}
  .mgx-cm-crumbs i{display:none}
}
@media (prefers-reduced-motion:reduce){
  .mgx-cart-modern *{transition:none!important}
}

/* ============================================================
   3.13 — Pagina Pagamento (checkout), mai disegnata finora:
   stesso linguaggio della pagina Carrello (card bianche, Inter,
   CTA a pillola). Copre sia il modulo dati/spedizione sia il
   riepilogo con il pagamento nativo WooCommerce.
   ============================================================ */
.mgx-co{
  --co-line: rgba(13,42,61,.10);
  --co-line-strong: rgba(13,42,61,.16);
  --co-shadow: 0 20px 44px -30px rgba(13,42,61,.45);
  font-family: var(--cm-ui);
  color: var(--mgx-ink);
  font-size: 15px;
  line-height: 1.5;
}
.mgx-co *{ box-sizing: border-box; }

.mgx-co-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:30px; }
.mgx-co-kicker{ margin:0 0 8px; color:var(--mgx-salmon-dark); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.mgx-co-head h1{ margin:0 0 6px; font-family:var(--mgx-display); font-size:clamp(26px,3vw,36px); font-weight:400; letter-spacing:-.01em; line-height:1.15; }
.mgx-co-head h1 em{ font-style:italic; color:var(--mgx-salmon-dark); }
.mgx-co-sub{ margin:0; color:var(--mgx-muted); font-size:14px; }
.mgx-co-steps{ display:flex; align-items:center; gap:10px; margin:0; padding:0; list-style:none; color:var(--mgx-muted); font-size:12px; font-weight:600; }
.mgx-co-steps li{ display:flex; align-items:center; gap:8px; }
.mgx-co-steps li + li::before{ content:""; width:20px; height:1px; background:var(--co-line-strong); margin-right:2px; }
.mgx-co-steps li span{ display:grid; place-items:center; width:22px; height:22px; border:1px solid var(--co-line-strong); border-radius:50%; font-size:11px; color:var(--mgx-muted); }
.mgx-co-steps li.is-done{ color:var(--mgx-ink); }
.mgx-co-steps li.is-done span{ background:var(--cm-ok); border-color:var(--cm-ok); color:#fff; font-size:12px; }
.mgx-co-steps li.is-active{ color:var(--mgx-ink); }
.mgx-co-steps li.is-active span{ border-color:var(--mgx-ink); background:var(--mgx-ink); color:#fff; font-weight:700; }

.mgx-co-trust{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:28px; }
.mgx-co-trust > div{ display:flex; align-items:center; gap:12px; padding:16px 18px; border:1px solid var(--co-line); border-radius:14px; background:#fff; box-shadow:var(--co-shadow); }
.mgx-co-trust span[aria-hidden]{ display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:50%; background:var(--cm-cream); color:var(--mgx-salmon-dark); font-size:15px; }
.mgx-co-trust strong{ display:block; font-size:13px; font-weight:600; }
.mgx-co-trust small{ color:var(--mgx-muted); font-size:11.5px; }
.mgx-co-trust small a{ color:var(--mgx-salmon-dark); font-weight:600; }

.mgx-co-card{ background:#fff; border:1px solid var(--co-line); border-radius:18px; box-shadow:var(--co-shadow); }
.mgx-co-empty{ padding:64px 28px; text-align:center; }
.mgx-co-empty h2{ margin:0 0 10px; font-family:var(--mgx-display); font-size:26px; font-weight:400; }
.mgx-co-empty p{ max-width:420px; margin:0 auto 24px; color:var(--mgx-muted); }
.mgx-co-empty-actions{ display:flex; flex-direction:column; align-items:center; gap:12px; }
.mgx-co-empty .mgx-cm-cta{ width:auto; display:inline-flex; }
.mgx-co-empty-link{ color:var(--mgx-ink); font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* ---------- layout a due colonne (dati + riepilogo) ---------- */
.mgx-live-checkout-layout{ display:block; }
/*
 * Era "display:grid" su un contenitore con un solo figlio dentro
 * (.col2-set#customer_details): una griglia senza alcun bisogno di esistere,
 * che nel calcolo delle larghezze insieme alla griglia esterna (form +
 * riepilogo) produceva una colonna sinistra molto più stretta del previsto,
 * con uno spazio vuoto al suo posto.
 */
.mgx-live-checkout-form{ display:block; width:100%; }
/*
 * Prima "Contatti e consegna" e "Preferenze" erano affiancati con una
 * seconda griglia a due colonne annidata dentro quella grande (modulo /
 * riepilogo): due griglie sovrapposte hanno prodotto un'area vuota
 * imprevista sul desktop. Impilarli è più semplice, più robusto, e più
 * naturale anche per chi compila — specie perché "Preferenze" resta vuoto
 * finché non si spunta "spedisci a un indirizzo diverso".
 */
.col2-set#customer_details{ display:grid; grid-template-columns:1fr; gap:20px; width:100%; }
.mgx-co-shortcode form.checkout{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(320px,.85fr); gap:26px; align-items:start; }
.mgx-co-shortcode .mgx-live-checkout-form{ grid-column:1; }
.mgx-co-shortcode .mgx-live-review{ grid-column:2; }

/*
 * .col-1 e .col-2 sono le classi del template classico di WooCommerce, che
 * porta con sé un proprio CSS di base: "float: left/right; width: 48%",
 * pensato per il suo layout a due colonne fisse. Da quando il contenitore è
 * diventato una griglia impilata (sopra), quello stile datato è rimasto
 * comunque attivo sui figli e li faceva "galleggiare" stretti a sinistra,
 * ignorando la griglia — la vera causa della colonna stretta con lo spazio
 * vuoto accanto, non la cache.
 */
.col2-set#customer_details .col-1,
.col2-set#customer_details .col-2{ float:none !important; width:100% !important; margin:0 !important; }

.mgx-live-step{ width:100%; box-sizing:border-box; background:#fff; border:1px solid var(--co-line); border-radius:18px; box-shadow:var(--co-shadow); padding:26px 28px; }
.mgx-live-step header{ display:flex; align-items:flex-start; gap:14px; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--co-line); }
.mgx-live-step header > span{ display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:var(--mgx-cream); color:var(--mgx-ink); font-family:var(--mgx-display); font-size:13px; }
.mgx-live-step header h2{ margin:0 0 3px; font-size:16px; font-weight:600; letter-spacing:-.01em; }
.mgx-live-step header p{ margin:0; color:var(--mgx-muted); font-size:13px; }
.mgx-live-step--secondary{ margin-top:20px; }

.mgx-live-delivery{ display:flex; align-items:center; gap:11px; margin-bottom:22px; padding:14px; border-radius:12px; border:1px solid rgba(215,100,77,.28); background:rgba(215,100,77,.07); }
.mgx-live-delivery > span{ width:32px; height:32px; display:grid; place-items:center; flex:none; border-radius:50%; background:#fff; color:var(--mgx-salmon-dark); }
.mgx-live-delivery strong{ display:block; font-size:13px; font-weight:600; }
.mgx-live-delivery small{ color:var(--mgx-muted); font-size:11.5px; }

/* ---------- campi WooCommerce ---------- */
.mgx-live-fields .form-row{ margin:0 0 16px; padding:0; }
.mgx-live-fields .form-row label{ display:block; margin-bottom:6px; color:var(--mgx-ink); font-size:12.5px; font-weight:600; }
.mgx-live-fields .form-row label .required{ color:var(--mgx-salmon-dark); text-decoration:none; }
.mgx-live-fields .form-row label .optional{ color:var(--mgx-muted); font-weight:400; }
.mgx-live-fields .woocommerce-input-wrapper{ display:block; width:100%; }
.mgx-live-fields input.input-text,
.mgx-live-fields select,
.mgx-live-fields textarea,
.mgx-live-fields .select2-container .select2-selection--single{
  width:100%; min-height:46px; padding:0 14px; border:1px solid var(--co-line-strong) !important;
  border-radius:10px; background:#fff !important; color:var(--mgx-ink); font-family:var(--cm-ui);
  font-size:14px; box-shadow:none !important; transition:border-color .15s ease;
}
.mgx-live-fields textarea{ min-height:90px; padding:12px 14px; resize:vertical; }
.mgx-live-fields input.input-text:focus,
.mgx-live-fields select:focus,
.mgx-live-fields textarea:focus{ outline:0; border-color:var(--mgx-salmon) !important; }
.mgx-live-fields .select2-container .select2-selection--single{ display:flex; align-items:center; }
.mgx-live-fields .select2-selection__rendered{ padding-left:0 !important; line-height:normal !important; color:var(--mgx-ink) !important; }
.mgx-live-fields .select2-selection__arrow{ height:44px !important; }
.mgx-live-fields .form-row-first,
.mgx-live-fields .form-row-last{ width:100%; float:none; }
@media (min-width:481px){
  .mgx-live-fields .form-row-first,
  .mgx-live-fields .form-row-last{ width:calc(50% - 8px); display:inline-block; float:none; }
  .mgx-live-fields .form-row-first{ margin-right:16px; }
}
.mgx-live-fields .woocommerce-additional-fields{ margin-top:4px; padding-top:16px; border-top:1px solid var(--co-line); }
.mgx-live-fields #ship-to-different-address{ margin-bottom:14px; }
.mgx-live-fields #ship-to-different-address label{ display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; cursor:pointer; }
.mgx-live-fields .woocommerce-shipping-fields,
.mgx-live-fields #order_comments_field{ margin-top:4px; }
/*
 * WooCommerce inserisce un proprio titolo ("Dettagli di fatturazione" /
 * "Dettagli di spedizione") prima dei campi: qui è ridondante, dato che il
 * titolo del modulo lo mette già la card ("01 Contatti e consegna").
 */
/*
 * Il titolo "Dettagli di fatturazione" non è figlio diretto di
 * .mgx-live-fields come pensavo: WooCommerce lo annida dentro il proprio
 * contenitore (.woocommerce-billing-fields / .woocommerce-shipping-fields),
 * un livello più in profondità. Il selettore diretto ">" non lo raggiungeva
 * mai. Corretto puntando ai contenitori reali di WooCommerce.
 */
.mgx-live-fields .woocommerce-billing-fields > h3,
.mgx-live-fields .woocommerce-shipping-fields > h3,
.mgx-live-fields .woocommerce-additional-fields > h3{ display:none; }

/* ---------- riepilogo (colonna destra) ---------- */
.mgx-live-review{ position:sticky; top:22px; background:#fff; border:1px solid var(--co-line); border-radius:18px; box-shadow:var(--co-shadow); padding:26px; }
.mgx-live-review-heading{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--co-line); }
.mgx-live-review-heading span{ display:block; margin-bottom:3px; color:var(--mgx-muted); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.mgx-live-review-heading h2{ margin:0; font-family:var(--mgx-display); font-size:20px; font-weight:400; }
.mgx-live-review-heading a{ color:var(--mgx-salmon-dark); font-size:12.5px; font-weight:600; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }

.mgx-live-review-table{ width:100%; border-collapse:collapse; margin-bottom:6px; }
.mgx-live-review-table thead{ display:none; }
.mgx-live-review-table tbody tr{ border-bottom:1px solid var(--co-line); }
.mgx-live-review-table td{ padding:14px 0; vertical-align:top; font-size:13px; }
.mgx-live-review-table td.product-total{ text-align:right; font-weight:600; white-space:nowrap; padding-left:10px; }
.mgx-live-review-product{ display:flex; align-items:center; gap:12px; }
.mgx-live-review-image{ display:block; width:52px; height:52px; flex:none; border-radius:8px; overflow:hidden; background:var(--mgx-cream); }
.mgx-live-review-image img{ width:100%; height:100%; object-fit:contain; }
.mgx-live-review-product strong{ display:block; font-size:13px; font-weight:600; line-height:1.35; }
.mgx-live-review-product strong a{ color:inherit; }
.mgx-live-review-product small{ display:block; margin-top:2px; color:var(--mgx-muted); font-size:11.5px; }
.mgx-live-review-product dl{ margin:2px 0 0; font-size:11px; color:var(--mgx-muted); }

.mgx-live-review-table tfoot tr{ border-bottom:1px solid var(--co-line); }
.mgx-live-review-table tfoot tr:last-child{ border-bottom:0; }
.mgx-live-review-table tfoot th,
.mgx-live-review-table tfoot td{ padding:11px 0; font-weight:400; font-size:13px; text-align:left; }
.mgx-live-review-table tfoot td{ text-align:right; font-weight:600; }
.mgx-live-review-table tfoot th{ color:var(--mgx-muted); font-weight:400; }
.mgx-live-review-table tfoot tr.order-total th,
.mgx-live-review-table tfoot tr.order-total td{ padding-top:16px; font-family:var(--mgx-display); font-size:15px; color:var(--mgx-ink); }
.mgx-live-review-table tfoot tr.order-total th small{ display:block; margin-top:2px; color:var(--mgx-muted); font-family:var(--cm-ui); font-size:10.5px; font-weight:400; }
.mgx-live-review-table tfoot tr.order-total td{ font-size:24px; font-weight:400; }
.mgx-live-review-table .woocommerce-shipping-methods{ margin:6px 0 0; padding:0; list-style:none; text-align:left; }
.mgx-live-review-table .woocommerce-shipping-methods li{ margin:0 0 8px; }
.mgx-live-review-table .woocommerce-shipping-methods li:last-child{ margin-bottom:0; }
.mgx-live-review-table .woocommerce-shipping-methods input[type="radio"]{ margin-right:8px; accent-color:var(--mgx-salmon); }
.mgx-live-review-table .woocommerce-shipping-methods label{ font-size:12.5px; font-weight:500; }

/* caselle di spunta: termini, creazione account, spedisci altrove */
.mgx-co-shortcode input[type="checkbox"]{ accent-color:var(--mgx-salmon); width:16px; height:16px; }
.woocommerce-terms-and-conditions-wrapper .form-row{ display:flex; align-items:flex-start; gap:9px; }
.woocommerce-terms-and-conditions-wrapper .form-row label{ margin:0; }
.mgx-live-fields #createaccount{ display:flex; align-items:center; gap:9px; margin:0 0 16px; font-size:13px; font-weight:600; }
.mgx-live-review-table .woocommerce-Price-amount{ font-weight:inherit; }



/* coupon nel checkout (blocco standard WooCommerce) */
/*
 * Questi due moduli (accesso cliente e coupon) compaiono in cima alla
 * pagina, prima del form vero e proprio — non dentro il riepilogo laterale
 * come inizialmente previsto. Le regole scoperte finora non li raggiungevano
 * mai: qui li si stilizza dove compaiono davvero.
 */
.mgx-co-shortcode .woocommerce-form-login-toggle,
.mgx-co-shortcode .woocommerce-form-coupon-toggle{ margin:0 0 14px; }
.mgx-co-shortcode .woocommerce-form-login-toggle .woocommerce-info,
.mgx-co-shortcode .woocommerce-form-coupon-toggle .woocommerce-info{ font-size:13.5px; }
.mgx-co-shortcode .woocommerce-form-login-toggle a,
.mgx-co-shortcode .woocommerce-form-coupon-toggle a{ color:var(--mgx-salmon-dark); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

.mgx-co-shortcode .woocommerce-form-login,
.mgx-co-shortcode .woocommerce-form-coupon{
  margin:0 0 20px; padding:22px 24px; background:#fff;
  border:1px solid var(--co-line); border-radius:16px; box-shadow:var(--co-shadow);
}
.mgx-co-shortcode .woocommerce-form-coupon{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; padding:18px 20px; }
.mgx-co-shortcode .woocommerce-form-coupon .form-row{ flex:1; min-width:200px; margin:0; }
.mgx-co-shortcode .woocommerce-form-coupon .form-row label{ display:block; margin-bottom:6px; font-size:12.5px; font-weight:600; }
.mgx-co-shortcode .woocommerce-form-login .form-row{ margin:0 0 16px; }
.mgx-co-shortcode .woocommerce-form-login .form-row label{ display:block; margin-bottom:6px; font-size:12.5px; font-weight:600; }
.mgx-co-shortcode .woocommerce-form-login input[type="text"],
.mgx-co-shortcode .woocommerce-form-login input[type="password"],
.mgx-co-shortcode .woocommerce-form-coupon input[type="text"]{
  width:100%; min-height:46px; padding:0 14px; border:1px solid var(--co-line-strong);
  border-radius:10px; font-family:var(--cm-ui); font-size:14px; color:var(--mgx-ink);
}
.mgx-co-shortcode .woocommerce-form-login input:focus,
.mgx-co-shortcode .woocommerce-form-coupon input:focus{ outline:0; border-color:var(--mgx-salmon); }
.mgx-co-shortcode .woocommerce-form-login__rememberme{ display:flex; align-items:center; gap:8px; margin:0 0 18px; font-size:13px; }
.mgx-co-shortcode .woocommerce-form-login__rememberme input{ accent-color:var(--mgx-salmon); }
.mgx-co-shortcode .woocommerce-form-login .lost_password{ margin-top:12px; font-size:12.5px; }
.mgx-co-shortcode .woocommerce-form-login .lost_password a,
.mgx-co-shortcode .woocommerce-form-coupon .lost_password a{ color:var(--mgx-ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.mgx-co-shortcode .woocommerce-form-login button,
.mgx-co-shortcode .woocommerce-form-coupon button{
  min-height:46px; padding:0 22px; border:0; border-radius:10px; background:var(--mgx-salmon);
  color:#fff; font-family:var(--cm-ui); font-size:13.5px; font-weight:600; cursor:pointer;
  transition:background .16s ease;
}
.mgx-co-shortcode .woocommerce-form-login button:hover,
.mgx-co-shortcode .woocommerce-form-coupon button:hover{ background:var(--mgx-salmon-dark); }

/* ---------- pagamento ---------- */
#payment{ margin-top:20px; padding-top:20px; border-top:1px solid var(--co-line); }
#payment ul.payment_methods{ margin:0 0 18px; padding:0; list-style:none; display:grid; gap:10px; }
#payment ul.payment_methods li.payment_method_{ display:none; }
#payment ul.payment_methods > li{ border:1px solid var(--co-line-strong); border-radius:12px; padding:14px 16px; }
#payment ul.payment_methods > li input[type="radio"]{ margin-right:10px; accent-color:var(--mgx-salmon); }
#payment ul.payment_methods > li label{ font-size:13.5px; font-weight:600; cursor:pointer; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
#payment ul.payment_methods > li img{ height:20px; width:auto; vertical-align:middle; }
/*
 * Prima questo contenitore aveva un proprio sfondo e bordo: con gateway come
 * Stripe, che disegnano già una propria card per il modulo di pagamento
 * (Link, Apple Pay, campo numero carta), il risultato era un riquadro dentro
 * il riquadro. Ora lascia solo lo spazio, senza competere visivamente con
 * quello che il gateway stesso disegna.
 */
#payment .payment_box{ margin-top:12px; padding:2px 0 0; color:var(--mgx-muted); font-size:12.5px; line-height:1.6; }
#payment .payment_box p{ margin:0 0 8px; }
#payment .payment_box p:last-child{ margin-bottom:0; }
.woocommerce-terms-and-conditions-wrapper{ margin-bottom:16px; font-size:12px; color:var(--mgx-muted); }
.woocommerce-terms-and-conditions-wrapper a{ color:var(--mgx-ink); font-weight:600; }
.woocommerce-privacy-policy-text{ margin-bottom:16px; font-size:11.5px; color:var(--mgx-muted); }
.woocommerce-privacy-policy-text p{ margin:0; }

#place_order{
  display:flex; align-items:center; justify-content:center; gap:9px; width:100%;
  padding:17px 22px; border:0; border-radius:12px; background:var(--mgx-salmon); color:#fff !important;
  font-family:var(--cm-ui); font-size:15px; font-weight:600; cursor:pointer;
  box-shadow:0 12px 24px -14px rgba(215,100,77,.9); transition:background .16s ease, transform .16s ease;
}
#place_order:hover{ background:var(--mgx-salmon-dark); transform:translateY(-1px); }
.woocommerce-checkout-payment .form-row{ margin-top:4px; }

/* notices (errori di validazione, coupon non valido) */
.mgx-co-shortcode .woocommerce-error,
.mgx-co-shortcode .woocommerce-message,
.mgx-co-shortcode .woocommerce-info{
  margin:0 0 20px; padding:14px 18px; list-style:none; border-radius:12px;
  border:1px solid var(--co-line); border-left:3px solid var(--mgx-salmon);
  background:#fff; color:var(--mgx-ink); font-size:13.5px; line-height:1.5;
}
.mgx-co-shortcode .woocommerce-error{ border-left-color:#b0301c; }
.mgx-co-shortcode .woocommerce-error li{ list-style:none; }
/*
 * WooCommerce inserisce un'icona prima del testo di questi avvisi con un
 * font di icone proprio, che su questa pagina non viene caricato: il
 * browser mostrava un quadratino vuoto sovrapposto alla prima lettera del
 * messaggio invece dell'icona. Qui la si rimuove alla radice.
 */
.mgx-co-shortcode .woocommerce-info::before,
.mgx-co-shortcode .woocommerce-message::before,
.mgx-co-shortcode .woocommerce-error::before{ content:none !important; }

/* ---------- conferma ordine (grazie) ---------- */
.mgx-co-shortcode.is-confirmation .woocommerce-order{
  background:#fff; border:1px solid var(--co-line); border-radius:18px; box-shadow:var(--co-shadow); padding:32px;
}
.mgx-co-shortcode.is-confirmation .woocommerce-thankyou-order-received{ margin:0 0 22px; padding-bottom:20px; border-bottom:1px solid var(--co-line); font-size:15px; }
.mgx-co-shortcode.is-confirmation ul.woocommerce-order-overview{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px;
  margin:0 0 26px; padding:0; list-style:none;
}
.mgx-co-shortcode.is-confirmation ul.woocommerce-order-overview li{
  padding:14px 16px; border:1px solid var(--co-line); border-radius:12px; background:var(--mgx-cream);
  font-size:11px; color:var(--mgx-muted); text-transform:uppercase; letter-spacing:.06em; font-weight:700;
}
.mgx-co-shortcode.is-confirmation ul.woocommerce-order-overview li strong{
  display:block; margin-top:4px; color:var(--mgx-ink); font-family:var(--mgx-display); font-size:16px;
  text-transform:none; letter-spacing:normal; font-weight:400;
}
.mgx-co-shortcode.is-confirmation table.woocommerce-table{ width:100%; border-collapse:collapse; margin:20px 0; }
.mgx-co-shortcode.is-confirmation table.woocommerce-table th,
.mgx-co-shortcode.is-confirmation table.woocommerce-table td{ padding:12px 0; border-bottom:1px solid var(--co-line); font-size:13px; text-align:left; }
.mgx-co-shortcode.is-confirmation h2{ margin:28px 0 14px; font-family:var(--mgx-display); font-size:19px; font-weight:400; }

@media (max-width:1080px){
  .mgx-co-shortcode form.checkout{ grid-template-columns:1fr; }
  .mgx-live-review{ position:static; }
}
@media (max-width:720px){
  .mgx-co-trust{ grid-template-columns:1fr; }
  .mgx-co-steps li span{ width:20px; height:20px; }
  .mgx-live-step{ padding:20px 18px; }
  .mgx-live-review{ padding:20px 18px; }
  .mgx-live-fields .form-row-first,
  .mgx-live-fields .form-row-last{ width:100%; margin-right:0; display:block; }
  .mgx-co-shortcode .woocommerce-form-login,
  .mgx-co-shortcode .woocommerce-form-coupon{ padding:18px; }
  .mgx-co-shortcode .woocommerce-form-coupon{ flex-direction:column; align-items:stretch; }
  .mgx-co-shortcode .woocommerce-form-coupon button{ width:100%; }
  .mgx-live-review-image{ width:44px; height:44px; }
}

/* -------------------------------------------------------------------------
   3.14.0 — Identità coordinata e Home separata
   Palette ufficiale: blu #0D2A3D, corallo #D7644D, carta #FFF9F9,
   avorio #EFEBE7. Stardos Stencil è riservato ai titoli principali;
   Libre Baskerville governa testi, navigazione e interfaccia e-commerce.
   ---------------------------------------------------------------------- */
.mgx-shop,
.mgx-recipes,
.mgx-cart-modern,
.mgx-co {
  font-family: var(--mgx-sans);
}

.mgx-shop h1,
.mgx-shop .mgx-heading h2,
.mgx-shop .mgx-story__copy h2,
.mgx-shop .mgx-values h2,
.mgx-shop .mgx-choice-guide h2,
.mgx-shop .mgx-method h2,
.mgx-shop .mgx-gift h2,
.mgx-shop .mgx-faq h2,
.mgx-recipes__hero h1,
.mgx-recipes__intro h2,
.mgx-recipe__content > h2,
.mgx-recipes__cta h2,
.mgx-home-recipes h2 {
  font-family: var(--mgx-stencil);
  font-weight: 700;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}

.mgx-home-main,
.mgx-bottega-main {
  background-color: var(--mgx-paper);
  background-image: linear-gradient(rgba(255, 249, 249, 0.72), rgba(255, 249, 249, 0.72)), url("trama.png");
  background-position: center top;
  background-size: auto, 720px 900px;
}

body.mgx-custom-header-active #secondary,
body.mgx-custom-header-active .site-sidebar,
body.mgx-custom-header-active .widget-area,
body.mgx-custom-header-active .sidebar {
  display: none !important;
}

body.mgx-custom-header-active,
body.mgx-custom-header-active #page,
body.mgx-custom-header-active #content,
body.mgx-custom-header-active .site,
body.mgx-custom-header-active .site-content,
body.mgx-custom-header-active .content-area,
body.mgx-custom-header-active .site-main,
body.mgx-custom-header-active .entry-content,
body.mgx-custom-header-active .elementor-location-single,
body.mgx-custom-header-active .elementor-widget-shortcode,
body.mgx-custom-header-active .elementor-widget-shortcode > .elementor-widget-container,
body.mgx-custom-header-active .elementor-widget-shortcode .elementor-shortcode {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.mgx-custom-header-active .entry-header,
body.mgx-custom-header-active .page-header,
body.mgx-custom-header-active .entry-title {
  display: none !important;
}

.mgx-home-recipes {
  padding: 115px max(32px, calc((100vw - 1380px) / 2));
  background: var(--mgx-cream);
  color: var(--mgx-ink);
}

.mgx-home-recipes > .mgx-heading {
  width: 100%;
  margin-bottom: 48px;
}

.mgx-home-recipes__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
}

.mgx-home-recipes__grid a {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 10px;
}

.mgx-home-recipes__grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 8px;
  filter: saturate(0.9) contrast(1.03);
  transition: transform 220ms ease, filter 220ms ease;
}

.mgx-home-recipes__grid a:hover img {
  transform: translateY(-4px);
  filter: saturate(1) contrast(1.04);
}

.mgx-home-recipes__grid span {
  color: var(--mgx-salmon);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mgx-home-recipes__grid strong {
  font-family: var(--mgx-display);
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.25;
}

@media (max-width: 820px) {
  .mgx-home-recipes {
    padding: 76px 22px;
  }

  .mgx-home-recipes__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* -------------------------------------------------------------------------
   3.14.2 — Bottega “mucca viola”
   La differenza non è un colore estraneo al marchio: è il modo di scegliere.
   Hero commerciale, selettore per occasione, banco prodotti e assistenza
   umana costruiscono un percorso distinto dalla Home editoriale.
   ---------------------------------------------------------------------- */
.mgx-bottega-experience .mgx-bottega-main {
  background-color: var(--mgx-paper);
  background-image: none;
}

.mgx-bottega-experience .mgx-bottega-hero,
.mgx-bottega-experience .mgx-taste-finder,
.mgx-bottega-experience .mgx-bottega-manifesto,
.mgx-bottega-experience .mgx-bottega-human {
  box-sizing: border-box;
}

.mgx-bottega-hero {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(460px, .96fr);
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
  position: relative;
  isolation: isolate;
  background-color: var(--mgx-ink);
  background-image:
    radial-gradient(circle at 82% 37%, rgba(215, 100, 77, .17), transparent 25%),
    linear-gradient(rgba(13, 42, 61, .955), rgba(13, 42, 61, .955)),
    url("trama.png");
  background-size: auto, auto, 610px 762px;
  color: white;
}

.mgx-bottega-hero::before {
  content: "BOTTEGA";
  position: absolute;
  left: -18px;
  bottom: 28px;
  z-index: -1;
  color: rgba(255, 255, 255, .027);
  font-family: var(--mgx-stencil);
  font-size: clamp(110px, 17vw, 270px);
  font-weight: 700;
  line-height: .7;
  letter-spacing: -.06em;
  white-space: nowrap;
}

.mgx-bottega-hero__copy {
  align-self: center;
  padding: clamp(82px, 9vw, 130px) clamp(42px, 7vw, 112px) clamp(75px, 8vw, 110px) max(32px, calc((100vw - 1380px) / 2));
}

.mgx-bottega-hero .mgx-kicker {
  color: #f1aa9b;
}

.mgx-bottega-hero h1 {
  max-width: 860px;
  margin: 24px 0 28px;
  color: white;
  font-family: var(--mgx-stencil);
  font-size: clamp(58px, 6.5vw, 108px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .88;
  text-transform: uppercase;
}

.mgx-bottega-hero h1 em {
  color: var(--mgx-salmon);
  font-style: normal;
}

.mgx-bottega-hero__lead {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, .73);
  font-family: var(--mgx-display);
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.58;
}

.mgx-bottega-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  margin-top: 34px;
}

.mgx-bottega-hero__actions .mgx-button {
  margin: 0;
}

.mgx-bottega-hero__actions .mgx-button--paper {
  background: var(--mgx-paper);
  color: var(--mgx-ink) !important;
}

.mgx-bottega-hero__actions .mgx-button--paper:hover {
  background: var(--mgx-salmon);
  color: white !important;
  transform: translateY(-2px);
}

.mgx-bottega-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0 7px;
  border-bottom: 1px solid rgba(255, 255, 255, .38);
  color: white !important;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-bottega-text-link span {
  color: var(--mgx-salmon);
  font-size: 15px;
  transition: transform 180ms ease;
}

.mgx-bottega-text-link:hover span {
  transform: translate(3px, 3px);
}

.mgx-bottega-hero__proof {
  max-width: 680px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 56px 0 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .15);
  list-style: none;
}

.mgx-bottega-hero__proof li {
  min-width: 0;
  padding: 19px 17px 0 0;
  border-right: 1px solid rgba(255, 255, 255, .15);
}

.mgx-bottega-hero__proof li + li {
  padding-left: 20px;
}

.mgx-bottega-hero__proof li:last-child {
  border-right: 0;
}

.mgx-bottega-hero__proof strong,
.mgx-bottega-hero__proof span {
  display: block;
}

.mgx-bottega-hero__proof strong {
  font-family: var(--mgx-display);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 400;
}

.mgx-bottega-hero__proof span {
  margin-top: 4px;
  color: rgba(255, 255, 255, .5);
  font-size: 8px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mgx-bottega-hero__visual {
  min-width: 0;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border-left: 1px solid rgba(255, 255, 255, .12);
  background:
    linear-gradient(150deg, rgba(255, 249, 249, .985), rgba(239, 235, 231, .94)),
    url("trama.png");
  background-size: auto, 430px 537px;
}

.mgx-bottega-hero__halo {
  width: min(36vw, 510px);
  aspect-ratio: 1;
  position: absolute;
  border: 1px solid rgba(13, 42, 61, .11);
  border-radius: 50%;
  box-shadow:
    0 0 0 44px rgba(13, 42, 61, .025),
    0 0 0 88px rgba(13, 42, 61, .017),
    0 0 0 132px rgba(13, 42, 61, .012);
}

.mgx-bottega-hero__visual > img {
  width: min(80%, 520px);
  height: min(68vh, 610px);
  object-fit: contain;
  position: relative;
  z-index: 1;
  filter: drop-shadow(31px 36px 34px rgba(13, 42, 61, .23));
  transform: rotate(-4deg);
  transition: transform 700ms cubic-bezier(.2, .8, .2, 1);
}

.mgx-bottega-hero__visual:hover > img {
  transform: rotate(-1deg) scale(1.025);
}

.mgx-bottega-hero__seal {
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  position: absolute;
  right: 8%;
  top: 10%;
  z-index: 2;
  border-radius: 50%;
  background: var(--mgx-salmon);
  color: white;
  font-family: var(--mgx-stencil);
  font-size: 17px;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(9deg);
}

.mgx-bottega-hero__product {
  width: min(82%, 480px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 22px;
  align-items: center;
  position: absolute;
  left: 9%;
  bottom: 38px;
  z-index: 2;
  padding: 17px 20px;
  border: 1px solid rgba(13, 42, 61, .12);
  background: rgba(255, 249, 249, .91);
  box-shadow: 0 17px 45px rgba(13, 42, 61, .12);
  color: var(--mgx-ink) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.mgx-bottega-hero__product span {
  grid-column: 1;
  color: var(--mgx-salmon);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mgx-bottega-hero__product strong {
  grid-column: 1;
  overflow: hidden;
  font-family: var(--mgx-display);
  font-size: 17px;
  font-weight: 400;
  color: var(--mgx-ink) !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mgx-bottega-hero__product b {
  grid-column: 2;
  grid-row: 1 / 3;
  padding-right: 32px;
  font-family: var(--mgx-display);
  font-size: 19px;
  font-weight: 400;
  color: var(--mgx-ink) !important;
  white-space: nowrap;
}

.mgx-bottega-hero__product i {
  position: absolute;
  right: 18px;
  top: 50%;
  color: var(--mgx-salmon);
  font-style: normal;
  transform: translateY(-50%);
}

.mgx-bottega-hero__rail {
  grid-column: 1 / -1;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 28px;
  padding: 13px max(22px, calc((100vw - 1380px) / 2));
  overflow: hidden;
  background: var(--mgx-salmon);
  color: white;
  white-space: nowrap;
}

.mgx-bottega-hero__rail span {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
}

.mgx-bottega-hero__rail i {
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .65);
}

/* Selettore per occasione */
.mgx-taste-finder {
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  padding: 98px 0 64px;
}

.mgx-taste-finder__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
  gap: clamp(45px, 8vw, 120px);
  align-items: end;
  margin-bottom: 52px;
}

.mgx-taste-finder__heading h2,
.mgx-bottega-manifesto h2,
.mgx-bottega-human h2 {
  margin: 20px 0 0;
  font-family: var(--mgx-stencil);
  font-size: clamp(50px, 5.7vw, 83px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: .92;
  text-transform: uppercase;
}

.mgx-taste-finder__heading h2 em,
.mgx-bottega-manifesto h2 em,
.mgx-bottega-human h2 em {
  color: var(--mgx-salmon);
  font-style: normal;
}

.mgx-taste-finder__heading > p {
  max-width: 470px;
  margin: 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 17px;
  line-height: 1.65;
}

.mgx-taste-finder__layout {
  display: grid;
  grid-template-columns: minmax(275px, .62fr) minmax(0, 1.38fr);
  border: 1px solid var(--mgx-line);
  background: white;
  box-shadow: 0 28px 80px rgba(13, 42, 61, .07);
}

.mgx-taste-tabs {
  display: grid;
  align-content: stretch;
  border-right: 1px solid var(--mgx-line);
  background: var(--mgx-cream);
}

.mgx-taste-tabs button,
.mgx-taste-tabs button:hover,
.mgx-taste-tabs button:focus {
  min-height: 104px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 0 !important;
  padding: 20px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mgx-line) !important;
  border-radius: 0 !important;
  outline: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mgx-ink) !important;
  cursor: pointer;
  text-align: left;
}

.mgx-taste-tabs button:last-child {
  border-bottom: 0 !important;
}

.mgx-taste-tabs button.is-active,
.mgx-taste-tabs button.is-active:hover,
.mgx-taste-tabs button.is-active:focus {
  background: var(--mgx-ink) !important;
  color: white !important;
}

.mgx-taste-tabs button:focus-visible {
  box-shadow: inset 0 0 0 3px var(--mgx-salmon) !important;
}

.mgx-taste-tabs button span {
  color: var(--mgx-salmon);
  font-family: var(--mgx-display);
  font-size: 21px;
}

.mgx-taste-tabs button strong {
  font-family: var(--mgx-display);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
}

.mgx-taste-tabs button i {
  color: var(--mgx-salmon);
  font-style: normal;
  transition: transform 180ms ease;
}

.mgx-taste-tabs button.is-active i {
  transform: translateX(4px);
}

.mgx-taste-panels {
  min-width: 0;
}

.mgx-taste-panels > article {
  min-height: 525px;
  grid-template-columns: minmax(300px, .88fr) minmax(330px, 1.12fr);
}

.mgx-taste-panels > article:not([hidden]) {
  display: grid;
  animation: mgxTasteReveal 320ms ease both;
}

.mgx-taste-panels > article[hidden] {
  display: none !important;
}

@keyframes mgxTasteReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.mgx-taste-panel__image {
  min-width: 0;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle, rgba(255, 255, 255, .9) 0 31%, transparent 31.5%),
    var(--mgx-cream);
}

.mgx-taste-panel__image::before,
.mgx-taste-panel__image::after {
  content: "";
  aspect-ratio: 1;
  position: absolute;
  border: 1px solid rgba(13, 42, 61, .08);
  border-radius: 50%;
}

.mgx-taste-panel__image::before {
  width: 74%;
}

.mgx-taste-panel__image::after {
  width: 96%;
}

.mgx-taste-panel__image > span {
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 2;
  padding: 8px 10px;
  background: var(--mgx-salmon);
  color: white;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.mgx-taste-panel__image img {
  width: 88%;
  height: 88%;
  object-fit: contain;
  position: relative;
  z-index: 1;
  filter: drop-shadow(24px 27px 24px rgba(13, 42, 61, .19));
  transform: rotate(-3deg);
}

.mgx-taste-panel__placeholder {
  width: min(62%, 230px);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  gap: 8px;
  position: relative;
  z-index: 1;
  border: 1px solid rgba(13, 42, 61, .13);
  border-radius: 50%;
  color: var(--mgx-ink);
  text-align: center;
}

.mgx-taste-panel__placeholder b {
  font-family: var(--mgx-stencil);
  font-size: 50px;
  line-height: .9;
}

.mgx-taste-panel__placeholder small {
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-taste-panel__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(35px, 5vw, 68px);
}

.mgx-taste-panel__copy h3 {
  max-width: 600px;
  margin: 16px 0 18px;
  font-family: var(--mgx-display);
  font-size: clamp(31px, 3vw, 44px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.mgx-taste-panel__copy > p:not(.mgx-kicker) {
  max-width: 610px;
  margin: 0;
  color: var(--mgx-muted);
  font-size: 15px;
  line-height: 1.65;
}

.mgx-taste-panel__copy dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 26px 0 0;
  border-top: 1px solid var(--mgx-line);
  border-bottom: 1px solid var(--mgx-line);
}

.mgx-taste-panel__copy dl > div {
  min-width: 0;
  padding: 16px 16px 16px 0;
}

.mgx-taste-panel__copy dl > div + div {
  padding-left: 20px;
  border-left: 1px solid var(--mgx-line);
}

.mgx-taste-panel__copy dt {
  color: var(--mgx-salmon);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mgx-taste-panel__copy dd {
  margin: 7px 0 0;
  font-family: var(--mgx-display);
  font-size: 14px;
  line-height: 1.4;
}

.mgx-taste-product-name {
  display: grid;
  gap: 5px;
  margin-top: 25px;
}

.mgx-taste-product-name span {
  color: var(--mgx-muted);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mgx-taste-product-name strong {
  font-family: var(--mgx-display);
  font-size: 17px;
  font-weight: 400;
  text-decoration: underline;
  text-decoration-color: rgba(215, 100, 77, .55);
  text-underline-offset: 5px;
}

.mgx-taste-panel__copy > .mgx-taste-panel__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 18px 0 0;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.mgx-taste-panel__trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.mgx-taste-panel__trust span::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--mgx-salmon);
}

.mgx-taste-panel__trust .is-unavailable::before {
  background: var(--mgx-muted);
}

.mgx-taste-panel__buy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
}

.mgx-taste-panel__buy > b,
.mgx-taste-panel__buy .price {
  font-family: var(--mgx-display);
  font-size: 25px;
  font-weight: 400;
}

.mgx-taste-add,
.mgx-taste-panel__buy a.button.mgx-taste-add {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin: 0 !important;
  padding: 0 12px 0 21px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mgx-ink) !important;
  box-shadow: none !important;
  color: white !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

.mgx-taste-add span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: var(--mgx-salmon);
  color: white;
  font-size: 15px;
  transition: transform 180ms ease;
}

.mgx-taste-add:hover span,
.mgx-taste-add.is-adding span {
  transform: rotate(90deg);
}

/* Manifesto di passaggio fra scelta guidata e catalogo */
.mgx-bottega-manifesto {
  min-height: 290px;
  display: grid;
  grid-template-columns: 155px minmax(0, 1.05fr) minmax(320px, .72fr);
  gap: clamp(25px, 4vw, 68px);
  align-items: center;
  padding: 52px max(32px, calc((100vw - 1380px) / 2));
  overflow: hidden;
  position: relative;
  background: var(--mgx-salmon);
  color: white;
}

.mgx-bottega-manifesto::before {
  content: "MG";
  position: absolute;
  right: -25px;
  bottom: -74px;
  color: rgba(255, 255, 255, .075);
  font-family: var(--mgx-stencil);
  font-size: clamp(220px, 28vw, 430px);
  font-weight: 700;
  line-height: .8;
}

.mgx-bottega-manifesto > span {
  align-self: start;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, .65);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .16em;
}

.mgx-bottega-manifesto h2 {
  margin: 0;
  color: white;
  font-size: clamp(52px, 5.8vw, 84px);
}

.mgx-bottega-manifesto h2 em {
  color: var(--mgx-ink);
}

.mgx-bottega-manifesto__action {
  position: relative;
}

.mgx-bottega-manifesto__action p {
  margin: 0;
  font-family: var(--mgx-display);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.55;
}

.mgx-bottega-manifesto__action > a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, .7);
  color: white !important;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mgx-bottega-manifesto__action > a b {
  color: var(--mgx-ink);
  font-size: 15px;
}

/* Banco completo: stesso motore WooCommerce, grammatica visiva più retail. */
.mgx-bottega-experience .mgx-elementor-catalogue {
  border-top: 1px solid var(--mgx-line);
  background-color: var(--mgx-paper);
  background-image:
    linear-gradient(rgba(255, 249, 249, .82), rgba(255, 249, 249, .82)),
    url("trama.png");
  background-size: auto, 720px 900px;
}

.mgx-bottega-experience .mgx-catalogue {
  padding-top: 78px;
  padding-bottom: 92px;
}

.mgx-bottega-experience .mgx-catalogue > .mgx-heading h2 {
  max-width: 900px;
  font-size: clamp(48px, 5.2vw, 76px);
}

.mgx-bottega-experience .mgx-toolbar {
  position: sticky;
  top: 78px;
  z-index: 20;
  margin-top: 38px;
  padding: 12px 14px;
  border: 1px solid var(--mgx-line);
  background: rgba(255, 249, 249, .93);
  box-shadow: 0 10px 34px rgba(13, 42, 61, .07);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.mgx-bottega-experience .mgx-filters button,
.mgx-bottega-experience .mgx-filters button:hover,
.mgx-bottega-experience .mgx-filters button:focus {
  border-radius: 0;
  font-size: 10.5px;
}

.mgx-bottega-experience .mgx-category-groups {
  gap: 70px;
  margin-top: 56px;
}

.mgx-bottega-experience .mgx-category-heading {
  padding-bottom: 23px;
  border-bottom-color: rgba(13, 42, 61, .28);
}

.mgx-bottega-experience .mgx-category-heading h3 {
  margin-top: 0;
  font-family: var(--mgx-stencil);
  font-size: clamp(38px, 4.2vw, 58px);
  font-weight: 700;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.mgx-bottega-experience .mgx-category-group > .mgx-products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px 24px;
  margin-top: 32px;
  counter-reset: mgxBottegaProduct;
}

.mgx-bottega-experience .mgx-category-group > .mgx-products.has-two-products {
  width: min(100%, 920px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-right: auto;
  margin-left: auto;
}

.mgx-bottega-experience .mgx-product {
  min-width: 0;
  position: relative;
  counter-increment: mgxBottegaProduct;
}

.mgx-bottega-experience .mgx-product:not(.is-featured) {
  display: flex;
  flex-direction: column;
}

.mgx-bottega-experience .mgx-product::after {
  content: counter(mgxBottegaProduct, decimal-leading-zero);
  position: absolute;
  right: 8px;
  top: 390px;
  color: rgba(13, 42, 61, .22);
  font-family: var(--mgx-display);
  font-size: 12px;
  font-style: italic;
}

.mgx-bottega-experience .mgx-product__image {
  height: 380px;
  border: 1px solid rgba(13, 42, 61, .06);
  background:
    radial-gradient(circle, rgba(255, 255, 255, .66) 0 27%, transparent 27.5%),
    var(--mgx-cream);
}

.mgx-bottega-experience .mgx-product__image::before {
  width: 235px;
  height: 235px;
}

.mgx-bottega-experience .mgx-product__image.has-placeholder {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .8) 0 30%, transparent 30.5%),
    var(--mgx-cream);
}

.mgx-bottega-experience .mgx-product__placeholder {
  width: min(64%, 245px);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  gap: 8px;
  position: relative;
  z-index: 1;
  border: 1px solid rgba(13, 42, 61, .13);
  border-radius: 50%;
  color: var(--mgx-ink);
  text-align: center;
}

.mgx-bottega-experience .mgx-product__placeholder b {
  font-family: var(--mgx-stencil);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: .9;
}

.mgx-bottega-experience .mgx-product__placeholder small {
  color: var(--mgx-salmon-dark);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-bottega-experience .mgx-product__info {
  min-height: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding-top: 23px;
}

.mgx-bottega-experience .mgx-product h3 {
  max-width: calc(100% - 34px);
  font-size: clamp(22px, 2vw, 28px);
}

.mgx-bottega-experience .mgx-product:not(.is-featured) h3 {
  color: var(--mgx-ink);
}

.mgx-bottega-experience .mgx-product__info > h3:first-child {
  margin-top: 0;
}

.mgx-bottega-experience .mgx-product h3 a {
  display: -webkit-box;
  overflow: hidden;
  color: inherit !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.mgx-bottega-experience .mgx-product__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 17px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--mgx-line);
  color: var(--mgx-muted);
  list-style: none;
}

.mgx-bottega-experience .mgx-product__facts li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.4;
  text-transform: uppercase;
}

.mgx-bottega-experience .mgx-product__facts li::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: var(--mgx-salmon);
}

.mgx-bottega-experience .mgx-product__facts .is-unavailable::before {
  background: var(--mgx-muted);
}

.mgx-bottega-experience .mgx-product__buy {
  margin-top: auto;
  padding-top: 19px;
}

.mgx-bottega-experience .mgx-add,
.mgx-bottega-experience .mgx-product__buy a.button.mgx-add {
  min-height: 42px;
  justify-content: space-between;
  padding: 7px 8px 7px 14px !important;
  background: var(--mgx-ink) !important;
  color: white !important;
  font-size: 8px !important;
}

.mgx-bottega-experience .mgx-add span {
  width: 28px;
  height: 28px;
  background: var(--mgx-salmon);
}

.mgx-bottega-experience .mgx-product.is-featured {
  grid-column: span 2;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  background: var(--mgx-ink);
}

.mgx-bottega-experience .mgx-product.is-featured::after {
  right: 23px;
  top: 21px;
  z-index: 2;
  color: rgba(255, 255, 255, .34);
}

.mgx-bottega-experience .mgx-product.is-featured .mgx-product__image {
  min-height: 520px;
  border: 0;
}

.mgx-bottega-experience .mgx-product.is-featured .mgx-product__info {
  padding: 52px;
}

.mgx-bottega-experience .mgx-product.is-featured h3 {
  max-width: none;
}

.mgx-bottega-experience .mgx-product.is-featured h3 a {
  display: block;
  overflow: visible;
}

.mgx-bottega-experience .mgx-product.is-featured .mgx-product__facts {
  border-top-color: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .68);
}

.mgx-bottega-experience .mgx-product.is-featured .mgx-add,
.mgx-bottega-experience .mgx-product.is-featured .mgx-product__buy a.button.mgx-add {
  background: var(--mgx-salmon) !important;
  color: white !important;
}

.mgx-bottega-experience .mgx-add:focus-visible,
.mgx-bottega-experience .mgx-taste-add:focus-visible,
.mgx-bottega-experience .mgx-bottega-text-link:focus-visible,
.mgx-bottega-experience .mgx-bottega-hero__product:focus-visible {
  outline: 3px solid var(--mgx-salmon);
  outline-offset: 4px;
}

/* Assistenza come elemento di vendita, non come nota a piè pagina. */
.mgx-bottega-human {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .75fr);
  gap: clamp(55px, 9vw, 145px);
  align-items: center;
  padding: 115px max(32px, calc((100vw - 1380px) / 2));
  background-color: var(--mgx-ink);
  background-image:
    linear-gradient(rgba(13, 42, 61, .965), rgba(13, 42, 61, .965)),
    url("trama.png");
  background-size: auto, 520px 650px;
  color: white;
}

.mgx-bottega-human .mgx-kicker {
  color: #f1aa9b;
}

.mgx-bottega-human h2 {
  color: white;
  font-size: clamp(48px, 5.1vw, 75px);
}

.mgx-bottega-human > div:last-child > p {
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-family: var(--mgx-display);
  font-size: 17px;
  line-height: 1.7;
}

.mgx-bottega-human__hours {
  display: block;
  margin-top: 15px;
  color: #f1aa9b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mgx-bottega-human .mgx-button {
  margin-top: 30px;
  background: var(--mgx-salmon);
}

.mgx-bottega-human .mgx-button:hover {
  background: var(--mgx-paper);
  color: var(--mgx-ink) !important;
  transform: translateY(-2px);
}

.mgx-bottega-experience .mgx-service-strip {
  background: var(--mgx-cream);
}

/* La Bottega ha già un invito WhatsApp contestuale: evita il pulsante fisso
   che nel video copriva testi, prezzi e il widget di sicurezza del sito. */
.mgx-bottega-experience > .mgx-whatsapp {
  display: none !important;
}

@media (max-width: 1120px) {
  .mgx-bottega-hero {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
  }

  .mgx-bottega-hero__copy {
    padding: 92px 42px 76px 32px;
  }

  .mgx-bottega-hero h1 {
    font-size: clamp(52px, 7.2vw, 78px);
  }

  .mgx-bottega-hero__visual > img {
    width: 82%;
  }

  .mgx-taste-finder__layout {
    grid-template-columns: 1fr;
  }

  .mgx-taste-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-right: 0;
    border-bottom: 1px solid var(--mgx-line);
  }

  .mgx-taste-tabs button:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }

  .mgx-taste-tabs button:nth-child(odd) {
    border-right: 1px solid var(--mgx-line) !important;
  }

  .mgx-bottega-manifesto {
    grid-template-columns: 90px minmax(0, 1fr) minmax(260px, .75fr);
  }

  .mgx-bottega-manifesto > i {
    display: none;
  }

  .mgx-bottega-experience .mgx-category-group > .mgx-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mgx-bottega-experience .mgx-product.is-featured {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .mgx-bottega-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(480px, 58vh);
  }

  .mgx-bottega-hero__copy {
    padding: 76px 22px 65px;
  }

  .mgx-bottega-hero h1 {
    font-size: clamp(48px, 13.5vw, 72px);
  }

  .mgx-bottega-hero__lead {
    font-size: 16px;
  }

  .mgx-bottega-hero__proof {
    margin-top: 42px;
  }

  .mgx-bottega-hero__visual {
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-left: 0;
  }

  .mgx-bottega-hero__halo {
    width: min(76vw, 440px);
  }

  .mgx-bottega-hero__visual > img {
    width: min(76%, 430px);
    height: 77%;
  }

  .mgx-bottega-hero__rail {
    grid-column: 1;
    justify-content: flex-start;
  }

  .mgx-taste-finder {
    width: calc(100% - 44px);
    padding: 78px 0 58px;
  }

  .mgx-taste-finder__heading {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-bottom: 42px;
  }

  .mgx-taste-finder__heading h2 {
    font-size: clamp(44px, 12vw, 64px);
  }

  .mgx-taste-finder__heading > p {
    font-size: 15px;
  }

  .mgx-taste-panels > article {
    grid-template-columns: minmax(250px, .88fr) minmax(300px, 1.12fr);
  }

  .mgx-taste-panel__copy {
    padding: 34px;
  }

  .mgx-bottega-manifesto {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 68px 22px;
  }

  .mgx-bottega-manifesto > span {
    width: 105px;
  }

  .mgx-bottega-manifesto h2 {
    font-size: clamp(50px, 13vw, 72px);
  }

  .mgx-bottega-manifesto p {
    max-width: 580px;
  }

  .mgx-bottega-experience .mgx-catalogue {
    width: calc(100% - 44px);
    padding-top: 62px;
    padding-bottom: 72px;
  }

  .mgx-bottega-experience .mgx-toolbar {
    position: static;
    padding: 12px 0;
    border-right: 0;
    border-left: 0;
    box-shadow: none;
  }

  .mgx-bottega-experience .mgx-category-groups {
    gap: 64px;
    margin-top: 52px;
  }

  .mgx-bottega-human {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 86px 22px;
  }

  .mgx-bottega-human h2 {
    font-size: clamp(44px, 12vw, 64px);
  }
}

@media (max-width: 680px) {
  .mgx-bottega-hero {
    grid-template-rows: auto minmax(430px, 55vh);
  }

  .mgx-bottega-hero__actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .mgx-bottega-hero__proof span {
    font-size: 6.5px;
    line-height: 1.4;
  }

  .mgx-bottega-hero__seal {
    width: 80px;
    height: 80px;
    right: 5%;
    top: 8%;
    font-size: 13px;
  }

  .mgx-bottega-hero__product {
    width: calc(100% - 32px);
    left: 16px;
    bottom: 20px;
  }

  .mgx-bottega-hero__product strong {
    font-size: 14px;
  }

  .mgx-bottega-hero__product b {
    font-size: 16px;
  }

  .mgx-taste-tabs {
    grid-template-columns: 1fr;
  }

  .mgx-taste-tabs button,
  .mgx-taste-tabs button:nth-last-child(-n + 2),
  .mgx-taste-tabs button:nth-child(odd) {
    min-height: 82px;
    border-right: 0 !important;
    border-bottom: 1px solid var(--mgx-line) !important;
  }

  .mgx-taste-tabs button:last-child {
    border-bottom: 0 !important;
  }

  .mgx-taste-panels > article {
    grid-template-columns: 1fr;
  }

  .mgx-taste-panel__image {
    min-height: 360px;
  }

  .mgx-taste-panel__copy {
    padding: 32px 22px 36px;
  }

  .mgx-taste-panel__copy h3 {
    font-size: 31px;
  }

  .mgx-taste-panel__copy dl {
    grid-template-columns: 1fr;
  }

  .mgx-taste-panel__copy dl > div + div {
    padding-left: 0;
    border-top: 1px solid var(--mgx-line);
    border-left: 0;
  }

  .mgx-taste-panel__buy {
    align-items: flex-start;
    flex-direction: column;
  }

  .mgx-bottega-experience .mgx-catalogue > .mgx-heading h2 {
    font-size: clamp(47px, 14vw, 66px);
  }

  .mgx-bottega-experience .mgx-category-group > .mgx-products {
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .mgx-bottega-experience .mgx-category-group > .mgx-products.has-two-products {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .mgx-bottega-experience .mgx-product.is-featured {
    grid-column: auto;
    display: block;
    background: transparent;
    color: var(--mgx-ink);
  }

  .mgx-bottega-experience .mgx-product::after,
  .mgx-bottega-experience .mgx-product.is-featured::after {
    right: 8px;
    top: 340px;
    color: rgba(13, 42, 61, .22);
  }

  .mgx-bottega-experience .mgx-product__image,
  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__image {
    min-height: 0;
    height: 330px;
    border: 1px solid rgba(13, 42, 61, .06);
  }

  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__info {
    padding: 23px 0 0;
  }

  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__kicker {
    color: var(--mgx-salmon-dark);
  }

  .mgx-bottega-experience .mgx-product.is-featured h3,
  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__buy strong {
    color: var(--mgx-ink) !important;
  }

  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__facts {
    border-top-color: var(--mgx-line);
    color: var(--mgx-muted);
  }

  .mgx-bottega-experience .mgx-product.is-featured .mgx-add,
  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__buy a.button.mgx-add {
    background: var(--mgx-salmon) !important;
    color: white !important;
  }

  .mgx-bottega-experience .mgx-product.is-featured h3 {
    font-size: 28px;
  }

  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__info > p {
    min-height: 45px;
    color: var(--mgx-muted);
    font-size: 15px;
  }

  .mgx-bottega-experience .mgx-product.is-featured .mgx-product__buy {
    margin-top: 18px;
    border-color: var(--mgx-line);
  }

  .mgx-bottega-human .mgx-button {
    width: 100%;
    padding: 10px 17px;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mgx-taste-panels > article:not([hidden]) {
    animation: none;
  }

  .mgx-bottega-hero__visual > img,
  .mgx-bottega-text-link span,
  .mgx-taste-tabs button i,
  .mgx-taste-add span {
    transition: none;
  }
}

/* -------------------------------------------------------------------------
   3.14.6 — Leggibilità e correzioni dell'intero percorso.
   I testi informativi non scendono più a 7–9 px; gli avvisi WooCommerce non
   perdono le prime lettere e il contatto fisso non copre più altri widget.
   ---------------------------------------------------------------------- */
.mgx-shop,
.mgx-recipes,
.mgx-cart-modern,
.mgx-co {
  font-size: 16px;
}

.mgx-commerce-announcement {
  min-height: 38px;
  padding: 9px 20px;
  font-size: 11.5px;
  line-height: 1.4;
  letter-spacing: .11em;
}

.mgx-module-header,
.mgx-commerce-header {
  min-height: 108px;
  grid-template-columns: auto minmax(390px, 1fr) auto auto;
  gap: 24px;
}

.mgx-module-brand strong {
  font-size: 23px;
  line-height: 1.1;
}

.mgx-module-brand small {
  font-size: 9.5px;
  line-height: 1.4;
}

.mgx-module-header nav a {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .075em;
}

.mgx-module-help,
.mgx-module-cart {
  min-height: 46px;
  font-size: 11px;
  line-height: 1.25;
}

.mgx-cart-count {
  min-width: 22px;
  height: 22px;
  font-size: 10px;
}

.mgx-kicker {
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: .15em;
}

.mgx-button {
  min-height: 54px;
  font-size: 12.5px;
  line-height: 1.35;
}

.mgx-assurances li,
.mgx-quality span {
  font-size: 12px;
  line-height: 1.45;
}

.mgx-proof span {
  font-size: 11.5px;
  line-height: 1.45;
}

.mgx-filters button,
.mgx-filters button:hover,
.mgx-filters button:focus,
.mgx-bottega-experience .mgx-filters button,
.mgx-bottega-experience .mgx-filters button:hover,
.mgx-bottega-experience .mgx-filters button:focus {
  font-size: 12px;
  line-height: 1.35;
}

.mgx-search {
  width: 260px;
}

.mgx-search input {
  font-size: 14px;
}

.mgx-category-heading span,
.mgx-category-heading > strong,
.mgx-product__kicker,
.mgx-badge,
.mgx-view {
  font-size: 11px;
  line-height: 1.4;
}

.mgx-product__info > p,
.mgx-bottega-experience .mgx-product__info > p {
  font-size: 16px;
  line-height: 1.55;
}

.mgx-add,
.mgx-product__buy a.button.mgx-add,
.mgx-choice-add,
.mgx-choice-buy a.button.mgx-choice-add,
.mgx-bottega-experience .mgx-add,
.mgx-bottega-experience .mgx-product__buy a.button.mgx-add {
  font-size: 12px !important;
  line-height: 1.35;
}

.mgx-choice-tag,
.mgx-choice-ribbon {
  font-size: 11px;
  line-height: 1.4;
}

.mgx-method li p,
.mgx-faq__list details p,
.mgx-values__grid p,
.mgx-story__timeline p {
  font-size: 15px;
  line-height: 1.7;
}

.mgx-story__copy > p:not(.mgx-kicker) {
  font-size: 15.5px;
  line-height: 1.75;
}

.mgx-story__link,
.mgx-story__recipes span {
  font-size: 12px;
  line-height: 1.45;
}

.mgx-home-recipes__grid span,
body .mgx-hero__visual--artisan > p {
  font-size: 12px;
  line-height: 1.45;
}

.mgx-service-strip h3 {
  font-size: 20px;
}

.mgx-service-strip p {
  font-size: 14px;
  line-height: 1.6;
}

.mgx-faq__list summary {
  font-size: 21px;
}

.mgx-footer-assistance > div span,
.mgx-footer-column h3,
.mgx-footer-bottom span {
  font-size: 11.5px;
  line-height: 1.45;
}

.mgx-footer-assistance > a {
  min-height: 48px;
  font-size: 11.5px;
  line-height: 1.3;
}

.mgx-footer-column a,
.mgx-footer-column span {
  font-size: 14px;
  line-height: 1.55;
}

.mgx-recipe__meta span,
.mgx-recipe summary,
.mgx-recipe__details h3,
.mgx-recipe__product {
  font-size: 12px;
  line-height: 1.45;
}

.mgx-recipe__details ul,
.mgx-recipe__details ol {
  font-size: 15px;
  line-height: 1.75;
}

/* Pagina prodotto: titolo lungo più controllato e microtesti realmente leggibili. */
.mgx-standalone-breadcrumb {
  flex-wrap: wrap;
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: .065em;
}

.mgx-product-purchase > h1 {
  font-size: clamp(42px, 4.3vw, 60px);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.mgx-product-stamp,
.mgx-product-price > span:last-child:not(.amount):not(.price) {
  font-size: 11px;
  line-height: 1.4;
}

.mgx-product-price .amount {
  font-size: 34px;
}

.mgx-product-description {
  font-size: 18px;
  line-height: 1.7;
}

.mgx-availability {
  font-size: 12px;
  line-height: 1.45;
}

.mgx-product-order form {
  grid-template-columns: 145px minmax(0, 1fr);
}

.mgx-product-order label span {
  padding-left: 15px;
  font-size: 12px;
  line-height: 1.35;
}

.mgx-product-order input {
  font-size: 16px;
}

.mgx-product-order button,
.mgx-product-native-link {
  min-height: 56px;
  font-size: 12.5px;
  line-height: 1.35;
}

.mgx-product-assurances span {
  font-size: 11.5px;
  line-height: 1.45;
}

.mgx-product-facts summary {
  min-height: 60px;
  font-size: 18px;
}

.mgx-product-facts details > div,
.mgx-product-facts details > p {
  font-size: 15.5px;
  line-height: 1.75;
}

.mgx-product-method > div > span,
.mgx-product-method > a {
  font-size: 12px;
  line-height: 1.45;
}

.mgx-product-main-placeholder {
  width: min(64%, 360px);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  gap: 12px;
  position: relative;
  z-index: 1;
  border: 1px solid rgba(13, 42, 61, .14);
  border-radius: 50%;
  color: var(--mgx-ink);
  text-align: center;
}

.mgx-product-main-placeholder b {
  font-family: var(--mgx-stencil);
  font-size: clamp(60px, 7vw, 88px);
  line-height: .9;
}

.mgx-product-main-placeholder span {
  color: var(--mgx-salmon-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Carrello: l'icona nativa copriva "Ca" in "Carrello aggiornato". */
.mgx-cm-notices .woocommerce-message,
.mgx-cm-notices .woocommerce-info,
.mgx-cm-notices .woocommerce-error {
  padding: 16px 20px !important;
  font-size: 15px;
  line-height: 1.55;
}

.mgx-cm-notices .woocommerce-message::before,
.mgx-cm-notices .woocommerce-info::before,
.mgx-cm-notices .woocommerce-error::before {
  content: none !important;
  display: none !important;
}

.mgx-cart-modern h1 {
  font-size: clamp(32px, 3.4vw, 42px);
}

.mgx-cart-modern h1 span,
.mgx-cm-line-body h2 {
  font-size: 16.5px;
}

.mgx-cm-crumbs,
.mgx-cm-line-meta,
.mgx-cm-lines-foot,
.mgx-cart-auto-status,
.mgx-cm-help {
  font-size: 14px;
  line-height: 1.55;
}

.mgx-cm-tag,
.mgx-cm-drop,
.mgx-cm-timeline li,
.mgx-cm-pay span,
.mgx-cm-coupon summary {
  font-size: 13.5px;
  line-height: 1.5;
}

.mgx-cm-totals h2 {
  font-size: 18px;
}

/* Checkout: alza etichette, note legali e riepilogo senza ingrandire le card. */
.mgx-co-kicker,
.mgx-co-steps,
.mgx-co-trust small,
.mgx-live-delivery small,
.mgx-live-review-heading span,
.mgx-live-review-product small,
.mgx-live-review-product dl,
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
  font-size: 13px;
  line-height: 1.5;
}

.mgx-live-step header p,
.mgx-live-fields .form-row label,
.mgx-live-review-table td,
.mgx-live-review-table tfoot th,
.mgx-live-review-table tfoot td,
.mgx-live-review-product strong,
.mgx-live-review-table .woocommerce-shipping-methods label,
#payment .payment_box {
  font-size: 14px;
  line-height: 1.55;
}

/* Il contatto è già nell'header e nel footer: il badge fisso copriva prezzi,
   testi e il widget verde installato sul sito. */
body.mgx-custom-header-active .mgx-whatsapp,
body.mgx-standalone-commerce-page .mgx-whatsapp,
.mgx-standalone-commerce-shell > .mgx-whatsapp {
  display: none !important;
}

/* Bottega guidata: CTA, dati del consiglio e schede non sono più microcopy. */
.mgx-bottega-text-link,
.mgx-bottega-hero__product span,
.mgx-taste-panel__image > span,
.mgx-taste-panel__placeholder small,
.mgx-taste-panel__copy dt,
.mgx-taste-panel__copy > .mgx-taste-panel__trust,
.mgx-bottega-experience .mgx-product__placeholder small,
.mgx-bottega-experience .mgx-product__facts li,
.mgx-bottega-human__hours {
  font-size: 11.5px;
  line-height: 1.45;
}

.mgx-taste-tabs button strong {
  font-size: 17px;
  line-height: 1.4;
}

.mgx-taste-panel__copy > p:not(.mgx-kicker) {
  font-size: 16.5px;
  line-height: 1.7;
}

.mgx-taste-panel__copy dd {
  font-size: 16px;
}

.mgx-taste-add,
.mgx-taste-panel__buy a.button.mgx-taste-add {
  font-size: 12px !important;
  line-height: 1.35;
}

@media (min-width: 721px) and (max-width: 1050px) {
  .mgx-module-header,
  .mgx-commerce-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 13px 0 10px;
  }
}

@media (max-width: 720px) {
  body .mgx-commerce-announcement {
    min-height: 38px;
    padding: 9px 14px;
    font-size: 10.5px;
    line-height: 1.4;
  }

  body .mgx-module-header,
  body .mgx-elementor-section--header .mgx-module-header {
    min-height: 76px !important;
  }

  body .mgx-module-header nav a {
    padding: 15px 12px !important;
    font-size: 13px !important;
    line-height: 1.4;
  }

  body .mgx-module-cart {
    font-size: 11px;
  }

  .mgx-search {
    width: 100%;
  }

  .mgx-kicker {
    font-size: 11.5px;
  }

  .mgx-assurances li,
  .mgx-quality span,
  .mgx-proof span {
    font-size: 11.5px;
  }

  .mgx-service-strip h3 {
    font-size: 19px;
  }

  .mgx-service-strip p {
    font-size: 14px;
  }

  .mgx-product-order form {
    grid-template-columns: 1fr;
  }

  .mgx-product-order label {
    grid-template-columns: 1fr 64px;
  }

  .mgx-product-assurances span {
    font-size: 12px;
    text-align: left;
  }

  .mgx-product-facts summary {
    font-size: 17px;
  }

  .mgx-cart-modern h1 span {
    display: block;
    margin: 5px 0 0;
  }

  .mgx-cm-lines-foot {
    align-items: flex-start;
    flex-direction: column;
  }

  .mgx-bottega-hero__proof span {
    font-size: 11px;
  }

  .mgx-bottega-experience .mgx-add,
  .mgx-bottega-experience .mgx-product__buy a.button.mgx-add,
  .mgx-taste-add,
  .mgx-taste-panel__buy a.button.mgx-taste-add {
    font-size: 12px !important;
  }
}

/* -------------------------------------------------------------------------
   3.14.7 — Quantità prodotto sempre visibile.
   Il campo numerico nativo mostrava soltanto le frecce del browser e rendeva
   invisibile il valore. Il controllo ora è esplicito: meno, valore, più.
   ---------------------------------------------------------------------- */
.mgx-product-order form {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 12px;
}

.mgx-product-quantity {
  min-width: 0;
  min-height: 56px;
  display: grid !important;
  grid-template-columns: minmax(76px, 1fr) 42px 50px 42px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--mgx-line);
  background: var(--mgx-paper);
}

.mgx-product-quantity > span {
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: var(--mgx-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mgx-product-quantity > button,
.mgx-product-quantity > button:hover,
.mgx-product-quantity > button:focus {
  width: auto;
  min-width: 0;
  min-height: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--mgx-line) !important;
  border-radius: 0 !important;
  background: var(--mgx-cream) !important;
  box-shadow: none !important;
  color: var(--mgx-ink) !important;
  cursor: pointer;
  font-family: var(--mgx-sans);
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1;
}

.mgx-product-quantity > button:hover {
  background: #e6ded8 !important;
  color: var(--mgx-salmon-dark) !important;
}

.mgx-product-quantity > button:focus-visible {
  position: relative;
  z-index: 2;
  outline: 3px solid var(--mgx-salmon);
  outline-offset: -3px;
}

.mgx-product-quantity > input[type="number"] {
  width: 100% !important;
  min-width: 0;
  height: 56px;
  min-height: 56px;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--mgx-line) !important;
  border-radius: 0 !important;
  outline: 0;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--mgx-ink) !important;
  -webkit-text-fill-color: var(--mgx-ink) !important;
  caret-color: var(--mgx-salmon-dark);
  opacity: 1 !important;
  visibility: visible !important;
  font-family: var(--mgx-display) !important;
  font-size: 21px !important;
  font-variant-numeric: tabular-nums;
  font-weight: 700 !important;
  line-height: 56px !important;
  text-align: center !important;
  text-indent: 0 !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

.mgx-product-quantity > input[type="number"]::-webkit-outer-spin-button,
.mgx-product-quantity > input[type="number"]::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.mgx-product-quantity > input[type="number"]:focus {
  position: relative;
  z-index: 2;
  box-shadow: inset 0 0 0 3px rgba(215, 100, 77, .55) !important;
}

@media (max-width: 720px) {
  .mgx-product-order form {
    grid-template-columns: 1fr;
  }

  .mgx-product-quantity {
    grid-template-columns: minmax(0, 1fr) 48px 58px 48px;
  }
}

/* -------------------------------------------------------------------------
   3.14.8 — Logo più grande, nitido e riconoscibile.
   Il file resta vettoriale; dimensioni e contrasto sono calibrati per header
   desktop, tablet, smartphone e footer senza deformare il marchio.
   ---------------------------------------------------------------------- */
.mgx-module-header,
.mgx-commerce-header {
  min-height: 122px;
}

.mgx-module-brand {
  gap: 16px;
}

.mgx-module-brand img {
  width: 84px !important;
  height: 84px !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  flex: 0 0 84px !important;
  padding: 0 !important;
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 0 1px rgba(13, 42, 61, .13),
    0 8px 22px rgba(13, 42, 61, .12);
  object-fit: contain;
  opacity: 1 !important;
  transform: none;
  transform-origin: center;
}

.mgx-module-brand:hover img {
  transform: scale(1.035);
}

.mgx-module-brand strong {
  font-size: 25px;
  line-height: 1.05;
}

.mgx-module-brand small {
  margin-top: 5px;
  color: #52636d;
  font-size: 10.5px;
  line-height: 1.35;
  letter-spacing: .12em;
}

.mgx-footer-brand img {
  width: 82px !important;
  height: 82px !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box;
  padding: 4px;
  object-fit: contain;
}

@media (min-width: 721px) and (max-width: 1050px) {
  .mgx-module-header,
  .mgx-commerce-header {
    min-height: 112px;
  }

  .mgx-module-brand {
    gap: 13px;
  }

  .mgx-module-brand img {
    width: 76px !important;
    height: 76px !important;
    flex-basis: 76px !important;
  }

  .mgx-module-brand strong {
    font-size: 22px;
  }

  .mgx-module-brand small {
    font-size: 9.5px;
  }
}

@media (max-width: 720px) {
  body .mgx-module-header,
  body .mgx-elementor-section--header .mgx-module-header {
    min-height: 88px !important;
    padding: 8px 0 !important;
  }

  body .mgx-module-brand {
    gap: 10px;
  }

  body .mgx-module-brand img {
    width: 62px !important;
    height: 62px !important;
    flex: 0 0 62px !important;
    transform: none;
  }

  body .mgx-module-brand:hover img {
    transform: scale(1.025);
  }

  body .mgx-module-brand strong {
    width: 116px;
    font-size: 18px;
    line-height: .98;
  }
}

@media (max-width: 370px) {
  body .mgx-module-brand img {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }

  body .mgx-module-brand strong {
    width: 102px;
    font-size: 16.5px;
  }
}

/* -------------------------------------------------------------------------
   3.14.9 — Correzioni UX e responsive rilevate su iPhone.
   Nessun elemento della pagina prodotto può imporre la propria larghezza al
   viewport; filtri e azioni diventano controlli touch e il carrello mobile
   compare soltanto quando contiene davvero un prodotto.
   ---------------------------------------------------------------------- */
@media (max-width: 720px) {
  body.mgx-custom-header-active,
  body.mgx-standalone-commerce-page,
  body.mgx-full-page,
  .mgx-shop,
  .mgx-standalone-commerce-shell {
    max-width: 100%;
    overflow-x: hidden !important;
  }

  .mgx-shop[data-mgx-shop],
  .mgx-elementor-section--header,
  .mgx-standalone-commerce-shell {
    padding-bottom: 0 !important;
  }

  .mgx-mobile-cart-bar.is-empty {
    display: none !important;
  }

  .mgx-mobile-cart-bar.has-items {
    width: auto;
    min-width: 0;
    min-height: 54px;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    left: 12px;
    right: 68px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    gap: 9px;
    padding: 7px 12px;
    border-radius: 999px;
  }

  .mgx-mobile-cart-bar.has-items > i {
    display: none;
  }

  .mgx-mobile-cart-bar.has-items small {
    font-size: 8px;
  }

  .mgx-mobile-cart-bar.has-items strong {
    font-size: 11px;
  }

  .mgx-mobile-cart-bar.has-items > b {
    font-size: 17px;
  }

  .mgx-module-footer {
    padding-bottom: 72px;
  }

  .mgx-toolbar {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    margin-top: 38px;
    padding: 12px 0;
    overflow: hidden;
  }

  .mgx-filters {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .mgx-filters button,
  .mgx-filters button:hover,
  .mgx-filters button:focus,
  .mgx-bottega-experience .mgx-filters button,
  .mgx-bottega-experience .mgx-filters button:hover,
  .mgx-bottega-experience .mgx-filters button:focus {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 9px 8px !important;
    font-size: 11px !important;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .mgx-filters button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .mgx-search {
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
    padding: 0 13px;
    border-top: 1px solid var(--mgx-line);
    border-left: 0;
  }

  .mgx-search input {
    min-width: 0;
    font-size: 16px;
  }

  .mgx-choice-cards article {
    min-width: 0;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px 14px;
  }

  .mgx-choice-cards h3,
  .mgx-choice-cards article > p {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .mgx-choice-buy {
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .mgx-choice-buy strong,
  .mgx-choice-buy .price {
    font-size: 22px;
  }

  .mgx-choice-add,
  .mgx-choice-buy a.button.mgx-choice-add {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    justify-content: space-between;
    font-size: 11px !important;
    line-height: 1.3;
    white-space: normal;
  }

  .mgx-choice-add span {
    flex: 0 0 34px;
  }

  .mgx-add,
  .mgx-product__buy a.button.mgx-add,
  .mgx-taste-add,
  .mgx-taste-panel__buy a.button.mgx-taste-add {
    min-height: 48px;
  }

  .mgx-standalone-product {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    min-width: 0;
    overflow: visible;
  }

  .mgx-standalone-breadcrumb {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 20px 0 18px;
    font-size: 10.5px;
    line-height: 1.4;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .mgx-standalone-breadcrumb::-webkit-scrollbar {
    display: none;
  }

  .mgx-product-detail {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 38px;
    padding: 8px 0 56px;
  }

  .mgx-product-detail > *,
  .mgx-product-purchase,
  .mgx-product-order,
  .mgx-product-facts,
  .mgx-product-related {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .mgx-product-gallery {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1 / 1.06;
    padding: 34px 20px 76px;
    overflow: hidden;
  }

  .mgx-product-main-image,
  .mgx-product-main-placeholder {
    width: 100%;
    max-width: 100%;
    max-height: 300px;
  }

  .mgx-product-thumbs {
    max-width: calc(100% - 32px);
    left: 16px;
    right: 16px;
    bottom: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .mgx-product-thumbs img {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
  }

  .mgx-product-purchase {
    padding-top: 0;
  }

  .mgx-product-purchase > h1 {
    max-width: 100%;
    margin: 14px 0 18px;
    font-size: clamp(38px, 11vw, 50px);
    letter-spacing: -.04em;
    line-height: 1.05;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .mgx-product-price {
    max-width: 100%;
    flex-wrap: wrap;
    gap: 7px 12px;
    padding: 16px 0;
  }

  .mgx-product-price .amount {
    font-size: 31px;
  }

  .mgx-product-description,
  .mgx-product-description * {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .mgx-product-description {
    margin: 20px 0;
    font-size: 17px;
    line-height: 1.65;
  }

  .mgx-product-description > :first-child {
    margin-top: 0;
  }

  .mgx-product-description > :last-child {
    margin-bottom: 0;
  }

  .mgx-product-order {
    padding: 18px;
    overflow: hidden;
  }

  .mgx-availability {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    font-size: 11px;
    line-height: 1.45;
    letter-spacing: .04em;
  }

  .mgx-availability i {
    margin-top: 4px;
  }

  .mgx-availability > span {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .mgx-product-order form.cart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    float: none !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
  }

  .mgx-product-quantity {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) 44px 54px 44px !important;
    justify-self: stretch;
  }

  .mgx-product-quantity > span {
    min-width: 0;
    padding: 0 12px;
    font-size: 11px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .mgx-product-order form.cart > button[type="submit"] {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    justify-content: space-between;
    padding: 0 16px !important;
    font-size: 11.5px;
  }

  .mgx-product-assurances {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .mgx-product-assurances span {
    min-height: 34px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(13, 42, 61, .08);
    font-size: 11px;
    line-height: 1.4;
    text-align: left;
  }

  .mgx-product-assurances span:last-child {
    border-bottom: 0;
  }

  .mgx-product-facts summary {
    min-width: 0;
    font-size: 17px;
  }

  .mgx-product-facts details > div,
  .mgx-product-facts details > p,
  .mgx-product-facts details > div * {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    font-size: 15px;
    line-height: 1.7;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .mgx-product-method {
    width: 100vw;
    max-width: 100vw;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 48px 24px;
    overflow: hidden;
  }

  .mgx-product-method > *,
  .mgx-product-method > div {
    min-width: 0;
    max-width: 100%;
  }

  .mgx-product-method h2 {
    font-size: 36px;
    overflow-wrap: anywhere;
  }

  .mgx-product-related {
    padding: 58px 0 72px;
  }

  .mgx-product-related article img {
    height: 240px;
  }
}

@media (max-width: 390px) {
  .mgx-product-quantity {
    grid-template-columns: minmax(0, 1fr) 40px 48px 40px !important;
  }

  .mgx-product-order {
    padding: 15px;
  }

  .mgx-product-purchase > h1 {
    font-size: 36px;
  }
}

/* -------------------------------------------------------------------------
   3.14.10 — Correzioni mobile isolate dal layout desktop.
   Alcuni stili globali del tema forzano i form WooCommerce in riga anche
   quando il plugin li impila. I selettori qui sotto sono volutamente
   circoscritti alle pagine commerce e al solo viewport smartphone.
   ---------------------------------------------------------------------- */
@media (max-width: 720px) {
  /* Scheda prodotto: quantità sopra, azione sotto, entrambe a tutta card. */
  body.mgx-product-page .mgx-standalone-product .mgx-product-order form.cart {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    flex-flow: column nowrap !important;
    gap: 12px !important;
    float: none !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
  }

  body.mgx-product-page .mgx-product-order form.cart > .mgx-product-quantity {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    order: 0 !important;
    direction: ltr !important;
  }

  body.mgx-product-page .mgx-product-order form.cart > button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    order: 1 !important;
    margin: 0 !important;
    padding: 0 18px !important;
    overflow: hidden !important;
    background-color: var(--mgx-ink) !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  body.mgx-product-page .mgx-product-order form.cart > button[type="submit"] span {
    flex: 0 0 auto;
    margin-left: 14px;
  }

  /* Carrello e checkout hanno già la propria azione primaria: la pillola
     fissa era duplicata e copriva totale, campi e pulsante di pagamento. */
  body.mgx-cart-page .mgx-mobile-cart-bar,
  body.mgx-checkout-page .mgx-mobile-cart-bar {
    display: none !important;
  }

  body.mgx-cart-page .mgx-module-footer,
  body.mgx-checkout-page .mgx-module-footer {
    padding-bottom: 28px;
  }

  /* Checkout: neutralizza griglie, float e larghezze minime del tema. */
  body.mgx-checkout-page {
    overflow-x: hidden !important;
  }

  body.mgx-checkout-page .mgx-standalone-checkout {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    overflow: visible !important;
  }

  body.mgx-checkout-page .mgx-co-shortcode,
  body.mgx-checkout-page .mgx-co-shortcode > .woocommerce,
  body.mgx-checkout-page .mgx-co-shortcode form.checkout.woocommerce-checkout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.mgx-checkout-page .mgx-co-shortcode form.checkout.woocommerce-checkout {
    display: flex !important;
    align-items: stretch !important;
    flex-flow: column nowrap !important;
    gap: 18px !important;
  }

  body.mgx-checkout-page form.checkout > .mgx-live-checkout-form,
  body.mgx-checkout-page form.checkout > .mgx-live-review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    float: none !important;
    position: static !important;
    margin: 0 !important;
  }

  body.mgx-checkout-page .col2-set#customer_details {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    flex-flow: column nowrap !important;
    gap: 18px !important;
    float: none !important;
  }

  body.mgx-checkout-page .col2-set#customer_details > .col-1,
  body.mgx-checkout-page .col2-set#customer_details > .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    float: none !important;
    margin: 0 !important;
  }

  body.mgx-checkout-page .mgx-live-fields .form-row,
  body.mgx-checkout-page .mgx-live-fields .form-row-first,
  body.mgx-checkout-page .mgx-live-fields .form-row-last {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.mgx-checkout-page .mgx-live-fields input.input-text,
  body.mgx-checkout-page .mgx-live-fields select,
  body.mgx-checkout-page .mgx-live-fields textarea,
  body.mgx-checkout-page .mgx-live-fields .select2-container,
  body.mgx-checkout-page .mgx-live-fields .select2-selection--single {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
  }

  body.mgx-checkout-page .mgx-live-step,
  body.mgx-checkout-page .mgx-live-review,
  body.mgx-checkout-page #order_review,
  body.mgx-checkout-page #payment {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.mgx-checkout-page .mgx-live-review-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
  }

  body.mgx-checkout-page #payment iframe,
  body.mgx-checkout-page #payment img {
    max-width: 100% !important;
  }

  body.mgx-checkout-page .mgx-live-step header > div,
  body.mgx-checkout-page .mgx-live-review-heading > div,
  body.mgx-checkout-page .mgx-live-review-product > div {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* -------------------------------------------------------------------------
   3.15.0 — Pagamento editoriale, nello stesso linguaggio delle Ricette.
   Le regole sono isolate dalla classe pagina e non toccano le altre sezioni.
   ---------------------------------------------------------------------- */
body.mgx-checkout-page .mgx-standalone-checkout {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: clip !important;
  background: transparent;
}

body.mgx-checkout-page .mgx-co-hero {
  width: min(1380px, calc(100% - 64px));
  min-height: 570px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 92px 0;
  background-color: var(--mgx-paper);
  background-image: linear-gradient(rgba(255, 249, 249, .73), rgba(255, 249, 249, .73)), url("trama.png");
  background-position: center;
  background-size: auto, 540px 675px;
}

body.mgx-checkout-page .mgx-co-head {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
  align-items: end;
  gap: clamp(48px, 8vw, 120px);
  margin: 0;
}

body.mgx-checkout-page .mgx-co-head > div {
  max-width: 930px;
  min-width: 0;
}

body.mgx-checkout-page .mgx-co-kicker {
  margin: 0 0 18px;
  color: var(--mgx-salmon-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-co-head h1 {
  max-width: 930px;
  margin: 0;
  color: var(--mgx-ink);
  font-family: var(--mgx-stencil);
  font-size: clamp(56px, 6.4vw, 94px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: .94;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-co-head h1 em,
body.mgx-checkout-page .mgx-co-editorial-copy h2 em {
  color: var(--mgx-salmon);
  font-style: normal;
  font-weight: 700;
}

body.mgx-checkout-page .mgx-co-sub {
  max-width: 670px;
  margin: 26px 0 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 19px;
  line-height: 1.65;
}

body.mgx-checkout-page .mgx-co-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  margin-top: 28px;
}

body.mgx-checkout-page .mgx-co-start {
  min-height: 54px;
  margin: 0;
  background: var(--mgx-ink);
}

body.mgx-checkout-page .mgx-co-time {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--mgx-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-co-time span {
  color: var(--mgx-salmon);
  font-size: 18px;
}

body.mgx-checkout-page .mgx-co-steps {
  min-width: 0;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 6px 0;
  border-top: 1px solid var(--mgx-line);
  border-bottom: 1px solid var(--mgx-line);
  color: var(--mgx-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}

body.mgx-checkout-page .mgx-co-steps li {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(13, 42, 61, .08);
}

body.mgx-checkout-page .mgx-co-steps li:last-child {
  border-bottom: 0;
}

body.mgx-checkout-page .mgx-co-steps li + li::before {
  display: none;
}

body.mgx-checkout-page .mgx-co-steps li span {
  width: 30px;
  height: 30px;
  border-color: var(--mgx-line);
  background: transparent;
  color: var(--mgx-muted);
  font-size: 12px;
}

body.mgx-checkout-page .mgx-co-steps li.is-done span {
  border-color: #2f865d;
  background: #2f865d;
  color: #fff;
}

body.mgx-checkout-page .mgx-co-steps li.is-active {
  color: var(--mgx-ink);
}

body.mgx-checkout-page .mgx-co-steps li.is-active span {
  border-color: var(--mgx-salmon);
  background: var(--mgx-salmon);
  color: #fff;
}

body.mgx-checkout-page .mgx-co-editorial-intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  align-items: end;
  gap: clamp(60px, 9vw, 140px);
  padding: 100px max(32px, calc((100vw - 1380px) / 2));
  background: var(--mgx-ink);
  color: #fff;
}

body.mgx-checkout-page .mgx-co-editorial-intro .mgx-co-kicker {
  color: #f29481;
}

body.mgx-checkout-page .mgx-co-editorial-copy h2 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-family: var(--mgx-stencil);
  font-size: clamp(45px, 4.7vw, 70px);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: .98;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-co-promises {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
  list-style: none;
}

body.mgx-checkout-page .mgx-co-promises li {
  min-height: 76px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}

body.mgx-checkout-page .mgx-co-promises li > span {
  color: #f29481;
  font-family: var(--mgx-display);
  font-size: 17px;
  font-style: italic;
}

body.mgx-checkout-page .mgx-co-promises strong {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

body.mgx-checkout-page .mgx-co-promises small {
  display: block;
  margin-top: 4px;
  color: #bbc5ca;
  font-size: 13px;
  line-height: 1.5;
}

body.mgx-checkout-page .mgx-co-promises a {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: var(--mgx-salmon);
  text-underline-offset: 4px;
}

body.mgx-checkout-page .mgx-co-workspace {
  width: min(1280px, calc(100% - 64px));
  margin: 0 auto;
  padding: 110px 0 140px;
}

body.mgx-checkout-page .mgx-co-shortcode form.checkout.woocommerce-checkout {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.52fr) minmax(360px, .78fr) !important;
  align-items: start !important;
  gap: clamp(48px, 6vw, 80px) !important;
  margin: 0 !important;
}

body.mgx-checkout-page .mgx-live-checkout-form,
body.mgx-checkout-page .col2-set#customer_details,
body.mgx-checkout-page .mgx-live-review {
  min-width: 0 !important;
}

body.mgx-checkout-page .mgx-live-step {
  width: 100%;
  margin: 0;
  padding: 0 0 62px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.mgx-checkout-page .mgx-live-step--secondary {
  margin-top: 22px !important;
  padding-bottom: 0;
}

body.mgx-checkout-page .mgx-live-step header {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  margin: 0 0 32px;
  padding: 28px 0;
  border-top: 1px solid var(--mgx-ink);
  border-bottom: 1px solid var(--mgx-line);
}

body.mgx-checkout-page .mgx-live-step header > span {
  width: auto;
  height: auto;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--mgx-salmon);
  font-family: var(--mgx-display);
  font-size: 56px;
  font-style: italic;
  line-height: .9;
}

body.mgx-checkout-page .mgx-live-step header small {
  display: block;
  margin-bottom: 7px;
  color: var(--mgx-salmon-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-live-step header h2 {
  margin: 0 0 8px;
  color: var(--mgx-ink);
  font-family: var(--mgx-stencil);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-live-step header p {
  max-width: 560px;
  margin: 0;
  color: var(--mgx-muted);
  font-family: var(--mgx-display);
  font-size: 15px;
  line-height: 1.6;
}

body.mgx-checkout-page .mgx-live-delivery,
body.mgx-checkout-page .mgx-live-fields {
  width: calc(100% - 106px);
  margin-left: 106px;
}

body.mgx-checkout-page .mgx-live-delivery {
  min-height: 74px;
  margin-bottom: 30px;
  padding: 16px 18px;
  border: 0;
  border-left: 3px solid var(--mgx-salmon);
  border-radius: 0;
  background: var(--mgx-cream);
}

body.mgx-checkout-page .mgx-live-delivery > span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  color: var(--mgx-salmon-dark);
}

body.mgx-checkout-page .mgx-live-delivery strong {
  font-size: 14px;
}

body.mgx-checkout-page .mgx-live-delivery small {
  font-size: 12.5px;
  line-height: 1.45;
}

body.mgx-checkout-page .mgx-live-fields .form-row {
  margin-bottom: 20px;
}

body.mgx-checkout-page .mgx-live-fields .form-row label {
  margin-bottom: 8px;
  color: var(--mgx-ink);
  font-size: 13.5px;
  font-weight: 700;
}

body.mgx-checkout-page .mgx-live-fields input.input-text,
body.mgx-checkout-page .mgx-live-fields select,
body.mgx-checkout-page .mgx-live-fields textarea,
body.mgx-checkout-page .mgx-live-fields .select2-container .select2-selection--single {
  min-height: 54px;
  border: 1px solid var(--mgx-line) !important;
  border-radius: 0;
  background: rgba(255, 255, 255, .78) !important;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
  font-size: 16px;
}

body.mgx-checkout-page .mgx-live-fields textarea {
  min-height: 120px;
}

body.mgx-checkout-page .mgx-live-fields input.input-text:focus,
body.mgx-checkout-page .mgx-live-fields select:focus,
body.mgx-checkout-page .mgx-live-fields textarea:focus,
body.mgx-checkout-page .mgx-live-fields .select2-container--focus .select2-selection--single {
  outline: 2px solid rgba(215, 100, 77, .24);
  outline-offset: 2px;
  border-color: var(--mgx-salmon) !important;
}

body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-login-toggle,
body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-coupon-toggle {
  margin: 0;
}

body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-login-toggle .woocommerce-info,
body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0 0 16px !important;
  padding: 17px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--mgx-line) !important;
  border-bottom: 1px solid var(--mgx-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13.5px;
}

body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-login,
body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-coupon {
  margin: 0 0 28px;
  padding: 24px;
  border: 0;
  border-left: 3px solid var(--mgx-salmon);
  border-radius: 0;
  background: var(--mgx-cream);
  box-shadow: none;
}

body.mgx-checkout-page .mgx-live-review {
  position: sticky !important;
  top: 24px !important;
  padding: 34px 32px !important;
  border: 0;
  border-top: 4px solid var(--mgx-salmon);
  border-radius: 0;
  background: var(--mgx-cream);
  box-shadow: none;
}

body.mgx-checkout-page .mgx-live-review-heading {
  align-items: flex-start;
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--mgx-line);
}

body.mgx-checkout-page .mgx-live-review-heading span {
  margin-bottom: 8px;
  color: var(--mgx-salmon-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
}

body.mgx-checkout-page .mgx-live-review-heading h2 {
  color: var(--mgx-ink);
  font-family: var(--mgx-stencil);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.05;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-live-review-heading a {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--mgx-ink);
  color: var(--mgx-ink);
  font-size: 12px;
  text-decoration: none;
}

/*
 * WooCommerce continua a ricevere una vera tabella, necessaria per gli
 * aggiornamenti AJAX del checkout; sullo schermo diventa però una lista
 * editoriale di prodotti e totali, senza griglia o intestazioni tecniche.
 */
body.mgx-checkout-page .mgx-live-review-table,
body.mgx-checkout-page .mgx-live-review-table tbody,
body.mgx-checkout-page .mgx-live-review-table tfoot {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
  margin: 0;
  border: 0 !important;
  border-collapse: separate;
  background: transparent !important;
  box-shadow: none !important;
}

body.mgx-checkout-page .mgx-live-review-table thead {
  display: none;
}

body.mgx-checkout-page .mgx-live-review-table tbody tr.cart_item {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid var(--mgx-line);
  background: transparent;
}

body.mgx-checkout-page .mgx-live-review-table tbody td {
  width: auto !important;
  min-width: 0;
  display: block;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 14px;
}

body.mgx-checkout-page .mgx-live-review-table tbody td.product-total {
  align-self: center;
  padding-left: 8px !important;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}

body.mgx-checkout-page .mgx-live-review-image {
  width: 64px;
  height: 64px;
  border-radius: 0;
  background: var(--mgx-paper);
}

body.mgx-checkout-page .mgx-live-review-product strong {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 14.5px;
  line-height: 1.4;
}

body.mgx-checkout-page .mgx-live-review-product small {
  margin-top: 4px;
  color: var(--mgx-muted);
  font-size: 12.5px;
}

body.mgx-checkout-page .mgx-live-review-table tfoot {
  padding-top: 12px;
}

body.mgx-checkout-page .mgx-live-review-table tfoot tr {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 20px;
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid var(--mgx-line);
  background: transparent;
}

body.mgx-checkout-page .mgx-live-review-table tfoot th,
body.mgx-checkout-page .mgx-live-review-table tfoot td {
  width: auto !important;
  min-width: 0;
  display: block;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 13.5px;
  line-height: 1.55;
}

body.mgx-checkout-page .mgx-live-review-table tfoot th {
  color: var(--mgx-muted);
  font-weight: 400;
  text-align: left;
}

body.mgx-checkout-page .mgx-live-review-table tfoot td {
  margin-left: auto;
  color: var(--mgx-ink);
  font-weight: 700;
  text-align: right;
}

body.mgx-checkout-page .mgx-live-review-table .woocommerce-shipping-methods {
  width: min(220px, 100%);
  margin: 0 0 0 auto;
  text-align: left;
}

body.mgx-checkout-page .mgx-live-review-table .woocommerce-shipping-methods li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

body.mgx-checkout-page .mgx-live-review-table .woocommerce-shipping-methods input[type="radio"] {
  margin: 4px 0 0;
}

body.mgx-checkout-page .mgx-live-review-table .woocommerce-shipping-methods label {
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body.mgx-checkout-page .mgx-live-review-table tfoot tr.order-total th,
body.mgx-checkout-page .mgx-live-review-table tfoot tr.order-total td {
  padding: 0 !important;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
}

body.mgx-checkout-page .mgx-live-review-table tfoot tr.order-total {
  min-height: 0;
  align-items: end;
  margin-top: 8px;
  padding: 22px 0 0;
  border-top: 1px solid var(--mgx-ink);
  border-bottom: 0;
}

body.mgx-checkout-page .mgx-live-review-table tfoot tr.order-total td {
  font-size: 30px;
  line-height: 1;
}

body.mgx-checkout-page #payment {
  margin-top: 30px;
  padding-top: 27px;
  border-top: 1px solid var(--mgx-ink);
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mgx-checkout-page #payment::before {
  content: "Pagamento sicuro";
  display: block;
  margin: 0 0 19px;
  color: var(--mgx-ink);
  font-family: var(--mgx-stencil);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1.1;
  text-transform: uppercase;
}

body.mgx-checkout-page #payment ul.payment_methods {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.mgx-checkout-page #payment ul.payment_methods > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: 10px;
  margin: 0 !important;
  padding: 0 0 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mgx-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mgx-checkout-page #payment ul.payment_methods > li + li {
  padding-top: 18px !important;
}

body.mgx-checkout-page #payment ul.payment_methods > li > input[type="radio"] {
  grid-column: 1;
  margin: 13px 0 0 !important;
}

body.mgx-checkout-page #payment ul.payment_methods > li > label {
  width: 100%;
  grid-column: 2;
  display: flex;
  align-items: center;
  min-height: 42px;
  color: var(--mgx-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

body.mgx-checkout-page #payment .payment_box,
body.mgx-checkout-page #payment div.payment_box {
  position: static !important;
  width: 100% !important;
  margin: 15px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mgx-muted);
  font-size: 13px;
  line-height: 1.6;
}

body.mgx-checkout-page #payment ul.payment_methods > li > .payment_box {
  grid-column: 1 / -1;
}

body.mgx-checkout-page #payment .payment_box::before,
body.mgx-checkout-page #payment .payment_box::after {
  content: none !important;
  display: none !important;
}

body.mgx-checkout-page #payment fieldset,
body.mgx-checkout-page #payment .wc-payment-form,
body.mgx-checkout-page #payment .wc-credit-card-form,
body.mgx-checkout-page #payment #wc-stripe-upe-form,
body.mgx-checkout-page #payment .wc-stripe-upe-element,
body.mgx-checkout-page #payment .wcpay-upe-element,
body.mgx-checkout-page #payment .wcpay-card-mounted {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mgx-checkout-page #payment .wc-stripe-elements-field,
body.mgx-checkout-page #payment .StripeElement,
body.mgx-checkout-page #payment #stripe-card-element,
body.mgx-checkout-page #payment #stripe-exp-element,
body.mgx-checkout-page #payment #stripe-cvc-element {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 13px !important;
  border: 1px solid var(--mgx-line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: none !important;
}

body.mgx-checkout-page #payment .wc-stripe-elements-field:focus-within,
body.mgx-checkout-page #payment .StripeElement--focus {
  outline: 2px solid rgba(215, 100, 77, .22);
  outline-offset: 2px;
  border-color: var(--mgx-salmon) !important;
}

body.mgx-checkout-page #payment .form-row {
  width: 100%;
  margin: 0 0 15px;
  padding: 0;
}

body.mgx-checkout-page #payment .form-row label {
  display: block;
  margin: 0 0 7px;
  color: var(--mgx-ink);
  font-size: 13px;
  font-weight: 700;
}

body.mgx-checkout-page #payment .woocommerce-SavedPaymentMethods {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

body.mgx-checkout-page #payment .woocommerce-SavedPaymentMethods li {
  margin: 0 0 10px;
}

body.mgx-checkout-page #payment iframe {
  width: 100% !important;
  max-width: 100% !important;
}

body.mgx-checkout-page #payment .place-order {
  margin: 25px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mgx-checkout-page #place_order {
  min-height: 60px;
  border: 0;
  border-radius: 0;
  background: var(--mgx-salmon) !important;
  box-shadow: 0 18px 30px -22px rgba(215, 100, 77, .95);
  color: #fff !important;
  font-family: var(--mgx-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.mgx-checkout-page #place_order:hover,
body.mgx-checkout-page #place_order:focus {
  background: var(--mgx-salmon-dark) !important;
}

body.mgx-checkout-page .mgx-co-empty {
  max-width: 760px;
  margin: 0 auto;
  padding: 70px 40px;
  border: 0;
  border-top: 4px solid var(--mgx-salmon);
  border-radius: 0;
  background: var(--mgx-cream);
  box-shadow: none;
}

body.mgx-checkout-page .mgx-co-empty h2 {
  margin: 10px 0 15px;
  font-family: var(--mgx-stencil);
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1;
  text-transform: uppercase;
}

body.mgx-checkout-page .mgx-co-empty .mgx-cm-cta {
  min-height: 54px;
  border-radius: 0;
  background: var(--mgx-salmon) !important;
}

body.mgx-checkout-page .mgx-co-shortcode.is-confirmation .woocommerce-order {
  padding: 46px;
  border: 0;
  border-top: 4px solid var(--mgx-salmon);
  border-radius: 0;
  background: var(--mgx-cream);
  box-shadow: none;
}

body.mgx-checkout-page .mgx-co-shortcode.is-confirmation h2 {
  font-family: var(--mgx-stencil);
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 1080px) {
  body.mgx-checkout-page .mgx-co-head {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 46px;
  }

  body.mgx-checkout-page .mgx-co-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.mgx-checkout-page .mgx-co-steps li {
    justify-content: center;
    border-right: 1px solid rgba(13, 42, 61, .08);
    border-bottom: 0;
  }

  body.mgx-checkout-page .mgx-co-steps li:last-child {
    border-right: 0;
  }

  body.mgx-checkout-page .mgx-co-editorial-intro {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 54px;
  }

  body.mgx-checkout-page .mgx-co-promises {
    max-width: 760px;
  }

  body.mgx-checkout-page .mgx-co-shortcode form.checkout.woocommerce-checkout {
    display: flex !important;
    flex-flow: column nowrap !important;
    gap: 58px !important;
  }

  body.mgx-checkout-page .mgx-live-review {
    position: static !important;
  }
}

@media (max-width: 720px) {
  body.mgx-checkout-page .mgx-co-hero {
    width: calc(100% - 24px);
    min-height: 0;
    padding: 64px 0 70px;
  }

  body.mgx-checkout-page .mgx-co-head {
    gap: 38px;
  }

  body.mgx-checkout-page .mgx-co-kicker {
    margin-bottom: 14px;
    font-size: 11px;
  }

  body.mgx-checkout-page .mgx-co-head h1 {
    font-size: clamp(41px, 11.5vw, 56px);
    line-height: .97;
  }

  body.mgx-checkout-page .mgx-co-sub {
    margin-top: 21px;
    font-size: 16.5px;
    line-height: 1.62;
  }

  body.mgx-checkout-page .mgx-co-time {
    font-size: 11px;
  }

  body.mgx-checkout-page .mgx-co-hero-actions {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 23px;
  }

  body.mgx-checkout-page .mgx-co-steps {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 12px 0 8px;
  }

  body.mgx-checkout-page .mgx-co-steps li {
    min-width: 0;
    min-height: 64px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 7px;
    padding: 0 5px;
    font-size: 10.5px;
    line-height: 1.25;
    text-align: center;
  }

  body.mgx-checkout-page .mgx-co-steps li span {
    width: 28px;
    height: 28px;
  }

  body.mgx-checkout-page .mgx-co-editorial-intro {
    gap: 44px;
    padding: 66px 20px;
  }

  body.mgx-checkout-page .mgx-co-editorial-copy h2 {
    font-size: clamp(38px, 10.8vw, 50px);
    line-height: 1;
  }

  body.mgx-checkout-page .mgx-co-promises li {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
  }

  body.mgx-checkout-page .mgx-co-promises strong {
    font-size: 13.5px;
  }

  body.mgx-checkout-page .mgx-co-promises small {
    font-size: 12.5px;
  }

  body.mgx-checkout-page .mgx-co-workspace {
    width: calc(100% - 24px);
    padding: 66px 0 84px;
  }

  body.mgx-checkout-page .mgx-co-shortcode form.checkout.woocommerce-checkout {
    gap: 42px !important;
  }

  body.mgx-checkout-page .mgx-live-step {
    padding-bottom: 45px;
  }

  body.mgx-checkout-page .mgx-live-step header {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 26px;
    padding: 23px 0;
  }

  body.mgx-checkout-page .mgx-live-step header > span {
    font-size: 44px;
  }

  body.mgx-checkout-page .mgx-live-step header small {
    margin-bottom: 5px;
    font-size: 10px;
  }

  body.mgx-checkout-page .mgx-live-step header h2 {
    margin-bottom: 7px;
    font-size: clamp(27px, 8vw, 34px);
  }

  body.mgx-checkout-page .mgx-live-step header p {
    font-size: 14px;
    line-height: 1.55;
  }

  body.mgx-checkout-page .mgx-live-delivery,
  body.mgx-checkout-page .mgx-live-fields {
    width: 100%;
    margin-left: 0;
  }

  body.mgx-checkout-page .mgx-live-delivery {
    margin-bottom: 26px;
    padding: 14px;
  }

  body.mgx-checkout-page .mgx-live-fields .form-row label {
    font-size: 13px;
  }

  body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-login,
  body.mgx-checkout-page .mgx-co-shortcode .woocommerce-form-coupon {
    padding: 19px;
  }

  body.mgx-checkout-page .mgx-live-review {
    padding: 26px 22px !important;
  }

  body.mgx-checkout-page .mgx-live-review-heading {
    gap: 10px;
  }

  body.mgx-checkout-page .mgx-live-review-heading h2 {
    font-size: 26px;
  }

  body.mgx-checkout-page .mgx-live-review-image {
    width: 52px;
    height: 52px;
  }

  body.mgx-checkout-page .mgx-live-review-table td.product-total {
    padding-left: 4px !important;
    font-size: 14px;
  }

  body.mgx-checkout-page #payment ul.payment_methods > li {
    padding: 0 0 19px !important;
  }

  body.mgx-checkout-page #payment::before {
    font-size: 20px;
  }

  body.mgx-checkout-page #place_order {
    min-height: 58px;
    padding: 15px 14px;
    font-size: 12px;
  }

  body.mgx-checkout-page .mgx-co-empty,
  body.mgx-checkout-page .mgx-co-shortcode.is-confirmation .woocommerce-order {
    padding: 34px 22px;
  }
}

@media (max-width: 420px) {
  body.mgx-checkout-page .mgx-live-review-table tfoot tr.woocommerce-shipping-totals,
  body.mgx-checkout-page .mgx-live-review-table tfoot tr.shipping {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body.mgx-checkout-page .mgx-live-review-table tfoot tr.woocommerce-shipping-totals td,
  body.mgx-checkout-page .mgx-live-review-table tfoot tr.shipping td,
  body.mgx-checkout-page .mgx-live-review-table .woocommerce-shipping-methods {
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
}

/* -------------------------------------------------------------------------
   3.15.2 — Navigazione pulita e contenuti più essenziali.
   Le descrizioni del catalogo restano leggibili ma non allungano le schede.
   ---------------------------------------------------------------------- */
.mgx-bottega-experience .mgx-product__info > p {
  display: -webkit-box;
  overflow: hidden;
  max-width: 42ch;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.mgx-home-page .mgx-story__timeline p,
.mgx-home-page .mgx-method li p {
  max-width: 42ch;
}

/* -------------------------------------------------------------------------
   3.15.4 — Movimento editoriale della Home e ricette collegate al prodotto.
   Le animazioni avvengono una sola volta e non modificano il layout.
   ---------------------------------------------------------------------- */
.mgx-reveal {
  transition-delay: var(--mgx-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.mgx-reveal.mgx-is-visible {
  will-change: auto;
}

.mgx-home-page .mgx-reveal {
  transform: translate3d(0, 20px, 0);
  transition-duration: .72s;
  transition-timing-function: cubic-bezier(.2, .72, .22, 1);
}

.mgx-reveal--visual,
.mgx-home-page .mgx-reveal--visual {
  transform: translate3d(0, 18px, 0) scale(.985);
  filter: saturate(.9);
  transition-property: opacity, transform, filter;
}

.mgx-reveal--visual.mgx-is-visible,
.mgx-home-page .mgx-reveal--visual.mgx-is-visible {
  transform: translate3d(0, 0, 0) scale(1);
  filter: saturate(1);
}

.mgx-home-page .mgx-hero__visual.mgx-is-visible > img {
  animation: mgx-home-image-arrival 1.15s cubic-bezier(.2, .72, .22, 1) both;
}

@keyframes mgx-home-image-arrival {
  from { transform: scale(1.035); }
  to { transform: scale(1); }
}

@media (min-width: 721px) {
  .mgx-home-page > .mgx-commerce-header {
    transition: min-height .32s ease, background-color .32s ease, box-shadow .32s ease;
  }

  .mgx-home-page > .mgx-commerce-header .mgx-module-brand img,
  .mgx-home-page > .mgx-commerce-header .mgx-module-brand strong,
  .mgx-home-page > .mgx-commerce-header .mgx-module-brand small {
    transition: width .32s ease, height .32s ease, flex-basis .32s ease, font-size .32s ease, opacity .32s ease;
  }

  .mgx-home-page > .mgx-commerce-header.is-home-scrolled {
    min-height: 92px;
    background: rgba(255, 249, 249, .98);
    box-shadow: 0 14px 34px rgba(13, 42, 61, .1);
  }

  .mgx-home-page > .mgx-commerce-header.is-home-scrolled .mgx-module-brand img {
    width: 66px !important;
    height: 66px !important;
    flex-basis: 66px !important;
  }

  .mgx-home-page > .mgx-commerce-header.is-home-scrolled .mgx-module-brand strong {
    font-size: 20px;
  }

  .mgx-home-page > .mgx-commerce-header.is-home-scrolled .mgx-module-brand small {
    font-size: 8.5px;
    opacity: .78;
  }
}

.mgx-product-recipes {
  margin: 0 calc(50% - 50vw);
  padding: 96px max(24px, calc((100vw - 1380px) / 2));
  background: var(--mgx-cream);
  color: var(--mgx-ink);
}

.mgx-product-recipes > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 42px;
}

.mgx-product-recipes > header h2 {
  max-width: 820px;
  margin: 16px 0 0;
  font-family: var(--mgx-display);
  font-size: clamp(38px, 4.7vw, 64px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1;
}

.mgx-product-recipes > header h2 em {
  color: var(--mgx-salmon-dark);
  font-weight: 400;
}

.mgx-product-recipes > header > a {
  flex: none;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--mgx-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mgx-product-recipes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.mgx-product-recipes__grid > a {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto auto auto 1fr;
  gap: 9px;
  color: var(--mgx-ink);
}

.mgx-product-recipes__grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  margin-bottom: 9px;
  object-fit: cover;
  filter: saturate(.92) contrast(1.02);
  transition: transform .35s ease, filter .35s ease;
}

.mgx-product-recipes__grid > a > span {
  color: var(--mgx-salmon-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-product-recipes__grid strong {
  font-family: var(--mgx-display);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  line-height: 1.18;
}

.mgx-product-recipes__grid p {
  max-width: 44ch;
  margin: 0;
  color: var(--mgx-muted);
  font-size: 15px;
  line-height: 1.55;
}

.mgx-product-recipes__grid small {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
}

.mgx-product-recipes__grid small i {
  color: var(--mgx-salmon-dark);
  font-size: 16px;
  font-style: normal;
  transition: transform .22s ease;
}

.mgx-recipe[id] {
  scroll-margin-top: 145px;
  transition: box-shadow .45s ease;
}

.mgx-recipe[id]:target,
.mgx-recipe.is-linked-recipe {
  box-shadow: inset 3px 0 0 var(--mgx-salmon);
}

@media (hover: hover) and (pointer: fine) {
  .mgx-product-recipes__grid > a:hover img {
    transform: translateY(-4px) scale(1.012);
    filter: saturate(1) contrast(1.04);
  }

  .mgx-product-recipes__grid > a:hover small i {
    transform: translateX(5px);
  }
}

@media (max-width: 820px) {
  .mgx-home-page .mgx-reveal {
    transform: translate3d(0, 12px, 0);
    transition-duration: .48s;
    transition-delay: 0ms !important;
  }

  .mgx-home-page .mgx-reveal--visual {
    transform: translate3d(0, 10px, 0) scale(.992);
  }

  .mgx-home-page .mgx-reveal.mgx-is-visible,
  .mgx-home-page .mgx-reveal--visual.mgx-is-visible {
    transform: translate3d(0, 0, 0) scale(1);
  }

  .mgx-home-page .mgx-hero__visual.mgx-is-visible > img {
    animation-duration: .65s;
  }

  .mgx-product-recipes {
    padding: 70px 22px;
  }

  .mgx-product-recipes > header {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 34px;
  }

  .mgx-product-recipes > header h2 {
    font-size: clamp(36px, 10vw, 48px);
    overflow-wrap: anywhere;
  }

  .mgx-product-recipes__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .mgx-product-recipes__grid > a {
    transition-delay: 0ms !important;
  }

  .mgx-recipe[id] {
    scroll-margin-top: 105px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mgx-reveal,
  .mgx-reveal--visual,
  .mgx-home-page .mgx-reveal,
  .mgx-home-page .mgx-reveal--visual {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .mgx-home-page .mgx-hero__visual.mgx-is-visible > img {
    animation: none !important;
  }

  .mgx-recipe[id] {
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------
   3.15.12 — Header desktop e carrello mobile isolati dagli stili del tema.
   Alcuni temi forzano tutti i <button> a display:block!important: il comando
   mobile compariva quindi anche su desktop come una riga di testo non formattata.
   La griglia dell'header viene resa esplicita per evitare che regole generiche
   del tema nascondano o riposizionino marchio, menu e azioni.
   ---------------------------------------------------------------------- */
.mgx-persistent-cart-region > .mgx-mobile-cart-bar {
  display: none !important;
}

@media (min-width: 721px) {
  .mgx-shop > .mgx-commerce-header {
    width: min(1380px, calc(100% - 64px)) !important;
    min-height: 122px !important;
    display: grid !important;
    align-items: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mgx-shop > .mgx-commerce-header > .mgx-module-menu-toggle {
    display: none !important;
  }

  .mgx-shop > .mgx-commerce-header > .mgx-module-brand {
    display: inline-flex !important;
    align-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mgx-shop > .mgx-commerce-header > nav {
    display: flex !important;
    align-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mgx-shop > .mgx-commerce-header > nav > a {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mgx-shop > .mgx-commerce-header > .mgx-module-help,
  .mgx-shop > .mgx-commerce-header > .mgx-module-cart {
    display: inline-flex !important;
    align-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (min-width: 1051px) {
  .mgx-shop > .mgx-commerce-header {
    grid-template-columns: auto minmax(360px, 1fr) auto auto !important;
    grid-template-rows: 1fr !important;
    gap: 24px !important;
  }

  .mgx-shop > .mgx-commerce-header > .mgx-module-brand { grid-column: 1 !important; grid-row: 1 !important; }
  .mgx-shop > .mgx-commerce-header > nav { grid-column: 2 !important; grid-row: 1 !important; justify-content: center !important; position: static !important; }
  .mgx-shop > .mgx-commerce-header > .mgx-module-help { grid-column: 3 !important; grid-row: 1 !important; }
  .mgx-shop > .mgx-commerce-header > .mgx-module-cart { grid-column: 4 !important; grid-row: 1 !important; justify-self: end !important; }
}

@media (min-width: 721px) and (max-width: 1050px) {
  .mgx-shop > .mgx-commerce-header {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-rows: auto auto !important;
    gap: 8px 16px !important;
    padding: 10px 0 !important;
  }

  .mgx-shop > .mgx-commerce-header > .mgx-module-brand { grid-column: 1 !important; grid-row: 1 !important; }
  .mgx-shop > .mgx-commerce-header > .mgx-module-help { grid-column: 2 !important; grid-row: 1 !important; }
  .mgx-shop > .mgx-commerce-header > .mgx-module-cart { grid-column: 3 !important; grid-row: 1 !important; justify-self: end !important; }
  .mgx-shop > .mgx-commerce-header > nav {
    width: 100% !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    position: static !important;
  }
}

@media (max-width: 720px) {
  .mgx-persistent-cart-region > .mgx-mobile-cart-bar.has-items {
    display: grid !important;
  }

  .mgx-persistent-cart-region > .mgx-mobile-cart-bar.is-empty {
    display: none !important;
  }
}

/* -------------------------------------------------------------------------
   3.15.13 — Il form prodotto nativo non comprime piu il pulsante.
   Questa protezione conserva la correzione gia presente sul sito pubblico e
   resta separata dal nuovo form editoriale Mastro Giuliano.
   ---------------------------------------------------------------------- */
body.single-product div.product form.cart,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart,
body.single-product .wp-block-woocommerce-add-to-cart-form form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

body.single-product div.product form.cart > .quantity,
body.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart > .quantity,
body.single-product .wp-block-woocommerce-add-to-cart-form form.cart > .quantity {
  flex: 0 0 112px;
  max-width: 112px;
}

body.single-product div.product form.cart .single_add_to_cart_button,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
body.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
  flex: 1 1 auto;
  min-width: 210px;
  max-width: 100%;
  padding: 14px 26px;
  white-space: normal;
  overflow-wrap: break-word;
}

/* -------------------------------------------------------------------------
   3.16.1 — Scheda prodotto editoriale contemporanea.
   Il prodotto e le sue fotografie restano intatti: cambiano soltanto
   gerarchia, spazio, navigazione della galleria e presentazione commerciale.
   ---------------------------------------------------------------------- */
body.mgx-product-page {
  background: #fbf8f5;
}

body.mgx-product-page .mgx-page-frame,
body.mgx-product-page .mgx-standalone-commerce-shell {
  overflow: clip;
}

.mgx-product-experience {
  width: min(1320px, calc(100% - 64px));
  margin: 0 auto;
  color: var(--mgx-ink);
}

.mgx-product-experience .mgx-standalone-breadcrumb {
  min-height: 64px;
  padding: 20px 0 18px;
  border-bottom: 1px solid rgba(13, 42, 61, .09);
  font-family: var(--mgx-sans);
  font-size: 10px;
  letter-spacing: .105em;
}

.mgx-product-experience .mgx-standalone-breadcrumb span {
  color: var(--mgx-salmon-dark);
}

.mgx-product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
  gap: clamp(52px, 7vw, 104px);
  align-items: start;
  padding: clamp(34px, 5vw, 66px) 0 clamp(78px, 8vw, 118px);
}

.mgx-product-gallery-v2 {
  min-width: 0;
}

.mgx-product-gallery-stage {
  min-height: clamp(570px, 52vw, 690px);
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(72px, 8vw, 108px);
  border: 1px solid rgba(13, 42, 61, .075);
  border-radius: 26px 26px 8px 26px;
  background:
    radial-gradient(circle at 78% 20%, rgba(215, 100, 77, .10), transparent 28%),
    linear-gradient(145deg, #f2ece7 0%, #f9f5f1 58%, #eee6df 100%);
  isolation: isolate;
}

.mgx-product-gallery-stage::before {
  content: "";
  width: min(68%, 470px);
  aspect-ratio: 1;
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(13, 42, 61, .10);
  border-radius: 50%;
  background: rgba(255, 255, 255, .28);
}

.mgx-product-gallery-stage::after {
  content: "";
  width: 94%;
  height: 1px;
  position: absolute;
  right: -35%;
  bottom: 19%;
  z-index: -1;
  background: rgba(13, 42, 61, .08);
  transform: rotate(-21deg);
}

.mgx-product-gallery-stage .mgx-product-main-image {
  width: min(91%, 580px);
  max-width: 100%;
  max-height: 510px;
  margin: 0;
  position: relative;
  z-index: 1;
  object-fit: contain;
  filter: drop-shadow(0 34px 34px rgba(13, 42, 61, .18));
  transition: opacity .2s ease, transform .35s ease;
}

.mgx-product-gallery-stage .mgx-product-main-image.is-changing {
  opacity: .15;
  transform: scale(.985);
}

.mgx-product-chapter {
  position: absolute;
  top: 26px;
  left: 28px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(13, 42, 61, .58);
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mgx-product-chapter i {
  width: 28px;
  height: 1px;
  display: block;
  background: var(--mgx-salmon-dark);
}

.mgx-product-gallery-stage .mgx-product-stamp {
  top: 23px;
  right: 24px;
  left: auto;
  padding: 9px 12px;
  border: 0;
  background: rgba(255, 249, 249, .86);
  box-shadow: 0 8px 24px rgba(13, 42, 61, .08);
  backdrop-filter: blur(8px);
}

.mgx-product-gallery-count {
  position: absolute;
  right: 27px;
  bottom: 24px;
  color: rgba(13, 42, 61, .58);
  font-family: var(--mgx-display);
  font-size: 12px;
  font-style: italic;
}

.mgx-product-gallery-v2 .mgx-product-thumbs {
  width: 100%;
  position: static;
  display: flex;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
}

.mgx-product-gallery-v2 .mgx-product-thumbs button,
.mgx-product-gallery-v2 .mgx-product-thumbs button:hover,
.mgx-product-gallery-v2 .mgx-product-thumbs button:focus {
  width: 72px;
  height: 72px;
  min-width: 72px;
  min-height: 72px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 6px !important;
  overflow: hidden;
  border: 1px solid rgba(13, 42, 61, .10) !important;
  border-radius: 12px !important;
  outline: 0;
  background: #f3ede8 !important;
  box-shadow: none !important;
  cursor: pointer;
  opacity: .62;
  transition: border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.mgx-product-gallery-v2 .mgx-product-thumbs button:hover,
.mgx-product-gallery-v2 .mgx-product-thumbs button[aria-pressed="true"] {
  border-color: var(--mgx-salmon-dark) !important;
  opacity: 1;
  transform: translateY(-2px);
}

.mgx-product-gallery-v2 .mgx-product-thumbs button:focus-visible {
  outline: 3px solid rgba(215, 100, 77, .32);
  outline-offset: 2px;
}

.mgx-product-gallery-v2 .mgx-product-thumbs img {
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  object-fit: contain;
}

.mgx-product-purchase-v2 {
  min-width: 0;
  position: sticky;
  top: 118px;
  padding-top: 8px;
}

.mgx-product-overline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  color: var(--mgx-salmon-dark);
  font-family: var(--mgx-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.mgx-product-overline span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.mgx-product-overline span::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
}

.mgx-product-overline i {
  color: rgba(13, 42, 61, .48);
  font-family: var(--mgx-display);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.mgx-product-purchase-v2 > h1 {
  max-width: 720px;
  margin: 0;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(48px, 5.3vw, 76px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .99;
  text-transform: none;
  overflow-wrap: normal;
}

.mgx-product-purchase-v2 .mgx-product-description {
  max-width: 600px;
  margin: 25px 0 27px;
  color: rgba(13, 42, 61, .72);
  font-family: var(--mgx-display);
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.65;
}

.mgx-product-purchase-v2 .mgx-product-description p {
  margin: 0;
}

.mgx-product-commercial-line {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 19px 0;
  border-top: 1px solid rgba(13, 42, 61, .11);
  border-bottom: 1px solid rgba(13, 42, 61, .11);
}

.mgx-product-purchase-v2 .mgx-product-price {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  justify-content: start;
  gap: 4px 12px;
  padding: 0;
  border: 0;
}

.mgx-product-purchase-v2 .mgx-product-price > small {
  grid-column: 1 / -1;
  color: rgba(13, 42, 61, .52);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.mgx-product-purchase-v2 .mgx-product-price .amount {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 38px;
  font-weight: 700;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.mgx-product-purchase-v2 .mgx-product-price > span:last-child:not(.amount):not(.price) {
  color: rgba(13, 42, 61, .48);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.mgx-product-purchase-v2 .mgx-product-net-quantity {
  min-width: 116px;
  display: grid;
  align-content: center;
  justify-items: end;
  gap: 3px;
  margin: 0;
  padding: 8px 14px;
  border: 0;
  border-radius: 12px;
  background: #f1e9e3;
}

.mgx-product-purchase-v2 .mgx-product-net-quantity span {
  color: rgba(13, 42, 61, .52);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mgx-product-purchase-v2 .mgx-product-net-quantity strong {
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: 20px;
  font-weight: 700;
}

.mgx-product-purchase-v2 .mgx-product-order {
  padding: 22px;
  border: 1px solid rgba(13, 42, 61, .08);
  border-radius: 18px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 22px 54px rgba(13, 42, 61, .085);
  backdrop-filter: blur(10px);
}

.mgx-product-purchase-v2 .mgx-availability {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 8px;
  font-family: var(--mgx-sans);
  font-size: 10px;
  letter-spacing: .075em;
}

.mgx-product-purchase-v2 .mgx-availability small {
  color: rgba(13, 42, 61, .45);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none;
}

.mgx-product-purchase-v2 .mgx-product-order > form.cart {
  grid-template-columns: minmax(172px, 210px) minmax(210px, 1fr);
  gap: 10px;
  margin-top: 16px;
}

.mgx-product-purchase-v2 .mgx-product-quantity {
  grid-template-columns: minmax(48px, 1fr) 42px 48px 42px;
  overflow: hidden;
  border: 1px solid rgba(13, 42, 61, .11);
  border-radius: 11px;
  background: #fbf8f5;
}

.mgx-product-purchase-v2 .mgx-product-quantity > span {
  padding: 0 12px;
  font-family: var(--mgx-sans);
  font-size: 10px;
}

.mgx-product-purchase-v2 .mgx-product-quantity > button,
.mgx-product-purchase-v2 .mgx-product-quantity > button:hover,
.mgx-product-purchase-v2 .mgx-product-quantity > button:focus {
  background: #f1ebe6 !important;
}

.mgx-product-purchase-v2 .mgx-product-order > form.cart > button[type="submit"],
.mgx-product-purchase-v2 .mgx-product-native-link {
  min-width: 0;
  min-height: 58px;
  padding: 0 20px;
  border-radius: 11px !important;
  background: var(--mgx-salmon-dark) !important;
  box-shadow: 0 12px 28px rgba(215, 100, 77, .22) !important;
  font-family: var(--mgx-sans);
  font-size: 11px;
  letter-spacing: .075em;
  white-space: nowrap;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.mgx-product-purchase-v2 .mgx-product-order > form.cart > button[type="submit"]:hover,
.mgx-product-purchase-v2 .mgx-product-native-link:hover {
  background: var(--mgx-ink) !important;
  box-shadow: 0 14px 30px rgba(13, 42, 61, .20) !important;
  transform: translateY(-1px);
}

.mgx-product-purchase-v2 .mgx-product-assurances {
  gap: 10px;
  margin-top: 18px;
  padding-top: 15px;
  border-color: rgba(13, 42, 61, .08);
}

.mgx-product-purchase-v2 .mgx-product-assurances span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: rgba(13, 42, 61, .58);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
}

.mgx-product-purchase-v2 .mgx-product-assurances i {
  color: var(--mgx-salmon-dark);
  font-style: normal;
}

.mgx-product-purchase-v2 .mgx-product-native-form form.cart {
  display: block !important;
  margin: 0 !important;
}

.mgx-product-purchase-v2 .mgx-product-native-form table.variations {
  width: 100%;
  margin: 0 0 14px;
  border: 0;
}

.mgx-product-purchase-v2 .mgx-product-native-form table.variations th,
.mgx-product-purchase-v2 .mgx-product-native-form table.variations td {
  display: block;
  padding: 0 0 8px;
  border: 0;
  text-align: left;
}

.mgx-product-purchase-v2 .mgx-product-native-form table.variations label {
  color: rgba(13, 42, 61, .62);
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mgx-product-purchase-v2 .mgx-product-native-form table.variations select {
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid rgba(13, 42, 61, .11);
  border-radius: 10px;
  background: #fbf8f5;
  color: var(--mgx-ink);
}

.mgx-product-purchase-v2 .mgx-product-native-form .single_variation_wrap .woocommerce-variation-add-to-cart {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 10px;
}

.mgx-product-purchase-v2 .mgx-product-native-form .single_add_to_cart_button {
  min-height: 56px;
  border-radius: 11px !important;
  background: var(--mgx-salmon-dark) !important;
  color: #fff !important;
}

.mgx-product-discover {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 23px;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}

.mgx-product-discover span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(13, 42, 61, .15);
  border-radius: 50%;
  color: var(--mgx-salmon-dark);
  transition: transform .2s ease, background .2s ease;
}

.mgx-product-discover:hover span {
  background: #f1e9e3;
  transform: translateY(3px);
}

.mgx-product-story-v2 {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(70px, 10vw, 150px);
  margin: 0 calc(50% - 50vw);
  padding: clamp(88px, 9vw, 128px) max(32px, calc((100vw - 1320px) / 2));
  background: #f1eae4;
}

.mgx-product-story-v2 header {
  position: relative;
  padding-left: 50px;
}

.mgx-product-story-v2 header > span {
  position: absolute;
  top: 5px;
  left: 0;
  color: var(--mgx-salmon-dark);
  font-family: var(--mgx-display);
  font-size: 13px;
  font-style: italic;
}

.mgx-product-story-v2 header > p,
.mgx-product-transparency header p {
  margin: 0 0 16px;
  color: rgba(13, 42, 61, .52);
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-product-story-v2 h2,
.mgx-product-transparency h2 {
  margin: 0;
  color: var(--mgx-ink);
  font-family: var(--mgx-display);
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.mgx-product-story-v2 h2 em,
.mgx-product-transparency h2 em {
  color: var(--mgx-salmon-dark);
  font-weight: 400;
}

.mgx-product-story-copy {
  max-width: 720px;
  padding-top: 3px;
  color: rgba(13, 42, 61, .72);
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.86;
}

.mgx-product-story-copy p {
  margin: 0 0 18px;
}

.mgx-product-story-copy p:first-child {
  color: var(--mgx-ink);
  font-size: clamp(21px, 2vw, 26px);
  line-height: 1.62;
}

.mgx-product-transparency {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(70px, 10vw, 150px);
  padding: clamp(88px, 9vw, 124px) 0;
}

.mgx-product-transparency > header {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-content: start;
  gap: 14px;
}

.mgx-product-transparency > header > span {
  padding-top: 4px;
  color: var(--mgx-salmon-dark);
  font-family: var(--mgx-display);
  font-size: 13px;
  font-style: italic;
}

.mgx-product-transparency .mgx-product-facts {
  margin: 0;
  padding: 7px 28px;
  border: 1px solid rgba(13, 42, 61, .08);
  border-radius: 20px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 20px 52px rgba(13, 42, 61, .06);
}

.mgx-product-transparency .mgx-product-facts details {
  border-color: rgba(13, 42, 61, .09);
}

.mgx-product-transparency .mgx-product-facts details:last-child {
  border-bottom: 0;
}

.mgx-product-transparency .mgx-product-facts summary {
  min-height: 68px;
  font-size: 18px;
}

.mgx-product-transparency .mgx-product-facts summary span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(13, 42, 61, .12);
  border-radius: 50%;
  color: var(--mgx-salmon-dark);
  transition: transform .2s ease;
}

.mgx-product-transparency .mgx-product-facts details > p {
  margin: 0 0 24px;
  color: rgba(13, 42, 61, .70);
  font-size: 15px;
  line-height: 1.75;
}

.mgx-product-transparency .mgx-product-information {
  grid-template-columns: minmax(140px, .36fr) minmax(0, 1fr);
  margin: 0 0 26px;
}

.mgx-product-transparency .mgx-product-information dt,
.mgx-product-transparency .mgx-product-information dd {
  padding-block: 15px;
}

.mgx-product-experience .mgx-product-method {
  grid-template-columns: minmax(340px, 1fr) minmax(300px, .85fr) auto;
  gap: clamp(38px, 7vw, 96px);
  padding-top: clamp(82px, 8vw, 112px);
  padding-bottom: clamp(82px, 8vw, 112px);
}

.mgx-product-experience .mgx-product-method > div > span {
  padding-top: 7px;
  font-style: italic;
}

.mgx-product-experience .mgx-product-method h2 {
  font-size: clamp(43px, 4.5vw, 65px);
  letter-spacing: -.045em;
}

.mgx-product-experience .mgx-product-method p {
  font-size: 17px;
  line-height: 1.78;
}

.mgx-product-experience .mgx-product-method > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
}

.mgx-product-experience .mgx-product-related {
  padding: clamp(82px, 8vw, 116px) 0 clamp(96px, 10vw, 138px);
}

.mgx-product-experience .mgx-product-related > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 34px;
}

.mgx-product-experience .mgx-product-related header h2 {
  margin: 10px 0 0;
  font-size: clamp(40px, 4.5vw, 62px);
  letter-spacing: -.045em;
}

.mgx-product-experience .mgx-product-related > header > a {
  padding-bottom: 7px;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.mgx-product-experience .mgx-product-related > header > a span {
  color: var(--mgx-salmon-dark);
}

.mgx-product-experience .mgx-product-related > div {
  gap: 16px;
}

.mgx-product-experience .mgx-product-related article {
  min-width: 0;
}

.mgx-product-experience .mgx-product-related article > a {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(13, 42, 61, .07);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
}

.mgx-product-experience .mgx-product-related article > a:hover {
  box-shadow: 0 24px 50px rgba(13, 42, 61, .09);
  transform: translateY(-4px);
}

.mgx-related-visual {
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: 32px;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 18%, rgba(215, 100, 77, .09), transparent 30%),
    #f1ebe6;
}

.mgx-product-experience .mgx-product-related article .mgx-related-visual img {
  width: 100%;
  height: 250px;
  padding: 0;
  border: 0;
  background: transparent;
  object-fit: contain;
  filter: drop-shadow(0 20px 22px rgba(13, 42, 61, .13));
  transition: transform .35s ease;
}

.mgx-product-experience .mgx-product-related article > a:hover .mgx-related-visual img {
  transform: scale(1.035) rotate(-.6deg);
}

.mgx-related-placeholder {
  width: 166px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  gap: 7px;
  border: 1px solid rgba(13, 42, 61, .12);
  border-radius: 50%;
  color: var(--mgx-ink);
  text-align: center;
}

.mgx-related-placeholder b {
  font-family: var(--mgx-stencil);
  font-size: 48px;
  line-height: .9;
}

.mgx-related-placeholder small {
  color: var(--mgx-salmon-dark);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mgx-related-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 16px;
  align-content: start;
  padding: 22px 22px 24px;
}

.mgx-product-experience .mgx-product-related article .mgx-related-copy > span {
  min-width: 0;
  font-family: var(--mgx-display);
  font-size: 18px;
  line-height: 1.35;
}

.mgx-product-experience .mgx-product-related article .mgx-related-copy > strong {
  font-family: var(--mgx-display);
  font-size: 16px;
  white-space: nowrap;
}

.mgx-related-copy > small {
  grid-column: 1 / -1;
  color: rgba(13, 42, 61, .54);
  font-family: var(--mgx-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mgx-related-copy > small i {
  color: var(--mgx-salmon-dark);
  font-style: normal;
}

@media (min-width: 721px) {
  body.mgx-product-page .mgx-shop > .mgx-commerce-header {
    min-height: 102px !important;
  }

  body.mgx-product-page .mgx-shop > .mgx-commerce-header .mgx-module-brand img {
    width: 70px !important;
    height: 70px !important;
    flex-basis: 70px !important;
  }

  body.mgx-product-page .mgx-shop > .mgx-commerce-header .mgx-module-brand strong {
    font-size: 24px;
  }
}

@media (max-width: 1040px) {
  .mgx-product-hero {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .mgx-product-gallery-stage {
    min-height: 620px;
  }

  .mgx-product-purchase-v2 {
    position: static;
    padding-top: 0;
  }

  .mgx-product-story-v2,
  .mgx-product-transparency {
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
    gap: 60px;
  }

  .mgx-product-experience .mgx-product-method {
    grid-template-columns: 1fr 1fr;
  }

  .mgx-product-experience .mgx-product-method > a {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  body.mgx-product-page .mgx-page-frame,
  body.mgx-product-page .mgx-standalone-commerce-shell {
    overflow: hidden;
  }

  .mgx-product-experience {
    width: calc(100% - 28px);
  }

  .mgx-product-experience .mgx-standalone-breadcrumb {
    min-height: 50px;
    flex-wrap: nowrap;
    padding: 14px 0;
    font-size: 9px;
  }

  .mgx-product-hero {
    gap: 28px;
    padding: 16px 0 64px;
  }

  .mgx-product-gallery-stage {
    min-height: 430px;
    padding: 62px 28px 54px;
    border-radius: 18px 18px 6px 18px;
  }

  .mgx-product-gallery-stage::before {
    width: 78%;
  }

  .mgx-product-gallery-stage .mgx-product-main-image {
    width: 95%;
    max-height: 330px;
  }

  .mgx-product-chapter {
    top: 18px;
    left: 18px;
    font-size: 8px;
  }

  .mgx-product-gallery-stage .mgx-product-stamp {
    top: 14px;
    right: 14px;
  }

  .mgx-product-gallery-count {
    right: 18px;
    bottom: 16px;
  }

  .mgx-product-gallery-v2 .mgx-product-thumbs {
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .mgx-product-gallery-v2 .mgx-product-thumbs::-webkit-scrollbar {
    display: none;
  }

  .mgx-product-gallery-v2 .mgx-product-thumbs button,
  .mgx-product-gallery-v2 .mgx-product-thumbs button:hover,
  .mgx-product-gallery-v2 .mgx-product-thumbs button:focus {
    width: 62px;
    height: 62px;
    min-width: 62px;
    min-height: 62px;
  }

  .mgx-product-overline {
    margin-bottom: 15px;
    font-size: 9px;
  }

  .mgx-product-overline i {
    display: none;
  }

  .mgx-product-purchase-v2 > h1 {
    font-size: clamp(39px, 12vw, 52px);
    letter-spacing: -.045em;
    line-height: 1.02;
  }

  .mgx-product-purchase-v2 .mgx-product-description {
    margin: 19px 0 22px;
    font-size: 17px;
    line-height: 1.66;
  }

  .mgx-product-commercial-line {
    gap: 12px;
    margin-bottom: 14px;
    padding: 16px 0;
  }

  .mgx-product-purchase-v2 .mgx-product-price .amount {
    font-size: 32px;
  }

  .mgx-product-purchase-v2 .mgx-product-net-quantity {
    min-width: 104px;
    padding-inline: 12px;
  }

  .mgx-product-purchase-v2 .mgx-product-order {
    padding: 17px;
    border-radius: 15px;
  }

  .mgx-product-purchase-v2 .mgx-availability {
    grid-template-columns: auto 1fr;
  }

  .mgx-product-purchase-v2 .mgx-availability small {
    display: none;
  }

  .mgx-product-purchase-v2 .mgx-product-order > form.cart {
    grid-template-columns: 1fr;
  }

  .mgx-product-purchase-v2 .mgx-product-native-form .single_variation_wrap .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }

  .mgx-product-purchase-v2 .mgx-product-quantity {
    grid-template-columns: minmax(0, 1fr) 48px 58px 48px;
  }

  .mgx-product-purchase-v2 .mgx-product-assurances {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .mgx-product-purchase-v2 .mgx-product-assurances span {
    justify-content: flex-start;
    font-size: 10px;
  }

  .mgx-product-discover {
    margin-top: 19px;
  }

  .mgx-product-story-v2,
  .mgx-product-transparency {
    grid-template-columns: 1fr;
    gap: 38px;
    margin-inline: calc(50% - 50vw);
    padding: 70px 18px;
  }

  .mgx-product-story-v2 header {
    padding-left: 38px;
  }

  .mgx-product-story-v2 h2,
  .mgx-product-transparency h2 {
    font-size: clamp(38px, 12vw, 50px);
  }

  .mgx-product-story-copy {
    font-size: 16.5px;
    line-height: 1.8;
  }

  .mgx-product-story-copy p:first-child {
    font-size: 20px;
  }

  .mgx-product-transparency {
    background: #fbf8f5;
  }

  .mgx-product-transparency .mgx-product-facts {
    padding: 4px 18px;
    border-radius: 16px;
  }

  .mgx-product-transparency .mgx-product-information {
    grid-template-columns: 1fr;
  }

  .mgx-product-transparency .mgx-product-information dt {
    padding-bottom: 2px;
  }

  .mgx-product-transparency .mgx-product-information dd {
    padding-top: 0;
  }

  .mgx-product-experience .mgx-product-method {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-inline: 18px;
  }

  .mgx-product-experience .mgx-product-method > a {
    grid-column: auto;
  }

  .mgx-product-experience .mgx-product-method h2 {
    font-size: 43px;
  }

  .mgx-product-experience .mgx-product-related {
    padding: 72px 0 88px;
  }

  .mgx-product-experience .mgx-product-related > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 26px;
  }

  .mgx-product-experience .mgx-product-related header h2 {
    font-size: 40px;
  }

  .mgx-product-experience .mgx-product-related > div {
    grid-template-columns: 1fr;
  }

  .mgx-product-experience .mgx-product-related article:last-child {
    display: block;
  }

  .mgx-product-experience .mgx-product-related article > a {
    grid-template-columns: 122px minmax(0, 1fr);
    grid-template-rows: 1fr;
    border-radius: 14px;
  }

  .mgx-related-visual {
    min-height: 142px;
    padding: 15px;
  }

  .mgx-product-experience .mgx-product-related article .mgx-related-visual img {
    height: 112px;
  }

  .mgx-related-placeholder {
    width: 88px;
  }

  .mgx-related-placeholder b {
    font-size: 30px;
  }

  .mgx-related-placeholder small {
    font-size: 7px;
  }

  .mgx-related-copy {
    align-content: center;
    padding: 18px;
  }

  .mgx-product-experience .mgx-product-related article .mgx-related-copy > span {
    font-size: 16px;
  }
}

@media (max-width: 380px) {
  .mgx-product-gallery-stage {
    min-height: 390px;
  }

  .mgx-product-commercial-line {
    align-items: flex-start;
    flex-direction: column;
  }

  .mgx-product-purchase-v2 .mgx-product-net-quantity {
    width: 100%;
    justify-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mgx-product-gallery-stage .mgx-product-main-image,
  .mgx-product-gallery-v2 .mgx-product-thumbs button,
  .mgx-product-discover span,
  .mgx-product-experience .mgx-product-related article > a,
  .mgx-product-experience .mgx-product-related article .mgx-related-visual img {
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------
   3.16.2 — Proporzioni galleria e quantità.
   Il pannello fotografico aveva 690 px di altezza ma lasciava alla foto solo
   384 × 322 px utili. Riduciamo il vuoto e allarghiamo la foto senza crop.
   I pulsanti quantità ricevono inoltre l'intera traccia della griglia: prima
   il tema li restringeva alla sola larghezza del glifo (15–23 px).
   ---------------------------------------------------------------------- */
.mgx-product-gallery-stage {
  min-height: clamp(520px, 43vw, 590px);
  padding: 50px 34px 44px;
}

.mgx-product-gallery-stage .mgx-product-main-image {
  width: min(100%, 700px);
  max-height: 530px;
}

.mgx-product-purchase-v2 > h1 {
  font-size: clamp(46px, 4.75vw, 68px);
  line-height: 1.01;
  text-wrap: balance;
}

.mgx-product-purchase-v2 .mgx-product-order > form.cart {
  grid-template-columns: minmax(230px, 248px) minmax(210px, 1fr);
}

.mgx-product-purchase-v2 .mgx-product-quantity {
  min-height: 64px;
  grid-template-columns: minmax(48px, 1fr) 56px 62px 56px;
}

.mgx-product-purchase-v2 .mgx-product-quantity > button,
.mgx-product-purchase-v2 .mgx-product-quantity > button:hover,
.mgx-product-purchase-v2 .mgx-product-quantity > button:focus {
  width: 100% !important;
  min-width: 56px;
  min-height: 64px;
  height: 64px;
  font-size: 30px !important;
  line-height: 1 !important;
}

.mgx-product-purchase-v2 .mgx-product-quantity > input[type="number"] {
  height: 64px;
  min-height: 64px;
  font-size: 23px !important;
  line-height: 64px !important;
}

.mgx-product-purchase-v2 .mgx-product-order > form.cart > button[type="submit"],
.mgx-product-purchase-v2 .mgx-product-native-link {
  min-height: 64px;
}

@media (max-width: 1040px) {
  .mgx-product-gallery-stage {
    min-height: clamp(500px, 58vw, 590px);
    padding: 52px 38px 46px;
  }

  .mgx-product-gallery-stage .mgx-product-main-image {
    width: min(92%, 660px);
    max-height: 480px;
  }
}

@media (max-width: 720px) {
  .mgx-product-gallery-stage {
    min-height: 360px;
    padding: 52px 14px 40px;
  }

  .mgx-product-gallery-stage .mgx-product-main-image {
    width: 100%;
    max-height: 290px;
  }

  .mgx-product-purchase-v2 > h1 {
    font-size: clamp(39px, 12vw, 52px);
  }

  .mgx-product-purchase-v2 .mgx-product-order > form.cart,
  .mgx-product-purchase-v2 .mgx-product-native-form .single_variation_wrap .woocommerce-variation-add-to-cart {
    grid-template-columns: 1fr;
  }

  .mgx-product-purchase-v2 .mgx-product-quantity {
    grid-template-columns: minmax(0, 1fr) 60px 64px 60px;
  }
}

@media (max-width: 380px) {
  .mgx-product-gallery-stage {
    min-height: 340px;
  }
}

/* -------------------------------------------------------------------------
   3.16.3 — Scheda prodotto senza ripetizioni.
   Le descrizioni restano quelle inserite in WooCommerce: quella breve è la
   sola visibile nell'hero, quella completa vive nel pannello "Il prodotto".
   ---------------------------------------------------------------------- */
.mgx-product-purchase-v2 .mgx-product-overline {
  justify-content: flex-start;
}

.mgx-product-hero {
  padding-bottom: 64px;
}

.mgx-product-experience .mgx-product-related {
  padding-top: 72px;
}

.mgx-product-purchase-v2 .mgx-availability {
  grid-template-columns: auto 1fr;
}

.mgx-product-purchase-v2 .mgx-product-assurances {
  grid-template-columns: repeat(2, 1fr);
}

.mgx-product-purchase-v2 .mgx-product-assurances span {
  font-size: 11px;
}

.mgx-product-copy-details {
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid rgba(13, 42, 61, .09);
  border-radius: 11px;
  background: #f3ece7;
}

.mgx-product-copy-details > summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 17px 0 22px;
  color: var(--mgx-ink);
  cursor: pointer;
  font-family: var(--mgx-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  list-style: none;
  text-transform: uppercase;
}

.mgx-product-copy-details > summary::-webkit-details-marker {
  display: none;
}

.mgx-product-copy-details > summary span {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(13, 42, 61, .13);
  border-radius: 50%;
  background: #fbf8f5;
  color: var(--mgx-ink);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  transition: transform .2s ease, background .2s ease;
}

.mgx-product-copy-details[open] > summary span {
  background: #fff;
  transform: rotate(45deg);
}

.mgx-product-copy-details > div {
  padding: 22px;
  border-top: 1px solid rgba(13, 42, 61, .08);
  color: rgba(13, 42, 61, .74);
  font-family: var(--mgx-display);
  font-size: 17px;
  line-height: 1.75;
}

.mgx-product-copy-details > div p {
  margin: 0 0 16px;
}

.mgx-product-copy-details > div p:last-child {
  margin-bottom: 0;
}

.mgx-product-method-link,
.mgx-product-details-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 12px;
  color: var(--mgx-ink);
  font-family: var(--mgx-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}

.mgx-product-method-link span,
.mgx-product-details-link span {
  color: var(--mgx-salmon-dark);
  transition: transform .2s ease;
}

.mgx-product-method-link:hover span,
.mgx-product-details-link:hover span {
  transform: translateX(4px);
}

.mgx-product-details-link {
  margin-right: 24px;
}

.mgx-product-zoom,
.mgx-product-zoom:hover,
.mgx-product-zoom:focus {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 3;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(13, 42, 61, .13) !important;
  border-radius: 50% !important;
  outline: 0;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 8px 22px rgba(13, 42, 61, .08) !important;
  color: var(--mgx-ink) !important;
  cursor: zoom-in;
  backdrop-filter: blur(8px);
}

.mgx-product-gallery-stage.has-badge .mgx-product-zoom {
  top: 76px;
}

.mgx-product-zoom svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.55;
}

.mgx-product-zoom:hover {
  background: #fff !important;
  transform: scale(1.04);
}

.mgx-product-zoom:focus-visible {
  outline: 3px solid rgba(215, 100, 77, .45);
  outline-offset: 3px;
}

body.mgx-lightbox-open {
  overflow: hidden !important;
}

.mgx-product-lightbox[hidden] {
  display: none !important;
}

.mgx-product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 72px;
  background: rgba(7, 24, 35, .88);
  opacity: 0;
  transition: opacity .18s ease;
  backdrop-filter: blur(12px);
}

.mgx-product-lightbox.is-open {
  opacity: 1;
}

.mgx-product-lightbox > img {
  width: auto;
  height: auto;
  max-width: min(1120px, calc(100vw - 144px));
  max-height: calc(100vh - 144px);
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #f2ece7;
  box-shadow: 0 34px 90px rgba(0, 0, 0, .34);
  object-fit: contain;
}

.mgx-product-lightbox > button,
.mgx-product-lightbox > button:hover,
.mgx-product-lightbox > button:focus {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  position: fixed;
  top: 22px;
  right: 22px;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  border-radius: 50% !important;
  background: rgba(13, 42, 61, .78) !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer;
  font-family: var(--mgx-sans);
  font-size: 29px !important;
  font-weight: 300;
  line-height: 1 !important;
}

.mgx-product-lightbox > button:focus-visible {
  outline: 3px solid #f18e7a;
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .mgx-product-hero {
    padding-bottom: 48px;
  }

  .mgx-product-experience .mgx-product-related {
    padding-top: 58px;
  }

  .mgx-product-purchase-v2 .mgx-product-assurances {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mgx-product-purchase-v2 .mgx-product-assurances span {
    justify-content: flex-start;
    font-size: 10px;
  }

  .mgx-product-copy-details {
    margin-top: 18px;
  }

  .mgx-product-copy-details > div {
    padding: 18px;
    font-size: 16px;
  }

  .mgx-product-method-link,
  .mgx-product-details-link {
    display: flex;
    width: max-content;
    margin-top: 8px;
    margin-right: 0;
  }

  .mgx-product-zoom,
  .mgx-product-zoom:hover,
  .mgx-product-zoom:focus {
    top: 14px;
    right: 14px;
  }

  .mgx-product-gallery-stage.has-badge .mgx-product-zoom {
    top: 62px;
  }

  .mgx-product-lightbox {
    padding: 62px 14px 20px;
  }

  .mgx-product-lightbox > img {
    max-width: calc(100vw - 28px);
    max-height: calc(100vh - 82px);
    border-radius: 10px;
  }

  .mgx-product-lightbox > button,
  .mgx-product-lightbox > button:hover,
  .mgx-product-lightbox > button:focus {
    top: 10px;
    right: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mgx-product-copy-details > summary span,
  .mgx-product-method-link span,
  .mgx-product-details-link span,
  .mgx-product-lightbox {
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------
   3.16.4 — Home editoriale: fotografie di bottega integrate nel racconto.
   Tutti i selettori sono isolati dentro .mgx-home-v4 per non modificare
   Bottega, Prodotto, Carrello, Pagamento o template email.
   ---------------------------------------------------------------------- */
.mgx-home-v4 {
  --mgx-home-paper: #fbf7f2;
  --mgx-home-warm: #e7ddd3;
  --mgx-home-ink: #0d2a3d;
  --mgx-home-coral: #d7644d;
  --mgx-home-line: rgba(13, 42, 61, .16);
  background: var(--mgx-home-paper);
}

.mgx-home-v4 .mgx-home-main {
  padding: 0 0 112px;
  background-color: var(--mgx-home-paper);
  background-image: linear-gradient(rgba(251, 247, 242, .86), rgba(251, 247, 242, .86)), url("trama.png");
}

.mgx-home-v4 h1,
.mgx-home-v4 h2,
.mgx-home-v4 h3,
.mgx-home-v4 p,
.mgx-home-v4 figure,
.mgx-home-v4 ol {
  margin-top: 0;
}

.mgx-home-v4 h1,
.mgx-home-v4 h2 {
  margin-bottom: 0;
  color: var(--mgx-home-ink);
  font-family: var(--mgx-stencil);
  font-weight: 700;
  letter-spacing: -.038em;
  line-height: .94;
  text-transform: uppercase;
}

.mgx-home-v4 h1 em,
.mgx-home-v4 h2 em {
  color: var(--mgx-home-coral);
  font-style: normal;
}

.mgx-home-v4-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: var(--mgx-home-coral);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.mgx-home-v4-kicker::before {
  width: 34px;
  height: 1px;
  flex: 0 0 auto;
  background: currentColor;
  content: "";
}

.mgx-home-v4-button,
.mgx-home-v4-button:hover,
.mgx-home-v4-button:focus {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 0 24px;
  border: 1px solid var(--mgx-home-ink);
  border-radius: 0;
  background: var(--mgx-home-ink);
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.3;
  text-transform: uppercase;
}

.mgx-home-v4-button span {
  font-size: 19px;
  line-height: 1;
  transition: transform .2s ease;
}

.mgx-home-v4-button:hover span,
.mgx-home-v4-button:focus span {
  transform: translateX(4px);
}

.mgx-home-v4-text-link,
.mgx-home-v4-text-link:hover,
.mgx-home-v4-text-link:focus {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px solid currentColor;
  color: var(--mgx-home-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.mgx-home-v4 a:focus-visible,
.mgx-home-v4 summary:focus-visible {
  outline: 3px solid var(--mgx-home-coral);
  outline-offset: 4px;
}

/* Hero */
.mgx-home-v4-hero {
  width: min(1380px, calc(100% - 64px));
  min-height: 700px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 auto;
  background: #e6ddd5;
}

.mgx-home-v4-hero__media {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
}

.mgx-home-v4-hero__media img {
  width: 122%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}

.mgx-home-v4-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(251, 247, 242, .99) 0%, rgba(251, 247, 242, .96) 30%, rgba(251, 247, 242, .64) 45%, rgba(251, 247, 242, 0) 68%);
  content: "";
  pointer-events: none;
}

.mgx-home-v4-hero__copy {
  width: min(610px, 52%);
  min-height: 700px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 68px clamp(36px, 5.7vw, 88px) 52px;
}

.mgx-home-v4-hero h1 {
  max-width: 640px;
  font-size: clamp(58px, 5.7vw, 92px);
}

.mgx-home-v4-hero__lead {
  max-width: 490px;
  margin: 28px 0 0;
  color: rgba(13, 42, 61, .76);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.65;
}

.mgx-home-v4-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 30px;
}

.mgx-home-v4-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 46px;
  border-top: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-proof > div {
  min-width: 0;
  padding: 19px 18px 0 0;
}

.mgx-home-v4-proof > div + div {
  padding-left: 18px;
  border-left: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-proof strong,
.mgx-home-v4-proof span {
  display: block;
}

.mgx-home-v4-proof strong {
  color: var(--mgx-home-coral);
  font-family: var(--mgx-display);
  font-size: clamp(22px, 2.1vw, 31px);
  line-height: 1;
}

.mgx-home-v4-proof span {
  margin-top: 8px;
  color: rgba(13, 42, 61, .64);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.mgx-home-v4-hero__caption {
  position: absolute;
  right: 30px;
  bottom: 28px;
  margin: 0;
  padding: 12px 15px;
  border-left: 2px solid var(--mgx-home-coral);
  background: rgba(251, 247, 242, .86);
  backdrop-filter: blur(5px);
  color: var(--mgx-home-ink);
}

.mgx-home-v4-hero__caption strong,
.mgx-home-v4-hero__caption span {
  display: block;
}

.mgx-home-v4-hero__caption strong {
  font-family: var(--mgx-display);
  font-size: 14px;
}

.mgx-home-v4-hero__caption span {
  margin-top: 4px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Scelta prodotto */
.mgx-home-v4-occasion {
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
  padding: 116px 0 124px;
}

.mgx-home-v4-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  align-items: end;
  gap: 80px;
  margin-bottom: 50px;
}

.mgx-home-v4-section-heading h2 {
  font-size: clamp(47px, 5.5vw, 76px);
}

.mgx-home-v4-section-heading > p {
  max-width: 380px;
  margin: 0 0 8px;
  color: rgba(13, 42, 61, .68);
  font-size: 17px;
  line-height: 1.65;
}

.mgx-home-v4-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--mgx-home-line);
  border-left: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-product {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--mgx-home-line);
  border-bottom: 1px solid var(--mgx-home-line);
  background: rgba(255, 255, 255, .44);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.mgx-home-v4-product:hover,
.mgx-home-v4-product:focus-within {
  z-index: 1;
  background: #fff;
  box-shadow: 0 20px 50px rgba(13, 42, 61, .1);
  transform: translateY(-5px);
}

.mgx-home-v4-product__media {
  aspect-ratio: 1.22;
  overflow: hidden;
  background: #e5ddd4;
}

.mgx-home-v4-product__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease;
}

.mgx-home-v4-product:nth-child(n+2) .mgx-home-v4-product__media {
  background: #efe9e2;
}

.mgx-home-v4-product:nth-child(n+2) .mgx-home-v4-product__media img {
  object-fit: contain;
  padding: 24px;
}

.mgx-home-v4-product:hover .mgx-home-v4-product__media img,
.mgx-home-v4-product:focus .mgx-home-v4-product__media img {
  transform: scale(1.025);
}

.mgx-home-v4-product__body {
  min-height: 295px;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 30px 30px;
}

.mgx-home-v4-product__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.mgx-home-v4-product__meta span {
  color: var(--mgx-home-coral);
  font-family: var(--mgx-display);
  font-size: 15px;
  font-style: italic;
}

.mgx-home-v4-product__meta small {
  color: rgba(13, 42, 61, .58);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.mgx-home-v4-product h3 {
  margin: 22px 0 11px;
  color: var(--mgx-home-ink);
  font-family: var(--mgx-display);
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.12;
}

.mgx-home-v4-product__body > p {
  margin-bottom: 26px;
  color: rgba(13, 42, 61, .66);
  font-size: 14px;
  line-height: 1.6;
}

.mgx-home-v4-product__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 21px;
  border-top: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-product__footer > strong,
.mgx-home-v4-product__footer > strong .amount {
  color: var(--mgx-home-ink);
  font-family: var(--mgx-display);
  font-size: 21px;
  white-space: nowrap;
}

.mgx-home-v4-product__footer > span {
  color: var(--mgx-home-coral);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  text-align: right;
  text-transform: uppercase;
}

.mgx-home-v4-product__footer i {
  margin-left: 3px;
  font-style: normal;
  font-size: 15px;
}

/* Storia */
.mgx-home-v4-story {
  width: min(1380px, calc(100% - 64px));
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(430px, .82fr);
  margin: 0 auto;
  overflow: hidden;
  background: var(--mgx-home-warm);
}

.mgx-home-v4-story__media {
  min-width: 0;
  min-height: 650px;
  overflow: hidden;
}

.mgx-home-v4-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.mgx-home-v4-story__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: -145px;
  padding: 72px 72px 68px 180px;
  background: linear-gradient(90deg, rgba(231, 221, 211, 0) 0%, rgba(231, 221, 211, .94) 19%, var(--mgx-home-warm) 36%);
}

.mgx-home-v4-story h2 {
  font-size: clamp(51px, 5vw, 74px);
}

.mgx-home-v4-story__copy > p:not(.mgx-home-v4-kicker) {
  max-width: 500px;
  margin: 27px 0 0;
  color: rgba(13, 42, 61, .72);
  font-size: 16px;
  line-height: 1.72;
}

.mgx-home-v4-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 34px 0 22px;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(13, 42, 61, .24);
}

.mgx-home-v4-timeline li {
  padding: 18px 13px 0 0;
}

.mgx-home-v4-timeline li + li {
  padding-left: 13px;
  border-left: 1px solid rgba(13, 42, 61, .18);
}

.mgx-home-v4-timeline span,
.mgx-home-v4-timeline strong {
  display: block;
}

.mgx-home-v4-timeline span {
  color: var(--mgx-home-coral);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mgx-home-v4-timeline strong {
  margin-top: 7px;
  font-family: var(--mgx-display);
  font-size: 13px;
  line-height: 1.35;
}

.mgx-home-v4-story .mgx-home-v4-text-link {
  align-self: flex-start;
}

/* Metodo */
.mgx-home-v4-method {
  width: min(1380px, calc(100% - 64px));
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  grid-template-areas: "heading photos" "steps photos";
  gap: 50px 74px;
  margin: 0 auto;
  padding: 112px clamp(40px, 6vw, 86px);
  overflow: hidden;
  background: var(--mgx-home-ink);
  color: #fff;
}

.mgx-home-v4-method__heading {
  grid-area: heading;
}

.mgx-home-v4-method .mgx-home-v4-kicker {
  color: #eb7a64;
}

.mgx-home-v4-method h2 {
  color: #fff;
  font-size: clamp(50px, 5vw, 75px);
}

.mgx-home-v4-method__heading > p:last-child {
  margin: 25px 0 0;
  color: rgba(255, 255, 255, .68);
  font-size: 16px;
  line-height: 1.6;
}

.mgx-home-v4-method__photos {
  min-width: 0;
  min-height: 580px;
  position: relative;
  grid-area: photos;
  align-self: center;
  padding: 0 0 70px 45px;
}

.mgx-home-v4-method figure {
  margin: 0;
}

.mgx-home-v4-method__main-photo {
  width: 89%;
  margin-left: auto !important;
}

.mgx-home-v4-method__main-photo img {
  width: 100%;
  aspect-ratio: 1.14;
  object-fit: cover;
  object-position: center;
}

.mgx-home-v4-method__marinade {
  width: 44%;
  position: absolute;
  left: 0;
  bottom: 0;
  border: 10px solid var(--mgx-home-ink);
  background: var(--mgx-home-ink);
}

.mgx-home-v4-method__marinade img {
  width: 100%;
  aspect-ratio: 1.08;
  object-fit: cover;
}

.mgx-home-v4-method figcaption {
  margin-top: 11px;
  color: rgba(255, 255, 255, .74);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-home-v4-method__steps {
  grid-area: steps;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

.mgx-home-v4-method__steps li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 15px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.mgx-home-v4-method__steps > li > span {
  color: #eb7a64;
  font-family: var(--mgx-display);
  font-size: 14px;
  font-style: italic;
}

.mgx-home-v4-method__steps h3 {
  margin: 0;
  color: #fff;
  font-family: var(--mgx-display);
  font-size: 16px;
  line-height: 1.25;
}

.mgx-home-v4-method__steps p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, .58);
  font-size: 12px;
  line-height: 1.5;
}

/* Ricette */
.mgx-home-v4-recipes {
  width: min(1120px, calc(100% - 64px));
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 35px 100px;
  margin: 0 auto;
  padding: 120px 0;
}

.mgx-home-v4-recipes header {
  grid-row: span 2;
}

.mgx-home-v4-recipes h2 {
  font-size: clamp(48px, 5.3vw, 73px);
}

.mgx-home-v4-recipes ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-recipes li {
  border-bottom: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-recipes li a {
  min-height: 116px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 20px;
  padding: 18px 2px;
}

.mgx-home-v4-recipes li > a > span {
  color: var(--mgx-home-coral);
  font-family: var(--mgx-display);
  font-size: 15px;
  font-style: italic;
}

.mgx-home-v4-recipes li small,
.mgx-home-v4-recipes li strong {
  display: block;
}

.mgx-home-v4-recipes li small {
  margin-bottom: 7px;
  color: rgba(13, 42, 61, .54);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.mgx-home-v4-recipes li strong {
  color: var(--mgx-home-ink);
  font-family: var(--mgx-display);
  font-size: clamp(17px, 1.8vw, 23px);
  line-height: 1.35;
}

.mgx-home-v4-recipes li i {
  color: var(--mgx-home-coral);
  font-style: normal;
  font-size: 22px;
  transition: transform .2s ease;
}

.mgx-home-v4-recipes li a:hover i,
.mgx-home-v4-recipes li a:focus i {
  transform: translateX(4px);
}

.mgx-home-v4-recipes .mgx-home-v4-button--outline {
  width: fit-content;
  align-self: start;
  border-color: var(--mgx-home-ink);
  background: transparent;
  color: var(--mgx-home-ink) !important;
}

/* FAQ */
.mgx-home-v4-faq {
  width: min(1120px, calc(100% - 64px));
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: 90px;
  margin: 0 auto;
  padding: 95px 0 30px;
  border-top: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-faq h2 {
  font-size: clamp(43px, 4.8vw, 65px);
}

.mgx-home-v4-faq__list {
  border-top: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-faq details {
  border-bottom: 1px solid var(--mgx-home-line);
}

.mgx-home-v4-faq summary {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 2px;
  cursor: pointer;
  color: var(--mgx-home-ink);
  font-family: var(--mgx-display);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
}

.mgx-home-v4-faq summary::-webkit-details-marker {
  display: none;
}

.mgx-home-v4-faq summary span {
  color: var(--mgx-home-coral);
  font-family: var(--mgx-sans);
  font-size: 24px;
  font-weight: 400;
  transition: transform .2s ease;
}

.mgx-home-v4-faq details[open] summary span {
  transform: rotate(45deg);
}

.mgx-home-v4-faq details p {
  max-width: 570px;
  margin: -4px 38px 24px 2px;
  color: rgba(13, 42, 61, .68);
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 1120px) {
  .mgx-home-v4-hero,
  .mgx-home-v4-story,
  .mgx-home-v4-method {
    width: calc(100% - 40px);
  }

  .mgx-home-v4-hero__media img {
    width: 128%;
  }

  .mgx-home-v4-hero__copy {
    width: 57%;
    padding-left: 50px;
    padding-right: 25px;
  }

  .mgx-home-v4-story {
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  }

  .mgx-home-v4-story__copy {
    padding-right: 44px;
  }

  .mgx-home-v4-method {
    gap: 42px;
    padding-right: 44px;
    padding-left: 44px;
  }
}

@media (max-width: 860px) {
  .mgx-home-v4 .mgx-home-main {
    padding-bottom: 82px;
  }

  .mgx-home-v4-hero {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .mgx-home-v4-hero::after {
    display: none;
  }

  .mgx-home-v4-hero__media {
    height: clamp(440px, 72vw, 610px);
    position: relative;
    z-index: 0;
    order: 2;
  }

  .mgx-home-v4-hero__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(251, 247, 242, .15), rgba(13, 42, 61, .08));
    content: "";
  }

  .mgx-home-v4-hero__media img {
    width: 100%;
    height: 100%;
    object-position: center top;
  }

  .mgx-home-v4-hero__copy {
    width: 100%;
    min-height: 0;
    order: 1;
    padding: 64px 48px 48px;
    background: var(--mgx-home-paper);
  }

  .mgx-home-v4-hero h1 {
    max-width: 720px;
    font-size: clamp(52px, 10.7vw, 82px);
  }

  .mgx-home-v4-proof {
    max-width: 660px;
  }

  .mgx-home-v4-hero__caption {
    z-index: 2;
    right: 18px;
    bottom: 18px;
  }

  .mgx-home-v4-occasion {
    width: calc(100% - 40px);
    padding: 88px 0 94px;
  }

  .mgx-home-v4-section-heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .mgx-home-v4-products {
    grid-template-columns: 1fr;
  }

  .mgx-home-v4-product {
    display: grid;
    grid-template-columns: minmax(230px, .9fr) minmax(0, 1.1fr);
  }

  .mgx-home-v4-product__media {
    height: 100%;
    min-height: 330px;
    aspect-ratio: auto;
  }

  .mgx-home-v4-product__body {
    min-height: 330px;
  }

  .mgx-home-v4-story {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .mgx-home-v4-story__media {
    height: clamp(390px, 65vw, 520px);
    min-height: 0;
  }

  .mgx-home-v4-story__media img {
    height: 100%;
  }

  .mgx-home-v4-story__copy {
    margin-left: 0;
    padding: 62px 52px 68px;
    background: var(--mgx-home-warm);
  }

  .mgx-home-v4-method {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "photos" "steps";
    padding: 82px 48px;
  }

  .mgx-home-v4-method__heading {
    max-width: 650px;
  }

  .mgx-home-v4-method__photos {
    width: min(720px, 100%);
    justify-self: center;
  }

  .mgx-home-v4-method__steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mgx-home-v4-method__steps li:nth-child(odd) {
    padding-right: 26px;
    border-right: 1px solid rgba(255, 255, 255, .16);
  }

  .mgx-home-v4-method__steps li:nth-child(even) {
    padding-left: 26px;
  }

  .mgx-home-v4-recipes,
  .mgx-home-v4-faq {
    width: calc(100% - 64px);
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .mgx-home-v4-recipes header {
    grid-row: auto;
  }
}

@media (max-width: 620px) {
  .mgx-home-v4 .mgx-home-main {
    padding-bottom: 60px;
  }

  .mgx-home-v4-hero,
  .mgx-home-v4-story,
  .mgx-home-v4-method,
  .mgx-home-v4-occasion,
  .mgx-home-v4-recipes,
  .mgx-home-v4-faq {
    width: 100%;
  }

  .mgx-home-v4-hero__copy {
    padding: 52px 22px 42px;
  }

  .mgx-home-v4-hero h1 {
    font-size: clamp(45px, 13.2vw, 64px);
    line-height: .97;
  }

  .mgx-home-v4-hero__lead {
    margin-top: 23px;
    font-size: 16px;
  }

  .mgx-home-v4-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 11px;
    margin-top: 25px;
  }

  .mgx-home-v4-button {
    width: 100%;
  }

  .mgx-home-v4-text-link {
    align-self: flex-start;
  }

  .mgx-home-v4-proof {
    margin-top: 35px;
  }

  .mgx-home-v4-proof > div {
    padding-right: 9px;
  }

  .mgx-home-v4-proof > div + div {
    padding-left: 9px;
  }

  .mgx-home-v4-proof strong {
    font-size: 21px;
  }

  .mgx-home-v4-proof span {
    font-size: 7.5px;
    letter-spacing: .045em;
  }

  .mgx-home-v4-hero__media {
    height: 445px;
  }

  .mgx-home-v4-hero__media img {
    object-position: 51% top;
  }

  .mgx-home-v4-hero__caption {
    right: 12px;
    bottom: 12px;
  }

  .mgx-home-v4-occasion {
    padding: 78px 18px 86px;
  }

  .mgx-home-v4-section-heading {
    margin-bottom: 35px;
  }

  .mgx-home-v4-section-heading h2,
  .mgx-home-v4-story h2,
  .mgx-home-v4-method h2,
  .mgx-home-v4-recipes h2,
  .mgx-home-v4-faq h2 {
    font-size: clamp(42px, 12vw, 57px);
  }

  .mgx-home-v4-product {
    display: flex;
  }

  .mgx-home-v4-product__media {
    min-height: 0;
    aspect-ratio: 1.18;
  }

  .mgx-home-v4-product__body {
    min-height: 285px;
    padding: 25px 23px 27px;
  }

  .mgx-home-v4-product__footer {
    align-items: center;
  }

  .mgx-home-v4-story__media {
    height: 390px;
  }

  .mgx-home-v4-story__media img {
    object-position: center;
  }

  .mgx-home-v4-story__copy {
    padding: 55px 22px 60px;
  }

  .mgx-home-v4-timeline {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }

  .mgx-home-v4-timeline li,
  .mgx-home-v4-timeline li + li {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-left: 0;
    border-bottom: 1px solid rgba(13, 42, 61, .15);
  }

  .mgx-home-v4-timeline strong {
    margin: 0;
  }

  .mgx-home-v4-method {
    gap: 38px;
    padding: 72px 18px;
  }

  .mgx-home-v4-method__photos {
    min-height: 0;
    display: grid;
    gap: 20px;
    padding: 0;
  }

  .mgx-home-v4-method__main-photo,
  .mgx-home-v4-method__marinade {
    width: 100%;
    position: static;
    border: 0;
  }

  .mgx-home-v4-method__main-photo img,
  .mgx-home-v4-method__marinade img {
    aspect-ratio: 1.22;
  }

  .mgx-home-v4-method__steps {
    grid-template-columns: 1fr;
  }

  .mgx-home-v4-method__steps li:nth-child(odd),
  .mgx-home-v4-method__steps li:nth-child(even) {
    padding: 18px 0;
    border-right: 0;
  }

  .mgx-home-v4-recipes {
    padding: 82px 18px;
  }

  .mgx-home-v4-recipes li a {
    min-height: 106px;
    grid-template-columns: 32px minmax(0, 1fr) 20px;
    gap: 13px;
  }

  .mgx-home-v4-recipes li strong {
    font-size: 17px;
  }

  .mgx-home-v4-faq {
    gap: 38px;
    padding: 72px 18px 12px;
  }

  .mgx-home-v4-faq summary {
    min-height: 72px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mgx-home-v4-button span,
  .mgx-home-v4-product,
  .mgx-home-v4-product__media img,
  .mgx-home-v4-recipes li i,
  .mgx-home-v4-faq summary span {
    transition: none !important;
  }
}

/* -------------------------------------------------------------------------
   3.16.5 — Il blocco Metodo replica la composizione del render approvato:
   immagine principale orizzontale e card Marinatura sovrapposta a destra.
   ---------------------------------------------------------------------- */
.mgx-home-v4-method {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "heading" "photos" "steps";
  gap: 0;
  margin: 0;
  padding: 78px max(48px, calc((100vw - 1344px) / 2)) 84px;
}

.mgx-home-v4-method__heading {
  display: grid;
  grid-template-columns: minmax(0, 2.52fr) minmax(300px, 1fr);
  grid-template-rows: auto auto;
  grid-area: heading;
  align-items: end;
  gap: 0 70px;
  margin-bottom: 30px;
}

.mgx-home-v4-method__heading .mgx-home-v4-kicker {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 27px;
}

.mgx-home-v4-method__heading h2 {
  max-width: 940px;
  grid-column: 1;
  grid-row: 2;
  font-size: clamp(58px, 5.75vw, 82px);
  line-height: .9;
}

.mgx-home-v4-method__heading > p:last-child {
  max-width: 360px;
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin: 83px 0 0;
  font-size: 17px;
}

.mgx-home-v4-method__photos {
  width: 100%;
  height: 430px;
  min-height: 0;
  position: relative;
  display: block;
  grid-area: photos;
  align-self: auto;
  margin: 0 0 54px;
  padding: 0;
}

.mgx-home-v4-method__main-photo {
  width: 70%;
  height: 430px;
  position: relative;
  overflow: hidden;
  margin: 0 !important;
}

.mgx-home-v4-method__main-photo::after {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 110px;
  background: linear-gradient(180deg, rgba(13, 42, 61, 0), rgba(13, 42, 61, .76));
  content: "";
  pointer-events: none;
}

.mgx-home-v4-method__main-photo img,
.mgx-home-v4-method__marinade img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

.mgx-home-v4-method__main-photo img {
  object-position: 48% 50%;
}

.mgx-home-v4-method__marinade {
  width: 30.5%;
  height: 330px;
  position: absolute;
  z-index: 3;
  top: 52px;
  right: 3.87%;
  bottom: auto;
  left: auto;
  overflow: hidden;
  border: 8px solid var(--mgx-home-warm);
  border-radius: 30px;
  background: var(--mgx-home-warm);
  box-shadow: 0 13px 28px rgba(0, 0, 0, .18);
}

.mgx-home-v4-method__marinade img {
  object-position: 57% 48%;
}

.mgx-home-v4-method figcaption {
  position: absolute;
  z-index: 2;
  margin: 0;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.mgx-home-v4-method__main-photo figcaption {
  bottom: 18px;
  left: 20px;
  min-width: 174px;
  padding: 12px 14px;
  background: #173647;
}

.mgx-home-v4-method__marinade figcaption {
  bottom: 14px;
  left: 31px;
  min-width: 145px;
  padding: 12px 24px;
  border-radius: 999px;
  background: var(--mgx-home-coral);
  text-align: center;
}

.mgx-home-v4-method__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-area: steps;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

.mgx-home-v4-method__steps li,
.mgx-home-v4-method__steps li:nth-child(odd),
.mgx-home-v4-method__steps li:nth-child(even) {
  min-height: 167px;
  display: block;
  padding: 25px 22px 20px;
  border-right: 1px solid rgba(255, 255, 255, .2);
  border-bottom: 0;
}

.mgx-home-v4-method__steps li:first-child {
  padding-left: 0;
}

.mgx-home-v4-method__steps li:last-child {
  padding-right: 0;
  border-right: 0;
}

.mgx-home-v4-method__steps > li > span {
  display: block;
  margin-bottom: 14px;
  font-size: 16px;
}

.mgx-home-v4-method__steps h3 {
  font-size: clamp(19px, 1.7vw, 24px);
  line-height: 1.25;
}

.mgx-home-v4-method__steps p {
  margin-top: 18px;
  font-size: 13px;
}

@media (max-width: 1120px) {
  .mgx-home-v4-method {
    width: 100%;
    gap: 0;
    padding: 72px 32px 78px;
  }

  .mgx-home-v4-method__heading {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0;
    margin-bottom: 38px;
  }

  .mgx-home-v4-method__heading .mgx-home-v4-kicker,
  .mgx-home-v4-method__heading h2,
  .mgx-home-v4-method__heading > p:last-child {
    grid-column: 1;
  }

  .mgx-home-v4-method__heading .mgx-home-v4-kicker {
    grid-row: 1;
  }

  .mgx-home-v4-method__heading h2 {
    grid-row: 2;
  }

  .mgx-home-v4-method__heading > p:last-child {
    grid-row: 3;
    margin-top: 24px;
  }

  .mgx-home-v4-method__heading h2 {
    font-size: clamp(56px, 6.6vw, 73px);
  }

  .mgx-home-v4-method__photos {
    height: 390px;
  }

  .mgx-home-v4-method__main-photo {
    width: 72%;
    height: 390px;
  }

  .mgx-home-v4-method__marinade {
    width: 34%;
    height: 300px;
    top: 45px;
    right: 0;
  }

  .mgx-home-v4-method__steps h3 {
    font-size: 19px;
  }
}

@media (max-width: 860px) {
  .mgx-home-v4-method {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "photos" "steps";
    gap: 0;
    padding: 72px 28px;
  }

  .mgx-home-v4-method__heading {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    margin-bottom: 38px;
  }

  .mgx-home-v4-method__heading .mgx-home-v4-kicker,
  .mgx-home-v4-method__heading h2,
  .mgx-home-v4-method__heading > p:last-child {
    grid-column: 1;
  }

  .mgx-home-v4-method__heading .mgx-home-v4-kicker {
    grid-row: 1;
  }

  .mgx-home-v4-method__heading h2 {
    grid-row: 2;
  }

  .mgx-home-v4-method__heading > p:last-child {
    grid-row: 3;
    margin-top: 24px;
  }

  .mgx-home-v4-method__photos {
    width: 100%;
    height: 380px;
    display: block;
    margin-bottom: 45px;
    padding: 0;
  }

  .mgx-home-v4-method__main-photo {
    width: 76%;
    height: 380px;
  }

  .mgx-home-v4-method__marinade {
    width: 40%;
    height: 270px;
    position: absolute;
    top: 55px;
    right: 0;
  }

  .mgx-home-v4-method__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mgx-home-v4-method__steps li,
  .mgx-home-v4-method__steps li:nth-child(odd),
  .mgx-home-v4-method__steps li:nth-child(even) {
    min-height: 150px;
    padding: 24px 22px;
    border-right: 1px solid rgba(255, 255, 255, .2);
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }

  .mgx-home-v4-method__steps li:nth-child(odd) {
    padding-left: 0;
  }

  .mgx-home-v4-method__steps li:nth-child(even) {
    border-right: 0;
  }

  .mgx-home-v4-method__steps li:nth-last-child(-n+2) {
    border-bottom: 0;
  }
}

@media (max-width: 620px) {
  .mgx-home-v4-method {
    gap: 0;
    padding: 64px 18px;
  }

  .mgx-home-v4-method__heading {
    display: block;
    margin-bottom: 32px;
  }

  .mgx-home-v4-method__heading > p:last-child {
    margin: 22px 0 0;
  }

  .mgx-home-v4-method__photos {
    height: auto;
    display: grid;
    gap: 16px;
    margin-bottom: 38px;
  }

  .mgx-home-v4-method__main-photo,
  .mgx-home-v4-method__marinade {
    width: 100%;
    height: auto;
    position: relative;
    inset: auto;
  }

  .mgx-home-v4-method__main-photo img,
  .mgx-home-v4-method__marinade img {
    height: auto;
    aspect-ratio: 1.22;
  }

  .mgx-home-v4-method__marinade {
    border-width: 7px;
    border-radius: 24px;
  }

  .mgx-home-v4-method__main-photo figcaption {
    bottom: 14px;
    left: 14px;
    min-width: 154px;
  }

  .mgx-home-v4-method__marinade figcaption {
    bottom: 14px;
    left: 22px;
    min-width: 134px;
  }

  .mgx-home-v4-method__steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .mgx-home-v4-method__steps li,
  .mgx-home-v4-method__steps li:nth-child(odd),
  .mgx-home-v4-method__steps li:nth-child(even) {
    min-height: 0;
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }

  .mgx-home-v4-method__steps li:last-child {
    border-bottom: 0;
  }

  .mgx-home-v4-method__steps p {
    margin-top: 9px;
  }
}
