/*
Theme Name: S4 Modern Limpo
Theme URI: https://example.com/s4-modern
Author: OpenAI
Description: Tema WordPress elegante, responsivo e editável para terapeuta, inspirado no estilo visual preto e branco do site S4 Sara Gonçalves 4You.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: s4-modern
*/

:root{
  --bg:#0e0e10;
  --surface:#17171a;
  --surface-2:#202024;
  --text:#f4f1ec;
  --muted:#b9b5af;
  --accent:#d8c6aa;
  --line:rgba(255,255,255,.12);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(14,14,16,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:210px}
.custom-logo{max-height:50px;width:auto}
.brand-text{font-family:Georgia,serif;letter-spacing:.18em;font-size:.85rem;text-transform:uppercase}
.main-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.main-nav a{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:#ddd9d2;transition:.2s}
.main-nav a:hover{color:#fff}
.nav-cta{padding:11px 18px;border:1px solid var(--accent);border-radius:999px;color:var(--text)!important}
.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:1.8rem}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.25)),var(--hero-image,none);background-size:cover;background-position:center}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,var(--bg))}
.hero-content{position:relative;z-index:2;max-width:760px;padding-top:90px}
.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.32em;color:var(--accent);margin-bottom:18px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin-top:0}
h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.98;letter-spacing:-.035em;margin-bottom:24px}
.hero p{max-width:650px;color:#dedad4;font-size:1.15rem;margin:0 0 34px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;transition:.25s}
.btn-primary{background:var(--accent);color:#171717}
.btn:hover{transform:translateY(-2px)}
section{padding:105px 0}
.section-head{max-width:720px;margin-bottom:46px}
.section-head h2{font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.05;margin-bottom:18px}
.section-head p{color:var(--muted);font-size:1.05rem}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.about-image{aspect-ratio:4/5;object-fit:cover;background:var(--surface-2)}
.about-copy h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.04}
.about-copy p{color:var(--muted)}
.services{background:var(--surface)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.02);min-height:220px;transition:.25s}
.service-card:hover{transform:translateY(-5px);border-color:rgba(216,198,170,.55)}
.service-number{font-size:.75rem;letter-spacing:.18em;color:var(--accent)}
.service-card h3{font-size:1.7rem;margin:28px 0 12px}
.service-card p{color:var(--muted);font-size:.94rem;margin:0}
.quote{padding:120px 0;text-align:center;background:linear-gradient(rgba(0,0,0,.64),rgba(0,0,0,.64)),var(--quote-image,none);background-size:cover;background-position:center}
.quote blockquote{font-family:Georgia,serif;font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.15;max-width:950px;margin:0 auto 32px}
.reflections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.reflection-card{border-top:1px solid var(--line);padding-top:20px}
.reflection-card .date{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.reflection-card h3{font-size:1.55rem;margin:15px 0 12px}
.reflection-card p{color:var(--muted)}
.contact{background:var(--surface)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}
.contact h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.03}
.contact-list{display:grid;gap:16px;align-content:start}
.contact-item{padding:22px;border:1px solid var(--line)}
.contact-item span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
.site-footer{padding:34px 0;border-top:1px solid var(--line);color:#9d9994;font-size:.86rem}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.entry-content{padding-top:120px;min-height:70vh}
.wp-block-image img{border-radius:0}
@media(max-width:900px){
  .menu-toggle{display:block}
  .main-nav{position:absolute;top:78px;left:0;right:0;background:#111114;border-bottom:1px solid var(--line);display:none}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;align-items:flex-start;padding:24px;width:min(calc(100% - 40px),var(--max));margin:auto}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .service-grid,.reflections-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .header-inner{height:68px}
  .main-nav{top:68px}
  .brand-text{font-size:.72rem}
  h1{font-size:3.15rem}
  section{padding:78px 0}
  .service-grid,.reflections-grid{grid-template-columns:1fr}
}

/* Páginas internas */
.inner-page { background: #f6f4f1; min-height: 70vh; }
.page-hero { padding: 150px 0 70px; background: #171717; color: #fff; }
.page-hero h1 { max-width: 900px; margin: 12px 0 0; font-size: clamp(2.6rem, 6vw, 5.6rem); line-height: .98; }
.page-section { padding: 80px 0 110px; }
.page-content { max-width: 880px; font-size: 1.08rem; line-height: 1.9; color: #2b2b2b; }
.page-content p { margin: 0 0 1.5em; }
.page-content h2 { margin: 2em 0 .55em; font-size: clamp(1.55rem, 3vw, 2.3rem); }
.page-content blockquote { margin: 2.5em 0; padding: 28px 34px; border-left: 2px solid #b89b76; background: #fff; font-family: Georgia, serif; font-size: 1.45rem; }
.page-featured { margin: 0 0 45px; }
.page-featured img { width: 100%; height: auto; display: block; }
.signature { margin-top: 3.2em !important; font-family: Georgia, serif; font-size: 1.25rem; }
.page-intro { font-size: 1.2rem; color: #555; }
.services-list { display: grid; gap: 18px; margin-top: 45px; }
.service-list-item { padding: 30px 34px; background: #fff; border: 1px solid rgba(0,0,0,.08); }
.service-list-item h2 { margin: 0 0 10px; font-size: 1.45rem; }
.service-list-item p { margin: 0; color: #666; }
.reflections-intro { margin: 0 auto 55px; }
.reflections-archive { margin-top: 20px; }
.reflection-image { display: block; margin: -28px -28px 25px; overflow: hidden; }
.reflection-image img { width: 100%; height: 240px; object-fit: cover; display: block; transition: transform .35s ease; }
.reflection-image:hover img { transform: scale(1.03); }
.text-link { font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.empty-reflections { grid-column: 1 / -1; }
@media (max-width: 700px) {
  .page-hero { padding: 120px 0 55px; }
  .page-section { padding: 55px 0 80px; }
  .page-content { font-size: 1rem; line-height: 1.75; }
  .service-list-item { padding: 24px; }
}
