/* Killershirts WooCommerce styles. Spec: theme/DESIGN.md. Tokens: tokens.css (never hard-code).
   Sections: 0 base · 1 cards · 2 shop/archive · 3 product page · 4 notices · 5 cart · 6 checkout
             7 account · 8 mini-cart · 9 wishlist · 10 forms/buttons · 11 motion */

/* ---------- 0. base helpers ---------- */
.ks-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.ks-eyebrow, .ks-card__eyebrow { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); margin: 0; }
.ks-eyebrow a { color: var(--series); text-decoration: none; }
.ks-eyebrow a:hover { text-decoration: underline; text-underline-offset: 3px; }
.shop-container, .ks-shop, .ks-pdp { color: var(--cream); font-family: var(--font-body); }
.shop-container { background: transparent; }

/* ---------- 1. product card ---------- */
.ks-cell { position: relative; min-width: 0; }
.ks-cell .onsale { position: absolute; top: 12px; left: 12px; z-index: 3; background: var(--blood); color: var(--cream); font: 700 .7rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; padding: .3rem .6rem; border-radius: var(--pill); }
.ks-card { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--radius); transition: box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease); }
.ks-card:hover, .ks-card:focus-within { border-color: color-mix(in srgb, var(--series) 55%, var(--line)); box-shadow: 0 18px 40px -18px color-mix(in srgb, var(--series) 55%, transparent), 0 6px 14px rgba(0, 0, 0, .45); }
.ks-card:active { transform: scale(.98); transition: transform 120ms var(--ease); }
.ks-card__link { display: block; text-decoration: none; color: inherit; border-radius: var(--radius) var(--radius) 0 0; }
.ks-card__art { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius) var(--radius) 0 0; background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--series) 26%, var(--ink-3)), var(--ink-2) 70%); }
.ks-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--t-slow) var(--ease); }
.ks-card:hover .ks-card__img, .ks-card:focus-within .ks-card__img { transform: scale(1.04); }
/* RGB split ghost: two tinted copies of the art (--art set inline), hidden until hover so nothing extra loads */
.ks-card__ghost { position: absolute; inset: 0; pointer-events: none; display: none; mix-blend-mode: screen; }
.ks-card__ghost::before, .ks-card__ghost::after { content: ""; position: absolute; inset: 0; background-image: var(--art); background-size: cover; background-position: center; background-blend-mode: multiply; opacity: 0; transition: opacity var(--t-quick) linear, transform var(--t-base) var(--ease); }
.ks-card__ghost::before { background-color: var(--pink); transform: translateX(0); }
.ks-card__ghost::after { background-color: var(--cyan); transform: translateX(0); }
.ks-card:hover .ks-card__ghost, .ks-card.is-hot .ks-card__ghost { display: block; }
.ks-card:hover .ks-card__ghost::before, .ks-card.is-hot .ks-card__ghost::before { opacity: .6; transform: translateX(-2px); }
.ks-card:hover .ks-card__ghost::after, .ks-card.is-hot .ks-card__ghost::after { opacity: .6; transform: translateX(2px); }
.ks-card__chip { position: absolute; right: 12px; bottom: 12px; z-index: 2; background: var(--cream); color: var(--ink); font: 700 .72rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; padding: .45rem .8rem; border-radius: var(--pill); opacity: 0; transform: translateY(10px); transition: opacity var(--t-base) var(--ease), transform var(--t-base) var(--ease); }
.ks-card:hover .ks-card__chip, .ks-card:focus-within .ks-card__chip { opacity: 1; transform: none; }
.ks-card__body { display: flex; flex-direction: column; gap: .35rem; padding: 14px 16px 16px; flex: 1; }
.ks-card__title { margin: 0; font: 400 clamp(.95rem, 1.3vw, 1.1rem)/1.15 var(--font-display); letter-spacing: -.02em; text-transform: uppercase; }
.ks-card__title a { color: var(--cream); text-decoration: none; }
.ks-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius); } /* whole card clickable */
.ks-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: .5rem; }
.ks-card__price { font: 700 .95rem var(--font-body); color: var(--cream); }
.ks-card__price .amount { color: inherit; }
.ks-card__price del { opacity: .5; margin-right: .3em; }
.ks-card__price ins { text-decoration: none; color: var(--blood-hot); }
.ks-card__dots { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: 3px; max-width: 8.5em; }
.ks-card__dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--dot); box-shadow: inset 0 0 0 1px rgba(242, 237, 228, .3); transition: transform var(--t-quick) var(--ease); }
.ks-card:hover .ks-card__dots i { transform: scale(1.12); }

