/* Recuperar el ancho completo de las páginas Elementor. */
body.page #content,
body.page .site-main,
body.page .page-content,
body.page .entry-content,
body.page .elementor,
body.page .elementor-section-wrap,
body.page .elementor-section,
body.page .elementor-container,
body.page .e-con,
body.page .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page #content,
body.page .site-main,
body.page .page-content,
body.page .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Navegación propia en las fichas de producto. */
.single-product .mg-product-nav {
  position: sticky;
  top: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  min-height: 80px;
  padding: 16px 48px;
  background: #FAFAFA;
  border-bottom: 0.5px solid #E5E7EB;
}

.single-product .mg-product-nav .mg-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.single-product .mg-product-nav .mg-logo img {
  display: block;
  width: auto;
  height: 48px;
  mix-blend-mode: multiply;
}

.single-product .mg-product-nav .mg-nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product .mg-product-nav .mg-nav-links li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-product .mg-product-nav .mg-nav-links a {
  color: #231F20;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
}

.single-product .mg-product-nav .mg-nav-links a:hover {
  color: #ED1C24;
}

.single-product .mg-product-nav .mg-nav-icons {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

.single-product .mg-product-nav .mg-icon-button,
.single-product .mg-product-nav .mg-account-link,
.single-product .mg-product-nav .mg-cart-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #231F20;
  background: transparent;
  border: 0;
  text-decoration: none;
  cursor: pointer;
}

.single-product .mg-product-nav .mg-icon-button:hover,
.single-product .mg-product-nav .mg-account-link:hover,
.single-product .mg-product-nav .mg-cart-link:hover {
  color: #ED1C24;
}

.single-product .mg-cart-count {
  display: none;
  position: absolute;
  top: -8px;
  right: -8px;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #FFFFFF;
  background: #ED1C24;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
}

.single-product .mg-product-nav .mg-mobile-menu-btn {
  display: none;
  margin-left: auto;
  padding: 5px 8px;
  color: #231F20;
  background: transparent;
  border: 0;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

/* Búsqueda de la cabecera de producto. */
.single-product .mg-search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9998;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 20px 20px;
  background: rgba(0,0,0,.6);
}

.single-product .mg-search-overlay.open {
  display: flex;
}

.single-product .mg-search-panel {
  position: relative;
  width: 100%;
  max-width: 700px;
  max-height: 80vh;
  padding: 24px;
  overflow-y: auto;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
}

.single-product .mg-search-close {
  position: absolute;
  top: 10px;
  right: 14px;
  padding: 4px;
  color: #C8C8C8;
  background: transparent;
  border: 0;
  font-size: 26px;
  cursor: pointer;
}

.single-product .mg-search-input-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: .5px solid #E5E7EB;
  border-radius: 10px;
}

.single-product .mg-search-input-wrap input {
  flex: 1;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
}

/* Contenido del producto. */
body.single-product #content,
body.single-product .site-main {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 48px !important;
}

.single-product div.product {
  width: 100% !important;
}

/* Quitar elementos nativos que no se usarán. */
.single-product .woocommerce-tabs,
.single-product .product_meta,
.single-product section.related,
.single-product .related.products,
.single-product .upsells.products {
  display: none !important;
}

/* Pie propio del producto. */
.single-product .mg-product-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  margin-top: 64px;
  padding: 28px 48px;
  color: #C8C8C8;
  background: #231F20;
}

.single-product .mg-product-footer a,
.single-product .mg-product-footer .mg-footer-copy {
  color: #C8C8C8;
  font-size: 12px;
  text-decoration: none;
}

