/* Mochi Pop Store 1.6.0 - clean catalog components. No legacy card selectors. */

/* Keep critical catalog content visible immediately. */
.mp2-shop,
.mp2-shop .mp-shop-products,
.mp2-shop .mp2-product-grid{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important}

/* CATEGORY CARDS V2 */
.mp2-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.mp2-category-card{position:relative;min-height:148px;border:2px solid #09090b;border-radius:18px;box-shadow:5px 5px 0 #f04f87;color:#fff!important;padding:14px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;text-decoration:none!important;isolation:isolate}
.mp2-category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28));z-index:-1;pointer-events:none}
.mp2-category-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mp2-category-icon{width:42px;height:42px;border-radius:13px;background:#f486ad;color:#fff;border:2px solid #fff;display:grid;place-items:center}
.mp2-category-icon svg{width:21px;height:21px}
.mp2-category-arrow{width:38px;height:38px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;border:2px solid #111}
.mp2-category-arrow svg{width:17px;height:17px}
.mp2-category-copy{display:flex;flex-direction:column;gap:5px;margin-top:25px}
.mp2-category-copy strong{font-size:21px!important;line-height:1.02!important;font-weight:950!important;letter-spacing:-.025em;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.mp2-category-copy span{font-size:14px!important;line-height:1.15!important;font-weight:900!important;color:#f486ad!important;text-shadow:0 2px 10px rgba(0,0,0,.55)}

/* PRODUCT GRID V2 */
.mp2-product-grid{display:grid;grid-template-columns:1fr;gap:14px;width:100%;max-width:100%;min-width:0}
.mp2-product-card{display:grid;grid-template-columns:40% 60%;width:100%;max-width:100%;min-width:0;background:#fff;border:2px solid #111;border-radius:18px;box-shadow:4px 4px 0 #111;overflow:hidden;color:#111}
.mp2-product-media{position:relative;display:grid;place-items:center;min-width:0;min-height:248px;padding:8px;background:#fff8fb;border-right:2px solid #111;overflow:hidden}
.mp2-product-media img{width:100%;height:100%;max-height:248px;object-fit:contain;display:block}
.mp2-badge{position:absolute;top:9px;left:9px;background:#111;color:#fff;border-radius:999px;padding:6px 9px;font-size:10px;line-height:1;font-weight:900;letter-spacing:.04em;z-index:2}
.mp2-placeholder{display:flex;flex-direction:column;align-items:center;gap:7px;color:#777}.mp2-placeholder svg{width:32px}.mp2-placeholder small{font-size:11px}
.mp2-product-content{min-width:0;padding:13px 12px 12px;display:flex;flex-direction:column}
.mp2-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.mp2-brand{font-size:10px;font-weight:950;letter-spacing:.12em;color:#e94d83;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp2-stock{font-size:10px;font-weight:850;color:#157b4b;background:#ecf8f1;border:1px solid #b9e7cc;border-radius:8px;padding:5px 7px;white-space:nowrap}.mp2-stock.is-out{color:#a82d2d;background:#f8ebeb;border-color:#edc5c5}
.mp2-title{font-size:19px!important;line-height:1.12!important;font-weight:950!important;letter-spacing:-.025em;margin:0 0 5px!important;min-height:0!important}.mp2-title a{font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;color:#111!important;text-decoration:none!important}
.mp2-category{font-size:12px!important;line-height:1.25!important;font-weight:500!important;color:#776a70!important;text-decoration:none!important;margin-bottom:10px}
.mp2-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #eadfe4;padding-top:10px;margin-top:auto}
.mp2-price-box{min-width:0}.mp2-price-box+.mp2-price-box{border-left:1px dashed #decbd3;padding-left:9px}
.mp2-price-label{display:block;font-size:9px!important;line-height:1.1!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.035em!important;color:#6b5a62!important;margin-bottom:5px!important}
.mp2-price-value{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;font-size:24px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.035em!important;white-space:nowrap!important;color:#111!important}
.mp2-wholesale .mp2-price-value{color:#e94d83!important}
.mp2-actions{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:center;margin-top:12px}
.mp2-qty{height:44px;display:grid;grid-template-columns:30px 1fr 30px;border:2px solid #111;border-radius:12px;overflow:hidden;background:#fff}
.mp2-qty button{border:0;background:#fff0f5;color:#111;font-size:17px;font-weight:900;padding:0;cursor:pointer}.mp2-qty input{width:100%!important;min-width:0!important;border:0!important;background:#fff!important;box-shadow:none!important;text-align:center!important;padding:0!important;font-size:15px!important;font-weight:900!important;color:#111!important;-moz-appearance:textfield}.mp2-qty input::-webkit-outer-spin-button,.mp2-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mp2-add{height:44px;min-width:0;border-radius:12px;background:#111;color:#fff!important;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px!important;font-weight:900!important;text-decoration:none!important;padding:0 10px}.mp2-add svg{width:16px;height:16px}.mp2-add:hover{background:#e94d83}.mp2-add.is-disabled{background:#555}

/* Shop controls should never cause horizontal product duplication. */
.mp2-shop .mp-shop-products{min-width:0!important;width:100%!important;max-width:100%!important;overflow:visible!important}
.mp2-shop .mp-shop-layout{min-width:0!important;max-width:100%!important}

@media (max-width:699px){
  html,body,.mp-site,.mp-shop-page,.mp-shop-body,.mp-shop-layout,.mp-shop-products{max-width:100%!important;overflow-x:hidden!important}
  .mp2-shop .mp-shell{width:calc(100% - 24px)!important;max-width:none!important;margin-left:12px!important;margin-right:12px!important}
  .mp2-shop .mp-shop-layout{display:block!important}
  .mp2-product-grid{grid-template-columns:1fr!important;gap:14px!important}
  .mp2-product-card{grid-template-columns:36% 64%!important;border-radius:16px!important}
  .mp2-product-media{min-height:235px!important;padding:7px!important}
  .mp2-product-media img{max-height:235px!important}
  .mp2-product-content{padding:12px 10px 10px!important}
  .mp2-title{font-size:20px!important}
  .mp2-category{font-size:12px!important}
  .mp2-price-label{font-size:9px!important}
  .mp2-price-value{font-size:28px!important}
  .mp2-actions{grid-template-columns:88px minmax(0,1fr)!important;gap:7px!important;margin-top:10px!important}
  .mp2-qty,.mp2-add{height:43px!important}
  .mp2-add{font-size:12px!important}
  .mp2-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .mp2-category-card{min-height:145px!important;padding:13px!important;border-radius:16px!important}
  .mp2-category-copy strong{font-size:19px!important}
  .mp2-category-copy span{font-size:13px!important}
}

@media (max-width:390px){
  .mp2-product-card{grid-template-columns:35% 65%!important}
  .mp2-product-media{min-height:225px!important}
  .mp2-product-media img{max-height:225px!important}
  .mp2-price-value{font-size:27px!important}
  .mp2-actions{grid-template-columns:84px minmax(0,1fr)!important}
  .mp2-title{font-size:18px!important}
  .mp2-category-grid{grid-template-columns:1fr!important}
  .mp2-category-card{min-height:135px!important}
}

@media (min-width:700px){
  .mp2-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .mp2-product-card{display:block;border-radius:16px}
  .mp2-product-media{height:235px;min-height:235px;border-right:0;border-bottom:2px solid #111}
  .mp2-product-media img{max-height:220px}
  .mp2-product-content{padding:14px;min-height:260px}
  .mp2-title{font-size:20px!important}
  .mp2-price-value{font-size:27px!important}
  .mp2-actions{grid-template-columns:104px minmax(0,1fr)}
  .mp2-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
  .mp2-category-card{min-height:185px;padding:17px}
  .mp2-category-copy strong{font-size:27px!important}.mp2-category-copy span{font-size:15px!important}
}

@media (min-width:1180px){
  .mp2-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mp2-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* =========================================================
   MOCHI POP 1.6.1 · DESKTOP PRICE HIERARCHY
   Keep mobile intact. Give desktop cards enough room for real retail pricing.
   ========================================================= */
@media (min-width:700px){
  .mp2-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
  .mp2-product-content{
    padding:16px!important;
  }
  .mp2-title{
    font-size:22px!important;
    line-height:1.15!important;
    margin-bottom:8px!important;
  }
  .mp2-category{
    font-size:13px!important;
    margin-bottom:12px!important;
  }
  .mp2-prices{
    gap:12px!important;
    padding-top:13px!important;
  }
  .mp2-price-label{
    font-size:11px!important;
    margin-bottom:7px!important;
  }
  .mp2-price-value{
    font-size:36px!important;
    line-height:.95!important;
    font-weight:1000!important;
    letter-spacing:-.045em!important;
  }
  .mp2-actions{
    margin-top:15px!important;
  }
}

@media (min-width:1180px){
  .mp2-product-grid,
  .mp2-product-grid-shop,
  .mp2-product-grid-home{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .mp2-price-value{
    font-size:38px!important;
  }
}

@media (min-width:1500px){
  .mp2-price-value{
    font-size:40px!important;
  }
}


/* =========================================================
   MOCHI POP 1.6.2 · LANDSCAPE + CATEGORY COVER + PAYMENT RULES
   ========================================================= */
.mp2-category-card{background:#09090b!important;isolation:isolate!important}
.mp2-category-bg-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;z-index:0!important;opacity:1!important;transform:scale(1.02)}
.mp2-category-shade{position:absolute!important;inset:0!important;display:block!important;background:rgba(0,0,0,.72)!important;z-index:1!important;pointer-events:none}
.mp2-category-top,.mp2-category-copy{position:relative!important;z-index:2!important}
.mp2-category-card.has-cover:hover .mp2-category-bg-image{transform:scale(1.055);transition:transform .25s ease}

/* A phone in landscape must not inherit the full desktop pricing scale. */
@media (orientation:landscape) and (max-height:650px) and (max-width:1100px){
  .mp2-product-grid,
  .mp2-product-grid-shop,
  .mp2-product-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .mp2-product-card{display:block!important}
  .mp2-product-media{height:205px!important;min-height:205px!important;border-right:0!important;border-bottom:2px solid #111!important}
  .mp2-product-media img{max-height:195px!important}
  .mp2-product-content{padding:13px!important;min-height:0!important}
  .mp2-title{font-size:19px!important;line-height:1.12!important}
  .mp2-category{font-size:12px!important}
  .mp2-prices{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .mp2-price-label{font-size:10px!important;line-height:1.1!important}
  .mp2-price-value{font-size:27px!important;line-height:1!important;white-space:nowrap!important}
  .mp2-actions{grid-template-columns:98px minmax(0,1fr)!important;gap:8px!important}
  .mp2-qty,.mp2-add{height:43px!important}
}

/* Payment area: keep the selected method readable on mobile. */
.mp-woo-card #payment ul.payment_methods li{font-size:14px!important;line-height:1.45!important}
.mp-woo-card #payment ul.payment_methods li label{font-weight:850!important}
.mp-woo-card #payment .payment_box{font-size:13px!important;line-height:1.5!important}


/* Payment rule notice 1.7.0 */
.mp-payment-rule{margin:0 0 14px;padding:13px 14px;border:2px solid #111;border-radius:14px;background:#fff0f5;color:#111;display:flex;flex-direction:column;gap:4px}
.mp-payment-rule strong{font-size:14px;line-height:1.2;font-weight:950}
.mp-payment-rule span{font-size:12px;line-height:1.45;color:#55474d}
.mp-payment-rule-wholesale{background:#111;color:#fff;border-color:#111;box-shadow:4px 4px 0 #f486ad}
.mp-payment-rule-wholesale strong{color:#fff}
.mp-payment-rule-wholesale span{color:#f3e9ed}
@media(max-width:699px){.mp-payment-rule{padding:12px}.mp-payment-rule strong{font-size:15px}.mp-payment-rule span{font-size:12.5px}}


/* Mochi Pop 1.7.1 · portal propio de pago contra entrega */
.payment_method_mp_cod > label{font-weight:900!important;color:#111!important}
.payment_method_mp_cod .payment_box{background:#fff7fa!important;border:2px solid #111!important;border-radius:16px!important;padding:0!important;overflow:hidden!important}
.payment_method_mp_cod .payment_box:before{display:none!important}
.mp-cod-portal{padding:16px;background:linear-gradient(180deg,#fff 0%,#fff5f9 100%);color:#111}
.mp-cod-portal-head{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #ecdce3}
.mp-cod-portal-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#111;color:#fff;flex:none}
.mp-cod-portal-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mp-cod-portal-head strong,.mp-cod-portal-head small{display:block}.mp-cod-portal-head strong{font-size:15px;line-height:1.2}.mp-cod-portal-head small{font-size:11px;color:#796b71;margin-top:3px}
.mp-cod-portal-points{display:grid;gap:8px;padding-top:13px}.mp-cod-portal-points span{position:relative;padding-left:18px;font-size:12px;line-height:1.45;color:#5d5055}.mp-cod-portal-points span:before{content:"";position:absolute;left:1px;top:.52em;width:7px;height:7px;border-radius:50%;background:#f486ad}
@media(max-width:560px){.mp-cod-portal{padding:14px}.mp-cod-portal-head strong{font-size:16px}.mp-cod-portal-points span{font-size:13px}}


/* =========================================================
   MOCHI POP 1.7.4 · IPAD/TABLET PRICE LAYOUT + ORIENTATION FIX
   ========================================================= */

/* Price boxes must own their space instead of colliding. */
.mp2-prices{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:end!important;
}
.mp2-price-box{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.mp2-price-value{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* iPad, tablets and wide phones: two generous cards instead of three cramped cards. */
@media (min-width:700px) and (max-width:1179px){
  .mp2-product-grid,
  .mp2-product-grid-shop,
  .mp2-product-grid-home{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .mp2-product-card{
    display:block!important;
    min-width:0!important;
  }
  .mp2-product-media{
    height:225px!important;
    min-height:225px!important;
    border-right:0!important;
    border-bottom:2px solid #111!important;
  }
  .mp2-product-media img{max-height:212px!important}
  .mp2-product-content{
    padding:15px!important;
    min-height:0!important;
  }
  .mp2-title{
    font-size:21px!important;
    line-height:1.14!important;
  }
  .mp2-prices{
    gap:10px!important;
    padding-top:12px!important;
  }
  .mp2-price-box+.mp2-price-box{
    padding-left:10px!important;
  }
  .mp2-price-label{
    font-size:10.5px!important;
    line-height:1.1!important;
  }
  .mp2-price-value{
    font-size:clamp(29px,3.25vw,34px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
  }
  .mp2-actions{
    grid-template-columns:100px minmax(0,1fr)!important;
    gap:9px!important;
  }
}

/* Landscape phones can cross the 700px breakpoint. Keep them out of desktop sizing. */
@media (orientation:landscape) and (min-width:700px) and (max-width:1100px) and (max-height:650px){
  .mp2-product-grid,
  .mp2-product-grid-shop,
  .mp2-product-grid-home{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .mp2-product-media{
    height:190px!important;
    min-height:190px!important;
  }
  .mp2-product-media img{max-height:180px!important}
  .mp2-product-content{padding:12px!important}
  .mp2-title{font-size:18px!important}
  .mp2-price-label{font-size:9.5px!important}
  .mp2-price-value{
    font-size:clamp(25px,3.1vw,30px)!important;
  }
  .mp2-actions{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:7px!important;
  }
}

/* Full desktop keeps the larger retail price hierarchy. */
@media (min-width:1180px){
  .mp2-price-box{overflow:visible!important}
  .mp2-price-value{overflow:visible!important}
}
