/*
 * Design System Premium â€” Escritora Eliana Machado Coelho
 * VersÃ£o 4.0 â€” TransiÃ§Ãµes, Phosphor Icons, PadrÃµes CTA
 * Paleta: Rosa #E91E63 | Playfair Display + Nunito
 */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Nunito:wght@300;400;600;700&display=swap');

/* Phosphor Icons estÃ¡ sendo carregado via CDN no <head> do components.php */

/* ===== TOKENS ===== */
:root {
  --rosa:        #E91E63;
  --rosa-escuro: #C2185B;
  --rosa-claro:  #F8BBD0;
  --rosa-palido: #FDE8F0;
  --branco:      #FFFFFF;
  --cinza-texto: #424242;
  --cinza-medio: #757575;
  --cinza-borda: #E0E0E0;
  --cinza-fundo: #F9F9F9;
  --cream:       #F5F1DE;
  --dourado:     #D4AF37;
  --bg-dark:     #1A1A1A;
  --texto-dark:  #F5F5F5;

  --font-titulo: 'Playfair Display', Georgia, serif;
  --font-corpo:  'Nunito', sans-serif;

  --fs-hero:   clamp(2.4rem, 5vw, 4rem);
  --fs-h1:     clamp(2rem, 4vw, 3.2rem);
  --fs-h2:     clamp(1.6rem, 3vw, 2.4rem);
  --fs-h3:     clamp(1.2rem, 2vw, 1.6rem);
  --fs-corpo:  1rem;
  --fs-small:  0.875rem;

  --sombra-sm:   0 2px 8px rgba(0,0,0,0.06);
  --sombra-md:   0 4px 20px rgba(0,0,0,0.08);
  --sombra-lg:   0 8px 40px rgba(0,0,0,0.12);
  --sombra-rosa: 0 8px 30px rgba(233,30,99,0.2);

  --raio-sm: 8px;
  --raio-md: 16px;
  --raio-lg: 24px;
  --raio-pill: 999px;

  --transicao: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --max-width: 1200px;

  --space-xs:  0.5rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 5rem;
  --space-3xl: 4.5rem;
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--font-corpo);
  color: var(--cinza-texto);
  background: var(--branco);
  line-height: 1.7;
  overflow-x: hidden;
}
img { max-width:100%; display:block; }
a { text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

/* AOS init */
[data-aos] { opacity:0; transition:opacity 0.7s ease, transform 0.7s ease; }
[data-aos="fade-up"]    { transform:translateY(28px); }
[data-aos="fade-left"]  { transform:translateX(-28px); }
[data-aos="fade-right"] { transform:translateX(28px); }
[data-aos="zoom-in"]    { transform:scale(0.95); }
[data-aos].aos-animate  { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  [data-aos] { opacity:1 !important; transform:none !important; }
}

/* ===== CONTINUOUS ANIMATIONS ===== */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
  100% { transform: translateY(0px); }
}
@keyframes pulse-soft {
  0% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 0.8; }
}
@keyframes float-rotate {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-15px) rotate(3deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

.anim-float { animation: float 6s ease-in-out infinite; }
.anim-pulse { animation: pulse-soft 4s ease-in-out infinite; }
.anim-float-rotate { animation: float-rotate 8s ease-in-out infinite; }

/* ===== DARK MODE (PadrÃ£o Prism) ===== */
body.dark-mode {
  background: #0C0C0C;
  color: rgba(255, 255, 255, 0.75);
}

/* Navbar Dark */
body.dark-mode .navbar {
  background: rgba(15, 15, 15, 0.95);
  border-bottom-color: rgba(255, 255, 255, 0.05);
}
body.dark-mode .nav-link, 
body.dark-mode .nav-logo { color: #FFFFFF; }
body.dark-mode .dark-mode-toggle { border-color: rgba(255, 255, 255, 0.1); color: #FFF; }

/* Tipografia Dark */
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode .section-title {
  color: #FFFFFF;
}
body.dark-mode p, body.dark-mode .section-desc, body.dark-mode .hero-subtitle {
  color: rgba(255, 255, 255, 0.7);
}

/* SeÃ§Ãµes e Backgrounds */
body.dark-mode .section-bg-light,
body.dark-mode section[style*="background:var(--cinza-fundo)"],
body.dark-mode section[style*="background:var(--rosa-palido)"] { 
  background: #121212 !important; 
  border-color: rgba(255,255,255,0.05) !important;
}
body.dark-mode .section-bg-cream { background: #1A1812 !important; }
body.dark-mode .section-bg-rosa,
body.dark-mode .section-cta-rosa {
  background: #2D0816 !important; /* Midnight Rose */
}
body.dark-mode .section-bg-rosa .section-title,
body.dark-mode .section-cta-rosa .section-title { color: #FFF; }
body.dark-mode .section-bg-rosa p,
body.dark-mode .section-cta-rosa p { color: rgba(255,255,255,0.6); }

/* Cards (Book, Program, Blog) */
body.dark-mode .book-card,
body.dark-mode .program-card,
body.dark-mode .blog-card,
body.dark-mode .sidebar-widget {
  background: #181818;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
body.dark-mode .book-title, 
body.dark-mode .program-title, 
body.dark-mode .blog-title,
body.dark-mode .sidebar-title { color: #FFFFFF; }

body.dark-mode .book-cover-wrap,
body.dark-mode .about-photo,
body.dark-mode .blog-img {
  background: #242424 !important;
}

/* BotÃµes e Inputs especÃ­ficos no dark */
body.dark-mode select,
body.dark-mode .sidebar-search input,
body.dark-mode .newsletter-form input {
  background: #1A1A1A !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #FFF !important;
}

body.dark-mode .btn-ghost {
  border-color: rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.8);
}
body.dark-mode .btn-ghost:hover {
  border-color: var(--rosa);
  color: var(--rosa);
}
body.dark-mode .mentora-section {
  background: linear-gradient(135deg, #2D0816 0%, #1A040D 100%);
  border: 1px solid rgba(233, 30, 99, 0.2);
}
body.dark-mode .mentora-card {
  background: rgba(25, 25, 25, 0.8);
  border-color: rgba(255, 255, 255, 0.1);
}
body.dark-mode .mentora-content .section-title,
body.dark-mode .mentora-content .section-eyebrow,
body.dark-mode .mentora-feature-icon,
body.dark-mode .mentora-card h3 { color: var(--rosa-claro); }

body.dark-mode .section-newsletter {
  background: #1A0D11 !important;
  border: 1px solid rgba(255, 255, 255, 0.05);
}
body.dark-mode .section-newsletter::before {
  background-image: repeating-linear-gradient(
    45deg,
    var(--rosa) 0, var(--rosa) 1px,
    transparent 1px, transparent 16px
  );
  opacity: 0.12;
}
body.dark-mode .newsletter-title { color: #FFF; }
body.dark-mode .newsletter-subtitle { color: rgba(255, 255, 255, 0.6); }
body.dark-mode .newsletter-form input {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #FFF;
}

/* Blog Sidebar & Elements */
body.dark-mode .sidebar-search input { background: #222; color: #FFF; border-color: #333; }
body.dark-mode .category-item { border-bottom-color: rgba(255,255,255,0.05); }
body.dark-mode .category-item a, body.dark-mode .recent-post-text a { color: rgba(255,255,255,0.8); }
body.dark-mode .category-count, body.dark-mode .recent-post-img, body.dark-mode .tag-cloud a {
  background: #2A2A2A; color: var(--rosa-claro); border-color: rgba(255,255,255,0.1);
}

/* PÃ¡gina de Detalhe e Testemunhos */
body.dark-mode .book-detail-meta { background: #161616; border-color: #222; }
body.dark-mode .meta-value, body.dark-mode .book-synopsis h3 { color: #FFF; }
body.dark-mode .testimonial-quote { color: rgba(255, 255, 255, 0.9); }
body.dark-mode .testimonial-quote::before { color: rgba(233, 30, 99, 0.3); }
body.dark-mode .author-name { color: #FFF; }
body.dark-mode .slider-dot { border-color: var(--rosa-claro); }

/* ===== LOGO GRID (Na MÃ­dia) ===== */
.logo-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-2xl);
  align-items: center;
}
.logo-item {
  max-width: 140px;
  height: auto;
  opacity: 0.4;
  filter: grayscale(1) brightness(0); /* Black version by default */
  transition: var(--transicao);
}
body.dark-mode .logo-item {
  filter: grayscale(1) brightness(10); /* White version in dark mode */
}
.logo-item:hover {
  opacity: 1;
  filter: none;
}

/* ===== CONTAINER ===== */
.container { width:100%; max-width:var(--max-width); margin:0 auto; padding:0 var(--space-lg); }
.section    { padding: var(--space-xl) 0; position:relative; }
.section-bg-light { background: var(--cinza-fundo); }
.section-bg-cream  { background: var(--cream); }
.section-bg-rosa   { background: var(--rosa-palido); }
.section-cta-rosa  {
  background: var(--rosa-palido);
  padding: var(--space-2xl) 0;
  position: relative;
  text-align: center;
}

/* ===== NOVAL CTA DE LIVROS (Padronizada) ===== */
.section-book-cta {
  background: var(--rosa-palido);
  padding: var(--space-3xl) 0;
  position: relative;
  text-align: center;
  border-top: 1px solid rgba(233,30,99,0.05);
  border-bottom: 1px solid rgba(233,30,99,0.05);
  overflow: hidden;
}

.section-book-cta .cta-title {
  font-family: var(--font-titulo);
  font-size: var(--fs-h1);
  color: var(--cinza-texto);
  margin-bottom: var(--space-md);
  line-height: 1.2;
}

.section-book-cta .cta-subtitle {
  font-size: 1.1rem;
  color: var(--cinza-medio);
  max-width: 540px;
  margin: 0 auto var(--space-xl);
  line-height: 1.8;
}

.section-book-cta .cta-actions {
  display: flex;
  gap: var(--space-md);
  justify-content: center;
  flex-wrap: wrap;
}

/* Dark Mode Adjustment for Book CTA */
body.dark-mode .section-book-cta {
  background: linear-gradient(135deg, #2D0816 0%, #120308 100%) !important;
  border-color: rgba(255, 255, 255, 0.05);
}

body.dark-mode .section-book-cta .cta-title {
  color: #FFFFFF;
  text-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

body.dark-mode .section-book-cta .cta-subtitle {
  color: rgba(255, 255, 255, 0.7);
}

body.dark-mode .section-book-cta .btn-secondary {
  border-color: rgba(255, 255, 255, 0.2);
  color: #FFF;
}

body.dark-mode .section-book-cta .btn-secondary:hover {
  background: var(--rosa);
  border-color: var(--rosa);
}

/* ===== WAVES REMOVIDAS ===== */

/* ===== TIPOGRAFIA ===== */
h1,h2,h3,h4 { font-family: var(--font-titulo); font-weight:700; line-height:1.15; color: var(--cinza-texto); }
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
p  { margin-bottom: var(--space-md); color: var(--cinza-medio); }
p:last-child { margin-bottom: 0; }

.text-rosa   { color: var(--rosa) !important; }
.text-center { text-align: center; }
.gradient-text {
  background: linear-gradient(135deg, var(--rosa) 0%, var(--rosa-escuro) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* ===== SECTION HEADER ===== */
.section-header { margin-bottom: var(--space-2xl); }
.section-header.center { text-align: center; }
.section-eyebrow {
  display: inline-block;
  font-family: var(--font-corpo);
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rosa); margin-bottom: var(--space-xs);
}
.section-title {
  font-family: var(--font-titulo);
  font-size: var(--fs-h2); font-weight: 700;
  color: var(--cinza-texto); margin-bottom: var(--space-sm);
  line-height: 1.2;
}
.section-title em { font-style:italic; color:var(--rosa); }
.section-desc {
  font-size: 1rem; color: var(--cinza-medio);
  max-width: 560px; line-height: 1.8;
}
.section-header.center .section-desc { margin:0 auto; }

/* ===== SUBTLE CTA PATTERN OVERLAY ===== */
/* Pontos diagonais muito sutis em fundos coloridos */
.pattern-overlay {
  position: relative;
  isolation: isolate;
}
.pattern-overlay::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.18) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
/* PadrÃ£o para fundos claros */
.pattern-light::before {
  background-image:
    radial-gradient(circle, rgba(233,30,99,0.06) 1px, transparent 1px);
  background-size: 20px 20px;
}
/* PadrÃ£o de linhas diagonais */
.pattern-lines::before {
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,0.06) 0px,
    rgba(255,255,255,0.06) 1px,
    transparent 1px,
    transparent 12px
  );
}
/* Garante que filhos ficam acima do padrÃ£o */
.pattern-overlay > * { position: relative; z-index: 1; }

/* ===== BUTTONS ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 7px; font-family: var(--font-corpo); font-weight: 700;
  font-size: 0.875rem; letter-spacing: 0.04em;
  padding: 0.85em 2em; border-radius: var(--raio-pill);
  cursor: pointer; transition: var(--transicao); white-space: nowrap;
}
.btn ph-icon, .btn .ph { font-size: 1.1em; line-height: 1; }
.btn-primary {
  background: var(--rosa); color: var(--branco);
  border: 2px solid var(--rosa);
  box-shadow: 0 4px 16px rgba(233,30,99,0.25);
}
.btn-primary:hover {
  background: var(--rosa-escuro); border-color: var(--rosa-escuro);
  box-shadow: 0 6px 24px rgba(233,30,99,0.35); transform: translateY(-2px);
}
.btn-secondary {
  background: transparent; color: var(--rosa); border: 2px solid var(--rosa);
}
.btn-secondary:hover { background: var(--rosa); color: var(--branco); transform: translateY(-2px); }
.btn-white { background: var(--branco); color: var(--rosa); border: 2px solid var(--branco); }
.btn-white:hover { background: var(--rosa-palido); }
.btn-ghost { background:transparent; color:var(--cinza-medio); border:2px solid var(--cinza-borda); }
.btn-ghost:hover { border-color:var(--rosa); color:var(--rosa); }
.btn-lg { padding: 1em 2.5em; font-size: 0.95rem; }
.btn-sm { padding: 0.55em 1.3em; font-size: 0.78rem; }

/* ===== NAVBAR ===== */
.navbar {
  position: fixed; top:0; left:0; width:100%; z-index: 1000;
  padding: 1rem 0;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(233,30,99,0.07);
  transition: var(--transicao);
}
.navbar.scrolled { padding: 0.55rem 0; box-shadow: var(--sombra-md); }
.nav-container { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); }

/* nav-actions: botões desktop (dark mode + contato) */
.nav-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }

/* nav-menu-footer: só aparece no mobile (dentro do menu aberto) */
.nav-menu-footer { display: none; }
.nav-logo {
  font-family: var(--font-titulo); font-size: 1.25rem; font-weight: 700;
  font-style: italic; color: var(--cinza-texto); white-space: nowrap;
  display: flex; align-items: center; gap: 8px;
}
.logo-flower {
  height: 24px; width: auto;
  filter: invert(30%) sepia(98%) saturate(2250%) hue-rotate(320deg) brightness(85%) contrast(90%);
  transition: var(--transicao);
}
.nav-logo:hover .logo-flower { transform: rotate(15deg) scale(1.1); }
.nav-logo span { color: var(--rosa); }
.nav-menu { margin-left: auto; }
.nav-menu ul { display: flex; align-items:center; gap: var(--space-sm); }
.nav-link {
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--cinza-texto);
  position: relative; padding-bottom: 3px; transition: var(--transicao); white-space: nowrap;
}

.nav-link::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--rosa);
  border-radius: 2px; transition: var(--transicao);
}
.nav-link:hover, .nav-link.active { color: var(--rosa); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.dark-mode-toggle {
  background:none; border:1.5px solid var(--cinza-borda);
  border-radius:var(--raio-pill); width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:var(--cinza-medio); transition:var(--transicao);
}
.dark-mode-toggle:hover { border-color:var(--rosa); color:var(--rosa); }
.mobile-menu-btn { display:none; flex-direction:column; gap:5px; padding:4px; }
.mobile-menu-btn span { display:block; width:22px; height:2px; background:var(--cinza-texto); border-radius:2px; transition:var(--transicao); }

/* ===== PAGE HERO (pÃ¡ginas internas) ===== */
.page-hero {
  position: relative;
  padding: calc(88px + var(--space-2xl)) 0 var(--space-2xl);
  text-align: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  min-height: 400px;
  display: flex; align-items: center;
}
@media (min-width: 1025px) {
  .page-hero { background-attachment: fixed; }
}
.page-hero::before {
  content:''; position:absolute; inset:0; z-index:0;
  background: linear-gradient(
    to bottom,
    rgba(18,18,18,0.82) 0%,
    rgba(18,18,18,0.65) 50%,
    rgba(233,30,99,0.4) 100%
  );
}
.page-hero > .container { position:relative; z-index:1; width:100%; }
.page-hero .breadcrumb { font-size:0.8rem; color:rgba(255,255,255,0.7); margin-bottom:var(--space-sm); }
.page-hero .breadcrumb a { color:var(--rosa-claro); font-weight:600; }
.page-hero .breadcrumb a:hover { color:var(--branco); text-decoration:underline; }
.page-hero .breadcrumb span { opacity:0.4; margin:0 7px; color:#fff; }
.page-hero h1 { font-family:var(--font-titulo); font-size:var(--fs-h1); color:var(--branco); margin-bottom:var(--space-sm); text-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 2px 15px rgba(0,0,0,0.3); }
.page-hero > .container p { font-size:1.15rem; color:rgba(255,255,255,1); max-width:620px; margin:0 auto; line-height:1.8; font-weight:400; text-shadow: 0 2px 20px rgba(0,0,0,0.4); }

/* ===== HERO (home) ===== */
.section-hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; padding-top: 80px; padding-bottom: 100px;
  background-size: cover; background-position: center;
  background-repeat: no-repeat; overflow: hidden;
}
@media (min-width: 1025px) {
  .section-hero { background-attachment: fixed; }
}
.section-hero::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(105deg,
    rgba(15,15,15,0.85) 0%, 
    rgba(15,15,15,0.7) 45%,
    rgba(233,30,99,0.25) 75%, 
    rgba(233,30,99,0.15) 100%);
  z-index: 1;
}
.hero-container { position:relative; z-index:2; width:100%; max-width:var(--max-width); margin:0 auto; padding:var(--space-xl) var(--space-lg); box-sizing:border-box; }
.hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:6px;
  font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--rosa); margin-bottom:var(--space-md);
  padding:5px 14px; border-radius:var(--raio-pill);
  background:var(--rosa-palido); border:1px solid var(--rosa-claro);
  max-width:100%; white-space:normal; word-break:break-word;
  box-sizing:border-box;
}
.hero-title { font-family:var(--font-titulo); font-size:var(--fs-hero); font-weight:700; color:var(--branco); line-height:1.1; margin-bottom:var(--space-md); text-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 2px 10px rgba(0,0,0,0.3); }
.hero-title em { font-style:italic; color:var(--rosa-claro); text-shadow: none; }
.hero-subtitle { font-size:1.15rem; color:rgba(255,255,255,0.95); line-height:1.85; max-width:550px; margin-bottom:var(--space-xl); font-weight:400; text-shadow: 0 2px 15px rgba(0,0,0,0.3); }
.hero-actions { display:flex; gap:var(--space-md); flex-wrap:wrap; margin-bottom:var(--space-lg); }
.hero-stats { display:flex; gap:var(--space-xl); padding-top:var(--space-md); border-top:1px solid var(--cinza-borda); }
.stat-item { display:flex; flex-direction:column; gap:3px; }
.stat-number { font-family:var(--font-titulo); font-size:2.2rem; font-weight:700; color:var(--rosa-claro); line-height:1; }
.stat-label { font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.7); font-weight:700; }
.hero-visual { display:flex; justify-content:center; align-items:center; position:relative; }
.hero-book-stack { display:flex; justify-content:center; max-width:none; width:auto; }
.hero-book-stack .book-img { border-radius:12px; overflow:hidden; box-shadow:var(--sombra-lg); transition:var(--transicao); }
.hero-book-stack .book-img:hover { transform:translateY(-8px) rotate(-2deg); box-shadow:0 25px 45px rgba(226,17,108,0.3); }
.hero-book-stack .book-img img { width:100%; height:100%; object-fit:cover; }
.hero-book-stack .book-img.featured { height:580px; border-radius: 16px; position:relative; z-index:2; box-shadow:0 40px 80px rgba(0,0,0,0.2); }
.hero-book-stack .book-img:not(.featured) { height:180px; }
@keyframes badge-float {
  0% { transform: translateX(-50%) translateY(0px); }
  50% { transform: translateX(-50%) translateY(-10px); }
  100% { transform: translateX(-50%) translateY(0px); }
}
.hero-badge {
  position:absolute; bottom:-30px; left:50%; transform:translateX(-50%);
  background:var(--branco); border:2px solid var(--rosa-claro);
  border-radius:var(--raio-pill); padding:10px 20px;
  display:flex; align-items:center; gap:10px;
  box-shadow:var(--sombra-md); white-space:nowrap;
  z-index: 5;
  animation: badge-float 6s ease-in-out infinite;
}
.hero-badge-icon { font-size:1.3rem; }
.hero-badge-text { font-size:0.72rem; font-weight:700; color:var(--cinza-texto); }
.hero-badge-text strong { color:var(--rosa); display:block; font-size:0.88rem; }
.hero-decoration { position:absolute; border-radius:50%; background:var(--rosa-palido); z-index:0; pointer-events:none; }
.hero-decoration.d1 { width:480px; height:480px; right:-140px; top:-90px; opacity:0.45; animation: float 8s ease-in-out infinite; }
.hero-decoration.d2 { width:280px; height:280px; right:180px; bottom:-40px; opacity:0.25; animation: float-rotate 12s ease-in-out infinite reverse; }

/* ===== BOOK CARDS (melhorado) ===== */
.books-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:var(--space-lg); }

.book-card {
  background:var(--branco); border-radius:var(--raio-md);
  box-shadow:var(--sombra-sm); border:1px solid var(--cinza-borda);
  overflow:hidden; transition:var(--transicao);
  display:flex; flex-direction:column;
}
.book-card:hover { transform:translateY(-10px); box-shadow:var(--sombra-rosa); border-color:var(--rosa-claro); }

/* Capa encaixada perfeitamente */
.book-cover-wrap {
  position:relative; overflow:hidden;
  width: 100%;
  aspect-ratio: 2/3;
  background: var(--cinza-fundo);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.book-cover-wrap img {
  position: absolute;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  object-fit: contain;
  object-position: center;
  transition: transform 0.5s ease;
  display: block;
}
.book-card:hover .book-cover-wrap img { transform: scale(1.06); }

.book-badge-wrap { position:absolute; top:8px; right:8px; z-index:2; }
.book-badge {
  font-size:0.62rem; font-weight:700; letter-spacing:0.09em;
  text-transform:uppercase; padding:4px 10px; border-radius:var(--raio-pill);
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.badge-bestseller { background:var(--rosa); color:var(--branco); }
.badge-new        { background:var(--dourado); color:#111; }

.book-info { padding:var(--space-md); flex:1; display:flex; flex-direction:column; }
.book-title { font-family:var(--font-titulo); font-size:0.95rem; font-style:italic; color:var(--cinza-texto); margin-bottom:3px; line-height:1.35; }
.book-author { font-size:0.67rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--rosa); font-weight:700; margin-bottom:var(--space-xs); }
.book-stars { color:var(--dourado); font-size:0.78rem; margin-bottom:var(--space-sm); letter-spacing:2px; }
.book-meta-sm { font-size:0.72rem; color:var(--cinza-medio); margin-bottom:var(--space-sm); }
.book-footer { display:flex; gap:5px; flex-wrap:wrap; margin-top:auto; }
.book-footer .btn { flex:1; font-size:0.7rem; padding:0.5em 0.6em; }

/* ===== ABOUT GRID ===== */
.about-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:var(--space-2xl); align-items:flex-start; }
.about-image { position:relative; }
.about-photo { 
  width:100%; border-radius:var(--raio-lg); 
  position: relative;
  overflow: visible; /* Permite que o fundo decorativo apareça */
  aspect-ratio:4/5; 
  display:flex; align-items:center; justify-content:center;
  z-index: 1;
}

.about-photo::before {
  content: '';
  position: absolute;
  top: 10%;
  left: -8%;
  width: 100%;
  height: 100%;
  background: var(--rosa-palido);
  border: 1px solid var(--rosa-claro);
  border-radius: var(--raio-lg);
  z-index: -1;
  transition: var(--transicao);
  animation: float-rotate 10s ease-in-out infinite;
}

.about-photo img { 
  width:100%; height:100%; 
  object-fit:cover; 
  object-position: top center; /* Garante que o topo da foto (cabeça) não seja cortado */
  border-radius: var(--raio-lg);
  box-shadow: var(--sombra-lg);
}

.about-photo:hover::before {
  transform: translate(-10px, -10px) rotate(-2deg);
  background: var(--rosa-claro);
}

/* Dark Mode: Decorative Backdrop */
body.dark-mode .about-photo::before {
  background: linear-gradient(135deg, #2D0816 0%, #1A040D 100%);
  border-color: rgba(233, 30, 99, 0.3);
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}
.about-badge {
  position:absolute; bottom:-22px; right:-16px;
  background:var(--rosa); color:var(--branco);
  padding:var(--space-md) var(--space-lg); border-radius:var(--raio-md);
  text-align:center; box-shadow:var(--sombra-rosa);
}
.about-badge strong { display:block; font-family:var(--font-titulo); font-size:1.8rem; }
.about-badge span { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.9; }
.about-text p { margin-bottom:var(--space-md); }

/* Continue Lendo - Sobre a Autora */
.about-text-collapse {
  position: relative;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-text-collapse::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 140px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--branco, #ffffff) 100%);
  pointer-events: none;
  transition: opacity 0.4s ease;
}

body.dark-mode .about-text-collapse::after {
  background: linear-gradient(to bottom, rgba(18, 18, 18, 0) 0%, #121212 100%);
}

.about-text-collapse.is-expanded {
  max-height: none !important;
  overflow: visible !important;
}

.about-text-collapse.is-expanded::after {
  opacity: 0;
  pointer-events: none;
}

.animate-bounce-y {
  animation: bounceY 1.8s infinite;
}

@keyframes bounceY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

.about-counters { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md); margin:var(--space-xl) 0; padding:var(--space-xl) 0; border-top:1px solid var(--cinza-borda); border-bottom:1px solid var(--cinza-borda); }
.counter-item { text-align:center; }
.counter-number { font-family:var(--font-titulo); font-size:2.4rem; font-weight:700; color:var(--rosa); display:block; line-height:1; }
.counter-label { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--cinza-medio); font-weight:700; margin-top:4px; display:block; }

/* ===== MENTORA ROSA ===== */
.mentora-section {
  background: linear-gradient(135deg, var(--rosa-palido) 0%, var(--rosa-claro) 100%);
  padding: var(--space-3xl) var(--space-xl);
  position: relative; overflow: hidden;
  max-width: 1240px; margin: var(--space-xl) auto;
  border-radius: 32px;
  width: 95%;
}
/* padrÃ£o de fundo sutil */
.mentora-section::after {
  content:''; position:absolute; inset:0; z-index:0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.25) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  pointer-events:none;
}
.mentora-inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; position:relative; z-index:1; }
.mentora-content .section-eyebrow { color:var(--rosa-escuro); }
.mentora-content .section-title { color:var(--rosa-escuro); }
.mentora-content p { color:var(--rosa-escuro); opacity:0.82; }
.mentora-features { margin:var(--space-lg) 0; display:flex; flex-direction:column; gap:var(--space-sm); }
.mentora-feature { display:flex; align-items:flex-start; gap:var(--space-sm); }
.mentora-feature-icon { font-size:1.3rem; flex-shrink:0; color:var(--rosa-escuro); }
.mentora-feature-text { font-size:0.95rem; color:var(--rosa-escuro); opacity:0.85; line-height:1.6; }
.mentora-visual { display:flex; justify-content:center; }
.mentora-card {
  background:rgba(255,255,255,0.82);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.9);
  border-radius:var(--raio-lg); padding:var(--space-xl);
  box-shadow:var(--sombra-md); text-align:center; max-width:320px;
}
.mentora-rose { font-size:4.5rem; margin-bottom:var(--space-md); animation: pulse-soft 4s ease-in-out infinite; }
.mentora-card h3 { font-family:var(--font-titulo); font-style:italic; color:var(--rosa-escuro); margin-bottom:var(--space-sm); }
.mentora-card p { font-size:0.9rem; color:var(--rosa-escuro); opacity:0.78; }

