.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.store-card [hidden]{display:none!important}
.store-brand-fallback{font-size:.9rem;font-weight:600;display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.store-card{background:#fff;border:1px solid #e6e7e9;border-radius:16px;overflow:hidden;min-width:0;cursor:pointer;box-shadow:0 3px 14px #20252b06;transition:box-shadow .22s,border-color .22s}
.store-card:focus-within{border-color:#adb5bd;box-shadow:0 4px 20px #20252b12}
.store-card :focus-visible,.store-tabs a:focus-visible{outline:3px solid #29798d;outline-offset:3px}
.store-image{display:block;width:100%;aspect-ratio:1/1;position:relative;overflow:hidden;padding:0;border:0;background:#f6f5f3;cursor:zoom-in;touch-action:pan-y;user-select:none;-webkit-touch-callout:none}
.store-image img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.store-image-preview{position:fixed;z-index:1045;display:block;margin:0;object-fit:contain;background:#f6f5f3;border-radius:12px;box-shadow:0 8px 32px #20252b40;pointer-events:none;user-select:none}
.store-image[aria-pressed=true]{cursor:zoom-out}
.store-zoom-hint{position:absolute;bottom:8px;right:8px;width:25px;height:25px;display:grid;place-items:center;background:#ffffffe6;border-radius:50%;color:#495057;font-size:12px;pointer-events:none}
.store-discount{position:absolute;top:10px;left:10px;background:#a53548;color:white;border-radius:20px;padding:3px 8px;font-size:.72rem;font-weight:700;pointer-events:none}
.store-card-body{padding:12px;display:flex;flex-direction:column}
.store-name{font-size:.92rem;line-height:1.35;height:2.7em;margin:0 0 8px;font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.store-name a{color:#24272a;text-decoration:none}
.store-description-area{font-size:.8rem;line-height:1.4;position:relative;height:calc(7em + 30px);cursor:default;min-width:0}
.store-description-toggle{border:0;background:transparent;color:#515b65;padding:0;height:28px;display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;font-size:.76rem;text-align:left}
.store-description-toggle i{transition:transform .2s}
.store-description-toggle[aria-expanded=true] i{transform:rotate(180deg)}
.store-description{height:7em;max-height:7em;overflow-y:auto;overflow-x:hidden;white-space:pre-line;overflow-wrap:anywhere;padding-right:6px;scrollbar-width:thin;scrollbar-color:#b6bebf transparent;color:#525b63;cursor:text}
.store-description-summary{margin:0;color:#79818a;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;white-space:pre-line}
.store-description-empty{color:#79818a;display:block;padding-top:28px}
.store-price{height:52px;display:flex;flex-direction:column;justify-content:flex-end;margin:4px 0 10px;line-height:1.2;font-variant-numeric:tabular-nums}
.store-old-price{height:18px;color:#757b80;font-size:.76rem}
.store-price strong{font-size:1.15rem;white-space:nowrap;letter-spacing:-.025em}
.store-buy{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;background:#edf6ef;border:1px solid #cce3d2;color:#215d3b;border-radius:8px;font-size:.82rem;font-weight:600}
.store-buy:hover{background:#215d3b;color:#fff}
.store-details{text-align:center;color:#58616a;font-size:.75rem;text-decoration:none;padding-top:9px;line-height:20px}
.store-tabs{display:flex;gap:4px;background:#f1f2f3;padding:4px;border-radius:12px;width:fit-content;max-width:100%;margin-bottom:18px}
.store-tabs a{color:#65707a;text-decoration:none;font-size:.86rem;border-radius:9px;padding:7px 14px;white-space:nowrap}
.store-tabs a[aria-current=true]{background:#fff;color:#212529;box-shadow:0 2px 6px #0000000e;font-weight:600}
.store-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.store-heading h2,.store-heading h1{margin:0;font-size:1.5rem;font-weight:650}
.store-help{font-size:.82rem;color:#78818a;margin:0 0 18px}
.store-empty{padding:35px 15px;text-align:center;background:#fff;border:1px dashed #d8dddf;border-radius:12px;color:#66717b}
.store-status{min-height:20px;font-size:.8rem;color:#68737c;margin:4px 0}
[data-store-loading=true]{opacity:.65;transition:opacity .15s;pointer-events:none}
.catalog-shell{padding-top:24px;padding-bottom:24px}
.catalog-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.catalog-filters{background:#fff;border:1px solid #e2e5e8;border-radius:12px;padding:12px;margin-bottom:20px}
.catalog-filters .form-label{font-size:.78rem;margin-bottom:4px;color:#59636e}
.catalog-filters .form-control,.catalog-filters .form-select{font-size:.85rem;min-height:34px;padding-top:5px;padding-bottom:5px}
.catalog-toolbar .btn,.catalog-filters .btn{font-size:.8rem;min-height:34px}
.rango-precios{position:relative;height:34px;margin:0 12px}
.rango-precios::before{content:'';position:absolute;top:14px;left:0;right:0;height:6px;border-radius:6px;background:linear-gradient(to right,#dee2e6 var(--desde),#39444b var(--desde),#39444b var(--hasta),#dee2e6 var(--hasta))}
.rango-precios input{position:absolute;width:100%;height:34px;margin:0;appearance:none;background:transparent;pointer-events:none}
.rango-precios input::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border:2px solid white;border-radius:50%;background:#39444b;cursor:ew-resize;pointer-events:auto;box-shadow:0 0 2px #212529}
.rango-precios input::-moz-range-thumb{width:22px;height:22px;border:2px solid white;border-radius:50%;background:#39444b;pointer-events:auto;cursor:ew-resize}
.catalog-pagination{margin-top:22px;display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
.catalog-pagination a,.catalog-pagination span{padding:7px 11px;border:1px solid #dde1e4;background:#fff;color:#49545e;border-radius:8px;text-decoration:none;font-size:.82rem}
.catalog-pagination [aria-current=page]{background:#29363c;color:#fff;border-color:#29363c}
.product-full-description{white-space:pre-line;overflow-wrap:anywhere;line-height:1.65}
@media(hover:hover) and (pointer:fine){.store-card:hover{box-shadow:0 6px 24px #20252b12;border-color:#cad0d4}}
@media(min-width:768px){.store-grid{gap:20px}.store-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.store-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.store-card-body{padding:15px}.store-name{font-size:1rem}.store-price strong{font-size:1.25rem}}
@media(max-width:380px){.store-grid{gap:8px}.store-card-body{padding:9px}.store-tabs a{padding:7px 10px;font-size:.79rem}.store-price strong{font-size:1.02rem}}
@media(max-width:767px){.store-brand-fallback{max-width:64px;font-size:.72rem}.btn-whatsapp{width:44px;height:44px;font-size:25px;right:10px;bottom:12px}.store-price-long strong{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.store-card,.store-description-toggle i{transition:none}}