/* ---------- 2. shop / archive / search / tag ---------- */
.ks-shop { max-width: var(--maxw); margin: 0 auto; padding: clamp(20px, 3vw, 40px) var(--gutter) clamp(56px, 8vw, 120px); }
.ks-shophead { position: relative; overflow: hidden; isolation: isolate; border-radius: calc(var(--radius) * 1.5); padding: clamp(28px, 5vw, 72px) clamp(20px, 4vw, 56px); background: linear-gradient(115deg, color-mix(in srgb, var(--series) 24%, var(--ink-2)) 0%, var(--ink-2) 62%); border: 1px solid var(--line); }
.ks-shophead::before { /* concentric halo rings, tinted by series */
	content: ""; position: absolute; z-index: -1; right: -8%; top: 50%; width: min(70vw, 620px); aspect-ratio: 1; translate: 0 -50%;
	background: repeating-radial-gradient(circle, transparent 0 22px, color-mix(in srgb, var(--series) 38%, transparent) 22px 24px); -webkit-mask: radial-gradient(circle, #000 20%, transparent 70%); mask: radial-gradient(circle, #000 20%, transparent 70%); opacity: .8;
}
.ks-shophead::after { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--series), transparent 70%); }
.ks-shophead__title { margin: .5rem 0 0; font: 400 clamp(2.2rem, 6.4vw, 5.2rem)/.95 var(--font-display); letter-spacing: -.02em; text-transform: uppercase; color: var(--cream); max-width: 14ch; }
.ks-shophead__title em { font-style: normal; color: var(--series); }
.ks-shophead__title .ks-count, .ks-shophead__title b { color: var(--blood); font-weight: inherit; }
.ks-shophead[data-series]:not([data-series=""]) .ks-shophead__title { color: var(--series); }
.ks-shophead__sub { margin: 1rem 0 0; max-width: 46ch; color: var(--mute); font-size: clamp(1rem, 1.4vw, 1.15rem); }
.ks-shophead__count { margin: 1rem 0 0; font: 700 .75rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--series); }

.ks-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 22px 0 26px; }
@media (min-width: 900px) {
  .ks-toolbar { grid-template-columns: minmax(260px, 420px) minmax(0, 1fr); align-items: center; gap: 16px 18px; }
  .ks-toolbar > .ks-pills { grid-column: 1 / -1; order: 3; flex-wrap: wrap; overflow: visible; }
  .ks-toolbar > .ks-sort { justify-content: flex-end; }
}
.ks-shopsearch { position: relative; display: flex; }
.ks-shopsearch__input { width: 100%; height: 46px; padding: 0 52px 0 20px !important; margin: 0 !important; border-radius: var(--pill) !important; }
.ks-shopsearch__go { position: absolute; right: 5px; top: 5px; width: 36px; height: 36px; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; border: 0; background: var(--blood); color: var(--cream); cursor: pointer; line-height: 1; font-size: 1.1rem; transition: transform var(--t-quick) var(--ease), background var(--t-quick); }
.ks-shopsearch__go:hover { background: var(--blood-hot); transform: translateX(2px); }
.ks-shopsearch.is-busy .ks-shopsearch__go { animation: ks-spin 700ms linear infinite; }
.ks-pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px; margin: -2px; -webkit-overflow-scrolling: touch; }
.ks-pills::-webkit-scrollbar { display: none; }
.ks-pill { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--pill); color: var(--cream); background: transparent; text-decoration: none; font: 700 .85rem var(--font-body); white-space: nowrap; transition: border-color var(--t-quick), background var(--t-quick), color var(--t-quick), transform var(--t-quick) var(--ease); }
.ks-pill:hover { border-color: var(--series); transform: translateY(-1px); color: var(--cream); }
.ks-pill:active { transform: scale(.96); }
.ks-pill__n { font: 500 .68rem var(--font-mono); letter-spacing: .08em; color: var(--mute); }
.ks-pill.is-on { background: var(--series); border-color: var(--series); color: var(--ink); }
.ks-pill.is-on .ks-pill__n { color: rgba(11, 11, 13, .7); }
.ks-pill:not([data-series]).is-on { background: var(--blood); border-color: var(--blood); color: var(--cream); }
.ks-pill:not([data-series]).is-on .ks-pill__n { color: rgba(242, 237, 228, .8); }
.ks-pill[data-series="ladylunacy"] { --series: var(--pink); }
.ks-pill[data-series="spacebrain"] { --series: var(--cyan); }
.ks-pill[data-series="lib"] { --series: var(--acid); }
.ks-pill[data-series="oneoff"] { --series: var(--blood); }
.ks-sort { display: flex; align-items: center; gap: 14px; justify-content: space-between; }
.ks-sort .woocommerce-result-count { margin: 0; font: 500 .72rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.ks-sort .woocommerce-ordering { margin: 0; }
.ks-sort .woocommerce-ordering select { height: 40px; min-width: 150px; margin: 0; padding: 0 36px 0 16px; border-radius: var(--pill); font-size: .85rem; }

.ks-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 1.6vw, 22px); margin: 0 !important; padding: 0; }
.ks-grid::before, .ks-grid::after { display: none !important; }
@media (min-width: 700px) { .ks-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ks-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ks-grid > .ks-cell { width: auto; max-width: none; padding: 0; flex: none; }

.ks-pager { margin-top: clamp(32px, 5vw, 56px); display: flex; justify-content: center; }
.ks-pager__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ks-pager__list li { margin: 0; }
.ks-pager .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--pill); color: var(--cream); background: transparent; text-decoration: none; font: 700 .85rem var(--font-body); transition: background var(--t-quick), border-color var(--t-quick), transform var(--t-quick) var(--ease); }
.ks-pager a.page-numbers:hover { border-color: var(--blood); transform: translateY(-1px); }
.ks-pager .page-numbers.current { background: var(--blood); border-color: var(--blood); }
.ks-pager .page-numbers.dots { border-color: transparent; }

