/*
Theme Name: No Bull Planning
Description: The approved V4 homepage, with matching WordPress pages and editable navigation.
Author: No Bull Planning
Version: 4.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: no-bull-planning
*/

/* Integration styles; the approved V4 design is in assets/css/main.css. */
body { margin:0; background:#fff; }
#nbp-site .nbp-menu-list { list-style:none; padding:0; margin:0; }
#nbp-site .nbp-menu-list li { margin:0; padding:0; }
#nbp-site .nbp-desktop-nav .nbp-menu-list { display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px; }
#nbp-site .nbp-desktop-nav .current-menu-item > a,#nbp-site .nbp-footer .current-menu-item > a { color:var(--nbp-teal); text-decoration:underline; text-underline-offset:5px; }
#nbp-site .nbp-footer-bottom nav .nbp-menu-list { display:flex; flex-wrap:wrap; gap:10px 24px; }
#nbp-site .nbp-mobile-menu .nbp-menu-list { display:grid; }
#nbp-site .nbp-mobile-menu .current-menu-item > a { color:var(--nbp-teal); font-weight:700; }
/* Keep the compact phone checkout label at the existing minimum text size. */
#nbp-site .nbp-nav .nbp-button .nbp-desktop-cta-label,#nbp-site .nbp-nav .nbp-button .nbp-mobile-cta-label { font-size:1rem; font-weight:650; }
#nbp-site .nbp-interior { min-height:60vh; padding-bottom:76px; }
#nbp-site .nbp-page-header { padding:72px 0 56px; background:linear-gradient(115deg,#fff 10%,#f2f6f8 100%); border-bottom:1px solid var(--nbp-line); }
#nbp-site .nbp-page-header h1 { max-width:1050px; font-size:clamp(2.5rem,5vw,4rem); letter-spacing:-.05em; line-height:1.12; overflow-wrap:anywhere; }
#nbp-site .nbp-page-content { max-width:820px; padding-top:52px; font-size:1.125rem; line-height:1.8; overflow-wrap:anywhere; }
#nbp-site .nbp-page-content > * + * { margin-top:1.4em; }
#nbp-site .nbp-page-content p { margin-bottom:1.2em; }
#nbp-site .nbp-page-content h2 { font-size:clamp(1.65rem,3vw,2.3rem); line-height:1.25; letter-spacing:-.035em; margin-top:1.7em; margin-bottom:.7em; }
#nbp-site .nbp-page-content h3 { font-size:1.45rem; margin-top:1.5em; margin-bottom:.6em; }
#nbp-site .nbp-page-content h4 { font-size:1.2rem; margin-top:1.4em; margin-bottom:.6em; }
#nbp-site .nbp-page-content li + li { margin-top:.4em; }
#nbp-site .nbp-page-content a:not(.nbp-button):not(.wp-block-button__link) { color:var(--nbp-teal); text-decoration:underline; text-underline-offset:4px; }
#nbp-site .nbp-page-content img { border-radius:12px; }
#nbp-site .nbp-page-content figure { margin-inline:0; }
#nbp-site .nbp-page-content blockquote { border-left:3px solid var(--nbp-teal); margin-inline:0; padding-left:24px; }
#nbp-site .nbp-page-content .wp-block-table { overflow-x:auto; }
#nbp-site .nbp-page-content table { width:100%; border-collapse:collapse; }
#nbp-site .nbp-page-content th,#nbp-site .nbp-page-content td { border:1px solid var(--nbp-line); padding:12px 16px; text-align:left; }
#nbp-site .nbp-page-content .wp-block-button__link { background:var(--nbp-navy); color:#fff; font-size:1rem; border-radius:8px; padding:15px 24px; min-height:48px; }
#nbp-site .nbp-page-content input,#nbp-site .nbp-page-content textarea,#nbp-site .nbp-page-content select { max-width:100%; min-height:48px; font:inherit; padding:10px 12px; border:1px solid #adbdca; border-radius:6px; }
#nbp-site .nbp-page-content input[type="submit"] { background:var(--nbp-navy); color:#fff; cursor:pointer; padding-inline:22px; }
#nbp-site .nbp-page-content .alignwide { max-width:1080px; }
#nbp-site .nbp-post-summary { padding-bottom:35px; margin-bottom:35px; border-bottom:1px solid var(--nbp-line); }
#nbp-site .nbp-post-summary h2 { margin-top:0; }
#nbp-site .nbp-page-pagination { display:flex; gap:14px; flex-wrap:wrap; }
@media (min-width:601px) {
  body.admin-bar #nbp-site .nbp-header { top:32px; }
  body.admin-bar #nbp-site [id] { scroll-margin-top:142px; }
}
@media (min-width:601px) and (max-width:782px) {
  body.admin-bar #nbp-site .nbp-header { top:46px; }
  body.admin-bar #nbp-site [id] { scroll-margin-top:140px; }
}
@media (max-width:1200px) {
  #nbp-site .nbp-desktop-nav .nbp-menu-list { gap:10px 18px; }
}
@media (max-width:820px) {
  #nbp-site .nbp-page-header { padding:48px 0 36px; }
  #nbp-site .nbp-page-content { padding-top:34px; }
  #nbp-site .nbp-interior { padding-bottom:56px; }
  #nbp-site .nbp-footer-bottom nav .nbp-menu-list { gap:12px 20px; }
}
@media (max-width:520px) {
  #nbp-site .nbp-page-header h1 { font-size:clamp(2.2rem,9vw,3rem); }
}
