/*
Theme Name: DMB Blog
Theme URI: https://dmbpsicologia.com.br/blog/
Author: Marcos Dev
Description: Tema editorial para o blog da DMB Psicologia e Desenvolvimento Humano.
Version: 1.0.0
Text Domain: dmb-blog
*/

:root { --emerald:#063d2b; --sage:#708373; --rose:#c58d9b; --gold:#cba256; --off-white:#f4eddf; --brown:#7a3e08; --ink:#14352b; --muted:#57665e; --line:rgba(6,61,43,.16); --font-body:"DM Sans",Arial,sans-serif; --font-display:"Playfair Display",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--off-white); color:var(--ink); font-family:var(--font-body); font-size:16px; line-height:1.65; }
a { color:inherit; }
a:focus-visible, button:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.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; }
.screen-reader-text:focus { clip:auto;width:auto;height:auto;margin:0;overflow:visible;z-index:1000;background:var(--off-white);padding:12px 18px; }
.dmb-container { width:min(1120px, calc(100% - 40px)); margin:0 auto; }
.dmb-header { border-bottom:1px solid var(--line); background:rgba(244,237,223,.95); }
.dmb-header__inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.dmb-brand { display:inline-flex; align-items:center; gap:12px; color:var(--emerald); }.dmb-brand .custom-logo-link,.dmb-brand__logo-link { display:block; line-height:0; }
.dmb-brand__logo { width:58px; height:58px; object-fit:contain; display:block; }.dmb-brand .custom-logo { max-height:56px; width:auto; }
.dmb-brand__copy { display:grid; color:inherit; line-height:1.05; text-decoration:none; }.dmb-brand__copy strong { font-family:var(--font-display); font-size:1.05rem; }.dmb-brand__copy small { color:var(--sage); font-size:.66rem; letter-spacing:.03em; }
.dmb-menu { display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; }.dmb-menu a { text-decoration:none; font-size:.88rem; font-weight:700; }.dmb-menu .menu-item--contact a { display:inline-block; padding:10px 15px; border:1px solid var(--emerald); border-radius:999px; }
.dmb-hero { padding:clamp(58px,10vw,120px) 0 clamp(48px,8vw,94px); background:linear-gradient(115deg,#e9eee5 0%,var(--off-white) 72%); }.dmb-eyebrow { color:var(--brown); font-size:.69rem; font-weight:700; letter-spacing:.16em; margin:0 0 14px; }.dmb-hero h1, .dmb-page-title { max-width:790px; margin:0; font-family:var(--font-display); font-size:clamp(2.8rem,6.6vw,5.7rem); font-weight:600; letter-spacing:-.055em; line-height:.94; }.dmb-hero__lead { max-width:610px; margin:27px 0 0; color:var(--muted); font-size:1.13rem; }
.dmb-posts { padding:clamp(54px,8vw,104px) 0; }.dmb-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:32px; }.dmb-section-heading h2 { margin:0; font-family:var(--font-display); font-size:clamp(2.2rem,4vw,3.5rem); letter-spacing:-.045em; line-height:1; }.dmb-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.dmb-post-card { display:flex; flex-direction:column; min-height:100%; background:#fffdf8; border:1px solid var(--line); }.dmb-post-card__image { aspect-ratio:1.45; background:#dce5dc; overflow:hidden; }.dmb-post-card__image img { width:100%;height:100%;object-fit:cover; display:block; transition:transform .35s ease; }.dmb-post-card:hover .dmb-post-card__image img { transform:scale(1.035); }.dmb-post-card__content { padding:23px 22px 25px; }.dmb-post-card__meta, .dmb-single__meta { color:var(--sage); font-size:.76rem; font-weight:700; letter-spacing:.04em; }.dmb-post-card h2 { font-family:var(--font-display); font-size:1.78rem; line-height:1.03; letter-spacing:-.04em; margin:11px 0 13px; }.dmb-post-card h2 a { text-decoration:none; }.dmb-post-card p { color:var(--muted); font-size:.94rem; margin:0; }.dmb-read-more { display:inline-block; margin-top:20px; color:var(--emerald); font-size:.88rem; font-weight:700; text-decoration:none; }.dmb-read-more::after { content:" →"; }.dmb-empty { grid-column:1 / -1; padding:36px; border:1px dashed var(--line); color:var(--muted); }
.dmb-single { padding:clamp(54px,9vw,110px) 0; }.dmb-single__header { width:min(780px,100%); margin-bottom:40px; }.dmb-single__header h1 { font-family:var(--font-display); font-size:clamp(2.6rem,6vw,5.1rem); line-height:.96; letter-spacing:-.055em; margin:13px 0 20px; }.dmb-single__cover { width:min(100%,1000px); max-height:630px; margin:0 0 46px; object-fit:cover; display:block; }.dmb-entry { width:min(720px,100%); color:#283b32; font-size:1.08rem; }.dmb-entry h2, .dmb-entry h3 { font-family:var(--font-display); line-height:1.05; letter-spacing:-.035em; color:var(--emerald); margin:2.2em 0 .65em; }.dmb-entry h2 { font-size:2rem; }.dmb-entry h3 { font-size:1.55rem; }.dmb-entry img { max-width:100%; height:auto; }.dmb-entry a { color:var(--emerald); font-weight:700; }.dmb-entry blockquote { border-left:3px solid var(--gold); margin:2em 0; padding:8px 0 8px 25px; font-family:var(--font-display); font-size:1.5rem; line-height:1.22; }.dmb-disclaimer { width:min(720px,100%); margin-top:52px; padding:22px 24px; background:#e5ece3; color:var(--muted); font-size:.9rem; }.dmb-pagination { display:flex; gap:14px; margin-top:40px; }.dmb-pagination a,.dmb-pagination span { padding:8px 12px; border:1px solid var(--line); text-decoration:none; }
.dmb-footer { padding:42px 0 24px; color:var(--off-white); background:var(--emerald); }.dmb-footer__top { display:flex; align-items:start; justify-content:space-between; gap:30px; }.dmb-footer p { margin:8px 0 0; color:rgba(244,237,223,.76); font-size:.88rem; }.dmb-footer__links { display:flex; flex-wrap:wrap; gap:18px; }.dmb-footer a { color:inherit; font-weight:700; font-size:.85rem; }.dmb-footer__bottom { margin-top:32px; padding-top:18px; border-top:1px solid rgba(244,237,223,.2); color:rgba(244,237,223,.65); font-size:.75rem; }
@media (max-width:700px) { .dmb-header__inner { min-height:72px; }.dmb-menu { gap:13px; }.dmb-menu a { font-size:.75rem; }.dmb-menu li:first-child { display:none; }.dmb-brand__copy small { display:none; }.dmb-post-grid { grid-template-columns:1fr; }.dmb-section-heading,.dmb-footer__top { display:block; }.dmb-section-heading h2 { margin-bottom:20px; }.dmb-hero h1,.dmb-page-title { letter-spacing:-.06em; }.dmb-footer__links { margin-top:26px; }.dmb-single__cover { margin-bottom:30px; }.dmb-entry { font-size:1rem; } }