.ks-empty { text-align: center; padding: clamp(40px, 8vw, 100px) 0; }
.ks-empty__big { margin: 0; font: 400 clamp(1.6rem, 4vw, 2.8rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: -.02em; }
.ks-empty__sub { color: var(--mute); margin: .8rem 0 1.6rem; }

/* ---------- 3. product page ---------- */
.ks-pdp-notices { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.ks-pdp { max-width: var(--maxw); margin: 0 auto; padding: clamp(16px, 3vw, 40px) var(--gutter) clamp(88px, 10vw, 120px); }
.ks-pdp__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
@media (min-width: 900px) { .ks-pdp__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } .ks-pdp__art { position: sticky; top: calc(var(--header-h, 80px) + 16px); } }
.ks-art { position: relative; isolation: isolate; border-radius: calc(var(--radius) * 1.5); background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--series) 30%, var(--ink-3)) 0%, var(--ink-2) 68%); border: 1px solid var(--line); padding: clamp(14px, 3vw, 36px); overflow: hidden; margin: 0 !important; width: 100% !important; }
.ks-art__halo { position: absolute; inset: 0; z-index: -1; display: grid; place-items: center; pointer-events: none; }
.ks-art__halo i { position: absolute; width: 56%; aspect-ratio: 1; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--series) 48%, transparent); animation: ks-breathe 7s var(--ease-sine) infinite; }
.ks-art__halo i:nth-child(2) { width: 76%; animation-delay: -1.4s; opacity: .7; }
.ks-art__halo i:nth-child(3) { width: 96%; animation-delay: -2.8s; opacity: .5; }
.ks-art__halo i:nth-child(4) { width: 118%; animation-delay: -4.2s; opacity: .3; }
.ks-art__stage { margin: 0 !important; padding: 0 !important; }
.ks-art__frame { position: relative; border-radius: var(--radius); overflow: hidden; box-shadow: 0 30px 60px -22px rgba(0, 0, 0, .75); background: var(--ink); aspect-ratio: 9 / 11; }
.ks-art__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ks-art__tag { position: absolute; left: 20px; bottom: 16px; margin: 0; font: 500 .72rem var(--font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--mute); }

