/* NexCommerce · catalog: grilla, tarjeta (classic / pop / compact) y categorías. */

/* ---------- Grillas (shortcode y listados de WooCommerce) ---------- */
.nx-grid,.nx .woocommerce ul.products,.nx ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(14px*var(--nx-space));list-style:none;margin:0 0 32px;padding:0}
.nx .woocommerce ul.products::before,.nx .woocommerce ul.products::after,.nx ul.products::before,.nx ul.products::after{display:none!important;content:none!important}
@media (min-width:768px){
  .nx-grid,.nx .woocommerce ul.products,.nx ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(22px*var(--nx-space))}
}
@media (min-width:1100px){
  .nx-products--grid .nx-grid{grid-template-columns:repeat(var(--nx-cols,4),minmax(0,1fr))}
  .nx .woocommerce ul.products.columns-4,.nx ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nx .woocommerce ul.products.columns-5,.nx ul.products.columns-5{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Tienda en 5 columnas solo desde 1280 px; en notebooks chicos (1100–1279) quedan 4 para que las tarjetas no se angosten */
@media (min-width:1280px){
  .nx .woocommerce ul.products.columns-5,.nx ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}
/* Carrusel deslizable */
/* Carrusel de productos: deslizable con el dedo, sin barra nativa; flechas redondas de la marca y barra de avance en doble franja */
.nx-products--row{position:relative}
.nx-products--row .nx-grid{display:flex!important;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:8px 4px 18px!important;margin:0 -4px!important;overscroll-behavior-x:contain}
.nx-products--row .nx-grid::-webkit-scrollbar{display:none}
/* Carrusel: tarjetas por fila según la pantalla (--nx-cols computador, --nx-cols-t tablet, --nx-cols-m celular; ajuste rail_cols). En tablet y celular se asoma la siguiente */
.nx-products--row .nx-pc{flex:0 0 calc((100% - (var(--nx-cols-m,2) - 1)*14px - 28px)/var(--nx-cols-m,2));scroll-snap-align:start}
@media (min-width:768px){.nx-products--row .nx-pc{flex-basis:calc((100% - (var(--nx-cols-t,3) - 1)*22px - 56px)/var(--nx-cols-t,3))}}
@media (min-width:1100px){.nx-products--row .nx-pc{flex-basis:calc((100% - (min(var(--nx-cols,5),4) - 1)*22px)/min(var(--nx-cols,5),4))}}
@media (min-width:1280px){.nx-products--row .nx-pc{flex-basis:calc((100% - (var(--nx-cols,5) - 1)*22px)/var(--nx-cols,5))}}
@media (max-width:767px){
  /* En el celular el carrusel llega a los bordes de la pantalla y deja ver la tarjeta siguiente */
  .nx-products--row .nx-grid{gap:14px;margin:0 -16px!important;padding:6px 16px 16px!important;scroll-padding-inline:16px}
}
.nx-rail__bar{display:flex;align-items:center;gap:18px;margin-top:6px}
.nx-rail__bar[hidden]{display:none}
.nx-rail__track{position:relative;flex:1;height:8px;border-radius:4px;background:color-mix(in srgb,var(--nx-brand) 12%,var(--nx-paper));overflow:hidden}
.nx-rail__thumb{position:absolute;left:0;top:0;bottom:0;width:30%;border-radius:4px;background:linear-gradient(var(--nx-accent) 0 45%,var(--nx-brand) 45% 100%);transition:left .15s linear,width .2s}
.nx-rail__nav{display:flex;gap:10px;flex:none}
.nx .nx-rail__btn{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:var(--nx-brand);color:#fff;cursor:pointer;box-shadow:0 10px 22px color-mix(in srgb,var(--nx-brand) 30%,transparent);transition:background-color .2s,transform .2s,opacity .2s}
.nx .nx-rail__btn:hover{background:var(--nx-accent);transform:translateY(-2px)}
.nx .nx-rail__btn:hover .nx-i{transform:translateX(3px)}
.nx .nx-rail__btn .nx-i{transition:transform .2s}
.nx .nx-rail__btn--prev .nx-i{rotate:180deg}
.nx .nx-rail__btn:focus-visible{outline:3px solid var(--nx-accent);outline-offset:3px}
.nx .nx-rail__btn[disabled]{opacity:.28;cursor:default;transform:none;box-shadow:none;background:var(--nx-brand)}
@media (max-width:767px){.nx .nx-rail__btn{width:44px;height:44px}.nx-rail__bar{gap:14px}}
/* Carrusel sobre bandas de color (azul, roja, marino): flechas blancas con la flecha en el color de la marca, barra clara */
.nx-band--brand .nx-rail__track,.nx-band--accent .nx-rail__track,.nx-ink .nx-rail__track{background:rgba(255,255,255,.22)}
.nx-band--brand .nx-rail__thumb,.nx-ink .nx-rail__thumb{background:linear-gradient(var(--nx-accent) 0 45%,#fff 45% 100%)}
.nx-band--accent .nx-rail__thumb{background:linear-gradient(#fff 0 45%,var(--nx-brand) 45% 100%)}
.nx .nx-band--brand .nx-rail__btn,.nx .nx-ink .nx-rail__btn,.nx .nx-band--brand .nx-rail__btn[disabled],.nx .nx-ink .nx-rail__btn[disabled]{background:#fff;color:var(--nx-brand);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.nx .nx-band--accent .nx-rail__btn,.nx .nx-band--accent .nx-rail__btn[disabled]{background:#fff;color:var(--nx-accent);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.nx .nx-band--brand .nx-rail__btn:not([disabled]):hover,.nx .nx-ink .nx-rail__btn:not([disabled]):hover{background:var(--nx-accent);color:#fff}
.nx .nx-band--accent .nx-rail__btn:not([disabled]):hover{background:var(--nx-brand);color:#fff}
.nx .nx-band--brand .nx-rail__btn[disabled],.nx .nx-band--accent .nx-rail__btn[disabled],.nx .nx-ink .nx-rail__btn[disabled]{opacity:.35;box-shadow:none}
/* Pista de deslizar (solo celular, la primera vez): la fila se asoma y vuelve */
@media (max-width:767px) and (prefers-reduced-motion:no-preference){.nx-products--row.is-hint .nx-grid{animation:nx-rail-hint 1.1s cubic-bezier(.3,.7,.3,1) .4s 1}}
@keyframes nx-rail-hint{40%{transform:translateX(-36px)}100%{transform:none}}
/* Recetas sin enlace */
.nx-post--static{cursor:default}

/* ---------- Tarjeta ---------- */
.nx .woocommerce ul.products li.product.nx-pc,.nx ul.products li.product.nx-pc,.nx-pc{
  float:none;width:auto;margin:0;padding:0;position:relative;display:flex;flex-direction:column;min-width:0;
  background:var(--nx-paper);border:1px solid var(--nx-line);border-radius:var(--nx-radius-l);overflow:hidden;text-align:left;transition:box-shadow .25s,border-color .25s}
.nx-pc:hover{box-shadow:var(--nx-shadow);border-color:transparent}
.nx-pc__media{position:relative;display:block;aspect-ratio:1/1;background:var(--nx-surface);overflow:hidden}
.nx-pc__media img,.nx .woocommerce ul.products li.product .nx-pc__media img{width:100%!important;height:100%!important;object-fit:cover;margin:0!important;transition:transform .5s ease}
.nx-pc:hover .nx-pc__media img{transform:scale(1.04)}
.nx-pc__badge{position:absolute;top:10px;left:10px;padding:5px 10px;border-radius:var(--nx-btn-radius);background:var(--nx-accent);color:var(--nx-on-accent);font:800 12px/1 var(--nx-font-head);letter-spacing:.03em}
.nx-pc__badge--soft{background:var(--nx-paper);color:var(--nx-ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
/* Oferta: cinta roja con el corte en V de la cinta del logo, filetes claros arriba y abajo, y el % en una placa blanca */
body.nx-fx .nx-pc__badge--sale{z-index:2;top:14px;left:0;display:inline-flex;align-items:center;gap:8px;padding:7px 22px 7px 14px;border-radius:0 4px 4px 0;background:var(--nx-accent);color:#fff;
  clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(255,255,255,.55),0 6px 14px rgba(0,0,0,.18)}
body.nx-fx .nx-pc__badge--sale b{font:900 11px/1 var(--nx-font-head);}
body.nx-fx .nx-pc__badge--sale i{font:900 12px/1 var(--nx-font-head);font-style:normal;padding:4px 6px;border-radius:4px;background:#fff;color:var(--nx-accent-text)}
.nx-pc__badge--out{background:var(--nx-ink);color:var(--nx-paper)}
.nx-pc__body{display:flex;flex-direction:column;gap:6px;flex:1;padding:calc(14px*var(--nx-space))}
.nx-pc__meta{margin:0;color:var(--nx-muted);font:700 12px/1.3 var(--nx-font-head);}
.nx-pc__title{margin:0!important;font:800 16px/1.25 var(--nx-font-head)!important;color:var(--nx-ink);text-wrap:balance}
.nx-pc__title a{color:inherit;text-decoration:none}
.nx-pc__title a::after{content:"";position:absolute;inset:0;z-index:1}
.nx-pc__foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:4px}
.nx-pc__price{display:flex;flex-direction:column;gap:2px}
.nx-pc__price .price,.nx-pc__price>.amount,.nx-pc__price>span.woocommerce-Price-amount{font:900 19px/1.1 var(--nx-font-head);color:var(--nx-ink)}
/* Precio en oferta: el nuevo grande en el acento y al lado el normal tachado con un trazo en diagonal; el precio por kilo abajo */
.nx-pc__price:has(del){flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:8px}
.nx-pc__price:has(del) .nx-pc__unit{order:3;flex-basis:100%}
.nx-pc__price del{order:2;position:relative;font:700 14px/1 var(--nx-font-head);color:var(--nx-muted);opacity:1;text-decoration:none}
body.nx-fx .nx-pc__price del::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:2px;border-radius:2px;background:var(--nx-accent);transform:rotate(-8deg)}
.nx-pc__price del .amount{font:inherit;color:inherit}
.nx-pc__price ins{order:1;text-decoration:none;color:var(--nx-accent-text)}
.nx-pc__price ins .amount{font:900 19px/1.1 var(--nx-font-head);color:inherit}
.nx-pc__unit{color:var(--nx-muted);font-size:12px;font-weight:600}
.nx-pc__add{position:relative;z-index:2;min-height:42px!important;font-size:15px!important;width:100%}
.nx-pc__add .nx-i{margin-left:-4px}
.nx-pc__add.is-added{background:var(--nx-ok)!important;border-color:var(--nx-ok)!important;color:#fff!important}
/* Sobre bandas de color (nx-band--*) la tarjeta conserva sus colores: la regla de párrafos blancos de la banda no alcanza al rótulo */
.nx .nx-pc p.nx-pc__meta{color:var(--nx-muted)}
/* La tarjeta se ordena por su propio ancho, no por el de la pantalla: con poco espacio el botón va bajo el precio, a lo ancho */
.nx-pc{container-type:inline-size}
@media (min-width:768px){
  .nx-pc__title{font-size:17px!important}
}
@container (min-width:270px){
  .nx-pc__foot{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .nx-pc__add{width:auto;padding:0 18px!important}
}
@container (max-width:200px){
  .nx-pc__title{font-size:14px!important}
  body.nx-fx .nx-pc__badge--sale{top:8px;gap:5px;padding:5px 12px 5px 8px}
  body.nx-fx .nx-pc__badge--sale b{font-size:9px;}
  body.nx-fx .nx-pc__badge--sale i{font-size:10px;padding:3px 4px}
  .nx-pc__price .price,.nx-pc__price>.amount,.nx-pc__price>span.woocommerce-Price-amount,.nx-pc__price ins{font-size:17px}
}

/* Pop: la foto (recortada) sobresale del fondo de color de la categoría */
.nx-pc--pop,.nx ul.products li.product.nx-pc--pop{border:0!important;background:transparent!important;overflow:visible!important;padding-top:40px!important}
.nx-pc--pop:hover{box-shadow:none}
.nx-pc--pop .nx-pc__media{position:absolute;left:0;right:0;top:0;z-index:1;aspect-ratio:auto;background:transparent;overflow:visible;pointer-events:none}
.nx-pc--pop .nx-pc__media img,.nx ul.products li.product.nx-pc--pop .nx-pc__media img{display:block;width:78%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;margin:0 auto!important;filter:drop-shadow(0 16px 18px rgba(0,0,0,.18))}
.nx-pc--pop:hover .nx-pc__media img{transform:translateY(-6px) rotate(-1.5deg)}
.nx-pc--pop .nx-pc__body{background:var(--nx-pc-bg,var(--nx-surface));border-radius:var(--nx-radius-l);padding-top:calc(78% - 26px)}
.nx-pc--pop .nx-pc__badge{top:52px;left:12px}

/* Compacta: horizontal */
.nx-pc--compact{flex-direction:row}
.nx-pc--compact .nx-pc__media{flex:0 0 38%;aspect-ratio:auto}
.nx-pc--compact .nx-pc__foot{flex-direction:column;align-items:stretch}

/* ---------- Categorías ---------- */
.nx-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(16px*var(--nx-space))}
@media (min-width:768px){.nx-cats{grid-template-columns:repeat(min(var(--nx-cols,4),4),minmax(0,1fr));gap:calc(24px*var(--nx-space))}}
.nx .nx-cat{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:var(--nx-ink)}
.nx-cat__name{font:800 17px/1.2 var(--nx-font-head);text-align:center}
/* Objeto: producto recortado sobre un disco del color de la categoría */
.nx-cat--object .nx-cat__media{position:relative;display:block;width:100%;height:0;padding-bottom:100%;border-radius:50%;background:var(--nx-cat,var(--nx-surface));transition:transform .35s ease}
.nx-cat--object .nx-cat__img{position:absolute;left:8%;top:6%;width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.18));transition:transform .35s ease}
.nx-cat--object:hover .nx-cat__img{transform:translateY(-8px) rotate(-3deg) scale(1.04)}
/* Foto */
.nx .nx-cat--photo{position:relative;display:block;height:0;padding-bottom:125%;border-radius:var(--nx-radius-l);overflow:hidden;background:var(--nx-cat,var(--nx-surface))}
.nx-cat--photo .nx-cat__media,.nx-cat--photo .nx-cat__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nx-cat--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.62))}
.nx-cat--photo .nx-cat__name{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;color:#fff;text-align:left;font-size:20px}
/* Píldoras (tienda) */
.nx-cats--pill{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;margin:0 0 8px;scrollbar-width:none}
.nx-cats--pill::-webkit-scrollbar{display:none}
.nx .nx-cat--pill{flex:none;flex-direction:row;padding:10px 16px;border:1.5px solid var(--nx-line);border-radius:var(--nx-btn-radius);font:700 14px/1 var(--nx-font-head);white-space:nowrap;background:var(--nx-paper)}
.nx .nx-cat--pill:hover{border-color:var(--nx-brand);color:var(--nx-brand)}
.nx .nx-cat--pill.is-current{background:var(--nx-brand);border-color:var(--nx-brand);color:var(--nx-on-brand)}

/* ---------- Página de tienda ---------- */
.nx.woocommerce-shop .site-main,.nx.tax-product_cat .site-main,.nx.post-type-archive-product .site-main{max-width:1320px;margin:0 auto;padding:24px 16px 48px}
@media (min-width:1025px){.nx.woocommerce-shop .site-main,.nx.tax-product_cat .site-main,.nx.post-type-archive-product .site-main{padding:40px 28px 64px}}
/* Migas (tienda, categorías y ficha): flecha dibujada, enlaces en el primario y la página actual en tinta */
.nx .woocommerce-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 18px;font:700 13px/1.3 var(--nx-font-head);color:var(--nx-ink);letter-spacing:.01em}
.nx .woocommerce-breadcrumb a{color:var(--nx-brand);text-decoration:none;opacity:.85}
.nx .woocommerce-breadcrumb a:hover{opacity:1;text-decoration:underline}
.nx-bc__sep{display:inline-block;width:7px;height:7px;border-right:2px solid var(--nx-accent);border-top:2px solid var(--nx-accent);transform:rotate(45deg);margin:0 2px 1px 0;border-radius:1px}
.nx .woocommerce-products-header__title.page-title{font-size:clamp(30px,4vw,48px);margin:0 0 8px;font-weight:900}
.nx .term-description{max-width:68ch;color:var(--nx-muted);margin-bottom:12px}
.nx .woocommerce-result-count{color:var(--nx-muted);font-size:14px;margin:8px 0 16px}
.nx .woocommerce-ordering select{min-height:42px;border:1.5px solid var(--nx-line);border-radius:var(--nx-btn-radius);padding:0 14px;background:var(--nx-paper);font:600 14px var(--nx-font-body)}
/* Orden con la marca (core.js arma el menú sobre el select de WooCommerce) */
.nx .woocommerce-ordering{position:relative;z-index:20}
.nx-sort{position:relative}
.nx .nx-sort__native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;inset:0}
.nx .nx-sort__btn{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:6px 18px 6px 8px;border:0;border-radius:var(--nx-btn-radius);background:var(--nx-surface);color:var(--nx-ink);cursor:pointer;text-align:left;transition:background-color .2s,box-shadow .2s}
.nx .nx-sort__btn:hover,.nx .nx-sort.is-open .nx-sort__btn{background:color-mix(in srgb,var(--nx-surface) 70%,var(--nx-brand) 8%)}
.nx .nx-sort__btn:focus-visible{outline:3px solid var(--nx-accent);outline-offset:2px}
.nx-sort__ico{flex:none;box-sizing:content-box;padding:9px;border-radius:50%;background:var(--nx-brand);color:#fff}
.nx-sort__t{display:flex;flex-direction:column;gap:3px;min-width:0}
.nx-sort__k{display:inline-flex;align-items:center;gap:7px;font:900 10px/1 var(--nx-font-head);color:var(--nx-accent-text)}
.nx-sort__k::after{content:"";width:16px;height:5px;border-radius:2px;background:var(--nx-brand)}body.nx-fx .nx-sort__k::after{background:linear-gradient(var(--nx-accent) 0 40%,transparent 40% 60%,var(--nx-brand) 60% 100%)}
.nx-sort__v{font:800 15px/1.15 var(--nx-font-head);color:var(--nx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-sort__chev{flex:none;color:var(--nx-brand);transition:transform .25s}
.nx-sort.is-open .nx-sort__chev{transform:rotate(180deg)}
.nx-sort__menu{position:absolute;right:0;top:calc(100% + 10px);min-width:240px;margin:0;padding:8px;list-style:none;border-radius:var(--nx-radius-l);background:var(--nx-paper);box-shadow:0 18px 44px rgba(18,40,74,.18),0 0 0 1px color-mix(in srgb,var(--nx-brand) 8%,transparent);animation:nx-sort-in .22s cubic-bezier(.2,.7,.2,1)}
.nx-sort__menu[hidden]{display:none}
@keyframes nx-sort-in{from{opacity:0;transform:translateY(-6px)}}
.nx-sort__menu li{position:relative;padding:12px 16px 12px 40px;border-radius:var(--nx-radius-m);font:700 15px/1.2 var(--nx-font-head);color:var(--nx-ink);cursor:pointer;outline:none}
.nx-sort__menu li:hover,.nx-sort__menu li:focus{background:var(--nx-surface)}
.nx-sort__menu li[aria-selected="true"]{color:var(--nx-brand);font-weight:900}
.nx-sort__menu li[aria-selected="true"]::before{content:"";position:absolute;left:14px;top:50%;width:16px;height:6px;margin-top:-3px;border-radius:2px;background:var(--nx-brand)}body.nx-fx .nx-sort__menu li[aria-selected="true"]::before{background:linear-gradient(var(--nx-accent) 0 40%,transparent 40% 60%,var(--nx-brand) 60% 100%)}
@media (prefers-reduced-motion:reduce){.nx-sort__menu{animation:none}}
/* Celular: resultados y orden en una sola fila */
@media (max-width:767px){.nx .woocommerce-result-count{float:left;margin:0 0 16px;line-height:48px;font-size:13px}.nx .woocommerce-ordering{float:right;margin:0 0 16px}.nx .woocommerce-ordering select{max-width:180px;min-height:42px;font-size:13px;padding:0 10px}.nx ul.products{clear:both}
  .nx .woocommerce-result-count{font-size:12px}.nx .nx-sort__btn{gap:8px;min-height:48px;padding:5px 12px 5px 5px}.nx-sort__ico{padding:7px}.nx-sort__v{max-width:104px;font-size:13px}.nx-sort__menu{min-width:220px}}
.nx .woocommerce-pagination ul{border:0!important;display:flex;gap:6px;justify-content:center}
.nx .woocommerce-pagination ul li{border:0!important}
.nx .woocommerce-pagination ul li a,.nx .woocommerce-pagination ul li span{min-width:42px;min-height:42px;display:flex!important;align-items:center;justify-content:center;border-radius:var(--nx-btn-radius);border:1.5px solid var(--nx-line)!important}
.nx .woocommerce-pagination ul li span.current{background:var(--nx-brand)!important;color:var(--nx-on-brand)!important;border-color:var(--nx-brand)!important}
.nx-empty{color:var(--nx-muted)}

/* ---------- Categorías como historias (catalog_shop_cats = story o [nx_categories style="story"]) ---------- */
.nx-stories{position:relative;margin:4px 0 calc(22px*var(--nx-space))}
.nx-stories__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 2px 12px;scrollbar-width:none;
  -webkit-mask:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.nx-stories__track::-webkit-scrollbar{display:none}
.nx a.nx-story{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:80px;text-decoration:none;color:var(--nx-ink);scroll-snap-align:start;
  animation:nx-story-in .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
.nx-story__ring{position:relative;display:block;width:76px;aspect-ratio:1/1;border-radius:50%;padding:3px;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nx-story__ring::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;
  background:conic-gradient(from 210deg,var(--nx-cat,var(--nx-brand)),var(--nx-accent),var(--nx-brand),var(--nx-cat,var(--nx-brand)));transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.nx-story__media{position:relative;display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;border:3px solid var(--nx-paper);background:var(--nx-cat,var(--nx-surface))}
.nx-story__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.nx-story__mosaic{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%}
.nx-story__mosaic img{aspect-ratio:1/1}
.nx-story__name{position:relative;font:800 13px/1.15 var(--nx-font-head);text-align:center;max-width:100%;overflow-wrap:anywhere;padding-bottom:6px}
.nx a.nx-story:hover .nx-story__ring,.nx a.nx-story:focus-visible .nx-story__ring{transform:translateY(-4px)}
.nx a.nx-story:hover .nx-story__ring::before{transform:rotate(200deg)}
.nx a.nx-story:hover .nx-story__media img{transform:scale(1.12)}
.nx a.nx-story:focus-visible{outline:none}
.nx a.nx-story:focus-visible .nx-story__media{box-shadow:0 0 0 3px var(--nx-paper),0 0 0 5px var(--nx-brand)}
/* Categoría actual: el anillo gira lento y el nombre lleva la doble franja de la marca */
.nx-story.is-current .nx-story__ring::before{animation:nx-story-spin 4s linear infinite}
.nx-story.is-current .nx-story__name{color:var(--nx-brand)}
.nx-story.is-current .nx-story__name::after{content:"";position:absolute;left:22%;right:22%;bottom:0;height:5px;border-radius:2px;
  background:var(--nx-brand)}body.nx-fx .nx-story.is-current .nx-story__name::after{background:linear-gradient(var(--nx-accent) 0 40%,transparent 40% 60%,var(--nx-brand) 60% 100%)}
@media (min-width:900px){
  .nx-stories__track{justify-content:center;gap:clamp(14px,1.8vw,30px);overflow:visible;-webkit-mask:none;mask:none;flex-wrap:nowrap;padding-top:14px}
  .nx a.nx-story{flex:1 1 0;min-width:0;width:auto;max-width:168px;gap:12px}
  .nx-story__ring{width:100%;max-width:156px;padding:5px}
  .nx-story__media{border-width:5px}
  .nx-story__ring::after{content:"";position:absolute;left:14%;right:14%;bottom:-10px;height:18px;border-radius:50%;background:rgba(0,0,0,.18);filter:blur(10px);z-index:-2;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
  .nx a.nx-story:hover .nx-story__ring::after{transform:scale(.85);opacity:.7}
  .nx-story__name{font-size:15px}
}
@keyframes nx-story-in{from{transform:translateY(12px) scale(.9)}}
@keyframes nx-story-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nx a.nx-story,.nx-story.is-current .nx-story__ring::before{animation:none}.nx-story__ring,.nx-story__ring::before,.nx-story__media img{transition:none}}

/* 0.12.15 · El carro lateral ya confirma lo agregado: sin el enlace «Ver carrito» que WooCommerce suma bajo el botón (descuadraba la tarjeta) */
.nx-pc a.added_to_cart,.nx-pc .added_to_cart.wc-forward{display:none!important}

/* 0.14.0 · Etiquetas y líneas de la tarjeta. Base lisa: la cinta y el tachado en diagonal quedan solo con «Efectos de marca» */
.nx-pc__badge--sale{display:inline-flex;align-items:center;gap:6px}
.nx-pc__badge--sale i{font-style:normal}
.nx-pc__badge--low{background:var(--nx-highlight);color:var(--nx-ink)}
.nx-pc__badges{position:absolute;top:10px;left:10px;right:10px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
.nx-pc__badges .nx-pc__badge{position:static}
body:not(.nx-fx) .nx-pc__price del{text-decoration:line-through;text-decoration-thickness:1.5px}
body:not(.nx-fx) .nx-pc__price del::before{content:"Normal "}
.nx-pc__each,.nx-pc__gross{order:3;flex-basis:100%;font-size:13px;font-weight:600;color:var(--nx-body)}
.nx-pc__lines{display:flex;flex-direction:column;gap:2px;margin-top:-4px;font-size:13px;line-height:1.35}
.nx-pc__pts{font-weight:700;color:var(--nx-brand)}
.nx-pc__until{color:var(--nx-muted)}
.nx-pc__range{font:900 19px/1.1 var(--nx-font-head);color:var(--nx-ink)}
.nx-pc__range .amount{font:inherit;color:inherit}
.nx-pc__range small{font:600 13px/1 var(--nx-font-body);color:var(--nx-muted);margin-right:2px}
body:not(.nx-fx) .nx-pc__price del{font-weight:600}
/* 0.14.0 · El cuerpo de la tarjeta ocupa todo el ancho (antes se encogía con nombres cortos y el botón quedaba de otro ancho) */
.nx-pc__body{width:100%;box-sizing:border-box;min-width:0}
/* 0.15.0 · Ordenar en base lisa: una línea «Ordenar: Recomendados». El rótulo con raya y el círculo quedan solo con Efectos de marca */
body:not(.nx-fx) .nx-sort__btn{min-height:44px;gap:8px;padding:0 14px;border:1.5px solid var(--nx-line);background:var(--nx-paper);box-shadow:none}
body:not(.nx-fx) .nx-sort__btn:hover,body:not(.nx-fx) .nx-sort.is-open .nx-sort__btn{background:var(--nx-paper);border-color:var(--nx-ink)}
body:not(.nx-fx) .nx-sort__ico{width:18px;height:18px;padding:0;background:none;color:var(--nx-ink)}
body:not(.nx-fx) .nx-sort__t{flex-direction:row;align-items:baseline;gap:4px}
body:not(.nx-fx) .nx-sort__k{gap:0;font:600 14px/1 var(--nx-font-body);letter-spacing:0;text-transform:none;color:var(--nx-muted)}
body:not(.nx-fx) .nx-sort__k::before{content:none!important;display:none!important}
body:not(.nx-fx) .nx-sort__k::after{content:":"!important;display:inline!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;background:none!important;border:0!important;color:inherit}
body:not(.nx-fx) .nx-sort__v{font:700 14px/1 var(--nx-font-body);color:var(--nx-ink)}
/* 0.15.0 · Resultados de búsqueda de productos: el tema pone el main en fila (pensado para el blog) */
body.nx.search.post-type-archive-product .site-main{display:block}
/* 0.16.1 · Orden bajo el precio: c/u o «con IVA» antes del precio por unidad de medida */
.nx-pc__unit{order:4}
/* 0.17.0 · Plato comprable */
.nx-plate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px;align-items:center}
.nx-plate__card{order:-1;display:flex;flex-direction:column;gap:16px}
.nx-plate__k{font:700 13px/1.2 var(--nx-font-body);color:var(--nx-brand)}
.nx .nx-plate__t{margin:0;font:600 clamp(30px,4.2vw,58px)/1.04 var(--nx-font-head);letter-spacing:-.02em;color:var(--nx-ink)}
.nx-plate__p{margin:0;max-width:38ch;font-size:17px;line-height:1.5;color:var(--nx-body)}
.nx-plate__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:15px;color:var(--nx-ink)}
.nx-plate__list li{display:flex;align-items:center;gap:10px}
.nx-plate__n{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--nx-ink);color:var(--nx-paper);font:600 13px/1 var(--nx-font-head)}
.nx-plate__acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.nx .nx-plate__all{min-height:54px!important;padding:0 26px!important;border-radius:999px!important;background:var(--nx-accent)!important;border-color:var(--nx-accent)!important;color:var(--nx-ink)!important;font-size:16px!important}
.nx-plate__rec{font-weight:700;color:var(--nx-brand)}
.nx-plate__media{position:relative;aspect-ratio:3/2;border-radius:var(--nx-radius-l);overflow:hidden;background:var(--nx-ink)}
.nx-plate__media picture,.nx-plate__media>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nx .nx-plate__dot{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;z-index:2;width:44px;height:44px;min-height:0!important;padding:0!important;border:3px solid #fff!important;border-radius:50%!important;background:var(--nx-ink)!important;color:#fff!important;font:600 16px/1 var(--nx-font-head)!important;box-shadow:0 4px 14px rgba(0,0,0,.35)!important;cursor:pointer}
.nx .nx-plate__dot[aria-expanded=true]{background:var(--nx-accent)!important;color:var(--nx-ink)!important}
.nx .nx-plate__dot:focus-visible{outline:3px solid var(--nx-accent);outline-offset:3px}
.nx-plate__pop{position:absolute;right:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:12px;width:min(380px,calc(100% - 24px));padding:12px;box-sizing:border-box;background:#fff;border-radius:var(--nx-radius-m);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.nx-plate__pop[hidden]{display:none}
.nx-plate__pop img{flex:none;width:56px;height:56px;object-fit:contain;border-radius:var(--nx-radius-s);background:#fff}
.nx-plate__pop-t{flex:1;min-width:0;display:flex;flex-direction:column;font:600 14px/1.25 var(--nx-font-body);color:var(--nx-ink);text-decoration:none}
.nx-plate__pop-t small{font-weight:600;color:var(--nx-body)}
.nx-plate__pop .nx-pc__add{width:auto!important;padding:0 14px!important}
.nx .nx-plate__x{flex:none;width:40px;height:40px;min-height:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--nx-ink)!important;font-size:22px!important}
@media (max-width:767px){
.nx-plate{grid-template-columns:1fr;gap:0}
.nx-plate__media{aspect-ratio:4/5}
.nx .nx-plate__dot{left:var(--xm,var(--x));top:var(--ym,var(--y))}
.nx-plate__card{order:2;position:relative;z-index:4;margin:-56px 12px 0;padding:16px;gap:10px;background:var(--nx-paper);border-radius:var(--nx-radius-m);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.nx .nx-plate__t{font-size:23px}
.nx-plate__p,.nx-plate__list{display:none}
.nx-plate__pop{left:12px;right:12px;bottom:68px;width:auto}
.nx .nx-plate__all{width:100%;font-size:15px!important;padding:0 16px!important}
.nx-plate__rec{margin:0 auto}
}
/* 0.17.0 · Recetas que se compran: 4 por fila en escritorio, carrusel con el dedo en celular y tablet (sin giro automático) */
.nx-recipes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nx-rc{display:flex;flex-direction:column;gap:8px}
.nx-rc__img{display:block;aspect-ratio:4/5;border-radius:var(--nx-radius-l);overflow:hidden;background:var(--nx-soft)}
.nx-rc__img img{display:block;width:100%;height:100%;object-fit:cover}
.nx .nx-rc__t{margin:4px 0 0;font:600 19px/1.2 var(--nx-font-head);color:var(--nx-ink)}
.nx-rc__m{font-size:14px;color:var(--nx-body)}
.nx .nx-rc__add{margin-top:auto;min-height:44px!important}
@media (max-width:1024px){.nx-recipes{display:flex;gap:12px;margin:0 -16px;padding:0 16px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.nx-rc{flex:0 0 72%;scroll-snap-align:start}}
@media (min-width:768px) and (max-width:1024px){.nx-rc{flex-basis:40%}}
/* 0.17.2 · Base lisa: el menú de ordenar marca la opción elegida con color y fondo, sin la rayita; letra del texto, no la de títulos. La rayita y la letra gruesa quedan solo con Efectos de marca */
body.nx:not(.nx-fx) .nx-sort__menu li{padding-left:16px;font:600 15px/1.2 var(--nx-font-body)}
body.nx:not(.nx-fx) .nx-sort__menu li[aria-selected="true"]{font-weight:700;color:var(--nx-brand)}
body.nx:not(.nx-fx) .nx-sort__menu li[aria-selected="true"]::before{display:none}
body.nx:not(.nx-fx) .nx-story.is-current .nx-story__name::after{display:none}
/* 0.18.0 · Bloques de la home: «¿Llega a tu comuna?», banda para negocios y compra segura */
.nx-shipband{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px 40px;align-items:center;padding:24px 32px;border-radius:var(--nx-radius-l);background:var(--nx-surface)}
.nx .nx-shipband__t{margin:0;font:600 clamp(22px,2.4vw,30px)/1.15 var(--nx-font-head);color:var(--nx-ink)}
.nx-shipband__p{margin:6px 0 0;font-size:15px;color:var(--nx-body)}
.nx .nx-shipcalc--band{margin:0;border:0;background:none;box-shadow:none;padding:0}
.nx .nx-shipcalc--band>summary{display:none}
.nx .nx-shipcalc--band .nx-shipcalc__body{padding:0;border:0;background:none}
.nx .nx-shipcalc--band .nx-shipcalc__out:not(:empty){margin-top:12px;padding:12px 14px;border-radius:var(--nx-radius-m);background:#fff}
.nx-b2bband{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:36px 56px;border-radius:999px;background:var(--nx-brand);color:var(--nx-on-brand)}
.nx-b2bband__tx{flex:1 1 360px;display:flex;flex-direction:column;gap:6px;min-width:0}
.nx-b2bband__k{font:700 13px/1.2 var(--nx-font-body);color:var(--nx-accent-light)}
.nx .nx-b2bband__t{margin:0;font:600 clamp(24px,2.6vw,32px)/1.12 var(--nx-font-head);color:var(--nx-on-brand)}
.nx-b2bband__p{margin:0;font-size:16px;color:var(--nx-surface)}
.nx .nx-b2bband__go{min-height:52px!important;padding:0 26px!important;border-radius:999px!important;background:var(--nx-paper)!important;border-color:var(--nx-paper)!important;color:var(--nx-brand)!important}
.nx-safe{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line)}
.nx-safe__i{flex:1 1 240px;display:flex;flex-direction:column;gap:4px;padding:20px 8px;font-size:14px;color:var(--nx-body)}
.nx-safe__i a{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none}
.nx-safe__i strong{font:700 16px/1.25 var(--nx-font-body);color:var(--nx-ink)}
.nx-safe__i a strong{color:var(--nx-brand)}
@media (max-width:767px){
.nx-shipband{grid-template-columns:1fr;padding:18px}
.nx-b2bband{padding:24px 20px;border-radius:var(--nx-radius-l)}
.nx .nx-b2bband__go{width:100%}
.nx-safe{flex-direction:column}
.nx-safe__i{flex-basis:auto;padding:14px 4px}
.nx-safe__i+.nx-safe__i{border-top:1px solid var(--nx-line)}
}

/* 0.19.0 · Tarjeta: formatos (variables) y − N + cuando ya está en el carro */
.nx-pc__pv{display:contents}
.nx-pc__unit:empty{display:none}
.nx-pc__fmt{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
body.nx .nx-pc__fmtb{min-height:36px!important;padding:0 12px!important;border-radius:999px!important;border:1.5px solid var(--nx-line)!important;background:#fff!important;color:var(--nx-ink)!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;line-height:1!important;box-shadow:none!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}
body.nx .nx-pc__fmtb[aria-pressed="true"]{border-color:var(--nx-brand)!important;background:var(--nx-brand)!important;color:var(--nx-on-brand,#fff)!important}
body.nx .nx-pc__fmtb:hover{border-color:var(--nx-brand)!important}
body.nx .nx-pc__fmtb:focus-visible,body.nx .nx-cstep__b:focus-visible{outline:2px solid var(--nx-brand);outline-offset:2px}
.nx-pc__add[hidden],.nx-cstep[hidden]{display:none!important}
.nx-cstep{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:42px;padding:3px;border-radius:var(--nx-btn-radius,999px);background:var(--nx-brand);color:var(--nx-on-brand,#fff);box-sizing:border-box}
body.nx .nx-cstep__b{width:36px!important;height:36px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:999px!important;background:transparent!important;color:inherit!important;font-family:inherit!important;font-size:20px!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;display:grid;place-items:center;cursor:pointer}
body.nx .nx-cstep__b:hover{background:rgba(255,255,255,.16)!important}
.nx-cstep__n{min-width:24px;text-align:center;font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}
.nx-cstep.is-busy{opacity:.75}
@container (min-width:270px){
  .nx-cstep{width:auto;min-width:120px}
}

/* 0.21.1 · Plato de la semana: el − N + del aviso de cada producto mide lo mismo que el botón y no aplasta el nombre */
.nx-plate__pop .nx-cstep{flex:none;width:auto;min-width:112px;min-height:40px}
.nx .nx-plate__pop .nx-plate__pop-t,.nx .nx-plate__pop .nx-plate__pop-t:hover{text-decoration:none!important}

/* ============ 0.38.0 · QA celular: plato de la semana sin desbordarse ============ */
@media (max-width:767px){
  .nx-plate{grid-template-columns:minmax(0,1fr)}
  .nx-plate>*{min-width:0}
  .nx-plate__media{width:100%;max-width:100%}
  .nx-plate__card{margin:-56px 12px 0;min-width:0}
  .nx .nx-plate__all{white-space:normal;height:auto;min-height:52px!important;padding:10px 16px!important;text-align:center;line-height:1.25}
}

/* 0.53.0 · Estrellas en la tarjeta (solo con reseñas publicadas) */
.nx-pc__rate{display:flex;align-items:center;gap:6px;margin:-2px 0 2px;font:600 13px var(--nx-font-body),sans-serif;color:var(--nx-ink);font-variant-numeric:tabular-nums}
.nx-pc__rate>span:last-child{font-weight:500;color:var(--nx-muted)}
.nx-pc__rate .nx-stars{position:relative;display:inline-block;width:66px;height:12px;line-height:0}
.nx-pc__rate .nx-stars svg{display:block;width:66px;height:12px;fill:currentColor}
.nx-pc__rate .nx-stars__bg{position:absolute;inset:0;color:color-mix(in srgb,var(--nx-ink) 16%,transparent)}
.nx-pc__rate .nx-stars__on{position:absolute;inset:0 auto 0 0;overflow:hidden;color:var(--nx-brand)}
