/* Tienda estándar E&S — recupera el sistema de diseño del catálogo antiguo
   (es-shop-catalog.css) y lo aplica al grid nativo de WooCommerce.
   Cargado por es-shop-styles.php SOLO en /shop/ y archivos de categoría. */

/* lienzo a sangre completa (el hero pinta su fondo de borde a borde) */
.entry-content,.page-content,.site-content,.elementor-section-wrap{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}

/* ── sistema base (idéntico al catálogo antiguo) ── */
.sb{font-family:'Outfit',sans-serif!important;color:#2D1245;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0;padding:0;font-size:17px}
.sb *{box-sizing:border-box}
.sb a{text-decoration:none;color:inherit}
.sb h1,.sb h2,.sb h3{font-family:'Playfair Display',serif!important;font-weight:400;line-height:1.22;margin:0 0 1rem;color:#682AAA}
.sb h1{font-size:clamp(2rem,7vw,3.6rem)}
.sb p{font-family:'Outfit',sans-serif!important;color:rgba(45,18,69,0.72);font-weight:300;margin:0 0 1.1rem;font-size:1rem;line-height:1.7}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.1rem}
.sec{padding:2.6rem 0}
.ctr{text-align:center}
.bg-l{background:#FAF7FF}
.pill{display:inline-block;background:rgba(249,168,212,0.18);padding:7px 16px;border-radius:9999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:0.16em;color:#C2487E}
@media(min-width:768px){.sb{font-size:18px}.sec{padding:4rem 0}}

/* ── navegación de categorías ── */
.es-catnav{display:flex;flex-wrap:wrap;gap:0.55rem;justify-content:center;max-width:1140px;margin:1.8rem auto 0.4rem;padding:0 1.1rem;font-family:'Outfit',sans-serif}
.es-catnav a{display:inline-block;background:#fff;border:1.5px solid rgba(104,42,170,0.18)!important;color:#682AAA!important;font-size:0.85rem;font-weight:600;padding:8px 16px!important;border-radius:9999px;text-decoration:none;transition:all .15s}
.es-catnav a:hover,.es-catnav a.act{background:#682AAA!important;color:#fff!important;border-color:#682AAA!important}

/* ── contenedor del grid nativo ── */
.elementor-widget-wc-archive-products{max-width:1140px;margin:0 auto 3rem;padding:0 1.1rem;font-family:'Outfit',sans-serif}

/* cabecera del listado: contador + ordenar */
.woocommerce-result-count{color:rgba(45,18,69,0.55);font-size:0.88rem;font-family:'Outfit',sans-serif!important}
.woocommerce-ordering select{font-family:'Outfit',sans-serif!important;font-size:0.88rem;color:#2D1245;border:1.5px solid rgba(104,42,170,0.18);border-radius:9999px;padding:8px 34px 8px 16px;background-color:#fff}

/* ── tarjetas del grid ── */
.elementor-widget-wc-archive-products ul.products li.product{
  background:#fff;border:1px solid rgba(104,42,170,0.09);border-radius:1rem;overflow:hidden;
  display:flex;flex-direction:column;position:relative;padding:0!important;margin-bottom:1.1rem;
  transition:box-shadow .18s, transform .18s}
.elementor-widget-wc-archive-products ul.products li.product:hover{box-shadow:0 10px 28px rgba(104,42,170,0.14);transform:translateY(-2px)}
.elementor-widget-wc-archive-products ul.products li.product a img{
  aspect-ratio:1/1;object-fit:cover;width:100%;margin:0;background:#f4f3ef}
.elementor-widget-wc-archive-products .woocommerce-loop-product__title{
  font-family:'Outfit',sans-serif!important;font-size:0.95rem!important;font-weight:700;color:#2D1245;
  line-height:1.3;padding:0.75rem 0.85rem 0.2rem!important;margin:0}
.elementor-widget-wc-archive-products ul.products li.product .price{
  font-family:'Playfair Display',serif!important;font-size:1.08rem;color:#682AAA!important;
  padding:0 0.85rem;margin:0 0 0.3rem}
.elementor-widget-wc-archive-products ul.products li.product .price del{
  font-size:0.75rem;color:rgba(104,42,170,0.4);font-family:'Outfit',sans-serif!important;margin-right:5px;opacity:1}
.elementor-widget-wc-archive-products ul.products li.product .button{
  display:inline-flex;align-items:center;justify-content:center;
  background:#682AAA!important;color:#fff!important;font-family:'Outfit',sans-serif!important;
  font-size:11.5px;font-weight:700;letter-spacing:0.02em;padding:9px 14px;min-height:38px;
  border-radius:9999px;margin:0.35rem 0.85rem 0.95rem;border:none;transition:all .15s}
.elementor-widget-wc-archive-products ul.products li.product .button:hover{background:#F9A8D4!important;color:#682AAA!important}

/* badge oferta */
.elementor-widget-wc-archive-products ul.products li.product .onsale{
  position:absolute;top:10px;left:10px;right:auto;z-index:2;min-height:0;min-width:0;line-height:1;
  background:#F9A8D4!important;color:#4A1D78!important;font-family:'Outfit',sans-serif!important;
  font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;
  padding:6px 12px;border-radius:9999px;margin:0}

/* paginación */
.elementor-widget-wc-archive-products .woocommerce-pagination ul{border:none!important}
.elementor-widget-wc-archive-products .woocommerce-pagination ul li{border:none!important;margin:0 3px}
.elementor-widget-wc-archive-products .woocommerce-pagination ul li a,
.elementor-widget-wc-archive-products .woocommerce-pagination ul li span{
  font-family:'Outfit',sans-serif!important;font-weight:600;color:#682AAA;background:#fff;
  border:1.5px solid rgba(104,42,170,0.18);border-radius:9999px;min-width:40px;height:40px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 12px}
.elementor-widget-wc-archive-products .woocommerce-pagination ul li span.current,
.elementor-widget-wc-archive-products .woocommerce-pagination ul li a:hover{
  background:#682AAA;color:#fff;border-color:#682AAA}

/* móvil: 2 columnas */
@media(max-width:767px){
  .elementor-widget-wc-archive-products ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:0.8rem}
  .elementor-widget-wc-archive-products ul.products li.product{width:100%!important;margin:0!important;float:none!important}
}

/* ── catnav v2: temas / subcategorías / formato ── */
.es-catnav-wrap{max-width:1140px;margin:1.6rem auto 0.4rem;padding:0 1.1rem}
.es-catnav{max-width:none;margin:0 0 0.6rem;padding:0}
.es-catnav-subs a{font-size:0.78rem;padding:6px 13px!important;border-color:rgba(104,42,170,0.12)!important;background:#FAF7FF}
.es-catnav-fmt{align-items:center;gap:0.45rem}
.es-fmt-label{font-size:0.78rem;font-weight:700;color:rgba(45,18,69,0.5);text-transform:uppercase;letter-spacing:0.08em;margin-right:2px}
.es-catnav-fmt a{font-size:0.78rem;padding:6px 14px!important;border-color:rgba(45,18,69,0.15)!important;color:#2D1245!important}
.es-catnav-fmt a:hover,.es-catnav-fmt a.act{background:#2D1245!important;border-color:#2D1245!important;color:#fff!important}

/* badge físico/digital en tarjeta */
.fmt-badge{position:absolute;top:10px;right:10px;z-index:2;font-family:'Outfit',sans-serif!important;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;padding:5px 10px;border-radius:9999px;line-height:1}
.fmt-fisico{background:#682AAA;color:#fff}
.fmt-digital{background:#fff;color:#682AAA;border:1.4px solid rgba(104,42,170,0.35)}
.fmt-acceso-online{background:#fff;color:#C2487E;border:1.4px solid rgba(194,72,126,0.35)}
.fmt-servicio{background:#F9A8D4;color:#4A1D78}

/* estado de carga AJAX */
.es-loading{opacity:0.4;pointer-events:none;transition:opacity .15s}