/* ===== PROGRAM CARDS ===== */
.programs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:var(--space-lg); }
.program-card {
  background:var(--branco); border:1px solid var(--cinza-borda);
  border-radius:var(--raio-md); padding:var(--space-xl);
  transition:var(--transicao); position:relative; overflow:hidden;
}
.program-card::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:3px; background:var(--rosa); transition:width 0.4s ease;
}
.program-card:hover { box-shadow:var(--sombra-lg); transform:translateY(-6px); }
.program-card:hover::after { width:100%; }
.program-icon { font-size:2rem; margin-bottom:var(--space-md); display:flex; align-items:center; color:var(--rosa); }
.program-icon ph { stroke-width:1.2; }
.program-title { font-family:var(--font-titulo); font-size:1.15rem; font-style:italic; color:var(--cinza-texto); margin-bottom:var(--space-xs); }
.program-desc { font-size:0.88rem; color:var(--cinza-medio); line-height:1.7; margin-bottom:var(--space-md); }
.program-tag { display:inline-block; font-size:0.66rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--rosa); background:var(--rosa-palido); padding:3px 10px; border-radius:var(--raio-pill); margin-bottom:var(--space-sm); }

/* ===== TESTIMONIALS ===== */
.testimonial-slider { max-width:760px; margin:0 auto; overflow:hidden; position:relative; }
.testimonial-track { display:flex; transition:transform 0.5s ease; }
.testimonial-card { flex:0 0 100%; padding:var(--space-lg); text-align:center; }
.testimonial-stars { color:var(--dourado); font-size:1.05rem; margin-bottom:var(--space-md); letter-spacing:4px; }
.testimonial-quote {
  font-family:var(--font-titulo); font-size:1.15rem; font-style:italic;
  color:var(--cinza-texto); line-height:1.75; margin-bottom:var(--space-xl);
  position:relative; padding:0 var(--space-lg);
}
.testimonial-quote::before {
  content:'"'; font-size:5rem; color:var(--rosa-claro);
  font-family:var(--font-titulo); line-height:0.4;
  position:absolute; left:0; top:var(--space-sm);
}
.testimonial-author { display:flex; align-items:center; justify-content:center; gap:var(--space-md); }
.author-avatar { width:50px; height:50px; border-radius:50%; border:2px solid var(--rosa-claro); background:var(--rosa-palido); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.4rem; }
.author-name { font-family:var(--font-titulo); font-size:0.95rem; font-weight:700; color:var(--cinza-texto); }
.author-role { font-size:0.73rem; color:var(--rosa); font-weight:700; letter-spacing:0.09em; text-transform:uppercase; }
.slider-controls { display:flex; align-items:center; justify-content:center; gap:var(--space-md); margin-top:var(--space-xl); }
.slider-prev, .slider-next { width:40px; height:40px; border-radius:50%; border:2px solid var(--rosa); color:var(--rosa); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transicao); font-size:1rem; }
.slider-prev:hover, .slider-next:hover { background:var(--rosa); color:var(--branco); }
.slider-dots { display:flex; gap:8px; }
.slider-dot { width:8px; height:8px; border-radius:50%; border:2px solid var(--rosa); background:transparent; cursor:pointer; transition:var(--transicao); }
.slider-dot.active { background:var(--rosa); }

