/*
Theme Name: AKORA
Theme URI: https://akora-metodo.xo.je/
Author: AKORA Dev
Description: Tema do site AKORA Método. Réplica do design original com suporte ao Personalizador (cores, fontes, logo e tagline).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 7.0
Text Domain: akora
Tags: one-column, custom-colors, custom-logo, custom-menu, threaded-comments, translation-ready
*/

/* ==========================================================
   Tokens de design (sobrescritos pelo Personalizador via CSS inline)
   ========================================================== */
:root {
  --akora-primaria: #3F2638;
  --akora-fundo: #ece6e1;
  --akora-tom: #D8C7C2;
  --akora-texto: #4A4A4A;
  --akora-corpo: #3F2638;
  --akora-card: #ffffff;
  --akora-borda: #f0ece9;
  --akora-btn-hover: #2a1a2b;
  --akora-fonte-titulo: 'Playfair Display', Georgia, serif;
  --akora-fonte-corpo: 'Lato', 'Segoe UI', Arial, sans-serif;
}

/* ==========================================================
   Base
   ========================================================== */
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  background: var(--akora-fundo);
  color: var(--akora-corpo);
  font-family: var(--akora-fonte-corpo);
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6 { font-family:var(--akora-fonte-titulo); font-weight:400; }
img, iframe { max-width:100%; height:auto; }
a { color:var(--akora-primaria); }
.container { max-width:900px; margin:auto; padding: clamp(2rem, 5vw, 4rem); }

/* ==========================================================
   Navegação
   ========================================================== */
nav {
  background: var(--akora-primaria);
  padding:1rem;
  text-align:center;
  position:sticky;
  top:0;
  z-index:10;
}
nav ul { list-style:none; display:flex; justify-content:center; flex-wrap:wrap; }
nav a {
  color:var(--akora-fundo);
  text-decoration:none;
  margin:0 0.8rem;
  font-weight:400;
  font-size:0.9rem;
  letter-spacing:0.5px;
  display:inline-block;
  padding:0.1rem 0;
}
nav a:hover { color:var(--akora-tom); }
nav a.active,
nav li.current-menu-item > a,
nav li.current_page_item > a,
nav li.current-menu-ancestor > a {
  border-bottom:1px solid var(--akora-tom);
  padding-bottom:2px;
}
.nav-toggle {
  display:none;
  background:none;
  border:none;
  color:var(--akora-fundo);
  font-size:1.8rem;
  cursor:pointer;
  line-height:1;
  padding:0;
  width:auto;
}
.nav-links { display:flex; justify-content:center; flex-wrap:wrap; }

/* ==========================================================
   Hero (home)
   ========================================================== */
.hero { text-align:center; padding: clamp(4rem, 10vw, 6rem) 1rem; }
.hero .custom-logo-link,
.hero .hero-logo { display:block; text-align:center; }
.hero img.hero-logo-img,
.hero .custom-logo { width:50%; max-width:766px; height:auto; }
.hero h1 { font-size:3rem; margin:1rem 0 0.5rem; }
.hero .tagline { color:var(--akora-texto); font-style:italic; font-size:1.1rem; margin-bottom:1rem; }
.hero p { max-width:600px; margin:0 auto 1.5rem; }

/* ==========================================================
   Títulos de seção
   ========================================================== */
.section-title { font-size:2rem; margin-bottom:1.5rem; position:relative; }
.section-title::after {
  content:'';
  display:block;
  width:40px;
  height:1px;
  background:var(--akora-tom);
  margin-top:0.5rem;
}

/* ==========================================================
   Botões
   ========================================================== */
.btn {
  background:var(--akora-primaria);
  color:var(--akora-fundo);
  padding:1rem 2rem;
  text-decoration:none;
  border-radius:6px;
  display:inline-block;
  font-weight:400;
  border:none;
  cursor:pointer;
  font-size:0.9rem;
  font-family:var(--akora-fonte-corpo);
  transition:background 0.2s ease;
}
.btn:hover { background:var(--akora-btn-hover); color:var(--akora-fundo); }

/* ==========================================================
   Cards genéricos (Serviços, Método) — blocos Gutenberg
   ========================================================== */
.akora-card {
  background:var(--akora-card);
  padding:1.5rem;
  border-radius:8px;
  border:1px solid var(--akora-borda);
  transition: box-shadow 0.2s ease;
}
.akora-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.05); }
.akora-card h3,
.akora-card h4 { font-size:1.1rem; font-weight:600; margin-bottom:0.3rem; }
.akora-card p { font-size:0.9rem; line-height:1.5; color:var(--akora-texto); }

