
:root{
  --mgf-green:#173e2b;
  --mgf-green-2:#244f38;
  --mgf-pink:#d9416c;
  --mgf-pink-soft:#f9e3e7;
  --mgf-cream:#fff9f3;
  --mgf-border:#ecd8d1;
  --mgf-gold:#c98b2b;
  --mgf-ink:#17372b;
}

body.tax-product_cat.term-flores{
  background:#fffdf9;
}

body.tax-product_cat.term-flores .woocommerce-products-header{
  display:none !important;
}

body.tax-product_cat.term-flores .site-main,
body.tax-product_cat.term-flores .content-area,
body.tax-product_cat.term-flores main{
  max-width:none !important;
  width:100% !important;
}

.mgf-hero{
  width:100vw;
  margin-left:calc(50% - 50vw);
  background:
    radial-gradient(circle at 7% 12%, rgba(255,255,255,.95) 0 18%, transparent 36%),
    radial-gradient(circle at 92% 18%, rgba(244,172,194,.35) 0 18%, transparent 38%),
    linear-gradient(105deg,#fffaf5 0%,#fff0ec 46%,#f7d8df 100%);
  overflow:hidden;
  border-top:1px solid #f3e2dc;
  border-bottom:1px solid #edd9d2;
}

.mgf-hero-inner{
  max-width:1240px;
  margin:0 auto;
  min-height:500px;
  display:grid;
  grid-template-columns:45% 55%;
  align-items:stretch;
}

.mgf-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px 30px 56px 18px;
}

.mgf-kicker,
.mgf-mini-kicker{
  color:#ad6e29;
  letter-spacing:.22em;
  font-weight:800;
  font-size:12px;
}

.mgf-hero h1{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--mgf-green);
  font-size:clamp(46px,5vw,72px);
  line-height:.98;
  letter-spacing:-.025em;
  margin:10px 0 18px;
  max-width:600px;
}

.mgf-hero p{
  max-width:520px;
  font-size:18px;
  line-height:1.45;
  color:#40544a;
  margin:0 0 26px;
}

.mgf-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.mgf-btn{
  display:inline-flex;
  padding:13px 22px;
  border-radius:999px;
  font-weight:800;
  text-decoration:none !important;
  transition:.2s ease;
}

.mgf-btn:hover{transform:translateY(-1px)}
.mgf-btn-primary{background:var(--mgf-green);color:#fff !important}
.mgf-btn-secondary{background:#fff;color:var(--mgf-green) !important;border:1px solid #b9c7bf}

.mgf-hero-visual{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:500px;
}

.mgf-floral-glow{
  position:absolute;
  inset:8% -5% 0 8%;
  background:
    radial-gradient(circle at 75% 15%, rgba(239,127,165,.30), transparent 25%),
    radial-gradient(circle at 55% 75%, rgba(248,185,198,.30), transparent 28%),
    radial-gradient(circle at 88% 72%, rgba(213,117,143,.20), transparent 24%);
  filter:blur(8px);
}

.mgf-hero-visual img{
  position:relative;
  z-index:2;
  width:min(100%,700px);
  max-height:490px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 22px rgba(39,20,14,.12));
}

.mgf-script{
  position:absolute;
  z-index:3;
  right:20px;
  bottom:34px;
  background:rgba(23,62,43,.90);
  color:#fff;
  padding:10px 14px;
  border-radius:14px;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:18px;
}

.mgf-category-section{
  max-width:1240px;
  margin:40px auto 24px;
  padding:0 18px;
}

.mgf-section-head{
  margin-bottom:18px;
}

.mgf-section-head h2,
.mgf-products-heading h2,
.mgf-character-card h2{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--mgf-ink);
}

.mgf-section-head h2{
  font-size:34px;
  margin:5px 0 5px;
}

.mgf-section-head p{
  margin:0;
  color:#65736b;
}

.mgf-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:38px;
}

