/* ==========================================================================
   TAC CLEAN 2026 — one design system for every element on the storefront.
   Loaded after base.css. Tokens mirror the Paper file "TAC Storefront Clean-Up".
   ========================================================================== */

:root {
  --tac-ground: #ffffff;
  --tac-surface: #f5f5f5;
  --tac-border: #e5e5e5;
  --tac-muted: #6b6b6b;
  --tac-ink: #111111;
  --tac-primary: #c11d1d;
  --tac-on-primary: #ffffff;

  --tac-font-mono: "Space Mono", ui-monospace, Menlo, monospace;
  --tac-font-display: "Space Grotesk", "Space Mono", sans-serif;

  --tac-text-2xs: 11px;
  --tac-text-xs: 12px;
  --tac-text-sm: 14px;
  --tac-text-base: 16px;
  --tac-text-lg: 20px;
  --tac-text-xl: 24px;
  --tac-text-2xl: 32px;

  --tac-tracking-tight: -0.02em;
  --tac-tracking-wide: 0.06em;

  --tac-space-1: 4px;
  --tac-space-2: 8px;
  --tac-space-3: 12px;
  --tac-space-4: 16px;
  --tac-space-6: 24px;
  --tac-space-8: 32px;
  --tac-space-12: 48px;

  --tac-button-h: 48px;
  --tac-button-sm-h: 40px;
}

/* --------------------------------------------------------------------------
   Shared primitives
   -------------------------------------------------------------------------- */
.tac-label {
  font-family: var(--tac-font-mono);
  font-size: var(--tac-text-2xs);
  font-weight: 700;
  letter-spacing: var(--tac-tracking-wide);
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--tac-ink);
}
.tac-label--muted { color: var(--tac-muted); }

.tac-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: var(--tac-button-h);
  padding: 0 var(--tac-space-6);
  border: 1px solid var(--tac-primary);
  border-radius: 0;
  background: var(--tac-primary);
  color: var(--tac-on-primary);
  font-family: var(--tac-font-mono);
  font-size: var(--tac-text-sm);
  font-weight: 700;
  letter-spacing: var(--tac-tracking-wide);
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.tac-btn:hover { background: #a51818; border-color: #a51818; }
.tac-btn--secondary {
  height: var(--tac-button-sm-h);
  background: transparent;
  border-color: var(--tac-ink);
  color: var(--tac-ink);
  font-size: var(--tac-text-xs);
}
.tac-btn--secondary:hover { background: var(--tac-ink); color: var(--tac-on-primary); border-color: var(--tac-ink); }
.tac-btn--ink { background: var(--tac-ink); border-color: var(--tac-ink); }
.tac-btn--ink:hover { background: #000; border-color: #000; }
.tac-btn--auto { width: auto; }

/* --------------------------------------------------------------------------
   Global corrections: fonts that drifted, the second red, rounded corners
   -------------------------------------------------------------------------- */
button, input, select, textarea { font-family: inherit; }
.custom-reviews,
.custom-reviews .stars,
.custom-reviews .reviews-count,
.live-viewer-count,
.features-list,
#Reviews.grv,
#Reviews.grv * {
  font-family: var(--tac-font-mono) !important;
}

/* Sale pill on the product page: square, brand red, mono */
.sale-badge-inline {
  background-color: var(--tac-primary) !important;
  color: var(--tac-on-primary) !important;
  font-family: var(--tac-font-mono) !important;
  font-size: var(--tac-text-2xs) !important;
  font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide) !important;
  text-transform: uppercase;
  padding: 4px 8px !important;
  border-radius: 0 !important;
  line-height: 1 !important;
}

/* Review stars line under the title */
.custom-reviews { gap: 8px !important; }
.custom-reviews .stars { font-size: 12px; letter-spacing: 1px; color: var(--tac-ink); line-height: 1; }
.custom-reviews .reviews-count { font-size: var(--tac-text-xs); color: var(--tac-muted); }

/* Add to cart: keep Joshua's block, tidy the type inside it */
.product-form__submit .add-to-cart-price-line {
  display: block;
  text-align: center;
  font-family: var(--tac-font-mono);
  font-size: var(--tac-text-sm);
  font-weight: 700;
  letter-spacing: var(--tac-tracking-wide);
  text-transform: uppercase;
  line-height: 1;
}
.product-form__submit .add-to-cart-price-line br { display: none; }
.product-form__submit .add-to-cart-price-line .compare-at {
  font-weight: 400;
  opacity: .7;
  letter-spacing: 0;
}
.product-form__submit .add-to-cart-price-line .current-price { letter-spacing: 0; }
.product-form__submit .add-to-cart-price-line .stock-status {
  display: block;
  margin-top: 5px;
  font-size: var(--tac-text-2xs);
  font-weight: 400;
  opacity: .85;
}
.product-form__submit.button { min-height: 56px; border-radius: 0; }