.ks-pdp__info { min-width: 0; padding: 0 !important; width: auto !important; max-width: none !important; flex: none !important; }
.ks-pdp__title { margin: .5rem 0 0; font: 400 clamp(1.9rem, 3.6vw, 3.1rem)/1 var(--font-display); letter-spacing: -.02em; text-transform: uppercase; color: var(--cream); }
.ks-pdp__desc { margin: .8rem 0 0; color: var(--mute); max-width: 52ch; }
.ks-pdp .price, .ks-pdp .summary .price { display: block; margin: 1.1rem 0 0; font: 700 1.7rem var(--font-body); color: var(--cream); }
.ks-pdp .price del { opacity: .45; font-size: .7em; margin-right: .4em; }
.ks-pdp .price ins { text-decoration: none; color: var(--blood-hot); }
.ks-pdp__note { margin: .5rem 0 1.4rem; font: 500 .72rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.ks-pdp .is-divider { display: none; }
.ks-pdp[data-uniform-price="1"] .woocommerce-variation-price { display: none; }
.ks-pdp .woocommerce-variation-description p, .ks-pdp .woocommerce-variation-availability p { color: var(--mute); margin: .5rem 0; }

/* variation form */
.ks-pdp form.cart { margin: 0; }
.ks-pdp table.variations { width: 100%; margin: 0 0 1rem; border: 0; border-collapse: collapse; }
.ks-pdp table.variations tr { display: block; margin-bottom: 1.1rem; }
.ks-pdp table.variations th, .ks-pdp table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.ks-pdp table.variations th.label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); } /* label stays for the select's a11y name */
.ks-pdp table.variations select { width: 100%; }
.ks-pdp .reset_variations { display: inline-block; margin-top: .4rem; font: 500 .7rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); text-decoration: underline; text-underline-offset: 3px; }
.ks-pdp .reset_variations:hover { color: var(--blood-hot); }
.ks-opt__head { display: flex; align-items: baseline; gap: .7rem; margin-bottom: .6rem; }
.ks-opt__label { font: 500 .72rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
.ks-opt__current { font: 700 .9rem var(--font-body); color: var(--cream); }
/* progressive enhancement: once JS marks .is-live the select hides and the chips take over */
.ks-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ks-chips[hidden] { display: none; }
.ks-opt.is-live > select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ks-chip { position: relative; display: inline-flex; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ks-chip input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ks-chip--color .ks-chip__face { width: 38px; height: 38px; border-radius: 50%; background: var(--chip); box-shadow: inset 0 0 0 1px rgba(242, 237, 228, .28), 0 0 0 0 var(--cream); transition: box-shadow var(--t-quick) var(--ease), transform var(--t-quick) var(--ease); }
.ks-chip--color:hover .ks-chip__face { transform: scale(1.08); }
.ks-chip--color input:checked + .ks-chip__face { box-shadow: inset 0 0 0 1px rgba(242, 237, 228, .28), 0 0 0 3px var(--ink), 0 0 0 5px var(--cream); }
.ks-chip--size .ks-chip__face { display: inline-flex; align-items: center; justify-content: center; min-width: 56px; height: 42px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--pill); font: 700 .9rem var(--font-body); color: var(--cream); background: var(--ink-2); transition: background var(--t-quick), color var(--t-quick), border-color var(--t-quick), transform var(--t-quick) var(--ease); }
.ks-chip--size:hover .ks-chip__face { border-color: var(--cream); }
.ks-chip--size input:checked + .ks-chip__face { background: var(--cream); color: var(--ink); border-color: var(--cream); }
.ks-chip:active .ks-chip__face { transform: scale(.92); }
.ks-chip input:focus-visible + .ks-chip__face { outline: 2px solid var(--blood-hot); outline-offset: 4px; }
.ks-chip.is-off { opacity: .35; cursor: not-allowed; }
.ks-chip.is-off input { cursor: not-allowed; }
.ks-chip.is-off .ks-chip__face { background-image: linear-gradient(135deg, transparent 46%, var(--cream) 47% 53%, transparent 54%); }
.ks-chip--color.is-off .ks-chip__face { background: linear-gradient(135deg, transparent 46%, var(--cream) 47% 53%, transparent 54%), var(--chip); }

/* quantity + add to cart */
.ks-pdp .single_variation_wrap, .ks-pdp .woocommerce-variation-add-to-cart { display: block; }
.ks-pdp .woocommerce-variation-add-to-cart, .ks-pdp form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ks-pdp .single_add_to_cart_button { flex: 1 1 220px; height: 54px; margin: 0 !important; font-size: .95rem; letter-spacing: .06em; }
.ks-pdp .single_add_to_cart_button.disabled, .ks-pdp .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.ks-pdp .yith-wcwl-add-to-wishlist { margin: 1rem 0 0; font: 500 .75rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.ks-pdp .yith-wcwl-add-to-wishlist a { color: var(--mute); text-decoration: none; }
.ks-pdp .yith-wcwl-add-to-wishlist a:hover { color: var(--pink); }

/* accordions */
.ks-acc-group { margin-top: 1.8rem; border-bottom: 1px solid var(--line); }
.ks-acc { border-top: 1px solid var(--line); }
.ks-acc > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 1.05rem 0; cursor: pointer; list-style: none; font: 700 .78rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cream); user-select: none; }
.ks-acc > summary::-webkit-details-marker { display: none; }
.ks-acc > summary:hover { color: var(--blood-hot); }
.ks-acc__icon { position: relative; flex: none; width: 14px; height: 14px; }
.ks-acc__icon::before, .ks-acc__icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: currentColor; transition: transform var(--t-base) var(--ease); }
.ks-acc__icon::after { transform: rotate(90deg); }
.ks-acc[open] .ks-acc__icon::after { transform: rotate(0); }
.ks-acc__body { padding: 0 0 1.2rem; color: var(--mute); font-size: .95rem; overflow: hidden; }
.ks-acc__body p { margin: 0 0 .8rem; }
.ks-acc__body ul { margin: 0; padding-left: 1.1rem; }
.ks-acc__body li { margin-bottom: .45rem; }
.ks-acc__body b { color: var(--cream); font-weight: 700; }
.ks-acc__fine { font-size: .82rem; margin: .8rem 0 0 !important; }
.ks-sizes { width: 100%; border-collapse: collapse; margin: .4rem 0; font-size: .9rem; }
.ks-sizes th, .ks-sizes td { padding: .55rem .5rem; border-bottom: 1px solid var(--line); text-align: left; color: var(--cream); }
.ks-sizes thead th { font: 500 .68rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.ks-sizes tbody th { font-weight: 700; }

/* related row */
.ks-related { margin-top: clamp(56px, 9vw, 128px); }
.ks-related__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.ks-related__title { margin: 0; font: 400 clamp(1.5rem, 3.4vw, 2.6rem)/1 var(--font-display); text-transform: uppercase; letter-spacing: -.02em; color: var(--cream); }
.ks-related__title span { color: var(--series); }
.ks-related__all { font: 700 .75rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cream); text-decoration: none; border-bottom: 1px solid var(--series); padding-bottom: 2px; }
.ks-related__all:hover { color: var(--series); }
.ks-related__row { display: grid; grid-auto-flow: column; grid-auto-columns: min(66vw, 260px); gap: clamp(10px, 1.6vw, 22px); overflow-x: auto; padding: 6px 2px 18px; margin: 0 -2px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--line) transparent; -webkit-overflow-scrolling: touch; }
.ks-related__row > .ks-cell { scroll-snap-align: start; }
@media (min-width: 1100px) { .ks-related__row { grid-auto-columns: calc((100% - 3 * 22px) / 4); } }

/* sticky mobile add-to-cart bar */
.ks-satc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 14px; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(11, 11, 13, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--line); transform: translateY(110%); visibility: hidden; transition: transform var(--t-base) var(--ease), visibility 0s linear var(--t-base); }
.ks-satc.is-on { transform: none; visibility: visible; transition: transform var(--t-base) var(--ease), visibility 0s; }
.ks-satc__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ks-satc__title { font: 400 .9rem/1.1 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--cream); }
.ks-satc__price { font: 700 .85rem var(--font-body); color: var(--mute); }
.ks-satc__btn { flex: none; height: 46px; padding: 0 22px; border: 0; border-radius: var(--pill); background: var(--blood); color: var(--cream); font: 700 .85rem var(--font-body); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; transition: transform var(--t-quick) var(--ease), background var(--t-quick); }
.ks-satc__btn:active { transform: scale(.96); }
.ks-satc__btn:hover { background: var(--blood-hot); }
@media (min-width: 900px) { .ks-satc { display: none; } }
@media (max-width: 899px) { body.single-product { padding-bottom: 0; } }