@media (max-width: 900px) {
  .single-product .mg-product-nav {
    flex-wrap: wrap;
    gap: 14px;
    padding: 14px 20px;
  }

  .single-product .mg-product-nav .mg-logo {
    order: 1;
  }

  .single-product .mg-product-nav .mg-mobile-menu-btn {
    display: inline-flex;
    order: 2;
  }

  .single-product .mg-product-nav .mg-nav-icons {
    order: 3;
  }

  .single-product .mg-product-nav .mg-nav-links {
    display: none;
    order: 4;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-top: 12px;
    border-top: .5px solid #E5E7EB;
  }

  .single-product .mg-product-nav .mg-nav-links.open {
    display: flex;
  }

  .single-product .mg-product-nav .mg-nav-links a {
    display: block;
    padding: 13px 0;
    border-bottom: .5px solid #E5E7EB;
  }

  body.single-product #content,
  body.single-product .site-main {
    padding: 28px 20px !important;
  }

  .single-product .mg-product-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px 20px;
  }
}
/* =====================================================
   M&G — PARCHE FINAL:
   MI CUENTA + SOLICITUD PROFESIONAL + FOOTER + COLORES
   Pegar AL FINAL de Apariencia > Personalizar > CSS adicional
   ===================================================== */

/* 1. Evitar espacio blanco debajo del footer */
html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
}

body .mg {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}

body .mg > .mg-footer {
  margin-top: auto !important;
}

body.single-product {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}

body.single-product #page,
body.single-product .site,
body.single-product #content,
body.single-product .site-main {
  width: 100% !important;
}

body.single-product #page,
body.single-product .site {
  display: flex !important;
  flex: 1 0 auto !important;
  flex-direction: column !important;
}

body.single-product #content,
body.single-product .site-main {
  flex: 1 0 auto !important;
}

body.single-product .mg-product-footer {
  flex: 0 0 auto !important;
  margin-top: auto !important;
}

/* Ocultar enlaces antiguos aunque todavía existan en algún footer manual */
.mg-footer a[href*="/envios/"],
.mg-footer a[href*="/devoluciones/"] {
  display: none !important;
}

