/* =============================================================================
   rk-vitrine-avulsas.css — Tema Vitrine nas páginas que não usam o header
   -----------------------------------------------------------------------------
   Área do aluno (entrar, acesso, convite, cadastro, app), contratar, termos,
   descadastro e a home da edição completa. Essas páginas trazem o próprio
   <style>, escrito para o tema escuro antigo; esta folha vem DEPOIS dele (no
   fim do <head>) e passa tudo para o branco, sem mexer no HTML.
   Requer rk-vitrine.css carregada antes.
   ============================================================================= */

body { background: #fff !important; color: var(--ink) !important; }

/* -----------------------------------------------------------------------------
   Coluna única do aluno (.cx): entrar, acesso, convite, cadastro
   -------------------------------------------------------------------------- */
.cx h1, .cx h2 { color: var(--ink) !important; font-weight: 700; letter-spacing: -0.035em; }
.cx h1 { font-size: clamp(2rem, 8vw, 2.7rem); }
.cx h1 i, .cx h2 i { font-style: normal; color: var(--orange); }
.cx p { color: var(--ink-2); font-size: 16px; line-height: 1.5; }
.cx label {
  font-family: var(--sans); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none;
  color: var(--ink-2);
}
.cx label::first-letter { text-transform: uppercase; }
.cx input, .cx select, .cx textarea {
  background-color: var(--paper-2) !important; border: 1px solid transparent !important; border-radius: 12px !important;
  color: var(--ink) !important; font-family: var(--sans) !important;
}
.cx input:focus, .cx select:focus, .cx textarea:focus {
  background-color: #fff !important; border-color: var(--orange) !important; box-shadow: 0 0 0 4px rgba(242, 101, 34, 0.18);
}
.cx input:disabled { color: var(--muted) !important; }
.cx input::placeholder, .cx textarea::placeholder { color: #A1A1A6; }
.cx select {
  background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%) !important;
}
.cx button:not(.linkbtn):not(.rk-botao-app) { border-radius: 980px !important; font-size: 17px; }
.cx .mono { font-family: var(--sans); font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--muted); }
.cx .mono::first-letter { text-transform: uppercase; }
.cx .erro { background: #FDE8EA !important; border: 0 !important; color: #B4000F; border-radius: 12px !important; }
.cx .ok { background: #E3F4E8 !important; border: 0 !important; }
.cx .ok p { color: var(--ink) !important; }
.cx .aviso.bom  { background: #E3F4E8 !important; border: 0 !important; color: var(--ink); }
.cx .aviso.info { background: var(--orange-soft) !important; border: 0 !important; color: var(--ink); }
.cx .aviso.ruim { background: #FDE8EA !important; border: 0 !important; color: var(--ink); }
.cx .link { background: var(--paper-2) !important; color: var(--ink) !important; font-family: var(--code) !important; }
.cx .chip { background: var(--paper-2) !important; border: 0 !important; color: var(--ink) !important; }
.cx a, .cx .linkbtn { color: var(--orange-txt) !important; }
.cx .linkbtn { text-decoration: none !important; }
.codigo { font-family: var(--code) !important; }

.progresso span { background: #E8E8ED !important; }
.progresso span.on { background: var(--orange) !important; }

.acoes {
  background: rgba(255, 255, 255, 0.9) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}
.acoes button { border-radius: 980px !important; }
.acoes .volta { color: var(--ink) !important; border: 1px solid var(--line) !important; background: #fff !important; }

.foto .prev { background: var(--paper-2) !important; border: 2px dashed var(--line) !important; color: var(--muted) !important; font-family: var(--sans) !important; letter-spacing: 0 !important; font-size: 13px !important; }
.foto button { background: var(--paper-2) !important; border: 0 !important; color: var(--ink) !important; border-radius: 980px !important; }

.aceite { background: var(--paper-2) !important; border: 0 !important; border-radius: 16px !important; }
.aceite span { color: var(--ink) !important; }

.rk-botao-app--claro { color: var(--ink) !important; border-color: var(--line) !important; }
.rk-manter { color: var(--ink-2) !important; }

/* -----------------------------------------------------------------------------
   App do aluno (.ap) — aluno/index.php
   -------------------------------------------------------------------------- */
.ap__topo { background: #fff !important; color: var(--ink) !important; border-radius: 0 !important; border-bottom: 1px solid var(--line-soft); padding-top: calc(22px + env(safe-area-inset-top)) !important; }
.ap__marca { font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: -0.03em; font-size: 1.6rem !important; }
.ap__marca i { font-style: normal !important; color: var(--orange); }
.ap__ola { color: var(--muted) !important; font-size: 15px !important; }
.ap h2 { font-weight: 700; letter-spacing: -0.03em; }
.aula { background: var(--paper-2) !important; border: 0 !important; border-radius: 18px !important; }
.aula--hoje { background: var(--orange-soft) !important; box-shadow: inset 0 0 0 1.5px var(--orange); }
.aula__quando { font-family: var(--sans) !important; font-weight: 600; letter-spacing: -0.02em; }
.aula__hora { font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: -0.03em; }
.aula__tag { font-family: var(--sans) !important; font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
.btn-grandao { border-radius: 980px !important; font-size: 17px !important; }
.btn-grandao[disabled] { background: #E8E8ED !important; }
.btn-linha { border-radius: 980px !important; border-color: var(--line) !important; color: var(--ink) !important; background: #fff !important; font-size: 13.5px !important; }
.ap__saldo { background: transparent !important; border: 0 !important; gap: 10px !important; }
.ap__saldo > div { background: var(--paper-2) !important; border-radius: 16px; }
.ap__saldo .n { font-family: var(--sans) !important; font-weight: 700; letter-spacing: -0.04em; }
.ap__saldo .r { font-family: var(--sans) !important; font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
.ap__rodape {
  background: rgba(255, 255, 255, 0.9) !important; border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
}
dialog { border-radius: 20px !important; background: #fff !important; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25); }
dialog::backdrop { background: rgba(0, 0, 0, 0.3) !important; }

/* -----------------------------------------------------------------------------
   Contratar (.ct)
   -------------------------------------------------------------------------- */
.ct__lado { background: var(--paper-2) !important; color: var(--ink) !important; }
.ct__marca { font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: -0.03em; color: var(--ink) !important; }
.ct__marca i { font-style: normal !important; }
.ct__lado h2 { color: var(--ink) !important; font-weight: 700 !important; letter-spacing: -0.035em; }
.ct__lista li { color: var(--ink-2) !important; border-top-color: var(--line) !important; font-size: 16px !important; }
.ct__lista li::first-letter { text-transform: uppercase; }
.ct__lista li::before { content: "✓" !important; font-weight: 700; }
.ct__mono { font-family: var(--sans) !important; font-size: 13px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--muted) !important; }
.ct__form h1 { font-weight: 700 !important; letter-spacing: -0.035em; }
.plano-op { border-radius: 14px !important; background: #fff; }
.plano-op .n { font-family: var(--sans) !important; font-weight: 600; }
.plano-op .p { font-family: var(--sans) !important; font-size: 12.5px !important; letter-spacing: 0 !important; }

/* -----------------------------------------------------------------------------
   Termos (.t) e descadastro (.c)
   -------------------------------------------------------------------------- */
.t h1 { font-weight: 700 !important; letter-spacing: -0.035em; }
.t .meta { font-family: var(--sans) !important; font-size: 13px !important; letter-spacing: 0 !important; text-transform: none !important; }
.c h1 { font-weight: 700 !important; letter-spacing: -0.035em; }
.c select { background: var(--paper-2) !important; border: 0 !important; border-radius: 12px !important; }
.c button { background: var(--orange) !important; color: #fff !important; border-radius: 980px !important; }

/* -----------------------------------------------------------------------------
   Home da edição completa (index.php): seções escuras viram cinza-claro
   -------------------------------------------------------------------------- */
.lp-tinta { background: var(--paper-2) !important; color: var(--ink) !important; }
.lp-tinta h2, .lp-tinta h3, .lp-tinta p { color: var(--ink) !important; }
.cx button::first-letter, .acoes button::first-letter, .btn-grandao::first-letter, .btn-linha::first-letter, .foto button::first-letter { text-transform: uppercase; }

/* -----------------------------------------------------------------------------
   Calendário de vagas da área do aluno (repor e trocar) — v3.12.2
   -------------------------------------------------------------------------- */
.rk-cal__topo { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 10px; }
.rk-cal__mes { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.rk-cal__mes::first-letter { text-transform: uppercase; }
.rk-cal .rk-pk__seta { width: 36px; height: 36px; font-size: 20px; border-radius: 50%; border: 0; background: var(--paper-2); color: var(--ink); }
.rk-cal .rk-pk__seta:disabled { opacity: .3; }
.rk-cal .rk-pk { gap: 4px; }
.rk-cal .rk-pk__cab { font-size: 12px; color: var(--muted); padding: 4px 0; }
.rk-cal .rk-pk__dia { height: 42px; width: 100%; border-radius: 50%; font-size: 15px; border: 0; background: transparent; color: #C7C7CC; }
.rk-cal .rk-pk__dia.tem { background: var(--orange-soft); color: var(--ink); font-weight: 600; cursor: pointer; }
.rk-cal .rk-pk__dia.tem:hover { box-shadow: inset 0 0 0 1.5px var(--orange); }
.rk-cal .rk-pk__dia.hoje { box-shadow: inset 0 0 0 1.5px var(--ink-2); }
.rk-cal .rk-pk__dia.sel { background: var(--orange); color: #fff; }
.rk-cal__dia { font-size: 15px; font-weight: 600; margin: 16px 0 8px; }
.rk-cal__dia::first-letter { text-transform: uppercase; }
.rk-cal__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.rk-cal .rk-pk__hora { width: 100%; text-align: left; border: 1.5px solid var(--line); border-radius: 14px; background: #fff; padding: 10px 12px; cursor: pointer; }
.rk-cal .rk-pk__hora b { display: block; font-size: 17px; }
.rk-cal .rk-pk__hora i { display: block; font-style: normal; font-size: 12.5px; color: var(--muted); }
.rk-cal .rk-pk__hora.sel { border-color: var(--orange); background: var(--orange-soft); }
.rk-cal__conf p { margin: 14px 0 0; }
.rk-cal__conf p::first-letter { text-transform: uppercase; }
.rk-cal__conf .btn-grandao { margin-top: 10px; }
#dlgTroca { max-height: 92vh; overflow-y: auto; }