/* ---------- 4. notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice, .wc-block-components-notice-banner { position: relative; list-style: none; margin: 0 0 1.2rem !important; padding: 1rem 1.3rem 1rem 1.6rem !important; background: var(--ink-2) !important; color: var(--cream) !important; border: 1px solid var(--line) !important; border-left: 4px solid var(--cyan) !important; border-radius: var(--radius) !important; font-size: .95rem; }
.woocommerce-message { border-left-color: var(--acid) !important; }
.woocommerce-error { border-left-color: var(--blood) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--cream); }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 1rem; }
.woocommerce-error li { margin: 0; }
.message-container { color: var(--cream); background: transparent !important; border: 0 !important; }

/* ---------- 5. cart ---------- */
.woocommerce-cart .shop-container, .woocommerce-checkout .shop-container, .woocommerce-account .shop-container, .woocommerce-cart .page-wrapper, .woocommerce-checkout .page-wrapper, .woocommerce-account .page-wrapper { color: var(--cream); }
.woocommerce-cart .cart-container, .woocommerce-cart .woocommerce { color: var(--cream); }
.woocommerce table.shop_table, .woocommerce table.wishlist_table { width: 100%; background: transparent; border: 0; border-collapse: separate; border-spacing: 0; color: var(--cream); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td, .woocommerce table.wishlist_table th, .woocommerce table.wishlist_table td { padding: 1rem .6rem; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--cream); vertical-align: middle; }
.woocommerce table.shop_table thead th, .woocommerce table.wishlist_table thead th { font: 500 .68rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--mute); border-bottom-color: var(--line); }
.woocommerce table.shop_table td.product-name a, .woocommerce table.wishlist_table td.product-name a { font: 400 1.05rem/1.15 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; color: var(--cream); text-decoration: none; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--blood-hot); }
.woocommerce table.shop_table td.product-thumbnail img, .woocommerce table.wishlist_table td.product-thumbnail img { width: 84px; height: 105px; object-fit: cover; border-radius: 10px; background: var(--ink-3); }
.woocommerce table.shop_table .amount { color: var(--cream); font-weight: 700; }
.woocommerce table.shop_table dl.variation, .woocommerce .wc-item-meta { margin: .3rem 0 0; font: 500 .72rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
.woocommerce table.shop_table dl.variation dt, .woocommerce table.shop_table dl.variation dd { display: inline; margin: 0; }
.woocommerce table.shop_table dl.variation dd p { display: inline; margin: 0 .8em 0 0; }
.woocommerce a.remove, .woocommerce table.shop_table a.remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line); color: var(--mute) !important; background: transparent !important; font-size: 1.1rem; line-height: 1; text-decoration: none; transition: background var(--t-quick), color var(--t-quick), border-color var(--t-quick); }
.woocommerce a.remove:hover { background: var(--blood) !important; border-color: var(--blood); color: var(--cream) !important; }
.woocommerce .cart_totals, .woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout .checkout-sidebar .is-well { background: var(--ink-2); border: 1px solid var(--line); border-radius: calc(var(--radius) * 1.3); padding: clamp(18px, 2.4vw, 30px); }
.woocommerce .cart_totals h2, .woocommerce-checkout #order_review_heading, .woocommerce .cart-collaterals h2, .woocommerce-checkout h3, .woocommerce-account h2, .woocommerce-account h3 { font: 400 1.35rem/1.1 var(--font-display); text-transform: uppercase; letter-spacing: -.02em; color: var(--cream); margin-top: 0; }
.woocommerce .cart_totals table.shop_table th { font: 500 .72rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.woocommerce .cart_totals .order-total .amount { font-size: 1.4rem; color: var(--cream); }
.woocommerce .wc-proceed-to-checkout .checkout-button, .woocommerce #place_order { width: 100%; height: 56px; margin: .6rem 0 0 !important; font-size: 1rem; }
.woocommerce .cart-actions, .woocommerce .actions { padding-top: 1rem; }
.woocommerce .coupon { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.woocommerce .coupon input.input-text { width: auto; min-width: 160px; flex: 1; margin: 0 !important; height: 44px; }
.woocommerce .cart-empty, .woocommerce .return-to-shop { text-align: center; color: var(--mute); }
.woocommerce .quantity { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--pill); background: var(--ink-2); overflow: hidden; margin: 0; }
.woocommerce .quantity input.qty { width: 3rem; height: 44px; border: 0 !important; border-radius: 0 !important; background: transparent !important; text-align: center; padding: 0 !important; margin: 0 !important; box-shadow: none !important; -moz-appearance: textfield; appearance: textfield; color: var(--cream); font-weight: 700; }
.woocommerce .quantity input.qty::-webkit-outer-spin-button, .woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity .minus, .woocommerce .quantity .plus, .woocommerce .quantity .ks-qty-btn, .woocommerce .ux-quantity__button { width: 40px; height: 44px; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--cream) !important; font: 700 1.1rem var(--font-body); cursor: pointer; box-shadow: none !important; transition: background var(--t-quick), color var(--t-quick); }
.woocommerce .quantity .minus:hover, .woocommerce .quantity .plus:hover, .woocommerce .quantity .ks-qty-btn:hover { background: var(--blood) !important; }

