/*
Theme Name: Finlitera Complete
Theme URI: https://finlitera.com/
Author: Finlitera
Author URI: https://finlitera.com/
Description: A complete financial-literacy block theme with an automatic homepage, topic library, A-Z glossary, articles, about page, contact page, privacy page, logo, and navigation.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: finlitera-complete
Tags: block-patterns, block-styles, education, news, blog, full-site-editing, wide-blocks
*/

:root {
  --fin-navy: #071a2b;
  --fin-navy-soft: #0f2d44;
  --fin-teal: #0aa89e;
  --fin-teal-bright: #22c7bd;
  --fin-gold: #f4b740;
  --fin-cream: #f8f4ea;
  --fin-white: #ffffff;
  --fin-slate: #5a6a78;
  --fin-border: rgba(7, 26, 43, 0.12);
  --fin-shadow: 0 20px 60px rgba(7, 26, 43, 0.10);
  --fin-radius: 24px;
}

html { scroll-behavior: smooth; }

body {
  background: var(--fin-cream);
  color: var(--fin-navy);
}

a { text-underline-offset: 0.18em; }

.wp-site-blocks { overflow: hidden; }

.finlitera-site-header {
  position: relative;
  z-index: 30;
  background: var(--fin-navy);
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.finlitera-site-header .wp-block-site-logo img {
  width: auto;
  max-height: 52px;
  object-fit: contain;
}

.finlitera-site-header .wp-block-navigation-item__content,
.finlitera-site-header .wp-block-navigation__responsive-container-open,
.finlitera-site-header .wp-block-navigation__responsive-container-close {
  color: var(--fin-white);
}

.finlitera-site-header .wp-block-navigation-item__content:hover {
  color: var(--fin-teal-bright);
}

.finlitera-header-cta .wp-block-button__link {
  background: var(--fin-gold);
  color: var(--fin-navy);
  white-space: nowrap;
}

.finlitera-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(34, 199, 189, 0.35), transparent 28%),
    radial-gradient(circle at 2% 100%, rgba(244, 183, 64, 0.13), transparent 25%),
    linear-gradient(135deg, #071a2b 0%, #0b3550 55%, #087d79 100%);
  color: var(--fin-white);
}

.finlitera-hero::before,
.finlitera-hero::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  pointer-events: none;
}

.finlitera-hero::before {
  width: 430px;
  height: 430px;
  right: -170px;
  top: -180px;
}

.finlitera-hero::after {
  width: 280px;
  height: 280px;
  right: 4%;
  bottom: -190px;
}

.finlitera-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--fin-gold);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.finlitera-eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: currentColor;
}

.finlitera-hero h1 {
  max-width: 850px;
  margin-top: 0.5rem;
  letter-spacing: -0.035em;
}

.finlitera-hero-copy { color: rgba(255, 255, 255, 0.80); }

.finlitera-glass-card {
  position: relative;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--fin-radius);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(16px);
}

.finlitera-mini-card {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 16px;
}

.finlitera-trust-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.74);
}

