:root{
  --mgs-green:#173e2b;
  --mgs-pink:#d9416c;
  --mgs-border:#ecd8d1;
  --mgs-gold:#ad6e29;
  --mgs-ink:#17372b;
}

body.woocommerce-shop,
body.post-type-archive-product{background:#fffdf9;}

body.woocommerce-shop .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header__title,
body.woocommerce-shop .page-title,
body.post-type-archive-product .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header__title,
body.post-type-archive-product .page-title,
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering,
body.woocommerce-shop ul.products,
body.woocommerce-shop .wc-block-product-template,
body.woocommerce-shop .wp-block-woocommerce-product-template,
body.woocommerce-shop .woocommerce-pagination,
body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering,
body.post-type-archive-product ul.products,
body.post-type-archive-product .wc-block-product-template,
body.post-type-archive-product .wp-block-woocommerce-product-template,
body.post-type-archive-product .woocommerce-pagination{
  display:none !important;
}

body.woocommerce-shop .site-main,
body.woocommerce-shop .content-area,
body.woocommerce-shop main,
body.post-type-archive-product .site-main,
body.post-type-archive-product .content-area,
body.post-type-archive-product main{
  max-width:none !important;
  width:100% !important;
}

/* Hero: mismo patrón visual que Flores, centrado y ancho */
.mgshop-final-hero{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(2048px,100vw);
  max-width:100vw;
  margin:20px 0 0;
  padding:0;
}
.mgshop-final-hero-card{
  position:relative;
  width:100%;
  margin:0 auto;
  overflow:hidden;
  line-height:0;
  border:1px solid var(--mgs-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(55,40,31,.05);
}
.mgshop-final-hero-card>img{display:block;width:100%;height:auto;max-width:100%;}
.mgshop-hero-hotspot{position:absolute;z-index:5;display:block;border-radius:999px;background:transparent;}
.mgshop-hero-hotspot-shop{left:6.1%;top:72.5%;width:12%;height:12%;}
.mgshop-hero-hotspot-categorias{left:18%;top:72.5%;width:15.5%;height:12%;}

/* Rompe el contenedor angosto del template de WooCommerce */
.mgshop-category-section,
.mgshop-custom-products{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(1180px,calc(100vw - 36px)) !important;
  max-width:1180px !important;
  box-sizing:border-box;
  clear:both;
}
.mgshop-category-section{margin:38px 0 20px;}
.mgshop-custom-products{margin:22px 0 58px;}

.mgshop-mini-kicker{display:block;color:var(--mgs-gold);letter-spacing:.2em;font-size:11px;font-weight:800;}
.mgshop-section-head h2,.mgshop-products-heading h2{margin:7px 0 5px;color:var(--mgs-ink);font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.05;}
.mgshop-section-head p{margin:0;color:#65736b;font-size:15px;line-height:1.45;max-width:760px;}

.mgshop-category-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;margin:20px 0 38px !important;width:100% !important;}
.mgshop-cat-card{display:grid !important;grid-template-columns:54px minmax(0,1fr) 22px !important;gap:10px;align-items:center;min-width:0;min-height:94px;padding:14px;border:1px solid var(--mgs-border);border-radius:16px;background:#fff8f5;color:#263e34 !important;text-decoration:none !important;transition:.2s ease;box-sizing:border-box;}
.mgshop-cat-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(68,42,33,.08);}
.mgshop-cat-card.is-all{background:linear-gradient(135deg,#173e2b,#2e6044);color:#fff !important;border-color:#173e2b;}
.mgshop-cat-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#fff;font-size:26px;}
.mgshop-cat-card strong{display:block;font-size:14px;line-height:1.2;word-break:normal;overflow-wrap:normal;}
.mgshop-cat-card small{display:block;margin-top:4px;color:inherit;opacity:.72;line-height:1.25;word-break:normal;overflow-wrap:normal;}
.mgshop-cat-card b{color:var(--mgs-pink);font-size:19px;}.mgshop-cat-card.is-all b{color:#fff;}
.mgshop-products-heading{padding-top:8px;border-top:1px solid #eaded8;}

.mgshop-product-card-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:22px !important;width:100% !important;}
.mgshop-premium-product-card{position:relative;display:grid !important;grid-template-columns:minmax(0,.9fr) minmax(220px,1.1fr) !important;grid-template-areas:'copy image';min-width:0;min-height:330px;padding:28px;border:1px solid #edcfc9;border-radius:22px;background:linear-gradient(135deg,#fff9f7 0%,#fff3f1 100%);box-shadow:0 10px 30px rgba(74,49,40,.06);overflow:hidden;box-sizing:border-box;}
.mgshop-product-badge{position:absolute;top:18px;left:20px;z-index:4;padding:7px 13px;border-radius:999px;background:#f8ccd8;color:#c9335b;font-size:11px;font-weight:800;}
.mgshop-product-face{position:absolute;top:18px;right:20px;z-index:5;width:52px;height:52px;object-fit:contain;
  background:#000;border-radius:50%;border:3px solid #fff;background:#fde9ed;box-shadow:0 5px 14px rgba(71,44,37,.16);}
.mgshop-product-image-link{grid-area:image;align-self:center;display:flex !important;align-items:center;justify-content:center;text-decoration:none;min-width:0;}
.mgshop-product-image{display:block;width:100%;max-width:310px;aspect-ratio:1/1;object-fit:contain;border-radius:16px;background:#fffaf8;}
.mgshop-product-copy{grid-area:copy;display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:46px 18px 4px 0;}
.mgshop-product-copy h3{margin:0 0 9px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2vw,34px);line-height:1.02;word-break:normal;overflow-wrap:normal;}
.mgshop-product-copy h3 a{color:#123c2c;text-decoration:none;}.mgshop-product-copy h3 a:hover{color:var(--mgs-pink);}
.mgshop-product-price{margin:0 0 12px;color:#df3d67;font-size:22px;line-height:1.2;font-weight:900;word-break:normal;}
.mgshop-product-price del{opacity:.55;font-size:.78em;}.mgshop-product-price ins{text-decoration:none;}
.mgshop-product-copy p{margin:0 0 16px;max-width:29ch;color:#5f625f;font-size:13px;line-height:1.45;word-break:normal;overflow-wrap:normal;}
.mgshop-product-link{display:inline-flex;align-items:center;gap:12px;margin-top:auto;padding:12px 20px;border-radius:999px;background:#173e2b;color:#fff !important;text-decoration:none;font-size:14px;font-weight:800;transition:.18s ease;}
.mgshop-product-link:hover{transform:translateY(-2px);background:#24543b;}.mgshop-product-link span{font-size:18px;}

#mgshop-categorias,#mgshop-productos{scroll-margin-top:120px;}

@media(max-width:980px){
  .mgshop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .mgshop-product-card-grid{grid-template-columns:1fr !important;}
}
@media(max-width:620px){
  .mgshop-final-hero{margin-top:14px;}
  .mgshop-category-section,.mgshop-custom-products{width:calc(100vw - 24px) !important;}
  .mgshop-category-grid{grid-template-columns:1fr !important;}
  .mgshop-premium-product-card{grid-template-columns:1fr !important;grid-template-areas:'image' 'copy';padding:22px 18px 20px;}
  .mgshop-product-image{max-width:100%;margin-top:42px;}
  .mgshop-product-copy{padding:18px 0 0;}
  .mgshop-product-copy h3{font-size:28px;}
  .mgshop-product-face{width:46px;height:46px;right:14px;top:14px;}
  .mgshop-product-badge{left:14px;top:16px;}
}

/* v1.2 - Tienda equilibrada: flores + regalos y detalles */
.mgshop-category-grid-featured{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.mgshop-category-grid-featured .mgshop-cat-card{
  min-height:92px!important;
}
.mgshop-details-promo{
  margin:24px 0 34px;
  padding:26px 28px;
  border:1px solid #ead4cb;
  border-radius:22px;
  background:linear-gradient(135deg,#fff8f4 0%,#fdf1f2 100%);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.mgshop-details-promo-copy{max-width:700px;}
.mgshop-details-promo h3{
  margin:4px 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:30px;
  line-height:1.05;
  color:#073c33;
}
.mgshop-details-promo p{
  margin:0 0 16px;
  max-width:680px;
  color:#5a5a52;
  line-height:1.55;
}
.mgshop-details-promo a{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:11px 18px;
  border-radius:999px;
  background:#174c39;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:700;
}
.mgshop-details-promo-icons{
  display:grid;
  grid-template-columns:repeat(2,64px);
  gap:10px;
  flex:0 0 auto;
}
.mgshop-details-promo-icons span{
  width:64px;height:64px;border-radius:18px;background:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;border:1px solid #efd9d1;
  box-shadow:0 8px 22px rgba(63,44,35,.06);
}
.mgshop-products-heading p{margin-top:4px;color:#6b6b64;}
@media(max-width:900px){
  .mgshop-category-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .mgshop-details-promo{align-items:flex-start;}
}
@media(max-width:640px){
  .mgshop-category-grid-featured{grid-template-columns:1fr!important;}
  .mgshop-details-promo{flex-direction:column;padding:22px 20px;}
  .mgshop-details-promo h3{font-size:25px;}
  .mgshop-details-promo-icons{grid-template-columns:repeat(4,52px);}
  .mgshop-details-promo-icons span{width:52px;height:52px;font-size:25px;}
}


/* v1.3 - bloque visual tipo video para regalos y detalles */
.mgshop-video-story{
  margin:28px 0 30px;
  padding:22px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:24px;
  align-items:center;
  border:1px solid #ead4cb;
  border-radius:24px;
  background:linear-gradient(135deg,#fff8f4 0%,#fdf1f2 100%);
  box-shadow:0 10px 30px rgba(74,49,40,.05);
  overflow:hidden;
}
.mgshop-video-copy{padding:10px 6px 10px 10px;}
.mgshop-video-copy h3{
  margin:6px 0 10px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:32px;
  line-height:1.06;
  color:#073c33;
}
.mgshop-video-copy p{
  margin:0 0 18px;
  color:#5a5a52;
  font-size:15px;
  line-height:1.55;
  max-width:52ch;
}
.mgshop-video-copy a{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  border-radius:999px;
  background:#174c39;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
}
.mgshop-video-frame{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  aspect-ratio:16/9;
  box-shadow:0 10px 24px rgba(63,44,35,.08);
}
.mgshop-video-frame video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}
@media(max-width:900px){
  .mgshop-video-story{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .mgshop-video-story{padding:16px;gap:16px;}
  .mgshop-video-copy{padding:4px;}
  .mgshop-video-copy h3{font-size:26px;}
}

/* v1.5: banner original conservado, textos visuales en español */
.mgshop-hero-spanish-copy{
  position:absolute;z-index:6;left:4.5%;top:7%;width:34%;height:79%;
  box-sizing:border-box;padding:18px 26px 18px 18px;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  background:linear-gradient(90deg,rgba(255,250,240,.98) 0%,rgba(255,250,240,.96) 78%,rgba(255,250,240,.72) 92%,rgba(255,250,240,0) 100%);
  line-height:1.1;border-radius:18px 0 0 18px;
}
.mgshop-hero-kicker{font-size:clamp(10px,.85vw,17px);font-weight:800;letter-spacing:.25em;color:#a06d2c;margin-bottom:12px;}
.mgshop-hero-spanish-copy h1{margin:0;color:#123c2c;font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3.2vw,68px);line-height:.98;font-weight:700;}
.mgshop-hero-spanish-copy h1 em{display:block;color:#d7436c;font-weight:700;}
.mgshop-hero-spanish-copy p{margin:18px 0 20px;max-width:34ch;color:#23483d;font-size:clamp(12px,1.05vw,22px);line-height:1.35;}
.mgshop-hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.mgshop-hero-btn{display:inline-flex;align-items:center;gap:14px;padding:13px 22px;border-radius:999px;text-decoration:none!important;font-size:clamp(12px,.95vw,19px);font-weight:800;line-height:1;white-space:nowrap;}
.mgshop-hero-btn.primary{background:#173e2b;color:#fff!important;}
.mgshop-hero-btn.secondary{background:#fff;color:#173e2b!important;border:1.5px solid #315849;}
.mgshop-hero-right-copy{position:absolute;z-index:6;right:4.4%;top:39%;width:16%;padding:12px 8px;text-align:center;color:#fff;font-family:cursive;font-size:clamp(19px,2vw,40px);line-height:1.12;background:rgba(45,31,21,.72);border-radius:18px;transform:rotate(-2deg);}

@media(max-width:900px){
  .mgshop-hero-spanish-copy{left:3%;top:5%;width:42%;height:84%;padding:10px 12px;background:linear-gradient(90deg,rgba(255,250,240,.98),rgba(255,250,240,.90) 82%,rgba(255,250,240,0));}
  .mgshop-hero-spanish-copy p{margin:9px 0 10px;}
  .mgshop-hero-btn{padding:9px 12px;gap:8px;}
  .mgshop-hero-right-copy{display:none;}
}
@media(max-width:620px){
  .mgshop-hero-spanish-copy{position:relative;left:auto;top:auto;width:100%;height:auto;padding:18px;background:#fffaf4;border-radius:0;}
  .mgshop-hero-spanish-copy h1{font-size:34px;}
  .mgshop-hero-spanish-copy p{font-size:14px;}
  .mgshop-hero-actions{width:100%;}
  .mgshop-hero-btn{flex:1;justify-content:center;font-size:13px;}
}


/* =========================================================
   v2.0 — RESTAURACIÓN BANNER TIENDA
   ========================================================= */
.mgshop-final-hero{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1366px,calc(100vw - 32px))!important;
  max-width:1366px!important;
  margin:28px 0 10px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.mgshop-final-hero-card{
  position:relative!important;
  width:100%!important;
  aspect-ratio:3/1!important;
  margin:0 auto!important;
  overflow:hidden!important;
  line-height:0!important;
  border:1px solid #ead6cf!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(55,40,31,.06)!important;
}

.mgshop-final-hero-card > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Ya no se dibuja texto HTML encima del banner */
.mgshop-hero-spanish-copy,
.mgshop-hero-right-copy{
  display:none!important;
}

/* Botones invisibles sobre los botones incluidos en la imagen */
.mgshop-hero-hotspot{
  position:absolute!important;
  z-index:8!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
}
.mgshop-hero-hotspot-shop{
  left:12.6%!important;
  top:72.0%!important;
  width:13.5%!important;
  height:12%!important;
}
.mgshop-hero-hotspot-categorias{
  left:27.0%!important;
  top:72.0%!important;
  width:15.5%!important;
  height:12%!important;
}

@media(max-width:900px){
  .mgshop-final-hero{
    width:calc(100vw - 20px)!important;
    margin-top:18px!important;
  }
  .mgshop-final-hero-card{
    border-radius:15px!important;
  }
}
@media(max-width:620px){
  .mgshop-final-hero{
    width:calc(100vw - 12px)!important;
    margin-top:12px!important;
  }
  .mgshop-final-hero-card{
    border-radius:12px!important;
  }
}


/* =========================================================
   v2.3 — HERO EXACTO v1.8
   Se restaura el banner bonito aprobado y se neutralizan
   los estilos de v2.0/v2.1 que lo deformaban.
   ========================================================= */
.mgshop-final-hero{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(2048px,100vw)!important;
  max-width:100vw!important;
  margin:20px 0 0!important;
  padding:0!important;
}
.mgshop-final-hero-card{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  margin:0 auto!important;
  overflow:hidden!important;
  line-height:0!important;
  border:1px solid #eaded7!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(55,40,31,.05)!important;
}
.mgshop-final-hero-card>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:initial!important;
  object-position:initial!important;
}
.mgshop-hero-spanish-copy{
  display:flex!important;
  position:absolute!important;
  z-index:6!important;
  left:4.5%!important;
  top:7%!important;
  width:34%!important;
  height:79%!important;
  box-sizing:border-box!important;
  padding:18px 26px 18px 18px!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  background:linear-gradient(90deg,rgba(255,250,240,.98) 0%,rgba(255,250,240,.96) 78%,rgba(255,250,240,.72) 92%,rgba(255,250,240,0) 100%)!important;
  line-height:1.1!important;
  border-radius:18px 0 0 18px!important;
}
.mgshop-hero-kicker{font-size:clamp(10px,.85vw,17px)!important;font-weight:800!important;letter-spacing:.25em!important;color:#a06d2c!important;margin-bottom:12px!important;}
.mgshop-hero-spanish-copy h1{margin:0!important;color:#123c2c!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(30px,3.2vw,68px)!important;line-height:.98!important;font-weight:700!important;}
.mgshop-hero-spanish-copy h1 em{display:block!important;color:#d7436c!important;font-weight:700!important;}
.mgshop-hero-spanish-copy p{margin:18px 0 20px!important;max-width:34ch!important;color:#23483d!important;font-size:clamp(12px,1.05vw,22px)!important;line-height:1.35!important;}
.mgshop-hero-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;}
.mgshop-hero-btn{display:inline-flex!important;align-items:center!important;gap:14px!important;padding:13px 22px!important;border-radius:999px!important;text-decoration:none!important;font-size:clamp(12px,.95vw,19px)!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;}
.mgshop-hero-btn.primary{background:#173e2b!important;color:#fff!important;}
.mgshop-hero-btn.secondary{background:#fff!important;color:#173e2b!important;border:1.5px solid #315849!important;}
.mgshop-hero-right-copy{display:block!important;position:absolute!important;z-index:6!important;right:4.4%!important;top:39%!important;width:16%!important;padding:12px 8px!important;text-align:center!important;color:#fff!important;font-family:cursive!important;font-size:clamp(19px,2vw,40px)!important;line-height:1.12!important;background:rgba(45,31,21,.72)!important;border-radius:18px!important;transform:rotate(-2deg)!important;}
.mgshop-hero-hotspot{display:none!important;}
@media(max-width:900px){
  .mgshop-hero-spanish-copy{left:3%!important;top:5%!important;width:42%!important;height:84%!important;padding:10px 12px!important;background:linear-gradient(90deg,rgba(255,250,240,.98),rgba(255,250,240,.90) 82%,rgba(255,250,240,0))!important;}
  .mgshop-hero-spanish-copy p{margin:9px 0 10px!important;}
  .mgshop-hero-btn{padding:9px 12px!important;gap:8px!important;}
  .mgshop-hero-right-copy{display:none!important;}
}
@media(max-width:620px){
  .mgshop-final-hero{width:100vw!important;margin-top:12px!important;}
  .mgshop-final-hero-card{border-radius:12px!important;}
  .mgshop-hero-spanish-copy{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;padding:18px!important;background:#fffaf4!important;border-radius:0!important;}
  .mgshop-hero-spanish-copy h1{font-size:34px!important;}
  .mgshop-hero-spanish-copy p{font-size:14px!important;}
  .mgshop-hero-actions{width:100%!important;}
  .mgshop-hero-btn{flex:1!important;justify-content:center!important;font-size:13px!important;}
}


/* =========================================================
   v3.3 FINAL — MISMA ESCALA REAL DE INICIO v2.8
   Inicio v2.8 termina usando:
     Banner: max 1240 px
     Cuerpo: max 1060 px
     Video: max-height 360 px
   En Tienda hay un contenedor estrecho del tema, por eso aquí
   escapamos SOLO ese contenedor con medidas controladas.
   ========================================================= */

/* Evitar que WooCommerce/tema impongan un ancho estrecho o margen superior excesivo */
body.woocommerce-shop .site-main,
body.woocommerce-shop .content-area,
body.woocommerce-shop main,
body.post-type-archive-product .site-main,
body.post-type-archive-product .content-area,
body.post-type-archive-product main{
  width:100% !important;
  max-width:none !important;
  padding-top:0 !important;
  margin-top:0 !important;
}

/* ===== BANNER: mismo máximo de Inicio v2.8 = 1240 px ===== */
body.woocommerce-shop .mgshop-final-hero,
body.post-type-archive-product .mgshop-final-hero{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1240px, calc(100vw - 24px)) !important;
  max-width:1240px !important;
  margin:18px 0 24px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  clear:both !important;
}

body.woocommerce-shop .mgshop-final-hero-card,
body.post-type-archive-product .mgshop-final-hero-card{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  overflow:hidden !important;
  line-height:0 !important;
  border:1px solid #eaded7 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(30,56,44,.10) !important;
}

body.woocommerce-shop .mgshop-final-hero-card > img,
body.post-type-archive-product .mgshop-final-hero-card > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* ===== CUERPO: mismo máximo de Inicio v2.8 = 1060 px ===== */
body.woocommerce-shop .mgshop-category-section,
body.woocommerce-shop .mgshop-custom-products,
body.post-type-archive-product .mgshop-category-section,
body.post-type-archive-product .mgshop-custom-products{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1060px, calc(100vw - 36px)) !important;
  max-width:1060px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  clear:both !important;
}

body.woocommerce-shop .mgshop-category-section,
body.post-type-archive-product .mgshop-category-section{
  margin-top:28px !important;
  margin-bottom:24px !important;
}

body.woocommerce-shop .mgshop-custom-products,
body.post-type-archive-product .mgshop-custom-products{
  margin-top:24px !important;
  margin-bottom:52px !important;
}

/* ===== CATEGORÍAS ===== */
body.woocommerce-shop .mgshop-category-grid,
body.post-type-archive-product .mgshop-category-grid{
  width:100% !important;
  max-width:100% !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:18px 0 28px !important;
}

/* ===== UN SOLO VIDEO, MISMA ESCALA DE INICIO ===== */
body.woocommerce-shop #mgshop-categorias .mgmedia-shortcode-block,
body.post-type-archive-product #mgshop-categorias .mgmedia-shortcode-block{
  width:100% !important;
  max-width:100% !important;
  margin:28px auto 32px !important;
  padding:24px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

body.woocommerce-shop #mgshop-categorias .mgmedia-shortcode-block > *,
body.post-type-archive-product #mgshop-categorias .mgmedia-shortcode-block > *{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.woocommerce-shop #mgshop-categorias .mgmedia-shortcode-block video,
body.woocommerce-shop #mgshop-categorias .mgmedia-shortcode-block iframe,
body.post-type-archive-product #mgshop-categorias .mgmedia-shortcode-block video,
body.post-type-archive-product #mgshop-categorias .mgmedia-shortcode-block iframe{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:360px !important;
  aspect-ratio:16/9 !important;
  object-fit:contain !important;
  margin:0 auto !important;
  border-radius:16px !important;
  background:#111 !important;
}

/* ===== PRODUCTOS: restaurar y contener correctamente ===== */
body.woocommerce-shop .mgshop-product-card-grid,
body.post-type-archive-product .mgshop-product-card-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  width:100% !important;
  max-width:100% !important;
}

body.woocommerce-shop .mgshop-premium-product-card,
body.post-type-archive-product .mgshop-premium-product-card{
  position:relative !important;
  min-width:0 !important;
  min-height:320px !important;
  overflow:hidden !important;
}

/* Estas dos reglas son esenciales: evitan las caras gigantes que se vieron en pantalla */
body.woocommerce-shop .mgshop-product-face,
body.post-type-archive-product .mgshop-product-face{
  position:absolute !important;
  top:18px !important;
  right:20px !important;
  z-index:5 !important;
  width:52px !important;
  height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  border:3px solid #fff !important;
  background:#fde9ed !important;
  box-shadow:0 5px 14px rgba(71,44,37,.16) !important;
}

body.woocommerce-shop .mgshop-product-badge,
body.post-type-archive-product .mgshop-product-badge{
  position:absolute !important;
  top:18px !important;
  left:20px !important;
  z-index:4 !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:#f8ccd8 !important;
  color:#c9335b !important;
  font-size:11px !important;
  font-weight:800 !important;
}

body.woocommerce-shop .mgshop-product-image,
body.post-type-archive-product .mgshop-product-image{
  display:block !important;
  width:100% !important;
  max-width:290px !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:contain !important;
  border-radius:16px !important;
  background:#fffaf8 !important;
}

/* Promo intermedia siempre dentro del cuerpo */
body.woocommerce-shop .mgshop-details-promo,
body.post-type-archive-product .mgshop-details-promo{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 18px) !important;
  }

  body.woocommerce-shop .mgshop-category-section,
  body.woocommerce-shop .mgshop-custom-products,
  body.post-type-archive-product .mgshop-category-section,
  body.post-type-archive-product .mgshop-custom-products{
    width:calc(100vw - 26px) !important;
  }

  body.woocommerce-shop .mgshop-category-grid,
  body.post-type-archive-product .mgshop-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.woocommerce-shop .mgshop-product-card-grid,
  body.post-type-archive-product .mgshop-product-card-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:620px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 12px) !important;
    margin-top:12px !important;
  }

  body.woocommerce-shop .mgshop-category-section,
  body.woocommerce-shop .mgshop-custom-products,
  body.post-type-archive-product .mgshop-category-section,
  body.post-type-archive-product .mgshop-custom-products{
    width:calc(100vw - 20px) !important;
  }

  body.woocommerce-shop .mgshop-category-grid,
  body.post-type-archive-product .mgshop-category-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== v3.3.1 fix: mantener el texto dentro del banner sin cambiar su tamaño ===== */
body.woocommerce-shop .mgshop-hero-spanish-copy,
body.post-type-archive-product .mgshop-hero-spanish-copy{
  left:5.5% !important;
  top:11% !important;
  width:31% !important;
  max-width:390px !important;
  height:auto !important;
  min-height:0 !important;
  padding:18px 18px 16px !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:linear-gradient(90deg,rgba(255,250,240,.97) 0%,rgba(255,250,240,.93) 76%,rgba(255,250,240,.68) 92%,rgba(255,250,240,0) 100%) !important;
}

body.woocommerce-shop .mgshop-hero-kicker,
body.post-type-archive-product .mgshop-hero-kicker{
  margin-bottom:8px !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy h1,
body.post-type-archive-product .mgshop-hero-spanish-copy h1{
  font-size:clamp(24px,2.7vw,58px) !important;
  line-height:.94 !important;
  letter-spacing:-0.01em !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy p,
body.post-type-archive-product .mgshop-hero-spanish-copy p{
  margin:12px 0 14px !important;
  max-width:28ch !important;
  font-size:clamp(11px,.95vw,19px) !important;
  line-height:1.26 !important;
}

body.woocommerce-shop .mgshop-hero-actions,
body.post-type-archive-product .mgshop-hero-actions{
  gap:10px !important;
}

body.woocommerce-shop .mgshop-hero-btn,
body.post-type-archive-product .mgshop-hero-btn{
  padding:11px 16px !important;
  gap:9px !important;
  font-size:clamp(11px,.82vw,16px) !important;
}

@media(max-width:1100px){
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    top:8% !important;
    width:36% !important;
    max-width:none !important;
    padding:14px 14px 12px !important;
  }
  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:clamp(22px,2.8vw,44px) !important;
  }
}


/* =========================================================
   v3.3.2 — BANNER DESKTOP/MÓVIL + HEADER MÓVIL
   Mantiene EXACTAMENTE el tamaño actual del banner en desktop.
   Corrige únicamente contenido interno y responsive.
   ========================================================= */

/* ---------- DESKTOP: mantener todo dentro del banner ---------- */
body.woocommerce-shop .mgshop-final-hero-card,
body.post-type-archive-product .mgshop-final-hero-card{
  overflow:hidden !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy,
body.post-type-archive-product .mgshop-hero-spanish-copy{
  left:5.2% !important;
  top:9% !important;
  width:32% !important;
  max-width:390px !important;
  height:auto !important;
  max-height:82% !important;
  padding:16px 16px 14px !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy h1,
body.post-type-archive-product .mgshop-hero-spanish-copy h1{
  font-size:clamp(30px,2.6vw,54px) !important;
  line-height:.94 !important;
  margin:0 0 10px !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy p,
body.post-type-archive-product .mgshop-hero-spanish-copy p{
  margin:8px 0 12px !important;
  font-size:clamp(12px,.9vw,17px) !important;
  line-height:1.28 !important;
  max-width:29ch !important;
}

body.woocommerce-shop .mgshop-hero-actions,
body.post-type-archive-product .mgshop-hero-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  width:100% !important;
}

body.woocommerce-shop .mgshop-hero-btn,
body.post-type-archive-product .mgshop-hero-btn{
  padding:10px 14px !important;
  font-size:clamp(11px,.75vw,15px) !important;
  gap:8px !important;
  min-height:38px !important;
}

/* El texto derecho debe permanecer contenido */
body.woocommerce-shop .mgshop-hero-right-copy,
body.post-type-archive-product .mgshop-hero-right-copy{
  right:4.2% !important;
  top:38% !important;
  width:17% !important;
  max-width:220px !important;
  font-size:clamp(18px,1.7vw,31px) !important;
  line-height:1.08 !important;
}

/* ---------- TABLET ---------- */
@media(max-width:980px){
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    left:4% !important;
    top:7% !important;
    width:38% !important;
    max-width:none !important;
    padding:12px 12px 10px !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:clamp(26px,4vw,42px) !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    font-size:13px !important;
    margin:7px 0 10px !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    padding:8px 11px !important;
    font-size:12px !important;
  }

  body.woocommerce-shop .mgshop-hero-right-copy,
  body.post-type-archive-product .mgshop-hero-right-copy{
    display:none !important;
  }
}

/* ---------- MÓVIL: imagen arriba / contenido abajo ---------- */
@media(max-width:620px){

  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    background:#fffaf4 !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card > img,
  body.post-type-archive-product .mgshop-final-hero-card > img{
    order:1 !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    order:2 !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:none !important;
    max-height:none !important;
    height:auto !important;
    padding:18px 18px 20px !important;
    overflow:visible !important;
    background:#fffaf4 !important;
    border-radius:0 !important;
  }

  body.woocommerce-shop .mgshop-hero-kicker,
  body.post-type-archive-product .mgshop-hero-kicker{
    font-size:10px !important;
    letter-spacing:.18em !important;
    margin-bottom:8px !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:36px !important;
    line-height:.95 !important;
    margin:0 0 12px !important;
    max-width:100% !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    font-size:15px !important;
    line-height:1.35 !important;
    margin:0 0 14px !important;
    max-width:100% !important;
  }

  body.woocommerce-shop .mgshop-hero-actions,
  body.post-type-archive-product .mgshop-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    width:100% !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:10px 14px !important;
    font-size:13px !important;
  }

  body.woocommerce-shop .mgshop-hero-right-copy,
  body.post-type-archive-product .mgshop-hero-right-copy{
    display:none !important;
  }

  /* ---------- HEADER / MAX MEGA MENU EN MÓVIL ---------- */

  /* Logo más contenido */
  body.woocommerce-shop .custom-logo,
  body.post-type-archive-product .custom-logo,
  body.woocommerce-shop .wp-block-site-logo img,
  body.post-type-archive-product .wp-block-site-logo img{
    max-width:88px !important;
    width:auto !important;
    height:auto !important;
  }

  /* Max Mega Menu: botón hamburguesa más pequeño */
  #mega-menu-wrap-header .mega-menu-toggle{
    min-height:42px !important;
    height:42px !important;
    padding:0 10px !important;
    border-radius:8px !important;
  }

  #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-label,
  #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-blocks-left,
  #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-blocks-right{
    font-size:13px !important;
  }

  #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-block{
    margin:0 4px !important;
  }

  /* Menú desplegado más compacto */
  #mega-menu-wrap-header #mega-menu-header{
    font-size:14px !important;
  }

  #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link{
    min-height:42px !important;
    line-height:42px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }

  #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > ul.mega-sub-menu{
    padding:10px !important;
  }

  /* Traductor más pequeño */
  .trp-language-switcher{
    transform:scale(.82) !important;
    transform-origin:top right !important;
  }

  /* Evita que header crezca verticalmente por controles */
  header,
  .wp-site-blocks > header,
  .wp-block-template-part{
    min-height:0 !important;
  }
}


/* =========================================================
   v3.4 — SOLUCIÓN ESTABLE
   Una sola imagen de banner, sin texto HTML superpuesto.
   Mantiene el tamaño aprobado y evita desbordes en PC/móvil.
   ========================================================= */

/* Nunca mostrar las capas antiguas de texto */
.mgshop-hero-spanish-copy,
.mgshop-hero-right-copy{
  display:none !important;
}

/* Tamaño aprobado del banner */
body.woocommerce-shop .mgshop-final-hero,
body.post-type-archive-product .mgshop-final-hero{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1240px,calc(100vw - 24px)) !important;
  max-width:1240px !important;
  margin:18px 0 24px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

body.woocommerce-shop .mgshop-final-hero-card,
body.post-type-archive-product .mgshop-final-hero-card{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border-radius:18px !important;
  line-height:0 !important;
  background:#fff !important;
}

body.woocommerce-shop .mgshop-final-hero-card > img,
body.post-type-archive-product .mgshop-final-hero-card > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Hotspots sobre los botones que ya están dibujados en hero-tienda-es.png */
.mgshop-hero-hotspot{
  display:block !important;
  position:absolute !important;
  z-index:10 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:999px !important;
}
.mgshop-hero-hotspot-shop{
  left:13.1% !important;
  top:61.2% !important;
  width:11.7% !important;
  height:9.4% !important;
}
.mgshop-hero-hotspot-categorias{
  left:25.2% !important;
  top:61.2% !important;
  width:12.5% !important;
  height:9.4% !important;
}

/* Header móvil compacto: no tocar desktop */
@media(max-width:620px){

  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 12px) !important;
    margin-top:12px !important;
    margin-bottom:18px !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    border-radius:14px !important;
  }

  /* Logo */
  .wp-block-site-logo img,
  .custom-logo,
  .site-logo img{
    width:auto !important;
    max-width:78px !important;
    height:auto !important;
  }

  /* Max Mega Menu */
  #mega-menu-wrap-header .mega-menu-toggle{
    min-height:38px !important;
    height:38px !important;
    padding:0 8px !important;
    margin:0 !important;
  }

  #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-block{
    margin:0 3px !important;
  }

  #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link{
    min-height:38px !important;
    line-height:38px !important;
    padding:0 12px !important;
    font-size:13px !important;
  }

  #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > ul.mega-sub-menu{
    padding:8px !important;
  }

  /* Selector de idioma */
  .trp-language-switcher{
    transform:scale(.76) !important;
    transform-origin:top right !important;
  }
}


/* =========================================================
   v3.5 — BANNER FINAL PROBADO
   - Elimina las franjas borrosas del archivo de imagen.
   - Mantiene 1240px máximo en desktop.
   - En móvil recorta la misma imagen (no usa una segunda imagen).
   - Botones móviles reales debajo del banner.
   ========================================================= */

.mgshop-mobile-hero-actions{
  display:none !important;
}

/* Desktop */
body.woocommerce-shop .mgshop-final-hero,
body.post-type-archive-product .mgshop-final-hero{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1240px, calc(100vw - 24px)) !important;
  max-width:1240px !important;
  margin:18px 0 24px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

body.woocommerce-shop .mgshop-final-hero-card,
body.post-type-archive-product .mgshop-final-hero-card{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#fff !important;
  line-height:0 !important;
  box-shadow:0 10px 28px rgba(30,56,44,.10) !important;
}

body.woocommerce-shop .mgshop-final-hero-card > img,
body.post-type-archive-product .mgshop-final-hero-card > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Desktop: hotspots ajustados al banner recortado */
.mgshop-hero-hotspot{
  display:block !important;
  position:absolute !important;
  z-index:10 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:999px !important;
}
.mgshop-hero-hotspot-shop{
  left:13.0% !important;
  top:75.0% !important;
  width:11.7% !important;
  height:15% !important;
}
.mgshop-hero-hotspot-categorias{
  left:25.1% !important;
  top:75.0% !important;
  width:12.8% !important;
  height:15% !important;
}

/* Nunca mostrar capas HTML antiguas */
.mgshop-hero-spanish-copy,
.mgshop-hero-right-copy{
  display:none !important;
}

/* Tablet */
@media(max-width:900px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 18px) !important;
  }
}

/* Móvil */
@media(max-width:620px){

  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 14px) !important;
    margin-top:12px !important;
    margin-bottom:20px !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    height:235px !important;
    border-radius:14px !important;
  }

  /* Misma imagen: se muestra la zona izquierda útil, sin deformarla */
  body.woocommerce-shop .mgshop-final-hero-card > img,
  body.post-type-archive-product .mgshop-final-hero-card > img{
    width:100% !important;
    height:235px !important;
    object-fit:cover !important;
    object-position:left center !important;
  }

  /* En móvil usamos botones reales debajo de la imagen */
  .mgshop-hero-hotspot{
    display:none !important;
  }

  .mgshop-mobile-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    padding:12px 4px 0 !important;
    box-sizing:border-box !important;
  }

  .mgshop-mobile-hero-actions a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    padding:0 16px !important;
    box-sizing:border-box !important;
    border-radius:999px !important;
    border:1px solid #315849 !important;
    background:#fff !important;
    color:#173e2b !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:800 !important;
  }

  .mgshop-mobile-hero-actions a:first-child{
    background:#173e2b !important;
    color:#fff !important;
    border-color:#173e2b !important;
  }

  /* Header móvil compacto */
  .wp-block-site-logo img,
  .custom-logo,
  .site-logo img{
    max-width:72px !important;
    width:auto !important;
    height:auto !important;
  }

  #mega-menu-wrap-header .mega-menu-toggle{
    min-height:36px !important;
    height:36px !important;
    padding:0 7px !important;
    margin:0 !important;
  }

  #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-block{
    margin:0 2px !important;
  }

  #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link{
    min-height:38px !important;
    line-height:38px !important;
    padding:0 11px !important;
    font-size:13px !important;
  }

  #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > ul.mega-sub-menu{
    padding:8px !important;
  }

  .trp-language-switcher{
    transform:scale(.72) !important;
    transform-origin:top right !important;
  }
}


/* =========================================================
   v3.6 — MOBILE REAL FIX
   ========================================================= */

/* Escritorio: conservar tamaño aprobado */
body.woocommerce-shop .mgshop-final-hero,
body.post-type-archive-product .mgshop-final-hero{
  width:min(1240px,calc(100vw - 24px)) !important;
  max-width:1240px !important;
}

/* Móvil */
@media(max-width:620px){

  body.woocommerce-shop header,
  body.post-type-archive-product header,
  body.woocommerce-shop .wp-block-template-part,
  body.post-type-archive-product .wp-block-template-part{
    min-height:0 !important;
  }

  body.woocommerce-shop header .wp-block-group,
  body.post-type-archive-product header .wp-block-group,
  body.woocommerce-shop .wp-block-template-part .wp-block-group,
  body.post-type-archive-product .wp-block-template-part .wp-block-group{
    min-height:0 !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  body.woocommerce-shop .wp-block-site-logo img,
  body.post-type-archive-product .wp-block-site-logo img,
  body.woocommerce-shop .custom-logo,
  body.post-type-archive-product .custom-logo{
    max-width:60px !important;
    height:auto !important;
  }

  body.woocommerce-shop #mega-menu-wrap-header .mega-menu-toggle,
  body.post-type-archive-product #mega-menu-wrap-header .mega-menu-toggle{
    min-height:34px !important;
    height:34px !important;
    padding:0 6px !important;
    border-radius:6px !important;
  }

  body.woocommerce-shop #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-block,
  body.post-type-archive-product #mega-menu-wrap-header .mega-menu-toggle .mega-toggle-block{
    margin:0 2px !important;
    transform:scale(.82) !important;
    transform-origin:center !important;
  }

  body.woocommerce-shop .wc-block-customer-account,
  body.post-type-archive-product .wc-block-customer-account,
  body.woocommerce-shop .wc-block-mini-cart,
  body.post-type-archive-product .wc-block-mini-cart{
    transform:scale(.82) !important;
    transform-origin:center !important;
  }

  body.woocommerce-shop .trp-language-switcher,
  body.post-type-archive-product .trp-language-switcher{
    transform:scale(.68) !important;
    transform-origin:top right !important;
  }

  /* Compensar el gran hueco móvil del template de tienda */
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 14px) !important;
    max-width:none !important;
    margin-top:-105px !important;
    margin-bottom:16px !important;
  }

  /* Banner móvil limpio y compacto */
  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    height:168px !important;
    overflow:hidden !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(30,56,44,.08) !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card > img,
  body.post-type-archive-product .mgshop-final-hero-card > img{
    display:block !important;
    width:100% !important;
    height:168px !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:left center !important;
    filter:none !important;
    background:none !important;
  }

  .mgshop-hero-hotspot{
    display:none !important;
  }

  .mgshop-mobile-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    padding:10px 0 0 !important;
  }

  .mgshop-mobile-hero-actions a{
    min-height:42px !important;
    padding:0 16px !important;
    font-size:13px !important;
    border-radius:999px !important;
  }
}