.akora-card--center {
  text-align:center;
  padding:2rem 1.5rem;
  border-radius:12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.akora-card--center:hover { transform:translateY(-4px); box-shadow:0 8px 20px rgba(0,0,0,0.06); }
.akora-card--center h4 { font-family:var(--akora-fonte-titulo); font-weight:500; font-size:1.4rem; margin-bottom:0.5rem; }
.akora-card--center p { font-size:1rem; color:var(--akora-texto); margin:0; line-height:1.6; }

/* ==========================================================
   Grids e texto (conteúdo recriado das páginas)
   ========================================================== */
.about-text { margin-bottom:2rem; }
.about-text p { margin-bottom:1rem; }
.mission-text { margin-bottom:3rem; }
.mission-text h2 { font-size:1.5rem; margin-bottom:0.5rem; }
.mission-text p { margin-bottom:1rem; }

.method-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2rem;
  margin:2rem 0 3rem;
}

.services-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:1rem; }
.service-item h3 { font-size:1.1rem; font-weight:600; margin-bottom:0.3rem; }
.service-item p { font-size:0.9rem; line-height:1.5; }

/* Estrutura protegida da Equipe: dois cards lado a lado no desktop. */
.team-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  margin-top:1rem;
}
.team-grid .akora-team-card { margin-bottom:0; }

/* ==========================================================
   Equipe
   ========================================================== */
.akora-team-card {
  background:var(--akora-card);
  padding:2rem;
  border-radius:8px;
  text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,0.03);
  border:1px solid var(--akora-borda);
}
.akora-team-card img {
  width:150px;
  height:150px;
  border-radius:50%;
  object-fit:cover;
  background:var(--akora-tom);
  margin-bottom:1rem;
}
/* Ajustes de enquadramento individuais; a estrutura dos cards permanece intacta. */
.akora-team-card img[alt="Dra. Daniela Rosa"] { transform:translateY(20%); object-position:center 20%; }
.akora-team-card img[alt="Nádia Ancona"] { transform:translate(-8px, 10px); object-position:center 20%; }
.akora-team-card h3 { font-size:1.3rem; font-weight:600; margin-bottom:0.25rem; }
.akora-team-card .title { font-size:0.9rem; color:var(--akora-texto); font-weight:400; margin-bottom:0.5rem; }
.akora-team-card .bio { font-size:0.95rem; line-height:1.5; overflow-wrap:break-word; }
.akora-team-card .quote { font-style:italic; color:var(--akora-texto); font-size:0.9rem; margin-top:0.5rem; }

/* ==========================================================
   Depoimentos
   ========================================================== */
.akora-testimonial {
  background:var(--akora-card);
  padding:3rem 2rem;
  border-radius:8px;
  margin-bottom:2rem;
  text-align:center;
}
.akora-testimonial p.quote { font-style:italic; font-size:1.2rem; }
.akora-testimonial p.author { margin-top:1rem; font-weight:700; }

/* ==========================================================
   Blog (listagem)
   ========================================================== */
.noticia-card {
  background:var(--akora-card);
  border-radius:8px;
  border:1px solid var(--akora-borda);
  padding:1.5rem;
  margin-bottom:1.5rem;
  transition: box-shadow 0.2s ease;
  position:relative;
  overflow:hidden;
}
.noticia-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.05); }
.noticia-card .data { font-size:0.8rem; color:var(--akora-texto); margin-bottom:0.3rem; }
.noticia-card h2 { font-size:1.3rem; margin-bottom:0.5rem; }
.noticia-card .conteudo { font-size:0.95rem; line-height:1.6; position:relative; z-index:1; overflow-wrap:break-word; }
.noticia-card .conteudo img { max-width:100%; border-radius:6px; margin:0.5rem 0; }
.noticia-card .thumb-cima { display:block; margin-bottom:1rem; border-radius:6px; }
.noticia-card .noticia-leia-mais { margin-top:1rem; }
.blog-pagination { text-align:center; margin:1.5rem 0 0; }
.blog-pagination .page-numbers { display:inline-block; padding:0.4rem 0.8rem; margin:0 0.2rem; background:var(--akora-card); border:1px solid var(--akora-borda); border-radius:6px; text-decoration:none; color:var(--akora-primaria); }
.blog-pagination .page-numbers.current { background:var(--akora-primaria); color:var(--akora-fundo); border-color:var(--akora-primaria); }
.sem-noticias { text-align:center; color:var(--akora-texto); padding:2rem; background:var(--akora-card); border-radius:8px; border:1px solid var(--akora-borda); }
.instagram-section {
  background:var(--akora-card);
  border-radius:8px;
  border:1px solid var(--akora-borda);
  padding:2rem;
  margin-top:2rem;
  text-align:center;
}
.instagram-section h2 { font-size:1.5rem; margin-bottom:0.5rem; }
.instagram-section p { color:var(--akora-texto); margin-bottom:1.5rem; }
.instagram-section .embed-wrapper { display:flex; justify-content:center; overflow-x:auto; }
.instagram-section blockquote { margin:0 auto !important; max-width:540px !important; width:100% !important; min-width:0 !important; }

