/* WordPress integration layer */
.admin-bar .site-header { top:32px; }
.pitanga-site-logo { flex:0 0 auto; }
.pitanga-site-logo .custom-logo-link { display:block; }
.pitanga-site-logo .custom-logo { display:block; width:176px; height:58px; object-fit:contain; }
.pitanga-wp-nav { margin-left:auto; }
.pitanga-primary-menu { display:flex; align-items:center; gap:4px; margin:0; padding:0; list-style:none; }
.pitanga-primary-menu > li { position:relative; }
.pitanga-primary-menu > li > a { min-height:44px; padding:12px 11px; display:inline-flex; align-items:center; border-radius:9px; color:#3d4d46; font-size:13px; font-weight:600; transition:color .2s var(--ease),background .2s var(--ease); }
.pitanga-primary-menu > li > a:hover,.pitanga-primary-menu > .current-menu-item > a,.pitanga-primary-menu > .current-menu-ancestor > a { color:var(--deep-green); background:rgba(25,122,79,.08); }
.pitanga-primary-menu .menu-item-has-children > a::after { content:'⌄'; margin-left:6px; color:var(--brand-green); font-size:13px; }
.pitanga-primary-menu .sub-menu { position:absolute; z-index:20; top:calc(100% + 14px); left:50%; width:min(690px,76vw); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:16px; opacity:0; visibility:hidden; transform:translate(-50%,10px); border:1px solid rgba(8,61,45,.1); border-radius:22px; background:#fff; box-shadow:0 28px 70px rgba(8,61,45,.16); list-style:none; transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s; }
.pitanga-primary-menu .sub-menu::before { content:''; position:absolute; inset:-18px 0 auto; height:18px; }
.pitanga-primary-menu li:hover > .sub-menu,.pitanga-primary-menu li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.pitanga-primary-menu .sub-menu a { min-height:66px; padding:13px 15px; display:flex; align-items:center; border-radius:12px; color:var(--deep-green); font-size:13px; font-weight:700; transition:background .2s var(--ease),color .2s var(--ease); }
.pitanga-primary-menu .sub-menu a:hover { background:var(--soft-sage); color:var(--brand-green); }
.pitanga-login-placeholder { padding:16px; color:var(--muted); font-size:11px; line-height:1.5; }
.pitanga-mobile-menu { margin:0; padding:18px; list-style:none; }
.pitanga-mobile-menu > li > a { min-height:54px; display:flex; align-items:center; padding:0 6px; border-bottom:1px solid var(--border); color:var(--deep-green); font-size:17px; font-weight:650; }
.pitanga-mobile-menu .sub-menu { display:grid; gap:0; margin:0; padding:4px 0 10px 18px; list-style:none; }
.pitanga-mobile-menu .sub-menu a { min-height:42px; display:flex; align-items:center; border-bottom:1px solid rgba(8,61,45,.08); color:var(--muted); font-size:13px; }
.footer-menu,.pitanga-services-menu { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.footer-menu a,.pitanga-services-menu a { color:inherit; font-size:13px; }
.pitanga-map-preview { overflow:hidden; }
.pitanga-map-preview img { width:100%; height:100%; display:block; object-fit:cover; }
.pitanga-editable-content > .alignwide { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.pitanga-editable-content > .alignfull { width:100%; }
.pitanga-editable-content img { max-width:100%; height:auto; }
.navigation.pagination { margin-top:38px; }
.nav-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.nav-links .page-numbers { min-width:42px; height:42px; padding:0 12px; display:grid; place-items:center; border:1px solid var(--border); border-radius:999px; color:var(--deep-green); font-size:12px; font-weight:700; }
.nav-links .current,.nav-links .page-numbers:hover { border-color:var(--deep-green); background:var(--deep-green); color:#fff; }
.blog-post-copy > .wp-block-heading { scroll-margin-top:120px; }
.blog-post-copy blockquote { margin:36px 0; padding:28px 30px; border-left:4px solid var(--brand-green); border-radius:0 18px 18px 0; background:#edf6ee; color:var(--deep-green); font-family:'Instrument Serif',Georgia,serif; font-size:24px; }
.blog-post-copy figure { margin:32px 0; }
.blog-post-copy figure img { border-radius:20px; }

@media (max-width:1120px) {
  .pitanga-wp-nav,.pitanga-header-cta,.login-wrap { display:none; }
}
@media (max-width:782px) {
  .admin-bar .site-header { top:46px; }
}
@media (max-width:600px) {
  .admin-bar .site-header { top:0; }
  .pitanga-site-logo .custom-logo { width:154px; height:51px; }
}
@media print {
  #wpadminbar { display:none!important; }
}