/* ===== v3.6.1 — ÚNICO CAMBIO: subir el banner en escritorio ===== */
@media (min-width:621px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    margin-top:-60px !important;
  }
}

/* =========================================================
   v3.7 — SOLO BANNER: MISMA PROPORCIÓN / ALINEACIÓN DE INICIO
   No modifica menú, productos, videos ni ninguna otra sección.
   ========================================================= */

/* Banner de escritorio: mismo ancho visual del banner de Inicio */
body.woocommerce-shop .mgshop-final-hero,
body.post-type-archive-product .mgshop-final-hero{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1180px,calc(100vw - 48px)) !important;
  max-width:1180px !important;
  margin:28px 0 26px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  clear:both !important;
}

body.woocommerce-shop .mgshop-final-hero-card,
body.post-type-archive-product .mgshop-final-hero-card{
  position:relative !important;
  width:100% !important;
  height:420px !important;
  max-width:1180px !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#fffaf1 !important;
  box-shadow:0 10px 28px rgba(30,56,44,.10) !important;
  line-height:normal !important;
}

/* Imagen COMPLETA: no se recorta. Solo se adapta suavemente a la caja. */
body.woocommerce-shop .mgshop-final-hero-card > img,
body.post-type-archive-product .mgshop-final-hero-card > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:fill !important;
  object-position:center !important;
  filter:none !important;
}

