/*
 * Theme Name: Raquel Menezes Child
 * Theme URI: https://raquelmenezes.com.br
 * Description: Child theme oficial de Raquel Menezes — "Quando o Silêncio Vira Palavra". Design portado dos protótipos aprovados. Base: GeneratePress.
 * Author: Studio Digital
 * Template: generatepress
 * Version: 2.1.0
 * License: GNU General Public License v2 or later
 * Text Domain: raquel-menezes-child
 */

/* ════════════════════════════════════════════════
   ESQUELETO GLOBAL (navbar, footer, cursor, reveal)
   O CSS específico de cada página fica inline no template.
   ════════════════════════════════════════════════ */

:root {
  --ameixa: #5C1E3A;
  --rosa: #9E3B6B;
  --ouro: #C9923A;
  --creme: #FDF8F4;
  --noite: #1A1018;
  --rosa-nevoa: #E8A4BF;
  --ameixa-glass: rgba(92,30,58,0.88);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--noite);
  color: var(--creme);
  font-family: 'Calibri', 'Gill Sans', 'Trebuchet MS', sans-serif;
  font-weight: 300;
  cursor: none;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* Esconde chrome do tema pai GeneratePress */
.site-header, #site-navigation, .generate-back-to-top, .entry-header, .page-header { display: none !important; }

/* ── CURSOR ─────────────────────────────────────── */
#cursor {
  position: fixed; width: 14px; height: 14px;
  background: var(--ouro); border-radius: 50%;
  pointer-events: none; z-index: 9999;
  mix-blend-mode: difference; transform: translate(-50%,-50%);
  transition: width .3s, height .3s; will-change: left, top;
}
#cursor.big { width: 44px; height: 44px; }
@media (hover: none), (pointer: coarse) {
  body { cursor: auto; }
  #cursor { display: none; }
}

/* ── NAVBAR ─────────────────────────────────────── */
nav#navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: 80px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 64px;
  transition: height .4s ease, background .4s ease, backdrop-filter .4s;
}
nav#navbar.scrolled {
  height: 60px; background: var(--ameixa-glass);
  backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px);
  border-bottom: 1px solid rgba(201,146,58,0.2);
}
.nav-logo { font-family: Georgia, serif; font-size: 15px; font-weight: bold; letter-spacing: 0.22em; text-transform: uppercase; color: var(--creme); }
.nav-links { display: flex; gap: 40px; }
.nav-links a { color: rgba(253,248,244,0.8); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; position: relative; padding-bottom: 4px; }
.nav-links a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--ouro); transition: width .35s; }
.nav-links a:hover::after, .nav-links .current-menu-item > a::after { width: 100%; }
.nav-links a:hover { color: var(--creme); }
.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-toggle span { width: 26px; height: 2px; background: var(--creme); transition: all .3s; }

/* ── REVEAL ─────────────────────────────────────── */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.reveal.vis { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: .12s; }
.reveal-d2 { transition-delay: .24s; }
.reveal-d3 { transition-delay: .36s; }
.reveal-d4 { transition-delay: .48s; }

/* ── GOLD DIVIDER ───────────────────────────────── */
.gold-divider { height: 1px; background: linear-gradient(to right, transparent, var(--ouro), transparent); width: 0; transition: width 1.2s cubic-bezier(.25,.46,.45,.94); }
.gold-divider.visible { width: 100%; }

/* ── SOCIAL STRIP ───────────────────────────────── */
.social-strip { background: #110a0f; padding: 72px 80px; display: flex; justify-content: center; align-items: center; gap: 56px; flex-wrap: wrap; }
.s-link { display: flex; flex-direction: column; align-items: center; gap: 14px; color: rgba(253,248,244,0.4); transition: color .3s; }
.s-link:hover { color: var(--ouro); }
.s-icon { width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(201,146,58,0.25); display: flex; align-items: center; justify-content: center; transition: border-color .3s, background .3s; }
.s-link:hover .s-icon { border-color: var(--ouro); background: rgba(201,146,58,0.08); }
.s-name { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }

/* ── FOOTER ─────────────────────────────────────── */
footer.rm-footer { background: var(--noite); border-top: 1px solid rgba(201,146,58,0.12); padding: 64px 80px 40px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 64px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,0.06); margin-bottom: 36px; }
.footer-brand-name { font-family: Georgia, serif; font-size: 20px; font-weight: bold; letter-spacing: 0.14em; color: var(--creme); margin-bottom: 16px; }
.footer-brand-tagline { font-family: Georgia, serif; font-style: italic; font-size: 14px; color: rgba(253,248,244,0.35); line-height: 1.7; margin-bottom: 24px; }
.footer-h { font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ouro); margin-bottom: 24px; }
.footer-list { display: flex; flex-direction: column; gap: 12px; }
.footer-list a { color: rgba(253,248,244,0.38); font-size: 14px; transition: color .3s; }
.footer-list a:hover { color: var(--ouro); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 11px; color: rgba(253,248,244,0.2); letter-spacing: 0.06em; }

/* ── RESPONSIVO GLOBAL ──────────────────────────── */
@media (max-width: 768px) {
  nav#navbar { padding: 0 24px; }
  .nav-links { display: none; }
  .nav-links.open { display: flex; flex-direction: column; gap: 22px; position: fixed; top: 80px; left: 0; right: 0; background: var(--ameixa-glass); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); padding: 28px 24px; }
  .nav-toggle { display: flex; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .social-strip { gap: 32px; padding: 56px 24px; }
  footer.rm-footer { padding: 56px 24px 32px; }
}
