/*
Theme Name: RadioCursos
Theme URI: https://radiocursos.com.br
Author: RadioCursos
Description: Tema leve e responsivo do RadioCursos, com identidade visual própria e modo noturno.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: radiocursos
*/

/* ---------- Fontes hospedadas no próprio site (sem Google Fonts: LGPD e velocidade) ---------- */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('assets/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Libre Caslon Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/librecaslon-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokens ---------- */
:root {
  --rc-navy: #0F2A44;
  --rc-teal: #0B7373;
  --rc-teal-hover: #0A5F5F;
  --rc-btn-hover: #0A5F5F;
  --rc-teal-bright: #0E8C8C;
  --rc-mint: #8FE6DD;
  --rc-text: #0F2A44;
  --rc-text-2: #22364D;
  --rc-muted: #4A5A6A;
  --rc-border: #DCE3EA;
  --rc-border-strong: #C9D5E0;
  --rc-bg: #FFFFFF;
  --rc-bg-soft: #F5F8FA;
  --rc-card: #FFFFFF;
  --rc-link: #0B7373;
  --rc-on-accent: #FFFFFF;
  --rc-footer-bg: #0F2A44;
  --rc-footer-text: #C9D5E0;
  --rc-shadow: 0 1px 3px rgba(15, 42, 68, .08);
  --rc-radius: 12px;
  --rc-radius-lg: 16px;
  --rc-max: 1200px;
  --rc-font: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rc-font-serif: 'Libre Caslon Text', Georgia, serif;
  color-scheme: light;
}

:root[data-theme="dark"] {
  --rc-text: #E8EEF4;
  --rc-text-2: #CBD6E2;
  --rc-muted: #9FB0C0;
  --rc-border: #24394F;
  --rc-border-strong: #31506D;
  --rc-bg: #0B1B2D;
  --rc-bg-soft: #0F2236;
  --rc-card: #112840;
  --rc-link: #4FD1C5;
  --rc-teal: #0B7373;          /* fundo de botões e marcas com texto branco: contraste 5,7:1 */
  --rc-teal-hover: #4FD1C5;    /* só para texto de link no hover */
  --rc-btn-hover: #0C7A7A;
  --rc-footer-bg: #07131F;
  --rc-footer-text: #9FB0C0;
  --rc-shadow: none;
  color-scheme: dark;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--rc-bg);
  color: var(--rc-text);
  font-family: var(--rc-font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1 0 auto; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--rc-link); }
a:hover { color: var(--rc-teal-hover); }
h1, h2, h3, h4 { margin: 0 0 .5em; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
h1 { font-size: clamp(2rem, 4.5vw, 3rem); letter-spacing: -.025em; }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
h3 { font-size: 1.25rem; font-weight: 700; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--rc-teal-bright); outline-offset: 2px; border-radius: 4px; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
  clip: auto; width: auto; height: auto; background: var(--rc-navy); color: #fff;
  padding: 12px 20px; z-index: 100000; top: 8px; left: 8px;
}

/* ---------- Layout ---------- */
.rc-container { max-width: var(--rc-max); margin: 0 auto; padding: 0 24px; }
.rc-section { padding: 72px 0; }
.rc-section--soft { background: var(--rc-bg-soft); }
@media (max-width: 640px) { .rc-section { padding: 48px 0; } }

/* ---------- Botões ---------- */
.rc-btn {
  display: inline-block; text-decoration: none; cursor: pointer;
  font: inherit; font-weight: 700; font-size: 1rem; line-height: 1.2;
  padding: 16px 26px; border-radius: var(--rc-radius); border: 1px solid transparent;
  background: var(--rc-teal); color: var(--rc-on-accent);
  transition: background .15s, border-color .15s;
}
.rc-btn:hover { background: var(--rc-btn-hover); color: var(--rc-on-accent); }
.rc-btn--sm { padding: 12px 20px; font-size: .9375rem; border-radius: 10px; }
.rc-btn--outline { background: transparent; color: var(--rc-text); border-color: var(--rc-border-strong); }
.rc-btn--outline:hover { background: var(--rc-bg-soft); color: var(--rc-text); }