/* ===== BLOG â€” LAYOUT COM SIDEBAR ===== */
.blog-layout { display:grid; grid-template-columns:1fr 300px; gap:var(--space-2xl); align-items:start; }
.blog-grid { display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
.blog-grid.two-col { grid-template-columns:1fr 1fr; }
.blog-card { background:var(--branco); border:1px solid var(--cinza-borda); border-radius:var(--raio-md); overflow:hidden; transition:var(--transicao); }
.blog-card:hover { box-shadow:var(--sombra-lg); transform:translateY(-5px); }
.blog-img { aspect-ratio:16/9; overflow:hidden; background:var(--rosa-palido); position:relative; display:flex; align-items:center; justify-content:center; }
.blog-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.blog-card:hover .blog-img img { transform:scale(1.05); }
.blog-img-placeholder { font-size:2.2rem; opacity:0.3; }
.blog-content { padding:var(--space-lg); }
.blog-category { display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:0.17em; text-transform:uppercase; color:var(--rosa); border-bottom:1.5px solid var(--rosa-claro); padding-bottom:2px; margin-bottom:var(--space-sm); }
.blog-title { font-family:var(--font-titulo); font-size:1.05rem; font-style:italic; color:var(--cinza-texto); margin-bottom:var(--space-xs); line-height:1.4; }
.blog-excerpt { font-size:0.86rem; color:var(--cinza-medio); line-height:1.65; margin-bottom:var(--space-sm); }
.blog-meta { display:flex; gap:var(--space-md); margin-bottom:var(--space-md); flex-wrap:wrap; }
.blog-meta span { font-size:0.72rem; color:var(--cinza-medio); opacity:0.7; display:flex; align-items:center; gap:4px; }

/* Sidebar do blog */
.blog-sidebar { display:flex; flex-direction:column; gap:var(--space-lg); position:sticky; top:90px; }
.sidebar-widget { background:var(--branco); border:1px solid var(--cinza-borda); border-radius:var(--raio-md); padding:var(--space-lg); }
.sidebar-title { font-family:var(--font-titulo); font-size:0.95rem; font-style:italic; color:var(--cinza-texto); margin-bottom:var(--space-md); padding-bottom:var(--space-xs); border-bottom:2px solid var(--rosa-palido); display:flex; align-items:center; gap:8px; }
.sidebar-search { display:flex; gap:8px; }
.sidebar-search input { flex:1; padding:0.6em 1em; border:1px solid var(--cinza-borda); border-radius:var(--raio-pill); font-family:var(--font-corpo); font-size:0.85rem; outline:none; transition:var(--transicao); }
.sidebar-search input:focus { border-color:var(--rosa); box-shadow:0 0 0 3px rgba(233,30,99,0.1); }
.sidebar-search button { width:36px; height:36px; border-radius:50%; background:var(--rosa); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--transicao); }
.sidebar-search button:hover { background:var(--rosa-escuro); }
.category-list { display:flex; flex-direction:column; gap:6px; }
.category-item { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--cinza-borda); }
.category-item:last-child { border-bottom:none; }
.category-item a { font-size:0.85rem; color:var(--cinza-texto); transition:var(--transicao); }
.category-item a:hover { color:var(--rosa); }
.category-count { font-size:0.72rem; background:var(--rosa-palido); color:var(--rosa); padding:1px 8px; border-radius:var(--raio-pill); font-weight:700; }
.recent-post { display:flex; gap:var(--space-sm); padding:var(--space-sm) 0; border-bottom:1px solid var(--cinza-borda); align-items:flex-start; }
.recent-post:last-child { border-bottom:none; }
.recent-post-img { width:52px; height:52px; border-radius:var(--raio-sm); background:var(--rosa-palido); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:1.3rem; overflow:hidden; }
.recent-post-img img { width:100%; height:100%; object-fit:cover; }
.recent-post-text a { font-size:0.82rem; font-family:var(--font-titulo); font-style:italic; color:var(--cinza-texto); line-height:1.3; display:block; margin-bottom:3px; transition:var(--transicao); }
.recent-post-text a:hover { color:var(--rosa); }
.recent-post-date { font-size:0.7rem; color:var(--cinza-medio); display:flex; align-items:center; gap:3px; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:6px; }
.tag-cloud a { font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:4px 10px; border-radius:var(--raio-pill); border:1px solid var(--cinza-borda); color:var(--cinza-medio); transition:var(--transicao); }
.tag-cloud a:hover { border-color:var(--rosa); color:var(--rosa); background:var(--rosa-palido); }

/* ===== NEWSLETTER ===== */
.section-newsletter {
  background: var(--rosa-palido);
  padding: var(--space-3xl) var(--space-xl);
  position: relative; overflow: hidden;
  max-width: 1240px; margin: var(--space-xl) auto;
  border-radius: 32px;
  width: 95%;
}
.section-newsletter::before {
  content:''; position:absolute; inset:0;
  background-image: repeating-linear-gradient(
    45deg,
    var(--branco) 0, var(--branco) 1px,
    transparent 1px, transparent 16px
  );
  opacity:0.6; pointer-events:none;
}
.newsletter-inner { position:relative; z-index:1; max-width:580px; margin:0 auto; text-align:center; }
.newsletter-title { font-family:var(--font-titulo); font-size:var(--fs-h2); color:var(--cinza-texto); margin-bottom:var(--space-sm); }
.newsletter-subtitle { font-size:0.98rem; color:var(--cinza-medio); margin-bottom:var(--space-xl); line-height:1.8; }
.newsletter-form { display:flex; flex-direction:column; gap:var(--space-sm); }
.newsletter-form input {
  width:100%; padding:0.9em 1.4em;
  background:var(--branco); border:1px solid var(--cinza-borda);
  border-radius:var(--raio-pill); font-family:var(--font-corpo);
  font-size:var(--fs-corpo); transition:var(--transicao); color:var(--cinza-texto);
}
.newsletter-form input:focus { outline:none; border-color:var(--rosa); box-shadow:0 0 0 3px rgba(233,30,99,0.1); }
.newsletter-note { font-size:0.75rem; color:var(--cinza-medio); margin-top:var(--space-sm); opacity:0.7; }

/* ===== DETAIL PAGE (Livro individual) ===== */
.book-detail-grid { display:grid; grid-template-columns:300px 1fr; gap:var(--space-2xl); align-items:start; }
.book-cover-3d {
  position: relative; border-radius: var(--raio-md);
  box-shadow: 8px 12px 40px rgba(0,0,0,0.18), 2px 4px 12px rgba(0,0,0,0.1);
  overflow: hidden; aspect-ratio: 2/3; background: var(--rosa-palido);
  transition: var(--transicao);
}
.book-cover-3d:hover { transform: perspective(800px) rotateY(-8deg) translateY(-4px); box-shadow: 16px 20px 50px rgba(0,0,0,0.2); }
.book-cover-3d img { width:100%; height:100%; object-fit:cover; }
.book-actions { display:flex; flex-direction:column; gap:var(--space-sm); margin:var(--space-lg) 0; }
.book-detail-meta { display:flex; flex-direction:column; gap:10px; margin:var(--space-lg) 0; padding:var(--space-lg); background:var(--cinza-fundo); border-radius:var(--raio-md); border:1px solid var(--cinza-borda); }
.meta-row { display:flex; align-items:center; gap:var(--space-sm); font-size:0.88rem; }
.meta-label { color:var(--cinza-medio); min-width:90px; display:flex; align-items:center; gap:6px; }
.meta-value { color:var(--cinza-texto); font-weight:600; }
.book-synopsis h3 { font-family:var(--font-titulo); font-size:1.2rem; margin-bottom:var(--space-md); color:var(--cinza-texto); }
.book-synopsis p { font-size:0.95rem; line-height:1.9; color:var(--cinza-medio); margin-bottom:var(--space-md); }
.book-rating { display:flex; align-items:center; gap:var(--space-sm); margin-bottom:var(--space-lg); }
.stars-big { color:var(--dourado); font-size:1.3rem; letter-spacing:3px; }
.rating-text { font-size:0.85rem; color:var(--cinza-medio); }
.related-books .section-eyebrow { margin-bottom:var(--space-sm); }

/* ===== FOOTER ===== */
.footer { background:#1C1C1C; color:rgba(255,255,255,0.6); padding:var(--space-2xl) 0 var(--space-xl); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-xl); margin-bottom:var(--space-2xl); }
.footer-brand .footer-logo { 
  font-family:var(--font-titulo); font-size:1.35rem; font-style:italic; 
  color:var(--branco); margin-bottom:var(--space-md); 
  display:flex; align-items:center; gap:8px;
}
.footer-logo .logo-flower { height: 22px; filter: invert(30%) sepia(98%) saturate(2250%) hue-rotate(320deg) brightness(85%) contrast(90%); }
.footer-brand .footer-logo span { color:var(--rosa); }
.footer-brand p { font-size:0.84rem; line-height:1.8; color:rgba(255,255,255,0.45); }
.footer-social { display:flex; gap:var(--space-sm); margin-top:var(--space-md); }
.footer-social a { width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.5); font-size:0.95rem; transition:var(--transicao); }
.footer-social a:hover { background:var(--rosa); border-color:var(--rosa); color:var(--branco); }
.footer-col h4 { font-family:var(--font-corpo); font-size:0.68rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:700; color:var(--rosa); margin-bottom:var(--space-md); }
.footer-col ul { display:flex; flex-direction:column; gap:var(--space-sm); }
.footer-col a { color:rgba(255,255,255,0.45); font-size:0.84rem; transition:var(--transicao); display:flex; align-items:center; gap:6px; }
.footer-col a:hover { color:var(--rosa); }
.footer-bottom { padding-top:var(--space-lg); border-top:1px solid rgba(255,255,255,0.07); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-sm); }
.footer-bottom p { font-size:0.75rem; margin:0; color:rgba(255,255,255,0.28); }
.footer-bottom a { color:rgba(255,255,255,0.28); font-size:0.75rem; transition:var(--transicao); }
.footer-bottom a:hover { color:var(--rosa); }

/* ===== FLOATING ===== */
.whatsapp-float {
  position:fixed; bottom:24px; right:24px; z-index:9999;
  width:56px; height:56px; border-radius:50%;
  background:var(--rosa); color:var(--branco);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; box-shadow:0 4px 16px rgba(233,30,99,0.4);
  transition:var(--transicao);
}
.whatsapp-float:hover { transform:scale(1.12); background:var(--rosa-escuro); }
@keyframes pulsePink { 0%,100% { box-shadow:0 4px 16px rgba(233,30,99,0.35); } 50% { box-shadow:0 4px 32px rgba(233,30,99,0.65); } }
.whatsapp-float { animation:pulsePink 2.2s ease-in-out infinite; }
.whatsapp-float:hover { animation:none; }

