/*
Theme Name: AA Shell Base
Theme URI: https://www.analyzingamerica.org/
Author: Young Conservatives LLC
Description: A lightweight standalone WordPress theme built to provide a neutral, conflict-free foundation for the Analyzing America Sitewide Shell plugin.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aa-shell-base
*/

:root {
  --aa-page-bg: #ffffff;
  --aa-page-text: #111318;
  --aa-page-muted: #666b73;
  --aa-page-border: #e7e8eb;
  --aa-page-accent: #ed1c24;
  --aa-content-width: 1180px;
  --aa-reading-width: 820px;
}

* { box-sizing: border-box; }
html { margin: 0; padding: 0; scroll-behavior: smooth; }
body {
  margin: 0;
  padding: 0;
  background: var(--aa-page-bg);
  color: var(--aa-page-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.65;
  overflow-x: clip;
}
img, video, iframe { max-width: 100%; height: auto; }
a { color: inherit; }

/* Never style or recolor the sitewide shell from the theme. */
.aa-shell,
.aa-shell * {
  box-sizing: border-box;
}

.aa-theme-main {
  display: block;
  width: 100%;
  min-height: 55vh;
}

.aa-theme-content {
  width: min(var(--aa-content-width), calc(100% - 40px));
  margin: 0 auto;
  padding: 44px 0 72px;
}

.aa-theme-article {
  width: min(var(--aa-reading-width), 100%);
  margin: 0 auto;
}

.aa-theme-header { margin: 0 0 30px; }
.aa-theme-kicker {
  margin: 0 0 10px;
  color: var(--aa-page-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.aa-theme-title {
  margin: 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1.03;
  letter-spacing: -.035em;
}
.aa-theme-meta {
  margin-top: 14px;
  color: var(--aa-page-muted);
  font-size: 14px;
}
.aa-theme-featured { margin: 0 0 30px; }
.aa-theme-featured img { display: block; width: 100%; }

.entry-content > * { margin-top: 0; margin-bottom: 1.35em; }
.entry-content h2,
.entry-content h3,
.entry-content h4 { line-height: 1.15; margin-top: 1.65em; }
.entry-content blockquote {
  margin-inline: 0;
  padding: 8px 0 8px 22px;
  border-left: 4px solid var(--aa-page-accent);
  font-size: 1.12em;
}
.entry-content .alignwide {
  width: min(var(--aa-content-width), calc(100vw - 40px));
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.entry-content .alignfull {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

.aa-theme-footer {
  border-top: 1px solid var(--aa-page-border);
  padding: 26px 20px;
  color: var(--aa-page-muted);
  text-align: center;
  font-size: 13px;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 700px) {
  body { font-size: 17px; }
  .aa-theme-content { width: min(100% - 28px, var(--aa-content-width)); padding: 30px 0 52px; }
  .aa-theme-title { font-size: clamp(32px, 11vw, 48px); }
}


/* Plugin-owned information pages render their own title and spacing. */
.aa-theme-content--plugin-page {
  width: 100%;
  max-width: none;
  padding: 0;
}
.aa-theme-article--plugin-page {
  width: 100%;
  max-width: none;
  margin: 0;
}
.aa-theme-article--plugin-page > .entry-content {
  margin: 0;
}

/* The visible footer is supplied by the Sitewide Shell plugin. */
.aa-theme-footer { display: none !important; }