/* --------------------------------------------------------------------------
   Cart drawer: shipping progress + delivery estimate (replaces two apps)
   -------------------------------------------------------------------------- */
.tac-shipbar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: var(--tac-space-4) var(--tac-space-6);
  background: var(--tac-surface);
  font-family: var(--tac-font-mono);
  color: var(--tac-ink);
}
.tac-shipbar__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tac-shipbar__count { font-size: var(--tac-text-xs); color: var(--tac-muted); white-space: nowrap; }
.tac-shipbar__track { width: 100%; height: 4px; background: var(--tac-border); overflow: hidden; }
.tac-shipbar__fill { height: 100%; width: 0; background: var(--tac-primary); transition: width .35s ease; }
.tac-shipbar--unlocked .tac-shipbar__fill { background: var(--tac-ink); }
.tac-shipbar__eta { font-size: var(--tac-text-xs); color: var(--tac-muted); }
.tac-shipbar__eta b { color: var(--tac-ink); font-weight: 700; }
.cart-empty .tac-shipbar { display: none; }

/* Hide the things the native bar replaces: Shopline's promotion strip and the Cart Upsell app slot */
.cart-sku-list-promotion-module,
.sale_group_slot,
#cart-upsell-plugin,
[data-slot-mini-cart-list-header_cart-upsell-plugin] { display: none !important; }

/* Checkout first, wallet button second, same shape */
.cart-fixed-checkout__buttons form { order: -1; }

/* Drawer typography and footer buttons */
.cart-drawer__heading {
  font-family: var(--tac-font-display) !important;
  font-size: var(--tac-text-2xl) !important;
  letter-spacing: var(--tac-tracking-tight);
  text-transform: none !important;
}
.cart-drawer .cart-item__name { font-family: var(--tac-font-mono); font-size: var(--tac-text-sm) !important; font-weight: 700; line-height: 1.35; }
.cart-drawer .product-option { font-size: var(--tac-text-xs) !important; color: var(--tac-muted); }
.cart-drawer .cart-item__price-wrapper, .cart-drawer .final__price { font-size: var(--tac-text-base) !important; font-weight: 700; }
.cart-drawer .quantity, .cart-drawer quantity-input { border: 1px solid var(--tac-border) !important; border-radius: 0 !important; }
.cart-fixed-checkout__buttons .button,
.cart-drawer__checkout-button,
.cart-fixed-checkout__buttons .shopline-payment-button__button,
.cart-fixed-checkout__buttons [class*="payment-button"] button {
  height: var(--tac-button-h) !important;
  min-height: var(--tac-button-h) !important;
  border-radius: 0 !important;
  font-family: var(--tac-font-mono) !important;
  font-size: var(--tac-text-sm) !important;
  font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide) !important;
  text-transform: uppercase !important;
}
.cart-drawer__checkout-button { background: var(--tac-primary) !important; color: var(--tac-on-primary) !important; border-color: var(--tac-primary) !important; }
.cart-fixed-checkout__buttons { display: flex; flex-direction: column; gap: var(--tac-space-3); }
.cart__total-text { font-family: var(--tac-font-mono); font-size: var(--tac-text-xs) !important; letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; color: var(--tac-muted); }
.cart__total-price .body2 { font-size: var(--tac-text-lg) !important; }

/* --------------------------------------------------------------------------
   Feature strip (native section replacing the custom HTML block)
   -------------------------------------------------------------------------- */
.tac-features {
  display: flex;
  width: 100%;
  border: 1px solid var(--tac-border);
  margin-top: var(--tac-space-3);
  font-family: var(--tac-font-mono);
}
.tac-features__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 1 1 0;
  padding: 14px 8px;
  border-right: 1px solid var(--tac-border);
  text-align: center;
}
.tac-features__item:last-child { border-right: 0; }
.tac-features__item svg, .tac-features__icon { width: 20px; height: 20px; display: block; object-fit: contain; }
.tac-features__label { font-size: var(--tac-text-2xs); font-weight: 700; letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; color: var(--tac-ink); }