.mgf-cat-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 24px;
  gap:10px;
  align-items:center;
  min-height:94px;
  padding:14px;
  border:1px solid var(--mgf-border);
  border-radius:16px;
  background:#fff8f5;
  text-decoration:none !important;
  color:#263e34 !important;
  transition:.2s ease;
}

.mgf-cat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(68,42,33,.08);
}

.mgf-cat-card.is-all{
  background:linear-gradient(135deg,#173e2b,#2e6044);
  color:#fff !important;
  border-color:#173e2b;
}

.mgf-cat-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#fff;
  font-size:29px;
}

.mgf-cat-card strong{
  display:block;
  font-size:15px;
  line-height:1.2;
}

.mgf-cat-card small{
  display:block;
  margin-top:4px;
  color:inherit;
  opacity:.75;
  line-height:1.3;
}

.mgf-cat-card b{
  color:var(--mgf-pink);
  font-size:20px;
}

.mgf-cat-card.is-all b{color:#fff}

.mgf-products-heading{
  padding-top:5px;
  border-top:1px solid #eaded8;
  margin-bottom:16px;
}

.mgf-products-heading h2{
  margin:5px 0 0;
  font-size:32px;
}

/* WooCommerce product grid */
body.tax-product_cat.term-flores ul.products{
  max-width:1240px;
  margin:0 auto !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

body.tax-product_cat.term-flores ul.products::before,
body.tax-product_cat.term-flores ul.products::after{
  display:none !important;
}

body.tax-product_cat.term-flores ul.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  border:1px solid var(--mgf-border);
  background:linear-gradient(180deg,#fffdfb,#fff5f2);
  border-radius:18px;
  overflow:hidden;
  padding:0 0 18px !important;
  box-shadow:0 8px 22px rgba(69,44,34,.04);
}

body.tax-product_cat.term-flores ul.products li.product a img{
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:cover;
  margin:0 0 16px !important;
  background:#fff;
}

body.tax-product_cat.term-flores ul.products li.product .woocommerce-loop-product__title{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--mgf-ink);
  font-size:24px !important;
  padding:0 18px !important;
  margin:0 0 8px !important;
}

body.tax-product_cat.term-flores ul.products li.product .price{
  color:var(--mgf-pink) !important;
  font-size:20px !important;
  font-weight:800;
  padding:0 18px;
}

body.tax-product_cat.term-flores ul.products li.product .button{
  margin:12px 18px 0 !important;
  background:var(--mgf-green) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:12px 18px !important;
  font-weight:800 !important;
}

/* Result count + ordering */
body.tax-product_cat.term-flores .woocommerce-result-count,
body.tax-product_cat.term-flores .woocommerce-ordering{
  max-width:1240px;
}

body.tax-product_cat.term-flores .woocommerce-result-count{
  margin-left:max(18px,calc((100vw - 1240px)/2 + 18px));
}

body.tax-product_cat.term-flores .woocommerce-ordering{
  margin-right:max(18px,calc((100vw - 1240px)/2 + 18px));
}

/* Characters section */
.mgf-character-strip{
  max-width:1240px;
  margin:48px auto 60px;
  padding:0 18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.mgf-character-card{
  min-height:260px;
  display:grid;
  grid-template-columns:52% 48%;
  align-items:stretch;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--mgf-border);
  background:linear-gradient(135deg,#fdecee,#fff7f2);
}

.mgf-character-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:25px;
}

.mgf-character-copy span{
  color:var(--mgf-pink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}

.mgf-character-copy h2{
  font-size:29px;
  line-height:1.03;
  margin:8px 0 10px;
}

.mgf-character-copy p{
  color:#65595b;
  line-height:1.4;
  margin:0 0 16px;
}

.mgf-character-copy a{
  align-self:flex-start;
  background:var(--mgf-green);
  color:#fff !important;
  padding:11px 18px;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:800;
}

.mgf-character-image{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
}

.mgf-character-image img{
  width:100%;
  height:250px;
  object-fit:contain;
  object-position:center bottom;
}

@media (max-width: 980px){
  .mgf-hero-inner{grid-template-columns:1fr}
  .mgf-hero-copy{padding:42px 24px 10px}
  .mgf-hero-visual{min-height:380px}
  .mgf-category-grid{grid-template-columns:repeat(2,1fr)}
  body.tax-product_cat.term-flores ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .mgf-character-strip{grid-template-columns:1fr}
}

@media (max-width: 580px){
  .mgf-hero h1{font-size:44px}
  .mgf-hero p{font-size:16px}
  .mgf-category-grid{grid-template-columns:1fr}
  body.tax-product_cat.term-flores ul.products{
    grid-template-columns:1fr !important;
  }
  .mgf-character-card{grid-template-columns:1fr}
  .mgf-character-image{order:-1}
  .mgf-character-image img{height:220px}
}


/* ===== v1.1 corrections ===== */

/* Hide the previous/default archive title/banner that was appearing above this design. */
body.tax-product_cat.term-flores .woocommerce-products-header,
body.tax-product_cat.term-flores header.woocommerce-products-header,
body.tax-product_cat.term-flores .archive-header,
body.tax-product_cat.term-flores .page-header,
body.tax-product_cat.term-flores .taxonomy-description,
body.tax-product_cat.term-flores .term-description{
  display:none !important;
}

/* Some themes wrap their category heading inside the main content. */
body.tax-product_cat.term-flores main > h1.page-title,
body.tax-product_cat.term-flores .site-main > h1.page-title{
  display:none !important;
}

/* Make anchors land cleanly below sticky headers. */
#mgf-categorias,
#mgf-productos{
  scroll-margin-top:120px;
}

/* Hero proportions */
.mgf-hero-inner{
  min-height:480px !important;
  grid-template-columns:46% 54% !important;
}
.mgf-hero-copy{
  padding-top:46px !important;
  padding-bottom:46px !important;
}
.mgf-hero-visual{
  min-height:480px !important;
  overflow:hidden !important;
  justify-content:flex-end !important;
}
.mgf-hero-visual img{
  width:auto !important;
  height:475px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  margin-right:18px !important;
}

/* Make category cards clearly clickable. */
.mgf-cat-card{
  cursor:pointer !important;
  position:relative;
}
.mgf-cat-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  pointer-events:none;
}
.mgf-cat-card:hover::after{
  box-shadow:inset 0 0 0 2px rgba(217,65,108,.14);
}

