/*
 * Mastro Giuliano 3.19.2 — ritmo e leggibilità condivisi.
 * Ultimo livello, circoscritto ai componenti del plugin. I selettori !important
 * neutralizzano soltanto le vecchie regole del plugin con la stessa priorità.
 * Catalogo, configuratore e interfacce dei gateway conservano i propri stili.
 */
.mgx-shop,
.mgx-recipes {
  --mgx-experience-gutter: clamp(16px, 3vw, 44px);
  --mgx-experience-space: clamp(52px, 6.5vw, 88px);
  --mgx-experience-border: rgba(11, 43, 61, .14);
  --mgx-experience-muted: #526570;
}

/* Navigazione: marchio leggibile, azioni ferme, bersagli utilizzabili al tocco. */
.mgx-shop > .mgx-commerce-header,
body.mgx-product-page .mgx-shop > .mgx-commerce-header {
  width: min(1360px, calc(100% - 2 * var(--mgx-experience-gutter))) !important;
  min-height: 96px !important;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--mgx-experience-border);
}
.mgx-module-header .mgx-module-brand { min-width: 0; }
.mgx-module-header .mgx-module-brand strong { line-height: 1.2; }
.mgx-module-header .mgx-module-brand small { line-height: 1.55; }
.mgx-module-header nav a { font-size: 12px; letter-spacing: .025em; }
.mgx-module-header nav a[aria-current="page"] { color: var(--mgx-ink); }
.mgx-module-header .mgx-module-help,
.mgx-module-header .mgx-module-cart { font-size: 11px; line-height: 1.4; }
.mgx-module-header .mgx-module-help:hover { transform: none; }
.mgx-module-header :is(a, button):focus-visible {
  outline: 3px solid #b74e3a !important;
  outline-offset: 4px;
}
.mgx-module-header nav a:focus-visible::after { width: 100%; }
.mgx-module-header .mgx-module-menu-toggle { touch-action: manipulation; }

