/**
 * JT Landing Blocks – Brand theme (shared tokens)
 * Montserrat headings, Open Sans body.
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@300;400;500;600;700&display=swap');

:root {
  /* Brand colors */
  --jt-brand-primary-bold: #FD8E36;
  --jt-brand-primary-neutral: #FEFEFE;
  --jt-brand-neutral-accent: #EFEBE8;
  --jt-brand-core-color: #769CAF;
  --jt-brand-dark-accent: #01293F;
  --jt-brand-typography-color: #191918;

  /* Typography */
  --jt-font-heading: 'Montserrat', sans-serif;
  --jt-font-body: 'Open Sans', sans-serif;

  --jt-font-size: 16px;
  --jt-font-weight-light: 300;
  --jt-font-weight-normal: 400;
  --jt-font-weight-medium: 500;
  --jt-font-weight-semibold: 600;
  --jt-font-weight-bold: 700;

  /* Spacing (aligned with Tailwind-style scale) */
  --jt-radius: 0.5rem;
  --jt-max-w-7xl: 80rem;
  --jt-max-w-3xl: 48rem;
  --jt-max-w-2xl: 42rem;
}

/* Base typography for block content */
.jt-landing-blocks-wrap h1,
.jt-landing-blocks-wrap h2,
.jt-landing-blocks-wrap h3,
.jt-landing-blocks-wrap h4 {
  font-family: var(--jt-font-heading);
  color: var(--jt-brand-dark-accent);
}

.jt-landing-blocks-wrap h1 {
  font-size: clamp(2rem, 4vw, 3.75rem);
  font-weight: var(--jt-font-weight-bold);
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.jt-landing-blocks-wrap h2 {
  font-size: clamp(1.875rem, 3vw, 2.25rem);
  font-weight: var(--jt-font-weight-semibold);
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.jt-landing-blocks-wrap h3 {
  font-size: 1.25rem;
  font-weight: var(--jt-font-weight-medium);
  line-height: 1.4;
}

.jt-landing-blocks-wrap h4 {
  font-size: 1rem;
  font-weight: var(--jt-font-weight-medium);
  line-height: 1.5;
}

.jt-landing-blocks-wrap p,
.jt-landing-blocks-wrap li {
  font-family: var(--jt-font-body);
  color: var(--jt-brand-typography-color);
}

.jt-landing-blocks-wrap p {
  line-height: 1.625;
}

/* Utility classes for blocks */
.jt-container {
  width: 100%;
  max-width: var(--jt-max-w-7xl);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 1024px) {
  .jt-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.jt-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-family: var(--jt-font-heading);
  font-weight: var(--jt-font-weight-bold);
  font-size: 1rem;
  line-height: 1.5;
  color: #ffffff;
  background-color: var(--jt-brand-primary-bold);
  border: none;
  border-radius: var(--jt-radius);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.2s;
}

.jt-btn-primary:hover {
  opacity: 0.95;
}

.jt-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-family: var(--jt-font-heading);
  font-weight: var(--jt-font-weight-bold);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--jt-brand-dark-accent);
  background-color: transparent;
  border: 2px solid var(--jt-brand-dark-accent);
  border-radius: var(--jt-radius);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}

.jt-btn-outline:hover {
  opacity: 0.9;
}