/* --------------------------------------------------------------------------
   Size: one entry point. Hide the plugin's button, add ours.
   -------------------------------------------------------------------------- */
.plugin-ruler__entry.ruler-find-size-btn-in-line,
.plugin-ruler__entry--mobile--dynamic { display: none !important; }

/* Rewards tab (Shopline member plugin): same shape language as the buttons */
#member-system-plugin button {
  border-radius: 0 !important;
  border: 1px solid var(--tac-ink) !important;
  box-shadow: none !important;
  font-family: var(--tac-font-mono) !important;
  font-size: var(--tac-text-xs) !important;
  font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide) !important;
  text-transform: uppercase;
  color: var(--tac-ink) !important;
  background: var(--tac-ground) !important;
}

.tac-sizefinder-entry { margin-top: var(--tac-space-3); }
.tac-sizefinder-entry .tac-btn--secondary svg { width: 16px; height: 16px; }

.tac-modal { position: fixed; inset: 0; z-index: 2147483000; display: none; background: rgba(17,17,17,.5); }
.tac-modal[open] { display: block; }
.tac-modal__overlay { position: absolute; inset: 0; background: rgba(17,17,17,.5); }
.tac-modal__panel {
  position: absolute; top: 0; right: 0; height: 100%; width: min(480px, 100%);
  background: var(--tac-ground); color: var(--tac-ink);
  display: flex; flex-direction: column; gap: var(--tac-space-6);
  padding: var(--tac-space-8); overflow-y: auto;
  font-family: var(--tac-font-mono);
  transform: translateX(100%); transition: transform .25s ease;
}
.tac-modal[open] .tac-modal__panel { transform: translateX(0); }
.tac-modal__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.tac-modal__title { font-family: var(--tac-font-display); font-size: var(--tac-text-2xl); font-weight: 700; letter-spacing: var(--tac-tracking-tight); line-height: 1; margin: 0 0 8px; }
.tac-modal__sub { font-size: var(--tac-text-sm); color: var(--tac-muted); margin: 0; }
.tac-modal__close { background: none; border: 0; padding: 4px; cursor: pointer; color: var(--tac-ink); }

.tac-sf__row { display: flex; gap: var(--tac-space-4); }
.tac-sf__field { display: flex; flex-direction: column; gap: 8px; flex: none; }
.tac-sf__row > .tac-sf__field { flex: 1 1 0; }
.tac-sf__input {
  display: flex; align-items: center; justify-content: space-between;
  height: 48px; padding: 0 14px; border: 1px solid var(--tac-border); background: var(--tac-ground);
}
.tac-sf__input input {
  border: 0; outline: 0; background: transparent; width: 100%;
  font-family: var(--tac-font-mono); font-size: var(--tac-text-base); color: var(--tac-ink);
}
.tac-sf__input input::-webkit-outer-spin-button, .tac-sf__input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tac-sf__units { display: flex; gap: 2px; }
.tac-sf__unit { font-size: var(--tac-text-2xs); font-weight: 700; padding: 3px 6px; color: var(--tac-muted); background: none; border: 0; cursor: pointer; font-family: inherit; }
.tac-sf__unit[aria-pressed="true"] { background: var(--tac-ink); color: var(--tac-on-primary); }

.tac-sf__fits { display: flex; gap: 8px; }
.tac-sf__fit {
  display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1 1 0;
  padding: 12px 8px; border: 1px solid var(--tac-border); background: var(--tac-ground); cursor: pointer; font-family: inherit;
}
.tac-sf__fit b { font-size: var(--tac-text-sm); color: var(--tac-ink); }
.tac-sf__fit span { font-size: var(--tac-text-2xs); color: var(--tac-muted); }
.tac-sf__fit[aria-pressed="true"] { background: var(--tac-ink); border-color: var(--tac-ink); }
.tac-sf__fit[aria-pressed="true"] b { color: var(--tac-on-primary); }
.tac-sf__fit[aria-pressed="true"] span { color: var(--tac-on-primary); opacity: .8; }

.tac-sf__result { display: flex; flex-direction: column; gap: var(--tac-space-4); padding: var(--tac-space-6); background: var(--tac-surface); }
.tac-sf__result-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.tac-sf__size { font-family: var(--tac-font-display); font-size: 56px; font-weight: 700; letter-spacing: var(--tac-tracking-tight); line-height: .9; }
.tac-sf__basis { font-size: var(--tac-text-xs); color: var(--tac-muted); text-align: right; }
.tac-sf__chart { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--tac-border); }
.tac-sf__chart-row { display: flex; justify-content: space-between; gap: 12px; font-size: var(--tac-text-xs); }
.tac-sf__chart-row b { font-weight: 700; }
.tac-sf__hint { font-size: var(--tac-text-xs); color: var(--tac-muted); text-align: center; margin: 0; }
.tac-sf__result[hidden] { display: none; }