.scroll-top {
  position:fixed; bottom:90px; right:24px; z-index:9999;
  width:40px; height:40px; border-radius:50%;
  background:var(--branco); color:var(--rosa); border:2px solid var(--rosa);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:var(--transicao);
  opacity:0; pointer-events:none; box-shadow:var(--sombra-sm);
  font-size:1rem;
}
.scroll-top.visible { opacity:1; pointer-events:all; }
.scroll-top:hover { background:var(--rosa); color:var(--branco); }

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp   { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn     { from { opacity:0; } to { opacity:1; } }
.animate-fade-up    { animation:fadeInUp 0.7s ease both; }
.animate-fade-in    { animation:fadeIn 0.7s ease both; }
.delay-1 { animation-delay:0.1s; } .delay-2 { animation-delay:0.2s; }
.delay-3 { animation-delay:0.3s; } .delay-4 { animation-delay:0.4s; }
.delay-5 { animation-delay:0.5s; }

/* ===== UTILITIES ===== */
.mt-sm{margin-top:var(--space-sm);} .mt-md{margin-top:var(--space-md);} .mt-lg{margin-top:var(--space-lg);} .mt-xl{margin-top:var(--space-xl);}
.mb-0{margin-bottom:0!important;}
.d-flex{display:flex;} .align-center{align-items:center;} .gap-md{gap:var(--space-md);} .gap-lg{gap:var(--space-lg);}
.w-full{width:100%;} .text-sm{font-size:var(--fs-small);}

/* ===== CONTACT FORM ===== */
.contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--space-2xl); align-items:start; }
.contact-form { background:var(--branco); border:1px solid var(--cinza-borda); border-radius:var(--raio-lg); padding:var(--space-xl); box-shadow:var(--sombra-md); }
.contact-form h3 { font-family:var(--font-titulo); font-size:1.35rem; margin-bottom:var(--space-lg); }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md); }
.form-group { margin-bottom:var(--space-md); }
.form-group label { display:block; font-size:0.75rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--cinza-texto); margin-bottom:.35rem; display:flex; align-items:center; gap:6px; }
.form-group input, .form-group select, .form-group textarea {
  width:100%; padding:.8em 1.2em; border:1px solid var(--cinza-borda);
  border-radius:var(--raio-sm); font-family:var(--font-corpo); font-size:.92rem;
  color:var(--cinza-texto); transition:var(--transicao); background:var(--branco);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--rosa); box-shadow:0 0 0 3px rgba(233,30,99,.1); }
.form-group textarea { resize:vertical; min-height:120px; }
.form-check { display:flex; align-items:flex-start; gap:10px; font-size:.86rem; color:var(--cinza-medio); }
.form-check input[type=checkbox] { width:auto; margin-top:3px; flex-shrink:0; }
.contact-info-cards { display:flex; flex-direction:column; gap:var(--space-md); }
.info-card { background:var(--cinza-fundo); border-radius:var(--raio-md); padding:var(--space-lg); border:1px solid var(--cinza-borda); display:flex; gap:var(--space-md); align-items:flex-start; transition:var(--transicao); }
.info-card:hover { border-color:var(--rosa-claro); background:var(--rosa-palido); }
.info-card-icon { font-size:1.5rem; flex-shrink:0; width:44px; height:44px; background:var(--rosa-palido); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--rosa); border:1px solid var(--rosa-claro); }
.info-card h4 { font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--rosa); margin-bottom:.25rem; }
.info-card p { font-size:.88rem; color:var(--cinza-medio); margin:0; line-height:1.6; }
.info-card a { color:var(--rosa); font-weight:600; font-size:.88rem; }
.social-links { display:flex; gap:8px; flex-wrap:wrap; margin-top:var(--space-sm); }
.social-link { display:flex; align-items:center; gap:6px; padding:7px 14px; border:1.5px solid var(--cinza-borda); border-radius:var(--raio-pill); font-size:.78rem; font-weight:700; color:var(--cinza-texto); transition:var(--transicao); }
.social-link:hover { border-color:var(--rosa); color:var(--rosa); background:var(--rosa-palido); }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  :root { --space-3xl:5rem; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .hero-inner { grid-template-columns:1fr; }
  .hero-visual { display:none; }
  .about-grid { grid-template-columns:1fr; }
  .mentora-inner { grid-template-columns:1fr; }
  .blog-layout { grid-template-columns:1fr; }
  .blog-sidebar { position:static; }
  .book-detail-grid { grid-template-columns:220px 1fr; }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  :root {
    --fs-hero:clamp(2rem,8vw,2.8rem);
    --fs-h1:clamp(1.8rem,7vw,2.4rem);
    --fs-h2:clamp(1.5rem,5vw,2rem);
    --space-3xl:3.5rem;
  }
  .nav-menu { display:none; }
  .mobile-menu-btn { display:flex; }
  .hero-stats { flex-wrap:wrap; gap:var(--space-lg); }
  .books-grid { grid-template-columns:repeat(2,1fr); }
  .about-counters { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .blog-grid.two-col { grid-template-columns:1fr; }
  .book-detail-grid { grid-template-columns:1fr; }
  .form-grid-2 { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .container { padding:0 var(--space-sm); }
  .section { padding:var(--space-2xl) 0; }
  .books-grid { grid-template-columns:repeat(2,1fr); gap:var(--space-sm); }
  .hero-stats { display:none; }
}

/* ===== REVIEWS & COMMENTS (Estilo Amazon Premium) ===== */
.section-reviews { border-top: 1px solid var(--cinza-borda); margin-top: var(--space-2xl); padding-top: var(--space-2xl); }
.reviews-layout { display: grid; grid-template-columns: 340px 1fr; gap: var(--space-3xl); align-items: start; }

/* Resumo de Notas */
.reviews-summary-card {
  position: sticky;
  top: 120px;
  padding: var(--space-xl);
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-lg);
  box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}

.summary-header { margin-bottom: var(--space-lg); text-align: center; }
.summary-header .section-title { margin-bottom: var(--space-sm); font-size: 1.4rem !important; }

.summary-avg { display: flex; align-items: baseline; justify-content: center; gap: 10px; margin-bottom: 5px; }
.avg-number { font-family: var(--font-titulo); font-size: 3.8rem; font-weight: 700; color: var(--cinza-texto); line-height: 1; text-shadow: 1px 1px 0 rgba(0,0,0,0.05); }
.avg-max { font-size: 1.2rem; color: var(--cinza-medio); font-weight: 600; opacity: 0.7; }
.summary-stars { color: var(--dourado); font-size: 1.3rem; letter-spacing: 3px; margin: 10px 0; }
.summary-total { font-size: 0.9rem; color: var(--cinza-medio); font-weight: 600; }

/* Barras de DistribuiÃ§Ã£o */
.rating-bars { display: flex; flex-direction: column; gap: 12px; margin: var(--space-xl) 0; }
.rating-bar-row { display: flex; align-items: center; gap: 15px; font-size: 0.88rem; text-decoration: none; color: var(--cinza-texto); transition: var(--transicao); }
.bar-label { min-width: 75px; white-space: nowrap; font-weight: 600; color: var(--cinza-medio); }
.bar-container { flex: 1; height: 10px; background: var(--cinza-fundo); border-radius: var(--raio-pill); overflow: hidden; border: 1px solid var(--cinza-borda); position: relative; }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--dourado), #FFD700); border-radius: var(--raio-pill); box-shadow: 0 0 10px rgba(255, 215, 0, 0.3); }
.bar-percent { min-width: 40px; text-align: right; color: var(--cinza-texto); font-weight: 700; font-size: 0.82rem; }

/* Lista de ComentÃ¡rios */
.reviews-list { display: flex; flex-direction: column; gap: var(--space-xl); }
.review-item {
  padding: var(--space-xl);
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-md);
  box-shadow: 0 2px 12px rgba(0,0,0,0.03);
  transition: var(--transicao);
  animation: fadeIn 0.8s ease backwards;
  margin-bottom: var(--space-lg);
}

.review-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  border-color: var(--rosa-claro);
}

.review-user { display: flex; align-items: center; gap: 15px; margin-bottom: var(--space-md); }
.user-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--rosa-palido); color: var(--rosa); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; border: 1.5px solid var(--rosa-claro); }
.user-name { font-size: 1rem; font-weight: 700; color: var(--cinza-texto); }

.review-meta { display: flex; align-items: center; gap: 12px; margin-bottom: var(--space-sm); }
.review-stars { color: var(--dourado); font-size: 1rem; letter-spacing: 1px; }
.review-title { font-size: 1.1rem; font-weight: 700; color: var(--cinza-texto); }

.review-date { font-size: 0.84rem; color: var(--cinza-medio); margin-bottom: var(--space-lg); }

.review-text { font-size: 1rem; line-height: 1.85; color: var(--cinza-medio); }

.review-helpful { font-size: 0.82rem; color: var(--cinza-medio); margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: 1px solid var(--cinza-borda); display: flex; align-items: center; gap: 20px; }
.btn-helpful { padding: 8px 18px; border: 1.5px solid var(--cinza-borda); border-radius: var(--raio-sm); transition: var(--transicao); font-size: 0.8rem; font-weight: 600; color: var(--cinza-medio); background: var(--branco); cursor: pointer; }
.btn-helpful:hover { border-color: var(--rosa); color: var(--rosa); background: var(--rosa-palido); }

