/*
Theme Name: Business Butler
Description: Business Butler — AI Assistants & Automation for Small Business. Warm navy/cream redesign.
Author: Business Butler
Template: twentytwentyfive
Version: 2.0.0
Text Domain: business-butler
*/

/* ──────────────────────────────────────────────
   BASE — fonts, colours, resets
   Design system (from the redesign demo files):
   navy #10233f · footer navy #0b1a30 · gold #c8a24c
   gold hover #d8b661 · muted gold #b4863a
   cream page #f6f2ea · card #fffdf8 · warm #efe8da / #e7dfcf
   success green #1f7a4d
────────────────────────────────────────────── */
html, body, .wp-site-blocks {
    background: #f6f2ea !important;
}
body {
    font-family: 'Mulish', system-ui, -apple-system, sans-serif;
    color: #1c2536;
    -webkit-font-smoothing: antialiased;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-site-blocks h1, .wp-site-blocks h2, .wp-site-blocks h3,
.bb-modal h1, .bb-modal h2, .bb-modal h3 {
    font-family: 'Newsreader', Georgia, serif;
    font-weight: 500;
    margin: 0;
}
.wp-site-blocks p { margin: 0; }
.wp-site-blocks a { color: #10233f; text-decoration: none; }
.wp-site-blocks a:hover { color: #b4863a; }

/* ──────────────────────────────────────────────
   FULL-WIDTH RESET
   Twenty Twenty-Five applies clamp() root padding so section
   backgrounds don't reach the edge — kill it so our full-bleed
   navy / cream / warm sections span edge to edge. Each section
   supplies its own inner max-width + padding inline.
────────────────────────────────────────────── */
.wp-site-blocks,
main, main.wp-block-group,
.wp-block-post-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.wp-block-template-part { margin: 0 !important; }
.wp-block-group.alignfull, .alignfull {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

/* ──────────────────────────────────────────────
   NAV — hover + active state (set by JS on the current page)
────────────────────────────────────────────── */
.bb-nav-link { transition: color 0.18s; padding-bottom: 2px; }
.bb-nav-link:hover { color: #c8a24c !important; }
.bb-nav-link.is-active { color: #c8a24c !important; font-weight: 600 !important; }

/* ──────────────────────────────────────────────
   BUTTONS — hover states (replaces the demo's style-hover)
────────────────────────────────────────────── */
.bb-btn-gold, .bb-btn-navy {
    transition: background 0.18s, transform 0.12s, opacity 0.15s;
}
.bb-btn-gold:hover { background: #d8b661 !important; transform: translateY(-1px); }
.bb-btn-navy:hover { background: #1a3559 !important; transform: translateY(-1px); }

/* Text links with the gold underline ("Learn More →" / "See Services →") */
.bb-textlink { transition: color 0.18s; }
.bb-textlink:hover { color: #c8a24c !important; }

/* ──────────────────────────────────────────────
   CONTACT FORM (rendered by the Business Butler Contact plugin)
────────────────────────────────────────────── */
.bb-form input:focus, .bb-form textarea:focus {
    outline: 2px solid rgba(200,162,76,0.55);
    outline-offset: 1px;
    border-color: #c8a24c !important;
}
.bb-form input::placeholder, .bb-form textarea::placeholder { color: #9aa2b0; }

/* ──────────────────────────────────────────────
   RESPONSIVE
────────────────────────────────────────────── */
@media (max-width: 640px) {
    .bb-nav { padding: 12px 18px !important; }
    .bb-nav .bb-nav-links { gap: 16px !important; }
}

/* ──────────────────────────────────────────────
   BLOG — listing cards (/blog)
────────────────────────────────────────────── */
.bb-blog-query { max-width: 100%; }
.bb-blog-grid.wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.bb-blog-card {
    background: #fffdf8;
    border: 1px solid #e6ddca;
    border-radius: 18px;
    padding: clamp(24px, 2.8vw, 32px);
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    transition: border-color 0.18s, transform 0.15s, box-shadow 0.18s;
}
.bb-blog-card:hover {
    border-color: #c8a24c;
    transform: translateY(-2px);
    box-shadow: 0 18px 40px -24px rgba(16, 35, 63, 0.35);
}
.bb-blog-card-meta {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 14px !important;
}
.bb-blog-card-cat, .bb-blog-card-cat a {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 11px;
    font-weight: 700;
    color: #b4863a !important;
    text-decoration: none;
}
.bb-blog-card-date { font-size: 13px; color: #8a93a5; }
.bb-blog-card-title { margin: 0 !important; }
.bb-blog-card-title a {
    font-family: 'Newsreader', Georgia, serif;
    font-weight: 500;
    font-size: 23px;
    line-height: 1.15;
    color: #10233f;
    text-decoration: none;
    transition: color 0.18s;
}
.bb-blog-card-title a:hover { color: #b4863a; }
.bb-blog-card-excerpt { margin-top: 12px !important; flex: 1; }
.bb-blog-card-excerpt p {
    font-size: 15px;
    line-height: 1.6;
    color: #4a5568;
}
.bb-blog-card-excerpt .wp-block-post-excerpt__more-link {
    display: inline-block;
    margin-top: 14px;
    font-weight: 700;
    font-size: 14px;
    color: #10233f;
    transition: color 0.18s;
}
.bb-blog-card-excerpt .wp-block-post-excerpt__more-link:hover { color: #c8a24c; }
.bb-blog-empty { font-size: 16px; color: #8a93a5; padding: 24px 0; }
.bb-blog-pagination { margin-top: 40px !important; gap: 10px; font-weight: 600; }
.bb-blog-pagination a, .bb-blog-pagination .page-numbers { color: #10233f; }
.bb-blog-pagination .page-numbers.current { color: #b4863a; }

/* ──────────────────────────────────────────────
   BLOG — single post
────────────────────────────────────────────── */
.bb-post-meta { gap: 14px; margin-bottom: 18px !important; justify-content: center; }
.bb-post-meta-cat, .bb-post-meta-cat a {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 12px;
    font-weight: 700;
    color: #c8a24c !important;
    text-decoration: none;
}
.bb-post-meta-date { font-size: 14px; color: #9aa6ba; }
.bb-post-title {
    font-family: 'Newsreader', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: clamp(30px, 4.6vw, 46px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.5px;
    color: #f6f2ea !important;
    margin: 0 !important;
}
.bb-post-body .wp-block-post-content {
    max-width: 100% !important;
    font-size: 17px;
    line-height: 1.75;
    color: #2b3446;
}
.bb-post-body .wp-block-post-content > * { margin-top: 0; margin-bottom: 22px; }
.bb-post-body .wp-block-post-content h2 {
    font-family: 'Newsreader', Georgia, serif;
    font-weight: 500;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.15;
    color: #10233f;
    margin-top: 40px;
    margin-bottom: 16px;
}
.bb-post-body .wp-block-post-content h3 {
    font-family: 'Newsreader', Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    color: #10233f;
    margin-top: 32px;
    margin-bottom: 12px;
}
.bb-post-body .wp-block-post-content ul,
.bb-post-body .wp-block-post-content ol { padding-left: 24px; }
.bb-post-body .wp-block-post-content li { margin-bottom: 10px; }
.bb-post-body .wp-block-post-content a { color: #b4863a; font-weight: 600; }
.bb-post-body .wp-block-post-content a:hover { color: #c8a24c; }
.bb-post-body .wp-block-post-content blockquote {
    border-left: 3px solid #c8a24c;
    margin: 0 0 22px;
    padding: 4px 0 4px 20px;
    color: #4a5568;
    font-style: italic;
}