/* Product section spacing */
body.tax-product_cat.term-flores .woocommerce-result-count,
body.tax-product_cat.term-flores .woocommerce-ordering{
  margin-top:8px !important;
}

/* Keep old theme headings hidden even if dynamically injected later. */
body.tax-product_cat.term-flores .woocommerce-products-header__title{
  display:none !important;
}

@media (max-width:980px){
  .mgf-hero-inner{
    grid-template-columns:1fr !important;
  }
  .mgf-hero-visual{
    min-height:390px !important;
    justify-content:center !important;
  }
  .mgf-hero-visual img{
    height:380px !important;
    margin-right:0 !important;
  }
}


/* ===== v3.0: KEEP THE REAL SITE HEADER/MENU =====
   This plugin deliberately does NOT create, hide, or restyle the site's header/navigation.
   It only styles WooCommerce content inside the Flores archive.
*/

/* Hide only archive title/description blocks inside the product archive content.
   Never hide the global site header. */
body.tax-product_cat.term-flores .woocommerce-products-header,
body.tax-product_cat.term-flores .woocommerce-products-header__title,
body.tax-product_cat.term-flores .taxonomy-description,
body.tax-product_cat.term-flores .term-description,
body.tax-product_cat.term-flores main .page-header,
body.tax-product_cat.term-flores main .archive-header,
body.tax-product_cat.term-flores main > header:not(.site-header):not(.elementor-location-header){
  display:none !important;
}