/* Tipografia e ritmo editoriale, mantenendo i caratteri del marchio. */
.mgx-home-brochure .mgx-home-v4-section-heading,
.mgx-home-brochure .mgx-home-care > header {
  margin-bottom: clamp(26px, 3vw, 42px);
}
.mgx-home-brochure :is(.mgx-home-creations, .mgx-home-care, .mgx-home-v4-faq) {
  padding-block: var(--mgx-experience-space);
}
.mgx-home-brochure .mgx-home-creation-grid { gap: 24px; align-items: stretch; }
.mgx-home-brochure .mgx-home-creation-card {
  background: #fffdf9;
  border: 1px solid var(--mgx-experience-border);
  box-shadow: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.mgx-home-brochure .mgx-home-creation-card:hover {
  transform: none;
  border-color: rgba(11, 43, 61, .3);
  box-shadow: 0 10px 28px rgba(11, 43, 61, .055);
}
.mgx-home-brochure .mgx-home-creation-card__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.mgx-home-brochure .mgx-home-creation-card__copy > :is(h3, p) { margin: 0; }
.mgx-home-brochure .mgx-home-creation-card__copy > strong {
  margin-top: auto;
  padding-top: 10px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
}
.mgx-home-brochure .mgx-home-v4-story {
  margin-block: 20px var(--mgx-experience-space);
  box-shadow: none;
}
.mgx-home-brochure .mgx-home-v4-story__copy > p:not(.mgx-home-v4-kicker) {
  max-width: 43ch;
  line-height: 1.8;
}
.mgx-home-brochure .mgx-home-care > div {
  gap: clamp(22px, 3vw, 42px);
  padding: clamp(24px, 3.5vw, 44px);
  border: 1px solid var(--mgx-experience-border);
  background: #fffdf9;
}
.mgx-home-brochure .mgx-home-care article { min-width: 0; }
.mgx-home-brochure .mgx-home-care article p { font-size: 15px; line-height: 1.75; }
.mgx-home-brochure .mgx-home-v4-faq__list summary,
.mgx-faq__list summary { min-height: 60px; line-height: 1.55; }
.mgx-home-brochure .mgx-home-v4-faq__list details[open],
.mgx-faq__list details[open] { background: #fffdf9; }
.mgx-home-brochure .mgx-home-v4-faq__list details p,
.mgx-faq__list details p { font-size: 15px; line-height: 1.8; }

/* Prodotto: fotografia intera e acquisto leggibile, anche con nomi lunghi. */
.mgx-product-experience { width: min(1360px, calc(100% - 2 * var(--mgx-experience-gutter))); }
.mgx-product-experience .mgx-standalone-breadcrumb {
  flex-wrap: wrap;
  gap: 8px;
  min-height: 48px;
  font-size: 12px;
  line-height: 1.6;
}
.mgx-product-experience .mgx-product-hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  box-shadow: 0 14px 42px rgba(11, 43, 61, .07);
}
.mgx-product-experience .mgx-product-gallery-v2 {
  min-height: 0;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 16px;
  padding: 24px;
  align-items: start;
}
.mgx-product-experience .mgx-product-gallery-v2.is-single {
  grid-template-columns: minmax(0, 1fr);
  padding: 24px;
}
.mgx-product-experience .mgx-product-gallery-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  height: clamp(360px, 42vw, 590px);
  background: rgba(255, 250, 245, .055);
}
.mgx-product-experience .mgx-product-gallery-stage .mgx-product-main-image {
  flex: 0 1 auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0;
}
.mgx-product-experience .mgx-product-thumbs { width: 64px; gap: 10px; }
.mgx-product-experience .mgx-product-thumbs button,
.mgx-product-experience .mgx-product-thumbs button:hover,
.mgx-product-experience .mgx-product-thumbs button:focus {
  width: 64px;
  height: 72px;
  min-width: 64px;
  min-height: 72px;
  border-radius: 12px !important;
}
.mgx-product-experience .mgx-product-thumbs img { object-fit: contain; }
.mgx-product-experience .mgx-product-purchase-v2 {
  margin: 0;
  padding: clamp(26px, 3.5vw, 50px);
  border-radius: 24px 0 0 24px;
}
.mgx-product-experience .mgx-product-purchase-v2 > h1 {
  max-width: 17ch;
  font-size: clamp(34px, 3.7vw, 55px);
  line-height: 1.12;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.mgx-product-experience .mgx-product-overline { font-size: 11px; line-height: 1.5; margin-bottom: 14px; }
.mgx-product-experience .mgx-product-description {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  margin: 18px 0 22px;
  color: var(--mgx-experience-muted);
  font-size: 16px;
  line-height: 1.75;
}
.mgx-product-experience .mgx-product-description > p { margin: 0 0 12px; }
.mgx-product-experience .mgx-product-description > p:last-child { margin-bottom: 0; }
.mgx-product-experience .mgx-product-commercial-line { flex-wrap: wrap; gap: 20px 28px; padding-block: 18px; }
.mgx-product-experience .mgx-product-price .amount { font-size: 32px; }
.mgx-product-experience .mgx-product-order > form.cart {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}
.mgx-product-experience .mgx-product-quantity {
  width: min(100%, 240px);
  grid-template-columns: minmax(0, 1fr) 44px 52px 44px;
}
.mgx-product-experience .mgx-product-quantity > button,
.mgx-product-experience .mgx-product-quantity > button:hover,
.mgx-product-experience .mgx-product-quantity > button:focus { min-width: 44px; }
.mgx-product-experience .mgx-product-native-form table.variations select { font-size: 16px; }
.mgx-product-experience .mgx-product-order > form.cart > button[type="submit"] {
  width: 100%;
  min-width: 0;
  padding-inline: 20px !important;
  white-space: normal;
  line-height: 1.4;
  background: var(--mgx-ink) !important;
  box-shadow: none !important;
}
.mgx-product-experience .mgx-product-order > form.cart > button[type="submit"]:hover {
  transform: none;
  background: #174358 !important;
}
.mgx-product-experience .mgx-product-gift-link { font-size: 12px; letter-spacing: .015em; text-transform: none; }
.mgx-product-experience .mgx-product-assurances { flex-wrap: wrap; gap: 8px; }
.mgx-product-experience .mgx-product-assurances span { font-size: 12px; color: var(--mgx-experience-muted); }
.mgx-product-experience .mgx-product-copy-details > summary { font-size: 14px; line-height: 1.5; }
.mgx-product-experience .mgx-product-copy-details > div { font-size: 15px; line-height: 1.8; }
.mgx-product-experience .mgx-product-below-fold { padding-bottom: var(--mgx-experience-space); }
.mgx-product-experience .mgx-product-transparency {
  margin-inline: 0;
  padding: clamp(26px, 4vw, 54px);
  border-radius: 24px;
}
.mgx-product-experience .mgx-product-facts,
.mgx-product-experience .mgx-product-information dd { min-width: 0; overflow-wrap: anywhere; }

/* Diario e ricette: gerarchia da lettura, senza animare i contenuti lunghi. */
.mgx-diary-page .mgx-diary-article { box-shadow: none; border: 1px solid var(--mgx-experience-border); }
.mgx-diary-page .mgx-diary-article__body { max-width: 68ch; font-size: clamp(16px, 1.45vw, 18px); line-height: 1.9; }
.mgx-diary-page .mgx-diary-article__body p { margin-bottom: 1.5em; }
.mgx-recipes .mgx-recipe {
  min-width: 0;
  box-shadow: none;
  border-color: var(--mgx-experience-border);
  gap: clamp(24px, 4vw, 54px);
}
.mgx-recipes .mgx-recipe:hover { transform: none; box-shadow: none; }
.mgx-recipes .mgx-recipe__content { min-width: 0; }
.mgx-recipes .mgx-recipe__content h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.2; }
.mgx-recipes .mgx-recipe__content > p { font-size: 16px; line-height: 1.8; }
.mgx-recipes .mgx-recipe summary,
.mgx-recipes .mgx-recipe__open,
.mgx-recipes .mgx-recipe__product { min-height: 48px; line-height: 1.5; }
.mgx-recipe-single .mgx-recipe-single__hero h1 { font-size: clamp(32px, 4vw, 58px); line-height: 1.14; }
.mgx-recipe-single .mgx-recipe-single__body {
  margin-inline: 0;
  padding: clamp(26px, 4.5vw, 60px);
  gap: clamp(32px, 5vw, 68px);
}
.mgx-recipe-single .mgx-recipe-single__body ol p { font-size: 17px; line-height: 1.85; }
.mgx-recipe-single .mgx-recipe-single__body > section { min-width: 0; }
.mgx-recipe-single .mgx-recipe-single__product { gap: 24px; flex-wrap: wrap; }

