/* primitives.css */
/* Theme Studio Primitives — CSS driven by --ts-* custom properties */

/* ─── Button ─────────────────────────────────────────────────────── */
.ts-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--ts-font-body, inherit);
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: opacity 0.12s ease-out, transform 0.12s ease-out;
  border-radius: var(--ts-radius-pill, 999px);
  white-space: nowrap;
}

.ts-btn:active {
  transform: translateY(-1px);
}

.ts-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

/* Sizes */
.ts-btn--sm { padding: 0.375rem 0.875rem; font-size: 0.8125rem; }
.ts-btn--md { padding: 0.625rem 1.25rem; font-size: 0.875rem; }
.ts-btn--lg { padding: 0.75rem 1.75rem; font-size: 1rem; }

/* Kinds */
.ts-btn--primary {
  background: var(--theme-action-primary, #0B0B0B);
  color: var(--theme-action-primary-fg, #fff);
}

.ts-btn--accent {
  background: var(--ts-accent, #FF2D87);
  color: #fff;
}

.ts-btn--ghost {
  background: transparent;
  color: var(--ts-ink, #0B0B0B);
  border: 1px solid var(--ts-hair, #E7DFC8);
}

.ts-btn--quiet {
  background: transparent;
  color: var(--ts-ink, #0B0B0B);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Full width */
.ts-btn--full { width: 100%; }

/* ─── Tag ────────────────────────────────────────────────────────── */
.ts-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: var(--ts-radius-pill, 999px);
  white-space: nowrap;
}

.ts-tag--default {
  background: var(--ts-faint, #F4EEDD);
  color: var(--ts-ink, #0B0B0B);
}

.ts-tag--accent {
  background: var(--ts-accent-soft, #FFE4EE);
  color: var(--ts-accent, #FF2D87);
}

.ts-tag--primary {
  background: var(--ts-primary-soft, #E8E8E8);
  color: var(--ts-primary, #0B0B0B);
}

.ts-tag--ok {
  background: var(--ts-ok-soft, #D1FAE5);
  color: var(--ts-ok, #065F46);
}

.ts-tag--warn {
  background: var(--ts-warn-soft, #FEF3C7);
  color: var(--ts-warn, #92400E);
}

/* ─── Price ──────────────────────────────────────────────────────── */
.ts-price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
  font-family: var(--ts-font-mono, monospace);
  font-variant-numeric: tabular-nums;
}

.ts-price__current {
  font-weight: 700;
  font-size: 1rem;
  color: var(--ts-ink, #0B0B0B);
}

.ts-price__was {
  font-weight: 400;
  font-size: 0.8125rem;
  color: var(--ts-mute, #6B6B6B);
  text-decoration: line-through;
}

.ts-price__from {
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.65;
}

.ts-price--big .ts-price__current {
  font-size: 1.5rem;
}

.ts-price--big .ts-price__was {
  font-size: 1rem;
}

/* ─── Placeholder ────────────────────────────────────────────────── */
.ts-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: repeating-linear-gradient(
    -45deg,
    var(--ts-faint, #F4EEDD),
    var(--ts-faint, #F4EEDD) 8px,
    var(--ts-surface, #FBF7EE) 8px,
    var(--ts-surface, #FBF7EE) 16px
  );
  border-radius: var(--ts-radius-card, 14px);
  overflow: hidden;
}

.ts-placeholder__label {
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ts-mute, #6B6B6B);
  opacity: 0.6;
}

/* ─── Hairline Rule ──────────────────────────────────────────────── */
.ts-rule {
  border: none;
  margin: 0;
  width: 100%;
}

.ts-rule--plain {
  height: 1px;
  background: var(--ts-hair, #E7DFC8);
}

.ts-rule--strong {
  height: 2px;
  background: var(--ts-ink, #0B0B0B);
}

.ts-rule--awning {
  height: 4px;
  background: repeating-linear-gradient(
    90deg,
    var(--ts-primary, #0B0B0B) 0,
    var(--ts-primary, #0B0B0B) 8px,
    var(--ts-bg, #FBF7EE) 8px,
    var(--ts-bg, #FBF7EE) 16px
  );
}

/* ─── Stamp Seal ─────────────────────────────────────────────────── */
.ts-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid var(--ts-primary, #0B0B0B);
  flex-shrink: 0;
}

.ts-seal__text {
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ts-primary, #0B0B0B);
  text-align: center;
  line-height: 1.1;
  padding: 0.25rem;
}

/* ─── Quantity Stepper ───────────────────────────────────────────── */
.ts-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--ts-hair, #E7DFC8);
  border-radius: var(--ts-radius-pill, 999px);
  overflow: hidden;
}

.ts-stepper__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: var(--ts-ink, #0B0B0B);
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.1s;
}

.ts-stepper__btn:hover:not(:disabled) {
  background: var(--ts-faint, #F4EEDD);
}

.ts-stepper__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.ts-stepper__value {
  min-width: 2rem;
  text-align: center;
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ts-ink, #0B0B0B);
}

/* ─── Spice Meter ────────────────────────────────────────────────── */
.ts-spice {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.ts-spice__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ts-faint, #F4EEDD);
  border: 1px solid var(--ts-hair, #E7DFC8);
  transition: background 0.15s;
}

.ts-spice__dot--active {
  background: var(--ts-warn, #FF6B3D);
  border-color: var(--ts-warn, #FF6B3D);
}

/* ─── Leader Dots ────────────────────────────────────────────────── */
.ts-leader {
  flex: 1;
  min-width: 1rem;
  height: 1em;
  margin: 0 0.5rem;
  background: repeating-linear-gradient(
    90deg,
    var(--ts-mute, #6B6B6B) 0,
    var(--ts-mute, #6B6B6B) 2px,
    transparent 2px,
    transparent 6px
  );
  background-position: bottom 4px left;
  background-size: 6px 1px;
  background-repeat: repeat-x;
}
/* card-styles.css */
/* Theme Studio Card Styles — token-driven layout via --ts-* vars */

/* ─── Shared card base ───────────────────────────────────────────── */
.ts-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--ts-surface, #FBF7EE);
  border-radius: var(--ts-radius-card, 14px);
  overflow: hidden;
  transition: box-shadow 0.15s ease-out;
}

.ts-card:hover {
  box-shadow: 0 4px 16px oklch(0 0 0 / 0.06);
}

.ts-card__media {
  position: relative;
  aspect-ratio: 4/5;
  background: var(--ts-faint, #F4EEDD);
}

.ts-card__thumb {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: var(--ts-radius-sm, 6px);
  overflow: hidden;
  flex-shrink: 0;
}

.ts-card__monogram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-family: var(--ts-font-display, inherit);
  font-size: 2rem;
  font-style: italic;
  color: var(--ts-mute, #6B6B6B);
  opacity: 0.5;
}

.ts-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: var(--ts-density-card-pad, 14px);
}

.ts-card__name {
  font-family: var(--ts-font-body, inherit);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--ts-ink, #0B0B0B);
  line-height: 1.3;
}

.ts-card__desc {
  font-family: var(--ts-font-body, inherit);
  font-size: 0.8125rem;
  color: var(--ts-mute, #6B6B6B);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ts-card__unit {
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ts-mute, #6B6B6B);
}

.ts-card__note {
  font-family: var(--ts-font-serif, var(--ts-font-body, inherit));
  font-style: italic;
  font-size: 0.8125rem;
  color: var(--ts-ink2, #1A1A1A);
  line-height: 1.4;
}

.ts-card__meta {
  display: flex;
  gap: 0.375rem;
  flex-wrap: wrap;
}

.ts-card__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.ts-card__sizes {
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.6875rem;
  letter-spacing: 0.03em;
  color: var(--ts-mute, #6B6B6B);
}

.ts-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.ts-card__specs {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ts-card__spec-row {
  font-family: var(--ts-font-mono, monospace);
  font-size: 0.6875rem;
  color: var(--ts-mute, #6B6B6B);
}

/* ─── Shelf card (Market Grocer) ─────────────────────────────────── */
.ts-card--shelf .ts-card__media {
  aspect-ratio: 1/1;
}

/* ─── Menu card (Market Kitchen) ─────────────────────────────────── */
.ts-card--menu {
  flex-direction: row;
  align-items: center;
  padding: var(--ts-density-card-pad, 14px);
  gap: 0.75rem;
  border-radius: var(--ts-radius-md, 10px);
}

.ts-card--menu .ts-card__thumb {
  width: 56px;
  height: 56px;
  border-radius: 50%;
}

.ts-card--menu .ts-card__body {
  padding: 0;
  flex: 0 1 auto;
}

/* ─── Story card (Market Maker) ──────────────────────────────────── */
.ts-card--story .ts-card__media {
  aspect-ratio: 3/4;
}

/* ─── Lookbook card (Minimalist Atelier) ─────────────────────────── */
.ts-card--lookbook {
  border-radius: 0;
}

.ts-card--lookbook .ts-card__media {
  aspect-ratio: 3/4;
}

.ts-card--lookbook .ts-card__name {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.75rem;
}

/* ─── Spec card (Minimalist Spec) ────────────────────────────────── */
.ts-card--spec {
  flex-direction: row;
  align-items: flex-start;
  padding: var(--ts-density-card-pad, 18px);
  gap: 1rem;
  border-radius: 0;
  border-bottom: 1px solid var(--ts-hair, #E7DFC8);
}

.ts-card--spec .ts-card__thumb {
  width: 100px;
  height: 100px;
  border-radius: 0;
}

.ts-card--spec .ts-card__body {
  padding: 0;
}

/* ─── Object card (Minimalist Gallery) ───────────────────────────── */
.ts-card--object {
  border-radius: 0;
  text-align: center;
  align-items: center;
}

.ts-card--object .ts-card__media {
  aspect-ratio: 1/1;
  width: 100%;
}

.ts-card--object .ts-card__body {
  align-items: center;
  padding: 1.5rem var(--ts-density-card-pad, 18px);
}

.ts-card--object .ts-card__name {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.75rem;
}

/* Book affordance on service rows — sits where the qty stepper would. */
.ts-card__book-link {
  flex-shrink: 0;
  padding: 6px 14px;
  border-radius: var(--theme-radius, 10px);
  background: var(--theme-primary, var(--ts-ink, #0b0b0b));
  color: var(--theme-primary-fg, var(--ts-paper, #fff));
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  transition: filter 120ms ease-out;
}

.ts-card__book-link:hover {
  filter: brightness(1.1);
}
/* Exact pinned classic font faces and variables; no preload. */
@font-face{font-family:"__Young_Serif_f8c88b";font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/3d956f419542b44a9b33.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:"__Young_Serif_f8c88b";font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/a46a84bfaa83dea2fa2d.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:"__Young_Serif_Fallback_f8c88b";src:local("Times New Roman");ascent-override:83.16%;descent-override:29.10%;line-gap-override:0.00%;size-adjust:125.78%}
@font-face{font-family:__Plus_Jakarta_Sans_76e0e0;font-style:normal;font-weight:200 800;font-display:swap;src:url(/storefront-fonts/a16f29d7d2a21a4f9b32.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Plus_Jakarta_Sans_76e0e0;font-style:normal;font-weight:200 800;font-display:swap;src:url(/storefront-fonts/5c913fc1b1f86f4b475e.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Plus_Jakarta_Sans_76e0e0;font-style:normal;font-weight:200 800;font-display:swap;src:url(/storefront-fonts/0303e02b53b0298fb26a.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Plus_Jakarta_Sans_76e0e0;font-style:normal;font-weight:200 800;font-display:swap;src:url(/storefront-fonts/cd8db90cd950e26bc876.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Plus_Jakarta_Sans_Fallback_76e0e0;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}
@font-face{font-family:__Space_Mono_ed2eba;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/1ab5cb4b90a56d6031db.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Space_Mono_ed2eba;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/b4f90459adf4851575a4.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Space_Mono_ed2eba;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/e0c8e616bda27642f4c3.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Space_Mono_ed2eba;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/e9c42e9aad5bf74da01a.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Space_Mono_ed2eba;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/512458b32bf452ac0e4b.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Space_Mono_ed2eba;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/af7cf6d2b897ec453acd.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Space_Mono_Fallback_ed2eba;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/f5df746dbc2eccec6d22.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/e3b56e90510a84ac0ed4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/f5df746dbc2eccec6d22.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/e3b56e90510a84ac0ed4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/f5df746dbc2eccec6d22.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/e3b56e90510a84ac0ed4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/f5df746dbc2eccec6d22.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/e3b56e90510a84ac0ed4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:800;font-display:swap;src:url(/storefront-fonts/f5df746dbc2eccec6d22.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Schibsted_Grotesk_c707d2;font-style:normal;font-weight:800;font-display:swap;src:url(/storefront-fonts/e3b56e90510a84ac0ed4.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Schibsted_Grotesk_Fallback_c707d2;src:local("Arial");ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.00%;size-adjust:104.49%}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/2f52020a90793104e417.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/2f467719b2167cc4778b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/a1376a563717f1efa2f5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/1f21c6eaa0000f3329cf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/2f52020a90793104e417.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/2f467719b2167cc4778b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/a1376a563717f1efa2f5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/1f21c6eaa0000f3329cf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/2f52020a90793104e417.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/2f467719b2167cc4778b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/a1376a563717f1efa2f5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/1f21c6eaa0000f3329cf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/2f52020a90793104e417.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/2f467719b2167cc4778b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/a1376a563717f1efa2f5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/1f21c6eaa0000f3329cf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:800;font-display:swap;src:url(/storefront-fonts/2f52020a90793104e417.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:800;font-display:swap;src:url(/storefront-fonts/2f467719b2167cc4778b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:800;font-display:swap;src:url(/storefront-fonts/a1376a563717f1efa2f5.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Hanken_Grotesk_e4d04c;font-style:normal;font-weight:800;font-display:swap;src:url(/storefront-fonts/1f21c6eaa0000f3329cf.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Hanken_Grotesk_Fallback_e4d04c;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/ea16948d4a91b77221f1.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/a22c997a894377f36d81.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/4fd48b2c1ab27220e71f.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/ea16948d4a91b77221f1.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/a22c997a894377f36d81.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/4fd48b2c1ab27220e71f.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/ea16948d4a91b77221f1.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/a22c997a894377f36d81.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/4fd48b2c1ab27220e71f.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/ea16948d4a91b77221f1.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/a22c997a894377f36d81.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/4fd48b2c1ab27220e71f.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/ea16948d4a91b77221f1.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/a22c997a894377f36d81.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Bricolage_Grotesque_bdce57;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/storefront-fonts/4fd48b2c1ab27220e71f.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Bricolage_Grotesque_Fallback_bdce57;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}
@font-face{font-family:"__Instrument_Serif_937831";font-style:italic;font-weight:400;font-display:swap;src:url(/storefront-fonts/a04fc7ed18a8037149ce.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:"__Instrument_Serif_937831";font-style:italic;font-weight:400;font-display:swap;src:url(/storefront-fonts/6ee678c33f388dd7ba59.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:"__Instrument_Serif_937831";font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/a8c4bd7cd7073180e740.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:"__Instrument_Serif_937831";font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/60c06664b5a95c7de6cc.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:"__Instrument_Serif_Fallback_937831";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/fccca918fea40089daca.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/aebf2ab4a4ce6810d73c.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/a2e2c783ca6f9c20486e.woff2) format("woff2");unicode-range:u+1f??}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/46dd4cdca58c26ae87cc.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/8db00ff46c67b22cda8b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/a28eb6d3ccb534ae0c94.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/c940764593d0fe5d596b.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/fccca918fea40089daca.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/aebf2ab4a4ce6810d73c.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/a2e2c783ca6f9c20486e.woff2) format("woff2");unicode-range:u+1f??}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/46dd4cdca58c26ae87cc.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/8db00ff46c67b22cda8b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/a28eb6d3ccb534ae0c94.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/c940764593d0fe5d596b.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/fccca918fea40089daca.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/aebf2ab4a4ce6810d73c.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/a2e2c783ca6f9c20486e.woff2) format("woff2");unicode-range:u+1f??}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/46dd4cdca58c26ae87cc.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/8db00ff46c67b22cda8b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/a28eb6d3ccb534ae0c94.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/c940764593d0fe5d596b.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/fccca918fea40089daca.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/aebf2ab4a4ce6810d73c.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/a2e2c783ca6f9c20486e.woff2) format("woff2");unicode-range:u+1f??}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/46dd4cdca58c26ae87cc.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/8db00ff46c67b22cda8b.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/a28eb6d3ccb534ae0c94.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__Inter_c9f083;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/c940764593d0fe5d596b.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__Inter_Fallback_c9f083;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/c6f09ee0e0a24b7c85ec.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/7b59d6bf7f8b8408ac28.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/0a8b854cc18641bd1b82.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/f1050dc5317b43434c0a.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:400;font-display:swap;src:url(/storefront-fonts/c36f509c0a8f9f85f29c.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/311098be73eac339128f.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/d524dc8ff6dbf7ed6977.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/b2529fba93fd07a50ffb.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/77f03e26f981c582bdba.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:500;font-display:swap;src:url(/storefront-fonts/a76f53ca6612e7b3828e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/f746246b6b0b641f99d9.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/b814a03d7e57b0626a90.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/69744cabbccc9faf7751.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/1b6b18fd0fd240bc6d58.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:600;font-display:swap;src:url(/storefront-fonts/ad4580d8cb4b5f627c2d.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/c7fa87a1d7be5a6f94a1.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/bb7642ad6085595ee4d2.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/429a912c8121ee675545.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/099842414ddad0cb366c.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:__IBM_Plex_Mono_1696ca;font-style:normal;font-weight:700;font-display:swap;src:url(/storefront-fonts/9e1455e6e9c5866f607e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:__IBM_Plex_Mono_Fallback_1696ca;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}
.classic-storefront-fonts{--font-anton:"__Anton_0f7ed0","__Anton_Fallback_0f7ed0";--font-archivo-black:"__Archivo_Black_bb0bfe","__Archivo_Black_Fallback_bb0bfe";--font-bebas:"__Bebas_Neue_d65ff6","__Bebas_Neue_Fallback_d65ff6";--font-bodoni-moda:"__Bodoni_Moda_47f53a";--font-caveat:"__Caveat_664aa5","__Caveat_Fallback_664aa5";--font-cormorant:"__Cormorant_Garamond_1ba6fa","__Cormorant_Garamond_Fallback_1ba6fa";--font-dm-sans:"__DM_Sans_440c40","__DM_Sans_Fallback_440c40";--font-dm-serif:"__DM_Serif_Display_3e9129","__DM_Serif_Display_Fallback_3e9129";--font-eb-garamond:"__EB_Garamond_4bf290","__EB_Garamond_Fallback_4bf290";--font-fraunces:"__Fraunces_79d1d5","__Fraunces_Fallback_79d1d5";--font-hanken-grotesk:"__Hanken_Grotesk_e4d04c","__Hanken_Grotesk_Fallback_e4d04c";--font-ibm-plex-mono:"__IBM_Plex_Mono_d7e2b6","__IBM_Plex_Mono_Fallback_d7e2b6";--font-ibm-plex-sans:"__IBM_Plex_Sans_5c6d1b","__IBM_Plex_Sans_Fallback_5c6d1b";--font-jakarta:"__Plus_Jakarta_Sans_76e0e0","__Plus_Jakarta_Sans_Fallback_76e0e0";--font-jetbrains-mono:"__JetBrains_Mono_7a9e0b","__JetBrains_Mono_Fallback_7a9e0b";--font-manrope:"__Manrope_bc8a98","__Manrope_Fallback_bc8a98";--font-marcellus:"__Marcellus_97428b","__Marcellus_Fallback_97428b";--font-newsreader:"__Newsreader_5abfa7";--font-nunito:"__Nunito_8ac22e","__Nunito_Fallback_8ac22e";--font-outfit:"__Outfit_86bc3c","__Outfit_Fallback_86bc3c";--font-playfair:"__Playfair_Display_b89d68","__Playfair_Display_Fallback_b89d68";--font-schibsted-grotesk:"__Schibsted_Grotesk_c707d2","__Schibsted_Grotesk_Fallback_c707d2";--font-sora:"__Sora_2b64bc","__Sora_Fallback_2b64bc";--font-space-grotesk:"__Space_Grotesk_c24635","__Space_Grotesk_Fallback_c24635";--font-space-mono:"__Space_Mono_ed2eba","__Space_Mono_Fallback_ed2eba";--font-spectral:"__Spectral_0375c8","__Spectral_Fallback_0375c8";--font-stall-body:"__Inter_c9f083","__Inter_Fallback_c9f083";--font-stall-display:"__Bricolage_Grotesque_bdce57","__Bricolage_Grotesque_Fallback_bdce57";--font-stall-mono:"__IBM_Plex_Mono_1696ca","__IBM_Plex_Mono_Fallback_1696ca";--font-stall-serif:"__Instrument_Serif_937831","__Instrument_Serif_Fallback_937831";--font-unbounded:"__Unbounded_3c0067","__Unbounded_Fallback_3c0067";--font-work-sans:"__Work_Sans_76d933","__Work_Sans_Fallback_76d933";--font-young-serif:"__Young_Serif_f8c88b","__Young_Serif_Fallback_f8c88b"}
/* minimalist — tokens */
/* Minimalist theme — Quiet · editorial · Swiss — v3 engine-derived rebuild
   Ink on bone. Tight grotesque headings, editorial serif body, tabular numerals.
   primaryRole=ink means the primary IS the text colour.
   Every var(--ts-*) reference includes a hex fallback so the theme renders
   correctly even before the engine injector runs.
   Implements Theme Studio contract: Grid, Lookbook, and Object layouts. */


/* ── Theme root (colour tokens fed by ThemeStyleInjector via --ts-*) ─── */
.theme-minimalist {
  /* ── v1c 6-var contract (engine values win, fallbacks below) ── */
  --theme-primary:   var(--ts-primary, #1A1A1A);
  --theme-accent:    var(--ts-accent, #8B6B4A);
  --theme-bg:        var(--ts-bg, #FFFFFF);
  --theme-radius:    var(--ts-radius-card, 0px);
  --theme-font-display:  var(--ts-font-display, var(--font-schibsted-grotesk));
  --theme-primary-fg:    var(--ts-primary-ink, #FFFFFF);
  --theme-font-body:     var(--ts-font-body, var(--font-hanken-grotesk));

  /* ── Minimalist-scoped aliases (engine values with fallbacks) ─── */
  --mini-ink:       var(--ts-ink, #121212);
  --mini-ink-2:     var(--ts-ink2, #4D4A45);
  --mini-paper:     var(--ts-bg, #FFFFFF);
  --mini-paper-2:   var(--ts-bg-deep, #F7F1E7);
  --mini-surface:   var(--ts-surface, #FBF8F2);
  --mini-hairline:  var(--ts-hair, #DCCFBC);
  --mini-hairline-strong: color-mix(in srgb, var(--ts-hair, #DCCFBC) 75%, var(--ts-ink, #121212) 25%);
  --mini-mute:      var(--ts-mute, #756C62);
  --mini-placeholder-bg:  var(--ts-bg-deep, #F7F1E7);
  --mini-placeholder-ink: var(--ts-mute, #756C62);
  --mini-brand-strong:      var(--theme-brand-strong);
  --mini-brand-strong-fg:   var(--theme-brand-strong-fg);
  --mini-brand-soft:        var(--theme-brand-soft);
  --mini-brand-soft-fg:     var(--theme-brand-soft-fg);
  --mini-brand-line:        var(--theme-brand-line);
  --mini-brand-accent:      var(--theme-brand-accent);
  --mini-action:            var(--theme-action-primary);
  --mini-action-fg:         var(--theme-action-primary-fg);
  --mini-action-secondary:     var(--theme-action-secondary);
  --mini-action-secondary-fg:  var(--theme-action-secondary-fg);
  --mini-coral:   var(--ts-accent, #8B6B4A);
  /* Identity accent stays vivid for decoration; small discount prices mix
     toward the current canvas ink so the same token clears AA in both modes. */
  --mini-coral-text: color-mix(in srgb, var(--mini-coral) 80%, var(--mini-ink) 20%);
  --mini-sale: var(--accent-locked, #8B6B4A);
  --mini-sale-fg: #FFFFFF;
  --mini-shadow:  0 18px 48px rgba(18, 18, 18, 0.08);

  /* Furniture vars — overridden per [data-mood] in mood.css */
  --mini-rule-weight: 1px;
  --mini-rule-ink: var(--ts-hair, #DCCFBC);
  --mini-card-hover-lift: -3px;
  --mini-accent-rule-height: 2px;

  /* Spacing */
  --mini-gap-sm: 12px;
  --mini-gap-md: 24px;
  --mini-gap-lg: 48px;
  --mini-pad-card: var(--ts-density-card-pad, 18px);
  --mini-pad-section: 120px;

  background-color: var(--ts-bg, #FFFFFF);
  color: var(--ts-ink, #121212);
  font-family: var(--ts-font-body, system-ui, sans-serif);
  -webkit-font-smoothing: antialiased;
}

/* ── Density ── */
.theme-minimalist.density-compact {
  --mini-gap-sm: 8px; --mini-gap-md: 16px; --mini-gap-lg: 32px;
  --mini-pad-card: 16px; --mini-pad-section: 80px;
}
.theme-minimalist.density-cozy {
  --mini-gap-sm: 10px; --mini-gap-md: 20px; --mini-gap-lg: 40px;
  --mini-pad-card: 20px; --mini-pad-section: 96px;
}

/* ── Presets (non-colour only) ── */
.theme-minimalist.preset-classic {}
.theme-minimalist.preset-editorial {
  --theme-font-display: var(--font-young-serif);
}

/* Auto mode can retain a dark identity accent while the canvas becomes dark.
   Small sale text needs the current foreground, without repainting that accent. */
@media (prefers-color-scheme: dark) {
  [data-storefront-mode="auto"] .theme-minimalist {
    --mini-coral-text: color-mix(in srgb, var(--mini-coral) 30%, var(--mini-ink) 70%);
  }
}

/* StudioPrice's raw source mute is too pale on Gallery's cream. Use the
   already-resolved readable secondary ink only in this Look and mood. */
.theme-minimalist[data-mood="gallery"] .ts-price__was {
  color: var(--mini-mute);
}

/* ── Variants ── */

/* ── Structural token bridge (fonts, radius, density — never overridden by engine) ── */
.theme-minimalist {
  --ts-font-display: var(--font-schibsted-grotesk, var(--theme-font-display));
  --ts-font-serif: var(--theme-font-display), Georgia, serif;
  --ts-font-body: var(--font-hanken-grotesk, var(--theme-font-body));
  --ts-font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --ts-radius-sm: 1px;
  --ts-radius-md: 2px;
  --ts-radius-lg: 2px;
  --ts-radius-card: 0px;
  --ts-radius-pill: 0px;
  --ts-density-card-pad: 18px;
  --ts-density-grid-gap: 30px;
}

/* Owner-approved visual upgrades: grid / lookbook / object.
   These are composition rules; presets, moods and action tokens keep ownership. */
.theme-minimalist .look-navigation { color: var(--mini-ink); border-top: 1px solid var(--mini-hairline); margin-top: 12px; padding-top: 4px; }
.theme-minimalist .look-navigation-link { color: inherit; }
.theme-minimalist [data-design-navigation="browse"] .look-navigation-link { border: 1px solid var(--mini-hairline); border-radius: 0; margin-block: 4px; }
.theme-minimalist [data-design-navigation="scan"] .look-navigation-links { gap: 0; }
.theme-minimalist [data-design-navigation="scan"] .look-navigation-link { border-right: 1px solid var(--mini-hairline); font-family: "NairaGlyph", ui-monospace, monospace; text-transform: uppercase; font-size: 10px; letter-spacing: 0.06em; }
.theme-minimalist [data-design-navigation="story"] .look-navigation-link { font-family: var(--theme-font-display); font-size: 14px; padding-inline: 16px; }
.theme-minimalist [data-design-navigation="story"] .look-navigation-links { justify-content: flex-start; }
.theme-minimalist > header > nav:not([data-design-navigation]),
.theme-minimalist > header > div:first-child > nav { display: none; }
.theme-minimalist.variant-object > header > div:first-child { flex-wrap: wrap; row-gap: 16px; }
.theme-minimalist.variant-object > header > div:first-child > [data-preview-editable="header-logo"] { flex-basis: 100%; max-width: none; font-size: clamp(24px, 5vw, 38px); line-height: 1.15; }
.theme-minimalist .look-hero-frame { min-width: 0; color: var(--mini-ink); }
.theme-minimalist .look-hero-content { min-width: 0; }
.theme-minimalist .look-hero-photo { min-width: 0; margin: 20px 20px 0; padding: 0; border: 1px solid var(--mini-hairline); border-radius: 0; background: var(--mini-paper-2); }
.theme-minimalist .look-hero-photo-media { aspect-ratio: 1 / 1; border-radius: 0; }
.theme-minimalist .look-hero-caption { padding: 12px 2px 2px; font-family: "NairaGlyph", ui-monospace, monospace; color: var(--mini-ink); }
.theme-minimalist [data-authored-hero="true"][data-design-hero="scan"] { border-bottom: 1px solid var(--mini-hairline); }
.theme-minimalist [data-authored-hero="true"][data-design-hero="scan"] .look-hero-content > section { padding-block: 28px; }
.theme-minimalist [data-authored-hero="true"][data-design-hero="scan"] h1 { max-width: 24ch; overflow-wrap: break-word; }
.theme-minimalist [data-authored-hero="true"][data-design-hero="story"] h1 { max-width: 19ch; text-wrap: balance; }
.theme-minimalist [data-authored-hero="true"][data-hero-has-photo="true"] .look-hero-content > section { padding-top: 28px; padding-bottom: 36px; }
.theme-minimalist [data-design-catalogue] { min-width: 0; }
.theme-minimalist [data-design-catalogue] > * { min-width: 0; }
.theme-minimalist.variant-lookbook > footer { border-top-width: 1px; }
.theme-minimalist.variant-object > footer { padding-top: 48px; }
@media (min-width: 768px) {
  .theme-minimalist [data-design-navigation="story"] .look-navigation-links { justify-content: center; }
  .theme-minimalist [data-authored-hero="true"][data-hero-has-photo="true"][data-design-hero="browse"] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; max-width: 1320px; margin-inline: auto; padding: 28px; }
  .theme-minimalist [data-design-hero="browse"] > .look-hero-photo { grid-column: 2; grid-row: 1; margin: 0; }
  .theme-minimalist [data-design-hero="browse"][data-hero-has-photo="true"] > .look-hero-content { grid-column: 1; grid-row: 1; }
  .theme-minimalist [data-design-hero="story"] > .look-hero-photo { max-width: 1100px; margin-inline: auto; margin-top: 32px; }
  .theme-minimalist [data-design-hero="story"] > .look-hero-photo .look-hero-photo-media { aspect-ratio: 16 / 9; }
}

/* Object is an unframed study; the portrait index has continuous ruled rows. */
.theme-minimalist [data-design-navigation="browse"] .look-navigation-link { border: 0; padding-left: 0; margin-right: 20px; font-size: 11px; }
.theme-minimalist [data-design-catalogue="lookbook"] { border-top: 1px solid var(--mini-ink); }
.theme-minimalist [data-design-catalogue="lookbook"] > a { padding-block: 24px; }
.theme-minimalist [data-design-catalogue="magazine"] > * { padding-top: 28px; border-top: 1px solid var(--mini-hairline); }
/* minimalist — mood */
/* Minimalist theme — mood environments.
 * Applied via [data-mood] on the storefront root. Overrides --ts-* sources so
 * the cascade flows to theme aliases + card-styles.css. Zero JS.
 */

/* studio — museum-shop white, the black caption speaks */
[data-mood="studio"] {
  --ts-bg:#FFFFFF; --ts-bg-deep:#F5F5F5; --ts-ink:#0A0A0A; --ts-ink2:#1F1F1F;
  --ts-mute:#707070; --ts-hair:#E6E6E6; --ts-surface:#FAFAFA; --ts-faint:#F2F2F2;
  --ts-primary:#0A0A0A; --ts-primary-ink:#FFFFFF; --ts-accent:#2B2B2B;
  --ts-ok:#10B981; --ts-ok-soft:rgba(16,185,129,0.12); --ts-warn:#FF6B3D;
  --ts-radius-card:0px;
}

/* gallery — hushed cream gallery, wide margins */
[data-mood="gallery"] {
  --ts-bg:#F6F3EC; --ts-bg-deep:#EEEADF; --ts-ink:#14110C; --ts-ink2:#2A251C;
  --ts-mute:#7C7565; --ts-hair:#E2DCCE; --ts-surface:#FBF9F3; --ts-faint:#F0ECE1;
  --ts-primary:#14110C; --ts-primary-ink:#FBF9F3; --ts-accent:#8A7E63;
  --ts-ok:#10B981; --ts-ok-soft:rgba(16,185,129,0.12); --ts-warn:#FF6B3D;
  --ts-radius-card:0px;
}

/* editorial — warm-paper journal, ink-blue accent carries it */
[data-mood="editorial"] {
  --ts-bg:#F2EBDD; --ts-bg-deep:#E9E0CD; --ts-ink:#161310; --ts-ink2:#2E2820;
  --ts-mute:#7E7565; --ts-hair:#DDD3BE; --ts-surface:#F8F2E6; --ts-faint:#EDE5D3;
  --ts-primary:#1F3A5F; --ts-primary-ink:#F8F2E6; --ts-accent:#1F3A5F;
  --ts-ok:#10B981; --ts-ok-soft:rgba(16,185,129,0.12); --ts-warn:#FF6B3D;
  --ts-radius-card:0px;
}

/* noir — high-contrast evening catalogue, still quiet and precise */
[data-mood="noir"] {
  --ts-bg:#111111; --ts-bg-deep:#191919; --ts-ink:#F5F5F0; --ts-ink2:#D4D4CC;
  --ts-mute:#A3A39A; --ts-hair:rgba(245,245,240,0.16); --ts-surface:#151515; --ts-faint:#242424;
  --ts-primary:#F5F5F0; --ts-primary-ink:#111111; --ts-accent:#D4D4CC;
  --ts-ok:#6EE7B7; --ts-ok-soft:rgba(110,231,183,0.12); --ts-warn:#FF9A7A;
  --ts-radius-card:0px;
}

/* Furniture overrides per mood */
[data-mood="studio"] {
  --mini-rule-weight: 1px;
  --mini-shadow: 0 18px 48px rgba(0,0,0,0.05);
  --mini-card-hover-lift: -2px;
  --mini-accent-rule-height: 1px;
}
[data-mood="gallery"] {
  --mini-rule-weight: 1px;
  --mini-shadow: 0 12px 36px rgba(20,17,12,0.07);
  --mini-card-hover-lift: -3px;
  --mini-accent-rule-height: 1px;
}
[data-mood="editorial"] {
  --mini-rule-weight: 2px;
  --mini-shadow: 0 12px 32px rgba(0,0,0,0.10);
  --mini-card-hover-lift: -4px;
  --mini-accent-rule-height: 3px;
}
[data-mood="noir"] {
  --mini-rule-weight: 1px;
  --mini-shadow: 0 18px 48px rgba(0,0,0,0.28);
  --mini-card-hover-lift: -2px;
  --mini-accent-rule-height: 1px;
}

/* Canvas follows mood */
.theme-minimalist[data-mood] {
  background-color: var(--ts-bg);
  --mini-paper: var(--ts-bg);
  --mini-paper-2: var(--ts-bg-deep);
  --mini-surface: var(--ts-surface);
  --mini-placeholder-bg: var(--ts-faint);
  --mini-hairline: var(--ts-hair);
  --mini-mute: color-mix(in srgb, var(--ts-mute) 70%, var(--ts-ink) 30%);
  --mini-rule-ink: var(--ts-hair);
}

[data-storefront-mode="dark"] .theme-minimalist[data-mood]:not(.preset-noir),
.theme-minimalist.preset-noir[data-mood] {
  --ts-bg: #090D16 !important;
  --ts-bg-deep: #02040B !important;
  --ts-surface: #141821 !important;
  --ts-surface-alt: #1F242E !important;
  --ts-ink: #E8EDF8 !important;
  --ts-ink2: #B8BECB !important;
  --ts-mute: #9AA6BE !important;
  --ts-faint: #485166 !important;
  --ts-hair: rgba(232, 237, 248, 0.2) !important;
  --ts-hair-strong: rgba(232, 237, 248, 0.34) !important;
  --ts-primary: var(--theme-primary-dark-adjusted, #E7EFFE) !important;
  --ts-primary-ink: #0D111B !important;
  --ts-primary-soft: color-mix(in srgb, var(--theme-primary-dark-adjusted, #86A8FF) 24%, #090D16 76%) !important;
  --ts-accent: var(--theme-accent, #AF87E9) !important;
  --ts-accent-soft: rgba(175, 135, 233, 0.18) !important;
  --mini-paper: var(--ts-bg) !important;
  --mini-paper-2: var(--ts-bg-deep) !important;
  --mini-surface: var(--ts-surface) !important;
  --mini-ink: var(--ts-ink) !important;
  --mini-ink-2: var(--ts-ink2) !important;
  --mini-mute: var(--ts-mute) !important;
  --mini-hairline: var(--ts-hair) !important;
  --mini-hairline-strong: var(--ts-hair-strong) !important;
  --mini-placeholder-bg: var(--ts-surface-alt) !important;
  --mini-placeholder-ink: var(--ts-mute) !important;
  --mini-action: var(--theme-action-primary) !important;
  --mini-action-fg: var(--theme-action-primary-fg) !important;
  --mini-action-secondary: var(--ts-primary-soft) !important;
  --mini-action-secondary-fg: var(--ts-ink) !important;
  --mini-coral: var(--ts-accent) !important;
  --mini-rule-ink: var(--ts-hair) !important;
  --mini-shadow: 0 18px 48px rgba(0, 0, 0, 0.28) !important;
  background-color: var(--ts-bg) !important;
  color: var(--ts-ink) !important;
}
