/*
Theme Name: RWA Insider
Theme URI: https://rwainsider.org
Description: Kadence child theme for RWA Insider. Adds ticker, share buttons, newsletter form, related posts, footer disclaimer, and custom homepage layout via hooks. Does not override Kadence header, footer, or single templates.
Author: RWA Insider
Author URI: https://rwainsider.org
Template: kadence
Version: 1.1.0
Text Domain: rwa-insider
*/

/* =========================================================
   ROOT TOKENS
   ========================================================= */
:root {
  --rwa-ink: #0a0a0a;
  --rwa-cream: #F4F1EA;       /* light cream — used for text on dark backgrounds */
  --rwa-bg: #F2EEE2;          /* site/page background */
  --rwa-card: #FCFAF3;        /* cards, content blocks, ticker — distinct from page bg */
  --rwa-ticker-bg: #FCFAF3;   /* matches cards per spec */
  --rwa-accent: #D4651E;
  --rwa-accent-hover: #b3531a;
  --rwa-up: #1f6f3a;
  --rwa-down: #8a2a2a;
  --rwa-content-width: 1200px;
}

body {
  background: var(--rwa-bg);
}

.rwa-container {
  max-width: var(--rwa-content-width);
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* =========================================================
   SINGLE POST FEATURED IMAGE — prevent Kadence cropping
   ========================================================= */
.single .post-thumbnail img,
.single .entry-thumbnail img,
.single .wp-post-image {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  max-height: none !important;
}

/* =========================================================
   TICKER (injected via kadence_before_header)
   ========================================================= */
.rwa-ticker {
  background: var(--rwa-ticker-bg);
  color: var(--rwa-ink);
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-top: 16px;
}

.rwa-ticker__track {
  display: inline-flex;
  white-space: nowrap;
  padding: 10px 0;
  animation: rwa-ticker-scroll 45s linear infinite;
  will-change: transform;
}

.rwa-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 28px;
  font-size: 14px;
  letter-spacing: 0.02em;
}

.rwa-ticker__sym { font-weight: 700; }
.rwa-ticker__price { opacity: 0.95; }
.rwa-ticker__chg { font-variant-numeric: tabular-nums; }
.rwa-ticker__chg--up { color: var(--rwa-up); }
.rwa-ticker__chg--down { color: var(--rwa-down); }

.rwa-ticker__error {
  padding: 10px 24px;
  font-size: 13px;
  opacity: 0.7;
}

@keyframes rwa-ticker-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

/* =========================================================
   CARD (used by front-page.php + related posts)
   ========================================================= */
.rwa-card {
  background: var(--rwa-card);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rwa-card__thumb img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.rwa-card__cat {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rwa-accent);
  text-decoration: none;
  transition: color 0.15s ease;
}

a.rwa-card__cat:hover,
a.rwa-card__cat:focus {
  color: var(--rwa-accent-hover);
}

.rwa-card__title {
  font-size: 19px;
  line-height: 1.25;
  margin: 0;
}

.rwa-card__title a { color: var(--rwa-ink); text-decoration: none; }
.rwa-card__title a:hover { text-decoration: underline; }

.rwa-card__meta {
  font-size: 13px;
  letter-spacing: 0.02em;
  opacity: 0.85;
}

.rwa-meta-sep { padding: 0 6px; opacity: 0.6; }

.rwa-excerpt {
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
}

/* =========================================================
   HOMEPAGE HERO + GRIDS (front-page.php only)
   ========================================================= */
.rwa-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 0.9fr);
  gap: 36px;
  padding: 32px 0 48px;
}

.rwa-hero__lead {
  background: var(--rwa-card);
  padding: 24px;
}

.rwa-hero__lead-thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.rwa-hero__lead h2 {
  font-size: 34px;
  line-height: 1.15;
  margin: 14px 0 12px;
}

.rwa-hero__lead h2 a { color: var(--rwa-ink); text-decoration: none; }
.rwa-hero__lead h2 a:hover { text-decoration: underline; }

.rwa-hero__stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rwa-latest {
  background: var(--rwa-card);
  padding: 20px;
}