/* 2. Mi cuenta sin sesión: una sola tarjeta centrada */
body.woocommerce-account:not(.logged-in) .wp-block-shortcode,
body.woocommerce-account:not(.logged-in) .elementor-shortcode {
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  padding: 48px 20px 64px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-columns,
body.woocommerce-account:not(.logged-in) .woocommerce .col2-set {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce .col-1 {
  display: block !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: 36px !important;
  float: none !important;
  background: #FFFFFF !important;
  border: 0.5px solid #E5E7EB !important;
  border-radius: 12px !important;
}

/* El registro normal no debe aparecer */
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce .col-2,
body.woocommerce-account:not(.logged-in) form.register,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register {
  display: none !important;
}

/* Botón profesional debajo del login */
.mg-login-professional-cta {
  margin-top: 26px !important;
  padding-top: 22px !important;
  border-top: 0.5px solid #E5E7EB !important;
}

.mg-login-professional-cta p {
  margin: 0 0 12px !important;
  color: #444444 !important;
  font-size: 14px !important;
}

.mg-login-professional-cta .mg-professional-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  color: #FFFFFF !important;
  background: #ED1C24 !important;
  border: 0 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

.mg-login-professional-cta .mg-professional-cta-button:hover {
  color: #FFFFFF !important;
  background: #CC000F !important;
}

/* 3. Quitar textos rosas; rojo solo para botones y estados activos */
body.woocommerce-account a:not(.button):not(.mg-professional-cta-button),
body.mg-wholesale-register-page a:not(.button),
body.single-product .summary a:not(.button),
body.single-product .summary .price,
body.single-product .summary .price *,
body.single-product .summary .woocommerce-Price-amount {
  color: #231F20 !important;
}

body.woocommerce-account a:not(.button):hover,
body.mg-wholesale-register-page a:not(.button):hover,
body.single-product .summary a:not(.button):hover {
  color: #ED1C24 !important;
}

body.single-product .summary .mg-wholesale-gate .button {
  color: #FFFFFF !important;
  background: #ED1C24 !important;
}

body.single-product .summary .mg-wholesale-gate .button:hover {
  color: #FFFFFF !important;
  background: #CC000F !important;
}

.mg-footer a,
.mg-footer .mg-footer-copy {
  color: #C8C8C8 !important;
}

/* 4. Página Solicitar cuenta profesional */
body.mg-wholesale-register-page .site-main,
body.mg-wholesale-register-page #content,
body.mg-wholesale-register-page .page-content,
body.mg-wholesale-register-page .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.mg-wholesale-register-page .wp-block-shortcode,
body.mg-wholesale-register-page .elementor-shortcode,
body.mg-wholesale-register-page .elementor-widget-shortcode {
  width: calc(100% - 40px) !important;
  max-width: 920px !important;
  margin: 48px auto 64px !important;
}

body.mg-wholesale-register-page form {
  width: 100% !important;
  padding: 36px !important;
  background: #FFFFFF !important;
  border: 0.5px solid #E5E7EB !important;
  border-radius: 12px !important;
}

body.mg-wholesale-register-page form h2,
body.mg-wholesale-register-page form h3,
body.mg-wholesale-register-page form h4 {
  margin: 30px 0 18px !important;
  color: #231F20 !important;
  font-family: 'DM Serif Display', serif !important;
  font-weight: 400 !important;
}

body.mg-wholesale-register-page form h2:first-child,
body.mg-wholesale-register-page form h3:first-child {
  margin-top: 0 !important;
}

body.mg-wholesale-register-page form label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #231F20 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.mg-wholesale-register-page form input[type="text"],
body.mg-wholesale-register-page form input[type="email"],
body.mg-wholesale-register-page form input[type="password"],
body.mg-wholesale-register-page form input[type="tel"],
body.mg-wholesale-register-page form input[type="number"],
body.mg-wholesale-register-page form select,
body.mg-wholesale-register-page form textarea {
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 0 18px !important;
  padding: 12px 15px !important;
  color: #231F20 !important;
  background: #FFFFFF !important;
  border: 0.5px solid #C8C8C8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
}

body.mg-wholesale-register-page form input:focus,
body.mg-wholesale-register-page form select:focus,
body.mg-wholesale-register-page form textarea:focus {
  border-color: #ED1C24 !important;
}

body.mg-wholesale-register-page form button,
body.mg-wholesale-register-page form input[type="submit"],
body.mg-wholesale-register-page form .button {
  min-height: 48px !important;
  padding: 12px 24px !important;
  color: #FFFFFF !important;
  background: #ED1C24 !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}

body.mg-wholesale-register-page form button:hover,
body.mg-wholesale-register-page form input[type="submit"]:hover,
body.mg-wholesale-register-page form .button:hover {
  background: #CC000F !important;
}

/* 5. Móvil */
@media (max-width: 768px) {
  body.woocommerce-account:not(.logged-in) .wp-block-shortcode,
  body.woocommerce-account:not(.logged-in) .elementor-shortcode {
    padding: 28px 20px 48px !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-1 {
    padding: 24px 20px !important;
  }

  body.mg-wholesale-register-page .wp-block-shortcode,
  body.mg-wholesale-register-page .elementor-shortcode,
  body.mg-wholesale-register-page .elementor-widget-shortcode {
    width: calc(100% - 40px) !important;
    margin: 32px auto 48px !important;
  }

  body.mg-wholesale-register-page form {
    padding: 24px 20px !important;
  }
}
/* Solicitar cuenta profesional：第二个标题不要贴左边 */
body.mg-wholesale-register-page h2:first-of-type,
body.mg-wholesale-register-page h3:first-of-type,
body.mg-wholesale-register-page .entry-content > h2,
body.mg-wholesale-register-page .entry-content > h3 {
  margin-left: 40px !important;
  margin-right: 40px !important;
  margin-bottom: 20px !important;
}

/* 手机端 */
@media (max-width: 768px) {
  body.mg-wholesale-register-page h2:first-of-type,
  body.mg-wholesale-register-page h3:first-of-type,
  body.mg-wholesale-register-page .entry-content > h2,
  body.mg-wholesale-register-page .entry-content > h3 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}
/* Datos de facturación 与表单左侧对齐 */
body.mg-wholesale-register-page form h2,
body.mg-wholesale-register-page form h3,
body.mg-wholesale-register-page form h4 {
  width: 100% !important;
  margin: 20px 0 18px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  transform: none !important;
}

/* 表单内第一个分区标题 */
body.mg-wholesale-register-page form h2:first-child,
body.mg-wholesale-register-page form h3:first-child,
body.mg-wholesale-register-page form h4:first-child {
  margin-top: 0 !important;
}
/* =====================================================
   M&G — CHECKOUT: quitar el gran espacio antes de "Tu pedido"
   Pegar al FINAL de CSS adicional
   ===================================================== */

body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  column-gap: 48px !important;
  row-gap: 0 !important;
}

/* Datos del cliente a la izquierda */
body.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

/*
 * El título separado de WooCommerce creaba una fila muy alta.
 * Se oculta y se vuelve a mostrar dentro del bloque del pedido.
 */
body.woocommerce-checkout #order_review_heading {
  display: none !important;
}

body.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin: 0 !important;
  padding-top: 0 !important;
}

body.woocommerce-checkout #order_review::before {
  content: "Tu pedido";
  display: block;
  margin: 0 0 20px;
  padding: 0 0 12px;
  border-bottom: 0.5px solid #E5E7EB;
  color: #231F20;
  font-family: "DM Serif Display", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
}

