/* Tienda: shop and product-category archives (template-parts/shop.php).
   Desktop: cards in a fluid grid. Phones (≤720px): two columns, "+" add button, sticky cart bar. */

.shop{--mono:var(--primitive-fontFamily-mono);--card:#0b0d0e;color:var(--color-foreground);padding-top:76px}
.shop a{text-decoration:none;color:inherit}
.shop p{margin:0}
.shop-notices:has(.woocommerce-message,.woocommerce-error,.woocommerce-info){max-width:1280px;margin:0 auto;padding:24px 24px 0}

.shop-hero{max-width:1280px;margin:0 auto;padding:72px 24px 32px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.shop-hero-copy{display:flex;flex-direction:column;gap:16px}
.shop-eyebrow{font:12px var(--mono);letter-spacing:var(--primitive-letterSpacing-label-wide);color:var(--color-accent)}
.shop-title{margin:0;font-family:var(--primitive-fontFamily-display);font-weight:700;font-size:clamp(54px,9vw,128px);line-height:.88;letter-spacing:var(--primitive-letterSpacing-display-normal)}
.shop-hero-info{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font:13px var(--mono);text-transform:uppercase;color:var(--color-foreground-muted)}
.shop-hero-info .is-strong{color:var(--color-foreground)}

.shop-toolbar{max-width:1280px;margin:0 auto;padding:0 24px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border-subtle)}
.shop-filters{display:flex;flex-wrap:wrap;gap:10px}
.shop-filter{height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--color-border-default);background:transparent;color:var(--color-foreground);font:12px var(--mono);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.shop-filter:hover{border-color:var(--color-accent)}
.shop-filter.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-foreground-on-accent)}
.shop-count{font:12px var(--mono);color:var(--color-foreground-subtle)}

.shop-grid{list-style:none;max-width:1280px;margin:0 auto;padding:40px 24px 96px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:24px}
.shop-card{background:var(--card);border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.shop-card[hidden]{display:none}
.shop-card-media{position:relative;display:flex;align-items:center;justify-content:center;height:340px;background:var(--color-surface-alt)}
.shop .shop-card-media img{max-width:80%;max-height:280px;width:auto;height:auto;object-fit:contain;transition:transform var(--primitive-duration-normal) ease}
.shop-card:hover .shop-card-media img{transform:scale(1.04)}
.shop-card-tag{position:absolute;top:16px;left:16px;padding:6px 10px;border-radius:999px;background:#080908;color:var(--color-foreground);font:10px var(--mono);letter-spacing:var(--primitive-letterSpacing-label-wide)}
.shop-card-body{flex-grow:1;padding:24px;display:flex;flex-direction:column;gap:12px}
.shop-card-eyebrow{display:none;font:9px var(--mono);letter-spacing:var(--primitive-letterSpacing-label-wide);color:var(--color-foreground-subtle)}
.shop-card-name{margin:0;font-family:var(--primitive-fontFamily-display);font-size:26px;line-height:1;letter-spacing:-.05em;text-transform:uppercase}
.shop-card-name a:hover{color:var(--color-accent)}
.shop-card-desc{color:var(--color-foreground-muted);font-size:15px;line-height:1.45}
.shop-card-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.shop-card-price{font:700 22px var(--mono);color:var(--color-accent)}
.shop-card-price del{color:var(--color-foreground-subtle);font-weight:400;font-size:.7em;margin-right:6px}
.shop-card-price ins{text-decoration:none}
.shop-card-deal{margin:0;font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}
.shop-card-actions{display:flex;gap:8px}
.shop-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 18px;border-radius:999px;font:11px var(--mono);text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.shop-btn--ghost{border:1px solid var(--color-border-default)}
.shop-btn--ghost:hover{border-color:var(--color-foreground)}
.shop .shop-btn--add{background:var(--color-primary);color:var(--button-primary-fg)}
.shop .shop-btn--add:hover{background:var(--color-accent);color:var(--color-foreground-on-accent)}
.shop-btn--add svg{width:16px;height:16px;flex:none}
.shop-btn--add.loading{opacity:.6;pointer-events:none}
.shop-btn--add.added{background:var(--color-accent);color:var(--color-foreground-on-accent)}
.shop-btn--off{border:1px solid var(--color-border-subtle);color:var(--color-foreground-subtle)}
/* WooCommerce appends its own "Ver carrito" link after an AJAX add; the header badge and cart bar cover it. */
.shop .added_to_cart{display:none}
.shop-empty{max-width:1280px;margin:0 auto;padding:64px 24px;color:var(--color-foreground-muted)}

.shop-info{border-top:1px solid var(--color-border-subtle);max-width:1280px;margin:0 auto;padding:48px 24px 72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;font:13px var(--mono);text-transform:uppercase}
.shop-info>div{display:flex;flex-direction:column;gap:8px}
.shop-info-title{color:var(--color-accent)}
.shop-info-text{color:var(--color-foreground-muted)}
.shop-info-text a{color:var(--color-foreground)}
.shop-info-text a:hover{color:var(--color-accent)}

.shop-cartbar{display:none}

@media(max-width:720px){
	.shop-hero{padding:40px 16px 24px;gap:16px}
	.shop-hero-copy{gap:14px}
	.shop-eyebrow{font-size:11px}
	.shop-title{font-size:clamp(36px,12vw,54px)}
	.shop-hero-info{flex-direction:row;flex-wrap:wrap;gap:6px 14px;font-size:11px}
	.shop-toolbar{padding:0 16px 20px}
	.shop-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px;scrollbar-width:none}
	.shop-filters::-webkit-scrollbar{display:none}
	.shop-filter{flex:none;padding:0 16px;font-size:11px}
	.shop-count{display:none}
	.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 16px 32px}
	.shop-card{border-radius:16px}
	.shop-card-media{height:176px}
	.shop .shop-card-media img{max-height:150px}
	.shop-card-tag{display:none}
	.shop-card-body{padding:12px;gap:6px}
	.shop-card-eyebrow{display:block}
	.shop-card-name{font-size:16px;line-height:1.05;letter-spacing:-.04em}
	.shop-card-desc{display:none}
	.shop-card-foot{flex-direction:column;align-items:stretch;gap:8px;padding-top:4px}
	.shop-card-price{font-size:16px}
	.shop-card-actions{gap:6px}
	.shop-btn--ghost{flex:1;padding:0}
	.shop-btn--add{flex:none;width:44px;padding:0;border-radius:50%}
	.shop-btn--add span{display:none}
	.shop-btn--add svg{width:18px;height:18px}
	.shop-btn--off{flex:1;padding:0}
	.shop-info{padding:32px 16px 120px;grid-template-columns:1fr;gap:20px;font-size:12px}
	.shop-cartbar{position:fixed;z-index:40;left:12px;right:12px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:var(--color-accent);color:var(--color-foreground-on-accent);box-shadow:var(--primitive-shadow-float)}
	.shop-cartbar[hidden]{display:none}
	.shop-cartbar-sum{display:flex;flex-direction:column;font:11px var(--mono);text-transform:uppercase}
	.shop-cartbar-sum strong{font-size:15px}
	.shop .shop-cartbar-link{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;background:#080908;color:var(--color-foreground);font:11px var(--mono);text-transform:uppercase}
}

@media(prefers-reduced-motion:reduce){
	.shop .shop-card-media img{transition:none}
	.shop-card:hover .shop-card-media img{transform:none}
}