/* FormulÃ¡rio de AvaliaÃ§Ã£o */
.write-review-section {
  margin-top: var(--space-3xl);
  padding: var(--space-2xl);
  background: var(--cinza-fundo);
  border-radius: var(--raio-lg);
  border: 1px solid var(--cinza-borda);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.write-review-section h3 { font-size: 1.5rem; margin-bottom: var(--space-xs); }

.star-input-container { display: flex; align-items: center; gap: 15px; margin-bottom: var(--space-md); }
.star-input { display: flex; gap: 5px; color: var(--cinza-borda); font-size: 1.6rem; cursor: pointer; }
.star-input i.active { color: var(--dourado); }
.star-label-text { font-size: 0.9rem; font-weight: 700; color: var(--rosa); font-family: var(--font-titulo); font-style: italic; }

@media (max-width: 1024px) {
  .reviews-layout { grid-template-columns: 1fr; }
  .reviews-summary-card { position: static; margin-bottom: var(--space-2xl); }
}

/* --- REFINAMENTO DARK MODE AGENTE (Livros & Contato) --- */
body.dark-mode .book-meta-table {
  background: #181818 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}
body.dark-mode .meta-row {
  border-bottom-color: rgba(255,255,255,0.05) !important;
}
body.dark-mode .meta-label {
  color: rgba(255,255,255,0.9) !important;
}
body.dark-mode .meta-value {
  color: rgba(255,255,255,0.6) !important;
}
body.dark-mode .user-name { color: #fff !important; }
body.dark-mode .review-date { color: rgba(255,255,255,0.5) !important; }

body.dark-mode .contact-form,
body.dark-mode .info-card {
  background: #181818 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}
body.dark-mode .contact-form h3,
body.dark-mode .info-card h4,
body.dark-mode .info-card p,
body.dark-mode .info-card i {
  color: #fff !important;
}
body.dark-mode .form-group input,
body.dark-mode .form-group select,
body.dark-mode .form-group textarea {
  background-color: #121212 !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: #fff !important;
}

/* === REFINAMENTO FINAL DARK MODE (LAPIDACAO) === */
body.dark-mode .sidebar-widget,
body.dark-mode .sidebar-widget.pattern-light,
body.dark-mode div.pattern-light {
    background: #181818 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .sidebar-title {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

body.dark-mode .reviews-summary-card,
body.dark-mode .review-item {
    background: #1A1A1A !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important;
    color: #fff !important;
}

body.dark-mode .review-item:hover {
    border-color: var(--rosa) !important;
    background: #202020 !important;
}

body.dark-mode .review-item .review-helpful {
    border-top-color: rgba(255,255,255,0.05) !important;
}

body.dark-mode .review-item .btn-helpful {
    background: transparent !important;
    color: rgba(255,255,255,0.6) !important;
    border-color: rgba(255,255,255,0.1) !important;
}

body.dark-mode .avg-number { color: #FFF !important; }
body.dark-mode .avg-max, 
body.dark-mode .bar-label,
body.dark-mode .summary-total { color: rgba(255,255,255,0.5) !important; }

body.dark-mode .bar-container { background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; }
body.dark-mode .bar-fill { box-shadow: 0 0 15px rgba(255, 215, 0, 0.2); }

body.dark-mode .review-text,
body.dark-mode .summary-total { color: rgba(255, 255, 255, 0.7) !important; }

body.dark-mode .bar-container { background: rgba(255, 255, 255, 0.1) !important; }

/* Correção de Seções Globais e Transições */
body.dark-mode .book-detail-page,
body.dark-mode section.section-reviews,
body.dark-mode .write-review-section {
    background: #121212 !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
    border-radius: var(--raio-xl) !important;
    padding: var(--space-2xl) !important;
}

body.dark-mode .rc-title { color: rgba(255, 255, 255, 0.9) !important; }
body.dark-mode .divider-rosa { opacity: 0.2 !important; }

/* Patch para a seção inferior de "Relacionados" e "Explore" */
body.dark-mode main.book-detail-page > .container > div:last-child {
    background: transparent !important;
}

body.dark-mode .sidebar-widget p { color: rgba(255,255,255,0.6) !important; }

/* === AJUSTES DE PRECISAO: PROGRAMAS, MIDIA E BLOG === */
.press-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-xl);
}

.press-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: var(--branco);
  border: 1.5px solid var(--cinza-borda);
  border-radius: var(--raio-pill);
  color: var(--cinza-texto);
  font-family: var(--font-titulo);
  font-size: 0.95rem;
  font-weight: 600;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  text-decoration: none;
}

.press-btn i {
  font-size: 1.1rem;
  color: var(--rosa);
  opacity: 0.7;
  transition: var(--transicao);
}

.press-btn:hover {
  border-color: var(--rosa);
  color: var(--rosa);
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.press-btn:hover i {
  opacity: 1;
  transform: translate(2px, -2px);
}

/* Dark Mode: Minimalist Press Buttons */
body.dark-mode .press-btn {
  background: rgba(255,255,255,0.03);
  border-color: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.8);
}

body.dark-mode .press-btn:hover {
  background: rgba(233,30,99,0.08);
  border-color: var(--rosa);
  color: var(--rosa);
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
body.dark-mode .rc-cover,
body.dark-mode .book-cover-wrap { 
    background: #181818 !important; 
    border: 1px solid rgba(255,255,255,0.05) !important;
}

body.dark-mode section.pattern-light, 
body.dark-mode div.pattern-light,
body.dark-mode .section-cta-rosa.pattern-light { 
    background: #121212 !important; 
    border-color: rgba(255,255,255,0.08) !important; 
}

body.dark-mode .section-cta-rosa * { color: #fff !important; }
body.dark-mode .section-cta-rosa .newsletter-subtitle { color: rgba(255,255,255,0.6) !important; }

/* Blog Newsletter e Inputs */
body.dark-mode .contact-form input, 
body.dark-mode .sidebar-widget input,
body.dark-mode .form-group input,
body.dark-mode .form-group textarea { 
    background: #181818 !important; 
    border-color: rgba(255,255,255,0.1) !important; 
    color: #fff !important; 
}

body.dark-mode .contact-form input::placeholder,
body.dark-mode .sidebar-widget input::placeholder {
    color: rgba(255,255,255,0.3) !important;
}

/* Links e Tags do Blog */
body.dark-mode .tag-item, 
body.dark-mode .category-list a,
body.dark-mode .sidebar-widget a[href*="blog"] { 
    color: var(--rosa) !important; 
}

body.dark-mode .sidebar-widget a { 
    color: rgba(255,255,255,0.8) !important; 
}

body.dark-mode .sidebar-widget a:hover {
    color: var(--rosa) !important;
}

/* Ajuste de Contraste para Datas e Metadados no Blog */
body.dark-mode .blog-post-meta,
body.dark-mode .post-date {
    color: rgba(255,255,255,0.5) !important;
}

/* === REFINAMENTO PRISM 5.0: ESPACAMENTOS E CTAS PREMIUM === */

/* Pagina de Detalhes do Livro */
.book-detail-grid { 
    gap: var(--space-3xl) !important; 
    margin-top: var(--space-xl);
}

.book-synopsis { 
    margin: var(--space-xl) 0 !important; 
}

.book-meta-table { 
    margin: var(--space-2xl) 0 !important; 
}

.section-reviews { 
    margin-top: var(--space-3xl) !important; 
    padding-top: var(--space-2xl);
    border-top: 1px solid var(--cinza-borda);
}

/* CTAs Premium (Estilo Prism) */
.section-cta-rosa, 
.section-cta-black,
section[class*="section-cta"] {
    border-radius: 48px !important;
    margin: var(--space-2xl) auto !important;
    padding: var(--space-2xl) var(--space-xl) !important;
    max-width: 1200px;
    width: calc(100% - 40px);
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 50px rgba(0,0,0,0.08) !important;
}

/* Padrao de fundo para CTAs (Pattern) */
.section-cta-rosa.pattern-light::before,
.section-cta-rosa.pattern-dark::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    opacity: 0.07;
    pointer-events: none;
    background-image: radial-gradient(var(--rosa) 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Dark Mode: Neutralizacao Absolute */
body.dark-mode .book-cover-3d,
body.dark-mode .rc-cover,
body.dark-mode .book-cover-wrap {
    background: #181818 !important;
    border-color: rgba(255,255,255,0.05) !important;
}

body.dark-mode .section-cta-rosa,
body.dark-mode .section-cta-black {
    background: #181818 !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
}

body.dark-mode .section-reviews {
    border-top-color: rgba(255,255,255,0.08) !important;
}

/* Ajuste de Botao Prism */
.btn-lg {
    padding: 1rem 2.5rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.85rem !important;
}

/* === CTA PINK IMPACT: CENTRALIZACAO E CONTRASTE === */
.section-cta-rosa {
    text-align: center !important;
    background: var(--rosa) !important;
    color: #fff !important;
}

.section-cta-rosa .section-eyebrow {
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: var(--space-sm);
}

.section-cta-rosa .newsletter-title {
    color: #fff !important;
}

.section-cta-rosa .newsletter-subtitle {
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 0 auto var(--space-xl) !important;
}

/* Botoes de Alto Contraste para Fundo Rosa */
.section-cta-rosa .btn-primary {
    background: #fff !important;
    color: var(--rosa) !important;
    border: none !important;
}

.section-cta-rosa .btn-primary:hover {
    background: var(--cinza-fundo) !important;
    transform: translateY(-3px);
}

.section-cta-rosa .btn-secondary,
.section-cta-rosa .btn-ghost {
    background: transparent !important;
    border: 2px solid #fff !important;
    color: #fff !important;
}

.section-cta-rosa .btn-secondary:hover,
.section-cta-rosa .btn-ghost:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-3px);
}

/* Garantir que o Pattern apareca sutilmente no rosa */
body.dark-mode .section-cta-rosa.pattern-light::before {
    opacity: 0.15 !important;
    background-image: radial-gradient(#fff 1px, transparent 1px);
}

/* === CTA PINK IMPACT REINFORCED: FORCANDO O ROSA NO DARK MODE === */
body.dark-mode .section-cta-rosa,
.section-cta-rosa {
    background: var(--rosa) !important;
    color: #fff !important;
    text-align: center !important;
}

body.dark-mode .section-cta-rosa * {
    color: #fff !important;
}

/* Pattern visivel no Dark Mode sobre o rosa */
body.dark-mode .section-cta-rosa.pattern-light::before {
    opacity: 0.15 !important;
    background-image: radial-gradient(#fff 1px, transparent 1px) !important;
}

/* === ULTRA PINK REINFORCED: VENCENDO A ESPECIFICIDADE DO DARK MODE === */
body.dark-mode section.section-cta-rosa.pattern-light,
body.dark-mode .section-cta-rosa,
.section-cta-rosa {
    background: var(--rosa) !important;
    color: #fff !important;
}

body.dark-mode section.section-cta-rosa.pattern-light * {
    color: #fff !important;
}
/* ===== PROGRAM SINGLE PAGE ===== */
.program-hero, .blog-hero, .media-hero {
  padding: calc(85px + var(--space-2xl)) 0 var(--space-xl);
  background: var(--cinza-fundo);
  border-bottom: 1px solid var(--cinza-borda);
  position: relative;
  overflow: hidden;
}

.program-hero .container, .blog-hero .container, .media-hero .container { position: relative; z-index: 2; }

/* Ajuste Premium de Hero com Imagem de Fundo para Mídia e Programas */
.media-hero.has-bg,
.program-hero.has-bg {
  min-height: 380px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.media-hero.has-bg::before,
.program-hero.has-bg::before {
  content: '';
  position: absolute;
  inset: -20px;
  z-index: 0;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(5px);
}
.media-hero.has-bg::after,
.program-hero.has-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(18, 18, 18, 0.82) 0%,
    rgba(18, 18, 18, 0.65) 50%,
    rgba(233, 30, 99, 0.4) 100%
  );
}
.media-hero.has-bg .single-breadcrumb,
.program-hero.has-bg .single-breadcrumb {
  color: rgba(255, 255, 255, 0.7);
}
.media-hero.has-bg .single-breadcrumb a,
.program-hero.has-bg .single-breadcrumb a {
  color: var(--rosa-claro);
}
.media-hero.has-bg .single-breadcrumb a:hover,
.program-hero.has-bg .single-breadcrumb a:hover {
  color: var(--branco);
}
.media-hero.has-bg .single-breadcrumb span,
.program-hero.has-bg .single-breadcrumb span {
  color: rgba(255, 255, 255, 0.9);
}
.media-hero.has-bg .hero-meta,
.program-hero.has-bg .hero-meta {
  color: rgba(255, 255, 255, 0.8) !important;
}

.program-video-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: var(--raio-lg);
  margin-bottom: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 30px 60px rgba(0,0,0,0.3);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.05);
}

.program-video-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 60%);
  z-index: 1;
}

.program-video-wrap iframe,
.program-video-wrap object,
.program-video-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 2;
}

.play-btn-large {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--rosa);
  color: #fff;
  font-size: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  transition: var(--transicao);
  box-shadow: 0 15px 35px rgba(233, 30, 99, 0.4);
}

.play-btn-large:hover {
  transform: scale(1.1);
  background: var(--rosa-escuro);
  box-shadow: 0 20px 45px rgba(233, 30, 99, 0.6);
}

.program-content-body {
  font-family: var(--font-corpo);
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--cinza-texto);
}

.program-content-body h2 {
  font-family: var(--font-titulo);
  font-size: 1.8rem;
  margin-bottom: var(--space-md);
  margin-top: var(--space-xl);
  color: var(--cinza-texto);
}

.podcast-platforms-box {
  margin-top: var(--space-xl);
  padding: var(--space-xl);
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-md);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--sombra-sm);
}

.entry-blockquote {
  border-left: 4px solid var(--rosa);
  padding: var(--space-md) var(--space-lg);
  background: rgba(233, 30, 99, 0.05);
  font-style: italic;
  margin: var(--space-xl) 0;
}

/* Dark Mode Overrides for Single Pages */
body.dark-mode .program-hero, body.dark-mode .blog-hero, body.dark-mode .media-hero {
  background: #0C0C0C;
  border-bottom-color: rgba(255,255,255,0.05);
}

body.dark-mode .program-hero .breadcrumb, body.dark-mode .blog-hero .breadcrumb, body.dark-mode .media-hero .breadcrumb { color:rgba(255,255,255,0.5); }
body.dark-mode .program-hero .breadcrumb a, body.dark-mode .blog-hero .breadcrumb a, body.dark-mode .media-hero .breadcrumb a { color:var(--rosa-claro); }
body.dark-mode .program-hero .breadcrumb a:hover, body.dark-mode .blog-hero .breadcrumb a:hover, body.dark-mode .media-hero .breadcrumb a:hover { color:#fff; }

body.dark-mode .program-content-body,
body.dark-mode .program-content-body h2 {
  color: #FFFFFF;
}

body.dark-mode .podcast-platforms-box {
  background: #181818;
  border-color: rgba(255,255,255,0.1);
}

body.dark-mode .program-video-wrap {
  border-color: rgba(233, 30, 99, 0.2);
  box-shadow: 0 40px 100px rgba(0,0,0,0.6);
}
/* Author Card Sidebar */
.author-card-mini {
  display: flex;
  gap: var(--space-md);
  align-items: center;
  background: var(--cinza-fundo);
  padding: var(--space-lg);
  border-radius: var(--raio-md);
  margin-top: var(--space-xl);
  position: relative;
  z-index: 1;
}

body.dark-mode .author-card-mini {
  background: #181818;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.author-card-mini .about-photo {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}

.author-card-mini h4 {
  font-family: var(--font-titulo);
  margin-bottom: 4px;
  font-size: 1.1rem;
}

.author-card-mini p {
  font-size: 0.85rem;
  opacity: 0.7;
  line-height: 1.5;
  margin: 0;
}

/* === REFINAMENTO DE FIDELIDADE VISUAL: ARCHIVES (BLOG, PROGRAMAS, MIDIA) === */

.blog-grid { display:grid; grid-template-columns:1fr; gap:var(--space-lg); }
.blog-grid.two-col { grid-template-columns:1fr 1fr; }

.blog-card { 
    background:var(--branco); 
    border:1px solid var(--cinza-borda); 
    border-radius:var(--raio-md); 
    overflow:hidden; 
    transition:var(--transicao); 
}
.blog-card:hover { box-shadow:var(--sombra-lg); transform:translateY(-5px); }

.blog-img { 
    aspect-ratio:16/9; 
    overflow:hidden; 
    background:var(--rosa-palido); 
    position:relative; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
}
.blog-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.blog-card:hover .blog-img img { transform:scale(1.05); }
.blog-img-placeholder { font-size:2.2rem; opacity:0.3; }

.blog-content { padding:var(--space-lg); }

.blog-category, .program-tag { 
    display:inline-block; font-size:0.65rem; font-weight:700; letter-spacing:0.17em; 
    text-transform:uppercase; color:var(--rosa); 
    border-bottom:1.5px solid var(--rosa-claro); 
    padding-bottom:2px; margin-bottom:var(--space-sm); 
}

.blog-title, .program-title { 
    font-family:var(--font-titulo); 
    font-size:1.15rem; 
    font-style:italic; 
    color:var(--cinza-texto); 
    margin-bottom:var(--space-xs); 
    line-height:1.4; 
}

.blog-card .blog-title a, 
.program-card .program-title a { 
    color: inherit !important; 
    text-decoration: none; 
    font-style: inherit;
}

.blog-card .blog-title a:hover, 
.program-card .program-title a:hover { 
    color: var(--rosa) !important; 
}

.blog-excerpt, .program-desc { font-size:0.86rem; color:var(--cinza-medio); line-height:1.65; margin-bottom:var(--space-sm); }
.blog-meta { display:flex; gap:var(--space-md); margin-bottom:var(--space-md); flex-wrap:wrap; }
.blog-meta span { font-size:0.72rem; color:var(--cinza-medio); opacity:0.7; display:flex; align-items:center; gap:4px; }

/* Program Card Specifics */
.programs-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:var(--space-lg); }

.program-card {
    background:var(--branco); 
    border:1px solid var(--cinza-borda);
    border-radius:var(--raio-md); 
    padding:var(--space-xl);
    transition:var(--transicao); 
    position:relative; 
    overflow:hidden;
}
.program-card::after {
    content:''; position:absolute; bottom:0; left:0;
    width:0; height:3px; background:var(--rosa); transition:width 0.4s ease;
}
.program-card:hover { box-shadow:var(--sombra-lg); transform:translateY(-6px); }
.program-card:hover::after { width:100%; }

.program-icon { font-size:2rem; margin-bottom:var(--space-md); display:flex; align-items:center; color:var(--rosa); }

/* Dark Mode Overrides for Cards */
body.dark-mode .blog-card,
body.dark-mode .program-card {
    background: #181818 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

body.dark-mode .blog-title, 
body.dark-mode .program-title { color: #FFFFFF !important; }

body.dark-mode .blog-excerpt,
body.dark-mode .program-desc { color: rgba(255,255,255,0.6); }

body.dark-mode .blog-img {
    background: #242424 !important;
}

body.dark-mode .blog-category, 
body.dark-mode .program-tag {
    background: rgba(233,30,99,0.1);
    color: var(--rosa-claro);
    border-bottom-color: rgba(233,30,99,0.3);
}

/* === SHARE BOX PREMIUM (Add-To-Any Integration) === */
.share-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  padding: var(--space-xl);
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-lg);
  margin: var(--space-2xl) 0;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.share-box-title {
  font-family: var(--font-titulo);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--cinza-texto);
}

/* Ajustes no plugin Add-To-Any para ficar premium */
.a2a_kit {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.a2a_svg {
  border-radius: 50% !important;
  transition: var(--transicao) !important;
}

.a2a_svg:hover {
  transform: translateY(-3px) scale(1.1);
  filter: drop-shadow(0 5px 10px rgba(233, 30, 99, 0.3));
}

body.dark-mode .share-box {
  background: #181818;
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
}

body.dark-mode .share-box-title {
  color: #fff;
}

/* Estilo adicional para Breadcrumbs nas Single Pages */
.single-breadcrumb {
  font-size: 0.8rem;
  color: var(--cinza-medio);
  margin-bottom: var(--space-md);
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.8;
}

.single-breadcrumb a {
  color: var(--rosa);
  text-decoration: none;
  font-weight: 600;
}

.single-breadcrumb a:hover {
  text-decoration: underline;
}

body.dark-mode .single-breadcrumb {
  color: rgba(255,255,255,0.5);
}

/* Ajuste fino no Author Card Mini */
.author-card-mini .about-photo img {
  border-radius: 50%;
  border: 2px solid var(--rosa-palido);
  padding: 3px;
  transition: var(--transicao);
}

.author-card-mini:hover .about-photo img {
  border-color: var(--rosa);
  transform: rotate(3deg);
}

/* ==========================================================================
   SEÇÃO DE COMENTÁRIOS PREMIUM
   ========================================================================== */

.comments-area {
    margin-top: var(--space-3xl);
    padding-top: var(--space-2xl);
    border-top: 1px solid var(--cinza-borda);
}

.comments-title, 
.comment-reply-title {
    font-family: var(--font-titulo);
    font-size: 1.5rem;
    color: var(--cinza-titulo);
    margin-bottom: var(--space-xl);
    display: flex;
    align-items: center;
    gap: 12px;
}

.comments-title i, 
.comment-reply-title i {
    color: var(--rosa);
    font-size: 1.8rem;
}

/* Lista de Comentários */
.comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--space-2xl);
}