/* --------------------------------------------------------------------------
   Reviews section (native, backed by TAC reviews API)
   -------------------------------------------------------------------------- */
.tac-reviews { font-family: var(--tac-font-mono); color: var(--tac-ink); padding-top: var(--tac-space-12); padding-bottom: var(--tac-space-12); }
.tac-reviews__head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 24px;
  padding-bottom: var(--tac-space-6); border-bottom: 1px solid var(--tac-ink); margin-bottom: var(--tac-space-8);
}
.tac-reviews__title { font-family: var(--tac-font-display); font-size: var(--tac-text-2xl); font-weight: 700; letter-spacing: var(--tac-tracking-tight); line-height: 1; margin: 0 0 10px; }
.tac-reviews__summary { display: flex; align-items: center; gap: 10px; font-size: var(--tac-text-sm); }
.tac-stars { display: inline-flex; gap: 4px; }
.tac-stars svg { width: 12px; height: 12px; fill: var(--tac-ink); }
.tac-stars--sm svg { width: 10px; height: 10px; }
.tac-stars__empty { fill: var(--tac-border) !important; }

.tac-reviews__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--tac-space-4); }
@media (max-width: 959px) { .tac-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tac-review { display: flex; flex-direction: column; gap: 12px; }
.tac-review__photo { position: relative; width: 100%; aspect-ratio: 1 / 1; background: var(--tac-surface); overflow: hidden; }
.tac-review__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tac-review__verified {
  position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 8px; background: var(--tac-ground);
}
.tac-review__verified svg { width: 10px; height: 10px; }
.tac-review__title { font-size: var(--tac-text-base); font-weight: 700; line-height: 1.3; margin: 0; }
.tac-review__body { font-size: var(--tac-text-sm); line-height: 1.5; margin: 0; }
.tac-review__meta { font-size: var(--tac-text-xs); color: var(--tac-muted); margin-top: auto; }
.tac-reviews__more { display: flex; justify-content: center; margin-top: var(--tac-space-8); }
.tac-reviews__empty { font-size: var(--tac-text-sm); color: var(--tac-muted); text-align: center; padding: var(--tac-space-8) 0; }

/* Review form (inside the modal shell) */
.tac-rf { display: flex; flex-direction: column; gap: var(--tac-space-4); }
.tac-rf label { display: flex; flex-direction: column; gap: 8px; }
.tac-rf input, .tac-rf textarea, .tac-rf select {
  width: 100%; border: 1px solid var(--tac-border); border-radius: 0; background: var(--tac-ground);
  font-family: var(--tac-font-mono); font-size: var(--tac-text-sm); color: var(--tac-ink); padding: 12px 14px; outline: 0;
}
.tac-rf input:focus, .tac-rf textarea:focus { border-color: var(--tac-ink); }
.tac-rf textarea { min-height: 120px; resize: vertical; }
.tac-rf__stars { display: flex; gap: 6px; }
.tac-rf__star { background: none; border: 0; padding: 0; cursor: pointer; }
.tac-rf__star svg { width: 24px; height: 24px; fill: var(--tac-border); }
.tac-rf__star[aria-pressed="true"] svg { fill: var(--tac-ink); }
.tac-rf__note { font-size: var(--tac-text-xs); color: var(--tac-muted); margin: 0; }
.tac-rf__done { font-size: var(--tac-text-sm); padding: var(--tac-space-6); background: var(--tac-surface); }

/* Old hand-coded reviews block, in case it lingers anywhere */
#Reviews.grv { display: none !important; }

@media (max-width: 959px) {
  .tac-modal__panel { padding: var(--tac-space-6); }
  .tac-reviews { padding-top: var(--tac-space-8); padding-bottom: var(--tac-space-8); }
  .tac-reviews__head { flex-direction: column; align-items: flex-start; gap: var(--tac-space-4); padding-bottom: var(--tac-space-4); margin-bottom: var(--tac-space-4); }
  .tac-reviews__title { font-size: var(--tac-text-xl); }
  .tac-reviews__summary { font-size: var(--tac-text-xs); flex-wrap: wrap; }
  .tac-reviews__grid { gap: var(--tac-space-3) var(--tac-space-2); }
}

/* ==========================================================================
   Home + collection pages
   ========================================================================== */

/* Product card: left aligned, eyebrow + name, fixed-height title so prices line up */
.card__content .product__title.body3 {
  display: flex; flex-direction: column; gap: 4px; align-items: flex-start;
  font-family: var(--tac-font-mono) !important; text-align: left; margin: 10px 0 6px;
}
.tac-card__eyebrow { font-size: var(--tac-text-2xs); font-weight: 700; letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; color: var(--tac-muted); line-height: 1.2; }
.tac-card__name {
  font-size: var(--tac-text-sm); font-weight: 700; line-height: 1.3; color: var(--tac-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(var(--tac-text-sm) * 1.3 * 2);
}
.card__content-bottom, .card__content-bottom .price { justify-content: flex-start !important; text-align: left !important; }
.card__content .price, .card__content .price * { font-family: var(--tac-font-mono) !important; }
.card__content .price .price-item--sale { font-size: var(--tac-text-sm) !important; font-weight: 700; color: var(--tac-ink); }
.card__content .price .price-item--regular, .card__content .price .price-position-origin { font-size: var(--tac-text-xs) !important; font-weight: 400 !important; color: var(--tac-muted); }
.card__badge, .card__badge * {
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-2xs) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; border-radius: 0 !important;
}
.card__badge { padding: 5px 8px !important; }

/* Section headers: title left, tabs under it, View all on the right of the same row */
.featured-collection .featured-collection__title.page-width { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 16px; }
.featured-collection h2.featured-collection__title, .page-width > h4.title-wrapper, .featured-collection__title h2 {
  font-family: var(--tac-font-display) !important; font-size: var(--tac-text-2xl) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-tight); line-height: 1 !important; text-transform: none !important; margin: 0 !important;
}
.featured-collection__tabs { gap: 8px !important; margin: 0 0 20px !important; padding: 0 !important; }
.featured-collection__tabs-item {
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-2xs) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; padding: 7px 10px !important; border-radius: 0 !important;
  border: 1px solid var(--tac-border) !important; background: var(--tac-ground) !important; color: var(--tac-ink) !important; white-space: nowrap;
}
.featured-collection__tabs-item--active { background: var(--tac-ink) !important; color: var(--tac-on-primary) !important; border-color: var(--tac-ink) !important; }
.collection__view-all, .collection-list-more-btn { text-align: left !important; margin-top: 20px !important; }
.page-width.text-center > h4.title-wrapper { text-align: left !important; margin: 48px 0 24px !important; padding: 0 !important; }
@media (max-width: 959px) { .page-width.text-center > h4.title-wrapper { margin: 32px 0 16px !important; } }
.collection__view-all .button, .collection-list-more-btn .button, .featured-collection__mb-view-all {
  background: transparent !important; color: var(--tac-ink) !important; border: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important;
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-xs) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px;
}
.collection__view-all .button::before, .collection__view-all .button::after, .collection-list-more-btn .button::before, .collection-list-more-btn .button::after { display: none !important; }
.collection__view-all .button, .collection-list-more-btn .button { box-shadow: none !important; outline: none !important; }