.finlitera-section-kicker {
  color: var(--fin-teal);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.finlitera-card,
.finlitera-topic-card,
.finlitera-article-card {
  height: 100%;
  background: var(--fin-white);
  border: 1px solid var(--fin-border);
  border-radius: var(--fin-radius);
  box-shadow: 0 10px 35px rgba(7, 26, 43, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.finlitera-card:hover,
.finlitera-topic-card:hover,
.finlitera-article-card:hover {
  transform: translateY(-5px);
  border-color: rgba(10, 168, 158, 0.45);
  box-shadow: var(--fin-shadow);
}

.finlitera-topic-number {
  color: var(--fin-teal);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.11em;
}

.finlitera-topic-card a,
.finlitera-article-card a {
  color: inherit;
  text-decoration: none;
}

.finlitera-topic-card a:hover,
.finlitera-article-card a:hover { color: var(--fin-teal); }

.finlitera-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.finlitera-glossary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.finlitera-glossary-item { scroll-margin-top: 100px; }

.finlitera-card ul,
.finlitera-checklist ul,
.finlitera-warning ul {
  padding-left: 1.25rem;
}

.finlitera-card li,
.finlitera-checklist li,
.finlitera-warning li { margin-bottom: 0.65rem; }

.is-style-finlitera-card {
  background: var(--fin-white);
  border: 1px solid var(--fin-border);
  border-radius: var(--fin-radius);
  box-shadow: var(--fin-shadow);
  padding: 2rem;
}

.is-style-finlitera-checklist {
  background: #eaf9f7;
  border: 1px solid rgba(10, 168, 158, 0.22);
  border-radius: var(--fin-radius);
  padding: 2rem 2rem 2rem 3.2rem;
}

.finlitera-step {
  position: relative;
  border-left: 2px solid rgba(10, 168, 158, 0.22);
}

.finlitera-step-badge {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--fin-teal);
  color: var(--fin-white);
  font-weight: 800;
}

.finlitera-callout {
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 10%, rgba(244, 183, 64, 0.20), transparent 32%),
    linear-gradient(135deg, var(--fin-navy), var(--fin-navy-soft));
  color: var(--fin-white);
  border-radius: 32px;
}

.finlitera-callout p { color: rgba(255, 255, 255, 0.76); }

.finlitera-gold-panel {
  background: var(--fin-gold);
  color: var(--fin-navy);
  border-radius: var(--fin-radius);
}

.finlitera-lesson-hero {
  background: linear-gradient(135deg, #e2faf7, #f8f4ea 60%, #fff4d5);
  border-bottom: 1px solid var(--fin-border);
}

.finlitera-prose {
  max-width: 780px;
}

.finlitera-prose p,
.finlitera-prose li {
  color: #344b5b;
  line-height: 1.82;
}

.finlitera-checklist {
  background: #eaf9f7;
  border: 1px solid rgba(10, 168, 158, 0.22);
  border-radius: var(--fin-radius);
}

.finlitera-warning {
  background: #fff7df;
  border-left: 5px solid var(--fin-gold);
  border-radius: 0 18px 18px 0;
}

.finlitera-glossary-letter {
  color: var(--fin-teal);
  border-bottom: 1px solid var(--fin-border);
}

.finlitera-contact-card {
  background: linear-gradient(145deg, var(--fin-white), #effbf9);
  border: 1px solid rgba(10, 168, 158, 0.20);
  border-radius: 28px;
  box-shadow: var(--fin-shadow);
}

.finlitera-site-footer {
  background: var(--fin-navy);
  color: rgba(255, 255, 255, 0.72);
}

.finlitera-site-footer h2,
.finlitera-site-footer h3,
.finlitera-site-footer a { color: var(--fin-white); }

.finlitera-site-footer a:hover { color: var(--fin-teal-bright); }

.finlitera-footer-rule { border-top: 1px solid rgba(255, 255, 255, 0.12); }

.finlitera-post-meta {
  color: var(--fin-slate);
  font-size: 0.88rem;
}

.finlitera-pagination .page-numbers {
  display: inline-grid;
  min-width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--fin-border);
  border-radius: 999px;
  text-decoration: none;
}

.finlitera-pagination .current {
  background: var(--fin-teal);
  color: var(--fin-white);
  border-color: var(--fin-teal);
}

@media (max-width: 900px) {
  .finlitera-header-cta { display: none; }
  .finlitera-hero { text-align: center; }
  .finlitera-hero .wp-block-buttons { justify-content: center; }
  .finlitera-eyebrow { justify-content: center; }
  .finlitera-hero h1 { font-size: clamp(2.6rem, 12vw, 4.6rem) !important; }
  .finlitera-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .finlitera-site-header .wp-block-site-logo img { max-width: 165px; }
  .finlitera-hero { padding-top: 64px !important; padding-bottom: 64px !important; }
  .finlitera-card,
  .finlitera-topic-card,
  .finlitera-article-card { border-radius: 18px; }
  .finlitera-callout { border-radius: 22px; }
  .finlitera-topic-grid,
  .finlitera-glossary-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition-duration: 0.01ms !important; }
}