.comment-list .comment {
    margin-bottom: var(--space-lg);
    list-style: none;
}

.comment-list article {
    background: var(--branco);
    border: 1px solid var(--cinza-borda);
    padding: var(--space-lg);
    border-radius: var(--raio-md);
    transition: all .3s ease;
    position: relative;
    box-shadow: var(--sombra-sm);
}

.comment-list article:hover {
    box-shadow: var(--sombra-md);
    border-color: var(--rosa-claro);
}

.comment-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: var(--space-md);
}

.comment-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.comment-author .avatar {
    border-radius: 50%;
    border: 2px solid var(--rosa-palido);
}

.comment-author .fn {
    font-family: var(--font-titulo);
    font-weight: 700;
    font-style: italic;
    font-size: 1.1rem;
    color: var(--cinza-titulo);
}

.comment-metadata {
    font-size: 0.8rem;
    color: var(--cinza-medio);
}

.comment-metadata a {
    color: inherit;
    text-decoration: none;
}

.comment-content {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--cinza-texto);
    margin-bottom: var(--space-md);
}

.reply {
    text-align: right;
}

.comment-reply-link {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--rosa);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 99px;
    background: var(--rosa-palido);
    transition: all .2s;
}

.comment-reply-link:hover {
    background: var(--rosa);
    color: #fff !important;
}

/* Formulário de Resposta */
.premium-comment-form {
    background: var(--rosa-palido);
    padding: var(--space-xl);
    border-radius: var(--raio-lg);
    border: 1px solid var(--rosa-claro);
    margin-top: var(--space-xl);
}

.comment-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
}

.comment-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: var(--space-md);
}

.comment-form-field label {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--cinza-titulo);
    display: flex;
    align-items: center;
    gap: 6px;
}

.comment-form-field label i {
    color: var(--rosa);
}

.comment-form-field input, 
.comment-form-field textarea {
    background: var(--branco);
    border: 1px solid var(--cinza-borda);
    padding: 12px 16px;
    border-radius: var(--raio-sm);
    font-family: inherit;
    font-size: 0.95rem;
    transition: all .2s;
    color: var(--cinza-texto);
}

.comment-form-field input:focus, 
.comment-form-field textarea:focus {
    outline: none;
    border-color: var(--rosa);
    box-shadow: 0 0 0 3px rgba(220, 117, 144, 0.1);
}

.comment-textarea-box textarea {
    min-height: 120px;
    resize: vertical;
}

.btn-submit-comment {
    width: auto;
    padding: 14px 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    border: none;
}

/* Dark Mode Adjustments */
body.dark-mode .comment-list article {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .comment-author .fn { color: #fff; }
body.dark-mode .comment-content { color: rgba(255, 255, 255, 0.8); }

body.dark-mode .premium-comment-form {
    background: rgba(220, 117, 144, 0.05);
    border-color: rgba(220, 117, 144, 0.2);
}

body.dark-mode .comment-form-field input, 
body.dark-mode .comment-form-field textarea {
    background: #121212;
    border-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

body.dark-mode .comment-form-field label { color: rgba(255, 255, 255, 0.9); }

@media (max-width: 768px) {
    .comment-form-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   REFINAMENTOS PRISM — SINGLE PAGES & SIDEBAR
   ========================================================================== */

/* Hero Breadcrumb Refinement */
.single-breadcrumb {
    margin-bottom: var(--space-md);
    font-size: 0.82rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.9;
}

.single-breadcrumb a {
    color: var(--cinza-medio);
    transition: var(--transicao);
}

.single-breadcrumb a:hover {
    color: var(--rosa);
}

.single-breadcrumb span {
    color: var(--rosa);
}

/* Sidebar Widgets Premium */
.sidebar-widget {
    background: var(--branco);
    padding: var(--space-xl);
    border-radius: var(--raio-md);
    border: 1px solid var(--cinza-borda);
    margin-bottom: var(--space-lg);
    box-shadow: var(--sombra-sm);
    transition: var(--transicao);
}

.sidebar-widget:hover {
    box-shadow: var(--sombra-md);
    transform: translateY(-2px);
}

.sidebar-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: var(--space-md);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--rosa-palido);
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--cinza-titulo);
}

.sidebar-title i {
    color: var(--rosa);
}

/* Search Form Premium */
.search-form {
    display: flex;
    gap: 8px;
    position: relative;
}

.search-form label {
    flex: 1;
}

.search-field {
    width: 100%;
    background: var(--cinza-fundo);
    border: 1px solid var(--cinza-borda);
    padding: 12px 16px;
    border-radius: var(--raio-sm);
    font-family: inherit;
    font-size: 0.9rem;
    transition: var(--transicao);
    color: var(--cinza-texto);
}

.search-field:focus {
    outline: none;
    border-color: var(--rosa);
    background: var(--branco);
    box-shadow: 0 0 0 4px rgba(233, 30, 99, 0.05);
}

.search-submit {
    background: var(--rosa);
    color: #fff;
    padding: 0 16px;
    border-radius: var(--raio-sm);
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transicao);
    border: none;
}

.search-submit:hover {
    background: var(--rosa-escuro);
    transform: scale(1.05);
}

/* Category List Premium */
.category-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--cinza-borda);
    transition: var(--transicao);
}

.category-item:last-child {
    border-bottom: none;
}

.category-item a {
    color: var(--cinza-texto);
    font-size: 0.95rem;
    font-weight: 500;
}

.category-item:hover a {
    color: var(--rosa);
    padding-left: 5px;
}

.category-count {
    background: var(--cinza-fundo);
    color: var(--cinza-medio);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 99px;
    transition: var(--transicao);
}

.category-item:hover .category-count {
    background: var(--rosa);
    color: #fff;
}

/* Share Box Premium */
.share-box {
    margin: var(--space-2xl) 0;
    padding: var(--space-xl);
    background: var(--cinza-fundo);
    border-radius: var(--raio-md);
    border-left: 5px solid var(--rosa);
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: var(--transicao);
}

.share-box-title {
    font-family: var(--font-titulo);
    font-style: italic;
    font-size: 1.2rem;
    color: var(--cinza-titulo);
}

/* Post Navigation (Prev/Next) */
.post-navigation-premium {
    display: flex;
    justify-content: space-between;
    gap: var(--space-md);
    margin: var(--space-3xl) 0;
    flex-wrap: wrap;
}

.post-nav-card {
    flex: 1;
    min-width: 280px;
    padding: var(--space-lg);
    background: var(--branco);
    border: 1px solid var(--cinza-borda);
    border-radius: var(--raio-md);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: var(--transicao);
    position: relative;
    overflow: hidden;
}

.post-nav-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0; width: 0;
    background: var(--rosa);
    transition: var(--transicao);
    opacity: 0.1;
}

.post-nav-card:hover {
    border-color: var(--rosa);
    transform: translateY(-5px);
    box-shadow: var(--sombra-md);
}

.post-nav-card:hover::before {
    width: 6px;
    opacity: 1;
}

.post-nav-icon {
    font-size: 1.5rem;
    color: var(--rosa);
    transition: var(--transicao);
}

.post-nav-card.prev-post:hover .post-nav-icon { transform: translateX(-5px); }
.post-nav-card.next-post:hover .post-nav-icon { transform: translateX(5px); }

.post-nav-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--cinza-medio);
    margin-bottom: 4px;
}

.post-nav-title {
    font-family: var(--font-titulo);
    font-style: italic;
    font-size: 1.05rem;
    color: var(--cinza-titulo);
    line-height:1.3;
}

/* Dark Mode Refinements */
body.dark-mode .sidebar-widget {
    background: #181818;
    border-color: rgba(255, 255, 255, 0.08);
}

body.dark-mode .sidebar-title {
    border-bottom-color: rgba(255, 255, 255, 0.05);
    color: #fff;
}

body.dark-mode .search-field {
    background: #222;
    border-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

body.dark-mode .category-item {
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

body.dark-mode .category-count {
    background: #2A2A2A;
}

body.dark-mode .share-box {
    background: #181818;
    border-color: var(--rosa);
}

body.dark-mode .share-box-title {
    color: #fff;
}

body.dark-mode .post-nav-card {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .post-nav-title {
    color: #fff;
}

@media (max-width: 768px) {
    .post-nav-card {
        min-width: 100%;
    }
}

/* ===== UNIFORMIZAÇÃO PRISMA: ARCHIVES & SIDEBAR ===== */
.text-accent { color: var(--rosa) !important; font-style: italic; }

/* Empty State Premium */
.empty-state-box {
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-md);
  padding: var(--space-2xl);
  text-align: center;
  max-width: 500px;
  margin: var(--space-xl) auto;
  box-shadow: var(--sombra-md);
}
.empty-icon {
  font-size: 3.5rem;
  color: var(--rosa);
  margin-bottom: var(--space-md);
  opacity: 0.15;
}
.empty-state-box h3 {
  font-family: var(--font-titulo);
  font-size: 1.4rem;
  margin-bottom: var(--space-sm);
  color: var(--cinza-texto);
}
.empty-state-box p {
  color: var(--cinza-medio);
  font-size: 0.95rem;
  margin-bottom: var(--space-lg);
}

/* Premium Search Form (Sidebar) */
.premium-search-form {
  display: flex !important;
  position: relative;
  width: 100%;
}
.premium-search-form input {
  width: 100%;
  padding: 0.75rem 3rem 0.75rem 1.25rem !important;
  border: 1.5px solid var(--cinza-borda) !important;
  border-radius: var(--raio-pill) !important;
  background: var(--branco) !important;
  font-family: var(--font-corpo) !important;
  font-size: 0.88rem !important;
  outline: none;
  transition: var(--transicao);
}
.premium-search-form input:focus {
  border-color: var(--rosa) !important;
  box-shadow: 0 4px 12px rgba(233, 30, 99, 0.08);
}
.premium-search-form button {
  position: absolute;
  right: 6px;
  top: 6px;
  background: var(--rosa);
  color: #fff;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transicao);
}
.premium-search-form button:hover {
  background: var(--rosa-escuro);
  transform: scale(1.05);
}

/* Recent Post - Glass Style */
.recent-item-glass {
  display: flex;
  gap: 12px;
  padding: 10px;
  border-radius: var(--raio-sm);
  background: rgba(233, 30, 99, 0.02);
  border: 1px solid transparent;
  margin-bottom: 8px;
  transition: var(--transicao);
}
.recent-item-glass:hover {
  background: var(--rosa-palido);
  border-color: var(--rosa-claro);
  transform: translateX(4px);
}
.recent-thumb {
  width: 50px;
  height: 50px;
  border-radius: var(--raio-sm);
  overflow: hidden;
  background: var(--cinza-borda);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recent-thumb img { width: 100%; height: 100%; object-fit: cover; }
.recent-thumb i { font-size: 1.2rem; color: var(--rosa); opacity: 0.3; }
.recent-info h5 {
  font-family: var(--font-titulo);
  font-style: italic;
  font-size: 0.88rem;
  color: var(--cinza-texto);
  line-height: 1.3;
  margin-bottom: 2px;
}
.recent-info span { font-size: 0.7rem; color: var(--cinza-medio); opacity: 0.6; }

/* Tag Cloud Modern */
.tag-cloud-modern { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-cloud-modern a {
  padding: 5px 12px;
  background: var(--cinza-fundo);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-pill);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cinza-medio);
  transition: var(--transicao);
}
.tag-cloud-modern a:hover {
  background: var(--rosa);
  color: #fff;
  border-color: var(--rosa);
}

/* Bestseller Widget */
.bestseller-widget { text-align: center; }
.bestseller-card { padding: 5px; }
.bestseller-card .book-cover {
  aspect-ratio: 2/3;
  border-radius: var(--raio-sm);
  overflow: hidden;
  box-shadow: var(--sombra-md);
  margin-bottom: 12px;
  background: var(--cinza-fundo);
}
.bestseller-card .book-title {
  font-family: var(--font-titulo);
  font-style: italic;
  font-size: 1rem;
  margin-bottom: 15px;
  display: block;
}

/* Press Grid Modern (Mídia) */
.press-grid-modern {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--space-lg);
  align-items: center;
}
.press-logo {
  font-family: var(--font-titulo);
  font-style: italic;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cinza-medio);
  opacity: 0.4;
  text-align: center;
  padding: 10px;
  border: 1px dashed var(--cinza-borda);
  border-radius: var(--raio-sm);
  transition: var(--transicao);
}
.press-logo:hover {
  opacity: 1;
  color: var(--rosa);
  border-color: var(--rosa-claro);
  background: var(--rosa-palido);
}

