/*
Theme Name: Despertei Psicologia Transpessoal — Depoimentos Completos
Theme URI: https://desperteieagora.com/
Author: Carmen Penha
Description: Tema customizado de uma página para Juliana Penha — Psicologia Transpessoal.
Version: 2.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: juliana-psicologia
*/

:root {
  --warm-white: #f9f6f1;
  --sand: #eee8de;
  --olive: #7d8c73;
  --olive-dark: #65715d;
  --taupe: #b39a83;
  --gold: #b89b5e;
  --ink: #3f4039;
  --muted: #6d6c65;
  --line: rgba(63,64,57,.14);
  --shadow: 0 18px 45px rgba(63,64,57,.08);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--warm-white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:9999}.skip-link:focus{left:8px}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;transition:.3s;background:transparent;color:#fff}
.site-header.scrolled{background:rgba(249,246,241,.94);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.06)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}
.brand{display:flex;flex-direction:column;line-height:1;min-width:170px}.brand-name{font-family:var(--serif);font-size:27px;font-weight:600}.brand-subtitle{font-size:9px;letter-spacing:.17em;text-transform:uppercase;margin-top:6px}
.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.main-nav a{font-size:13px}.main-nav a:hover{opacity:.7}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 25px;border-radius:2px;background:var(--olive);color:#fff;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:.25s;border:1px solid var(--olive)}.button:hover{background:var(--olive-dark);transform:translateY(-2px)}.button-small{min-height:40px;padding:9px 17px;font-size:10px}.button-outline{background:transparent;color:var(--olive-dark)}.button-light{background:var(--warm-white);color:var(--olive-dark);border-color:var(--warm-white)}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:5px}
.hero{min-height:100svh;position:relative;display:grid;align-items:center;background:url('assets/images/hero-montanhas.png') center/cover no-repeat;color:#fff}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,14,.64) 0%,rgba(15,16,14,.25) 50%,rgba(15,16,14,.08) 100%)}
.hero-content{position:relative;z-index:1;padding-top:90px}.hero-content>*{max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;margin:0 0 18px;color:var(--olive-dark)}.hero .eyebrow{color:#ede5d8}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0 0 24px}h1{font-size:clamp(48px,6vw,78px)}h2{font-size:clamp(38px,4.5vw,58px)}h3{font-size:32px}.hero-copy{font-size:18px;margin-bottom:30px}.scroll-indicator{position:absolute;bottom:24px;left:50%;z-index:2;font-size:28px;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.section{padding:120px 0}.section-light{background:var(--warm-white)}.section-sand{background:var(--sand)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.text-column p{margin:0 0 18px}.image-column img,.portrait-quote img,.appointment-image img{width:100%;height:100%;object-fit:cover;border-radius:180px 180px 4px 4px;box-shadow:var(--shadow)}.image-column{height:640px}
.symptoms-block{margin-top:110px}.symptoms-block h3{text-align:center;max-width:540px;margin-inline:auto}.symptoms-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:34px 24px;margin-top:55px}.symptoms-grid article{text-align:center}.symptoms-grid span{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;color:var(--olive-dark);font-size:20px}.symptoms-grid p{font-size:12px;line-height:1.45;margin:0}
.journey{margin-top:90px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);padding-top:35px}.journey div{text-align:center;padding:0 18px;position:relative}.journey span{display:block;font-family:var(--serif);font-size:24px;color:var(--gold)}.journey strong{display:block;font-size:14px;margin:7px 0}.journey small{font-size:11px;line-height:1.4;color:var(--muted)}
.about-layout{grid-template-columns:1.05fr .95fr}.portrait-quote{display:grid;grid-template-columns:1fr .75fr;gap:28px;align-items:center}.portrait-quote img{border-radius:4px;height:560px}.portrait-quote blockquote{margin:0;font-family:var(--serif);font-size:25px;line-height:1.25;color:var(--muted)}.portrait-quote cite{display:block;font-family:var(--sans);font-size:11px;margin-top:20px;font-style:normal}
.centered{text-align:center}.testimonials .container>h2{max-width:580px;margin-inline:auto}.testimonial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:55px}.testimonial-grid article{background:rgba(255,255,255,.44);padding:28px;border:1px solid var(--line);min-height:245px}.stars{color:var(--gold);letter-spacing:.12em}.testimonial-grid p{font-size:13px}.testimonial-grid strong{font-size:12px}
.appointment{background:var(--olive);color:#fff}.appointment .eyebrow{color:#fff}.appointment-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.appointment-points span{font-size:12px;border-top:1px solid rgba(255,255,255,.3);padding-top:14px}.appointment-image{height:450px;position:relative}.appointment-image img{border-radius:220px 220px 4px 4px}.appointment-image .button{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap}
.site-footer{padding:80px 0 24px;background:var(--warm-white)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr .6fr;gap:50px}.footer-grid h3{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.footer-grid a,.footer-grid p{display:block;font-size:12px;margin:7px 0;color:var(--muted)}.footer-bottom{margin-top:55px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}
@media (max-width:980px){.header-cta{display:none}.main-nav{position:absolute;top:82px;left:0;right:0;background:var(--warm-white);color:var(--ink);padding:16px 24px;display:none}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:flex-start}.menu-toggle{display:block;margin-left:auto}.two-column{grid-template-columns:1fr;gap:45px}.image-column{height:520px}.symptoms-grid{grid-template-columns:repeat(2,1fr)}.journey{grid-template-columns:1fr;gap:26px}.journey div{border-bottom:1px solid var(--line);padding-bottom:24px}.portrait-quote{grid-template-columns:1fr}.portrait-quote img{height:620px}.testimonial-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.container{width:min(100% - 30px,1180px)}.section{padding:82px 0}.hero-content{padding-top:70px}h1{font-size:48px}.symptoms-grid,.testimonial-grid,.appointment-points,.footer-grid{grid-template-columns:1fr}.image-column{height:430px}.portrait-quote img{height:480px}.appointment-image{height:360px}.brand-name{font-size:23px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-indicator{animation:none}}

/* =========================================================
   Ajuste tipográfico editorial — versão 1.4
   Mantém o cabeçalho e o layout original.
   ========================================================= */

/* Hero */
.hero-content > *{max-width:560px}
.hero h1{
  font-family:var(--serif);
  font-size:clamp(46px,5.2vw,66px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.018em;
  margin-bottom:28px;
}
.hero-copy{
  max-width:430px;
  font-size:15px;
  line-height:1.55;
  font-weight:400;
  margin-bottom:30px;
}
.hero .eyebrow{
  font-size:9px;
  letter-spacing:.24em;
  margin-bottom:20px;
}

/* Conteúdo das seções */
main h2,
main h3{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.012em;
}
main h2{
  font-size:clamp(34px,3.6vw,46px);
  line-height:1.08;
  margin-bottom:24px;
}
main h3{
  font-size:clamp(29px,2.8vw,36px);
  line-height:1.12;
}
main .eyebrow{
  font-size:9px;
  line-height:1.4;
  letter-spacing:.23em;
  font-weight:600;
  margin-bottom:14px;
}
main .text-column p{
  font-size:14px;
  line-height:1.65;
  margin-bottom:15px;
}

/* Sintomas */
.symptoms-block h3{
  max-width:470px;
  font-size:36px;
  line-height:1.08;
}
.symptoms-grid p{
  font-size:11px;
  line-height:1.45;
}

/* Jornada */
.journey span{
  font-size:22px;
  font-weight:400;
}
.journey strong{
  font-size:13px;
  font-weight:500;
}
.journey small{
  font-size:10.5px;
  line-height:1.45;
}

/* Quem sou e citação */
.portrait-quote blockquote{
  font-family:var(--serif);
  font-size:27px;
  font-weight:400;
  line-height:1.22;
}
.portrait-quote cite{
  font-size:10px;
  letter-spacing:.04em;
}

/* Depoimentos */
.testimonials .container > h2{
  max-width:500px;
}
.testimonial-grid p{
  font-size:12px;
  line-height:1.6;
}
.testimonial-grid strong{
  font-size:11px;
}

/* Agendamento */
.appointment .text-column p{
  font-size:14px;
  line-height:1.65;
}
.appointment-points span{
  font-size:11px;
  line-height:1.45;
}

/* Rodapé */
.site-footer .brand-name{
  font-family:var(--serif);
  font-size:29px;
  font-weight:500;
}
.site-footer .brand-subtitle{
  display:inline-block;
  margin-top:7px;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.17em;
}
.footer-grid h3{
  font-size:10px;
}
.footer-grid a,
.footer-grid p{
  font-size:11px;
  line-height:1.55;
}

@media (max-width:980px){
  .hero h1{font-size:clamp(44px,7vw,60px)}
  main h2{font-size:clamp(33px,5vw,43px)}
  .symptoms-block h3{font-size:34px}
}

@media (max-width:640px){
  .hero h1{font-size:43px;line-height:1.08}
  .hero-copy{font-size:14px}
  main h2{font-size:34px}
  main h3,.symptoms-block h3{font-size:30px}
  main .text-column p{font-size:13.5px}
  .portrait-quote blockquote{font-size:24px}
}


/* =========================================================
   VERSÃO 2.1 — NOVA TIPOGRAFIA + CARROSSEL COM 4 CARDS
   Cabeçalho e layout geral preservados.
   ========================================================= */

/* Nova tipografia do conteúdo */
main h1,
main h2,
main h3,
.site-footer .brand-name {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.025em;
}

.hero h1 {
  max-width: 650px;
  font-size: clamp(48px, 5vw, 68px);
  line-height: 1.08;
  margin-bottom: 26px;
}

.hero-copy,
.section .text-column > p:not(.eyebrow),
.testimonial-slide p,
.testimonial-slide strong,
.site-footer p,
.site-footer a {
  font-family: "Montserrat", Arial, sans-serif;
}

.hero-copy {
  max-width: 480px;
  font-size: 15px;
  line-height: 1.65;
}

.section h2 {
  font-size: clamp(34px, 3.6vw, 48px);
  line-height: 1.12;
  margin-bottom: 25px;
}

.section h3 {
  font-size: clamp(28px, 2.8vw, 38px);
  line-height: 1.16;
}

.section .text-column > p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.72;
}

.eyebrow {
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 9px;
  line-height: 1.3;
  letter-spacing: .24em;
}

/* Carrossel horizontal: 4 cards no desktop, 2 no tablet e 1 no celular */
.testimonials { overflow: hidden; }
.testimonials .container > h2 { max-width: 520px; }

.reviews-source {
  margin: -6px auto 34px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .04em;
  color: var(--muted);
}

.testimonial-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px;
  align-items: center;
  gap: 16px;
  width: 100%;
  margin: 0 auto;
}

.testimonial-viewport {
  width: 100%;
  overflow: hidden;
}

.testimonial-track {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
  transition: transform .65s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

.testimonial-slide {
  flex: 0 0 calc((100% - 60px) / 4);
  width: calc((100% - 60px) / 4);
  min-height: 245px;
  padding: 26px 24px 23px;
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,.46);
  border: 1px solid var(--line);
  text-align: left;
}

.testimonial-slide .stars {
  margin-bottom: 14px;
  font-size: 14px;
  line-height: 1;
}

.testimonial-slide p {
  display: block;
  overflow: visible;
  margin: 0 0 18px;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--ink);
}

.testimonial-slide strong {
  margin-top: auto;
  font-size: 10.5px;
  font-weight: 600;
}

.carousel-arrow {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font-family: Georgia, serif;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.carousel-arrow:hover {
  background: rgba(255,255,255,.55);
  transform: translateY(-1px);
}

.carousel-dots {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 360px;
  margin: 24px auto 0;
}

.carousel-dot {
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(63,64,57,.25);
  cursor: pointer;
}

.carousel-dot.active {
  background: var(--gold);
  transform: scale(1.25);
}

@media (max-width: 980px) {
  .testimonial-slide {
    flex-basis: calc((100% - 20px) / 2);
    width: calc((100% - 20px) / 2);
  }
}

@media (max-width: 640px) {
  .hero h1 { font-size: 42px; }
  .section h2 { font-size: 34px; }
  .section h3 { font-size: 29px; }
  .testimonial-carousel {
    grid-template-columns: 32px minmax(0,1fr) 32px;
    gap: 8px;
  }
  .testimonial-slide {
    flex-basis: 100%;
    width: 100%;
    min-height: 270px;
    padding: 24px 22px;
  }
  .carousel-arrow { width: 32px; height: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-track { transition: none; }
}
