/*
Theme Name: Sports Zone — Blocksy
Description: Sports Zone typography from the sports-zone reference site.
Template: blocksy
Version: 1.1.0
Text Domain: sportszone-blocksy
*/

@font-face { font-family: 'Satoshi'; src: url('fonts/Satoshi-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fonts/Satoshi-Italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fonts/Satoshi-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fonts/Satoshi-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fonts/Satoshi-BoldItalic.woff2') format('woff2'); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('fonts/Satoshi-Black.woff2') format('woff2'); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Knockout'; src: url('fonts/Knockout-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Knockout'; src: url('fonts/Knockout-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Knockout Outline'; src: url('fonts/Knockout-Outline.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

:root {
  --sz-font-body: 'Satoshi', ui-sans-serif, system-ui, sans-serif;
  --sz-font-display: 'Knockout', 'Arial Narrow', sans-serif;
  --sz-font-outline: 'Knockout Outline', 'Knockout', sans-serif;
  --theme-font-family: var(--sz-font-body);
  --theme-font-weight: 400;
  --theme-font-size: 16px;
  --theme-line-height: 1.6;
  --theme-heading-font-family: var(--sz-font-display);
  --theme-heading-font-weight: 700;
  --theme-heading-text-transform: uppercase;
  --theme-heading-letter-spacing: -0.01em;
  --theme-heading-line-height: 1.05;
  --theme-button-font-family: var(--sz-font-body);
  --theme-button-font-weight: 700;
}

body {
  font-family: var(--sz-font-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :is(h1, h2, h3, h4, h5, h6),
.editor-styles-wrapper :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--sz-font-display) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.05;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

body h1 { font-size: clamp(1.8rem, 4.5vw, 3.5rem); line-height: 0.95; }
body h2 { font-size: clamp(1.4rem, 3vw, 2.25rem); }
body h3 { font-size: clamp(1.125rem, 2vw, 1.5rem); }

body :is(input, select, textarea, button, .button, .ct-menu-link, .site-description),
.editor-styles-wrapper {
  font-family: var(--sz-font-body);
}

body :is(p, label, .price, .woocommerce-breadcrumb, .woocommerce-product-details__short-description) {
  font-family: var(--sz-font-body);
}

body p { text-wrap: pretty; }

/* Long catalog titles remain readable at card size. */
body .woocommerce-loop-product__title,
body .wc-block-components-product-name {
  font-family: var(--sz-font-body) !important;
  font-weight: 700;
  text-transform: none;
  line-height: 1.35;
  letter-spacing: normal;
}

.sz-type-display { font-family: var(--sz-font-display); font-weight: 700; text-transform: uppercase; line-height: .95; letter-spacing: -.01em; text-wrap: balance; }
.sz-type-outline { font-family: var(--sz-font-outline); font-weight: 400; text-transform: uppercase; line-height: .9; }
.sz-type-eyebrow { font-family: var(--sz-font-body); font-size: .75rem; font-weight: 700; text-transform: uppercase; line-height: 1rem; letter-spacing: .22em; }

.sz-brand-logo { display: inline-block; width: 182px; max-width: 100%; line-height: 0; }
.sz-brand-logo img { display: block; width: 100%; height: auto; }