/* Panel izquierdo: cubre el texto inglés de la imagen base y muestra español */
body.woocommerce-shop .mgshop-hero-spanish-copy,
body.post-type-archive-product .mgshop-hero-spanish-copy{
  display:flex !important;
  position:absolute !important;
  z-index:5 !important;
  left:4.3% !important;
  top:8% !important;
  width:39% !important;
  height:84% !important;
  box-sizing:border-box !important;
  padding:24px 36px 22px 22px !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:linear-gradient(90deg,rgba(255,250,240,.99) 0%,rgba(255,250,240,.98) 76%,rgba(255,250,240,.84) 90%,rgba(255,250,240,0) 100%) !important;
}

body.woocommerce-shop .mgshop-hero-kicker,
body.post-type-archive-product .mgshop-hero-kicker{
  display:block !important;
  margin:0 0 10px !important;
  color:#a06d2c !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.23em !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy h1,
body.post-type-archive-product .mgshop-hero-spanish-copy h1{
  margin:0 !important;
  max-width:100% !important;
  color:#123c2c !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:52px !important;
  line-height:.94 !important;
  letter-spacing:-.02em !important;
  font-weight:700 !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy h1 em,
body.post-type-archive-product .mgshop-hero-spanish-copy h1 em{
  display:block !important;
  margin-top:4px !important;
  color:#d7436c !important;
  font-style:italic !important;
}

body.woocommerce-shop .mgshop-hero-spanish-copy p,
body.post-type-archive-product .mgshop-hero-spanish-copy p{
  margin:13px 0 16px !important;
  max-width:31ch !important;
  color:#23483d !important;
  font-size:15px !important;
  line-height:1.35 !important;
}

body.woocommerce-shop .mgshop-hero-actions,
body.post-type-archive-product .mgshop-hero-actions{
  display:flex !important;
  width:100% !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}

body.woocommerce-shop .mgshop-hero-btn,
body.post-type-archive-product .mgshop-hero-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:42px !important;
  padding:0 17px !important;
  box-sizing:border-box !important;
  border-radius:999px !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  font-size:12px !important;
  font-weight:800 !important;
}
body.woocommerce-shop .mgshop-hero-btn.primary,
body.post-type-archive-product .mgshop-hero-btn.primary{
  background:#173e2b !important;
  color:#fff !important;
  border:1px solid #173e2b !important;
}
body.woocommerce-shop .mgshop-hero-btn.secondary,
body.post-type-archive-product .mgshop-hero-btn.secondary{
  background:#fff !important;
  color:#173e2b !important;
  border:1px solid #315849 !important;
}

/* Panel derecho sobre el texto inglés de la imagen base */
body.woocommerce-shop .mgshop-hero-right-copy,
body.post-type-archive-product .mgshop-hero-right-copy{
  display:block !important;
  position:absolute !important;
  z-index:5 !important;
  right:4.2% !important;
  top:39% !important;
  width:18% !important;
  padding:14px 10px !important;
  box-sizing:border-box !important;
  border-radius:18px !important;
  background:rgba(45,31,21,.72) !important;
  color:#fff !important;
  text-align:center !important;
  font-family:cursive !important;
  font-size:28px !important;
  line-height:1.08 !important;
  transform:rotate(-2deg) !important;
}

/* Anular hotspots/botones móviles de versiones anteriores */
.mgshop-hero-hotspot,
.mgshop-mobile-hero-actions{
  display:none !important;
}

/* Tablet: misma lógica, sin tocar el resto de la página */
@media(max-width:900px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 28px) !important;
  }
  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    height:auto !important;
    aspect-ratio:2.81 / 1 !important;
  }
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    width:42% !important;
    padding:14px 18px !important;
  }
  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:clamp(28px,4.4vw,46px) !important;
  }
  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    font-size:12px !important;
    margin:8px 0 10px !important;
  }
  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    min-height:34px !important;
    padding:0 10px !important;
    font-size:10px !important;
  }
  body.woocommerce-shop .mgshop-hero-right-copy,
  body.post-type-archive-product .mgshop-hero-right-copy{
    font-size:20px !important;
  }
}

