/* Retro-game type — Pixelify Sans (UI) + VT323 (body), self-hosted */

@font-face {
  font-family: "Pixelify Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/pixelify-sans/pixelify-sans-latin-ext.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: "Pixelify Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/pixelify-sans/pixelify-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, 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: "VT323";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/vt323/vt323-latin-ext.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: "VT323";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/vt323/vt323-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, 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;
}

:root {
  --pc-font-display: "Pixelify Sans", "Segoe UI", sans-serif;
  --pc-font-body: "VT323", "Courier New", monospace;
  /* Fluid scale — VT323 prefers near-integer px at 16px root */
  --pc-text-body: clamp(1.25rem, 1.1rem + 0.45vw, 1.375rem); /* ~20–22px */
  --pc-text-tagline: clamp(1.2rem, 1.05rem + 0.6vw, 1.55rem); /* ~19–25px */
  --pc-text-hero: clamp(2.75rem, 2rem + 4.5vw, 4.25rem); /* ~44–68px */
  --pc-text-section: clamp(1.75rem, 1.25rem + 2.2vw, 2.75rem); /* ~28–44px */
  --pc-text-button: 1rem;
  --pc-lh-body: 1.5;
  --pc-lh-display: 1.15;
}

/* Kill legacy Weebly <font size> so our scale owns sizing */
font[size] {
  font-size: inherit !important;
}

body,
.paragraph,
div.paragraph,
p,
.wsite-form-radio-container label,
.wsite-com-product-option-label span,
.wsite-form-input,
#content .wsite-search-element-input,
textarea,
.wsite-form-field select,
.wsite-com-product-option select {
  font-family: var(--pc-font-body);
  font-weight: 400;
  font-style: normal;
}

body {
  font-size: var(--pc-text-body);
  line-height: var(--pc-lh-body);
}

/* VT323 body copy */
.paragraph,
div.paragraph,
p,
#wsite-content div.paragraph,
#wsite-content p {
  font-size: var(--pc-text-body) !important;
  line-height: var(--pc-lh-body);
  letter-spacing: 0.01em;
}

h1,
h2,
h3,
#wsite-title,
#banner h2,
.blog-title a,
.wsite-button,
.blog-button,
.wsite-button-inner,
.wsite-menu-default a,
.wsite-menu a,
.wsite-form-label,
.wsite-com-product-title,
.wsite-com-category-subcategory-name-text span,
.wsite-com-category-product-name,
.wsite-search-product-name,
.wsite-product .wsite-product-title,
.blog-date-comments,
.blog-comments-bottom,
#search,
#search .wsite-search-input,
#search-header,
#wsite-search-content h3,
.icons .wsite-nav-cart a {
  font-family: var(--pc-font-display);
  font-style: normal;
}

#wsite-title {
  font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: var(--pc-lh-display);
}

/* Hero brand wordmark */
.pc-hero-title,
.pc-hero-title font,
#banner .pc-hero-title,
#banner .pc-hero-title font {
  font-family: var(--pc-font-display) !important;
  font-size: var(--pc-text-hero) !important;
  font-weight: 700 !important;
  line-height: var(--pc-lh-display) !important;
  letter-spacing: 0.04em;
  text-wrap: balance;
}

.pc-hero-tagline,
.pc-hero-tagline font,
#banner .pc-hero-tagline,
#banner .pc-hero-tagline font {
  font-family: var(--pc-font-display) !important;
  font-size: var(--pc-text-tagline) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.03em;
}

#banner h2 {
  font-size: var(--pc-text-hero);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: var(--pc-lh-display);
  text-wrap: balance;
}

#banner .paragraph {
  font-family: var(--pc-font-display);
  font-weight: 500;
  letter-spacing: 0.03em;
}

/*
 * Section titles (Weebly fake headlines via .pc-reveal + <font>).
 * One size for both lines — no more 48px “WHAT” / 18px “IS PIXEL…”.
 * Body copy uses .pc-type alone (VT323); titles keep .pc-reveal for this scale.
 */
#wsite-content .pc-reveal,
#wsite-content .pc-reveal strong,
#wsite-content .pc-reveal font {
  font-family: var(--pc-font-display) !important;
  font-size: var(--pc-text-section) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: var(--pc-lh-display) !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-wrap: balance;
}

#wsite-content h2,
#contact .pc-contact__title {
  font-size: var(--pc-text-section) !important;
  line-height: var(--pc-lh-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-wrap: balance;
}

#contact .pc-contact__lead {
  font-size: var(--pc-text-tagline) !important;
  line-height: var(--pc-lh-body);
}

#contact .pc-contact__input,
#contact .pc-contact__textarea {
  font-size: var(--pc-text-body) !important;
  line-height: var(--pc-lh-body);
}

#contact .pc-contact__label {
  font-size: 0.875rem;
}

#contact .pc-contact__submit {
  font-size: var(--pc-text-button) !important;
}

#contact .pc-contact__status {
  font-size: var(--pc-text-tagline) !important;
}

.wsite-button-inner,
.wsite-button,
.blog-button,
.wsite-button-small .wsite-button-inner,
.wsite-button-large .wsite-button-inner {
  font-size: var(--pc-text-button) !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.wsite-menu-default a,
.wsite-menu a {
  font-size: clamp(0.95rem, 0.85rem + 0.35vw, 1.05rem);
  letter-spacing: 0.06em;
}

blockquote {
  font-family: var(--pc-font-body);
  font-style: normal;
  font-size: var(--pc-text-body);
  letter-spacing: 0.02em;
  line-height: var(--pc-lh-body);
}
