/* Apariencia de la tienda de ERP-WOO (copiada de erp-woo/assets/shop.css v0.94 para que la tienda de ERP-WEC se vea igual). Color principal en --sh-a. */
.erpw-shop{--sh-a:#2563eb;--sh-ink:#0f172a;--sh-mut:#64748b;--sh-line:#e2e8f0;--sh-soft:#f8fafc;--sh-card:#fff;--sh-ok:#059669;--sh-warn:#d97706;--sh-bad:#dc2626;--sh-r:14px;max-width:1240px;margin:0 auto;padding:18px 16px 48px;color:var(--sh-ink);box-sizing:border-box}
.erpw-shop *,.erpw-shop *:before,.erpw-shop *:after{box-sizing:border-box}
.erpw-shop img{max-width:100%;height:auto}
.erpw-shop a{color:inherit}
.erpw-shop h1,.erpw-shop h2,.erpw-shop h3{color:var(--sh-ink);line-height:1.2;margin:0}
.erpw-shop [hidden]{display:none!important}
.erpw-hp{position:absolute!important;left:-9999px!important}

/* Botones */
.erpw-shop-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:999px;border:2px solid var(--sh-a);background:var(--sh-a);color:#fff!important;font-weight:700;font-size:15px;line-height:1.1;text-decoration:none!important;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s,color .15s;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--sh-a) 80%,transparent);font-family:inherit}
.erpw-shop-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px color-mix(in srgb,var(--sh-a) 90%,transparent)}
.erpw-shop-btn:disabled{opacity:.6;cursor:wait;transform:none}
.erpw-shop-btn.is-ghost{background:transparent;color:var(--sh-a)!important;box-shadow:none}
.erpw-shop-btn.is-ghost:hover{background:color-mix(in srgb,var(--sh-a) 8%,transparent)}
.erpw-shop-btn.is-dark{background:#0f172a;border-color:#0f172a}
.erpw-shop-btn.is-big{min-height:52px;font-size:16px;padding:12px 26px}
.erpw-shop-btn.is-small{min-height:34px;padding:6px 14px;font-size:13px}
.erpw-shop-btn.is-wide{width:100%}
.erpw-shop-link{background:none;border:0;color:var(--sh-a);cursor:pointer;text-decoration:underline;font:inherit;padding:0}

/* Barra superior y migas */
.erpw-shop-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px}
.erpw-shop-search{flex:1 1 320px;display:flex;align-items:center;border:1.5px solid var(--sh-line);border-radius:999px;background:var(--sh-card);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.erpw-shop-search:focus-within{border-color:var(--sh-a);box-shadow:0 0 0 4px color-mix(in srgb,var(--sh-a) 14%,transparent)}
.erpw-shop-search input{flex:1;border:0!important;background:none!important;padding:12px 18px!important;font-size:15px;outline:0;box-shadow:none!important;min-width:0;color:var(--sh-ink)}
.erpw-shop-search button{border:0;background:var(--sh-a);color:#fff;width:46px;height:42px;margin:3px;border-radius:999px;display:grid;place-items:center;cursor:pointer}
.erpw-shop-bar__links{display:flex;gap:14px;align-items:center;font-weight:600;font-size:14px}
.erpw-shop-bar__links a{text-decoration:none}
.erpw-shop-bar__cart b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--sh-a);color:#fff;font-size:12px}
.erpw-shop-crumbs{font-size:13px;color:var(--sh-mut);margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px}
.erpw-shop-crumbs a{text-decoration:none;color:var(--sh-mut)}.erpw-shop-crumbs a:hover{color:var(--sh-a)}
.erpw-shop-crumbs b{color:var(--sh-ink);font-weight:600}
.erpw-shop-head{margin:4px 0 18px}
.erpw-shop-head h1{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.01em;text-wrap:balance}
.erpw-shop-desc{color:var(--sh-mut);max-width:70ch;margin-top:6px}
.erpw-shop-note{padding:12px 16px;border-radius:12px;margin:0 0 12px;font-weight:500;background:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe}
.erpw-shop-note.is-ok{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.erpw-shop-note.is-err{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.erpw-shop-muted{color:var(--sh-mut)}

/* Categorías en burbujas */
.erpw-shop-cats{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 14px;margin:0 0 8px;scrollbar-width:thin}
.erpw-shop-cats a{flex:none;width:104px;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;font-size:13px;font-weight:600;text-align:center;line-height:1.2}
.erpw-shop-cats__img{width:84px;height:84px;border-radius:50%;background:var(--sh-soft);border:1px solid var(--sh-line);display:grid;place-items:center;overflow:hidden;transition:transform .2s,box-shadow .2s}
.erpw-shop-cats a:hover .erpw-shop-cats__img{transform:translateY(-3px);box-shadow:0 10px 20px -12px rgba(15,23,42,.45)}
.erpw-shop-cats__img img{width:100%;height:100%;object-fit:cover}
.erpw-shop-cats__img i{font-style:normal;font-size:28px;font-weight:800;color:var(--sh-a)}

/* Catálogo */
.erpw-shop-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.erpw-shop-filters{position:sticky;top:20px;display:flex;flex-direction:column;gap:10px}
.erpw-shop-filters details{border:1px solid var(--sh-line);border-radius:var(--sh-r);background:var(--sh-card);padding:10px 14px}
.erpw-shop-filters summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.erpw-shop-filters summary::-webkit-details-marker{display:none}
.erpw-shop-filters summary:after{content:"+";color:var(--sh-mut)}
.erpw-shop-filters details[open] summary:after{content:"−"}
.erpw-shop-filters ul{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow:auto}
.erpw-shop-filters ul ul{margin:2px 0 4px 12px}
.erpw-shop-filters li a{display:flex;justify-content:space-between;padding:5px 6px;border-radius:8px;text-decoration:none;font-size:14px}
.erpw-shop-filters li a:hover{background:var(--sh-soft)}
.erpw-shop-filters li a.is-on{color:var(--sh-a);font-weight:700;background:color-mix(in srgb,var(--sh-a) 8%,transparent)}
.erpw-shop-filters small{color:var(--sh-mut)}
.erpw-shop-fprice__row{display:flex;align-items:center;gap:6px;margin:8px 0}
.erpw-shop-fprice__row input{width:100%;min-width:0;padding:8px;border:1px solid var(--sh-line);border-radius:8px}
.erpw-shop-chk{display:flex;align-items:center;gap:8px;margin:8px 0;cursor:pointer;font-size:14px}
.erpw-shop-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;color:var(--sh-mut);font-size:14px}
.erpw-shop-sort select{padding:7px 10px;border:1px solid var(--sh-line);border-radius:10px;background:var(--sh-card)}
.erpw-shop-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:16px}
.erpw-shop-card{display:flex;flex-direction:column;border:1px solid var(--sh-line);border-radius:var(--sh-r);background:var(--sh-card);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.erpw-shop-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -20px rgba(15,23,42,.45);border-color:color-mix(in srgb,var(--sh-a) 35%,var(--sh-line))}
.erpw-shop-card__img{position:relative;display:block;aspect-ratio:1/1;background:#fff;overflow:hidden}
.erpw-shop-card__img img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .35s}
.erpw-shop-card:hover .erpw-shop-card__img img{transform:scale(1.05)}
.erpw-shop-card__ph{display:block;width:100%;height:100%;min-height:80px;background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 10px,#f8fafc 10px,#f8fafc 20px)}
.erpw-shop-card__sale{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:999px;background:var(--sh-bad);color:#fff;font-size:12px;font-weight:700;font-style:normal}
.erpw-shop-card__body{display:flex;flex-direction:column;gap:4px;padding:10px 14px 4px;flex:1}
.erpw-shop-card__body h3{font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.erpw-shop-card__body h3 a{text-decoration:none}
.erpw-shop-card__sku{color:var(--sh-mut);font-size:12px}
.erpw-shop-card__av{align-self:flex-start;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:#ecfdf5;color:var(--sh-ok)}
.erpw-shop-card__av.is-outofstock{background:#fef2f2;color:var(--sh-bad)}
.erpw-shop-card__av.is-onbackorder{background:#fffbeb;color:var(--sh-warn)}
.erpw-shop-price{font-size:18px;font-weight:800;color:var(--sh-ink);font-variant-numeric:tabular-nums}
.erpw-shop-price small{font-size:12px;font-weight:600;color:var(--sh-mut)}
.erpw-shop-price del{font-size:13px;font-weight:500;color:var(--sh-mut);margin-right:4px}
.erpw-shop-price.is-quote,.erpw-shop-price.is-login{font-size:14px;color:var(--sh-a)}
.erpw-shop-card__act{padding:10px 14px 14px}
.erpw-shop-card__act .erpw-shop-btn{width:100%;min-height:40px;font-size:14px}
.erpw-shop-card__act form{margin:0}
.erpw-shop-pager{display:flex;justify-content:center;gap:6px;margin:24px 0 0}
.erpw-shop-pager a,.erpw-shop-pager b,.erpw-shop-pager span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--sh-line);text-decoration:none;font-weight:600}
.erpw-shop-pager b{background:var(--sh-a);border-color:var(--sh-a);color:#fff}
.erpw-shop-pager span{border:0}
.erpw-shop-empty{text-align:center;padding:48px 16px;color:var(--sh-mut);display:flex;flex-direction:column;align-items:center;gap:12px}

/* Producto */
.erpw-shop-pd{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:start}
.erpw-shop-gal{position:sticky;top:20px}
.erpw-shop-gal__main{aspect-ratio:1/1;border:1px solid var(--sh-line);border-radius:20px;background:#fff;overflow:hidden;cursor:zoom-in}
.erpw-shop-gal__main img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .2s}
.erpw-shop-gal__main.is-zoom img{transform:scale(2)}
.erpw-shop-gal__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.erpw-shop-gal__thumbs button{flex:none;width:72px;height:72px;border:2px solid var(--sh-line);border-radius:12px;background:#fff;padding:4px;cursor:pointer}
.erpw-shop-gal__thumbs button.is-on{border-color:var(--sh-a)}
.erpw-shop-gal__thumbs img{width:100%;height:100%;object-fit:contain}
.erpw-shop-info{display:flex;flex-direction:column;gap:12px}
.erpw-shop-info h1{font-size:clamp(22px,2.6vw,32px);font-weight:800;text-wrap:balance}
.erpw-shop-info__brand{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sh-a);text-decoration:none}
.erpw-shop-info__sku{margin:0;color:var(--sh-mut);font-size:14px}
.erpw-shop-info__price .erpw-shop-price{font-size:30px}
.erpw-shop-info__price>small{color:var(--sh-mut)}
.erpw-shop-info__short{color:#334155}
.erpw-shop-info__cats{font-size:13px;color:var(--sh-mut);margin:0}
.erpw-shop-buy{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--sh-line);border-radius:18px;background:var(--sh-soft)}
.erpw-shop-buy__row{display:flex;gap:10px;flex-wrap:wrap}
.erpw-shop-buy__row .erpw-shop-btn{flex:1 1 200px}
.erpw-shop-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.erpw-shop-opts label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:14px}
.erpw-shop-opts select{padding:10px 12px;border:1.5px solid var(--sh-line);border-radius:12px;background:#fff;font-size:15px}
.erpw-shop-varmsg{margin:0;color:var(--sh-bad);font-weight:600}
.erpw-shop-qty{display:inline-flex;align-items:center;border:1.5px solid var(--sh-line);border-radius:999px;background:#fff;overflow:hidden;height:46px}
.erpw-shop-qty button{width:40px;height:100%;border:0;background:none;font-size:20px;cursor:pointer;color:var(--sh-ink)}
.erpw-shop-qty button:hover{background:var(--sh-soft)}
.erpw-shop-qty input{width:52px;border:0!important;text-align:center;font-size:16px;font-weight:700;background:none!important;box-shadow:none!important;-moz-appearance:textfield;padding:0!important}
.erpw-shop-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.erpw-shop-perks{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.erpw-shop-perks li{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--sh-soft);border:1px solid var(--sh-line)}
.erpw-shop-perks li:before{content:"✓ ";color:var(--sh-ok);font-weight:700}
.erpw-shop-tabs{margin:36px 0 0;border:1px solid var(--sh-line);border-radius:18px;background:var(--sh-card);overflow:hidden}
.erpw-shop-tabs__nav{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--sh-line);background:var(--sh-soft);overflow-x:auto}
.erpw-shop-tabs__nav button{border:0;background:none;padding:10px 18px;border-radius:12px;font-weight:600;cursor:pointer;color:var(--sh-mut);font-family:inherit;font-size:15px;white-space:nowrap}
.erpw-shop-tabs__nav button.is-on{background:var(--sh-card);color:var(--sh-ink);box-shadow:0 2px 8px -4px rgba(15,23,42,.3)}
.erpw-shop-tabs__panel{padding:20px 22px}
.erpw-shop-prose{max-width:80ch;line-height:1.65}
.erpw-shop-related{margin:40px 0 0}
.erpw-shop-related h2{font-size:22px;margin:0 0 14px}

/* Carrito y pago */
.erpw-shop-cart,.erpw-shop-co{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.erpw-shop-cart__items{display:flex;flex-direction:column;gap:10px}
.erpw-shop-line{display:grid;grid-template-columns:84px minmax(0,1fr) auto auto 34px;gap:14px;align-items:center;padding:12px;border:1px solid var(--sh-line);border-radius:var(--sh-r);background:var(--sh-card)}
.erpw-shop-line__img{width:84px;height:84px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--sh-line)}
.erpw-shop-line__img img{width:100%;height:100%;object-fit:contain}
.erpw-shop-line__info{display:flex;flex-direction:column;gap:2px;min-width:0}
.erpw-shop-line__info a{text-decoration:none}
.erpw-shop-line__info small{color:var(--sh-mut)}
.erpw-shop-line__info em.is-err{color:var(--sh-bad);font-style:normal;font-size:13px}
.erpw-shop-line__unit{color:var(--sh-mut);font-size:14px}
.erpw-shop-line__total{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.erpw-shop-line__del{width:32px;height:32px;border-radius:50%;border:1px solid var(--sh-line);background:#fff;cursor:pointer;font-size:18px;line-height:1;color:var(--sh-mut)}
.erpw-shop-line__del:hover{color:var(--sh-bad);border-color:#fecaca}
.erpw-shop-cart__foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.erpw-shop-sum{position:sticky;top:20px;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--sh-line);border-radius:18px;background:var(--sh-card);box-shadow:0 18px 40px -30px rgba(15,23,42,.5)}
.erpw-shop-sum h2{font-size:18px}
.erpw-shop-coupon{display:flex;gap:8px;align-items:center}
.erpw-shop-coupon input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--sh-line);border-radius:10px}
.erpw-shop-totals{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0;font-size:15px}
.erpw-shop-totals dt{color:#475569;margin:0}
.erpw-shop-totals dt small{display:block;color:var(--sh-mut);font-size:12px}
.erpw-shop-totals dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.erpw-shop-totals .is-disc{color:var(--sh-ok)}
.erpw-shop-totals .is-total{font-size:20px;font-weight:800;color:var(--sh-ink);padding-top:8px;border-top:1px solid var(--sh-line)}
.erpw-shop-taxnote{margin:0;color:var(--sh-mut);font-size:12.5px;text-align:right}
.erpw-shop-secure{margin:0;font-size:12.5px;color:var(--sh-mut);text-align:center}
.erpw-shop-mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto}
.erpw-shop-mini li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px}
.erpw-shop-mini img,.erpw-shop-mini .erpw-shop-card__ph{width:48px;height:48px;border-radius:10px;object-fit:contain;border:1px solid var(--sh-line);background:#fff}
.erpw-shop-mini span{display:flex;flex-direction:column;min-width:0}.erpw-shop-mini small{color:var(--sh-mut)}
.erpw-shop-mini em{font-style:normal;font-weight:600;white-space:nowrap}
.erpw-shop-co__main{display:flex;flex-direction:column;gap:16px}
.erpw-shop-co__login{margin:0;padding:12px 16px;border-radius:12px;background:var(--sh-soft);border:1px solid var(--sh-line)}
.erpw-shop-box{padding:20px;border:1px solid var(--sh-line);border-radius:18px;background:var(--sh-card)}
.erpw-shop-box h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 14px}
.erpw-shop-box h2 i{width:28px;height:28px;border-radius:50%;background:var(--sh-a);color:#fff;font-style:normal;font-size:14px;display:grid;place-items:center}
.erpw-shop-box h3{font-size:15px;margin:16px 0 8px}
.erpw-shop-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.erpw-shop-fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.erpw-shop-f{display:flex;flex-direction:column;gap:5px;font-size:13.5px;font-weight:600;color:#334155}
.erpw-shop-f.is-wide{grid-column:1/-1}
.erpw-shop-f input,.erpw-shop-f select,.erpw-shop-f textarea{width:100%;padding:11px 13px!important;border:1.5px solid var(--sh-line)!important;border-radius:12px!important;background:#fff!important;font-size:15px;font-weight:400;color:var(--sh-ink);box-shadow:none!important;transition:border-color .15s,box-shadow .15s;font-family:inherit;height:auto}
.erpw-shop-f input:focus,.erpw-shop-f select:focus,.erpw-shop-f textarea:focus{border-color:var(--sh-a)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--sh-a) 14%,transparent)!important;outline:0}
.erpw-shop-f.is-bad input,.erpw-shop-f.is-bad select{border-color:var(--sh-bad)!important}
.erpw-shop-ship,.erpw-shop-pays{display:flex;flex-direction:column;gap:8px}
.erpw-shop-opt,.erpw-shop-pay{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--sh-line);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s}
.erpw-shop-opt:has(input:checked),.erpw-shop-pay:has(input:checked){border-color:var(--sh-a);background:color-mix(in srgb,var(--sh-a) 5%,#fff)}
.erpw-shop-opt span,.erpw-shop-pay span{display:flex;flex-direction:column;flex:1;min-width:0}
.erpw-shop-opt small,.erpw-shop-pay small{color:var(--sh-mut);font-size:13px}
.erpw-shop-opt b:last-child{white-space:nowrap}
.erpw-shop-pay em{font-style:normal;font-size:11px;font-weight:700;color:var(--sh-mut);letter-spacing:.04em}
.erpw-shop-spin{display:inline-block;width:16px;height:16px;border:2px solid var(--sh-line);border-top-color:var(--sh-a);border-radius:50%;animation:erpwSpin .7s linear infinite;vertical-align:-3px;margin-right:6px}
@keyframes erpwSpin{to{transform:rotate(360deg)}}

/* Pedido y cuenta */
.erpw-shop-thanks{display:flex;gap:16px;align-items:center;padding:20px 22px;border-radius:18px;margin:0 0 18px;background:#eff6ff;border:1px solid #bfdbfe}
.erpw-shop-thanks.is-paid{background:#ecfdf5;border-color:#a7f3d0}
.erpw-shop-thanks__ico{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:#fff;flex:none}
.erpw-shop-thanks h1{font-size:22px}
.erpw-shop-thanks p{margin:4px 0 0;color:var(--sh-mut)}
.erpw-shop-payinfo{margin:0 0 18px;border-color:#fde68a;background:#fffbeb}
.erpw-shop-order{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.erpw-shop-otable{width:100%;border-collapse:collapse;margin:0 0 12px}
.erpw-shop-otable td,.erpw-shop-otable th{padding:10px 6px;border-bottom:1px solid var(--sh-line);text-align:left;vertical-align:middle}
.erpw-shop-otable img{width:52px;height:52px;object-fit:contain;border-radius:10px;border:1px solid var(--sh-line)}
.erpw-shop-otable .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.erpw-shop-otable.is-list th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--sh-mut)}
.erpw-shop-auth{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;max-width:900px;margin:0 auto}
.erpw-shop-auth input[type=text],.erpw-shop-auth input[type=password]{width:100%;padding:11px 13px;border:1.5px solid var(--sh-line);border-radius:12px}
.erpw-shop-auth .button,.erpw-shop-auth input[type=submit]{background:var(--sh-a);color:#fff;border:0;border-radius:999px;padding:12px 24px;font-weight:700;cursor:pointer}

/* Botón flotante del carrito y aviso */
.erpw-shop-fcart{--sh-a:#2563eb;position:fixed;right:18px;bottom:18px;z-index:9990;width:58px;height:58px;border-radius:50%;background:var(--sh-a);color:#fff!important;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(15,23,42,.55);transition:transform .2s}
.erpw-shop-fcart:hover{transform:scale(1.06)}
.erpw-shop-fcart b{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;display:grid;place-items:center;border:2px solid #fff}
.erpw-shop-fcart:not(.has-items) b{display:none}
.erpw-shop-fcart.is-bump{animation:erpwBump .5s}
@keyframes erpwBump{40%{transform:scale(1.18)}}
.erpw-shop-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;z-index:9999;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:#0f172a;color:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.5);transition:all .25s;max-width:calc(100% - 32px);font-size:14px}
.erpw-shop-toast.is-on{transform:translate(-50%,0);opacity:1}
.erpw-shop-toast a{color:#fff;font-weight:700;white-space:nowrap}
.erpw-shop-toast.is-err{background:#991b1b}
body.erpw-shopv-cart .erpw-shop-fcart,body.erpw-shopv-checkout .erpw-shop-fcart{display:none}

/* Responsivo */
@media (max-width:1100px){.erpw-shop-grid{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}}
@media (max-width:900px){
	.erpw-shop-layout{grid-template-columns:1fr}
	.erpw-shop-filters{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
	.erpw-shop-pd,.erpw-shop-cart,.erpw-shop-co,.erpw-shop-order{grid-template-columns:1fr}
	.erpw-shop-gal{position:static}
	.erpw-shop-sum{position:static}
}
@media (max-width:640px){
	.erpw-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.erpw-shop-card__body{padding:8px 10px 2px}.erpw-shop-card__act{padding:8px 10px 10px}
	.erpw-shop-price{font-size:16px}
	.erpw-shop-fgrid{grid-template-columns:1fr}
	.erpw-shop-line{grid-template-columns:64px minmax(0,1fr) 30px;grid-template-areas:"img info del" "img qty total"}
	.erpw-shop-line__img{width:64px;height:64px;grid-area:img}.erpw-shop-line__info{grid-area:info}.erpw-shop-line .erpw-shop-qty{grid-area:qty;height:40px}.erpw-shop-line__total{grid-area:total;text-align:right}.erpw-shop-line__del{grid-area:del}
	.erpw-shop-fcart{right:12px;bottom:76px}
}
@media (prefers-reduced-motion:reduce){.erpw-shop *{transition:none!important;animation:none!important}}

/* v0.82: “Mi cuenta” del ERP dentro de la tienda (sin WooCommerce). */
.erpw-shop-accnav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:6px;border:1px solid var(--sh-line,#e5e7eb);border-radius:12px;background:var(--sh-soft,#f8fafc)}
.erpw-shop-accnav a{padding:8px 14px;border-radius:9px;text-decoration:none;color:inherit;font-weight:600;font-size:14px}
.erpw-shop-accnav a:hover{background:rgba(0,0,0,.05)}
.erpw-shop-accnav a.is-on{background:var(--sh-a,#2563eb);color:#fff}
.erpw-shop-acc{min-width:0}

/* ======================================================================
 * v0.83 — Tarjetas y botones renovados (Font Awesome, tamaño mediano)
 * ==================================================================== */
.erpw-shop-btn{min-height:40px;padding:8px 18px;font-size:14px;font-weight:650;letter-spacing:.01em;border-width:1.5px;gap:8px;text-decoration:none!important;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s}
.erpw-shop-btn i{font-size:.95em;line-height:1}
.erpw-shop-btn.is-big{min-height:46px;font-size:15px;padding:10px 22px}
.erpw-shop-btn.is-small{min-height:32px;padding:5px 12px;font-size:13px}
.erpw-shop-btn.is-dark i,.erpw-shop-btn:not(.is-ghost) i{color:inherit}
.erpw-shop-bar__links a{display:inline-flex;align-items:center;gap:7px}
.erpw-shop-bar__links i{color:var(--sh-a)}
.erpw-shop-search button i{font-size:15px}
.erpw-shop-perks li{display:flex;align-items:center;gap:8px}
.erpw-shop-perks li i{color:var(--sh-a);width:18px;text-align:center}
.erpw-shop-perks li:before{content:none!important}
.erpw-shop-empty__ico{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;background:color-mix(in srgb,var(--sh-a) 10%,#fff);color:var(--sh-a);font-size:34px;margin-bottom:6px}
.erpw-shop-secure{display:flex;align-items:center;justify-content:center;gap:6px}
.erpw-shop-secure i{color:var(--sh-ok)}
.erpw-shop-fcart i{font-size:22px}

.erpw-shop-grid{gap:20px}
.erpw-pc{position:relative;display:flex;flex-direction:column;background:var(--sh-card);border:1px solid var(--sh-line);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;isolation:isolate}
.erpw-pc:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(15,23,42,.45);border-color:color-mix(in srgb,var(--sh-a) 30%,var(--sh-line))}
.erpw-pc__media{position:relative;display:block;aspect-ratio:1/1;background:radial-gradient(circle at 50% 42%,#fff 0,#f2f6fa 72%);overflow:hidden}
.erpw-pc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.erpw-pc:hover .erpw-pc__media img{transform:scale(1.06)}
.erpw-pc__badges{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}
.erpw-pc__av,.erpw-pc__sale{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-style:normal;font-size:11.5px;font-weight:700;line-height:1.2;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);box-shadow:0 4px 12px -6px rgba(15,23,42,.35);color:var(--sh-ok)}
.erpw-pc__av i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.erpw-pc__av.is-outofstock{color:var(--sh-bad)}.erpw-pc__av.is-onbackorder{color:var(--sh-warn)}
.erpw-pc__sale{background:var(--sh-bad);color:#fff}
.erpw-pc__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 6px;flex:1;min-width:0}
.erpw-pc__cat{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--sh-a)!important;text-decoration:none!important}
.erpw-pc__cat:hover{text-decoration:underline!important}
.erpw-pc__title{font-size:15px!important;font-weight:650!important;line-height:1.35!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.erpw-pc__title a{color:var(--sh-ink)!important;text-decoration:none!important}
.erpw-pc__title a:hover{color:var(--sh-a)!important}
.erpw-pc__sku{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12px;color:var(--sh-mut);background:var(--sh-soft);border:1px solid var(--sh-line);border-radius:8px;padding:2px 8px}
.erpw-pc__sku i{font-size:11px;opacity:.75}
.erpw-pc__price{margin-top:2px}
.erpw-pc__price .erpw-shop-price{font-size:17px}
.erpw-pc__foot{display:flex;align-items:center;gap:8px;padding:10px 16px 16px}
.erpw-pc__foot form{flex:1;margin:0;min-width:0;display:flex}
.erpw-pc__btn{flex:1;width:100%;min-width:0}
.erpw-pc__btn span{overflow:hidden;text-overflow:ellipsis}
.erpw-pc__icon{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--sh-line);color:var(--sh-ink)!important;background:#fff;text-decoration:none!important;transition:all .18s}
.erpw-pc__icon:hover{border-color:var(--sh-a);color:var(--sh-a)!important;transform:translateY(-1px)}
.erpw-pc .erpw-shop-btn.is-ghost{background:color-mix(in srgb,var(--sh-a) 7%,#fff)}
.erpw-pc .erpw-shop-btn.is-ghost:hover{background:var(--sh-a);color:#fff!important}
@media (max-width:640px){
	.erpw-shop-grid{gap:12px}
	.erpw-pc{border-radius:14px}
	.erpw-pc__media img{padding:10px}
	.erpw-pc__body{padding:10px 11px 4px}
	.erpw-pc__title{font-size:13.5px!important}
	.erpw-pc__foot{padding:8px 10px 11px;gap:6px}
	.erpw-pc__btn{padding:6px 10px;font-size:13px;min-height:36px}
	.erpw-pc__icon{width:36px;height:36px}
	.erpw-pc__badges{top:7px;left:7px}
	.erpw-pc__av,.erpw-pc__sale{font-size:10.5px;padding:3px 8px}
}

/* v0.87: misma tipografía que el resto del sitio (variables globales de Elementor, Astra, Kadence y GeneratePress). */
.erpw-shop.is-site-look{font-family:var(--e-global-typography-text-font-family,var(--ast-body-font-family,var(--global-body-font-family,inherit)))}
.erpw-shop.is-site-look :is(h1,h2,h3,h4,.erpw-shop-card__name,.erpw-shop-title,.erpw-shop-product__title){font-family:var(--e-global-typography-primary-font-family,var(--ast-heading-font-family,var(--global-heading-font-family,inherit)))}
.erpw-shop.is-site-look :is(button,input,select,textarea,.erpw-shop-btn){font-family:inherit}
.erpw-shop-shiptab{line-height:1.6}
.erpw-shop-shiptab img{max-width:100%;height:auto}

/* ERP-WEC 2.12.1: componentes propios dentro de la tienda con apariencia de ERP-WOO */
.erpw-shop .ewcs-pdf,.erpw-shop .ewcs-pdf *{text-decoration:none!important}
.erpw-shop .ewcs-cats-pdf h2{font-size:18px;margin:6px 0 10px}
.erpw-shop .erpw-shop-info .erpw-pc__av{position:static;width:auto;box-shadow:none}
.erpw-shop .erpw-shop-bar__cart{cursor:pointer}
.erpw-shop .erpw-shop-otable{width:100%;border-collapse:collapse}.erpw-shop .erpw-shop-otable th,.erpw-shop .erpw-shop-otable td{padding:9px 12px;border-bottom:1px solid var(--sh-line);text-align:left;vertical-align:top}.erpw-shop .erpw-shop-otable th{width:38%;color:var(--sh-mut);font-weight:600}
.erpw-shop [data-ewcs-add].is-done{background:var(--sh-ok);border-color:var(--sh-ok)}