/* Móvil: misma imagen sin recortar personajes; texto limpio debajo */
@media(max-width:620px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    width:calc(100vw - 16px) !important;
    margin:16px 0 20px !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    aspect-ratio:auto !important;
    background:#fffaf4 !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card > img,
  body.post-type-archive-product .mgshop-final-hero-card > img{
    position:relative !important;
    inset:auto !important;
    order:1 !important;
    width:100% !important;
    height:185px !important;
    object-fit:cover !important;
    object-position:78% center !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    order:2 !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    padding:18px !important;
    overflow:visible !important;
    border-radius:0 !important;
    background:#fffaf4 !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:34px !important;
    line-height:.98 !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    max-width:none !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  body.woocommerce-shop .mgshop-hero-actions,
  body.post-type-archive-product .mgshop-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    width:100% !important;
    min-height:42px !important;
    font-size:13px !important;
  }

  body.woocommerce-shop .mgshop-hero-right-copy,
  body.post-type-archive-product .mgshop-hero-right-copy{
    display:none !important;
  }
}


/* =========================================================
   v3.7.3 — ÚNICO CAMBIO: ALINEACIÓN HORIZONTAL DEL BANNER
   Mantiene exactamente el banner de v3.7 (imagen, alto, texto,
   botones y comportamiento responsive). Solo corrige su posición
   para centrarlo respecto a la ventana completa del navegador.
   ========================================================= */
