/*
Theme Name: Tech Tip Guru
Theme URI: https://www.techtipguru.com/
Author: TechTipGuru LLC
Description: Native block theme for the Tech Tip Guru company hub and Firm Foundation Digital services.
Version: 0.6.1
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: techtipguru
*/

/* Most styling lives in theme.json so it is shared with the Site Editor. */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: 0.2em; text-decoration-thickness: 0.08em; }
a:hover { text-decoration-thickness: 0.14em; }
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--wp--preset--color--navy);
  outline-offset: 4px;
}
.has-navy-background-color :where(a, button, input, textarea, select, summary):focus-visible {
  outline-color: var(--wp--preset--color--lime);
}
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1; }
.wp-site-blocks > header, .wp-site-blocks > footer { margin-block-start: 0; }
.ttg-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.ttg-header__inner { min-height: 100px; }
.ttg-wordmark { margin: 0; flex: 0 1 260px; }
.ttg-wordmark img { display: block; width: 260px; }
.ttg-header .wp-block-navigation { gap: 1.5rem; }
.ttg-header .wp-block-navigation a { padding-block: 0.5rem; }
.ttg-header .wp-block-navigation-item__content:hover { text-decoration: underline; }
.ttg-header .wp-block-navigation-item:last-child > .wp-block-navigation-item__content { padding: 0.65rem 1.1rem; background: var(--wp--preset--color--navy); color: white; }
.ttg-header .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--navy-deep); text-decoration: none; }
.ttg-header :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) { min-width: 44px; min-height: 44px; }
.ttg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 44px; padding: 0.65rem 1.1rem; }
.ttg-footer a { color: inherit; }
.ttg-footer .wp-block-site-title { font-weight: 750; }
.ttg-footer__brand { max-width: 32rem; }
.ttg-footer__nav { text-align: right; }
.ttg-footer__nav p { margin-block: 0; }
.ttg-footer__nav a { display: inline-block; min-height: 44px; padding-block: 0.6rem; }
.ttg-footer__nav a:hover { color: var(--wp--preset--color--lime); }
.ttg-eyebrow { font-size: 0.8125rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.ttg-accent-rule { height: 4px; width: 72px; border: 0; background: var(--wp--preset--color--lime); margin-inline: 0; }
.ttg-brand-card { height: 100%; border: 1px solid var(--wp--preset--color--line); border-top: 4px solid var(--wp--preset--color--lime); }
.ttg-brand-card--music { border-top-color: #b58128; }
.ttg-brand-card--game { border-top-color: #265e8b; }
.ttg-brand-card > :first-child { margin-block-start: 0; }
.ttg-brand-card > :last-child { margin-block-end: 0; }
.ttg-services-intro { position: relative; overflow: hidden; }
.ttg-services-intro::before { content: ''; position: absolute; right: 0; top: 0; width: 12px; height: 100%; background: var(--wp--preset--color--lime); }
.wp-block-button__link { transition: background-color 160ms ease, color 160ms ease; }
.wp-block-button__link:hover { background-color: var(--wp--preset--color--navy-deep); color: var(--wp--preset--color--white); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--white); }
.wp-block-post-content :where(iframe, video) { max-width: 100%; }
.wp-block-post-content :where(pre) { overflow-x: auto; }
.wp-block-post-content :where(table) { overflow-wrap: normal; }
.wp-block-query-pagination { margin-block: 2.5rem; }
.wp-block-query-pagination :where(a, .page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0.45rem 0.65rem; }
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--navy); color: white; }
.ttg-resource-browse { margin-block-end: 2rem; line-height: 2; }
.ttg-resource-browse a { display: inline-block; padding: 0.25rem; }
.ttg-resources-grid .wp-block-post { display: flex; flex-direction: column; align-items: stretch; }
.ttg-resources-grid .wp-block-post-featured-image { margin-bottom: 0.75rem; }
.ttg-resources-grid .wp-block-post-title { margin-block: 0.75rem; }
.ttg-resource-categories { line-height: 1.6; color: var(--wp--preset--color--green-dark); }
.ttg-resource-categories a { color: inherit; }
.ttg-article-cta { margin-block: 2.5rem; padding: clamp(1.25rem, 3vw, 2rem); background: var(--wp--preset--color--canvas); border-left: 4px solid var(--wp--preset--color--lime); }
.ttg-article-cta > :first-child { margin-block-start: 0; }
.ttg-article-cta > :last-child { margin-block-end: 0; }
.ttg-article-cta h3 { font-size: 1.4rem; }
.ttg-article-cta .wp-block-button__link { font-size: 1rem; }
.ttg-article-taxonomy { margin-block-start: 2rem; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.wp-block-search__input { min-width: 0; border: 1px solid var(--wp--preset--color--muted); border-radius: 2px; padding: 0.75rem; }
.wp-block-search__button { cursor: pointer; }
@media (max-width: 781px) {
  .ttg-header__inner { min-height: 84px; gap: 1rem; }
  .ttg-wordmark { flex-basis: 210px; }
  .ttg-wordmark img { width: 210px; }
  .ttg-brand-card { height: auto; }
  .ttg-footer__nav { text-align: left; }
}
@media (max-width: 599px) {
  .ttg-header__inner { flex-wrap: nowrap; }
  .ttg-wordmark { flex-basis: 190px; }
  .ttg-wordmark img { width: 190px; }
  .ttg-header .wp-block-navigation__responsive-container-open { padding: 0.5rem; }
  .ttg-services-intro::before { width: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
