/*
Theme Name: AIEntityForge
Theme URI: https://aientityforge.com/
Author: AIEntityForge
Description: Editorial block theme for entity-led SEO and standard WordPress REST publishing.
Version: 0.1.5
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aientityforge
Tags: block-patterns, full-site-editing, blog, custom-colors, featured-images
*/

:root {
  --aief-navy: #081a31;
  --aief-navy-soft: #102b4b;
  --aief-ink: #16243a;
  --aief-muted: #52637a;
  --aief-paper: #f5f7fb;
  --aief-white: #ffffff;
  --aief-blue: #3d68ff;
  --aief-cyan: #4bd9d0;
  --aief-amber: #f2a948;
  --aief-line: #dbe3ef;
  --aief-shadow: 0 20px 60px rgba(8, 26, 49, 0.09);
}

body { background: var(--aief-paper); }
.site-header { background: radial-gradient(circle at 12% 0%, rgba(75,217,208,.18), transparent 29rem), linear-gradient(130deg, var(--aief-navy), var(--aief-navy-soft)); border-bottom: 1px solid rgba(255,255,255,.12); box-shadow: 0 7px 28px rgba(8,26,49,.12); position: relative; z-index: 2; }
.site-header .wp-block-site-title, .site-header .wp-block-site-title a, .site-header .wp-block-site-tagline, .site-header .wp-block-navigation-item__content, .aief-primary-navigation a { color: var(--aief-white); }
.site-header .wp-block-site-logo a, .aief-footer .wp-block-site-logo a, .aief-default-logo { display: block; line-height: 0; }
.site-header .wp-block-site-logo img, .site-header .aief-default-logo img { border: 1px solid rgba(255,255,255,.26); border-radius: .55rem; box-shadow: 0 8px 20px rgba(0,0,0,.2); height: 38px; object-fit: contain; width: auto; }
.site-header .wp-block-site-title { font-family: Georgia, 'Times New Roman', serif; font-size: 1.38rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.05; }
.site-header .wp-block-site-title a, .wp-block-post-content a, .aief-query-card .wp-block-post-title a { text-decoration: none; }
.site-header .wp-block-site-tagline { color: rgba(255,255,255,.76); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.site-header .wp-block-navigation-item__content { border-radius: 999px; font-size: .84rem; font-weight: 700; padding: .45rem .7rem; }
.site-header .wp-block-navigation-item__content:hover, .site-header .wp-block-navigation-item__content:focus-visible, .site-header .current-menu-item .wp-block-navigation-item__content { background: rgba(75,217,208,.13); color: var(--aief-cyan); outline: none; }
.aief-primary-navigation { align-items: center; display: flex; flex-wrap: wrap; gap: .25rem; justify-content: flex-end; }
.aief-primary-navigation a { border-radius: 999px; font-size: .84rem; font-weight: 700; padding: .45rem .7rem; text-decoration: none; }
.aief-primary-navigation a:hover, .aief-primary-navigation a:focus-visible { background: rgba(75,217,208,.13); color: var(--aief-cyan); outline: none; }

.aief-hero { background: radial-gradient(circle at 92% 11%, rgba(75,217,208,.2), transparent 25rem), linear-gradient(135deg, var(--aief-navy), #0d3158); border-radius: 0 0 2.25rem 2.25rem; color: var(--aief-white); }
.aief-eyebrow, .aief-label { color: var(--aief-cyan); font-size: .76rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.aief-hero h1, .article-shell .wp-block-post-title, .aief-archive-header .wp-block-query-title, .aief-search-header .wp-block-query-title, .aief-404-title { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.045em; }
.aief-hero h1 { color: var(--aief-white); font-size: clamp(2.6rem, 6vw, 5.1rem); line-height: .98; }
.aief-hero .wp-block-button__link { background: var(--aief-cyan); border-radius: 999px; color: var(--aief-navy); font-weight: 750; padding: .82rem 1.2rem; }
.aief-hero .is-style-outline .wp-block-button__link { background: transparent; border-color: rgba(255,255,255,.55); color: var(--aief-white); }

.article-shell { background: var(--aief-white); border: 1px solid var(--aief-line); border-radius: 1.35rem; box-shadow: var(--aief-shadow); }
.article-shell .wp-block-post-title { color: var(--aief-navy); font-size: clamp(2.15rem, 4.4vw, 4rem); line-height: 1.04; margin-bottom: .8rem; }
.article-shell .wp-block-post-featured-image img { border-radius: .9rem; max-height: 34rem; object-fit: cover; width: 100%; }
.aief-post-meta, .aief-post-meta a, .aief-post-terms, .aief-post-terms a { color: var(--aief-muted); font-size: .86rem; }
.aief-post-meta a, .aief-post-terms a, .wp-block-post-content a { color: var(--aief-blue); font-weight: 700; }
.wp-block-post-content { color: var(--aief-ink); font-size: 1.08rem; line-height: 1.78; }
.wp-block-post-content h2, .wp-block-post-content h3, .wp-block-post-content h4 { color: var(--aief-navy); font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.025em; line-height: 1.14; margin-top: 2.4rem; }
.wp-block-post-content h2 { font-size: clamp(1.65rem, 2.8vw, 2.35rem); }
.wp-block-post-content blockquote { border-left: .28rem solid var(--aief-cyan); color: var(--aief-navy); font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; line-height: 1.45; margin: 2rem 0; padding: .4rem 0 .4rem 1.4rem; }
.wp-block-post-content figure { margin: 2.4rem 0; }
.wp-block-post-content figcaption { color: var(--aief-muted); font-size: .84rem; margin-top: .55rem; text-align: center; }
.wp-block-post-content table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; }
.wp-block-post-content td, .wp-block-post-content th { border: 1px solid var(--aief-line); padding: .75rem; }
.wp-block-post-content th { background: #eaf1fb; color: var(--aief-navy); }
.aief-post-footer { border-top: 1px solid var(--aief-line); }

.aief-resource-slot { background: linear-gradient(135deg,#eef4ff,#f9fbff); border: 1px solid #cfddf4; border-radius: 1rem; }
.aief-query-card { background: var(--aief-white); border: 1px solid var(--aief-line); border-radius: 1rem; box-shadow: 0 8px 28px rgba(8,26,49,.05); height: 100%; overflow: hidden; }
.aief-query-card .wp-block-post-featured-image img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.aief-query-card .wp-block-post-title a { color: var(--aief-navy); font-family: Georgia, 'Times New Roman', serif; }
.aief-query-card .wp-block-post-excerpt { color: var(--aief-muted); font-size: .94rem; line-height: 1.55; }
.aief-archive-header, .aief-search-header, .aief-404-panel { background: var(--aief-navy); border-radius: 1.1rem; color: var(--aief-white); }
.aief-archive-header .wp-block-query-title, .aief-search-header .wp-block-query-title, .aief-404-panel h1 { color: var(--aief-white); }
.aief-footer { background: radial-gradient(circle at 82% 10%, rgba(75,217,208,.1), transparent 24rem), var(--aief-navy); color: rgba(255,255,255,.76); }
.aief-footer .wp-block-site-logo img, .aief-footer .aief-default-logo img { border-radius: .4rem; height: 30px; object-fit: contain; width: auto; }
.aief-footer .wp-block-site-title, .aief-footer .wp-block-site-title a, .aief-footer .wp-block-navigation-item__content, .aief-footer-links a { color: var(--aief-white); }
.aief-footer .wp-block-site-title { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.025em; }
.aief-footer .wp-block-navigation-item__content { color: rgba(255,255,255,.78); font-size: .82rem; }
.aief-footer .wp-block-navigation-item__content:hover, .aief-footer .wp-block-navigation-item__content:focus-visible { color: var(--aief-cyan); outline: none; }
.aief-footer-links { display: flex; flex-wrap: wrap; gap: .55rem; }
.aief-footer-links a { color: rgba(255,255,255,.82); font-size: .86rem; font-weight: 700; text-decoration: none; }
.aief-footer-links a:hover, .aief-footer-links a:focus-visible { color: var(--aief-cyan); outline: none; }
.aief-footer-links span { color: rgba(255,255,255,.38); }
.aief-definition-callout { background: #eefaf8; border: 1px solid #b7ebe5; border-radius: 1rem; }
.aief-definition-callout p:first-child { color: #0b6f67; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.aief-statistic-panel { background: var(--aief-navy); border-radius: 1rem; color: var(--aief-white); }
.aief-statistic-panel .has-amber-color { color: var(--aief-amber) !important; }
.aief-faq-section { border-top: 1px solid var(--aief-line); }

@media (max-width: 781px) {
  .aief-hero { border-radius: 0 0 1.3rem 1.3rem; }
  .article-shell { border-radius: .85rem; }
  .wp-block-post-content { font-size: 1rem; }
  .aief-primary-navigation { justify-content: flex-start; margin-top: .65rem; }
}