body.woocommerce-checkout #order_review table {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 32px !important;
  }

  body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-checkout #order_review {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}
/* =====================================================
   M&G — ICONOS Y MENÚ MÓVIL EN CARRITO / FINALIZAR COMPRA
   Pegar al FINAL de Apariencia > Personalizar > CSS adicional
   ===================================================== */

/* Iconos negros por defecto, rojos solo al pasar o enfocar */
body.woocommerce-cart .mg-nav .mg-mobile-menu-btn,
body.woocommerce-checkout .mg-nav .mg-mobile-menu-btn,
body.woocommerce-cart .mg-nav .mg-icon-button,
body.woocommerce-checkout .mg-nav .mg-icon-button,
body.woocommerce-cart .mg-nav .mg-nav-icons a,
body.woocommerce-checkout .mg-nav .mg-nav-icons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;

  color: #231F20 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;

  cursor: pointer !important;
  transition: color .2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Tamaño del icono de menú */
body.woocommerce-cart .mg-nav .mg-mobile-menu-btn,
body.woocommerce-checkout .mg-nav .mg-mobile-menu-btn {
  font-size: 25px !important;
  line-height: 1 !important;
}

/* Rojo M&G únicamente al pasar, enfocar o pulsar */
body.woocommerce-cart .mg-nav .mg-mobile-menu-btn:hover,
body.woocommerce-checkout .mg-nav .mg-mobile-menu-btn:hover,
body.woocommerce-cart .mg-nav .mg-mobile-menu-btn:focus-visible,
body.woocommerce-checkout .mg-nav .mg-mobile-menu-btn:focus-visible,
body.woocommerce-cart .mg-nav .mg-mobile-menu-btn:active,
body.woocommerce-checkout .mg-nav .mg-mobile-menu-btn:active,
body.woocommerce-cart .mg-nav .mg-icon-button:hover,
body.woocommerce-checkout .mg-nav .mg-icon-button:hover,
body.woocommerce-cart .mg-nav .mg-icon-button:focus-visible,
body.woocommerce-checkout .mg-nav .mg-icon-button:focus-visible,
body.woocommerce-cart .mg-nav .mg-icon-button:active,
body.woocommerce-checkout .mg-nav .mg-icon-button:active,
body.woocommerce-cart .mg-nav .mg-nav-icons a:hover,
body.woocommerce-checkout .mg-nav .mg-nav-icons a:hover,
body.woocommerce-cart .mg-nav .mg-nav-icons a:focus-visible,
body.woocommerce-checkout .mg-nav .mg-nav-icons a:focus-visible,
body.woocommerce-cart .mg-nav .mg-nav-icons a:active,
body.woocommerce-checkout .mg-nav .mg-nav-icons a:active {
  color: #ED1C24 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Menú desplegable móvil */
@media (max-width: 900px) {
  body.woocommerce-cart .mg-nav,
  body.woocommerce-checkout .mg-nav {
    position: relative !important;
    flex-wrap: nowrap !important;
  }

  body.woocommerce-cart .mg-nav .mg-nav-links,
  body.woocommerce-checkout .mg-nav .mg-nav-links {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10020 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 10px 20px 16px !important;

    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    background: #FFFFFF !important;
    border-top: 0.5px solid #E5E7EB !important;
    border-bottom: 0.5px solid #E5E7EB !important;
    box-shadow: 0 10px 22px rgba(35, 31, 32, 0.08) !important;
  }

  /* La función toggleMobileMenu() ya añade y quita la clase open */
  body.woocommerce-cart .mg-nav .mg-nav-links.open,
  body.woocommerce-checkout .mg-nav .mg-nav-links.open {
    display: flex !important;
  }

  body.woocommerce-cart .mg-nav .mg-nav-links li,
  body.woocommerce-checkout .mg-nav .mg-nav-links li {
    width: 100% !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .mg-nav .mg-nav-links a,
  body.woocommerce-checkout .mg-nav .mg-nav-links a {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 !important;

    color: #231F20 !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
  }

  body.woocommerce-cart .mg-nav .mg-nav-links a:hover,
  body.woocommerce-checkout .mg-nav .mg-nav-links a:hover,
  body.woocommerce-cart .mg-nav .mg-nav-links a:focus-visible,
  body.woocommerce-checkout .mg-nav .mg-nav-links a:focus-visible {
    color: #ED1C24 !important;
  }
}
/* M&G nav icons —统一搜索 / 账户 / 购物车状态 */

.mg-nav-actions a,
.mg-nav-actions button,
.mg-search-btn,
.mg-account-btn,
.mg-cart-btn {
  color: #231F20 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* hover */
.mg-nav-actions a:hover,
.mg-nav-actions button:hover,
.mg-search-btn:hover,
.mg-account-btn:hover,
.mg-cart-btn:hover {
  color: #ED1C24 !important;
  background: transparent !important;
}

/* 点击 / focus 后也不要粉色背景 */
.mg-nav-actions a:focus,
.mg-nav-actions a:active,
.mg-nav-actions button:focus,
.mg-nav-actions button:active,
.mg-search-btn:focus,
.mg-search-btn:active,
.mg-account-btn:focus,
.mg-account-btn:active,
.mg-cart-btn:focus,
.mg-cart-btn:active {
  color: #ED1C24 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* SVG 跟随文字颜色 */
.mg-nav-actions svg,
.mg-search-btn svg,
.mg-account-btn svg,
.mg-cart-btn svg {
  stroke: currentColor !important;
}
/* =====================================================
   M&G MOBILE — 2 COLUMNAS + MENU NEGRO
   ===================================================== */

@media (max-width: 768px) {

  /* ===== PRODUCTOS: 2 COLUMNAS ===== */
  .mg-grid,
  .mg-sorted-all {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 14px !important;
    width: 100% !important;
  }

  .mg-card {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .mg-card-img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    aspect-ratio: 1 / 1.12 !important;

    padding: 12px !important;
    background: #f5f5f5 !important;

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

  .mg-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .mg-card-body {
    padding: 12px 0 4px !important;
  }

  .mg-card-name {
    margin: 0 0 8px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .mg-card-price {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
  }

  .mg-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }


  /* ===== MOBILE HAMBURGER ===== */
  .mg-mobile-menu-btn,
  .mg-mobile-menu-btn:hover,
  .mg-mobile-menu-btn:focus,
  .mg-mobile-menu-btn:active {
    background: transparent !important;
    background-color: transparent !important;

    color: #231F20 !important;

    border: none !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: none !important;

    padding: 6px 8px !important;
  }

  .mg-mobile-menu-btn:hover {
    color: #ED1C24 !important;
  }

  /* 如果 Elementor 给 button 加 active/focus 背景 */
  button.mg-mobile-menu-btn,
  button.mg-mobile-menu-btn:focus,
  button.mg-mobile-menu-btn:active,
  button.mg-mobile-menu-btn:focus-visible {
    background: transparent !important;
    background-image: none !important;
  }

}
/* ===== M&G 搜索弹窗：手机端固定 2 columnas ===== */
@media (max-width: 768px) {

  #searchOverlay > div {
    width: calc(100vw - 24px) !important;
    padding: 16px !important;
  }

  #mg-results {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
    width: 100% !important;
  }

  #mg-results .mg-r {
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 8px !important;
    margin: 0 !important;
  }

  #mg-results .mg-r > img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1.12 !important;
    object-fit: contain !important;
    padding: 8px !important;
  }

  #mg-results .mg-r-body {
    padding: 10px !important;
  }

  #mg-results .mg-r-name {
    font-size: 13px !important;
    line-height: 1.3 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  #mg-results .mg-r-sku {
    font-size: 10px !important;
    margin-top: 4px !important;
  }

  #mg-results .mg-r-price {
    font-size: 15px !important;
    margin-top: 12px !important;
  }
}
/* M&G — 强制页面真正全宽，跳出 Elementor boxed container */
.mg {
  width: 100vw !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

/* 防止横向滚动 */
html,
body {
  overflow-x: hidden !important;
}
/* =====================================================
   M&G NAV — 搜索 / 账户 / 购物车完全对齐
   ===================================================== */

.mg-nav .mg-nav-icons {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

/* 三个图标统一外框 */
.mg-nav .mg-nav-icons > .mg-icon-button,
.mg-nav .mg-nav-icons > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #231F20 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  line-height: 0 !important;
  vertical-align: middle !important;
  text-decoration: none !important;

  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* 搜索图标 */
.mg-nav .mg-icon-button svg {
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
}

/* 账户、购物车保持 22px */
.mg-nav .mg-nav-icons > a svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
}

/* hover 只变红，不出现粉色背景 */
@media (hover: hover) {
  .mg-nav .mg-icon-button:hover,
  .mg-nav .mg-nav-icons > a:hover {
    color: #ED1C24 !important;
    background: transparent !important;
  }
}

/* 点击以后也不要粉色 */
.mg-nav .mg-icon-button:focus,
.mg-nav .mg-icon-button:focus-visible,
.mg-nav .mg-icon-button:active {
  color: #231F20 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
/* =========================================
   M&G PRODUCT TITLE — 统一产品名称样式
   ========================================= */

body.single-product .summary h1.product_title,
body.single-product .summary .product_title,
body.single-product h1.product_title {
  margin: 0 0 16px !important;

  color: #231F20 !important;

  font-family: 'DM Serif Display', serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* 手机 */
@media (max-width: 768px) {
  body.single-product .summary h1.product_title,
  body.single-product .summary .product_title,
  body.single-product h1.product_title {
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    margin-bottom: 12px !important;
  }
}
@media (max-width: 900px) {

  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery__image {
    max-width: 100% !important;
  }

  body.single-product .woocommerce-product-gallery__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    max-height: 70vh !important;
    overflow: hidden !important;
    background: #FAFAFA !important;
  }

  body.single-product .woocommerce-product-gallery__image > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 70vh !important;
  }

  body.single-product .woocommerce-product-gallery__image img,
  body.single-product .woocommerce-product-gallery img.wp-post-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 70vh !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
}