/* ---------- 6. checkout (Stripe must stay legible) ---------- */
.woocommerce-checkout .checkout-breadcrumbs, .woocommerce-checkout .breadcrumbs { font: 400 clamp(.9rem, 1.6vw, 1.2rem) var(--font-display); text-transform: uppercase; letter-spacing: -.01em; }
.woocommerce-checkout .checkout-breadcrumbs a { color: var(--mute); }
.woocommerce-checkout .checkout-breadcrumbs a.current { color: var(--cream); }
.woocommerce-checkout form.checkout .form-row { margin-bottom: 1rem; }
.woocommerce form .form-row label, .woocommerce-page form .form-row label { display: block; margin: 0 0 .4rem; font: 500 .7rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.woocommerce form .form-row .required { color: var(--blood-hot); text-decoration: none; }
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { text-transform: none; letter-spacing: 0; font: 400 .9rem var(--font-body); color: var(--cream); }
.woocommerce-checkout-review-order-table .product-name { font-weight: 700; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--mute); }
.woocommerce-checkout #payment, .woocommerce-checkout #payment ul.payment_methods { background: transparent; border: 0; border-radius: 0; color: var(--cream); overflow: visible; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; margin: 0 0 1rem; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods > li { margin: 0 0 .6rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink-3); color: var(--cream); }
.woocommerce-checkout #payment ul.payment_methods > li label { color: var(--cream); font: 700 .95rem var(--font-body); text-transform: none; letter-spacing: 0; display: inline; }
.woocommerce-checkout #payment ul.payment_methods > li img { max-height: 24px; width: auto; vertical-align: middle; }
/* Stripe: cream-on-ink-3 frame; nothing here clips or recolours the iframe itself */
.woocommerce-checkout #payment div.payment_box, .woocommerce-checkout .payment_box { position: relative; overflow: visible !important; margin: .8rem 0 0; padding: 1rem; background: var(--ink-3); color: var(--cream); border: 1px solid rgba(242, 237, 228, .28); border-radius: var(--radius); }
.woocommerce-checkout #payment div.payment_box::before, .woocommerce-checkout .payment_box::before { display: none; }
.woocommerce-checkout #payment div.payment_box p, .woocommerce-checkout #payment div.payment_box label, .woocommerce-checkout #payment div.payment_box span { color: var(--cream); }
#wc-stripe-upe-form, .wc-stripe-upe-element, .wc-stripe-elements-field, .wc-stripe-upe-form, #wc-stripe-cc-form, .wc-stripe-payment-element { overflow: visible !important; min-height: 44px; background: transparent; color: var(--cream); }
.wc-stripe-upe-element iframe, #wc-stripe-upe-form iframe { opacity: 1 !important; visibility: visible !important; }
.woocommerce-checkout .wc-stripe-elements-field, .woocommerce-checkout .wc-stripe-iban-element-field { background: var(--cream); border-radius: 10px; padding: 12px 14px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--mute); font-size: .85rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text a, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--cream); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 1rem !important; }
.select2-container--default .select2-selection--single { height: 46px; background: var(--ink-3); border: 1px solid var(--line); border-radius: var(--pill); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 44px; padding: 0 20px; color: var(--cream); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.select2-dropdown { background: var(--ink-2); border: 1px solid var(--line); color: var(--cream); border-radius: var(--radius); overflow: hidden; }
.select2-container--default .select2-search--dropdown .select2-search__field { background: var(--ink-3); color: var(--cream); border: 1px solid var(--line); border-radius: var(--pill); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--blood); color: var(--cream); }

