/* ============================================================
   sonhos.css — Travessia Onírica · Guardião dos Sonhos
   Herda a estrutura de jornada.css (mesma tipografia, mesmos
   componentes base: .jornada-body, .jornada-container, botões,
   barra de progresso). Aqui só ajustamos a TONALIDADE — de azul-
   mar (#5b9fd4) para um índigo noturno (#8d7fd4 / #6a5acd), e
   aumentamos um pouco o corpo de texto em relação aos ritos das
   Jornadas, conforme pedido: "letras maiores que nas consultas
   das jornadas".

   Convenção de cor — usar estas variáveis mentais ao herdar de
   jornada.css:
     #5b9fd4 (azul-mar)      → #8d7fd4 (índigo-sonho)
     #1a4a7a / #2a5f96       → #3a2d6a / #4a3a8a
     rgba(91,159,212,*)      → rgba(141,127,212,*)
   ============================================================ */

.sonhos-body { background: var(--cor-fundo-profundo, #0a0a1f); position: relative; }
.sonhos-body::before {
  content: ''; position: fixed; inset: 0; z-index: -1;
  background-image: url('images/fundo-sonhos.jpg');
  background-size: cover; background-position: center bottom; background-repeat: no-repeat;
}
@media (max-width: 640px) {
  .sonhos-body::before { background-image: url('images/mobile-sonhos.jpg'); background-position: center top; }
}
.sonhos-body--escura { background: #07061a; }

/* Barra de navegação superior — jornada.css não centraliza isso
   (cada página de /jornadas/ repete o CSS inline), então definimos
   aqui uma vez para todas as páginas de /sonhos/ usarem. */
.jornada-topbar {
  position: fixed; top: 0; left: 0; right: 0; padding: .5rem 1.5rem;
  display: flex; justify-content: space-between; align-items: center;
  background: rgba(7,6,26,.85); backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.04); z-index: 50;
}
.topbar-logo { font-size: .8rem; letter-spacing: .15em; color: #8d7fd4; text-decoration: none; opacity: .7; }
.topbar-dash { font-size: .75rem; letter-spacing: .1em; color: #6a5a9a; text-decoration: none; transition: color .2s; }
.topbar-dash:hover { color: #a89fc8; }

/* Header / portal */
.sonhos-ondas {
  font-size: 1.6rem; letter-spacing: .5em; color: #8d7fd4; opacity: .7;
  margin-bottom: 1rem; text-align: center;
}
.sonhos-titulo { color: #e8e4f4; }
.sonhos-subtitulo { color: #a89fc8; font-style: italic; }

.sonhos-intro {
  text-align: center; color: #b0a8d0; font-size: 1.05rem; line-height: 1.9;
  margin: 0 auto 2rem; max-width: 560px;
}
.sonhos-intro p { margin-bottom: 1.2rem; }

.sonhos-aviso-gratuito {
  text-align: center; background: rgba(141,127,212,.06); border: 1px solid rgba(141,127,212,.18);
  border-radius: 8px; padding: 1.2rem 1.5rem; margin-bottom: 2rem; max-width: 560px;
  margin-left: auto; margin-right: auto;
}
.sonhos-aviso-gratuito p { color: #c8c0e8; font-size: .95rem; line-height: 1.7; margin: 0 0 .4rem; }
.sonhos-aviso-gratuito strong { color: #e8e4f4; }
.sonhos-aviso-sub { color: #8a82ad !important; font-size: .85rem !important; margin: 0 !important; }

/* Menu do portal — grade de cards */
.sonhos-menu {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
  max-width: 640px; margin: 0 auto 2rem;
}
@media (max-width: 600px) { .sonhos-menu { grid-template-columns: 1fr; } }

.sonhos-menu-item {
  display: flex; flex-direction: column; gap: .5rem; text-align: left;
  background: rgba(255,255,255,.03); border: 1px solid rgba(141,127,212,.15);
  border-radius: 10px; padding: 1.4rem; text-decoration: none; color: inherit;
  transition: all .3s ease;
}
.sonhos-menu-item:hover:not(.sonhos-menu-item--bloqueado) {
  background: rgba(141,127,212,.08); border-color: rgba(141,127,212,.4);
  transform: translateY(-2px);
}
.sonhos-menu-item--destaque {
  background: rgba(141,127,212,.1); border-color: rgba(141,127,212,.45);
}
.sonhos-menu-item--bloqueado { opacity: .55; cursor: default; }

.smi-icone { font-size: 1.4rem; color: #8d7fd4; }
.smi-titulo { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; color: #e8e4f4; font-weight: 500; }
.smi-desc { font-size: .88rem; color: #a89fc8; line-height: 1.6; flex: 1; }
.smi-cta { font-size: .8rem; letter-spacing: .08em; color: #8d7fd4; margin-top: .3rem; }

.sonhos-cta-acesso { text-align: center; margin-top: 2rem; }
.sonhos-cta-ou { color: #6a6088; font-size: .85rem; margin: 1rem 0; }

/* Botões — sobrescreve a paleta azul de jornada.css só dentro de /sonhos/ */
.sonhos-body .btn-jornada-iniciar,
.sonhos-body .btn-jornada-principal {
  background: rgba(141,127,212,.18); border: 1px solid rgba(141,127,212,.5); color: #e0d8f8;
}
.sonhos-body .btn-jornada-iniciar:hover,
.sonhos-body .btn-jornada-principal:hover { background: rgba(141,127,212,.32); }
.sonhos-body .btn-jornada-avancar:hover { border-color: rgba(141,127,212,.4); color: #d8d0f0; }
.sonhos-body .jornada-mare-badge {
  background: rgba(141,127,212,.15); border-color: rgba(141,127,212,.3); color: #8d7fd4;
}
.sonhos-body .progress-fill,
.sonhos-body .barra-progresso-fill { background: linear-gradient(90deg,#3a2d6a,#8d7fd4); }
.sonhos-body .link-caraiva { color: #8d7fd4; border-bottom-color: rgba(141,127,212,.4); }
.sonhos-body .etapa-texto-sagrado { border-left-color: rgba(141,127,212,.35); }
.sonhos-body .etapa-label-pequeno,
.sonhos-body .devolutiva-label,
.sonhos-body .jornada-fase-label { color: #8d7fd4; }
.sonhos-body .devolutiva-texto { background: rgba(141,127,212,.06); color: #d8d0f0; }
.sonhos-body .guardiao-loader .loader-ondas span { background: #8d7fd4; }
.sonhos-body .topbar-logo { color: #8d7fd4; }

/* ── Contar Sonho — formulário de relato ─────────────────── */
.sonhos-form-area { max-width: 620px; margin: 0 auto; }
.sonhos-campo-label {
  font-family: 'Jost', sans-serif; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
  color: #8d7fd4; opacity: .8; margin-bottom: .6rem; display: block;
}
.sonhos-convite-escrita {
  color: #a89fc8; font-size: 1rem; line-height: 1.8; font-style: italic; margin-bottom: 1.2rem;
}
.sonhos-textarea {
  width: 100%; background: rgba(255,255,255,.04); border: 1px solid rgba(141,127,212,.2);
  border-radius: 8px; color: #e0d8f0; font-size: 1.08rem; line-height: 1.85; padding: 1.2rem;
  resize: vertical; font-family: 'Georgia', serif; box-sizing: border-box; margin-bottom: 1.5rem;
  min-height: 220px;
}
.sonhos-textarea:focus { outline: none; border-color: rgba(141,127,212,.55); }
.sonhos-textarea::placeholder { color: #5a5078; }

.sonhos-tipo-seletor { margin-bottom: 1.8rem; }
.sonhos-tipo-grid { display: flex; gap: .6rem; flex-wrap: wrap; }
.sonhos-tipo-chip {
  background: rgba(255,255,255,.03); border: 1px solid rgba(141,127,212,.2); border-radius: 20px;
  padding: .5rem 1.1rem; font-size: .85rem; color: #a89fc8; cursor: pointer; transition: all .25s;
}
.sonhos-tipo-chip:hover { border-color: rgba(141,127,212,.5); }
.sonhos-tipo-chip.ativo { background: rgba(141,127,212,.2); border-color: #8d7fd4; color: #e8e4f4; }

.sonhos-contador { text-align: right; font-size: .78rem; color: #5a5078; margin-top: -1.1rem; margin-bottom: 1.5rem; }

/* ── Interpretação devolvida — 4 camadas ─────────────────── */
.sonhos-interpretacao { max-width: 660px; margin: 0 auto; }
.sonhos-camada { margin-bottom: 2.2rem; animation: fade-in-up .6s ease; }
.sonhos-camada-label {
  font-family: 'Jost', sans-serif; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  color: #8d7fd4; opacity: .75; margin-bottom: .7rem;
}
.sonhos-camada-texto {
  font-size: 1.08rem; line-height: 1.95; color: #d8d0f0; font-family: 'Georgia', serif;
}
.sonhos-camada--relacao .sonhos-camada-texto {
  font-style: italic; padding: 1.4rem; background: rgba(141,127,212,.06); border-radius: 8px;
}
/* Chispa do Guardião — registro diferente das camadas simbólicas:
   acento dourado/âmbar sutil em vez do índigo, para marcar visualmente
   que é "outra voz", uma observação singular, não interpretação. */
.sonhos-camada--chispa .sonhos-camada-label { color: #d4af6a; }
.sonhos-camada--chispa .sonhos-camada-texto {
  padding: 1.4rem; background: rgba(212,175,106,.07); border-left: 2px solid rgba(212,175,106,.4);
  border-radius: 4px; font-style: normal;
}
/* Fechamento do Guardião — a voz de clausura, depois das 2 Chispas.
   Nem índigo (interpretação) nem âmbar (observação): um tom claro e
   neutro, com moldura completa em vez de borda lateral, sugerindo
   "isto fecha a travessia", sem fechar o mistério do sonho em si. */
.sonhos-camada--fechamento .sonhos-camada-label { color: #c8c0e8; letter-spacing: .15em; }
.sonhos-camada--fechamento .sonhos-camada-texto {
  padding: 1.5rem; background: rgba(255,255,255,.025); border: 1px solid rgba(200,192,232,.18);
  border-radius: 8px; font-style: italic; text-align: center; font-size: 1.05rem;
}
.sonhos-titulo-sugerido {
  text-align: center; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: #e8e4f4;
  font-style: italic; margin-bottom: 2rem;
}
.sonhos-simbolos-tags { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .8rem; }
.sonhos-simbolo-tag {
  background: rgba(141,127,212,.12); border: 1px solid rgba(141,127,212,.25); border-radius: 14px;
  padding: .3rem .8rem; font-size: .78rem; color: #c8c0e8;
}

/* ── Galeria dos Sonhos ───────────────────────────────────── */
.sonhos-galeria-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 1.2rem; }
.sonhos-galeria-card {
  background: rgba(255,255,255,.03); border: 1px solid rgba(141,127,212,.15); border-radius: 10px;
  padding: 1.3rem; cursor: pointer; transition: all .25s; text-align: left;
}
.sonhos-galeria-card:hover { border-color: rgba(141,127,212,.4); background: rgba(141,127,212,.06); }
.sonhos-galeria-data { font-size: .75rem; color: #6a6088; letter-spacing: .08em; margin-bottom: .5rem; }
.sonhos-galeria-titulo { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; color: #e8e4f4; margin-bottom: .6rem; line-height: 1.4; }
.sonhos-galeria-emocao { font-size: .82rem; color: #8d7fd4; margin-bottom: .5rem; }
.sonhos-galeria-resumo { font-size: .85rem; color: #a89fc8; line-height: 1.6; }
.sonhos-galeria-vazia { text-align: center; padding: 3rem 1rem; color: #8a82ad; }

.sonhos-checkbox-entrelacar {
  position: absolute; top: 1rem; right: 1rem; width: 20px; height: 20px;
  border: 1px solid rgba(141,127,212,.4); border-radius: 4px; display: none;
}
.sonhos-galeria-card { position: relative; }
.modo-entrelacar .sonhos-checkbox-entrelacar { display: block; }
.sonhos-galeria-card.selecionado { border-color: #8d7fd4; background: rgba(141,127,212,.1); }
.sonhos-galeria-card.selecionado .sonhos-checkbox-entrelacar { background: #8d7fd4; }

/* ── Entrelaçar Sonhos ────────────────────────────────────── */
.sonhos-entrelacar-par { display: flex; gap: 1rem; align-items: center; justify-content: center; margin-bottom: 2rem; flex-wrap: wrap; }
.sonhos-entrelacar-carta {
  background: rgba(141,127,212,.06); border: 1px solid rgba(141,127,212,.2); border-radius: 10px;
  padding: 1.2rem; max-width: 240px; text-align: center;
}
.sonhos-entrelacar-simbolo { font-size: 1.5rem; color: #8d7fd4; opacity: .6; }

/* ── Mapa dos Sonhos ──────────────────────────────────────── */
.sonhos-mapa-campo { margin-bottom: 1.8rem; }
.sonhos-mapa-pergunta { font-size: 1.05rem; color: #d8d0f0; font-style: italic; margin-bottom: .6rem; line-height: 1.6; }
.sonhos-mapa-textarea {
  width: 100%; background: rgba(255,255,255,.03); border: 1px solid rgba(141,127,212,.18);
  border-radius: 6px; color: #d8d0f0; font-size: .98rem; line-height: 1.7; padding: .9rem;
  resize: vertical; font-family: inherit; box-sizing: border-box; min-height: 70px;
}
.sonhos-mapa-textarea:focus { outline: none; border-color: rgba(141,127,212,.5); }
.sonhos-mapa-textarea::placeholder { color: #5a5078; font-style: normal; }

/* Card "toque para responder" — mesmo padrão do Mapa Interior no
   dashboard (.mapa-memoria-card), só que na paleta índigo */
.sonhos-memoria-card {
  background: rgba(255,255,255,.025); border: 1px solid rgba(141,127,212,.15);
  border-radius: 8px; padding: 1.3rem 1.4rem; margin-bottom: .9rem; cursor: pointer;
  transition: all .3s;
}
.sonhos-memoria-card:hover { border-color: rgba(141,127,212,.4); }
.sonhos-memoria-card.preenchida { border-color: rgba(141,127,212,.3); }
.sonhos-memoria-pergunta { font-size: 1.05rem; color: #e0d8f0; margin-bottom: .4rem; line-height: 1.5; font-family: 'Cormorant Garamond', serif; }
.sonhos-memoria-preview { font-size: .85rem; color: #a89fc8; font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sonhos-memoria-icone { font-size: .7rem; color: #8d7fd4; flex-shrink: 0; margin-top: .25rem; }
.sonhos-memoria-editor { display: none; margin-top: .9rem; }
.sonhos-memoria-editor.aberto { display: block; }
.sonhos-memoria-acoes { display: flex; gap: .6rem; margin-top: .6rem; }
.sonhos-btn-pequeno {
  font-size: .75rem; padding: .5rem 1.1rem; border-radius: 5px; cursor: pointer;
  border: 1px solid rgba(141,127,212,.4); background: rgba(141,127,212,.15); color: #e0d8f0;
}
.sonhos-btn-pequeno--ghost { background: none; border-color: rgba(255,255,255,.12); color: #a89fc8; }
