/*
Theme Name: Steve Billmaier
Theme URI: https://stevebillmaier.com
Author: OpenAI
Description: A restrained, editorial block theme for SteveBillmaier.com — leadership, strategy, writing, and projects.
Version: 1.3.1
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: stevebillmaier
*/

:root {
  --sb-shadow: 0 14px 45px rgba(16, 31, 47, .08);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }

.sb-kicker { letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.sb-card { border: 1px solid var(--wp--preset--color--mist); border-radius: 18px; box-shadow: var(--sb-shadow); overflow: hidden; }
.sb-rule { width: 72px; height: 2px; background: var(--wp--preset--color--gold); }
.sb-muted { color: var(--wp--preset--color--slate); }
.sb-eyebrow { letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; font-weight: 700; color: var(--wp--preset--color--gold-dark); }
.sb-footer a { text-decoration: none; }
.sb-footer a:hover { text-decoration: underline; }
.sb-hero { min-height: 72vh; display: flex; align-items: center; }
.sb-project-grid .wp-block-group { height: 100%; }
.wp-block-post-title a, .wp-block-post-excerpt__more-link { text-decoration: none; }
.wp-block-post-title a:hover, .wp-block-post-excerpt__more-link:hover { text-decoration: underline; }

@media (max-width: 781px) {
  .sb-hero {
    min-height: auto;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  /* Keep the editorial hero strong without forcing one- or two-word lines on phones. */
  .sb-hero h1.has-xx-large-font-size {
    font-size: clamp(2.55rem, 12vw, 4.25rem) !important;
    line-height: 0.98;
    letter-spacing: -0.025em;
    overflow-wrap: normal;
    word-break: normal;
  }

  .sb-hero .has-large-font-size {
    font-size: clamp(1.1rem, 4.8vw, 1.35rem) !important;
    line-height: 1.5;
  }

  .sb-hero .wp-block-columns {
    gap: 2.25rem;
  }

  .sb-hero .wp-block-column {
    flex-basis: 100% !important;
  }

  .sb-hero .sb-card {
    border-radius: 14px;
  }
}

@media (max-width: 480px) {
  .sb-hero {
    padding-top: 34px !important;
    padding-bottom: 40px !important;
  }

  .sb-hero h1.has-xx-large-font-size {
    font-size: clamp(2rem, 9.1vw, 2.65rem) !important;
    line-height: 1.03;
    letter-spacing: -0.02em;
    max-width: 100%;
  }

  .sb-hero .has-large-font-size {
    font-size: 1.05rem !important;
    line-height: 1.45;
  }

  .sb-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.09em;
  }
}


/* V1.3 homepage refinement */
.sb-dark-section a,
.sb-dark-section .wp-block-post-title a,
.sb-dark-section .wp-block-read-more,
footer a,
.wp-block-template-part footer a {
  color: #f7f3e8 !important;
}

.sb-dark-section a:hover,
footer a:hover,
.wp-block-template-part footer a:hover {
  color: #d3a653 !important;
}

@media (max-width: 781px) {
  /* Supporting copy should support, not compete with, display headings. */
  .sb-lead,
  .sb-section-lead,
  .sb-cta-copy {
    font-size: clamp(1.25rem, 5.2vw, 1.55rem) !important;
    line-height: 1.48 !important;
  }

  .sb-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .sb-card {
    padding: 36px !important;
  }
}

@media (max-width: 480px) {
  .sb-lead,
  .sb-section-lead,
  .sb-cta-copy {
    font-size: 1.22rem !important;
    line-height: 1.5 !important;
  }

  .sb-section {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .sb-card {
    padding: 28px !important;
  }

  footer,
  .wp-block-template-part footer {
    font-size: 0.98rem;
  }
}

/* V1.3.1: force accessible contrast for dynamic post links on dark sections.
   WordPress applies link colors inside Query/Post blocks more specifically than
   the surrounding text color, so target the generated block classes directly. */
.has-ink-background-color .wp-block-post-title,
.has-ink-background-color .wp-block-post-title a,
.has-ink-background-color .wp-block-post-title a:visited {
  color: #F7F3E8 !important;
}

.has-ink-background-color .wp-block-post-excerpt__more-link,
.has-ink-background-color .wp-block-post-excerpt__more-link:visited {
  color: #D3A653 !important;
  text-decoration-color: #D3A653 !important;
}

.has-ink-background-color .wp-block-post-title a:hover,
.has-ink-background-color .wp-block-post-excerpt__more-link:hover {
  color: #E2BC72 !important;
}