/* ---------- 7. my account ---------- */
.woocommerce-account .woocommerce { color: var(--cream); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border: 1px solid var(--line); border-radius: var(--pill); color: var(--cream); text-decoration: none; font: 700 .85rem var(--font-body); transition: border-color var(--t-quick), background var(--t-quick), transform var(--t-quick) var(--ease); }
.woocommerce-MyAccount-navigation li a:hover { border-color: var(--blood); transform: translateY(-1px); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--blood); border-color: var(--blood); }
.woocommerce-MyAccount-content, .woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2, .woocommerce-account .account-container .col-inner, .woocommerce-account .login-container, .woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { color: var(--cream); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password, .woocommerce-account .woocommerce-address-fields, .woocommerce-account .woocommerce-EditAccountForm { background: var(--ink-2); border: 1px solid var(--line) !important; border-radius: calc(var(--radius) * 1.3); padding: clamp(18px, 2.4vw, 30px); }
.woocommerce-account a:not(.button) { color: var(--cream); }
.woocommerce-account a:not(.button):hover { color: var(--blood-hot); }
.woocommerce-account .account-user, .woocommerce-account .account-user .image { color: var(--cream); }

/* ---------- 8. mini-cart / off-canvas cart ---------- */
.ks-cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--pill); background: var(--blood); color: var(--cream); font: 700 .68rem var(--font-body); line-height: 1; }
.ks-cart-count[data-count="0"] { display: none; }
.ks-cart-count.is-pop { animation: ks-pop 420ms var(--ease-back); }
.widget_shopping_cart, .widget_shopping_cart_content, #cart-popup, .cart-popup-inner, .ux-mini-cart-footer { color: var(--cream); }
#cart-popup, .off-canvas-cart, .mfp-content .cart-popup-inner { background: var(--ink-2); }
.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart-item { position: relative; display: grid !important; grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; align-items: start; padding: 14px 30px 14px 0 !important; border-bottom: 1px solid var(--line) !important; min-height: 0 !important; }
.woocommerce-mini-cart-item > a:not(.remove) { display: contents; font: 400 .95rem/1.15 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; color: var(--cream); }
.woocommerce-mini-cart-item img { grid-row: 1 / span 3; width: 64px !important; height: 80px !important; margin: 0 !important; object-fit: cover; border-radius: 8px; position: static !important; }
.woocommerce-mini-cart-item dl.variation { grid-column: 2; margin: .25rem 0 0; font: 500 .66rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
.woocommerce-mini-cart-item dl.variation dt, .woocommerce-mini-cart-item dl.variation dd { display: inline; margin: 0; }
.woocommerce-mini-cart-item dl.variation dd p { display: inline; margin: 0 .6em 0 0; }
.woocommerce-mini-cart-item .quantity { grid-column: 2; display: block; border: 0; background: transparent; margin-top: .3rem; font: 700 .85rem var(--font-body); color: var(--mute); }
.woocommerce-mini-cart-item a.remove { position: absolute !important; right: 0; top: 14px; left: auto !important; }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 1rem 0 .6rem !important; padding: 0 !important; border: 0 !important; font: 500 .75rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
.woocommerce-mini-cart__total .amount { color: var(--cream); font: 700 1.1rem var(--font-body); }
.woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0 !important; }
.woocommerce-mini-cart__buttons .button { width: 100%; margin: 0 !important; text-align: center; }
.woocommerce-mini-cart__empty-message { color: var(--mute); text-align: center; }
.ks-ship { margin: 0 0 .8rem; }
.ks-ship__text { margin: 0 0 .45rem; font: 500 .7rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.ks-ship__bar { display: block; height: 4px; border-radius: 4px; background: var(--ink-3); overflow: hidden; }
.ks-ship__bar i { display: block; height: 100%; width: var(--p, 0%); background: linear-gradient(90deg, var(--blood), var(--pink)); border-radius: 4px; transition: width var(--t-base) var(--ease); }

/* ---------- 9. YITH wishlist ---------- */
.yith-wcwl-add-to-wishlist a, .yith-wcwl-add-button a { color: var(--mute); }
#yith-wcwl-form, .wishlist-title-container, .yith-wcwl-share { color: var(--cream); }
#yith-wcwl-form table.wishlist_table td.product-add-to-cart a.button { white-space: nowrap; }
.wishlist-title h2 { font: 400 1.6rem var(--font-display); text-transform: uppercase; letter-spacing: -.02em; }
.yith-wcwl-share-title, .yith-wcwl-share li a { color: var(--mute); }
.woocommerce .wishlist_table .product-stock-status span.wishlist-in-stock { color: var(--cyan); }
.woocommerce .wishlist_table .product-stock-status span.wishlist-out-of-stock { color: var(--blood-hot); }

/* ---------- 10. forms + buttons ---------- */
body :is(.woocommerce, .woocommerce-page, .ks-shop, .ks-pdp, .select2-container, .mfp-content) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="range"]):not([type="file"]), select, textarea) {
	background-color: var(--ink-3); color: var(--cream); border: 1px solid var(--line); border-radius: var(--pill); min-height: 46px; padding: 0 20px; box-shadow: none; font: 400 1rem var(--font-body); transition: border-color var(--t-quick), box-shadow var(--t-quick);
}
body :is(.woocommerce, .woocommerce-page) textarea { border-radius: var(--radius); padding: 14px 20px; min-height: 120px; }
body :is(.woocommerce, .woocommerce-page, .ks-shop, .ks-pdp) select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--cream) 50%), linear-gradient(135deg, var(--cream) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
body :is(.woocommerce, .woocommerce-page, .ks-shop, .ks-pdp) select option { background: var(--ink-2); color: var(--cream); }
body :is(.woocommerce, .woocommerce-page, .ks-shop, .ks-pdp) :is(input, select, textarea):focus { outline: none; border-color: var(--series, var(--blood)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--series, var(--blood)) 28%, transparent); }
body :is(.woocommerce, .woocommerce-page) ::placeholder { color: rgba(242, 237, 228, .4); opacity: 1; }
body :is(.woocommerce, .woocommerce-page) input[type="checkbox"], body :is(.woocommerce, .woocommerce-page) input[type="radio"] { accent-color: var(--blood); }
body input:-webkit-autofill { -webkit-text-fill-color: var(--cream); -webkit-box-shadow: 0 0 0 40px var(--ink-3) inset; caret-color: var(--cream); }