/* Carrello e dati cliente: nessun selettore raggiunge gli elementi Stripe. */
.mgx-cart-modern .mgx-cm-grid { gap: clamp(22px, 3vw, 40px); }
.mgx-cart-modern .mgx-cm-main,
.mgx-cart-modern .mgx-cm-side { background: transparent; box-shadow: none; min-width: 0; }
.mgx-cart-modern .mgx-cm-card { border-radius: 24px; box-shadow: none; }
.mgx-cart-modern .mgx-cm-line-body { min-width: 0; }
.mgx-cart-modern .mgx-cm-line-body h2 { font-size: 17px; line-height: 1.5; }
.mgx-cart-modern .mgx-cm-line-meta { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.mgx-cart-modern .mgx-cm-crumbs { flex-wrap: wrap; line-height: 1.5; }
.mgx-cart-modern .mgx-cm-coupon summary { min-height: 44px; }
.mgx-cart-modern .mgx-cm-coupon-field input { font-size: 16px; min-height: 48px; }
.mgx-cart-modern .mgx-cm-coupon-field button { min-height: 48px; }
.mgx-cart-modern .mgx-cm-cta:hover { transform: none; }
body.mgx-checkout-page .mgx-standalone-checkout { background-image: none !important; background-color: #fffaf5 !important; }
body.mgx-checkout-page .mgx-co-head h1 { font-weight: 400 !important; line-height: 1.1 !important; text-transform: none !important; }
body.mgx-checkout-page .mgx-live-fields .form-row label,
body.mgx-checkout-page .mgx-live-options .form-row label {
  font-size: 13px !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}
body.mgx-checkout-page .mgx-live-fields input.input-text,
body.mgx-checkout-page .mgx-live-options input.input-text,
body.mgx-checkout-page .mgx-live-fields textarea,
body.mgx-checkout-page .mgx-live-options textarea,
body.mgx-checkout-page .mgx-live-fields select,
body.mgx-checkout-page .mgx-live-options select,
body.mgx-checkout-page .mgx-live-fields .select2-selection--single,
body.mgx-checkout-page .mgx-live-options .select2-selection--single {
  border-radius: 12px !important;
  font-family: var(--mgx-co-ui) !important;
}
.mgx-module-footer :is(.mgx-footer-whatsapp, .mgx-footer-assistance > a) { min-height: 48px; }

@media (min-width: 1440px) {
  .mgx-product-experience .mgx-product-purchase-v2 { padding: 50px; }
}
@media (max-width: 1024px) {
  .mgx-product-experience .mgx-product-hero { grid-template-columns: minmax(0, 1fr); }
  .mgx-product-experience .mgx-product-gallery-v2 { grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto; }
  .mgx-product-experience .mgx-product-gallery-stage { height: clamp(330px, 48vw, 510px); }
  .mgx-product-experience .mgx-product-purchase-v2 { border-radius: 24px 24px 0 0; padding: 34px; }
  .mgx-product-experience .mgx-product-purchase-v2 > h1 { max-width: 24ch; }
  .mgx-product-experience .mgx-product-description { max-width: 62ch; }
  .mgx-product-experience .mgx-product-order > form.cart { grid-template-columns: minmax(190px, .6fr) minmax(0, 1fr); align-items: center; }
  .mgx-cart-modern .mgx-cm-grid { grid-template-columns: minmax(0, 1fr); }
  .mgx-cart-modern .mgx-cm-side { position: static; justify-self: stretch; max-width: none; }
}
/* 980px corrisponde alla soglia già utilizzata dal controller del menu. */
@media (max-width: 980px) {
  .mgx-shop > .mgx-commerce-header,
  body.mgx-product-page .mgx-shop > .mgx-commerce-header {
    grid-template-columns: minmax(0, 1fr) 48px 48px !important;
    grid-template-rows: auto !important;
    min-height: 84px !important;
    gap: 12px !important;
    padding: 8px 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-menu-toggle {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 48px;
    min-width: 48px;
    height: 48px;
  }
  .mgx-shop > .mgx-commerce-header > .mgx-module-help { display: none !important; }
  .mgx-shop > .mgx-commerce-header > .mgx-module-cart {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: center;
    min-width: 48px;
    height: 48px;
    padding-inline: 8px;
  }
  .mgx-shop > .mgx-commerce-header > .mgx-module-cart > span:nth-child(2) { display: none; }
  .mgx-shop > .mgx-commerce-header > nav {
    display: none !important;
    position: absolute !important;
    inset: calc(100% + 8px) 0 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    max-height: min(60vh, 400px);
    overflow-y: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
    border-radius: 18px;
    background: #fffdf9;
    box-shadow: 0 12px 32px rgba(11, 43, 61, .12);
  }
  .mgx-shop > .mgx-commerce-header.is-menu-open > nav { display: grid !important; }
  .mgx-shop > .mgx-commerce-header > nav > a { min-height: 48px; font-size: 14px; padding: 12px !important; }
  .mgx-shop > .mgx-commerce-header > nav > a[aria-current="page"] { background: #f3ece4; color: var(--mgx-ink); }
  /* I collegamenti restano disponibili prima del JS e quando è disattivato. */
  body .mgx-shop > .mgx-commerce-header:not(.is-navigation-ready) {
    grid-template-columns: minmax(0, 1fr) 48px !important;
    grid-template-rows: auto auto !important;
  }
  .mgx-shop > .mgx-commerce-header:not(.is-navigation-ready) > .mgx-module-menu-toggle { display: none !important; }
  .mgx-shop > .mgx-commerce-header:not(.is-navigation-ready) > .mgx-module-cart { grid-column: 2 !important; }
  .mgx-shop > .mgx-commerce-header:not(.is-navigation-ready) > nav {
    display: grid !important;
    position: static !important;
    inset: auto !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-height: none;
    overflow: visible !important;
    box-shadow: none;
  }
}
@media (max-width: 768px) {
  .mgx-home-brochure .mgx-home-creation-grid { gap: 18px; }
  .mgx-home-brochure .mgx-home-care > div { padding: 24px; }
  .mgx-product-experience .mgx-product-gallery-v2,
  .mgx-product-experience .mgx-product-gallery-v2.is-single { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; padding: 14px; }
  .mgx-product-experience .mgx-product-gallery-stage { grid-column: 1; grid-row: 1; height: clamp(255px, 73vw, 430px); min-height: 0; }
  .mgx-product-experience .mgx-product-thumbs {
    display: flex;
    width: 100%;
    grid-column: 1;
    grid-row: 2;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 3px 2px 7px;
    scrollbar-width: thin;
  }
  .mgx-product-experience .mgx-product-thumbs button,
  .mgx-product-experience .mgx-product-thumbs button:hover,
  .mgx-product-experience .mgx-product-thumbs button:focus { flex: 0 0 64px; width: 64px; height: 64px; min-height: 64px; }
  .mgx-product-experience .mgx-product-purchase-v2 { padding: 28px 22px; border-radius: 0 0 22px 22px; }
  .mgx-product-experience .mgx-product-purchase-v2 > h1 { font-size: clamp(32px, 6.4vw, 45px); }
  .mgx-product-experience .mgx-product-order > form.cart { grid-template-columns: minmax(0, 1fr); }
  .mgx-product-experience .mgx-product-quantity { width: min(100%, 240px); }
  .mgx-product-experience .mgx-product-commercial-line { flex-direction: row; align-items: center; }
  .mgx-product-experience .mgx-product-below-fold { grid-template-columns: minmax(0, 1fr); }
  .mgx-product-experience .mgx-product-transparency { grid-template-columns: minmax(0, 1fr); margin-inline: 0; padding: 26px 22px; }
  .mgx-recipe-single .mgx-recipe-single__body { grid-template-columns: minmax(0, 1fr); padding: 28px 22px; }
  .mgx-recipe-single .mgx-recipe-single__body ol li { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; }
  .mgx-recipes .mgx-recipe { padding: 16px; }
  .mgx-recipes .mgx-recipe__content { padding: 8px; }
  .mgx-cart-modern .mgx-cm-line-body h2 { font-size: 15px; }
  .mgx-cart-modern .mgx-cm-line-right { gap: 14px; }
  .mgx-cart-modern .mgx-cm-coupon-field { flex-wrap: wrap; }
  .mgx-cart-modern .mgx-cm-coupon-field input { flex: 1 1 160px; }
}
@media (max-width: 360px) {
  .mgx-shop > .mgx-commerce-header { gap: 8px !important; grid-template-columns: minmax(0, 1fr) 44px 44px !important; }
  .mgx-shop > .mgx-commerce-header > .mgx-module-menu-toggle,
  .mgx-shop > .mgx-commerce-header > .mgx-module-cart { width: 44px; min-width: 44px; }
  .mgx-module-header .mgx-module-brand { gap: 8px; }
  .mgx-module-header .mgx-module-brand img { width: 46px !important; height: 46px !important; flex-basis: 46px !important; }
  .mgx-module-header .mgx-module-brand strong { width: auto; font-size: 15px; }
  .mgx-module-header .mgx-module-brand small { font-size: 8px; letter-spacing: .03em; }
  .mgx-product-experience .mgx-product-purchase-v2 { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .mgx-module-header nav a::after,
  .mgx-home-brochure .mgx-home-creation-card,
  .mgx-product-experience .mgx-product-order button { transition: none; }
}