/* Approved single-image Flores banner */
.mgf-final-hero{
  width:calc(100% - 36px);
  max-width:1180px;
  margin:20px auto 0;
  padding:0;
}
.mgf-final-hero-card{
  position:relative;
  width:100%;
  border-radius:22px;
  overflow:hidden;
  border:1px solid #ecd8d1;
  box-shadow:0 10px 28px rgba(55,40,31,.05);
  background:#fff;
}
.mgf-final-hero-card > img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.mgf-hero-hotspot{
  position:absolute;
  z-index:5;
  display:block;
  border-radius:999px;
  background:transparent;
}
.mgf-hero-hotspot-flores{
  left:6.5%;
  top:75%;
  width:14.5%;
  height:11%;
}
.mgf-hero-hotspot-categorias{
  left:21.2%;
  top:75%;
  width:16.5%;
  height:11%;
}

/* Keep content width aligned with Home page */
.mgf-category-section,
.mgf-character-strip{
  max-width:1180px !important;
}
body.tax-product_cat.term-flores ul.products{
  max-width:1180px !important;
}

/* Character image links */
.mgf-character-image{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  text-decoration:none !important;
}
.mgf-character-image img{
  width:100%;
  height:270px;
  object-fit:contain;
  object-position:center bottom;
}

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

@media (max-width:900px){
  .mgf-final-hero{
    width:calc(100% - 24px);
    margin-top:14px;
  }
}


/* ===== v3.2: remove ONLY the legacy category banner/title above our custom hero ===== */
body.tax-product_cat.term-flores .woocommerce-products-header,
body.tax-product_cat.term-flores .woocommerce-products-header__title,
body.tax-product_cat.term-flores .term-description,
body.tax-product_cat.term-flores .taxonomy-description,
body.tax-product_cat.term-flores .archive-description,
body.tax-product_cat.term-flores .archive-title,
body.tax-product_cat.term-flores .page-title,
body.tax-product_cat.term-flores .woocommerce-loop-header,
body.tax-product_cat.term-flores .wc-block-product-collection__header,
body.tax-product_cat.term-flores .wp-block-query-title,
body.tax-product_cat.term-flores .wp-block-term-description{
  display:none !important;
}

/* Keep the actual site header/menu untouched */
body.tax-product_cat.term-flores .elementor-location-header,
body.tax-product_cat.term-flores #masthead,
body.tax-product_cat.term-flores header.site-header{
  visibility:visible !important;
  opacity:1 !important;
}




/* ===== v3.6: mismas dimensiones y comportamiento del banner de Inicio =====
   Replica la geometría del plugin Medellín Gardens - Página de Inicio v1.9. */
body.tax-product_cat.term-flores .mgf-final-hero{
  position:relative !important;
  left:50% !important;
  transform:none !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:20px 0 0 -50vw !important;
  padding:0 !important;
  overflow:visible !important;
}
body.tax-product_cat.term-flores .mgf-final-hero-card{
  position:relative !important;
  width:min(100%, 2048px) !important;
  max-width:2048px !important;
  margin:0 auto !important;
  padding:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  border:1px solid #ecd8d1 !important;
  box-shadow:0 10px 28px rgba(55,40,31,.05) !important;
  background:#fff !important;
}
body.tax-product_cat.term-flores .mgf-final-hero-card > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
}
@media (max-width:900px){
  body.tax-product_cat.term-flores .mgf-final-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:-50vw !important;
    margin-top:14px !important;
  }
}

/* v3.8 — Premium product cards inspired by Home featured products */
body.tax-product_cat.term-flores ul.products{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}

body.tax-product_cat.term-flores ul.products li.product{
  position:relative;
  min-height:390px;
  padding:26px 24px 24px !important;
  border:1px solid #edcfc9 !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,#fff8f7 0%,#fff3f1 100%) !important;
  box-shadow:0 10px 28px rgba(89,50,40,.06) !important;
  overflow:hidden;
}