/* Dark Mode Extensions for Archives */
body.dark-mode .empty-state-box {
  background: #121212;
  border-color: rgba(255, 255, 255, 0.05);
}
body.dark-mode .empty-state-box h3 { color: #fff; }
body.dark-mode .empty-state-box .empty-icon { opacity: 0.1; }

body.dark-mode .premium-search-form input {
  background: #1a1a1a !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

body.dark-mode .recent-item-glass {
  background: rgba(255, 255, 255, 0.02);
}
body.dark-mode .recent-item-glass:hover {
  background: rgba(233, 30, 99, 0.1);
}
body.dark-mode .recent-info h5 { color: #fff; }

body.dark-mode .tag-cloud-modern a {
  background: #1a1a1a;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}

body.dark-mode .press-logo {
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.4);
}
body.dark-mode .press-logo:hover {
  background: rgba(233, 30, 99, 0.1);
  color: var(--rosa-claro);
}

/* ===== AGENDA PRISMA (CALENDAR LAYOUT) ===== */
.calendar-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.agenda-card-prisma {
  display: flex;
  align-items: center;
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: 120px 20px 20px 120px; /* Extremidades muito arredondadas */
  padding: 10px;
  gap: var(--space-lg);
  transition: var(--transicao);
  box-shadow: var(--sombra-sm);
}

.agenda-card-prisma:hover {
  transform: translateY(-5px);
  box-shadow: var(--sombra-md);
  border-color: var(--rosa-claro);
}

/* Badge de Data */
.agenda-date-badge {
  background: #E6B94D; /* Dourado suave/ocre similar ao print */
  color: var(--cinza-texto);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 140px;
  border-radius: 100px;
  flex-shrink: 0;
  font-family: var(--font-titulo);
}

.agenda-date-badge .month {
  font-size: 0.75rem;
  letter-spacing: 2px;
  font-weight: 700;
}

.agenda-date-badge .day {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

/* Info do Evento */
.agenda-card-info {
  flex-grow: 1;
  padding: 10px 0;
}

.agenda-card-title {
  font-family: var(--font-titulo);
  font-style: italic;
  font-size: 1.4rem;
  margin-bottom: 8px;
  color: var(--cinza-titulo);
}

.agenda-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 12px;
}

.agenda-card-meta span {
  font-size: 0.82rem;
  color: var(--cinza-medio);
  display: flex;
  align-items: center;
  gap: 6px;
}

.agenda-card-meta i {
  color: var(--rosa);
  font-size: 1rem;
}

/* Capsule Image */
.agenda-card-media {
  width: 180px;
  height: 140px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 20px 100px 100px 20px; /* Inverso do badge para simetria */
}

.agenda-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agenda-card-media .img-placeholder {
  width: 100%;
  height: 100%;
  background: var(--cinza-fundo);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rosa);
  font-size: 2rem;
  opacity: 0.2;
}

/* Dark Mode Agenda */
body.dark-mode .agenda-card-prisma {
  background: #181818;
  border-color: rgba(255, 255, 255, 0.08);
}

body.dark-mode .agenda-card-title { color: #fff; }

body.dark-mode .agenda-date-badge {
  background: var(--rosa); /* No Dark Mode usamos Rosa para melhor contraste */
  color: #fff;
}

@media (max-width: 991px) {
  .agenda-card-prisma {
    flex-direction: column;
    border-radius: 40px;
    padding: 20px;
    text-align: center;
  }
  
  .agenda-date-badge {
    width: 100%;
    height: 80px;
    flex-direction: row;
    gap: 15px;
    border-radius: 20px;
  }
  
  .agenda-card-media {
    width: 100%;
    border-radius: 20px;
  }
  
  .agenda-card-meta { justify-content: center; }
}

/* ─────────────────────────────────────────────
   AGENDA — EXTENSÕES v2 (Passados + Novos Elementos)
   ───────────────────────────────────────────── */

/* Cabeçalho de seção da lista */
.calendar-header { border-bottom: 2px solid var(--cinza-borda); padding-bottom: var(--space-sm); }
.calendar-header .section-title.small { font-size: 1.25rem; display: flex; align-items: center; gap: 10px; margin-bottom: 0; }
.past-events-title { opacity: 0.65; }

/* Contador no título */
.event-count-badge {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--rosa); color: #fff;
  font-size: 0.65rem; font-weight: 700; font-family: var(--font-corpo);
  width: 22px; height: 22px; border-radius: 50%;
  letter-spacing: 0; vertical-align: middle;
}

/* Lista de eventos passados (opacidade reduzida) */
.past-events-list .agenda-card-prisma {
  opacity: 0.75;
  filter: grayscale(20%);
}
.past-events-list .agenda-card-prisma:hover {
  opacity: 1;
  filter: none;
}

/* Badge de data — variante passado */
.agenda-date-badge.badge-past {
  background: var(--cinza-borda);
  color: var(--cinza-medio);
  position: relative;
}
body.dark-mode .agenda-date-badge.badge-past {
  background: #2a2a2a;
  color: rgba(255, 255, 255, 0.4);
}

/* Label "Realizado" dentro do badge */
.past-label {
  font-size: 0.55rem;
  font-family: var(--font-corpo);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block;
  margin-top: 4px;
  background: rgba(0,0,0,0.12);
  padding: 2px 6px;
  border-radius: 20px;
  color: inherit;
}

/* Tag "Data a confirmar" */
.tag-a-definir {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em;
  color: var(--cinza-medio); background: var(--cinza-fundo);
  border: 1px solid var(--cinza-borda); border-radius: var(--raio-pill);
  padding: 2px 10px;
}

/* Link de "Ver detalhes" no card */
.btn-link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em;
  color: var(--rosa); text-transform: uppercase;
  transition: var(--transicao);
  margin-top: var(--space-xs);
}
.btn-link i { transition: transform 0.2s ease; }
.btn-link:hover i { transform: translateX(4px); }
.btn-link:hover { color: var(--rosa-escuro); }

/* ── SINGLE AGENDA — Sidebar de Detalhes ── */
.event-details-list {
  list-style: none; padding: 0; margin: 0;
}
.event-details-list li {
  display: flex; gap: 15px;
  padding: 15px 0;
  border-bottom: 1px solid var(--cinza-borda);
}
.event-details-list li:last-child { border: none; }
.event-details-list i {
  font-size: 1.5rem; color: var(--rosa); margin-top: 3px;
}
.event-details-list strong {
  display: block; font-size: 0.75rem;
  text-transform: uppercase; color: var(--cinza-medio);
  letter-spacing: 0.05em;
}
.event-details-list span {
  font-family: var(--font-titulo); font-style: italic;
  font-size: 1.1rem; color: var(--cinza-texto);
}
body.dark-mode .event-details-list li { border-color: rgba(255,255,255,0.05); }
body.dark-mode .event-details-list span { color: #fff; }

.info-card-prisma {
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  box-shadow: var(--sombra-md);
  position: sticky; top: 100px;
}
body.dark-mode .info-card-prisma { background: #181818; border-color: rgba(255,255,255,0.08); }

/* ── UTILITÁRIOS DE ESPAÇAMENTO ── */
.mt-xl  { margin-top:  var(--space-xl)  !important; }
.mt-2xl { margin-top:  var(--space-2xl) !important; }
.mt-3xl { margin-top:  var(--space-3xl) !important; }
.mb-xl  { margin-bottom: var(--space-xl)  !important; }
.mb-2xl { margin-bottom: var(--space-2xl) !important; }
.pt-xl  { padding-top: var(--space-xl) !important; }
.w-full { width: 100% !important; }
.border-top { border-top: 1px solid var(--cinza-borda); }
body.dark-mode .border-top { border-color: rgba(255,255,255,0.07); }

/* ═══════════════════════════════════════════════
   SINGLE LIVRO — Página de Detalhe
   (migrado do inline — single-livro.php)
   ═══════════════════════════════════════════════ */

.single-livro-page {
  padding-top: calc(var(--navbar-height, 72px) + var(--space-lg));
  padding-bottom: var(--space-3xl);
  overflow-x: hidden;
}

/* Grid principal */
.book-detail-grid { display:grid; grid-template-columns:300px 1fr; gap:var(--space-2xl); align-items:start; }
.book-sidebar { position:sticky; top:100px; display:flex; flex-direction:column; gap:var(--space-lg); z-index:10; }

/* Capa 3D */
.book-cover-3d {
  border-radius:12px; overflow:hidden;
  box-shadow:8px 12px 40px rgba(0,0,0,0.18), 2px 4px 12px rgba(0,0,0,0.08);
  transition:all 0.4s ease; aspect-ratio:2/3;
  background:var(--cinza-fundo); position:relative;
}
.book-cover-3d:hover { transform:perspective(900px) rotateY(-7deg) translateY(-4px); box-shadow:16px 20px 50px rgba(0,0,0,.2); }
.book-cover-3d img { width:100%; height:100%; object-fit:contain; display:block; }

/* Tipografia do livro */
.book-detail-title { font-family:var(--font-titulo); font-size:clamp(1.8rem,4vw,2.8rem); color:var(--cinza-texto); line-height:1.15; margin-bottom:var(--space-xs); }
.book-detail-author { font-size:0.78rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--rosa); margin-bottom:var(--space-md); display:flex; align-items:center; gap:6px; }
.stars-row { display:flex; align-items:center; gap:var(--space-sm); margin-bottom:var(--space-lg); }
.stars-big { color:var(--dourado); font-size:1.2rem; letter-spacing:2px; }
.rating-count { font-size:0.82rem; color:var(--cinza-medio); }

/* Meta table */
.book-meta-table { background:var(--cinza-fundo); border:1px solid var(--cinza-borda); border-radius:var(--raio-md); padding:var(--space-lg); margin:var(--space-lg) 0; display:flex; flex-direction:column; gap:10px; }
.meta-row { display:flex; align-items:center; gap:var(--space-md); font-size:0.88rem; border-bottom:1px solid var(--cinza-borda); padding-bottom:10px; }
.meta-row:last-child { border-bottom:none; padding-bottom:0; }
.meta-label { color:var(--cinza-medio); display:flex; align-items:center; gap:6px; min-width:110px; font-weight:600; }
.meta-value { color:var(--cinza-texto); }

/* Sinopse */
.book-synopsis { margin:var(--space-lg) 0; }
.book-synopsis h3 { font-family:var(--font-titulo); font-size:1.1rem; color:var(--cinza-texto); margin-bottom:var(--space-md); padding-bottom:var(--space-xs); border-bottom:2px solid var(--rosa-palido); display:flex; align-items:center; gap:8px; }
.book-synopsis p { font-size:0.95rem; line-height:1.9; color:var(--cinza-medio); margin-bottom:var(--space-md); }

/* Botões de compra */
.buy-actions { display:flex; gap:var(--space-sm); flex-wrap:wrap; margin:var(--space-xl) 0; }
.side-actions { margin-top:0 !important; }

/* Divisor rosa */
.divider-rosa { height:3px; background:linear-gradient(to right,var(--rosa),var(--rosa-claro),transparent); border-radius:3px; margin:var(--space-xl) 0; }

/* Grid de livros relacionados */
.related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:var(--space-md); }
.related-card { text-decoration:none; }
.related-card .rc-cover { aspect-ratio:2/3; border-radius:var(--raio-sm); overflow:hidden; background:var(--rosa-palido); box-shadow:var(--sombra-sm); transition:all 0.3s ease; }
.related-card .rc-cover img { width:100%; height:100%; object-fit:cover; }
.related-card:hover .rc-cover { box-shadow:var(--sombra-rosa); transform:translateY(-5px); }
.related-card .rc-title { font-family:var(--font-titulo); font-size:0.82rem; font-style:italic; color:var(--cinza-texto); margin-top:8px; line-height:1.3; display:block; }

/* Breadcrumb (fora do page-hero) */
.single-livro-page .breadcrumb { font-size:0.78rem; color:var(--cinza-medio); margin-bottom:var(--space-lg); display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.single-livro-page .breadcrumb a { color:var(--rosa); font-weight:600; }
.single-livro-page .breadcrumb a:hover { text-decoration:underline; }
.single-livro-page .breadcrumb i { opacity:0.4; font-size:0.7rem; }

/* Seção de Avaliações */
.section-reviews { margin-top:var(--space-2xl); }
.reviews-layout { display:grid; grid-template-columns:280px 1fr; gap:var(--space-2xl); }
.reviews-summary-card { background:var(--cinza-fundo); border:1px solid var(--cinza-borda); border-radius:var(--raio-lg); padding:var(--space-xl); position:sticky; top:100px; }
.summary-avg { display:flex; align-items:baseline; gap:8px; margin:var(--space-sm) 0; }
.avg-number { font-family:var(--font-titulo); font-size:3rem; color:var(--cinza-texto); }
.avg-max { font-size:.85rem; color:var(--cinza-medio); }
.summary-total { font-size:.8rem; color:var(--cinza-medio); margin-top:6px; display:block; }
.rating-bars { margin-top:var(--space-lg); display:flex; flex-direction:column; gap:6px; }
.rating-bar-row { display:flex; align-items:center; gap:10px; font-size:.82rem; }
.bar-label { min-width:70px; color:var(--cinza-texto); }
.bar-container { flex:1; height:6px; background:var(--cinza-borda); border-radius:999px; overflow:hidden; }
.bar-fill { height:100%; background:var(--dourado); border-radius:999px; }
.bar-percent { min-width:36px; text-align:right; color:var(--cinza-medio); }

/* Itens de review */
.review-item { border-bottom:1px solid var(--cinza-borda); padding-bottom:var(--space-lg); margin-bottom:var(--space-lg); }
.review-item:last-of-type { border-bottom:none; }
.review-user { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.user-avatar { width:36px; height:36px; border-radius:50%; background:var(--rosa-palido); display:flex; align-items:center; justify-content:center; }
.user-name { font-weight:700; font-size:.9rem; }
.review-meta { display:flex; align-items:center; margin-bottom:4px; color:var(--dourado); }
.review-date { font-size:.78rem; color:var(--cinza-medio); margin-bottom:8px; }
.review-text p { font-size:.9rem; line-height:1.8; color:var(--cinza-medio); }
.review-helpful { display:flex; align-items:center; gap:var(--space-md); margin-top:var(--space-sm); font-size:.78rem; color:var(--cinza-meio); }
.btn-helpful { border:1px solid var(--cinza-borda); background:none; padding:4px 12px; border-radius:6px; cursor:pointer; font-size:.78rem; transition:all .2s; }
.btn-helpful:hover { background:var(--rosa-palido); border-color:var(--rosa); color:var(--rosa); }
.write-review-section { background:var(--cinza-fundo); border:1px solid var(--cinza-borda); border-radius:var(--raio-lg); padding:var(--space-xl); margin-top:var(--space-xl); }

/* ── Dark Mode — Single Livro ── */
body.dark-mode .book-detail-title { color: #fff; }
body.dark-mode .book-detail-author { color: var(--rosa-claro); }
body.dark-mode .book-cover-3d { background: #1a1a1a; box-shadow: 8px 12px 40px rgba(0,0,0,0.5); }
body.dark-mode .book-meta-table { background: #1a1a1a; border-color: #2a2a2a; }
body.dark-mode .meta-row { border-color: #2a2a2a; }
body.dark-mode .meta-value { color: rgba(255,255,255,0.85); }
body.dark-mode .meta-label { color: rgba(255,255,255,0.45); }
body.dark-mode .book-synopsis h3 { color: #fff; border-color: #2d1a22; }
body.dark-mode .book-synopsis p { color: rgba(255,255,255,0.7); }
body.dark-mode .avg-number { color: #fff; }
body.dark-mode .reviews-summary-card { background: #1a1a1a; border-color: #2a2a2a; }
body.dark-mode .write-review-section { background: #1a1a1a; border-color: #2a2a2a; }
body.dark-mode .review-item { border-color: rgba(255,255,255,0.05); }
body.dark-mode .user-name { color: #fff; }
body.dark-mode .bar-label { color: rgba(255,255,255,0.7); }
body.dark-mode .bar-container { background: #2a2a2a; }
body.dark-mode .related-card .rc-title { color: rgba(255,255,255,0.8); }
body.dark-mode .divider-rosa { opacity: 0.5; }
body.dark-mode .single-livro-page .breadcrumb { color: rgba(255,255,255,0.4); }

/* ── Responsive Single Livro ── */
@media(max-width:768px) {
  .single-livro-page { padding-top: calc(56px + var(--space-sm)); }
  .book-detail-grid { grid-template-columns:1fr; gap:var(--space-md); }
  .book-sidebar { position:static !important; margin-bottom:var(--space-xl); }
  .book-cover-3d { max-width:240px; margin:0 auto; }
  .buy-actions { justify-content:center !important; }
  .buy-actions.desktop-actions { display:none !important; }
  .reviews-layout { grid-template-columns:1fr; }
  .reviews-summary-card { position:static; }
}
@media(min-width:769px) {
  .buy-actions.side-actions { display:none !important; }
}

/* ── Share Box (post-footer) ── */
.post-footer { padding-top: var(--space-lg); }
.share-box {
  display: flex; align-items: center; gap: var(--space-md);
  background: var(--cinza-fundo); border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-md); padding: var(--space-md) var(--space-lg);
}
.share-label {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--cinza-medio); white-space: nowrap;
}
body.dark-mode .share-box { background: #1a1a1a; border-color: #2a2a2a; }
body.dark-mode .share-label { color: rgba(255,255,255,0.4); }

/* ══════════════════════════════════════════════
   AGENDA — Badge com DIA DA SEMANA
   ══════════════════════════════════════════════ */

/* Texto do dia da semana (acima do número) */
.agenda-date-badge .week-day {
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.75;
  display: block;
  margin-bottom: 2px;
}

/* Ajuste do badge para acomodar 3 linhas */
.agenda-date-badge {
  height: 160px; /* Aumentado de 140px para acomodar week-day */
}

/* Data completa formatada no meta */
.agenda-date-full {
  font-size: 0.82rem;
  color: var(--cinza-medio);
  display: flex; align-items: center; gap: 6px;
  font-weight: 600;
}
.agenda-date-full i { color: var(--rosa); }

/* ── Single Agenda — Hero com subtítulo de data ── */
.single-agenda-meta {
  display: flex; align-items: center; gap: var(--space-md);
  flex-wrap: wrap; justify-content: center;
  margin-top: var(--space-sm);
}
.single-agenda-meta-item {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.92rem; color: rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--raio-pill); padding: 5px 14px;
  backdrop-filter: blur(4px);
}

/* ══════════════════════════════════════════════
   GALERIA — Archive Cards
   ══════════════════════════════════════════════ */
.galeria-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}
.galeria-card {
  background: var(--branco);
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-md);
  overflow: hidden;
  transition: var(--transicao);
  display: flex; flex-direction: column;
}
.galeria-card:hover { transform: translateY(-8px); box-shadow: var(--sombra-rosa); border-color: var(--rosa-claro); }
.galeria-card-link { display: flex; flex-direction: column; flex: 1; text-decoration: none; color: inherit; }

/* Capa do card — proporção fixa */
.galeria-card-img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--rosa-palido);
  display: flex; align-items: center; justify-content: center;
}
.galeria-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.galeria-card:hover .galeria-card-img img { transform: scale(1.07); }

/* Placeholder sem thumbnail */
.galeria-card-img .placeholder-img {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--rosa-palido) 0%, var(--rosa-claro) 100%);
}
.galeria-card-img .placeholder-img i { font-size: 3rem; color: var(--rosa); opacity: 0.4; }

/* Overlay hover */
.galeria-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.15) 100%);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: var(--transicao);
}
.galeria-card:hover .galeria-card-overlay { opacity: 1; }

/* Badge de contagem de fotos no topo */
.galeria-card-count {
  position: absolute; top: 10px; right: 10px;
  background: rgba(0,0,0,0.55); color: #fff;
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em;
  padding: 3px 10px; border-radius: var(--raio-pill);
  backdrop-filter: blur(4px);
  display: flex; align-items: center; gap: 4px;
}

/* Corpo do card */
.galeria-card-body { padding: var(--space-md); flex: 1; display: flex; flex-direction: column; }
.galeria-card-title {
  font-family: var(--font-titulo);
  font-size: 1rem; font-style: italic;
  color: var(--cinza-texto);
  margin-bottom: var(--space-xs);
  line-height: 1.35;
}
.galeria-card-meta {
  display: flex; align-items: center; gap: 6px;
  font-size: 0.73rem; color: var(--rosa);
  font-weight: 700; margin-top: auto; padding-top: var(--space-xs);
}
.galeria-card-meta i { font-size: 0.9rem; }

/* Dark mode */
body.dark-mode .galeria-card { background: #181818; border-color: rgba(255,255,255,0.08); }
body.dark-mode .galeria-card-title { color: #fff; }

/* ══════════════════════════════════════════════
   GALERIA — Single: layout do conteúdo
   ══════════════════════════════════════════════ */
.galeria-single-content {
  max-width: 960px;
  margin: 0 auto;
  padding: var(--space-xl) 0 var(--space-2xl);
}
.galeria-single-content h2 {
  font-family: var(--font-titulo);
  font-size: var(--fs-h3);
  color: var(--cinza-texto);
  margin-bottom: var(--space-lg);
  display: flex; align-items: center; gap: 10px;
}
.galeria-single-content h2 i { color: var(--rosa); }

.galeria-single-intro {
  font-size: 1.05rem;
  color: var(--cinza-medio);
  line-height: 1.8;
  margin-bottom: var(--space-xl);
}

/* ══════════════════════════════════════════════
   GALERIA — WordPress native gallery override
   Força grid correto independente do shortcode
   ══════════════════════════════════════════════ */
.entry-content-galeria .gallery {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--space-lg) 0 !important;
  padding: 0 !important;
  gap: 6px !important;
}
.entry-content-galeria .gallery-columns-1 { grid-template-columns: 1fr !important; }
.entry-content-galeria .gallery-columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
.entry-content-galeria .gallery-columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
.entry-content-galeria .gallery-columns-4 { grid-template-columns: repeat(4, 1fr) !important; }
.entry-content-galeria .gallery-columns-5 { grid-template-columns: repeat(5, 1fr) !important; }
.entry-content-galeria .gallery-columns-6 { grid-template-columns: repeat(6, 1fr) !important; }

.entry-content-galeria .gallery-item {
  margin: 0 !important;
  overflow: hidden;
  border-radius: var(--raio-sm);
  line-height: 0;
}
.entry-content-galeria .gallery-item a {
  display: block; height: 100%; line-height: 0;
}
.entry-content-galeria .gallery-item img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.4s ease;
  border-radius: var(--raio-sm);
}
.entry-content-galeria .gallery-item:hover img { transform: scale(1.06); }
.entry-content-galeria .gallery-caption { display: none !important; }
.entry-content-galeria dt { margin: 0 !important; }
.entry-content-galeria dl { margin: 0 !important; }

/* ══════════════════════════════════════════════
   GALERIA — Responsive
   ══════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .galeria-grid { grid-template-columns: repeat(2, 1fr); }
  .entry-content-galeria .gallery-columns-4 { grid-template-columns: repeat(3, 1fr) !important; }
  .entry-content-galeria .gallery-columns-5,
  .entry-content-galeria .gallery-columns-6 { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  .galeria-grid { grid-template-columns: 1fr; }
  .entry-content-galeria .gallery-columns-3,
  .entry-content-galeria .gallery-columns-4,
  .entry-content-galeria .gallery-columns-5,
  .entry-content-galeria .gallery-columns-6 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ===== AVALIAÇÕES & COMENTÁRIOS ===== */
.review-empty {
  padding: var(--space-xl);
  text-align: center;
  background: var(--rosa-palido);
  border: 1px dashed var(--rosa-claro);
  border-radius: var(--raio-md);
}
body.dark-mode .review-empty {
  background: rgba(233, 30, 99, 0.05);
  border-color: rgba(233, 30, 99, 0.15);
}

.write-review-section {
  margin-top: var(--space-2xl);
  padding: var(--space-xl);
  background: var(--branco);
  border-radius: var(--raio-lg);
  border: 1px solid var(--cinza-borda);
  box-shadow: var(--sombra-sm);
}
body.dark-mode .write-review-section {
  background: #181818;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  margin-top: var(--space-xl) !important;
}

.custom-comment-form p {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-md);
}
.custom-comment-form label {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--cinza-texto);
  margin-bottom: 6px;
}
body.dark-mode .custom-comment-form label {
  color: rgba(255,255,255,0.8);
}
.custom-comment-form input[type="text"],
.custom-comment-form input[type="email"],
.custom-comment-form textarea {
  width: 100%;
  padding: 0.8em 1.2em;
  border: 1px solid var(--cinza-borda);
  border-radius: var(--raio-sm);
  font-family: var(--font-corpo);
  font-size: 0.95rem;
  color: var(--cinza-texto);
  outline: none;
  background: var(--branco);
  transition: var(--transicao);
}
.custom-comment-form input[type="text"]:focus,
.custom-comment-form input[type="email"]:focus,
.custom-comment-form textarea:focus {
  border-color: var(--rosa);
  box-shadow: 0 0 0 3px rgba(233,30,99,0.1);
}
body.dark-mode .custom-comment-form input[type="text"],
body.dark-mode .custom-comment-form input[type="email"],
body.dark-mode .custom-comment-form textarea {
  background: #222;
  border-color: #333;
  color: #FFF;
}
.custom-comment-form .comment-form-cookies-consent {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.custom-comment-form .comment-form-cookies-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--rosa);
}
.custom-comment-form .comment-form-cookies-consent label {
  margin-bottom: 0;
  font-weight: 400;
}

