/*
 * Víkingur 26: the shop (archive-product.php), after the design's ShopPage
 * (ui_kits/web/ShopPages.jsx). ProductCard and PromoTile are shared
 * components, in components.css.
 */

/* ── Hero: the newest kit ── */
.vik-shop-top{padding-top:24px}
.vik-shop-hero{position:relative;display:grid;align-content:end;min-height:clamp(380px,48vh,520px);overflow:hidden;border-radius:var(--radius-card);background:var(--black);color:#fff;text-decoration:none}
.vik-shop-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 600ms var(--ease-strike)}
.vik-shop-hero:hover .vik-shop-hero__img{transform:scale(1.05)}
.vik-shop-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.25) 60%,transparent 100%)}
.vik-shop-hero__body{position:relative;display:grid;gap:18px;justify-items:start;max-width:640px;padding:clamp(24px,4vw,56px)}
.vik-shop-hero__title{font-family:var(--font-display);font-weight:900;font-size:clamp(52px,6.4vw,104px);line-height:.84;text-transform:uppercase;text-wrap:balance}
.vik-shop-hero:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.vik-shop-hl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
.vik-shop-hl .vik-promo{min-height:clamp(240px,26vw,340px)}

/* ── Members band, for visitors who are not logged in ── */
.vik-shop-member{margin-top:40px}
.vik-shop-member__in{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.vik-shop-member p{margin:0;max-width:70ch;font-size:15px;line-height:1.5;color:var(--text-secondary)}
.vik-shop-member b{color:var(--ink)}
.vik-shop-member__actions{display:flex;gap:8px}

/* ── List ── */
.vik-shop-list{padding:56px 0 96px}
.vik-shop-list__head{display:grid;gap:10px;margin-bottom:28px}
.vik-shop-list__kicker{font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.vik-shop-list__title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(44px,4.6vw,68px);line-height:.88;text-transform:uppercase}
/* A category archive: breadcrumbs in place of the kicker, its description. */
.vik-shop-list__crumbs{margin-bottom:6px}
.vik-shop-list__desc{max-width:640px;font-size:17px;line-height:1.55;color:var(--text-secondary)}
.vik-shop-list__desc p{margin:0}
.vik-shop-list__desc p+p{margin-top:10px}
.vik-shop-list__none{margin:0;font-size:17px;color:var(--text-secondary)}
.vik-shop-bar{position:sticky;top:76px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:32px;padding:14px 0;background:var(--white);border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.vik-shop-bar[hidden]{display:none}
.vik-shop-bar__chips{display:flex;gap:8px;flex-wrap:wrap}
.vik-shop-bar__count{font-size:13px;color:var(--text-secondary)}
.vik-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}
.vik-shop-grid>[hidden]{display:none}
/* A product without a photo shows the V shield. */
.vik-product__shield{position:absolute;left:50%;top:50%;width:36%;height:auto;aspect-ratio:980/1043;transform:translate(-50%,-50%);color:var(--gray-200)}

/* WooCommerce notices (added to cart, errors): its own styles are not loaded here. */
.vik-shop-notices:empty{display:none}
.vik-shop-notices .woocommerce-message,.vik-shop-notices .woocommerce-info,.vik-shop-notices .woocommerce-error{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 24px;padding:14px 18px;list-style:none;background:var(--gray-50);border:1px solid var(--border-hairline);font-size:15px}
.vik-shop-notices .woocommerce-error{background:var(--red-50);border-color:var(--red-100)}
.vik-shop-notices a.button{font-family:var(--font-condensed);font-weight:700;text-transform:uppercase;color:var(--text-brand)}

@media (max-width:900px){.vik-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
	.vik-shop-hl{grid-template-columns:1fr;gap:16px;margin-top:16px}
	.vik-shop-grid{gap:32px 12px}
	.vik-shop-bar{flex-wrap:nowrap;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;scrollbar-width:none}
	.vik-shop-bar::-webkit-scrollbar{display:none}
	.vik-shop-bar__chips{flex-wrap:nowrap}
	.vik-chip{white-space:nowrap}
	.vik-shop-bar__count{display:none}
}
@media (prefers-reduced-motion:reduce){.vik-shop-hero__img{transition:none}}