body.tax-product_cat.term-flores ul.products li.product::before{
  content:'Featured Bouquet';
  position:absolute;
  top:18px;
  left:20px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 13px;
  border-radius:999px;
  background:#f7c9d7;
  color:#c7345f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}
body.tax-product_cat.term-flores ul.products li.product:nth-child(even)::before{
  content:'Favorite Gift';
}

body.tax-product_cat.term-flores ul.products li.product::after{
  content:'';
  position:absolute;
  top:14px;
  right:18px;
  z-index:5;
  width:64px;
  height:64px;
  border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 5px 16px rgba(80,45,38,.14);
  background:#fde9ed url('face-male.png') center/cover no-repeat;
}
body.tax-product_cat.term-flores ul.products li.product:nth-child(even)::after{
  background-image:url('face-female.png');
}

body.tax-product_cat.term-flores ul.products li.product .woocommerce-LoopProduct-link{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(210px,1.08fr);
  grid-template-rows:auto auto 1fr;
  column-gap:22px;
  align-items:start;
  text-decoration:none !important;
  color:inherit !important;
  padding-top:46px;
}

body.tax-product_cat.term-flores ul.products li.product a img{
  grid-column:2;
  grid-row:1 / span 3;
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:contain !important;
  margin:0 !important;
  align-self:center;
  border-radius:16px;
  background:#fffaf8;
}

body.tax-product_cat.term-flores ul.products li.product .woocommerce-loop-product__title{
  grid-column:1;
  grid-row:1;
  padding:0 !important;
  margin:0 0 8px !important;
  max-width:78%;
  color:#123c2c !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:32px !important;
  line-height:1.02 !important;
  font-weight:700 !important;
  letter-spacing:-.02em;
}

body.tax-product_cat.term-flores ul.products li.product .price{
  grid-column:1;
  grid-row:2;
  padding:0 !important;
  margin:0 0 12px !important;
  color:#df3d67 !important;
  font-size:24px !important;
  line-height:1.2;
  font-weight:900 !important;
}

body.tax-product_cat.term-flores .mgf-loop-excerpt{
  grid-column:1;
  grid-row:3;
  max-width:96%;
  margin:0 0 64px;
  color:#5d625f;
  font-size:14px;
  line-height:1.5;
}

body.tax-product_cat.term-flores ul.products li.product .button{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:6;
  margin:0 !important;
  padding:13px 22px !important;
  min-width:128px;
  text-align:center;
  background:#173e2b !important;
  color:#fff !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:800 !important;
  box-shadow:none !important;
  transition:transform .18s ease, background .18s ease;
}
body.tax-product_cat.term-flores ul.products li.product .button:hover{
  transform:translateY(-2px);
  background:#24543b !important;
}

body.tax-product_cat.term-flores ul.products li.product .woocommerce-loop-product__title:hover{
  color:#d9416c !important;
}

@media (max-width: 900px){
  body.tax-product_cat.term-flores ul.products{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 620px){
  body.tax-product_cat.term-flores ul.products li.product{
    min-height:0;
    padding:22px 18px 78px !important;
  }
  body.tax-product_cat.term-flores ul.products li.product::after{
    width:52px;
    height:52px;
    top:12px;
    right:14px;
  }
  body.tax-product_cat.term-flores ul.products li.product .woocommerce-LoopProduct-link{
    display:flex !important;
    flex-direction:column;
    padding-top:44px;
  }
  body.tax-product_cat.term-flores ul.products li.product a img{
    order:3;
    width:100% !important;
    margin-top:10px !important;
  }
  body.tax-product_cat.term-flores ul.products li.product .woocommerce-loop-product__title{
    max-width:82%;
    font-size:28px !important;
  }
  body.tax-product_cat.term-flores .mgf-loop-excerpt{
    margin-bottom:10px;
  }
  body.tax-product_cat.term-flores ul.products li.product .button{
    left:18px;
    bottom:18px;
  }
}


/* v3.9 — Custom product cards, independent of theme WooCommerce loop */
body.tax-product_cat.term-flores ul.products,
body.tax-product_cat.term-flores .wc-block-product-template,
body.tax-product_cat.term-flores .wp-block-woocommerce-product-template,
body.tax-product_cat.term-flores .woocommerce-pagination,
body.tax-product_cat.term-flores .woocommerce-result-count,
body.tax-product_cat.term-flores .woocommerce-ordering{
  display:none !important;
}

body.tax-product_cat.term-flores .mgf-custom-products{
  width:min(1180px, calc(100% - 32px));
  margin:22px auto 54px;
}

body.tax-product_cat.term-flores .mgf-product-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

body.tax-product_cat.term-flores .mgf-premium-product-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(220px,1.1fr);
  grid-template-areas:"copy image";
  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;
}

body.tax-product_cat.term-flores .mgf-product-badge{
  position:absolute;
  top:18px;
  left:20px;
  z-index:4;
  padding:7px 13px;
  border-radius:999px;
  background:#f8ccd8;
  color:#c9335b;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

body.tax-product_cat.term-flores .mgf-product-face{
  position:absolute;
  top:18px;
  right:20px;
  z-index:5;
  width:52px;
  height:52px;
  object-fit:cover;
  object-position:center 22%;
  border-radius:50%;
  border:3px solid #fff;
  background:#fde9ed;
  box-shadow:0 5px 14px rgba(71,44,37,.16);
}

body.tax-product_cat.term-flores .mgf-product-image-link{
  grid-area:image;
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  text-decoration:none;
}

body.tax-product_cat.term-flores .mgf-product-image{
  display:block;
  width:100%;
  max-width:310px;
  aspect-ratio:1/1;
  object-fit:contain;
  border-radius:16px;
  background:#fffaf8;
}

body.tax-product_cat.term-flores .mgf-product-copy{
  grid-area:copy;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:46px 18px 4px 0;
}

body.tax-product_cat.term-flores .mgf-product-copy h3{
  margin:0 0 9px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,2vw,34px);
  line-height:1.02;
  letter-spacing:-.02em;
}
body.tax-product_cat.term-flores .mgf-product-copy h3 a{
  color:#123c2c;
  text-decoration:none;
}
body.tax-product_cat.term-flores .mgf-product-copy h3 a:hover{color:#d9416c;}

body.tax-product_cat.term-flores .mgf-product-price{
  margin:0 0 12px;
  color:#df3d67;
  font-size:22px;
  line-height:1.2;
  font-weight:900;
}
body.tax-product_cat.term-flores .mgf-product-price del{opacity:.55;font-size:.78em;}
body.tax-product_cat.term-flores .mgf-product-price ins{text-decoration:none;}

body.tax-product_cat.term-flores .mgf-product-copy p{
  margin:0 0 16px;
  max-width:29ch;
  color:#5f625f;
  font-size:13px;
  line-height:1.45;
}

body.tax-product_cat.term-flores .mgf-product-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:auto;
  padding:12px 20px;
  border-radius:999px;
  background:#173e2b;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  transition:transform .18s ease, background .18s ease;
}
body.tax-product_cat.term-flores .mgf-product-link:hover{
  transform:translateY(-2px);
  background:#24543b;
  color:#fff;
}
body.tax-product_cat.term-flores .mgf-product-link span{font-size:18px;line-height:1;}

@media (max-width:900px){
  body.tax-product_cat.term-flores .mgf-product-card-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  body.tax-product_cat.term-flores .mgf-custom-products{width:min(100% - 20px,1180px);}
  body.tax-product_cat.term-flores .mgf-premium-product-card{
    grid-template-columns:1fr;
    grid-template-areas:"image" "copy";
    padding:22px 18px 20px;
  }
  body.tax-product_cat.term-flores .mgf-product-image{max-width:100%; margin-top:42px;}
  body.tax-product_cat.term-flores .mgf-product-copy{padding:18px 0 0;}
  body.tax-product_cat.term-flores .mgf-product-copy h3{font-size:28px;}
  body.tax-product_cat.term-flores .mgf-product-face{width:46px;height:46px;right:14px;top:14px;}
  body.tax-product_cat.term-flores .mgf-product-badge{left:14px;top:16px;}
}


/* =========================================================
   v4.0 — FLORES ALINEADA COMO TIENDA
   Banner + categorías + productos + personajes comparten
   el mismo eje y ancho máximo de 1180px, centrado al viewport.
   ========================================================= */
body.tax-product_cat.term-flores .mgf-final-hero{
  position:relative !important;
  left:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

body.tax-product_cat.term-flores .mgf-final-hero-card{
  width:min(1180px, calc(100vw - 48px)) !important;
  max-width:1180px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(30,56,44,.10) !important;
}

body.tax-product_cat.term-flores .mgf-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;
}

body.tax-product_cat.term-flores .mgf-category-section,
body.tax-product_cat.term-flores .mgf-custom-products,
body.tax-product_cat.term-flores .mgf-character-strip{
  width:min(1180px, calc(100vw - 48px)) !important;
  max-width:1180px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

body.tax-product_cat.term-flores .mgf-category-section{
  margin-top:28px !important;
  margin-bottom:24px !important;
}

body.tax-product_cat.term-flores .mgf-custom-products{
  margin-top:22px !important;
  margin-bottom:54px !important;
}

body.tax-product_cat.term-flores .mgf-character-strip{
  margin-top:48px !important;
  margin-bottom:60px !important;
}

body.tax-product_cat.term-flores .mgf-section-head,
body.tax-product_cat.term-flores .mgf-category-grid,
body.tax-product_cat.term-flores .mgf-products-heading,
body.tax-product_cat.term-flores .mgf-product-card-grid{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  body.tax-product_cat.term-flores .mgf-final-hero-card,
  body.tax-product_cat.term-flores .mgf-category-section,
  body.tax-product_cat.term-flores .mgf-custom-products,
  body.tax-product_cat.term-flores .mgf-character-strip{
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
  }
}

@media(max-width:620px){
  body.tax-product_cat.term-flores .mgf-final-hero{
    margin-top:14px !important;
  }
  body.tax-product_cat.term-flores .mgf-final-hero-card,
  body.tax-product_cat.term-flores .mgf-category-section,
  body.tax-product_cat.term-flores .mgf-custom-products,
  body.tax-product_cat.term-flores .mgf-character-strip{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
  }
  body.tax-product_cat.term-flores .mgf-final-hero-card{
    border-radius:14px !important;
  }
}


/* =========================================================
   v4.1 — BANNER FLORES EDITABLE Y TRADUCIBLE
   El texto del banner ya no depende del texto incrustado en la imagen.
   ========================================================= */
body.tax-product_cat.term-flores .mgf-final-hero-card.mgf-hero-editable{
  position:relative !important;
  height:420px !important;
  line-height:normal !important;
}
body.tax-product_cat.term-flores .mgf-final-hero-card.mgf-hero-editable > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
}
/* Cubre por completo el texto incrustado de la zona izquierda. */
body.tax-product_cat.term-flores .mgf-hero-copy-editable{
  position:absolute !important;
  z-index:5 !important;
  left:2.8% !important;
  top:7% !important;
  width:34.5% !important;
  height:86% !important;
  box-sizing:border-box !important;
  padding:20px 24px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  overflow:visible !important;
  border-radius:16px !important;
  background:linear-gradient(90deg,#fffaf0 0%,#fffaf0 82%,rgba(255,250,240,.94) 91%,rgba(255,250,240,0) 100%) !important;
}
body.tax-product_cat.term-flores .mgf-hero-kicker-editable{
  display:block !important;
  margin:0 0 10px !important;
  color:#a57436 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
}
body.tax-product_cat.term-flores .mgf-hero-copy-editable h1{
  margin:0 !important;
  color:#143c2e !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:47px !important;
  line-height:.98 !important;
  letter-spacing:-.02em !important;
  font-weight:700 !important;
}
body.tax-product_cat.term-flores .mgf-hero-copy-editable h1 span,
body.tax-product_cat.term-flores .mgf-hero-copy-editable h1 em{
  display:block !important;
}
body.tax-product_cat.term-flores .mgf-hero-copy-editable h1 em{
  margin-top:5px !important;
  color:#d34a6d !important;
  font-style:italic !important;
}
body.tax-product_cat.term-flores .mgf-hero-copy-editable p{
  margin:14px 0 16px !important;
  max-width:34ch !important;
  color:#315146 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
body.tax-product_cat.term-flores .mgf-hero-actions-editable{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  overflow:visible !important;
}
body.tax-product_cat.term-flores .mgf-hero-btn-editable{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  min-height:42px !important;
  padding:0 17px !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  font-size:12px !important;
  font-weight:800 !important;
}
body.tax-product_cat.term-flores .mgf-hero-btn-editable.primary{
  background:#143c2e !important;
  color:#fff !important;
  border:1px solid #143c2e !important;
}
body.tax-product_cat.term-flores .mgf-hero-btn-editable.secondary{
  background:#fff !important;
  color:#143c2e !important;
  border:1px solid #315849 !important;
}
/* Cubre el texto incrustado del letrero derecho. */
body.tax-product_cat.term-flores .mgf-hero-right-editable{
  position:absolute !important;
  z-index:5 !important;
  right:2.7% !important;
  top:50% !important;
  width:17% !important;
  padding:17px 10px !important;
  box-sizing:border-box !important;
  transform:translateY(-12%) rotate(-2deg) !important;
  border-radius:16px !important;
  background:rgba(40,29,20,.90) !important;
  color:#fff !important;
  text-align:center !important;
  font-family:cursive !important;
  font-size:28px !important;
  line-height:1.08 !important;
}
/* Ya no se usan hotspots invisibles de la imagen vieja. */
body.tax-product_cat.term-flores .mgf-hero-hotspot{display:none !important;}

@media(max-width:900px){
  body.tax-product_cat.term-flores .mgf-final-hero-card.mgf-hero-editable{height:360px !important;}
  body.tax-product_cat.term-flores .mgf-hero-copy-editable{width:40% !important; left:2.3% !important; padding:16px !important;}
  body.tax-product_cat.term-flores .mgf-hero-copy-editable h1{font-size:clamp(30px,4.4vw,42px) !important;}
  body.tax-product_cat.term-flores .mgf-hero-copy-editable p{font-size:12px !important; margin:9px 0 12px !important;}
  body.tax-product_cat.term-flores .mgf-hero-btn-editable{min-height:36px !important; padding:0 11px !important; font-size:10px !important;}
  body.tax-product_cat.term-flores .mgf-hero-right-editable{display:none !important;}
}

@media(max-width:620px){
  body.tax-product_cat.term-flores .mgf-final-hero-card.mgf-hero-editable{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    overflow:hidden !important;
    background:#fffaf4 !important;
  }
  body.tax-product_cat.term-flores .mgf-final-hero-card.mgf-hero-editable > img{
    order:1 !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:210px !important;
    object-fit:cover !important;
    object-position:58% center !important;
  }
  body.tax-product_cat.term-flores .mgf-hero-copy-editable{
    order:2 !important;
    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;
  }
  body.tax-product_cat.term-flores .mgf-hero-copy-editable h1{font-size:34px !important;}
  body.tax-product_cat.term-flores .mgf-hero-copy-editable p{max-width:none !important; font-size:14px !important;}
  body.tax-product_cat.term-flores .mgf-hero-actions-editable{display:grid !important; grid-template-columns:1fr !important; width:100% !important;}
  body.tax-product_cat.term-flores .mgf-hero-btn-editable{width:100% !important; min-height:44px !important; font-size:13px !important;}
  body.tax-product_cat.term-flores .mgf-hero-right-editable{display:none !important;}
}
