:root {
  --koco-font-heading: 'Libre Baskerville', serif;
  --koco-font-body: 'Inconsolata', monospace;

  --koco-text-base: 16px;
  --koco-text-small: 14px;
  --koco-h1: 42px;
  --koco-h2: 32px;
  --koco-h3: 24px;
  --koco-h4: 20px;

  --koco-lh-body: 1.6;
  --koco-lh-h1: 1.15;
  --koco-lh-h2: 1.2;
  --koco-lh-h3: 1.25;
  --koco-lh-h4: 1.3;
  --koco-lh-small: 1.5;

  --koco-letterspacing-ui: 0.04em;

  --koco-container: 1200px;
  --koco-reading-width: 720px;

  --koco-section-y: 80px;
  --koco-section-y-mobile: 48px;
  --koco-gap: 24px;
  --koco-gap-large: 40px;

  --koco-btn-py: 14px;
  --koco-btn-px: 22px;
  --koco-btn-min-h: 46px;

  --koco-color-text: #1f1a17;
  --koco-color-muted: #6c645d;
  --koco-color-border: rgba(31,26,23,.14);
  --koco-color-bg: #f8f5f1;
  --koco-color-surface: #ffffff;
  --koco-color-accent: #2a211d;
  --koco-color-accent-contrast: #ffffff;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--koco-font-body);
  font-size: var(--koco-text-base);
  line-height: var(--koco-lh-body);
  color: var(--koco-color-text);
  background: var(--koco-color-bg);
}

h1, h2, h3, h4, h5, h6,
.brxe-heading,
.woocommerce div.product .product_title,
.single-product .entry-title {
  font-family: var(--koco-font-heading);
  letter-spacing: 0;
  color: var(--koco-color-text);
  margin: 0 0 0.5em;
}

h1, .single-product .entry-title { font-size: var(--koco-h1); line-height: var(--koco-lh-h1); }
h2 { font-size: var(--koco-h2); line-height: var(--koco-lh-h2); }
h3 { font-size: var(--koco-h3); line-height: var(--koco-lh-h3); }
h4 { font-size: var(--koco-h4); line-height: var(--koco-lh-h4); }

p, li, input, textarea, select, label, .woocommerce, .brxe-text-basic {
  font-family: var(--koco-font-body);
  font-size: var(--koco-text-base);
  line-height: var(--koco-lh-body);
}

small,
.label,
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .product_meta,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .quantity,
.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.brxe-button,
.bricks-button,
nav,
header,
.menu,
[class*="label"],
[class*="meta"] {
  font-family: var(--koco-font-body);
  letter-spacing: var(--koco-letterspacing-ui);
}

small,
.woocommerce .product_meta,
.woocommerce .woocommerce-breadcrumb {
  font-size: var(--koco-text-small);
  line-height: var(--koco-lh-small);
  color: var(--koco-color-muted);
}

a {
  color: inherit;
  text-underline-offset: 0.14em;
}

img {
  max-width: 100%;
  height: auto;
}

.brxe-container,
.container,
.site-content,
.woocommerce .content-area,
.woocommerce-page .content-area {
  max-width: var(--koco-container);
}

.section-standard {
  padding-top: var(--koco-section-y);
  padding-bottom: var(--koco-section-y);
}

.section-tight {
  padding-top: calc(var(--koco-section-y) * .6);
  padding-bottom: calc(var(--koco-section-y) * .6);
}

.section-large {
  padding-top: calc(var(--koco-section-y) * 1.25);
  padding-bottom: calc(var(--koco-section-y) * 1.25);
}

.text-narrow,
.container-narrow {
  max-width: var(--koco-reading-width);
}

.stack-default {
  display: flex;
  flex-direction: column;
  gap: var(--koco-gap);
}

.stack-large {
  display: flex;
  flex-direction: column;
  gap: var(--koco-gap-large);
}

.label-mono,
.eyebrow,
.text-muted {
  font-family: var(--koco-font-body);
  letter-spacing: var(--koco-letterspacing-ui);
  font-size: var(--koco-text-small);
}

.text-muted {
  color: var(--koco-color-muted);
}

.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.brxe-button,
.bricks-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.btn-primary,
.button-primary {
  font-family: var(--koco-font-body);
  min-height: var(--koco-btn-min-h);
  padding: var(--koco-btn-py) var(--koco-btn-px);
  border-radius: 0;
  border: 1px solid var(--koco-color-accent);
  background: var(--koco-color-accent);
  color: var(--koco-color-accent-contrast);
  text-decoration: none;
  box-shadow: none;
}

.btn-secondary {
  min-height: var(--koco-btn-min-h);
  padding: var(--koco-btn-py) var(--koco-btn-px);
  border: 1px solid var(--koco-color-border);
  background: transparent;
  color: var(--koco-color-text);
}

.woocommerce div.product form.cart,
.woocommerce div.product .summary,
.woocommerce div.product .woocommerce-product-details__short-description {
  display: grid;
  gap: var(--koco-gap);
}

.woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .up-sells {
  margin-top: var(--koco-gap-large);
}

@media (max-width: 991px) {
  :root {
    --koco-h1: 36px;
    --koco-h2: 28px;
    --koco-h3: 22px;
    --koco-h4: 19px;
    --koco-section-y: 64px;
  }
}

@media (max-width: 767px) {
  :root {
    --koco-h1: 32px;
    --koco-h2: 26px;
    --koco-h3: 21px;
    --koco-h4: 18px;
    --koco-section-y: var(--koco-section-y-mobile);
    --koco-gap-large: 32px;
  }
}
