
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f5f6f8;color:#171717}
header{position:sticky;top:0;z-index:5;background:#050505;color:#fff;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 3px 18px #0004}
.brand{display:flex;align-items:center;gap:18px}.logo{border:2px solid #fff;padding:7px 12px;text-align:center;line-height:1}.logo strong{font-size:26px}.logo small{font-size:8px}
h1{margin:0 0 5px;font-size:25px}.brand p{margin:0 0 3px;color:#f4c84b;font-weight:bold}.brand span{font-size:14px;color:#ddd}
.cart{background:#f5c542;border:0;border-radius:30px;padding:12px 18px;font-weight:bold;cursor:pointer}.cart b{background:#111;color:#fff;border-radius:50%;padding:4px 8px;margin-left:5px}
.toolbar{padding:20px 5%;display:flex;gap:10px}.toolbar input,.toolbar select{padding:13px;border:1px solid #ddd;border-radius:10px;background:#fff}.toolbar input{flex:1}
main{padding:0 5% 50px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #00000012;display:flex;flex-direction:column}.card img{width:100%;aspect-ratio:1/1;object-fit:cover}.info{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}.info h3{font-size:15px;margin:0;min-height:36px}.price{font-size:21px;font-weight:800}.info button{margin-top:auto;background:#111;color:#fff;border:0;border-radius:9px;padding:11px;cursor:pointer}.info button:hover{background:#d6a91c;color:#111}
.drawer{position:fixed;z-index:20;right:-430px;top:0;width:min(430px,94vw);height:100%;background:white;padding:22px;transition:.25s;overflow:auto}.drawer.open{right:0}.overlay{display:none;position:fixed;inset:0;background:#0008;z-index:10}.overlay.open{display:block}
.drawerHead{display:flex;justify-content:space-between;align-items:center}.drawerHead button{border:0;background:none;font-size:22px}.cartItem{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #eee}.cartItem img{width:64px;height:64px;object-fit:cover;border-radius:8px}.qty button{border:1px solid #ddd;background:#fff}.total{display:flex;justify-content:space-between;font-size:22px;padding:20px 0}.continue{width:100%;padding:14px;background:#f5c542;border:0;border-radius:10px;font-weight:bold;font-size:16px}.note{font-size:12px;color:#777;text-align:center}
@media(max-width:650px){header{align-items:flex-start}.logo{display:none}h1{font-size:19px}.brand p{font-size:14px}.brand span{font-size:12px}.cart{padding:10px;font-size:12px}.toolbar{flex-direction:column}main{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 3% 35px}.info{padding:10px}.info h3{font-size:13px}.price,.creditPrice{font-size:17px}}

.prices small{display:block;color:#777;font-size:11px;margin-top:3px}.creditPrice{font-size:21px;font-weight:800;color:#765b00}
.checkout{display:none;position:fixed;inset:0;background:#000b;z-index:30;align-items:center;justify-content:center;padding:18px}.checkout.open{display:flex}
.checkoutBox{position:relative;background:#fff;border-radius:18px;padding:24px;width:min(650px,100%);max-height:94vh;overflow:auto}.x{position:absolute;right:16px;top:14px;border:0;background:none;font-size:22px}
.payOptions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.payOptions button{text-align:left;background:#fff;border:2px solid #eee;border-radius:13px;padding:16px;cursor:pointer}.payOptions button.selected{border-color:#d7aa19;background:#fff9e5}.payOptions b,.payOptions span,.payOptions small{display:block}.payOptions span{margin-top:5px}.payOptions small{color:#777;margin-top:4px}
.checkoutSummary{display:flex;justify-content:space-between;align-items:center;background:#f6f6f6;padding:15px;border-radius:10px;margin-bottom:14px}.checkoutSummary strong{font-size:22px}.continue:disabled{opacity:.45}
@media(max-width:650px){.payOptions{grid-template-columns:1fr}.checkoutBox{padding:20px 16px}}

.headerActions{display:flex;gap:9px;align-items:center}.adminBtn{background:#fff;color:#111;border:0;border-radius:25px;padding:11px 14px;font-weight:bold;cursor:pointer}
.adminPanel{display:none;position:fixed;inset:0;background:#000c;z-index:40;padding:20px;align-items:flex-start;justify-content:center;overflow:auto}.adminPanel.open{display:flex}.adminPanel .adminBox{margin-top:12px;margin-bottom:20px;max-height:calc(100vh - 40px)}
.adminBox{position:relative;background:#fff;width:min(1050px,100%);height:min(760px,95vh);border-radius:18px;padding:24px;overflow:hidden}.adminIntro{color:#666}.adminSearch{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;margin:8px 0 15px}
.adminLayout{display:grid;grid-template-columns:330px 1fr;gap:18px;height:calc(100% - 125px)}.adminProducts{overflow:auto;border:1px solid #eee;border-radius:12px}
.adminProduct{display:flex;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #eee;cursor:pointer}.adminProduct:hover,.adminProduct.active{background:#fff7d6}.adminProduct img{width:52px;height:52px;object-fit:cover;border-radius:7px}.adminProduct span{font-size:13px;font-weight:bold}
.imageManager{overflow:auto;border:1px solid #eee;border-radius:12px;padding:18px}.imageManager h3{margin-top:0}.imageGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin:15px 0}
.adminImage{border:2px solid #eee;border-radius:12px;padding:7px;position:relative}.adminImage.primary{border-color:#d7aa19}.adminImage img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}.adminImage small{display:block;margin:5px 0}
.imgActions{display:flex;gap:4px}.imgActions button{font-size:11px;padding:6px;border:0;border-radius:6px;cursor:pointer}
.uploadBox{border:2px dashed #ccc;border-radius:12px;padding:18px;text-align:center}.uploadBox input{max-width:100%}.saveNote{font-size:12px;color:#777;margin-top:12px}
@media(max-width:720px){.adminBtn{font-size:0;padding:10px}.adminBtn:after{content:"⚙️";font-size:16px}.adminLayout{grid-template-columns:1fr;height:calc(100% - 130px)}.adminProducts{max-height:180px}.adminBox{padding:18px 12px}.headerActions{gap:5px}}

.brandLogo{width:92px;height:92px;object-fit:cover;border-radius:3px;flex:0 0 auto}
@media(max-width:650px){.brandLogo{width:58px;height:58px}.brand{gap:10px}}

.deliveryPanel{display:none;position:fixed;inset:0;background:#000c;z-index:50;align-items:center;justify-content:center;padding:18px}.deliveryPanel.open{display:flex}
.deliveryBox{position:relative;background:#fff;border-radius:18px;padding:24px;width:min(720px,100%);max-height:95vh;overflow:auto}
.deliveryOptions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.deliveryOptions button{background:#fff;border:2px solid #eee;border-radius:13px;padding:18px;text-align:left;cursor:pointer}.deliveryOptions button.selected{border-color:#d7aa19;background:#fff9e5}.deliveryOptions b,.deliveryOptions span{display:block}.deliveryOptions span{font-size:12px;color:#777;margin-top:5px}
.deliveryFields{border-top:1px solid #eee;padding-top:14px;margin:12px 0}.deliveryFields.hidden{display:none}.deliveryFields>label{display:block;padding:10px;border:1px solid #eee;border-radius:9px;margin:7px 0}
.addressGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.addressGrid label{font-size:12px;font-weight:bold}.addressGrid input,.addressGrid select{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #ddd;border-radius:8px;background:#fff}.addressGrid .full{grid-column:1/-1}
.shippingRule{margin:14px 0;padding:13px;border-radius:10px;background:#fff7d6;font-size:13px;line-height:1.4}
@media(max-width:650px){.deliveryOptions,.addressGrid{grid-template-columns:1fr}.addressGrid .full{grid-column:auto}.deliveryBox{padding:20px 15px}}

.cpStatus{display:block;margin-top:6px;font-weight:normal;color:#777}.cpStatus.ok{color:#237a3b}.cpStatus.error{color:#a22626}
.addressGrid input[readonly]{background:#f4f4f4;color:#444}

.reviewProducts{margin:18px 0}.reviewItem{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.reviewItem img{width:58px;height:58px;object-fit:cover;border-radius:8px}.reviewItem b,.reviewItem small{display:block}.reviewItem small{color:#777;margin-top:3px}.reviewSection{padding:14px 0;border-bottom:1px solid #eee}.reviewSection h3{margin:0 0 7px}.reviewSection p{margin:3px 0;color:#555}.reviewTotals{margin:16px 0;background:#f7f7f7;border-radius:12px;padding:14px}.reviewTotals>div{display:flex;justify-content:space-between;padding:6px 0}.reviewTotals .grand{font-size:19px;border-top:1px solid #ddd;margin-top:7px;padding-top:12px}.reviewTotals small{display:block;margin-top:8px;color:#666;line-height:1.4}.secondaryAction{width:100%;margin-top:9px;padding:12px;border:1px solid #ddd;background:#fff;border-radius:10px;cursor:pointer}

.successBox{text-align:center}.successIcon{width:64px;height:64px;border-radius:50%;background:#e8f6ec;color:#237a3b;font-size:38px;font-weight:bold;display:grid;place-items:center;margin:0 auto 12px}.successFolio{background:#111;color:#fff;border-radius:12px;padding:14px;margin:18px 0}.successFolio span,.successFolio strong{display:block}.successFolio strong{font-size:20px;color:#f5c542;margin-top:4px}.successInfo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.successInfo>div,.pickupConfirmation{border:1px solid #e6e6e6;border-radius:12px;padding:14px;text-align:left}.successInfo span{display:block;font-size:12px;color:#777;margin-bottom:4px}.pickupConfirmation:empty{display:none}.pickupConfirmation h3{margin:0 0 7px}.pickupConfirmation p{margin:3px 0}.mapButton{display:inline-block;margin-top:12px;padding:11px 14px;border-radius:9px;background:#111;color:#fff;text-decoration:none;font-weight:bold}.successNotice{margin:16px 0;padding:12px;background:#fff7d6;border-radius:10px}@media(max-width:650px){.successInfo{grid-template-columns:1fr}}

.cashMethodBox{margin:14px 0;padding:14px;border:1px solid #eee;border-radius:12px}.cashMethodBox.hidden{display:none}.cashMethodBox h3{margin:0 0 10px}.cashMethodOptions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cashMethodOptions button{border:2px solid #eee;background:#fff;border-radius:10px;padding:13px;text-align:left;cursor:pointer}.cashMethodOptions button.selected{border-color:#d7aa19;background:#fff9e5}.cashMethodOptions b,.cashMethodOptions span{display:block}.cashMethodOptions span{font-size:12px;color:#777;margin-top:4px}.cashMethodNotice{display:none;margin-top:11px;padding:12px;border-radius:9px;background:#fff7d6;line-height:1.4;font-size:13px}.cashMethodNotice.show{display:block}@media(max-width:650px){.cashMethodOptions{grid-template-columns:1fr}}

.mepoCreditBox{margin:14px 0;padding:14px;border:1px solid #eee;border-radius:12px}.mepoCreditBox.hidden{display:none}.mepoCreditBox h3{margin:0 0 5px}.mepoCreditBox p{margin:0 0 10px;color:#666;font-size:13px}.mepoLookupRow{display:flex;gap:8px}.mepoLookupRow input{flex:1;padding:12px;border:1px solid #ccc;border-radius:9px;font-size:15px}.mepoLookupRow button,.demoApprove{border:0;border-radius:9px;padding:11px 16px;background:#111;color:#fff;font-weight:700;cursor:pointer}.mepoLookupResult{margin-top:10px}.lookupInfo,.lookupDemo,.lookupOk,.lookupError{padding:11px;border-radius:9px;line-height:1.45;font-size:13px;margin-top:8px}.lookupInfo{background:#f5f5f5}.lookupDemo{background:#fff8df}.lookupOk{background:#edf8ef}.lookupError{background:#fff0f0}.demoApprove{width:100%;margin-top:10px;background:#c89518}@media(max-width:650px){.mepoLookupRow{flex-direction:column}}

.discountLabel{font-weight:700;color:#276749!important;margin-top:7px!important}.saving{display:block!important;color:#276749!important;font-weight:700;margin-top:2px!important}

/* Crédito Mepo v14 */
.customerVerified{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.customerVerified>div{background:#f7f7f7;border:1px solid #ddd;border-radius:10px;padding:10px}.customerVerified .full{grid-column:1/-1}.customerVerified span{display:block;font-size:12px;color:#666;margin-bottom:3px}.customerVerified strong{font-size:14px;word-break:break-word}.lookupAction{margin-top:10px;padding:10px;border-radius:10px;background:#fff7dc;border:1px solid #d3a72c;font-weight:600}@media(max-width:600px){.customerVerified{grid-template-columns:1fr}}

.newCustomerDivider{display:flex;align-items:center;gap:10px;margin:12px 0;color:#888}.newCustomerDivider:before,.newCustomerDivider:after{content:"";height:1px;background:#ddd;flex:1}.newCustomerDivider span{font-size:12px;text-transform:uppercase}.secondaryAction{width:100%;border:1px solid #c89518;background:#fff;color:#111;border-radius:10px;padding:12px;font-weight:700;cursor:pointer}.deliveryFields .continue{margin-top:14px}

.productDescription{font-size:13px;line-height:1.35;color:#555;margin:4px 0 8px}.productMainImage{cursor:zoom-in}

/* v1.14 - Estado de inventario */
.storeStatus{display:inline-block;margin:8px 0 4px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.3px}
.storeStatus.available{background:#eef8ef;color:#245b2b;border:1px solid #9bc5a0}
.storeStatus.last{background:#fff3cd;color:#6b5200;border:1px solid #e6ca67}
.storeStatus.sold{background:#ededed;color:#333;border:1px solid #bbb}
.soldOutButton,.soldOutButton:disabled{opacity:.55;cursor:not-allowed}

/* v1.15 inventario */
.availabilityBtn{margin-top:10px;background:#fff!important;color:#111!important;border:1px solid #bbb!important}
.availabilityBox{font-size:12px;line-height:1.55;margin:7px 0;color:#444}
.availabilityBox strong{display:block;color:#111;margin-bottom:3px}

/* v1.17.9 Verificación de compra por correo */
#purchaseVerifyPanel{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:10000;display:none;align-items:center;justify-content:center;padding:18px}
#purchaseVerifyPanel.open{display:flex}
#purchaseVerifyPanel .panelCard{position:relative;background:#fff;border-radius:18px;padding:28px 22px;width:100%;box-shadow:0 18px 60px rgba(0,0,0,.28)}
#purchaseVerifyPanel .closeBtn{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer}

/* v1.17.18 — Fotos de producto completas y centradas.
   Las imágenes subidas desde el administrador ya no se recortan para llenar
   el cuadro: se ajustan proporcionalmente dentro del área disponible. */
.card img,
.productCard img,
.product-image img,
.adminProduct img,
.adminImage img,
.cartItem img,
.reviewItem img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff;
}


/* v1.17.20 — Categorías en una sola línea + marco uniforme de fotografías */
.categoryBar{margin:0 5% 18px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding:2px 0 8px}
.categoryTab{flex:1 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:#555;padding:9px 8px 8px;font-size:13px;font-weight:700;cursor:pointer;transition:.18s}
/* v1.17.42 · Web: todas las categorías en una sola línea, sin segunda fila ni barra */
@media(min-width:651px){
  .categoryBar{margin:0 2% 18px;gap:2px;flex-wrap:nowrap;justify-content:center;overflow:visible;padding:2px 0 8px}
  .categoryTab{flex:0 1 auto;min-width:0;padding:9px clamp(3px,.55vw,7px) 8px;font-size:clamp(10px,1.02vw,12.5px);letter-spacing:-.08px}
}
@media (hover:hover) and (pointer:fine){
  .categoryTab:hover{
    color:#111;
    border-bottom-color:#d7aa19;
    font-weight:900;
    transform:scale(1.22);
    position:relative;
    z-index:5;
  }
}
.categoryTab.active{color:#111;border-bottom-color:#d7aa19}
.productMainImage{display:block;width:100%!important;aspect-ratio:1/1!important;object-fit:contain!important;object-position:center center!important;background:#fff;padding:8px}
@media(max-width:650px){.categoryBar{margin:0 3% 12px;gap:2px;padding-bottom:6px}.categoryTab{flex:0 0 auto;font-size:12px;padding:8px 9px 7px}}

/* v1.17.22: carga limpia sin catálogo/fotos antiguas precargadas */
.catalogLoading{grid-column:1/-1;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#555}.catalogSpinner{width:34px;height:34px;border:3px solid #e6e6e6;border-top-color:#b48b16;border-radius:50%;animation:mepoSpin .8s linear infinite}@keyframes mepoSpin{to{transform:rotate(360deg)}}


/* v1.17.26 — Estado visual mientras Google Drive entrega cada foto */
.mepoImageLoading{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#f4f4f4;
}
.mepoImageSkeleton{
  position:absolute;
  inset:8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(110deg,#f1f1f1 8%,#fafafa 18%,#f1f1f1 33%);
  background-size:200% 100%;
  animation:mepoShimmer 1.25s linear infinite;
  color:#777;
  z-index:1;
  transition:opacity .25s ease;
}
.mepoImageIcon{display:block!important;width:112px!important;height:auto!important;max-height:112px!important;object-fit:contain!important;opacity:.96;filter:drop-shadow(0 3px 10px rgba(0,0,0,.08));animation:mepoLogoPulse 1.5s ease-in-out infinite}
.mepoImageLoadingText{font-size:12px;font-weight:700;letter-spacing:.15px}
.mepoImageLoading .productMainImage{
  position:absolute;
  inset:0;
  height:100%!important;
  opacity:0;
  z-index:2;
  transition:opacity .28s ease;
}
.mepoImageLoading.mepoImageLoaded .productMainImage{opacity:1}
.mepoImageLoading.mepoImageLoaded .mepoImageSkeleton{opacity:0;pointer-events:none}
.mepoImageLoading.mepoImageError .mepoImageSkeleton{animation:none}
.mepoImageLoading.mepoImageError .mepoImageLoadingText{font-size:0}
.mepoImageLoading.mepoImageError .mepoImageLoadingText:after{content:"Imagen no disponible";font-size:12px}
@keyframes mepoShimmer{to{background-position-x:-200%}}

@keyframes mepoLogoPulse{0%,100%{transform:scale(1);opacity:.96}50%{transform:scale(1.04);opacity:.82}}
@media (prefers-reduced-motion:reduce){.mepoImageSkeleton,.mepoImageIcon{animation:none}}

/* v1.17.30 — Bienvenida móvil con carrusel de promociones */
.mobilePromoWelcome{position:fixed;inset:0;z-index:13000;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:14px;box-sizing:border-box}.mobilePromoWelcome.open{display:flex}.mobilePromoCard{position:relative;width:min(560px,100%);max-height:calc(100dvh - 28px);overflow:hidden;background:#fff;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.30);display:flex;flex-direction:column;padding:16px}.mobilePromoClose{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:#111;color:#fff;font-size:32px;line-height:1;z-index:3}.mobilePromoHead{padding-right:54px}.mobilePromoHead strong{display:block;font-size:20px;color:#111;line-height:1.1}.mobilePromoHead span{display:block;margin-top:4px;font-size:13px;color:#666}.mobilePromoIntro{margin:10px 0 12px;color:#555;font-size:13px;line-height:1.45}.mobilePromoEnter{width:100%;margin:0 0 12px;border:0;border-radius:14px;background:#111;color:#fff;font-size:15px;font-weight:800;padding:13px 16px}.mobileStorePromoCarousel{position:relative;width:100%;overflow:hidden;border-radius:18px;border:1px solid #e4e4e4;background:#111;touch-action:pan-y;aspect-ratio:4/5}.mobileStorePromoTrack{display:flex;height:100%;transition:transform .45s ease;will-change:transform}.mobileStorePromoSlide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#111}.mobileStorePromoImg{width:100%;height:100%;display:block;object-fit:contain;background:#fff}.mobileStorePromoArrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-size:28px;line-height:40px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35)}.mobileStorePromoArrow.prev{left:10px}.mobileStorePromoArrow.next{right:10px}.mobileStorePromoDots{display:flex;justify-content:center;gap:8px;margin:12px 0 0}.mobileStorePromoDot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#666;cursor:pointer}.mobileStorePromoDot.active{background:#d4af37;transform:scale(1.2)}body.mobilePromoOpen{overflow:hidden!important}@media (min-width:900px){.mobilePromoWelcome{display:none!important}}@media(max-width:700px){.mobilePromoCard{width:100%;max-height:calc(100dvh - 12px);padding:14px;border-radius:22px}.mobilePromoClose{top:8px;right:8px}.mobilePromoHead strong{font-size:18px}.mobilePromoIntro{font-size:12px}.mobilePromoEnter{font-size:14px;padding:12px 14px}.mobileStorePromoArrow{width:38px;height:38px;font-size:26px;line-height:36px}}


/* v1.17.34 · Lectura y orden del catálogo */
.productDescription{text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.sortWrap{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;font-weight:700}
.sortWrap select{min-height:42px;border:1px solid #d8d8d8;border-radius:10px;background:#fff;padding:0 34px 0 12px;font:inherit;color:#222}
@media(max-width:680px){.toolbar{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.sortWrap{justify-content:space-between}.sortWrap select{flex:1;max-width:240px}}
.card{transition:transform .16s ease,box-shadow .16s ease}
@media(hover:hover){.card:hover{transform:translateY(-2px)}}
.card:active{transform:scale(.99)}


/* v1.17.35 · catálogo uniforme y herramientas */
.catalogMeta{padding:0 5% 10px;display:flex;justify-content:flex-end;color:#666;font-size:12px;font-weight:700}
.card .info{height:100%}
.card .productDescription{margin-bottom:0}
.card .prices{margin-top:auto;padding-top:8px}
.card .info>button{margin-top:4px}
@media(max-width:650px){.catalogMeta{padding:0 3% 9px}.card .prices{padding-top:6px}}


/* v1.17.44 · Texto justificado sin cortar palabras + protección táctil móvil */
.info h3,.product-detail-title{text-align:justify;text-align-last:left;hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
@media(max-width:767px){
  .categoryBar,.categoryTab,.card,.card h3,.card .productDescription,.card .price,.card .creditPrice,.card button,
  .productCard,.product-detail-kicker,.product-detail-title,.mobilePromoHead,.mobilePromoEnter{
    -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  }
  input,textarea,select,[contenteditable="true"],.code,.copyable{
    -webkit-user-select:text;user-select:text;-webkit-touch-callout:default;
  }
}


/* v1.17.47 · Títulos y descripciones justificados sin partir palabras */
.info h3,.productDescription,.product-detail-title,.product-detail-description{
  text-align:justify!important;
  text-justify:inter-word!important;
  text-align-last:left!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}


/* v1.17.53 · regresa el espaciado limpio de v1.17.50 y aumenta ligeramente la tipografía */
@media(min-width:651px){
  .categoryBar{
    margin-left:1%!important;
    margin-right:1%!important;
    gap:clamp(4px,.55vw,9px)!important;
    justify-content:space-between!important;
  }
  .categoryTab{
    flex:0 1 auto!important;
    padding-left:clamp(2px,.30vw,5px)!important;
    padding-right:clamp(2px,.30vw,5px)!important;
    font-size:clamp(10.5px,1.02vw,13px)!important;
  }
  .categoryTab[data-category="Electrodomésticos"]{margin-right:clamp(7px,.8vw,13px)!important}
  .categoryTab[data-category="Audio"]{margin-left:clamp(3px,.35vw,6px)!important}
}
.info h3,.product-detail-title{
  text-align:center!important;
  text-align-last:center!important;
  font-weight:900!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.productDescription,.product-detail-description{
  text-align:justify!important;
  text-justify:inter-word!important;
  text-align-last:left!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* v1.17.60 CrediMepo: tarjeta real en checkout */
.mepoCheckoutCard{position:relative;overflow:hidden;background:linear-gradient(135deg,#050505,#181818 58%,#080808);border:1px solid #b98a16;border-radius:20px;color:#d4af37;padding:20px;min-height:170px;box-shadow:0 14px 32px rgba(0,0,0,.25),inset 0 0 0 1px rgba(212,175,55,.07);display:flex;flex-direction:column;justify-content:space-between;margin:10px 0 4px}
.mepoCheckoutCard:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(212,175,55,.12);border-radius:50%;right:-75px;bottom:-95px;pointer-events:none}
.mepoCheckoutCardTop{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.mepoCheckoutCardLogo{height:34px;width:auto;max-width:130px;object-fit:contain}.mepoCheckoutCardType{font-size:11px;letter-spacing:1.4px;font-weight:700}.mepoCheckoutCardNumber{font-size:21px;letter-spacing:2px;color:#f0d978;margin:24px 0;position:relative;z-index:1}.mepoCheckoutCardBottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;position:relative;z-index:1}.mepoCheckoutCardName{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.mepoCheckoutCardStatus{border:1px solid rgba(212,175,55,.55);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.mepoAutoClient{font-size:12px;color:#5b5b5b;margin:6px 0 0}.mepoCreditBox .lookupInfo{background:#f7f7f7}
@media(max-width:650px){.mepoCheckoutCard{min-height:155px;padding:17px}.mepoCheckoutCardNumber{font-size:18px;letter-spacing:1.5px}.mepoCheckoutCardLogo{height:30px}}


/* v1.17.61 - carrito web compacto, sin alterar móvil */
@media(min-width:901px){
 .drawer{width:min(360px,88vw);right:-370px;padding:16px 17px}.drawerHead h2{font-size:20px;margin:4px 0 10px}.cartItem{grid-template-columns:52px 1fr auto;gap:8px;padding:9px 0}.cartItem img{width:52px;height:52px}.cartItem b{font-size:13px}.cartItem small{font-size:11px}.qty{font-size:12px}.qty button{padding:2px 6px}.total{font-size:18px;padding:14px 0}.continue{padding:12px;font-size:14px}.note{font-size:11px}
}
.mepoCheckoutCardCredit{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:-9px 0 12px;border-top:1px solid rgba(212,175,55,.18);padding-top:9px}.mepoCheckoutCardCredit span{font-size:10px;letter-spacing:.8px;text-transform:uppercase}.mepoCheckoutCardCredit strong{font-size:15px;color:#f0d978}


/* v1.17.62 · Optimización de carrito/checkout en página web */
@media(min-width:901px){
  .drawer{
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    max-height:none!important;
    background:#fff!important;
    z-index:120!important;
    box-shadow:-14px 0 34px rgba(0,0,0,.20)!important;
  }
  .drawerHead{
    flex:0 0 auto!important;
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    background:#fff!important;
    padding-bottom:6px!important;
    border-bottom:1px solid #eee!important;
  }
  #cartItems{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding-right:3px!important;
  }
  .drawer .total,
  .drawer #continue,
  .drawer .note{flex:0 0 auto!important;background:#fff!important}
  .drawer .total{margin-top:2px!important;border-top:1px solid #eee!important}
  .overlay.open{background:rgba(0,0,0,.34)!important;z-index:110!important}
  .checkout.open,
  .customerPanel.open,
  .deliveryPanel.open,
  .reviewPanel.open,
  .verificationPanel.open,
  .successPanel.open{
    background:rgba(0,0,0,.42)!important;
    z-index:130!important;
  }
  .checkoutBox,.deliveryBox,.reviewBox,.verificationBox,.successBox,.panelCard{
    position:relative!important;
    z-index:131!important;
    box-shadow:0 18px 55px rgba(0,0,0,.24)!important;
  }
}


/* v1.17.64 · Ajustes visuales WEB/APP solicitados */
/* Tarjeta CrediMepo del checkout: proporción real de tarjeta y logo mayor */
.mepoCheckoutCard{
  width:100%;
  box-sizing:border-box;
  aspect-ratio:1.586 / 1;
  min-height:0;
}
.mepoCheckoutCardLogo{height:50px;max-width:178px}

/* Carrito WEB: panel realmente compacto; el listado desplaza internamente */
@media(min-width:901px){
  .drawer{
    width:min(325px,82vw)!important;
    right:-340px!important;
    padding:13px 14px!important;
    border-radius:16px 0 0 16px!important;
  }
  .drawerHead h2{font-size:18px!important;margin:1px 0 7px!important}
  .drawerHead button{font-size:19px!important}
  #cartItems{padding-right:2px!important}
  .cartItem{grid-template-columns:46px minmax(0,1fr) auto!important;gap:7px!important;padding:7px 0!important}
  .cartItem img{width:46px!important;height:46px!important}
  .cartItem b{font-size:12px!important;line-height:1.2!important;display:block!important}
  .cartItem small{font-size:10px!important}
  .qty{font-size:11px!important;white-space:nowrap!important}
  .qty button{padding:1px 5px!important;min-width:23px!important}
  .total{font-size:16px!important;padding:9px 0!important;margin:0!important}
  .continue{padding:10px!important;font-size:13px!important}
  .note{font-size:10px!important;margin:6px 0 0!important}
}

/* APP: conservar checkout compacto pero rectangular, nunca cuadrado */
@media(max-width:650px){
  .mepoCheckoutCard{
    width:100%;
    aspect-ratio:1.586 / 1;
    min-height:0!important;
    padding:15px!important;
    border-radius:18px!important;
  }
  .mepoCheckoutCardLogo{height:43px!important;max-width:155px!important}
  .mepoCheckoutCardNumber{font-size:17px!important;letter-spacing:1.25px!important;margin:15px 0 11px!important}
  .mepoCheckoutCardCredit{margin:-4px 0 8px!important;padding-top:7px!important}
  .mepoCheckoutCardBottom{gap:8px!important}
  .mepoCheckoutCardName{font-size:10px!important}
  .mepoCheckoutCardStatus{font-size:9px!important;padding:4px 7px!important}
}


/* v1.17.65 · Refinamiento WEB: carrito compacto, tarjeta física y modales */
.mepoCheckoutCard{
  background:linear-gradient(145deg,#181818 0%,#050505 54%,#222 100%)!important;
  border:2px solid #c79a27!important;
  box-shadow:0 16px 36px rgba(0,0,0,.35),0 0 0 5px rgba(212,175,55,.08),inset 0 0 24px rgba(255,255,255,.025)!important;
}
@media(min-width:901px){
  .drawer{
    width:min(310px,78vw)!important;
    right:-325px!important;
    height:430px!important;
    max-height:calc(100vh - 28px)!important;
    padding:12px 13px!important;
  }
  .drawerHead{padding-bottom:4px!important}
  #cartItems{max-height:none!important;overflow-y:auto!important}
  .cartItem{grid-template-columns:42px minmax(0,1fr) auto!important;padding:6px 0!important}
  .cartItem img{width:42px!important;height:42px!important}
  .total{padding:7px 0!important;font-size:15px!important}
  .continue{padding:9px!important}
  .checkout,.deliveryPanel{
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
    overflow:hidden!important;
  }
  .checkoutBox,.deliveryBox,.reviewBox,.verificationBox,.successBox,.panelCard{
    width:min(620px,calc(100vw - 48px))!important;
    max-height:calc(100vh - 48px)!important;
    overflow:auto!important;
    margin:0 auto!important;
  }
  .mepoCheckoutCard{
    width:min(500px,100%)!important;
    margin:12px auto 8px!important;
    aspect-ratio:1.586/1!important;
    min-height:0!important;
  }
  .mepoCheckoutCardLogo{height:58px!important;max-width:205px!important}
}
@media(max-width:650px){
  .mepoCheckoutCard{
    background:linear-gradient(145deg,#181818 0%,#050505 54%,#222 100%)!important;
    border:2px solid #c79a27!important;
  }
  .mepoCheckoutCardLogo{height:50px!important;max-width:178px!important}
}
\n\n/* v1.17.66 · Tarjeta CrediMepo en checkout con apariencia física y titular */\n.mepoCheckoutCardCenter{position:relative;z-index:1;display:flex;align-items:center;gap:14px;margin:17px 0 10px}\n.mepoCheckoutCardMark{width:46px;height:32px;border-radius:7px;background:linear-gradient(145deg,#d9b94f,#8e6815);border:1px solid rgba(255,239,167,.7);box-shadow:inset 0 0 0 1px rgba(60,38,0,.22);display:flex;align-items:center;justify-content:center;flex:0 0 auto}\n.mepoCheckoutCardMark span{font-size:8px;letter-spacing:.7px;font-weight:900;color:#2b2108}\n.mepoCheckoutCardCenter .mepoCheckoutCardNumber{margin:0!important;flex:1;min-width:0}\n.mepoCheckoutCardHolder{min-width:0}\n.mepoCheckoutCardLabel{display:block;font-size:8px;letter-spacing:1.05px;color:#bca45d;margin-bottom:3px;font-weight:800}\n.mepoCheckoutCardName{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.mepoCheckoutCardBottom small{display:block;margin-top:3px;color:#b9aa75;font-size:9px}\n@media(min-width:901px){\n  .mepoCheckoutCardMark{width:52px;height:36px}\n  .mepoCheckoutCardName{font-size:13px!important;letter-spacing:.95px!important}\n}\n@media(max-width:650px){\n  .mepoCheckoutCardCenter{gap:9px;margin:10px 0 7px}\n  .mepoCheckoutCardMark{width:39px;height:28px;border-radius:6px}\n  .mepoCheckoutCardMark span{font-size:7px}\n  .mepoCheckoutCardLabel{font-size:7px}\n  .mepoCheckoutCardName{font-size:10px!important;letter-spacing:.65px!important;max-width:210px}\n  .mepoCheckoutCardBottom small{font-size:8px}\n}\n

/* v1.17.70 · Tienda WEB: carrito completamente visible y acciones fijas */
@media(min-width:901px){
  .drawer{
    width:min(320px,78vw)!important;
    padding:11px 13px 10px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .drawerHead{flex:0 0 auto!important;padding-bottom:5px!important}
  #cartItems{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding-right:3px!important;
  }
  .drawer .total{flex:0 0 auto!important;padding:7px 0 5px!important;margin:0!important}
  .drawer #continue{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:42px!important;
    margin:3px 0 0!important;
    position:relative!important;
    z-index:8!important;
  }
  .drawer .note{flex:0 0 auto!important;margin:5px 0 0!important;line-height:1.2!important}

  /* Los botones principales de los cuadros de compra permanecen visibles aunque
     el contenido del cuadro tenga que desplazarse internamente. */
  .checkoutBox > .continue,
  .deliveryBox > .continue,
  .reviewBox > .continue,
  .verificationBox > .continue,
  .successBox > .continue{
    position:sticky!important;
    bottom:0!important;
    z-index:12!important;
    box-shadow:0 -8px 14px rgba(255,255,255,.92)!important;
  }
}

/* v1.17.71 · Vigencia visible en Tarjeta CrediMepo */
.mepoCheckoutCardMeta{display:flex;align-items:flex-end;gap:10px;position:relative;z-index:1}
.mepoCheckoutCardExpiry{display:flex;flex-direction:column;line-height:1.05;align-items:flex-start}
.mepoCheckoutCardExpiry span{font-size:7px;letter-spacing:1px;font-weight:800;opacity:.78}
.mepoCheckoutCardExpiry strong{font-size:11px;letter-spacing:.8px;margin-top:3px}
@media(max-width:650px){
  .mepoCheckoutCardMeta{gap:7px}
  .mepoCheckoutCardExpiry strong{font-size:10px}
}


/* v1.17.74 · Corrección definitiva carrito WEB visible/compacto */
@media(min-width:901px){
  .drawer{
    width:min(300px,76vw)!important;
    right:-315px!important;
    padding:10px 12px 9px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
    border-radius:14px 0 0 14px!important;
    box-shadow:-12px 0 30px rgba(0,0,0,.20)!important;
  }
  .drawer.open{right:0!important}
  .drawerHead{flex:0 0 auto!important;padding-bottom:4px!important}
  .drawerHead h2{font-size:17px!important;margin:0!important}
  #cartItems{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding-right:2px!important;
  }
  .cartItem{grid-template-columns:40px minmax(0,1fr) auto!important;gap:6px!important;padding:5px 0!important}
  .cartItem img{width:40px!important;height:40px!important}
  .cartItem b{font-size:11.5px!important;line-height:1.15!important}
  .cartItem small{font-size:9.5px!important}
  .qty{font-size:10.5px!important}
  .qty button{min-width:21px!important;padding:1px 4px!important}
  .drawer .total{flex:0 0 auto!important;font-size:15px!important;padding:6px 0 4px!important;margin:0!important;background:#fff!important;border-top:1px solid #eee!important}
  .drawer #continue{
    display:block!important;
    flex:0 0 auto!important;
    position:relative!important;
    width:100%!important;
    min-height:40px!important;
    padding:9px 10px!important;
    margin:3px 0 0!important;
    background:#f5c542!important;
    color:#111!important;
    font-size:13px!important;
    font-weight:900!important;
    border-radius:9px!important;
    z-index:20!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .drawer .note{flex:0 0 auto!important;font-size:9.5px!important;margin:4px 0 0!important;line-height:1.15!important;background:#fff!important}
}

/* v1.17.83 · Mercado Pago manual: monto exacto + copiar + una sola exhibición */
.mercadoPagoManualBox{margin:14px 0;padding:14px;border:1px solid #e7e7e7;border-radius:12px;background:#fff}.mercadoPagoManualBox.hidden{display:none}.mercadoPagoManualBox h3{margin:0 0 6px}.mpIntro{margin:0 0 12px;color:#555;font-size:13px;line-height:1.4}.mpAmountCard{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;background:#f6f6f6;border-radius:10px;padding:13px;margin-bottom:12px}.mpAmountCard span{font-size:12px;color:#666}.mpAmountCard strong{font-size:24px;grid-column:1}.mpCopyBtn{grid-column:2;grid-row:1/3;border:1px solid #d7aa19;background:#fff9e5;border-radius:9px;padding:10px 12px;cursor:pointer;font-weight:700}.mercadoPagoManualBox label{display:block;font-size:12px;font-weight:700;margin:0 0 6px}.mpAmountRow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.mpAmountRow>span{font-size:20px;font-weight:800}.mpAmountRow input{min-width:0;border:1px solid #ccc;border-radius:9px;padding:11px 12px;font-size:18px}.mpAmountRow button{border:0;border-radius:9px;padding:12px 14px;background:#009ee3;color:#fff;font-weight:800;cursor:pointer}.mpAmountRow button:disabled{opacity:.45;cursor:not-allowed}.mpAmountMsg{margin-top:9px;font-size:12px;color:#666}.mpAmountMsg.ok{color:#16833b;font-weight:700}.mpAmountMsg.error{color:#b42318;font-weight:700}.mpSafetyNote{margin:10px 0 0;font-size:12px;color:#666;line-height:1.4}@media(max-width:650px){.mpAmountRow{grid-template-columns:auto 1fr}.mpAmountRow button{grid-column:1/3;width:100%}.mpAmountCard{grid-template-columns:1fr auto}.mpCopyBtn{padding:9px 10px}}


/* Ajuste aislado: evita selección accidental/menú Traducir-Buscar-Copiar en interfaz móvil. */
@media (max-width: 899px), (hover: none) and (pointer: coarse){
  body, body *{
    -webkit-user-select:none !important;
    user-select:none !important;
    -webkit-touch-callout:none !important;
  }
  input:not([readonly]):not([disabled]),
  textarea:not([readonly]):not([disabled]),
  [contenteditable="true"],
  .copyable, .selectable{
    -webkit-user-select:text !important;
    user-select:text !important;
    -webkit-touch-callout:default !important;
  }
  select:not([disabled]){
    -webkit-user-select:auto !important;
    user-select:auto !important;
    -webkit-touch-callout:default !important;
  }
}

/* v1.17.43 — Espera visual al abrir "Verifica tu compra". */
#purchaseVerifyLoadingOverlay{position:fixed;inset:0;z-index:10050;background:rgba(0,0,0,.58);display:none;align-items:center;justify-content:center;padding:18px}
#purchaseVerifyLoadingOverlay.open{display:flex}
.purchaseVerifyLoadingCard{width:min(390px,92vw);background:#fff;border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.purchaseVerifyLoadingCard strong{display:block;font-size:20px;margin:12px 0 7px;color:#111}
.purchaseVerifyLoadingCard span{display:block;font-size:14px;line-height:1.45;color:#555}
.purchaseVerifySpinner{width:42px;height:42px;margin:0 auto;border:4px solid #e7e7e7;border-top-color:#111;border-radius:50%;animation:purchaseVerifySpin .8s linear infinite}
@keyframes purchaseVerifySpin{to{transform:rotate(360deg)}}

/* Pago quincenal: misma jerarquía tipográfica de los precios, en negro. */
.fortnightlyPrice{font-size:21px;font-weight:800;color:#111}
@media(max-width:650px){.fortnightlyPrice{font-size:17px}}

/* v1.17.87 · Paso siguiente para compras por transferencia. Cambio visual aislado. */
.transferNextStep{margin:16px 0;padding:16px;border:1px solid #e3c15a;border-radius:14px;background:linear-gradient(180deg,#fffaf0 0%,#fff 100%);text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.transferNextStep.hidden{display:none!important}
.transferNextIcon{width:42px;height:42px;border-radius:12px;background:#111;color:#f5c542;display:grid;place-items:center;font-size:21px;margin-bottom:10px}
.transferNextText h3{margin:0 0 6px;font-size:17px;color:#111}
.transferNextText p{margin:0;color:#555;line-height:1.45;font-size:13px}
.transferNextActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.transferPrimaryAction,.transferSecondaryAction{min-height:46px;border-radius:10px;padding:11px 12px;font-weight:800;font-size:12px;cursor:pointer}
.transferPrimaryAction{border:1px solid #111;background:#111;color:#f5c542}
.transferSecondaryAction{border:1px solid #c89518;background:#fff;color:#111}
.transferPrimaryAction:active,.transferSecondaryAction:active{transform:translateY(1px)}
@media(max-width:650px){.transferNextActions{grid-template-columns:1fr}.transferNextStep{padding:14px}}

/* v1.17.88 · QR de entrega */
.deliveryQrCard{margin:16px 0;padding:18px;border:1px solid #e3c15a;border-radius:16px;background:#111;color:#fff;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.10)}
.deliveryQrEyebrow{display:block;color:#e3c15a;font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}
.deliveryQrCard h3{margin:0 0 12px;color:#fff}
.deliveryQrImage{display:block;width:190px;height:190px;max-width:72vw;margin:0 auto 12px;background:#fff;border-radius:12px;padding:8px}
.deliveryQrCard p{margin:0 auto 8px;max-width:430px;color:#eee;line-height:1.45}
.deliveryQrCard small{color:#e3c15a;font-weight:800}