/* Collection tiles: portrait, label as a white chip bottom-left over the image */
.slider-collection-list .collection-item .card { position: relative; display: block; }
.slider-collection-list .collection__item__image.ratio { --ratio-percent: 125% !important; }
.slider-collection-list .collection__item__image img { object-fit: cover !important; object-position: center top !important; }
.slider-collection-list .collection__item__name.card__content {
  position: absolute; left: 12px; bottom: 12px; z-index: 2; margin: 0 !important; padding: 7px 10px !important; width: auto !important;
  background: var(--tac-ground); font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-2xs) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide); text-transform: uppercase; color: var(--tac-ink) !important; text-align: left !important; line-height: 1.2 !important;
}
.slider-collection-list .collection__item__name svg, .slider-collection-list .collection__item__name .icon-arrow { display: none !important; }
.slider-collection-list + .collection__view-all, .slider-collection-list ~ .button, .slider-collection-list ~ a.button { margin-top: 20px; }

/* Hero: native copy in the system, white on a soft gradient */
.slideshow-slide__text-wrapper { background: linear-gradient(180deg, rgba(17,17,17,0) 0%, rgba(17,17,17,.55) 100%) !important; }
.slideshow-slide__text { gap: 14px; }
.slideshow-slide__text-mask { display: none !important; }
.slideshow-slide__title {
  font-family: var(--tac-font-display) !important; font-weight: 700 !important; letter-spacing: var(--tac-tracking-tight) !important; line-height: 1 !important; text-transform: none !important; max-width: 12ch;
}
.slideshow-slide__sub-title {
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-xs) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide) !important; text-transform: uppercase !important; opacity: .95;
}
.slideshow-slide__button.button {
  height: var(--tac-button-h) !important; min-height: var(--tac-button-h) !important; border-radius: 0 !important; padding: 0 28px !important;
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-sm) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide) !important; text-transform: uppercase !important;
}