/* ============================================================
   MOBILE FIXES — RESPONSIVO COMPLETO
   ============================================================ */

/* Impede overflow horizontal global */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

@media (max-width: 768px) {

  /* ----- NAVBAR MOBILE ----- */
  .nav-container {
    position: relative;
    flex-wrap: nowrap;
    padding: 0 var(--space-md);
  }

  /* Esconde o bloco inteiro de ações desktop */
  .nav-actions { display: none !important; }

  /* Mostra o footer do menu mobile */
  .nav-menu-footer {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    border-top: 1px solid var(--cinza-borda);
    margin-top: var(--space-sm);
  }

  /* Mostra o hamburger */
  .mobile-menu-btn {
    display: flex !important;
    flex-direction: column;
    gap: 5px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    margin-left: auto;
    flex-shrink: 0;
    z-index: 1001;
  }
  .mobile-menu-btn span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--cinza-texto);
    border-radius: 2px;
    transition: var(--transicao);
  }

  /* Animação do X ao abrir */
  .mobile-menu-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mobile-menu-btn.open span:nth-child(2) { opacity: 0; }
  .mobile-menu-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Menu dropdown mobile */
  .nav-menu {
    display: none;
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    width: 100%;
    background: var(--branco);
    border-top: 1px solid var(--cinza-borda);
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
    z-index: 1000;
    padding: var(--space-md) 0;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
  }

  .nav-menu.active {
    display: block !important;
  }

  /* Links dentro do menu mobile em coluna */
  .nav-menu ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 var(--space-md);
  }

  .nav-menu ul li {
    border-bottom: 1px solid var(--cinza-borda);
  }
  .nav-menu ul li:last-child {
    border-bottom: none;
  }

  .nav-link {
    display: block;
    padding: var(--space-md) var(--space-sm) !important;
    font-size: 0.9rem !important;
    white-space: nowrap;
  }

  /* Botão de Contato dentro do menu mobile */
  .nav-menu ul::after {
    content: '';
  }

  /* Adiciona botão de contato e dark mode dentro do menu aberto */
  .nav-menu-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    border-top: 1px solid var(--cinza-borda);
    margin-top: var(--space-sm);
  }

  /* Dark mode no menu mobile */
  body.dark-mode .nav-menu {
    background: #111;
    border-color: #222;
  }
  body.dark-mode .nav-menu ul li {
    border-color: #222;
  }

  /* ----- HERO MOBILE ----- */
  .hero {
    min-height: auto;
    padding: calc(72px + var(--space-xl)) 0 var(--space-2xl);
    overflow: hidden;
  }

  .hero-inner {
    grid-template-columns: 1fr !important;
    text-align: center;
    gap: var(--space-xl);
  }

  .hero-content {
    order: 2;
  }

  .hero-visual {
    order: 1;
    display: flex;
    justify-content: center;
  }

  .hero-book-stack {
    max-width: 220px;
    margin: 0 auto;
  }

  .hero-book-stack .book-img.featured {
    height: 320px !important;
  }

  .hero-book-stack .book-img:not(.featured) {
    display: none;
  }

  .hero-decoration {
    display: none;
  }

  .hero-badge {
    position: static !important;
    transform: none !important;
    margin: var(--space-md) auto 0;
    display: inline-flex !important;
    animation: none !important;
  }

  /* ----- EYEBROW PILL ----- */
  .hero-eyebrow {
    justify-content: center;
  }

  /* ----- SEÇÕES GERAIS ----- */
  .container {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    max-width: 100%;
    overflow-x: hidden;
  }

  /* ----- ABOUT SECTION ----- */
  .about-inner {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .about-photo {
    max-width: 280px;
    margin: 0 auto;
  }

  .about-photo::before {
    animation: none !important;
  }

  /* ----- MENTORA SECTION ----- */
  .mentora-inner {
    grid-template-columns: 1fr !important;
  }

  .mentora-card {
    max-width: 100% !important;
  }

  /* ----- NEWSLETTER ----- */
  .newsletter-form {
    flex-direction: column !important;
    gap: var(--space-sm);
  }

  .newsletter-form input {
    width: 100% !important;
    border-radius: var(--raio-md) !important;
  }

  .newsletter-form button {
    width: 100% !important;
    border-radius: var(--raio-md) !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.06em !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: normal !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  /* Logo menor */
  .nav-logo {
    font-size: 1rem !important;
  }

  .logo-flower {
    height: 20px !important;
  }

  /* Título hero menor */
  h1 {
    font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
  }

  /* Books grid 2 colunas em telas pequenas */
  .books-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--space-sm) !important;
  }

  /* Book card menor */
  .book-card-img {
    height: 180px !important;
  }

  /* Footer links em coluna */
  .footer-grid {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
}