body :is(.woocommerce, .woocommerce-page, .ks-satc, .mfp-content) :is(a.button, button.button, input.button, input[type="submit"], .button, #respond input#submit) {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 46px; padding: 0 28px; border: 1px solid var(--line); border-radius: var(--pill); background: transparent; color: var(--cream); font: 700 .85rem var(--font-body); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; text-shadow: none; box-shadow: none; cursor: pointer; margin: 0;
	transition: transform var(--t-quick) var(--ease), background var(--t-quick), border-color var(--t-quick), color var(--t-quick);
}
body :is(.woocommerce, .woocommerce-page, .mfp-content) :is(a.button, button.button, input.button, .button):hover { border-color: var(--blood); color: var(--cream); transform: translateY(-1px); }
body :is(.woocommerce, .woocommerce-page, .mfp-content) :is(a.button, button.button, input.button, .button):active { transform: scale(.97); }
body :is(.woocommerce, .woocommerce-page, .mfp-content) :is(.button.alt, .button.primary, a.button.checkout, a.button.checkout-button, .checkout-button, .single_add_to_cart_button, #place_order, button[name="apply_coupon"]:hover, .button.add_to_cart_button, button[type="submit"].button:not(.secondary)) {
	background: var(--blood); border-color: var(--blood); color: var(--cream);
}
body :is(.woocommerce, .woocommerce-page, .mfp-content) :is(.button.alt, .button.primary, .checkout-button, .single_add_to_cart_button, #place_order):hover { background: var(--blood-hot); border-color: var(--blood-hot); }
.button.is-loading, .button.loading, .single_add_to_cart_button.loading { position: relative; color: transparent !important; pointer-events: none; }
.button.is-loading::after, .button.loading::after, .single_add_to_cart_button.loading::after { content: ""; position: absolute; width: 20px; height: 20px; left: 50%; top: 50%; margin: -10px 0 0 -10px; border: 2px solid rgba(242, 237, 228, .35); border-top-color: var(--cream); border-radius: 50%; animation: ks-spin 600ms linear infinite; }
.single_add_to_cart_button.added::after, a.added_to_cart { display: none; }
a.added_to_cart { display: inline-block; margin-left: 10px; color: var(--cream); font: 700 .75rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.single_add_to_cart_button.is-squash { animation: ks-squash 240ms var(--ease); }
.woocommerce-result-count + .woocommerce-ordering { margin-left: 0; }

/* ---------- 11. motion ---------- */
@keyframes ks-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes ks-slash { from { opacity: 0; transform: translateY(24px); clip-path: polygon(0 0, 0 0, -20% 100%, -20% 100%); } to { opacity: 1; transform: none; clip-path: polygon(0 0, 120% 0, 120% 100%, 0 100%); } }
@keyframes ks-breathe { 0%, 100% { transform: scale(.96); } 50% { transform: scale(1.05); } }
@keyframes ks-pop { 0% { transform: scale(1.35); } 100% { transform: scale(1); } }
@keyframes ks-squash { 0% { transform: scale(1); } 40% { transform: scale(.97, .94); } 100% { transform: scale(1); } }
@keyframes ks-spin { to { transform: rotate(360deg); } }

.ks-shophead { animation: ks-slash var(--t-slow) var(--ease) backwards; }
.ks-cell { animation: ks-rise var(--t-slow) var(--ease) backwards; animation-delay: calc(var(--stagger) * var(--i, 0)); }
.ks-grid > .ks-cell:nth-child(2) { --i: 1; } .ks-grid > .ks-cell:nth-child(3) { --i: 2; } .ks-grid > .ks-cell:nth-child(4) { --i: 3; } .ks-grid > .ks-cell:nth-child(5) { --i: 4; }
.ks-grid > .ks-cell:nth-child(6) { --i: 5; } .ks-grid > .ks-cell:nth-child(7) { --i: 6; } .ks-grid > .ks-cell:nth-child(8) { --i: 7; } .ks-grid > .ks-cell:nth-child(9) { --i: 8; }
.ks-grid > .ks-cell:nth-child(10) { --i: 9; } .ks-grid > .ks-cell:nth-child(n+11) { --i: 10; }
.ks-pdp__art { animation: ks-slash var(--t-slow) var(--ease) backwards; }
.ks-pdp__info { animation: ks-rise var(--t-slow) var(--ease) 80ms backwards; }

@media (prefers-reduced-motion: reduce) {
	.ks-shophead, .ks-cell, .ks-pdp__art, .ks-pdp__info { animation: none; }
	.ks-art__halo i { animation: none; }
	.ks-card__img, .ks-card__chip { transition: none; }
	.ks-card:hover .ks-card__img { transform: none; }
	.ks-cart-count.is-pop, .single_add_to_cart_button.is-squash { animation: none; }
}

/* ---------- Block cart + checkout (WooCommerce Blocks; the live cart/checkout pages use these) ---------- */
body.ks .wc-block-components-button:not(.is-link),
body.ks .wc-block-cart__submit-button,
body.ks .wc-block-components-checkout-place-order-button {
  min-height: 52px; border: 0; border-radius: var(--pill); background: var(--blood); color: var(--cream);
  font: 700 1rem var(--font-body); letter-spacing: .01em; box-shadow: 0 10px 30px rgba(229, 34, 46, .28);
  transition: background var(--t-quick), transform var(--t-quick) var(--ease), box-shadow var(--t-base) var(--ease);
}
body.ks .wc-block-components-button:not(.is-link):hover,
body.ks .wc-block-cart__submit-button:hover,
body.ks .wc-block-components-checkout-place-order-button:hover { background: var(--blood-hot); color: var(--cream); transform: translateY(-1px); box-shadow: 0 14px 38px rgba(229, 34, 46, .38); }
body.ks .wc-block-components-button:not(.is-link):active { transform: scale(.98); }
body.ks .wc-block-components-button:not(.is-link):disabled { opacity: .5; box-shadow: none; transform: none; }
body.ks .wc-block-components-totals-wrapper, body.ks .wc-block-components-order-summary,
body.ks .wc-block-components-checkout-step { border-color: var(--line) !important; }
body.ks .wc-block-components-title, body.ks .wc-block-components-checkout-step__title { font-family: var(--font-display); text-transform: uppercase; letter-spacing: -.01em; color: var(--cream); }
body.ks .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.ks .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--font-display); font-size: 1.25rem; }