/* Customer strip */
.tac-customer-bar {
  display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px !important; min-height: 0 !important; padding: 0 16px !important; margin: 0 !important; line-height: 1 !important;
  background: var(--tac-ink) !important; color: var(--tac-on-primary) !important;
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-2xs) !important; letter-spacing: var(--tac-tracking-wide); text-transform: uppercase;
}
.tac-customer-bar #tacCustomerCount { font-size: var(--tac-text-sm); font-weight: 700; letter-spacing: 0; }

/* Rich text block: eyebrow + display statement */
.rich-text .rich-text__heading {
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-xs) !important; font-weight: 700 !important;
  letter-spacing: var(--tac-tracking-wide) !important; text-transform: uppercase !important; color: var(--tac-muted) !important; margin-bottom: 12px !important;
}
.rich-text .rich-text__text, .rich-text .rich-text__text p {
  font-family: var(--tac-font-display) !important; font-size: var(--tac-text-xl) !important; font-weight: 500 !important; line-height: 1.35 !important; letter-spacing: -0.01em; color: var(--tac-ink) !important;
  max-width: 760px;
}
.rich-text p strong, .rich-text p em { font-weight: 500 !important; font-style: normal !important; }

/* Collection page: title row + compact toolbar */
.collection-hero__title {
  font-family: var(--tac-font-display) !important; font-size: var(--tac-text-2xl) !important; font-weight: 700 !important; letter-spacing: var(--tac-tracking-tight); line-height: 1 !important;
}
.product-count, #ProductCountDesktop, #ProductCount { font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-xs) !important; color: var(--tac-muted) !important; }
.mobile-facets__open-label, .mobile-facets__heading, .facets__summary, .facet-filters__sort, .facets__sort select, .mobile-facets__open {
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-2xs) !important; font-weight: 700 !important; letter-spacing: var(--tac-tracking-wide); text-transform: uppercase;
}

/* Rewards tab: tuck it low so it never covers a product image */
#member-system-plugin button { bottom: 16px !important; right: 16px !important; }

@media (max-width: 959px) {
  .featured-collection .featured-collection__title.page-width { margin-bottom: 12px; }
  .featured-collection h2.featured-collection__title, .page-width > h4.title-wrapper { font-size: var(--tac-text-xl) !important; }
  .featured-collection__tabs { overflow-x: auto; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .featured-collection__tabs::-webkit-scrollbar { display: none; }
  .slider-collection-list .collection__item__name.card__content { left: 8px; bottom: 8px; font-size: 10px !important; padding: 6px 8px !important; }
  .slideshow-slide__title { font-size: 36px !important; }
  .slideshow-slide__sub-title { font-size: 10px !important; }
  /* Mobile hero: portrait lifestyle shot in place of the landscape image */
  .slideshow__slide .slideshow-slide__media { background: url('https://img-va.myshopline.com/image/store/1676851583617/AOT-HOODIE-ESPECIAL.jpeg?w=900') center 20% / cover no-repeat !important; }
  .slideshow__slide .slideshow-slide__media img, .slideshow__slide .slideshow-slide__media picture { opacity: 0 !important; }
  .featured-collection h2.featured-collection__title, .page-width > h4.title-wrapper, .featured-collection__title-group { text-align: left !important; justify-content: flex-start !important; }
  .rich-text .rich-text__text, .rich-text .rich-text__text p { font-size: var(--tac-text-lg) !important; }
}

/* Footer: currency/language selector is a quiet outline, never the brand red */
.footer .localization-form .button, .footer [class*="localization"] button, .footer [class*="disclosure"] button, .footer .shopline-localization__button {
  background: transparent !important; color: var(--tac-ink) !important; border: 1px solid var(--tac-border) !important; border-radius: 0 !important;
  font-family: var(--tac-font-mono) !important; font-size: var(--tac-text-xs) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important;
}
