/* Blog sidebar blocks — Subscribe / Recent Updates / Donate.
   Palette + type per the SBT style guide (Lora headings #075783, Open Sans
   #515151, links #54a1b1). Squared corners (no pill). Author: PryVit / 2026 */
.sbt-sidebar { font-family: 'Open Sans', sans-serif; }
.sbt-sidebar > .widget,
.sbt-sidebar > aside { margin-bottom: 24px; }
.sbt-sidebar > .widget:last-child,
.sbt-sidebar > aside:last-child { margin-bottom: 0; }

/* Sticky sidebar on desktop (stays in view while the article scrolls) */
@media (min-width: 992px) {
    .sbt-sidebar {
        position: sticky;
        top: 24px;
        align-self: flex-start;
    }
}

/* Shared widget heading — matches the site's Lora headings (#075783) */
.sbt-updates-heading,
.sbt-subscribe-heading {
    font-family: 'Lora', Georgia, serif;
    color: #075783;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.25;
}

/* ---- Recent Updates ---- */
.sbt-updates-block {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    padding: 6px 20px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.sbt-updates-heading { margin: 16px 0 2px; }
.sbt-updates-list { list-style: none; margin: 0; padding: 0; }
.sbt-updates-list li { border-bottom: 1px solid #e5e5e5; }
.sbt-updates-list li:last-child { border-bottom: 0; }
.sbt-updates-list a {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    padding: 14px 0; color: #515151; font-family: 'Open Sans', sans-serif;
    font-size: 16px; line-height: 1.4; text-decoration: none; transition: color .15s ease;
}
.sbt-updates-list a:hover,
.sbt-updates-list a:focus { color: #54a1b1; }
.sbt-updates-list .sbt-chevron { color: #959595; font-size: 20px; line-height: 1; flex: none; }
.sbt-updates-list a:hover .sbt-chevron { color: #54a1b1; }
.sbt-updates-all { display: inline-block; margin-top: 16px; color: #54a1b1; font-weight: 700; text-decoration: none; }
.sbt-updates-all:hover { color: #095572; text-decoration: underline; }

/* ---- Subscribe ---- */
.sbt-subscribe-block {
    background: #eef5f7;
    border: 1px solid #d6e6ea;
    border-radius: 0;
    padding: 22px 20px;
}
.sbt-subscribe-heading { margin: 0 0 6px; }
.sbt-subscribe-text { font-family: 'Open Sans', sans-serif; font-size: 15px; color: #555555; line-height: 1.5; margin: 0 0 14px; }
.sbt-subscribe-form .wpcf7 { margin: 0; }
/* CF7 wpautop wraps the fields in a <p> (with a bottom margin) + <br>; neutralise
   it and lay the fields out with a small gap, no extra space below the form. */
.sbt-subscribe-form .sbt-subscribe-cf7,
.sbt-subscribe-form .sbt-subscribe-cf7 p {
    display: flex; flex-direction: column; gap: 10px; margin: 0;
}
.sbt-subscribe-form br { display: none; }
/* CF7 spinner sits after the submit and reserves ~34px in the flex column — hide it */
.sbt-subscribe-form .wpcf7-spinner { display: none; }
.sbt-subscribe-form input[type=email],
.sbt-subscribe-form input[type=text] {
    width: 100%; box-sizing: border-box; padding: 12px 13px;
    line-height: 1.5; height: auto;
    border: 1px solid #c5d5da; border-radius: 4px; font-size: 15px;
}
.sbt-subscribe-form input[type=email]:focus,
.sbt-subscribe-form input[type=text]:focus { outline: 2px solid #54a1b1; border-color: #54a1b1; }
.sbt-subscribe-form input[type=submit],
.sbt-subscribe-form .wpcf7-submit {
    width: 100%; background: #128dbe; color: #fff; border: 0; border-radius: 4px;
    padding: 12px 18px; font-weight: 700; font-size: 15px; cursor: pointer; transition: background .15s ease;
}
.sbt-subscribe-form input[type=submit]:hover,
.sbt-subscribe-form .wpcf7-submit:hover { background: #095572; }

/* ---- Donate CTA ---- */
.sbt-donate-block {
    background: linear-gradient(180deg, #0b6184 0%, #073f56 100%);
    border-radius: 0; padding: 26px 24px; color: #fff;
}
.sbt-donate-eyebrow {
    color: #fdc741; font-size: 13px; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; margin: 0 0 10px;
}
.sbt-donate-heading { font-family: 'Lora', Georgia, serif; color: #fff; font-size: 26px; line-height: 1.2; font-weight: 600; margin: 0 0 12px; }
.sbt-donate-text { font-family: 'Open Sans', sans-serif; color: #eaf2f5; font-size: 15px; line-height: 1.5; margin: 0 0 20px; }
.sbt-donate-btn {
    display: inline-block; background: #fdc741; color: #08384d; font-weight: 700; font-size: 16px;
    padding: 13px 26px; border-radius: 4px; text-decoration: none; transition: background .15s ease, transform .15s ease;
}
.sbt-donate-btn:hover, .sbt-donate-btn:focus { background: #ffd566; color: #08384d; transform: translateX(2px); }

/* In-editor preview niceties */
.acf-block-preview .sbt-donate-block,
.acf-block-preview .sbt-subscribe-block,
.acf-block-preview .sbt-updates-block { max-width: 340px; }

@media (max-width: 991px) { .sbt-sidebar { margin-top: 32px; } }