@media (min-width: 901px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    position:relative !important;
    left:auto !important;
    transform:none !important;

    /* romper únicamente el contenedor estrecho del tema */
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:0 !important;

    /* conservar exactamente la separación vertical de v3.7 */
    margin-top:28px !important;
    margin-bottom:26px !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    /* mismo tamaño del banner v3.7, pero centrado en el viewport */
    width:min(1180px, calc(100vw - 48px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* =========================================================
   v3.7.4 — ALINEACIÓN EXACTA + MÓVIL SIN IMAGEN CORTADA
   Solo afecta el banner de Tienda.
   ========================================================= */

/* El section ya no intenta centrar por sí mismo: el JS centra la tarjeta
   usando coordenadas reales del viewport. */
body.woocommerce-shop .mgshop-final-hero,
body.post-type-archive-product .mgshop-final-hero{
  position:relative !important;
  left:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  margin:18px 0 0 !important;
  padding:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

body.woocommerce-shop .mgshop-final-hero-card,
body.post-type-archive-product .mgshop-final-hero-card{
  overflow:hidden !important;
  border-radius:18px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.mgshop-hero-picture{
  display:block !important;
  width:100% !important;
  line-height:0 !important;
}

.mgshop-hero-picture > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Desktop mantiene exactamente el diseño actual del banner. */
@media(min-width:621px){
  .mgshop-hero-picture{
    position:relative !important;
  }
}

/* Móvil: muestra una imagen específica con los personajes completos.
   El texto español y los botones continúan debajo, como tarjeta responsive. */
@media(max-width:620px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    margin-top:16px !important;
  }

  body.woocommerce-shop .mgshop-final-hero-card,
  body.post-type-archive-product .mgshop-final-hero-card{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:14px !important;
  }

  .mgshop-hero-picture{
    order:1 !important;
    position:relative !important;
    width:100% !important;
  }

  .mgshop-hero-picture > img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    order:2 !important;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    padding:18px 18px 20px !important;
    overflow:visible !important;
    background:#fffaf4 !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-shop .mgshop-hero-right-copy,
  body.post-type-archive-product .mgshop-hero-right-copy{
    display:none !important;
  }
}


/* =========================================================
   v3.7.5 — TODO ALINEADO EXACTAMENTE COMO EL BANNER
   Banner + colecciones + video/promoción + productos usan
   el mismo ancho visual: 1180 px máximo, centrado al viewport.
   El JS corrige la posición exacta cuando el tema encierra
   WooCommerce dentro de un contenedor más estrecho.
   ========================================================= */
body.woocommerce-shop .mgshop-category-section,
body.woocommerce-shop .mgshop-custom-products,
body.post-type-archive-product .mgshop-category-section,
body.post-type-archive-product .mgshop-custom-products{
  width:min(1180px, calc(100vw - 48px)) !important;
  max-width:1180px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
  clear:both !important;
}

/* Los bloques internos aprovechan todo el ancho del nuevo eje. */
body.woocommerce-shop .mgshop-section-head,
body.woocommerce-shop .mgshop-category-grid,
body.woocommerce-shop .mgshop-details-promo,
body.woocommerce-shop .mgshop-products-heading,
body.woocommerce-shop .mgshop-product-card-grid,
body.post-type-archive-product .mgshop-section-head,
body.post-type-archive-product .mgshop-category-grid,
body.post-type-archive-product .mgshop-details-promo,
body.post-type-archive-product .mgshop-products-heading,
body.post-type-archive-product .mgshop-product-card-grid{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* El bloque de MG Media también queda dentro de las mismas guías del banner. */
body.woocommerce-shop #mgshop-categorias .mgmedia-shortcode-block,
body.post-type-archive-product #mgshop-categorias .mgmedia-shortcode-block{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

@media(max-width:620px){
  body.woocommerce-shop .mgshop-category-section,
  body.woocommerce-shop .mgshop-custom-products,
  body.post-type-archive-product .mgshop-category-section,
  body.post-type-archive-product .mgshop-custom-products{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
  }
}


/* =========================================================
   v3.7.6 — SUBIR TODO EL BLOQUE PARA OCUPAR EL HUECO SUPERIOR
   El JS mide el espacio real y colapsa el vacío encima del banner.
   Esta regla solo fija una base segura para desktop.
   ========================================================= */
@media (min-width:621px){
  body.woocommerce-shop .mgshop-final-hero,
  body.post-type-archive-product .mgshop-final-hero{
    margin-top:18px !important;
  }
}


/* =========================================================
   v3.7.7 — FIX TEXTO SUPERIOR Y BOTONES DEL BANNER
   Corrige recorte de letras superiores y de los botones en desktop.
   ========================================================= */
@media (min-width:621px){
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    left:4.3% !important;
    top:6.2% !important;
    width:39% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:18px 28px 20px 18px !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-shop .mgshop-hero-kicker,
  body.post-type-archive-product .mgshop-hero-kicker{
    margin:0 0 8px !important;
    line-height:1.2 !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:50px !important;
    line-height:1.01 !important;
    margin:0 0 10px !important;
    overflow:visible !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1 em,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1 em{
    margin-top:6px !important;
    line-height:.98 !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    margin:10px 0 14px !important;
    font-size:14px !important;
    line-height:1.35 !important;
    max-width:33ch !important;
  }

  body.woocommerce-shop .mgshop-hero-actions,
  body.post-type-archive-product .mgshop-hero-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    width:auto !important;
    overflow:visible !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    min-height:40px !important;
    padding:0 18px !important;
    font-size:12px !important;
    line-height:1 !important;
    overflow:visible !important;
  }
}

@media (min-width:621px) and (max-width:980px){
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    width:42% !important;
    top:5.5% !important;
    padding:14px 18px 18px 14px !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:clamp(32px,4.2vw,42px) !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    font-size:12px !important;
    margin:8px 0 12px !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    min-height:36px !important;
    padding:0 12px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   v3.7.8 — BANNER ROBUSTO: TEXTO + DOS BOTONES SIEMPRE VISIBLES
   Corrige definitivamente el desborde vertical del panel izquierdo.
   Mantiene el banner, alineación y posición aprobados.
   ========================================================= */

/* Escritorio amplio */
@media (min-width:981px){
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    left:4.3% !important;
    top:4.5% !important;
    bottom:4.5% !important;
    width:40.5% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:12px 24px 12px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-shop .mgshop-hero-kicker,
  body.post-type-archive-product .mgshop-hero-kicker{
    margin:0 0 7px !important;
    font-size:11px !important;
    line-height:1.15 !important;
    letter-spacing:.22em !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    margin:0 !important;
    font-size:46px !important;
    line-height:.98 !important;
    letter-spacing:-.018em !important;
    overflow:visible !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1 em,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1 em{
    margin-top:5px !important;
    line-height:.96 !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    margin:10px 0 12px !important;
    max-width:34ch !important;
    font-size:13.5px !important;
    line-height:1.3 !important;
  }

  body.woocommerce-shop .mgshop-hero-actions,
  body.post-type-archive-product .mgshop-hero-actions{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    min-height:38px !important;
    height:38px !important;
    padding:0 14px !important;
    font-size:11.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
  }
}

/* Portátiles/tablet horizontal: conservar los dos botones en una sola fila */
@media (min-width:621px) and (max-width:980px){
  body.woocommerce-shop .mgshop-hero-spanish-copy,
  body.post-type-archive-product .mgshop-hero-spanish-copy{
    left:4% !important;
    top:4% !important;
    bottom:4% !important;
    width:43% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:10px 14px !important;
    justify-content:center !important;
    overflow:visible !important;
  }

  body.woocommerce-shop .mgshop-hero-kicker,
  body.post-type-archive-product .mgshop-hero-kicker{
    margin-bottom:5px !important;
    font-size:9px !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy h1,
  body.post-type-archive-product .mgshop-hero-spanish-copy h1{
    font-size:clamp(30px,4.1vw,40px) !important;
    line-height:.97 !important;
  }

  body.woocommerce-shop .mgshop-hero-spanish-copy p,
  body.post-type-archive-product .mgshop-hero-spanish-copy p{
    margin:7px 0 9px !important;
    font-size:11px !important;
    line-height:1.25 !important;
  }

  body.woocommerce-shop .mgshop-hero-actions,
  body.post-type-archive-product .mgshop-hero-actions{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
    width:100% !important;
  }

  body.woocommerce-shop .mgshop-hero-btn,
  body.post-type-archive-product .mgshop-hero-btn{
    flex:0 1 auto !important;
    min-height:32px !important;
    height:32px !important;
    padding:0 9px !important;
    font-size:9.5px !important;
    white-space:nowrap !important;
  }
}