.rwa-latest h3 {
  margin: 0 0 14px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.rwa-latest ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rwa-latest__time {
  display: block;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 2px;
}

.rwa-latest a {
  font-size: 17px;
  line-height: 1.3;
  color: var(--rwa-ink);
  text-decoration: none;
}

.rwa-latest a:hover { text-decoration: underline; }

.rwa-catsec {
  padding: 48px 0;
}

.rwa-catsec__title {
  text-align: center;
  font-size: 28px;
  margin: 0 0 28px;
}

.rwa-catsec__title a {
  color: var(--rwa-ink);
  text-decoration: none;
}

.rwa-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.rwa-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* =========================================================
   NEWSLETTER (front-page.php + hook-injected on single posts)
   ========================================================= */
.rwa-newsletter {
  background: var(--rwa-card);
  padding: 56px 24px;
  text-align: center;
}

.rwa-newsletter h2 {
  font-size: 30px;
  margin: 0 0 20px;
}

.rwa-newsletter__form {
  display: flex;
  gap: 10px;
  justify-content: center;
  max-width: 520px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.rwa-newsletter__form input[type="email"] {
  flex: 1 1 280px;
  padding: 14px 16px;
  font-size: 17px;
  background: var(--rwa-cream);
  border: 1px solid var(--rwa-ink);
  color: var(--rwa-ink);
  border-radius: 0;
}

.rwa-newsletter__form button {
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--rwa-accent);
  color: var(--rwa-cream);
  border: 0;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.15s ease;
}

.rwa-newsletter__form button:hover,
.rwa-newsletter__form button:focus {
  background: var(--rwa-accent-hover);
}

.rwa-newsletter__form button:disabled {
  opacity: 0.6;
  cursor: progress;
}

.rwa-newsletter__msg {
  margin-top: 14px;
  font-size: 17px;
  min-height: 1.2em;
}

/* =========================================================
   SHARE BUTTONS (hook-injected on single posts)
   ========================================================= */
.rwa-share {
  display: flex;
  gap: 12px;
  margin: 0 0 28px;
  flex-wrap: wrap;
}

.rwa-share button,
.rwa-share a {
  background: var(--rwa-ink);
  color: var(--rwa-cream);
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  border-radius: 0;
  transition: background 0.15s ease;
}

.rwa-share button:hover,
.rwa-share a:hover,
.rwa-share button:focus,
.rwa-share a:focus {
  background: var(--rwa-accent);
  color: var(--rwa-cream);
  text-decoration: none;
}

/* =========================================================
   RELATED POSTS (hook-injected on single posts)
   ========================================================= */
.rwa-related {
  margin-top: 48px;
}

.rwa-related h2 {
  font-size: 24px;
  margin: 0 0 24px;
}

/* =========================================================
   CUSTOM FOOTER (footer.php override of Kadence)
   ========================================================= */
.rwa-footer {
  background: var(--rwa-ink);
  color: var(--rwa-cream);
  padding: 48px 0 24px;
  margin-top: 56px;
}

.rwa-footer a {
  color: var(--rwa-cream);
  text-decoration: none;
  transition: color 0.15s ease;
}

.rwa-footer a:hover,
.rwa-footer a:focus {
  color: var(--rwa-accent);
}

.rwa-footer__row {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 32px;
  align-items: center;
}

.rwa-footer__brand {
  display: flex;
  align-items: center;
}

.rwa-footer__brand a {
  display: inline-flex;
}

.rwa-footer__brand img {
  display: block;
  height: 80px;
  width: auto;
}

.rwa-footer__nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 14px;
}

.rwa-footer__contact {
  text-align: right;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.rwa-footer__disclaimer {
  max-width: 720px;
  margin: 32px auto 0;
  padding: 0 24px;
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.6;
  color: var(--rwa-cream);
}

.rwa-footer__disclaimer a {
  color: var(--rwa-cream);
  text-decoration: underline;
}

.rwa-footer__disclaimer a:hover {
  color: var(--rwa-accent);
}

.rwa-footer__copy {
  margin-top: 18px;
  text-align: center;
  font-size: 13px;
  opacity: 0.75;
}

@media (max-width: 680px) {
  .rwa-footer__row {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }
  .rwa-footer__brand img {
    height: 60px;
  }
  .rwa-footer__contact {
    text-align: center;
  }
  .rwa-footer__nav {
    justify-content: center;
  }
}

/* =========================================================
   SEARCH ICON (appended to primary nav via filter)
   ========================================================= */
.rwa-nav-search-item {
  display: inline-flex;
  align-items: center;
}

.rwa-nav-search-item .rwa-nav-search {
  background: transparent !important;
  border: 0 !important;
  padding: 4px;
  margin: 0;
  cursor: pointer;
  color: var(--rwa-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  transition: color 0.15s ease;
}

.rwa-nav-search-item .rwa-nav-search:hover,
.rwa-nav-search-item .rwa-nav-search:focus,
.rwa-nav-search-item .rwa-nav-search:active {
  background: transparent !important;
  color: var(--rwa-accent);
  outline: none;
  box-shadow: none !important;
}

.rwa-nav-search-item .rwa-nav-search svg {
  width: 24px;
  height: 24px;
  display: block;
  stroke: currentColor;
}

/* Search panel — toggled by the icon */
.rwa-search-panel {
  background: var(--rwa-ticker-bg);
  padding: 16px 24px;
  width: 100%;
}

.rwa-search-panel[hidden] {
  display: none !important;
}

.rwa-search-panel__form {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  gap: 8px;
}

.rwa-search-panel__form input[type="search"] {
  flex: 1;
  padding: 12px 14px;
  font-size: 17px;
  border: 1px solid var(--rwa-ink);
  background: #fff;
  color: var(--rwa-ink);
  border-radius: 0;
}

.rwa-search-panel__form button {
  padding: 12px 24px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--rwa-accent);
  color: var(--rwa-cream);
  border: 0;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.15s ease;
}

.rwa-search-panel__form button:hover,
.rwa-search-panel__form button:focus {
  background: var(--rwa-accent-hover);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .rwa-hero {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
  .rwa-hero__latest-col { grid-column: 1 / -1; }
  .rwa-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .rwa-hero { grid-template-columns: 1fr; gap: 24px; }
  .rwa-grid-4, .rwa-grid-3 { grid-template-columns: 1fr; }
}
