/*
Theme Name: Umá — Espaço de Cuidado
Theme URI: https://umacuidado.com
Author: Umá
Description: Tema exclusivo do espaço de cuidado Umá.
Version: 0.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: uma
*/
@font-face { font-family: "Montserrat"; src: url("assets/fonts/montserrat-regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("assets/fonts/montserrat-medium.otf") format("opentype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("assets/fonts/montserrat-semibold.otf") format("opentype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "ITC Bauhaus"; src: url("assets/fonts/itc-bauhaus-light.ttf") format("truetype"); font-weight: 300; font-display: swap; }
:root { --ink:#063756; --mist:#dde9f3; --clay:#c16f4b; --moss:#606d31; --ochre:#ae7e3d; --paper:#f5f1e9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Montserrat",Arial,sans-serif; font-weight:400; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; inset:0 0 auto; height:112px; padding:24px clamp(24px,5vw,76px); display:grid; grid-template-columns:180px 1fr auto; align-items:center; gap:32px; }
.brand img { width:142px; height:auto; display:block; }
nav { justify-self:center; display:flex; gap:clamp(18px,2.5vw,42px); font-size:15px; }
nav a { position:relative; }
nav a::after { content:""; position:absolute; height:1px; background:var(--clay); inset:auto 100% -7px 0; transition:inset .25s ease; }
nav a:hover::after, nav a:focus-visible::after { inset-right:0; }
.header-cta,.button { border-radius:999px; }
.header-cta { padding:12px 20px; border:1px solid color-mix(in srgb,var(--ink) 35%,transparent); background:rgba(221,233,243,.36); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 8px 28px rgba(6,55,86,.08); font-size:14px; }
.hero { min-height:100svh; padding:160px clamp(24px,8vw,130px) 72px; position:relative; overflow:hidden; display:flex; align-items:center; background:var(--mist); }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(221,233,243,.95) 0%,rgba(221,233,243,.84) 42%,rgba(221,233,243,.16) 74%,rgba(221,233,243,.05) 100%); }
.hero-photo { object-fit:cover; object-position:center 54%; }
.hero-copy { width:min(920px,74vw); position:relative; z-index:2; }
.eyebrow,.section-number { margin:0 0 28px; color:var(--moss); font-weight:500; font-size:14px; letter-spacing:.09em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(44px,4.8vw,76px); line-height:1.04; letter-spacing:-.035em; font-weight:400; }
.hero-intro { width:min(590px,80%); margin:36px 0 0; font-size:clamp(18px,1.45vw,24px); line-height:1.45; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; }
.button { display:inline-flex; padding:15px 24px; font-weight:500; }
.button-primary { background:var(--clay); color:#fff; }
.text-link { display:inline-flex; align-items:center; gap:10px; font-weight:500; border-bottom:1px solid color-mix(in srgb,var(--ink) 40%,transparent); padding-bottom:4px; }
.intro-section { padding:120px clamp(24px,8vw,130px) 140px; background:var(--paper); }
.intro-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr); gap:10vw; align-items:start; }
h2 { margin:0; font-size:clamp(34px,3.7vw,60px); line-height:1.12; letter-spacing:-.028em; font-weight:400; }
.intro-body { padding-top:12px; }
.intro-body p { margin:0 0 36px; font-size:clamp(19px,1.7vw,27px); line-height:1.48; }
.name-story { margin-top:100px; padding:50px 6vw; display:grid; grid-template-columns:120px 1fr; align-items:start; gap:5vw; border:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.name-story .name-u { font-size:130px; line-height:.7; color:var(--clay); font-weight:300; }
.name-story p { max-width:760px; margin:0; font-size:clamp(16px,1.25vw,20px); line-height:1.65; }
.care-section,.people-section,.content-section,.contact-section { padding:120px clamp(24px,8vw,130px); }
.care-section { background:var(--ink); color:var(--mist); }
.care-section .section-number,.contact-section .section-number { color:#b7c874; }
.section-head { max-width:860px; }
.section-head>p:last-child { max-width:600px; font-size:22px; line-height:1.45; }
.section-head.horizontal { max-width:none; display:grid; grid-template-columns:1fr minmax(280px,460px); gap:10vw; align-items:end; }
.care-columns { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:80px; border-top:1px solid color-mix(in srgb,var(--mist) 30%,transparent); }
.care-columns article { position:relative; padding:58px 7vw 70px 0; }
.care-columns article+article { padding-left:7vw; border-left:1px solid color-mix(in srgb,var(--mist) 30%,transparent); }
.care-index { color:var(--clay); font-size:15px; }
h3 { font-weight:400; }
.care-columns h3 { margin:30px 0; font-size:clamp(28px,3vw,46px); }
.care-columns ul { margin:0; padding:0; list-style:none; font-size:20px; line-height:1.5; }
.care-columns li { padding:12px 0; border-bottom:1px solid color-mix(in srgb,var(--mist) 13%,transparent); }
.care-guidance { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:40px 0 0; border-top:1px solid color-mix(in srgb,var(--mist) 30%,transparent); }
.care-guidance p { max-width:670px; margin:0; font-size:20px; line-height:1.5; }
.button-light { background:var(--mist); color:var(--ink); white-space:nowrap; }
.people-section { background:#f5f1e9; }
.people-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:70px 34px; margin-top:90px; }
.person-card { display:grid; grid-template-columns:minmax(180px,.85fr) 1fr; gap:30px; align-items:end; }
.portrait { aspect-ratio:4/5; position:relative; overflow:hidden; background:var(--moss); }
.portrait img { object-fit:cover; object-position:center top; transition:transform .5s ease; }
.person-card:hover .portrait img { transform:scale(1.025); }
.person-area,.post-theme { color:var(--moss); text-transform:uppercase; letter-spacing:.06em; font-size:12px; font-weight:500; }
.person-info h3 { margin:10px 0 18px; font-size:42px; }
.bio-placeholder { line-height:1.5; color:color-mix(in srgb,var(--ink) 78%,transparent); }
.whatsapp-link,.post-card>a { display:inline-flex; gap:10px; margin-top:20px; padding-bottom:5px; border-bottom:1px solid; font-weight:500; }
.place-section { display:grid; grid-template-columns:1.2fr .8fr; min-height:760px; background:var(--mist); }
.place-visual { position:relative; overflow:hidden; min-height:650px; background:var(--moss); }
.place-visual img { object-fit:cover; object-position:center; }
.place-copy { align-self:center; padding:80px clamp(40px,6vw,110px); }
.place-copy p:not(.section-number) { font-size:22px; line-height:1.5; }
.place-copy address { margin:38px 0; padding-top:26px; border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent); font-style:normal; line-height:1.6; }
.content-section { background:var(--paper); }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:80px 0 55px; }
.post-image { aspect-ratio:1.15; display:flex; align-items:flex-end; padding:24px; margin-bottom:28px; overflow:hidden; position:relative; }
.post-image::after { content:""; position:absolute; width:70%; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--paper) 50%,transparent); border-radius:50%; right:-15%; top:-15%; }
.post-image span { font-size:54px; color:var(--paper); font-weight:300; }
.post-1 .post-image { background:var(--clay); }.post-2 .post-image { background:var(--moss); }.post-3 .post-image { background:var(--ochre); }
.post-card h3 { margin:12px 0; font-size:clamp(25px,2.25vw,36px); line-height:1.12; }
.post-meta { font-size:14px; color:color-mix(in srgb,var(--ink) 65%,transparent); }
.button-outline { border:1px solid var(--ink); }
.contact-section { display:grid; grid-template-columns:.8fr 1fr; gap:10vw; background:var(--ink); color:var(--mist); }
.contact-intro h2 { font-size:clamp(45px,5.4vw,82px); }
.contact-intro>p:not(.section-number) { font-size:22px; line-height:1.5; }
.contact-intro small { display:block; margin-top:38px; max-width:480px; line-height:1.5; color:color-mix(in srgb,var(--mist) 70%,transparent); }
form { display:grid; gap:28px; }
form>label,legend { font-size:14px; letter-spacing:.03em; }
input[type=text],textarea { display:block; width:100%; margin-top:10px; padding:15px 0; border:0; border-bottom:1px solid color-mix(in srgb,var(--mist) 48%,transparent); outline:0; background:transparent; color:var(--mist); font:400 20px "Bumble"; resize:vertical; }
input[type=text]:focus,textarea:focus { border-color:var(--clay); }
fieldset { border:0; padding:0; margin:0; }
.choice { display:inline-flex; align-items:center; gap:8px; margin:14px 24px 0 0; font-size:17px; }
.choice input,.consent input { accent-color:var(--clay); }
.consent { display:flex; gap:10px; line-height:1.4; }
form .button { border:0; justify-self:start; font:500 16px "Montserrat"; cursor:pointer; }
footer { padding:75px clamp(24px,8vw,130px) 35px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:50px; align-items:start; background:var(--mist); }
.footer-brand img { width:160px; height:auto; }
footer>p { margin:0; font-size:24px; line-height:1.3; }
.footer-links { display:grid; gap:12px; }
footer>small { grid-column:1/-1; margin-top:40px; padding-top:25px; border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent); }
.archive-page { min-height:100vh; background:var(--mist); }
.archive-header { padding:30px clamp(24px,7vw,110px); display:flex; justify-content:space-between; }
.archive-hero { padding:100px clamp(24px,8vw,130px) 80px; }
.archive-hero h1 { font-size:clamp(66px,9vw,140px); }.archive-hero>p:last-child { max-width:600px; font-size:24px; line-height:1.45; }
.filters { padding:25px clamp(24px,8vw,130px); display:flex; flex-wrap:wrap; gap:10px; border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent); border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent); }
.filters button { border:1px solid color-mix(in srgb,var(--ink) 25%,transparent); border-radius:999px; padding:10px 16px; color:var(--ink); background:transparent; font:400 14px "Bumble"; }.filters .active { background:var(--ink); color:var(--mist); }
.empty-editorial { padding:110px clamp(24px,8vw,130px) 140px; max-width:1000px; }.empty-editorial>span { color:var(--clay); text-transform:uppercase; letter-spacing:.1em; }.empty-editorial h2 { margin:30px 0; }.empty-editorial p { font-size:22px; line-height:1.5; max-width:650px; margin-bottom:38px; }
@media (max-width:920px) {
  .site-header { grid-template-columns:1fr auto; height:88px; padding:18px 24px; }
  .site-header nav { display:none; }
  .brand img { width:112px; }
  .header-cta { font-size:13px; padding:10px 15px; }
  .hero { padding:130px 24px 64px; align-items:flex-start; }
  .hero-copy { width:100%; }
  h1 { font-size:clamp(38px,10.5vw,56px); }
  .hero-intro { width:94%; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero::after { background:linear-gradient(180deg,rgba(221,233,243,.93) 0%,rgba(221,233,243,.77) 56%,rgba(221,233,243,.3) 100%); }
  .hero-photo { object-position:64% center; }
  .intro-section { padding:88px 24px 96px; }
  .intro-grid { grid-template-columns:1fr; gap:40px; }
  .name-story { margin-top:60px; padding:35px 24px; grid-template-columns:60px 1fr; gap:24px; }
  .name-story .name-u { font-size:80px; }
  .care-section,.people-section,.content-section,.contact-section { padding:88px 24px; }
  .section-head.horizontal,.care-columns,.contact-section,.place-section { grid-template-columns:1fr; }
  .section-head.horizontal { gap:28px; }
  .care-columns article,.care-columns article+article { padding:40px 0; border-left:0; }
  .care-columns article+article { border-top:1px solid color-mix(in srgb,var(--mist) 30%,transparent); }
  .care-guidance { align-items:flex-start; flex-direction:column; }
  .people-grid,.post-grid { grid-template-columns:1fr; }
  .person-card { grid-template-columns:minmax(130px,.7fr) 1fr; gap:20px; }
  .person-info h3 { font-size:34px; }
  .bio-placeholder { display:none; }
  .place-visual { min-height:500px; }
  .place-copy { padding:75px 24px; }
  .post-grid { gap:65px; }
  footer { grid-template-columns:1fr; }
  footer>small { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

.hero-photo,.portrait img,.place-visual img { position:absolute; inset:0; width:100%; height:100%; }
.site-header .brand img { width:142px; height:auto; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.admin-bar .site-header { top:32px; }
.archive-list { padding:80px clamp(24px,8vw,130px) 130px; display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
.archive-list article { border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent); padding-top:24px; }
.archive-list h2 { font-size:36px; margin:14px 0; }
.single-article { max-width:820px; margin:0 auto; padding:150px 24px 120px; }
.single-article h1 { font-size:clamp(52px,7vw,92px); margin-bottom:30px; }
.single-article .entry-content { font-size:21px; line-height:1.65; }
.notice { margin:0; padding:14px 20px; background:var(--mist); color:var(--ink); }
@media (max-width:920px) { .admin-bar .site-header { top:46px; } .archive-list { grid-template-columns:1fr; } }

/* Ajustes editoriais — setembro de 2026 */
.hero { min-height:min(780px,92svh); }
.hero-copy { padding-bottom:2vw; }
.hero .eyebrow { color:var(--ink); }
.hero h1 { max-width:900px; }
.hero-photo { transform:scaleX(-1); }
.intro-section { padding-top:140px; }
.name-story { grid-template-columns:minmax(120px,190px) 1fr; }
.name-story>img { width:100%; height:auto; }
.name-story h3 { margin:0 0 16px; font-size:clamp(23px,2.2vw,33px); }
.name-story details { margin-top:30px; border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent); padding-top:18px; }
.name-story details[open] summary { margin-bottom:22px; }
.name-story details p { margin:0 0 18px; }
.name-story summary,.service summary { cursor:pointer; font-weight:600; }
.collective-photo { display:block; width:100%; max-width:1200px; max-height:650px; margin:72px auto; object-fit:cover; object-position:center 35%; }
.services { max-width:1000px; margin:0 auto; }
.services>h3 { margin:0 0 20px; font-size:clamp(34px,4vw,58px); font-weight:400; }
.service { border-top:1px solid color-mix(in srgb,var(--mist) 35%,transparent); padding:19px 0; }
.service:last-child { border-bottom:1px solid color-mix(in srgb,var(--mist) 35%,transparent); }
.service summary { list-style:none; font-size:clamp(20px,2vw,28px); }
.service summary::-webkit-details-marker { display:none; }
.service summary::after { content:'+'; float:right; color:var(--clay); font-size:30px; line-height:.65; }
.service[open] summary::after { content:'−'; }
.service>div { max-width:850px; padding:15px 40px 5px 0; font-size:16px; line-height:1.7; }
.people-section .section-head { max-width:1000px; }
.people-grid { grid-template-columns:1fr; gap:70px; max-width:1050px; margin-left:auto; margin-right:auto; }
.person-card { grid-template-columns:minmax(260px,.72fr) 1fr; align-items:start; }
.person-info h3 { margin-bottom:25px; }
.bio-text { line-height:1.6; }
.place-section { display:block; min-height:auto; overflow:hidden; padding:110px 0 105px; background:var(--mist); }
.place-copy { width:min(620px,calc(100% - clamp(48px,12vw,190px))); padding:0; margin-left:clamp(24px,8vw,130px); }
.gallery-grid { display:flex; gap:18px; width:max-content; max-width:none; margin:58px 0 0; padding:0 clamp(24px,8vw,130px); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.gallery-grid figure { flex:0 0 clamp(270px,30vw,470px); height:clamp(260px,29vw,430px); margin:0; overflow:hidden; scroll-snap-align:start; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; }
.content-pending { margin:0; font-size:21px; }
@media (max-width:920px) {
  .name-story { grid-template-columns:1fr; }
  .name-story>img { width:140px; }
  .collective-photo { margin:48px auto; }
  .person-card,.place-section { grid-template-columns:1fr; }
  .people-grid { gap:54px; }
  .place-section { padding:78px 0 75px; }
  .place-copy { width:auto; margin:0 24px; }
  .gallery-grid { gap:12px; margin-top:40px; padding:0 24px; }
  .gallery-grid figure { flex-basis:78vw; height:72vw; }
}