/* Single post */
.single-post-container { max-width:720px; }
.single-post-container .noticia-data { font-size:0.8rem; color:var(--akora-texto); margin-bottom:0.3rem; }
.single-post-container img.thumb { border-radius:6px; margin:1rem 0; }
.single-post-container .voltar { display:inline-block; margin-top:1.5rem; color:var(--akora-texto); text-decoration:none; }
.single-post-container .voltar:hover { color:var(--akora-primaria); }

/* ==========================================================
   Formulários / mensagens
   ========================================================== */
.mensagem { padding:0.8rem; border-radius:6px; margin-bottom:1.2rem; }
.sucesso { background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.erro { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; }

.honeypot { display:none; }
.helper-text { font-size:0.75rem; color:var(--akora-texto); margin-top:0.2rem; }

input, textarea, select {
  width:100%;
  padding:0.8rem;
  border:1px solid var(--akora-tom);
  border-radius:6px;
  font-family:var(--akora-fonte-corpo);
  font-size:0.9rem;
  color:var(--akora-corpo);
  transition:border-color 0.2s ease;
}
input:focus, textarea:focus, select:focus { border-color:var(--akora-primaria); outline:none; }
form.akora-contato { background:var(--akora-card); padding:2rem; border-radius:8px; border:1px solid var(--akora-borda); }
.form-group { margin-bottom:1.2rem; }
label { display:block; font-weight:400; margin-bottom:0.3rem; font-size:0.9rem; }
.whatsapp { text-align:center; margin-top:2rem; }
.whatsapp a { display:inline-block; background:#25D366; color:#fff; padding:0.8rem 2rem; border-radius:40px; text-decoration:none; font-weight:400; transition:background 0.2s ease; }
.whatsapp a:hover { background:#1ebe5c; }

/* ==========================================================
   Footer
   ========================================================== */
footer { text-align:center; padding:2rem; color:var(--akora-texto); font-size:0.8rem; margin-top:2rem; }
.footer-symbol { display:inline-block; width:12px; height:12px; border:1px solid var(--akora-primaria); border-radius:50%; margin-right:0.5rem; vertical-align:middle; }

/* ==========================================================
   Conteúdo WordPress (blocos)
   ========================================================== */
.entry-content > *:not(.alignwide):not(.alignfull) { max-width:900px; margin-left:auto; margin-right:auto; }
.entry-content > * { margin-bottom:1.25rem; }
.entry-content > *:last-child { margin-bottom:0; }
.entry-content h2, .entry-content h3 { margin-top:1.5rem; }
.wp-block-columns { gap:1.5rem; }
.wp-block-columns .wp-block-column { min-width:0; }
.has-text-align-center { text-align:center; }

/* ==========================================================
   Responsivo
   ========================================================== */
@media (max-width: 850px) {
  .wp-block-columns.is-style-akora-metodo { gap:1rem; }
  .method-grid { gap:1rem; }
}
@media (max-width: 768px) {
  .container { padding:1.5rem; }
  .section-title { font-size:1.6rem; }
  nav { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:0.7rem 1rem; }
  .nav-toggle { display:block; }
  .nav-links { display:none; flex-direction:column; width:100%; margin-top:0.5rem; }
  nav.nav-open .nav-links { display:flex; }
  .nav-links a { display:block; padding:0.8rem; margin:0; font-size:1rem; border-bottom:1px solid rgba(236,230,225,0.1); }
  .nav-links a:last-child { border-bottom:none; }
  nav a.active,
  nav li.current-menu-item > a,
  nav li.current_page_item > a {
    border-bottom:none;
    background:rgba(236,230,225,0.15);
  }
  .wp-block-columns { flex-wrap:wrap; }
  .wp-block-columns .wp-block-column { flex-basis:100% !important; }
}
@media (max-width: 600px) {
  .akora-team-card { padding:1rem; }
  .akora-team-card img { width:clamp(100px, 30vw, 150px); aspect-ratio:1; height:auto; }
  .akora-testimonial { padding:1.5rem 1rem; }
  .akora-testimonial p.quote { font-size:1rem; }
  .hero img.hero-logo-img, .hero .custom-logo { width:85%; }
  .method-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 550px) {
  .team-grid { grid-template-columns:1fr; gap:1rem; }
}
@media (max-width: 480px) {
  body { font-size:clamp(0.9rem, 3.5vw, 1rem); }
  .container { padding:1rem; }
  .section-title { font-size:1.3rem; }
  .btn { padding:0.8rem 1.5rem; font-size:0.85rem; }
  form.akora-contato { padding:1.2rem; }
  .noticia-card { padding:1rem; }
  .noticia-card h2 { font-size:1.1rem; }
  .method-grid { grid-template-columns:1fr; }
  .service-item { padding:1rem; }
}
@media print {
  nav, footer, .btn, .whatsapp, .nav-toggle { display:none; }
  body { font-size:12pt; color:#000; background:#fff; }
  .container { padding:0; max-width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