/* ---------- Cabeçalho ---------- */
.rc-header { background: var(--rc-bg); border-bottom: 1px solid var(--rc-border); position: sticky; top: 0; z-index: 50; }
.rc-header__inner {
  max-width: var(--rc-max); margin: 0 auto; padding: 12px 24px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px;
}
.rc-logo { display: inline-flex; align-items: center; text-decoration: none; }
.rc-logo img { height: 40px; width: auto; display: block; }
.rc-logo__dark { display: none !important; }
:root[data-theme="dark"] .rc-logo__light { display: none !important; }
:root[data-theme="dark"] .rc-logo__dark { display: block !important; }

.rc-nav { display: flex; align-items: center; gap: 8px 24px; }
.rc-nav__list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; list-style: none; margin: 0; padding: 0; }
.rc-nav a:not(.rc-btn) { color: var(--rc-text-2); text-decoration: none; font-weight: 600; font-size: .9375rem; }
.rc-nav a:not(.rc-btn):hover { color: var(--rc-link); }

.rc-theme-toggle {
  background: transparent; border: 1px solid var(--rc-border-strong); color: var(--rc-text-2);
  width: 40px; height: 40px; border-radius: 10px; cursor: pointer; display: inline-grid; place-items: center;
}
.rc-theme-toggle:hover { background: var(--rc-bg-soft); }
.rc-theme-toggle svg { width: 20px; height: 20px; }
.rc-theme-toggle .i-sun { display: none; }
:root[data-theme="dark"] .rc-theme-toggle .i-sun { display: block; }
:root[data-theme="dark"] .rc-theme-toggle .i-moon { display: none; }

.rc-menu-btn { display: none; }
@media (max-width: 820px) {
  .rc-menu-btn {
    display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 10px;
    border: 1px solid var(--rc-border-strong); background: transparent; color: var(--rc-text-2); cursor: pointer;
  }
  .rc-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; padding: 8px 0 12px; }
  .rc-nav.is-open { display: flex; }
  .rc-nav__list { flex-direction: column; align-items: stretch; gap: 4px; }
  .rc-nav__list a:not(.rc-btn) { display: block; padding: 10px 4px; }
  .rc-nav .rc-btn { text-align: center; }
  .rc-header__actions { display: flex; gap: 8px; align-items: center; }
}
@media (min-width: 821px) {
  .rc-header__actions .rc-menu-btn { display: none; }
  /* Computador: logo à esquerda; menu, botão de conta e o alternador de tema juntos à direita */
  .rc-header__inner { flex-wrap: nowrap; }
  .rc-nav { order: 2; margin-left: auto; }
  .rc-header__actions { order: 3; margin-left: 16px; }
}
.rc-header__actions { display: flex; align-items: center; gap: 8px; }

/* ---------- Rodapé ---------- */
.rc-footer { background: var(--rc-footer-bg); color: var(--rc-footer-text); margin-top: 0; }
.rc-footer__inner {
  max-width: var(--rc-max); margin: 0 auto; padding: 48px 24px;
  display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between;
}
.rc-footer__brand { max-width: 360px; }
.rc-footer__brand img { height: 36px; width: auto; margin-bottom: 12px; display: block; }
.rc-footer__brand p { font-size: .8125rem; line-height: 1.6; margin: 0; }
.rc-footer__nav { display: flex; flex-wrap: wrap; gap: 12px 28px; align-content: flex-start; list-style: none; margin: 0; padding: 0; }
.rc-footer a { color: var(--rc-footer-text); font-weight: 600; font-size: .875rem; text-decoration: none; }
.rc-footer a:hover { color: #fff; text-decoration: underline; }

/* ---------- Conteúdo genérico (páginas, posts) ---------- */
.rc-content { max-width: 760px; margin: 0 auto; padding: 48px 24px 72px; }
.rc-content h1 { margin-bottom: .75em; }
