/**
 * Theme Name: Tested in Use Editorial
 * Theme URI: https://testedinuse.com/
 * Description: A modern editorial block theme for independent software and AI reviews.
 * Version: 1.0.4
 * Author: Tested in Use
 * Requires at least: 6.6
 * Requires PHP: 8.0
 * Text Domain: testedinuse-editorial
 * License: GNU General Public License v2.0 or later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 */

:root {
  --tiu-ink: #081725;
  --tiu-navy: #103b52;
  --tiu-blue: #16749a;
  --tiu-cyan: #42c6e8;
  --tiu-paper: #fcfcfa;
  --tiu-mist: #f1f5f7;
  --tiu-line: #d9e2e7;
  --tiu-muted: #53636f;
  --tiu-shadow: 0 18px 50px rgba(8, 23, 37, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; text-rendering: optimizeLegibility; }
body, button, input, textarea, select { -webkit-font-smoothing: antialiased; }
img { height: auto; max-width: 100%; }
a { text-underline-offset: .2em; }
:focus-visible { outline: 3px solid var(--tiu-cyan); outline-offset: 3px; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }

.site-header { background: rgba(252,252,250,.96); border-bottom: 1px solid var(--tiu-line); position: relative; z-index: 20; }
.site-header__inner { min-height: 82px; padding: 0 24px; }
.site-wordmark a { align-items: center; color: var(--tiu-ink); display: inline-flex; font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 820; gap: .65rem; letter-spacing: -.045em; text-decoration: none; }
.site-wordmark a::before { background: url("assets/images/tested-in-use-mark.svg") center / contain no-repeat; content: ""; display: block; flex: 0 0 auto; height: 2rem; width: 2rem; }
.site-navigation { font-size: .91rem; font-weight: 650; }
.site-navigation a { color: var(--tiu-ink); padding: .75rem .3rem; text-decoration: none; }
.site-navigation a:hover { color: var(--tiu-blue); }

.tiu-main { margin: 0; }
.tiu-section { padding: clamp(4rem, 8vw, 7.5rem) 24px; }
.tiu-section--compact { padding-block: clamp(3rem, 6vw, 5rem); }
.tiu-section--mist { background: var(--tiu-mist); }
.tiu-section--ink { background: var(--tiu-ink); color: white; }
.tiu-shell { margin-inline: auto; max-width: 1180px; }
.tiu-copy { max-width: 720px; }
.tiu-kicker { color: var(--tiu-blue); font-size: .76rem; font-weight: 800; letter-spacing: .14em; margin: 0 0 1rem; text-transform: uppercase; }
.tiu-section--ink .tiu-kicker { color: var(--tiu-cyan); }
.tiu-display { font-size: clamp(3.15rem, 7.8vw, 7rem); letter-spacing: -.065em; line-height: .91; margin: 0; max-width: 10.5ch; text-wrap: balance; }
.tiu-page-title { font-size: clamp(2.8rem, 6vw, 5.3rem); letter-spacing: -.055em; margin: 0; max-width: 14ch; text-wrap: balance; }
.tiu-lede { color: var(--tiu-muted); font-size: clamp(1.12rem, 1.7vw, 1.38rem); line-height: 1.55; max-width: 650px; }
.tiu-section--ink .tiu-lede { color: #c9d6dc; }

.tiu-hero { padding: clamp(3.5rem, 7vw, 7rem) 24px clamp(4rem, 8vw, 8rem); }
.tiu-hero__grid { align-items: center; display: grid; gap: clamp(2.5rem, 6vw, 7rem); grid-template-columns: minmax(0, .86fr) minmax(440px, 1.14fr); }
.tiu-hero__copy { position: relative; z-index: 2; }
.tiu-hero__visual { background: var(--tiu-ink); border-radius: 2px; box-shadow: var(--tiu-shadow); min-height: 560px; overflow: hidden; position: relative; }
.tiu-hero__visual img { height: 100%; inset: 0; object-fit: cover; object-position: 58% center; position: absolute; width: 100%; }
.tiu-hero__visual::after { background: linear-gradient(180deg, transparent 60%, rgba(8,23,37,.52)); content: ""; inset: 0; position: absolute; }
.tiu-hero__caption { bottom: 1.4rem; color: #dce9ee; font-family: var(--wp--preset--font-family--mono); font-size: .69rem; left: 1.4rem; letter-spacing: .08em; position: absolute; text-transform: uppercase; z-index: 1; }
.tiu-hero .wp-block-buttons { margin-top: 2rem; }
.wp-block-button__link { transition: background .18s ease, transform .18s ease; }
.wp-block-button__link:hover { background: var(--tiu-blue); transform: translateY(-1px); }
.is-style-outline .wp-block-button__link { border-color: currentColor; }

.tiu-proof { border-bottom: 1px solid var(--tiu-line); border-top: 1px solid var(--tiu-line); }
.tiu-proof__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.tiu-proof__item { min-height: 240px; padding: clamp(2rem, 4vw, 3.5rem); }
.tiu-proof__item + .tiu-proof__item { border-left: 1px solid var(--tiu-line); }
.tiu-proof__number { color: var(--tiu-blue); font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 700; }
.tiu-proof h2, .tiu-proof h3 { font-size: clamp(1.3rem, 2vw, 1.75rem); margin: 2.6rem 0 .75rem; }
.tiu-proof p { color: var(--tiu-muted); font-size: .98rem; margin-bottom: 0; }

.tiu-split { align-items: center; display: grid; gap: clamp(3rem, 7vw, 8rem); grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr); }
.tiu-split--reverse { grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); }
.tiu-media-frame { aspect-ratio: 4 / 5; background: var(--tiu-ink); overflow: hidden; }
.tiu-media-frame--wide { aspect-ratio: 16 / 10; }
.tiu-media-frame--method { aspect-ratio: 4 / 3; box-shadow: var(--tiu-shadow); }
.tiu-media-frame img { height: 100%; object-fit: cover; width: 100%; }
.tiu-section-heading { font-size: clamp(2.3rem, 5vw, 4.5rem); margin: 0 0 1.5rem; max-width: 13ch; }

.tiu-process { counter-reset: process; margin: 2.5rem 0 0; }
.tiu-process__item { border-top: 1px solid var(--tiu-line); display: grid; gap: 1.5rem; grid-template-columns: 72px 1fr; padding: 1.6rem 0; }
.tiu-process__item:last-child { border-bottom: 1px solid var(--tiu-line); }
.tiu-process__item::before { color: var(--tiu-blue); content: "0" counter(process); counter-increment: process; font-family: var(--wp--preset--font-family--mono); font-size: .78rem; font-weight: 800; padding-top: .3rem; }
.tiu-process__item h3 { font-size: 1.25rem; margin: 0 0 .35rem; }
.tiu-process__item p { color: var(--tiu-muted); margin: 0; }

.tiu-stat-band { background: var(--tiu-ink); color: white; }
.tiu-stat-band__grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); }
.tiu-stat-band__intro, .tiu-stat { padding: clamp(2rem, 4vw, 3.5rem); }
.tiu-stat + .tiu-stat, .tiu-stat-band__intro + .tiu-stat { border-left: 1px solid rgba(255,255,255,.16); }
.tiu-stat strong { display: block; font-size: clamp(1.35rem, 2vw, 1.8rem); margin-bottom: .5rem; }
.tiu-stat span { color: #b9cbd3; font-size: .92rem; }

.tiu-post-grid .wp-block-post-template { display: grid; gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tiu-post-card { border-top: 3px solid var(--tiu-ink); height: 100%; padding-top: 1rem; }
.tiu-post-card .wp-block-post-featured-image { aspect-ratio: 16/10; margin-bottom: 1.25rem; overflow: hidden; }
.tiu-post-card .wp-block-post-featured-image img { height: 100%; object-fit: cover; transition: transform .35s ease; }
.tiu-post-card:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.tiu-post-card .wp-block-post-title { font-size: 1.45rem; margin: .6rem 0; }
.tiu-post-card .wp-block-post-title a { color: var(--tiu-ink); text-decoration: none; }
.tiu-post-card .wp-block-post-excerpt { color: var(--tiu-muted); font-size: .96rem; }
.tiu-meta { color: var(--tiu-muted); font-family: var(--wp--preset--font-family--mono); font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.tiu-empty { border: 1px solid var(--tiu-line); padding: 2rem; }
.tiu-affiliate-cta { background: var(--tiu-mist); border-left: 4px solid var(--tiu-cyan); margin-block: 3rem; padding: clamp(1.5rem, 4vw, 2.5rem); }
.tiu-affiliate-cta h2 { margin-top: 0; }
.tiu-affiliate-cta .has-small-font-size { color: var(--tiu-muted); }

.tiu-cta { align-items: end; display: grid; gap: 3rem; grid-template-columns: 1fr auto; }
.tiu-cta h2 { color: white; font-size: clamp(2.3rem, 5vw, 4.7rem); margin: 0; max-width: 14ch; }
.tiu-cta p { color: #bfd0d7; max-width: 600px; }
.tiu-cta .wp-block-button__link { background: var(--tiu-cyan); color: var(--tiu-ink); }

.tiu-page-hero { border-bottom: 1px solid var(--tiu-line); padding: clamp(4rem, 8vw, 8rem) 24px; }
.tiu-page-hero--dark { background: var(--tiu-ink); color: white; }
.tiu-page-hero--dark .tiu-lede { color: #c4d2d8; }
.tiu-prose { font-size: 1.08rem; }
.tiu-prose > h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); margin-top: 3.6rem; }
.tiu-prose > h3 { font-size: 1.3rem; margin-top: 2.4rem; }
.tiu-prose > p, .tiu-prose > ul { color: #283a46; }
.tiu-prose .tiu-callout { background: var(--tiu-mist); border-left: 4px solid var(--tiu-blue); padding: 1.5rem; }

.tiu-contact-grid { align-items: start; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: .72fr 1.28fr; }
.tiu-contact-aside { position: sticky; top: 2rem; }
.tiu-contact-form { background: white; border: 1px solid var(--tiu-line); box-shadow: 0 16px 46px rgba(8,23,37,.06); padding: clamp(1.5rem, 4vw, 3.5rem); }
.tiu-contact-form .wpforms-container { margin: 0; }
.tiu-contact-form .wpforms-field { padding: 0 0 1.25rem !important; }
.tiu-contact-form input, .tiu-contact-form textarea, .tiu-contact-form select { background: white !important; border: 1px solid #aebdc5 !important; border-radius: 2px !important; font-size: 1rem !important; min-height: 48px; padding: .8rem !important; }
.tiu-contact-form input:focus, .tiu-contact-form textarea:focus { border-color: var(--tiu-blue) !important; box-shadow: 0 0 0 3px rgba(66,198,232,.28) !important; outline: none !important; }
.tiu-contact-form button[type=submit] { background: var(--tiu-navy) !important; border: 0 !important; border-radius: 3px !important; color: white !important; font-weight: 750 !important; min-height: 48px; padding: .8rem 1.35rem !important; }

.tiu-faq { border-top: 1px solid var(--tiu-line); }
.tiu-faq details { border-bottom: 1px solid var(--tiu-line); padding: 1.25rem 0; }
.tiu-faq summary { cursor: pointer; font-size: 1.12rem; font-weight: 720; list-style-position: outside; }
.tiu-faq details p { color: var(--tiu-muted); max-width: 760px; }

.tiu-article-header { padding: clamp(4rem, 8vw, 8rem) 24px 3rem; }
.tiu-article-title { font-size: clamp(2.7rem, 6vw, 5.5rem); margin: 0 0 1.5rem; max-width: 15ch; }
.tiu-disclosure { background: #e9f5f8; border-left: 4px solid var(--tiu-blue); color: #203641; font-size: .88rem; margin: 2rem auto; max-width: 760px; padding: 1rem 1.25rem; }
.tiu-article-content { padding: 1rem 24px 6rem; }
.tiu-article-content :where(h2,h3) { scroll-margin-top: 2rem; }
.tiu-article-content h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-top: 3.5rem; }
.tiu-article-content h3 { font-size: 1.35rem; margin-top: 2.5rem; }
.tiu-article-content p, .tiu-article-content li { color: #263945; }
.tiu-article-content blockquote { border-left: 4px solid var(--tiu-cyan); font-size: 1.35rem; margin: 2.5rem 0; padding-left: 1.5rem; }
.tiu-author-box { border-top: 1px solid var(--tiu-line); margin-top: 4rem; padding-top: 2rem; }

.tiu-search-form .wp-block-search__inside-wrapper { border: 1px solid #aebdc5; min-height: 52px; }
.tiu-search-form .wp-block-search__button { background: var(--tiu-navy); color: white; }

.site-footer { background: var(--tiu-ink); color: white; padding: 4rem 24px 2rem; }
.site-footer__grid { gap: 3rem; }
.site-footer__title a { align-items: center; color: white; display: inline-flex; font-size: 1.45rem; font-weight: 800; gap: .65rem; text-decoration: none; }
.site-footer__title a::before { background: url("assets/images/tested-in-use-mark-reverse.svg") center / contain no-repeat; content: ""; display: block; flex: 0 0 auto; height: 2rem; width: 2rem; }
.site-footer__tagline { color: #aec3cc; margin: .4rem 0 0; }
.tiu-social-links { gap: .55rem; margin-top: 1.25rem; }
.tiu-social-links .wp-social-link { transition: background .18s ease, transform .18s ease; }
.tiu-social-links .wp-social-link:hover { background: var(--tiu-cyan) !important; transform: translateY(-2px); }
.tiu-social-links .wp-social-link:hover svg { color: var(--tiu-ink); fill: var(--tiu-ink); }
.footer-navigation { max-width: 680px; }
.footer-navigation a { color: #d7e2e7; font-size: .88rem; text-decoration: none; }
.footer-navigation a:hover { color: var(--tiu-cyan); }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.15); color: #90a8b3; font-size: .76rem; margin-top: 3rem; padding-top: 1.5rem; }

@media (max-width: 900px) {
  .tiu-hero__grid, .tiu-split, .tiu-split--reverse, .tiu-contact-grid { grid-template-columns: 1fr; }
  .tiu-hero__visual { min-height: 420px; }
  .tiu-contact-aside { position: static; }
  .tiu-post-grid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiu-stat-band__grid { grid-template-columns: repeat(2, 1fr); }
  .tiu-stat:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .tiu-stat:nth-child(4) { border-top: 1px solid rgba(255,255,255,.16); }
  .tiu-cta { align-items: start; grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .site-header__inner { min-height: 68px; padding-inline: 18px; }
  .tiu-section, .tiu-hero, .tiu-page-hero, .tiu-article-header, .tiu-article-content { padding-inline: 20px; }
  .tiu-display { font-size: clamp(2.8rem, 15vw, 4.5rem); }
  .tiu-hero__visual { min-height: 330px; }
  .tiu-proof__grid, .tiu-stat-band__grid, .tiu-post-grid .wp-block-post-template { grid-template-columns: 1fr; }
  .tiu-proof__item { min-height: auto; }
  .tiu-proof__item + .tiu-proof__item { border-left: 0; border-top: 1px solid var(--tiu-line); }
  .tiu-proof h2, .tiu-proof h3 { margin-top: 1.2rem; }
  .tiu-stat + .tiu-stat, .tiu-stat-band__intro + .tiu-stat { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .tiu-process__item { grid-template-columns: 46px 1fr; }
  .site-footer__grid { align-items: flex-start !important; flex-direction: column; }
  .footer-navigation .wp-block-navigation__container { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
